/* ============================================================
   4FeedStock V2 — Design System
   Palette: verde institucional 4FeedStock + petróleo profundo
   Type: Space Grotesk (display) · Inter (body)
   ============================================================ */

:root{
  --green-950:#071B16;
  --green-900:#0E2A21;
  --green-800:#153A2E;
  --green-700:#1F4C3B;
  --lime:#BDE513;
  --green-600:#0C8C57;
  --green-500:#159957;
  --green-400:#3FBE73;
  --green-300:#8FE0B3;
  --green-100:#D9F0E2;
  --mint-50:#F0F7F2;
  --mint-100:#E3F0E7;
  --white:#FFFFFF;
  --ink:#0E1B14;
  --muted:#56695C;
  --line:#DCE8E0;
  --line-dark:#234739;

  --font-display:'Space Grotesk',sans-serif;
  --font-body:'Inter',sans-serif;

  --radius:16px;
  --radius-lg:26px;
  --shadow-sm:0 2px 10px rgba(9,26,20,.07);
  --shadow-md:0 16px 44px -14px rgba(9,26,20,.2);
  --shadow-green:0 16px 38px -10px rgba(21,153,87,.4);
  --ease:cubic-bezier(.22,.9,.3,1);
  --header-h:80px;
}

*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 10px)}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  line-height:1.7;
  font-size:1.0425rem;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;border:none;background:none;cursor:pointer;color:inherit}
::selection{background:var(--green-300);color:var(--green-950)}

.container{width:min(1180px,100% - 3rem);margin-inline:auto}

/* ---------- helpers ---------- */
.eyebrow{
  font-family:var(--font-display);font-weight:600;
  font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--green-600);display:inline-flex;align-items:center;gap:.65rem;
  margin-bottom:1rem;
}
.eyebrow::before{
  content:"";width:24px;height:24px;flex:none;background:var(--lime);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.7 3.8 A9.5 9.5 0 1 1 7.3 3.8' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M9.9 2.3 L8.6 6.3 L5.7 1.9 Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.7 3.8 A9.5 9.5 0 1 1 7.3 3.8' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M9.9 2.3 L8.6 6.3 L5.7 1.9 Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
  animation:spin 14s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.eyebrow--light{color:var(--green-300)}

.section__title{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.8rem,3.4vw,2.7rem);
  line-height:1.14;letter-spacing:-.025em;
  color:var(--green-950);margin-bottom:1.15rem;text-wrap:balance;
}
.grad-text{
  background:linear-gradient(100deg,var(--green-600),var(--green-400));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.section__intro{max-width:58ch;color:var(--muted)}
.section__head{max-width:720px;margin-bottom:2.4rem}
.section__head--center{margin-inline:auto;text-align:center}
.section__head--center .section__intro{margin-inline:auto}
.section__head--split{
  max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;
}
.section{padding:clamp(3.4rem,6.8vw,5.6rem) 0;position:relative}
.section--tint{background:var(--mint-50)}
.section--forest{
  background:
    radial-gradient(900px 520px at 88% -10%,rgba(21,153,87,.22),transparent 60%),
    var(--green-950);
  color:#C6E5D3;
}
.section--forest .section__title{color:#fff}
.section--forest .section__intro,.section--forest p{color:#9EC7B0}

/* divisórias diagonais (planilha: divisão não-linear) */
.divider{position:absolute;left:0;right:0;height:70px;pointer-events:none}
.divider--down{bottom:-70px;z-index:2;background:var(--mint-50);clip-path:polygon(0 0,100% 0,100% 18%,0 100%)}
.section--tint + .section,.trust + .section{padding-top:clamp(3.8rem,6.5vw,5.8rem)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--font-display);font-weight:600;font-size:.95rem;
  padding:.85rem 1.6rem;border-radius:999px;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s,color .3s,border-color .3s;
  white-space:nowrap;
}
.btn svg{width:18px;height:18px;flex:none;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn--lg{padding:1.05rem 2rem;font-size:1rem}
.btn--leaf{background:var(--lime);color:var(--green-950)}
.btn--leaf:hover{background:var(--green-500);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-green)}
.btn--forest{background:var(--green-950);color:#fff}
.btn--forest:hover{background:var(--green-700);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn--glass{
  color:#fff;border:1.5px solid rgba(255,255,255,.4);
  background:rgba(255,255,255,.08);backdrop-filter:blur(8px);
}
.btn--glass:hover{border-color:var(--green-300);color:var(--green-300);transform:translateY(-2px)}
.btn--ghost-dark{color:var(--green-900);border:1.5px solid var(--line)}
.btn--ghost-dark:hover{border-color:var(--green-500);color:var(--green-500)}

/* ============================================================
   PRELOADER (logo SVG em loop contínuo)
   ============================================================ */
.preloader{
  position:fixed;inset:0;z-index:1000;background:var(--green-950);
  display:grid;place-items:center;align-content:center;gap:1.4rem;
  transition:opacity .6s var(--ease),visibility .6s;
}
.preloader.is-done{opacity:0;visibility:hidden}
.preloader__logo{
  display:flex;flex-direction:column;align-items:center;gap:1.1rem;
  animation:plfade 1s var(--ease) both;
}
.preloader__icon{
  width:80px;height:80px;
  animation:plspin 2.6s linear infinite;
  transform-origin:center;
  filter:drop-shadow(0 0 10px rgba(189,229,19,.35));
}
.preloader__ring{
  display:none;
}
.preloader__arc{
  stroke:var(--lime);
  stroke-dasharray:none;
  stroke-dashoffset:0;
}
@keyframes plspin{to{transform:rotate(360deg)}}
.preloader__wordmark{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.4rem,4vw,1.9rem);letter-spacing:-.02em;color:var(--lime);
}
.preloader__wordmark em{font-style:normal;color:#fff}
@keyframes plfade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.preloader__line{width:200px;height:3px;border-radius:99px;background:rgba(143,224,179,.15);overflow:hidden}
.preloader__line i{display:block;height:100%;width:0;background:var(--lime);border-radius:99px;transition:width .25s ease}

/* ── Form success state ── */
.ct__success{
  display:flex;align-items:flex-start;gap:.9rem;
  background:rgba(189,229,19,.10);border:1px solid rgba(189,229,19,.35);
  border-radius:14px;padding:1rem 1.2rem;margin-top:1rem;
  animation:stepin .5s var(--ease);
}
.ct__success svg{width:22px;height:22px;flex:none;color:var(--lime);margin-top:.1rem}
.ct__success strong{display:block;font-family:var(--font-display);font-weight:600;font-size:.95rem;color:#fff;margin-bottom:.2rem}
.ct__success span{font-size:.84rem;color:#9EC7B0;line-height:1.5}

/* ── Footer bottom ── */
.footer__bottom__inner{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  flex-wrap:wrap;
}
.footer__totop{
  font-family:var(--font-display);font-weight:600;font-size:.82rem;
  color:var(--green-950);letter-spacing:.04em;
  background:var(--lime);
  border:1px solid var(--lime);
  border-radius:999px;
  padding:.62rem .9rem;
  box-shadow:0 10px 24px rgba(189,229,19,.18);
  transition:color .25s,background .25s,border-color .25s,transform .3s,box-shadow .3s;
  display:inline-flex;align-items:center;gap:.4rem;
}
.footer__totop:hover{
  color:#fff;background:rgba(189,229,19,.08);border-color:rgba(189,229,19,.65);
  transform:translateY(-2px);box-shadow:0 14px 30px rgba(189,229,19,.22);
}


/* ============================================================
   HEADER — transparente sobre o vídeo
   ============================================================ */
.header{
  position:fixed;top:0;left:0;right:0;z-index:900;height:var(--header-h);
  transition:height .4s var(--ease),opacity .8s var(--ease),transform .8s var(--ease);
  opacity:0;transform:translateY(-14px);
}
.header.is-in{opacity:1;transform:none}
.header.is-scrolled{height:66px}
.header__bg{
  position:absolute;inset:0;z-index:-1;
  background:rgba(255,255,255,0);
  backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);
  box-shadow:0 1px 0 rgba(0,0,0,0);
  transition:background .45s var(--ease),backdrop-filter .45s var(--ease),box-shadow .45s var(--ease);
}
.header.is-scrolled .header__bg{
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--line),var(--shadow-sm);
}
.header__inner{
  width:100%;max-width:100%;margin-inline:0;
  padding-inline:clamp(32px,4vw,48px);
  height:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  box-sizing:border-box;
}
.header__logo img{width:160px;height:auto}
.header .logo-light{display:none}
.header.is-scrolled .logo-dark{display:none}
.header.is-scrolled .logo-light{display:block}
.logo-light{mix-blend-mode:normal}

.nav{display:flex;align-items:center;gap:1.8rem}
.nav > a{
  font-weight:500;font-size:.94rem;color:#E7F5EC;position:relative;transition:color .35s var(--ease);
}
.header.is-scrolled .nav > a{color:var(--green-950)}
.nav > a:not(.nav__cta)::after{
  content:"";position:absolute;left:50%;right:50%;bottom:-6px;height:2px;
  background:var(--lime);border-radius:2px;
  transition:left .4s var(--ease),right .4s var(--ease);
}
.nav > a:hover{color:var(--green-300)}
.header.is-scrolled .nav > a:hover{color:var(--green-500)}
.nav > a:hover::after,.nav > a.is-active::after{left:0;right:0}
.nav__cta{color:var(--green-950) !important}

.hamburger{
  display:none;width:44px;height:44px;border-radius:12px;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
  transition:background .3s;
}
.hamburger span{display:block;width:22px;height:2px;border-radius:2px;background:#fff;transition:transform .35s var(--ease),opacity .3s,background .3s}
.header.is-scrolled .hamburger span{background:var(--green-950)}
.hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.is-open span:nth-child(2){opacity:0}
.hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============================================================
   HERO — VÍDEO FULLSCREEN
   ============================================================ */
.hero{
  position:relative;min-height:100svh;
  display:flex;align-items:center;
  overflow:hidden;color:#fff;
}
.hero__video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;
}
.hero__overlay{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg,rgba(7,27,22,.64) 0%,rgba(7,27,22,.35) 40%,rgba(7,27,22,.78) 100%),
    radial-gradient(900px 500px at 20% 80%,rgba(21,153,87,.28),transparent 60%);
}
.hero__content{position:relative;z-index:2;padding:calc(var(--header-h) + 1.6rem) 0 4rem}
.hero__eyebrow{
  font-family:var(--font-display);font-weight:600;
  font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--green-300);margin-bottom:1.4rem;
}
.hero__title{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(2.5rem,6vw,4.4rem);
  line-height:1.05;letter-spacing:-.03em;
  max-width:16ch;margin-bottom:1.4rem;
}
.hero__title .w{display:inline-block;overflow:hidden;vertical-align:top}
.hero__title .w i{
  display:inline-block;font-style:normal;
  transform:translateY(110%);
  transition:transform .9s var(--ease);
}
.hero__title.is-in .w i{transform:none}
.hero__lead{color:#C7E6D4;max-width:56ch;font-size:1.08rem;margin-bottom:2.2rem}
.hero__actions{display:flex;gap:1rem;flex-wrap:wrap}
[data-stagger],[data-stagger-late]{
  opacity:0;transform:translateY(22px);
  transition:opacity .9s var(--ease),transform .9s var(--ease);
}
.hero.is-in [data-stagger]{opacity:1;transform:none}
.hero.is-in [data-stagger-late]{opacity:1;transform:none;transition-delay:.75s}

/* ============================================================
   SOLUÇÃO — encerramento institucional (selos + números)
   ============================================================ */
.solution__proof{
  margin-top:2.6rem;padding-top:2.2rem;
  border-top:1px solid var(--line);
}
.trust__badges{
  display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;
  justify-items:center;margin-bottom:1.8rem;
}
.badge{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-display);font-weight:500;font-size:.85rem;
  color:var(--green-900);
  border:1px solid var(--line);border-radius:999px;
  padding:.6rem 1.2rem;background:var(--mint-50);
  transition:border-color .3s,transform .3s,box-shadow .3s;
}
.badge:hover{border-color:var(--green-400);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.badge svg{width:17px;height:17px;color:var(--lime);flex:none}
.trust__numbers{
  display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;
  text-align:center;
}
.tnum strong{
  display:block;font-family:var(--font-display);font-weight:700;
  font-size:clamp(2.4rem,4.6vw,3.4rem);line-height:1;letter-spacing:-.02em;
  background:linear-gradient(120deg,var(--green-600),var(--green-400));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:.45rem;font-variant-numeric:tabular-nums;
}
.tnum strong.counter.is-counting{animation:counterGlow 1.8s var(--ease) both}
@keyframes counterGlow{
  0%{filter:drop-shadow(0 0 0 rgba(189,229,19,0));transform:translateY(2px)}
  45%{filter:drop-shadow(0 0 12px rgba(21,153,87,.28));transform:none}
  100%{filter:none;transform:none}
}
.tnum span{font-size:.88rem;color:var(--muted)}

/* ============================================================
   SOLUÇÃO — texto + cards quadrados
   ============================================================ */
.solution__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.solution__text p{color:var(--muted);margin-bottom:1.2rem}
.solution__text .btn{margin-top:.4rem}

.solution__mindmap{position:relative;aspect-ratio:1/1.02}
.mindmap__connectors{
  position:absolute;inset:0;width:100%;height:100%;
  overflow:visible;color:var(--green-300);z-index:1;
}
.mindmap__connectors path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:1 7}

.mindmap__hub{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:min(260px,52%);z-index:2;text-align:center;
  background:var(--green-950);color:#fff;border-radius:var(--radius-lg);
  padding:1.3rem;box-shadow:var(--shadow-md);
}
.mindmap__hub-icon{
  width:46px;height:46px;border-radius:12px;margin:0 auto .9rem;
  background:var(--lime);color:var(--green-950);display:grid;place-items:center;
}
.mindmap__hub-icon svg{width:23px;height:23px}
.mindmap__hub h3{font-family:var(--font-display);font-weight:700;font-size:1.05rem;margin-bottom:.5rem}
.mindmap__hub p{font-size:.78rem;color:#C1E0D0;line-height:1.5}

.mindmap__node{
  position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);
  width:min(156px,37%);z-index:2;text-align:left;
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:.8rem .85rem;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
}
.mindmap__node:hover{transform:translate(-50%,calc(-50% - 4px));box-shadow:var(--shadow-sm);border-color:var(--green-400)}
.mindmap__node-icon{
  width:30px;height:30px;border-radius:9px;margin-bottom:.55rem;
  background:var(--green-100);color:var(--green-600);display:grid;place-items:center;
  transition:background .3s,color .3s;
}
.mindmap__node:hover .mindmap__node-icon{background:var(--lime);color:var(--green-950)}
.mindmap__node-icon svg{width:15px;height:15px}
.mindmap__node h3{font-family:var(--font-display);font-weight:600;font-size:.8rem;line-height:1.25;color:var(--green-950);margin-bottom:.3rem}
.mindmap__node p{font-size:.72rem;color:var(--muted);line-height:1.4}

/* ============================================================
   ROADMAP — arco premium
   ============================================================ */
/* Section fills exactly one viewport height */
.roadmap.section{
  min-height:100svh;
  display:flex;flex-direction:column;justify-content:center;
  padding-top:clamp(1.3rem,2.1vw,2.1rem);
  padding-bottom:clamp(1.3rem,2.1vw,2.1rem);
}
.roadmap.section > .container{
  display:flex;flex-direction:column;flex:1;justify-content:center;
}
.roadmap .section__head{margin-bottom:1rem}
.roadmap .section__intro{font-size:.88rem}
/* arc: 3 colunas — texto | arco | texto — todas esticadas para a mesma
   altura (a do arco), para que 01-04 fiquem posicionados na mesma
   altura % dos pontos do arco e as linhas conectoras alcancem os pontos. */
.roadmap__arc{
  position:relative;
  display:grid;
  grid-template-columns:minmax(155px,200px) 1fr minmax(155px,200px);
  column-gap:clamp(1.4rem,2.5vw,2.4rem);
  align-items:stretch;
  width:100%;
  margin-inline:auto;
  margin-bottom:clamp(1.2rem,2.5vw,1.8rem);
}
.roadmap__arcbox{position:relative;width:100%;aspect-ratio:400/220}
.roadmap__stagecol{position:relative}
.roadmap__arcsvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:3;pointer-events:none}
.roadmap__arc-bg{fill:none;stroke:var(--line-dark);stroke-width:2;stroke-linecap:round}
.roadmap__arc-conn{stroke:var(--line-dark);stroke-width:1.2}
.roadmap__arc-fill{
  fill:none;stroke:var(--lime);stroke-width:2.5;stroke-linecap:round;
  filter:drop-shadow(0 0 6px rgba(189,229,19,.55));
}
.roadmap__arc-dot{fill:var(--green-800);stroke:var(--line-dark);stroke-width:2;transition:fill .4s,stroke .4s}
.roadmap__arc-dot.is-active,.roadmap__arc-dot.is-done{fill:var(--lime);stroke:var(--green-300)}

/* ── Centro: imagem em semicírculo preenchendo o arco ──
   SVG viewBox 0 0 400 220; arc baseline y=190 → 190/220 = 86.4% from top
   → bottom = 1 - 86.4% = 13.6% ≈ 14%.
   left/right/bottom anchoring — no transform needed. */
.roadmap__center{
  position:absolute;
  left:10%;right:10%;bottom:14%;top:auto;
  width:auto;height:auto;transform:none;z-index:1;
}
.roadmap__center-media{
  width:100%;height:auto;
  /* aspect-ratio 2:1 — semicírculo perfeito */
  aspect-ratio:2/1;
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  overflow:hidden;position:relative;
  border:1px solid rgba(143,224,179,.18);
  border-bottom:0;
  box-shadow:0 34px 80px -28px rgba(0,0,0,.72);
}
.roadmap__center-media::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:
    linear-gradient(180deg,rgba(7,27,22,.04) 0%,rgba(7,27,22,.12) 52%,rgba(7,27,22,.72) 100%),
    linear-gradient(90deg,rgba(7,27,22,.56),transparent 22%,transparent 78%,rgba(7,27,22,.62));
}
.roadmap__center-media img{width:100%;height:100%;object-fit:cover;object-position:center 44%}
.roadmap__chip{
  position:absolute;display:flex;flex-direction:column;gap:.1rem;
  background:rgba(14,42,33,.82);border:1px solid rgba(143,224,179,.22);
  border-radius:12px;padding:.5rem .75rem;box-shadow:var(--shadow-md);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  z-index:5;
}
.roadmap__chip strong{font-family:var(--font-display);font-weight:700;font-size:.98rem;color:var(--lime)}
.roadmap__chip span{font-size:.64rem;color:#9EC7B0;white-space:nowrap}
.roadmap__chip--1{top:32%;right:6%}
.roadmap__chip--2{bottom:10%;left:11%}

.roadmap__stage{
  position:absolute;left:0;right:0;z-index:4;
  display:flex;flex-direction:column;gap:.3rem;
}
.roadmap__stage-num{
  font-family:var(--font-display);font-weight:700;font-size:.75rem;
  letter-spacing:.15em;color:var(--green-300);
}
.roadmap__stage-icon{
  width:32px;height:32px;border-radius:9px;
  background:var(--green-900);border:1px solid var(--line-dark);color:var(--lime);
  display:grid;place-items:center;margin-bottom:.15rem;
}
.roadmap__stage-icon svg{width:16px;height:16px}
.roadmap__stage h3{font-family:var(--font-display);font-weight:700;font-size:1rem;color:#fff}
.roadmap__stage p{font-size:.78rem;color:#9EC7B0;line-height:1.5}

/* topo do bloco = altura da linha/ponto do arco (23.4% e 67.5% da caixa):
   num+ícone ficam acima da linha (absolute bottom:100%), título+descrição abaixo.
   --reach: quanto o bloco avança sobre o vão da linha em direção ao arco
   (sem alcançar a bolinha/curva — mais folga no topo, menos embaixo). */
.roadmap__stage-head{
  position:absolute;bottom:calc(100% + .5rem);
  display:flex;flex-direction:column;gap:.3rem;
}
.roadmap__stage--1 .roadmap__stage-head,.roadmap__stage--2 .roadmap__stage-head{right:0;align-items:flex-end}
.roadmap__stage--3 .roadmap__stage-head,.roadmap__stage--4 .roadmap__stage-head{left:0;align-items:flex-start}
.roadmap__stage{padding-top:.6rem}
.roadmap__stage--2,.roadmap__stage--3{--reach:clamp(85px,9.5vw,138px)}
.roadmap__stage--1,.roadmap__stage--4{--reach:clamp(45px,5vw,72px)}
.roadmap__stagecol--left .roadmap__stage{right:calc(-1 * var(--reach,0px))}
.roadmap__stagecol--right .roadmap__stage{left:calc(-1 * var(--reach,0px))}
.roadmap__stage--1{top:67.5%;text-align:right;align-items:flex-end}
.roadmap__stage--2{top:23.4%;text-align:right;align-items:flex-end}
.roadmap__stage--3{top:23.4%;text-align:left;align-items:flex-start}
.roadmap__stage--4{top:67.5%;text-align:left;align-items:flex-start}

.roadmap__stage.reveal,.roadmap__stage.reveal.is-visible{transform:none}
.roadmap__stage.reveal{opacity:0;transition:opacity .8s var(--ease)}
.roadmap__stage.reveal.is-visible{opacity:1}

/* reveal for center: no translate (positioned via left/right/bottom) */
.roadmap__center.reveal,.roadmap__center.reveal.is-visible{transform:none}
.roadmap__center.reveal{opacity:0;transition:opacity .9s var(--ease)}
.roadmap__center.reveal.is-visible{opacity:1}
.roadmap__center.reveal .roadmap__center-media{transform:scale(.9);transition:transform .9s var(--ease)}
.roadmap__center.reveal.is-visible .roadmap__center-media{transform:scale(1)}

.roadmap__traits{
  display:flex;flex-wrap:wrap;justify-content:center;gap:2.2rem;
  padding-top:1.2rem;border-top:1px solid var(--line-dark);
  margin-top:clamp(1.4rem,3vw,2.2rem);
}
.roadmap__trait{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-display);font-weight:500;font-size:.88rem;color:#C1E0D0;
}
.roadmap__trait svg{width:18px;height:18px;color:var(--lime);flex:none}

/* ============================================================
   SIMILIS — plataforma proprietária
   ============================================================ */
.similis__subtitle{
  font-family:var(--font-display);font-weight:600;font-size:1.15rem;
  color:var(--green-950);max-width:46ch;margin-inline:auto;margin-bottom:.9rem;
}
.similis__cards{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;
  margin-bottom:2.6rem;
}
.similis__card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:1.8rem 1.6rem;text-align:left;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
}
.similis__card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--green-400)}
.similis__card-icon{
  width:52px;height:52px;border-radius:14px;
  background:var(--green-100);color:var(--green-600);
  display:grid;place-items:center;margin-bottom:1.1rem;
}
.similis__card-icon svg{width:26px;height:26px}
.similis__card h3{
  font-family:var(--font-display);font-weight:600;font-size:1.02rem;
  color:var(--green-950);margin-bottom:.5rem;
}
.similis__card p{font-size:.86rem;color:var(--muted);line-height:1.55}
.similis__action{text-align:center;margin-bottom:2.2rem}

.similis__mockup{
  max-width:980px;margin-inline:auto;
  border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow-md);
  background:#fff;
}
.similis__mockup-bar{
  display:flex;align-items:center;gap:.4rem;
  padding:0 1.1rem;height:42px;background:var(--mint-50);
  border-bottom:1px solid var(--line);
}
.similis__mockup-bar span{
  width:9px;height:9px;border-radius:50%;background:var(--line);flex:none;
}
.similis__mockup-url{
  margin-left:.8rem;font-size:.74rem;color:var(--muted);
  font-family:var(--font-display);
}
.similis__mockup-body{display:flex;background:var(--green-950);min-height:320px}
.similis__mockup-side{
  flex:none;width:56px;background:var(--green-900);
  border-right:1px solid var(--line-dark);
  display:flex;flex-direction:column;align-items:center;
  gap:.9rem;padding:1.4rem 0;
}
.similis__mockup-side i{
  width:22px;height:22px;border-radius:7px;background:var(--green-800);
}
.similis__mockup-side i.is-active{background:var(--lime)}
.similis__mockup-main{flex:1;padding:1.8rem 2rem;display:flex;flex-direction:column;gap:1.6rem;min-width:0}
.similis__mockup-head{display:flex;align-items:center;justify-content:space-between}
.similis__mockup-title{
  display:block;width:150px;height:14px;border-radius:4px;
  background:rgba(255,255,255,.16);
}
.similis__mockup-pill{
  display:block;width:96px;height:28px;border-radius:999px;background:var(--lime);
}
.similis__mockup-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.similis__mockup-stat{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:14px;padding:1rem;
}
.similis__mockup-stat b{
  display:block;width:60%;height:18px;border-radius:4px;
  background:var(--green-300);margin-bottom:.6rem;
}
.similis__mockup-stat i{display:block;width:80%;height:7px;border-radius:4px;background:rgba(255,255,255,.22)}
.similis__mockup-chart{
  flex:1;display:flex;align-items:flex-end;gap:.7rem;min-height:100px;
}
.similis__mockup-chart span{
  flex:1;height:var(--h);border-radius:6px 6px 0 0;
  background:linear-gradient(180deg,var(--lime),var(--green-500));
}

/* ============================================================
   CALCULADORA — wizard claro
   ============================================================ */
.calc__panel{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
  padding:clamp(1.8rem,4vw,2.8rem);
  max-width:980px;margin-inline:auto;
}
.calc__progress{display:flex;align-items:center;gap:1.2rem;margin-bottom:2.2rem}
.calc__prog-step{
  display:flex;align-items:center;gap:.6rem;
  font-family:var(--font-display);font-weight:600;font-size:.78rem;
  letter-spacing:.08em;text-transform:uppercase;color:#93A79B;white-space:nowrap;
  transition:color .3s;
}
.calc__prog-step span{
  width:30px;height:30px;border-radius:50%;
  border:1.5px solid var(--line);display:grid;place-items:center;
  font-size:.8rem;transition:background .3s,color .3s,border-color .3s;
}
.calc__prog-step.is-active{color:var(--green-600)}
.calc__prog-step.is-active span{background:var(--green-500);border-color:var(--green-500);color:#fff}
.calc__prog-bar{flex:1;height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.calc__prog-bar i{display:block;height:100%;width:0;background:var(--green-500);transition:width .6s var(--ease)}

.calc__step{display:none}
.calc__step.is-active{display:block;animation:stepin .5s var(--ease)}
@keyframes stepin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.calc__fields{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem 1.2rem}
.cfield{min-width:0}
.cfield__label{
  display:block;font-family:var(--font-display);font-weight:600;font-size:.92rem;
  color:var(--green-950);margin-bottom:.55rem;
}
.cfield__label em{font-style:normal;font-weight:400;font-size:.72rem;color:#93A79B}
.select-wrap{position:relative}
.select-wrap::after{
  content:"";position:absolute;right:1.05rem;top:50%;
  width:8px;height:8px;border-right:2px solid var(--green-500);border-bottom:2px solid var(--green-500);
  transform:translateY(-70%) rotate(45deg);pointer-events:none;
}
.calc-select{
  width:100%;appearance:none;-webkit-appearance:none;
  background:var(--mint-50);color:var(--ink);
  border:1.5px solid var(--line);border-radius:12px;
  padding:.85rem 2.5rem .85rem 1rem;
  font:inherit;font-size:.92rem;cursor:pointer;
  transition:border-color .3s,background .3s;
  text-overflow:ellipsis;white-space:nowrap;overflow:hidden;
}
.calc-select:invalid{color:#93A79B}
.calc-select option{color:var(--ink)}
.calc-select:focus{outline:none;border-color:var(--green-500);background:#fff}
.calc-select.is-invalid{border-color:#F26D5B}

.mselect{position:relative}
.mselect__btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  background:var(--mint-50);color:#93A79B;
  border:1.5px solid var(--line);border-radius:12px;
  padding:.85rem 1rem;font-size:.92rem;text-align:left;
  transition:border-color .3s,color .3s,background .3s;
}
.mselect__btn.has-value{color:var(--ink)}
.mselect__btn.is-invalid{border-color:#F26D5B}
.mselect__btn svg{width:16px;height:16px;flex:none;color:var(--green-500);transition:transform .3s var(--ease)}
.mselect__btn[aria-expanded="true"]{border-color:var(--green-500);background:#fff}
.mselect__btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.mselect__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mselect__panel{
  position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;
  background:#fff;border:1.5px solid var(--line);
  border-radius:14px;padding:.5rem;
  box-shadow:var(--shadow-md);
  display:grid;gap:.15rem;
  animation:stepin .3s var(--ease);
}
.mselect__opt{
  display:flex;align-items:center;gap:.7rem;
  padding:.6rem .75rem;border-radius:10px;
  font-size:.9rem;color:var(--muted);cursor:pointer;
  transition:background .2s,color .2s;
}
.mselect__opt:hover{background:var(--mint-50);color:var(--ink)}
.mselect__opt input{position:absolute;opacity:0;pointer-events:none}
.mselect__opt i{
  width:19px;height:19px;flex:none;border-radius:6px;
  border:1.5px solid var(--line);
  display:grid;place-items:center;
  transition:background .2s,border-color .2s;
}
.mselect__opt input:checked + i{background:var(--lime);border-color:var(--lime)}
.mselect__opt input:checked + i::before{
  content:"";width:10px;height:10px;
  background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"><path d="m5 13 4 4 10-10"/></svg>') center/contain no-repeat;
}

.calc__error{
  margin-top:1.2rem;font-size:.88rem;color:#C6402E;
  background:rgba(242,109,91,.08);border:1px solid rgba(242,109,91,.3);
  border-radius:12px;padding:.7rem 1rem;
}
.calc__nav{
  display:flex;align-items:center;gap:1.2rem;margin-top:2rem;
  justify-content:flex-end;flex-wrap:wrap;
}
.calc__nav .btn--ghost-dark{margin-right:auto}
.calc__step-count{font-family:var(--font-display);font-weight:500;font-size:.78rem;letter-spacing:.12em;color:#93A79B}

.calc__result{
  display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center;
  background:var(--mint-50);border:1px solid var(--line);
  border-radius:var(--radius);padding:1.8rem 2rem;margin-bottom:2rem;
}
.calc__gauge{position:relative;width:190px}
.calc__gauge svg{width:190px;display:block}
#gaugeFill{transition:stroke-dashoffset 1.2s var(--ease)}
.calc__gauge-num{
  position:absolute;left:50%;top:56%;transform:translateX(-50%);
  font-family:var(--font-display);font-weight:700;font-size:2.1rem;color:var(--green-950);line-height:1;
}
.calc__gauge-num small{font-size:.85rem;color:#93A79B;font-weight:400}
.calc__verdict-label{
  font-family:var(--font-display);font-weight:600;font-size:.72rem;
  letter-spacing:.2em;text-transform:uppercase;color:#93A79B;
  display:block;margin-bottom:.35rem;
}
.calc__verdict strong{
  font-family:var(--font-display);font-weight:700;font-size:1.5rem;
  color:var(--green-600);display:block;margin-bottom:.5rem;letter-spacing:-.01em;
}
.calc__verdict p{font-size:.92rem;color:var(--muted)}

.calc__identify h3{font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--green-950);margin-bottom:.4rem}
.calc__identify-lead{color:var(--muted);font-size:.95rem;margin-bottom:1.5rem}
.calc__form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.ifield label{
  display:block;font-family:var(--font-display);font-weight:600;font-size:.78rem;
  letter-spacing:.06em;text-transform:uppercase;color:#6E8577;margin-bottom:.45rem;
}
.ifield input,.ifield textarea{
  width:100%;background:var(--mint-50);color:var(--ink);
  border:1.5px solid var(--line);border-radius:12px;
  padding:.85rem 1rem;font:inherit;font-size:.95rem;
  transition:border-color .3s,background .3s;resize:vertical;
}
.ifield input:focus,.ifield textarea:focus{outline:none;border-color:var(--green-500);background:#fff}
.ifield input.is-invalid,.ifield textarea.is-invalid{border-color:#F26D5B}
.ifield--full{grid-column:1/-1}
.calc__disclaimer{font-size:.76rem;color:#93A79B;margin-top:1.3rem;line-height:1.6}

/* ============================================================
   CLIENTES — marquee
   ============================================================ */
.clients .section__head{margin-bottom:1.6rem}
.clients__marquee{
  overflow:hidden;padding:1rem 0;
  -webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
          mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}
.clients__track{
  display:flex;align-items:center;gap:1.3rem;width:max-content;
  animation:ticker 60s linear infinite;
}
@keyframes ticker{to{transform:translateX(-50%)}}
.clients__marquee:hover .clients__track{animation-play-state:paused}
.clients__logo{
  flex:none;display:grid;place-items:center;
  width:168px;height:84px;padding:1rem 1.4rem;
  background:#fff;border:1px solid var(--line);border-radius:14px;
  transition:transform .35s var(--ease),box-shadow .35s,border-color .3s;
}
.clients__logo img{max-width:100%;max-height:100%;object-fit:contain}
.clients__logo:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--green-400)}

/* ============================================================
   MAPA DO BRASIL
   ============================================================ */
.atuacao__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.atuacao__text > p{color:var(--muted)}
.atuacao__list{list-style:none;display:grid;gap:.35rem;margin-top:1.8rem}
.atuacao__list li{
  display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;
  padding:.65rem .9rem;border-radius:12px;
  border:1px solid transparent;
  transition:background .25s,border-color .25s;
  cursor:default;
}
.atuacao__list li:hover,.atuacao__list li.is-hot{background:var(--mint-50);border-color:var(--line)}
.atuacao__list strong{font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--green-950)}
.atuacao__list span{font-size:.82rem;color:var(--muted)}
.atuacao__list a{
  font-family:var(--font-display);font-weight:600;font-size:.8rem;color:var(--green-500);
  transition:color .25s;white-space:nowrap;
}
.atuacao__list a:hover{color:var(--green-600);text-decoration:underline}

.atuacao__map{max-width:480px;margin-inline:auto;width:100%}
.brmap{width:100%;height:auto;color:var(--green-100)}
.brmap__dots{color:#C5E8D6}
.pin__pulse{
  fill:var(--lime);opacity:.35;
  transform-origin:center;transform-box:fill-box;
  animation:pinpulse 2.4s ease-out infinite;
  animation-delay:var(--d,0s);
}
.pin__dot{
  fill:var(--lime);stroke:#fff;stroke-width:1.6;
  cursor:pointer;transition:fill .25s,r .25s;
}
.pin.is-hot .pin__dot,.pin:hover .pin__dot{fill:var(--green-950)}
@keyframes pinpulse{
  0%{transform:scale(1);opacity:.4}
  80%,100%{transform:scale(3.2);opacity:0}
}

/* ============================================================
   RITMO VISUAL — paddings específicos por seção
   Seções utilitárias: compactas e objetivas
   Seções de impacto: mantêm espaço generoso
   ============================================================ */
/* Clientes: puramente utilitário — marcador rápido, sem necessidade de respiro extra */
#clientes{padding-top:clamp(2rem,3.8vw,3rem);padding-bottom:clamp(2rem,3.8vw,3rem)}

/* Equipe: presença visual dos membros — altura generosa, respiro equilibrado */
#equipe{padding-top:clamp(4.2rem,7.2vw,6.4rem);padding-bottom:clamp(4.2rem,7.2vw,6.4rem)}
/* Espaçamento entre cabeçalho e grade de colaboradores */
#equipe .section__head{margin-bottom:3.4rem}

/* Depoimentos: prova social — intermediário */
#depoimentos{padding-top:clamp(2.8rem,5vw,4.2rem);padding-bottom:clamp(2.8rem,5vw,4.2rem)}

/* Blog: 3 cards, leitura rápida */
#blog{padding-top:clamp(2.8rem,5vw,4.2rem);padding-bottom:clamp(2.8rem,5vw,4.2rem)}

/* Contato / FAQ: seção de conversão final — compacta mas respeitosa */
#contato{padding-top:clamp(3rem,5.5vw,4.8rem);padding-bottom:clamp(3rem,5.5vw,4.8rem)}

/* Atuação: intermediária — mapa precisa de respiro mas não é hero */
#atuacao{padding-top:clamp(3rem,5.5vw,4.8rem);padding-bottom:clamp(3rem,5.5vw,4.8rem)}

/* ============================================================
   EQUIPE — grid
   ============================================================ */
.team__carousel{
  width:min(1520px,100% - 2rem);margin-inline:auto;
  padding-inline:clamp(1.4rem,4%,3rem);
  display:flex;align-items:center;justify-content:center;gap:1.2rem;
}
.team__viewport{
  flex:none;max-width:100%;overflow:visible;
}
.team__grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:1.55rem 1.1rem;
  width:100%;
  justify-items:center;
}
.team__arrow{
  display:none;
  flex:none;place-items:center;
  width:48px;height:48px;border-radius:50%;
  background:#fff;border:1px solid var(--line);color:var(--green-950);
  box-shadow:var(--shadow-sm);cursor:pointer;
  transition:background .25s,border-color .25s,color .25s,transform .25s,opacity .25s;
}
.team__arrow svg{width:20px;height:20px}
.team__arrow:hover{background:var(--green-500);border-color:var(--green-500);color:#fff;transform:translateY(-2px)}
.team__arrow:disabled{opacity:.35;cursor:default;transform:none;background:#fff;border-color:var(--line);color:var(--green-950)}
.tcard{
  text-align:center;width:100%;max-width:176px;
  transition:transform .5s var(--ease);
}
.tcard:hover{transform:translateY(-6px)}
/* Fotos da equipe: PNGs finais (pessoa + gota verde compostos) */
.tcard__photo{
  position:relative;width:clamp(150px,12.4vw,176px);margin:0 auto 1.1rem;
  aspect-ratio:1/1;
  overflow:visible;
}
.tcard__photo::before{
  content:"";
  position:absolute;inset:-32px;z-index:0;border-radius:50%;
  background:radial-gradient(circle,#00E676 0%,#10B981 40%,transparent 68%);
  opacity:0;
  filter:blur(22px);
  transition:opacity .4s ease-in-out,filter .4s ease-in-out;
}
/* Glow verde neon acende suavemente no hover */
.tcard:hover .tcard__photo::before{
  opacity:.52;
  filter:blur(26px);
}
.tcard__photo img{
  display:block;position:relative;z-index:1;
  width:100%;height:100%;max-width:none;object-fit:contain;
  transform-origin:50% 62%;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.12));
  transition:transform .6s var(--ease),filter .6s var(--ease);
}
.tcard:hover .tcard__photo img{transform:translateY(-3px) scale(1.035);filter:drop-shadow(0 16px 18px rgba(0,0,0,.16))}
.tcard h3{font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--green-300)}
.tcard p{font-size:.82rem;color:#9EC7B0;font-weight:500;margin-top:.35rem;padding-bottom:.7rem}
/* Ajuste de posição específico da Nicole — PNG com espaço transparente desigual */
/* nicole: centralização agora embutida no PNG (team-nicole-centered.png) */

/* ============================================================
   DEPOIMENTOS — contorno
   ============================================================ */
.quotes__carousel{display:flex;align-items:center;gap:1rem}
.quotes__viewport{
  flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;
}
.quotes__viewport::-webkit-scrollbar{display:none}
.quotes__grid{display:grid;grid-auto-flow:column;grid-auto-columns:100%}
.quotes__slide{scroll-snap-align:start;display:flex}
.quotes__arrow{
  flex:none;display:grid;place-items:center;
  width:48px;height:48px;border-radius:50%;
  background:#fff;border:1px solid var(--line);color:var(--green-950);
  box-shadow:var(--shadow-sm);cursor:pointer;
  transition:background .25s,border-color .25s,color .25s,transform .25s,opacity .25s;
}
.quotes__arrow svg{width:20px;height:20px}
.quotes__arrow:hover{background:var(--green-500);border-color:var(--green-500);color:#fff;transform:translateY(-2px)}
.quotes__arrow:disabled{opacity:.35;cursor:default;transform:none;background:#fff;border-color:var(--line);color:var(--green-950)}
.oquote{
  border:1.5px solid var(--green-500);border-radius:var(--radius-lg);
  padding:1.9rem;background:transparent;
  display:flex;flex-direction:column;gap:1.4rem;
  width:100%;max-width:720px;margin-inline:auto;
  transition:border-color .35s,transform .4s var(--ease),box-shadow .4s;
}
.oquote:hover{border-color:var(--green-600);transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.oquote blockquote{
  font-size:.96rem;line-height:1.7;color:var(--muted);
}
.oquote figcaption{display:flex;align-items:center;gap:.9rem;margin-top:auto}
.oquote figcaption img{
  width:50px;height:50px;border-radius:50%;object-fit:cover;flex:none;
  border:2px solid var(--green-300);
}
.oquote figcaption div{display:flex;flex-direction:column;gap:.1rem}
.oquote figcaption strong{font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--green-950)}
.oquote figcaption span{font-size:.78rem;color:var(--muted)}

/* ============================================================
   BLOG
   ============================================================ */
.blog__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.bcard{display:flex;flex-direction:column;gap:.7rem}
.bcard__photo{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:16/10.5;box-shadow:var(--shadow-sm);
}
.bcard__photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.bcard:hover .bcard__photo img{transform:scale(1.05)}
.bcard__tag{
  position:absolute;left:.8rem;top:.8rem;
  font-family:var(--font-display);font-weight:600;font-size:.72rem;
  letter-spacing:.08em;text-transform:uppercase;
  background:rgba(255,255,255,.92);color:var(--green-600);
  padding:.35rem .8rem;border-radius:99px;
  backdrop-filter:blur(6px);
}
.bcard h3{
  font-family:var(--font-display);font-weight:600;font-size:1.08rem;
  line-height:1.35;color:var(--green-950);
}
.bcard p{font-size:.9rem;color:var(--muted)}
.bcard > a{
  font-family:var(--font-display);font-weight:600;font-size:.88rem;color:var(--green-500);
  transition:color .25s;margin-top:auto;
}
.bcard > a:hover{color:var(--green-600)}

/* ============================================================
   FAQ + CONTATO
   ============================================================ */
.contact__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:start}
.faq{display:grid;gap:.8rem}
.faq__item{
  border:1.5px solid var(--line);border-radius:var(--radius);
  padding:0 1.3rem;background:#fff;
  transition:border-color .3s;
}
.faq__item[open]{border-color:var(--green-400)}
.faq__item summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font-family:var(--font-display);font-weight:600;font-size:.98rem;
  color:var(--green-950);padding:1.1rem 0;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary i{
  width:26px;height:26px;flex:none;border-radius:50%;
  background:var(--mint-50);position:relative;
  transition:background .3s,transform .35s var(--ease);
}
.faq__item summary i::before,.faq__item summary i::after{
  content:"";position:absolute;left:50%;top:50%;
  width:11px;height:2px;background:var(--green-500);
  transform:translate(-50%,-50%);transition:transform .35s var(--ease),background .3s;
}
.faq__item summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__item[open] summary i{background:var(--lime);transform:rotate(45deg)}
.faq__item[open] summary i::before,.faq__item[open] summary i::after{background:var(--green-950)}
.faq__item p{font-size:.92rem;color:var(--muted);padding:0 0 1.2rem}

.contact__form{
  background:var(--green-950);border-radius:var(--radius-lg);
  padding:clamp(1rem,1.5vw,1.4rem);color:#fff;
  position:sticky;top:calc(var(--header-h) + 1.5rem);
}
.contact__form h3{font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:-.01em;margin-bottom:.35rem}
.contact__form > p{color:#9EC7B0;font-size:.94rem;line-height:1.5;margin-bottom:1.1rem}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
.contact__form .ifield label{color:#7FAE93;margin-bottom:.3rem}
.contact__form .ifield input,.contact__form .ifield textarea{
  background:var(--green-900);border-color:var(--line-dark);color:#fff;
  padding:.6rem .85rem;
}
.contact__form .ifield textarea{line-height:1.45}
.contact__form .ifield input:focus,.contact__form .ifield textarea:focus{border-color:var(--green-400);background:var(--green-800)}
.contact__form .btn{margin-top:1rem;width:100%;justify-content:center;padding:.75rem 1.6rem}
.contact__form .btn svg{width:20px;height:20px;fill:currentColor}
.contact__alt{
  display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1rem;
  padding-top:1rem;border-top:1px solid var(--line-dark);
}
.contact__alt a{font-size:.88rem;color:#9EC7B0;transition:color .25s}
.contact__alt a:hover{color:var(--green-300)}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--green-950);color:#9EC7B0}
.footer__grid{
  display:grid;grid-template-columns:1.15fr .6fr .95fr 1.1fr;
  gap:3rem;padding:3.4rem 0 2.6rem;
}
.footer__brand img{width:180px;height:auto;margin-bottom:1.2rem}
.footer__brand p{font-size:.9rem;line-height:1.65;margin-bottom:1.3rem}
.footer__social{display:flex;gap:.5rem}
.footer__social a{
  width:40px;height:40px;border-radius:50%;
  border:1px solid var(--line-dark);
  display:grid;place-items:center;color:#D3EDDD;
  transition:background .3s,color .3s,transform .3s,border-color .3s;
}
.footer__social a:hover{background:var(--lime);border-color:var(--lime);color:var(--green-950);transform:translateY(-2px)}
.footer__social svg{width:18px;height:18px;fill:currentColor}
.footer h4{
  font-family:var(--font-display);font-weight:600;font-size:.78rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--green-300);
  margin-bottom:1.2rem;
}
.footer__nav{display:flex;flex-direction:column;gap:.6rem}
.footer__nav a{font-size:.92rem;transition:color .25s;width:fit-content}
.footer__nav a:hover{color:var(--green-300)}
.footer__contact{display:flex;flex-direction:column;gap:.8rem}
.footer__contact a{font-size:.92rem;transition:color .25s;width:fit-content}
.footer__contact a:hover{color:var(--green-300)}
.footer__contact p{font-size:.88rem;line-height:1.6}
.footer__map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-dark);min-height:220px}
.footer__map iframe{width:100%;height:100%;min-height:220px;border:0;display:block;filter:saturate(.85)}
.footer__bottom{border-top:1px solid var(--line-dark);padding:1.1rem 0}
.footer__bottom p{font-size:.78rem;color:#6C9782;text-align:center}

/* ============================================================
   BARRA FIXA — Calculadora (removida a pedido do cliente)
   ============================================================ */
.toolbar{display:none !important;}
.toolbar-DISABLED{
  position:fixed;left:50%;bottom:1.4rem;transform:translateX(-50%) translateY(140%);
  z-index:850;
  display:flex;align-items:center;gap:.8rem;
  background:var(--green-950);color:#fff;
  border:1px solid var(--line-dark);border-radius:999px;
  padding:.75rem 1.5rem .75rem 1.2rem;
  box-shadow:0 20px 50px -12px rgba(7,27,22,.55);
  transition:transform .6s var(--ease),opacity .5s;
  opacity:0;
}
.toolbar.is-on{transform:translateX(-50%);opacity:1}
.toolbar:hover{background:var(--green-800)}
.toolbar__pulse{
  width:10px;height:10px;border-radius:50%;flex:none;
  background:var(--lime);
  box-shadow:0 0 0 0 rgba(189,229,19,.6);
  animation:tbpulse 2s ease-out infinite;
}
@keyframes tbpulse{
  0%{box-shadow:0 0 0 0 rgba(189,229,19,.55)}
  100%{box-shadow:0 0 0 12px rgba(189,229,19,0)}
}
.toolbar strong{font-family:var(--font-display);font-weight:600;font-size:.92rem;white-space:nowrap}
.toolbar__sub{font-size:.8rem;color:#9EC7B0;white-space:nowrap}
.toolbar svg{width:17px;height:17px;flex:none;color:var(--green-300)}

/* ============================================================
   REVEALS
   ============================================================ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.d1{transition-delay:.12s}
.reveal.d2{transition-delay:.24s}
.reveal.d3{transition-delay:.36s}
.reveal.is-visible{opacity:1;transform:none}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .solution__grid,.atuacao__grid,.contact__grid{grid-template-columns:1fr;gap:2.6rem}
  .contact__form{position:static}
  .blog__grid{grid-template-columns:1fr 1fr}
  .similis__cards{grid-template-columns:1fr 1fr}
  .calc__fields{grid-template-columns:1fr 1fr}
  .trust__numbers{grid-template-columns:1fr 1fr;gap:2.4rem 1.5rem}
  .trust__badges{grid-template-columns:1fr 1fr;gap:1rem}
  .toolbar__sub{display:none}
}

@media (max-width:760px){
  :root{--header-h:68px}
  body{font-size:1rem}
  .hamburger{display:flex}
  .nav{
    position:fixed;top:0;right:0;bottom:0;width:min(330px,86vw);
    background:var(--green-950);
    flex-direction:column;align-items:flex-start;justify-content:center;
    gap:1.5rem;padding:2.5rem;
    transform:translateX(100%);
    transition:transform .5s var(--ease);
    box-shadow:-30px 0 60px rgba(0,0,0,.4);
  }
  .nav.is-open{transform:none}
  .nav > a{
    color:#fff !important;font-size:1.2rem;font-family:var(--font-display);font-weight:600;
    opacity:0;transform:translateX(14px);
    transition:opacity .4s var(--ease),transform .4s var(--ease);
  }
  .nav.is-open > a{opacity:1;transform:none}
  .nav > a:nth-child(1){transition-delay:.05s}
  .nav > a:nth-child(2){transition-delay:.1s}
  .nav > a:nth-child(3){transition-delay:.15s}
  .nav > a:nth-child(4){transition-delay:.2s}
  .nav > a:nth-child(5){transition-delay:.25s}
  .nav > a:nth-child(6){transition-delay:.3s}
  .nav > a:nth-child(7){transition-delay:.35s}
  .nav > a:nth-child(8){transition-delay:.4s}
  .header.is-scrolled .nav > a{color:#fff}
  .nav__cta{margin-top:.5rem}

  .hero__title{max-width:none}
  .hero__actions .btn{width:100%;justify-content:center}
  .roadmap__arc{
    display:flex;flex-direction:column;align-items:center;gap:1.4rem;
  }
  .roadmap__arcsvg{display:none}
  .roadmap__arcbox{order:-1;width:100%;aspect-ratio:auto;margin-bottom:.5rem}
  .roadmap__stagecol{display:contents}
  /* mobile: center image becomes static block, restore fixed height */
  .roadmap__center{
    position:relative;top:auto;left:auto;right:auto;bottom:auto;
    width:min(520px,100%);height:clamp(220px,58vw,320px);
    margin-inline:auto;transform:none;
  }
  .roadmap__center.reveal,.roadmap__center.reveal.is-visible{transform:none}
  /* mobile: restore solid block (not aspect-ratio semicircle) */
  .roadmap__center-media{
    height:100%;aspect-ratio:auto;
    border-radius:28px;border-bottom:1px solid rgba(143,224,179,.18);
  }
  .roadmap__chip{max-width:calc(100% - 1.6rem)}
  .roadmap__chip--1{top:.8rem;right:.8rem}
  .roadmap__chip--2{bottom:.8rem;left:.8rem}
  .roadmap__stage{
    position:static;width:100%;max-width:360px;
    flex-direction:row;align-items:flex-start;text-align:left;gap:1rem;
    padding-left:1.1rem;padding-top:0;padding-bottom:0;
    border-left:2px solid var(--line-dark);transition:border-color .4s;
    align-self:auto;transform:none;
  }
  .roadmap__stage.reveal,.roadmap__stage.reveal.is-visible{transform:none}
  .roadmap__stage.is-active,.roadmap__stage.is-done{border-left-color:var(--lime)}
  .roadmap__stage-head{
    position:static;flex:none;
    flex-direction:row;align-items:center;gap:.7rem;
  }
  .roadmap__stage-icon{margin-bottom:0;flex:none}
  .solution__mindmap{
    aspect-ratio:auto;display:flex;flex-direction:column;gap:.8rem;
  }
  .mindmap__connectors{display:none}
  .mindmap__hub,.mindmap__node{position:static;transform:none;width:100%}
  .mindmap__node:hover{transform:translateY(-3px)}
  .calc__fields,.calc__form,.cform{grid-template-columns:1fr}
  .similis__cards{grid-template-columns:1fr}
  .similis__subtitle{font-size:1.05rem}
  .similis__mockup-side{display:none}
  .similis__mockup-main{padding:1.3rem}
  .similis__mockup-stats{grid-template-columns:1fr 1fr}
  .similis__mockup-stat:nth-child(3){display:none}
  .similis__mockup-chart{min-height:70px}
  .calc__result{grid-template-columns:1fr;justify-items:center;text-align:center}
  .calc__nav{justify-content:center}
  .calc__nav .btn--ghost-dark{margin-right:0}
  .team__carousel{
    width:100%;
    padding-inline:.75rem;
    gap:.45rem;
  }
  .team__viewport{
    flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;-ms-overflow-style:none;
  }
  .team__viewport::-webkit-scrollbar{display:none}
  .team__grid{
    flex-wrap:nowrap;justify-content:flex-start;justify-items:start;
    display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - .8rem)/2);gap:.8rem;
  }
  .team__grid .tcard{scroll-snap-align:start;width:auto}
  .team__arrow{display:grid;width:40px;height:40px}
  .team__arrow svg{width:17px;height:17px}
  .quotes__grid{grid-auto-columns:100%}
  .blog__grid{grid-template-columns:1fr}
  .quotes__arrow{width:40px;height:40px}
  .quotes__arrow svg{width:17px;height:17px}
  .footer__grid{grid-template-columns:1fr;gap:2.4rem;padding:3rem 0 2.4rem}
  .trust__numbers{grid-template-columns:1fr 1fr}
  .trust__badges{grid-template-columns:1fr 1fr;gap:.7rem}
  .solution__proof{margin-top:2.4rem;padding-top:2rem}
  .toolbar strong{font-size:.84rem}
  .divider{height:44px}
  .divider--down{bottom:-44px}
}

:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:6px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  html{scroll-behavior:auto}
  .reveal,[data-stagger],[data-stagger-late]{opacity:1;transform:none}
  .hero__title .w i{transform:none}
}
