/* =========================================================
   STUDIO NEED — Método NEED · Landing Page
   Rebranding 2026 · Manrope + JetBrains Mono
   ========================================================= */

:root{
  --ink:      #060606;
  --ink-2:    #0A0A0A;
  --surf:     #101010;
  --line:     rgba(255,255,255,.08);
  --line-2:   rgba(255,255,255,.16);

  --lime:     #DAFD4F;
  --lime-2:   #94FF19;
  --grad:     linear-gradient(96deg,#DAFD4F 0%,#B9FF35 48%,#94FF19 100%);
  --dim:      rgba(218,253,79,.13);

  --tx:       #FFFFFF;
  --tx-2:     #8E8E8E;
  --tx-3:     #707070;

  --shell:    1240px;
  --gut:      clamp(20px,5vw,56px);
  --sec:      clamp(84px,10vw,150px);
  --ease:     cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:clip; }

body{
  background:var(--ink); color:var(--tx);
  font-family:'Manrope',system-ui,sans-serif; font-weight:400;
  font-size:16px; line-height:1.6; letter-spacing:-.012em;
  -webkit-font-smoothing:antialiased; overflow-x:clip; width:100%;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button,input,select{ font:inherit; color:inherit; }
ul,ol{ list-style:none; }
::selection{ background:var(--lime); color:#000; }
.no-snap{ scroll-snap-type:none !important; }
:focus-visible{ outline:2px solid var(--lime); outline-offset:3px; border-radius:4px; }

.shell{ width:100%; max-width:var(--shell); margin-inline:auto; padding-inline:var(--gut); }
.skip{ position:absolute; left:-9999px; }
.hp{ position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none; }
.skip:focus{ left:16px; top:16px; z-index:999; background:var(--lime); color:#000; padding:10px 16px; border-radius:6px; }

.mono{ font-family:'JetBrains Mono',ui-monospace,monospace; font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--tx-3); }
.grad{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sq{ display:inline-block; width:7px; height:7px; background:var(--grad); vertical-align:middle; }

.reveal{ opacity:0; transform:translateY(24px); transition:opacity .75s var(--ease), transform .75s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
  *{ animation:none !important; }
}

/* =========================================================
   BOTÕES
   ========================================================= */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background:var(--grad); color:#050505;
  font-size:13px; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
  padding:16px 30px; border:none; border-radius:100px; cursor:pointer; white-space:nowrap;
  position:relative; overflow:hidden;
  transition:box-shadow .3s var(--ease), transform .3s var(--ease);
}
.btn::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.5) 50%,transparent 75%);
  transform:translateX(-120%);
}
.btn:hover{ box-shadow:0 12px 44px -12px rgba(148,255,25,.65); transform:translateY(-2px); }
.btn:hover::after{ animation:shine .8s var(--ease); }
@keyframes shine{ to{ transform:translateX(120%); } }

.ico-wa{ width:17px; height:17px; flex:none; fill:currentColor; }
.btn--sm .ico-wa{ width:15px; height:15px; }
.btn--lg .ico-wa{ width:19px; height:19px; }
.btn-pill .ico-wa{ width:16px; height:16px; margin-right:-4px; }

.btn--sm{ padding:12px 22px; font-size:12px; }
.btn--lg{ padding:19px 38px; font-size:13.5px; }
.btn--block{ width:100%; }
.btn--outline{ background:transparent; color:var(--tx); border:1px solid var(--line-2); }
.btn--outline::after{ display:none; }
.btn--outline:hover{ color:var(--lime); border-color:rgba(218,253,79,.55); box-shadow:none; }

.btn-pill{
  display:inline-flex; align-items:center; gap:11px; white-space:nowrap;
  background:rgba(255,255,255,.045); border:1px solid var(--line-2);
  color:var(--tx); font-size:13px; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  padding:8px 8px 8px 26px; border-radius:100px;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.btn-pill i{
  display:flex; align-items:center; justify-content:center; flex:none;
  width:36px; height:36px; border-radius:50%; background:var(--grad);
  color:#050505; font-style:normal; font-size:14px;
  transition:transform .35s var(--ease);
}
.btn-pill:hover{ border-color:rgba(218,253,79,.4); background:rgba(218,253,79,.06); }
.btn-pill:hover i{ transform:rotate(45deg); }

/* =========================================================
   NAV
   ========================================================= */
.nav{ position:fixed; inset:0 0 auto 0; z-index:100; border-bottom:1px solid transparent;
  transition:background .35s var(--ease), border-color .35s var(--ease); }
.nav.stuck{ background:rgba(6,6,6,.75); backdrop-filter:blur(18px) saturate(150%); border-bottom-color:var(--line); }
.nav.open{ background:rgba(6,6,6,.98); backdrop-filter:blur(20px); border-bottom-color:var(--line); }
.nav__in{ display:flex; align-items:center; justify-content:space-between; gap:32px; height:106px; }
.nav__logo img{ height:60px; width:auto; }
@media (max-width:600px){ .nav__logo img{ height:42px; } }

/* botão único, no padrão da referência */
.navbtn{
  display:inline-flex; align-items:center; gap:13px; cursor:pointer;
  background:rgba(255,255,255,.04); border:1px solid var(--line-2); border-radius:100px;
  padding:14px 26px; color:var(--tx);
  font-size:13px; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
  transition:background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);
}
.navbtn:hover{ background:rgba(218,253,79,.07); border-color:rgba(218,253,79,.4); }
.navbtn__i{ display:flex; flex-direction:column; justify-content:center; gap:4px; width:17px; height:13px; }
.navbtn__i i{ display:block; height:1.6px; background:var(--lime); border-radius:2px;
  transition:transform .35s var(--ease), opacity .25s var(--ease), width .35s var(--ease); }
.navbtn__i i:nth-child(1){ width:100%; }
.navbtn__i i:nth-child(2){ width:70%; }
.navbtn__i i:nth-child(3){ width:100%; }
.navbtn:hover .navbtn__i i:nth-child(2){ width:100%; }
.navbtn[aria-expanded="true"] .navbtn__i i:nth-child(1){ transform:translateY(5.6px) rotate(45deg); }
.navbtn[aria-expanded="true"] .navbtn__i i:nth-child(2){ opacity:0; }
.navbtn[aria-expanded="true"] .navbtn__i i:nth-child(3){ transform:translateY(-5.6px) rotate(-45deg); }

/* painel aberto */
.menu{ border-top:1px solid var(--line); background:rgba(6,6,6,.98); backdrop-filter:blur(20px);
  animation:menuIn .4s var(--ease) both; max-height:calc(100svh - 106px); overflow-y:auto; }
.menu[hidden]{ display:none; }
@keyframes menuIn{ from{ opacity:0; transform:translateY(-10px); } }
.menu__in{ display:grid; grid-template-columns:1.5fr .8fr; gap:clamp(30px,5vw,70px); padding-block:clamp(30px,4vw,52px); }

.menu__nav{ display:grid; grid-template-columns:1fr 1fr; gap:2px 30px; }
.menu__nav a{
  display:flex; align-items:baseline; gap:16px; padding:14px 0;
  font-size:clamp(1.25rem,2.1vw,1.7rem); font-weight:700; letter-spacing:-.04em;
  border-bottom:1px solid var(--line);
  transition:color .28s var(--ease), padding-left .3s var(--ease);
}
.menu__nav a span{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:400; color:var(--tx-3); letter-spacing:.1em; transition:color .28s var(--ease); }
.menu__nav a:hover{ color:var(--lime); padding-left:10px; }
.menu__nav a:hover span{ color:var(--lime); }

.menu__side{ display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.menu__side .mono{ color:var(--tx-3); margin-bottom:4px; }
.menu__ln{ font-size:1.05rem; font-weight:600; letter-spacing:-.03em; transition:color .25s var(--ease); }
.menu__ln:hover{ color:var(--lime); }
.menu__loc{ font-size:.88rem; font-weight:300; color:var(--tx-3); line-height:1.6; margin:6px 0 18px; }
.menu__side .btn{ margin-top:auto; }

@media (max-width:860px){
  .navbtn{ padding:12px 20px; font-size:12px; }
  .menu__in{ grid-template-columns:1fr; gap:28px; }
  .menu__nav{ grid-template-columns:1fr; }
  .menu__nav a{ font-size:1.2rem; padding:12px 0; }
  .menu__side .btn{ width:100%; }
}

/* =========================================================
   HERO
   ========================================================= */
/* o hero fica preso enquanto o conteúdo sobe por cima dele */
.hero{
  position:sticky; top:0; z-index:0;
  min-height:100svh; display:flex; align-items:center;
  padding:180px 0 90px; overflow:hidden; text-align:center;
}

/* bloco que desliza sobre o hero, com as duas quinas de cima arredondadas */
.stack{
  --r-stack:clamp(26px,3.4vw,48px);
  --lift:0;
  position:relative; z-index:2;
  background:var(--ink);
  border-radius:var(--r-stack) var(--r-stack) 0 0;
  margin-top:calc(var(--r-stack) * -1);
  box-shadow:0 calc(-34px - 26px * var(--lift)) calc(70px + 50px * var(--lift)) -30px rgba(0,0,0,.9);
}
/* fio de luz na quina, aparece conforme o bloco sobe */
.stack::before{
  content:''; position:absolute; top:0; left:6%; right:6%; height:1px; pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(218,253,79,.55),transparent);
  opacity:var(--lift);
}
.stack > .strip:first-child{
  border-top:none;
  border-radius:var(--r-stack) var(--r-stack) 0 0;
}
.hero__bg{ position:absolute; inset:0; pointer-events:none; }

.hero__grid{
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:78px 78px;
  -webkit-mask-image:radial-gradient(70% 60% at 50% 45%,#000,transparent 100%);
          mask-image:radial-gradient(70% 60% at 50% 45%,#000,transparent 100%);
}
.hero__aura{
  position:absolute; left:50%; top:46%; transform:translate(-50%,-50%);
  width:min(1200px,110vw); height:760px;
  background:radial-gradient(ellipse at center,rgba(148,255,25,.13) 0%,rgba(218,253,79,.05) 38%,transparent 70%);
  animation:breathe 9s ease-in-out infinite;
}
@keyframes breathe{ 0%,100%{ opacity:.75; transform:translate(-50%,-50%) scale(1); } 50%{ opacity:1; transform:translate(-50%,-50%) scale(1.07); } }

/* --- colunas de vidro verde (identidade / gradiente Need) --- */
.stax{ position:absolute; top:50%; transform:translateY(-50%); display:flex; gap:clamp(9px,1vw,15px); }
.stax--l{ left:clamp(-90px,-4vw,-30px); -webkit-mask-image:radial-gradient(150% 95% at 0% 50%,#000 8%,transparent 72%); mask-image:radial-gradient(150% 95% at 0% 50%,#000 8%,transparent 72%); }
.stax--r{ right:clamp(-90px,-4vw,-30px); -webkit-mask-image:radial-gradient(150% 95% at 100% 50%,#000 8%,transparent 72%); mask-image:radial-gradient(150% 95% at 100% 50%,#000 8%,transparent 72%); }

.col{ display:flex; flex-direction:column; gap:clamp(5px,.6vw,8px); animation:drift 13s ease-in-out infinite; }
.col i{
  display:block; width:clamp(38px,4.4vw,70px); height:clamp(20px,2.2vw,34px); border-radius:5px;
  background:linear-gradient(102deg,#16330A 0%,#5FBD10 14%,#94FF19 32%,#DAFD4F 52%,#A9F02C 70%,#2C6106 100%);
  box-shadow:0 0 24px rgba(148,255,25,.30),
             inset 0 1px 0 rgba(255,255,255,.55),
             inset 0 -3px 6px rgba(0,0,0,.45);
}
.stax--l .col:nth-child(1){ margin-top:-92px; animation-delay:-1s; }
.stax--l .col:nth-child(2){ margin-top:38px;  animation-delay:-4s; }
.stax--l .col:nth-child(3){ margin-top:-46px; animation-delay:-7s; }
.stax--l .col:nth-child(4){ margin-top:70px;  animation-delay:-2.5s; }
.stax--r .col:nth-child(1){ margin-top:66px;  animation-delay:-3s; }
.stax--r .col:nth-child(2){ margin-top:-52px; animation-delay:-6s; }
.stax--r .col:nth-child(3){ margin-top:30px;  animation-delay:-1.5s; }
.stax--r .col:nth-child(4){ margin-top:-84px; animation-delay:-8s; }
@keyframes drift{ 0%,100%{ transform:translateY(-16px); } 50%{ transform:translateY(16px); } }

.hero__in{ position:relative; display:flex; flex-direction:column; align-items:center; }

.badge{
  display:inline-flex; align-items:center; justify-content:center; gap:9px; flex-wrap:wrap; max-width:100%;
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--tx-2); background:rgba(255,255,255,.04); backdrop-filter:blur(8px);
  padding:9px 20px; border:1px solid var(--line-2); border-radius:100px; margin-bottom:34px;
}
.badge .arw{ color:var(--lime); font-style:normal; animation:nudge 2.6s var(--ease) infinite; }
.badge b{ color:var(--lime); font-weight:500; }
@keyframes nudge{ 0%,70%,100%{ transform:none; } 82%{ transform:translate(2px,-2px); } }

.hero__h1{
  font-size:clamp(2.9rem,7.4vw,6.2rem); font-weight:800;
  line-height:.95; letter-spacing:-.052em; margin-bottom:30px;
}
.hero__sub{ font-size:clamp(1rem,1.4vw,1.16rem); font-weight:300; color:var(--tx-2); max-width:54ch; margin-bottom:42px; text-wrap:pretty; }
.hero__sub b{ color:var(--tx); font-weight:600; }
.hero__cta{ display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; margin-bottom:64px; }

.hero__proof{
  display:grid; grid-template-columns:repeat(4,1fr);
  width:100%; max-width:780px;
  background:rgba(255,255,255,.022); backdrop-filter:blur(12px);
  border:1px solid var(--line); border-radius:20px; overflow:hidden;
  box-shadow:0 30px 80px -50px rgba(0,0,0,.9);
}
.hero__proof li{ position:relative; padding:24px 16px 22px; }
.hero__proof li + li::before{
  content:''; position:absolute; left:0; top:22%; bottom:22%; width:1px;
  background:linear-gradient(180deg,transparent,var(--line-2),transparent);
}
.hero__proof b{
  display:block; font-size:clamp(24px,2.7vw,32px); font-weight:800;
  letter-spacing:-.05em; line-height:1;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero__proof span{
  display:block; margin-top:10px;
  font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--tx-3); line-height:1.4;
}
.pg b{ display:flex; align-items:center; justify-content:center; gap:7px; }
.pg__s{
  font-style:normal; font-size:12px; letter-spacing:1px; line-height:1;
  color:#FFC94A; -webkit-text-fill-color:#FFC94A;
  text-shadow:0 0 14px rgba(255,201,74,.35);
}

/* =========================================================
   MARQUEE
   ========================================================= */
.strip{ position:relative; border-block:1px solid var(--line); padding:20px 0; overflow:hidden; background:var(--ink-2); }
.strip::before,.strip::after{ content:''; position:absolute; top:0; bottom:0; width:14%; z-index:2; pointer-events:none; }
.strip::before{ left:0; background:linear-gradient(90deg,var(--ink-2),transparent); }
.strip::after{ right:0; background:linear-gradient(270deg,var(--ink-2),transparent); }
.marquee{ display:flex; width:max-content; animation:slide 40s linear infinite; }
.marquee__t{ display:flex; align-items:center; gap:24px; padding-right:24px; }
.marquee__t span{ font-size:14px; font-weight:500; color:var(--tx-3); white-space:nowrap; transition:color .3s; }
.marquee__t i{ font-style:normal; font-size:8px; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
@keyframes slide{ to{ transform:translateX(-50%); } }
.strip:hover .marquee{ animation-play-state:paused; }
.strip:hover .marquee__t span{ color:var(--tx-2); }

/* =========================================================
   SEÇÕES BASE
   ========================================================= */
.sec{ position:relative; padding:var(--sec) 0; }
.sec--alt{ background:var(--ink-2); }
.sec--alt::before,.sec--alt::after{
  content:''; position:absolute; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(218,253,79,.35),transparent);
  background-size:60% 100%; background-repeat:no-repeat;
  animation:sweep 9s linear infinite;
}
.sec--alt::before{ top:0; }
.sec--alt::after{ bottom:0; animation-direction:reverse; }
@keyframes sweep{ 0%{ background-position:-60% 0; } 100%{ background-position:160% 0; } }

.sechead{ max-width:820px; margin-inline:auto; margin-bottom:clamp(42px,5vw,68px); text-align:center; }
.sechead .badge{ margin-bottom:26px; }
.sechead__t{ font-size:clamp(2.2rem,4.8vw,3.9rem); font-weight:800; line-height:1.0; letter-spacing:-.052em; text-wrap:balance; }
.sechead__d{ margin:22px auto 0; font-size:clamp(1rem,1.3vw,1.12rem); font-weight:300; color:var(--tx-2); max-width:52ch; text-wrap:pretty; }
.sechead__d b{ color:var(--tx); font-weight:600; }

.sechead--split{
  max-width:none; text-align:left; display:grid; grid-template-columns:1fr 1fr;
  gap:40px; align-items:end;
}
.sechead--split .sechead__d{ margin:0; }
.sechead--split .sechead__t{ font-size:clamp(2rem,4vw,3.2rem); }

.ghost{
  position:absolute; right:-2%; bottom:-8%; pointer-events:none; user-select:none;
  font-size:clamp(11rem,26vw,24rem); font-weight:800; letter-spacing:-.07em; line-height:.75;
  background:linear-gradient(180deg,rgba(218,253,79,.04),transparent 75%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* =========================================================
   PROBLEMA
   ========================================================= */
.prbs{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.prb{
  background:var(--ink-2); border:1px solid var(--line); border-radius:18px;
  padding:clamp(24px,2.6vw,32px);
  transition:border-color .35s var(--ease), transform .35s var(--ease), box-shadow .35s var(--ease);
}
.prb:hover{ border-color:var(--line-2); transform:translateY(-3px); background:var(--surf); }
.prb__i{
  display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%;
  background:rgba(226,74,58,.1); margin-bottom:22px;
}
.prb__i svg{ width:17px; height:17px; fill:none; stroke:#E24A3A; stroke-width:2; stroke-linecap:round; }
.prb h3{ font-size:1.12rem; font-weight:700; letter-spacing:-.035em; margin-bottom:10px; text-wrap:balance; }
.prb p{ font-size:.92rem; font-weight:300; color:var(--tx-2); line-height:1.6; }

/* ponte para o método */
.bridge{
  display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;
  margin-top:16px; padding:22px clamp(22px,2.6vw,30px);
  background:var(--ink-2); border:1px solid var(--line); border-radius:18px;
}
.bridge p{ font-size:clamp(.95rem,1.25vw,1.06rem); font-weight:300; color:var(--tx-2); max-width:64ch; line-height:1.55; }
.bridge p b{ color:var(--tx); font-weight:700; }
.bridge .grad{ font-weight:700; }
.sec--light .bridge{ background:var(--ink-2); border-color:var(--line); }
.sec--light .prb:hover{ border-color:rgba(0,0,0,.2); box-shadow:0 26px 60px -40px rgba(0,0,0,.4); }

/* =========================================================
   MÉTODO
   ========================================================= */
/* --- resultado --- */
.res__list{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:16px; overflow:hidden; margin-bottom:clamp(28px,3.4vw,44px); }
.res__list li{ background:var(--ink-2); padding:clamp(22px,2.4vw,30px); transition:background .35s var(--ease); }
.res__list li:hover{ background:var(--surf); }
.res__i{ display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:12px; margin-bottom:18px;
  background:rgba(218,253,79,.08); border:1px solid rgba(218,253,79,.22); }
.res__i svg{ width:19px; height:19px; fill:none; stroke:var(--lime); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.res__list h3{ font-size:1.04rem; font-weight:700; letter-spacing:-.032em; margin-bottom:8px; }
.res__list p{ font-size:.88rem; font-weight:300; color:var(--tx-2); line-height:1.55; }

/* --- portal do cliente --- */
.res__dash figcaption{ margin-top:14px; text-align:center; color:var(--tx-3); text-transform:none; letter-spacing:.02em; font-size:11px; }
.dash{ position:relative; border:1px solid var(--line); border-radius:18px; overflow:hidden; background:#0B0B0B;
  box-shadow:0 60px 120px -60px rgba(0,0,0,.95), 0 0 90px -50px rgba(148,255,25,.28); }
.dash img{ width:100%; height:auto; display:block; }
.dash__mock{ display:none; }
.dash.is-mock .dash__mock{ display:block; }

.dash__bar{ display:flex; align-items:center; gap:6px; padding:12px 18px; background:#141414; border-bottom:1px solid var(--line); }
.dash__bar i{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.14); }
.dash__bar em{ margin-left:12px; font-style:normal; font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--tx-3); }
.dash__body{ padding:clamp(18px,2.2vw,26px); }

.dash__head{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:20px; }
.dash__head b{ display:block; font-size:1.05rem; font-weight:700; letter-spacing:-.03em; }
.dash__head span{ font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--tx-3); }
.dash__per{ display:flex; gap:3px; padding:4px; background:rgba(255,255,255,.04); border:1px solid var(--line); border-radius:100px; }
.dash__per span{ padding:7px 15px; border-radius:100px; font-size:11px; letter-spacing:0; text-transform:none; font-family:'Manrope',sans-serif; color:var(--tx-3); }
.dash__per .on{ background:var(--grad); color:#050505; font-weight:700; }

.dash__tiles{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:20px; }
.dash__tiles div{ background:rgba(255,255,255,.028); border:1px solid var(--line); border-radius:12px; padding:15px 16px; }
.dash__tiles span{ display:block; font-family:'JetBrains Mono',monospace; font-size:8.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--tx-3); margin-bottom:9px; }
.dash__tiles b{ display:block; font-size:1.4rem; font-weight:800; letter-spacing:-.045em; }
.dash__tiles em{ display:inline-block; margin-top:7px; font-style:normal; font-family:'JetBrains Mono',monospace; font-size:9.5px; }
.dash__tiles .up{ color:var(--lime); }
.dash__tiles .dn{ color:var(--lime); }

.dash__chart{ background:rgba(255,255,255,.02); border:1px solid var(--line); border-radius:12px; padding:16px; margin-bottom:18px; }
.dash__cl{ display:flex; gap:18px; margin-bottom:14px; }
.dash__cl span{ display:flex; align-items:center; gap:7px; font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--tx-3); }
.dash__cl i{ width:8px; height:8px; border-radius:2px; }
.dash__cl .g{ background:var(--grad); }
.dash__cl .m{ background:#3E7BFA; }
.dash__bars{ display:grid; grid-template-columns:repeat(8,1fr); align-items:end; gap:10px; height:104px; }
.dash__bars i{ display:flex; flex-direction:column-reverse; height:100%; justify-content:flex-start; gap:2px; }
.dash__bars i::before{ content:''; display:block; height:var(--g); border-radius:4px 4px 0 0; background:var(--grad); }
.dash__bars i::after{ content:''; display:block; height:var(--m); border-radius:0 0 3px 3px; background:#3E7BFA; opacity:.8; }

.dash__ct{ font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--tx-3); margin-bottom:10px; }
.dc__r{ display:grid; grid-template-columns:1.6fr repeat(3,.75fr) auto; align-items:center; gap:14px;
  background:rgba(255,255,255,.022); border:1px solid var(--line); border-radius:11px; padding:12px 15px; }
.dc__r + .dc__r{ margin-top:7px; }
.dash__camp .dc__r:hover{ border-color:rgba(218,253,79,.25); }
.dc__name{ display:flex; align-items:center; gap:11px; min-width:0; }
.dc__ico{ display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:8px; background:#fff; flex:none; }
.dc__ico svg{ width:15px; height:15px; }
.dc__name b{ display:block; font-size:12.5px; font-weight:600; letter-spacing:-.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dc__name em{ display:block; font-style:normal; font-family:'JetBrains Mono',monospace; font-size:8.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--tx-3); margin-top:3px; }
.dc__v span{ display:block; font-family:'JetBrains Mono',monospace; font-size:8px; letter-spacing:.1em; text-transform:uppercase; color:var(--tx-3); margin-bottom:4px; }
.dc__v b{ font-size:12.5px; font-weight:700; letter-spacing:-.02em; }
.dc__v .hi{ color:var(--lime); }
.dc__st{ display:flex; align-items:center; gap:7px; font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--lime); white-space:nowrap; }
.dc__st::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--grad); }
.dc__st--off{ color:var(--tx-3); }
.dc__st--off::before{ background:var(--tx-3); }

/* =========================================================
   FAIXA ANIMADA
   ========================================================= */
.band{ position:relative; overflow:hidden; padding:17px 0;
  background:var(--ink-2); border-block:1px solid var(--line); }
.band::before,.band::after{ content:''; position:absolute; top:0; bottom:0; width:12%; z-index:2; pointer-events:none; }
.band::before{ left:0; background:linear-gradient(90deg,var(--ink-2),transparent); }
.band::after{ right:0; background:linear-gradient(270deg,var(--ink-2),transparent); }
.band__m{ display:flex; width:max-content; animation:slide 52s linear infinite; }
.band:hover .band__m{ animation-play-state:paused; }
.band__t{ display:flex; align-items:center; gap:24px; padding-right:24px; }
.band__t span{ display:flex; align-items:center; gap:10px; white-space:nowrap;
  font-family:'JetBrains Mono',monospace; font-size:11.5px; font-weight:400; letter-spacing:.14em; text-transform:uppercase; color:var(--tx-2); }
.band__t svg{ width:16px; height:16px; flex:none; fill:none; stroke:var(--tx-3); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.band__t i{ font-style:normal; font-size:9px; color:var(--tx-3); opacity:.5; }

/* =========================================================
   ENTREGÁVEIS
   ========================================================= */
.bento{ display:grid; grid-template-columns:repeat(12,1fr); gap:16px; }

.bt{
  display:flex; flex-direction:column; justify-content:space-between; gap:40px;
  background:var(--ink-2); border:1px solid var(--line); border-radius:20px;
  padding:clamp(24px,2.6vw,32px);
  transition:border-color .35s var(--ease), background .35s var(--ease);
}
.bt:hover{ border-color:var(--line-2); background:var(--surf); }

.bt__i{
  display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:15px;
  background:rgba(148,255,25,.09); border:1px solid rgba(148,255,25,.2); flex:none; align-self:flex-start;
  transition:background .35s var(--ease), border-color .35s var(--ease);
}
.bt__i svg{ width:23px; height:23px; fill:none; stroke:var(--lime); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.bt:hover .bt__i{ background:rgba(148,255,25,.16); border-color:rgba(148,255,25,.4); }

.bt__k{ color:var(--tx-3); margin-bottom:11px; }
.bt h3{ font-size:clamp(1.2rem,1.7vw,1.5rem); font-weight:700; letter-spacing:-.04em; margin-bottom:10px; text-wrap:balance; }
.bt__d{ font-size:.94rem; font-weight:300; color:var(--tx-2); line-height:1.6; max-width:46ch; }

.bt__link{
  display:inline-flex; align-items:center; gap:9px; margin-top:20px;
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.13em; text-transform:uppercase; font-weight:500;
}
.bt__link span{ transition:transform .3s var(--ease); }
.bt__link:hover span{ transform:translate(3px,-3px); }

/* tile em destaque, verde chapado */
.bt--hi{ background:var(--grad); border-color:transparent; }
.bt--hi:hover{ background:linear-gradient(96deg,#E3FF6A 0%,#A6FF33 100%); border-color:transparent; }
.bt--hi .bt__i{ background:rgba(0,0,0,.12); border-color:rgba(0,0,0,.16); }
.bt--hi .bt__i svg{ stroke:#0A1A02; }
.bt--hi:hover .bt__i{ background:rgba(0,0,0,.18); border-color:rgba(0,0,0,.22); }
.bt--hi .bt__k{ color:rgba(10,26,2,.6); }
.bt--hi h3{ color:#0A1A02; }
.bt--hi .bt__d{ color:rgba(10,26,2,.78); }
.bt--hi .bt__link{ color:#0A1A02; }

.bt{ position:relative; overflow:hidden; }

.bt--a{ grid-column:span 5; grid-row:span 2; }
.bt--b{ grid-column:span 7; }
.bt--c{ grid-column:span 3; }
.bt--d{ grid-column:span 4; }
.bt--e{ grid-column:span 5; }
.bt--f{ grid-column:span 7; }

/* =========================================================
   PORTFÓLIO
   ========================================================= */
.pf{ position:relative; overflow:hidden; }
.pf__aura{
  position:absolute; left:50%; top:38%; transform:translate(-50%,-50%);
  width:min(1300px,120%); height:640px; pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(148,255,25,.09),transparent 66%);
}
.pf .shell,.pf__rail,.pf__nav{ position:relative; z-index:1; }
.pf__count{ margin-top:16px; display:flex; align-items:center; gap:10px; }

.pf__rail{
  display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  scrollbar-width:none; -ms-overflow-style:none; cursor:grab;
  width:100%; padding:0 var(--gut) 4px;
}
.pf__rail::-webkit-scrollbar{ display:none; }
.pf__rail.is-drag{ cursor:grabbing; scroll-behavior:auto; scroll-snap-type:none; }
.pf__rail.is-drift{ scroll-snap-type:none; scroll-behavior:auto; }
.shot{ flex:0 0 clamp(300px,32vw,660px); scroll-snap-align:start; }

.shot__chrome{ display:flex; align-items:center; gap:7px; background:#151515; border:1px solid var(--line); border-bottom:none; border-radius:14px 14px 0 0; padding:13px 18px; }
.shot__chrome i{ width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.14); }
.shot__chrome span{ margin-left:11px; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--tx-2); letter-spacing:.04em; }
.shot__body{
  border:1px solid var(--line); border-radius:0 0 14px 14px; overflow:hidden; background:#0C0C0C;
  transition:border-color .4s var(--ease), box-shadow .4s var(--ease);
}
.shot{ transition:transform .4s var(--ease); }
.shot:hover{ transform:translateY(-6px); }
.shot:hover .shot__body{ border-color:rgba(218,253,79,.4); box-shadow:0 34px 80px -40px rgba(148,255,25,.45); }
.shot:hover .shot__chrome{ border-color:rgba(218,253,79,.4); border-bottom:none; }
.shot:hover figcaption{ color:var(--tx-2); }
.shot__body img{ width:100%; height:auto; display:block; }
.shot figcaption{ margin-top:14px; text-align:center; font-size:.88rem; font-weight:500; color:var(--tx-3); letter-spacing:-.015em; }

.pf__nav{ display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:30px; }
.pf__cta{ margin-right:auto; }

.pf__dots{ display:flex; gap:6px; }
.pf__dots i{ width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.16); transition:background .3s var(--ease), width .3s var(--ease); }
.pf__dots i.on{ width:22px; border-radius:100px; background:var(--grad); }

/* =========================================================
   COMO FUNCIONA
   ========================================================= */
/* faixa que separa as duas fases */
.phase{ display:flex; align-items:center; gap:16px; margin:0 0 18px; }
.phase:nth-of-type(2){ margin-top:clamp(28px,3vw,44px); }
.phase__k{
  padding:6px 14px; border-radius:100px; color:#050505; background:var(--grad);
  font-size:10px; font-weight:700; letter-spacing:.14em;
}
.phase h4{ font-size:1.05rem; font-weight:700; letter-spacing:-.035em; white-space:nowrap; }
.phase i{ flex:1; height:1px; background:linear-gradient(90deg,rgba(218,253,79,.4),rgba(255,255,255,.06)); }
.phase__t{ color:var(--tx-3); white-space:nowrap; }

.steps{
  display:grid; grid-template-columns:repeat(5,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line); border-radius:16px; overflow:hidden;
}
.stp{
  position:relative; overflow:hidden; background:var(--ink-2);
  padding:clamp(24px,2.6vw,32px) clamp(18px,2vw,24px) clamp(26px,3vw,36px);
  transition:background .35s var(--ease);
}
.stp:hover{ background:var(--surf); }

/* número gigante de marca d'água */
.stp__n{
  position:absolute; right:-6px; bottom:-22px; z-index:0; pointer-events:none;
  font-size:clamp(4.4rem,6.5vw,6rem); font-weight:800; line-height:.75; letter-spacing:-.07em;
  color:rgba(255,255,255,.045);
  transition:color .4s var(--ease), transform .4s var(--ease);
}
.stp:hover .stp__n{ transform:translateY(-4px); color:transparent; background:var(--grad); -webkit-background-clip:text; background-clip:text; opacity:.35; }

.stp__b{ position:relative; z-index:1; }
.stp h3{ font-size:1.06rem; font-weight:700; letter-spacing:-.035em; margin-bottom:8px; }
.stp p{ font-size:.85rem; font-weight:300; color:var(--tx-2); line-height:1.5; max-width:22ch; }

/* marco: a página entra no ar */
.stp--hi{ background:var(--grad); }
.stp--hi:hover{ background:linear-gradient(96deg,#E3FF6A 0%,#A6FF33 100%); }
.stp--hi h3{ color:#0A1A02; }
.stp--hi p{ color:rgba(10,26,2,.75); }
.stp--hi .stp__n{ color:rgba(10,26,2,.16); }
.stp--hi:hover .stp__n{ color:rgba(10,26,2,.24); background:none; -webkit-text-fill-color:rgba(10,26,2,.24); opacity:1; }

/* =========================================================
   PLANOS
   ========================================================= */

/* =========================================================
   PLANOS
   ========================================================= */
.plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:stretch; }
.plan{
  position:relative; display:flex; flex-direction:column;
  background:var(--ink-2); border:1px solid var(--line); border-radius:20px; overflow:hidden;
  transition:border-color .38s var(--ease), transform .38s var(--ease);
}
.plan:hover{ border-color:var(--line-2); transform:translateY(-4px); }
.plan--hi{ background:linear-gradient(180deg,rgba(218,253,79,.07),transparent 34%),var(--surf); border-color:rgba(218,253,79,.4); }
.plan--hi:hover{ border-color:var(--lime); }
.plan__pin{
  position:absolute; top:16px; right:16px; z-index:2;
  background:var(--grad); color:#050505; border-radius:100px; padding:5px 13px;
  font-family:'JetBrains Mono',monospace; font-size:9.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
}

.plan__top{ padding:clamp(26px,2.8vw,34px); border-bottom:1px solid var(--line); }
.plan__name{ font-size:1.7rem; font-weight:800; letter-spacing:-.045em; margin-bottom:10px; }
.plan__for{ font-size:.9rem; font-weight:300; color:var(--tx-2); line-height:1.55; min-height:66px; }
.plan__price{ margin:24px 0 22px; }
.plan__price b{ display:block; font-size:2.5rem; font-weight:800; letter-spacing:-.055em; line-height:1; }
.plan--hi .plan__price b{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.plan__price u{ text-decoration:none; font-size:1rem; font-weight:600; color:var(--tx-3); letter-spacing:-.01em; -webkit-text-fill-color:var(--tx-3); }
.plan__price em{ display:block; margin-top:9px; font-style:normal; font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--tx-3); }

.plan__body{ padding:clamp(24px,2.6vw,30px); flex:1; }
.plan__k{ margin:26px 0 14px; padding-top:20px; border-top:1px solid var(--line); color:var(--tx-3); }
.plan__list{ display:flex; flex-direction:column; gap:12px; }
.plan__list li{ position:relative; padding-left:27px; font-size:.9rem; font-weight:300; color:var(--tx-2); line-height:1.45; }
.plan__list li b{ color:var(--tx); font-weight:600; }
.plan__list li::before{
  content:''; position:absolute; left:0; top:2px; width:17px; height:17px; border-radius:50%;
  background:rgba(218,253,79,.12); border:1px solid rgba(218,253,79,.3);
}
.plan__list li::after{ content:'✓'; position:absolute; left:4.5px; top:2px; font-size:9px; font-weight:800; color:var(--lime); line-height:18px; }
.plan__list--soft li{ color:var(--tx-3); font-size:.86rem; }
.plan__list--soft li::before{ background:rgba(255,255,255,.05); border-color:var(--line-2); }
.plan__list--soft li::after{ color:var(--tx-2); }

.plan__deadline{
  display:flex; align-items:center; gap:9px; padding:16px clamp(24px,2.6vw,30px);
  border-top:1px solid var(--line); font-size:.85rem; color:var(--tx-3);
}
.plan__deadline b{ color:var(--tx-2); font-weight:600; }
.plan__deadline svg{ width:15px; height:15px; flex:none; fill:none; stroke:var(--lime); stroke-width:1.7; stroke-linecap:round; }

.plans__note{ display:flex; align-items:center; justify-content:center; gap:12px; margin-top:26px; font-size:.9rem; color:var(--tx-3); text-align:center; }

/* =========================================================
   QUEM SOMOS (Cássio / Matheus)
   ========================================================= */
.who__stage{ position:relative; }
.who__p{ display:none; grid-template-columns:.85fr 1fr; gap:clamp(28px,4vw,58px); align-items:center; }
.who__p.is-on{ display:grid; animation:whoIn .95s cubic-bezier(.16,.84,.28,1) both; }
@keyframes whoIn{
  from{ opacity:0; transform:translateX(var(--dir,42px)); }
  to  { opacity:1; transform:none; }
}
/* quando volta pela seta da esquerda, entra pelo outro lado */
.who__stage.is-back{ --dir:-42px; }

/* a foto e o texto entram em tempos levemente diferentes */
.who__p.is-on .who__ph{ animation:whoPh 1.05s cubic-bezier(.16,.84,.28,1) both; }
@keyframes whoPh{
  from{ opacity:0; transform:scale(1.05); }
  to  { opacity:1; transform:none; }
}
.who__p.is-on .who__b > *{ animation:whoUp .8s cubic-bezier(.16,.84,.28,1) both; }
.who__p.is-on .who__b > *:nth-child(1){ animation-delay:.06s }
.who__p.is-on .who__b > *:nth-child(2){ animation-delay:.11s }
.who__p.is-on .who__b > *:nth-child(3){ animation-delay:.15s }
.who__p.is-on .who__b > *:nth-child(4){ animation-delay:.19s }
.who__p.is-on .who__b > *:nth-child(5){ animation-delay:.23s }
.who__p.is-on .who__b > *:nth-child(6){ animation-delay:.27s }
.who__p.is-on .who__b > *:nth-child(7){ animation-delay:.31s }
.who__p.is-on .who__b > *:nth-child(8){ animation-delay:.35s }
@keyframes whoUp{
  from{ opacity:0; transform:translateY(12px); }
  to  { opacity:1; transform:none; }
}

.who__ph{ position:relative; border-radius:20px; overflow:hidden; background:#101010; border:1px solid var(--line); aspect-ratio:4/5; }
.who__ph img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
.who__ph::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(4,4,4,.9)); pointer-events:none; }
.who__tags{
  position:absolute; left:0; right:0; bottom:14px; z-index:2;
  display:flex; flex-direction:column; gap:8px; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);
}
.who__tagrow{
  display:flex; gap:8px; width:max-content;
  animation:slide 34s linear infinite;
  will-change:transform;
}
.who__tagrow--rev{ animation-duration:44s; animation-direction:reverse; }
.who__ph:hover .who__tagrow{ animation-play-state:paused; }

.who__tagrow span{
  display:flex; align-items:center; gap:8px; white-space:nowrap;
  background:rgba(10,10,10,.82); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.14); border-radius:100px;
  padding:8px 15px; font-size:11.5px; font-weight:500; color:rgba(255,255,255,.82);
}
/* marcador em SVG, sem emoji */
.who__tagrow span::before{
  content:''; width:11px; height:11px; flex:none;
  background:var(--grad);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l2.4 6.2L21 10l-6.6 1.8L12 18l-2.4-6.2L3 10l6.6-1.8z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l2.4 6.2L21 10l-6.6 1.8L12 18l-2.4-6.2L3 10l6.6-1.8z'/></svg>") center/contain no-repeat;
}

.who__name{ font-size:clamp(2.2rem,4.2vw,3.4rem); font-weight:800; letter-spacing:-.055em; line-height:1; margin-bottom:12px; }
.who__role{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:24px;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.who__lead{ font-size:clamp(1.05rem,1.6vw,1.28rem); font-weight:500; letter-spacing:-.028em; line-height:1.4; margin-bottom:16px; }
.who__txt{ font-size:.96rem; font-weight:300; color:var(--tx-2); line-height:1.65; max-width:56ch; text-wrap:pretty; }
.who__txt b{ color:var(--tx); font-weight:600; }

.who__st{ display:flex; gap:0; margin:28px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.who__st li{ flex:1; padding:18px 18px 18px 0; }
.who__st li + li{ padding-left:22px; border-left:1px solid var(--line); }
.who__st b{ display:block; font-size:clamp(1.5rem,2.4vw,2rem); font-weight:800; letter-spacing:-.05em; line-height:1;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.who__st span{ display:block; margin-top:7px; font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--tx-3); }

.who__k{ display:flex; align-items:center; gap:9px; margin-bottom:12px; }
.who__chips{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:30px; }
.who__chips span{ font-size:12px; color:var(--tx-2); background:rgba(255,255,255,.035); border:1px solid var(--line); border-radius:100px; padding:7px 14px; }

.who__foot{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.who__soc{ display:flex; gap:8px; }
.who__soc a{ display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%;
  border:1px solid var(--line-2); color:var(--tx-2); transition:color .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease); }
.who__soc svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.who__soc a:hover{ color:#050505; background:var(--grad); border-color:transparent; }

.who__ctrl{ display:flex; align-items:center; justify-content:center; gap:14px; margin-top:clamp(28px,3.2vw,40px); }
.who__arrow{ width:48px; height:48px; border-radius:50%; cursor:pointer; background:transparent; border:1px solid var(--line-2);
  display:flex; align-items:center; justify-content:center; color:var(--tx-2);
  transition:color .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease); }
.who__arrow svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.who__arrow:hover{ color:#050505; background:var(--grad); border-color:transparent; }
.who__arrow:active{ transform:scale(.92); }
.who__arrow{ transition:color .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease), transform .18s var(--ease); }
.who__tabs{ display:flex; gap:4px; padding:5px; background:rgba(255,255,255,.035); border:1px solid var(--line); border-radius:100px; }
.who__tabs button{ background:transparent; border:none; cursor:pointer; border-radius:100px; padding:10px 22px;
  font-size:13px; font-weight:600; color:var(--tx-3); transition:color .45s var(--ease), background .45s var(--ease); }
.who__tabs button.is-on{ background:var(--grad); color:#050505; }

/* =========================================================
   FAQ
   ========================================================= */
.faq__grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(32px,5vw,72px); align-items:start; }
.faq__side{ position:sticky; top:138px; }
.faq__h{ font-size:clamp(2rem,3.6vw,3rem); font-weight:800; letter-spacing:-.05em; line-height:1.04; margin-bottom:18px; text-wrap:balance; }
.faq__d{ font-size:.98rem; font-weight:300; color:var(--tx-2); max-width:38ch; margin-bottom:28px; }
.faq__d b{ color:var(--tx); font-weight:600; }

.faq{ display:flex; flex-direction:column; gap:10px; }
.faq details{ background:var(--ink); border:1px solid var(--line); border-radius:14px; overflow:hidden;
  transition:border-color .3s var(--ease), background .3s var(--ease); }
.faq details:hover{ border-color:var(--line-2); }
.faq details[open]{ border-color:rgba(218,253,79,.32); background:var(--surf); }
.faq summary{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 22px; cursor:pointer; list-style:none;
  font-size:1rem; font-weight:600; letter-spacing:-.028em; line-height:1.35; transition:color .25s var(--ease); }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary:hover{ color:var(--lime); }
.faq details[open] summary{ color:var(--lime); }
.faq summary i{ position:relative; flex:none; width:32px; height:32px; border-radius:50%; border:1px solid var(--line-2); transition:background .3s var(--ease), border-color .3s var(--ease); }
.faq summary i::before,.faq summary i::after{ content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:var(--lime); transition:transform .3s var(--ease), opacity .3s, background .3s; }
.faq summary i::before{ width:11px; height:1.5px; }
.faq summary i::after{ width:1.5px; height:11px; }
.faq details[open] summary i{ background:var(--grad); border-color:transparent; }
.faq details[open] summary i::before{ background:#050505; }
.faq details[open] summary i::after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0; }
.faq__a{ padding:0 22px 22px; }
.faq__a p{ font-size:.94rem; font-weight:300; color:var(--tx-2); line-height:1.68; padding-top:4px; border-top:1px solid var(--line); }
.faq__a p{ padding-top:18px; }

/* =========================================================
   FOOTER
   ========================================================= */
.foot{ position:relative; padding:clamp(60px,7vw,92px) 0 26px; overflow:hidden; border-top:1px solid var(--line); }
.foot__glow{ position:absolute; left:50%; bottom:-70%; transform:translateX(-50%); width:min(1100px,120vw); height:600px; pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(148,255,25,.09),transparent 66%); }
.foot .shell{ position:relative; }
.foot__top{ display:grid; grid-template-columns:1.7fr 1fr 1.15fr 1.1fr; gap:clamp(28px,4vw,54px); padding-bottom:44px; border-bottom:1px solid var(--line); }
.foot__brand img{ height:58px; width:auto; margin-bottom:24px; }
.foot__brand p{ font-size:.95rem; font-weight:300; color:var(--tx-2); line-height:1.62; max-width:38ch; margin-bottom:24px; text-wrap:pretty; }
.foot__brand p b{ color:var(--tx); font-weight:600; }
.foot__soc{ display:flex; gap:8px; }
.foot__soc a{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%;
  border:1px solid var(--line-2); color:var(--tx-2); transition:color .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease); }
.foot__soc svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.foot__soc a:hover{ color:#050505; background:var(--grad); border-color:transparent; }

.foot__col{ display:flex; flex-direction:column; gap:12px; }
.foot__col h4{ font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.15em; text-transform:uppercase; font-weight:500; margin-bottom:8px;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.foot__col a,.foot__col span{ font-size:.91rem; color:var(--tx-2); transition:color .25s var(--ease); }
.foot__col a:hover{ color:var(--lime); }
.foot__ln{ display:flex; align-items:center; gap:10px; }
.foot__ln svg{ width:16px; height:16px; flex:none; fill:none; stroke:var(--lime); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.foot__ln--s{ color:var(--tx-3) !important; }
.foot__ln--s svg{ stroke:var(--tx-3); }
.foot__cta{ margin-top:12px; align-self:flex-start; font-size:11.5px; letter-spacing:.04em; padding:7px 7px 7px 20px; gap:9px; }
.foot__cta i{ width:32px; height:32px; font-size:13px; }
.foot__cta .ico-wa{ width:14px; height:14px; }

.foot__bot{ display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; padding-top:24px;
  font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--tx-3); }

/* =========================================================
   DEPOIMENTOS
   ========================================================= */
/* setas dos carrosséis */
.pf__arrows,.revs__pair{
  display:flex; align-items:center;
  border:1px solid var(--line-2); border-radius:100px; overflow:hidden;
  background:rgba(255,255,255,.025);
}
.revs__btn{
  width:56px; height:46px; cursor:pointer; border:none; background:transparent; color:var(--tx-2);
  display:flex; align-items:center; justify-content:center;
  transition:color .28s var(--ease), background .28s var(--ease);
}
.revs__btn + .revs__btn{ border-left:1px solid var(--line-2); }
.revs__btn svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.revs__btn:hover{ color:#050505; background:var(--grad); }
.revs__btn[disabled]{ opacity:.35; pointer-events:none; }

/* carrossel de avaliações */
.revs{ margin-top:clamp(30px,3.6vw,46px); }
.revs__rail{
  display:flex; gap:20px; align-items:stretch; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth; cursor:grab;
  padding:4px max(var(--gut), calc((100% - var(--shell)) / 2 + var(--gut))) 6px;
  scrollbar-width:none; -ms-overflow-style:none;
}
.revs__rail::-webkit-scrollbar{ display:none; }
.revs__rail.is-drag{ cursor:grabbing; scroll-behavior:auto; scroll-snap-type:none; }
.revs__rail > *{ flex:0 0 clamp(280px,31vw,392px); scroll-snap-align:start; align-self:stretch; }

.revs__foot{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:26px; }
.revs__nav{ display:flex; align-items:center; gap:14px; }
.revs__dots{ display:flex; gap:6px; }
.revs__dots i{ width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.16); transition:background .3s var(--ease), width .3s var(--ease); }
.revs__dots i.on{ width:22px; border-radius:100px; background:var(--grad); }

/* nota do Google, no rodapé do carrossel */
.gscore{
  display:inline-flex; align-items:center; gap:14px;
  background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:100px;
  padding:9px 20px 9px 10px;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.gscore:hover{ border-color:rgba(218,253,79,.35); background:rgba(218,253,79,.05); }
.gscore__g{ display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:#fff; flex:none; }
.gscore__g svg{ width:18px; height:18px; }
.gscore__n{ display:flex; align-items:center; gap:9px; }
.gscore__n b{ font-size:1.15rem; font-weight:800; letter-spacing:-.04em; line-height:1; }
.gscore__t{ font-size:.85rem; color:var(--tx-3); display:flex; align-items:center; gap:7px; }
.gscore__t b{ color:var(--tx-2); font-weight:600; }
.gscore__t i{ font-style:normal; color:var(--lime); }
.stars{ display:flex; gap:2px; font-size:12px; color:rgba(255,255,255,.15); letter-spacing:1px; }
.stars .on{ color:#FFC94A; }

.quotes{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.quote{ background:var(--ink); border:1px solid var(--line); border-radius:16px; padding:clamp(24px,2.9vw,32px); position:relative; transition:border-color .35s var(--ease), transform .35s var(--ease); }
.quote:hover{ border-color:var(--line-2); transform:translateY(-3px); }
.quote__stars{ display:flex; gap:2px; font-size:14px; color:rgba(255,255,255,.15); margin-bottom:16px; letter-spacing:1px; }
.quote__stars .on{ color:#FFC94A; }
.quote p{ font-size:.95rem; font-weight:300; color:var(--tx-2); line-height:1.65; margin-bottom:24px; }
/* altura igual em todos os cards, rodapé colado embaixo */
.revs .quote{ display:flex; flex-direction:column; height:auto; }
.revs .quote footer{ margin-top:auto; }

/* texto limitado a 5 linhas; o resto vai pro popup */
.quote__tx{
  display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical;
  overflow:hidden; margin-bottom:12px !important;
}
.quote__more{
  align-self:flex-start; background:none; border:none; cursor:pointer; padding:0 0 20px;
  font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.13em; text-transform:uppercase;
  background-image:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
  transition:opacity .25s var(--ease);
}
.quote__more:hover{ opacity:.7; }
.quote__more[hidden]{ display:none; }

/* popup da avaliação completa */
.rvm{ position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:var(--gut); }
.rvm[hidden]{ display:none; }
.rvm__bg{ position:absolute; inset:0; background:rgba(3,3,3,.72); backdrop-filter:blur(8px); animation:fade .3s var(--ease); }
@keyframes fade{ from{ opacity:0; } }
.rvm__box{
  position:relative; width:100%; max-width:620px; max-height:86vh; overflow-y:auto;
  background:linear-gradient(180deg,#111,#0A0A0A); border:1px solid var(--line-2);
  border-radius:26px; padding:clamp(28px,3.6vw,44px);
  box-shadow:0 60px 130px -50px rgba(0,0,0,.95);
  animation:pop .35s var(--ease);
}
@keyframes pop{ from{ opacity:0; transform:translateY(18px) scale(.97); } }
.rvm__x{
  position:absolute; top:18px; right:18px; width:40px; height:40px; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.06); border:1px solid var(--line-2); color:var(--tx-2);
  display:flex; align-items:center; justify-content:center;
  transition:color .25s var(--ease), background .25s var(--ease);
}
.rvm__x svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.rvm__x:hover{ color:#050505; background:var(--grad); border-color:transparent; }
.rvm__q{
  display:block; font-size:64px; font-weight:800; line-height:.6; margin-bottom:22px;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.rvm__stars{ display:flex; gap:3px; font-size:16px; color:rgba(255,255,255,.15); margin-bottom:20px; letter-spacing:1px; }
.rvm__stars .on{ color:#FFC94A; }
.rvm__tx{ font-size:1.02rem; font-weight:300; color:var(--tx-2); line-height:1.7; }
.rvm__box footer{ display:flex; align-items:center; gap:15px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.rvm__av{
  position:relative; width:52px; height:52px; border-radius:50%; flex:none; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#1c1c1c,#101010); border:1px solid var(--line);
  font-size:18px; font-weight:800; color:var(--lime);
}
.rvm__av img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rvm__box cite{ display:block; font-style:normal; font-size:1.05rem; font-weight:700; letter-spacing:-.03em; }
.rvm__box small{ font-size:.82rem; color:var(--tx-3); }

.quote footer{ display:grid; grid-template-columns:42px 1fr; grid-template-rows:auto auto; column-gap:13px; align-items:center; padding-top:18px; border-top:1px solid var(--line); }
.quote__av{ grid-row:1/3; display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%;
  background:linear-gradient(135deg,#1c1c1c,#101010); border:1px solid var(--line); overflow:hidden;
  font-size:15px; font-weight:800; color:var(--lime); }
.quote__av{ position:relative; }
.quote__av img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:50%; }
.quote cite{ font-style:normal; font-size:.93rem; font-weight:700; letter-spacing:-.025em; }
.quote small{ font-size:.77rem; color:var(--tx-3); }
.quotes__src{ margin-top:20px; text-align:center; }

/* =========================================================
   TIME
   ========================================================= */
/* =========================================================
   CTA / FORM
   ========================================================= */
.ctaw{ padding:var(--sec) 0; }

.cta{
  position:relative; overflow:hidden;
  border-radius:clamp(28px,3.4vw,52px);
  background:linear-gradient(180deg,#101010,#0A0A0A);
  border:1px solid var(--line-2);
  padding:clamp(40px,5.5vw,78px) clamp(24px,4vw,64px);
  box-shadow:0 60px 130px -70px rgba(0,0,0,.95);
}
.cta::before{
  content:''; position:absolute; inset:-1px; border-radius:inherit; padding:1px; pointer-events:none;
  background:linear-gradient(160deg,rgba(218,253,79,.55),transparent 45%,transparent 65%,rgba(148,255,25,.3));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
}
.cta__aura{
  position:absolute; left:50%; top:-30%; transform:translateX(-50%);
  width:min(900px,110%); height:520px; pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(148,255,25,.14),transparent 68%);
  animation:breathe 11s ease-in-out infinite;
}
.cta__in{ position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; }
.cta__h{ font-size:clamp(2rem,4.2vw,3.3rem); font-weight:800; line-height:1.03; letter-spacing:-.052em; margin-bottom:18px; text-wrap:balance; }
.cta__d{ font-size:1rem; font-weight:300; color:var(--tx-2); max-width:52ch; margin-bottom:38px; text-wrap:pretty; }
.cta__d b{ color:var(--tx); font-weight:600; }

/* formulário */
.form{ width:100%; max-width:600px; display:flex; flex-direction:column; gap:14px; text-align:left; }
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }

.fld{ position:relative; display:block; }
.fld__i{
  position:absolute; left:18px; top:50%; transform:translateY(-50%); z-index:2; pointer-events:none;
  display:flex; align-items:center; justify-content:center; width:20px; height:20px;
}
.fld--area .fld__i{ top:28px; transform:none; }
.fld__i svg{ width:18px; height:18px; fill:none; stroke:var(--tx-3); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; transition:stroke .25s var(--ease); }
.fld:focus-within .fld__i svg{ stroke:var(--lime); }

.fld__l{
  position:absolute; left:50px; top:50%; transform:translateY(-50%); z-index:2; pointer-events:none;
  font-size:14.5px; font-weight:400; color:var(--tx-3); letter-spacing:-.012em; white-space:nowrap;
  transform-origin:left center;
  transition:transform .22s var(--ease), color .22s var(--ease);
}
.fld__l em{ font-style:normal; opacity:.6; }
.fld--area .fld__l{ top:30px; transform:none; }

.form input,.form select,.form textarea{
  width:100%; background:rgba(255,255,255,.04); border:1px solid var(--line-2); border-radius:14px;
  padding:31px 18px 14px 50px; appearance:none;
  font-family:'Manrope',sans-serif; font-size:15px; font-weight:500; letter-spacing:-.012em; color:var(--tx);
  transition:border-color .25s var(--ease), background .25s var(--ease);
}
.form textarea{ padding-top:38px; padding-bottom:16px; resize:vertical; min-height:112px; line-height:1.55; }
.form input::placeholder,.form textarea::placeholder{ color:transparent; }
.form input:focus,.form select:focus,.form textarea:focus{ outline:none; border-color:rgba(218,253,79,.55); background:rgba(218,253,79,.045); }

.fld:focus-within .fld__l,
.fld input:not(:placeholder-shown) ~ .fld__l,
.fld textarea:not(:placeholder-shown) ~ .fld__l,
.fld.filled .fld__l{ transform:translateY(-20px) scale(.72); }
.fld--area:focus-within .fld__l,
.fld--area textarea:not(:placeholder-shown) ~ .fld__l,
.fld--area.filled .fld__l{ transform:translateY(-13px) scale(.72); }
.fld:focus-within .fld__l{ color:var(--lime); }

.fld--sel select{ cursor:pointer; padding-right:42px; }
.fld--sel select:invalid{ color:transparent; }
.fld--sel::after{
  content:''; position:absolute; right:20px; top:calc(50% - 2px); width:7px; height:7px;
  border-right:1.5px solid var(--tx-3); border-bottom:1.5px solid var(--tx-3);
  transform:rotate(45deg); pointer-events:none; z-index:2;
}
.form .btn{ margin-top:8px; }

.cta__seal{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-top:26px; }
.cta__seal li{
  display:flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--tx-3);
}
.cta__seal li::before{ content:''; width:5px; height:5px; border-radius:50%; background:var(--grad); }


/* =========================================================
   SEÇÃO CLARA
   ========================================================= */
.sec--light{
  --ink:      #F4F4EF;
  --ink-2:    #FFFFFF;
  --surf:     #FBFBF8;
  --tx:       #0B0B0B;
  --tx-2:     #52524C;
  --tx-3:     #7C7C74;
  --line:     rgba(0,0,0,.09);
  --line-2:   rgba(0,0,0,.15);
  background:var(--ink); color:var(--tx);
  border-block:1px solid rgba(0,0,0,.08);
}
/* verde puro não tem contraste em fundo claro */
/* em fundo claro o lime some, então vira marca-texto:
   placa preta com o verde da marca por cima, sem gradiente recortado */
.sec--light .grad{
  display:inline; color:var(--lime);
  background:#0A0A0A; background-image:none;
  -webkit-text-fill-color:var(--lime);
  -webkit-background-clip:border-box; background-clip:border-box;
  padding:.05em .26em .09em; border-radius:.14em;
  box-decoration-break:clone; -webkit-box-decoration-break:clone;
}
/* a placa precisa de entrelinha maior, senão encosta na linha de cima */
.sec--light .sechead__t{ line-height:1.32; }
.sec--light .bridge p{ line-height:1.75; }

.sec--light .badge{ background:rgba(0,0,0,.03); border-color:rgba(0,0,0,.12); color:var(--tx-2); }
.sec--light .badge .arw{ color:#4E7A05; }
.sec--light .sq{ background:linear-gradient(96deg,#4E7A05,#2E5C00); }

.sec--light .plan{ background:var(--ink-2); box-shadow:0 24px 60px -40px rgba(0,0,0,.35); }
.sec--light .plan:hover{ border-color:rgba(0,0,0,.28); }
.sec--light .plan__list li::before{ background:rgba(78,122,5,.1); border-color:rgba(78,122,5,.28); }
.sec--light .plan__list li::after{ color:#3F6604; }
.sec--light .plan__list--soft li::before{ background:rgba(0,0,0,.04); border-color:rgba(0,0,0,.12); }
.sec--light .plan__deadline svg{ stroke:#4E7A05; }
.sec--light .btn--outline{ border-color:rgba(0,0,0,.2); color:var(--tx); }
.sec--light .btn--outline:hover{ color:#2E5C00; border-color:#4E7A05; }

/* o plano em destaque inverte: fica escuro no meio dos claros */
.sec--light .plan--hi{
  background:linear-gradient(180deg,#111,#070707); border-color:transparent; color:#fff;
  box-shadow:0 40px 90px -45px rgba(0,0,0,.6);
}
.sec--light .plan--hi::before{ display:none; }
.sec--light .plan--hi .plan__for{ color:#8E8E8E; }
.sec--light .plan--hi .plan__price{ border-color:rgba(255,255,255,.1); }
.sec--light .plan--hi .plan__price .pre,
.sec--light .plan--hi .plan__price em{ color:#7C7C74; }
.sec--light .plan--hi .plan__price b{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sec--light .plan--hi .plan__k{ color:#7C7C74; border-color:rgba(255,255,255,.1); }
.sec--light .plan--hi .plan__list li{ color:#8E8E8E; }
.sec--light .plan--hi .plan__list li b{ color:#fff; }
.sec--light .plan--hi .plan__list li::before{ background:rgba(218,253,79,.12); border-color:rgba(218,253,79,.3); }
.sec--light .plan--hi .plan__list li::after{ color:var(--lime); }
.sec--light .plan--hi .plan__list--soft li::before{ background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.16); }
.sec--light .plan--hi .plan__deadline{ border-color:rgba(255,255,255,.1); color:#7C7C74; }
.sec--light .plan--hi .plan__deadline b{ color:#8E8E8E; }
.sec--light .plan--hi .plan__deadline svg{ stroke:var(--lime); }
.sec--light .plan--hi .plan__tag{ color:#7C7C74; }
.sec--light .plan--hi .plan__name{ color:#fff; }

.sec--light .plans__note{ color:var(--tx-3); }

/* =========================================================
   WHATSAPP
   ========================================================= */
.wa{
  position:fixed; right:22px; bottom:22px; z-index:90;
  width:64px; height:64px; border-radius:50%;
  background:var(--grad); color:#050505;
  display:flex; align-items:center; justify-content:center;
  animation:waPulse 2.4s ease-out infinite;
  transition:transform .3s var(--ease);
}
.wa svg{ width:31px; height:31px; }
.wa:hover{ transform:scale(1.08); animation-play-state:paused; }

@keyframes waPulse{
  0%   { box-shadow:0 0 0 0 rgba(148,255,25,.45), 0 12px 38px -10px rgba(148,255,25,.6); }
  70%  { box-shadow:0 0 0 20px rgba(148,255,25,0), 0 12px 38px -10px rgba(148,255,25,.6); }
  100% { box-shadow:0 0 0 0 rgba(148,255,25,0), 0 12px 38px -10px rgba(148,255,25,.6); }
}

/* contador de mensagem não lida */
.wa__n{
  position:absolute; top:-3px; right:-3px;
  min-width:23px; height:23px; padding:0 6px; border-radius:100px;
  background:#E24A3A; color:#fff; border:2.5px solid var(--ink);
  display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:800; letter-spacing:-.02em; line-height:1;
  animation:waPop .45s cubic-bezier(.2,1.4,.4,1) .9s both;
}
@keyframes waPop{ from{ opacity:0; transform:scale(.2); } to{ opacity:1; transform:none; } }

@media (max-width:600px){
  .wa{ right:16px; bottom:16px; width:58px; height:58px; }
  .wa svg{ width:28px; height:28px; }
}

/* =========================================================
   SEÇÃO CLARA
   ========================================================= */
.sec--light{
  --ink:      #F4F4EF;
  --ink-2:    #FFFFFF;
  --surf:     #FBFBF8;
  --tx:       #0B0B0B;
  --tx-2:     #52524C;
  --tx-3:     #7C7C74;
  --line:     rgba(0,0,0,.09);
  --line-2:   rgba(0,0,0,.15);
  background:var(--ink); color:var(--tx);
  border-block:1px solid rgba(0,0,0,.08);
}
/* verde puro não tem contraste em fundo claro */
/* em fundo claro o lime some, então vira marca-texto:
   placa preta com o verde da marca por cima, sem gradiente recortado */
.sec--light .grad{
  display:inline; color:var(--lime);
  background:#0A0A0A; background-image:none;
  -webkit-text-fill-color:var(--lime);
  -webkit-background-clip:border-box; background-clip:border-box;
  padding:.05em .26em .09em; border-radius:.14em;
  box-decoration-break:clone; -webkit-box-decoration-break:clone;
}
/* a placa precisa de entrelinha maior, senão encosta na linha de cima */
.sec--light .sechead__t{ line-height:1.32; }
.sec--light .bridge p{ line-height:1.75; }

.sec--light .badge{ background:rgba(0,0,0,.03); border-color:rgba(0,0,0,.12); color:var(--tx-2); }
.sec--light .badge .arw{ color:#4E7A05; }
.sec--light .sq{ background:linear-gradient(96deg,#4E7A05,#2E5C00); }

.sec--light .plan{ background:var(--ink-2); box-shadow:0 24px 60px -40px rgba(0,0,0,.35); }
.sec--light .plan:hover{ border-color:rgba(0,0,0,.28); }
.sec--light .plan__list li::before{ background:rgba(78,122,5,.1); border-color:rgba(78,122,5,.28); }
.sec--light .plan__list li::after{ color:#3F6604; }
.sec--light .plan__list--soft li::before{ background:rgba(0,0,0,.04); border-color:rgba(0,0,0,.12); }
.sec--light .plan__deadline svg{ stroke:#4E7A05; }
.sec--light .btn--outline{ border-color:rgba(0,0,0,.2); color:var(--tx); }
.sec--light .btn--outline:hover{ color:#2E5C00; border-color:#4E7A05; }

/* o plano em destaque inverte: fica escuro no meio dos claros */
.sec--light .plan--hi{
  background:linear-gradient(180deg,#111,#070707); border-color:transparent; color:#fff;
  box-shadow:0 40px 90px -45px rgba(0,0,0,.6);
}
.sec--light .plan--hi::before{ display:none; }
.sec--light .plan--hi .plan__for{ color:#8E8E8E; }
.sec--light .plan--hi .plan__price{ border-color:rgba(255,255,255,.1); }
.sec--light .plan--hi .plan__price .pre,
.sec--light .plan--hi .plan__price em{ color:#7C7C74; }
.sec--light .plan--hi .plan__price b{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sec--light .plan--hi .plan__k{ color:#7C7C74; border-color:rgba(255,255,255,.1); }
.sec--light .plan--hi .plan__list li{ color:#8E8E8E; }
.sec--light .plan--hi .plan__list li b{ color:#fff; }
.sec--light .plan--hi .plan__list li::before{ background:rgba(218,253,79,.12); border-color:rgba(218,253,79,.3); }
.sec--light .plan--hi .plan__list li::after{ color:var(--lime); }
.sec--light .plan--hi .plan__list--soft li::before{ background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.16); }
.sec--light .plan--hi .plan__deadline{ border-color:rgba(255,255,255,.1); color:#7C7C74; }
.sec--light .plan--hi .plan__deadline b{ color:#8E8E8E; }
.sec--light .plan--hi .plan__deadline svg{ stroke:var(--lime); }
.sec--light .plan--hi .plan__tag{ color:#7C7C74; }
.sec--light .plan--hi .plan__name{ color:#fff; }

.sec--light .plans__note{ color:var(--tx-3); }

/* =========================================================
   WHATSAPP
   ========================================================= */
.wa{ position:fixed; right:20px; bottom:20px; z-index:90; width:54px; height:54px; border-radius:50%;
  background:var(--grad); color:#050505; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 34px -8px rgba(148,255,25,.55); transition:transform .3s var(--ease); }
.wa svg{ width:26px; height:26px; }
.wa:hover{ transform:scale(1.09); }

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width:1100px){
  .steps{ grid-template-columns:repeat(3,1fr); }
  .phase h4{ white-space:normal; }
  .bt--a{ grid-column:span 12; grid-row:auto; }
  .bt--b{ grid-column:span 12; }
  .bt--c,.bt--d{ grid-column:span 6; }
  .bt--e,.bt--f{ grid-column:span 12; }
  .bt{ gap:26px; }
  .plans{ grid-template-columns:1fr; max-width:520px; margin-inline:auto; }
  .quotes{ grid-template-columns:1fr; }
  .plans{ grid-template-columns:1fr; max-width:560px; margin-inline:auto; }
  .who__p.is-on{ grid-template-columns:1fr; gap:30px; }
  .who__ph{ aspect-ratio:16/10; }
  .faq__grid{ grid-template-columns:1fr; gap:34px; }
  .faq__side{ position:static; }
  .foot__top{ grid-template-columns:1fr 1fr; }
  .foot__brand{ grid-column:1/-1; }
  .sechead--split{ grid-template-columns:1fr; align-items:start; }
  .shot{ flex:0 0 min(86vw,520px); }
  .res__list{ grid-template-columns:repeat(2,1fr); }
  .dash__tiles{ grid-template-columns:repeat(2,1fr); }
  .dc__r{ grid-template-columns:1.4fr repeat(3,.8fr); row-gap:10px; }
  .dc__st{ grid-column:1/-1; }
  .prbs{ grid-template-columns:repeat(2,1fr); }
  .stax{ opacity:.55; }
}

@media (max-width:860px){
  .ghost{ display:none; }
  .steps{ grid-template-columns:1fr; }
  .stp{ padding:20px 18px 24px; }
  .stp__n{ font-size:3.4rem; bottom:-14px; }
  .stp p{ max-width:none; }
  .phase__t{ display:none; }
  .bt--c,.bt--d{ grid-column:span 12; }
  .res__list{ grid-template-columns:1fr; }
  .dash__body{ padding:16px; }
  .dc__r{ grid-template-columns:1fr 1fr; }
  .dc__name{ grid-column:1/-1; }
  .band__t span{ font-size:11px; letter-spacing:.11em; }
  .bridge{ flex-direction:column; align-items:flex-start; gap:18px; }
  .prbs{ grid-template-columns:1fr; }
  .who__st{ flex-wrap:wrap; }
  .stax{ opacity:.35; }
  .stax .col:nth-child(n+3){ display:none; }
}

@media (max-width:600px){
  .hero{ padding:148px 0 70px; }
  .badge{ font-size:9.5px; letter-spacing:.1em; padding:8px 14px; }

  .hero__cta{ flex-direction:column; align-items:stretch; width:100%; }
  .hero__cta .btn{ width:100%; }
  .btn-pill{ justify-content:space-between; }
  .hero__proof{ grid-template-columns:repeat(2,1fr); border-radius:16px; }
  .hero__proof li{ padding:20px 12px 18px; }
  .hero__proof li:nth-child(odd)::before{ display:none; }
  .hero__proof li:nth-child(n+3)::after{ content:''; position:absolute; top:0; left:14%; right:14%; height:1px; background:linear-gradient(90deg,transparent,var(--line-2),transparent); }
  .hero__proof b{ font-size:22px; }
  .hero__proof span{ font-size:8.5px; letter-spacing:.1em; }
  .pg__s{ font-size:10px; }
  .need__word{ grid-template-columns:repeat(4,1fr); gap:4px; }
  .nl em{ font-size:8.5px; letter-spacing:.08em; }
  .kw{ grid-template-columns:1fr 54px 34px; gap:10px; }
  .kw span{ font-size:12px; }
  .faq details p{ padding-right:0; }
  .foot__top{ grid-template-columns:1fr; }
  .foot__bot{ flex-direction:column; gap:8px; }
  .who__st li{ padding:14px 14px 14px 0; }
  .who__foot{ gap:12px; }
  .who__tabs button{ padding:9px 16px; font-size:12px; }
}

/* =========================================================
   AJUSTES DE MOBILE
   ========================================================= */
@media (max-width:860px){
  /* a primeira dobra mostra só o hero; os números aparecem no primeiro scroll */
  .hero{ min-height:112svh; padding:132px 0 60px; }
  .hero__h1{ font-size:clamp(2.5rem,9.6vw,3.6rem); }
  .hero__sub{ font-size:1.04rem; margin-bottom:34px; }
  .hero__cta{ gap:12px; }
  .hero__proof{ margin-top:8px; }

  /* o verde das laterais estava comendo a leitura */
  .stax{ opacity:.14; }
  .hero__grid{ opacity:.5; }

  .badge{ font-size:9.5px; letter-spacing:.09em; padding:9px 16px; line-height:1.5; }

  .btn-pill{ justify-content:center; padding:8px 8px 8px 22px; }
  .btn-pill i{ width:32px; height:32px; }

  .stack{ --r-stack:22px; }
  .sec{ padding:clamp(64px,11vw,96px) 0; }
  .sechead{ margin-bottom:32px; }

  .revs__rail > *{ flex:0 0 min(84vw,400px); }
  .shot{ flex:0 0 min(86vw,520px); }
  .revs__foot{ flex-direction:column; align-items:stretch; gap:16px; }
  .revs__nav{ justify-content:space-between; }
  .gscore{ justify-content:center; }

  .pf__nav{ gap:16px; flex-wrap:wrap; justify-content:center; }
  .pf__cta{ order:3; width:auto; margin-right:0; }

  .who__ph{ aspect-ratio:4/5; max-height:420px; }
  .who__ph img{ object-position:center 22%; }
  .who__tags{ bottom:10px; }
  .who__tagrow span{ font-size:10.5px; padding:6px 12px; }
  .who__st{ gap:0; }
  .who__st li{ padding:14px 10px 14px 0; }
  .who__st li + li{ padding-left:12px; }

  .cta{ padding:clamp(30px,7vw,48px) clamp(18px,5vw,32px); border-radius:24px; }
  .plan__for{ min-height:0; }
}

@media (max-width:600px){
  .hero__cta{ flex-direction:column; align-items:center; }
  .hero__cta .btn{ width:100%; }
  .hero__cta .btn-pill{ width:auto; align-self:center; }
  .hero__proof{ grid-template-columns:1fr 1fr; }
  .hero__proof li:nth-child(n+3){ border-top:1px solid var(--line); }

  .who__st{ display:grid; grid-template-columns:1fr 1fr; }
  .who__st li:nth-child(odd){ border-left:none; padding-left:0; }
  .who__st li:nth-child(n+3){ border-top:1px solid var(--line); }
  .who__foot{ flex-direction:column; align-items:stretch; }
  .who__foot .btn-pill{ justify-content:center; }
  .who__soc{ justify-content:center; }

  .quote{ padding:22px; }
  .shot__chrome span{ font-size:10px; }
  .bridge{ padding:20px; }
  .prb{ padding:22px; }
}
