@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap";:root{font-family:Manrope,sans-serif;color:#f4e9d6;background:#16070c;font-synthesis:none;--ink: #f4e9d6;--muted: #b9a58f;--paper: #16070c;--wine: #3a0f1b;--wine-deep: #22080f;--line: rgba(217, 184, 108, .22);--gold: #d9b86c;--gold-light: #f3dfa8;--gold-deep: #a9823a;--foil: linear-gradient(100deg, #a9823a 0%, #f3dfa8 28%, #d9b86c 48%, #fff4d2 62%, #b08a3e 100%)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse 80% 55% at 50% -10%,rgba(120,28,48,.55),transparent 70%),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(90,20,36,.45),transparent 70%),var(--paper);background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23d9b86c' stroke-width='1'%3E%3Cpath d='M32 4l12 12-12 12-12-12z'/%3E%3Cpath d='M0 36l12 12L0 60M64 36L52 48l12 12'/%3E%3Ccircle cx='32' cy='48' r='3'/%3E%3C/g%3E%3C/svg%3E")}button,a{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:1px solid var(--gold);outline-offset:4px}.page-shell{width:min(1180px,calc(100% - 72px));margin:0 auto;min-height:100vh;position:relative}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-family:Cinzel,serif;font-size:15px;font-weight:500;letter-spacing:.22em;text-transform:uppercase}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;box-shadow:inset 0 0 0 3px var(--paper),inset 0 0 0 4px #d9b86c73;color:var(--gold-light);font-family:Cormorant Garamond,serif;font-style:italic;font-size:20px;letter-spacing:0}.topbar-note{color:var(--muted);font-family:Cinzel,serif;font-size:10px;letter-spacing:.28em;text-transform:uppercase}.topbar-actions{display:flex;gap:18px}.icon-button{border:0;background:none;padding:7px 0;display:flex;gap:9px;align-items:center;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:color .18s ease}.icon-button:hover{color:var(--gold-light)}.icon-ring{position:relative;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--gold);border-radius:50%;color:var(--gold-light);font-size:14px;letter-spacing:0;transition:transform .2s ease,background .2s ease}.icon-button:hover .icon-ring{background:#d9b86c1f}.icon-button[data-share]:hover .icon-ring{transform:rotate(45deg)}.icon-button[aria-pressed=true] .icon-ring:after{content:"";position:absolute;width:18px;height:1px;background:var(--gold-light);transform:rotate(-45deg)}.hero{display:flex;justify-content:space-between;align-items:flex-start;padding:84px 7% 70px}.hero-copy{max-width:720px}.kicker,.section-label{margin:0 0 22px;color:var(--gold);font-family:Cinzel,serif;font-size:11px;text-transform:uppercase;letter-spacing:.3em}.spark{font-size:10px;color:var(--gold-light)}h1,h2{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-weight:500;letter-spacing:-.02em}h1{font-size:clamp(66px,10vw,140px);line-height:.92;color:var(--ink)}h1 em,h2,.count-unit strong,.tbd-message{background:var(--foil);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:foil 7s ease-in-out infinite}h1 em{font-style:italic;padding-right:.08em}.intro{max-width:420px;margin:30px 0 0 4px;color:var(--muted);font-family:Cormorant Garamond,serif;font-size:20px;line-height:1.55}.hero-seal{flex:none;width:132px;height:132px;margin:6px 2% 0 24px;padding:0;border:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#9e2a40,#5c1022 60%,#3a0a16);box-shadow:0 14px 30px #00000073,inset 0 -6px 12px #00000059,inset 0 4px 10px #ffffff1f;transform:rotate(-9deg);transition:transform .3s ease}.hero-seal:hover{transform:rotate(0) scale(1.05)}.seal-ring{display:flex;flex-direction:column;justify-content:center;align-items:center;width:calc(100% - 18px);height:calc(100% - 18px);margin:9px;border:1px dashed rgba(243,223,168,.55);border-radius:50%;color:var(--gold-light)}.seal-ring span{font-family:Cinzel,serif;font-size:9px;letter-spacing:.3em;text-transform:uppercase}.seal-ring strong{font-family:Cormorant Garamond,serif;font-size:40px;line-height:1;font-weight:500}.seal-ring i{margin-top:6px;font-family:Cinzel,serif;font-size:7px;font-style:normal;letter-spacing:.16em;text-transform:uppercase;opacity:.8}.moment-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.moment-tab{position:relative;border:0;border-right:1px solid var(--line);background:transparent;padding:22px 24px;display:flex;align-items:center;gap:14px;text-align:left;color:var(--muted);font-family:Cinzel,serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:background .22s ease,color .22s ease}.moment-tab:last-child{border-right:0}.moment-tab:hover,.moment-tab.is-active{color:var(--gold-light);background:linear-gradient(180deg,#d9b86c0a,#d9b86c1a)}.moment-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--foil)}.tab-number{color:var(--gold);font-family:Cormorant Garamond,serif;font-size:15px;font-style:italic;letter-spacing:0;min-width:22px}.tab-arrow,.tab-crown{margin-left:auto;font-size:16px;opacity:.5;transition:transform .2s ease,opacity .2s ease}.tab-crown{color:var(--gold-light);font-size:18px;opacity:.85;animation:glint 2.8s ease-in-out infinite}.moment-tab:hover .tab-arrow,.moment-tab.is-active .tab-arrow{transform:translate(3px,-3px);opacity:1}.countdown-section{position:relative;margin:44px 0 0;padding:66px 7% 50px;border:1px solid var(--line);background:linear-gradient(180deg,#3a0f1bb8,#22080fd1);box-shadow:0 30px 60px #00000059,inset 0 0 0 6px #16070c99,inset 0 0 0 7px #d9b86c29}.is-special .countdown-section{box-shadow:0 30px 80px #a9823a2e,inset 0 0 0 6px #16070c99,inset 0 0 0 7px #d9b86c59}.corner{position:absolute;width:26px;height:26px;border-color:var(--gold);border-style:solid;border-width:0}.corner.tl{top:14px;left:14px;border-top-width:1px;border-left-width:1px}.corner.tr{top:14px;right:14px;border-top-width:1px;border-right-width:1px}.corner.bl{bottom:14px;left:14px;border-bottom-width:1px;border-left-width:1px}.corner.br{bottom:14px;right:14px;border-bottom-width:1px;border-right-width:1px}.corner:after{content:"";position:absolute;width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}.corner.tl:after{top:4px;left:4px}.corner.tr:after{top:4px;right:4px}.corner.bl:after{bottom:4px;left:4px}.corner.br:after{bottom:4px;right:4px}.date-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.section-label{color:var(--muted);margin-bottom:14px;font-size:10px}h2{font-size:clamp(44px,5.4vw,72px);line-height:1;padding-bottom:.06em}.date-location{margin:0 0 6px;font-family:Cormorant Garamond,serif;font-size:18px;line-height:1.45;text-align:right;color:var(--gold-light)}.date-location span{color:var(--muted);font-style:italic}.ornament{display:block;width:min(240px,60%);margin:40px auto 0;overflow:visible}.ornament path{fill:none;stroke:var(--gold);stroke-width:1}.ornament .fill{fill:var(--gold);stroke:none}.countdown{display:flex;align-items:center;justify-content:center;gap:clamp(12px,3vw,40px);margin:46px 0 50px}.count-unit{display:flex;flex-direction:column;align-items:center;gap:14px}.count-unit strong{font-family:Cinzel,serif;font-size:clamp(46px,7.2vw,96px);font-weight:400;line-height:1;font-variant-numeric:tabular-nums lining-nums}.count-unit span{font-family:Cinzel,serif;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.32em}.colon{color:var(--gold);font-family:Cormorant Garamond,serif;font-size:clamp(30px,4vw,56px);transform:translateY(-18px);opacity:.5}.tbd-message{margin:0;font-family:Cormorant Garamond,serif;font-style:italic;font-size:clamp(40px,6vw,80px);line-height:1;text-align:center}.since-note{margin:-26px 0 40px;text-align:center;color:var(--gold);font-family:Cormorant Garamond,serif;font-style:italic;font-size:18px}.countdown-footer{display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid var(--line);padding-top:22px}.countdown-footer p{color:var(--muted);font-family:Cormorant Garamond,serif;font-size:19px;font-style:italic;margin:0}.status-dot{display:flex;align-items:center;gap:10px;color:var(--gold-light);font-family:Cinzel,serif;font-size:10px;text-transform:uppercase;letter-spacing:.2em;white-space:nowrap}.status-dot i{width:7px;height:7px;transform:rotate(45deg);background:var(--gold);animation:pulse 2s infinite}.footer-note{display:flex;align-items:center;justify-content:center;gap:16px;padding:40px 7% 48px;color:var(--muted);font-family:Cinzel,serif;font-size:10px;text-transform:uppercase;letter-spacing:.24em}.footer-line{height:1px;width:48px;background:var(--foil)}.toast{position:fixed;left:50%;bottom:24px;z-index:20;padding:12px 20px;border:1px solid var(--gold);background:var(--wine-deep);color:var(--gold-light);font-family:Cinzel,serif;font-size:11px;letter-spacing:.14em;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:all .22s ease}.toast.is-visible{opacity:1;transform:translate(-50%)}.celebration-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 45%,rgba(243,223,168,.35),rgba(217,184,108,.08) 40%,transparent 70%)}body.is-celebrating:after{animation:royal-flash 2.4s ease-out}body.is-celebrating .countdown-section{animation:card-glow 2.4s ease-out}body.is-celebrating .hero-seal{animation:seal-stamp .7s cubic-bezier(.2,1.6,.4,1)}@keyframes foil{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes pulse{50%{opacity:.35;transform:rotate(45deg) scale(.6)}}@keyframes glint{50%{opacity:.45;transform:scale(.9)}}@keyframes royal-flash{0%{opacity:0}12%{opacity:1}to{opacity:0}}@keyframes card-glow{0%{border-color:var(--line)}15%{border-color:var(--gold-light);box-shadow:0 0 80px #f3dfa859,inset 0 0 0 7px #d9b86c80}}@keyframes seal-stamp{0%{transform:rotate(-9deg) scale(1)}40%{transform:rotate(4deg) scale(1.18)}to{transform:rotate(-9deg) scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:860px){.moment-tabs{grid-template-columns:repeat(2,1fr)}.moment-tab:nth-child(2){border-right:0}.moment-tab:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:700px){.page-shell{width:calc(100% - 32px)}.topbar{height:76px}.topbar-note{display:none}.brand{font-size:13px;letter-spacing:.16em}.icon-label{display:none}.hero{padding:52px 2% 44px;display:block}h1{font-size:clamp(58px,18vw,100px)}.intro{max-width:340px;margin:22px 0 0;font-size:18px}.hero-seal{width:96px;height:96px;margin:28px 0 0 auto;display:block}.seal-ring strong{font-size:28px}.seal-ring i{font-size:6px}.moment-tab{min-width:0;padding:16px 12px;gap:8px;font-size:10px;letter-spacing:.08em}.tab-number{font-size:13px;min-width:0}.tab-arrow{display:none}.countdown-section{margin-top:28px;padding:46px 22px 36px}.date-heading{display:block}.date-location{text-align:left;margin-top:16px;font-size:16px}.ornament{margin-top:30px}.countdown{margin:36px 0 44px;gap:4px;justify-content:space-between}.count-unit{gap:10px}.count-unit strong{font-size:clamp(28px,9vw,54px)}.count-unit span{font-size:7px;letter-spacing:.18em}.colon{font-size:22px;transform:translateY(-12px)}.since-note{margin-top:-20px;font-size:16px}.countdown-footer{display:block}.countdown-footer p{font-size:17px}.status-dot{margin-top:16px}.footer-note{padding-left:2%;padding-right:2%;font-size:9px}}@media(max-width:390px){.moment-tab{padding-left:8px;padding-right:8px;font-size:9px}.tab-number{display:none}}
