/* site-style.css - Alessandra Cury Martins Child. CSS extraido de site/index.html (etapa 7.7) + CSS do blog. */
/* Clone fiel de https://plumfix.framer.website/ (etapa 2, clone-template, 2026-09-30).
   Medidas a 1680x1050. Breakpoints do original: desktop >= 1440, tablet 768-1439 (com um ajuste
   em 768-1199), celular < 768. Fontes: Bebas Neue e Inter (Google, as mesmas do original);
   "Inter Display" (Framer) = Inter com eixo opsz 32; "General Sans" (Fontshare, so no copyright)
   -> Hanken Grotesk 400 (largura 1,001 medida na propria frase). */
:root{
  /* ETAPA 5 palette-mapper (Plumfix, 2026-09-30): base clara FRIA, verde da logo #00482D so como acento/marca,
     menta da matiz 158 (a mesma do Edura) nos marcadores sobre banda escura, zero cor quente, zero dourado.
     Afastamento do joao-douglas (mesmo Plumfix, bege #F5F1EC + verde #052216 + ouro #B18A4D) medido no relatorio. */
  --bg:#EDF3F1;              /* fundo da pagina, bandas claras. Era o bege #F5F1EC do template (matiz 33): virou claro frio, matiz 160 */
  --white:#FFFFFF;
  --surface:rgba(255,255,255,.7);   /* todos os cards (servico, diferencial, depoimento, FAQ) */
  --card-border:#FFFFFF;     /* borda interna de 1px (2px nos cards de diferencial) */
  --ink:#14201C;             /* TEXTO de titulo (grafite frio, matiz 160). Era #211D1D, que tambem pintava as bandas: papel de fundo foi para --ink-bg */
  --ink-bg:#012E24;          /* FUNDO escuro: hero, barra e painel do menu, botao escuro, base do rodape. = verde medido no fundo do par do hero (costura) */
  --ink-80:rgba(20,32,28,.8);/* texto de apoio */
  --ink-20:rgba(20,32,28,.2);/* borda de botao claro/verde */
  --black:#14201C;           /* H3 de card, nomes, perguntas do FAQ, texto do botao branco (era #000000) */
  --black-80:rgba(20,32,28,.8); /* linha "24/7" do card do hero */
  --num:#14201C;             /* numero "450+" do card do hero */
  --accent:#00482D;          /* verde da logo: palavra destacada e ponto do chip sobre claro, botao principal, icones, banda do CTA. Era o vermelho #F7413E */
  --accent-on-dark:#47D19F;  /* menta (matiz 158, do Edura): ponto do chip, borda de botao, burger e filete do menu SOBRE banda escura */
  --accent-soft:#B3E6D3;     /* menta clara (matiz 158, do Edura): palavra destacada de H1/H2 SOBRE banda escura */
  --chip-dark:rgba(20,32,28,.05);
  --chip-dark-bd:rgba(20,32,28,.2);
  --chip-light:rgba(255,255,255,.05);
  --chip-light-bd:rgba(255,255,255,.5);
  --white-80:rgba(255,255,255,.8);  /* links do rodape */
  --nav-mobile:#012E24;      /* barra fixa e painel do menu (tablet e celular) = --ink-bg, continua o topo do hero */
  --footer-grad:linear-gradient(0deg,#012E24 0%,#013A28 35%,#00482D 100%); /* topo no verde do CTA, base no --ink-bg. O #3A1111 (vinho) saiu */
  --cta-overlay:linear-gradient(243deg,rgba(255,255,255,.05) 0%,rgba(1,46,36,0) 17.7154%,rgba(1,46,36,.61) 49.1379%,rgba(1,46,36,.8) 100%);

  --container:1280px;
  --container-footer:1300px;
  --pad-x:30px;
  --sec-y:60px;

  /* ETAPA 5b font-mapper (Plumfix, 2026-09-30): cliente sem fonte de marca, tipografia do template mantida (G-22).
     Nomes canonicos --font-headings/--font-body; --font-head fica como alias do template. General Sans
     (Fontshare, proprietaria) saiu da pilha do copyright; Inter 600 saiu do <link> (nenhum texto usa). */
  --font-headings:"Bebas Neue",Inter,system-ui,sans-serif;
  --font-head:var(--font-headings);
  --font-body:"Inter",system-ui,-apple-system,sans-serif;
  --font-copy:"Hanken Grotesk",system-ui,-apple-system,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--black);font-family:var(--font-body);font-optical-sizing:none;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{list-style:none}
h1,h2,h3,h4,p{font-weight:inherit;text-wrap:balance}
.nowrap{white-space:nowrap}
.hl{color:var(--accent)}

/* ---------- utilitarios ---------- */
.band{position:relative;width:100%;padding:var(--sec-y) var(--pad-x);background:var(--bg)}
.band--clear{background:transparent}
.container{width:100%;max-width:var(--container);margin:0 auto;position:relative}
.bd{position:relative}
.bd::after{content:"";position:absolute;inset:0;border:var(--bdw,1px) solid var(--bd,#fff);border-radius:inherit;pointer-events:none}

.p16{font:400 16px/20.8px var(--font-body);letter-spacing:-.48px}
.p16m{font:500 16px/20.8px var(--font-body);letter-spacing:-.48px}
.p18m{font:500 18px/23.4px var(--font-body);letter-spacing:-.54px}
.h2{font:400 48px/48px var(--font-head);color:var(--ink)}
.h3{font:400 32px/38.4px var(--font-head);color:var(--black)}

.chip{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:90px;background:var(--chip-dark);--bd:var(--chip-dark-bd);color:var(--ink);font:500 16px/20.8px var(--font-body);letter-spacing:-.48px;white-space:nowrap;align-self:flex-start}
.chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}
.chip--light{background:var(--chip-light);--bd:var(--chip-light-bd);color:var(--white)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:40px;font:500 16px/20.8px var(--font-body);letter-spacing:-.48px;white-space:nowrap;transition:transform .25s ease}
.btn svg{width:20px;height:20px;flex:none}
.btn--white{background:var(--white);color:var(--black);--bd:var(--ink-20)}
.btn--outline{background:transparent;color:var(--white);--bd:var(--accent-on-dark)}
.btn--red{background:var(--accent);color:var(--white);--bd:var(--ink-20)}
.btn--dark{background:var(--ink-bg);color:var(--white);--bd:var(--accent-on-dark)}
.btn:hover{transform:translateY(-2px)}

.sh{display:flex;justify-content:space-between;align-items:flex-end;width:100%}
.sh__title{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:var(--tw,330px)}
.sh__desc{width:var(--dw,394px);color:var(--black)}

/* G-35: o estado invisivel so existe atras de html.js (etapa 3) */
.reveal{transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
html.js .reveal{opacity:0;transform:translateY(24px)}
html.js .reveal.visible{opacity:1;transform:none}

/* ---------- header ---------- */
.header{position:absolute;top:24px;left:0;right:0;z-index:10;padding:0 var(--pad-x)}
.header__in{max-width:var(--container);margin:0 auto;display:flex;justify-content:space-between;align-items:center;height:49px}
.header__logo{display:block;width:140px;height:39px}
.header__logo img{width:100%;height:100%;object-fit:contain}
.nav{display:flex;align-items:flex-end;gap:24px}
.nav a{display:flex;flex-direction:column;gap:4px;padding-bottom:1px;color:var(--white);font:500 18px/23.4px var(--font-body);letter-spacing:-.54px;overflow:hidden}
.nav a::after{content:"";width:3px;height:1px;background:currentColor;opacity:0;transition:width .3s,opacity .3s}
.nav a:hover::after{width:100%;opacity:1}
.nav-toggle,.mnav{display:none}

/* ---------- hero ---------- */
.hero{position:relative;height:100vh;min-height:0;padding:248px var(--pad-x) 0;background:var(--ink-bg);overflow:clip;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.hero__container{width:100%;max-width:var(--container);position:relative}
.hero__content{position:relative;display:flex;justify-content:space-between;align-items:flex-end;padding-top:70px}
.hero__ghost{position:absolute;top:0;left:50%;transform:translateX(-50%);opacity:.2;z-index:1;pointer-events:none;white-space:nowrap;font:400 455px/364px var(--font-head);text-align:center;color:var(--black)}
.ghost-grad{display:inline-block;padding:113.75px;margin:-113.75px;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.hero__ghost .ghost-grad{background-image:linear-gradient(0deg,rgba(1,46,36,0) 18.9189%,rgba(103,102,102,.15) 34.0172%,rgba(148,148,148,.33) 44.9201%,rgba(179,179,179,.49) 56.7568%,rgba(202,202,202,.62) 64.4144%,#FFFFFF 78%)}
.hero__circle{position:absolute;top:0;left:76%;transform:translateX(-50%);width:37%;aspect-ratio:1;border-radius:50%;background:var(--accent);opacity:.5;filter:blur(100px);z-index:0}
.hero__text{position:relative;z-index:1;width:666px;display:flex;flex-direction:column;align-items:flex-start;gap:48px;padding-bottom:80px}
.hero__tt{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.hero h1{max-width:610px;font:400 100px/100px var(--font-head);letter-spacing:-3px;color:var(--white)}
.hero__btns{display:flex;gap:24px}
.hero__img{position:relative;z-index:1;width:614px;aspect-ratio:1;flex:none;overflow:clip}
.hero__img img{width:100%;height:100%;object-fit:cover}
.happy{position:absolute;right:-40px;bottom:40px;z-index:1;width:304px;padding:24px;border-radius:16px;background:var(--bg);display:flex;flex-direction:column;gap:16px}
.happy__num{font:500 44px/50.6px var(--font-body);letter-spacing:-1.628px;color:var(--num);font-feature-settings:"tnum"}
.happy__nums{display:flex;flex-direction:column;gap:8px}
.happy__l1{color:var(--black)}
.happy__l2{color:var(--black-80)}
.happy__av{display:flex;align-items:center;gap:12px}
.happy__av img{width:105px;height:42px;object-fit:cover}
.happy__av span{font:600 14px/16.8px var(--font-body);color:var(--black)}

/* ---------- marca (ticker) ---------- */
.brand{padding:60px var(--pad-x)}
.brand .container{display:flex;flex-direction:column;align-items:center;gap:24px;overflow:clip}
.brand__t{font:500 20px/26px var(--font-body);color:var(--black);text-align:center}
.ticker{width:100%;overflow:clip}
.ticker__track{display:flex;align-items:center;gap:24px;width:max-content;animation:tick 32s linear infinite}
.ticker__track img{height:30px;width:auto;flex:none}
@keyframes tick{to{transform:translateX(calc(-50% - 12px))}}

/* ---------- sobre ---------- */
.about__row{display:flex;align-items:center;gap:64px}
.about__left{flex:1;min-width:0;display:flex;flex-direction:column;gap:100px}
.about__tt{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.about__text{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.about__text .h2{max-width:628px}
.counters{display:flex;justify-content:space-between}
.counter{flex:1;display:flex;flex-direction:column;gap:8px}
.counter__n{font:500 44px/57.2px var(--font-body);font-variation-settings:"opsz" 32;letter-spacing:-1.76px;color:var(--black);font-feature-settings:"tnum";text-wrap:wrap}
.counter p{color:var(--ink-80)}
.about__img{width:520px;height:560px;flex:none;border-radius:20px;overflow:clip}
.about__img img{width:100%;height:100%;object-fit:cover}

/* ---------- servicos ---------- */
.stack64{display:flex;flex-direction:column;gap:64px}
.svc-head .sh__desc{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.svc{display:flex;flex-direction:column;gap:24px;border-radius:16px;background:var(--surface);--bd:var(--card-border);overflow:clip}
.svc__img{position:relative;height:280px;border-radius:16px 16px 0 0;overflow:clip}
.svc__img img{position:absolute;inset:0}
.svc__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.svc:hover .svc__img img{transform:scale(1.04)}
.svc__body{display:flex;flex-direction:column;align-items:flex-start;gap:80px;padding:12px 20px 20px}
.svc__tw{position:relative;display:flex;flex-direction:column;gap:16px;padding-top:24px;width:100%}
.svc__tw::before{content:"";position:absolute;top:0;left:0;width:20px;height:1px;background:var(--ink);transition:width .4s ease}
.svc:hover .svc__tw::before{width:100%}
.svc__tw .h3{text-wrap:wrap}
.svc__tw p{font-weight:500;color:var(--ink-80)}
.svc__go{display:flex;align-items:center;gap:10px;color:var(--ink)}
.svc__go svg{width:24px;height:24px}

/* ---------- por que nos (cards empilhados) ---------- */
.why__row{display:flex;align-items:flex-start;gap:64px}
.why__left{position:sticky;top:60px;z-index:1;width:500px;flex:none;display:flex;flex-direction:column;gap:24px}
.why__left .sh__title{--tw:500px}
.why__cards{flex:1;min-width:0;display:flex;flex-direction:column;gap:24px}
.wcard{position:sticky;top:40px;height:298px;overflow:clip}
.wcard:nth-child(1){z-index:1}.wcard:nth-child(2){z-index:2}.wcard:nth-child(3){z-index:3}.wcard:nth-child(4){z-index:4;position:relative;top:auto}
.wcard__in{height:100%;display:flex;justify-content:space-between;align-items:center;padding:24px;border-radius:16px;background:var(--surface);--bd:var(--card-border);--bdw:2px;overflow:clip;transform-origin:50% 50%;will-change:transform,opacity}
.wcard__tw{width:334px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:100px}
.wcard__icon{width:34px;height:34px}
.wcard__td{display:flex;flex-direction:column;gap:16px}
.wcard__td p{color:var(--ink-80)}
.wcard__img{width:334px;height:250px;flex:none;border-radius:16px;overflow:clip}
.wcard__img img{width:100%;height:100%;object-fit:cover}

/* ---------- depoimentos ---------- */
.tst-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:24px}
.tst{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:32px;padding:24px;border-radius:16px;background:var(--surface);--bd:var(--card-border);overflow:clip}
.tst__st{display:flex;flex-direction:column;gap:16px}
.tst__q{color:var(--ink)}
.tst__who{display:flex;align-items:center;gap:12px;width:100%}
.tst__who img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.tst__nm{flex:1;display:flex;flex-direction:column;gap:4px}
.tst__nm .p18m{color:var(--black);text-wrap:wrap}
.tst__nm .p16{color:var(--ink-80);text-wrap:wrap}

/* ---------- galeria ---------- */
.gal{display:flex;gap:24px;height:634px;border-radius:8px;overflow:clip}
.gal__big{width:600px;flex:none}
.gal__cols{flex:1;display:flex;gap:24px}
.gal__col{flex:1;display:flex;flex-direction:column;gap:24px}
.gal__col--a .gal__im:first-child,.gal__col--b .gal__im:last-child{height:375px}
.gal__col--a .gal__im:last-child,.gal__col--b .gal__im:first-child{height:235px}
.gal__im{position:relative;border-radius:16px;overflow:clip;flex:none}
.gal__im img{position:absolute;inset:0}
.gal__big.gal__im{height:100%}
.gal__im img{width:100%;height:100%;object-fit:cover}

/* ---------- equipe (slider) ---------- */
.team .stack64{align-items:center}
.slider{position:relative;width:100%;padding-bottom:110px}
.slider__vp{overflow:hidden;height:410px}
.slider__track{display:flex;gap:24px;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.member{width:302px;flex:none;display:flex;flex-direction:column;gap:12px}
.member__img{width:300px;height:350px;border-radius:16px;overflow:hidden}
.member__img img{width:100%;height:100%;object-fit:cover;object-position:50% 0%}
.member__row{width:300px;display:flex;justify-content:space-between;align-items:center}
.member__nm{flex:1;display:flex;flex-direction:column;gap:4px}
.member__nm .p18m{color:var(--black);text-wrap:wrap}
.member__nm .p16{color:var(--ink-80);text-wrap:wrap}
.member__x{width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;padding:6px;border-radius:8px;background:var(--black);color:var(--white)}
.member__x svg{width:24px;height:24px}
.slider__nav{position:absolute;left:0;right:0;top:442px;display:flex;justify-content:center;gap:16px}
.slider__nav button{width:54px;height:54px;border-radius:27px;overflow:hidden}
.slider__nav img{width:54px;height:54px}

/* ---------- FAQ ---------- */
.faq{padding-bottom:120px}
.faq__row{display:flex;align-items:flex-start;gap:64px}
.faq__left{width:500px;flex:none;display:flex;flex-direction:column;gap:24px}
.faq__left .sh__title{--tw:500px}
.faq__list{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}
.faq-item{border-radius:16px;background:var(--surface);--bd:var(--card-border);padding:24px;overflow:hidden;cursor:pointer}
.faq-item__q{display:flex;align-items:center;gap:20px;width:100%;text-align:left}
.faq-item__q .p18m{flex:1;color:var(--black)}
.faq-ico{position:relative;width:24px;height:24px;flex:none;border-radius:100px}
.faq-ico::before,.faq-ico::after{content:"";position:absolute;left:11px;top:6px;width:2px;height:12px;background:var(--black);transition:transform .3s ease}
.faq-ico::before{transform:rotate(-90deg)}
.faq-item.is-open .faq-ico::after{transform:rotate(90deg)}
.faq-item__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease,margin .35s ease}
.faq-item__a > div{overflow:hidden}
.faq-item__a p{color:var(--ink)}
.faq-item.is-open .faq-item__a{grid-template-rows:1fr;margin-top:8px}

/* ---------- CTA ---------- */
.cta{position:relative;z-index:4;padding:var(--sec-y) var(--pad-x);overflow:clip;display:flex;justify-content:center;align-items:center}
.cta__bg{position:absolute;inset:0;z-index:0}
.cta__bg img{width:100%;height:100%;object-fit:cover}
.cta__bg img.cta__t,.cta__bg img.cta__m{display:none}
.cta__ov{position:absolute;inset:0;z-index:1;background:var(--cta-overlay)}
.cta .container{z-index:2;padding:180px 0;display:flex;flex-direction:column;align-items:center;gap:40px}
.cta__td{width:538px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.cta .h2{color:var(--white)}
.cta p{color:var(--white)}
.cta__btns{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}

/* ---------- rodape ---------- */
.footer{position:relative;padding:80px 40px 20px;background:var(--ink-bg);overflow:clip}
.footer__grad{position:absolute;inset:0;z-index:0;background:var(--footer-grad)}
.footer__in{position:relative;max-width:var(--container-footer);margin:0 auto;display:flex;flex-direction:column;gap:80px}
.footer__top{display:flex;justify-content:center;align-items:flex-start;gap:270px}
.footer__about{width:351px;flex:none;display:flex;flex-direction:column;gap:30px}
.footer__about img{width:140px;height:39px;object-fit:cover}
.footer__about p{font:500 20px/26px var(--font-body);color:var(--white)}
.footer__menus{flex:1;display:flex;justify-content:space-between;align-items:flex-start}
.fcol{display:flex;flex-direction:column;gap:24px}
.fcol h4{font:400 24px/24px var(--font-head);letter-spacing:.72px;color:var(--white);white-space:nowrap}
.fcol ul{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.fcol a{color:var(--white-80);font:500 16px/20.8px var(--font-body);letter-spacing:-.48px;display:inline-flex;align-items:center;gap:8px}
.fcol--contact{width:280px}
.fcol--pages{align-items:center}
.fcol--pages ul{align-items:flex-start}
.fcol--pages li a{padding-bottom:5px}
.fcol--social svg{width:18px;height:18px}
.footer__menu{width:399px;display:flex;justify-content:space-between;align-items:flex-start}
.footer__ghost{container-type:inline-size;display:flex;justify-content:center;overflow:clip}
.footer__ghost p{font:400 35.08cqw/0.8 var(--font-head);color:var(--ink-bg);text-align:center;white-space:nowrap;text-wrap:nowrap}
.footer__ghost .ghost-grad{padding:.25em;margin:-.25em;background-image:linear-gradient(0deg,#012E24 13%,rgba(1,72,45,.04) 24%,rgba(150,178,168,.33) 44%,rgba(200,225,216,.62) 65%,rgba(255,255,255,.7) 90%)}
.footer__copy{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0 10px}
.footer__copy > p{flex:1 0 0;min-width:0;font:400 16px/27.2px var(--font-copy);color:var(--white);text-wrap:wrap}
.footer__legal{display:flex;gap:16px}
.footer__legal a{color:var(--white-80);font:500 16px/20.8px var(--font-body);letter-spacing:-.48px;padding-bottom:5px;white-space:nowrap}

/* =================== TABLET 768-1439 =================== */
@media (max-width:1439.98px){
  :root{--sec-y:40px}
  .header{position:fixed;top:0;padding:0;background:var(--nav-mobile)}
  .header__in{max-width:none;height:64px;padding:12px}
  .header__logo{width:120px;height:33px}
  .nav,.header .btn{display:none}
  .nav-toggle{display:block;position:relative;width:40px;height:40px;border-radius:5px;background:var(--accent-on-dark)}
  .nav-toggle i{position:absolute;left:10px;width:20px;height:2px;border-radius:10px;background:var(--ink-bg);transition:transform .3s ease,top .3s ease}
  .nav-toggle i:nth-child(1){top:14px}
  .nav-toggle i:nth-child(2){top:24px}
  .header.is-open .nav-toggle i{top:19px}
  .header.is-open .nav-toggle i:nth-child(1){transform:rotate(45deg)}
  .header.is-open .nav-toggle i:nth-child(2){transform:rotate(-45deg)}
  .mnav{position:fixed;top:64px;left:0;right:0;height:calc(100vh - 64px);background:var(--nav-mobile);border-top:1px solid var(--accent-on-dark);padding:24px 0 0 24px;flex-direction:column;align-items:flex-start;gap:24px;z-index:9}
  .header.is-open + .mnav{display:flex}
  .mnav a{color:var(--white);font:500 18px/23.4px var(--font-body);letter-spacing:-.54px;padding-bottom:6px}

  .hero{height:auto;padding:130px var(--pad-x) 0}
  .hero__content{padding-top:170px}
  .hero__ghost{font-size:280px;line-height:224px}
  .hero__ghost .ghost-grad{padding:70px;margin:-70px}
  .hero__circle{top:61px;left:auto;right:0;transform:none;width:37%}
  .hero__text{width:44%;gap:32px;padding-bottom:60px}
  .hero h1{font-size:64px;line-height:64px;letter-spacing:-1.92px;max-width:none}
  .hero__img{width:56%;z-index:0}
  .happy{right:20px;bottom:20px;width:182px;padding:20px;gap:16px}
  .happy__av{display:none}

  .brand{padding:40px var(--pad-x)}
  .about__row{gap:24px}
  .about__left{gap:80px}
  .about .h2{font-size:36px;line-height:36px;max-width:none}
  .about__img{width:41%;height:auto;aspect-ratio:395/426}

  .h2{font-size:36px;line-height:36px}
  .h3{font-size:28px;line-height:33.6px}
  .stack64{gap:50px}
  .sh{align-items:flex-end}
  .sh__title{flex:0 0 60%;width:auto}
  .sh__desc{width:40%}
  .svc-head{align-items:flex-start}
  .svc-head .sh__title{flex:1}
  .svc-head .sh__desc{width:min(394px,50%)}
  .team .sh__desc{max-width:325px}
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc__img{height:auto;aspect-ratio:470/336}
  .svc__body{padding:0 16px 20px;gap:24px}

  .why__row{flex-direction:column;gap:50px}
  .why__left{width:500px}
  .why__cards{width:88.7%;flex:none}
  .wcard__tw{width:auto;flex:1}
  .wcard__img{width:347px}

  .tst-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  .gal{flex-direction:column;align-items:center;height:auto}
  .gal__big{width:600px;height:339px;flex:none}
  .gal__big.gal__im{height:339px}
  .gal__cols{width:100%;flex-direction:column}
  .gal__col{flex-direction:row}
  .gal__col .gal__im{flex:1;height:auto!important;aspect-ratio:470/412}

  .slider__vp{height:410px}
  .member{width:calc((100% - 24px)/2)}

  .faq{padding-bottom:80px}
  .faq__row{gap:24px}
  .faq__left{width:auto;flex:1}
  .faq__left .sh__title{--tw:auto;width:100%}
  .faq__list{flex:1}

  .cta .container{padding:120px 0}
  .cta__td .h2{width:323px}
  .cta__bg img.cta__d{display:none}
  .cta__bg img.cta__t{display:block}

  .footer__in{gap:60px}
  .footer__top{flex-direction:column;align-items:stretch;gap:60px}
  .footer__about{width:auto}
  .footer__about p{width:351px}
  .fcol h4{font-size:22px;line-height:22px;letter-spacing:.66px}
  .footer__menu{flex:1;width:auto}
  .footer__menus{gap:0}
  .fcol--contact{flex:none}
  .footer__ghost p{font-size:38.29cqw}
}
@media (min-width:768px) and (max-width:1199.98px){
  .svc-head .sh__title{flex:0 0 50%}
  .svc-head .sh__desc{width:50%}
  .faq__left{flex:0 0 calc((100% - 24px)/2)}
}

/* =================== CELULAR < 768 =================== */
@media (max-width:767.98px){
  :root{--sec-y:30px;--pad-x:20px}
  .hero{padding:100px var(--pad-x) 0}
  .hero__content{flex-direction:column;align-items:center;justify-content:center;gap:24px;padding-top:80px}
  .hero__ghost{font-size:126px;line-height:100.8px}
  .hero__ghost .ghost-grad{padding:31.5px;margin:-31.5px}
  .hero__circle{top:145px;left:50%;right:auto;width:50%}
  .hero__text{width:100%;gap:24px;padding-bottom:0}
  .hero h1{font-size:52px;line-height:52px;letter-spacing:-1.56px}
  .hero__btns{flex-direction:column;gap:16px;width:250px}
  .hero__btns .btn{width:100%}
  .hero__img{width:100%;aspect-ratio:350/340;z-index:1}
  .happy{display:none}

  .brand{padding:30px var(--pad-x)}
  .ticker{height:192px}
  .ticker__track{flex-direction:column;width:auto;animation:tickv 24s linear infinite}
  @keyframes tickv{to{transform:translateY(calc(-50% - 12px))}}

  .about__row{flex-direction:column;gap:40px;align-items:stretch}
  .about__left{gap:40px}
  .about .h2{font-size:32px;line-height:32px}
  .counters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .about__img{width:100%;aspect-ratio:350/377;border-radius:16px}

  .h2{font-size:32px;line-height:32px}
  .h3{font-size:24px;line-height:28.8px}
  .stack64{gap:40px}
  .sh{flex-direction:column;align-items:flex-start;gap:24px}
  .sh__title,.svc-head .sh__title{flex:none;width:100%}
  .sh__desc,.svc-head .sh__desc{width:100%}
  .team .sh__desc{max-width:325px}
  .svc-grid,.tst-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}
  .svc__tw p{max-width:250px}
  .svc__img{aspect-ratio:auto;height:250px}

  .why__row{gap:40px}
  .why__left{position:relative;top:auto;width:100%}
  .why__left .sh__title{--tw:100%}
  .why__cards{width:100%}
  .wcard{position:relative;top:auto;height:auto}
  .wcard__in{flex-direction:column;align-items:flex-start;gap:24px;padding:20px;transform:none!important;opacity:1!important}
  .wcard__tw{gap:32px}
  .wcard__img{width:100%;height:180px}

  .gal{gap:16px}
  .gal__big.gal__im,.gal__big{width:100%;height:220px}
  .gal__cols,.gal__col{flex-direction:column;gap:16px}
  .gal__col .gal__im{flex:none;width:100%;height:220px!important;aspect-ratio:auto}

  .slider{padding-bottom:0}
  .slider__vp{height:auto;overflow:visible}
  .slider__track{flex-direction:column;transform:none!important}
  .member{width:100%}
  .member__img{width:100%;height:350px}
  .member__row{width:100%}
  .slider__nav{display:none}

  .faq{padding-bottom:60px}
  .faq__row{flex-direction:column;gap:40px}
  .faq__left{width:100%;flex:none}
  .faq__list{width:100%}

  .cta .container{padding:50px 0;gap:32px}
  .cta__td{width:100%;gap:24px}
  .cta__td .h2{width:100%}
  .cta__bg img.cta__t{display:none}
  .cta__bg img.cta__m{display:block;object-position:44.1% 50.6%}

  .footer{padding:48px 20px 20px}
  .footer__in{gap:40px}
  .footer__top{gap:32px}
  .footer__about{gap:16px}
  .footer__about p{width:auto}
  .footer__menus{flex-direction:column;gap:24px}
  .footer__menu{width:100%;max-width:none}
}
@media (prefers-reduced-motion:reduce){.ticker__track{animation:none}html.js .reveal{opacity:1;transform:none}}

/* =====================================================================
   ETAPA 3 site-personalizer (2026-09-30), Loretti & Martins Advocacia.
   Tudo acima e o CSS do PlumFix clonado (G-22), com uma unica mudanca: o estado
   invisivel do .reveal so existe atras de html.js (G-35). Abaixo, so o necessario para:
   hero canonico G-21 (pipeline/hero-canonico.md, scrim no --ink-bg #012E24 desde a etapa 5),
   wordmark em texto no lugar do logo SVG do PlumFix, e as secoes da cliente montadas
   com as classes do proprio template (doadoras registradas em cada bloco).
   Paleta e fontes do template intocadas (etapas 5 e 5b).
   ===================================================================== */

/* ---------- wordmark (logo SVG do PlumFix saiu; logo da cliente so em PNG 342px) ---------- */
.header__logo{width:auto;height:auto;display:flex;align-items:center}
.wordmark{display:block;font:400 30px/1 var(--font-head);letter-spacing:.04em;color:var(--white);white-space:nowrap}
.footer__about .wordmark{font-size:40px}
@media (max-width:1439.98px){ .header__logo .wordmark{font-size:26px} }
.mnav a.btn--white{color:var(--black);padding:14px 20px;margin-top:8px}
.mnav__meta{max-width:320px;padding-right:24px;color:rgba(255,255,255,.6);font:400 14px/20px var(--font-body)}

/* ---------- HERO canonico full-bleed (G-21; pipeline/hero-canonico.md) ----------
   Scrim na cor --ink-bg (1,46,36; etapa 5, era 33,29,29). Termo-chave da H1 em --accent-soft (menta).
   Fonte da H1 = Bebas Neue do template, tamanhos na tabela canonica (tipografia-canonica.md). */
.hero.hero--fullbleed{height:auto;min-height:724px;padding:0 var(--pad-x);display:flex;flex-direction:row;align-items:center;justify-content:flex-start;background:var(--ink-bg);overflow:clip}
.hero.hero--fullbleed picture{display:contents}
.hero.hero--fullbleed .hero-bgphoto{position:absolute !important;inset:0;width:100% !important;height:100% !important;max-width:none !important;object-fit:cover !important;object-position:70% center !important;z-index:0;display:block !important}
.hero.hero--fullbleed::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(0,72,45,.95) 0%,rgba(0,72,45,.84) 26%,rgba(0,72,45,.52) 48%,rgba(0,72,45,.12) 68%,rgba(0,72,45,.30) 100%)}
.hero.hero--fullbleed .hero-inner{position:relative;z-index:2;width:100%;max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:minmax(0,640px);justify-content:start;padding-top:84px;padding-bottom:96px}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start}
.hero.hero--fullbleed .chip{margin-bottom:24px}
.hero.hero--fullbleed h1{max-width:640px;font:400 64px/1.05 var(--font-head);letter-spacing:-.01em;color:#FFFFFB;text-wrap:wrap;text-wrap:pretty}
.hero.hero--fullbleed h1 b{font-weight:inherit;color:var(--accent-soft)}
.hero-lead{margin-top:20px;max-width:560px;font:400 18px/26px var(--font-body);letter-spacing:-.36px;color:rgba(255,255,251,.85);text-wrap:pretty}
.hero-cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:36px}
@media (min-width:1920px){ .hero.hero--fullbleed h1{font-size:70px} }
@media (max-width:1439.98px){
  .hero.hero--fullbleed{margin-top:64px;min-height:640px}   /* barra fixa de 64px do template */
  .hero.hero--fullbleed .hero-bgphoto{object-position:74% center !important}
  .hero.hero--fullbleed h1{font-size:58px}
}
@media (min-width:769px) and (max-width:1200px){
  .hero.hero--fullbleed .hero-inner{grid-template-columns:minmax(0,min(640px,calc(60vw - 24px)))}
}
@media (min-width:769px) and (max-width:1024px){ .hero.hero--fullbleed h1{font-size:46px} }
@media (max-width:768px){
  .hero.hero--fullbleed{display:block;min-height:auto;padding:0}
  .hero.hero--fullbleed::before{display:none}
  .hero.hero--fullbleed picture{display:block;line-height:0;position:relative;margin:0}
  .hero.hero--fullbleed picture::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;pointer-events:none;background:linear-gradient(180deg,rgba(0,72,45,0) 0%,rgba(0,72,45,.45) 45%,rgba(0,72,45,.85) 76%,var(--ink-bg) 100%)}
  .hero.hero--fullbleed .hero-bgphoto{position:static !important;width:100% !important;height:auto !important;aspect-ratio:10/11;max-height:max(400px,64vh) !important;object-fit:cover !important;object-position:center top !important}
  .hero.hero--fullbleed .hero-inner{position:relative;padding:0 22px 52px;margin-top:-96px;grid-template-columns:1fr}
  .hero-copy{align-items:center;text-align:center}
  .hero.hero--fullbleed .chip{align-self:center;margin-bottom:16px}
  .hero.hero--fullbleed h1{font-size:40px;line-height:1.08}
  .hero-lead{font-size:16px;line-height:24px}
  .hero-cta{justify-content:center;margin-top:28px}
}
@media (max-width:640px){ .hero-cta{flex-direction:column;width:100%;gap:12px} .hero-cta .btn{width:100%} }
/* CTAs na primeira tela do celular (headline_gate): H1 no alvo canonico do mobile (32-36) e respiros menores */
@media (max-width:420px){
  .hero.hero--fullbleed h1{font-size:36px}
  .hero.hero--fullbleed .hero-inner{margin-top:-104px;padding-bottom:44px}
  .hero-lead{margin-top:14px;font-size:15px;line-height:22px}
  .hero-cta{margin-top:20px;gap:10px}
}
@media (max-width:380px){ .hero.hero--fullbleed h1{font-size:33px} }

/* ---------- faixa de cidades (doadora: ticker de logos do template, com o .chip dele) ---------- */
.ticker__track .chip{flex:none;align-self:center}

/* ---------- SOBRE (about__row nativo): contadores viram 1 contador + citacao ---------- */
.about .about__left{gap:56px}
.about__text .p16{max-width:628px;color:var(--ink-80)}
.about__facts{display:flex;align-items:flex-start;gap:40px}
.about__facts .counter{flex:0 0 170px}
.about__quote{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px;padding-left:40px;border-left:1px solid var(--ink-20)}
.about__quote > p{color:var(--ink)}
.about__sign{display:flex;flex-direction:column;gap:2px}
.about__sign .p16{color:var(--ink-80)}
.about__img img{width:100% !important;height:100% !important;max-width:none !important;object-fit:cover}
@media (max-width:767.98px){
  .about__facts{flex-direction:column;gap:24px}
  .about__facts .counter{flex:none}
  .about__quote{padding-left:0;padding-top:24px;border-left:0;border-top:1px solid var(--ink-20)}
}

/* ---------- SITUACOES (doadoras: casca do card de depoimento .tst + foto do card .svc) ---------- */
.tst-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sit{justify-content:flex-start;gap:20px;padding:12px 12px 24px}
.sit__img{width:100%;aspect-ratio:3/2;border-radius:12px;overflow:clip}
.sit__img img{width:100% !important;height:100% !important;max-width:none !important;object-fit:cover;transition:transform .6s ease}
.sit:hover .sit__img img{transform:scale(1.04)}
.sit__txt{display:flex;flex-direction:column;gap:12px;padding:0 12px}
.sit__txt .h3{text-wrap:balance}
.sit__txt p{color:var(--ink-80)}
.sec-cta{display:flex;justify-content:center}
@media (max-width:1439.98px){ .tst-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:767.98px){ .tst-grid--4{grid-template-columns:minmax(0,1fr)} }

/* ---------- AREAS (card .svc nativo; as frentes entram como lista de links) ---------- */
.svc--area .svc__body{gap:24px;flex:1}
.svc--area .svc__tw .h3 a{color:inherit}
.svc--area .svc__tw p{max-width:none}
.svc__lab{font:500 14px/18px var(--font-body);letter-spacing:.02em;text-transform:uppercase;color:var(--ink-80)}
.svc__list{width:100%;display:flex;flex-direction:column;border-top:1px solid var(--ink-20)}
.svc__list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--ink-20);font:500 16px/20.8px var(--font-body);letter-spacing:-.48px;color:var(--ink);transition:color .25s ease,padding .25s ease}
.svc__list a:hover{color:var(--accent);padding-left:4px}
.svc__list svg{width:18px;height:18px;flex:none}
.svc--area .svc__go{margin-top:auto}
.svc__img img{max-width:none !important}
@media (max-width:1439.98px){ .services .svc-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:1023.98px){ .services .svc-grid{grid-template-columns:minmax(0,1fr)} }

/* ---------- PONTE trabalhista x INSS (doadora: Sobre .about__row, espelhado; contadores viram 3 blocos) ---------- */
.about__row--rev{flex-direction:row-reverse}
.ponte__list{display:flex;flex-direction:column;gap:24px}
.ponte__it{position:relative;display:flex;flex-direction:column;gap:10px;padding-top:20px}
.ponte__it::before{content:"";position:absolute;top:0;left:0;width:20px;height:1px;background:var(--ink)}
.ponte__it p{color:var(--ink-80)}
.ponte .about__left{gap:48px}
@media (max-width:767.98px){ .about__row--rev{flex-direction:column} }

/* ---------- EQUIPE (card .member nativo; 2 socios em grade fixa, sem slider e sem setas) ---------- */
.team-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.member--wide{width:auto;gap:16px}
.member--wide .member__img{width:100%;height:460px}
.member--wide .member__img img{width:100% !important;height:100% !important;max-width:none !important;object-fit:cover}
.member--wide .member__row{width:100%}
.member__bio{color:var(--ink-80);max-width:560px}
@media (max-width:767.98px){ .team-grid{grid-template-columns:minmax(0,1fr)} .member--wide .member__img{height:380px} }

/* ---------- DIFERENCIAIS (cards empilhados nativos): icone PNG vermelho do PlumFix -> SVG inline ---------- */
.wcard__icon{color:var(--accent)}
.wcard__icon svg{width:34px;height:34px;display:block}
.wcard__img img{max-width:none !important}
/* copy da cliente mais longa que a do PlumFix: o card segue com 298px (as constantes 525/295 do stack() dependem
   dela), a coluna de texto ganha largura e o respiro icone-titulo cai de 100 para 28 */
@media (min-width:768px){ .why .wcard__tw{flex:1;min-width:0;width:auto;gap:28px;padding-right:20px} .why .wcard__img{width:300px} }

/* ---------- PROCESSO (doadoras: contador do Sobre + casca .tst) ---------- */
.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.step{justify-content:flex-start;gap:40px}
.step .counter__n{color:var(--accent)}
.step__td{display:flex;flex-direction:column;gap:12px}
.step__td p{color:var(--ink-80)}
.docs{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:40px;align-items:start;margin-top:24px}
.docs__head{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.docs__head .p16{color:var(--ink-80)}
.docs__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.docs__it{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--ink-20)}
.docs__it .p16{color:var(--ink-80)}
@media (max-width:1439.98px){ .steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .docs{grid-template-columns:minmax(0,1fr)} }
@media (max-width:767.98px){ .steps-grid,.docs__list{grid-template-columns:minmax(0,1fr)} .step{gap:20px} }

/* ---------- GALERIA (mosaico nativo) ---------- */
.gal__im img{max-width:none !important}

/* ---------- LOCALIZACAO (doadora: Sobre .about__row; o mapa ocupa o lugar da foto 520x560) ---------- */
.loc__info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.loc__it{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--ink-20)}
.loc__it .p16{color:var(--ink-80)}
.loc__it a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.loc__btns{display:flex;flex-wrap:wrap;gap:16px}
.localizacao .about__left{gap:48px}
.loc__map{background:var(--surface);--bd:var(--card-border)}
.loc__map iframe{display:block;width:100%;height:100%;border:0}
@media (max-width:1439.98px){ .loc__map{min-height:420px} .loc__info{grid-template-columns:minmax(0,1fr)} }
@media (max-width:767.98px){ .loc__map{min-height:0} }

/* ---------- FAQ (nativo, 10 itens): coluna do titulo presa, como a do "Why" ---------- */
.faq__left .btn{align-self:flex-start}
@media (min-width:1440px){ .faq__left{position:sticky;top:60px} }

/* ---------- CTA (nativo): foto do encanador saiu; fundo ink com o circulo desfocado do hero do template ---------- */
.cta{background:var(--accent)}
.cta__glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40%;aspect-ratio:1;border-radius:50%;background:var(--accent-on-dark);opacity:.22;filter:blur(120px);z-index:0;pointer-events:none}
@media (min-width:1440px){ .cta__td{width:640px} }

/* ---------- RODAPE (nativo) ---------- */
.footer__ghost p{font-size:13.4cqw}
.footer__menus{gap:40px}
.fcol--contact a{display:block;overflow-wrap:anywhere}
.fcol--contact li{color:var(--white-80);font:500 16px/20.8px var(--font-body);letter-spacing:-.48px}
.footer__legal a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:767.98px){ .footer__legal a{white-space:normal} }

/* ---------- WhatsApp flutuante (G-10; sem o pulso infinito, removido na etapa 6 anterior) ---------- */
.whatsapp-float{position:fixed;bottom:24px;right:24px;width:60px;height:60px;background:#25D366;color:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(0,0,0,.18),0 2px 8px rgba(37,211,102,.32);z-index:999;transition:transform .25s ease}
.whatsapp-float:hover{transform:scale(1.06)}
.whatsapp-float svg{width:32px;height:32px;fill:currentColor}
@media (max-width:640px){ .whatsapp-float{width:54px;height:54px;bottom:18px;right:18px} .whatsapp-float svg{width:28px;height:28px} }

/* =====================================================================
   ETAPA 3b visual-copy-reviewer (2026-09-30, Plumfix). Pass 1.5: so o que passava do Max de
   pipeline/tipografia-canonica.md, reduzido ao alvo (faixas canonicas: <=640, 641-1024,
   1025-1919, >=1920). Pass 1: H2 do CTA com 3 linhas em 768-1439 (largura 323px do template).
   ===================================================================== */
/* H3 de card (Bebas): 32/28/24 do template -> 24 FHD, 28 em 2K (escala de 15% sobre o FHD), 20 tablet e celular */
.h3{font-size:24px;line-height:28.8px}
@media (min-width:1920px){ .h3{font-size:28px;line-height:33.6px} }
@media (max-width:1024px){ .h3{font-size:20px;line-height:24px} }
/* eyebrow/pilula (.chip) e rotulo das areas: 16 -> 14 (13 no celular) */
.chip{font-size:14px;line-height:18px}
@media (max-width:640px){ .chip{font-size:13px;line-height:17px} .svc__lab{font-size:13px;line-height:17px} .mnav__meta{font-size:13px;line-height:19px} }
/* rotulo de coluna do rodape (Bebas 24/22): 20 FHD, 18 tablet e celular; 2K fica em 24 */
@media (max-width:1919.98px){ .fcol h4{font-size:20px;line-height:20px;letter-spacing:.6px} }
@media (max-width:1024px){ .fcol h4{font-size:18px;line-height:18px;letter-spacing:.54px} }
/* celular: numero do contador (14 anos e 01-04) 44 -> 32; texto de card 16 -> 15; frase das cidades 20 -> 17 */
@media (max-width:640px){
  .counter__n{font-size:32px;line-height:40px;letter-spacing:-1.2px}
  .tst .p16,.svc .p16,.wcard .p16,.member .p16,.loc__it .p16,.ponte__it .p16,.docs__it .p16,.faq-item .p16,.about__facts .p16{font-size:15px;line-height:22px;letter-spacing:-.3px}
  .brand__t{font-size:17px;line-height:23px}
}
/* Pass 1: H2 do CTA final em 3 linhas de 768 a 1439 (width 323px nativa, copy mais longa que a do template) */
@media (min-width:768px) and (max-width:1439.98px){ .cta__td .h2{width:auto;max-width:560px} }

/* =====================================================================
   ETAPA 3c responsive-tuner (2026-09-30, Plumfix). So CSS responsivo; body segue com
   overflow-x:clip (G-33) e a guarda html.js do reveal (G-35) intacta.
   ===================================================================== */
/* Fase 1.5, abaixo do Min: titulo Inter de bloco (h3.p18m) 18 -> 20 FHD / 22 2K; lead de secao 16 -> 17 FHD / 18 2K;
   numero do contador 44 -> 48 em 2K */
@media (min-width:1025px){
  h3.p18m{font-size:20px;line-height:26px;letter-spacing:-.5px}
  .sh__desc.p16,.sh__desc .p16,.about__text > .p16,.why__left > .p16,.faq__left > .p16,.cta__td .p16{font-size:17px;line-height:24px;letter-spacing:-.4px}
}
@media (min-width:1920px){
  h3.p18m{font-size:22px;line-height:28px}
  .sh__desc.p16,.sh__desc .p16,.about__text > .p16,.why__left > .p16,.faq__left > .p16,.cta__td .p16{font-size:18px;line-height:26px}
  .counter__n{font-size:48px;line-height:60px}
}

/* G-30: no celular h1-h4 com pretty (wrap antes, fallback do balance global) */
@media (max-width:640px){ h1,h2,h3,h4,.h2,.h3{text-wrap:wrap;text-wrap:pretty} }

/* G-06: centralizacao total no celular (faixa de celular do template, <768), nos seletores reais do detector */
@media (max-width:767.98px){
  .chip{align-self:center}
  .sh,.sh__title,.about__tt,.about__text,.why__left,.faq__left,.docs__head,.hero-copy{align-items:center;text-align:center}
  .sh__desc,.sh__desc .p16,.about__text .p16,.why__left > .p16,.faq__left > .p16{text-align:center;margin-left:auto;margin-right:auto}
  .svc-head .sh__desc{align-items:center}
  .about__text .h2,.about__text .p16{margin-left:auto;margin-right:auto}
  .about__text .btn,.faq__left .btn,.docs__head .btn{align-self:center}
  /* Sobre: contador e citacao */
  .about__facts{align-items:center;text-align:center}
  .about__facts .counter{align-items:center}
  .about__quote{align-items:center;text-align:center}
  .about__sign{align-items:center}
  /* situacoes e processo (casca .tst) */
  .tst{align-items:center;text-align:center}
  .sit__txt,.step__td{align-items:center;text-align:center}
  /* areas */
  .svc__body{align-items:center;text-align:center}
  .svc__tw{align-items:center;text-align:center}
  .svc__tw::before,.ponte__it::before{left:50%;transform:translateX(-50%)}
  .svc__lab{align-self:center}
  .svc__list a{justify-content:center;text-align:center}
  .svc--area .svc__go{align-self:center;justify-content:center}
  /* ponte */
  .ponte__it{align-items:center;text-align:center}
  /* equipe */
  .member--wide{align-items:center;text-align:center}
  .member__row,.member__nm{text-align:center;justify-content:center;align-items:center}
  .member__bio{margin-left:auto;margin-right:auto}
  /* diferenciais */
  .wcard__in{align-items:center;text-align:center}
  .wcard__tw{align-items:center;text-align:center}
  .wcard__icon{margin-left:auto;margin-right:auto}
  /* documentos e localizacao */
  .docs__it,.loc__it{align-items:center;text-align:center}
  .loc__btns{flex-direction:column;align-items:center}
  /* FAQ: pergunta e icone em coluna centralizada, resposta centralizada */
  .faq-item__q{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}
  .faq-item__q .p18m{flex:none}
  .faq-item__a p{text-align:center}
  /* rodape */
  .footer__about{align-items:center;text-align:center}
  .footer__menus,.footer__menu{flex-direction:column;align-items:center;gap:32px}
  .fcol,.fcol--contact,.fcol--pages{width:100%;align-items:center;text-align:center}
  .fcol ul,.fcol--pages ul{align-items:center}
  .fcol a{justify-content:center}
  .footer__copy{flex-direction:column;align-items:center;gap:12px;text-align:center}
  .footer__copy > p{flex:none;text-align:center}
  .footer__legal{justify-content:center}
  .footer__legal a{text-wrap:balance}   /* credito G-16 partia em "Posicione-/see" a 390 */
  /* "Ver tudo sobre Direito Previdenciario": a seta ficava solta a esquerda da linha dupla */
  .svc__go span{flex:0 1 auto}
}
@media (max-width:640px){
  /* 2o botao do hero na largura do texto: a 390 e 360 ele passava por baixo do WhatsApp flutuante */
  .hero-cta .btn--outline{width:auto;align-self:center}
  .svc__go .p18m{font-size:16px;line-height:21px}
}
/* tablet: a 810 a citacao do Sobre ficava numa coluna de ~150px ao lado do contador (22 linhas); empilha como no celular */
@media (min-width:768px) and (max-width:1199.98px){
  .about__facts{flex-direction:column;gap:24px}
  .about__facts .counter{flex:none}
  .about__quote{padding-left:0;padding-top:24px;border-left:0;border-top:1px solid var(--ink-20)}
}
/* tablet 768-1023: areas em coluna unica com a foto em 470/336 davam ~530px de imagem por card; teto de 320px */
@media (min-width:768px) and (max-width:1023.98px){ .services .svc__img{aspect-ratio:auto;height:320px} }
/* 360x780: os dois CTAs do hero ainda tocavam o WhatsApp flutuante; bloco 12px mais alto (rosto segue acima do texto)
   e 2o botao mais compacto */
@media (max-width:380px){
  .hero.hero--fullbleed .hero-inner{margin-top:-116px}
  .hero-cta .btn--outline{padding:12px 14px;font-size:14px;line-height:18px}
}
/* =====================================================================
   ETAPA 5 palette-mapper (2026-09-30, Plumfix). So cor. Marcadores que o template pintava com o
   vermelho sobre banda escura passam para a menta (o verde #00482D some sobre o verde da banda).
   ===================================================================== */
.chip--light::before{background:var(--accent-on-dark)}
.cta .hl{color:var(--accent-soft)}
/* =====================================================================
   ETAPA 5b font-mapper (2026-09-30, Plumfix). Tipografia do template mantida (G-22): Bebas Neue nos
   titulos, Inter no corpo, Hanken Grotesk so no copyright. Regra global dos headings pela variavel
   canonica; os titulos em Inter do template (h3/h4 .p18m) seguem pela classe, que tem mais peso.
   ===================================================================== */
h1,h2,h3,h4,h5,h6{font-family:var(--font-headings)}
/* =====================================================================
   ETAPA 6 motion-designer (2026-09-30, Plumfix). Vibe profissional + acolhedora: o reveal do template
   (0,8s, curva .22,1,.36,1, 24px) fica; entra so o que faltava. Sem parallax, sem contador animado
   (o "14 anos" e estatico), sem loop alem da faixa das cidades (ticker do template, parada no
   reduced-motion). Estado invisivel segue atras de html.js (G-35).
   ===================================================================== */
/* ancora: scroll suave na raiz; a barra do template e fixa com 64px abaixo de 1440 (no desktop ela e
   absoluta no topo e sai com a rolagem, entao o pouso fica no topo da secao) */
:root{scroll-behavior:smooth}
@media (max-width:1439.98px){ section[id],footer[id]{scroll-margin-top:64px} }
/* stagger nas grades com mais de uma coluna. Seletor com html.js + filho: vence o shorthand
   .reveal{transition} (o que matava o .d1-.d4 em outros clientes) */
@media (min-width:768px){
  html.js .tst-grid--4>.reveal:nth-child(2),html.js .steps-grid>.reveal:nth-child(2),html.js .team-grid>.reveal:nth-child(2){transition-delay:.08s}
  html.js .tst-grid--4>.reveal:nth-child(3),html.js .steps-grid>.reveal:nth-child(3){transition-delay:.16s}
  html.js .tst-grid--4>.reveal:nth-child(4),html.js .steps-grid>.reveal:nth-child(4){transition-delay:.24s}
}
@media (min-width:1024px){
  html.js .svc-grid>.reveal:nth-child(2){transition-delay:.08s}
  html.js .svc-grid>.reveal:nth-child(3){transition-delay:.16s}
}
/* depois de entrar, o elemento assenta: sem atraso e com transicao curta, para que hover e qualquer
   transform futuro no proprio .reveal respondam na hora (o JS poe .settled 1,3s depois do .visible) */
html.js .reveal.visible.settled{transition-delay:0s;transition-duration:.3s}
@media (prefers-reduced-motion:reduce){
  :root{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;transition-delay:0s !important;scroll-behavior:auto !important}
  html.js .reveal{opacity:1 !important;transform:none !important}
}

/* ---------- AJUSTE DO OPERADOR 2026-10-01: header com a logo, fundo verde da logo e fixo na rolagem ---------- */
.header{position:fixed;top:0;left:0;right:0;z-index:50;background:#00482D;padding:10px var(--pad-x);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.header__in{height:60px}
.header__logo{display:flex;align-items:center;width:auto;height:60px}
.header__logo .header__logoimg{display:block;height:60px;width:auto;object-fit:contain}
section[id],footer[id]{scroll-margin-top:88px}
@media (max-width:1439.98px){
  .header{padding:0;background:#00482D}
  .header__in{height:64px;padding:8px 12px}
  .header__logo,.header__logo .header__logoimg{height:48px}
  .mnav{background:#00482D}
  section[id],footer[id]{scroll-margin-top:72px}
}

/* ---------- AJUSTE DO OPERADOR 2026-10-01: cards das areas alinhados linha a linha ---------- */
.svc--area .svc__body{justify-content:flex-start}
.svc--area .svc__go{margin-top:auto}

/* ---------- AJUSTE DO OPERADOR 2026-10-01: socios com o texto num card que continua o da foto, centralizado ---------- */
.member--wide{gap:0;border-radius:16px;overflow:clip;background:var(--surface);--bd:var(--card-border);align-self:stretch}
.member--wide .member__img{border-radius:16px 16px 0 0}
.member--wide .member__row{justify-content:center;text-align:center;padding:24px 24px 0}
.member--wide .member__nm{align-items:center}
.member--wide .member__bio{text-align:center;margin:12px auto 0;padding:0 24px 28px;max-width:560px}
@media (max-width:767.98px){ .member--wide .member__row{padding:20px 16px 0} .member--wide .member__bio{padding:0 16px 24px} }

/* ---------- AJUSTE DO OPERADOR 2026-10-01: localizacao com mapa a esquerda e card de informacoes a direita, mesmo tamanho ---------- */
.loc__wrap{display:flex;flex-direction:column;gap:48px}
.loc__head .about__text{max-width:760px}
.loc__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.loc__box{border-radius:20px;overflow:clip;min-height:520px;background:var(--surface);--bd:var(--card-border)}
.loc__map{width:auto;height:auto}
.loc__map iframe{display:block;width:100%;height:100%;min-height:520px;border:0}
.loc__card{display:flex;flex-direction:column;justify-content:center;gap:32px;padding:40px}
.loc__card .loc__info{grid-template-columns:minmax(0,1fr);gap:20px}
@media (max-width:1023.98px){ .loc__card{padding:32px 24px} }
@media (max-width:767.98px){
  .loc__grid{grid-template-columns:minmax(0,1fr)}
  .loc__box,.loc__map iframe{min-height:360px}
  .loc__card{min-height:0;padding:28px 20px}
}

/* ---------- AJUSTE DO OPERADOR 2026-10-01: Sobre com a coluna de texto alinhada ao topo e a base da foto ---------- */
@media (min-width:768px){
  .about .about__row{align-items:stretch}
  .about .about__left{justify-content:space-between}
  .about .about__tt,.about .about__facts{margin:0}
}

/* ---------- AJUSTE DO OPERADOR 2026-10-01: foto no fundo do CTA (gerada na 4b, aprovada por pedido do operador) com veu verde ---------- */
.cta__bg .cta__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:80% 50%;display:block}
.cta__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 75% at 50% 50%,rgba(0,52,36,.9) 0%,rgba(0,58,40,.82) 55%,rgba(0,58,40,.55) 100%)}
.cta__glow{z-index:1}
@media (max-width:767.98px){ .cta__bg .cta__photo{object-position:88% 50%} .cta__bg::after{background:rgba(0,52,36,.84)} }

/* ---------- AJUSTE DO OPERADOR 2026-10-01: situacoes em topicos (sem fotos), 2 colunas com marcador verde ---------- */
.topics{list-style:none;margin:0;padding:0;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.topic{display:flex;gap:20px;align-items:flex-start;padding:28px 0;border-top:1px solid var(--ink-20)}
.topic:nth-last-child(-n+2){border-bottom:1px solid var(--ink-20)}
.topic__ic{flex:none;width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}
.topic__tx{display:flex;flex-direction:column;gap:8px}
.topic__t{font:400 26px/1.1 var(--font-headings);letter-spacing:.01em;color:var(--ink);margin:0;text-transform:uppercase}
.topic__tx .p16{color:var(--ink-80);max-width:520px}
@media (max-width:767.98px){
  .topics{grid-template-columns:minmax(0,1fr)}
  .topic{padding:22px 0;gap:16px}
  .topic:nth-last-child(-n+2){border-bottom:0}
  .topic:last-child{border-bottom:1px solid var(--ink-20)}
  .topic__ic{width:34px;height:34px}
  .topic__t{font-size:22px}
}

/* ---------- AJUSTE DO OPERADOR 2026-10-01: rodape no mesmo verde chapado do header ---------- */
.footer{background:#00482D}
.footer__grad{display:none}

/* ---------- AJUSTE DO OPERADOR 2026-10-01: CTA em card arredondado no conteudo (layout de referencia do operador) ---------- */
.cta{background:var(--bg);padding:72px var(--pad-x)}
.cta__bg{inset:72px max(var(--pad-x),calc((100% - 1120px)/2));border-radius:20px;overflow:hidden}
.cta__bg::after{background:linear-gradient(0deg,rgba(0,40,28,.72),rgba(0,40,28,.72))}
.cta__glow{display:none}
.cta .container{padding:64px 24px;gap:28px;max-width:1120px}
.cta__td{gap:14px;width:600px;max-width:100%}
.cta__eyebrow{font:500 14px/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-soft)}
.cta .h2{text-shadow:0 2px 12px rgba(0,0,0,.25)}
.cta p{text-shadow:0 1px 8px rgba(0,0,0,.25)}
@media (max-width:767.98px){
  .cta{padding:48px 16px}
  .cta__bg{inset:48px 16px}
  .cta .container{padding:48px 20px}
  .cta__bg::after{background:rgba(0,40,28,.8)}
}

/* ---------- AJUSTE DO OPERADOR 2026-10-01: rotulo do CTA no mesmo badge das outras secoes ---------- */
.cta__td .chip{align-self:center;margin-bottom:6px;text-shadow:none}

/* ---------- AJUSTE DO OPERADOR 2026-10-01: rodape com a mesma logo do header ---------- */
.footer__logo{display:inline-flex}
.footer__logo img{display:block;height:96px;width:auto}
@media (max-width:767.98px){ .footer__logo img{height:80px} }

/* ---------- AJUSTE DO OPERADOR 2026-10-01: badge Contato do CTA solido e claro para destacar sobre a foto ---------- */
.cta__td .chip{background:#EDF3F1;--bd:rgba(255,255,255,.9);color:#14201C;box-shadow:0 4px 16px rgba(0,0,0,.18)}
.cta__td .chip::before{background:#00482D}

/* ---------- AJUSTE DO OPERADOR 2026-10-01: hero novo (natureza-morta) comeca abaixo do header fixo no desktop ---------- */
@media (min-width:1440px){
  .hero.hero--fullbleed{margin-top:80px}
  .hero.hero--fullbleed .hero-bgphoto{object-position:62% 0% !important}
}

/* ---------- AJUSTE DO OPERADOR 2026-10-01: hero sem cortar a cabeca da estatua; fundo do hero no verde do header ---------- */
.hero.hero--fullbleed{background:#00482D}
.hero.hero--fullbleed .hero-bgphoto{object-position:62% 0% !important}
@media (min-width:1440px){ .hero.hero--fullbleed{min-height:760px} }

/* ---------- AJUSTE DO OPERADOR 2026-10-01: logo em linha (LORETTI& MARTINS + ADVOCACIA centralizado) ---------- */
.header__logo,.header__logo .header__logoimg{height:44px}
.footer__logo img{height:56px}
@media (max-width:1439.98px){ .header__logo,.header__logo .header__logoimg{height:36px} }
@media (max-width:767.98px){ .header__logo,.header__logo .header__logoimg{height:30px} .footer__logo img{height:44px} }

/* ---------- AJUSTE DO OPERADOR 2026-10-01: logo menor, proporcional ao botao do WhatsApp do header ---------- */
.header__logo,.header__logo .header__logoimg{height:34px}
@media (max-width:1439.98px){ .header__logo,.header__logo .header__logoimg{height:30px} }
@media (max-width:767.98px){ .header__logo,.header__logo .header__logoimg{height:26px} }

/* ---------- AJUSTE DO OPERADOR 2026-10-01: logo nitida (arquivo em 2x/3x do tamanho exibido) e ADVOCACIA maior ---------- */
.header__logo,.header__logo .header__logoimg{height:40px}
.header__logo .header__logoimg,.footer__logo img{image-rendering:auto}
@media (max-width:1439.98px){ .header__logo,.header__logo .header__logoimg{height:34px} }
@media (max-width:767.98px){ .header__logo,.header__logo .header__logoimg{height:30px} }

/* ---------- AJUSTE DO OPERADOR 2026-10-01: nova foto do CTA centralizada ---------- */
.cta__bg .cta__photo{object-position:50% 50% !important}

/* ---------- AJUSTE DO OPERADOR 2026-10-01: secao Os advogados no verde do header ---------- */
.team.band{background:#00482D}
.team .h2{color:#FFFFFF}
.team .h2 .hl{color:var(--accent-soft)}
.team .sh__desc{color:rgba(255,255,255,.86)}
.team .chip{background:rgba(255,255,255,.12);--bd:rgba(255,255,255,.28);color:#FFFFFF}
.team .chip::before{background:var(--accent-on-dark)}
.team .member--wide{--bd:rgba(255,255,255,.18)}

.team .member--wide{background:#F7FBF9;--bd:rgba(255,255,255,.4)}

/* ---------- AJUSTE DO OPERADOR 2026-10-02: cards 01-04 do Como funciona no verde do header ---------- */
.processo .tst.step{background:#00482D;--bd:rgba(255,255,255,.14)}
.processo .tst.step .counter__n{color:var(--accent-soft)}
.processo .tst.step .h3{color:#FFFFFF}
.processo .tst.step .p16{color:rgba(255,255,255,.86)}

/* ---------- AJUSTE DO OPERADOR 2026-10-02: menu mobile todo centralizado ---------- */
@media (max-width:1439.98px){
  .mnav{align-items:center;text-align:center;padding:32px 24px 0}
  .mnav a{align-self:center}
  .mnav .btn--white{align-self:center;justify-content:center}
  .mnav__meta{margin:0 auto;padding:0;text-align:center}
}
/* ETAPA 7.5 materias (G-25 v2) */
/* ETAPA 7.6 links in-prose nas materias: mesma regra de link das paginas internas */
.faq-item .mat-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.mat-t{margin:0;padding:0;font:inherit;text-wrap:inherit;letter-spacing:inherit;text-transform:none;color:inherit}
.faq-item__q,.faq-item__q .p18m{white-space:normal!important}
.faq-item .mat-body{padding-top:8px;text-align:left;cursor:auto}
.faq-item .mat-body h4{font-family:var(--font-body);font-size:17px;line-height:1.4;font-weight:500;color:var(--accent);margin:22px 0 8px;letter-spacing:-.2px;text-wrap:pretty}
.faq-item .mat-body h4:first-child{margin-top:4px}
.faq-item .mat-body p{margin:0 0 12px;text-align:left;text-wrap:pretty}
.faq-item .mat-body ul{list-style:disc;margin:0 0 14px;padding-left:22px}
.faq-item .mat-body li{margin-bottom:6px;text-align:left;color:var(--ink)}
.faq-item .mat-body li::marker{color:var(--accent)}
@media (max-width:767.98px){ .faq-item .mat-body,.faq-item .mat-body p,.faq-item .mat-body li,.faq-item .mat-body h4{text-align:left} }
/* /ETAPA 7.5 */
/* ---------- ETAPA 7.7 (blog-theme-builder): secao Ultimos artigos com o card das Areas (.svc) ---------- */
.svc--post .svc__body{gap:24px;flex:1}
.svc--post .svc__go{margin-top:auto}
.svc--post .svc__tw p{max-width:none}
.svc--post .svc__tw .h3 a{color:inherit}
@media (max-width:767.98px){.svc--post .svc__go{align-self:center;justify-content:center}}
.lp-thumb{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent) 0%,var(--ink-bg) 100%);color:var(--accent-on-dark)}
.lp-thumb svg{width:56px;height:56px;transition:transform .6s ease}
.svc--post:hover .lp-thumb svg{transform:scale(1.06)}
@media (min-width:768px){.lp-grid>.reveal:nth-child(2){transition-delay:.08s}.lp-grid>.reveal:nth-child(3){transition-delay:.16s}}

/* ================= BLOG (etapa 7.7): posts e listagem na identidade do site (Plumfix verde) ================= */
/* o header do site e fixo: 80px a partir de 1440, 64px abaixo */
.acm-blog-main{padding-top:80px;background:var(--bg)}
@media (max-width:1439.98px){.acm-blog-main{padding-top:64px}}
.acm-blog .container{max-width:var(--container);margin:0 auto;padding-left:0;padding-right:0}

/* ---------- post: hero verde (mesmo verde do hero da home) ---------- */
.post-single{background:var(--bg)}
.post-hero{background:var(--accent);color:#fff;padding:56px var(--pad-x) 64px}
.post-hero-inner{max-width:760px !important;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.post-back{display:inline-flex;width:max-content;color:var(--accent-soft) !important;font:500 15px/20px var(--font-body);text-decoration:none}
.post-back:hover{color:#fff !important}
.post-cat-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:90px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.5);color:#fff !important;font:500 14px/18px var(--font-body);letter-spacing:-.3px}
.post-cat-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent-on-dark);flex:none}
.post-title{font:400 56px/1.02 var(--font-head) !important;color:#fff !important;text-wrap:wrap;text-wrap:pretty;margin:0}
.post-meta{display:flex;flex-wrap:wrap;gap:8px;color:rgba(255,255,255,.86);font:400 15px/22px var(--font-body)}
.post-meta-sep{opacity:.6}

/* ---------- capa e corpo na MESMA largura (760), alinhados ---------- */
.post-media.container,.post-body-wrap.container{max-width:760px !important;padding-left:0 !important;padding-right:0 !important}
.post-media{position:relative;z-index:2}
.post-featured{width:100%;max-width:760px;margin:0 auto;max-height:440px;object-fit:cover;border-radius:16px;display:block;height:auto}
.post-featured-fallback{width:100%;max-width:760px;margin:0 auto;aspect-ratio:16/9;max-height:440px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent) 0%,var(--ink-bg) 100%);color:var(--accent-on-dark)}
.post-featured-fallback svg{width:64px;height:64px}
.post-body-wrap{max-width:760px;margin:44px auto 0;padding:0 0 80px}
.post-media.container{margin-top:48px !important}
.post-body-wrap.container{margin-top:40px !important}
.post-body p,.post-body li,.post-body blockquote,.post-body td{text-wrap:wrap}

.post-body{color:var(--ink);font:400 18px/1.7 var(--font-body) !important;letter-spacing:-.2px}
.post-body p,.post-body li{font-size:18px !important;line-height:1.7 !important;color:var(--ink)}
.post-body p{margin:0 0 20px}
.post-body h2{font:400 38px/1.08 var(--font-head) !important;color:var(--ink) !important;margin:48px 0 18px;text-wrap:wrap;text-wrap:pretty}
.post-body h3{font:600 21px/1.35 var(--font-body) !important;color:var(--ink) !important;margin:32px 0 12px;letter-spacing:-.3px}
.post-body strong{font-weight:600;color:var(--ink)}
.post-body a{color:var(--ink) !important;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}
.post-body a:hover{color:var(--accent) !important}
.post-body ul,.post-body ol{margin:0 0 24px;padding-left:24px}
.post-body ul{list-style:disc}
.post-body ol{list-style:decimal}
.post-body li{margin:0 0 10px}
.post-body li::marker{color:var(--accent)}
.post-body blockquote{margin:32px 0;padding:24px 28px;border-left:4px solid var(--accent);background:rgba(0,72,45,.06);border-radius:0 16px 16px 0;font-style:normal;font-size:18px;line-height:1.65;color:var(--ink)}
.post-body table{width:100%;border-collapse:collapse;margin:0 0 28px;font-size:16px;line-height:1.5;background:var(--surface);border-radius:16px;overflow:hidden}
.post-body th{background:var(--accent);color:#fff;font-weight:600;text-align:left;padding:12px 14px}
.post-body td{padding:12px 14px;border-top:1px solid var(--ink-20);vertical-align:top}
.post-body em{font-style:italic}

.post-footer-cta{margin:48px 0 32px;padding:40px 32px;border-radius:16px;background:var(--accent);color:#fff;text-align:center}
.post-footer-cta h3{font:400 34px/1.08 var(--font-head) !important;color:#fff !important;margin:0 0 12px}
.post-footer-cta p{max-width:52ch;margin:0 auto 24px;color:rgba(255,255,255,.86);font:400 16px/1.6 var(--font-body)}
.post-footer-cta .btn-post-cta{color:var(--black) !important;white-space:normal;max-width:100%;text-align:center}
.post-body{min-width:0;overflow-wrap:break-word}
.post-body table{max-width:100%}
.post-back-bottom{color:var(--accent) !important}
.post-back-bottom:hover{color:var(--ink) !important}

/* ---------- listagem /blog/ e categorias: cards das Areas (.svc) ---------- */
.blog-archive-hero{background:var(--accent);color:#fff;padding:64px var(--pad-x) 72px}
.blog-archive-hero .container{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.blog-archive-title{font:400 56px/1.02 var(--font-head) !important;color:#fff !important;margin:0;text-wrap:wrap;text-wrap:pretty}
.blog-archive-sub{max-width:640px;color:rgba(255,255,255,.86);font:400 17px/1.6 var(--font-body);margin:0}
.blog-archive-wrap{padding-top:64px;padding-bottom:96px}
.blog-archive-wrap .svc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.svc--post .svc__body{gap:24px;flex:1}
.svc--post .svc__go{margin-top:auto}
.svc--post .svc__tw p{max-width:none}
.svc--post .svc__tw .h3 a{color:inherit}
.svc--post .svc__img img{width:100%;height:100%;object-fit:cover}
.lp-thumb{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent) 0%,var(--ink-bg) 100%);color:var(--accent-on-dark)}
.lp-thumb svg{width:56px;height:56px}
.blog-card-date{font:500 14px/18px var(--font-body);color:var(--ink-80)}
.blog-pagination{margin-top:48px;display:flex;justify-content:center}
.blog-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.blog-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:40px;background:var(--white);color:var(--ink);font:500 15px/1 var(--font-body);text-decoration:none}
.blog-pagination .page-numbers.current{background:var(--accent);color:#fff}
.blog-empty{text-align:center;color:var(--ink-80)}

@media (max-width:1023.98px){.blog-archive-wrap .svc-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767.98px){
  .post-hero{padding:40px 24px 52px}
  .post-hero-inner{align-items:center;text-align:center}
  .post-title,.blog-archive-title{font-size:38px !important}
  .post-meta{justify-content:center;flex-direction:column;align-items:center;gap:2px}
  .post-meta-sep{display:none}
  .post-media.container,.post-body-wrap.container{padding-left:20px !important;padding-right:20px !important}
  .post-featured,.post-featured-fallback{max-height:240px}
  .post-media.container{margin-top:32px !important}
  .post-body-wrap.container{margin-top:28px !important}
  .post-body,.post-body p,.post-body li{font-size:17px !important}
  .post-body h2{font-size:30px !important}
  .post-body h3{font-size:19px !important}
  .post-body table{display:block;width:100%;overflow-x:auto;font-size:14px}
  .post-body th,.post-body td{padding:10px}
  .post-footer-cta{padding:32px 20px}
  .post-footer-cta h3{font-size:28px !important}
  .post-back-bottom{display:flex;margin:0 auto}
  .blog-archive-hero{padding:44px 24px 52px}
  .blog-archive-hero .container{align-items:center;text-align:center}
  .blog-archive-wrap{padding:40px 20px 72px}
  .svc--post .svc__go{align-self:center;justify-content:center}
}


/* ===== INICIO DA BLINDAGEM DE PUBLICACAO (gerado por script, nao editar na mao) ===== */
/* Bloco gerado pelo script de blindagem a partir do CSS deste tema. Nao editar na mao.
   Leitura: no blog nao existe o involucro com id que protege as paginas do site, entao TODO default
   do tema base e do kit global chega ate aqui. Cada bloco devolve o valor do proprio site (ou o
   padrao do navegador, `revert`, quando o site nao declara) e depois repete com prioridade as regras
   deste tema, na mesma ordem e no mesmo @media.

   1. BASE: a heranca e o padrao que o ambiente rouba (o kit declara direto em body, a, h1-h6, p, li,
      button, img e vence tudo o que este tema resolve por heranca). */
body{margin:0!important;background:var(--bg)!important;color:var(--black)!important;font-family:var(--font-body)!important;font-size:16px!important;line-height:normal!important;font-weight:400!important}
a{color:inherit!important;text-decoration:none!important}
a::after{content:none!important}
h1,h2,h3,h4,h5,h6{color:revert!important;font-family:revert!important;font-weight:revert!important;font-size:revert!important;line-height:revert!important;letter-spacing:revert!important;margin:0!important}
p,li{font-family:revert!important;font-size:revert!important;line-height:revert!important;margin:0!important}
img{border-radius:revert!important;box-shadow:revert!important}
td,th{background-color:revert!important;border:revert!important;padding:revert!important;text-align:revert!important;vertical-align:revert!important;font-weight:revert!important;line-height:revert!important}
button{font:inherit!important;color:inherit!important;background:none!important;border:0!important;border-radius:revert!important;box-shadow:revert!important;padding:0!important;white-space:revert!important;letter-spacing:revert!important;text-transform:revert!important;transition:revert!important;text-align:revert!important;display:revert!important;width:revert!important;height:revert!important}

/* 2. BANDAS DO TEMA (G-23): cada banda enumerada nos modelos ocupa a largura inteira; o clamp de
   conteudo fica so no container interno. O cabecalho deste site e `.header` (nome que o tema base
   nao usa): basta a largura. */
header.header{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
nav.mnav{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
footer.footer{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
main.acm-blog-main{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
header.post-hero{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
header.blog-archive-hero{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}

/* 2b. CONTAINER: o bloco hostil canonico do doc clampa `.container` a 1140px com a mesma
   especificidade do site; se ele carregar DEPOIS do child (ordem pessimista), o rodape encolhe.
   Um grau a mais de especificidade SEM prioridade: vence o `.container` do ambiente em qualquer ordem
   e continua perdendo para `.post-body-wrap.container` e para as larguras com prioridade do artigo
   (espelhar com prioridade achataria essas diferencas - medido na regressao a 390). */
html .container{max-width:var(--container)}

/* 3. CLASSES DO <body>: nenhuma classe que o WordPress poe no <body> e componente deste site. */

/* 4. PAGINACAO DO ARQUIVO: o tema base desenha `.pagination` como caixa flexivel com os extremos
   separados e margem propria, e NAO esconde o titulo de leitor de tela que a paginacao emite. */
.blog-pagination .pagination,.blog-pagination nav.navigation{display:block!important;margin:0!important}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* 5. BOTAO FLUTUANTE DE WHATSAPP: e um <a>; cor, fundo e icone explicitos. */
a.whatsapp-float{color:#fff!important;background:#25D366!important}
.whatsapp-float svg{fill:currentColor!important}

/* 6. LINKS: cor, fundo e sublinhado de cada regra de <a> deste tema, na ordem do tema. */
.btn--white{background:var(--white)!important;color:var(--black)!important}
.nav a{color:var(--white)!important}
.svc__go{color:var(--ink)!important}
.fcol a{color:var(--white-80)!important}
.footer__legal a{color:var(--white-80)!important}
@media (max-width:1439.98px){.mnav a{color:var(--white)!important}}
.mnav a.btn--white{color:var(--black)!important}
.svc--area .svc__tw .h3 a{color:inherit!important}
.svc__list a{color:var(--ink)!important}
.svc__list a:hover{color:var(--accent)!important}
.loc__it a{text-decoration:underline!important;text-underline-offset:3px!important}
.footer__legal a{text-decoration:underline!important;text-underline-offset:3px!important}
.whatsapp-float{background:#25D366!important;color:#fff!important}
.faq-item .mat-body a{color:var(--accent)!important;text-decoration:underline!important;text-underline-offset:3px!important}
.svc--post .svc__tw .h3 a{color:inherit!important}
.lp-thumb{background:linear-gradient(135deg,var(--accent) 0%,var(--ink-bg) 100%)!important;color:var(--accent-on-dark)!important}
.post-back{color:var(--accent-soft) !important;text-decoration:none!important}
.post-back:hover{color:#fff !important}
.post-body a{color:var(--ink) !important;text-decoration:underline!important;text-decoration-color:var(--accent)!important;text-underline-offset:3px!important}
.post-body a:hover{color:var(--accent) !important}
.post-footer-cta .btn-post-cta{color:var(--black) !important}
.post-back-bottom{color:var(--accent) !important}
.post-back-bottom:hover{color:var(--ink) !important}
.svc--post .svc__tw .h3 a{color:inherit!important}
.lp-thumb{background:linear-gradient(135deg,var(--accent) 0%,var(--ink-bg) 100%)!important;color:var(--accent-on-dark)!important}
.blog-pagination :where(a).page-numbers{background:var(--white)!important;color:var(--ink)!important;text-decoration:none!important}

/* 7. TITULOS: cor, familia, corpo, entrelinha e margem de cada regra de h1-h6 deste tema (tipografia dos artigos travada). */
h1{font-weight:inherit!important;text-wrap:balance!important}
h2{font-weight:inherit!important;text-wrap:balance!important}
h3{font-weight:inherit!important;text-wrap:balance!important}
h4{font-weight:inherit!important;text-wrap:balance!important}
.h3{font:400 32px/38.4px var(--font-head)!important;color:var(--black)!important}
.hero h1{font:400 100px/100px var(--font-head)!important;letter-spacing:-3px!important;color:var(--white)!important}
.svc__tw .h3{text-wrap:wrap!important}
.fcol h4{font:400 24px/24px var(--font-head)!important;letter-spacing:.72px!important;color:var(--white)!important;white-space:nowrap!important}
@media (max-width:1439.98px){.hero h1{font-size:64px!important;line-height:64px!important;letter-spacing:-1.92px!important}.h3{font-size:28px!important;line-height:33.6px!important}.fcol h4{font-size:22px!important;line-height:22px!important;letter-spacing:.66px!important}}
@media (max-width:767.98px){.hero h1{font-size:52px!important;line-height:52px!important;letter-spacing:-1.56px!important}.h3{font-size:24px!important;line-height:28.8px!important}}
.hero.hero--fullbleed h1{font:400 64px/1.05 var(--font-head)!important;letter-spacing:-.01em!important;color:#FFFFFB!important;text-wrap:wrap!important;text-wrap:pretty!important}
@media (min-width:1920px){.hero.hero--fullbleed h1{font-size:70px!important}}
@media (max-width:1439.98px){.hero.hero--fullbleed h1{font-size:58px!important}}
@media (min-width:769px) and (max-width:1024px){.hero.hero--fullbleed h1{font-size:46px!important}}
@media (max-width:768px){.hero.hero--fullbleed h1{font-size:40px!important;line-height:1.08!important}}
@media (max-width:420px){.hero.hero--fullbleed h1{font-size:36px!important}}
@media (max-width:380px){.hero.hero--fullbleed h1{font-size:33px!important}}
.h3{font-size:24px!important;line-height:28.8px!important}
@media (min-width:1920px){.h3{font-size:28px!important;line-height:33.6px!important}}
@media (max-width:1024px){.h3{font-size:20px!important;line-height:24px!important}}
@media (max-width:1919.98px){.fcol h4{font-size:20px!important;line-height:20px!important;letter-spacing:.6px!important}}
@media (max-width:1024px){.fcol h4{font-size:18px!important;line-height:18px!important;letter-spacing:.54px!important}}
@media (min-width:1025px){h3.p18m{font-size:20px!important;line-height:26px!important;letter-spacing:-.5px!important}}
@media (min-width:1920px){h3.p18m{font-size:22px!important;line-height:28px!important}}
@media (max-width:640px){h1{text-wrap:wrap!important;text-wrap:pretty!important}h2{text-wrap:wrap!important;text-wrap:pretty!important}h3{text-wrap:wrap!important;text-wrap:pretty!important}h4{text-wrap:wrap!important;text-wrap:pretty!important}.h3{text-wrap:wrap!important;text-wrap:pretty!important}}
h1{font-family:var(--font-headings)!important}
h2{font-family:var(--font-headings)!important}
h3{font-family:var(--font-headings)!important}
h4{font-family:var(--font-headings)!important}
h5{font-family:var(--font-headings)!important}
h6{font-family:var(--font-headings)!important}
.faq-item .mat-body h4{font-family:var(--font-body)!important;font-size:17px!important;line-height:1.4!important;font-weight:500!important;color:var(--accent)!important;margin:22px 0 8px!important;letter-spacing:-.2px!important;text-wrap:pretty!important}
.faq-item .mat-body h4:first-child{margin-top:4px!important}
.post-title{font:400 56px/1.02 var(--font-head) !important;color:#fff !important;text-wrap:wrap!important;text-wrap:pretty!important;margin:0!important}
.post-body h2{font:400 38px/1.08 var(--font-head) !important;color:var(--ink) !important;margin:48px 0 18px!important;text-wrap:wrap!important;text-wrap:pretty!important}
.post-body h3{font:600 21px/1.35 var(--font-body) !important;color:var(--ink) !important;margin:32px 0 12px!important;letter-spacing:-.3px!important}
.post-footer-cta h3{font:400 34px/1.08 var(--font-head) !important;color:#fff !important;margin:0 0 12px!important}
.blog-archive-title{font:400 56px/1.02 var(--font-head) !important;color:#fff !important;margin:0!important;text-wrap:wrap!important;text-wrap:pretty!important}
@media (max-width:767.98px){.post-title{font-size:38px !important}.blog-archive-title{font-size:38px !important}.post-body h2{font-size:30px !important}.post-body h3{font-size:19px !important}.post-footer-cta h3{font-size:28px !important}}

/* 8. PARAGRAFOS E ITENS: familia, corpo, entrelinha e margem de cada regra de p/li deste tema (corpo dos artigos travado). */
p{font-weight:inherit!important}
.p16{font:400 16px/20.8px var(--font-body)!important}
.svc__tw p{font-weight:500!important}
.footer__about p{font:500 20px/26px var(--font-body)!important}
.footer__ghost p{font:400 35.08cqw/0.8 var(--font-head)!important}
.footer__copy > p{font:400 16px/27.2px var(--font-copy)!important}
@media (max-width:1439.98px){.footer__ghost p{font-size:38.29cqw!important}}
.mnav__meta{font:400 14px/20px var(--font-body)!important}
.footer__ghost p{font-size:13.4cqw!important}
.fcol--contact li{font:500 16px/20.8px var(--font-body)!important}
@media (max-width:640px){.mnav__meta{font-size:13px!important;line-height:19px!important}.svc .p16{font-size:15px!important;line-height:22px!important}}
@media (max-width:1439.98px){.mnav__meta{margin:0 auto!important}}
.faq-item .mat-body p{margin:0 0 12px!important}
.faq-item .mat-body li{margin-bottom:6px!important}
.post-body p{font-size:18px !important;line-height:1.7 !important}
.post-body li{font-size:18px !important;line-height:1.7 !important}
.post-body p{margin:0 0 20px!important}
.post-body li{margin:0 0 10px!important}
.post-body blockquote{margin:32px 0!important;font-style:normal!important;font-size:18px!important;line-height:1.65!important}
.post-footer-cta p{margin:0 auto 24px!important;font:400 16px/1.6 var(--font-body)!important}
.blog-archive-sub{font:400 17px/1.6 var(--font-body)!important;margin:0!important}
@media (max-width:767.98px){.post-body p{font-size:17px !important}.post-body li{font-size:17px !important}}

/* 9. IMAGENS: raio e sombra que o tema desenha (o kit arredonda toda imagem). */
.tst__who img{border-radius:50%!important}

/* 10. CONTROLES <button>: chapa, borda, raio, cor, espacamento e quebra de linha. */
.nav-toggle{display:none!important}
.slider__nav button{width:54px!important;height:54px!important;border-radius:27px!important}
@media (max-width:1439.98px){.nav-toggle{display:block!important;width:40px!important;height:40px!important;border-radius:5px!important;background:var(--accent-on-dark)!important}}

/* 10b. TABELAS DOS ARTIGOS: fundo, borda, respiro, alinhamento e corpo de cada regra de td/th deste tema. */
.post-body th{background:var(--accent)!important;color:#fff!important;font-weight:600!important;text-align:left!important;padding:12px 14px!important}
.post-body td{padding:12px 14px!important;border-top:1px solid var(--ink-20)!important;vertical-align:top!important}
@media (max-width:767.98px){.post-body th{padding:10px!important}.post-body td{padding:10px!important}}

/* 11. PSEUDO-ELEMENTO LEGITIMO EM <a> reafirmado. */
.bd::after{content:""!important}
.nav a::after{content:""!important}

/* 12. TIPOGRAFIA-CANONICA do blog: H1 do artigo e do arquivo no teto de tablet (<= 48px). */
@media (min-width:768px) and (max-width:1024px){.post-title,.blog-archive-title{font-size:46px!important}}

/* ===== FIM DA BLINDAGEM DE PUBLICACAO ===== */
