/* ---------- 0. FONTES AUTO-HOSPEDADAS ---------- */
@font-face{font-family:"Archivo";font-style:normal;font-display:swap;
  font-weight:100 900;font-stretch:62% 125%;
  src:url(/assets/fonts/archivo-latin-wdth-normal.woff2) format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-display:swap;
  font-weight:100 900;font-stretch:62% 125%;
  src:url(/assets/fonts/archivo-latin-ext-wdth-normal.woff2) format("woff2-variations");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;
  src:url(/assets/fonts/instrument-serif-latin-400-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;
  src:url(/assets/fonts/instrument-serif-latin-400-italic.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;
  src:url(/assets/fonts/instrument-serif-latin-ext-400-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;
  src:url(/assets/fonts/instrument-serif-latin-ext-400-italic.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

@font-face{font-family:"DM Mono";font-style:normal;font-display:swap;font-weight:400;
  src:url(/assets/fonts/dm-mono-latin-400-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Mono";font-style:normal;font-display:swap;font-weight:400;
  src:url(/assets/fonts/dm-mono-latin-ext-400-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ==========================================================================
   AQS COMPANY
   Sistema visual: prancha tecnica que vira operacao.
   Ato claro (plano) > ato intermediario (execucao) > ato escuro (operacao).
   ========================================================================== */

/* ---------- 1. TOKENS ---------- */
:root{
  /* paleta base */
  --paper:#F2F0EC;
  --paper-deep:#E7E3DB;
  --ink:#0A0A0A;
  --dusk:#21242A;
  --night:#08090A;

  /* tema ativo (trocado por data-theme no body) */
  --bg:#F2F0EC;
  --fg:#0A0A0A;
  --muted:#6B6862;
  --line:rgba(10,10,10,.15);
  --line-soft:rgba(10,10,10,.07);
  --accent:#1B45FF;
  --accent-fg:#F2F0EC;
  --plate:rgba(10,10,10,.045);

  /* grid */
  --cols:12;
  --gutter:clamp(14px,1.5vw,26px);
  --pad:clamp(20px,4.2vw,72px);
  --maxw:1680px;

  /* espacamento */
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px;
  --s6:64px; --s7:96px; --s8:128px; --s9:min(176px,15vw);

  /* tipografia */
  --sans:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --mono:"DM Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;

  --fs-mega:clamp(2.15rem,8.5vw,9.6rem);
  --fs-1:clamp(2.5rem,7vw,7.6rem);
  --fs-2:clamp(1.85rem,4.4vw,4.4rem);
  --fs-3:clamp(1.25rem,1.9vw,1.95rem);
  --fs-lead:clamp(1.02rem,1.32vw,1.32rem);
  --fs-body:clamp(0.95rem,1.02vw,1.05rem);
  --fs-mono:clamp(0.64rem,0.76vw,0.775rem);
  --fs-num:clamp(3.2rem,8.6vw,9.5rem);

  /* movimento */
  --e-out:cubic-bezier(.16,1,.3,1);
  --e-inout:cubic-bezier(.76,0,.24,1);
  --e-soft:cubic-bezier(.32,.72,0,1);
  --d-1:180ms; --d-2:380ms; --d-3:720ms; --d-4:1100ms;
}

body[data-theme="dusk"]{
  --bg:#21242A; --fg:#EFEDE8; --muted:#9A9992;
  --line:rgba(239,237,232,.17); --line-soft:rgba(239,237,232,.08);
  --accent:#7C93FF; --accent-fg:#0A0A0A; --plate:rgba(239,237,232,.05);
}
body[data-theme="night"]{
  --bg:#08090A; --fg:#EDEAE4; --muted:#8C8A85;
  --line:rgba(237,234,228,.15); --line-soft:rgba(237,234,228,.07);
  --accent:#6E86FF; --accent-fg:#08090A; --plate:rgba(237,234,228,.04);
}

/* ---------- 2. RESET ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{margin:0;padding:0}
html{scroll-behavior:auto;overflow-x:clip}
body{
  background:var(--bg); color:var(--fg);
  font-family:var(--sans); font-size:var(--fs-body);
  font-weight:400; line-height:1.55;
  font-variation-settings:"wdth" 100,"wght" 400;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  transition:background-color var(--d-4) var(--e-soft), color var(--d-4) var(--e-soft);
}
img,video,svg{display:block;max-width:100%}
[hidden]{display:none!important}
h1,h2,h3,h4,p,figure,blockquote,ul,ol{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
::selection{background:var(--accent);color:var(--accent-fg)}

:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:1px}

/* ---------- 3. LAYOUT ---------- */
.shell{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
section[id],main[id]{scroll-margin-top:clamp(56px,8vh,96px)}
.grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gutter)}
.act{position:relative;padding-block:var(--s9)}
.act--tight{padding-block:var(--s8)}

/* guias de prancha: hairlines verticais do grid, presentes no ato claro */
.guides{position:fixed;top:0;bottom:0;left:50%;transform:translateX(-50%);
  width:100%;z-index:-1;pointer-events:none;
  max-width:var(--maxw);padding-inline:var(--pad);
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);
  opacity:.55;transition:opacity var(--d-4) var(--e-soft)}
.guides i{display:block;border-left:1px solid var(--line-soft);transform:scaleY(0);transform-origin:top}
.guides i:last-child{border-right:1px solid var(--line-soft)}
body[data-theme="night"] .guides{opacity:.32}
@media (max-width:1023px){.guides{display:none}}

/* ---------- 4. TIPOGRAFIA ---------- */
.mono{font-family:var(--mono);font-size:var(--fs-mono);font-weight:400;
  letter-spacing:.14em;text-transform:uppercase;line-height:1.4;
  font-feature-settings:"tnum" 1}
.mono--muted{color:var(--muted)}

.display{
  font-family:var(--sans);font-weight:500;
  font-variation-settings:"wdth" 108,"wght" 500;
  text-transform:uppercase;
  letter-spacing:-.028em;line-height:.93;
  text-wrap:balance;
}
.mega{font-size:clamp(2.2rem,5.4vw,6.6rem);line-height:.94}
.h1{font-size:var(--fs-1);line-height:.97}
.h2{font-size:var(--fs-2)}
.h3{font-size:var(--fs-3);font-variation-settings:"wdth" 104,"wght" 520;letter-spacing:-.02em;line-height:1.02}

.voice{font-family:var(--serif);font-weight:400;font-style:italic;
  text-transform:none;letter-spacing:-.012em;color:var(--accent)}

.statement{font-family:var(--serif);font-weight:400;
  font-size:clamp(1.75rem,4.1vw,4.05rem);line-height:1.06;
  letter-spacing:-.018em;text-transform:none;text-wrap:pretty}
.statement em{font-style:italic;color:var(--accent)}

.lead{font-size:var(--fs-lead);line-height:1.5;color:var(--muted);max-width:52ch}
.body-txt{color:var(--muted);max-width:54ch}
.num{font-variation-settings:"wdth" 100,"wght" 480;font-feature-settings:"tnum" 1;
  font-size:var(--fs-num);line-height:.82;letter-spacing:-.045em}

/* mascara de linha para reveals */
.mask{display:block;overflow:hidden;padding-bottom:.06em}
.mask>span{display:block;will-change:transform}

/* ---------- 5. RULE / LABEL ---------- */
.rule{height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;width:100%}
.eyebrow{display:flex;align-items:baseline;gap:.9rem;color:var(--muted)}
.eyebrow b{color:var(--fg);font-weight:400}
.eyebrow .tick{width:clamp(28px,4vw,64px);height:1px;background:var(--line);flex:0 0 auto;
  transform:scaleX(0);transform-origin:left}

/* ---------- 6. LOADER ---------- */
.loader{position:fixed;inset:0;z-index:200;clip-path:inset(0% 0% 0% 0%);background:var(--paper);color:var(--ink);
  display:grid;grid-template-rows:1fr auto;padding:var(--pad)}
.loader__center{display:flex;align-items:center;justify-content:center}
.loader__mark{font-family:var(--sans);font-variation-settings:"wdth" 112,"wght" 600;
  font-size:clamp(4rem,16vw,15rem);line-height:.8;letter-spacing:-.05em;
  display:flex;gap:.02em}
.loader__mark span{display:block;overflow:hidden}
.loader__mark span i{display:block;font-style:normal;transform:translateY(101%)}
.loader__seed{display:block;opacity:0;transform:scale(.25);width:clamp(10px,1.3vw,16px);height:clamp(10px,1.3vw,16px);
  border-radius:50%;background:var(--ink)}
.loader__foot{display:flex;justify-content:space-between;align-items:end;gap:var(--s3)}
.loader__bar{position:absolute;left:var(--pad);right:var(--pad);bottom:calc(var(--pad) + 2.6rem);
  height:1px;background:rgba(10,10,10,.14)}
.loader__bar i{display:block;height:100%;width:0;background:var(--ink)}
.loader__pct{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.14em}

/* ---------- 7. HEADER ---------- */
.topbar{position:fixed;top:0;left:0;right:0;z-index:90;
  max-width:var(--maxw);margin-inline:auto;padding:clamp(16px,2vw,26px) var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:var(--s3);
  transition:transform var(--d-3) var(--e-out),opacity var(--d-2) var(--e-out)}
body.scrolled .topbar{background:var(--bg)}
body.nav-hidden .topbar{transform:translateY(calc(-100% - 4px));opacity:0}
.brand{display:flex;align-items:center;gap:.55rem;font-variation-settings:"wdth" 112,"wght" 620;
  font-size:1.02rem;letter-spacing:-.03em;text-transform:uppercase;line-height:1}
.brand .dot{width:6px;height:6px;background:var(--accent);flex:0 0 auto}
.topbar__meta{display:flex;gap:var(--s3);align-items:center}
@media (max-width:900px){.topbar__meta .hide-sm{display:none}}

.menu-btn{display:flex;align-items:center;gap:.6rem;padding:.55rem .2rem;
  font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.14em;text-transform:uppercase}
.menu-btn .bars{display:grid;gap:4px;width:22px}
.menu-btn .bars i{height:1px;background:var(--fg);transform-origin:right;transition:transform var(--d-2) var(--e-out)}
.menu-btn:hover .bars:not(.close-x) i:nth-child(1){transform:scaleX(.6)}
.menu-btn:hover .bars:not(.close-x) i:nth-child(2){transform:scaleX(1)}
.close-x{position:relative;display:block;width:22px;height:14px}
.menu-btn .close-x i{position:absolute;top:50%;left:0;right:0;height:1px;
  background:#EDEAE4;transform-origin:center}
.menu-btn .close-x i:first-child{transform:rotate(45deg)}
.menu-btn .close-x i:last-child{transform:rotate(-45deg)}
.menu-btn:hover .close-x{opacity:.65;transition:opacity var(--d-2) var(--e-out)}

/* ---------- 8. MENU FULLSCREEN ---------- */
.nav{position:fixed;inset:0;z-index:150;background:var(--night);color:#EDEAE4;
  clip-path:inset(0% 0% 100% 0%);pointer-events:none;visibility:hidden;
  display:grid;grid-template-rows:auto 1fr auto;padding:clamp(16px,2vw,26px) var(--pad) var(--pad)}
.nav.is-open{pointer-events:auto;visibility:visible}
.nav__head{display:flex;align-items:center;justify-content:space-between}
.nav__list{align-self:center;display:grid;gap:clamp(2px,.5vw,8px);margin-block:var(--s5)}
.nav__item{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;
  gap:clamp(12px,2vw,32px);padding-block:clamp(8px,1.1vw,18px);border-top:1px solid rgba(237,234,228,.12)}
.nav__item:last-child{border-bottom:1px solid rgba(237,234,228,.12)}
.nav__idx{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.14em;color:#8C8A85}
.nav__link{display:block;overflow:hidden;
  font-variation-settings:"wdth" 108,"wght" 500;text-transform:uppercase;
  font-size:clamp(1.9rem,5.8vw,4.9rem);line-height:1.06;letter-spacing:-.035em;
  color:#EDEAE4;transition:color var(--d-2) var(--e-out)}
.nav__link>span{display:block;transform:translateY(102%)}
.nav__item:hover .nav__link{color:#6E86FF}
.nav__foot{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6);justify-content:space-between;
  color:#8C8A85;border-top:1px solid rgba(237,234,228,.12);padding-top:var(--s3)}
.nav__foot a:hover{color:#EDEAE4}

/* ---------- 9. CTA ---------- */
.cta{position:relative;display:inline-flex;align-items:center;gap:.85rem;
  padding:1.05rem 1.6rem;border:1px solid var(--fg);overflow:hidden;
  font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.14em;text-transform:uppercase;
  will-change:transform}
.cta__fill{position:absolute;inset:0;background:var(--accent);
  transform:translateY(101%);z-index:0}
.cta__t{position:relative;z-index:1;transition:color var(--d-2) var(--e-out)}
.cta__ar{position:relative;z-index:1;width:20px;height:1px;background:currentColor;
  transition:width var(--d-2) var(--e-out)}
.cta:hover .cta__t{color:var(--accent-fg)}
.cta:hover{border-color:var(--accent)}
.cta:hover .cta__ar{width:34px}
.cta--solid{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}
.cta--solid .cta__fill{background:var(--fg)}
.cta--solid:hover .cta__t{color:var(--bg)}

.link-u{position:relative;display:inline-block;border-bottom:1px solid var(--line);
  transition:border-color var(--d-2) var(--e-out),color var(--d-2) var(--e-out)}
.link-u:hover{border-color:currentColor;color:var(--accent)}

/* ---------- 10. HERO ---------- */
.hero{position:relative;min-height:100svh;display:grid;align-content:end;
  padding-block:clamp(88px,10.5vh,150px) clamp(18px,3vh,44px);overflow:clip}
.hero__crosshair{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0}
.hero__coord{opacity:0;transition:opacity var(--d-3) var(--e-out)}
.hero__crosshair.is-live .hero__coord{opacity:1}
.hero__crosshair i{position:absolute;background:var(--line)}
.hero__crosshair i.x{left:0;right:0;top:0;height:1px}
.hero__crosshair i.y{top:0;bottom:0;left:0;width:1px}
.hero__coord{position:absolute;top:0;left:0;font-family:var(--mono);font-size:var(--fs-mono);
  letter-spacing:.12em;color:var(--muted);margin:12px 0 0 12px}
.hero__inner{position:relative;z-index:2}
.hero__top{display:flex;justify-content:space-between;align-items:end;gap:var(--s4);
  padding-bottom:clamp(18px,3vw,40px)}
.hero__ttl{margin-bottom:clamp(14px,2vw,32px)}
.hero__ttl .mask{padding-bottom:.13em}
.hero__kicker{font-family:var(--serif);font-style:italic;font-weight:400;
  text-transform:none;color:var(--accent);font-size:.4em;letter-spacing:-.012em;
  line-height:1.1;display:block;margin-bottom:.14em;
  font-variation-settings:normal}
.hero__col .rule{margin-top:clamp(18px,2.4vw,38px)}
@media (max-width:639px){
  .hero__ttl{font-variation-settings:"wdth" 84,"wght" 540;font-size:clamp(2.35rem,10.4vw,3.6rem)}
}
.hero__ttl .mask>span{transform:translateY(103%)}
.hero__main{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);
  align-items:end}
.hero__col{grid-column:1 / span 7}
.hero__lead{grid-column:1 / span 6}
.hero__stats{grid-column:9 / span 4;display:grid;grid-template-columns:1fr 1fr;gap:var(--gutter)}
.hero__act{margin-top:clamp(20px,2.4vw,32px)}
.hero__note{margin-top:.95rem;max-width:58ch}
.stat-min{border-top:1px solid var(--line);padding-top:.6rem}
.stat-min b{display:block;font-variation-settings:"wdth" 100,"wght" 520;
  font-size:clamp(1.4rem,2.3vw,2.15rem);line-height:1;letter-spacing:-.035em;
  font-feature-settings:"tnum" 1}
.scroll-cue{position:absolute;left:50%;transform:translateX(-50%);bottom:clamp(16px,2.6vh,30px);z-index:2;
  display:flex;align-items:center;gap:.7rem;color:var(--muted)}
@media (max-width:1023px){.scroll-cue{display:none}}
.scroll-cue .ln{width:40px;height:1px;background:var(--line);position:relative;overflow:hidden}
.scroll-cue .ln::after{content:"";position:absolute;inset:0;background:var(--fg);
  animation:cue 2.4s var(--e-inout) infinite}
@keyframes cue{0%{transform:translateX(-100%)}55%,100%{transform:translateX(100%)}}

@media (min-width:1024px){.hero{align-content:center}}
@media (max-width:1023px){
  .hero{min-height:auto}
  .hero__main{grid-template-columns:repeat(8,minmax(0,1fr))}
  .hero__col{grid-column:1 / span 8}
  .mega{font-size:clamp(2.35rem,8.6vw,4.8rem)}
}
@media (max-width:1023px){
  .hero__crosshair{display:none}
}
@media (max-width:639px){
  .hero{align-content:stretch;padding-block:84px 28px}
  .mega{font-size:clamp(2.3rem,10.2vw,3.6rem)}
  .hero__main{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:var(--s4)}
  .hero__col{grid-column:1 / span 4}
  .hero__top{flex-direction:column;align-items:start;gap:.3rem;padding-bottom:var(--s3)}
  .scroll-cue{display:none}
}

/* ---------- 10b. ABERTURA (logo revelada pela rolagem) ---------- */
.intro{position:relative;background:var(--paper)}
.intro__pin{min-height:100svh;display:grid;grid-template-rows:1fr auto;
  align-items:center;justify-items:center;
  padding:clamp(76px,10vh,120px) var(--pad) clamp(22px,4vh,44px)}
.intro__stage{grid-row:1;align-self:center;position:relative;
  width:min(62vh,min(78vw,620px));aspect-ratio:1/1}
.intro__cv,.intro__still{position:absolute;inset:0;width:100%;height:100%;
  /* suaviza a borda da explosao de particulas, que chega perto do limite do quadro */
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 78%,transparent 99%);
          mask-image:radial-gradient(circle at 50% 50%,#000 78%,transparent 99%)}
.intro__cap{grid-row:2;justify-self:start;align-self:end}
.intro__cue{position:absolute;left:50%;transform:translateX(-50%);
  bottom:clamp(22px,4vh,44px);color:var(--muted);
  display:flex;align-items:center;gap:.7rem;transition:opacity var(--d-2) var(--e-out)}
.intro__cue::after{content:"";width:34px;height:1px;background:var(--line);
  position:relative;overflow:hidden}
.intro.is-lida .intro__cue{opacity:0}
@media (max-width:1023px){
  .intro__pin{min-height:auto;padding-block:clamp(88px,14vh,130px) clamp(8px,1.5vh,20px)}
  .intro__stage{width:min(76vw,420px)}
  .intro__cue{display:none}
  .intro__cap{justify-self:center;margin-top:clamp(18px,3vh,30px)}
}
/* sem JS, sem GSAP ou com movimento reduzido: a logo ja aparece montada */
.no-gsap .intro__pin,body.rm .intro__pin{min-height:auto;padding-block:clamp(96px,16vh,150px) clamp(30px,6vh,60px)}
.no-gsap .intro__cue,body.rm .intro__cue{display:none}
@media (prefers-reduced-motion:reduce){.intro__cue{display:none}}

/* ---------- 11. DIAGNOSTICO (canvas caos > sistema) ---------- */
.diag{position:relative}
.diag__wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);
  align-items:start}
.diag__head{grid-column:1 / span 12;margin-bottom:clamp(32px,5vw,80px)}
/* o palco do diagrama e retrato, no formato da animacao */
/* a placa segura a legenda; o palco e recortado na entrada e levaria a legenda junto */
.diag__plate{grid-column:1 / span 4;justify-self:start;position:relative}
.diag__stage{position:relative;
  /* altura definida primeiro: a largura sai do formato retrato da animacao */
  height:min(76vh,720px);width:auto;aspect-ratio:520/924;
  border:1px solid var(--line)}
.diag__stage canvas,.diag__still{position:absolute;inset:0;width:100%;height:100%}
.diag__plate .plate-tag{position:absolute;left:0;top:0;transform:translateY(-100%);
  padding-bottom:.55rem;color:var(--muted)}
.diag__side{grid-column:5 / span 8;align-self:center}
.sympt{border-top:1px solid var(--line);overflow:hidden}
.sympt li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:baseline;
  padding:.85rem 0;border-bottom:1px solid var(--line-soft);color:var(--muted)}
.sympt li span{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.14em;
  color:var(--accent)}
@media (max-width:1023px){
  .diag__wrap{grid-template-columns:repeat(8,minmax(0,1fr))}
  .diag__head,.diag__side{grid-column:1 / span 8}
  .diag__plate{grid-column:1 / span 4}
  .diag__side{margin-top:var(--s5)}
}
@media (max-width:639px){
  .diag__wrap{grid-template-columns:repeat(4,minmax(0,1fr))}
  .diag__head,.diag__plate,.diag__side{grid-column:1 / span 4}
  .diag__plate{justify-self:center}
  .diag__stage{height:auto;width:min(78vw,380px)}
}

/* ---------- 12. POSICAO (statement sticky) ---------- */
.pos__wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.pos__aside{grid-column:1 / span 3;position:sticky;top:24vh;align-self:start}
.pos__main{grid-column:5 / span 8}
.pos__st{margin-bottom:clamp(40px,6vw,96px)}
.credit{border-top:1px solid var(--line);padding-top:.7rem;margin-top:.9rem}
.credit b{display:block;font-weight:400;color:var(--fg)}
@media (max-width:1023px){
  .pos__wrap{grid-template-columns:repeat(8,minmax(0,1fr))}
  .pos__aside{grid-column:1 / span 8;position:static;margin-bottom:var(--s5)}
  .pos__main{grid-column:1 / span 8}
}
@media (max-width:639px){
  .pos__wrap{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pos__aside,.pos__main{grid-column:1 / span 4}
}

/* ---------- 13. DISCIPLINAS (index editorial) ---------- */
.disc{position:relative}
.disc__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);
  align-items:end;margin-bottom:clamp(40px,6vw,88px)}
.disc__head .a{grid-column:1 / span 7}
.disc__head .b{grid-column:9 / span 4}
.disc__list{border-top:1px solid var(--line)}
.row{position:relative;border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:minmax(64px,1fr) minmax(0,5fr) minmax(0,5fr) auto;
  gap:var(--gutter);align-items:start;padding:clamp(22px,3vw,42px) 0;
  transition:opacity var(--d-2) var(--e-out),padding var(--d-3) var(--e-out)}
.disc__list.is-hovering .row{opacity:.34}
.disc__list.is-hovering .row.is-on{opacity:1}
.row__idx{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.14em;color:var(--muted);
  padding-top:.45rem}
.row__ttl{font-variation-settings:"wdth" 106,"wght" 520;text-transform:uppercase;
  font-size:clamp(1.5rem,3.4vw,3.1rem);line-height:.95;letter-spacing:-.032em;
  transition:transform var(--d-3) var(--e-out)}
.row:hover .row__ttl{transform:translateX(clamp(6px,1vw,18px))}
.row__d{color:var(--muted);max-width:44ch;padding-top:.35rem}
.row__mk{padding-top:.5rem;color:var(--muted);font-family:var(--mono);font-size:var(--fs-mono);
  letter-spacing:.14em}
.row:hover .row__mk{color:var(--accent)}
.disc__peek{position:fixed;top:0;left:0;z-index:60;width:clamp(200px,20vw,320px);
  aspect-ratio:4/5;pointer-events:none;opacity:0;overflow:hidden}
.disc__peek .slot{height:100%}
@media (max-width:1199px){
  .row{grid-template-columns:minmax(48px,auto) minmax(0,1fr) minmax(0,1.2fr)}
  .row__mk{display:none}
  .row__d{max-width:40ch}
}
@media (max-width:1023px){
  .disc__head{grid-template-columns:repeat(8,minmax(0,1fr))}
  .disc__head .a,.disc__head .b{grid-column:1 / span 8}
  .disc__head .b{margin-top:var(--s3)}
  .row{grid-template-columns:minmax(40px,auto) minmax(0,1fr);row-gap:var(--s2)}
  .row__d{grid-column:2}
  .row__mk{display:none}
  .disc__peek{display:none}
}

/* placas de midia (slots estruturados) */
.slot{position:relative;background:var(--plate);border:1px solid var(--line);overflow:hidden}
.slot::before{content:"";position:absolute;inset:0;
  background:
    linear-gradient(to right,var(--line-soft) 1px,transparent 1px) 0 0/25% 100%,
    linear-gradient(to bottom,var(--line-soft) 1px,transparent 1px) 0 0/100% 25%}
.slot::after{content:"";position:absolute;left:-10%;right:-10%;top:50%;height:1px;
  background:var(--line-soft);transform:rotate(-38deg)}
.slot img,.slot video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot__tag{position:absolute;left:0;bottom:0;z-index:2;padding:.55rem .7rem;
  font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);background:var(--bg)}
.slot__tick{position:absolute;width:9px;height:9px;z-index:2}
.slot__tick.tl{left:8px;top:8px;border-left:1px solid var(--fg);border-top:1px solid var(--fg)}
.slot__tick.br{right:8px;bottom:8px;border-right:1px solid var(--fg);border-bottom:1px solid var(--fg)}

/* ---------- 14. METODO (pin horizontal) ---------- */
.method{position:relative}
.method__pin{height:100svh;display:grid;grid-template-rows:auto 1fr auto;
  padding:clamp(84px,12vh,140px) 0 clamp(28px,5vh,56px);overflow:hidden}
.method__head{display:flex;justify-content:space-between;align-items:end;gap:var(--s4);
  padding-inline:var(--pad);max-width:var(--maxw);margin-inline:auto;width:100%}
.method__track{display:flex;align-items:center;height:100%;will-change:transform}
.method__panel{flex:0 0 auto;position:relative;width:min(52vw,600px);
  padding:0 clamp(24px,3.4vw,64px);border-left:1px solid var(--line);
  height:min(60vh,520px);display:flex;align-items:center}
.method__panel:first-child{border-left:0;padding-left:var(--pad)}
.method__panel:last-child{padding-right:calc(var(--pad) + 6vw)}
.step__body{position:relative;z-index:1;max-width:34ch;padding-top:clamp(70px,8vw,120px)}
.step__idx{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.14em;color:var(--accent);
  margin-bottom:1rem}
.step__n{position:absolute;left:clamp(24px,3.4vw,64px);top:clamp(2vh,3vh,4vh);z-index:0;
  font-variation-settings:"wdth" 100,"wght" 440;font-size:clamp(5rem,12vw,12.5rem);
  line-height:.78;letter-spacing:-.055em;color:var(--line);font-feature-settings:"tnum" 1}
.method__panel:first-child .step__n{left:var(--pad)}
.step__t{margin:.6rem 0 1rem}
.method__prog{padding-inline:var(--pad);max-width:var(--maxw);margin-inline:auto;width:100%;
  display:flex;align-items:center;gap:var(--s3)}
.method__prog .bar{flex:1;height:1px;background:var(--line);position:relative}
.method__prog .bar i{position:absolute;inset:0;background:var(--accent);transform-origin:left;transform:scaleX(0)}
@media (max-width:1023px){
  .method__pin{height:auto;padding-block:0}
  .method__track{display:grid;grid-template-columns:1fr;gap:0;transform:none!important}
  .method__panel{width:auto;height:auto;display:block;border-left:0;
    padding:clamp(30px,5vw,48px) var(--pad);border-top:1px solid var(--line)}
  .method__panel:first-child{border-top:0}
  .method__panel:first-child,.method__panel:last-child{padding-inline:var(--pad)}
  .step__n{position:static;font-size:clamp(2.8rem,11vw,4.2rem);margin-bottom:.4rem}
  .method__panel:first-child .step__n{left:auto}
  .step__body{padding-top:0;max-width:46ch}
  .method__head{padding-bottom:var(--s5)}
  .method__prog{display:none}
  .step__n{font-size:clamp(2.6rem,10vw,4rem)}
}


/* ---------- 15. PROVA ---------- */
.proof__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);
  margin-bottom:clamp(48px,7vw,110px)}
.proof__head .a{grid-column:1 / span 7}
.proof__head .b{grid-column:9 / span 4;align-self:end}
.figs{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter) var(--gutter);
  row-gap:clamp(40px,6vw,88px)}
.fig{position:relative;border-top:1px solid var(--line);padding-top:clamp(12px,1.6vw,22px)}
.fig--a{grid-column:1 / span 5}
.fig--b{grid-column:7 / span 3}
.fig--c{grid-column:11 / span 2}
.fig--d{grid-column:2 / span 4}
.fig--e{grid-column:7 / span 5}
.fig__v{display:flex;align-items:flex-start;gap:.12em}
.fig__v .num{display:inline-block}
.fig__v .u{font-variation-settings:"wdth" 100,"wght" 460;
  font-size:clamp(1rem,1.7vw,1.7rem);letter-spacing:-.02em;line-height:1;
  margin-top:.22em;color:var(--muted)}
.fig__l{margin-top:.9rem;color:var(--muted);max-width:26ch}
@media (max-width:1023px){
  .proof__head{grid-template-columns:repeat(8,minmax(0,1fr))}
  .proof__head .a,.proof__head .b{grid-column:1 / span 8}
  .proof__head .b{margin-top:var(--s3)}
  .figs{grid-template-columns:repeat(8,minmax(0,1fr))}
  .fig--a{grid-column:1 / span 8}
  .fig--b{grid-column:1 / span 4}.fig--c{grid-column:5 / span 4}
  .fig--d{grid-column:1 / span 4}.fig--e{grid-column:5 / span 4}
}
@media (max-width:639px){
  .figs{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:var(--s5)}
  .fig{grid-column:1 / span 4 !important}
}

/* leitura de operacao */
.ops{margin-top:clamp(64px,9vw,140px);border:1px solid var(--line);padding:clamp(18px,2.4vw,34px)}
.ops__head{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);
  padding-bottom:clamp(14px,2vw,24px);border-bottom:1px solid var(--line-soft);color:var(--muted)}
.ops__live{display:flex;align-items:center;gap:.5rem}
.ops__live .pulse{width:6px;height:6px;background:var(--accent);border-radius:50%;
  animation:pulse 2s var(--e-inout) infinite}
@keyframes pulse{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
.ops__rows{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter)}
.ops__r{padding-top:clamp(16px,2vw,26px)}
.ops__r b{display:block;font-variation-settings:"wdth" 100,"wght" 500;
  font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1;letter-spacing:-.035em;
  font-feature-settings:"tnum" 1;margin-bottom:.7rem}
.ops__spark{height:34px;display:flex;align-items:flex-end;gap:2px}
.ops__spark i{flex:1;background:var(--line);transform-origin:bottom;height:100%;transform:scaleY(.2)}
.ops__spark i.hi{background:var(--accent)}
@media (max-width:767px){.ops__rows{grid-template-columns:1fr 1fr;row-gap:var(--s4)}}

/* depoimentos: faixa arrastavel */
.quotes{margin-top:clamp(64px,9vw,140px)}
.quotes__track{display:flex;gap:var(--gutter);cursor:grab;user-select:none;
  padding-bottom:var(--s3)}
.quotes__track.is-drag{cursor:grabbing}
.q{flex:0 0 auto;width:min(84vw,520px);border-top:1px solid var(--line);padding-top:clamp(14px,2vw,24px)}
.q__v{font-variation-settings:"wdth" 104,"wght" 500;text-transform:uppercase;
  font-size:clamp(1.9rem,3.6vw,3.2rem);line-height:.94;letter-spacing:-.035em;color:var(--accent)}
.q__t{margin-top:1rem;color:var(--muted);max-width:38ch}
.q__a{margin-top:1.4rem;color:var(--fg)}
.q__a span{color:var(--muted)}

/* ---------- 16. LEDGER (diferenciacao) ---------- */
.ledger{border-top:1px solid var(--line);margin-top:clamp(40px,6vw,80px);overflow:hidden}
.lg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gutter);
  border-bottom:1px solid var(--line);padding:clamp(18px,2.4vw,32px) 0;align-items:baseline}
.lg__a{color:var(--muted);position:relative;padding-left:1.6rem}
.lg__a::before{content:"";position:absolute;left:0;top:.62em;width:.8rem;height:1px;background:var(--line)}
.lg__b{font-variation-settings:"wdth" 102,"wght" 480;font-size:clamp(1.02rem,1.4vw,1.32rem);
  letter-spacing:-.015em;position:relative;padding-left:1.6rem}
.lg__b::before{content:"";position:absolute;left:0;top:.55em;width:.8rem;height:1px;background:var(--accent)}
.lg__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gutter);
  padding-bottom:.8rem}
.creds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter);
  margin-top:clamp(48px,7vw,110px);border-top:1px solid var(--line);padding-top:clamp(16px,2vw,28px)}
.creds div b{display:block;font-weight:400;font-variation-settings:"wdth" 102,"wght" 500;
  margin-bottom:.35rem}
.creds div p{color:var(--muted)}
@media (max-width:767px){
  .lg,.lg__head{grid-template-columns:1fr;row-gap:.6rem}
  .creds{grid-template-columns:1fr 1fr;row-gap:var(--s4)}
}

/* ---------- 16b. OBJECOES ---------- */
.faq{border-top:1px solid var(--line);margin-top:clamp(48px,7vw,104px);padding-top:clamp(14px,2vw,24px);overflow:hidden}
.faq__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:var(--gutter);
  border-top:1px solid var(--line);padding:clamp(20px,2.6vw,34px) 0;align-items:start}
.faq__q{font-variation-settings:"wdth" 104,"wght" 500;font-size:clamp(1.02rem,1.5vw,1.45rem);
  letter-spacing:-.02em;line-height:1.16;max-width:24ch}
.faq__a{color:var(--muted);max-width:58ch}
@media (max-width:767px){.faq__row{grid-template-columns:1fr;row-gap:.6rem}}

/* ---------- 17. CONVERSAO + FOOTER ---------- */
.close{position:relative;padding-block:var(--s9) var(--s7)}
.close__st{max-width:22ch;margin-bottom:clamp(22px,2.8vw,40px)}
.close__list{margin:0 0 clamp(30px,4vw,56px);border-top:1px solid var(--line);max-width:66ch;overflow:hidden}
.close__list li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(14px,2vw,28px);
  align-items:baseline;padding:clamp(12px,1.6vw,20px) 0;border-bottom:1px solid var(--line-soft)}
.close__list span{color:var(--accent)}
.close__list p{color:var(--muted)}
.close__act{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);align-items:center}
.close__note{color:var(--muted);max-width:38ch;margin-top:var(--s4)}
.foot{border-top:1px solid var(--line);padding-block:clamp(32px,4vw,56px) clamp(24px,3vw,40px)}
.foot__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter) var(--gutter);
  row-gap:clamp(28px,4vw,48px)}
.foot__a{grid-column:1 / span 4}
.foot__b{grid-column:6 / span 2}
.foot__c{grid-column:8 / span 2}
.foot__d{grid-column:10 / span 3}
.foot h4{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);font-weight:400;margin-bottom:1rem}
.foot li{padding:.2rem 0}
.foot li a{color:var(--muted)}
.foot li a:hover{color:var(--fg)}
.foot__area{color:var(--muted);max-width:40ch}
.foot__bar{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);justify-content:space-between;
  color:var(--muted);margin-top:clamp(40px,6vw,88px);padding-top:var(--s3);
  border-top:1px solid var(--line-soft)}
@media (max-width:1023px){
  .foot__grid{grid-template-columns:repeat(8,minmax(0,1fr))}
  .foot__a{grid-column:1 / span 8}
  .foot__b{grid-column:1 / span 3}.foot__c{grid-column:4 / span 2}.foot__d{grid-column:6 / span 3}
}
@media (max-width:639px){
  .foot__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .foot__a,.foot__b,.foot__c,.foot__d{grid-column:1 / span 4}
}

/* ---------- 18. INDICADOR DE SCROLL ---------- */
.progress{position:fixed;bottom:clamp(18px,3vh,30px);z-index:80;
  /* recuo para o botao flutuante do WhatsApp: largura 56 + folga */
  right:calc(clamp(16px,2.2vw,32px) + 56px + 20px);
  display:flex;align-items:center;gap:.7rem;color:var(--muted);
  background:var(--bg);padding:.5rem .75rem;border:1px solid var(--line-soft);
  opacity:0;transition:background-color var(--d-4) var(--e-soft),opacity var(--d-3) var(--e-out);
  font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.14em;text-transform:uppercase}
body.past-hero .progress{opacity:1}
body.na-abertura .progress{opacity:0}
.progress .track{width:clamp(60px,7vw,110px);height:1px;background:var(--line);position:relative}
.progress .track i{position:absolute;inset:0;background:var(--fg);transform:scaleX(0);transform-origin:left}
@media (max-width:767px){.progress{display:none}}

/* ---------- 19. CURSOR ---------- */
.cursor{position:fixed;top:0;left:0;z-index:170;pointer-events:none;
  width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;
  background:var(--fg);mix-blend-mode:difference;opacity:0}
@media (hover:none),(pointer:coarse),(max-width:1023px){.cursor{display:none}}

/* ---------- 19b. WHATSAPP FLUTUANTE ---------- */
.wafab{position:fixed;right:clamp(16px,2.2vw,32px);bottom:clamp(16px,2.2vw,32px);z-index:160;
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:#1FAF54;color:#fff;box-shadow:0 10px 30px rgba(8,9,10,.22);
  transform:translateY(14px) scale(.9);opacity:0;pointer-events:none;
  transition:transform var(--d-2) var(--e-out),opacity var(--d-2) var(--e-out),
             box-shadow var(--d-2) var(--e-out)}
.wafab.is-on{transform:none;opacity:1;pointer-events:auto}
.wafab:hover,.wafab:focus-visible{box-shadow:0 14px 38px rgba(8,9,10,.3);transform:translateY(-3px)}
.wafab__i{width:29px;height:29px;fill:currentColor;display:block}
@media (max-width:767px){.wafab{width:52px;height:52px}.wafab__i{width:27px;height:27px}}
@media (prefers-reduced-motion:reduce){.wafab{transition:none}
  .wafab:hover,.wafab:focus-visible{transform:none}}

/* ---------- 20. UTIL ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:300;background:var(--ink);color:var(--paper);
  padding:.8rem 1.1rem;font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.14em}
.skip:focus{left:var(--pad);top:var(--pad)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nowrap{white-space:nowrap}

/* ---------- 21. REDUCED MOTION ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
  .loader{display:none}
  .mask>span,.hero__ttl .mask>span,.nav__link>span,.loader__mark span i{transform:none!important}
  .rule,.eyebrow .tick,.guides i{transform:scaleX(1) scaleY(1)!important}
  .hero__crosshair{display:none}
  .scroll-cue .ln::after{display:none}
  .method__track{transform:none!important}
  .cursor{display:none}
}

/* ---------- 22. AJUSTES DE INTERACAO ---------- */
.cta__fill{transition:transform var(--d-3) var(--e-out)}
.cta:hover .cta__fill,.cta:focus-visible .cta__fill{transform:translateY(0)}
.quotes__track{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;
  scroll-snap-type:x proximity;padding-right:var(--pad)}
.quotes__track::-webkit-scrollbar{display:none}
.q{scroll-snap-align:start}

/* ---------- 23. FALLBACK SEM JS / SEM GSAP / MOVIMENTO REDUZIDO ---------- */
.no-gsap .loader{display:none}
.no-gsap .mask>span,
.no-gsap .nav__link>span,
.no-gsap .loader__mark span i{transform:none}
.no-gsap .rule,
.no-gsap .eyebrow .tick,
.no-gsap .guides i{transform:scaleX(1) scaleY(1)}
.no-gsap .hero__crosshair{display:none}
.no-gsap .method__pin,
body.rm .method__pin{height:auto;padding-block:0}
.no-gsap .method__track,
body.rm .method__track{display:grid;grid-template-columns:1fr;transform:none!important}
.no-gsap .method__panel,
body.rm .method__panel{width:auto;grid-template-columns:auto minmax(0,1fr);
  padding:clamp(28px,5vw,48px) var(--pad);border-top:1px solid var(--line)}
.no-gsap .method__head,
body.rm .method__head{padding-bottom:var(--s5)}
.no-gsap .method__prog,
body.rm .method__prog{display:none}
.no-gsap .disc__peek,
body.rm .disc__peek{display:none}

/* ==========================================================================
   24. BLOCOS DA ARQUITETURA COMERCIAL
   ========================================================================== */

/* ---------- formulario de captura no hero ---------- */
.form{grid-column:8 / span 5;border:1px solid var(--line);padding:clamp(14px,1.4vw,20px);
  display:flex;flex-direction:column;gap:clamp(9px,.9vw,14px);background:var(--plate);position:relative}
.form::before,.form::after{content:"";position:absolute;width:9px;height:9px}
.form::before{left:8px;top:8px;border-left:1px solid var(--fg);border-top:1px solid var(--fg)}
.form::after{right:8px;bottom:8px;border-right:1px solid var(--fg);border-bottom:1px solid var(--fg)}
.form__title{color:var(--fg);padding-bottom:clamp(6px,.8vw,11px);border-bottom:1px solid var(--line)}
.field{display:flex;flex-direction:column;gap:.28rem}
.field label{color:var(--muted)}
.field input,.field select{
  font-family:var(--sans);font-size:1rem;font-variation-settings:"wdth" 100,"wght" 420;
  color:var(--fg);background:transparent;border:0;border-bottom:1px solid var(--line);
  padding:.42rem 0;border-radius:0;appearance:none;-webkit-appearance:none;
  transition:border-color var(--d-2) var(--e-out)}
.field input::placeholder{color:var(--muted);opacity:.65}
.field input:focus,.field select:focus{outline:none;border-bottom-color:var(--accent)}
.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.field select{cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),
                   linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 9px) calc(50% + 1px),calc(100% - 4px) calc(50% + 1px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:24px}
.field select option{background:var(--bg);color:var(--fg)}
.field.is-bad input,.field.is-bad select{border-bottom-color:#D9453C}
body[data-theme="night"] .field.is-bad input,body[data-theme="dusk"] .field.is-bad input{border-bottom-color:#FF7A70}
.form__submit{width:100%;justify-content:space-between;margin-top:clamp(2px,.4vw,6px);padding-block:.92rem}
.form__note{color:var(--muted);line-height:1.45;text-transform:none;letter-spacing:.03em}
@media (max-width:1023px){.form{grid-column:1 / span 8;margin-top:var(--s4)}}
@media (min-width:1024px){.form{grid-column:9 / span 4}}
@media (max-width:639px){.form{grid-column:1 / span 4}}

/* ---------- chamada de secao ---------- */
.sect-cta{margin-top:clamp(28px,3.6vw,52px)}

/* ---------- territorio ---------- */
.terr__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);
  align-items:end;margin-bottom:clamp(40px,6vw,88px)}
.terr__head .a{grid-column:1 / span 7}
.terr__head .b{grid-column:9 / span 4}
.cities{border-top:1px solid var(--line)}
.city{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,6fr) minmax(0,3fr);gap:var(--gutter);
  align-items:baseline;border-bottom:1px solid var(--line);padding:clamp(18px,2.4vw,34px) 0;
  transition:padding var(--d-3) var(--e-out)}
.city__n{font-size:clamp(1.9rem,4.6vw,4.4rem);line-height:.96}
.city__n a{display:inline-block;position:relative;transition:color var(--d-2) var(--e-out),transform var(--d-3) var(--e-out)}
.city__n a::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:2px;background:currentColor;
  transform:scaleX(0);transform-origin:left;transition:transform var(--d-3) var(--e-out)}
.city__n a:hover{color:var(--accent)}
.city__n a:hover::after{transform:scaleX(1);background:var(--accent)}
.city__c{justify-self:end;color:var(--muted)}
.terr__foot{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);
  align-items:start;margin-top:clamp(28px,3.6vw,52px)}
.terr__foot .body-txt{grid-column:1 / span 6;max-width:62ch}
.terr__foot a{grid-column:9 / span 4;justify-self:start}
@media (max-width:1023px){
  .terr__head{grid-template-columns:repeat(8,minmax(0,1fr))}
  .terr__head .a,.terr__head .b{grid-column:1 / span 8}
  .terr__head .b{margin-top:var(--s3)}
  .terr__foot{grid-template-columns:1fr;row-gap:var(--s3)}
  .terr__foot .body-txt,.terr__foot a{grid-column:1}
}
@media (max-width:639px){
  .city{grid-template-columns:1fr auto;row-gap:.3rem}
  .city__n{grid-column:1 / -1;order:2}
  .city__c{order:3;justify-self:start;grid-column:1 / -1}
}

/* ---------- diferenciais ---------- */
.edge__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);
  align-items:end;margin-bottom:clamp(36px,5vw,72px)}
.edge__head .a{grid-column:1 / span 7}
.edge__head .b{grid-column:9 / span 4}
.edges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px) var(--gutter)}
.edge__i{border-top:1px solid var(--line);padding-top:clamp(12px,1.4vw,20px)}
.edge__i .mono{color:var(--accent);margin-bottom:clamp(14px,1.8vw,26px)}
.edge__t{font-variation-settings:"wdth" 104,"wght" 520;font-size:clamp(1.05rem,1.5vw,1.45rem);
  letter-spacing:-.02em;line-height:1.14;margin-bottom:.7rem}
.edge__d{color:var(--muted);max-width:40ch}
@media (max-width:1023px){
  .edge__head{grid-template-columns:repeat(8,minmax(0,1fr))}
  .edge__head .a,.edge__head .b{grid-column:1 / span 8}
  .edge__head .b{margin-top:var(--s3)}
  .edges{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:639px){.edges{grid-template-columns:1fr}}

/* ---------- clientes ---------- */
.clients{margin-top:clamp(64px,9vw,140px)}
.logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--gutter)}
.logo{position:relative;aspect-ratio:3/2;border:1px solid var(--line);background:var(--plate);
  display:grid;place-items:center;color:var(--muted);text-align:center;padding:.6rem}
.logo .mono{font-size:.6rem}
@media (max-width:1023px){.logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:479px){.logos{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- time ---------- */
.team__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);
  align-items:end;margin-bottom:clamp(36px,5vw,72px)}
.team__head .a{grid-column:1 / span 7}
.team__head .b{grid-column:9 / span 4}
.crew{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter)}
.crew__n{margin-top:clamp(10px,1.2vw,16px);font-variation-settings:"wdth" 102,"wght" 500}
@media (max-width:1023px){
  .team__head{grid-template-columns:repeat(8,minmax(0,1fr))}
  .team__head .a,.team__head .b{grid-column:1 / span 8}
  .team__head .b{margin-top:var(--s3)}
  .crew{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4) var(--gutter)}
}

/* ==========================================================================
   25. BLOG
   ========================================================================== */

/* ---------- cabecalho do artigo ---------- */
.post-hero{padding-block:clamp(110px,14vh,180px) clamp(28px,4vw,56px)}
.post-hero__meta{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;color:var(--muted);margin-bottom:clamp(18px,2.4vw,34px)}
.post-hero__ttl{font-size:clamp(1.9rem,4.4vw,4.2rem);line-height:.98;max-width:19ch;
  font-variation-settings:"wdth" 104,"wght" 520;letter-spacing:-.03em;text-transform:none}
.post-hero__resumo{margin-top:clamp(20px,2.6vw,38px);max-width:56ch;font-size:var(--fs-lead);
  line-height:1.5;color:var(--muted)}

/* ---------- corpo do artigo ---------- */
.artigo{max-width:68ch;padding-bottom:clamp(48px,7vw,110px)}
.artigo>*+*{margin-top:1.15em}
.artigo p{color:var(--muted);line-height:1.72;font-size:clamp(1rem,1.12vw,1.12rem)}
.artigo strong{color:var(--fg);font-variation-settings:"wdth" 100,"wght" 560}
.artigo h2{margin-top:clamp(40px,5vw,76px);font-variation-settings:"wdth" 104,"wght" 540;
  font-size:clamp(1.3rem,2.1vw,1.95rem);line-height:1.12;letter-spacing:-.025em;
  color:var(--fg);text-transform:none;padding-top:clamp(14px,1.6vw,22px);border-top:1px solid var(--line)}
.artigo h3{margin-top:clamp(26px,3vw,40px);font-variation-settings:"wdth" 102,"wght" 520;
  font-size:clamp(1.08rem,1.5vw,1.35rem);line-height:1.2;letter-spacing:-.018em;color:var(--fg)}
.artigo ul{display:grid;gap:.55rem;padding-left:0}
.artigo li{position:relative;padding-left:1.5rem;color:var(--muted);line-height:1.6}
.artigo li::before{content:"";position:absolute;left:0;top:.72em;width:.8rem;height:1px;background:var(--accent)}
.artigo a{color:var(--fg);border-bottom:1px solid var(--accent);
  transition:color var(--d-2) var(--e-out)}
.artigo a:hover{color:var(--accent)}
.artigo blockquote{border-left:1px solid var(--accent);padding-left:1.3rem;
  font-family:var(--serif);font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.34;color:var(--fg)}

/* ---------- indice do blog ---------- */
.posts{border-top:1px solid var(--line)}
.post-row{display:grid;grid-template-columns:minmax(120px,2fr) minmax(0,5fr) minmax(0,4fr);
  gap:var(--gutter);align-items:start;border-bottom:1px solid var(--line);
  padding:clamp(22px,3vw,42px) 0;transition:opacity var(--d-2) var(--e-out)}
.posts.is-hovering .post-row{opacity:.4}
.posts.is-hovering .post-row:hover{opacity:1}
.post-row__meta{color:var(--muted);padding-top:.35rem;display:grid;gap:.35rem}
.post-row__cat{color:var(--accent)}
.post-row__ttl{font-variation-settings:"wdth" 104,"wght" 520;
  font-size:clamp(1.15rem,2.2vw,2rem);line-height:1.08;letter-spacing:-.028em;
  transition:transform var(--d-3) var(--e-out)}
.post-row:hover .post-row__ttl{transform:translateX(clamp(4px,.8vw,14px))}
.post-row__ttl a::after{content:"";position:absolute;inset:0}
.post-row{position:relative}
.post-row:hover .post-row__ttl{color:var(--accent)}
.post-row__r{color:var(--muted);padding-top:.3rem;max-width:46ch}
@media (max-width:767px){
  .post-row{grid-template-columns:1fr;row-gap:.7rem}
  .post-row__meta{display:flex;gap:1rem;padding-top:0}
}

/* ---------- rodape do artigo ---------- */
.post-cta{border-top:1px solid var(--line);padding-top:clamp(20px,2.6vw,36px);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--gutter);align-items:center;
  max-width:68ch}
.post-cta p{color:var(--muted);max-width:44ch}
@media (max-width:639px){.post-cta{grid-template-columns:1fr;row-gap:var(--s3)}}

.related{margin-top:clamp(48px,6vw,88px)}
.related__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter);
  border-top:1px solid var(--line);padding-top:clamp(16px,2vw,26px)}
.related__i{position:relative}
.related__i .mono{color:var(--accent);margin-bottom:.7rem;display:block}
.related__i h3{font-variation-settings:"wdth" 102,"wght" 500;font-size:clamp(1rem,1.35vw,1.22rem);
  line-height:1.18;letter-spacing:-.02em;transition:color var(--d-2) var(--e-out)}
.related__i:hover h3{color:var(--accent)}
.related__i a::after{content:"";position:absolute;inset:0}
@media (max-width:767px){.related__list{grid-template-columns:1fr;gap:var(--s4)}}
