*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--ivory: #FAF8F5;--cream: #F2EBE0;--blush: #EDD5CE;--rose: #C9919D;--mauve: #8E5A6E;--mauve-dark: #6A3D52;--mauve-deep: #4E2B3E;--gold: #BF9B6A;--gold-light: #D4B88A;--gold-pale: #EFE2C8;--charcoal: #1A1714;--text: #2C2824;--text-muted: #9E9A96;--sage: #8A9E8A;--sage-light: #C4D4C4;--border: rgba(142, 90, 110, .12);--border-mid: rgba(142, 90, 110, .22);--serif: "Cormorant Garamond", Georgia, serif;--sans: "Jost", system-ui, sans-serif;--section-y: 140px;--max-w: 1300px;--pad-x: 48px}html{scroll-behavior:smooth;font-size:16px}body{background-color:var(--ivory);color:var(--text);font-family:var(--sans);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad-x)}.section{padding:var(--section-y) 0}.section-cream{background-color:var(--cream)}.section-charcoal{background-color:var(--charcoal);color:var(--ivory)}.label{font-family:var(--sans);font-weight:400;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--mauve)}.label--light{color:var(--gold-light)}.headline-xl{font-family:var(--serif);font-weight:400;font-style:italic;font-size:clamp(54px,7.5vw,104px);line-height:1.04;letter-spacing:-.025em;color:var(--charcoal)}.headline-lg{font-family:var(--serif);font-weight:400;font-size:clamp(38px,5vw,64px);line-height:1.12;letter-spacing:-.015em;color:var(--charcoal)}.headline-md{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,36px);line-height:1.25;color:var(--charcoal)}.body-lg{font-size:17px;line-height:1.78;color:var(--text-muted);font-weight:300}.body-sm{font-size:14px;line-height:1.7;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:400;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);border:none;text-decoration:none}.btn-primary{background-color:var(--mauve);color:var(--ivory);padding:16px 38px}.btn-primary:hover{background-color:var(--mauve-dark);transform:translateY(-2px);box-shadow:0 12px 40px #6a3d5240}.btn-outline{background-color:transparent;color:var(--charcoal);padding:15px 38px;border:1px solid var(--border-mid)}.btn-outline:hover{border-color:var(--mauve);color:var(--mauve);transform:translateY(-2px)}.btn-outline--light{color:#faf8f5d9;border-color:#faf8f54d}.btn-outline--light:hover{border-color:var(--gold-light);color:var(--gold-light)}.line{display:block;height:1px;background:var(--gold);width:44px}.line--center{margin:0 auto}.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.delay-4{transition-delay:.32s}.delay-5{transition-delay:.4s}.delay-6{transition-delay:.48s}.delay-7{transition-delay:.56s}@keyframes float{0%,to{transform:rotate(-2.5deg) translateY(0)}50%{transform:rotate(-2.5deg) translateY(-18px)}}@keyframes floatMobile{0%,to{transform:rotate(2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-12px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes accordionOpen{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.grain:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:1;opacity:.5}@media (max-width: 1024px){:root{--section-y: 100px;--pad-x: 36px}}@media (max-width: 768px){:root{--section-y: 72px;--pad-x: 20px}}@media (max-width: 480px){:root{--pad-x: 16px}}
