/* =====================================================================
   VegControl — CAMADA DE REFINAMENTO
   Carregada DEPOIS de veg-blueprint.css. Não altera estrutura nem conteúdo:
   ajusta tokens oficiais da marca e adiciona os elementos proprietários
   (Curva de Controle, Moldura Veg, Faixa Técnica, Recorte em V, microdetalhes).
   Dosagem: 80% interface limpa · 15% formas da marca · 5% lima.
   ===================================================================== */

/* ---------- 1. TOKENS OFICIAIS ---------- */
:root{
  --paper:#F4F1E8;        /* Areia */
  --paper-2:#EBE7DA;
  --white:#FFFFFF;        /* Branco */
  --ink:#063B2B;          /* Verde Infra */
  --ink-2:#0A4B36;
  --forest:#0E5A3F;       /* primário — profundo, de engenharia */
  --forest-d:#083F2C;
  --lime:#B7E33D;         /* Lima Técnica */
  --lime-d:#9AC61E;
  --tx:#202825;           /* Grafite */
  --tx-soft:#4B5651;
  --tx-mute:#78837D;
  --line:rgba(32,40,37,.15);
  --line-2:rgba(32,40,37,.08);
  --font:'Inter',system-ui,sans-serif;
  --disp:'Sora','Inter',sans-serif;
  --veg-r:26px;           /* raio da Moldura Veg */
  --veg-r-sm:16px;
}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.03em}
.sec-head h2,.hero h1,.cta h2{text-wrap:pretty}
body{font-feature-settings:'cv05','ss01'}

/* ---------- 2. ACABAMENTO DOS COMPONENTES ---------- */
/* sombras discretas (nada pesado) */
.svc-media{box-shadow:0 14px 30px -24px rgba(6,59,43,.42)}
.svc-card:hover .svc-media{box-shadow:0 30px 52px -32px rgba(6,59,43,.5)}
.spec-card{box-shadow:0 20px 44px -32px rgba(6,59,43,.34)}
.ba{box-shadow:0 24px 50px -34px rgba(6,59,43,.4)}
.btn-solid{box-shadow:0 8px 18px -12px rgba(6,59,43,.55)}
/* transições uniformes 200–400ms */
.btn,.risk,.cred,.step,.card,.faq-item{transition-duration:.28s}
/* hover: elevação mínima e controlada */
.risk:hover,.cred:hover{transform:translateY(-4px)}
.svc-card:hover{transform:translateY(-6px)}
/* gradiente decorativo do CTA removido (fora do padrão da marca) */
.cta::after{display:none}

/* ---------- 3. MOLDURA VEG (3 cantos curvos + canto sup. dir. reto) ---------- */
/* usada só nas fotografias de destaque: serviços e antes/depois */
.svc-media,.ba{border-radius:var(--veg-r) 0 var(--veg-r) var(--veg-r)}
.svc-ring{display:none} /* substituído pela moldura proprietária */
.svc-media::after{content:'';position:absolute;top:0;right:0;width:44px;height:2px;background:var(--lime);z-index:3;
  transform:scaleX(0);transform-origin:100% 50%;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.svc-card:hover .svc-media::after,.svc-card:focus-visible .svc-media::after{transform:scaleX(1)}

/* ---------- 4. FAIXA TÉCNICA (linha lima que termina em quadrado) ---------- */
.tline{position:relative;height:1.5px;width:0;max-width:100%;background:var(--lime);
  transition:width .7s cubic-bezier(.22,1,.36,1)}
.tline::after{content:'';position:absolute;right:-9px;top:-3.5px;width:9px;height:9px;background:var(--lime);
  opacity:0;transition:opacity .25s .5s}
.tline.drawn{width:var(--tl,300px)}
.tline.drawn::after{opacity:1}
.hero .tline{margin:30px 0 0;--tl:300px}
/* timeline do método: trilho existente ganha avanço em lima */
.proc-line{background-color:var(--wline);background-image:linear-gradient(var(--lime),var(--lime));
  background-repeat:no-repeat;background-size:0 100%;transition:background-size 1.1s cubic-bezier(.22,1,.36,1)}
.proc-line.drawn{background-size:100% 100%}
.proc-line::after{content:'';position:absolute;right:-4px;top:-4px;width:9px;height:9px;background:var(--lime);
  opacity:0;transition:opacity .25s .8s}
.proc-line.drawn::after{opacity:1}

/* ---------- 5. CURVA DE CONTROLE ---------- */
.vcurve{position:absolute;pointer-events:none;z-index:2;overflow:visible}
.vcurve path{stroke-linecap:round}
.vcurve .p1{stroke-width:1.3}
.vcurve .p2{stroke-width:1}
.vcurve path{stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 1.5s cubic-bezier(.22,1,.36,1)}
.vcurve .p2{transition-delay:.14s}
.vcurve.drawn path{stroke-dashoffset:0}
.vcurve .mk{opacity:0;transition:opacity .3s .95s}
.vcurve.drawn .mk{opacity:1}
.vcurve-hero{top:-40px;left:-70px;width:min(640px,58vw);height:auto;color:rgba(255,255,255,.3)}
.vcurve-cta{right:-90px;bottom:-70px;width:min(560px,52vw);height:auto;color:rgba(255,255,255,.18)}
.cta{position:relative;overflow:hidden}
.cta .wrap{position:relative;z-index:2}

/* ---------- 6. RECORTE EM V (transição entre blocos) ---------- */
.vcut::after{content:'';position:absolute;left:50%;bottom:-15px;transform:translateX(-50%);
  width:54px;height:16px;background:inherit;clip-path:polygon(0 0,100% 0,50% 100%);z-index:6;pointer-events:none}

/* ---------- 7. MICRODETALHES ---------- */
/* hero: a curva passa a ser o elemento dominante — o antigo "visor" sai,
   fica apenas a coordenada tecnica */
.vf i{display:none}
/* sombra do hero na cor oficial (Verde Infra) */
.hero-shade{background:linear-gradient(92deg,rgba(6,59,43,.94) 0%,rgba(6,59,43,.76) 40%,rgba(6,59,43,.3) 72%,rgba(6,59,43,.05) 100%)}
.hero-shade::after{background:linear-gradient(180deg,rgba(6,59,43,.48),transparent 24%,transparent 58%,rgba(6,59,43,.72))}
.hero-strip{background:rgba(6,59,43,.55)}
.sec-head h2{margin-top:20px}
.nums .nv{letter-spacing:-.045em}
.pstep .pnode{border-radius:var(--veg-r-sm) 0 var(--veg-r-sm) var(--veg-r-sm)}
.cred-mark{border-radius:var(--veg-r-sm) 0 var(--veg-r-sm) var(--veg-r-sm)}
.mdrawer-links a i{color:var(--lime)}

/* ---------- 8. RESPONSIVO: menos decoração ---------- */
@media (max-width:1000px){
  .vcurve-cta{display:none}          /* mantém só o elemento dominante */
  .vcurve-hero{width:min(420px,72vw);left:-100px;top:-30px;opacity:.7}
}
@media (max-width:640px){
  :root{--veg-r:20px;--veg-r-sm:13px}
  .vcurve-hero{display:none}         /* evita linha atravessando o texto */
  .hero .tline{--tl:180px;margin-top:24px}
  .vcut::after{width:42px;height:13px;bottom:-12px}
  .hero-shade{background:linear-gradient(180deg,rgba(6,59,43,.62) 0%,rgba(6,59,43,.3) 26%,rgba(6,59,43,.7) 60%,rgba(6,59,43,.95) 100%)}
}
@media (prefers-reduced-motion:reduce){
  .vcurve path,.tline,.proc-line,.vcurve .mk,.tline::after,.proc-line::after{transition:none}
  .vcurve path{stroke-dashoffset:0}
  .tline{width:var(--tl,300px)}
  .proc-line{background-size:100% 100%}
  .vcurve .mk,.tline::after,.proc-line::after{opacity:1}
}
