*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}:root{color-scheme:dark;--bg: #0a0612;--bg-deep: #050309;--surface: #161020;--surface-face: #1c1530;--surface-edge: #0c0818;--seam: #050208;--ink: #f7eedf;--ink-soft: #d8c9b6;--ink-dim: #8a7d99;--accent: #f5b14a;--accent-bright: #ffd27a;--accent-deep: #c77519;--accent-glow: rgba(245, 177, 74, .38);--rose: #d96c8c;--rose-deep: #7b2d48;--violet: #6d4aa8;--violet-deep: #1d0f3a;--cyan: #7dd3c0;--radius-card: clamp(8px, 1.2vw, 16px);--radius-lg: 24px;--gap-digits: clamp(3px, .5vw, 8px);--gap-units: clamp(14px, 2.4vw, 38px);--card-w: clamp(48px, 10vw, 128px);--card-h: calc(var(--card-w) * 1.38);--digit-size: calc(var(--card-w) * 1.3);--ease-out: cubic-bezier(.22, .61, .36, 1);--ease-in: cubic-bezier(.55, .06, .68, .19);--ease-ring: cubic-bezier(.34, 1.56, .64, 1)}body{font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg-deep);min-height:100vh;min-height:100dvh;overflow-x:hidden;position:relative;font-feature-settings:"ss01","ss02","liga";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.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}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 50% 110%,rgba(125,211,192,.06) 0%,transparent 55%),linear-gradient(180deg,#0a0612,#050309);z-index:-10;pointer-events:none}.bg-orb{position:fixed;inset:auto;border-radius:50%;filter:blur(70px);opacity:.55;z-index:-8;pointer-events:none;will-change:transform;mix-blend-mode:screen}.bg-orb-a{width:clamp(320px,55vw,720px);height:clamp(320px,55vw,720px);top:-18vh;left:-12vw;background:radial-gradient(circle at 35% 35%,var(--accent-bright) 0%,var(--accent-deep) 45%,transparent 75%);animation:orb-drift-a 22s ease-in-out infinite alternate}.bg-orb-b{width:clamp(260px,48vw,600px);height:clamp(260px,48vw,600px);bottom:-20vh;right:-10vw;background:radial-gradient(circle at 50% 50%,var(--rose) 0%,var(--rose-deep) 50%,transparent 78%);opacity:.45;animation:orb-drift-b 27s ease-in-out infinite alternate}.bg-orb-c{width:clamp(200px,42vw,540px);height:clamp(200px,42vw,540px);top:40vh;right:-6vw;background:radial-gradient(circle at 50% 50%,var(--violet) 0%,var(--violet-deep) 55%,transparent 80%);opacity:.5;animation:orb-drift-c 32s ease-in-out infinite alternate}@keyframes orb-drift-a{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(8vw,10vh,0) scale(1.08)}}@keyframes orb-drift-b{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-6vw,-8vh,0) scale(1.12)}}@keyframes orb-drift-c{0%{transform:translateZ(0) scale(.95)}to{transform:translate3d(-4vw,6vh,0) scale(1.05)}}.bg-grid{position:fixed;inset:0;background-image:linear-gradient(to right,rgba(247,238,223,.035) 1px,transparent 1px),linear-gradient(to bottom,rgba(247,238,223,.035) 1px,transparent 1px);background-size:clamp(48px,6vw,96px) clamp(48px,6vw,96px);mask-image:radial-gradient(ellipse at 50% 40%,black 0%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 40%,black 0%,transparent 75%);z-index:-6;pointer-events:none}.bg-grain{position:fixed;inset:-50%;z-index:-4;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");mix-blend-mode:overlay;animation:grain-shift 1.4s steps(4) infinite}@keyframes grain-shift{0%{transform:translateZ(0)}25%{transform:translate3d(-3%,2%,0)}50%{transform:translate3d(2%,-3%,0)}75%{transform:translate3d(-1%,1%,0)}to{transform:translate3d(1%,-1%,0)}}.stage{position:relative;min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(20px,4vw,56px) clamp(18px,4vw,64px);gap:clamp(24px,4vw,56px);z-index:1}.stage-header{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(8px,1vw,16px)}.stage-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:DM Sans,sans-serif;text-transform:uppercase;letter-spacing:.28em;font-size:clamp(10px,1.1vw,12px);color:var(--ink-dim);padding:6px 14px 6px 10px;border:1px solid rgba(247,238,223,.09);border-radius:999px;background:#f7eedf05;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.stage-eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow),0 0 14px var(--accent-glow);animation:pulse-dot 2.4s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.3)}}.stage-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:clamp(8px,1.4vw,20px);margin:0;font-weight:300;line-height:.95}.stage-title-script{font-family:Fraunces,Times New Roman,serif;font-style:italic;font-weight:300;font-size:clamp(34px,6vw,78px);font-variation-settings:"opsz" 144,"SOFT" 100;color:var(--ink);letter-spacing:-.02em}.stage-title-divider{flex:1 1 60px;height:1px;max-width:180px;background:linear-gradient(90deg,transparent 0%,rgba(247,238,223,.35) 50%,transparent 100%);transform:translateY(-.28em);min-width:40px}.stage-title-time{font-family:DM Sans,sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:clamp(11px,1.4vw,14px);color:var(--ink-soft);font-weight:500}.countdown{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:var(--gap-units);margin:auto 0;padding:clamp(8px,2vw,24px) 0}.time-unit{display:flex;flex-direction:column;align-items:center;gap:clamp(12px,1.6vw,22px);will-change:transform,opacity}.time-unit-cards{display:flex;gap:var(--gap-digits);perspective:1200px;position:relative}.time-unit-cards:before,.time-unit-cards:after{content:"";position:absolute;top:50%;width:clamp(18px,2.2vw,34px);height:1px;background:linear-gradient(90deg,transparent,rgba(247,238,223,.2));pointer-events:none}.time-unit-cards:before{right:100%;margin-right:calc(var(--gap-units) / 2 - 2px)}.time-unit-cards:after{left:100%;margin-left:calc(var(--gap-units) / 2 - 2px);background:linear-gradient(90deg,rgba(247,238,223,.2),transparent)}.time-unit:first-child .time-unit-cards:before,.time-unit:last-child .time-unit-cards:after{display:none}.time-unit-label{display:inline-flex;align-items:center;gap:10px}.time-unit-label-text{font-family:DM Sans,sans-serif;text-transform:uppercase;letter-spacing:.38em;font-size:clamp(10px,1.1vw,13px);color:var(--ink-dim);font-weight:500}.time-unit-label-dot{width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent-glow);opacity:.7;animation:label-dot 3.2s ease-in-out infinite}.time-unit:nth-child(2) .time-unit-label-dot{animation-delay:.4s}.time-unit:nth-child(3) .time-unit-label-dot{animation-delay:.8s}.time-unit:nth-child(4) .time-unit-label-dot{animation-delay:1.2s}@keyframes label-dot{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.flip-card{position:relative;width:var(--card-w);height:var(--card-h);border-radius:var(--radius-card);transform-style:preserve-3d;isolation:isolate;background:var(--surface);box-shadow:0 1px #f7eedf0d inset,0 -1px #0009 inset,0 20px 36px -18px #000000e6,0 4px 10px -4px #00000080;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}.flip-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,210,122,.18) 48%,rgba(255,210,122,.04) 52%,transparent 70%);transform:translate(-120%);transition:transform .9s var(--ease-out);mix-blend-mode:screen;z-index:4;opacity:0}.time-unit:hover .flip-card:after{transform:translate(120%);opacity:1}.time-unit:hover .flip-card{transform:translateY(-2px);box-shadow:0 1px #f7eedf14 inset,0 -1px #000000b3 inset,0 28px 50px -22px #000000f2,0 6px 20px -4px var(--accent-glow)}.flip-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-card);backface-visibility:hidden;-webkit-backface-visibility:hidden;background:linear-gradient(180deg,var(--surface-face) 0%,var(--surface) 100%)}.flip-face-top{clip-path:polygon(0 0,100% 0,100% 50%,0 50%);background:linear-gradient(180deg,var(--surface-face) 0%,var(--surface) 100%);box-shadow:inset 0 1px #f7eedf0f}.flip-face-bottom{clip-path:polygon(0 50%,100% 50%,100% 100%,0 100%);background:linear-gradient(180deg,var(--surface) 0%,#0e0818 100%);box-shadow:inset 0 -1px #000000b3}.flip-face-anim{z-index:2;transform-origin:center center;transform-style:preserve-3d;will-change:transform}.flip-face-static{z-index:1}.flip-digit{font-family:Bebas Neue,Impact,sans-serif;font-size:var(--digit-size);line-height:1;letter-spacing:-.02em;color:var(--ink);text-shadow:0 1px 0 rgba(0,0,0,.85),0 0 22px rgba(255,210,122,.18);user-select:none;padding-top:.04em}.flip-face-top .flip-digit{color:#fff6e0;filter:drop-shadow(0 1px 0 rgba(0,0,0,.8))}.flip-face-bottom .flip-digit{color:var(--ink-soft)}.flip-seam{position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-1px);background:linear-gradient(90deg,transparent 0%,var(--seam) 8%,var(--seam) 92%,transparent 100%);box-shadow:0 1px #f7eedf0a,0 -1px #0009;z-index:3;pointer-events:none;border-radius:inherit}.stage-footer{display:flex;align-items:center;justify-content:space-between;gap:clamp(12px,2vw,24px);color:var(--ink-dim);padding-top:clamp(12px,1.4vw,20px);border-top:1px solid rgba(247,238,223,.08);position:relative}.stage-footer:before{content:"";position:absolute;top:-1px;left:0;width:clamp(60px,14vw,180px);height:1px;background:linear-gradient(90deg,var(--accent) 0%,transparent 100%)}.stage-footer-text{margin:0;display:inline-flex;align-items:baseline;gap:10px;font-size:clamp(11px,1.2vw,13px);letter-spacing:.04em;font-weight:400}.stage-footer-label{text-transform:uppercase;letter-spacing:.32em;color:var(--accent);font-size:clamp(9px,1vw,11px);font-weight:600}.celebration{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(14px,2vw,24px);padding:clamp(20px,4vw,56px);z-index:1;text-align:center;overflow:hidden}.celebration-eyebrow{font-family:DM Sans,sans-serif;text-transform:uppercase;letter-spacing:.4em;font-size:clamp(11px,1.2vw,14px);color:var(--accent)}.celebration-title{font-family:Fraunces,serif;font-style:italic;font-weight:300;font-size:clamp(48px,12vw,180px);line-height:.9;letter-spacing:-.03em;margin:0;background:linear-gradient(180deg,var(--accent-bright) 0%,var(--accent) 60%,var(--accent-deep) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;text-shadow:0 0 60px var(--accent-glow)}.celebration-subtitle{font-family:DM Sans,sans-serif;font-size:clamp(13px,1.4vw,16px);color:var(--ink-soft);max-width:520px;line-height:1.5}.confetti-layer{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.confetti{position:absolute;top:-10vh;width:10px;height:14px;animation:confetti-fall linear forwards;opacity:0;will-change:transform,opacity}@keyframes confetti-fall{0%{transform:translateZ(0) rotate(0);opacity:0}8%{opacity:1}to{transform:translate3d(var(--confetti-drift, 0),120vh,0) rotate(var(--confetti-spin, 720deg));opacity:1}}@media (max-width: 640px){:root{--card-w: clamp(44px, 14vw, 68px);--card-h: calc(var(--card-w) * 1.38);--digit-size: calc(var(--card-w) * 1.32);--gap-digits: 3px;--gap-units: 18px}.stage{grid-template-rows:auto auto auto;gap:clamp(28px,6vw,44px);padding:24px 18px}.stage-title{flex-direction:column;align-items:flex-start;gap:8px}.stage-title-divider{display:none}.countdown{display:grid;grid-template-columns:repeat(2,1fr);justify-items:center;gap:28px 18px}.time-unit-cards:before,.time-unit-cards:after{display:none}.stage-footer{flex-direction:column;align-items:flex-start;gap:10px}.stage-footer:before{width:100px}.stage-footer-text{text-align:left;flex-wrap:wrap}}@media (min-width: 641px) and (max-width: 1024px){:root{--card-w: clamp(68px, 9vw, 92px);--digit-size: calc(var(--card-w) * 1.32)}}@media (min-width: 1600px){:root{--card-w: 140px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.bg-grain{display:none}}
