:root {
    --bg: #fbf7f0;
    --bg-soft: #fffaf6;
    --ivory: #fffdf8;
    --cream: #f8f1e6;
    --pink: #f2d7dc;
    --pink-deep: #e7bec6;
    --sakura: #f4cfd9;
    --lavender: #d9d1ec;
    --mist: #cfc6de;
    --sage: #bacab2;
    --leaf: #d6e5c4;
    --gold: #d6c19a;
    --gold-soft: rgba(214, 193, 154, 0.45);
    --text: #5e4b54;
    --text-soft: #7a6870;
    --white: rgba(255, 255, 255, 0.82);
    --panel: rgba(255, 251, 247, 0.7);
    --border: rgba(198, 170, 175, 0.35);
    --shadow: 0 18px 50px rgba(164, 136, 154, 0.12);
    --shadow-soft: 0 10px 30px rgba(181, 145, 157, 0.09);
    --radius-xl: 34px;
    --radius-lg: 26px;
    --radius-md: 20px;
    --radius-sm: 14px;
    --container: 1180px;
    --header-height: 84px;
    --transition: 320ms ease;
}

* {
    box-sizing: border-box;
}

/* 另外在 body 这里确保万无一失 */
html, body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: 'Inter', 'Noto Serif SC', sans-serif;
    color: var(--text);
    background:
        radial-gradient(circle at 15% 12%, rgba(244, 207, 217, 0.35), transparent 20%),
        radial-gradient(circle at 82% 18%, rgba(217, 209, 236, 0.4), transparent 22%),
        radial-gradient(circle at 90% 80%, rgba(214, 229, 196, 0.28), transparent 18%),
        linear-gradient(180deg, #fffaf4 0%, #fdf8f2 35%, #fbf5ee 70%, #fff9f4 100%);
    min-height: 100vh;
    overflow-x: hidden;
    line-height: 1.7;
    position: relative;
}

body::before,
body::after {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -2;
}

body::before {
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.9), transparent 22%),
        radial-gradient(circle at bottom right, rgba(244, 207, 217, 0.12), transparent 28%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='rgba(214,193,154,0.08)' stroke-width='1'%3E%3Cpath d='M25 35c18 2 26 12 29 31 13-10 29-13 43-6-11 10-18 22-18 38 0 11 4 21 12 30-14 1-27-2-39-9-3 16-12 28-28 36-4-14-3-27 4-39-16-3-28-12-37-27 12-4 24-4 34 0-4-16 1-31 15-44z'/%3E%3C/g%3E%3C/svg%3E") repeat;
    opacity: 0.8;
}

body::after {
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 255, 255, 0.6), transparent 28%),
        radial-gradient(circle at 0% 100%, rgba(217, 209, 236, 0.08), transparent 26%);
    z-index: -1;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    display: block;
}

button,
input,
textarea,
select {
    font: inherit;
}
/* 找到这一段并替换 */
.container-fluid {
    width: 100% !important; /* 不要写死 1600px */
    max-width: 1600px;      /* 允许它在大屏幕上变宽 */
    margin: 0 auto;
    padding: 0 15px;        /* 给左右留点呼吸空间 */
}

.container {
    width: min(var(--container), calc(100% - 2rem));
    margin: 0 auto;
}

.section-shell {
    position: relative;
    padding: 110px 0;
}

.pastel-panel {
    background:
        linear-gradient(180deg, rgba(255, 251, 247, 0.74), rgba(255, 247, 250, 0.86)),
        radial-gradient(circle at 10% 10%, rgba(214, 229, 196, 0.2), transparent 18%),
        radial-gradient(circle at 90% 90%, rgba(217, 209, 236, 0.2), transparent 16%);
}

.section-divider {
    position: relative;
    margin-top: -12px;
    z-index: 1;
    pointer-events: none;
}

.divider-soft {
    background: linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.45) 45%, transparent 100%);
    filter: blur(1px);
}

.divider-floral {
    background:
        radial-gradient(circle at 20% 40%, rgba(244, 207, 217, 0.45), transparent 20%),
        radial-gradient(circle at 50% 58%, rgba(217, 209, 236, 0.35), transparent 24%),
        radial-gradient(circle at 80% 50%, rgba(214, 229, 196, 0.4), transparent 18%);
}

.divider-wave::before,
.divider-wave::after {
    content: '';
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
    background-size: cover;
}

.divider-wave::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160'%3E%3Cpath fill='rgba(255,255,255,0.75)' d='M0,64L80,58.7C160,53,320,43,480,53.3C640,64,800,96,960,101.3C1120,107,1280,85,1360,74.7L1440,64L1440,160L1360,160C1280,160,1120,160,960,160C800,160,640,160,480,160C320,160,160,160,80,160L0,160Z'/%3E%3C/svg%3E");
    opacity: 0.9;
}