@font-face{font-family:Celestial;src:url('../fonts/cormorant-garamond-500.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Celestial;src:url('../fonts/cormorant-garamond-500-italic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Manrope;src:url('../fonts/manrope-variable.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--display:Celestial,Georgia,serif;--body:Manrope,Arial,sans-serif;--gold:#e7cd9c}.hero{min-height:100svh;height:105svh}.cover-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.9;transition:opacity 1s;transform:scale(calc(1 + var(--p,0)*.025))}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(#090b1c66,transparent 65%,#0b142b55);z-index:1;pointer-events:none}.webgl-ready.opening .cover-art,.webgl-ready.name-formed .cover-art{opacity:0}.hero h1{font-family:var(--display);font-weight:500;font-style:italic;font-size:clamp(6.5rem,13vw,11rem);line-height:1;letter-spacing:-.045em;margin:25px 0 10px;transition:none}.hero-copy{padding:80px 24px 70px;max-width:950px}.hero-title{font-size:2.2rem;font-weight:500;line-height:1.15;max-width:450px}.hero-date{font-size:13px;line-height:1.9;letter-spacing:.04em}.guest-label{font-size:12px;letter-spacing:.14em;font-variant:small-caps}.topline{font-size:12px}.open-button{background:linear-gradient(135deg,#f3e3c6,#c5aabf);border:1px solid #fff8df77;box-shadow:0 8px 40px #05071966}.webgl-ready.opening .hero h1,.webgl-ready.name-formed .hero h1{opacity:0!important}.cosmos-layer::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,#07091e77);mix-blend-mode:multiply}.flight-copy h2{font-weight:500;line-height:1}.flight-copy p{font-size:13px}.flight-stage{background:linear-gradient(transparent 48%,#090d22ee)}footer .light-mode{position:static;display:inline-block;background:none;border:0;border-bottom:1px solid #a89ab0;border-radius:0;margin:10px auto 20px;min-height:44px;padding:8px;font-size:11px;color:#b2a5c3}
.countdown-section{padding:100px 6vw;min-height:850px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,#4e36566b,#111429e8)}.count-planet{position:absolute;width:min(74vw,600px);height:auto;top:100px;left:50%;transform:translateX(-50%) rotate(-8deg);opacity:.85;filter:drop-shadow(0 0 40px #a889b633)}.countdown-inner{width:min(100%,800px);position:relative;padding-top:390px;z-index:1}.countdown-inner h2{font-size:3.3rem;max-width:620px;margin:auto}.clock-orbit{display:none}.countdown{gap:0;justify-content:space-around;margin:35px auto;max-width:600px;border-top:1px solid #c2a8cf55;border-bottom:1px solid #c2a8cf55;padding:23px 0}.countdown>div{width:25%;border-right:1px solid #c2a8cf33}.countdown>div:last-child{border:0}.countdown strong{font-family:Manrope,sans-serif;font-weight:300;font-size:3.5rem;line-height:1.2}.countdown span{font-size:10px;letter-spacing:.13em}.countdown-section #agenda{border:1px solid #d4bbdb77;border-radius:50%;width:140px;height:48px;display:inline-grid;place-items:center;font-size:11px;padding:0}.arrival-section{isolation:isolate;min-height:110svh;background:#101327;padding-top:52svh}.arrival-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(calc(1.04 - var(--p,0)*.04))}.arrival-section::before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 15%,#10132744 40%,#101327f5 83%);z-index:-1}.arrival-section h2{text-shadow:0 2px 20px #08091e;font-size:3.8rem}.arrival-section .ornament{display:none}.invitation{background:radial-gradient(ellipse at 20% 50%,#403049,#201b32);padding:150px 24px}.prose{max-width:760px}.prose p:not(.signature){font-size:16px;line-height:2}.portrait-section{background:#181b2d;gap:7%;padding:100px 8vw}.portrait-frame{border:1px solid #bd9dbb;padding:12px;border-radius:200px 200px 2px 2px;box-shadow:0 25px 90px #04061688}.portrait-copy h2{font-size:4rem}.portrait-copy p{font-size:15px;line-height:1.9}.place-section{background:#1c2237;grid-template-columns:1fr 1fr;gap:5%;padding:100px 7vw}.star-chart{position:relative;border:1px solid #bba6cb33;border-radius:50%;padding:10px;background:radial-gradient(circle,#c3a6d00d,transparent 70%)}.star-chart svg{width:100%;height:auto;fill:none}.star-chart .route{stroke-dasharray:none;stroke-dashoffset:0}.place-copy h2{font-size:3.8rem}.place-copy address{font-size:13px}.place-copy p{font-size:14px}.map-links .primary{background:#d7c2c7;color:#221a34}.programme-section{padding:110px 6vw;background:radial-gradient(ellipse at 50% 100%,#44304b,#18192e)}.programme-section h2{text-align:center;font-size:4rem}.programme-section ol{max-width:1200px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:60px auto 0;padding:0;border:0;counter-reset:none}.programme-section li{display:flex;flex-direction:column;text-align:center;align-items:center;padding:0;border:0;gap:12px}.programme-section li::before{display:none}.orbit-moon{width:130px;height:130px;border-radius:50%;display:block;background:radial-gradient(circle at 30% 25%,#f1dfd1,#ab8ca5 38%,#4e3c61 64%,#1b1b30 85%);box-shadow:inset -14px -4px 24px #0c0e2388,0 0 50px #a98ab31f;position:relative}.orbit-moon::after{content:'';position:absolute;inset:25% -30%;border:1px solid #ceb6ca77;border-radius:50%;transform:rotate(-25deg)}.programme-section li:nth-child(2) .orbit-moon{background:radial-gradient(circle at 35% 30%,#e9d2b1,#9c7a80 45%,#291e38 80%)}.programme-section li:nth-child(3) .orbit-moon{background:radial-gradient(circle at 35% 25%,#cdd9e7,#778bab 42%,#242c49 80%)}.programme-section time{font-family:Manrope,sans-serif;font-size:12px;color:#e7cd9c;letter-spacing:.1em;margin-top:15px}.programme-section h3{font-size:2rem;margin:0 0 12px}.programme-section p{font-size:13px;line-height:1.8;color:#c7bdd1;max-width:27ch}.dress-section{background:linear-gradient(130deg,#3a2e43,#242337);min-height:650px}.dress-section h2{font-size:4rem}.dress-section p{font-size:14px}.rsvp-panel{border-color:#e4c6db55;box-shadow:0 20px 80px #03071855}.rsvp-intro h2{font-size:4rem}
@media(max-width:700px){.hero{min-height:860px;height:110svh}.hero-copy{padding:95px 24px 50px}.hero h1{font-size:6.8rem;margin:35px 0 20px}.hero-title{font-size:1.9rem;max-width:290px}.guest-label{font-size:11px}.topline{font-size:10px}.hero-date{margin-top:25px}.countdown-section{padding:60px 22px 80px;min-height:820px}.count-planet{width:430px;max-width:120%;top:60px}.countdown-inner{padding-top:320px}.countdown-inner h2{font-size:2.6rem}.countdown strong{font-size:2.3rem}.countdown span{font-size:8px}.countdown{gap:0}.arrival-section{padding:50svh 24px 65px;min-height:950px}.arrival-section h2{font-size:2.8rem}.arrival-art{object-position:50% center}.place-section{display:flex;flex-direction:column;padding:80px 24px;gap:40px}.star-chart{width:100%;max-width:460px;order:-1}.place-copy h2,.portrait-copy h2,.dress-section h2,.rsvp-intro h2{font-size:2.8rem}.programme-section{padding:80px 25px}.programme-section h2{font-size:2.9rem}.programme-section ol{grid-template-columns:1fr;gap:50px;margin-top:45px}.programme-section li{display:grid;grid-template-columns:100px 1fr;gap:10px 25px;text-align:left;align-items:start}.orbit-moon{grid-row:1/3;width:90px;height:90px;margin-top:15px}.programme-section time{margin:0}.programme-section h3{font-size:1.8rem}.programme-section p{max-width:none}.portrait-section{padding:80px 24px}.invitation{padding:100px 24px}.prose p:not(.signature){font-size:15px}.flight-copy h2{font-size:2.9rem}}
@media(prefers-reduced-motion:reduce){.cover-art,.arrival-art{transform:none;transition:none}.hero h1{opacity:1!important}}
.countdown-section{background:radial-gradient(ellipse at 50% 35%,#34283f,#111429 78%)}
.star-chart svg text{font:500 14px Manrope,Arial,sans-serif;fill:#ddc9de;stroke:none;letter-spacing:3px}

.demo-note{max-width:38rem;margin:1rem auto 1.5rem;color:inherit;opacity:.76;font-size:.8rem;line-height:1.5;text-align:center}

/* Presenças como pontos de uma constelação; recados em pequenas órbitas. */
#guest-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:17px;max-width:900px;margin-top:32px}
#guest-list li{position:relative;min-width:0;padding:26px 16px 18px;border:1px solid #aa93cf70;border-radius:14px;background:radial-gradient(circle at 86% 15%,#c8b6f13d 0 2px,transparent 3px),linear-gradient(145deg,#302c50,#22233e);color:#f4e6ff;box-shadow:0 9px 25px #090c2480}
#guest-list li::before{content:'✦';position:absolute;top:6px;left:13px;color:#d7b9f4;font-size:11px}
#guest-list small{display:block;margin:5px 0 0;color:#c3b0d8}
#messages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;columns:auto;margin-top:38px}
#messages>p{grid-column:1/-1}
#messages blockquote{position:relative;min-width:0;margin:0;padding:30px 24px 25px;border:1px solid #b69ad477;border-radius:18px 18px 28px 18px;background:radial-gradient(circle at 90% 15%,#a688d144,transparent 40%),#241e39;color:#f3e8f8;box-shadow:inset 0 0 0 1px #e5cdf522,0 10px 25px #100c2370}
#messages blockquote::before{content:'✧';position:absolute;top:9px;right:16px;color:#d0b3ee;font-size:1.1rem}
#messages blockquote cite{color:#cbb0e1}
@media(max-width:800px){#messages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#messages{grid-template-columns:1fr}}
