
/* ============================================================
   1. TOKENS
   ============================================================ */
:root{
  --midnight:#0B0C0F;
  --camel:#BE8C53;
  --camel-deep:#8A6234;         /* camel escurecido para texto pequeno sobre branco */
  --silver:#D3D0C9;
  --cloud:#FFFFFF;

  --paper:#F4F3F0;
  --ink:#0B0C0F;
  --ink-70:#42444A;
  --ink-45:#7C7E84;
  --line:rgba(11,12,15,.15);
  --line-soft:rgba(11,12,15,.08);
  --line-dark:rgba(211,208,201,.2);
  --line-dark-soft:rgba(211,208,201,.1);

  --display:'Outfit', 'Helvetica Neue', Arial, sans-serif;
  --text:'Archivo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;

  --fs-hero:clamp(2.7rem, 5.6vw, 5.1rem);
  --fs-h2:clamp(1.95rem, 3.5vw, 3.05rem);
  --fs-h3:clamp(1.15rem, 1.5vw, 1.35rem);
  --fs-lead:clamp(1rem, 1.25vw, 1.12rem);
  --fs-small:.875rem;
  --fs-label:.76rem;

  --wrap:1320px;
  --pad:clamp(20px, 4.2vw, 56px);
  --section:clamp(76px, 9.5vw, 140px);
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ============================================================
   2. BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--cloud);color:var(--ink);
  font-family:var(--text);font-size:1rem;line-height:1.62;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2,h3,h4,p,figure{margin:0}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{margin:0;padding:0;list-style:none}
::selection{background:var(--camel);color:var(--cloud)}
:focus-visible{outline:2px solid var(--camel);outline-offset:3px}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.section{padding:var(--section) 0}
.section--paper{background:var(--paper)}
.section--dark{background:var(--midnight);color:var(--silver)}
section[id]{scroll-margin-top:88px}

/* Tipografia */
.h1{font-family:var(--display);font-weight:200;font-size:var(--fs-hero);line-height:1.02;letter-spacing:-.035em}
.h2{font-family:var(--display);font-weight:200;font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.03em}
.h3{font-family:var(--display);font-weight:400;font-size:var(--fs-h3);line-height:1.24;letter-spacing:-.015em}
.h4{font-family:var(--display);font-weight:500;font-size:1rem;letter-spacing:-.005em}
.lead{font-size:var(--fs-lead);line-height:1.58;color:var(--ink-70);max-width:54ch}
.small{font-size:var(--fs-small);color:var(--ink-70)}
.section--dark .h2,.section--dark .h3,.section--dark .h4{color:var(--cloud)}
.section--dark .lead{color:rgba(211,208,201,.72)}

.tag{display:inline-flex;align-items:center;gap:12px;font-size:var(--fs-label);letter-spacing:.06em;color:var(--ink-45);font-weight:500}
.tag::before{content:"";width:24px;height:1px;background:var(--camel);flex:none}
.tag--light{color:rgba(211,208,201,.75)}

.ph{
  display:inline-block;font-size:.68rem;letter-spacing:.07em;font-weight:500;
  color:var(--camel-deep);border:1px solid rgba(190,140,83,.4);
  padding:4px 11px;background:rgba(190,140,83,.06);
}

/* ============================================================
   3. LOGO E MARCA
   ============================================================ */
.logo{display:inline-flex;align-items:center;color:var(--midnight)}
.logo-svg{height:26px;width:auto;display:block;transition:height .45s var(--ease)}
.mark-svg{width:auto;display:block}

/* Moldura derivada do símbolo MR: cantos abertos à esquerda */
.frame{position:relative;border:1px solid var(--line)}
.frame::before,.frame::after{
  content:"";position:absolute;left:-1px;width:1px;height:22px;background:var(--cloud);
}
.frame::before{top:14px}
.frame::after{bottom:14px}
.section--paper .frame::before,.section--paper .frame::after{background:var(--paper)}

/* ============================================================
   4. BOTÕES
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:16px 30px;font-size:var(--fs-small);font-weight:500;letter-spacing:.01em;
  border:1px solid transparent;
  transition:background .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease);
}
.btn--primary{background:var(--camel);color:var(--midnight)}
.btn--primary:hover{background:var(--cloud);color:var(--midnight)}
.btn--dark{background:var(--midnight);color:var(--cloud)}
.btn--dark:hover{background:var(--camel);color:var(--midnight)}
.btn--ghost{border-color:var(--line);color:var(--ink)}
.btn--ghost:hover{background:var(--midnight);border-color:var(--midnight);color:var(--cloud)}
.btn--ghost-light{border-color:rgba(211,208,201,.35);color:var(--silver)}
.btn--ghost-light:hover{background:var(--cloud);border-color:var(--cloud);color:var(--midnight)}
.btn--sm{padding:12px 22px}

.chev{width:15px;height:15px;position:relative;flex:none;transition:transform .45s var(--ease)}
.chev::before{
  content:"";position:absolute;top:50%;left:1px;width:7px;height:7px;
  border-top:1px solid currentColor;border-right:1px solid currentColor;
  transform:translateY(-50%) rotate(45deg);
}
.chev::after{
  content:"";position:absolute;top:50%;left:0;width:13px;height:1px;background:currentColor;
  transform:translateY(-50%) scaleX(.5);transform-origin:left;transition:transform .45s var(--ease);
}

/* ============================================================
   5. HEADER
   ============================================================ */
.header{
  position:fixed;inset:0 0 auto 0;z-index:100;
  border-bottom:1px solid transparent;
  transition:background .5s var(--ease), border-color .5s var(--ease), color .5s var(--ease);
  color:var(--silver);
}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:96px;transition:height .45s var(--ease)}
.header .logo{color:var(--camel)}
.header.is-stuck{
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom-color:var(--line-soft);color:var(--ink-70);
}
.header.is-stuck .logo{color:var(--midnight)}
.header.is-stuck .header__inner{height:72px}
.header.is-stuck .logo-svg{height:22px}

.nav{display:flex;align-items:center;gap:34px}
.nav a{position:relative;font-size:var(--fs-small);padding:6px 0;opacity:.8;transition:opacity .35s var(--ease)}
.nav a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--camel);
  transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease);
}
.nav a:hover{opacity:1}
.nav a:hover::after,.nav a.is-active::after{transform:scaleX(1);transform-origin:left}
.nav a.is-active{opacity:1}

.header__actions{display:flex;align-items:center;gap:14px}
.header .btn--quote{background:var(--camel);color:var(--midnight);border-color:var(--camel)}
.header .btn--quote:hover{background:transparent;color:var(--camel)}
.header.is-stuck .btn--quote:hover{background:var(--midnight);border-color:var(--midnight);color:var(--cloud)}

.burger{display:none;width:44px;height:44px;position:relative;margin-right:-10px}
.burger span{position:absolute;left:12px;width:20px;height:1px;background:currentColor;transition:transform .4s var(--ease)}
.burger span:nth-child(1){top:19px}
.burger span:nth-child(2){top:25px}
body.menu-open .burger span:nth-child(1){transform:translateY(3px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}

.drawer{
  position:fixed;inset:0;z-index:99;background:var(--midnight);color:var(--silver);
  padding:120px var(--pad) 44px;display:flex;flex-direction:column;justify-content:space-between;
  opacity:0;visibility:hidden;transform:translateY(-10px);
  transition:opacity .45s var(--ease), transform .45s var(--ease), visibility .45s;
}
body.menu-open .drawer{opacity:1;visibility:visible;transform:none}
body.menu-open{overflow:hidden}
.drawer__link{
  display:block;font-family:var(--display);font-weight:200;font-size:2.1rem;letter-spacing:-.03em;
  padding:14px 0;border-bottom:1px solid var(--line-dark-soft);color:var(--cloud);
}
.drawer__foot{display:flex;flex-direction:column;gap:16px}
.drawer__foot p{font-size:var(--fs-small);color:rgba(211,208,201,.6)}

/* ============================================================
   6. HERO
   ============================================================ */
.hero{position:relative;background:var(--midnight);color:var(--silver);overflow:hidden}
.hero__inner{
  position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:min(96vh,900px);padding:190px 0 clamp(56px,6.5vw,92px);
}
.hero__content{max-width:min(660px,54%)}
.hero__title{color:var(--cloud);margin-top:28px}
.hero__title span{color:var(--camel)}
.hero__sub{margin-top:28px;max-width:46ch;color:rgba(211,208,201,.78);font-size:var(--fs-lead);line-height:1.56}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}

.hero__media{position:absolute;top:0;right:0;bottom:0;width:min(46vw,700px);overflow:hidden;background:#15161A}
.hero__media img{width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);filter:contrast(1.03) saturate(1.02)}
.hero__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg, var(--midnight) 1%, rgba(11,12,15,.5) 34%, rgba(11,12,15,.06) 100%);
}
.media.is-missing img{display:none}
.media.is-missing{background:repeating-linear-gradient(-45deg, rgba(211,208,201,.08) 0 1px, transparent 1px 13px), #15161A}
.media.is-missing::before{
  content:attr(data-fallback);position:absolute;inset:auto 22px 40px 22px;
  color:rgba(211,208,201,.65);font-size:.75rem;letter-spacing:.06em;z-index:2;
}

.hero__rail{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:min(660px,54%);margin-top:58px;border-top:1px solid var(--line-dark);
}
.hero__rail div{padding:22px 22px 0 0}
.hero__rail strong{
  display:block;font-family:var(--display);font-weight:200;
  font-size:clamp(1.8rem,2.7vw,2.5rem);line-height:1;letter-spacing:-.04em;color:var(--cloud);
}
.hero__rail span{display:block;margin-top:8px;font-size:var(--fs-small);color:rgba(211,208,201,.6);max-width:22ch}

/* Faixa de órgãos */
.orgs{background:var(--midnight);color:var(--silver);border-top:1px solid var(--line-dark)}
.orgs__inner{display:flex;flex-wrap:wrap;align-items:center;gap:12px 40px;padding:28px var(--pad) 30px}
.orgs__label{font-size:var(--fs-label);letter-spacing:.06em;color:rgba(211,208,201,.55);margin-right:8px}
.orgs__item{font-family:var(--display);font-weight:400;font-size:.95rem;letter-spacing:.01em;color:rgba(211,208,201,.9)}

/* ============================================================
   7. CABEÇALHO DE SEÇÃO
   ============================================================ */
.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(24px,5vw,72px);align-items:end;margin-bottom:clamp(44px,5.5vw,76px)}
.head__title{margin-top:22px;max-width:17ch}
.head__aside{padding-bottom:4px}

/* ============================================================
   8. SOLUÇÕES
   ============================================================ */
.sols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.sol{position:relative;display:flex;flex-direction:column;padding:42px 40px 38px;border-bottom:1px solid var(--line);transition:background .45s var(--ease)}
.sol:nth-child(-n+3){border-top:1px solid var(--line)}
.sol:not(:nth-child(3n)){border-right:1px solid var(--line)}
.sol:nth-child(3n+1){padding-left:0}
.sol:nth-child(3n){padding-right:0}
.sol__name{transition:color .4s var(--ease)}
.sol__desc{margin-top:14px;font-size:var(--fs-small);color:var(--ink-70);max-width:33ch;flex:1}
.sol__go{display:inline-flex;align-items:center;gap:10px;margin-top:30px;font-size:var(--fs-label);letter-spacing:.05em;color:var(--ink-45);transition:color .4s var(--ease)}
.sol:hover{background:rgba(190,140,83,.055)}
.sol:hover .sol__name,.sol:hover .sol__go{color:var(--camel-deep)}
.sol:hover .chev{transform:translateX(5px)}
.sol:hover .chev::after{transform:translateY(-50%) scaleX(1)}
.sol__cover{position:absolute;inset:0}

/* ============================================================
   9. ESCOPO COMPLETO
   ============================================================ */
.scope{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px)}
.scope__col h3{padding-bottom:18px;border-bottom:1px solid var(--line)}
.scope__col li{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid var(--line-soft);font-size:var(--fs-small);color:var(--ink-70)}
.scope__col li b{font-family:var(--display);font-weight:500;color:var(--camel-deep);flex:none;min-width:52px;font-size:.82rem;letter-spacing:.01em;padding-top:1px}

/* ============================================================
   10. SOBRE
   ============================================================ */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(32px,6.5vw,104px);align-items:start}
.about p{margin-top:24px;max-width:50ch;color:var(--ink-70)}
.about__frame{padding:12px}
.about__figure{position:relative;aspect-ratio:4/5;overflow:hidden;background:#15161A}
.about__figure img{width:100%;height:100%;object-fit:cover}
.stats{margin-top:42px;border-top:1px solid var(--line)}
.stat{display:flex;align-items:baseline;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}
.stat strong{font-family:var(--display);font-weight:200;font-size:clamp(2rem,3.2vw,2.7rem);line-height:1;letter-spacing:-.045em;min-width:5ch}
.stat span{font-size:var(--fs-small);color:var(--ink-70)}

/* ============================================================
   11. DIFERENCIAIS
   ============================================================ */
.edge{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(32px,6vw,96px);align-items:start}
.edge__aside{position:sticky;top:124px}
.edge__list{border-top:1px solid var(--line-dark)}
.edge__item{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(16px,3vw,48px);padding:28px 0;border-bottom:1px solid var(--line-dark);transition:padding-left .5s var(--ease)}
.edge__item:hover{padding-left:14px}
.edge__item p{color:rgba(211,208,201,.7);font-size:var(--fs-small);max-width:44ch}

/* ============================================================
   12. COMO FUNCIONA
   ============================================================ */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(36px,4.5vw,60px)}
.step{padding-right:34px}
.step:not(:last-child){border-right:1px solid var(--line)}
.step:not(:first-child){padding-left:34px}
.step__num{display:block;font-family:var(--display);font-weight:500;font-size:.82rem;letter-spacing:.08em;color:var(--camel-deep);margin-bottom:30px}
.step__rule{height:1px;background:var(--line);margin-bottom:20px;position:relative}
.step__rule::before{content:"";position:absolute;inset:0;background:var(--camel);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease)}
.steps.is-in .step:nth-child(1) .step__rule::before{transform:scaleX(1)}
.steps.is-in .step:nth-child(2) .step__rule::before{transform:scaleX(1);transition-delay:.16s}
.steps.is-in .step:nth-child(3) .step__rule::before{transform:scaleX(1);transition-delay:.32s}
.steps.is-in .step:nth-child(4) .step__rule::before{transform:scaleX(1);transition-delay:.48s}
.step p{margin-top:12px;font-size:var(--fs-small);color:var(--ink-70);max-width:29ch}

/* ============================================================
   13. ATUAÇÃO
   ============================================================ */
.fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.field{background:var(--paper);padding:clamp(26px,2.8vw,38px);min-height:228px;display:flex;flex-direction:column;justify-content:space-between;transition:background .45s var(--ease)}
.field:hover{background:var(--cloud)}
.field p{margin-top:12px;font-size:var(--fs-small);color:var(--ink-70)}
.field__top{display:flex;justify-content:flex-end;min-height:24px;margin-bottom:26px}

/* ============================================================
   14. CLIENTES E CASES
   ============================================================ */
.clients{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);margin-bottom:clamp(56px,6vw,96px)}
.client{background:var(--cloud);display:flex;align-items:center;justify-content:center;padding:24px 16px;min-height:104px}
.client img{height:var(--h);width:auto;max-width:82%;object-fit:contain;filter:grayscale(1) contrast(.92);opacity:.55;transition:filter .5s var(--ease), opacity .5s var(--ease)}
.client:hover img,.client:focus-within img{filter:none;opacity:1}

.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,28px)}
.case__frame{
  position:relative;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(-45deg, rgba(11,12,15,.04) 0 1px, transparent 1px 14px);
  transition:border-color .45s var(--ease);
}
.case:hover .case__frame{border-color:var(--camel)}
.case__meta{margin-top:18px}
.case__meta p{font-size:var(--fs-small);color:var(--ink-45);margin-top:4px}

/* ============================================================
   15. CTA
   ============================================================ */
.cta{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(36px,6vw,90px);align-items:end}
.cta__title span{display:block;color:rgba(211,208,201,.55)}
.cta__side{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.cta__contacts{display:flex;flex-direction:column;gap:10px;font-size:var(--fs-small)}
.cta__contacts a,.cta__contacts span{color:rgba(211,208,201,.72);transition:color .35s var(--ease)}
.cta__contacts a:hover{color:var(--camel)}
.cta__contacts b{font-weight:500;color:var(--silver);font-family:var(--display);margin-right:10px}

/* ============================================================
   16. FOOTER
   ============================================================ */
.footer{background:var(--midnight);color:var(--silver);padding:clamp(56px,6vw,86px) 0 30px;border-top:1px solid var(--line-dark)}
.footer .logo{color:var(--camel)}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1.4fr;gap:clamp(24px,4vw,56px)}
.footer h4{font-size:var(--fs-label);letter-spacing:.07em;color:rgba(211,208,201,.5);font-weight:500;margin-bottom:18px;font-family:var(--text)}
.footer li{margin-bottom:10px}
.footer li a,.footer li span{font-size:var(--fs-small);color:rgba(211,208,201,.75);transition:color .35s var(--ease)}
.footer li a:hover{color:var(--camel)}
.footer__mark{margin-top:22px;max-width:26ch;font-size:var(--fs-small);color:rgba(211,208,201,.55)}
.footer__bottom{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-top:clamp(40px,5vw,70px);padding-top:22px;border-top:1px solid var(--line-dark-soft);font-size:.76rem;color:rgba(211,208,201,.45)}

/* ============================================================
   17. MOTION
   ============================================================ */
[data-in]{opacity:0;transform:translateY(14px)}
.loaded [data-in]{opacity:1;transform:none;transition:opacity .9s var(--ease), transform .9s var(--ease)}
.loaded [data-in="1"]{transition-delay:.06s}
.loaded [data-in="2"]{transition-delay:.18s}
.loaded [data-in="3"]{transition-delay:.3s}
.loaded [data-in="4"]{transition-delay:.42s}
.loaded [data-in="5"]{transition-delay:.54s}
.loaded [data-in="6"]{transition-delay:.66s}
.loaded .hero__media img{opacity:1;transform:scale(1);transition:opacity 1.3s var(--ease), transform 2s var(--ease)}
.reveal{opacity:0;transform:translateY(16px)}
.reveal.is-in{opacity:1;transform:none;transition:opacity .8s var(--ease), transform .8s var(--ease)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.001ms !important;animation-duration:.001ms !important}
  [data-in],.reveal,.hero__media img{opacity:1 !important;transform:none !important}
  .steps .step__rule::before{transform:scaleX(1) !important}
}

/* ============================================================
   18. RESPONSIVO
   ============================================================ */
@media (max-width:1180px){
  .clients{grid-template-columns:repeat(4,minmax(0,1fr))}
  .scope{grid-template-columns:1fr;gap:44px}
  .scope__col li{max-width:60ch}
}

@media (max-width:1080px){
  .sols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sol{padding:34px 32px}
  .sol:nth-child(-n+3){border-top:0}
  .sol:nth-child(-n+2){border-top:1px solid var(--line)}
  .sol:not(:nth-child(3n)){border-right:0}
  .sol:nth-child(odd){border-right:1px solid var(--line);padding-left:0}
  .sol:nth-child(even){padding-right:0;padding-left:32px}
  .fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
  .step:nth-child(2n){border-right:0;padding-right:0}
  .step:nth-child(2n+1){padding-left:0;border-right:1px solid var(--line)}
}

@media (max-width:900px){
  .nav,.header__actions .btn{display:none}
  .burger{display:block}
  .hero__inner{min-height:0;padding:120px 0 0}
  .hero__content,.hero__rail{max-width:100%}
  .hero__media{position:relative;width:100%;height:56vw;min-height:260px;margin-top:40px}
  .hero__media::after{background:linear-gradient(180deg, rgba(11,12,15,.5), rgba(11,12,15,0) 45%)}
  .hero__rail{margin-top:38px}
  .head{grid-template-columns:1fr;align-items:start}
  .head__title{max-width:20ch}
  .about,.edge,.cta{grid-template-columns:1fr}
  .about__frame{order:-1;margin-bottom:14px}
  .about__figure{aspect-ratio:16/10}
  .edge__aside{position:static}
  .cases{grid-template-columns:1fr;gap:34px}
  .case__frame{aspect-ratio:16/10}
  .footer__grid{grid-template-columns:1fr 1fr}
}

@media (max-width:620px){
  .sols{grid-template-columns:1fr}
  .sol,.sol:nth-child(odd),.sol:nth-child(even),.sol:nth-child(3n),.sol:nth-child(3n+1){padding:28px 0;border-right:0;border-top:0}
  .sol:first-child{border-top:1px solid var(--line)}
  .fields{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;row-gap:32px}
  .step,.step:nth-child(2n),.step:nth-child(2n+1){border-right:0;padding:0}
  .step__num{margin-bottom:16px}
  .hero__rail{grid-template-columns:1fr}
  .hero__rail div{padding:16px 0;border-bottom:1px solid var(--line-dark-soft)}
  .hero__rail div:last-child{border-bottom:0}
  .hero__rail span{max-width:100%}
  .clients{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client{min-height:88px;padding:18px 12px}
  .client img{transform:scale(.88)}
  .edge__item{grid-template-columns:1fr;gap:8px}
  .footer__grid{grid-template-columns:1fr}
  .btn{width:100%}
  .orgs__inner{gap:8px 24px}
}

/* ============================================================
   19. COMPONENTES DO SITE MULTIPÁGINA
   (mesmos tokens da home: nada de estética nova aqui)
   ============================================================ */

/* --- 19.1 Dropdown do menu Soluções --- */
.has-sub{position:relative}
.has-sub>a{display:inline-flex;align-items:center;gap:8px}
.has-sub>a::before{
  content:"";width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;
  transform:translateY(-2px) rotate(45deg);opacity:.6;order:2;transition:transform .4s var(--ease)
}
.has-sub:hover>a::before{transform:translateY(0) rotate(45deg)}
.sub{
  position:absolute;top:100%;left:-26px;padding-top:22px;min-width:264px;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .35s var(--ease), transform .35s var(--ease), visibility .35s;
}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
.sub__panel{background:var(--cloud);border:1px solid var(--line-soft);padding:12px 0;box-shadow:0 26px 60px rgba(11,12,15,.14)}
.sub a{display:block;padding:10px 26px;font-size:.87rem;color:var(--ink-70);opacity:1}
.sub a::after{display:none}
.sub a:hover{color:var(--midnight);background:var(--paper)}
.sub__sep{height:1px;background:var(--line-soft);margin:10px 0}

/* --- 19.2 Submenu no drawer mobile --- */
.drawer__sub{padding:6px 0 16px 2px;border-bottom:1px solid var(--line-dark-soft)}
.drawer__sub a{display:block;padding:9px 0;font-size:.92rem;color:rgba(211,208,201,.7)}
.drawer__sub a:hover{color:var(--camel)}
.drawer nav{overflow-y:auto}

/* --- 19.3 Hero interno --- */
.subhero{position:relative;background:var(--midnight);color:var(--silver);overflow:hidden}
.subhero__inner{
  position:relative;z-index:2;display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:clamp(26px,5vw,80px);align-items:end;
  padding:clamp(128px,13vw,178px) 0 clamp(52px,6vw,88px);
}
.subhero h1{color:var(--cloud);margin-top:22px;max-width:16ch}
.subhero .lead{color:rgba(211,208,201,.74);padding-bottom:6px}
.subhero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.subhero--media .subhero__inner{padding-right:clamp(0px,32vw,520px)}
.subhero__media{position:absolute;top:0;right:0;bottom:0;width:min(40vw,560px);overflow:hidden;background:#15161A}
.subhero__media img{width:100%;height:100%;object-fit:cover}
.subhero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg, var(--midnight) 1%, rgba(11,12,15,.5) 36%, rgba(11,12,15,.05) 100%)}

/* --- 19.4 Breadcrumb --- */
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:.76rem;color:rgba(211,208,201,.45)}
.crumb a{color:rgba(211,208,201,.6);transition:color .35s var(--ease)}
.crumb a:hover{color:var(--camel)}
.crumb i{font-style:normal;opacity:.4}
.crumb [aria-current]{color:rgba(211,208,201,.9)}

/* --- 19.5 Texto editorial em duas colunas --- */
.editorial{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5.5vw,88px);align-items:start}
.editorial__body p{margin-top:22px;color:var(--ink-70);max-width:62ch}
.editorial__body p:first-child{margin-top:0}
.section--dark .editorial__body p{color:rgba(211,208,201,.72)}
.editorial__aside{position:sticky;top:120px}

/* --- 19.6 Lista com marcador --- */
.check{border-top:1px solid var(--line)}
.check li{display:flex;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);font-size:.94rem;color:var(--ink-70)}
.check li::before{content:"";width:7px;height:7px;border:1px solid var(--camel);flex:none;margin-top:9px}
.check--2{columns:2;column-gap:clamp(24px,4vw,64px)}
.section--dark .check,.section--dark .check li{border-color:var(--line-dark)}
.section--dark .check li{color:rgba(211,208,201,.74)}

/* --- 19.7 Grade de entregas --- */
.deliver{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.deliver__item{background:var(--cloud);padding:clamp(24px,2.6vw,36px);min-height:180px}
.section--paper .deliver__item{background:var(--paper)}
.deliver__item p{margin-top:12px;font-size:var(--fs-small);color:var(--ink-70)}
.deliver__num{display:block;font-family:var(--display);font-weight:500;font-size:.8rem;letter-spacing:.08em;color:var(--camel-deep);margin-bottom:22px}

/* --- 19.8 FAQ --- */
.faq{border-top:1px solid var(--line);max-width:960px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;position:relative;padding:22px 52px 22px 0;
  font-family:var(--display);font-weight:400;font-size:1.05rem;letter-spacing:-.01em;
  transition:color .35s var(--ease);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--camel-deep)}
.faq summary::after{
  content:"";position:absolute;right:8px;top:29px;width:10px;height:10px;
  border-right:1px solid var(--camel);border-bottom:1px solid var(--camel);
  transform:rotate(45deg);transition:transform .4s var(--ease);
}
.faq details[open] summary::after{transform:rotate(-135deg) translate(-3px,-3px)}
.faq__a{padding:0 60px 26px 0;font-size:var(--fs-small);color:var(--ink-70);max-width:72ch}
.faq__a p+p{margin-top:12px}

/* --- 19.9 Formulários --- */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 32px}
.form .full{grid-column:1/-1}
.form label.lbl{display:block;font-size:.76rem;letter-spacing:.06em;color:var(--ink-45);margin-bottom:9px}
.form input,.form textarea{
  width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;
  padding:12px 0;font:inherit;font-size:.95rem;color:var(--ink);transition:border-color .35s var(--ease);
}
.form textarea{resize:vertical;min-height:96px;line-height:1.6}
.form input:focus,.form textarea:focus{outline:none;border-bottom-color:var(--camel)}
.form input::placeholder,.form textarea::placeholder{color:var(--ink-45);opacity:.55}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;margin:0}
.chip span{
  display:inline-block;border:1px solid var(--line);padding:11px 19px;font-size:.85rem;
  color:var(--ink-70);transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
}
.chip:hover span{border-color:var(--midnight)}
.chip input:checked+span{background:var(--midnight);border-color:var(--midnight);color:var(--cloud)}
.chip input:focus-visible+span{outline:2px solid var(--camel);outline-offset:3px}
.form__note{font-size:.78rem;color:var(--ink-45);max-width:48ch}
.form__ok{
  display:none;grid-column:1/-1;border:1px solid rgba(190,140,83,.45);background:rgba(190,140,83,.07);
  padding:20px 24px;font-size:var(--fs-small);color:var(--ink-70);
}
.form__ok.is-on{display:block}

/* --- 19.10 Bloco de contato --- */
.contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.contact__item{background:var(--cloud);padding:clamp(26px,2.8vw,38px);min-height:190px;display:flex;flex-direction:column;justify-content:space-between}
.contact__item h3{margin-bottom:14px}
.contact__item a,.contact__item span{display:block;font-size:var(--fs-small);color:var(--ink-70);line-height:1.7}
.contact__item a:hover{color:var(--camel-deep)}

/* --- 19.11 Cards de navegação entre soluções --- */
.next{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.next a{background:var(--cloud);padding:28px 30px 26px;display:flex;flex-direction:column;gap:10px;transition:background .4s var(--ease)}
.section--paper .next a{background:var(--paper)}
.next a:hover{background:rgba(190,140,83,.06)}
.next a:hover .chev{transform:translateX(5px)}
.next small{font-size:var(--fs-label);letter-spacing:.05em;color:var(--ink-45)}
.next .chev{color:var(--camel-deep);transition:transform .45s var(--ease)}

/* --- 19.12 Ajustes responsivos dos novos componentes --- */
@media (max-width:1080px){
  .deliver{grid-template-columns:repeat(2,minmax(0,1fr))}
  .next{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact{grid-template-columns:1fr}
}
@media (max-width:900px){
  .subhero__inner{grid-template-columns:1fr;align-items:start;padding-right:0}
  .subhero--media .subhero__inner{padding-right:0;padding-bottom:0}
  .subhero--media .subhero__media{position:relative;width:100%;height:52vw;min-height:240px;margin-top:38px}
  .subhero--media .subhero__media::after{background:linear-gradient(180deg, rgba(11,12,15,.5), rgba(11,12,15,0) 45%)}
  .subhero--media{padding-bottom:clamp(52px,6vw,88px)}
  .editorial{grid-template-columns:1fr}
  .editorial__aside{position:static}
  .check--2{columns:1}
}
@media (max-width:620px){
  .deliver{grid-template-columns:1fr}
  .next{grid-template-columns:1fr}
  .form{grid-template-columns:1fr;gap:24px}
  .faq summary{font-size:1rem;padding-right:40px}
  .faq__a{padding-right:20px}
}

/* --- 19.13 Ajustes finos --- */
.contact__item a.sol__go:hover .chev{transform:translateX(5px)}
.contact__item a.sol__go:hover .chev::after{transform:translateY(-50%) scaleX(1)}
.contact__item a.sol__go:hover{color:var(--camel-deep)}
.check li b{font-family:var(--display);font-weight:500;color:var(--camel-deep);min-width:88px;display:inline-block}
