/* Maria Golob · azul veludo. Duas variações: noite (padrão) e safira. */
:root{
  --bg:#0A1030; --s1:#101840; --s2:#17214F; --line:#26305E; --campo:#3A4577;
  --ink:#F2EEE6; --ink2:#A7AECB; --apagado:#5D6893; --cta:#DCE4F6; --erro:#F0B4A0;
  --foto-noite:1;
}
[data-tema="safira"]{
  --bg:#0C1740; --s1:#132052; --s2:#1B2A63; --line:#2B3A75; --campo:#44528C;
  --ink:#F3EDE2; --ink2:#AEB5D2; --apagado:#6674A6; --cta:#E6D8BD; --erro:#F0B4A0;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"Host Grotesk",system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(90% 50% at 85% 0%,#ffffff0d,transparent 70%),radial-gradient(70% 40% at 0% 55%,#ffffff08,transparent 70%)}
.pg{max-width:480px;margin:0 auto;overflow:hidden}
a{color:inherit;text-decoration:none}
.m{color:var(--apagado)}
.ast{display:inline-block;color:var(--cta);font-size:.9em;transform:translateY(-.05em)}

/* topo */
.hd{display:flex;justify-content:space-between;align-items:center;padding:18px 20px}
.hd b{font-weight:500;font-size:15px;letter-spacing:-.03em}
.hd span{font-size:12px;color:var(--ink2)}

/* hero tipográfico */
.rot{display:flex;justify-content:space-between;padding:22px 20px 0;font-size:11.5px;line-height:1.15;color:var(--ink2)}
.rot div:last-child{text-align:right}
h1{padding:18px 20px 0;font-size:46px;font-weight:400;letter-spacing:-.055em;line-height:.98}
h1 .l{display:block}
h1 .r1{padding-left:.9em}
h1 .r2{padding-left:1.9em}
.cap{display:inline-block;height:.72em;width:1.55em;border-radius:1em;vertical-align:.02em;background-size:cover;background-position:center}
.cap.flag{background-image:url(img/flag.svg);background-position:left center}
.cap.eu{background-image:url(img/close_noite.webp);background-position:50% 28%;width:1.35em}
[data-tema="safira"] .cap.eu{background-image:url(img/close_safira.webp)}
.sub{padding:18px 20px 0 34%;font-size:15px;line-height:1.45;color:var(--ink2)}

/* formulário */
.form{margin:26px 10px 0;background:linear-gradient(180deg,var(--s2),var(--s1));border-radius:28px;padding:22px 18px 18px;border:1px solid #ffffff0f}
.form .topo{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink2);margin:0 4px 16px}
label{display:block;font-size:12.5px;color:var(--ink2);margin:0 0 6px 4px}
input{display:block;width:100%;font:inherit;font-size:16px;padding:15px 18px;border:1px solid var(--campo);border-radius:40px;background:#0000002e;color:var(--ink);margin-bottom:14px;outline:none;transition:border-color .2s}
input:focus{border-color:var(--cta)}
input.errado{border-color:var(--erro)}
.msg{font-size:13px;color:var(--erro);margin:-6px 6px 12px}
.msg:empty{display:none}
.bt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font:inherit;font-size:16px;font-weight:500;letter-spacing:-.025em;text-align:left;padding:8px 8px 8px 24px;border:0;border-radius:40px;background:var(--cta);color:var(--bg);cursor:pointer;transition:transform .2s}
.bt:active{transform:scale(.985)}
.bt i{flex:none;width:46px;height:46px;border-radius:50%;background:var(--bg);color:var(--cta);display:grid;place-items:center;font-style:normal;font-size:18px;transition:transform .3s}
.bt:hover i{transform:rotate(45deg)}
.bt[disabled]{opacity:.6}
.n{font-size:12px;color:var(--ink2);margin:12px 6px 0}

/* foto grande com a marca por cima */
.retrato{position:relative;margin:44px 10px 0;border-radius:28px;overflow:hidden;aspect-ratio:3/3.7}
.retrato img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
.retrato .tl,.retrato .tr{position:absolute;top:16px;font-size:11.5px;line-height:1.15}
.retrato .tl{left:18px}.retrato .tr{right:18px;text-align:right}
.retrato .marca{position:absolute;left:10px;right:0;bottom:-14px;font-size:118px;letter-spacing:-.075em;line-height:.8;color:var(--ink);mix-blend-mode:overlay;opacity:.9}

/* texto grande em dois tons */
.fala{padding:40px 20px 0;font-size:26px;letter-spacing:-.04em;line-height:1.12}
.fala .r1{padding-left:1.2em}
.fala .cap{height:.8em;width:1.5em}
.cap.rosto{background-image:url(img/maria_noite.webp);background-position:50% 22%;background-size:180%}
[data-tema="safira"] .cap.rosto{background-image:url(img/maria_safira.webp)}

/* dupla de fotos */
.dupla{display:grid;grid-template-columns:1.15fr 1fr;gap:10px;padding:26px 10px 0;align-items:end}
.dupla figure{margin:0}
.dupla img{width:100%;display:block;border-radius:22px;object-fit:cover}
.dupla .a img{aspect-ratio:3/4.3;object-position:50% 10%}
.dupla .b img{aspect-ratio:3/3.6;object-position:50% 25%}
.dupla figcaption{font-size:11.5px;color:var(--ink2);line-height:1.2;padding:8px 6px 0}

/* depoimento */
.dep{padding:48px 20px 0;display:grid;grid-template-columns:1fr 2.6fr;gap:10px}
.dep small{font-size:11.5px;color:var(--ink2);line-height:1.2}
.dep p{font-size:21px;letter-spacing:-.03em;line-height:1.18}
.dep em{grid-column:2;font-style:normal;font-size:12px;color:var(--ink2)}

.fim{padding:44px 10px 0}
.wm{margin-top:42px;padding:0 8px;font-size:132px;letter-spacing:-.075em;line-height:.8;color:var(--cta);height:128px;overflow:hidden;user-select:none}
.leg{padding:20px 20px 28px;font-size:11.5px;color:var(--ink2);display:flex;justify-content:space-between}

/* movimento: entra devagar, só uma vez */
.rv{opacity:0;transform:translateY(14px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
h1 .l{opacity:0;transform:translateY(.35em);animation:sobe .9s cubic-bezier(.2,.7,.2,1) forwards}
h1 .l:nth-child(2){animation-delay:.08s}h1 .l:nth-child(3){animation-delay:.16s}h1 .l:nth-child(4){animation-delay:.24s}h1 .l:nth-child(5){animation-delay:.32s}h1 .l:nth-child(6){animation-delay:.4s}
@keyframes sobe{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rv,h1 .l{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}}

/* obrigado / perguntas */
.passo{display:none;padding:26px 20px 0}
.passo.on{display:block;animation:sobe .5s cubic-bezier(.2,.7,.2,1)}
.conta{font-size:11.5px;color:var(--ink2);margin-bottom:14px}
.barra{height:2px;background:var(--line);border-radius:2px;margin-bottom:26px;overflow:hidden}
.barra b{display:block;height:100%;background:var(--cta);transition:width .3s}
.passo h2{font-size:32px;font-weight:400;letter-spacing:-.05em;line-height:1.02;margin-bottom:22px}
.op{display:block;width:100%;text-align:left;font:inherit;font-size:16px;letter-spacing:-.015em;color:var(--ink);background:#ffffff08;border:1px solid var(--line);border-radius:40px;padding:16px 22px;margin-bottom:10px;cursor:pointer;transition:border-color .2s,background .2s}
.op:active,.op.sel{border-color:var(--cta);background:#ffffff12}
.volta{background:none;border:0;color:var(--ink2);font:inherit;font-size:13px;margin-top:8px;cursor:pointer;padding:6px 4px}

/* ajustes 24/09: título e sub centralizados, sem quebra forçada */
h1.centro{text-align:center;font-size:42px;line-height:1.02;padding:22px 18px 0;animation:sobe .9s cubic-bezier(.2,.7,.2,1) both}
h1.centro .l{display:inline;opacity:1;transform:none;animation:none;padding:0}
.sub.centro{text-align:center;padding:16px 28px 0}

/* telefone com código do país */
.tel{position:relative;margin-bottom:14px}
.tel input#whats{margin:0;padding-left:104px}
.ddi{position:absolute;left:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:7px;height:40px;padding:0 10px 0 12px;border:0;border-right:1px solid var(--campo);border-radius:30px 0 0 30px;background:none;color:var(--ink);font:inherit;font-size:15px;cursor:pointer;z-index:2}
.ddi img{border-radius:3px;display:block;object-fit:cover}
.ddi i{font-style:normal;font-size:10px;color:var(--ink2)}
.paises{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--s2);border:1px solid var(--line);border-radius:20px;padding:8px;z-index:10;box-shadow:0 18px 40px #0008}
.paises input{margin:0 0 6px;padding:11px 16px;font-size:15px}
.paises ul{list-style:none;max-height:260px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.paises li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;cursor:pointer;font-size:15px}
.paises li:hover,.paises li:active{background:#ffffff10}
.paises li img{border-radius:3px;flex:none}
.paises li span{flex:1}
.paises li b{font-weight:400;color:var(--ink2)}
