/* ─────────── TOKENS ─────────── */
:root{
  --graphite:#1C1C1E;
  --graphite-2:#2A2A2D;
  --off:#F5F3F0;
  --white:#FFFFFF;
  --orange:#F26522;
  --orange-deep:#B84410;
  --txt:#5C5954;
  --meta:#8A867F;
  --rule:#D8D4CE;
  --rule-dark:#3A3A3E;

  --gutter:clamp(20px,5vw,64px);
  --rail:58px;
  --max:1240px;
  --sec:clamp(88px,13vh,168px);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--off);color:var(--graphite);
  font-family:Inter,system-ui,-apple-system,sans-serif;
  font-size:16px;line-height:1.62;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
::selection{background:var(--orange);color:#fff}

.mono{
  font-family:'IBM Plex Mono',ui-monospace,Consolas,monospace;
  font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:400;
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
@media(min-width:900px){.wrap{padding-left:calc(var(--gutter) + var(--rail));padding-right:var(--gutter)}}

h1,h2,h3{margin:0;letter-spacing:-.022em;line-height:1.08}
p{margin:0}

/* ─────────── FOCO / ACESSIBILIDADE ─────────── */
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-9999px;top:0;background:var(--graphite);color:#fff;padding:12px 18px;z-index:200}
.skip:focus{left:8px;top:8px}

/* ─────────── REVEAL ─────────── */
[data-rv]{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0ms)}
[data-rv].in{opacity:1;transform:none}
[data-rv-line]{clip-path:inset(0 0 105% 0);transition:clip-path 1.05s var(--ease);transition-delay:var(--d,0ms)}
[data-rv-line].in{clip-path:inset(0 0 -10% 0)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  [data-rv],[data-rv-line]{opacity:1;transform:none;clip-path:none}
}

/* ─────────── BARRA DE PROGRESSO ─────────── */
#prog{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:var(--orange);z-index:120}

/* ─────────── TRILHO DA OPERAÇÃO (assinatura) ─────────── */
#rail{position:fixed;left:calc(var(--gutter) + 6px);top:0;bottom:0;width:var(--rail);z-index:110;pointer-events:none;display:none}
@media(min-width:900px){#rail{display:block}}
#rail .track{position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--rule)}
.on-dark #rail .track{background:var(--rule-dark)}
#rail .fill{position:absolute;left:0;top:0;width:1px;height:100%;background:var(--orange);transform:scaleY(0);transform-origin:0 0;transition:transform .12s linear}
#rail .node{position:absolute;left:-3px;width:7px;height:7px;background:var(--off);border:1px solid var(--rule);border-radius:50%;transition:background .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease)}
.on-dark #rail .node{background:var(--graphite);border-color:var(--rule-dark)}
#rail .node.done{background:var(--orange);border-color:var(--orange)}
#rail .node.now{transform:scale(1.7)}
#rail .tag{
  position:absolute;left:16px;top:50%;transform-origin:0 0;transform:rotate(90deg) translateY(-50%);
  white-space:nowrap;color:var(--meta);opacity:0;transition:opacity .5s var(--ease)
}
#rail .tag.show{opacity:1}
.on-dark #rail .tag{color:#7E7A73}

/* ─────────── HEADER ─────────── */
header{position:fixed;top:0;left:0;right:0;z-index:130;transition:background .45s var(--ease),border-color .45s var(--ease),backdrop-filter .45s}
header .bar{max-width:var(--max);margin:0 auto;padding:16px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:20px}
header.solid{background:rgba(28,28,30,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule-dark)}
header.solid.light{background:rgba(245,243,240,.9);border-bottom-color:var(--rule)}

.logo{display:flex;align-items:center;gap:11px;text-decoration:none}
.logo svg{width:20px;height:23px;display:block;overflow:visible}
.logo .mark{fill:var(--orange)}
.logo .word{font-size:15px;letter-spacing:.02em;line-height:1;color:#fff;white-space:nowrap}
header.light .logo .word{color:var(--graphite)}
.logo .word b{font-weight:700}
.logo .word i{font-weight:300;font-style:normal}

.lbl-min{display:none}
@media(max-width:600px){.lbl-full{display:none}.lbl-min{display:inline}}
nav.links{display:none;gap:30px}
@media(min-width:820px){nav.links{display:flex}}
nav.links a{color:rgba(255,255,255,.72);text-decoration:none;transition:color .3s}
nav.links a:hover{color:#fff}
header.light nav.links a{color:var(--txt)}
header.light nav.links a:hover{color:var(--graphite)}

/* ─────────── BOTÕES ─────────── */
.btn{
  display:inline-flex;align-items:center;gap:12px;background:var(--orange);color:#fff;
  text-decoration:none;font-weight:600;font-size:15px;padding:15px 26px;border:0;white-space:nowrap;
  position:relative;transition:transform .35s var(--ease),background .3s;will-change:transform
}
.btn:hover{background:#E0561A}
.btn .arw{transition:transform .35s var(--ease)}
.btn:hover .arw{transform:translateX(5px)}
.btn.sm{padding:11px 18px;font-size:14px}
.btn.big{padding:19px 32px;font-size:clamp(16px,3.6vw,19px);font-weight:700}
@media(max-width:560px){.btn{font-size:14px;padding:13px 18px}.btn.big{padding:16px 22px}}
.ghost{
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:15px;
  color:rgba(255,255,255,.9);border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:4px;transition:border-color .3s,color .3s
}
.ghost:hover{border-color:var(--orange);color:#fff}

/* WhatsApp flutuante */
#float{
  position:fixed;right:20px;bottom:20px;z-index:125;opacity:0;transform:translateY(16px);pointer-events:none;
  transition:opacity .5s var(--ease),transform .5s var(--ease);box-shadow:0 12px 34px rgba(28,28,30,.28)
}
#float.show{opacity:1;transform:none;pointer-events:auto}

/* ─────────── 01 HERO ─────────── */
.hero{position:relative;background:var(--graphite);color:#fff;overflow:hidden;padding:clamp(140px,20vh,200px) 0 clamp(78px,11vh,120px)}
.hero .grid-bg{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.hero .grid-bg line{stroke:#fff;stroke-opacity:.07;stroke-width:1;stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 1.5s var(--ease) forwards}
.hero .grid-bg line.acc{stroke:var(--orange);stroke-opacity:.4}
@keyframes draw{to{stroke-dashoffset:0}}
.hero .bigF{position:absolute;right:6%;bottom:9%;width:min(27vw,340px);opacity:.085;pointer-events:none}
@media(max-width:900px){.hero .bigF{display:none}}
.hero .bigF path{fill:none;stroke:#fff;stroke-width:1.6;stroke-linejoin:round;stroke-dasharray:640;stroke-dashoffset:640;animation:draw 2.6s .35s var(--ease) forwards}
.hero .inner{position:relative;z-index:2}
.hero .eyebrow{color:var(--orange);display:block;margin-bottom:clamp(24px,4vh,40px)}
.hero h1{font-size:clamp(36px,6.4vw,66px);font-weight:700;max-width:17ch;text-wrap:balance}
.hero h1 span{display:block;overflow:hidden}
.hero h1 span i{display:block;font-style:normal;transform:translateY(103%);animation:rise 1s var(--ease) forwards}
.hero h1 span:nth-child(1) i{animation-delay:.15s}
.hero h1 span:nth-child(2) i{animation-delay:.29s}
@keyframes rise{to{transform:none}}
.hero .lead{margin-top:clamp(24px,4vh,36px);max-width:56ch;font-size:clamp(16px,1.9vw,19px);color:rgba(245,243,240,.78);opacity:0;animation:fade 1s .62s var(--ease) forwards}
@keyframes fade{to{opacity:1}}
.hero .cta{margin-top:clamp(34px,5vh,50px);display:flex;flex-wrap:wrap;align-items:center;gap:26px;opacity:0;animation:fade 1s .82s var(--ease) forwards}
.hero .meta{position:relative;z-index:2;margin-top:clamp(56px,9vh,96px);display:flex;flex-wrap:wrap;gap:12px 34px;color:#77736C;opacity:0;animation:fade 1s 1s var(--ease) forwards}
.hero .meta span{display:flex;align-items:center;gap:9px}
.hero .meta span::before{content:"";width:5px;height:5px;background:var(--orange)}

/* ─────────── SEÇÕES GERAIS ─────────── */
section{position:relative}
.pad{padding:var(--sec) 0}
.light-s{background:var(--off);color:var(--graphite)}
.dark-s{background:var(--graphite);color:#fff}
.eyebrow{color:var(--meta);display:block;margin-bottom:26px}
.dark-s .eyebrow{color:#7E7A73}
.h-sec{font-size:clamp(28px,4.6vw,44px);font-weight:700;max-width:20ch}
.dark-s .h-sec{color:#fff}
.body-t{color:var(--txt);font-size:17px;max-width:62ch}
.dark-s .body-t{color:rgba(245,243,240,.72)}

/* 02 TETO */
.teto .cols{display:grid;gap:clamp(34px,5vw,72px);grid-template-columns:1fr}
@media(min-width:940px){.teto .cols{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:start}}
.teto .body-t + .body-t{margin-top:20px}
.eco{margin-top:40px;border-left:2px solid var(--orange);padding:4px 0 4px 22px;display:grid;gap:10px}
.eco q{font-size:clamp(18px,2.4vw,23px);font-weight:600;color:var(--orange-deep);quotes:'\201C' '\201D';letter-spacing:-.015em;line-height:1.4}
.teto .punch{margin-top:clamp(52px,7vh,84px);font-size:clamp(23px,3.5vw,38px);font-weight:700;letter-spacing:-.025em;line-height:1.2;max-width:24ch;border-top:1px solid var(--rule);padding-top:clamp(28px,4vh,40px)}

/* 03 CATEGORIA */
.cat .top{display:grid;gap:24px;grid-template-columns:1fr;margin-bottom:clamp(46px,7vh,78px)}
@media(min-width:940px){.cat .top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:56px}}
.pillars{display:grid;gap:1px;background:var(--rule-dark);border-top:1px solid var(--rule-dark);border-bottom:1px solid var(--rule-dark)}
@media(min-width:820px){.pillars{grid-template-columns:repeat(3,1fr)}}
.pillar{background:var(--graphite);padding:clamp(30px,4vw,44px) clamp(24px,3vw,38px);transition:background .45s var(--ease)}
.pillar:hover{background:var(--graphite-2)}
.pillar .n{color:var(--orange);display:block;margin-bottom:20px}
.pillar h3{font-size:22px;font-weight:600;margin-bottom:14px}
.pillar p{color:rgba(245,243,240,.68);font-size:15.5px}

/* 04 / 06 FAIXA LARANJA */
.band{background:var(--orange);color:#fff;padding:clamp(78px,12vh,140px) 0}
.band .q{font-size:clamp(26px,4.6vw,54px);font-weight:700;letter-spacing:-.03em;line-height:1.16;max-width:19ch}
.band .q w{display:inline-block;overflow:hidden;vertical-align:top}
.band .q w u{display:inline-block;text-decoration:none;transform:translateY(105%);transition:transform .85s var(--ease);transition-delay:var(--d,0ms)}
.band.in .q w u{transform:none}

/* 05 MERCADO */
.tbl{margin-top:clamp(40px,6vh,64px);border-top:1px solid var(--rule)}
.thead{display:none;padding:14px 0;color:var(--meta);border-bottom:1px solid var(--rule)}
@media(min-width:900px){.thead{display:grid;grid-template-columns:1fr 1.25fr 1.35fr;gap:28px}}
.row{border-bottom:1px solid var(--rule);padding:26px 0;display:grid;gap:10px;position:relative}
@media(min-width:900px){.row{grid-template-columns:1fr 1.25fr 1.35fr;gap:28px;padding:30px 0;align-items:start}}
.row::before{content:"";position:absolute;left:calc(var(--gutter) * -.4);top:0;bottom:0;width:2px;background:var(--orange);transform:scaleY(0);transform-origin:50% 0;transition:transform .5s var(--ease)}
.row:hover::before{transform:scaleY(1)}
.row .c1{font-weight:600;font-size:18px}
.row .c2{color:var(--txt);font-size:15.5px}
.row .c3{color:var(--graphite);font-size:16px;font-weight:600;border-left:2px solid var(--orange);padding-left:18px}
@media(max-width:899px){
  .row .c2::before{content:"O QUE ACONTECE";display:block;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;color:var(--meta);margin-bottom:6px}
  .row .c3{margin-top:6px}
  .row .c3::before{content:"O QUE A FOCUS SOLUTION FAZ";display:block;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;color:var(--orange-deep);margin-bottom:6px}
}
.tbl-foot{margin-top:34px;color:var(--txt);max-width:60ch;font-size:16px}

/* 07 ESCADA */
.esc .layout{display:grid;gap:clamp(40px,6vw,80px);grid-template-columns:1fr}
@media(min-width:940px){.esc .layout{grid-template-columns:minmax(0,.72fr) minmax(0,1fr)}}
.esc .stick{position:relative}
@media(min-width:940px){.esc .stick{position:sticky;top:120px;align-self:start}}
.esc .idx{margin-top:38px;display:grid;gap:14px}
.esc .idx div{display:flex;align-items:center;gap:14px;color:#78746D;transition:color .4s var(--ease)}
.esc .idx div.act{color:#fff}
.esc .idx .dash{width:26px;height:1px;background:var(--rule-dark);transition:background .4s,width .4s var(--ease)}
.esc .idx div.act .dash{background:var(--orange);width:46px}
.step{border-top:1px solid var(--rule-dark);padding:clamp(32px,5vh,48px) 0;transition:border-color .5s}
.step:last-child{border-bottom:1px solid var(--rule-dark)}
.step .hd{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 18px;margin-bottom:16px}
.step h3{font-size:clamp(21px,2.8vw,28px);font-weight:700}
.step .prazo{color:var(--orange);white-space:nowrap}
.step h3{color:rgba(255,255,255,.34);transition:color .5s var(--ease)}
.step p{color:rgba(245,243,240,.42);font-size:16px;max-width:52ch;transition:color .5s var(--ease)}
.step.act p{color:rgba(245,243,240,.74)}
.step.act h3{color:#fff}
.esc .note{margin-top:34px;color:#78746D}

/* 08 FILTRO */
.filt .body-t{margin-top:24px}
.filt .cards{margin-top:clamp(40px,6vh,64px);display:grid;gap:24px}
@media(min-width:900px){.filt .cards{grid-template-columns:1fr 1fr;gap:28px}}
.card{background:var(--white);border:1px solid var(--rule);padding:clamp(28px,3.6vw,42px)}
.card h3{font-size:19px;font-weight:600;margin-bottom:26px;display:flex;align-items:center;gap:12px}
.card ul{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.card li{position:relative;padding-left:32px;color:var(--txt);font-size:16px}
.card li b{color:var(--graphite);font-weight:600;display:block;margin-bottom:3px}
.card li::before{position:absolute;left:0;top:2px;font-family:'IBM Plex Mono',monospace;font-size:13px}
.card.yes li::before{content:"↳";color:var(--orange-deep)}
.card.no li::before{content:"×";color:var(--meta)}
.filt .close{margin-top:38px;font-size:clamp(19px,2.6vw,26px);font-weight:700;letter-spacing:-.02em}

/* 09 QUEM */
.who .layout{display:grid;gap:clamp(34px,5vw,68px);grid-template-columns:1fr}
@media(min-width:900px){.who .layout{grid-template-columns:minmax(0,.62fr) minmax(0,1fr);align-items:start}}
.photo{position:relative;background:var(--graphite-2);overflow:hidden}
.photo img{width:100%;filter:contrast(1.02);transform:scale(1.02);transition:transform 1.2s var(--ease)}
.photo:hover img{transform:scale(1.055)}
.photo .cap{position:absolute;left:0;bottom:0;background:var(--orange);color:#fff;padding:9px 15px}
.who h2{margin-bottom:26px}
.who p{color:rgba(245,243,240,.72);font-size:16.5px;max-width:60ch}
.who p + p{margin-top:18px}
.who .team{margin-top:clamp(38px,5vh,54px);border-top:1px solid var(--rule-dark);padding-top:26px;display:grid;gap:1px}
.who .team div{display:grid;gap:4px 24px;padding:14px 0;border-bottom:1px solid var(--rule-dark)}
@media(min-width:640px){.who .team div{grid-template-columns:130px 1fr;align-items:baseline}}
.who .team .nm{color:var(--orange)}
.who .team .fn{color:rgba(245,243,240,.72);font-size:15.5px}
.who .more{margin-top:32px;display:inline-flex}

/* 10 CTA FINAL */
.final{background:var(--off);text-align:left}
.final h2{font-size:clamp(30px,5.4vw,58px);font-weight:700;letter-spacing:-.03em;max-width:18ch;line-height:1.1}
.final p{margin-top:26px;color:var(--txt);font-size:17.5px;max-width:56ch}
.final .act{margin-top:clamp(36px,5vh,52px);display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.final .micro{margin-top:24px;color:var(--meta)}

/* FOOTER */
footer{background:var(--graphite);color:#fff;padding:clamp(56px,8vh,84px) 0 34px}
footer .top{display:grid;gap:34px;padding-bottom:44px;border-bottom:1px solid var(--rule-dark)}
@media(min-width:820px){footer .top{grid-template-columns:1.4fr 1fr 1fr;gap:48px}}
footer .claim{color:rgba(245,243,240,.62);max-width:38ch;margin-top:20px;font-size:15.5px}
footer h4{margin:0 0 18px;color:#7E7A73;font-weight:400}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
footer a{color:rgba(245,243,240,.78);text-decoration:none;transition:color .3s}
footer a:hover{color:var(--orange)}
footer .bot{padding-top:26px;display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;color:#6E6A64}
/* ─────────── PÁGINAS INTERNAS ─────────── */
.page-hero{background:var(--graphite);color:#fff;padding:clamp(150px,22vh,220px) 0 clamp(64px,9vh,100px);position:relative;overflow:hidden}
.page-hero .crumb{color:#7E7A73;display:flex;gap:12px;align-items:center;margin-bottom:26px}
.page-hero .crumb a{color:#7E7A73;text-decoration:none;transition:color .3s}
.page-hero .crumb a:hover{color:var(--orange)}
.page-hero h1{font-size:clamp(34px,6vw,62px);font-weight:700;max-width:18ch;letter-spacing:-.028em}
.page-hero .lead{margin-top:24px;color:rgba(245,243,240,.72);max-width:58ch;font-size:clamp(16px,1.9vw,18.5px)}
nav.links a.on{color:#fff;position:relative}
header.light nav.links a.on{color:var(--graphite)}
nav.links a.on::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--orange)}

/* Frentes (método) */
.fronts{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media(min-width:820px){.fronts{grid-template-columns:1fr 1fr}}
.front{background:var(--white);padding:clamp(30px,4vw,48px)}
.front .n{color:var(--orange-deep);display:block;margin-bottom:18px}
.front h3{font-size:21px;font-weight:600;margin-bottom:12px}
.front p{color:var(--txt);font-size:15.5px}
.front .out{margin-top:20px;padding-top:16px;border-top:1px solid var(--rule);color:var(--meta);font-size:13px}
.front .out b{color:var(--graphite);font-weight:600;font-size:14.5px;display:block;margin-top:4px}

/* Cronograma (método) */
.timeline{margin-top:clamp(40px,6vh,64px);position:relative}
.timeline .axis{position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:var(--rule-dark)}
.timeline .axis .go{position:absolute;left:0;top:0;width:1px;height:100%;background:var(--orange);transform:scaleY(0);transform-origin:0 0;transition:transform 1.4s var(--ease)}
.timeline.in .axis .go{transform:scaleY(1)}
.tl-item{position:relative;padding:0 0 clamp(34px,5vh,52px) 44px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:0;top:6px;width:15px;height:15px;border-radius:50%;background:var(--graphite);border:2px solid var(--rule-dark);transition:border-color .5s var(--ease),background .5s var(--ease)}
.tl-item.in::before{border-color:var(--orange);background:var(--orange)}
.tl-item .when{color:var(--orange);display:block;margin-bottom:8px}
.tl-item h3{font-size:20px;font-weight:600;color:#fff;margin-bottom:8px}
.tl-item p{color:rgba(245,243,240,.66);font-size:15.5px;max-width:56ch}

/* Medição (método) */
.measure{display:grid;gap:1px;background:var(--rule-dark);border-top:1px solid var(--rule-dark);border-bottom:1px solid var(--rule-dark);margin-top:clamp(38px,5vh,56px)}
@media(min-width:820px){.measure{grid-template-columns:repeat(3,1fr)}}
.measure div{background:var(--graphite);padding:clamp(26px,3.4vw,40px)}
.measure .k{color:var(--orange);display:block;margin-bottom:14px}
.measure p{color:rgba(245,243,240,.68);font-size:15.5px}
.measure b{display:block;color:#fff;font-weight:600;font-size:18px;margin-bottom:8px}

/* Perguntas diretas */
.faq{margin-top:clamp(38px,5vh,56px);border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-weight:600;font-size:clamp(16px,2.2vw,19px)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .x{flex:none;width:14px;height:14px;position:relative}
.faq summary .x::before,.faq summary .x::after{content:"";position:absolute;background:var(--orange-deep);transition:transform .35s var(--ease)}
.faq summary .x::before{left:0;top:6px;width:14px;height:2px}
.faq summary .x::after{left:6px;top:0;width:2px;height:14px}
.faq details[open] summary .x::after{transform:rotate(90deg)}
.faq .a{padding:0 0 26px;color:var(--txt);max-width:64ch;font-size:16px}

/* Sobre */
.origin p{color:rgba(245,243,240,.74);font-size:clamp(16.5px,2vw,18.5px);max-width:62ch;line-height:1.72}
.origin p + p{margin-top:22px}
.origin .mark-p{color:#fff;font-weight:600}
.vals{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media(min-width:820px){.vals{grid-template-columns:1fr 1fr}}
.val{background:var(--white);padding:clamp(28px,3.6vw,44px)}
.val .n{color:var(--orange-deep);display:block;margin-bottom:16px}
.val h3{font-size:20px;font-weight:600;margin-bottom:10px}
.val p{color:var(--txt);font-size:15.5px}
.val .ex{margin-top:18px;border-left:2px solid var(--orange);padding:2px 0 2px 16px;color:var(--graphite);font-size:15px;font-weight:600;font-style:normal}
.sig{margin-top:clamp(40px,6vh,60px);display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;border-top:1px solid var(--rule-dark);padding-top:30px}
.sig .who-s{display:grid;gap:2px}
.sig .who-s b{color:#fff;font-weight:600}
.sig .who-s span{color:#7E7A73}

.hist-grid{display:grid;gap:clamp(34px,5vw,68px);grid-template-columns:1fr}
@media(min-width:940px){.hist-grid{grid-template-columns:minmax(0,1fr) minmax(0,.55fr);align-items:start}}
.hist-grid .photo{justify-self:end;width:100%}
@media(max-width:939px){.hist-grid .photo{max-width:380px!important;justify-self:start}}

/* ─────────── CAMADA DE MOVIMENTO v2 ─────────── */

/* Contorno que se desenha no hover dos cartões */
.pillar,.front,.card,.val,.measure > div{position:relative}
.pillar::before,.front::before,.card::before,.val::before,.measure > div::before{
  content:"";position:absolute;left:0;top:0;right:0;height:2px;background:var(--orange);
  transform:scaleX(0);transform-origin:0 50%;transition:transform .55s var(--ease);pointer-events:none
}
.pillar::after,.front::after,.card::after,.val::after,.measure > div::after{
  content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--orange);
  transform:scaleY(0);transform-origin:50% 0;transition:transform .55s var(--ease) .08s;pointer-events:none
}
.pillar:hover::before,.front:hover::before,.card:hover::before,.val:hover::before,.measure > div:hover::before{transform:scaleX(1)}
.pillar:hover::after,.front:hover::after,.card:hover::after,.val:hover::after,.measure > div:hover::after{transform:scaleY(1)}
.front,.card,.val{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.front:hover,.card:hover,.val:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(28,28,30,.09)}
.pillar:hover{background:var(--graphite-2)}

/* Deriva lenta da grade do hero */
@keyframes drift{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(-14px,-9px,0)}100%{transform:translate3d(0,0,0)}}
.hero .grid-bg{animation:drift 26s ease-in-out 2s infinite;will-change:transform}

/* F do hero: flutuação sutil */
@keyframes floaty{0%{transform:translateY(0)}50%{transform:translateY(-14px)}100%{transform:translateY(0)}}
.hero .bigF{animation:floaty 11s ease-in-out 3s infinite;will-change:transform}

/* Sublinhado deslizante no menu */
nav.links a{position:relative}
nav.links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:0 50%;transition:transform .4s var(--ease)}
nav.links a:hover::after{transform:scaleX(1)}

/* Cursor de decodificação nos rótulos */
.eyebrow.dec::after{content:"_";color:var(--orange);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.eyebrow.dec-done::after{content:"";animation:none}

/* Transição entre páginas */
body{opacity:1;transition:opacity .32s var(--ease)}
body.leaving{opacity:0}
@keyframes pagein{from{opacity:0}to{opacity:1}}
body{animation:pagein .5s var(--ease)}

/* Botão: clique com peso */
.btn:active{transform:scale(.97)}

/* Foto: revelação por cortina */
.photo .veil{position:absolute;inset:0;background:var(--graphite);z-index:2;transform:scaleX(1);transform-origin:100% 50%;transition:transform 1.05s var(--ease) .1s;pointer-events:none}
.photo.in .veil{transform:scaleX(0)}

@media(prefers-reduced-motion:reduce){
  .hero .grid-bg,.hero .bigF{animation:none}
  body{animation:none}
  .photo .veil{display:none}
}

/* ─────────── CASES ─────────── */
.cases-intro{max-width:64ch}
.case-block{border-top:1px solid var(--rule-dark);padding:clamp(44px,7vh,80px) 0}
.dark-s .case-block:first-of-type{border-top:1px solid var(--rule-dark)}
.case-block .grid{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:1fr;align-items:center}
@media(min-width:900px){.case-block .grid{grid-template-columns:minmax(0,.44fr) minmax(0,1fr)}}
.case-logo{background:var(--white);border:1px solid var(--rule);border-radius:4px;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;padding:clamp(28px,4vw,48px);position:relative;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.case-logo:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(28,28,30,.14)}
.case-logo img{max-width:78%;max-height:70%;width:auto;height:auto;object-fit:contain}
.case-logo .wm{font-weight:700;font-size:clamp(22px,3vw,30px);letter-spacing:-.02em;color:var(--graphite);text-align:center}
.case-logo .wm b{color:var(--orange-deep)}
.case-logo .wm small{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;color:var(--meta);font-weight:400;margin-top:6px;text-transform:uppercase}
.case-body .seg{color:var(--orange);display:block;margin-bottom:14px}
.dark-s .case-body .seg{color:var(--orange)}
.case-body h3{font-size:clamp(22px,3vw,30px);font-weight:700;letter-spacing:-.02em;margin-bottom:8px}
.dark-s .case-body h3{color:#fff}
.case-body .role{color:var(--meta);margin-bottom:20px;display:block}
.dark-s .case-body .role{color:#7E7A73}
.case-body p{color:rgba(245,243,240,.72);font-size:16.5px;max-width:58ch}
.light-s .case-body p{color:var(--txt)}
.case-tags{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px}
.case-tags span{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--meta);border:1px solid var(--rule-dark);padding:6px 12px;border-radius:2px}
.light-s .case-tags span{border-color:var(--rule);color:var(--txt)}

/* Faixa de logos (marquee) */
.logos-strip{overflow:hidden;position:relative;padding:clamp(30px,4vh,44px) 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logos-track{display:flex;gap:clamp(40px,6vw,84px);width:max-content;align-items:center;animation:marq 34s linear infinite}
.logos-strip:hover .logos-track{animation-play-state:paused}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.logos-track .lg{flex:none;height:clamp(58px,7vw,72px);display:flex;align-items:center;justify-content:center;transition:transform .4s var(--ease)}
.logos-track .lg:hover{transform:translateY(-3px)}
.logos-track .lg.on-white{background:var(--white);border-radius:8px;padding:0 clamp(18px,2vw,26px);min-width:clamp(130px,16vw,180px);box-shadow:0 6px 20px rgba(0,0,0,.18)}
.logos-track .lg img{max-height:64%;max-width:100%;width:auto;object-fit:contain;filter:none}
.logos-track .lg .txt{font-weight:700;font-size:clamp(16px,2vw,20px);color:rgba(245,243,240,.82);white-space:nowrap;letter-spacing:-.01em;padding:0 8px}
.strip-label{text-align:center;color:var(--meta);margin-bottom:6px}
@media(prefers-reduced-motion:reduce){.logos-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}}

/* mini cartões de peças (construtoras) */
.pieces{margin-top:clamp(34px,5vh,52px);display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}
@media(min-width:720px){.pieces{grid-template-columns:repeat(4,1fr)}}
.piece{background:var(--graphite-2);border:1px solid var(--rule-dark);border-radius:4px;padding:22px 18px;transition:transform .45s var(--ease),border-color .45s}
.piece:hover{transform:translateY(-4px);border-color:var(--orange)}
.piece .pk{color:var(--orange);display:block;margin-bottom:12px;font-size:22px;font-weight:700}
.piece b{display:block;color:#fff;font-weight:600;font-size:15px;margin-bottom:5px}
.piece span{color:rgba(245,243,240,.6);font-size:13.5px}

/* Faixa de logos em fundo claro: logos coloridos ficam grafite */
.light-s .logos-track .lg.on-white{background:var(--white);border:1px solid var(--rule);box-shadow:0 4px 16px rgba(28,28,30,.06)}
.light-s .logos-track .lg .txt{color:var(--txt)}

/* Nota de grupo no rodapé */
footer .group-note{padding:24px 0 20px;border-bottom:1px solid var(--rule-dark)}
footer .group-note p{color:#6E6A64;font-size:13.5px;max-width:72ch;line-height:1.6}
footer .bot a{color:#8A867F;text-decoration:none;transition:color .3s}
footer .bot a:hover{color:var(--orange)}

/* ═══════════ AMPLIAÇÃO 3 · CURSOR CUSTOMIZADO ═══════════ */
@media(hover:hover) and (pointer:fine){
  .has-cursor, .has-cursor *{cursor:none}
  #cur{position:fixed;top:0;left:0;width:26px;height:26px;border:1.5px solid var(--orange);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .25s var(--ease),height .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease),opacity .25s}
  #curdot{position:fixed;top:0;left:0;width:5px;height:5px;background:var(--orange);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:opacity .2s}
  #cur.lg{width:56px;height:56px;background:rgba(242,101,34,.12);border-color:var(--orange)}
  #cur.link{width:44px;height:44px;background:rgba(242,101,34,.08)}
  #cur.hide,#curdot.hide{opacity:0}
}

/* ═══════════ AMPLIAÇÃO 8 · TRANSIÇÃO DE PÁGINA ═══════════ */
#ptrans{position:fixed;inset:0;z-index:9998;pointer-events:none;transform:scaleY(0);transform-origin:50% 100%;background:var(--graphite);display:flex;align-items:center;justify-content:center}
#ptrans.run{animation:pt .72s var(--ease) forwards}
#ptrans .m{opacity:0}
@keyframes pt{0%{transform:scaleY(0);transform-origin:50% 100%}45%{transform:scaleY(1);transform-origin:50% 100%}45.01%{transform-origin:50% 0}100%{transform:scaleY(0);transform-origin:50% 0}}
#ptrans.run .m{animation:ptm .72s var(--ease) forwards}
@keyframes ptm{0%,25%{opacity:0}40%,55%{opacity:1}70%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){#ptrans.run{animation:none}#ptrans.run .m{animation:none}}


/* ═══════════ AMPLIAÇÃO 7 · FAQ ACCORDION (home) ═══════════ */
.faq-wrap{max-width:860px;margin-top:clamp(36px,5vh,56px)}
.accord-item{border-bottom:1px solid var(--rule-dark)}
.light-s .accord-item{border-bottom:1px solid var(--rule)}
.accord-q{width:100%;text-align:left;background:none;border:none;padding:26px 44px 26px 0;font-family:inherit;font-size:clamp(18px,2.4vw,21px);font-weight:600;color:#F5F3F0;cursor:pointer;position:relative;display:block;letter-spacing:-.01em}
.light-s .accord-q{color:#1C1C1E}
.accord-q::after{content:"";position:absolute;right:6px;top:50%;width:13px;height:13px;border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:translateY(-70%) rotate(45deg);transition:transform .4s var(--ease)}
.accord-item.open .accord-q::after{transform:translateY(-30%) rotate(-135deg)}
.accord-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.accord-item.open .accord-a{max-height:280px}
.accord-a p{color:rgba(245,243,240,.72);font-size:16.5px;line-height:1.7;padding:0 44px 28px 0;max-width:70ch}
.light-s .accord-a p{color:#4A4844}

/* ═══════════ AMPLIAÇÃO 2 · DIAGNÓSTICO RÁPIDO ═══════════ */
.quiz-wrap{max-width:760px;margin:clamp(36px,5vh,56px) auto 0}
.quiz-q{border:1px solid var(--rule-dark);border-radius:8px;padding:clamp(22px,3vw,30px);margin-bottom:16px;transition:opacity .4s,border-color .4s}
.light-s .quiz-q{border-color:var(--rule)}
.quiz-q.done{border-color:var(--orange)}
.quiz-q .qnum{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;color:var(--orange);margin-bottom:10px;display:block}
.quiz-q .qtext{font-size:clamp(19px,2.6vw,23px);font-weight:600;color:#F5F3F0;margin-bottom:20px;letter-spacing:-.01em}
.light-s .quiz-q .qtext{color:#1C1C1E}
.quiz-opts{display:flex;flex-direction:column;gap:10px}
.quiz-opt{text-align:left;background:var(--graphite-2);border:1px solid var(--rule-dark);border-radius:6px;padding:15px 18px;font-family:inherit;font-size:15.5px;color:rgba(245,243,240,.85);cursor:pointer;transition:border-color .3s,background .3s,transform .2s}
.light-s .quiz-opt{background:#EDEAE4;border-color:var(--rule);color:#4A4844}
.quiz-opt:hover:not(.locked){border-color:var(--orange);transform:translateX(4px)}
.quiz-opt.sel{background:rgba(242,101,34,.14);border-color:var(--orange);color:#F5F3F0}
.quiz-opt.locked{opacity:.5;cursor:default}
.quiz-opt.sel.locked{opacity:1}
#quiz-result{opacity:0;max-height:0;overflow:hidden;transition:opacity .6s,max-height .6s var(--ease);margin-top:8px}
.quiz-wrap.complete #quiz-result{opacity:1;max-height:420px;margin-top:24px}
.qr-card{border:1px solid var(--orange);border-radius:10px;padding:clamp(28px,4vw,40px);background:rgba(242,101,34,.06)}
.qr-badge{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;color:var(--orange);text-transform:uppercase;margin-bottom:14px;display:block}
.qr-title{font-size:clamp(26px,4vw,36px);font-weight:700;letter-spacing:-.02em;color:#F5F3F0;margin-bottom:12px}
.light-s .qr-title{color:#1C1C1E}
.qr-desc{color:rgba(245,243,240,.75);font-size:17px;line-height:1.6;margin-bottom:26px;max-width:60ch}
.light-s .qr-desc{color:#4A4844}
.qr-cta{display:inline-flex;align-items:center;gap:10px;background:var(--orange);color:#fff;padding:15px 26px;border-radius:6px;font-weight:600;text-decoration:none;transition:transform .3s var(--ease)}
.qr-cta:hover{transform:translateY(-2px)}
