:root{--bg:#090a08;--paper:#e8e0d5;--ink:#171c18;--wine:#552d39;--line:rgba(255,255,255,.13);--muted:#929a93;--serif:"Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#f4f1ea;font-family:var(--sans)}.hidden{display:none!important}.ey{font-size:7px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.top{position:fixed;z-index:20;top:0;left:0;right:0;height:66px;padding:9px 18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:#090a08e8;backdrop-filter:blur(14px)}.top img{width:105px;height:34px;border-radius:999px;object-fit:cover}.top>span{font-size:6px;letter-spacing:.18em;color:#858d86}.top button{justify-self:end;border:0;background:none;color:#858d86;font-size:7px;text-transform:uppercase}.gate{min-height:100svh;padding:120px 7vw 60px;display:grid;align-content:center}.gate h1,.hero h1{font:400 clamp(68px,11vw,145px)/.72 var(--serif);letter-spacing:-.06em;margin:12px 0 25px;max-width:1100px}.gate>p{max-width:590px;color:#9da59e;font-size:11px;line-height:1.8}.gate form{display:grid;grid-template-columns:minmax(0,390px) auto;gap:7px;margin-top:24px}.gate input{border:1px solid #fff3;border-radius:999px;background:none;color:#fff;padding:14px 16px;letter-spacing:.12em}.gate button,.memory button{border:0;border-radius:999px;background:var(--paper);color:var(--ink);padding:13px 17px;font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.gate small{margin-top:8px;color:#d1a2aa}.hero{min-height:92svh;padding:115px 7vw 55px;display:grid;align-content:end;border-bottom:1px solid var(--line)}.hero #countdown{font:italic 18px var(--serif);color:#89918a}.hero #phaseNote{max-width:650px;color:#a1a9a2;font:italic 20px/1.5 var(--serif)}.couple{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px;margin-top:38px}.couple b{font:400 clamp(28px,4vw,50px) var(--serif)}.couple span{font-size:7px;color:#8b938c;align-self:end}.before{padding:95px 7vw;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.before h2,.pending h2,.memory h2{font:400 clamp(58px,8vw,110px)/.78 var(--serif);letter-spacing:-.055em;margin:12px 0}.direction{padding:18px 0;border-bottom:1px solid #0002}.direction b{font:400 17px var(--serif)}.direction p{font:400 28px/1.05 var(--serif);margin:8px 0 0}.pending{padding:85px 7vw;border-bottom:1px solid var(--line)}.action{display:grid;grid-template-columns:1fr auto;gap:14px;padding:15px 0;border-bottom:1px solid #fff2;align-items:center}.action b{font:400 20px var(--serif)}.action small{display:block;color:#808880;margin-top:5px}.action button{border:0;background:none;color:#fff;font-size:7px;text-transform:uppercase}.done{font:italic 22px var(--serif);color:#929a93}.note{padding:105px 10vw;text-align:center;background:var(--wine)}.note blockquote{max-width:1050px;margin:20px auto 0;font:italic clamp(38px,6vw,82px)/.95 var(--serif);letter-spacing:-.035em}.memory{padding:110px 7vw;background:var(--paper);color:var(--ink)}.memory p{max-width:650px;color:#626a63;font-size:11px;line-height:1.8}.memory button{margin-top:18px;background:var(--ink);color:#fff}.practical{padding:45px 7vw 80px}.practical details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.practical summary{padding:20px 0;cursor:pointer;display:flex;justify-content:space-between;font:400 23px var(--serif)}.practical summary small{font:7px var(--sans);color:#7d857e;letter-spacing:.1em;text-transform:uppercase}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:24px}.grid>div{border:1px solid #fff1;border-radius:12px;padding:16px}.wide{grid-column:1/-1}.item{padding:10px 0;border-bottom:1px solid #fff1;display:grid;grid-template-columns:1fr auto}.item b{font:400 16px var(--serif)}.item small{display:block;color:#7c847d;font-size:7px;margin-top:4px}.consent{display:grid;grid-template-columns:.5fr 1fr 1.2fr;gap:8px;padding:10px 0;border-bottom:1px solid #fff1}.consent select,.consent input{width:100%;border:1px solid #fff2;background:#0d100d;color:#fff;border-radius:8px;padding:8px}footer{padding:24px 7vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:6px;letter-spacing:.14em;color:#727a73}.memory-overlay{position:fixed;z-index:1000;inset:0;background:#090a08}.memory-overlay iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#090a08;opacity:0;transition:opacity .35s}.memory-overlay.ready iframe{opacity:1}.memory-loading{position:absolute;z-index:2;inset:0;display:grid;place-content:center;text-align:center;background:#090a08;transition:opacity .3s}.memory-loading h2{font:400 clamp(46px,8vw,90px)/.85 var(--serif);margin:10px 0}.memory-overlay.ready .memory-loading{opacity:0;pointer-events:none}.close-memory{position:absolute;z-index:5;top:max(12px,env(safe-area-inset-top));right:12px;border:1px solid #fff4;border-radius:999px;background:rgba(9,10,8,.72);backdrop-filter:blur(10px);color:#fff;padding:9px 12px;font-size:7px;letter-spacing:.08em;text-transform:uppercase}
.phase-memory .before,.phase-memory .pending{display:none}
@media(max-width:760px){.top{grid-template-columns:auto 1fr auto;padding:9px 12px}.top>span{text-align:center}.gate{padding:100px 20px 40px}.gate form{grid-template-columns:1fr}.hero{padding:100px 20px 40px}.couple{display:grid}.before{padding:70px 20px;grid-template-columns:1fr}.pending,.memory{padding:70px 20px}.note{padding:75px 20px}.grid{grid-template-columns:1fr}.wide{grid-column:1}.consent{grid-template-columns:1fr}.practical{padding:35px 20px 60px}.practical summary{display:grid;gap:5px}}
/* Assinatura oficial JéssicaMelo: desenho original da marca, sem fundo branco */
header.top{background-image:url('/brand/jm-wordmark-ivory.png')!important;background-repeat:no-repeat!important;background-size:clamp(165px,20vw,224px) auto!important;background-position:left 18px center!important}
header.top>img{width:clamp(165px,20vw,224px)!important;height:46px!important;max-height:48px!important;object-fit:contain!important;opacity:0!important;border-radius:0!important;background:transparent!important}
@media(max-width:600px){header.top{background-size:158px auto!important;background-position:left 12px center!important}header.top>img{width:158px!important}}
