:root{--navy: #262c48;--navy-deep: #1c2138;--rose: #bd8c82;--rose-strong: #9f6f66;--rose-tint: #f3e3dc;--surface: #fbf5f1;--surface-2: #ffffff;--surface-3: #f4e8e1;--heading: #2b2536;--text: #5d5560;--text-soft: #7a7079;--text-mute: #a99ea3;--border: #ece0d9;--on-rose: #ffffff;--font-display: "Marcellus", "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--maxw: 1400px;--pad: clamp(20px, 4vw, 64px);--radius: 14px;--radius-lg: 24px;--radius-pill: 999px;--ease: cubic-bezier(.22, 1, .36, 1);--shadow-sm: 0 1px 2px rgba(43,37,54,.05), 0 4px 12px rgba(43,37,54,.06);--shadow-md: 0 2px 4px rgba(43,37,54,.05), 0 14px 30px rgba(43,37,54,.09), 0 28px 56px rgba(43,37,54,.06);--shadow-lg: 0 4px 10px rgba(43,37,54,.06), 0 24px 50px rgba(43,37,54,.12), 0 48px 96px rgba(43,37,54,.11);--shadow-rose: 0 14px 30px -14px rgba(159,111,102,.55)}.theme-dark{--surface: var(--navy);--surface-2: #2c335340;--surface-3: #313961;--heading: #ffffff;--text: rgba(240, 233, 236, .82);--text-soft: rgba(240, 233, 236, .64);--text-mute: rgba(240, 233, 236, .46);--border: rgba(189, 140, 130, .26);--rose: #d3a89e;--rose-strong: #bd8c82;--on-rose: #241f2e;--shadow-md: 0 2px 4px rgba(0,0,0,.3), 0 18px 40px rgba(0,0,0,.4);--shadow-lg: 0 4px 10px rgba(0,0,0,.35), 0 40px 90px rgba(0,0,0,.5)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}html.nav-open,body.nav-open{overflow:hidden}body{margin:0;font-family:var(--font-body);background:var(--surface);color:var(--text);font-size:17.5px;line-height:1.62;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}p{margin:0}h1,h2{font-family:var(--font-display);font-weight:400;line-height:1.05;letter-spacing:.005em;margin:0;color:var(--heading)}h3,h4{font-family:var(--font-body);font-weight:600;line-height:1.15;letter-spacing:-.01em;margin:0;color:var(--heading)}.h-section{font-size:clamp(2.1rem,1.2rem + 3.6vw,3.7rem);line-height:1.06}.lede{font-size:clamp(1.05rem,.98rem + .5vw,1.28rem);line-height:1.6;color:var(--text-soft);max-width:58ch}.gr-container{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);width:100%}.section{padding-block:clamp(84px,10vw,168px);position:relative}.tone-blush{background:var(--surface-3)}.tone-white{background:var(--surface-2)}.eyebrow{font-family:var(--font-body);font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--rose-strong);margin:0 0 20px;display:inline-flex;align-items:center;gap:10px}.theme-dark .eyebrow{color:var(--rose)}.eyebrow:before{content:"";width:7px;height:7px;border-radius:50% 50% 50% 0;transform:rotate(45deg);background:var(--rose);flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-body);font-weight:600;font-size:1rem;line-height:1;border-radius:var(--radius-pill);padding:17px 32px;min-height:54px;cursor:pointer;border:1.5px solid transparent;transition:transform .35s var(--ease),background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}.btn--primary,.btn--nav{background:var(--rose);color:var(--on-rose);box-shadow:var(--shadow-rose)}.btn--primary:hover,.btn--nav:hover{background:var(--rose-strong);transform:translateY(-2px);box-shadow:0 20px 40px -16px #9f6f66b3}.btn--nav{padding:13px 26px;min-height:46px}.btn--ghost{background:transparent;color:var(--heading);border-color:var(--border)}.btn--ghost:hover{border-color:var(--rose);color:var(--rose-strong);transform:translateY(-2px)}.theme-dark .btn--ghost{color:#fff;border-color:#ffffff4d}.theme-dark .btn--ghost:hover{color:var(--rose);border-color:var(--rose)}.link-more{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-weight:600;font-size:.95rem;color:var(--rose-strong);min-height:44px;background-image:linear-gradient(var(--rose),var(--rose));background-size:0% 1.5px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .4s var(--ease)}.theme-dark .link-more{color:var(--rose)}.link-more svg{transition:transform .3s var(--ease)}.link-more:hover{background-size:100% 1.5px}.link-more:hover svg{transform:translate(5px)}.grain:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.4;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E")}.glow{position:absolute;border-radius:50%;z-index:0;pointer-events:none;filter:blur(12px);background:radial-gradient(circle,rgba(189,140,130,.22) 0%,rgba(189,140,130,.06) 44%,transparent 70%)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}html.js .reveal{opacity:0;transform:translateY(38px);transition:opacity 1s var(--ease),transform 1.1s var(--ease);will-change:opacity,transform}html.js .reveal--left{transform:translate(-46px)}html.js .reveal--right{transform:translate(46px)}html.js .reveal--scale{transform:scale(1.05)}html.js .reveal.in{opacity:1;transform:none}html.js .reveal[style*=--i]{transition-delay:calc(var(--i) * .09s)}.reveal-words .word{display:inline-block;overflow:hidden;vertical-align:top}.reveal-words .word>span{display:inline-block;transform:translateY(112%);transition:transform .9s var(--ease);transition-delay:calc(var(--wi) * .05s)}.reveal-words.in .word>span{transform:translateY(0)}html:not(.js) .reveal-words .word>span{transform:none}[data-parallax]{will-change:transform}.marquee{overflow:hidden;width:100%}.marquee__track{display:inline-flex;white-space:nowrap;animation:marquee 36s linear infinite}.marquee:hover .marquee__track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}html.js .reveal{opacity:1!important;transform:none!important;transition:none!important}.reveal-words .word>span{transform:none!important}.marquee__track{animation:none!important}[data-parallax]{transform:none!important}}
