/* Mecânica comum (sem identidade visual): cada marca tem o próprio CSS. */
*{box-sizing:border-box}
html{scroll-padding-top:88px;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{margin:0;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;text-rendering:optimizeLegibility;-webkit-touch-callout:none;user-select:none}
img{display:block;max-width:100%;height:auto;-webkit-user-drag:none;user-select:none}
input,select,textarea,button{font:inherit;color:inherit}
input,textarea{user-select:text}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
[hidden]{display:none!important}
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 14px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header */
.hdr{position:fixed;left:0;right:0;z-index:60;transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .45s ease}
.hdr.is-hidden{transform:translate3d(0,calc(-100% - 24px),0);opacity:0}
.mnav{display:none}
.mnav.is-open{display:flex}
.burger{display:none;cursor:pointer}
@media (max-width:1279px){.nav{display:none!important}.burger{display:flex}}
@media (max-width:959px){.hdr-cta{display:none!important}}
@media (min-width:1280px){.mnav{display:none!important}}

/* cards empilhados */
.stack-in{position:relative;display:flex;flex-wrap:wrap;align-items:flex-start}
.stack-head{position:sticky;z-index:2}
.cards{display:flex;flex-direction:column;min-width:0}
.card{position:sticky;will-change:transform;transform-origin:50% 0;overflow:hidden}
.card .shade{position:absolute;inset:0;opacity:0;pointer-events:none;will-change:opacity}

/* efeitos de rolagem */
[data-fill],[data-bar]{transform-origin:0 50%;will-change:transform}
[data-fill][data-axis="y"],[data-bar][data-axis="y"]{transform-origin:50% 100%}
.js [data-fill]{transform:scaleX(0)}
.js [data-fill][data-axis="y"]{transform:scaleY(0)}
[data-x]{will-change:transform}

/* acordeão */
.qa-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.65,0,.35,1)}
.qa-a>div{overflow:hidden;min-height:0}
.qa-a p{opacity:0;transform:translate3d(0,-6px,0);transition:opacity .6s cubic-bezier(.65,0,.35,1),transform .6s cubic-bezier(.65,0,.35,1)}
.qa.open .qa-a{grid-template-rows:1fr}
.qa.open .qa-a p{opacity:1;transform:none}
.qa button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;background:none;border:0;cursor:pointer;text-align:left}

/* formulário */
.form{display:flex;flex-direction:column}
.fl{display:flex;flex-direction:column}
.fl input,.fl select,.fl textarea{width:100%;outline:none}
fieldset.fl{margin:0;padding:0;border:0;min-width:0}
fieldset.fl legend{padding:0}
.chips{display:flex;flex-wrap:wrap}
.chips label{position:relative;display:inline-flex;align-items:center;cursor:pointer}
.chips input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.map{position:relative;overflow:hidden}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* revelar ao rolar */
.js [data-reveal]{opacity:0;transform:translate3d(0,46px,0);filter:blur(7px)}
.js [data-reveal].in{opacity:1;transform:none;filter:none;transition:opacity 1.35s cubic-bezier(.16,.84,.24,1),transform 1.35s cubic-bezier(.16,.84,.24,1),filter 1.2s cubic-bezier(.16,.84,.24,1)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.js [data-reveal]{opacity:1;transform:none;filter:none}.js [data-fill]{transform:none}}

/* ---------- reflexo dos botões (mesma ideia da Construtora) ---------- */
.btn{overflow:hidden;isolation:isolate}
.btn .sheen{position:absolute;top:-2px;bottom:-2px;left:0;width:55%;z-index:-1;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.34) 50%,rgba(255,255,255,0) 100%);transform:translate3d(-130%,0,0) skewX(-18deg);pointer-events:none}
@media (hover:hover){.btn:hover .sheen{transition:transform 1.1s cubic-bezier(.2,.7,.2,1);transform:translate3d(260%,0,0) skewX(-18deg)}}
.btn:focus-visible .sheen{transition:transform 1.1s cubic-bezier(.2,.7,.2,1);transform:translate3d(260%,0,0) skewX(-18deg)}

/* ---------- cenas ilustradas (uma por etapa) ---------- */
.scenes{position:relative}
.scene{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s cubic-bezier(.2,.7,.2,1),visibility 0s .6s}
.scene.on{opacity:1;visibility:visible;transition:opacity .6s cubic-bezier(.2,.7,.2,1),visibility 0s}
.scene svg{display:block;width:100%;height:100%}
.js .scene .d{opacity:0;transform:translate3d(0,10px,0);transition:opacity .6s cubic-bezier(.2,.7,.2,1) calc(var(--i,0)*110ms),transform .6s cubic-bezier(.2,.7,.2,1) calc(var(--i,0)*110ms)}
.js .scene.on .d{opacity:1;transform:none}
.js .scene .gx{transform-box:fill-box;transform-origin:0 50%;transform:scaleX(0);transition:transform .9s cubic-bezier(.2,.7,.2,1) calc(var(--i,0)*110ms)}
.js .scene .gy{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);transition:transform .9s cubic-bezier(.2,.7,.2,1) calc(var(--i,0)*90ms)}
.js .scene.on .gx{transform:scaleX(1)}.js .scene.on .gy{transform:scaleY(1)}
.js .scene .pp{transform-box:fill-box;transform-origin:50% 50%;opacity:0;transform:scale(.4);transition:opacity .5s cubic-bezier(.2,.7,.2,1) calc(var(--i,0)*110ms),transform .7s cubic-bezier(.34,1.56,.64,1) calc(var(--i,0)*110ms)}
.js .scene.on .pp{opacity:1;transform:none}
.js .scene .dw{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s cubic-bezier(.2,.7,.2,1) calc(var(--i,0)*110ms)}
.js .scene.on .dw{stroke-dashoffset:0}
.js .scene .sweep{transform:translate3d(-10%,0,0);opacity:0}
.js .scene.on .sweep{animation:sweep 2.2s cubic-bezier(.4,0,.2,1) .2s 1 forwards}
@keyframes sweep{0%{transform:translate3d(-5%,0,0);opacity:0}12%{opacity:1}85%{opacity:1}100%{transform:translate3d(105%,0,0);opacity:0}}
@media (max-width:959px){.scenes.stack-m .scene{position:relative;opacity:1;visibility:visible}.js .scenes.stack-m .scene .d,.js .scenes.stack-m .scene .pp{opacity:1;transform:none}.js .scenes.stack-m .gx,.js .scenes.stack-m .gy{transform:none}.js .scenes.stack-m .dw{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.js .scene .d,.js .scene .pp{opacity:1;transform:none}.js .scene .gx,.js .scene .gy{transform:none}.js .scene .dw{stroke-dashoffset:0}}

/* parallax de fundo */
[data-parallax]{will-change:transform}

/* telefone e e-mail no bloco Onde estamos */
.ct-lines{display:flex;flex-direction:column;gap:6px;margin:10px 0 18px}
.ct-lines a{color:inherit;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;width:fit-content;overflow-wrap:anywhere}
.ct-lines a:hover{text-decoration-thickness:2px}

/* clientes, lista de projetos e cursos (cores vindas das variáveis da marca) */
.clients,.projs,.courses{padding:clamp(64px,9vw,120px) 0}
.cl-head,.pj-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px 48px;align-items:end;margin-bottom:clamp(28px,4vw,48px)}
.cl-head h2,.pj-head h2,.cs-head h2{margin:0}
.cl-head h2 em,.pj-head h2 em,.cs-head h2 em{font-style:normal;color:var(--warmtxt)}
.cl-head p,.pj-head p,.cs-head p{margin:0;color:var(--body);max-width:52ch}
.cl-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.cl-grid li{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid rgba(var(--inkrgb),.08);box-shadow:0 18px 34px -28px rgba(var(--inkrgb),.45)}
.cl-grid img{max-width:100%;max-height:76px;width:auto;height:auto;object-fit:contain;border-radius:6px}
.pj-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
section.projs ul.pj-list>li{padding:12px 18px;border-radius:999px;background:#fff;border:1px solid rgba(var(--prirgb),.22);box-shadow:0 10px 24px -20px rgba(var(--inkrgb),.5);color:var(--ink);font-weight:600;font-size:16px;line-height:1.3}
.courses{background:var(--deep);color:#fff}
.courses .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px);align-items:start}
.cs-head{display:flex;flex-direction:column;gap:18px;align-items:flex-start;position:sticky;top:120px}
.cs-head h2{color:#fff}.cs-head h2 em{color:var(--onacc)}.cs-head p{color:var(--onbody)}
.cs-chip{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--onacc)}
.cs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.cs-list li{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:18px 4px;border-top:1px solid rgba(255,255,255,.12)}
.cs-list li:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.cs-n{font-size:14px;font-weight:600;color:var(--onacc);font-variant-numeric:tabular-nums}
.cs-t{font-size:clamp(16px,1.5vw,19px);font-weight:600;line-height:1.35;color:#fff}
.cs-tag{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.22);color:var(--onpale);white-space:nowrap}
@media (max-width:959px){.cl-head,.pj-head{text-align:center}.cl-head p,.pj-head p{margin:0 auto}.pj-list{justify-content:center}
.courses .wrap{grid-template-columns:1fr}.cs-head{position:static;align-items:center;text-align:center}.cs-tag{display:none}.cl-grid{grid-template-columns:repeat(2,1fr)}}

:root{--bg:#111316;--panel:#181B1F;--panel2:#1F2328;--ink:#FFFFFF;--body:#FFFFFF;--muted:#C5CAD1;--red:#D42020;--red2:#B51414;--red-l:#FF7A72;--navy:#0C306C;--navy2:#15428A;--navy3:#0A2551;--line:rgba(236,238,241,.12);--line2:rgba(236,238,241,.24);--e:cubic-bezier(.2,.7,.2,1);--cond:'Saira Condensed','Arial Narrow',sans-serif;
--sh:inset 0 1px 0 rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.4),0 18px 30px -18px rgba(0,0,0,.7),0 50px 80px -50px rgba(0,0,0,.9)}
body{background:var(--bg);color:var(--ink);font-family:'Albert Sans','Helvetica Neue',Arial,sans-serif;font-size:17px;line-height:1.6}
a{color:var(--ink)}a:hover{color:var(--red-l)}
:focus-visible{outline:2px solid var(--red-l);outline-offset:3px}
::selection{background:var(--red);color:#fff}
html{scrollbar-color:#D42020 #0C0E10;scrollbar-width:thin}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:#0C0E10;border-left:1px solid rgba(236,238,241,.08)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#E83A3A,#B51414);border:3px solid #0C0E10;border-radius:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#F04848,#C81A1A)}
::-webkit-scrollbar-corner{background:#0C0E10}
.skip{background:var(--red);color:#fff}
.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}
h1,h2,h3{margin:0;font-family:var(--cond);font-weight:700;color:var(--ink);letter-spacing:-.005em;line-height:1}
h2{font-size:clamp(40px,5vw,72px);text-transform:uppercase}
h2 em{font-style:normal;color:#E5252A}
.eyebrow{display:block;font-family:var(--cond);font-size:16px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red-l)}
h2.eyebrow{font-size:16px;margin-bottom:18px}
.navy{position:relative;background:radial-gradient(60% 70% at 100% 0%,rgba(43,92,176,.45),transparent 60%),linear-gradient(160deg,#123B7E 0%,#0C306C 45%,#0A2551 100%);color:#fff}
.navy:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%)}
.navy>*{position:relative}

/* botões retos com corpo */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 28px;border-radius:2px;font-family:var(--cond);font-size:19px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .4s var(--e),color .4s var(--e),border-color .4s var(--e),transform .4s var(--e),box-shadow .4s var(--e)}
.btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .4s var(--e)}
.btn-p{background:linear-gradient(180deg,#E83A3A 0%,#D42020 50%,#B51414 100%);color:#fff;border:1px solid #8E0909;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -3px 0 rgba(0,0,0,.25),0 2px 4px rgba(0,0,0,.4),0 18px 30px -14px rgba(180,20,20,.65)}
.btn-p:hover{background:linear-gradient(180deg,#F04848 0%,#DC2828 50%,#BE1818 100%);color:#fff;transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 -3px 0 rgba(0,0,0,.25),0 4px 8px rgba(0,0,0,.4),0 26px 40px -16px rgba(180,20,20,.75)}
.btn-p:hover svg{transform:translateX(4px)}
.btn-p:active{transform:translateY(0);box-shadow:inset 0 3px 6px rgba(0,0,0,.4)}
.btn-o{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03));color:var(--ink);border:1px solid var(--line2);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 14px 24px -16px rgba(0,0,0,.8);backdrop-filter:blur(8px)}
.btn-o:hover{background:#fff;color:#111316;border-color:#fff;transform:translateY(-2px)}
.btn-o:active{transform:translateY(0)}
.btn-sm{min-height:46px;padding:0 20px;font-size:17px}

/* header sólido com o filete vermelho */
.hdr{top:clamp(10px,1.2vw,16px);padding:0 clamp(12px,2vw,24px)}
.hdr-in{position:relative;max-width:1360px;margin:0 auto;height:68px;padding:0 10px 0 clamp(14px,1.6vw,22px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(180deg,rgba(32,36,42,.94),rgba(17,19,22,.94));border:1px solid rgba(236,238,241,.18);border-radius:3px;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 2px 4px rgba(0,0,0,.4),0 26px 50px -26px rgba(0,0,0,.95)}
.hdr-in:before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,#D42020 0 72%,#15428A 72% 100%)}
@media (min-width:960px){.hdr .nav{display:flex!important}.burger{display:none!important}.mnav{display:none!important}}
@media (min-width:960px) and (max-width:1199px){.hdr-cta{display:none!important}.nav{gap:16px!important}}
.logo img{height:40px;width:auto}
.nav{display:flex;gap:clamp(16px,1.8vw,26px)}
.nav a{white-space:nowrap;position:relative;font-family:var(--cond);font-size:17px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;text-decoration:none;padding:6px 0}
.nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red);transform:scaleX(0);transition:transform .4s var(--e)}
.nav a:hover{color:var(--ink)}.nav a:hover:after{transform:scaleX(1)}
.burger{position:relative;width:52px;height:52px;border:1px solid var(--line2);background:linear-gradient(180deg,#22262C,#16191D);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 20px -12px rgba(0,0,0,.8);transition:transform .5s var(--e),box-shadow .6s var(--e),border-color .6s var(--e),background .6s var(--e)}
.burger b{display:none}
.burger i{display:block;position:absolute;left:10px;right:10px;height:9px;background:linear-gradient(180deg,#1E55AE,#0C306C);box-shadow:inset 0 1px 0 rgba(255,255,255,.25);transition:top .55s var(--e),transform .7s cubic-bezier(.65,0,.25,1) .05s,background .6s var(--e)}
.burger i:nth-of-type(1){top:12px}
.burger i:nth-of-type(2){top:29px}
.burger:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 16px 26px -12px rgba(30,85,174,.7)}
.burger:active{transform:scale(.94)}
.burger[aria-expanded="true"]{border-color:rgba(255,110,104,.6);background:linear-gradient(180deg,#2A1416,#16191D);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 4px rgba(212,32,32,.18),0 16px 30px -12px rgba(212,32,32,.75)}
.burger[aria-expanded="true"] i{top:20.5px;background:linear-gradient(180deg,#F04848,#B51414)}
.burger[aria-expanded="true"] i:nth-of-type(1){transform:rotate(45deg)}
.burger[aria-expanded="true"] i:nth-of-type(2){transform:rotate(-45deg)}
@media (max-width:959px){
  .mnav{display:flex!important;max-height:0;opacity:0;visibility:hidden;overflow:hidden;padding-top:0!important;padding-bottom:0!important;transform:translate3d(0,-10px,0);transition:max-height .8s cubic-bezier(.65,0,.25,1),opacity .6s var(--e),transform .7s var(--e),padding .8s cubic-bezier(.65,0,.25,1),visibility 0s .8s}
  .mnav.is-open{max-height:80svh;opacity:1;visibility:visible;padding-top:6px!important;padding-bottom:18px!important;transform:none;transition:max-height .8s cubic-bezier(.65,0,.25,1),opacity .6s var(--e) .1s,transform .7s var(--e),padding .8s cubic-bezier(.65,0,.25,1),visibility 0s}
  .mnav a{opacity:0;transform:translate3d(-12px,0,0);transition:opacity .5s var(--e),transform .6s var(--e)}
  .mnav.is-open a{opacity:1;transform:none}
  .mnav.is-open a:nth-child(2){transition-delay:.06s}.mnav.is-open a:nth-child(3){transition-delay:.12s}.mnav.is-open a:nth-child(4){transition-delay:.18s}
  .mnav.is-open a:nth-child(5){transition-delay:.24s}.mnav.is-open a:nth-child(6){transition-delay:.3s}.mnav.is-open a:nth-child(7){transition-delay:.36s}
}
@media (prefers-reduced-motion:reduce){.mnav,.mnav a,.burger i{transition:none!important}}
.mnav{flex-direction:column;max-width:1360px;margin:8px auto 0;padding:6px 18px 18px;background:linear-gradient(180deg,#1E2227,#111316);border:1px solid rgba(236,238,241,.18);border-radius:3px;box-shadow:0 30px 60px -30px rgba(0,0,0,.95)}
.mnav a:not(.btn){padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--cond);font-size:24px;font-weight:600;text-transform:uppercase;color:var(--ink);text-decoration:none}
.mnav .btn{margin-top:14px}

/* hero em tela cheia com a faixa de números */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% 35%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,19,22,.97) 0%,rgba(17,19,22,.88) 40%,rgba(17,19,22,.3) 72%),linear-gradient(0deg,rgba(17,19,22,1) 0%,rgba(17,19,22,0) 40%)}
.hero-in{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(68px + 64px)}
.hero .wrap{width:100%;max-width:1360px}
.hero-txt{display:flex;flex-direction:column;gap:22px;padding-bottom:clamp(28px,5svh,56px)}
.h-tag{align-self:flex-start;display:inline-flex;align-items:center;gap:12px;padding:8px 14px 8px 8px;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid var(--line2);font-family:var(--cond);font-size:16px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(8px)}
.h-tag img{width:34px;height:auto;padding:5px;background:#fff}
.hero h1{max-width:21ch;font-size:clamp(40px,4.8vw,80px);line-height:.95;text-transform:uppercase;text-shadow:0 10px 30px rgba(0,0,0,.4)}
.hero h1 em{font-style:normal;color:#F0302F}
.bk{display:none}
@media (min-width:1200px){.bk{display:inline}.hero h1,.hero .lead{max-width:none}}
.lead{margin:0;max-width:60ch;color:#fff;font-size:clamp(17px,1.35vw,20px);text-shadow:0 2px 14px rgba(0,0,0,.5)}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.rail{border-top:1px solid var(--line2);background:linear-gradient(180deg,rgba(17,19,22,.7),rgba(17,19,22,.95));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.rail-in{list-style:none;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.rail li{position:relative;display:flex;flex-direction:column;padding:18px 20px 20px;border-left:1px solid var(--line)}
.rail li:before{content:"";position:absolute;left:-1px;top:-1px;width:28px;height:3px;background:var(--red)}
.rail li:first-child{border-left:0;padding-left:0}
.rail li:first-child:before{left:0}
.rail b{font-family:var(--cond);font-size:clamp(30px,3.2vw,46px);font-weight:700;line-height:1}
.rail span{font-size:15px;color:#fff}
.rail b[data-count]{font-variant-numeric:tabular-nums}

/* divisória: símbolo original numa placa */
.beam{position:relative;z-index:6;height:0;display:flex;align-items:center;gap:0;max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}
.beam i{flex:1;height:1px;background:var(--line2);position:relative}
.beam i:first-child:after,.beam i:last-child:after{content:"";position:absolute;top:-4px;width:9px;height:9px;background:var(--bb);border:1px solid var(--line2)}
.beam i:first-child:after{left:0}.beam i:last-child:after{right:0}
.plate-s{position:relative;flex:none;margin:0 18px;padding:12px 18px;background:linear-gradient(180deg,#2A2F35,#1A1D21);border:1px solid var(--line2);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -2px 0 rgba(0,0,0,.4),0 18px 30px -16px rgba(0,0,0,.9)}
.plate-s:before,.plate-s:after{content:"";position:absolute;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#5A616B;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.plate-s:before{left:6px}.plate-s:after{right:6px}
.plate-s img{display:block;width:62px;height:auto;padding:6px 8px;background:#fff}

/* para quem: bloco azul */
.forwho{padding:clamp(64px,9vw,120px) 0}
.fw-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(28px,5vw,72px);align-items:end}
.forwho h2.eyebrow{display:inline-flex;align-items:center;gap:14px;margin-bottom:22px;font-size:clamp(34px,3.6vw,54px);font-weight:700;letter-spacing:.02em;line-height:1;color:#fff}
.forwho h2.eyebrow:before{content:"";width:clamp(28px,3vw,44px);height:6px;background:#E5252A;box-shadow:0 0 18px rgba(229,37,42,.6)}
.big{margin:0;font-size:clamp(22px,2.4vw,32px);line-height:1.35;color:#fff}
.nope{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;padding:28px;background:linear-gradient(160deg,rgba(150,12,12,.55),rgba(60,8,10,.55));border:1px solid rgba(255,110,104,.45);border-top:4px solid #E5252A;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 30px 60px -30px rgba(0,0,0,.85)}
.nope-x{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#F04848,#B51414);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -3px 0 rgba(0,0,0,.25),0 14px 26px -10px rgba(212,32,32,.8)}
.nope-x svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round}
.nope-t{display:block;margin-bottom:8px;font-family:var(--cond);font-size:clamp(26px,2.4vw,32px);font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.03em;color:#fff}
.nope p{margin:0;color:#fff;font-size:17px;line-height:1.55}

/* serviços: 6 cards empilhados */
.svc{padding:clamp(64px,6vw,72px) 0 clamp(48px,7vw,96px)}
.svc .stack-in{gap:clamp(28px,4vw,56px)}
.stack-head{flex:1 1 260px;display:flex;flex-direction:column;gap:22px}
.idx{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.idx{position:relative;z-index:0}
.idx li{position:relative;overflow:hidden;padding:12px 14px 12px 20px;border-bottom:1px solid var(--line);font-size:15px;color:var(--muted);transition:color .5s var(--e),padding-left .6s var(--e)}
.idx li:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#F04848,#B51414);box-shadow:0 0 14px rgba(229,37,42,.8);transform:scaleY(0);transform-origin:50% 0;transition:transform .55s var(--e)}
.idx li:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(212,32,32,.34),rgba(212,32,32,.08) 55%,transparent);transform:scaleX(0);transform-origin:0 50%;transition:transform .7s var(--e)}
.idx li.on{color:#fff;padding-left:28px;font-weight:600}
.idx li.on:before{transform:scaleY(1);transition-delay:.05s}
.idx li.on:after{transform:scaleX(1)}
@media (max-width:959px){.idx{display:none}}
.cards{flex:999 1 640px;gap:22px}
@media (min-width:960px){.svc .cards{padding-bottom:clamp(70px,16svh,150px)}}
.tcard{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);backface-visibility:hidden;min-height:clamp(340px,42svh,420px);background:linear-gradient(160deg,#20242A 0%,#171A1E 100%);border:1px solid var(--line);border-top:0;box-shadow:var(--sh)}
.tcard:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--red) 0 70%,var(--navy2) 70% 100%);z-index:1}
.tcard .shade{background:#000}
.t-txt{display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:clamp(26px,3vw,40px)}
.t-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.t-n{font-family:var(--cond);font-size:clamp(64px,7vw,104px);font-weight:700;line-height:.8;color:transparent;-webkit-text-stroke:1.5px #5C636D}
.t-n small{font-size:.32em;-webkit-text-stroke:0;color:#C5CAD1;margin-left:6px}
.t-ico{width:54px;height:54px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#1A4A99,#0C306C);border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 14px 24px -12px rgba(0,0,0,.8)}
.t-ico svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.t-tag{display:inline-block;margin-bottom:10px;padding:4px 10px;background:linear-gradient(180deg,#1A4A99,#0C306C);font-family:var(--cond);font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.tcard h3{font-size:clamp(28px,2.8vw,38px);text-transform:uppercase;margin-bottom:10px}
@media (min-width:960px) and (max-height:820px){.tcard{min-height:0}.t-txt{gap:14px;padding:22px 26px}.t-n{font-size:clamp(52px,5vw,72px)}.tcard h3{font-size:clamp(24px,2.2vw,30px)}.tcard p{font-size:15.5px;line-height:1.5}.t-ico{width:46px;height:46px}}
.tcard p{margin:0;color:var(--body)}
.t-img{position:relative;overflow:hidden;background:transparent;margin-left:-1px}
.t-img img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;filter:contrast(1.04);backface-visibility:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);mask-image:linear-gradient(90deg,transparent 0,#000 34%);transition:transform 1.2s var(--e),filter .8s}
.tcard:hover .t-img img{transform:scale(1.05);filter:contrast(1.06) saturate(1.05)}

/* por que: três razões, cada uma com um visual do que o texto diz */
.why{padding:clamp(56px,8vw,110px) 0}
.why-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(28px,4vw,52px)}
.why h2{max-width:16ch}
.why-sym{flex:none;width:clamp(96px,10vw,150px);height:auto;padding:12px 16px;background:#fff;box-shadow:0 24px 44px -20px rgba(0,0,0,.9)}
.reasons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.rs{display:grid;grid-template-columns:clamp(70px,6.4vw,104px) 64px minmax(0,1.1fr) minmax(0,1fr);gap:clamp(16px,2.4vw,34px);align-items:center;padding:clamp(22px,2.6vw,34px) clamp(20px,2.6vw,36px);background:linear-gradient(160deg,#20242A,#16191D);border:1px solid var(--line);border-left:4px solid #E5252A;box-shadow:var(--sh);transition:transform .5s var(--e),border-color .5s var(--e)}
.rs:hover{transform:translateX(6px);border-color:var(--line2);border-left-color:#E5252A}
.rs-n{font-family:var(--cond);font-size:clamp(48px,5vw,76px);font-weight:700;line-height:.8;color:#E5252A}
.rs-ico{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#1A4A99,#0C306C);border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 14px 24px -12px rgba(0,0,0,.8)}
.rs-ico svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rs h3{font-size:clamp(26px,2.4vw,34px);text-transform:uppercase;margin-bottom:8px}
.rs p{margin:0;color:#fff}
.wv{align-self:center;display:flex;flex-direction:column;justify-content:center;gap:12px;height:140px;padding:20px 22px;background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.12));border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);font-family:var(--cond);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.wv-path{flex-direction:row;align-items:center;justify-content:space-between;gap:0}
.wv-path span{flex:none;padding:10px 12px;font-size:15px;line-height:1;background:linear-gradient(180deg,#2A2F35,#1C1F23);border:1px solid var(--line2);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.wv-path span:last-child{background:linear-gradient(180deg,#E83A3A,#B51414);border-color:#8E0909}
.wv-path i{flex:1;min-width:12px;height:2px;margin:0 8px;background:linear-gradient(90deg,#E5252A,rgba(229,37,42,.35))}
.wv-bar{display:flex;align-items:center;gap:0}
.wv-bar b{flex:none;padding:10px 12px;font-size:15px;line-height:1;font-weight:600;background:linear-gradient(180deg,#1A4A99,#0C306C);border:1px solid rgba(255,255,255,.18)}
.wv-bar i{flex:1;height:6px;margin:0 8px;background:linear-gradient(90deg,#15428A,#E5252A);box-shadow:0 0 14px rgba(229,37,42,.4)}
.wv-span small{align-self:center;font-size:14px;letter-spacing:.14em;color:#C5CAD1}
.wv-bl{height:70px;display:flex;align-items:flex-end;gap:8px;border-bottom:2px solid var(--line2)}
.wv-bl i{flex:1;height:var(--h);background:linear-gradient(180deg,#2B5CB0,#15428A);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.wv-bl i:last-child{background:linear-gradient(180deg,#E83A3A,#B51414)}
.wv-lab{display:flex;justify-content:space-between;font-size:14px}
.wv,.wv *{min-width:0}
@media (min-width:960px){.wv{height:auto;min-height:140px}.wv-path{flex-direction:column;align-items:stretch;text-align:center}.wv-path span{padding:8px 10px}.wv-path i{flex:none;width:2px;height:10px;min-width:0;margin:0 auto;background:#E5252A}.wv-bar b{font-size:14px;padding:9px 10px}}

/* caso real: faixa vermelha */
.case{position:relative;overflow:hidden;padding:clamp(56px,8vw,104px) 0;background:radial-gradient(60% 90% at 100% 0%,rgba(255,255,255,.18),transparent 60%),linear-gradient(160deg,#E02A2A 0%,#C01010 55%,#8E0909 100%);color:#fff}
.case:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 80px)}
.case-in{position:relative}
.case .eyebrow{color:#FFD2CE}
.case-nums{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin:10px 0 16px}
.case-nums b{font-family:var(--cond);font-size:clamp(52px,8vw,120px);line-height:.9;font-weight:700;text-shadow:0 14px 30px rgba(0,0,0,.3)}
.case-nums b.hl{color:#fff;-webkit-text-stroke:0;background:linear-gradient(180deg,#fff,#FFD9D5);-webkit-background-clip:text;background-clip:text}
.case-nums svg{width:56px;height:56px;fill:none;stroke:#fff;stroke-width:1.6}
.case p{margin:0;max-width:64ch;font-size:clamp(17px,1.5vw,20px);color:#fff}

/* como funciona: viga + painel técnico */
.steps{position:relative;background:linear-gradient(180deg,#14171A,#0F1114);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media (min-width:960px){.steps{height:340svh}.steps-pin{position:sticky;top:0;height:100svh;display:flex;align-items:center;padding-top:60px}}
@media (prefers-reduced-motion:reduce){.cols li.on{animation:none}}
.steps-pin .wrap{width:100%}
.steps-top{display:flex;flex-wrap:wrap;align-items:end;gap:20px 48px;margin-bottom:clamp(22px,3svh,36px)}
.steps-top h2{flex:none}
.viga{flex:1 1 360px;display:grid;grid-template-columns:repeat(4,1fr 14px);align-items:end;padding-bottom:6px}
.seg{height:12px;background:var(--panel2);position:relative;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.6)}
.seg i{position:absolute;inset:0;background:linear-gradient(180deg,#E83A3A,#B51414);box-shadow:0 0 12px rgba(212,32,32,.6)}
.pil{width:14px;height:36px;background:var(--panel2);transition:background .4s;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.pil.on{background:linear-gradient(180deg,#2B5CB0,#15428A)}
.steps-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(18px,3vw,36px);align-items:stretch}
.cols{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.cols li{position:relative;overflow:hidden;z-index:0;display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:start;padding:16px 18px;background:linear-gradient(160deg,#1C2025,#15181C);border:1px solid var(--line);transition:padding-left .6s var(--e),border-color .5s var(--e),box-shadow .6s var(--e)}
.cols li:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#F04848,#B51414);box-shadow:0 0 16px rgba(229,37,42,.85);transform:scaleY(0);transform-origin:50% 0;transition:transform .55s var(--e)}
.cols li:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(212,32,32,.30),rgba(212,32,32,.07) 55%,transparent);transform:scaleX(0);transform-origin:0 50%;transition:transform .7s var(--e)}
.cols li.on:before{transform:scaleY(1);transition-delay:.05s}
.cols li.on:after{transform:scaleX(1)}
.js .cols li:not(.on) h3,.js .cols li:not(.on) .s-n{color:#9AA1AB}
.js .cols li:not(.on) p{display:none}
.cols li.on{padding-left:26px;border-color:var(--line2);box-shadow:0 20px 34px -20px rgba(0,0,0,.9)}
.cols li .s-n,.cols li h3{transition:color .5s var(--e)}
.s-n{font-family:var(--cond);font-size:40px;font-weight:700;line-height:1;color:#F0302F}
.cols h3{font-size:clamp(22px,2vw,28px);text-transform:uppercase}
.cols p{margin:6px 0 0;font-size:15px;color:var(--body)}
.dash{display:flex;flex-direction:column;background:linear-gradient(160deg,#1E2227,#14171B);border:1px solid var(--line2);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 60px 100px -50px rgba(0,0,0,.95)}
.dash-h{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);font-family:var(--cond);font-size:15px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--body)}
.dash-h img{width:34px;height:auto;padding:4px 5px;background:#fff}
.dash-h i{width:10px;height:10px;border-radius:50%;background:#2A2F35}
.dash-h i:nth-of-type(1){margin-left:auto;background:var(--red)}
.scenes{flex:1;min-height:clamp(300px,46svh,420px)}
.scene{display:flex;flex-direction:column}
.sc-cap{display:none;margin:0;padding:12px 16px 0;font-family:var(--cond);font-size:18px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.scene svg{flex:1;fill:none;stroke-linecap:square}
.scene .hd{fill:var(--red-l);stroke:none;font-family:var(--cond);font-size:16px;font-weight:600;letter-spacing:.12em}
.scene .ln{stroke:var(--line2)}
.scene .ln2{stroke:rgba(236,238,241,.1)}
.scene .tx{fill:#C9CFD7;stroke:none;font-family:var(--cond);font-size:14px;font-weight:600;letter-spacing:.06em}
.scene .tx.sm{font-size:12px;fill:var(--muted)}
.scene .trk{fill:#2A2F35}
.scene .fil{fill:#3B6FC6}
.scene .gtrk{stroke:#2A2F35;stroke-width:16}
.scene .gred{stroke:var(--red);stroke-width:16;stroke-dasharray:1}
.scene .needle-g{transform-box:view-box;transform-origin:482px 222px;transition:transform 1.4s cubic-bezier(.34,1.56,.64,1) .5s}
.js .scene:not(.on) .needle-g{transform:rotate(-120deg)}
@media (max-width:959px){.js .scenes.stack-m .scene .needle-g{transform:none}}
@media (prefers-reduced-motion:reduce){.js .scene .needle-g{transform:none}}
.scene .needle{stroke:#fff;stroke-width:4}
.scene .hub{fill:#fff}
.scene .barb{fill:#2B5CB0}
.scene .barr{fill:var(--red)}
.scene .mk{fill:var(--red-l)}
.scene .nd{fill:#1F2328;stroke:var(--line2)}
.scene .nd2{fill:#0C306C;stroke:#2B5CB0}
.scene .tx.c{fill:#ECEEF1}
.scene .okc{fill:#2FA36B}
.scene .okp{stroke:#fff;stroke-width:2.4}
.scene .flow{stroke:rgba(236,238,241,.7);stroke-width:2;stroke-dasharray:1}
.scene .loop{stroke:var(--red-l);stroke-width:2;stroke-dasharray:1}
.scene .tagr{fill:rgba(212,32,32,.18);stroke:var(--red)}
.scene .tagg{fill:rgba(46,204,120,.16);stroke:#2ECC78}
.scene .tx.cg{fill:#7BF0AE}
.scene .cum{stroke:#FF7A72;stroke-width:3;stroke-dasharray:1;stroke-linecap:round;stroke-linejoin:round}

/* quem conduz */
.team{padding:clamp(48px,7vw,96px) 0}
.team-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:center}
.portrait{margin:0;position:relative;padding:10px;background:linear-gradient(180deg,#22262C,#16191D);border:1px solid var(--line);box-shadow:var(--sh)}
.portrait:before{content:"";position:absolute;left:10px;right:10px;top:10px;height:6px;background:var(--red);z-index:1}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:contrast(1.04)}
.portrait figcaption{display:flex;flex-direction:column;padding:14px 4px 4px}
.portrait strong{font-family:var(--cond);font-size:22px;text-transform:uppercase;letter-spacing:.02em}
.portrait span{font-size:14px;color:var(--body)}
.team h2{margin-bottom:20px}
.team-p{margin:0;max-width:44ch;font-size:clamp(19px,1.8vw,24px);line-height:1.45;color:var(--ink)}

/* dúvidas */
.faq{padding:clamp(48px,7vw,96px) 0}
.faq-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,5vw,72px)}
.faq-list{display:flex;flex-direction:column;gap:8px}
.qa{background:linear-gradient(160deg,#1E2227,#16191D);border:1px solid var(--line);box-shadow:var(--sh);padding:0 22px;transition:border-color .4s}
.qa.open{border-color:var(--line2);box-shadow:inset 3px 0 0 var(--red),var(--sh)}
.qa h3{font-size:inherit;font-family:inherit}
.qa button{padding:22px 0;font-size:clamp(17px,1.4vw,20px);font-weight:600;color:var(--ink);line-height:1.35}
.pm{flex:none;position:relative;width:34px;height:34px;background:linear-gradient(180deg,#E83A3A,#B51414);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 14px -8px rgba(180,20,20,.8);transition:background .4s}
.pm:before,.pm:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:#fff;transform:translate(-50%,-50%);transition:transform .5s var(--e)}
.pm:after{transform:translate(-50%,-50%) rotate(90deg)}
.qa.open .pm{background:linear-gradient(180deg,#2B5CB0,#15428A)}
.qa.open .pm:after{transform:translate(-50%,-50%) rotate(0)}
.qa-a p{margin:0;padding:0 48px 22px 0;color:var(--body)}

/* contato: bloco azul com foto */
.contact{overflow:clip;padding:clamp(72px,10vw,128px) 0}
.ct-bg{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;opacity:.18;mix-blend-mode:luminosity}
.contact-grid{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:center}
.contact-txt{display:flex;flex-direction:column;gap:16px}
.contact-txt h2{font-size:clamp(36px,4vw,56px)}
.contact-txt p{margin:0;color:#fff}
.support{font-size:14px;padding:12px 14px;border-left:3px solid var(--red);background:rgba(0,0,0,.18)}
.formbox{padding:clamp(24px,3vw,40px);background:linear-gradient(160deg,#1C2025,#121417);border:1px solid rgba(255,255,255,.14);border-top:6px solid var(--red);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 60px 100px -40px rgba(0,0,0,.9)}
.form{gap:18px}
.row2{gap:18px}
.fl{gap:8px;font-size:14px;font-weight:600;color:var(--ink)}
.lb span,.fl legend span{color:var(--red-l)}
.fl legend{margin-bottom:8px}
.fl input,.fl select,.fl textarea{min-height:52px;padding:0 14px;border:1.5px solid rgba(236,238,241,.34);border-radius:0;background:#0E1012;font-size:16px;font-weight:400;color:var(--ink);box-shadow:inset 0 2px 4px rgba(0,0,0,.5);transition:border-color .3s,box-shadow .3s}
.fl textarea{padding:12px 14px}
.fl select option{background:var(--bg)}
.fl input::placeholder{color:var(--muted)}
.fl input:focus,.fl select:focus,.fl textarea:focus{border-color:var(--red-l);box-shadow:inset 0 2px 4px rgba(0,0,0,.5),0 0 0 3px rgba(255,122,114,.15)}
.fl [aria-invalid="true"]{border-color:var(--red-l)}
.chips{gap:6px}
.chips label span{display:inline-flex;align-items:center;min-height:46px;padding:0 16px;border:1px solid var(--line2);background:linear-gradient(180deg,#22262C,#181B1F);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);font-size:15px;font-weight:600;transition:background .3s,border-color .3s}
.chips label:hover span{border-color:var(--ink)}
.chips input:checked+span{background:linear-gradient(180deg,#E83A3A,#B51414);border-color:#8E0909;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.chips input:focus-visible+span{outline:2px solid var(--red-l);outline-offset:2px}
.err{font-size:13px;color:var(--red-l)}
.fail{margin:0;padding:12px 14px;border-left:3px solid var(--red);background:rgba(212,32,32,.12);font-size:15px}
.form .btn-p{align-self:flex-start;min-width:180px}
.fnote{margin:0;font-size:13.5px;color:var(--muted)}
.fnote a{color:var(--ink)}
.sent{display:flex;flex-direction:column;gap:14px;padding:24px 0}
.sent i{width:56px;height:56px;background:linear-gradient(180deg,#E83A3A,#B51414);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 24px -12px rgba(180,20,20,.8)}
.sent i:before{content:"";width:16px;height:9px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg) translate(1px,-2px)}
.sent p{margin:0;font-family:var(--cond);font-size:28px;text-transform:uppercase}

/* onde estamos */
.where{padding:clamp(48px,7vw,96px) 0}
.where-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:0;border:1px solid var(--line2);box-shadow:var(--sh)}
.map{min-height:clamp(300px,34vw,420px);background:var(--panel)}
.map iframe{filter:none}
.where-txt{padding:clamp(24px,3vw,40px);background:linear-gradient(160deg,#1E2227,#16191D);display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.w-ico{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#E83A3A,#B51414);box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}
.w-ico svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.7}
.where-txt h2{font-size:clamp(34px,3.4vw,48px)}
.where-txt p{margin:0;color:var(--body)}

/* rodapé */
.ftr{padding:0 0 28px;background:#0C0E10}
.ftr-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding-top:clamp(56px,6vw,72px)}
.ftr-logo img{height:80px;width:auto}
.ftr-nav{display:flex;flex-wrap:wrap;gap:6px 22px}
.ftr-nav a,.ftr-nav button{font-family:var(--cond);font-size:17px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--body);text-decoration:none;background:none;border:0;padding:6px 0;cursor:pointer}
.ftr-nav a:hover,.ftr-nav button:hover{color:var(--ink)}
.ftr-bot{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.ftr-legal{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--muted)}
.soc{display:flex;gap:8px}
.soc a{width:46px;height:46px;border:1px solid var(--line2);background:linear-gradient(180deg,#22262C,#16191D);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .3s,border-color .3s,transform .3s}
.soc a:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-2px)}
.soc svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

@media (max-width:959px){
  .hero-in{padding-top:calc(72px + 30svh)}
  .hero-shade{background:linear-gradient(0deg,#111316 0%,rgba(17,19,22,.93) 50%,rgba(17,19,22,.35) 76%,rgba(17,19,22,.15) 100%)}
  .hero-img{object-position:62% 30%}
  .rail-in{grid-template-columns:1fr 1fr}
  .rail li{padding:14px 14px 16px;border-top:1px solid var(--line)}
  .rail li:nth-child(odd){border-left:0;padding-left:0}
  .fw-grid,.team-grid,.faq-grid,.contact-grid,.where-grid,.steps-grid{grid-template-columns:1fr}
  .tcard{grid-template-columns:1fr;min-height:0}
  .t-img{order:-1;aspect-ratio:16/9}
  .t-img:after{background:linear-gradient(0deg,#191C20 0%,rgba(25,28,32,0) 40%)}
  .t-n{font-size:56px}
  .rs{grid-template-columns:auto 1fr;gap:14px 16px}
  .rs-ico{display:none}
  .rs-txt,.wv{grid-column:1/-1}
  .wv{height:auto;min-height:0}
  .wv-path{flex-direction:column;align-items:stretch;text-align:center}
  .wv-path i{flex:none;width:2px;height:14px;min-width:0;margin:0 auto;background:#E5252A}
  .rs{grid-template-columns:1fr}
  .nope{grid-template-columns:48px 1fr;padding:22px}
  .nope-x{width:48px;height:48px}
  .why-sym{width:84px}
  /* como funciona no celular: também preso na tela, contando a história conforme rola */
  .steps{height:430svh}
  .steps-pin{position:sticky;top:0;height:100svh;display:flex;align-items:center;padding-top:64px;overflow:hidden}
  .steps-top{gap:12px;margin-bottom:14px}
  .steps-top h2{font-size:clamp(36px,10vw,48px)}
  .viga{flex:1 1 100%;grid-template-columns:repeat(4,1fr 10px);padding-bottom:0}
  .pil{width:10px;height:24px}
  .seg{height:9px}
  .steps-grid{gap:12px}
  .cols{gap:0}
  .js .cols li:not(.on){display:none}
  .cols li{padding:14px 16px;grid-template-columns:44px 1fr;gap:10px}
  .cols li.on{padding-left:22px;animation:passo .7s var(--e)}
  .cols h3{font-size:24px}
  .cols p{font-size:15px;line-height:1.5}
  .s-n{font-size:34px}
  .dash-h{padding:8px 12px;font-size:13px}
  .scenes{flex:none;min-height:0;aspect-ratio:600/340}
  .scene{position:absolute}
}
@keyframes passo{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
@media (max-width:959px) and (max-height:700px){.steps-top h2{font-size:34px}.cols p{font-size:14px}.steps-top{margin-bottom:8px}}
@media (max-width:959px){.form .btn-p{align-self:center;min-width:min(100%,260px)}}
@media (max-width:640px){.btn{white-space:normal;text-align:center;line-height:1.2;padding:12px 18px}}

/* celular: foto do hero parada (só sobe com a página), faixa da foto limpa no topo,
   sombra escura só atrás do texto e leitura centralizada nos títulos */
@media (max-width:959px){
  .hero-img{transform:none!important;transition:none;will-change:auto}
  .hero-shade{background:linear-gradient(180deg,rgba(17,19,22,0) 0,rgba(17,19,22,0) calc(72px + 30svh - 150px),rgba(17,19,22,.82) calc(72px + 30svh - 10px),rgba(17,19,22,.93) calc(72px + 30svh + 220px),#111316 100%)}
  .hero-txt{align-items:center;text-align:center}
  .h-tag{align-self:center}
  .hero h1{margin-inline:auto}
  .lead{margin-inline:auto}
  .cta{flex-direction:column;align-items:stretch;width:100%;max-width:440px;margin-inline:auto}
  .cta .btn{width:100%;justify-content:center}
  .rail li{align-items:center;text-align:center;padding:14px 10px 16px!important}
  .rail li:before,.rail li:first-child:before{left:50%;margin-left:-14px}
  .forwho h2.eyebrow{display:flex;justify-content:center;text-align:center}
  .forwho .big{text-align:center}
  .stack-head{align-items:center;text-align:center}
  .why-head{flex-direction:column;align-items:center;text-align:center;gap:18px}
  .why h2{margin-inline:auto}
  .case-in{text-align:center}
  .case-nums{justify-content:center}
  .case p{margin-inline:auto}
  .steps-top{justify-content:center}
  .steps-top h2{flex:1 1 100%;text-align:center}
  .team h2,.team-p{text-align:center;margin-inline:auto}
  .faq-grid>h2{text-align:center}
  .contact-txt{text-align:center}
  .contact-txt .support{text-align:left}
  .where-txt{align-items:center;text-align:center}
}

/* hover lento e elegante nos cards */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  :is(.rs,.qa,.nope){transition:transform 1s cubic-bezier(.16,1,.3,1),box-shadow 1s cubic-bezier(.16,1,.3,1),border-color .8s ease,background-color .8s ease!important;will-change:transform}
  :is(.rs,.qa,.nope):hover{transform:translate3d(0,-8px,0)!important;box-shadow:0 2px 4px rgba(0,0,0,.06),0 30px 60px -28px rgba(0,0,0,.85),0 18px 40px -30px rgba(229,37,42,.45)!important}
  :is(.rs,.qa,.nope) :is(.rs-ico,.nope-x){transition:transform 1s cubic-bezier(.16,1,.3,1),box-shadow 1s cubic-bezier(.16,1,.3,1)}
  :is(.rs,.qa,.nope):hover :is(.rs-ico,.nope-x){transform:translate3d(0,-3px,0) scale(1.08);box-shadow:0 14px 28px -10px rgba(229,37,42,.45)}
}
@media (max-width:959px){.why-sym{display:none!important}}

/* ===== Ajustes 09/11 ===== */
/* Clientes: título central em duas linhas, sem subtexto */
section.clients .cl-head{display:block;text-align:center;margin-inline:auto}
section.clients .cl-head h2{margin-inline:auto;text-wrap:wrap}
@media (min-width:960px){section.clients .cl-head h2{white-space:nowrap}}
/* Para quem é: texto à esquerda e bloco "Não atendemos" à direita, mesma altura e alinhados */
@media (min-width:960px){
  .forwho .fw-grid{grid-template-columns:minmax(0,7fr) minmax(0,4.6fr);align-items:stretch;gap:clamp(36px,4.5vw,72px)}
  .forwho .fw-grid>div:first-child{display:flex;flex-direction:column;justify-content:center}
  .forwho .nope{align-self:stretch;align-content:center;align-items:center;padding:clamp(28px,2.6vw,40px)}
}
/* Quem conduz: crachá maior, foto aproveitada e texto mais leve no computador */
@media (min-width:960px){
  section.team .team-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,5vw,88px)}
  section.team .cracha{flex:0 1 380px}
  section.team .cr-ph{margin:12px 12px 0;aspect-ratio:1/1.12}
  section.team .cr-ph img{object-position:50% 20%}
  section.team .cr-body strong{font-size:22px}
  section.team .team-p{font-weight:400;font-size:clamp(17px,1.35vw,19px);line-height:1.7;max-width:52ch}
}
@media (max-width:959px){section.team .team-p{font-weight:500}}
