@import url("https://fonts.googleapis.com/css2?family=Allura&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap");:root{--bg-deep:#100c06;--bg-primary:#1a1208;--bg-surface:#231a0d;--bg-raised:#2e2210;--gold:#b8760e;--gold-light:#d4992e;--gold-muted:rgba(184,118,14,0.3);--gold-border:rgba(184,118,14,0.18);--cream:#f5efe6;--cream-muted:#c8b8a4;--text-secondary:#8a7a6a;--font-display:"Cormorant Garamond",Georgia,serif;--font-body:"DM Sans",system-ui,sans-serif;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--transition:0.2s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{overflow-x:hidden}body{background-color:var(--bg-deep);color:var(--cream);font-family:var(--font-body);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:300;line-height:1.15}a{color:var(--gold);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--gold-light)}.divider{width:48px;height:1px;background:var(--gold);opacity:.6;margin:1.5rem 0}.card{background:var(--bg-surface);border:1px solid var(--gold-border);border-radius:var(--radius-lg);padding:clamp(1.5rem,4vw,2rem)}.btn-gold{display:inline-block;background:transparent;color:var(--gold);border:1px solid var(--gold);padding:.65rem 2rem;font-family:var(--font-body);font-size:.8rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:background var(--transition),color var(--transition);border-radius:var(--radius-sm)}.btn-gold:hover,.btn-rsvp{background:var(--gold);color:var(--bg-deep)}.btn-rsvp{display:inline-flex;align-items:center;gap:.75rem;border:none;border-radius:99px;padding:1rem 2.25rem;font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.08em;cursor:pointer;transition:background var(--transition)}.btn-rsvp:hover{background:var(--gold-light)}.btn-rsvp--sm{padding:.7rem 1.75rem}html{scroll-snap-type:y proximity;scroll-padding-top:88px}#details,#event-photo{scroll-snap-align:start;scroll-margin-top:96px}.smoke-scene{position:relative;opacity:0;filter:blur(18px);transform:translateY(34px) scale(.985);transition:opacity 1.1s cubic-bezier(.22,.61,.36,1),filter 1.3s cubic-bezier(.22,.61,.36,1),transform 1.1s cubic-bezier(.22,.61,.36,1)}.smoke-scene.in{opacity:1;filter:blur(0);transform:none}.smoke-scene:before{content:"";position:absolute;inset:-12% -8%;z-index:3;pointer-events:none;background:radial-gradient(38% 55% at 28% 35%,rgba(214,196,168,.2),transparent 70%),radial-gradient(46% 50% at 72% 55%,rgba(190,172,150,.16),transparent 72%),radial-gradient(42% 58% at 52% 82%,rgba(168,158,146,.14),transparent 70%);filter:blur(28px);opacity:0;transform:translateY(18px) scale(1.05);transition:opacity 1.5s ease,transform 2.4s ease}.smoke-scene:not(.in):before{opacity:1}.smoke-scene.in:before{opacity:0;transform:translateY(-24px) scale(1.12)}@media (prefers-reduced-motion:reduce){html{scroll-snap-type:none}.smoke-scene{opacity:1;filter:none;transform:none;transition:none}.smoke-scene:before{display:none}}.install-banner{position:fixed;left:.9rem;right:.9rem;bottom:calc(.9rem + env(safe-area-inset-bottom));z-index:500;display:none;align-items:center;gap:.85rem;padding:.85rem .9rem;background:linear-gradient(160deg,var(--bg-raised) 0,var(--bg-primary) 100%);border:1px solid var(--gold-border);border-radius:var(--radius-lg);box-shadow:0 18px 48px rgba(0,0,0,.6);transform:translateY(140%);opacity:0;transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .45s ease}.install-banner.show{display:flex;transform:translateY(0);opacity:1}.install-banner .install-logo{width:44px;height:44px;flex-shrink:0;border-radius:10px;background:var(--bg-deep);border:1px solid var(--gold-border);object-fit:contain;padding:5px}.install-banner .install-copy{flex:1 1;min-width:0}.install-banner .install-title{font-family:var(--font-display);font-size:1.15rem;line-height:1.1;color:var(--cream)}.install-banner .install-sub{font-size:.78rem;line-height:1.4;color:var(--cream-muted);margin-top:.15rem}.install-banner .install-sub .ios-share{display:inline-flex;vertical-align:-3px;margin:0 .15rem;color:var(--gold-light)}.install-banner .install-btn{flex-shrink:0;background:var(--gold);color:var(--bg-deep);border:none;border-radius:99px;padding:.6rem 1.35rem;font-family:var(--font-body);font-size:.8rem;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:background var(--transition)}.install-banner .install-btn:hover{background:var(--gold-light)}.install-banner .install-close{flex-shrink:0;align-self:flex-start;background:none;border:none;color:var(--text-secondary);font-size:1.35rem;line-height:1;cursor:pointer;padding:0 .15rem;margin:-.2rem -.1rem 0 0}.install-banner .install-close:hover{color:var(--cream-muted)}.install-banner.ios .install-btn{display:none}@media (max-width:640px){.stat-grid{gap:1rem!important}table{font-size:.85rem}td,th{padding:.7rem .9rem!important}}@media (max-width:480px){.site-header{padding-left:1rem!important;padding-right:1rem!important}.site-header__wordmark{display:none}.site-header__nav{gap:1rem!important}}#page-loader{position:fixed;inset:0;background:var(--bg-deep);z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .7s ease,visibility .7s ease}#page-loader.loader-done{opacity:0;visibility:hidden;pointer-events:none}.loader-ring{fill:none;stroke:var(--cream);stroke-linecap:round}.loader-ring-outer{stroke-width:2.5;stroke-dasharray:1700;stroke-dashoffset:1700;animation:loaderDrawRing 1.1s cubic-bezier(.65,0,.35,1) forwards}.loader-ring-inner{stroke-width:1.8;stroke-dasharray:1420;stroke-dashoffset:1420;animation:loaderDrawRing .95s cubic-bezier(.65,0,.35,1) .8s forwards}@keyframes loaderDrawRing{to{stroke-dashoffset:0}}.loader-script{-webkit-clip-path:inset(-20% 100% -20% -10%);clip-path:inset(-20% 100% -20% -10%);animation:loaderWriteScript 1.3s cubic-bezier(.4,0,.2,1) 2.7s forwards}@keyframes loaderWriteScript{to{-webkit-clip-path:inset(-20% -10% -20% -10%);clip-path:inset(-20% -10% -20% -10%)}}@keyframes loaderLetterIn{to{opacity:1}}@media (prefers-reduced-motion:reduce){.loader-ring-inner,.loader-ring-outer,.loader-script{animation-duration:.2s;animation-delay:0s!important}}