/* =========================================================================
   Contaris — sistema visual "Harness" com a paleta Contaris
   Escuro e branco a alternar · molduras claras de 1px sobre fundo escuro
   Display condensado com espacejamento positivo · pílulas · sem sombras
   ========================================================================= */

:root{
  /* --- pilha escura, a partir do Pantone Black 6 C --- */
  --void:#0F1822;            /* Black 6 C — tela, o chão de tudo */
  --plate:#151F29;           /* nível 1 — cartão principal */
  --obsidian:#1B2731;        /* nível 2 — painel aninhado */
  --iron:#2A3844;            /* nível 3 — passagem do rato, divisórias */
  --cool11:#50555B;          /* Cool Gray 11 C — divisórias em fundo escuro */

  /* --- texto em fundo escuro --- */
  --white:#FFFFFF;           /* títulos, navegação, traços de ícone */
  --fog:#D6D7D5;             /* Cool Gray 1 C — molduras claras e corpo */
  --ash:#C3C5C3;             /* corpo secundário */
  --graphite:#9DA1A3;        /* terciário e etiquetas discretas */
  --border:rgba(214,215,213,.62);   /* a moldura que define o sistema */
  --border-soft:rgba(214,215,213,.22);
  --divider:rgba(214,215,213,.14);
  --chip:rgba(214,215,213,.08);
  --field:#151F29;
  --field-border:rgba(214,215,213,.28);

  /* --- a única cor: Pantone 2091 C --- */
  --violet:#4918A0;
  --violet-hi:#5C22C4;
  --violet-soft:rgba(73,24,160,.18);
  --on-violet:#FFFFFF;

  /* --- superfícies e texto, resolvidos por contexto --- */
  --bg:var(--void);
  --card:var(--plate);
  --card-line:var(--border);
  --ink:var(--white);
  --body:var(--fog);
  --muted:var(--graphite);
  --rule:var(--divider);

  /* --- tipografia --- */
  --display:'Space Grotesk',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --sans:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --w300:300; --w400:400; --w500:500; --w600:600;
  --tr-display:.056em;       /* espacejamento positivo — a assinatura do sistema */

  --t-badge:10px;  --tr-badge:.094em;
  --t-cap:12px;    --lh-cap:1.22;  --tr-cap:.042em;
  --t-sm:14px;     --lh-sm:1.44;
  --t-body:16px;   --lh-body:1.5;
  --t-sub:20px;    --lh-sub:1.5;
  --t-h3:32px;     --lh-h3:1.1;
  --t-h2:56px;     --lh-h2:1.1;
  --t-h1:72px;     --lh-h1:1;
  --t-hero:88px;   --lh-hero:.96;

  /* --- espaçamento (base 8px) --- */
  --s8:8px; --s16:16px; --s24:24px; --s32:32px; --s40:40px; --s56:56px; --s80:80px; --s120:120px;

  /* --- forma --- */
  --r-card:20px; --r-nested:16px; --r-input:5px; --r-pill:800px;
  --maxw:1200px; --gap:80px; --pad-card:24px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
html[lang^="zh"]{--display:'Noto Sans SC',sans-serif;--sans:'Noto Sans SC','Inter',sans-serif;--tr-display:.02em}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--void)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;background:var(--void);color:var(--body);font-family:var(--sans);
     font-size:var(--t-body);line-height:var(--lh-body);letter-spacing:.017em;font-weight:var(--w400);
     -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;color:var(--ink);font-family:var(--display);letter-spacing:var(--tr-display)}
h1{font-size:clamp(38px,5.4vw,var(--t-h1));line-height:var(--lh-h1);font-weight:var(--w300)}
h2{font-size:clamp(30px,3.6vw,var(--t-h2));line-height:var(--lh-h2);font-weight:var(--w300)}
h3{font-size:clamp(22px,2.3vw,var(--t-h3));line-height:var(--lh-h3);font-weight:var(--w500)}
h1 em,h2 em,h3 em{font-style:normal;color:var(--muted)}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--violet-hi);outline-offset:3px;border-radius:var(--r-input)}
::selection{background:var(--violet);color:#FFFFFF}

/* ---------- alternância: preto e branco, nunca meios-tons ---------- */
section{background:var(--bg);color:var(--body);padding:var(--gap) 0;position:relative}
section.cream,section.mist,section.stone,section.paper{
  --bg:#FFFFFF;
  --card:#D6D7D5;            /* Cool Gray 1 C — o cartão é definido pelo degrau, não por moldura */
  --card-line:transparent;
  --ink:#0F1822;             /* Black 6 C */
  --body:#3F4449;            /* passo escuro do Cool Gray 11 C — corpo de texto */
  --muted:#50555B;           /* Cool Gray 11 C — terciário e etiquetas */
  --rule:rgba(15,24,34,.14);
  --divider:rgba(15,24,34,.14);
  --chip:rgba(15,24,34,.06);
  --field:#FFFFFF;
  --field-border:rgba(15,24,34,.24);
  --border-soft:rgba(15,24,34,.18);
  background:var(--bg);color:var(--body)}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--s24);position:relative}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--violet);color:#fff;
      padding:12px 24px;border-radius:0 0 var(--r-input) 0}
.skip:focus{left:0}

/* ---------- botões: pílula de 800px ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s8);flex:0 0 auto;
     background:var(--violet);color:var(--on-violet);border:1px solid var(--violet);cursor:pointer;
     font-family:var(--sans);font-size:var(--t-body);font-weight:var(--w500);line-height:1;
     letter-spacing:.017em;white-space:nowrap;
     padding:14px var(--s24);min-height:48px;border-radius:var(--r-pill);
     transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.btn:hover{background:var(--violet-hi);border-color:var(--violet-hi)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--bg)}
.actions{display:flex;flex-wrap:wrap;gap:var(--s16);margin-top:var(--s40)}

/* ---------- navegação ---------- */
#hdr{position:sticky;top:0;z-index:100;background:var(--void);
     border-bottom:1px solid var(--border-soft)}
.navbar{max-width:var(--maxw);margin:0 auto;padding:var(--s16) var(--s24);min-height:64px;
        display:flex;align-items:center;justify-content:space-between;gap:var(--s24);position:relative}
.logo{font-family:var(--display);font-size:var(--t-sub);font-weight:var(--w500);
      letter-spacing:var(--tr-display);text-transform:uppercase;color:var(--white);line-height:1;
      display:inline-flex;align-items:center;min-height:44px;flex:0 0 auto}
.menu{display:flex;align-items:center;gap:var(--s8)}
.menu a{flex:0 0 auto;font-size:var(--t-sm);font-weight:var(--w400);color:var(--graphite);
        padding:10px var(--s16);min-height:44px;display:inline-flex;align-items:center;
        border-radius:var(--r-pill);transition:color .2s,background .2s}
.menu a:hover{color:var(--white)}
.menu a.active{color:var(--white);background:var(--chip)}
.menu a.btn{color:var(--on-violet);font-size:var(--t-sm);padding:11px var(--s24);min-height:42px}
.navright{display:flex;align-items:center;gap:var(--s16)}
.langs{display:inline-flex;align-items:center;gap:2px}
.langs button{background:none;border:none;cursor:pointer;font-size:var(--t-cap);
              letter-spacing:var(--tr-cap);color:var(--graphite);padding:8px 6px;min-height:40px;
              border-radius:var(--r-pill);text-transform:uppercase}
.langs button:hover{color:var(--white)}
.langs button[aria-pressed="true"]{color:var(--white);font-weight:var(--w500)}
.langs .sep{color:var(--graphite);opacity:.5}
.nav-cta{display:none}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;
        background:none;border:none;cursor:pointer;align-items:center}
.burger span{width:18px;height:1px;background:var(--white);transition:transform .3s var(--ease),opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- hero: alinhado à esquerda, tipografia a carregar tudo ---------- */
.hero{padding:var(--s120) 0}
.hero .wrap{text-align:left}
.hero h1{font-size:clamp(40px,6.6vw,var(--t-hero));line-height:var(--lh-hero);font-weight:var(--w300);max-width:15ch}
.hero .lead{font-size:var(--t-sub);line-height:var(--lh-sub);letter-spacing:-.017em;
            color:var(--ash);max-width:52ch;margin-top:var(--s32)}
.hero .actions,.hero .eyebrow{justify-content:flex-start}
.glow,.orb{display:none}

/* ---------- etiquetas ---------- */
.eyebrow{display:inline-flex;align-items:center;font-size:var(--t-cap);line-height:var(--lh-cap);
         letter-spacing:var(--tr-badge);text-transform:uppercase;color:var(--muted);
         font-weight:var(--w500);margin-bottom:var(--s24)}
.lead{font-size:var(--t-body);line-height:var(--lh-body);color:var(--body);max-width:62ch;margin-top:var(--s16)}
.shead{margin-bottom:var(--s56);max-width:44ch}
.note{font-size:var(--t-sm);line-height:var(--lh-sm);color:var(--muted);margin-top:var(--s16)}
.ph-note{color:var(--muted);border:1px solid var(--border-soft);
         padding:1px 8px;border-radius:var(--r-pill);font-size:var(--t-cap)}
.page-head{padding:var(--s120) 0 var(--s56)}
.page-head h1{max-width:16ch}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s8);font-size:var(--t-cap);
        letter-spacing:var(--tr-cap);text-transform:uppercase;color:var(--muted);margin-bottom:var(--s24)}
.crumbs a{min-height:24px;display:inline-flex;align-items:center}
.crumbs a:hover{color:var(--ink)}
.crumbs span{color:var(--muted)}

/* ---------- cartões: moldura clara em fundo escuro, degrau em fundo branco ---------- */
.card,.sector,.post,.step,.svc-panel,.form,.panel,.contact-panel,.stat,
.principles li,.svc-index a,.sector-full,.faq{
  background:var(--card);border:1px solid var(--card-line);border-radius:var(--r-card)}
.card,.sector,.post,.svc-panel,.form,.panel,.contact-panel,.svc-index a,.sector-full{padding:var(--pad-card)}
@media(min-width:768px){
  .card,.sector,.post,.svc-panel,.form,.panel,.contact-panel,.svc-index a,.sector-full{padding:var(--s32)}
}
.panel .form,.panel .contact-panel,.card .form,.contact-panel .form,
.panel .card,.contact-panel .card{background:none;border:none;padding:0;border-radius:0}

/* cartão de destaque — um por secção, preenchido a 2091 C */
.cta-band,.vault-band{background:var(--violet);border:1px solid var(--violet);
     border-radius:var(--r-card);padding:var(--s120) var(--s56);text-align:left}
.cta-band h2,.vault-band h1{color:#FFFFFF;max-width:16ch}
.cta-band .lead{color:rgba(255,255,255,.86);max-width:52ch}
.cta-band .btn{background:#FFFFFF;color:var(--violet);border-color:#FFFFFF}
.cta-band .btn:hover{background:var(--fog);border-color:var(--fog);color:var(--violet)}

/* ---------- grelhas ---------- */
.grid2,.grid4,.sectors,.steps,.svc-index,.scope-cards,.posts,.others,.two,.principles,.clist,
.fields,.scope,.split,.stats,.legal-wrap,.sector-full{
  display:grid;gap:var(--s16);grid-template-columns:minmax(0,1fr)}
.split{gap:var(--s56);align-items:start}
.fld,.fld input,.fld select,.fld textarea,.two > *,.fields > *{min-width:0;max-width:100%}

/* ---------- números ---------- */
.stat{padding:var(--s24)}
.stat .k{font-family:var(--display);font-size:clamp(26px,2.4vw,var(--t-h3));line-height:var(--lh-h3);
         letter-spacing:var(--tr-display);font-weight:var(--w300);color:var(--ink);margin:0}
.stat .v{margin-top:var(--s16);font-size:var(--t-cap);line-height:var(--lh-cap);
         letter-spacing:var(--tr-badge);text-transform:uppercase;color:var(--muted)}
.stats .stat:first-child{background:var(--violet);border-color:var(--violet)}
.stats .stat:first-child .k{color:#FFFFFF}
.stats .stat:first-child .v{color:rgba(255,255,255,.82)}

/* ---------- serviços ---------- */
.svc{display:flex;flex-direction:column;gap:0}
.svc-item{border-bottom:1px solid var(--rule)}
.svc-item:first-child{border-top:1px solid var(--rule)}
.svc-btn{width:100%;text-align:left;background:none;border:none;cursor:pointer;
         padding:var(--s24) 0;display:flex;align-items:flex-start;gap:var(--s24);color:var(--ink)}
.svc-btn > span:last-child{flex:1;display:block}
.svc-btn .n{flex:0 0 auto;font-size:var(--t-badge);letter-spacing:var(--tr-badge);
            text-transform:uppercase;color:var(--muted);padding-top:12px;min-width:2.5em}
.svc-btn .t{display:block;font-family:var(--display);font-size:clamp(21px,2.1vw,var(--t-h3));line-height:var(--lh-h3);
            letter-spacing:var(--tr-display);font-weight:var(--w300);color:var(--ink)}
.svc-btn p{margin-top:var(--s8);font-size:var(--t-body);line-height:var(--lh-body);color:var(--body)}
.svc-btn::after{content:"";flex:0 0 auto;width:36px;height:36px;border-radius:var(--r-pill);
     border:1px solid var(--border-soft);
     background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239DA1A3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/16px no-repeat;
     transition:border-color .2s,background-color .2s}
.svc-item.active .svc-btn::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
     background-color:var(--violet);border-color:var(--violet)}
.svc-btn:hover::after{border-color:var(--ink)}
.svc-panel{display:none;margin:0 0 var(--s24);border-radius:var(--r-nested)}
.svc-item.active .svc-panel{display:block}
.svc-panel h3{margin-bottom:var(--s16)}
.svc-panel .scope{margin-top:var(--s24)}
.more,.tlink,.sv a{display:inline-flex;align-items:center;gap:var(--s8);min-height:40px;
     font-size:var(--t-sm);font-weight:var(--w500);color:var(--ink);
     padding:8px var(--s16);border:1px solid var(--border-soft);border-radius:var(--r-pill);
     transition:border-color .2s,background .2s}
.more::after,.tlink::after,.sv a::after{content:"\2192";transition:transform .2s var(--ease)}
.more:hover,.tlink:hover,.sv a:hover{border-color:var(--ink)}
.more:hover::after,.tlink:hover::after,.sv a:hover::after{transform:translateX(3px)}
.more{margin-top:var(--s24)}
.svc-index a{display:block;transition:border-color .2s var(--ease),background .2s var(--ease)}
.svc-index a:hover{border-color:var(--fog)}
.svc-index a h2,.svc-index a h3{font-family:var(--display);font-size:clamp(21px,2.1vw,var(--t-h3));
     line-height:var(--lh-h3);letter-spacing:var(--tr-display);font-weight:var(--w300);
     margin-bottom:var(--s16)}
.svc-index a p{font-size:var(--t-body);line-height:var(--lh-body);color:var(--body)}
.ico{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;
     margin-bottom:var(--s24);color:var(--ink)}
.ico svg{width:24px;height:24px}

/* ---------- listas de âmbito ---------- */
.scope{gap:var(--s8)}
.scope li{position:relative;padding-left:var(--s24);font-size:var(--t-body);
          line-height:var(--lh-body);color:var(--body)}
.scope li::before{content:"";position:absolute;left:2px;top:11px;width:8px;height:8px;
                  border-radius:var(--r-pill);background:var(--violet)}
section.cream .scope li::before,section.mist .scope li::before,
section.stone .scope li::before{background:var(--violet)}
.scope-cards li{background:var(--card);border:1px solid var(--card-line);border-radius:var(--r-nested);
                padding:var(--s24);color:var(--body)}
.scope-cards .card h3{margin-bottom:var(--s16)}

/* ---------- sectores ---------- */
.sector{display:flex;flex-direction:column;transition:border-color .2s var(--ease)}
a.sector:hover{border-color:var(--fog)}
.sector .num{order:-2;margin:0 0 var(--s16);font-size:var(--t-badge);letter-spacing:var(--tr-badge);
             text-transform:uppercase;color:var(--muted)}
.sector .mark{order:-1;width:24px;height:24px;color:var(--ink);margin-bottom:var(--s24)}
.sector h3,.sector .h3{font-family:var(--display);font-size:clamp(21px,2.1vw,var(--t-h3));line-height:var(--lh-h3);
     letter-spacing:var(--tr-display);font-weight:var(--w300);color:var(--ink);margin:0 0 var(--s16)}
.sector p{font-size:var(--t-body);line-height:var(--lh-body);color:var(--body)}
.svc-index .mark,.card .mark{display:none}
.tags{display:flex;flex-wrap:wrap;gap:var(--s8);margin-top:var(--s24)}
.tags span{font-size:var(--t-badge);line-height:1;letter-spacing:var(--tr-badge);
           text-transform:uppercase;color:var(--muted);padding:6px 12px;
           border-radius:var(--r-pill);border:1px solid var(--border-soft)}
.sector-full{margin-bottom:var(--s16);scroll-margin-top:96px;gap:var(--s32)}
.sector-full h3{font-size:var(--t-h3)}
.sv{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s8);margin-top:var(--s16)}

/* ---------- método ---------- */
.step{padding:var(--s24)}
.steps{counter-reset:st}
.step::before{counter-increment:st;content:counter(st,decimal-leading-zero);display:block;
              font-family:var(--display);font-size:var(--t-sub);letter-spacing:var(--tr-display);
              font-weight:var(--w300);color:var(--muted);margin-bottom:var(--s24)}
.step h3{font-size:var(--t-sub);line-height:var(--lh-sub);letter-spacing:-.017em;
         font-family:var(--sans);font-weight:var(--w500);margin-bottom:var(--s8)}
.step p{font-size:var(--t-sm);line-height:var(--lh-sm);color:var(--body)}

/* ---------- princípios ---------- */
.principles li{padding:var(--s24);display:flex;flex-direction:column}
.principles .pn{font-family:var(--display);font-size:var(--t-sub);line-height:var(--lh-sub);
                letter-spacing:var(--tr-display);font-weight:var(--w500);color:var(--ink);
                margin-bottom:var(--s16)}
.principles li p:last-child{font-size:var(--t-sm);line-height:var(--lh-sm);color:var(--body)}

/* ---------- insights / blog ---------- */
.post{display:flex;flex-direction:column;gap:var(--s16);transition:border-color .2s var(--ease)}
a.post:hover{border-color:var(--fog)}
.post .cat{font-size:var(--t-badge);letter-spacing:var(--tr-badge);text-transform:uppercase;
           color:var(--muted);font-weight:var(--w500)}
.post h2,.post h3{font-family:var(--display);font-size:var(--t-sub);line-height:1.2;
     letter-spacing:var(--tr-display);font-weight:var(--w500)}
.post .excerpt{font-size:var(--t-sm);line-height:var(--lh-sm);color:var(--body)}
.post .soon,.post .meta{font-size:var(--t-badge);letter-spacing:var(--tr-badge);text-transform:uppercase;
     color:var(--muted);margin-top:auto;padding-top:var(--s16)}
.article{max-width:70ch;margin:0 auto}
.article p{margin:0 0 var(--s24);color:var(--body)}
.article h2{margin:var(--s56) 0 var(--s16);font-size:var(--t-h3)}
.article h3{margin:var(--s40) 0 var(--s16);font-size:var(--t-sub)}
.article ul,.article ol{margin:0 0 var(--s24) var(--s24);color:var(--body)}
.article ul li{list-style:disc;margin-bottom:var(--s8)}
.article ol li{list-style:decimal;margin-bottom:var(--s8)}
.article a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.article img{border-radius:var(--r-nested);margin:var(--s32) 0}
.article blockquote{margin:var(--s40) 0;padding-left:var(--s24);border-left:2px solid var(--violet);color:var(--ink)}
.article code{background:var(--obsidian);padding:2px 6px;border-radius:var(--r-input);font-size:.9em}
.article pre{background:var(--obsidian);padding:var(--s24);border-radius:var(--r-nested);overflow:auto}
section.cream .article code,section.cream .article pre{background:#D6D7D5}
.pager{display:flex;flex-wrap:wrap;gap:var(--s8);justify-content:center;margin-top:var(--s56)}
.pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:48px;
     min-height:48px;padding:0 var(--s16);border-radius:var(--r-pill);color:var(--ink);
     border:1px solid var(--border-soft)}
.pager .page-numbers:hover{border-color:var(--ink)}
.pager .page-numbers.current{background:var(--violet);color:#FFFFFF;border-color:var(--violet)}
.empty{text-align:center;color:var(--muted);padding:var(--s80) 0}

/* ---------- formulários ---------- */
.form{display:flex;flex-direction:column;gap:var(--s24)}
.fields{gap:var(--s16)}
.fld{display:flex;flex-direction:column;gap:var(--s8)}
.fld label,.consent{font-size:var(--t-cap);letter-spacing:var(--tr-cap);text-transform:uppercase;
     color:var(--muted)}
.consent{text-transform:none;letter-spacing:.017em;font-size:var(--t-sm);color:var(--body)}
.fld input,.fld select,.fld textarea{background:var(--field);border:1px solid var(--field-border);
     border-radius:var(--r-input);padding:13px var(--s16);min-height:48px;color:var(--ink);
     font-size:var(--t-sm);transition:border-color .2s}
.fld textarea{min-height:130px;resize:vertical}
.fld input::placeholder,.fld textarea::placeholder{color:var(--muted)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--violet-hi)}
.fld select{appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239DA1A3' stroke-width='1.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:44px}
.fld select option{background:var(--plate);color:var(--white)}
section.cream .fld select option{background:#FFFFFF;color:#0F1822}
.consent{display:flex;gap:var(--s16);align-items:flex-start}
.consent input{width:24px;height:24px;margin:0;accent-color:var(--violet);flex:0 0 auto}
.consent a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.form.sent::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;
     width:40px;height:40px;border-radius:var(--r-pill);background:var(--violet);color:#FFFFFF}
.news{flex-direction:column;gap:var(--s16);padding:0;background:none;border:none}
.news input{background:var(--field);border:1px solid var(--field-border);border-radius:var(--r-pill);
     padding:13px var(--s24);min-height:48px;color:var(--ink)}

/* ---------- FAQ ---------- */
.faq{padding:0;overflow:hidden}
.faq + .faq{margin-top:var(--s8)}
.faq summary{list-style:none;cursor:pointer;padding:var(--s24);display:flex;
     align-items:center;justify-content:space-between;gap:var(--s16);min-height:48px;
     font-size:var(--t-body);font-weight:var(--w500);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--muted);font-size:var(--t-sub);flex:0 0 auto}
.faq[open] summary::after{content:"\2013"}
.faq .a{padding:0 var(--s24) var(--s24);font-size:var(--t-sm);line-height:var(--lh-sm);color:var(--body)}

/* ---------- contactos ---------- */
.clist{gap:var(--s24);margin-top:var(--s40)}
.clist li{display:flex;flex-direction:column;gap:var(--s8)}
.clist b{font-weight:var(--w500);font-size:var(--t-badge);letter-spacing:var(--tr-badge);
         text-transform:uppercase;color:var(--muted)}
.clist a,.clist span{font-size:var(--t-body);color:var(--ink);min-height:24px;
                     display:inline-flex;align-items:center}
.clist a:hover{text-decoration:underline;text-underline-offset:3px}
.contact-panel .k{display:block;font-size:var(--t-badge);letter-spacing:var(--tr-badge);
     text-transform:uppercase;color:var(--muted);margin-bottom:var(--s8)}
.contact-panel .v{display:block;font-size:var(--t-body);color:var(--ink);margin-bottom:var(--s24)}
.wa{display:inline-flex;align-items:center;gap:var(--s8)}

/* ---------- página legal ---------- */
.legal-wrap{gap:var(--s40);align-items:start}
.legal-nav{display:flex;flex-wrap:wrap;gap:var(--s8)}
.legal-nav a{font-size:var(--t-cap);letter-spacing:var(--tr-cap);text-transform:uppercase;
     color:var(--ink);padding:10px var(--s16);min-height:40px;display:inline-flex;align-items:center;
     border-radius:var(--r-pill);border:1px solid var(--border-soft)}
.legal-nav a:hover{border-color:var(--ink)}
.legal-body{display:flex;flex-direction:column;gap:var(--s16)}
.legal-body .card{scroll-margin-top:96px}
.legal-body .card h2{font-size:var(--t-sub);line-height:1.2;margin-bottom:var(--s16)}
.legal-body .card p{color:var(--body)}

/* ---------- rodapé ---------- */
footer{background:var(--void);color:var(--fog);padding:var(--s80) 0 var(--s40);
       border-top:1px solid var(--border-soft)}
footer .logo{color:var(--white)}
.fgrid{display:grid;grid-template-columns:1fr;gap:var(--s40);margin-bottom:var(--s56)}
.fgrid .about{font-size:var(--t-sm);line-height:var(--lh-sm);color:var(--graphite);
              margin-top:var(--s24);max-width:40ch}
.fgrid .ftag{font-size:var(--t-cap);letter-spacing:var(--tr-badge);text-transform:uppercase;
             color:var(--fog);margin-top:var(--s16)}
.fcol{display:flex;flex-direction:column;gap:var(--s8)}
.fcol .fh{font-size:var(--t-sm);font-weight:var(--w500);color:var(--white);margin-bottom:var(--s8)}
.fcol a{font-size:var(--t-sm);color:var(--graphite);min-height:26px;display:inline-flex;
        align-items:center;transition:color .2s}
.fcol a:hover{color:var(--white)}
.fcol .soc{display:flex;gap:var(--s8);margin-top:var(--s24)}
.fcol .soc a,.fcol .soc span{display:inline-flex;width:32px;height:32px;align-items:center;
     justify-content:center;border-radius:var(--r-pill);border:1px solid var(--border-soft);
     color:var(--graphite)}
.fcol .soc span{opacity:.45}
.fcol .soc a:hover{border-color:var(--white);color:var(--white)}
.fcol .soc svg{width:14px;height:14px}
.fbot{display:flex;flex-wrap:wrap;gap:var(--s8) var(--s16);align-items:center;padding-top:var(--s24);
      border-top:1px solid var(--divider);font-size:var(--t-cap);letter-spacing:var(--tr-cap);
      color:var(--graphite)}
.fbot a{min-height:26px;display:inline-flex;align-items:center;color:var(--graphite)}
.fbot a:hover{color:var(--white)}
.fbot .sep{color:var(--graphite);opacity:.5}

/* ---------- revelação ---------- */
.no-js .reveal{opacity:1;transform:none}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* =========================== breakpoints =========================== */
@media(max-width:899px){
  :root{--t-hero:40px;--t-h1:34px;--t-h2:32px;--t-h3:24px;--gap:56px;--pad-card:20px}
  .hero{padding:var(--s56) 0 var(--s80)}
  .page-head{padding:var(--s56) 0 var(--s40)}
  .hero .lead{font-size:var(--t-body)}
  .burger{display:inline-flex}
  .menu .btn{display:none}
  .nav-cta{display:inline-flex;font-size:var(--t-sm);padding:10px var(--s16);min-height:40px}
  .menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
        background:var(--plate);border-bottom:1px solid var(--border-soft);
        padding:var(--s8) var(--s24) var(--s24);
        transform:translateY(-8px);opacity:0;visibility:hidden;pointer-events:none;
        transition:transform .3s var(--ease),opacity .2s,visibility 0s .3s}
  .menu.open{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
  .menu a{padding:16px var(--s8);font-size:var(--t-body);border-radius:0;
          border-bottom:1px solid var(--divider);color:var(--fog)}
  .menu a:last-child{border-bottom:none}
  .cta-band,.vault-band{padding:var(--s56) var(--s24)}
  .svc-btn{gap:var(--s16)}
}
@media(max-width:600px){
  .navbar{gap:var(--s8);padding:var(--s16)}
  .nav-cta{display:none}
  .menu .btn{display:inline-flex;justify-content:center;margin:var(--s24) 0 var(--s8);min-height:48px}
  .langs{gap:0}
  .logo{font-size:var(--t-body)}
}
@media(min-width:768px){
  .stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
  .grid2,.two,.others{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sectors,.scope-cards,.svc-index,.posts{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
  .steps,.grid4,.clist{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
  .principles{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
  .scope{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news{flex-direction:row}
  .news input{flex:1}
  .split{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sector-full{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--s40)}
  .fields .two{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1000px){
  .fgrid{grid-template-columns:1.6fr 1fr 1fr 1.2fr}
  .legal-wrap{grid-template-columns:220px minmax(0,1fr)}
  .legal-nav{flex-direction:column;position:sticky;top:96px}
}
