:root{--c-bg:#16100a;--c-surface:#1f1509;--c-surface-2:#2a1c0d;--c-gold:#c9943a;--c-gold-light:#e8b86d;--c-gold-dim:#8a6430;--c-cream:#f2e4c8;--c-cream-dim:#c4ad8a;--c-muted:#7a6550;--c-rain:#a0b9d22e;--c-overlay:#100a048c;--c-warm-sky:#2c1f10;--f-display:"Cormorant Garamond", "Georgia", serif;--f-accent:"Playfair Display", serif;--f-body:"DM Sans", -apple-system, sans-serif;--t-hero-name:clamp(2.4rem, 10vw, 3.2rem);--t-title:clamp(1.6rem, 6.5vw, 2.4rem);--t-heading:clamp(1.3rem, 5.5vw, 2rem);--t-subhead:clamp(1rem, 4vw, 1.4rem);--t-body:clamp(.875rem, 3.5vw, 1.05rem);--t-small:clamp(.72rem, 2.8vw, .875rem);--t-label:clamp(.65rem, 2.5vw, .78rem);--s-xs:clamp(.5rem, 2vw, .75rem);--s-sm:clamp(.75rem, 3vw, 1rem);--s-md:clamp(1rem, 4vw, 1.5rem);--s-lg:clamp(1.5rem, 6vw, 2.5rem);--s-xl:clamp(2rem, 8vw, 3.5rem);--s-2xl:clamp(3rem, 12vw, 5rem);--ease-cinematic:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--dur-fast:.7s;--dur-mid:1.1s;--dur-slow:1.5s;--z-sky:0;--z-clouds:1;--z-house:2;--z-vignette:3;--z-couple:4;--z-text:5;--z-rain:6;--z-ui:10}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:auto;overscroll-behavior:none;font-size:16px}body{background:var(--c-bg);color:var(--c-cream);font-family:var(--f-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:480px;margin:0 auto;font-weight:300;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}::selection{background:var(--c-gold);color:var(--c-bg)}::-webkit-scrollbar{display:none}*{scrollbar-width:none}.rain-layer{pointer-events:none;z-index:var(--z-rain);position:absolute;inset:0;overflow:hidden}.rain-drop{background:linear-gradient(to bottom, transparent 0%, var(--c-rain) 50%, transparent 100%);transform-origin:top;width:1px;animation:linear infinite rain-fall;position:absolute;top:-120px;transform:rotate(-14deg)}@keyframes rain-fall{0%{opacity:0;transform:rotate(-14deg)translateY(-120px)}5%{opacity:1}90%{opacity:.8}to{opacity:0;transform:rotate(-14deg)translateY(110vh)}}.cloud-layer{pointer-events:none;z-index:var(--z-clouds);position:absolute;inset:0;overflow:hidden}.cloud{filter:blur(18px);background:radial-gradient(#dce6f038 0%,#0000 70%);border-radius:50%;animation:linear infinite cloud-drift;position:absolute}@keyframes cloud-drift{0%{transform:translate(-15%)}50%{transform:translate(5%)}to{transform:translate(-15%)}}.particle{background:var(--c-gold-light);pointer-events:none;z-index:0;opacity:0;border-radius:50%;animation:linear infinite particle-rise;position:fixed}@keyframes particle-rise{0%{opacity:0;transform:translateY(0)scale(1)}10%{opacity:.35}80%{opacity:.15}to{opacity:0;transform:translateY(-80vh)scale(.3)}}.section{width:100%;position:relative;overflow:hidden}.flex-center{justify-content:center;align-items:center;display:flex}.flex-col{flex-direction:column;display:flex}.divider-gold{background:linear-gradient(90deg, transparent, var(--c-gold), transparent);width:60px;height:1px;margin:var(--s-sm) auto}.divider-ornament{align-items:center;gap:var(--s-sm);justify-content:center;display:flex}.divider-ornament:before,.divider-ornament:after{content:"";background:linear-gradient(90deg, transparent, var(--c-gold-dim));flex:1;max-width:60px;height:1px}.divider-ornament:after{background:linear-gradient(90deg, var(--c-gold-dim), transparent)}.font-display{font-family:var(--f-display)}.font-accent{font-family:var(--f-accent)}.font-body{font-family:var(--f-body)}.text-gold{color:var(--c-gold)}.text-cream{color:var(--c-cream)}.text-muted{color:var(--c-muted)}.letter-wide{letter-spacing:.15em}.letter-wider{letter-spacing:.25em}.gold-glow{text-shadow:0 0 20px #c9943a66,0 0 60px #c9943a26}.vignette{pointer-events:none;z-index:var(--z-vignette);background:radial-gradient(#0000 40%,#100a0499 100%);position:absolute;inset:0}.countdown-grid{grid-template-columns:repeat(4,1fr);gap:clamp(8px,3vw,14px);width:100%;max-width:340px;margin:0 auto;display:grid}.countdown-box{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2a1c0db3;border:1px solid #c9943a40;border-radius:8px;padding:clamp(10px,3.5vw,16px) clamp(4px,2vw,10px)}.countdown-num{font-family:var(--f-display);color:var(--c-gold-light);font-size:clamp(1.8rem,7.5vw,2.5rem);font-weight:300;line-height:1;display:block}.countdown-label{font-family:var(--f-body);font-size:var(--t-label);color:var(--c-muted);text-transform:uppercase;letter-spacing:.12em;margin-top:4px;display:block}.card-warm{background:linear-gradient(135deg, var(--c-surface) 0%, var(--c-surface-2) 100%);padding:var(--s-lg) var(--s-md);border:1px solid #c9943a2e;border-radius:16px}.btn-gold{background:linear-gradient(135deg, var(--c-gold) 0%, var(--c-gold-light) 50%, var(--c-gold) 100%);color:var(--c-bg);font-family:var(--f-body);font-size:var(--t-small);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background-position .6s var(--ease-cinematic), transform .3s var(--ease-out), box-shadow .3s var(--ease-out);background-size:200%;border:none;border-radius:50px;align-items:center;gap:8px;padding:clamp(10px,3.5vw,14px) clamp(20px,7vw,32px);font-weight:500;text-decoration:none;display:inline-flex;box-shadow:0 4px 20px #c9943a4d}.btn-gold:hover,.btn-gold:active{background-position:100%;transform:translateY(-2px);box-shadow:0 8px 30px #c9943a73}.wish-card{padding:var(--s-md);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1f150999;border:1px solid #c9943a26;border-radius:12px}@keyframes scroll-bounce{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(6px)}}.scroll-indicator{animation:scroll-bounce 2s var(--ease-out) infinite}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}
