/* =========================================================
   PrecNet — Landing Page
   Paleta e motivos extraídos do material institucional:
   fundo #1B1B1B, verdes #85C085 / #50A250 / #3D853B / #1E691E / #074807,
   cantos chanfrados e padrão de chevrons diagonais.
   ========================================================= */

/* ---------- Tokens ---------- */
:root{
  --bg:            #1B1B1B;
  --bg-alt:        #161616;
  --surface:       #212121;
  --surface-2:     #262626;
  --line:          #333;

  --green-100:     #B7DDB7;
  --green-200:     #85C085;
  --green-400:     #50A250;
  --green-500:     #3D853B;
  --green-600:     #1E691E;
  --green-800:     #0E4F0E;
  --green-900:     #074807;

  --text:          #EDEDED;
  --text-soft:     #B9BDB9;
  --text-dim:      #8A908A;
  --white:         #FFFFFF;

  --chamfer:       18px;
  --chamfer-sm:    12px;
  --radius:        4px;

  --wrap:          1180px;
  --pad:           clamp(20px, 5vw, 40px);
  --section-y:     clamp(64px, 9vw, 120px);

  --ease:          cubic-bezier(.22,.61,.36,1);
  --shadow:        0 18px 50px rgba(0,0,0,.45);

  --font: 'Poppins', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:92px; }
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-size:clamp(15px,1.05vw,16.5px);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; }
h1,h2,h3{ line-height:1.15; margin:0 0 .5em; font-weight:700; letter-spacing:-.02em; }
p{ margin:0 0 1em; }
ul,ol{ margin:0; padding:0; list-style:none; }
svg{ display:block; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

.skip-link{
  position:absolute; left:12px; top:12px; z-index:999;
  background:var(--green-400); color:#06210A; padding:12px 20px; font-weight:600;
  clip-path:inset(50%); white-space:nowrap;
}
.skip-link:focus{ clip-path:none; }

:where(a,button,input,select,summary):focus-visible{
  outline:3px solid var(--green-200); outline-offset:3px; border-radius:2px;
}

/* ---------- Layout ---------- */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad); }
.wrap-narrow{ max-width:840px; }
.section{ padding-block:var(--section-y); position:relative; }
.section-alt{ background:var(--bg-alt); }

.grid-2{
  display:grid; gap:clamp(36px,5vw,72px);
  grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));
  align-items:start;
}

/* ---------- Motivo: canto chanfrado ---------- */
.chamfer{
  --c:var(--chamfer);
  clip-path:polygon(
    var(--c) 0, 100% 0, 100% calc(100% - var(--c)),
    calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)
  );
}

/* ---------- Tipografia utilitária ---------- */
.eyebrow{
  display:flex; align-items:center; gap:10px;
  font-size:.82rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--green-200); margin:0 0 12px;
}
.tag-mark{
  width:26px; height:22px; flex:none; background:var(--green-500);
  clip-path:polygon(0 0,78% 0,100% 50%,78% 100%,0 100%,0 0);
}
.h2{
  font-size:clamp(1.9rem,4.2vw,3rem); font-weight:400; color:var(--green-200);
}
.h2 strong{ color:var(--green-400); font-weight:700; }
.h2-lg{ font-size:clamp(2.2rem,5vw,3.6rem); font-weight:700; color:var(--green-400); }
.h2-lg strong{ color:var(--green-200); }
.section-head{ max-width:720px; margin-bottom:clamp(32px,5vw,56px); }
.section-sub{ color:var(--text-soft); font-size:1.05rem; }
.hl{ color:var(--green-200); }
p{ color:var(--text-soft); }
p strong{ color:var(--text); font-weight:600; }

/* ---------- Botões ---------- */
.btn{
  --c:14px;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 28px; font-weight:600; font-size:.98rem; line-height:1.2;
  cursor:pointer; border:0; text-align:center; white-space:nowrap;
  transition:transform .18s var(--ease), background-color .18s var(--ease), color .18s var(--ease);
  clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c));
}
.btn:hover{ transform:translateY(-2px); }
.btn-primary{ background:var(--green-400); color:#06210A; }
.btn-primary:hover{ background:var(--green-200); }
.btn-ghost{ background:rgba(80,162,80,.18); color:var(--green-200); }
.btn-ghost:hover{ background:rgba(80,162,80,.34); color:var(--white); }
.btn-ghost-light{ background:rgba(255,255,255,.1); color:var(--white); }
.btn-ghost-light:hover{ background:rgba(255,255,255,.2); }
.btn-whats{ background:#25D366; color:#062B12; }
.btn-whats:hover{ background:#4ae387; }
.btn-sm{ padding:11px 18px; font-size:.88rem; --c:10px; }
.btn-lg{ padding:17px 32px; font-size:1.04rem; --c:16px; }
.btn-block{ width:100%; }

/* ---------- Padrão de chevrons ---------- */
.hero-pattern,.cta-pattern{
  position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(135deg, transparent 45%, var(--green-900) 45%),
    linear-gradient(135deg, transparent 45%, var(--green-600) 45%),
    linear-gradient(135deg, transparent 45%, var(--green-500) 45%),
    linear-gradient(135deg, transparent 45%, var(--green-200) 45%);
  background-size:96px 96px;
  background-position:0 0, 96px 96px, 192px 0, 96px 192px;
  background-repeat:repeat-y, repeat-y, repeat-y, repeat-y;
  opacity:.9;
}

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:60;
  background:rgba(27,27,27,.86);
  backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:box-shadow .25s var(--ease), background-color .25s var(--ease);
}
.site-header.is-stuck{ background:rgba(20,20,20,.96); box-shadow:0 10px 30px rgba(0,0,0,.45); }
.header-inner{ display:flex; align-items:center; gap:20px; min-height:74px; }
.brand{ flex:none; display:flex; align-items:center; }
.brand img{ width:auto; height:38px; max-width:none; }

.nav{ display:flex; gap:22px; margin-left:auto; }
.nav a{
  font-size:.92rem; font-weight:500; color:var(--text-soft); position:relative; padding:6px 0;
  white-space:nowrap; transition:color .18s var(--ease);
}
.nav a::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--green-400);
  transition:width .22s var(--ease);
}
.nav a:hover{ color:var(--white); }
.nav a:hover::after{ width:100%; }

.header-actions{ display:flex; align-items:center; gap:16px; margin-left:auto; flex:none; }
.nav + .header-actions{ margin-left:0; }
.header-phone{ display:none; align-items:center; gap:9px; color:var(--green-200); }
@media (min-width:1200px){ .header-phone{ display:flex; } }
.header-phone span{ display:flex; flex-direction:column; line-height:1.2; }
.header-phone small{ font-size:.64rem; letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim); white-space:nowrap; }
.header-phone strong{ font-size:.98rem; color:var(--white); font-weight:600; }
.header-phone:hover strong{ color:var(--green-200); }

.nav-toggle{
  display:none; width:44px; height:44px; background:transparent; border:0; cursor:pointer;
  flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:0;
}
.nav-toggle span{ width:23px; height:2px; background:var(--white); transition:transform .25s var(--ease), opacity .2s; }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ---------- Hero ---------- */
.hero{ position:relative; overflow:hidden; padding-block:clamp(52px,7vw,92px) clamp(56px,8vw,104px); }
.hero .hero-pattern{
  left:auto; right:0; width:min(46%,660px);
  -webkit-mask-image:linear-gradient(to right, transparent, #000 38%);
  mask-image:linear-gradient(to right, transparent, #000 38%);
  opacity:.8;
}
.hero-inner{
  position:relative; z-index:1;
  display:grid; gap:clamp(40px,4vw,64px);
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  align-items:start;
}
.hero h1{
  font-size:clamp(2rem,4.6vw,3.5rem); font-weight:400; color:var(--white);
  margin-bottom:22px; max-width:16ch;
}
.hero h1 strong{ font-weight:800; }
.hero h1 em{ font-style:normal; color:var(--green-200); font-weight:700; }
.lead{ font-size:clamp(1.02rem,1.45vw,1.18rem); color:var(--text-soft); max-width:56ch; }
.lead strong{ color:var(--green-200); }

.hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin:28px 0 30px; }

.legal-quote{
  margin:0 0 26px; padding:16px 20px; background:rgba(255,255,255,.035);
  border-left:3px solid var(--green-500);
}
.legal-quote p{ margin:0 0 6px; font-style:italic; font-size:.92rem; color:var(--text-soft); }
.legal-quote cite{ font-style:normal; font-size:.82rem; font-weight:600; color:var(--green-200); }

.hero-trust{ display:flex; flex-wrap:wrap; gap:10px 26px; }
.hero-trust li{ display:flex; align-items:center; gap:9px; font-size:.88rem; font-weight:500; color:var(--text-soft); }
.hero-trust svg{ width:19px; height:19px; color:var(--green-400); flex:none; }

/* ---------- Card de credenciais (hero) ---------- */
.cred-card{
  --c:22px;
  position:relative;
  background:linear-gradient(160deg,var(--surface),#1A1A1A);
  padding:clamp(24px,3vw,32px); box-shadow:var(--shadow);
  clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c));
}
.cred-card::before{
  content:""; position:absolute; inset:-2px; z-index:-1;
  background:linear-gradient(160deg,var(--green-400),transparent 55%);
  --c:23px;
  clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c));
}
.cred-card h2{ font-size:1.24rem; color:var(--white); margin-bottom:5px; }
/* cada frase é um bloco: a quebra cai no ponto final, nunca no meio da frase */
.cred-card h2 span{ display:inline-block; }
.cred-sub{ font-size:.88rem; color:var(--text-dim); margin-bottom:22px; }

.cred-item{
  padding:18px 0; border-top:1px solid rgba(255,255,255,.08);
  display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center;
}
.cred-item:first-of-type{ border-top:0; padding-top:4px; }
.cred-label{ margin:0; font-size:.9rem; color:var(--text-soft); }
.cred-label strong{ color:var(--green-200); }

/* o selo é injetado pelo script do Reclame Aqui; a altura mínima evita salto de layout */
.ra-seal{ min-height:76px; display:flex; align-items:center; justify-content:center; width:100%; }
.ra-seal img{ margin-inline:auto; }

.rating-link{
  display:flex; flex-direction:column; align-items:center; gap:9px; width:100%;
  padding:4px 0; transition:transform .18s var(--ease);
}
.rating-link:hover{ transform:translateY(-2px); }
.rating-cta{
  font-size:.78rem; font-weight:600; color:var(--green-400);
  text-decoration:underline; text-decoration-color:rgba(80,162,80,.45); text-underline-offset:3px;
}
.rating-link:hover .rating-cta{ color:var(--green-100); text-decoration-color:var(--green-100); }

.cta-proof a{
  color:var(--text-soft);
  text-decoration:underline; text-decoration-color:rgba(133,192,133,.4); text-underline-offset:3px;
  transition:color .18s var(--ease);
}
.cta-proof a:hover{ color:var(--green-100); }
.cta-proof a strong{ color:var(--green-200); }

.stars{ display:inline-flex; gap:3px; color:#F5B400; }
.stars svg{ width:26px; height:26px; }
.stars-sm svg{ width:18px; height:18px; }

.cred-card .btn{ margin-top:20px; }
.cred-foot{ margin:12px 0 0; font-size:.79rem; color:var(--text-dim); text-align:center; }
.cred-foot a{ color:var(--green-200); font-weight:600; }

/* ---------- Faixa ---------- */

.strip{ background:var(--green-900); }
.strip-inner{
  display:flex; align-items:center; gap:14px clamp(18px,3vw,34px); flex-wrap:wrap;
  padding-block:20px; justify-content:center; text-align:center;
}
.strip p{ margin:0; font-size:.98rem; color:#D9EDD9; max-width:62ch; }
.strip p strong{ color:var(--white); }
.strip-link{
  display:inline-flex; align-items:center; gap:8px; flex:none;
  font-size:.93rem; font-weight:600; color:var(--white);
  padding-bottom:2px; border-bottom:2px solid rgba(255,255,255,.45);
  transition:border-color .18s var(--ease);
}
.strip-link svg{ width:17px; height:17px; transition:transform .2s var(--ease); }
.strip-link:hover{ border-color:var(--white); }
.strip-link:hover svg{ transform:translateX(4px); }

/* ---------- Pilares ---------- */
.pillars{ display:grid; gap:14px; }
.pillars li{
  --c:var(--chamfer-sm);
  background:var(--surface); padding:22px 24px; position:relative;
  border-left:3px solid var(--green-500);
  transition:transform .22s var(--ease), background-color .22s var(--ease);
}
.pillars li:hover{ transform:translateX(6px); background:var(--surface-2); }
.pillar-num{
  position:absolute; right:22px; top:18px;
  font-size:1.6rem; font-weight:800; color:rgba(133,192,133,.16);
}
.pillars h3{ font-size:1.06rem; color:var(--green-200); margin-bottom:4px; }
.pillars p{ margin:0; font-size:.92rem; }

/* ---------- Problema ---------- */
.problem-grid{
  display:grid; gap:20px;
  grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));
}
.problem-card{
  background:var(--surface); padding:30px 28px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
  transition:transform .22s var(--ease), box-shadow .22s var(--ease);
}
.problem-card:hover{ transform:translateY(-5px); box-shadow:inset 0 0 0 1px rgba(133,192,133,.35); }
.problem-icon{
  width:50px; height:50px; display:grid; place-items:center; margin-bottom:16px;
  background:rgba(80,162,80,.14); color:var(--green-200);
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}
.problem-icon svg{ width:26px; height:26px; }
.problem-card h3{ font-size:1.12rem; color:var(--white); }
.problem-card p{ margin:0; font-size:.94rem; }
.problem-card.is-solution{
  background:linear-gradient(155deg,var(--green-900),#123512);
  box-shadow:inset 0 0 0 1px rgba(133,192,133,.3);
}
.problem-card.is-solution .problem-icon{ background:rgba(133,192,133,.2); color:var(--green-100); }
.problem-card.is-solution h3{ color:var(--green-100); }
.problem-card.is-solution p{ color:#CFE4CF; }
.problem-card.is-solution p strong{ color:var(--white); }

/* ---------- Benefícios (por que vender) ---------- */
.benefit-grid{
  display:grid; gap:18px;
  grid-template-columns:repeat(auto-fit,minmax(min(268px,100%),1fr));
}
.benefit{
  background:var(--surface); padding:26px 26px 24px; position:relative;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
  transition:transform .22s var(--ease), background-color .22s var(--ease), box-shadow .22s var(--ease);
}
.benefit::before{
  content:""; position:absolute; left:0; top:0; width:4px; height:52px; background:var(--green-400);
  transition:height .3s var(--ease);
}
.benefit:hover{ transform:translateY(-5px); background:var(--surface-2); box-shadow:inset 0 0 0 1px rgba(133,192,133,.3); }
.benefit:hover::before{ height:100%; }
.benefit h3{ font-size:1.08rem; color:var(--green-200); margin-bottom:8px; }
.benefit p{ margin:0; font-size:.93rem; }
.src-link{
  display:inline; font-size:.8rem; font-weight:500; color:var(--green-400);
  text-decoration:underline; text-decoration-color:rgba(80,162,80,.45);
  text-underline-offset:3px;
  transition:color .18s var(--ease), text-decoration-color .18s var(--ease);
}
.src-link svg{ display:inline; width:13px; height:13px; margin-left:5px; vertical-align:-2px; }
.src-link:hover{ color:var(--green-100); text-decoration-color:var(--green-100); }

/* ---------- Passos ---------- */
.steps-grid{ align-items:center; }
.steps-claim{
  font-size:clamp(1.35rem,2.6vw,1.95rem); font-weight:400; color:var(--green-200);
  line-height:1.25; margin-bottom:18px;
}
.steps{ display:grid; gap:16px; position:relative; margin-left:16px; }
.steps::before{
  content:""; position:absolute; left:-16px; top:26px; bottom:26px; width:2px;
  background:linear-gradient(var(--green-600),var(--green-500),transparent);
}
.steps li{
  --c:var(--chamfer-sm);
  position:relative; padding:24px 28px; background:var(--surface);
  clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c));
  transition:transform .22s var(--ease);
}
.steps li:hover{ transform:translateX(6px); }
.step-badge{
  display:inline-block; margin-bottom:8px; padding:4px 14px 4px 12px;
  font-size:.7rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
  background:var(--green-600); color:var(--green-100);
  clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);
}
.steps h3{ font-size:1.08rem; color:var(--white); margin-bottom:4px; }
.steps p{ margin:0; font-size:.93rem; }

/* ---------- Por que a PrecNet ---------- */
.why-grid{ display:grid; gap:16px; grid-template-columns:1fr; }
@media (min-width:520px){ .why-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:820px){ .why-grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1080px){ .why-grid{ grid-template-columns:repeat(5,1fr); } }
.why-card{
  display:flex; flex-direction:column;
  background:var(--surface); box-shadow:inset 0 0 0 1px rgba(133,192,133,.28);
  --c:var(--chamfer);
  clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c));
  transition:transform .22s var(--ease), box-shadow .22s var(--ease);
}
.why-card:hover{ transform:translateY(-6px); box-shadow:inset 0 0 0 1px var(--green-200); }
.why-card > header{
  display:flex; align-items:center; justify-content:center; min-height:76px;
  padding:14px 18px; text-align:center; font-weight:700; font-size:.96rem;
  color:var(--white); background:var(--green-900);
  border-bottom:1px solid rgba(133,192,133,.3);
}
.why-card p{ margin:0; padding:20px; font-size:.92rem; }

/* ---------- Depoimentos ---------- */
.testimonials-foot{
  margin:26px 0 0; text-align:center; font-size:.92rem; color:var(--text-dim);
}
.testimonials-foot a{
  color:var(--green-400); font-weight:600;
  text-decoration:underline; text-decoration-color:rgba(80,162,80,.45); text-underline-offset:3px;
}
.testimonials-foot a:hover{ color:var(--green-100); }

.testimonials{
  display:grid; gap:20px;
  grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
}
.testimonial{
  display:block; position:relative; background:var(--surface);
  box-shadow:inset 0 0 0 1px rgba(133,192,133,.25);
  transition:transform .22s var(--ease), box-shadow .22s var(--ease);
}
.testimonial:hover{ transform:translateY(-6px); box-shadow:inset 0 0 0 1px var(--green-200); }
.t-num{
  position:absolute; z-index:2; right:14px; top:12px;
  font-size:1.5rem; font-weight:800; color:rgba(255,255,255,.55);
  text-shadow:0 2px 8px rgba(0,0,0,.6);
}
.t-thumb{ display:block; position:relative; aspect-ratio:4/3; overflow:hidden; background:#0E0E0E; }
.t-thumb img{
  width:100%; height:100%; object-fit:cover; object-position:center 22%;
  transition:transform .5s var(--ease), filter .3s var(--ease);
  filter:saturate(.9);
}
.testimonial:hover .t-thumb img{ transform:scale(1.06); filter:saturate(1.05); }
.t-thumb::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(22,22,22,.85),transparent 55%);
}
.t-play{
  position:absolute; z-index:2; left:50%; top:50%; transform:translate(-50%,-50%);
  width:56px; height:56px; display:grid; place-items:center; border-radius:50%;
  background:rgba(80,162,80,.92); color:var(--white);
  box-shadow:0 6px 24px rgba(0,0,0,.5);
  transition:transform .22s var(--ease), background-color .22s var(--ease);
}
.testimonial:hover .t-play{ transform:translate(-50%,-50%) scale(1.12); background:var(--green-200); color:#06210A; }
.t-play svg{ width:26px; height:26px; margin-left:3px; }
.t-body{ display:block; padding:18px 22px 22px; }
.t-body strong{ display:block; font-size:1.05rem; color:var(--white); font-weight:600; }
.t-body em{
  display:inline-flex; align-items:center; gap:6px; margin-top:4px;
  font-style:normal; font-size:.85rem; font-weight:500; color:var(--green-400);
}
.t-body em::after{ content:"→"; transition:transform .2s var(--ease); }
.testimonial:hover .t-body em::after{ transform:translateX(4px); }

/* ---------- FAQ ---------- */
.faq{ display:grid; gap:10px; }
.faq-item{
  --c:var(--chamfer-sm);
  background:var(--surface); box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c));
}
.faq-item summary{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:19px 24px; cursor:pointer; list-style:none;
  font-weight:600; font-size:1rem; color:var(--text);
  transition:color .18s var(--ease);
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:""; flex:none; width:12px; height:12px;
  border-right:2.5px solid var(--green-400); border-bottom:2.5px solid var(--green-400);
  transform:rotate(45deg) translate(-2px,-2px);
  transition:transform .25s var(--ease);
}
.faq-item[open] summary{ color:var(--green-200); }
.faq-item[open] summary::after{ transform:rotate(-135deg) translate(-3px,-3px); }
.faq-item summary:hover{ color:var(--green-200); }
.faq-a{ padding:0 24px 22px; }
.faq-a p{ margin:0; font-size:.94rem; }
.faq-a a{ color:var(--green-400); border-bottom:1px solid rgba(80,162,80,.5); }
.faq-a a:hover{ color:var(--green-100); }

/* ---------- CTA final ---------- */
.cta{ position:relative; overflow:hidden; background:var(--bg-alt); padding-block:var(--section-y); }
.cta .cta-pattern{
  right:auto; width:min(24%,300px);
  -webkit-mask-image:linear-gradient(to left, transparent, #000 42%);
  mask-image:linear-gradient(to left, transparent, #000 42%);
  opacity:.75;
}
.cta-inner{
  position:relative; z-index:1;
  display:grid; gap:clamp(32px,4vw,52px);
  grid-template-columns:minmax(0,1fr) minmax(300px,360px);
  align-items:center;
}
.cta h2{
  font-size:clamp(1.75rem,3.8vw,2.7rem); font-weight:700; color:var(--green-200);
  max-width:22ch; margin-bottom:14px;
}
.cta > .wrap > .cta-copy > p{ max-width:64ch; }

.contact-list{ display:grid; gap:14px; }
.contact-list li{ display:block; }
.contact-list li > a,.contact-list li > .contact-row{
  display:flex; align-items:center; gap:13px;
  transition:color .18s var(--ease);
}
.contact-list a:hover strong{ color:var(--green-200); }
.ci{
  width:42px; height:42px; flex:none; display:grid; place-items:center;
  background:rgba(80,162,80,.15); color:var(--green-200);
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
}
.ci svg{ width:21px; height:21px; }
.contact-list .ct{ display:flex; flex-direction:column; align-items:flex-start; line-height:1.35; min-width:0; }
.contact-list small{ font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-dim); }
.contact-list strong{ font-size:1rem; color:var(--white); font-weight:600; overflow-wrap:anywhere; }

/* Painel lateral do CTA — espelha a caixa de contato do material institucional */
.cta-panel{
  --c:var(--chamfer);
  padding:26px 26px 28px; background:rgba(255,255,255,.035);
  box-shadow:inset 0 0 0 1px rgba(133,192,133,.32);
  clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c));
}
.cta-proof{
  margin-top:22px; padding-top:20px; border-top:1px solid rgba(133,192,133,.22);
  display:flex; flex-direction:column; gap:9px;
}
.cta-proof p{ margin:0; font-size:.86rem; }
.cta-proof strong{ color:var(--green-200); }

.cta-buttons{ display:flex; flex-wrap:wrap; gap:14px; margin:26px 0 18px; }
.cta-share{ font-size:.86rem; color:var(--text-dim); margin:0; }



/* ---------- Footer ---------- */
.site-footer{ background:#111; border-top:1px solid rgba(255,255,255,.07); padding-top:clamp(44px,6vw,68px); }
.footer-inner{
  display:grid; gap:clamp(28px,4vw,52px);
  grid-template-columns:1fr;
  padding-bottom:38px;
}
@media (min-width:620px){ .footer-inner{ grid-template-columns:1fr 1fr; } }
@media (min-width:920px){ .footer-inner{ grid-template-columns:1.5fr 1fr 1fr; } }
.footer-brand img{ height:40px; width:auto; margin-bottom:16px; }
.footer-brand p{ font-size:.9rem; max-width:38ch; margin:0; }
.site-footer h3{
  font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--green-200); margin-bottom:14px;
}
.footer-nav,.footer-contact{ display:flex; flex-direction:column; gap:9px; align-items:flex-start; }
.footer-nav a,.footer-contact a{ font-size:.9rem; color:var(--text-soft); transition:color .18s var(--ease); }
.footer-nav a:hover,.footer-contact a:hover{ color:var(--green-200); }
.footer-contact p{ font-size:.9rem; margin:0; }

.socials{ display:flex; gap:10px; margin-top:8px; }
.socials a{
  width:38px; height:38px; display:grid; place-items:center; border-radius:50%;
  background:rgba(255,255,255,.06); color:var(--text-soft);
  transition:background-color .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);
}
.socials a:hover{ background:var(--green-500); color:var(--white); transform:translateY(-3px); }
.socials svg{ width:19px; height:19px; }

.footer-legal{
  border-top:1px solid rgba(255,255,255,.07);
  padding-block:20px 26px;
  display:flex; flex-wrap:wrap; gap:8px 28px; justify-content:space-between; align-items:baseline;
}
.footer-legal p{ margin:0; font-size:.78rem; color:var(--text-dim); }
.footer-legal .disclaimer{ max-width:66ch; flex-basis:100%; }
.legal-links a{
  color:var(--text-soft); font-weight:500;
  text-decoration:underline; text-decoration-color:rgba(185,189,185,.4); text-underline-offset:3px;
  transition:color .18s var(--ease);
}
.legal-links a:hover{ color:var(--green-200); }

/* ---------- Sticky CTA (mobile) ---------- */
.sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:70;
  display:none; gap:10px; padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(17,17,17,.96); backdrop-filter:blur(10px);
  border-top:1px solid rgba(255,255,255,.09);
  transform:translateY(110%); transition:transform .3s var(--ease);
}
.sticky-cta.is-visible{ transform:translateY(0); }
.sticky-cta .btn{ flex:1; padding:13px 12px; font-size:.88rem; --c:10px; }

/* ---------- Reveal ---------- */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; } }

/* ---------- Responsivo ---------- */
@media (max-width:1040px){
  .hero-inner{ grid-template-columns:1fr; }
  .hero-inner > *{ min-width:0; }
  .cred-card{ max-width:520px; }
  .hero .hero-pattern{ width:min(52%,380px); opacity:.28; }
  .cta-inner{ grid-template-columns:1fr; }
  .cta-panel{ max-width:520px; }
}

@media (max-width:1000px){
  .nav{
    position:fixed; inset:74px 0 auto; flex-direction:column; gap:0;
    background:#151515; border-bottom:1px solid rgba(255,255,255,.09);
    padding:8px 0 16px; transform:translateY(-130%); transition:transform .3s var(--ease);
    box-shadow:0 20px 40px rgba(0,0,0,.5); max-height:calc(100vh - 74px); overflow-y:auto;
  }
  .nav.is-open{ transform:translateY(0); }
  .nav a{ padding:14px var(--pad); font-size:1rem; border-bottom:1px solid rgba(255,255,255,.05); }
  .nav a::after{ display:none; }
  .nav-toggle{ display:flex; }
  /* o .nav sai do fluxo (position:fixed), então nada empurra as ações à direita;
     precisa da mesma especificidade de .nav + .header-actions para sobrepor */
  .header-actions,.nav + .header-actions{ margin-left:auto; gap:10px; }
  .sticky-cta{ display:flex; }
  .footer-legal{ padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
}

@media (max-width:760px){
  .hero .hero-pattern{ width:min(46%,300px); opacity:.18; }
  .cta .cta-pattern{ opacity:.4; }
}

@media (max-width:560px){
  .header-inner{ gap:12px; }
  .hero-cta .btn,.cta-buttons .btn{ flex:1 1 100%; }
  .strip-inner{ flex-direction:column; }
  .footer-legal{ flex-direction:column; }
  .steps{ margin-left:0; }
  .steps li{ padding:22px 22px; }
  .steps::before{ display:none; }
  .t-num{ font-size:1.25rem; }
}

@media (max-width:480px){
  .hero-cta .btn,.cta-buttons .btn,.steps-grid .btn{ white-space:normal; }
}

@media (max-width:400px){
  .whats-label{ display:none; }
  .btn-lg{ padding:15px 20px; font-size:.98rem; }
  .btn{ padding-inline:20px; }
  .header-whats{ padding-inline:13px; }
  .sticky-cta{ gap:8px; padding-inline:10px; }
  .sticky-cta .btn{ padding-inline:8px; font-size:.84rem; white-space:normal; }
  .brand img{ height:32px; }
  .wrap{ padding-inline:16px; }
}
