/* =========================================================
   TRANS PIRIQUITO — transpiriquito.com.br
   Paleta institucional: #0D6045 · #F58634 · #201E1E
   Temas: escuro (padrão) e claro — data-tema no <html>
   ========================================================= */

:root{
  /* ---- marca (fixas nos dois temas) ---- */
  --verde:#0D6045;
  --verde-2:#17835F;
  --laranja:#F58634;
  --laranja-2:#FFA55C;
  --laranja-3:#D9701F;
  --preto:#201E1E;

  --r:14px;
  --r-lg:22px;
  --max:1220px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --hdr-h:76px;
}

/* =============== TEMA ESCURO (padrão) =============== */
:root,
html[data-tema="escuro"]{
  --pagina:#04120D;
  --neon:#2ED08F;
  --acento-fg:#1A1207;

  /* banda A — superfície principal */
  --a-bg:#07190F;
  --a-bg2:#0A2118;
  --a-fg:#EAF2ED;
  --a-fg2:#A9BDB2;
  --a-fg3:#7E9488;
  --a-linha:rgba(255,255,255,.10);
  --a-linha2:rgba(255,255,255,.06);
  --a-card:rgba(255,255,255,.045);
  --a-card-h:rgba(255,255,255,.08);

  /* banda B — superfície alternada */
  --b-bg:#F2F5F2;
  --b-bg2:#E6EBE7;
  --b-fg:#152A20;
  --b-fg2:#4A6255;
  --b-fg3:#6C8175;
  --b-linha:rgba(13,42,32,.13);
  --b-linha2:rgba(13,42,32,.07);
  --b-card:#FFFFFF;
  --b-card-h:#FFFFFF;

  /* header / hero */
  --hdr-bg:rgba(4,18,13,.86);
  --hdr-fg:#EAF2ED;
  --hero-veil:linear-gradient(90deg,rgba(4,18,13,.95) 0%,rgba(4,18,13,.82) 38%,rgba(4,18,13,.35) 70%,rgba(4,18,13,.62) 100%),
              linear-gradient(180deg,rgba(4,18,13,.9) 0%,transparent 28%,rgba(4,18,13,.55) 72%,var(--pagina) 100%);
  --hero-fg:#FFFFFF;
  --hero-fg2:#C9D9D0;
  --cta-veil:linear-gradient(180deg,var(--pagina) 0%,rgba(4,18,13,.84) 30%,rgba(4,18,13,.93) 100%),
             radial-gradient(ellipse 60% 60% at 20% 40%,rgba(13,96,69,.5),transparent 65%);
  --cta-img-op:.55;
  --frota-veil:linear-gradient(90deg,rgba(4,18,13,.95) 0%,rgba(4,18,13,.78) 44%,rgba(4,18,13,.2) 76%,rgba(4,18,13,.42) 100%),
               linear-gradient(180deg,var(--pagina) 0%,rgba(4,18,13,.3) 20%,rgba(4,18,13,.34) 80%,var(--pagina) 100%);
  --grade:rgba(255,255,255,.045);
  --sombra:0 40px 90px -50px #000;
  --sombra-sec:0 24px 60px -40px rgba(0,0,0,.8);
  --vidro:blur(14px) saturate(1.3);
}

/* =============== TEMA CLARO =============== */
html[data-tema="claro"]{
  --pagina:#FFFFFF;
  --neon:#0D6045;
  --acento-fg:#241505;

  --a-bg:#FFFFFF;
  --a-bg2:#F4F8F5;
  --a-fg:#0E2018;
  --a-fg2:#486053;
  --a-fg3:#7A9084;
  --a-linha:rgba(13,42,32,.14);
  --a-linha2:rgba(13,42,32,.07);
  --a-card:#F6F9F7;
  --a-card-h:#EEF5F0;

  --b-bg:#E9F0EB;
  --b-bg2:#DDE7E0;
  --b-fg:#0E2018;
  --b-fg2:#42594D;
  --b-fg3:#6C8175;
  --b-linha:rgba(13,42,32,.16);
  --b-linha2:rgba(13,42,32,.08);
  --b-card:#FFFFFF;
  --b-card-h:#FFFFFF;

  --hdr-bg:rgba(255,255,255,.88);
  --hdr-fg:#0E2018;
  --hero-veil:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.94) 40%,rgba(255,255,255,.55) 70%,rgba(255,255,255,.7) 100%),
              linear-gradient(180deg,rgba(255,255,255,.9) 0%,transparent 32%,rgba(255,255,255,.65) 74%,var(--pagina) 100%);
  --hero-fg:#0B1A13;
  --hero-fg2:#3C5348;
  --cta-veil:linear-gradient(180deg,var(--pagina) 0%,rgba(255,255,255,.86) 26%,rgba(255,255,255,.93) 100%),
             radial-gradient(ellipse 60% 60% at 20% 40%,rgba(13,96,69,.14),transparent 65%);
  --cta-img-op:.5;
  --frota-veil:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.87) 44%,rgba(255,255,255,.22) 76%,rgba(255,255,255,.4) 100%),
               linear-gradient(180deg,var(--pagina) 0%,rgba(255,255,255,.12) 20%,rgba(255,255,255,.18) 80%,var(--pagina) 100%);
  --grade:rgba(13,42,32,.07);
  --sombra:0 30px 70px -45px rgba(13,42,32,.4);
  --sombra-sec:0 22px 54px -38px rgba(13,42,32,.32);
  --vidro:blur(14px) saturate(1.2);
}

/* =============== TONS DE SEÇÃO =============== */
.tom-a{
  --bg:var(--a-bg); --bg2:var(--a-bg2); --fg:var(--a-fg); --fg2:var(--a-fg2); --fg3:var(--a-fg3);
  --linha:var(--a-linha); --linha2:var(--a-linha2); --card:var(--a-card); --card-h:var(--a-card-h);
}
.tom-b{
  --bg:var(--b-bg); --bg2:var(--b-bg2); --fg:var(--b-fg); --fg2:var(--b-fg2); --fg3:var(--b-fg3);
  --linha:var(--b-linha); --linha2:var(--b-linha2); --card:var(--b-card); --card-h:var(--b-card-h);
}

/* =========================================================
   BASE
   ========================================================= */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr-h) + 10px);-webkit-text-size-adjust:100%}
body{
  font-family:'Barlow',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  background:var(--pagina);
  color:var(--a-fg);
  font-size:17px;line-height:1.62;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  transition:background .4s var(--ease),color .4s var(--ease);
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
svg text,svg tspan{stroke:none;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700}

.container{width:min(100% - 2.5rem,var(--max));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px;top:0;z-index:200;background:var(--laranja);color:#111;padding:.7rem 1.2rem;font-weight:700}
.skip:focus{left:.5rem;top:.5rem}
::selection{background:var(--laranja);color:#12100F}

/* ---------- tipografia ---------- */
.eyebrow{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;font-size:.83rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--laranja);
  margin-bottom:1rem;display:flex;align-items:center;gap:.7rem;
}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--laranja);flex:none}
.eyebrow--verde{color:var(--neon)}
.eyebrow--verde::before{background:var(--neon)}

.h2{font-size:clamp(1.85rem,3.5vw,2.95rem);font-weight:800;line-height:1.1;letter-spacing:-.022em;
  margin-bottom:1.1rem;text-wrap:balance;color:var(--fg,inherit)}
.h3{font-size:clamp(1.2rem,2vw,1.55rem);font-weight:700;letter-spacing:-.015em;margin-bottom:.5rem}
.lead{font-size:clamp(1.03rem,1.3vw,1.14rem);color:var(--fg2);max-width:66ch;line-height:1.66}
.txt-laranja{color:var(--laranja)}
.txt-verde{color:var(--neon)}
.grad{background:linear-gradient(100deg,var(--laranja) 0%,var(--laranja-2) 45%,#FFD3A8 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
html[data-tema="claro"] .grad{background:linear-gradient(100deg,var(--laranja-3) 0%,var(--laranja) 60%,#E8912F 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:1rem 1.6rem;border-radius:100px;border:1px solid transparent;
  font-weight:700;font-size:.98rem;cursor:pointer;text-align:center;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,color .25s,border-color .25s;
}
.btn svg{width:19px;height:19px;stroke-width:2.2;transition:transform .25s var(--ease)}
.btn--laranja{background:var(--laranja);color:var(--acento-fg);box-shadow:0 10px 34px -12px rgba(245,134,52,.75)}
.btn--laranja:hover{background:var(--laranja-2);transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(245,134,52,.9)}
.btn--laranja:hover svg{transform:translateX(4px)}
.btn--ghost{border-color:color-mix(in srgb,var(--hero-fg) 34%,transparent);color:var(--hero-fg)}
.btn--ghost:hover{border-color:var(--hero-fg);background:color-mix(in srgb,var(--hero-fg) 9%,transparent);transform:translateY(-2px)}
.btn--full{width:100%;margin-top:.4rem}

/* =========================================================
   HEADER
   ========================================================= */
.hdr{position:fixed;inset:0 0 auto 0;z-index:100;border-bottom:1px solid transparent;
  transition:background .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.hdr.is-fixo{background:var(--hdr-bg);backdrop-filter:var(--vidro);
  border-bottom-color:var(--a-linha2);box-shadow:0 10px 40px -22px rgba(0,0,0,.55)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;height:var(--hdr-h)}
.hdr__logo img{width:auto;height:56px;transition:height .3s var(--ease)}
.hdr.is-fixo .hdr__logo img{height:44px}

.nav{display:flex;align-items:center;gap:.2rem}
.nav a{padding:.55rem .7rem;border-radius:8px;font-size:.92rem;font-weight:600;
  color:color-mix(in srgb,var(--hdr-fg) 68%,transparent);position:relative;transition:color .2s}
.nav a:hover,.nav a.is-ativo{color:var(--hdr-fg)}
.nav a.is-ativo::after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.25rem;height:2px;
  background:var(--laranja);border-radius:2px}
.nav__cta{margin-left:.5rem;background:var(--laranja);color:var(--acento-fg)!important;
  padding:.62rem 1.1rem!important;border-radius:100px;font-weight:700;
  box-shadow:0 8px 26px -12px rgba(245,134,52,.8)}
.nav__cta:hover{background:var(--laranja-2)}
.nav__cta::after{display:none!important}

/* ---------- interruptor de tema ---------- */
.tema{
  margin-left:.55rem;position:relative;flex:none;width:62px;height:32px;border-radius:100px;
  border:1px solid color-mix(in srgb,var(--hdr-fg) 24%,transparent);
  background:color-mix(in srgb,var(--hdr-fg) 8%,transparent);
  cursor:pointer;display:flex;align-items:center;padding:0 4px;
  transition:background .3s,border-color .3s;
}
.tema:hover{border-color:var(--laranja)}
.tema__bola{
  position:absolute;left:3px;top:2px;width:26px;height:26px;border-radius:50%;
  background:var(--laranja);box-shadow:0 3px 10px rgba(0,0,0,.35);
  transition:transform .35s var(--ease),background .35s;
}
html[data-tema="claro"] .tema__bola{transform:translateX(30px)}
.tema svg{width:15px;height:15px;stroke-width:2;position:relative;z-index:2;
  color:color-mix(in srgb,var(--hdr-fg) 60%,transparent);transition:color .3s}
.tema__lua{margin-left:5px}
.tema__sol{margin-left:auto;margin-right:5px}
html[data-tema="escuro"] .tema__lua{color:var(--acento-fg)}
html[data-tema="claro"] .tema__sol{color:var(--acento-fg)}
.tema:focus-visible{outline:2px solid var(--laranja);outline-offset:3px}

.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.burger span{position:absolute;left:11px;width:22px;height:2px;background:var(--hdr-fg);border-radius:2px;
  transition:transform .3s var(--ease),opacity .2s}
.burger span:nth-child(1){top:15px}
.burger span:nth-child(2){top:21px}
.burger span:nth-child(3){top:27px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;
  padding:calc(var(--hdr-h) + 3rem) 0 5rem;overflow:hidden;color:var(--hero-fg)}
.hero__bg{position:absolute;inset:0;z-index:0;
  background:url(../img/hero.jpg) center 45%/cover no-repeat;
  animation:heroZoom 22s var(--ease) forwards}
html[data-tema="claro"] .hero__bg{background-image:url(../img/hero-claro.jpg);background-position:34% 45%}
@media (max-width:800px){
  .hero__bg{background-image:url(../img/hero-mobile.jpg)}
  html[data-tema="claro"] .hero__bg{background-image:url(../img/hero-claro-mobile.jpg)}
}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero__veil{position:absolute;inset:0;z-index:1;background:var(--hero-veil)}
.grid-lines{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.55;
  background-image:linear-gradient(var(--grade) 1px,transparent 1px),
                   linear-gradient(90deg,var(--grade) 1px,transparent 1px);
  background-size:74px 74px;
  mask-image:radial-gradient(ellipse 90% 70% at 30% 40%,#000 20%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 30% 40%,#000 20%,transparent 80%)}
.hero__in{position:relative;z-index:2}
.hero__h1{font-size:clamp(2.2rem,5.2vw,4.35rem);font-weight:800;line-height:1.04;
  letter-spacing:-.032em;margin-bottom:1.3rem;max-width:23ch}
.hero__sub{font-size:clamp(1.05rem,1.5vw,1.22rem);color:var(--hero-fg2);max-width:60ch;line-height:1.6}
.hero__sub strong{color:var(--hero-fg)}
.hero__acoes{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem}

.hero__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:3.4rem;
  background:color-mix(in srgb,var(--hero-fg) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--hero-fg) 12%,transparent);
  border-radius:var(--r);overflow:hidden;max-width:920px}
.hero__stats li{background:color-mix(in srgb,var(--pagina) 62%,transparent);
  backdrop-filter:blur(6px);padding:1.15rem 1.25rem}
.hero__stats b{display:block;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:800;line-height:1.1;
  color:var(--laranja);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.hero__stats span{display:block;margin-top:.25rem;font-size:.82rem;line-height:1.35;
  color:color-mix(in srgb,var(--hero-fg) 62%,transparent);
  font-family:'Barlow Semi Condensed',sans-serif;letter-spacing:.05em;text-transform:uppercase;font-weight:500}

.hero__scroll{position:absolute;left:50%;bottom:1.6rem;transform:translateX(-50%);z-index:3;
  width:26px;height:42px;border:2px solid color-mix(in srgb,var(--hero-fg) 30%,transparent);border-radius:14px}
.hero__scroll span{position:absolute;left:50%;top:8px;width:3px;height:7px;background:var(--laranja);
  border-radius:2px;transform:translateX(-50%);animation:scrollDot 1.9s infinite}
@keyframes scrollDot{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,15px)}}

/* =========================================================
   FAIXA DE CONFORMIDADE
   ========================================================= */
.faixa{background:var(--verde);padding:1.5rem 0;position:relative;z-index:3;color:#fff}
.faixa .container{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap}
.faixa__label{font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;font-size:.8rem;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.62);flex:none}
.faixa__itens{display:flex;flex-wrap:wrap;gap:.55rem;flex:1}
.faixa__itens li{border:1px solid rgba(255,255,255,.3);border-radius:100px;padding:.3rem .95rem;
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.07em;
  transition:background .25s,border-color .25s}
.faixa__itens li:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.55)}

/* =========================================================
   SEÇÕES
   ========================================================= */
.sec{padding:clamp(4.2rem,7.5vw,7rem) 0;position:relative;background:var(--bg);color:var(--fg);
  transition:background .4s var(--ease),color .4s var(--ease)}
.sec__head{margin-bottom:3rem;max-width:56rem}
.sec__head--centro{margin-inline:auto;text-align:center}
.sec__head--centro .eyebrow{justify-content:center}
.sec__head--centro .lead{margin-inline:auto}

.destaque{margin-top:2.8rem;padding:1.5rem 1.9rem;border-left:3px solid var(--laranja);
  background:linear-gradient(90deg,color-mix(in srgb,var(--laranja) 14%,transparent),transparent 80%);
  border-radius:0 var(--r) var(--r) 0;
  font-size:clamp(1.08rem,1.8vw,1.38rem);font-weight:700;line-height:1.42;letter-spacing:-.012em}
.nota{margin-top:1.8rem;font-size:.86rem;line-height:1.6;color:var(--fg3);max-width:80ch;
  border-top:1px solid var(--linha2);padding-top:1.1rem}

/* ---------- superfícies reutilizáveis ---------- */
.cx{background:var(--card);border:1px solid var(--linha);border-radius:var(--r-lg);
  transition:transform .35s var(--ease),border-color .35s,background .35s,box-shadow .35s}
.cx:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--laranja) 45%,transparent);background:var(--card-h)}

/* =========================================================
   DIAGRAMAS (SVG)
   ========================================================= */
.dg{width:100%;height:auto;display:block;overflow:visible}
.dg text{stroke:none;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700}
.dg .rot{stroke:var(--laranja);stroke-width:3;fill:none}
.dg .rot-fraca{stroke:var(--fg3);stroke-width:2.5;fill:none;opacity:.45}
.traco{stroke-dasharray:var(--len,1200);stroke-dashoffset:var(--len,1200)}
.is-vis .traco{animation:tracar 2.2s var(--ease) forwards}
.is-vis .traco.d1{animation-delay:.15s}
.is-vis .traco.d2{animation-delay:.3s}
.is-vis .traco.d3{animation-delay:.45s}
.is-vis .traco.d4{animation-delay:.6s}
@keyframes tracar{to{stroke-dashoffset:0}}

/* =========================================================
   HUB — ECOSSISTEMA
   ========================================================= */
.hub{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;align-items:stretch}
.hub__svg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.hub__svg path{stroke:color-mix(in srgb,var(--laranja) 70%,transparent);stroke-width:2;fill:none;
  stroke-dasharray:5 5}
.hub .card,.hub__centro{position:relative;z-index:1}
.hub__centro{
  grid-column:2;grid-row:2;display:grid;place-items:center;text-align:center;padding:1.8rem 1.2rem;
  border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--laranja) 40%,transparent);
  background:linear-gradient(150deg,color-mix(in srgb,var(--laranja) 16%,transparent),var(--card));
  box-shadow:0 0 60px -22px var(--laranja);
}
.hub__centro svg{width:46px;height:46px;color:var(--laranja);margin-bottom:.6rem}
.hub__centro b{display:block;font-size:1.05rem;font-weight:800;letter-spacing:-.01em}
.hub__centro span{font-size:.82rem;color:var(--fg3);font-family:'Barlow Semi Condensed',sans-serif;
  text-transform:uppercase;letter-spacing:.12em}

.card{background:var(--card);border:1px solid var(--linha);border-radius:var(--r-lg);
  padding:1.6rem 1.35rem;position:relative;overflow:hidden;
  transition:transform .35s var(--ease),border-color .35s,background .35s}
.card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--laranja) 45%,transparent);background:var(--card-h)}
.card__ico{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;margin-bottom:1rem;
  background:color-mix(in srgb,var(--laranja) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--laranja) 32%,transparent);color:var(--laranja)}
.card__ico svg{width:24px;height:24px}
.card h3{font-size:1.06rem;font-weight:700;margin-bottom:.4rem;letter-spacing:-.01em}
.card p{font-size:.92rem;color:var(--fg2);line-height:1.55}

/* =========================================================
   PROBLEMA / EMARANHADO CIF
   ========================================================= */
.emaranhado{margin-bottom:2.6rem;border-radius:var(--r-lg);border:1px solid var(--linha);
  background:var(--card);padding:1.4rem 1.2rem;overflow:hidden}
.emaranhado svg{width:100%;height:auto}
.emaranhado .fio{stroke:var(--fg3);stroke-width:2.2;fill:none;opacity:.5}
.emaranhado .no{fill:var(--fg3);stroke:none;opacity:.5}
.emaranhado .rot-txt{fill:var(--fg2);font-size:15px;letter-spacing:.05em}
.emaranhado .alerta{fill:var(--laranja);stroke:none}

.riscos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.risco{border:1px solid var(--linha);border-radius:var(--r-lg);padding:1.7rem 1.4rem;background:var(--card);
  transition:transform .35s var(--ease),border-color .35s,background .35s}
.risco:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--laranja) 45%,transparent);background:var(--card-h)}
.risco__n{font-family:'Barlow Semi Condensed',sans-serif;font-size:2.5rem;font-weight:700;line-height:1;
  color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--laranja) 62%,transparent);
  display:block;margin-bottom:.6rem}
.risco h3{font-size:1.1rem;font-weight:700;margin-bottom:.45rem}
.risco p{font-size:.93rem;color:var(--fg2);line-height:1.55}

/* =========================================================
   FOB — PRISMA
   ========================================================= */
.prisma{border-radius:var(--r-lg);border:1px solid var(--linha);background:var(--card);
  padding:1.6rem;margin-bottom:1.1rem;overflow:hidden}
.prisma svg{width:100%;height:auto}
.prisma .fio{stroke:var(--fg3);stroke-width:2;fill:none;opacity:.42}
.prisma .lente{fill:none;stroke:var(--laranja);stroke-width:2.5}
.prisma .lente-fill{fill:color-mix(in srgb,var(--verde) 30%,transparent);stroke:none}
.prisma .lv{stroke:var(--neon);stroke-width:4;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--neon) 70%,transparent))}
.prisma .ll{stroke:var(--laranja);stroke-width:4;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--laranja) 70%,transparent))}

.fob__linhas{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-bottom:1.1rem}
.fob__linha{border-radius:var(--r-lg);padding:1.6rem;border:1px solid var(--linha);
  background:var(--card);position:relative;overflow:hidden}
.fob__linha::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}
.fob__linha--verde::before{background:var(--neon);box-shadow:0 0 22px 3px color-mix(in srgb,var(--neon) 60%,transparent)}
.fob__linha--laranja::before{background:var(--laranja);box-shadow:0 0 22px 3px color-mix(in srgb,var(--laranja) 60%,transparent)}
.fob__tag{display:block;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;margin-bottom:.5rem}
.fob__linha--verde .fob__tag{color:var(--neon)}
.fob__linha--laranja .fob__tag{color:var(--laranja)}
.fob__linha p{font-size:1rem;color:var(--fg2)}
.fob__linha strong{color:var(--fg)}

.fob__antes{display:grid;grid-template-columns:1fr auto 1fr;gap:1.1rem;align-items:stretch}
.fob__box{border-radius:var(--r-lg);padding:1.7rem 1.6rem;border:1px solid var(--linha);background:var(--card)}
.fob__box--de{opacity:.82}
.fob__box--para{background:linear-gradient(150deg,color-mix(in srgb,var(--verde) 40%,transparent),var(--card));
  border-color:color-mix(in srgb,var(--neon) 40%,transparent)}
.fob__box h4{font-family:'Barlow Semi Condensed',sans-serif;text-transform:uppercase;letter-spacing:.14em;
  font-size:.88rem;font-weight:700;margin-bottom:.85rem}
.fob__box--de h4{color:var(--fg3)}
.fob__box--para h4{color:var(--neon)}
.fob__box li{padding-left:1.2rem;position:relative;margin-bottom:.5rem;color:var(--fg2);font-size:.96rem}
.fob__box li::before{content:"";position:absolute;left:0;top:.68em;width:6px;height:6px;border-radius:50%;
  background:currentColor;opacity:.5}
.fob__seta{display:grid;place-items:center;color:var(--laranja)}
.fob__seta svg{width:36px;height:36px;stroke-width:2}

/* =========================================================
   FISCAL — CASCATA
   ========================================================= */
.cascata{border-radius:var(--r-lg);border:1px solid var(--linha);background:var(--card);
  padding:2rem 1.6rem 1.4rem;margin-bottom:1.1rem;overflow-x:auto}
.cascata svg{width:100%;min-width:640px;height:auto}
.cascata .barra-cif{fill:color-mix(in srgb,var(--fg3) 45%,transparent)}
.cascata .barra-tri{fill:var(--laranja)}
.cascata .barra-fim{fill:var(--verde-2)}
.cascata .eixo{stroke:var(--linha);stroke-width:1.5}
.cascata .liga{stroke:var(--laranja);stroke-width:1.5;fill:none;opacity:.75}
.cascata .rot-t{fill:var(--fg);font-size:13px}
.cascata .rot-s{fill:var(--fg3);font-size:11.5px;font-weight:600}
.cascata .selo{fill:var(--laranja)}
.cascata .selo-txt{fill:var(--acento-fg);font-size:15px}

.fiscal{display:grid;grid-template-columns:minmax(260px,.85fr) 1.4fr;gap:2.4rem;align-items:center;
  background:var(--card);border-radius:var(--r-lg);padding:2.4rem;border:1px solid var(--linha);
  box-shadow:var(--sombra-sec)}
.fiscal__num b{display:block;font-size:clamp(3.2rem,7.5vw,5.2rem);font-weight:800;line-height:.95;
  letter-spacing:-.045em;color:var(--laranja);font-variant-numeric:tabular-nums}
.fiscal__num p{margin-top:.7rem;color:var(--fg2);font-size:1rem;line-height:1.5}
.fiscal__itens{display:grid;gap:.85rem}
.fiscal__item{display:flex;align-items:center;gap:1.1rem;padding:1rem 1.2rem;background:var(--bg2);
  border-radius:var(--r);border-left:3px solid var(--verde)}
.fiscal__item p{font-size:.94rem;color:var(--fg2);line-height:1.45}
.pill{flex:none;min-width:116px;text-align:center;background:var(--verde);color:#fff;
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;letter-spacing:.06em;
  padding:.34rem .8rem;border-radius:100px;font-size:.9rem}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.1rem}
.duo__card{border-radius:var(--r-lg);padding:1.8rem 1.6rem;border:1px solid var(--linha);background:var(--card);
  transition:transform .35s var(--ease),border-color .35s}
.duo__card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--laranja) 45%,transparent)}
.duo__card h3{font-size:1.2rem;font-weight:700;margin-bottom:.55rem;letter-spacing:-.015em}
.duo__card p{color:var(--fg2);font-size:.97rem}

/* =========================================================
   CALCULADORA
   ========================================================= */
.sec--calc{background:
  radial-gradient(ellipse 60% 60% at 15% 20%,color-mix(in srgb,var(--verde) 45%,transparent),transparent 60%),
  radial-gradient(ellipse 50% 50% at 85% 80%,color-mix(in srgb,var(--laranja) 16%,transparent),transparent 60%),
  var(--bg);overflow:hidden}
.calc{display:grid;grid-template-columns:1.1fr .9fr;gap:2.4rem;align-items:center;
  background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(16px);
  border:1px solid var(--linha);border-radius:var(--r-lg);padding:2.4rem;
  box-shadow:var(--sombra);position:relative;z-index:2}
.calc__ctrl label{display:block;font-family:'Barlow Semi Condensed',sans-serif;text-transform:uppercase;
  letter-spacing:.16em;font-size:.84rem;font-weight:600;color:var(--fg3);margin-bottom:.35rem}
.calc__ctrl output{display:block;font-size:clamp(2rem,4.4vw,3rem);font-weight:800;letter-spacing:-.035em;
  color:var(--fg);line-height:1.1;margin-bottom:1.5rem;font-variant-numeric:tabular-nums}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:100px;
  background:linear-gradient(90deg,var(--laranja) 0%,var(--laranja) var(--pos,25%),var(--linha) var(--pos,25%));
  cursor:pointer;outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;
  background:var(--bg);border:5px solid var(--laranja);box-shadow:0 4px 16px rgba(0,0,0,.35);cursor:grab;transition:transform .2s}
input[type=range]::-webkit-slider-thumb:active{transform:scale(1.15);cursor:grabbing}
input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--bg);
  border:5px solid var(--laranja);box-shadow:0 4px 16px rgba(0,0,0,.35);cursor:grab}
input[type=range]:focus-visible{outline:2px solid var(--laranja);outline-offset:6px}
.calc__escala{display:flex;justify-content:space-between;margin-top:.6rem;font-size:.8rem;color:var(--fg3);
  font-family:'Barlow Semi Condensed',sans-serif;letter-spacing:.06em}
.calc__res{display:grid;gap:.85rem}
.calc__res-item{border:1px solid var(--linha);border-radius:var(--r);padding:1rem 1.2rem;background:var(--card)}
.calc__res-item span{display:block;font-family:'Barlow Semi Condensed',sans-serif;text-transform:uppercase;
  letter-spacing:.14em;font-size:.75rem;color:var(--fg3);margin-bottom:.15rem}
.calc__res-item b{font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.015em}
.calc__res-item--big{background:linear-gradient(140deg,color-mix(in srgb,var(--laranja) 20%,transparent),transparent);
  border-color:color-mix(in srgb,var(--laranja) 45%,transparent)}
.calc__res-item--big b{font-size:clamp(1.9rem,3.3vw,2.4rem);color:var(--laranja);display:block;line-height:1.1}

/* =========================================================
   TABELA COMPARATIVA
   ========================================================= */
.tabela-wrap{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--linha);background:var(--card);
  box-shadow:var(--sombra-sec)}
.tabela{width:100%;border-collapse:collapse;min-width:820px}
.tabela th,.tabela td{padding:1.2rem 1.3rem;text-align:left;vertical-align:top;font-size:.96rem;line-height:1.5}
.tabela thead th{font-family:'Barlow Semi Condensed',sans-serif;font-size:1.06rem;letter-spacing:.05em;
  font-weight:700;padding-block:1.35rem}
.tabela thead th small{display:block;font-size:.8rem;font-weight:500;opacity:.75;letter-spacing:.02em}
.th-cif{background:var(--bg2);color:var(--fg3);width:35%}
.th-fob{background:var(--laranja);color:var(--acento-fg);width:38%}
.tabela tbody th{font-weight:700;color:var(--neon);width:27%;background:var(--bg2);border-top:1px solid var(--linha2)}
.tabela tbody td{border-top:1px solid var(--linha2);position:relative;padding-left:3rem}
.td-cif{color:var(--fg3)}
.td-fob{background:color-mix(in srgb,var(--verde) 8%,transparent);color:var(--fg)}
.td-fob strong{color:var(--neon)}
.mk{position:absolute;left:1.25rem;top:1.3rem;width:20px;height:20px;border-radius:50%}
.mk--x{background:color-mix(in srgb,var(--fg3) 55%,transparent)}
.mk--x::before,.mk--x::after{content:"";position:absolute;left:5px;top:9px;width:10px;height:2px;background:var(--card)}
.mk--x::before{transform:rotate(45deg)}
.mk--x::after{transform:rotate(-45deg)}
.mk--v{background:var(--laranja)}
.mk--v::before{content:"";position:absolute;left:6px;top:5px;width:6px;height:10px;
  border:2px solid var(--acento-fg);border-top:0;border-left:0;transform:rotate(42deg)}

/* =========================================================
   D0 — LINHA DO TEMPO COMPARATIVA
   ========================================================= */
.d0dia{border-radius:var(--r-lg);border:1px solid var(--linha);background:var(--card);padding:2rem 1.6rem 1.5rem;
  overflow-x:auto;margin-bottom:1.1rem}
.d0dia svg{width:100%;min-width:660px;height:auto}
.d0dia .via-tp{stroke:var(--laranja);stroke-width:5;fill:none}
.d0dia .via-cif{stroke:var(--fg3);stroke-width:4;fill:none;opacity:.6}
.d0dia .no-tp{fill:none;stroke:var(--laranja);stroke-width:4}
.d0dia .stop{fill:color-mix(in srgb,var(--fg3) 60%,transparent);stroke:none}
.d0dia .stop-txt{fill:var(--card);font-size:9px;letter-spacing:.04em}
.d0dia .rot-t{fill:var(--fg);font-size:13.5px}
.d0dia .rot-s{fill:var(--fg3);font-size:12px;font-weight:600}
.d0dia .cam{fill:var(--laranja);stroke:none}

.d0{display:grid;grid-template-columns:1.1fr .9fr;gap:2.2rem;align-items:center;
  background:var(--verde);color:#fff;border-radius:var(--r-lg);padding:2.4rem;
  box-shadow:0 34px 70px -50px rgba(13,96,69,.9)}
.d0__main h3{font-size:clamp(1.35rem,2.5vw,1.85rem);font-weight:800;margin-bottom:.65rem;letter-spacing:-.02em}
.d0__main p{color:rgba(255,255,255,.86);font-size:1rem}
.d0__main strong{color:#fff}
.d0__flex{display:grid;gap:.85rem}
.d0__flex article{background:rgba(255,255,255,.12);border-radius:var(--r);padding:1.05rem 1.25rem;
  border:1px solid rgba(255,255,255,.18)}
.d0__flex h4{font-size:1rem;font-weight:700;margin-bottom:.15rem}
.d0__flex p{font-size:.9rem;color:rgba(255,255,255,.84)}
.d0__flex b{color:var(--laranja-2)}

/* =========================================================
   ANATOMIA / RAIO-X
   ========================================================= */
.anat{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--linha);
  background:var(--bg2);margin-bottom:2.4rem}
.anat img{width:100%;display:block}
.anat__ponto{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--laranja);
  box-shadow:0 0 0 0 color-mix(in srgb,var(--laranja) 60%,transparent);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 14px rgba(245,134,52,0)}100%{box-shadow:0 0 0 0 rgba(245,134,52,0)}}
.anat__ponto:nth-child(2){top:38%;left:24%;animation-delay:0s}
.anat__ponto:nth-child(3){top:30%;left:52%;animation-delay:.5s}
.anat__ponto:nth-child(4){top:62%;left:38%;animation-delay:1s}
.anat__ponto:nth-child(5){top:52%;left:74%;animation-delay:1.5s}

.raiox{display:grid;grid-template-columns:.95fr 1.05fr;gap:2.4rem;align-items:center}
.raiox__img{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--linha);position:relative}
.raiox__img img{width:100%;transition:transform .8s var(--ease)}
.raiox__img:hover img{transform:scale(1.05)}
.raiox__lista li{padding:1.25rem 0 1.25rem 2.3rem;border-bottom:1px solid var(--linha2);position:relative}
.raiox__lista li:last-child{border-bottom:0}
.raiox__lista li::before{content:"";position:absolute;left:0;top:1.65rem;width:10px;height:10px;border-radius:50%;
  background:var(--laranja);box-shadow:0 0 0 5px color-mix(in srgb,var(--laranja) 20%,transparent)}
.raiox__lista h3{font-size:1.06rem;font-weight:700;margin-bottom:.25rem}
.raiox__lista p{font-size:.94rem;color:var(--fg2)}

.pilares{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:2.8rem}
.pilar{border:1px solid var(--linha);border-radius:var(--r);padding:1.4rem 1.3rem;background:var(--card);
  border-top:2px solid var(--neon);transition:transform .35s var(--ease),background .35s}
.pilar:hover{transform:translateY(-5px);background:var(--card-h)}
.pilar h3{font-size:1rem;font-weight:700;margin-bottom:.35rem}
.pilar p{font-size:.89rem;color:var(--fg2);line-height:1.5}

/* =========================================================
   VISIBILIDADE / PAINEL
   ========================================================= */
.visib{display:grid;grid-template-columns:1.02fr .98fr;gap:3.2rem;align-items:center}
.visib__itens{display:grid;gap:1rem;margin-top:2rem}
.visib__itens article{border-left:2px solid color-mix(in srgb,var(--laranja) 45%,transparent);
  padding:.2rem 0 .2rem 1.2rem;transition:border-color .3s}
.visib__itens article:hover{border-color:var(--laranja)}
.visib__itens h3{font-size:1.02rem;font-weight:700;margin-bottom:.1rem}
.visib__itens p{font-size:.93rem;color:var(--fg2)}

.painel{background:var(--card);border:1px solid color-mix(in srgb,var(--neon) 26%,transparent);
  border-radius:var(--r-lg);padding:1.35rem;box-shadow:var(--sombra)}
.painel__top{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}
.painel__dot{width:9px;height:9px;border-radius:50%;background:var(--neon);animation:pulseDot 2s infinite}
@keyframes pulseDot{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--neon) 60%,transparent)}
  70%{box-shadow:0 0 0 9px rgba(46,208,143,0)}100%{box-shadow:0 0 0 0 rgba(46,208,143,0)}}
.painel__status{font-family:'Barlow Semi Condensed',sans-serif;text-transform:uppercase;letter-spacing:.16em;
  font-size:.75rem;color:var(--neon);font-weight:600}
.painel__mapa{background:linear-gradient(var(--linha2) 1px,transparent 1px) 0 0/28px 28px,
  linear-gradient(90deg,var(--linha2) 1px,transparent 1px) 0 0/28px 28px,var(--bg2);
  border-radius:var(--r);overflow:hidden;border:1px solid var(--linha2);position:relative}
.painel__mapa svg{width:100%;height:196px;display:block}
.rota-base{stroke:var(--linha);stroke-width:3}
.rota-ativa{stroke:var(--laranja);stroke-width:3;
  filter:drop-shadow(0 0 6px color-mix(in srgb,var(--laranja) 70%,transparent));
  stroke-dasharray:520;stroke-dashoffset:520}
.painel.is-vis .rota-ativa{animation:tracar 3s var(--ease) forwards}
.ponto-ini{fill:var(--laranja);stroke:none}
.ponto-fim{fill:none;stroke:var(--laranja);stroke-width:3}
.painel__eta{position:absolute;left:8%;top:16%;background:var(--card);border:1px solid var(--laranja);
  border-radius:8px;padding:.3rem .8rem;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  letter-spacing:.1em;color:var(--laranja);font-size:1.05rem;
  box-shadow:0 0 24px -6px color-mix(in srgb,var(--laranja) 70%,transparent)}
.painel__dados{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-top:1rem}
.painel__dados div{background:var(--bg2);border-radius:10px;padding:.65rem .8rem;border:1px solid var(--linha2)}
.painel__dados span{display:block;font-family:'Barlow Semi Condensed',sans-serif;text-transform:uppercase;
  letter-spacing:.1em;font-size:.67rem;color:var(--fg3)}
.painel__dados b{font-size:1.02rem;font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums}

/* =========================================================
   INTEGRIDADE (quebras térmicas)
   ========================================================= */
.integ{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.integ article{border:1px solid var(--linha);border-radius:var(--r-lg);padding:1.9rem 1.7rem;background:var(--card);
  display:grid;grid-template-columns:auto 1fr;gap:1.3rem;align-items:start;
  transition:transform .35s var(--ease),border-color .35s}
.integ article:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--laranja) 45%,transparent)}
.integ__n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;flex:none;
  background:var(--verde);color:#fff;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:1.1rem}
.integ h3{font-size:1.14rem;font-weight:700;margin-bottom:.4rem}
.integ p{font-size:.96rem;color:var(--fg2)}
.integ svg{width:22px;height:22px;color:var(--laranja);margin-bottom:.5rem}

/* =========================================================
   SEGURANÇA / SELOS
   ========================================================= */
.seguros{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-bottom:1.1rem}
.seguro{border:1px solid color-mix(in srgb,var(--laranja) 32%,transparent);border-radius:var(--r-lg);
  padding:2.1rem 1.8rem;background:linear-gradient(150deg,color-mix(in srgb,var(--laranja) 12%,transparent),var(--card));
  transition:transform .35s var(--ease),box-shadow .35s}
.seguro:hover{transform:translateY(-5px);box-shadow:0 30px 60px -42px var(--laranja)}
.seguro b{display:block;font-size:clamp(2rem,4vw,2.9rem);font-weight:800;color:var(--laranja);line-height:1;
  letter-spacing:-.035em;margin-bottom:.55rem}
.seguro h3{font-size:1.08rem;font-weight:700;margin-bottom:.35rem}
.seguro p{color:var(--fg2);font-size:.95rem}

.selos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.selo{border:1px solid var(--linha);border-radius:var(--r-lg);padding:1.7rem 1.4rem;background:var(--card);
  text-align:center;transition:transform .35s var(--ease),border-color .35s}
.selo:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--neon) 50%,transparent)}
.selo__brasao{width:136px;height:auto;margin:0 auto 1rem}
.selo__brasao .escudo{fill:color-mix(in srgb,var(--verde) 26%,transparent);
  stroke:var(--laranja);stroke-width:3}
.selo__brasao .escudo-int{fill:none;stroke:color-mix(in srgb,var(--laranja) 55%,transparent);stroke-width:1.5}
.selo__brasao text{fill:var(--fg);stroke:none;font-family:'Barlow Semi Condensed',sans-serif;
  font-weight:700;font-size:21px;letter-spacing:.03em}
.selo p{font-size:.91rem;color:var(--fg2);line-height:1.5}

/* =========================================================
   FLUXO DE CAIXA / ÓRBITA
   ========================================================= */
.orbita{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:center}
.orbita__svg svg{width:100%;height:auto}
.orbita .anel{fill:none;stroke:var(--linha);stroke-width:3}
.orbita .anel-ativo{fill:none;stroke:var(--laranja);stroke-width:5;stroke-linecap:round;
  filter:drop-shadow(0 0 8px color-mix(in srgb,var(--laranja) 60%,transparent))}
.orbita .no-dia{fill:var(--laranja);stroke:none;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--laranja) 70%,transparent))}
.orbita .no-top{fill:var(--fg3);stroke:none}
.orbita text{stroke:none;font-family:'Barlow Semi Condensed',sans-serif}
.orbita .dia-txt{fill:var(--laranja);font-size:23px;font-weight:700}
.orbita .pct-txt{fill:var(--fg2);font-size:15px;font-weight:600}
.orbita__itens{display:grid;gap:1rem}
.orbita__itens article{border:1px solid var(--linha);border-radius:var(--r);padding:1.2rem 1.4rem;background:var(--card)}
.orbita__itens h3{font-size:1.05rem;font-weight:700;margin-bottom:.2rem}
.orbita__itens p{font-size:.94rem;color:var(--fg2)}
.orbita__itens b{color:var(--laranja)}

/* =========================================================
   FLUXO OPERACIONAL
   ========================================================= */
.fluxo{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;position:relative}
.fluxo::before{content:"";position:absolute;left:0;right:0;top:26px;height:2px;
  background:linear-gradient(90deg,var(--laranja),color-mix(in srgb,var(--laranja) 25%,transparent))}
.fluxo__n{position:relative;z-index:2;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;
  background:var(--laranja);color:var(--acento-fg);font-family:'Barlow Semi Condensed',sans-serif;
  font-weight:700;font-size:1.12rem;margin-bottom:.9rem;box-shadow:0 0 0 8px var(--bg)}
.fluxo h3{font-size:1.12rem;font-weight:700;margin-bottom:.25rem;color:var(--neon)}
.fluxo p{font-size:.94rem;color:var(--fg2)}

/* =========================================================
   SEGMENTOS
   ========================================================= */
.segs{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.seg{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--linha);background:var(--card);
  display:flex;flex-direction:column;transition:transform .4s var(--ease),border-color .4s}
.seg:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--laranja) 45%,transparent)}
.seg__img{overflow:hidden;aspect-ratio:16/9;position:relative}
.seg__img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 50%,color-mix(in srgb,var(--bg) 75%,transparent) 100%)}
.seg__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.seg:hover .seg__img img{transform:scale(1.07)}
.seg__txt{padding:1.6rem 1.5rem 1.8rem}
.seg__txt h3{font-size:1.25rem;font-weight:700;margin-bottom:.45rem;letter-spacing:-.015em}
.seg__txt p{font-size:.96rem;color:var(--fg2)}
.seg__txt strong{color:var(--laranja)}

/* =========================================================
   CICLO
   ========================================================= */
.ciclo{display:grid;grid-template-columns:.85fr 1.15fr;gap:2.8rem;align-items:center}
.ciclo__svg svg{width:100%;height:auto}
.inf{stroke-width:11;stroke-linecap:round;fill:none;stroke-dasharray:400;stroke-dashoffset:400}
.inf--v{stroke:var(--verde-2)}
.inf--l{stroke:var(--laranja)}
.ciclo.is-vis .inf{animation:tracar 2.4s var(--ease) forwards}
.ciclo.is-vis .inf--l{animation-delay:.35s}
.ciclo__frase{margin-top:1.5rem;font-size:clamp(1.03rem,1.7vw,1.28rem);line-height:1.45;color:var(--fg2);
  border-left:3px solid var(--laranja);padding-left:1.2rem}
.ciclo__frase strong{color:var(--fg);font-weight:700}

/* =========================================================
   CTA + FORMULÁRIO
   ========================================================= */
.cta{position:relative;padding:clamp(4.2rem,7.5vw,7rem) 0;overflow:hidden;background:var(--bg);color:var(--fg)}
.cta__bg{position:absolute;inset:0;opacity:var(--cta-img-op);
  background:url(../img/cta.jpg) center/cover no-repeat}
html[data-tema="claro"] .cta__bg{background-image:url(../img/cta-claro.jpg)}
.cta__veil{position:absolute;inset:0;background:var(--cta-veil)}
.cta__in{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:3.2rem;align-items:start}
.h2--cta{font-size:clamp(2rem,4vw,3.1rem)}
.cta__oferta{margin-top:1.7rem;padding:1.25rem 1.5rem;border:1px solid color-mix(in srgb,var(--laranja) 55%,transparent);
  border-radius:var(--r);background:color-mix(in srgb,var(--laranja) 10%,transparent);
  font-size:1.03rem;line-height:1.5}
.cta__oferta strong{color:var(--laranja)}
.cta__contatos{margin-top:1.8rem;display:grid;gap:.8rem}
.cta__contatos li{display:flex;align-items:center;gap:.85rem;color:var(--fg2);font-size:1rem}
.cta__contatos svg{width:20px;height:20px;color:var(--laranja);flex:none}
.cta__contatos a:hover{color:var(--fg);text-decoration:underline;text-underline-offset:3px}

.form{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(16px);
  border:1px solid var(--linha);border-radius:var(--r-lg);padding:2.1rem;box-shadow:var(--sombra)}
.form__t{font-size:1.32rem;font-weight:700;margin-bottom:1.3rem;letter-spacing:-.015em}
.form__linha{margin-bottom:.95rem}
.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:.95rem}
.form label{display:block;font-family:'Barlow Semi Condensed',sans-serif;text-transform:uppercase;
  letter-spacing:.13em;font-size:.75rem;font-weight:600;color:var(--fg3);margin-bottom:.32rem}
.form label span{color:var(--laranja)}
.form input,.form select,.form textarea{width:100%;background:var(--card);border:1px solid var(--linha);
  border-radius:10px;padding:.76rem .95rem;font-size:.97rem;transition:border-color .2s,background .2s}
.form textarea{resize:vertical;min-height:86px}
.form select{appearance:none;cursor:pointer;padding-right:2.4rem;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A9E93' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .8rem center;background-size:18px}
.form input::placeholder,.form textarea::placeholder{color:var(--fg3)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--laranja);background:var(--card-h)}
.form .erro{border-color:#E4572E;background:color-mix(in srgb,#E4572E 10%,transparent)}
.form__nota{margin-top:.8rem;font-size:.81rem;color:var(--fg3);text-align:center}

/* =========================================================
   RODAPÉ
   ========================================================= */
.rodape{background:var(--bg);color:var(--fg);border-top:1px solid var(--linha2);padding-top:3.4rem}
.rodape__in{display:grid;grid-template-columns:1fr 1.5fr;gap:2.8rem;padding-bottom:2.4rem}
.rodape__marca img{height:58px;width:auto;margin-bottom:1rem}
.rodape__marca p{font-size:.91rem;color:var(--fg3);line-height:1.6}
.rodape__nav{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.rodape__nav h4{font-family:'Barlow Semi Condensed',sans-serif;text-transform:uppercase;letter-spacing:.16em;
  font-size:.79rem;font-weight:600;color:var(--laranja);margin-bottom:.85rem}
.rodape__nav a,.rodape__nav p{display:block;font-size:.92rem;color:var(--fg2);margin-bottom:.42rem;line-height:1.5}
.rodape__nav a:hover{color:var(--fg)}
.rodape__base{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.6rem;
  flex-wrap:wrap;border-top:1px solid var(--linha2);padding:1.15rem 0;font-size:.84rem;color:var(--fg3)}
.rodape__dominio{flex:1;text-align:center}

/* ---------- crédito CriaWeb ---------- */
.credito{display:inline-flex;align-items:center;gap:.6rem;opacity:.62;
  transition:opacity .3s var(--ease),transform .3s var(--ease)}
.credito:hover{opacity:1;transform:translateY(-1px)}
html[data-tema="claro"] .credito{opacity:.72}
.credito span{font-family:'Barlow Semi Condensed',sans-serif;font-size:.72rem;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;color:var(--fg3);white-space:nowrap}
.credito img{height:31px;width:auto}
.credito:focus-visible{outline:2px solid var(--laranja);outline-offset:4px;border-radius:4px}

/* ---------- whatsapp flutuante ---------- */
.zap{position:fixed;right:1.2rem;bottom:1.2rem;z-index:90;width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;background:#25D366;color:#fff;
  box-shadow:0 12px 30px -8px rgba(37,211,102,.65);
  transform:translateY(120px) scale(.8);opacity:0;
  transition:transform .4s var(--ease),opacity .4s,box-shadow .3s}
.zap.is-vis{transform:none;opacity:1}
.zap:hover{box-shadow:0 16px 40px -8px rgba(37,211,102,.9);transform:translateY(-3px)}
.zap svg{width:29px;height:29px;fill:currentColor;stroke:none}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.is-vis{opacity:1;transform:none}

/* =========================================================
   FROTA — faixa de destaque (c6)
   ========================================================= */
.frota{position:relative;overflow:hidden;padding:clamp(4.2rem,7.5vw,6.6rem) 0;
  color:var(--hero-fg);isolation:isolate}
.frota__bg{position:absolute;inset:0;z-index:-2;
  background:url(../img/frota-lineup.jpg) center 62%/cover no-repeat}
.frota__veil{position:absolute;inset:0;z-index:-1;background:var(--frota-veil)}
.frota__in{position:relative}
.frota__h2{max-width:20ch}
.frota__sub{font-size:clamp(1rem,1.4vw,1.15rem);color:var(--hero-fg2);max-width:60ch;line-height:1.6}
.frota__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.8rem}
.frota__tags li{border:1px solid color-mix(in srgb,var(--hero-fg) 30%,transparent);
  border-radius:100px;padding:.3rem .95rem;background:color-mix(in srgb,var(--pagina) 42%,transparent);
  backdrop-filter:blur(4px);
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:.87rem;letter-spacing:.08em}

/* =========================================================
   PLACA — foto de veículo em fundo branco (c1/c3/c4/c5)
   ========================================================= */
.placa{max-width:800px;margin:2.6rem auto 0;background:#fff;border:1px solid var(--linha);
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sombra-sec)}
.placa img{width:100%;display:block}
/* em seção escura, suaviza o brilho da placa branca */
html[data-tema="escuro"] .tom-a .placa img{filter:brightness(.95)}
html[data-tema="escuro"] .tom-a .placa figcaption{background:#E8EEEA}
.placa figcaption{padding:.72rem 1.15rem;background:#F4F8F5;border-top:1px solid rgba(13,42,32,.09);
  font-family:'Barlow Semi Condensed',sans-serif;text-transform:uppercase;letter-spacing:.12em;
  font-size:.74rem;font-weight:600;color:#4A6255;text-align:center}

/* integridade com foto ao lado */
.integ--img{grid-template-columns:.95fr 1.05fr;align-items:start}
.integ--img .placa{max-width:none;margin:0}
.integ__cards{display:grid;gap:1.1rem}
.integ--img .integ__cards article{grid-template-columns:auto 1fr}

/* ---------- formulário de cotação: elementos novos ---------- */
.form__int{margin:-.7rem 0 1.3rem;font-size:.92rem;color:var(--fg3);line-height:1.5}
.form__aviso{margin:1rem 0 1.1rem;padding:.85rem 1.1rem;border-left:3px solid var(--laranja);
  background:color-mix(in srgb,var(--laranja) 9%,transparent);border-radius:0 10px 10px 0;
  font-size:.87rem;line-height:1.55;color:var(--fg2)}
.form__aviso strong{color:var(--fg)}
.form__check{display:flex!important;align-items:flex-start;gap:.65rem;margin-bottom:1.1rem;
  cursor:pointer;text-transform:none!important;letter-spacing:normal!important;
  font-family:'Barlow',sans-serif!important;font-size:.86rem!important;font-weight:400!important;
  color:var(--fg2)!important;line-height:1.5}
.form__check span{color:var(--fg2)!important}
.form__check input{width:18px!important;height:18px;flex:none;margin-top:.15rem;accent-color:var(--laranja);
  cursor:pointer;padding:0!important;border-radius:4px!important}
.form__check input.erro{outline:2px solid #E4572E;outline-offset:2px}
.form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__status{margin-top:.9rem;font-size:.88rem;line-height:1.5;text-align:center;color:var(--fg3);min-height:1.2em}
.form__status.is-ok{color:var(--neon);font-weight:600}
.form__status.is-erro{color:#E4572E;font-weight:600}
#formBtn[disabled]{opacity:.6;cursor:wait}

/* =========================================================
   TIPOS DE CARGA
   ========================================================= */
.cargas{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.carga{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--linha);background:var(--card);
  display:flex;flex-direction:column;transition:transform .4s var(--ease),border-color .4s}
.carga:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--laranja) 45%,transparent)}
.carga__img{overflow:hidden;aspect-ratio:4/3;position:relative}
.carga__img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--bg) 70%,transparent) 100%)}
.carga__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.carga:hover .carga__img img{transform:scale(1.07)}
.carga__txt{padding:1.3rem 1.35rem 1.5rem}
.carga__txt h3{font-size:1.1rem;font-weight:700;margin-bottom:.35rem;letter-spacing:-.012em}
.carga__txt p{font-size:.92rem;color:var(--fg2);line-height:1.55}
.carga__tag{display:inline-block;margin-bottom:.6rem;font-family:'Barlow Semi Condensed',sans-serif;
  text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:700;color:var(--laranja)}

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width:1180px){
  .riscos,.pilares{grid-template-columns:repeat(2,1fr)}
  .hero__stats{grid-template-columns:repeat(2,1fr)}
  .nav a{padding:.5rem .55rem;font-size:.88rem}
}

@media (max-width:1000px){
  .hub{grid-template-columns:repeat(2,1fr)}
  .hub__svg{display:none}
  .hub__centro{grid-column:1/-1;grid-row:auto;order:-1}
}

@media (max-width:960px){
  :root{--hdr-h:66px}
  .nav{position:fixed;inset:var(--hdr-h) 0 auto 0;flex-direction:column;align-items:stretch;
    background:var(--hdr-bg);backdrop-filter:var(--vidro);padding:1rem 1.25rem 1.6rem;gap:.1rem;
    border-bottom:1px solid var(--a-linha);transform:translateY(-135%);transition:transform .4s var(--ease);
    max-height:calc(100svh - var(--hdr-h));overflow-y:auto}
  .nav.is-aberto{transform:none}
  .nav a{padding:.85rem .4rem;font-size:1.04rem;border-bottom:1px solid var(--a-linha2)}
  .nav a.is-ativo::after{display:none}
  .nav__cta{margin:.9rem 0 0;text-align:center;border-bottom:0!important;padding:.9rem!important}
  .burger{display:block}

  .fiscal,.calc,.raiox,.visib,.ciclo,.cta__in,.d0,.rodape__in,.orbita{grid-template-columns:1fr}
  .fob__linhas,.seguros,.duo,.segs,.integ,.integ--img{grid-template-columns:1fr}
  .cargas{grid-template-columns:repeat(2,1fr)}
  .integ--img .placa{max-width:800px;margin-inline:auto}
  .fob__antes{grid-template-columns:1fr}
  .fob__seta{transform:rotate(90deg);padding:.3rem 0}
  .selos,.riscos{grid-template-columns:1fr}
  .fluxo{grid-template-columns:1fr 1fr;gap:1.6rem 1.2rem}
  .fluxo::before{display:none}
  .ciclo__svg{max-width:340px;margin-inline:auto}
  .calc,.fiscal,.form,.d0{padding:1.7rem}
  .visib{gap:2.2rem}
}

@media (max-width:680px){
  body{font-size:16px}
  .container{width:calc(100% - 2rem)}
  .hub,.pilares,.painel__dados,.cargas{grid-template-columns:1fr}
  .painel__dados{grid-template-columns:repeat(3,1fr)}
  .painel__dados b{font-size:.92rem}
  .hero__stats{grid-template-columns:1fr 1fr}
  .hero{min-height:auto;padding:calc(var(--hdr-h) + 3.5rem) 0 3.5rem}
  .hero__scroll{display:none}
  .hero__acoes .btn{width:100%}
  .form__grid{grid-template-columns:1fr}
  .fluxo{grid-template-columns:1fr}
  .destaque{padding:1.15rem 1.25rem;margin-top:2rem}
  .sec{padding:3.4rem 0}
  .sec__head{margin-bottom:2rem}
  .faixa{padding:1.2rem 0}
  .faixa .container{flex-direction:column;align-items:flex-start;gap:.9rem}
  .faixa__itens li{font-size:.84rem;padding:.26rem .78rem}
  .hero__stats{margin-top:2.2rem}
  .pilares,.selos,.d0,.duo,.integ{margin-top:1.8rem}
  .tabela th,.tabela td{padding:1rem}
  .rodape__nav{grid-template-columns:1fr;gap:1.5rem}
  .rodape__base{flex-direction:column;justify-content:center;text-align:center;gap:.75rem}
  .rodape__base>*{max-width:100%}
  .rodape__dominio{flex:none}
  .zap{width:52px;height:52px;right:1rem;bottom:1rem}
  .anat__ponto{width:12px;height:12px}
  .integ article{grid-template-columns:1fr}
  .cascata,.d0dia,.emaranhado,.prisma{padding:1.2rem .9rem}
  .frota{padding:3.4rem 0}
  .placa{margin-top:1.8rem}
  .placa figcaption{font-size:.68rem;letter-spacing:.09em;padding:.6rem .8rem}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .rota-ativa,.inf,.traco{stroke-dashoffset:0}
}

@media print{
  .hdr,.zap,.hero__scroll,.form,.tema{display:none}
  body{background:#fff;color:#000}
}

.destaque__link{color:var(--laranja);white-space:nowrap;border-bottom:1px solid transparent;
  transition:border-color .25s}
.destaque__link:hover{border-bottom-color:var(--laranja)}
