:root{--ink: #040914;--snow: #f5f8ff;--ice: #afcbe0;--frost: #cbdcec;--champagne: #f0deb6;--gold: #c2a675;--line: #bdd9ed32;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--edge: clamp(22px, 5vw, 76px);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--ink);color:var(--snow);font:400 1rem/1.6 var(--font-sans);overflow-x:clip;-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--champagne);outline-offset:5px}[tabindex="-1"]:focus{outline:none}img{max-width:100%;display:block}::selection{background:#847451;color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.atmosphere{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-4;overflow:hidden;background:radial-gradient(ellipse at 50% 32%,#4a7fa8,#2c5c80 65%,#1d4364);pointer-events:none}.atmosphere__image{position:absolute;top:0;right:0;bottom:0;left:0;background:url(/gelo-sm.webp) 50% 50% / cover;opacity:1}.atmosphere__aurora{position:absolute;width:95vw;height:95vh;opacity:.14;pointer-events:none}.atmosphere__aurora--1{top:-50%;left:-40%;background:radial-gradient(ellipse,#93cfe4,transparent 65%);animation:aurora-drift 22s ease-in-out infinite alternate}.atmosphere__aurora--2{right:-45%;bottom:-50%;background:radial-gradient(ellipse,#7a659d,transparent 65%);animation:aurora-drift 29s ease-in-out infinite alternate-reverse}.atmosphere__vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 45%,#03081500 5%,#03081506 52%,#02061112)}.atmosphere[data-paused=true] *{animation-play-state:paused}@keyframes aurora-drift{to{transform:translate3d(15vw,12vh,0)}}.snow-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;width:100%;height:100%;pointer-events:none;opacity:.8}.crystal-field{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;pointer-events:none}.pre{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:#040a15}.pre__inner{display:grid;justify-items:center;gap:28px;text-align:center;padding:24px}.pre__seal{display:grid;place-items:center;width:84px;height:108px;font:italic 300 70px/1 var(--font-display);color:var(--champagne);border-top:1px solid #c7e2f050;border-bottom:1px solid #c7e2f050}.pre__caption{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--ice)}.pre__skip{position:absolute;right:var(--edge);bottom:calc(26px + env(safe-area-inset-bottom))}.page{position:relative}.cinema{position:relative;height:410svh}.cinema-nav{position:fixed;z-index:20;top:0;left:0;right:0;height:75px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:max(8px,env(safe-area-inset-top)) var(--edge) 8px;background:linear-gradient(#0a213a67,#0a213a00)}.cinema-nav__signature{text-decoration:none;font:italic 300 24px/1 var(--font-display);color:var(--champagne)}.cinema-nav__signature span{font:400 9px/1 var(--font-sans);letter-spacing:.13em;text-transform:uppercase;margin-left:8px}.icon-button{width:44px;height:44px;display:grid;place-items:center;padding:12px;border:0;background:none;cursor:pointer;color:var(--ice)}.icon-button svg{width:18px;height:18px}.cinema__stage{position:sticky;top:0;z-index:1;height:100svh;display:grid;place-items:center;padding:76px var(--edge) 60px;isolation:isolate;perspective:1200px;overflow:clip}.cinema__wash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 47%,#03091436 2%,#040d1926 34%,#040c180e 55%,transparent 75%)}.cinema-card{position:relative;z-index:2;width:min(100%,480px);text-align:center;transform-style:preserve-3d;transform:scale(var(--card-scale, 1))}.crest{position:relative;transform-origin:center;will-change:transform}.crest__eyebrow{margin:0 0 10px;font-size:12px;line-height:1.7;letter-spacing:.24em;text-transform:uppercase;color:var(--ice)}.crest__title{margin:0;font:300 56px/1.04 var(--font-display);letter-spacing:-.035em;color:#f5faff;text-shadow:0 0 38px #aed5f524}.crest__title .at-word:last-child{display:block;font-style:italic;color:#d0e6f5}.at-word{display:inline-block;white-space:nowrap}.at-mask{display:inline-block;overflow:hidden;vertical-align:top;padding:.05em .13em .13em;margin:-.05em -.13em -.13em}.at-ch{display:inline-block;transform-origin:50% 100%}.at-space{white-space:pre}.crest__name{margin:9px 0 0;font:italic 300 73px/1.15 var(--font-display);color:var(--champagne)}.crest__age{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 0 0;font-size:28px;line-height:1.5;letter-spacing:.22em;text-transform:uppercase;color:var(--ice)}.crest__age span{width:32px;height:1px;background:linear-gradient(90deg,transparent,#b5d9ee88)}.crest__age span:last-child{transform:rotate(180deg)}.crest__headline{position:absolute;top:100%;left:0;right:0;margin:26px auto 0;font:300 12px/1.8 var(--font-sans);color:var(--frost)}.facts{display:grid;grid-template-columns:1fr .45fr;gap:14px 30px;margin:24px 0 0;text-align:left;perspective:1000px}.fact{position:relative;min-width:0;padding-bottom:14px;transform-style:preserve-3d;visibility:hidden}.fact dt{margin-bottom:6px;color:var(--gold);font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.2em}.fact dd{margin:0;font:300 26px/1.2 var(--font-display);color:var(--snow);overflow-wrap:anywhere}.fact--date dd{font-size:21px;text-transform:lowercase}.fact--date dd:first-letter{text-transform:uppercase}.fact--venue,.fact--dress{grid-column:1 / -1}.fact--dress dd{font:300 13px/1.6 var(--font-sans)}.fact__note{display:block;margin-top:6px;font:400 11px/1.5 var(--font-sans);color:var(--ice)}.fact__rule{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#afd8f362,#afd8f315);transform-origin:left}.invitation__actions{display:grid;gap:10px;margin-top:20px;visibility:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 18px;border:1px solid transparent;border-radius:2px;text-decoration:none;font:500 12px/1.5 var(--font-sans);letter-spacing:.02em;text-align:center;transition:transform .24s ease,box-shadow .24s ease,background .24s ease}.btn--cta{width:100%;background:linear-gradient(110deg,#d5bd8b,#f0deba 48%,#c1a570);color:#1a1e25;box-shadow:0 0 26px #e5cd9720,inset 0 1px #ffffff70}a.btn--cta:hover{transform:translateY(-2px);box-shadow:0 0 35px #e5cd9740}.btn--pill{min-height:44px;padding:9px 13px;font-size:11px;border-color:#c0dced36;color:var(--frost);background:#8eb6d20a}a.btn--pill:hover{background:#8eb6d21a}.btn--disabled{cursor:default}button.btn--pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;cursor:pointer}.action-icon,.action-icon svg{display:block;width:18px;height:18px;flex-shrink:0}.assembly__links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.assembly__links>*{flex:1 1 0}.assembly__links>:only-child{min-width:160px}.invitation__signature{margin:3px 0 0;font:italic 300 16px/1.4 var(--font-display);color:var(--champagne)}.cinema-card__portrait{position:absolute;top:10%;right:0;bottom:10%;left:0;width:80%;height:80%;object-fit:cover;margin:auto;z-index:-1;opacity:.14;-webkit-mask-image:radial-gradient(ellipse,#000,transparent 68%);mask-image:radial-gradient(ellipse,#000,transparent 68%)}.cinema__scroll-hint{position:absolute;bottom:105px;left:0;right:0;display:grid;justify-items:center;gap:14px;color:var(--ice);font-size:8px;text-transform:uppercase;letter-spacing:.18em}.scroll-ray{width:1px;height:28px;background:linear-gradient(transparent,#cceaff,transparent);box-shadow:0 0 6px #b4ddff}.cinema__playback{position:fixed;bottom:max(17px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:20;display:grid;justify-items:center;gap:2px;white-space:nowrap}.cinema__scroll-label{display:flex;align-items:center;gap:7px;color:var(--snow);font-weight:400;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.scroll-icon{width:12px;height:20px;opacity:.95}.scroll-icon__dot{animation:scroll-dot 2s ease-in-out infinite}@keyframes scroll-dot{0%,12%{transform:translateY(0);opacity:1}55%{transform:translateY(6px);opacity:.15}to{transform:translateY(0);opacity:1}}.cinema[data-complete=true] .cinema__scroll-label{visibility:hidden}.cinema__progress{position:fixed;bottom:0;left:0;right:0;height:2px;background:#acc8e010;z-index:21}.cinema__progress span{display:block;height:100%;background:linear-gradient(90deg,#7099b7,#e8f6ff,#d6b97c);transform:scaleX(0);transform-origin:left;box-shadow:0 0 8px #b6d9ff}.ice-wing{position:absolute;top:-8%;bottom:-8%;width:55%;z-index:8;pointer-events:none;opacity:0;background:linear-gradient(117deg,#0b1b2d18 10%,#b2e3ff40 44%,#d5f0ff88,#1f52755e 46%,#579ac740 70%,#08101c22 90%);transform-style:preserve-3d}.ice-wing--left{left:0;transform-origin:left;clip-path:polygon(0 0,86% 0,100% 22%,79% 42%,95% 69%,69% 100%,0 100%)}.ice-wing--right{right:0;transform-origin:right;clip-path:polygon(14% 0,100% 0,100% 100%,31% 100%,5% 69%,21% 42%,0 22%)}@media (min-width: 761px){.atmosphere__image{background-image:url(/gelo.webp)}}@media (max-width: 760px){:root{--edge: 26px}.cinema{height:390svh}.cinema-nav{height:64px}.cinema-nav__signature{font-size:21px}.cinema-nav__signature span{font-size:8px;margin-left:5px}.cinema__stage{padding:74px var(--edge) calc(60px + env(safe-area-inset-bottom))}.cinema-card{max-width:370px}.crest__title{font-size:44px}.crest__eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:8px}.crest__name{font-size:57px;margin-top:8px}.crest__age{font-size:22px;margin-top:7px}.crest__headline{font-size:11px;margin-top:23px}.facts{gap:13px 20px;margin-top:22px}.fact{padding-bottom:12px}.fact dt{font-size:8px;letter-spacing:.13em;margin-bottom:6px}.fact dd{font-size:24px}.fact--date dd{font-size:19px}.fact--dress dd{font-size:12px}.fact__note{font-size:11px}.invitation__actions{margin-top:18px;gap:8px}.invitation__signature{font-size:15px}.btn{min-height:46px}.btn--pill{min-height:44px}}@media (max-width: 360px){:root{--edge: 22px}.crest__title{font-size:38px}.cinema-nav__signature span{display:none}.facts{gap:12px 16px}.fact--date dd{font-size:18px}}@media (max-height: 700px){.cinema-nav{height:56px}.cinema__stage{padding-top:58px;padding-bottom:calc(36px + env(safe-area-inset-bottom))}.cinema__scroll-hint{bottom:74px}}.cinema[data-flow=true]{height:auto}.cinema[data-flow=true] .cinema__stage{position:relative;height:auto;min-height:100svh;padding:100px var(--edge) calc(55px + env(safe-area-inset-bottom))}.cinema[data-flow=true] .cinema-card{transform:none}.cinema[data-flow=true] .fact,.cinema[data-flow=true] .invitation__actions{visibility:visible}.cinema[data-flow=true] .crest__headline{position:static;margin:20px auto 0}.cinema[data-flow=true] .cinema__playback,.cinema[data-flow=true] .cinema__scroll-hint,.cinema[data-flow=true] .cinema__progress{display:none}.cinema[data-flow=true] .cinema__wash{opacity:1}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ice-wing{display:none}}.gift-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:#04091499;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:gift-fade-in .22s ease}.gift-modal{position:relative;width:min(420px,100%);max-height:86vh;overflow-y:auto;padding:36px 28px 30px;border-radius:18px;border:1px solid #c0dced36;background:linear-gradient(165deg,#0c1830f0,#06101fe6);box-shadow:0 30px 80px -20px #000b1d99,inset 0 1px #ffffff14;text-align:center;color:var(--frost);animation:gift-pop-in .26s cubic-bezier(.2,.9,.3,1)}.gift-modal:focus{outline:none}.gift-modal__close{position:absolute;top:14px;right:14px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #c0dced36;background:transparent;color:var(--frost);cursor:pointer}.gift-modal__close:hover{background:#8eb6d21a}.gift-modal__close svg{width:16px;height:16px}.gift-modal__eyebrow{margin:0 0 6px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}.gift-modal__title{margin:0 0 22px;font:300 30px/1.15 var(--font-display);color:var(--snow)}.gift-modal__list{display:grid;gap:12px;margin:0}.gift-modal__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:10px;border-bottom:1px solid #bdd9ed22}.gift-modal__row dt{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ice)}.gift-modal__row dd{margin:0;font:400 15px/1.4 var(--font-sans);color:var(--snow)}.gift-modal__divider{height:1px;margin:24px auto 18px;width:60px;background:linear-gradient(90deg,transparent,#bdd9ed88,transparent)}.gift-modal__pix-note{margin:0 0 10px;font-size:12px;color:var(--ice)}.gift-modal__pix{display:flex;flex-direction:column;gap:4px;align-items:center}.gift-modal__pix-key{font:500 18px/1.3 var(--font-sans);letter-spacing:.04em;color:var(--champagne)}.gift-modal__pix-meta{font-size:12px;color:var(--frost)}@keyframes gift-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gift-pop-in{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 760px){.gift-modal{padding:30px 22px 26px}.gift-modal__title{font-size:26px}}
