@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600&family=Inter+Tight:wght@300;400;500;600;700&family=Patrick+Hand&family=JetBrains+Mono:wght@400;500&display=swap");:root{--ink:#060912;--ink-2:#0b1226;--ink-3:#131a33;--ivory:#f3ecdc;--ivory-dim:#b8af9c;--bronze:#c9985a;--bronze-hi:#e8c98e;--bronze-deep:#8a6332;--crimson:#c8302b;--crimson-deep:#7a1a17;--blue-glow:#7ab8ff;--line:hsla(39,66%,73%,.18);--line-strong:hsla(39,66%,73%,.42);--serif:"Fraunces","Cormorant Garamond","Times New Roman",serif;--sans:"Inter Tight","Geist",ui-sans-serif,system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace}*{box-sizing:border-box;-webkit-font-smoothing:antialiased}body,html{margin:0;background:var(--ink);color:var(--ivory);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden}body{background:radial-gradient(ellipse 1200px 800px at 30% -10%,rgba(122,184,255,.06) 0,transparent 60%),radial-gradient(ellipse 1000px 700px at 90% 30%,rgba(201,152,90,.08) 0,transparent 60%),radial-gradient(ellipse 1100px 900px at 10% 80%,rgba(200,48,43,.05) 0,transparent 60%),linear-gradient(180deg,#050813,#0a0f1f 40%,#060912);background-attachment:fixed;min-height:100vh}.serif{font-family:var(--serif);font-weight:400}.sans{font-family:var(--sans)}.mono{font-family:var(--mono)}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;line-height:1.15;padding-top:.08em;padding-bottom:.04em}h1,h2,h3,h4,p{margin:0;text-wrap:pretty}.gold{color:var(--bronze-hi)}.gold-deep{color:var(--bronze)}.crimson{color:var(--crimson)}.muted{color:var(--ivory-dim)}.dim{color:hsla(42,49%,91%,.55)}.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--bronze);font-weight:500;display:inline-flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:28px;height:1px;background:var(--bronze);opacity:.6}.gold-grad{background:linear-gradient(135deg,#e8c98e,#c9985a 40%,#f3e3b6 70%,#a87838);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding:.18em .12em .22em;margin:-.06em -.04em;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-inline-end:.18em;line-height:1.18;display:inline-block}section{position:relative;padding:clamp(80px,12vw,160px) clamp(24px,6vw,96px)}.container{max-width:1280px;margin:0 auto;position:relative}.container.narrow{max-width:920px}.container.wide{max-width:1480px}.section-divider{display:flex;align-items:center;gap:16px;margin:0 auto;max-width:200px;opacity:.4}.section-divider:after,.section-divider:before{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--bronze),transparent)}.section-divider .diamond{width:6px;height:6px;background:var(--bronze);transform:rotate(45deg)}.particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}.particle{position:absolute;width:2px;height:2px;background:var(--bronze-hi);border-radius:50%;opacity:0;box-shadow:0 0 8px var(--bronze-hi),0 0 16px hsla(39,66%,73%,.4);animation:drift linear infinite}@keyframes drift{0%{opacity:0;transform:translateY(0) translateX(0)}10%{opacity:.8}90%{opacity:.8}to{opacity:0;transform:translateY(-120vh) translateX(40px)}}.light-rays{inset:0;pointer-events:none;overflow:hidden;opacity:.5;z-index:1}.light-rays,.ray{position:absolute}.ray{top:-10%;width:200px;height:140%;background:linear-gradient(180deg,transparent,hsla(39,66%,73%,.08) 50%,transparent);filter:blur(40px);transform-origin:top center}.glass{background:linear-gradient(180deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,.01));border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.02),0 20px 60px rgba(0,0,0,.4)}.reveal{opacity:0;transform:translateY(28px);transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)}.reveal.in{opacity:1;transform:translateY(0)}.reveal-d1{transition-delay:.12s}.reveal-d2{transition-delay:.24s}.reveal-d3{transition-delay:.36s}.reveal-d4{transition-delay:.48s}.reveal-d5{transition-delay:.6s}.btn{appearance:none;border:none;padding:16px 32px;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-radius:999px;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px}.btn-gold{background:linear-gradient(135deg,#e8c98e,#c9985a);color:#1a1208;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.2),0 12px 32px hsla(39,66%,73%,.25),0 0 60px hsla(39,66%,73%,.15)}.btn-gold:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.3),0 18px 40px hsla(39,66%,73%,.35),0 0 80px hsla(39,66%,73%,.25)}.btn-ghost{background:hsla(0,0%,100%,.04);color:var(--ivory);border:1px solid var(--line-strong)}.btn-ghost:hover{background:hsla(39,66%,73%,.08);border-color:var(--bronze)}.btn .ripple{position:absolute;border-radius:50%;background:hsla(0,0%,100%,.5);transform:translate(-50%,-50%) scale(0);animation:ripple .8s ease-out forwards;pointer-events:none}@keyframes ripple{to{transform:translate(-50%,-50%) scale(8);opacity:0}}.input,.select,.textarea{width:100%;background:hsla(0,0%,100%,.03);border:1px solid var(--line);color:var(--ivory);padding:14px 16px;border-radius:12px;font-family:var(--sans);font-size:15px;transition:all .2s ease}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--bronze);background:hsla(39,66%,73%,.05);box-shadow:0 0 0 3px hsla(39,66%,73%,.1)}.textarea{resize:vertical;min-height:100px;font-family:var(--sans)}.label{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);margin-bottom:8px;font-weight:500}.opening{position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse at center,#0a0f24 0,#050813 50%,#02030a 100%);display:grid;place-items:center;text-align:center;padding:24px;transition:opacity 1.4s ease,transform 1.4s ease,visibility 0s 1.4s}.opening.gone{opacity:0;transform:scale(1.04);visibility:hidden;pointer-events:none}.opening-inner{position:relative;z-index:5;max-width:900px}.letters,.letters .ch{display:inline-block}.letters .ch{opacity:0;transform:translateY(20px);animation:letter-in .9s cubic-bezier(.16,1,.3,1) forwards}.letters.delay-2 .ch{animation-delay:calc(var(--i) * 45ms + 1.4s)}.letters.delay-1 .ch{animation-delay:calc(var(--i) * .04s)}@keyframes letter-in{to{opacity:1;transform:translateY(0)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 60px hsla(39,66%,73%,.15),inset 0 0 0 1px hsla(39,66%,73%,.2)}50%{box-shadow:0 0 100px hsla(39,66%,73%,.3),inset 0 0 0 1px hsla(39,66%,73%,.4)}}.crest{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,hsla(39,66%,73%,.15),hsla(39,66%,73%,.03));border:1px solid hsla(39,66%,73%,.3);animation:glow-pulse 4s ease-in-out infinite}.orbit{position:relative;width:280px;height:280px;margin:0 auto 48px;animation:spin 60s linear infinite}.orbit-ring{position:absolute;inset:0;border:1px solid hsla(39,66%,73%,.2);border-radius:50%}.orbit-ring.r2{inset:20px;opacity:.5}.orbit-ring.r3{inset:40px;opacity:.3}.cine-frame{position:relative;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px hsla(39,66%,73%,.2),0 0 0 12px rgba(0,0,0,.4),0 60px 120px rgba(0,0,0,.6),0 0 100px hsla(39,66%,73%,.08)}.cine-frame img{display:block;width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(1.05)}.cine-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(5,8,19,.6));pointer-events:none}.hero-tag{position:absolute;display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze-hi)}.hero-tag:before{content:"";width:32px;height:1px;background:var(--bronze)}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.count-cell{position:relative;padding:32px 16px;text-align:center;border-radius:18px;overflow:hidden}.count-num{font-family:var(--serif);font-size:clamp(48px,7vw,88px);font-weight:300;letter-spacing:-.04em;line-height:1.1;background:linear-gradient(180deg,#f3e3b6,#c9985a);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;font-variant-numeric:tabular-nums;padding-block:.04em}.count-label{margin-top:12px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ivory-dim)}.count-cell:before{content:"";position:absolute;top:-1px;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,var(--bronze),transparent);opacity:.6}.timeline{position:relative;padding-left:56px}.timeline:before{content:"";position:absolute;left:19px;top:12px;bottom:12px;width:1px;background:linear-gradient(180deg,transparent,var(--bronze) 10%,var(--bronze) 90%,transparent);opacity:.4}.timeline-item{position:relative;padding:0 0 56px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-49px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--bronze);box-shadow:0 0 0 5px rgba(201,152,90,.15),0 0 20px hsla(39,66%,73%,.5)}.timeline-item.active .timeline-dot{animation:dot-pulse 2.4s ease-in-out infinite}@keyframes dot-pulse{0%,to{box-shadow:0 0 0 5px rgba(201,152,90,.15),0 0 20px hsla(39,66%,73%,.5)}50%{box-shadow:0 0 0 12px rgba(201,152,90,.05),0 0 40px hsla(39,66%,73%,.8)}}.timeline-year{font-family:var(--serif);font-size:13px;letter-spacing:.2em;color:var(--bronze);margin-bottom:6px}.timeline-title{font-family:var(--serif);font-size:28px;line-height:1.15;margin-bottom:10px}.timeline-body{color:var(--ivory-dim);max-width:540px}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;grid-auto-rows:80px}.gallery-item{position:relative;border-radius:6px;overflow:hidden;cursor:zoom-in;transition:transform .6s cubic-bezier(.16,1,.3,1);box-shadow:0 20px 40px rgba(0,0,0,.4)}.gallery-item:hover{transform:translateY(-4px) scale(1.01)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .4s ease;filter:contrast(1.04) saturate(1.05) brightness(.96)}.gallery-item:hover img{transform:scale(1.06);filter:contrast(1.06) saturate(1.1) brightness(1)}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(5,8,19,.7));pointer-events:none;opacity:.7}.gallery-caption{position:absolute;left:14px;bottom:12px;z-index:2;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory);opacity:.85}.letter-card{position:relative;padding:clamp(40px,6vw,80px);background:radial-gradient(ellipse at top left,hsla(39,66%,73%,.08),transparent 60%),linear-gradient(135deg,#faf3e2,#f0e3c2);color:#2a1f0a;border-radius:6px;box-shadow:0 0 0 1px hsla(39,66%,73%,.5),0 40px 80px rgba(0,0,0,.5),0 0 120px hsla(39,66%,73%,.1);transform:rotate(-.6deg);font-family:Patrick Hand,cursive;font-size:clamp(20px,2vw,26px);line-height:1.7}.letter-card:before{content:"";position:absolute;inset:12px;border:1px solid rgba(138,99,50,.3);border-radius:4px;pointer-events:none}.letter-card p{margin:0 0 18px}.letter-card .signoff{text-align:right;margin-top:32px;font-size:1.1em}.letter-stamp{position:absolute;top:24px;right:24px;width:88px;height:88px;border:2px dashed rgba(122,26,23,.5);border-radius:50%;display:grid;place-items:center;text-align:center;font-family:var(--serif);font-size:10px;letter-spacing:.18em;color:var(--crimson-deep);transform:rotate(-12deg);line-height:1.2}.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.event-card{padding:28px;text-align:left}.event-card .ec-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,hsla(39,66%,73%,.18),hsla(39,66%,73%,.04));border:1px solid var(--line);display:grid;place-items:center;color:var(--bronze-hi);margin-bottom:18px}.event-card .ec-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);margin-bottom:8px}.event-card .ec-value{font-family:var(--serif);font-size:22px;line-height:1.25;color:var(--ivory)}.event-card .ec-meta{margin-top:8px;font-size:13px;color:var(--ivory-dim)}.map-frame{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line-strong);box-shadow:0 30px 80px rgba(0,0,0,.5);height:480px}.map-frame iframe{width:100%;height:100%;border:0;filter:invert(.92) hue-rotate(180deg) brightness(.95) saturate(.7)}.rsvp-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.rsvp-opt{position:relative;padding:18px 14px;text-align:center;border-radius:14px;border:1px solid var(--line);background:hsla(0,0%,100%,.02);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);font-family:var(--serif);font-size:18px;color:var(--ivory)}.rsvp-opt:hover{border-color:var(--bronze);background:hsla(39,66%,73%,.05)}.rsvp-opt.active{border-color:var(--bronze);background:linear-gradient(135deg,hsla(39,66%,73%,.2),hsla(39,66%,73%,.05));color:var(--bronze-hi);box-shadow:0 0 32px hsla(39,66%,73%,.2)}.rsvp-opt .ic{display:block;margin:0 auto 8px;opacity:.9}.guestbook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.gb-card{padding:22px 24px;border-radius:16px;position:relative}.gb-msg{font-family:var(--serif);font-size:17px;line-height:1.55;margin-bottom:16px}.gb-from{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ivory-dim)}.gb-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-family:var(--serif);background:linear-gradient(135deg,var(--bronze-deep),var(--bronze));color:#1a1208}.music-toggle{position:fixed;top:24px;right:24px;z-index:50;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 12px;background:rgba(10,14,30,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:999px;color:var(--ivory);cursor:pointer;font-size:11px;letter-spacing:.2em;text-transform:uppercase;transition:all .3s ease}.music-toggle:hover{border-color:var(--bronze)}.music-bars{display:inline-flex;align-items:flex-end;gap:2px;height:14px}.music-bars span{width:2px;background:var(--bronze-hi);border-radius:1px;height:4px;animation:none}.music-toggle.on .music-bars span{animation:bar .9s ease-in-out infinite}.music-toggle.on .music-bars span:nth-child(2){animation-delay:.15s}.music-toggle.on .music-bars span:nth-child(3){animation-delay:.3s}.music-toggle.on .music-bars span:nth-child(4){animation-delay:.45s}@keyframes bar{0%,to{height:4px}50%{height:14px}}.closing{text-align:center;position:relative;padding:clamp(120px,18vw,220px) 24px;overflow:hidden}.closing h2{font-size:clamp(40px,7vw,88px);line-height:1.15;letter-spacing:-.03em}footer{padding:40px 24px;text-align:center;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:hsla(42,49%,91%,.35);border-top:1px solid var(--line)}.lightbox{position:fixed;inset:0;z-index:200;background:rgba(2,4,12,.96);display:grid;place-items:center;padding:40px;cursor:zoom-out;opacity:0;pointer-events:none;transition:opacity .3s ease}.lightbox.open{opacity:1;pointer-events:all}.lightbox img{max-width:92%;max-height:92%;object-fit:contain;border-radius:4px;box-shadow:0 0 100px hsla(39,66%,73%,.15)}.lightbox .lb-close{position:absolute;top:24px;right:24px;color:var(--ivory);font-size:24px;cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line)}.confetti{position:fixed;inset:0;pointer-events:none;z-index:300}.confetti-piece{position:absolute;top:-20px;width:8px;height:14px;animation:fall linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(2turn);opacity:0}}@media (max-width:860px){.countdown-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-auto-rows:auto;gap:10px}.gallery-grid .gallery-item{grid-column:span 1!important;grid-row:span 1!important;aspect-ratio:3/4;height:auto}.gallery-grid .gallery-item:nth-child(5n){grid-column:span 2!important;aspect-ratio:16/10}.timeline{padding-left:36px}.timeline-dot{left:-30px}.timeline:before{left:7px}.rsvp-options{grid-template-columns:1fr}}.cursor-glow{position:fixed;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,hsla(39,66%,73%,.07) 0,transparent 70%);pointer-events:none;z-index:2;transform:translate(-50%,-50%);transition:opacity .5s ease;mix-blend-mode:screen}.hero-photo-wrap{position:relative}.hero-photo{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:4px;filter:contrast(1.05) saturate(1.05)}.frame-bar{position:absolute;background:var(--bronze);opacity:.85}.split-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}@media (max-width:860px){.split-2{grid-template-columns:1fr}}.sec-num{display:inline-block;font-family:var(--serif);font-size:14px;color:var(--bronze);letter-spacing:.16em;margin-bottom:12px;opacity:.85}.sec-num:before{content:"— "}.tag-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--line-strong);border-radius:999px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-hi);background:hsla(39,66%,73%,.04)}.opening-3d-page{background:#02030a;overflow:hidden;width:100%;height:100%;min-height:100dvh;position:relative}.photo-bg{position:fixed;inset:0;z-index:0;background-image:url(/assets/photo-opening-hero.jpg);background-size:cover;background-position:78% 50%;background-repeat:no-repeat;filter:saturate(.92) contrast(1.05) brightness(.85);transform:scale(1.08);transform-origin:70% 55%;animation:heroDrift 24s ease-in-out infinite alternate,heroIn 2.4s cubic-bezier(.16,1,.3,1) forwards}@keyframes heroIn{0%{transform:scale(1.18);filter:saturate(.6) contrast(1.05) brightness(.55) blur(8px)}to{transform:scale(1.08);filter:saturate(.92) contrast(1.05) brightness(.85) blur(0)}}@keyframes heroDrift{0%{background-position:76% 50%}to{background-position:80% 52%}}.photo-tint{z-index:1;background:linear-gradient(95deg,rgba(2,3,10,.88),rgba(2,3,10,.7) 28%,rgba(2,3,10,.32) 52%,rgba(2,3,10,.05) 72%,rgba(2,3,10,0)),linear-gradient(180deg,rgba(2,3,10,.55),rgba(2,3,10,0) 18%,rgba(2,3,10,0) 70%,rgba(2,3,10,.85)),radial-gradient(ellipse 50% 40% at 18% 35%,hsla(39,66%,73%,.14),transparent 60%),radial-gradient(ellipse 55% 60% at 82% 65%,rgba(40,60,110,.28),transparent 70%)}.photo-flare,.photo-tint{position:fixed;inset:0;pointer-events:none}.photo-flare{z-index:2;background:radial-gradient(ellipse 28% 60% at 76% 18%,rgba(255,226,170,.22),transparent 60%),radial-gradient(ellipse 18% 30% at 85% 30%,rgba(255,240,200,.18),transparent 70%);mix-blend-mode:screen;animation:flarePulse 8s ease-in-out infinite alternate}@keyframes flarePulse{0%{opacity:.85;transform:translateY(0)}to{opacity:1;transform:translateY(-6px)}}.vignette{inset:0;z-index:3;background:radial-gradient(ellipse 80% 70% at 50% 50%,transparent 35%,rgba(2,3,10,.45) 70%,rgba(2,3,10,.92) 100%),radial-gradient(ellipse 100% 50% at 50% 0,rgba(122,184,255,.06),transparent 60%),radial-gradient(ellipse 100% 50% at 50% 100%,rgba(201,152,90,.08),transparent 60%)}.grain,.vignette{position:fixed;pointer-events:none}.grain{inset:-20%;z-index:4;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");animation:grain 1.6s steps(4) infinite}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-2%,1%)}50%{transform:translate(1%,-2%)}75%{transform:translate(-1%,2%)}to{transform:translate(2%,-1%)}}.ui-overlay{position:fixed;inset:0;z-index:5;pointer-events:none;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(20px,3vw,40px) clamp(24px,4vw,56px)}.ui-overlay>*{pointer-events:auto}.topbar-3d{justify-content:space-between;gap:20px;opacity:0;animation:rise 1.4s cubic-bezier(.16,1,.3,1) .4s forwards;transform:translateY(28px)}.brand-3d,.topbar-3d{display:flex;align-items:center}.brand-3d{gap:14px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--ivory-dim)}.brand-crest{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,hsla(39,66%,73%,.2),hsla(39,66%,73%,.04));border:1px solid hsla(39,66%,73%,.4);display:grid;place-items:center;color:var(--bronze-hi)}.crumbs-3d{display:flex;gap:18px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:hsla(42,49%,91%,.45)}.crumbs-3d span{transition:color .3s ease}.crumbs-3d span.live{color:var(--bronze-hi)}.center-3d{align-self:center;justify-self:start;text-align:left;display:grid;gap:clamp(8px,1.8vh,20px);max-width:640px;margin:0;padding:0 24px 0 12px}.eyebrow-3d{font-size:11px;letter-spacing:.36em;text-transform:uppercase;color:var(--bronze-hi);opacity:0;animation:rise 1.4s cubic-bezier(.16,1,.3,1) .8s forwards;display:inline-flex;align-items:center;gap:14px;justify-self:start;transform:translateY(28px)}.eyebrow-3d:before{content:"";width:32px;height:1px;background:var(--bronze);opacity:.6}.title-3d{font-family:var(--serif);font-weight:300;letter-spacing:-.04em;line-height:1.08;font-size:clamp(40px,min(8vw,10vh),120px);animation:rise 1.6s cubic-bezier(.16,1,.3,1) 1.1s forwards;text-shadow:0 4px 32px rgba(0,0,0,.5);padding-block:.06em}.graduate-line-3d,.title-3d{opacity:0;transform:translateY(28px)}.graduate-line-3d{display:inline-flex;align-items:baseline;gap:16px;margin-top:-4px;animation:rise 1.4s cubic-bezier(.16,1,.3,1) 1.4s forwards}.gl-of{font-weight:300;font-size:clamp(14px,min(2vw,2.5vh),24px);color:var(--ivory-dim);letter-spacing:.02em}.gl-name,.gl-of{font-family:var(--serif);font-style:italic}.gl-name{font-weight:500;font-size:clamp(26px,min(4.2vw,5vh),52px);background:linear-gradient(135deg,#f3e3b6,#c9985a);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;letter-spacing:-.01em;text-shadow:0 4px 32px rgba(0,0,0,.4);position:relative;display:inline-block;padding:.18em .18em .22em .06em;margin:-.06em -.06em -.06em 0;line-height:1.18}.gl-name:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:linear-gradient(90deg,transparent,var(--bronze-hi),transparent);opacity:.5}.title-3d .gold{background:linear-gradient(135deg,#f3e3b6,#e8c98e 40%,#c9985a 70%,#a87838);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-style:italic;display:inline-block;padding:.14em .14em .18em .04em;margin:-.06em -.06em -.06em 0;-webkit-box-decoration-break:clone;box-decoration-break:clone}.subtitle-3d{font-family:var(--serif);font-size:clamp(13px,min(1.6vw,2vh),20px);color:var(--ivory-dim);letter-spacing:.04em;animation:rise 1.4s cubic-bezier(.16,1,.3,1) 1.6s forwards;font-style:italic}.meta-row-3d,.subtitle-3d{opacity:0;transform:translateY(28px)}.meta-row-3d{display:flex;gap:36px;justify-content:flex-start;flex-wrap:wrap;animation:rise 1.4s cubic-bezier(.16,1,.3,1) 1.9s forwards;margin-top:clamp(2px,.6vh,8px)}.meta-3d{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.meta-3d .k{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:hsla(42,49%,91%,.5)}.meta-3d .v{font-family:var(--serif);font-size:17px;color:var(--ivory);letter-spacing:.02em}.countdown-3d{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:520px;margin:clamp(4px,1vh,16px) 0 0;opacity:0;animation:rise 1.4s cubic-bezier(.16,1,.3,1) 2.2s forwards;width:100%;transform:translateY(28px)}.cd-cell{position:relative;padding:clamp(10px,1.6vh,18px) 8px clamp(8px,1.2vh,14px);border-radius:14px;background:linear-gradient(180deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,.01));border:1px solid var(--line);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);text-align:center;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.02),0 12px 32px rgba(0,0,0,.5)}.cd-cell:before{content:"";position:absolute;top:-1px;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,var(--bronze-hi),transparent);opacity:.7}.cd-num{font-family:var(--serif);font-size:clamp(22px,min(4.4vw,5vh),48px);font-weight:300;line-height:1;background:linear-gradient(180deg,#f3e3b6,#c9985a);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.cd-lbl{margin-top:8px;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--ivory-dim)}.cta-row-3d{display:flex;justify-content:flex-start;align-items:center;gap:22px;margin-top:clamp(8px,1.5vh,20px);flex-wrap:wrap;opacity:0;animation:rise 1.4s cubic-bezier(.16,1,.3,1) 2.5s forwards;transform:translateY(28px)}.open-stack{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.for-whom{font-family:var(--serif);font-style:italic;font-weight:400;font-size:13px;letter-spacing:.04em;color:var(--ivory-dim)}.for-whom span{color:var(--bronze-hi);font-style:normal;font-weight:500;letter-spacing:.02em}.scroll-cue-3d{display:inline-flex;align-items:center;gap:10px;color:var(--ivory-dim);font-size:11px;letter-spacing:.28em;text-transform:uppercase;opacity:.75}.scroll-cue-3d .mouse-icon{color:var(--bronze-hi);flex:none}.mouse-wheel{animation:wheelDot 1.6s cubic-bezier(.65,0,.35,1) infinite;transform-origin:center}@keyframes wheelDot{0%{transform:translateY(0);opacity:1}60%{transform:translateY(6px);opacity:0}61%{transform:translateY(-2px);opacity:0}to{transform:translateY(0);opacity:1}}.btn-3d{appearance:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;padding:16px 32px;font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;border-radius:999px;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;background:linear-gradient(135deg,#f3e3b6,#c9985a);color:#1a1208;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.25),0 14px 36px hsla(39,66%,73%,.25),0 0 80px hsla(39,66%,73%,.18)}.btn-3d:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.35),0 20px 48px hsla(39,66%,73%,.4),0 0 100px hsla(39,66%,73%,.3)}.bottombar-3d{display:flex;justify-content:space-between;align-items:end;gap:24px;opacity:0;animation:rise 1.4s cubic-bezier(.16,1,.3,1) 2.8s forwards;flex-wrap:wrap;transform:translateY(28px)}.guest-card-3d{display:flex;flex-direction:column;gap:6px;max-width:340px}.guest-card-3d .k{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--bronze)}.guest-card-3d .v{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--ivory);line-height:1.3}.music-pill-3d{display:inline-flex;align-items:center;gap:10px;padding:10px 16px 10px 12px;background:rgba(10,14,30,.6);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:999px;color:var(--ivory);cursor:pointer;font-size:10px;letter-spacing:.28em;text-transform:uppercase;transition:all .3s ease}.music-pill-3d:hover{border-color:var(--bronze-hi)}.music-pill-bars{display:inline-flex;align-items:flex-end;gap:2px;height:12px}.music-pill-bars span{width:2px;background:var(--bronze-hi);border-radius:1px;height:4px}.music-pill-3d.on .music-pill-bars span{animation:bar .9s ease-in-out infinite}.music-pill-3d.on .music-pill-bars span:nth-child(2){animation-delay:.15s}.music-pill-3d.on .music-pill-bars span:nth-child(3){animation-delay:.3s}.music-pill-3d.on .music-pill-bars span:nth-child(4){animation-delay:.45s}.scroll-hint-3d{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:hsla(42,49%,91%,.5)}.scroll-hint-dot{width:6px;height:6px;border-radius:50%;background:var(--bronze-hi);box-shadow:0 0 12px var(--bronze-hi);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes rise{to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}.loader-3d{position:fixed;inset:0;z-index:100;background:#02030a;display:grid;place-items:center;transition:opacity 1.2s ease,visibility 0s 1.2s}.loader-3d.gone{opacity:0;visibility:hidden;pointer-events:none}.loader-inner{display:grid;gap:24px;place-items:center}.loader-ring{width:60px;height:60px;border-radius:50%;border:1px solid hsla(39,66%,73%,.15);border-top:1px solid var(--bronze-hi);animation:spin 1.2s linear infinite}.loader-text{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--bronze-hi)}@media (max-width:720px){.photo-bg{background-position:40% 10%;background-size:cover;transform-origin:40% 105%;transform:scale(1.02)}@keyframes heroDrift{0%{background-position:40% 10%}to{background-position:40% 13%}}.photo-tint{background:linear-gradient(180deg,rgba(2,3,10,.35),rgba(2,3,10,.05) 18%,rgba(2,3,10,.1) 42%,rgba(2,3,10,.78) 68%,rgba(2,3,10,.96)),radial-gradient(ellipse 90% 45% at 50% 18%,hsla(39,66%,73%,.1),transparent 70%),radial-gradient(ellipse 90% 60% at 50% 90%,rgba(40,60,110,.22),transparent 70%)}.photo-flare{background:radial-gradient(ellipse 70% 28% at 50% 12%,rgba(255,226,170,.2),transparent 70%)}.ui-overlay{padding:18px 18px 22px;grid-template-rows:auto 1fr auto}.center-3d{justify-self:stretch;align-self:end;text-align:center;padding:0;max-width:100%;gap:14px}.title-3d{font-size:clamp(44px,13vw,68px);line-height:1.1}.graduate-line-3d{display:flex;justify-content:center;gap:10px;margin-top:2px}.gl-of{font-size:14px}.gl-name{font-size:clamp(26px,8vw,36px)}.subtitle-3d{font-size:13px}.eyebrow-3d{justify-self:center;font-size:10px;letter-spacing:.3em}.eyebrow-3d:after{content:"";width:28px;height:1px;background:var(--bronze);opacity:.6}.meta-row-3d{justify-content:center;gap:18px}.meta-3d{align-items:center}.meta-3d .k{font-size:9px;letter-spacing:.3em}.meta-3d .v{font-size:14px}.countdown-3d{grid-template-columns:repeat(4,1fr);gap:8px;margin:6px auto 0;max-width:100%}.cd-cell{padding:10px 4px 8px;border-radius:10px}.cd-num{font-size:26px}.cd-lbl{font-size:9px}.cta-row-3d{flex-direction:column;gap:14px;margin-top:14px}.cta-row-3d,.open-stack{align-items:center}.for-whom{text-align:center}.scroll-cue-3d{font-size:10px;letter-spacing:.26em}.topbar-3d{padding:0}.brand-3d{font-size:10px}.bottombar-3d,.crumbs-3d{display:none}}