/* ============================================================
   KUUBO | sistema visual
   Azul-marinho da marca, areia quente, tipografia geométrica
   ============================================================ */
:root{
  --bone:#FBFBFC;
  --cream:#F4F6F8;
  --stone:#DCE2E8;
  --ink:#0D1520;          /* azul-marinho da marca */
  --ink-2:#16222E;
  --ash:#5A6673;
  --brass:#14334C;        /* acento sobre fundo claro */
  --brass-dk:#0D2537;
  --accent-lt:#FFC472;    /* acento sobre fundo escuro */
  --dot:#FF9F1C;          /* azul do pontinho da logo */
  --dot-dk:#E0860A;
  --mar:#19C2AE;        /* secundário da identidade */

  --f-ui:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-ed:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --f-logo:"Archivo Black","Arial Black","Helvetica Neue",Impact,var(--f-ui);

  --gut:clamp(20px,5vw,72px);
  --maxw:1320px;
  --pad:clamp(70px,9vw,120px);
  --r:20px;
  --shadow:0 30px 70px -40px rgba(13,21,32,.42);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bone);color:var(--ink);
  font-family:var(--f-ui);font-weight:400;
  font-size:clamp(16px,1.05vw,17.5px);line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--brass);color:#fff}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:3px}

/* ---------- tipografia ---------- */
.h-xl,.h-lg,.h-md{
  font-family:var(--f-ui);font-weight:400;text-transform:uppercase;
  letter-spacing:.005em;line-height:1.08;margin:0;text-wrap:balance;
}
.h-xl{font-size:clamp(34px,5.4vw,68px)}
.h-lg{font-size:clamp(27px,3.5vw,46px)}
.h-md{font-size:clamp(19px,1.9vw,25px);letter-spacing:.03em}
.ed{font-family:var(--f-ed);font-weight:300;font-style:italic;text-transform:none;letter-spacing:0}
.label{
  font-family:var(--f-ui);font-size:11.5px;font-weight:500;letter-spacing:.24em;
  text-transform:uppercase;color:var(--brass);margin:0 0 20px;display:block;
}
.lede{font-size:clamp(17px,1.3vw,19.5px);line-height:1.7;color:var(--ash);max-width:60ch;margin:0}
.small{font-size:14.5px;color:var(--ash)}

/* ---------- estrutura ---------- */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.band{padding-top:var(--pad);padding-bottom:var(--pad);position:relative}
.band--cream{background:var(--cream)}
.band--ink{background:var(--ink);color:var(--bone)}
.band--ink .lede,.band--ink .small{color:#A9B4C2}
.band--ink .label{color:var(--accent-lt)}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 28px;border:1px solid transparent;background:transparent;border-radius:100px;
  font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  cursor:pointer;text-align:center;transition:transform .22s,background .25s,border-color .25s,color .25s;
}
.btn:hover{transform:translateY(-2px)}
.btn--fill{background:var(--dot);color:var(--ink);font-weight:500}
.btn--fill:hover{background:var(--dot-dk);color:var(--bone)}
.btn--line{border-color:currentColor;color:var(--ink)}
.btn--line:hover{background:var(--ink);border-color:var(--ink);color:var(--bone)}
.btn--light{border-color:rgba(251,251,252,.55);color:var(--bone)}
.btn--light:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.btn--sm{padding:11px 20px;font-size:11.5px}
.arw{transition:transform .25s}
.btn:hover .arw{transform:translateX(4px)}

/* ---------- nav ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:80;
  border-bottom:1px solid transparent;transition:background .35s,border-color .35s,backdrop-filter .35s;
}
.nav.is-stuck{background:rgba(251,251,252,.93);backdrop-filter:blur(12px);border-bottom-color:var(--stone)}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
/* ┌─ A MARCA ──────────────────────────────────────────────────────────────┐
   │ São os arquivos do manual, não um desenho nosso: `marca-clara` para     │
   │ fundo escuro, `marca-escura` para fundo claro. As duas ficam na página  │
   │ e a barra do topo troca qual aparece quando gruda ao rolar — uma        │
   │ transição de opacidade, sem trocar `src`, que piscaria.                 │
   └────────────────────────────────────────────────────────────────────────┘ */
.brand{display:inline-flex;align-items:center;position:relative;line-height:0}
.brand__l{display:block;height:34px;width:auto;transition:opacity .35s}
.brand__l--escuro{position:absolute;inset:0 auto 0 0;opacity:0}
.nav.is-stuck .brand__l--claro,.nav--solid .brand__l--claro{opacity:0}
.nav.is-stuck .brand__l--escuro,.nav--solid .brand__l--escuro{opacity:1}
.footer__l{display:block;height:46px;width:auto}
.nav__links{display:none;align-items:center;gap:34px}
.nav__links a{
  font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:rgba(251,251,252,.86);
  position:relative;padding:6px 0;transition:color .3s;
}
.nav.is-stuck .nav__links a,.nav--solid .nav__links a{color:var(--ash)}
.nav__links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--brass);transition:width .3s}
.nav__links a:hover{color:var(--brass)}
.nav__links a:hover::after{width:100%}
.nav .btn--light{border-color:rgba(251,251,252,.6)}
.nav.is-stuck .btn--light,.nav--solid .btn--light{border-color:var(--ink);color:var(--ink)}
.nav.is-stuck .btn--light:hover,.nav--solid .btn--light:hover{background:var(--ink);color:var(--bone)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(88vh,820px);display:flex;align-items:center;overflow:hidden}
.hero__bg{position:absolute;inset:0;overflow:hidden}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 46%;
  transform:scale(1.06);animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.06) translate3d(0,0,0)}to{transform:scale(1.12) translate3d(-1.2%,-1%,0)}}
.hero__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(10,20,34,.52) 0%,rgba(10,20,34,0) 22%),
    linear-gradient(96deg,rgba(10,20,34,.92) 0%,rgba(10,20,34,.82) 34%,rgba(10,20,34,.46) 57%,rgba(10,20,34,.08) 80%,rgba(10,20,34,.3) 100%);
}
.hero__in{position:relative;z-index:2;color:var(--bone);padding-top:120px;padding-bottom:clamp(120px,16vw,190px);width:100%}
.hero .label{color:var(--accent-lt)}
.hero__h{max-width:16ch}
.hero__sub{color:rgba(251,251,252,.88);max-width:52ch;margin:26px 0 0;font-size:clamp(16px,1.25vw,18.5px);line-height:1.72}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}
.hero__meta{
  display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:44px;padding-top:22px;
  border-top:1px solid rgba(251,251,252,.24);
  font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(251,251,252,.74);
}

/* ---------- slab sobreposto ---------- */
.slab{position:relative;z-index:5;margin-top:clamp(-110px,-9vw,-70px)}
.slab__card{
  background:var(--cream);border-radius:var(--r);padding:clamp(34px,5vw,72px);
  box-shadow:var(--shadow);
}
.slab__head{text-align:center;max-width:820px;margin:0 auto clamp(34px,4vw,52px)}
.benefits{display:grid;gap:clamp(20px,2.4vw,30px);grid-template-columns:1fr}
.benefit{
  background:var(--bone);border-radius:14px;padding:clamp(24px,2.6vw,32px);
  display:flex;flex-direction:column;gap:13px;border:1px solid rgba(220,226,232,.9);
  transition:transform .3s,box-shadow .3s;
}
.benefit:hover{transform:translateY(-5px);box-shadow:0 22px 44px -30px rgba(13,21,32,.48)}
.benefit__ic{width:28px;height:28px;color:var(--brass)}
.benefit p{margin:0;color:var(--ash);font-size:15.5px}

/* ---------- split (imagem + texto) ---------- */
.split{display:grid;gap:clamp(34px,5vw,72px);grid-template-columns:1fr;align-items:center}
.split__img{border-radius:var(--r);overflow:hidden;background:var(--cream);box-shadow:var(--shadow)}
.split__img img{width:100%;height:100%;object-fit:cover}
.specs{list-style:none;margin:clamp(26px,3vw,36px) 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--stone)}
.specs li{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--stone);font-size:15px}
.specs b{font-weight:500;letter-spacing:.02em}
.specs span{color:var(--ash);text-align:right}

/* ---------- frentes ---------- */
.fronts{display:grid;gap:clamp(18px,2.2vw,26px);grid-template-columns:1fr;margin-top:clamp(38px,4.4vw,58px)}
.front{
  position:relative;background:var(--bone);border:1px solid var(--stone);border-radius:var(--r);
  padding:clamp(26px,2.8vw,38px);display:flex;flex-direction:column;gap:14px;
  transition:transform .3s,box-shadow .3s,border-color .3s;
}
.front:hover{transform:translateY(-5px);box-shadow:0 24px 50px -34px rgba(13,21,32,.48);border-color:#C3CCD6}
.front--focus{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.front--focus .front__ic{color:var(--accent-lt)}
.front--focus p{color:#A9B4C2}
.front--focus .front__list li{color:#A9B4C2;border-color:rgba(251,251,252,.18)}
.front__tag{
  position:absolute;top:-10px;left:clamp(26px,2.8vw,38px);background:var(--brass);color:#fff;
  font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:4px 11px;border-radius:3px;
}
.front__ic{width:30px;height:30px;color:var(--brass)}
.front p{margin:0;color:var(--ash);font-size:15.5px}
.front__list{list-style:none;margin:6px 0 0;padding:0}
.front__list li{font-size:14px;color:var(--ash);padding:10px 0;border-bottom:1px solid var(--stone)}
.front__list li:last-child{border-bottom:0}
.front__link{margin-top:auto;padding-top:14px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-lt);display:inline-flex;gap:9px;align-items:center}

/* ---------- passos ---------- */
.steps{display:grid;gap:0;grid-template-columns:1fr;margin-top:clamp(38px,4.4vw,56px);border-top:1px solid var(--stone)}
.step{padding:clamp(26px,3vw,38px) 0;border-bottom:1px solid var(--stone);display:grid;gap:10px}
.step__n{font-size:11.5px;letter-spacing:.22em;color:var(--brass)}
.step p{margin:0;color:var(--ash);font-size:15px}

/* ---------- números ---------- */
.stats{display:grid;gap:clamp(26px,3vw,44px);grid-template-columns:repeat(2,1fr);margin-top:clamp(34px,4vw,50px)}
.stat__n{font-family:var(--f-ed);font-style:normal;font-weight:300;font-size:clamp(48px,6vw,84px);line-height:.92;color:var(--bone)}
.stat__l{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:#A9B4C2;margin-top:12px}

/* ---------- cta ---------- */
.cta{
  background:var(--cream);border-radius:var(--r);padding:clamp(34px,5vw,72px);
  display:grid;gap:clamp(26px,3.5vw,52px);grid-template-columns:1fr;align-items:center;
}
.cta h2{font-size:clamp(23px,2.6vw,34px)}
.cta--ink{background:var(--ink);color:var(--bone)}
.cta--ink .label{color:var(--accent-lt)}
.cta--ink .lede{color:#A9B4C2}
.cta--ink .cta__points li{color:#A9B4C2}
.cta--ink .cta__points b{color:var(--bone)}
.cta--ink .cta__points svg{color:var(--dot)}
.cta__points{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.cta__points li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:var(--ash)}
.cta__points svg{flex:none;width:16px;margin-top:4px;color:var(--brass)}
.cta__points b{color:var(--ink);font-weight:500}

/* ---------- contato ---------- */
.contact{display:grid;gap:clamp(32px,4vw,64px);grid-template-columns:1fr;align-items:start}
.channels{display:grid;gap:14px;grid-template-columns:1fr}
.channel{
  background:var(--bone);border:1px solid var(--stone);border-radius:14px;
  padding:20px 24px;display:flex;align-items:center;gap:16px;transition:border-color .25s,transform .25s;
}
.channel:hover{border-color:var(--brass);transform:translateY(-3px)}
.channel svg{flex:none;width:20px;color:var(--brass)}
.channel>span{display:block;min-width:0}
.channel__k{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ash)}
.channel__v{display:block;font-size:16.5px;margin-top:4px}

/* ---------- rodapé ---------- */
.footer{background:var(--ink);color:#A9B4C2;padding:44px 0}
.footer__in{display:flex;flex-wrap:wrap;gap:16px 36px;align-items:center;justify-content:space-between;
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase}
.footer a:hover{color:var(--bone)}

/* ---------- motivo gráfico ---------- */
.motif{width:clamp(120px,14vw,190px);color:var(--stone);margin-bottom:clamp(26px,3vw,40px)}
.band--ink .motif{color:rgba(251,251,252,.24)}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.3,1),transform .9s cubic-bezier(.2,.7,.3,1)}
.rv.is-in{opacity:1;transform:none}

/* ---------- responsivo ---------- */
@media (min-width:620px){
  .benefits{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(4,1fr)}
  .channels{grid-template-columns:1fr 1fr}
}
@media (min-width:900px){
  .nav__links{display:flex}
  .benefits{grid-template-columns:repeat(3,1fr)}
  .fronts{grid-template-columns:repeat(3,1fr)}
  .split{grid-template-columns:.92fr 1.08fr}
  .steps{grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px)}
  .step{border-bottom:0}
  .cta{grid-template-columns:1.05fr .95fr}
  .contact{grid-template-columns:.95fr 1.05fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.001ms!important}
  .rv{opacity:1;transform:none}
}

/* ============================================================
   PÁGINA DE HOTÉIS
   ============================================================ */
.page-hero{
  position:relative;overflow:hidden;background:var(--ink);color:var(--bone);
  padding-top:clamp(122px,15vh,172px);padding-bottom:clamp(64px,8vw,104px);
}
.page-hero__bg{position:absolute;inset:0}
.page-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.page-hero__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(6,12,20,.6) 0%,rgba(6,12,20,.18) 26%),
    linear-gradient(100deg,rgba(6,12,20,.84) 0%,rgba(6,12,20,.66) 40%,rgba(6,12,20,.38) 72%,rgba(6,12,20,.52) 100%);
}
.page-hero__grid{
  position:relative;z-index:2;display:grid;gap:clamp(32px,4vw,58px);
  grid-template-columns:1fr;align-items:center;
}
.page-hero h1{font-size:clamp(28px,3.6vw,46px);margin-bottom:22px;max-width:23ch}
.page-hero .label{color:var(--accent-lt)}
.page-hero .lede{color:rgba(251,251,252,.88);max-width:46ch}
.page-hero .hero__cta{margin-top:30px}
.page-hero .hero__meta{margin-top:34px;padding-top:20px;border-top:1px solid rgba(251,251,252,.24);color:rgba(251,251,252,.74)}
.page-hero .ficha{
  background:rgba(251,251,252,.86);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-color:rgba(251,251,252,.5);
  box-shadow:0 34px 70px -30px rgba(0,0,0,.7);
}
.page-hero .ficha__top{background:rgba(244,246,248,.62)}
.page-hero .ficha__row{border-bottom-color:rgba(13,21,32,.14)}

/* ficha */
.ficha{background:var(--bone);color:var(--ink);border:1px solid var(--stone);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.ficha__top{padding:16px 24px;border-bottom:1px solid var(--stone);display:flex;justify-content:space-between;
  align-items:center;gap:14px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ash);background:var(--cream)}
.ficha__top b{color:var(--brass);font-weight:500}
.ficha__row{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding:16px 24px;border-bottom:1px solid var(--stone)}
.ficha__row:last-child{border-bottom:0}
.ficha__k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);flex:none}
.ficha__v{font-size:16px;text-align:right;line-height:1.4}
.ficha__v b{color:var(--brass);font-weight:500}
.ficha__v small{display:block;font-size:12.5px;color:var(--ash);margin-top:2px}
.ficha__zero{font-family:var(--f-ed);font-size:34px;font-weight:300;color:var(--brass)}

/* zero */
.zero{display:grid;gap:clamp(30px,4vw,62px);grid-template-columns:1fr;align-items:center}
.zero__big{font-family:var(--f-ed);font-weight:300;font-size:clamp(110px,17vw,230px);line-height:.8;color:var(--brass)}
.zero__cap{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ash);margin-top:20px}
.incl{list-style:none;margin:0;padding:0;border-top:1px solid var(--stone)}
.incl li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;
  border-bottom:1px solid var(--stone);font-size:15.5px}
.incl li span{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);flex:none}

/* ganhos */
.gains{display:grid;gap:clamp(18px,2.2vw,26px);grid-template-columns:1fr;margin-top:clamp(36px,4.4vw,56px)}
.gain{background:var(--bone);border:1px solid var(--stone);border-radius:var(--r);padding:clamp(24px,2.6vw,32px);
  display:flex;flex-direction:column;gap:12px;transition:transform .3s,box-shadow .3s}
.gain:hover{transform:translateY(-5px);box-shadow:0 22px 46px -32px rgba(13,21,32,.48)}
.gain svg{width:26px;color:var(--brass)}
.gain p{margin:0;color:var(--ash);font-size:15px}

/* simulador */
.sim{display:grid;gap:clamp(24px,3vw,40px);grid-template-columns:1fr;align-items:stretch;margin-top:clamp(34px,4vw,50px)}
.sim__panel{background:var(--bone);border:1px solid var(--stone);border-radius:var(--r);padding:clamp(24px,2.8vw,36px);display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,2.4vw,30px)}
.field{margin:0}
.field__top{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:14px}
.field__label{font-size:14.5px}
.field__val{font-size:15px;font-weight:500;color:var(--brass);font-variant-numeric:tabular-nums}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;border-radius:100px;background:var(--stone);outline:none;margin:0}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;
  background:var(--brass);cursor:pointer;border:3px solid var(--bone);box-shadow:0 2px 8px rgba(13,21,32,.28)}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--brass);cursor:pointer;
  border:3px solid var(--bone);box-shadow:0 2px 8px rgba(13,21,32,.28)}
.field__hint{font-size:12.5px;color:var(--ash);margin:10px 0 0}

.out{border:1px solid var(--stone);border-radius:var(--r);overflow:hidden;background:var(--bone);display:flex;flex-direction:column}
.out__hero{flex:none}
.out__row{flex:1}
.out__hero{background:var(--ink);color:var(--bone);padding:clamp(24px,2.8vw,34px)}
.out__hero .out__k{color:var(--accent-lt)}
.out__k{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ash)}
.out__big{font-family:var(--f-ed);font-weight:300;font-size:clamp(46px,6vw,72px);line-height:.95;margin-top:10px;font-variant-numeric:tabular-nums}
.out__sub{font-size:12.5px;letter-spacing:.06em;color:#A9B4C2;margin-top:12px}
.out__row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:16px clamp(20px,2.4vw,28px);border-bottom:1px solid var(--stone)}
.out__row:last-child{border-bottom:0}
.out__v{font-size:16px;font-variant-numeric:tabular-nums}
.panel__foot{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 28px;
  margin-top:clamp(22px,2.4vw,30px);padding-top:clamp(20px,2.2vw,26px);border-top:1px solid var(--stone);
}
.panel__foot .panel__note{margin:0;flex:1 1 320px;min-width:0}
.panel__foot .btn{flex:none}

/* faq */
.faq{margin-top:clamp(32px,4vw,46px);border-top:1px solid var(--stone)}
details{border-bottom:1px solid var(--stone)}
summary{list-style:none;cursor:pointer;padding:22px 46px 22px 0;position:relative;
  font-size:clamp(17px,1.6vw,20px);line-height:1.35;transition:color .2s}
summary::-webkit-details-marker{display:none}
summary:hover{color:var(--brass)}
summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--brass);transition:transform .3s}
details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
details p{margin:0 0 24px;color:var(--ash);font-size:15.5px;max-width:72ch}

/* formulário */
.form{display:grid;gap:clamp(32px,4vw,64px);grid-template-columns:1fr;align-items:start}
.form__grid{display:grid;gap:18px;grid-template-columns:1fr}
.inp{display:flex;flex-direction:column;gap:8px}
.inp label{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ash)}
.inp input,.inp select,.inp textarea{background:#FFFFFF;border:1px solid var(--stone);border-radius:10px;
  padding:14px 16px;font-size:16px;transition:border-color .25s}
.inp input:focus,.inp select:focus,.inp textarea:focus{border-color:var(--brass);outline:none}
.inp textarea{resize:vertical;min-height:104px}
.form__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.form__note{font-size:12.5px;color:var(--ash);margin:16px 0 0}
.form__ok{display:none;border:1px solid var(--brass);background:rgba(20,51,76,.08);border-radius:10px;
  padding:15px 18px;margin-top:18px;font-size:14.5px}
.form__ok.is-on{display:block}

/* A barra fixa no rodapé do celular foi REMOVIDA em 26/08/2026.
   Ela ocupava permanentemente uma faixa da tela mais estreita que existe, para
   repetir dois caminhos que a página já oferece: o formulário de proposta, que
   tem âncora no menu e botão no topo, e o WhatsApp, que continua no botão
   flutuante. Duas barras fixas — a de navegação em cima e essa embaixo —
   comem a altura útil justamente onde ela é escassa.
   Saíram junto: a regra `.dock{display:none}` do trecho de 900px e o
   `body.has-dock{padding-bottom:80px}`, que reservava o espaço dela. */

@media (min-width:620px){
  .gains{grid-template-columns:1fr 1fr}
  .form__grid{grid-template-columns:1fr 1fr}
  .inp--full{grid-column:1/-1}
}
@media (min-width:900px){
  .page-hero__grid{grid-template-columns:1.06fr .94fr}
  .zero{grid-template-columns:.8fr 1.2fr}
  .sim{grid-template-columns:1fr 1fr}
  .form{grid-template-columns:1.1fr .9fr}
  .gains{grid-template-columns:repeat(4,1fr)}
}
/* ============================================================
   BLOCOS DA PROPOSTA — cabeçalho numerado + painel delimitado
   ============================================================ */
.sec{
  display:grid;grid-template-columns:1fr;gap:16px;
  margin-bottom:clamp(30px,3.6vw,46px);
}
.sec__n{font-family:var(--f-logo);font-size:14px;letter-spacing:.12em;color:var(--dot);line-height:1}
.sec .label{margin-bottom:12px}
.sec .lede{margin-top:16px}

.panel{
  background:var(--cream);border:1px solid var(--stone);border-radius:var(--r);
  padding:clamp(24px,3vw,42px);
}
.band--cream .panel{background:var(--bone)}
.band--ink .panel{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.band--ink .panel .panel__note{color:var(--ash)}
.panel + .panel{margin-top:clamp(16px,1.8vw,22px)}
.panel--ink{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.band--cream .panel--ink{background:var(--ink)}
.panel--ink .invest__big{color:var(--dot)}
.panel--ink .invest__cap{color:#A9B4C2}
.panel--ink .incl{border-top-color:rgba(251,251,252,.18)}
.panel--ink .incl li{border-bottom-color:rgba(251,251,252,.18)}
.panel--ink .incl li span{color:var(--dot)}
.panel__note{font-size:12.5px;color:var(--ash);margin:18px 0 0;max-width:66ch;line-height:1.6}

@media (min-width:760px){
  .sec{grid-template-columns:84px 1fr;gap:clamp(20px,2.6vw,44px);align-items:start}
  .sec__n{padding-top:4px}
}
@media (min-width:900px){
  .steps{grid-template-columns:repeat(4,1fr)}
}

/* investimento: zero + lista dentro do mesmo painel */
.invest{display:grid;grid-template-columns:1fr;gap:clamp(26px,3vw,44px);align-items:stretch}
.invest__fig{text-align:center;display:flex;flex-direction:column;justify-content:center}
.invest__big{font-family:var(--f-ed);font-weight:300;font-size:clamp(84px,12vw,150px);line-height:.85;color:var(--brass)}
.invest__cap{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);margin-top:14px}
@media (min-width:760px){
  .invest{grid-template-columns:minmax(200px,.7fr) 1.3fr}
  .invest__fig{text-align:left;padding-right:clamp(10px,1.6vw,24px)}
}

/* passos dentro de cartões */
.stepcard{
  background:var(--cream);border:1px solid var(--stone);border-radius:14px;
  padding:clamp(22px,2.4vw,28px);display:flex;flex-direction:column;gap:11px;
}
.band--cream .stepcard{background:var(--bone)}
.stepcard__n{font-family:var(--f-logo);font-size:13px;letter-spacing:.1em;color:var(--dot)}
.stepcard p{margin:0;color:var(--ash);font-size:14.5px}
.stepgrid{display:grid;gap:clamp(14px,1.8vw,20px);grid-template-columns:1fr}
@media (min-width:620px){.stepgrid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.stepgrid{grid-template-columns:repeat(4,1fr)}}

/* faq dentro do painel */
.panel .faq{margin-top:0;border-top:0}
.panel details:last-child{border-bottom:0}
.panel details:last-child p{margin-bottom:4px}

/* formulário */
.form__side{display:grid;gap:clamp(14px,1.6vw,18px)}

/* ============================================================
   BOTÃO FLUTUANTE DE WHATSAPP
   ============================================================ */
.wa{
  position:fixed;right:clamp(16px,2.2vw,30px);bottom:clamp(16px,2.2vw,30px);z-index:90;
  width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;
  display:grid;place-items:center;
  box-shadow:0 12px 28px -10px rgba(37,211,102,.75),0 4px 14px rgba(13,21,32,.28);
  transition:transform .25s ease,box-shadow .25s ease;
}
.wa:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 18px 34px -10px rgba(37,211,102,.85)}
.wa svg{width:31px;height:31px;position:relative;z-index:2}
.wa__ring{
  position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;
  animation:waPulse 2.8s cubic-bezier(.2,.7,.3,1) infinite;pointer-events:none;
}
@keyframes waPulse{0%{transform:scale(1);opacity:.75}70%{transform:scale(1.55);opacity:0}100%{transform:scale(1.55);opacity:0}}
@media (prefers-reduced-motion:reduce){.wa__ring{animation:none;opacity:0}}
