/* Latino Signature · folha de estilo partilhada
   Conceito: papel de aquarela. Fundo de papel lavanda, texto em Deep Velvet,
   violeta para ação, pêssego só como acento (como o ponto do logotipo).
   Um único visual claro, deliberado: o logotipo foi pintado para papel claro. */
:root{
  --paper:#F4F2FB;
  --paper-2:#ECE7F6;
  --card:#FBFAFE;
  --line:rgba(181,156,212,.42);
  --line-strong:rgba(91,44,142,.28);
  --velvet:#1D0D36;
  --ink:#3B2C55;
  --ink-soft:#5E5078;
  --violet:#5B2C8E;
  --violet-deep:#45206F;
  --lavender:#B59CD4;
  --peach:#F8A17B;
  --peach-ink:#B5552C;
  --gold:#9C7A2E;
  --ok:#2F7A55;
  --err:#B23A3A;
  --f-display:"Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;
  --f-ui:"Jost", "Futura", "Century Gothic", "Avenir Next", system-ui, sans-serif;
  --step--1:clamp(13px, .8rem + .1vw, 14px);
  --step-0:clamp(16px, .95rem + .2vw, 18px);
  --step-1:clamp(20px, 1.1rem + .6vw, 24px);
  --step-2:clamp(26px, 1.3rem + 1.4vw, 36px);
  --step-3:clamp(36px, 1.6rem + 3vw, 64px);
  --wrap:1180px;
  --radius:18px;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--paper);color:var(--velvet);
  font:400 var(--step-0)/1.65 var(--f-ui);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .45  0 0 0 0 .38  0 0 0 0 .6  0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
img{max-width:100%}
a{color:var(--violet)}
a:hover{color:var(--violet-deep)}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;left:-9999px;top:0}
.skip-link:focus{left:16px;top:calc(12px + env(safe-area-inset-top,0px));z-index:100;background:var(--card);padding:10px 14px;border-radius:10px}

.wrap{
  position:relative;z-index:1;
  max-width:var(--wrap);margin:0 auto;
  padding-left:max(16px, env(safe-area-inset-left, 0px));
  padding-right:max(16px, env(safe-area-inset-right, 0px));
}
@media (min-width:700px){.wrap{padding-left:max(32px, env(safe-area-inset-left, 0px));padding-right:max(32px, env(safe-area-inset-right, 0px))}}

/* ---------- tipografia ---------- */
h1,h2,h3{font-family:var(--f-display);font-weight:600;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.005em;color:var(--velvet)}
h1{font-size:var(--step-3)}
h2{font-size:var(--step-2)}
h3{font-size:var(--step-1);line-height:1.2}
h1 em,h2 em{font-weight:400;color:var(--violet)}
p{margin:0}
.lead{font-size:var(--step-1);line-height:1.55;color:var(--ink);max-width:62ch;font-family:var(--f-ui);font-weight:400}
.prose{display:grid;gap:1.1em;max-width:64ch;color:var(--ink)}
.prose strong{color:var(--velvet);font-weight:600}
.eyebrow{font:500 12px/1.4 var(--f-ui);letter-spacing:.22em;text-transform:uppercase;color:var(--violet)}
.eyebrow .dot{color:var(--peach-ink)}
.small{font-size:var(--step--1);color:var(--ink-soft)}
blockquote.pull{
  margin:0;font:italic 400 var(--step-1)/1.5 var(--f-display);color:var(--ink);
  border-left:2px solid var(--peach);padding:4px 0 4px 20px;max-width:56ch;
}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font:500 13px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
  border-radius:999px;padding:15px 26px;border:1px solid transparent;cursor:pointer;
  transition:background-color .25s, color .25s, border-color .25s, transform .25s;
}
.btn-primary{background:var(--violet);color:#fff}
.btn-primary:hover{background:var(--velvet);color:#fff;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--violet);border-color:var(--line-strong)}
.btn-ghost:hover{border-color:var(--violet);color:var(--violet)}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.arrow{display:inline-block;transition:transform .25s}
.btn:hover .arrow,.textlink:hover .arrow{transform:translateX(3px)}
.textlink{font:500 14px/1.4 var(--f-ui);letter-spacing:.06em;color:var(--violet);text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.textlink:hover{text-decoration:underline;text-underline-offset:4px}

/* ---------- cabeçalho ---------- */
.top{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:30;
  background:rgba(244,242,251,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.top-in{height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.hlogo{display:block;height:50px;flex:none;color:inherit}
.hlogo svg{height:100%;width:auto;display:block;overflow:visible}
.hlogo .only-mark{display:none}
.menu{display:flex;gap:24px;font:500 12px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase}
.menu a{color:var(--ink-soft);text-decoration:none;padding:8px 0;border-bottom:1.5px solid transparent;white-space:nowrap}
.menu a:hover,.menu a[aria-current="page"]{color:var(--violet);border-color:var(--violet)}
.top-actions{display:flex;align-items:center;gap:10px}
.top .btn{padding:12px 20px;font-size:11px}
.menu-btn{display:none;background:none;border:1px solid var(--line-strong);border-radius:999px;width:46px;height:46px;cursor:pointer;color:var(--velvet);align-items:center;justify-content:center}
.menu-btn svg{width:20px;height:20px}
.drawer{display:none}
@media (max-width:1060px){
  .menu{display:none}
  .menu-btn{display:inline-flex}
  .drawer{display:block;border-top:1px solid var(--line);background:var(--paper)}
  .drawer[hidden]{display:none!important}
  .drawer nav{display:grid;padding-block:8px 18px}
  .drawer a{padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--velvet);font:500 13px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase}
  .drawer a[aria-current="page"]{color:var(--violet)}
}
@media (max-width:560px){
  .hlogo .full{display:none}
  .hlogo .only-mark{display:block}
  .hlogo{height:54px}
  .top .btn-primary{display:none}
}

/* ---------- secções ---------- */
main{position:relative}
.page-head{padding-block:clamp(48px,8vw,96px) clamp(28px,4vw,48px);display:grid;gap:20px}
.crumbs{font:500 11px/1 var(--f-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.crumbs a{color:var(--ink-soft);text-decoration:none}
.crumbs a:hover{color:var(--violet)}
.section{padding-block:clamp(40px,6vw,80px)}
.section + .section{border-top:1px solid var(--line)}
.section-head{display:grid;gap:12px;margin-bottom:clamp(24px,3vw,40px);max-width:70ch}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.grid-2,.grid-3{grid-template-columns:1fr}}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,2.6vw,32px);display:grid;gap:12px;align-content:start}
.card p{color:var(--ink)}
.card .kicker{font:500 11px/1.3 var(--f-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--peach-ink)}
a.card{text-decoration:none;color:inherit;transition:border-color .25s, transform .25s}
a.card:hover{border-color:var(--violet);transform:translateY(-2px)}
a.card .textlink{margin-top:6px}

.list-plain{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.list-plain li{display:grid;grid-template-columns:22px 1fr;gap:10px;color:var(--ink)}
.list-plain li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--peach);margin-top:.68em;justify-self:center}

/* passos: são mesmo uma sequência */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:56px 1fr;gap:16px;padding-block:18px;border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps li::before{content:counter(s);font:400 34px/1 var(--f-display);color:var(--violet)}
.steps b{display:block;font-weight:600;color:var(--velvet)}
.steps span{color:var(--ink)}

.band{background:var(--velvet);color:#F4F2FB;border-radius:28px;padding:clamp(28px,5vw,64px);display:grid;gap:18px;position:relative;overflow:hidden}
.band h2,.band h3{color:#fff}
.band p{color:rgba(244,242,251,.82)}
.band .eyebrow{color:var(--peach)}
.band .btn-primary{background:var(--peach);color:var(--velvet)}
.band .btn-primary:hover{background:#fff;color:var(--velvet)}
.band .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.band .btn-ghost:hover{border-color:#fff;color:#fff}

.guardians{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:800px){.guardians{grid-template-columns:1fr}}
.guardian{border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:22px;display:grid;gap:8px}
.guardian h3{font-size:22px}
.guardian p{font-size:15px}

.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:800px){.facts{grid-template-columns:1fr}}
.fact{display:grid;gap:8px;padding-top:16px;border-top:2px solid var(--violet)}
.fact .num{font:600 clamp(40px,5vw,56px)/1 var(--f-display);color:var(--violet)}
.fact p{color:var(--ink);font-size:15px}
.fact .src{font-size:12px;color:var(--ink-soft)}

details.faq{border-top:1px solid var(--line)}
details.faq:last-of-type{border-bottom:1px solid var(--line)}
details.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative;font:600 var(--step-1)/1.3 var(--f-display);color:var(--velvet)}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";position:absolute;right:6px;top:16px;font:300 28px/1 var(--f-ui);color:var(--violet);transition:transform .25s}
details.faq[open] summary::after{transform:rotate(45deg)}
details.faq .ans{padding:0 0 22px;color:var(--ink);max-width:66ch;display:grid;gap:10px}

.founders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:700px){.founders{grid-template-columns:1fr}}
.initials{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font:600 22px/1 var(--f-display)}
.initials.p{background:rgba(248,161,123,.25);color:var(--peach-ink)}
.initials.v{background:rgba(91,44,142,.12);color:var(--violet)}

.status{display:inline-flex;gap:8px;align-items:center;font:500 12px/1 var(--f-ui);letter-spacing:.06em;padding:8px 12px;border-radius:999px;border:1px solid var(--line);color:var(--ink);background:var(--card);width:fit-content}
.status i{width:8px;height:8px;border-radius:50%;background:var(--ok)}
.status.soon i{background:var(--peach)}

/* ---------- rodapé ---------- */
footer.foot{position:relative;z-index:1;margin-top:clamp(56px,8vw,110px);background:var(--velvet);color:rgba(244,242,251,.78);padding-block:56px calc(36px + env(safe-area-inset-bottom,0px))}
.foot a{color:rgba(244,242,251,.86);text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:36px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12)}
@media (max-width:800px){.foot-grid{grid-template-columns:1fr}}
.foot h4{margin:0 0 14px;font:500 11px/1 var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:#fff}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15px}
.foot .tag{font:500 11px/1.5 var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--lavender);margin-top:14px}
.foot .about{font-size:15px;max-width:44ch;margin-top:12px}
.foot-mark{width:150px;background:rgba(244,242,251,.96);border-radius:14px;padding:10px 12px}
.foot-mark svg{width:100%;height:auto;display:block}
.foot-legal{padding-top:22px;display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:space-between;font-size:13px;color:rgba(244,242,251,.6)}

/* ---------- formulário ---------- */
.form-shell{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:clamp(20px,3.4vw,44px);display:grid;gap:28px}
.progress{display:flex;gap:6px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.progress li{flex:1 1 90px;display:grid;gap:8px;font:500 11px/1.3 var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);min-width:0}
.progress li::before{content:"";height:4px;border-radius:4px;background:var(--paper-2)}
.progress li.done::before{background:var(--lavender)}
.progress li.now::before{background:var(--violet)}
.progress li.now{color:var(--violet)}
.fstep{display:grid;gap:22px}
.fstep[hidden]{display:none!important}
.fstep > header{display:grid;gap:8px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
@media (max-width:700px){.fields{grid-template-columns:1fr}}
.field{display:grid;gap:7px;min-width:0}
.field.full{grid-column:1/-1}
.field label,.field .lbl{font:500 14px/1.3 var(--f-ui);color:var(--velvet)}
.field .opt{font-weight:400;color:var(--ink-soft)}
.field .help{font-size:13px;color:var(--ink-soft);line-height:1.45}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=url],.field select,.field textarea{
  width:100%;font:400 16px/1.4 var(--f-ui);color:var(--velvet);background:#fff;
  border:1px solid var(--line-strong);border-radius:12px;padding:13px 14px;
}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(91,44,142,.15)}
.field.invalid input,.field.invalid select,.field.invalid textarea,.field.invalid .drop{border-color:var(--err)}
.field .err{font-size:13px;color:var(--err);display:none}
.field.invalid .err{display:block}
.counter{font-size:12px;color:var(--ink-soft);justify-self:end}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{display:inline-block;padding:10px 14px;border-radius:999px;border:1px solid var(--line-strong);font-size:14px;color:var(--ink);background:#fff;transition:all .2s}
.chip input:checked + span{background:var(--violet);border-color:var(--violet);color:#fff}
.chip input:focus-visible + span{outline:2px solid var(--violet);outline-offset:2px}
.drop{border:1.5px dashed var(--line-strong);border-radius:14px;padding:18px;display:grid;gap:6px;justify-items:start;background:#fff;cursor:pointer;position:relative}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.drop b{font-weight:500;color:var(--violet)}
.drop .fname{font-size:14px;color:var(--velvet);word-break:break-all}
.checks{display:grid;gap:14px}
.check{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;font-size:15px;color:var(--ink)}
.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--violet)}
.check.invalid{color:var(--err)}
.types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:700px){.types{grid-template-columns:1fr}}
.type{position:relative;border:1px solid var(--line-strong);border-radius:16px;padding:20px;display:grid;gap:6px;background:#fff;cursor:pointer;transition:border-color .2s, box-shadow .2s;text-align:left;font:inherit;color:inherit}
.type:hover{border-color:var(--violet)}
.type[aria-pressed="true"]{border-color:var(--violet);box-shadow:0 0 0 3px rgba(91,44,142,.14)}
.type b{font:600 22px/1.2 var(--f-display);color:var(--velvet)}
.type span{font-size:14px;color:var(--ink-soft);line-height:1.5}
.type.out{background:transparent;border-style:dashed;text-decoration:none}
.form-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:6px;border-top:1px solid var(--line)}
.notice{border-radius:14px;padding:14px 16px;font-size:14px;background:rgba(248,161,123,.14);border:1px solid rgba(248,161,123,.5);color:var(--velvet)}
.notice.error{background:rgba(178,58,58,.08);border-color:rgba(178,58,58,.4)}
.review{display:grid;gap:10px;font-size:15px}
.review div{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.review dt{color:var(--ink-soft)}
.review dd{margin:0;color:var(--velvet);word-break:break-word}
@media (max-width:560px){.review div{grid-template-columns:1fr;gap:2px}}
.done-box{display:grid;gap:18px;justify-items:start}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}

/* revelar ao entrar (sempre visível em repouso) */
@media (prefers-reduced-motion:no-preference){
  .rise{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
  .rise.d1{animation-delay:.08s}.rise.d2{animation-delay:.16s}.rise.d3{animation-delay:.24s}
  @keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
}
