/* Fontes servidas pelo proprio dominio: o site nao depende de nenhum host externo. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/cormorant-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/cormorant-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--font-serif:'Cormorant Garamond',Georgia,serif;--font-sans:'Inter',Arial,sans-serif}

:root{--ink:#121313;--coal:#181919;--cream:#f8f4ec;--paper:#fffdfa;--gold:#bf791e;--gold2:#d99a3d;--line:#e9ddc9;--muted:#625f58}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans),Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.topbar{height:82px;display:flex;align-items:center;padding:0 clamp(22px,4vw,72px);gap:34px;background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #eee7dd;box-shadow:0 2px 14px #0000000a}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{width:40px;height:48px;border:2px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-family:var(--font-serif);font-size:21px;font-weight:700}.brand strong{font-family:var(--font-serif);font-size:28px;letter-spacing:.02em}.brand strong span,.form-heading strong,.section-title>span,.eyebrow{color:#8f5510}.brand small{font-size:8px;display:block;letter-spacing:.06em;font-weight:700}.nav{display:flex;gap:26px;margin-left:auto;align-items:center}.nav a{text-transform:uppercase;font-size:11px;font-weight:750;letter-spacing:.05em}.nav a:hover{color:var(--gold)}.whatsapp-top{background:var(--ink);color:#fff;padding:12px 18px;border-radius:4px;border:1px solid var(--gold);line-height:1.15}.whatsapp-top span{display:block;color:var(--gold2);font-size:9px;font-weight:800}.whatsapp-top strong{font-size:12px}.menu-button{display:none;background:none;border:0;font-size:26px}
.hero{min-height:560px;display:grid;grid-template-columns:minmax(390px,1.1fr) minmax(290px,.95fr) minmax(390px,.6fr);background:#f6f3ec;border-bottom:1px solid var(--gold);overflow:hidden}.hero-copy{padding:58px 0 34px clamp(24px,6.5vw,120px);z-index:2}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.16em}.hero h1{font-family:var(--font-serif);font-size:clamp(45px,4.1vw,70px);line-height:.96;margin:14px 0 20px;letter-spacing:-.025em}.hero h1 em{display:block;color:var(--gold);font-style:normal}.hero-text{font-size:16px;line-height:1.7;max-width:590px;color:#3f3e3b}.hero-preco{margin:14px 0 0;font-size:13.5px;font-weight:800;color:#8f5510}.hero-points{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}.hero-points span{text-align:center;font-size:11px;line-height:1.45}.hero-points b{display:grid;margin:0 auto 8px;width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;place-items:center;color:var(--gold);font-size:16px}.hero-photo{background:url('images/fabio-hero.webp') center 12%/cover no-repeat;align-self:stretch;filter:saturate(.92);position:relative}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f8f3eb 0%,transparent 15%,transparent 85%,rgba(10,10,10,.12))}.case-form{position:relative;isolation:isolate;color:#fff;padding:34px 34px 24px;border:2px solid var(--gold);border-radius:10px;width:calc(100% - 70px);margin:28px 35px 28px 35px;align-self:center;box-shadow:0 10px 24px #0f1c1b1f,0 28px 60px #0f1c1b1a}
.case-form::before{content:'';position:absolute;inset:-30px;z-index:-2;border-radius:14px;background:url('images/fabio-hero-premium.webp') 65% 25%/cover no-repeat;filter:blur(30px) saturate(1.5) brightness(0.85)}
.case-form::after{content:'';position:absolute;inset:0;z-index:-1;border-radius:8px;background:#111716}
.case-form>*{position:relative;z-index:1}.form-heading{text-align:center}.form-heading h2{font-family:var(--font-serif);font-size:24px;margin:0}.form-heading strong{display:block;font-size:13px;margin:2px}.form-heading p{font-size:12px;line-height:1.5;color:#ddd;margin:8px auto 15px;max-width:330px}.case-form label>span{position:absolute;width:1px;height:1px;overflow:hidden}.case-form input,.case-form select,.case-form textarea{width:100%;background:#fff;color:#171717;border:1px solid #bbb;border-radius:3px;padding:11px 12px;font-size:13px;margin:5px 0;outline:none}.case-form input:focus,.case-form select:focus,.case-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px #bf791e44}.upload{background:#fff;color:#222;margin:2px 0 7px;padding:8px;display:block;border-radius:3px;text-align:center}.upload input{border:0;margin:0;padding:2px;font-size:10px}.upload b,.upload small{display:block;font-size:10px}.upload small{color:#666;margin-top:3px}.case-form button{width:100%;border:0;border-radius:3px;background:linear-gradient(90deg,#b96e14,#d69837);font-weight:850;color:#fff;padding:16px 8px;font-size:13px;cursor:pointer}.form-status{text-align:center;color:#ddd;font-size:10px;margin:7px 0 0;min-height:14px}
.case-form-detalhe{margin:12px 0 16px;border:1px solid #3d3d3b;border-radius:3px;background:#171716}
.case-form-detalhe summary{list-style:none;cursor:pointer;padding:11px 12px;font-size:12px;color:#e7c98a;font-weight:700;display:flex;align-items:center;gap:7px}
.case-form-detalhe summary::-webkit-details-marker{display:none}
.case-form-detalhe summary span{display:inline-block;transition:.2s}
.case-form-detalhe[open] summary span{transform:rotate(90deg)}
.case-form-detalhe-corpo{padding:2px 12px 12px}
.case-form-detalhe-corpo input,.case-form-detalhe-corpo textarea{width:100%;background:#fff;color:#171717;border:1px solid #bbb;border-radius:3px;padding:9px 12px;font-size:12px;margin:3px 0;outline:none}
.case-form-detalhe-corpo input:focus,.case-form-detalhe-corpo textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px #bf791e44}
.case-form-nota{margin:7px 0 0;font-size:10.5px;color:#a49f95;font-style:italic}
.case-form-aceite{text-align:center;font-size:10.5px;line-height:1.5;color:#ccc;margin:12px auto 0;max-width:340px}
.case-form-ou{display:flex;align-items:center;gap:10px;margin:22px 0;color:#666;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.case-form-ou::before,.case-form-ou::after{content:'';flex:1;height:1px;background:#3a3a38}
.case-form-zap{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:#1c2b22;border:1px solid #2a9d5c;border-radius:3px;padding:17px 8px;color:#3ddc84;font-weight:850;font-size:13px;text-decoration:none}
.case-form-zap:hover{background:#213a2b}
.case-form-zap span{font-size:17px}
.case-form-confirmacao{text-align:center;padding:14px 6px 6px}
.case-form-check{width:46px;height:46px;margin:0 auto 14px;border-radius:50%;background:#1c2b22;border:1px solid #2a9d5c;color:#3ddc84;display:grid;place-items:center;font-size:22px;font-weight:800}
.case-form-confirmacao h2{font-family:var(--font-serif);font-size:23px;margin:0 0 12px;letter-spacing:.02em}
.case-form-confirmacao>p{font-size:13px;line-height:1.65;color:#ddd;margin:0 auto 16px;max-width:340px}
.case-form-confirmacao-sub{font-weight:800;color:#fff!important}
.case-form-confirmacao .case-form-zap{margin:0 0 16px}
.case-form-confirmacao .report-trigger{display:inline-flex!important;color:#e7c98a;font-size:12px;font-weight:700;text-decoration:underline}
@media(max-width:650px){.case-form-zap{padding:15px 8px;font-size:13.5px}}
.credibility{background:#101111;padding:11px clamp(20px,5vw,90px);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 8px;text-align:center;border-bottom:1px solid #2a2823}.credibility span{color:var(--gold2);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.credibility .cred-sep{color:#565049;font-weight:400}.credibility .cred-mobile{display:none}@media(max-width:650px){.credibility{padding:9px 18px}.credibility span{font-size:10.5px}.credibility .cred-desktop{display:none}.credibility .cred-mobile{display:inline}}
.sistat-home{background:#171716;color:#fff;padding:12px clamp(20px,5vw,90px);display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--gold)}
.sistat-home .sistat-tag{flex:0 0 auto;color:var(--gold2);font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.sistat-home-linha{flex:1;min-width:0;margin:0;font-size:13.5px;color:#d8d2c6;line-height:1.4}
.sistat-home-linha b{color:#fff}
.sistat-home-acoes{flex:0 0 auto;display:flex;align-items:center;gap:22px}
.sistat-home .sistat-baixar{min-width:0;padding:9px 18px;font-size:12.5px}
.sistat-home .sistat-baixar small{font-size:9px}
.sistat-home-ver{color:#e7c98a;font-size:12.5px;font-weight:700;text-decoration:underline;white-space:nowrap}
@media(max-width:1100px){.sistat-home .sistat-tag{display:none}}
@media(max-width:850px){.sistat-home-linha{font-size:12.5px}}
@media(max-width:650px){.sistat-home{display:none}}
.sistat-home-mobile{display:none}
@media(max-width:650px){
.sistat-home-mobile{display:block;background:#171716;color:#fff;padding:20px 20px 22px;text-align:center;border-bottom:1px solid var(--gold)}
.sistat-home-mobile .sistat-tag{color:var(--gold2);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.sistat-home-mobile-sub{margin:4px 0 14px;font-size:12px;color:#cfc8bd}
.sistat-home-mobile form{display:flex;flex-direction:column;gap:8px;max-width:360px;margin:0 auto}
.sistat-home-mobile input{background:#fff;color:#171717;border:1px solid #444;border-radius:3px;padding:10px 12px;font-size:13px}
.sistat-home-mobile button{border:0;border-radius:3px;background:linear-gradient(90deg,#b96e14,#d69837);color:#fff;font-weight:800;padding:12px;font-size:12.5px;margin-top:2px}
.sistat-email-status{font-size:11px;color:#e7c98a;margin:8px 0 0;min-height:14px}
.sistat-home-mobile .sistat-home-ver{display:inline-block;margin-top:10px}
}
.dev-credito{color:#777!important;font-size:9px!important;display:inline-flex;align-items:center;gap:6px}
.dev-credito b{font-weight:700;color:#999}
/* O balao fixo do chat fica sobre o canto inferior direito; sem essa folga o
   rodape (que e o ultimo elemento da pagina) fica sempre atras dele. */
@media(min-width:851px){.copyright{padding-right:250px}}
@media(max-width:850px) and (min-width:651px){.copyright{padding-right:80px}}
.section{padding:85px clamp(22px,5vw,90px)}.section-title{text-align:center;max-width:850px;margin:0 auto 42px}.section-title>span,.section-title h2{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}.section-title h2{font-family:var(--font-serif);font-size:clamp(32px,3vw,46px);letter-spacing:0;margin:9px 0 12px}.section-title p{color:var(--muted);line-height:1.6;font-size:14px}.areas{background:linear-gradient(#fffdfa,#faf6ee)}.area-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:1500px;margin:auto}.area-card{background:#fff;border:1px solid var(--line);padding:23px 20px 18px;min-height:340px;position:relative;display:flex;flex-direction:column;transition:.25s}.area-card:hover{transform:translateY(-4px);box-shadow:0 13px 30px #6e4b2020;border-color:#d7b985}.area-number{color:var(--gold);font-family:var(--font-serif);font-size:14px;font-weight:700}.area-card h3{font-family:var(--font-serif);font-size:24px;text-transform:uppercase;margin:5px 0 0}.area-card small{font-size:10px;color:#746c61}.area-card ul{padding:0;margin:16px 0 19px;list-style:none}.area-card li{font-size:11px;line-height:1.45;margin:5px 0;padding-left:11px;color:#3c3a36}.area-card li:before{content:"•";color:var(--gold);margin-left:-11px;margin-right:6px}
.area-card li.area-calc-link{padding-left:0;margin-top:9px;padding-top:9px;border-top:1px dashed var(--line);color:#9c5c0d;font-weight:800;font-size:10.5px;text-transform:uppercase;letter-spacing:.02em}
.area-card li.area-calc-link:before{content:none}
.area-card li.area-calc-link a{text-decoration:underline}.area-card>a{margin-top:auto;border-top:1px solid var(--line);padding-top:12px;color:#9c5c0d;text-transform:uppercase;font-size:10px;font-weight:800;display:flex;justify-content:space-between}.catalog-callout{max-width:1500px;margin:18px auto 0;background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px;padding:26px 34px}
.sistat-callout{border-color:var(--gold)}
.sistat-callout>a{background:linear-gradient(90deg,#b96e14,#d69837);color:#fff;padding:14px 22px;text-transform:uppercase;font-size:10px;font-weight:800;white-space:nowrap}
@media(max-width:650px){.sistat-callout{grid-template-columns:1fr;text-align:center}.sistat-callout>a{justify-self:center}}.calc-icon{width:70px;height:70px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:serif;color:var(--gold);font-size:32px}.catalog-callout h3{font-family:var(--font-serif);font-size:28px;margin:0}.catalog-callout p{font-size:12px;color:var(--muted);margin:6px 0}.catalog-callout>a,.all-posts{background:var(--ink);color:#fff;padding:14px 22px;text-transform:uppercase;font-size:10px;font-weight:800}
.method{background:#151616;color:#fff}.section-title.light p{color:#ccc}.method-grid{max-width:1500px;margin:auto;display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.method-grid article{border-top:1px solid #5f492b;padding:24px 18px 10px;position:relative}.method-grid b{color:var(--gold2);font-family:var(--font-serif);font-size:26px}.method-grid h3{text-transform:uppercase;font-size:12px;line-height:1.35;margin:14px 0 10px}.method-grid p{color:#bbb;font-size:11px;line-height:1.6}.method-grid .arrow{position:absolute;right:-12px;top:37px;color:var(--gold);z-index:2}
.director{display:grid;grid-template-columns:minmax(280px,.8fr) 1.4fr;align-items:center;gap:70px;max-width:1200px;margin:auto}.director-photo{display:flex;justify-content:flex-end}.director-photo img{width:min(390px,100%);aspect-ratio:1;object-fit:cover;border-radius:50%;border:9px solid #f2e7d5;outline:1px solid var(--gold)}.director-copy h2{font-family:var(--font-serif);font-size:50px;margin:4px 0 15px}.director-copy .lead{font-family:var(--font-serif);font-size:22px;line-height:1.4;max-width:690px}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin:25px 0}.credentials span{font-size:13px;font-weight:650;padding-left:21px;position:relative}.credentials .credential-full{grid-column:1/-1}.credentials span:before{content:"✓";position:absolute;left:0;color:var(--gold)}.tech{border-top:1px solid var(--line);padding-top:18px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.tech b{font-size:11px;text-transform:uppercase;margin-right:10px}.tech span{background:#f3ecdf;border:1px solid #e5d2b5;padding:7px 12px;font-size:11px;font-weight:700}
.blog{background:#f7f3eb}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1400px;margin:auto}.blog-grid article{background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:42% 1fr;min-height:205px}.blog-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.blog-grid article>div{padding:22px 18px}.blog-grid span{color:var(--gold);text-transform:uppercase;font-size:8px;font-weight:800}.blog-grid h3{font-family:var(--font-serif);font-size:19px;line-height:1.12;margin:8px 0}.blog-grid p{font-size:11px;line-height:1.55;color:#615d56}.blog-grid a{color:#a36213;font-weight:800;font-size:10px}.all-posts{display:table;margin:28px auto 0;min-width:250px;text-align:center}.faq{max-width:1400px;margin:auto}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.faq details{border:1px solid var(--line);background:#fff}.faq summary{list-style:none;cursor:pointer;font-size:13px;font-weight:700;padding:16px 18px;display:flex;justify-content:space-between}.faq summary::-webkit-details-marker{display:none}.faq details p{padding:0 18px 17px;margin:0;color:var(--muted);font-size:12px;line-height:1.6}.faq details[open] summary span{transform:rotate(45deg)}
.final-cta{background:linear-gradient(100deg,#111212,#202121);color:#fff;padding:32px clamp(24px,5vw,90px);display:grid;grid-template-columns:1fr 1.5fr auto;align-items:center;gap:45px;border-bottom:1px solid #584323}.final-cta span{color:var(--gold2);font-size:12px}.final-cta h2{font-family:var(--font-serif);font-size:31px;margin:2px 0}.final-cta p{font-size:10px;color:#bbb}.cta-features{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.cta-features span{color:#ccc;border-left:1px solid #5b4c35;padding-left:15px}.cta-features b{color:#fff}.final-cta>a{background:linear-gradient(90deg,#b56c15,#d89735);padding:19px 30px;font-size:12px;font-weight:850;text-align:center}
footer{background:#111212;color:#d6d6d6;padding:55px clamp(24px,5vw,90px) 20px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr 1fr;gap:60px;max-width:1500px;margin:auto}.footer-brand{color:#fff}.footer-grid h3{text-transform:uppercase;color:#fff;font-size:11px;letter-spacing:.1em}.footer-grid p,.footer-grid address{font-size:11px;line-height:1.65;font-style:normal}.footer-grid>div>a:not(.brand){display:block;font-size:11px;line-height:1.9}.footer-cta{color:var(--gold2);font-weight:750;margin-top:8px}.copyright{border-top:1px solid #ffffff1c;margin-top:35px;padding-top:18px;font-size:9px;display:flex;justify-content:space-between;color:#888}
@media(max-width:1200px){.nav{gap:14px}.nav a{font-size:9px}.whatsapp-top{display:none}.hero{grid-template-columns:1fr .68fr 1fr}.hero-copy{padding-left:35px}.area-grid{grid-template-columns:repeat(4,1fr)}.blog-grid{grid-template-columns:1fr 1fr}.method-grid{grid-template-columns:repeat(4,1fr)}.method-grid .arrow{display:none}}
@media(max-width:850px){.topbar{height:70px;padding:0 18px}.brand strong{font-size:22px}.brand-mark{width:34px;height:40px}.menu-button{display:block;margin-left:auto}.nav{position:absolute;top:70px;left:0;right:0;background:#fff;display:none;flex-direction:column;padding:22px;box-shadow:0 15px 30px #0002}.nav.open{display:flex}.nav a{font-size:12px}.hero{display:flex;flex-direction:column}.hero-copy{padding:55px 24px 35px}.hero h1{font-size:48px}.hero-photo{height:500px;background-position:center 9%}.case-form{width:calc(100% - 32px);margin:22px 16px 25px;position:relative;max-width:none}.area-grid{grid-template-columns:1fr 1fr}.method-grid{grid-template-columns:1fr 1fr}.director{grid-template-columns:1fr;text-align:center;gap:28px}.director-photo{justify-content:center}.credentials{grid-template-columns:1fr;text-align:left;max-width:450px;margin:24px auto}.tech{justify-content:center}.final-cta{grid-template-columns:1fr;text-align:center}.cta-features{text-align:left}.footer-grid{grid-template-columns:1fr 1fr}.catalog-callout{grid-template-columns:auto 1fr}.catalog-callout>a{grid-column:1/-1;text-align:center}}
@media(max-width:560px){.brand small{font-size:6.5px}.hero-points{grid-template-columns:1fr 1fr}.hero-photo{height:410px}.hero h1{font-size:43px}.section{padding:64px 16px}.area-grid{grid-template-columns:1fr}.area-card{min-height:auto}.catalog-callout{grid-template-columns:1fr;text-align:center}.calc-icon{margin:auto}.method-grid{grid-template-columns:1fr}.method-grid article{padding-bottom:20px}.director-copy h2{font-size:39px}.blog-grid{grid-template-columns:1fr}.blog-grid article{grid-template-columns:38% 1fr}.faq-grid{grid-template-columns:1fr}.cta-features{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:26px}.copyright{display:block;line-height:2}.copyright span{display:block}.case-form{padding:28px 18px}.topbar .brand-mark{display:none}}
.hero-photo:before{content:"";position:absolute;left:0;right:0;top:0;height:72px;background:linear-gradient(#f8f3eb 5%,rgba(248,243,235,.78) 38%,transparent);z-index:1}
.hero-photo{background-image:url('images/fabio-hero-premium.webp');background-position:48% center;background-size:cover;background-repeat:no-repeat;background-color:#e9e5dc;filter:none}
.hero-photo:before{display:none}
.director-photo img{object-position:center center}
@media(max-width:850px){.hero-photo{background-position:center center}}
.consent{display:flex!important;gap:8px;align-items:flex-start;margin:7px 0 11px;color:#d7d7d7;font-size:9px;line-height:1.45}.consent input{width:14px!important;height:14px;margin:1px 0!important;accent-color:var(--gold)}.consent span{position:static!important;width:auto!important;height:auto!important;overflow:visible!important}.consent a,.protocol-link{color:var(--gold2);text-decoration:underline}.protocol-link{display:block;text-align:center;font-size:10px;font-weight:800;margin-top:8px}.sub-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,90px);border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}.sub-header nav{display:flex;gap:28px;align-items:center;text-transform:uppercase;font-size:10px;font-weight:800}.sub-whatsapp{background:var(--ink);color:#fff;padding:12px 18px;border:1px solid var(--gold)}.sub-hero{padding:95px clamp(22px,8vw,140px);background:linear-gradient(110deg,#fff,#f5ecdf);border-bottom:1px solid var(--line)}.sub-hero>p{text-transform:uppercase;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.15em}.sub-hero h1{font-family:var(--font-serif);font-size:clamp(45px,6vw,76px);line-height:1;margin:15px 0 22px;max-width:1000px}.sub-hero>span{font-size:17px;line-height:1.7;color:var(--muted);display:block;max-width:850px}.sub-content{display:grid;grid-template-columns:1fr 320px;gap:45px;max-width:1350px;margin:auto;padding:80px 30px}.service-list>h2,.sub-aside h2{font-family:var(--font-serif);font-size:34px}.service-list>div{display:grid;grid-template-columns:1fr 1fr;gap:14px}.service-list article{border:1px solid var(--line);padding:24px;background:#fff}.service-list article b{color:var(--gold);font-family:var(--font-serif);font-size:20px}.service-list article h3{font-family:var(--font-serif);font-size:22px;margin:8px 0}.service-list article p,.sub-aside p,.sub-aside li{font-size:12px;line-height:1.65;color:var(--muted)}.sub-aside{background:var(--ink);color:#fff;padding:30px;height:max-content;position:sticky;top:110px}.sub-aside h2{color:var(--gold2)}.sub-aside p,.sub-aside li{color:#ddd}.sub-aside li{margin:10px 0}.sub-cta{background:var(--ink);color:#fff;padding:40px clamp(22px,7vw,110px);display:flex;align-items:center;justify-content:space-between;gap:30px}.sub-cta p{color:var(--gold2);margin:0}.sub-cta h2{font-family:var(--font-serif);font-size:32px;margin:4px 0}.sub-cta>a{background:linear-gradient(90deg,#b56c15,#d89735);padding:17px 25px;font-size:11px;font-weight:800}.sub-footer{display:flex;justify-content:space-between!important;gap:50px}.posts-page{max-width:1300px;margin:auto;padding:75px 28px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.posts-page article{border:1px solid var(--line);background:#fff}.posts-page img{width:100%;aspect-ratio:16/9;object-fit:cover}.posts-page article>div{padding:24px}.posts-page span{color:var(--gold);text-transform:uppercase;font-size:9px;font-weight:800}.posts-page h2{font-family:var(--font-serif);font-size:28px;line-height:1.1}.posts-page p{color:var(--muted);font-size:13px;line-height:1.6}.posts-page a{color:#a36213;font-size:11px;font-weight:800}.article-page{max-width:1080px;margin:75px auto;padding:0 28px}.article-page>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.article-body{max-width:760px;margin:45px auto}.article-lead{font-family:var(--font-serif);font-size:25px!important;color:var(--ink)!important}.article-body h2{font-family:var(--font-serif);font-size:31px;margin-top:35px}.article-body p,.legal-page p{font-size:15px;line-height:1.8;color:#4e4a44}.article-note{background:#f5ede1;border-left:3px solid var(--gold);padding:20px;margin-top:40px;font-size:12px;line-height:1.6}.legal-page{max-width:850px;margin:70px auto;padding:0 28px}.legal-page h2{font-family:var(--font-serif);font-size:28px;margin-top:35px}.legal-date{border-top:1px solid var(--line);padding-top:20px;margin-top:40px;font-size:11px!important}.blog-grid img{aspect-ratio:16/9}.director-photo img{width:min(420px,100%)}
.free-analysis-badge{border:1px solid var(--gold);background:linear-gradient(90deg,rgba(191,121,30,.18),rgba(217,154,61,.06));padding:11px 12px;margin:0 0 16px;text-align:center}.free-analysis-badge b{display:block;color:#efb456;font-size:11px;letter-spacing:.04em}.free-analysis-badge span{display:block;color:#eee;font-size:8px;margin-top:3px}
.carousel-wrap{max-width:1450px;margin:auto;display:grid;grid-template-columns:44px 1fr 44px;gap:10px;align-items:center}.carousel-wrap>button{width:42px;height:64px;border:1px solid var(--gold);background:#fff;color:var(--gold);font-family:var(--font-serif);font-size:36px;cursor:pointer}.blog-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 2px 18px}.blog-carousel::-webkit-scrollbar{display:none}.blog-carousel article{scroll-snap-align:start;background:#fff;border:1px solid var(--line);min-height:430px;display:flex;flex-direction:column}.blog-carousel img{width:100%;aspect-ratio:16/9;object-fit:cover}.blog-carousel article>div{padding:23px;display:flex;flex-direction:column;flex:1}.blog-carousel span{color:var(--gold);text-transform:uppercase;font-size:9px;font-weight:800}.blog-carousel h3{font-family:var(--font-serif);font-size:25px;line-height:1.08;margin:10px 0}.blog-carousel p{font-size:12px;line-height:1.6;color:var(--muted)}.blog-carousel a{color:#a36213;font-size:10px;font-weight:800;margin-top:auto}.dynamic-post-state{min-height:70vh;display:grid;place-content:center;text-align:center}.admin-gate{min-height:100vh;display:grid;place-content:center;text-align:center;padding:30px;background:#f5f1e9}.admin-gate h1{font-family:var(--font-serif);font-size:48px}.admin-gate a{color:var(--gold);font-weight:800}.admin-shell{min-height:100vh;background:#f3f0e9;display:grid;grid-template-columns:250px 1fr}.admin-shell>aside{background:#131414;color:#fff;padding:28px 22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.admin-logo{width:48px;height:48px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-family:var(--font-serif);font-size:22px}.admin-shell>aside h1{font-family:var(--font-serif);font-size:25px;margin:12px 0 0}.admin-shell>aside>small{color:#999;font-size:9px}.admin-shell>aside nav{margin-top:38px;display:grid;gap:8px}.admin-shell>aside nav button,.admin-shell>aside nav a{background:transparent;border:0;color:#ccc;text-align:left;padding:12px;font-size:12px;cursor:pointer}.admin-shell>aside nav .active,.admin-shell>aside nav button:hover{background:#ffffff0e;color:var(--gold2)}.admin-user{margin-top:auto;border-top:1px solid #ffffff18;padding-top:20px}.admin-user span,.admin-user small,.admin-user a{display:block;font-size:10px;margin:4px 0}.admin-user small{color:#888;word-break:break-all}.admin-user a{color:var(--gold);margin-top:10px}.admin-main{padding:40px clamp(25px,5vw,70px)}.admin-main>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.admin-main header p{color:var(--gold);font-size:9px;font-weight:800;letter-spacing:.12em;margin:0}.admin-main header h2{font-family:var(--font-serif);font-size:39px;margin:5px 0}.admin-main header>button,.form-actions button:last-child{background:var(--ink);color:#fff;border:1px solid var(--gold);padding:13px 18px;font-size:10px;font-weight:800}.admin-table{display:grid;gap:9px}.admin-table article{display:grid;grid-template-columns:90px 1fr auto auto;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);padding:10px}.admin-table img{width:90px;height:64px;object-fit:cover}.admin-table h3{font-family:var(--font-serif);font-size:19px;margin:5px 0}.admin-table p{font-size:9px;color:#777}.admin-table button{border:1px solid var(--line);background:#fff;padding:9px;font-size:10px}.admin-table .danger{color:#9b2b22}.status{text-transform:uppercase;font-size:8px;font-weight:800;color:#777}.status.publicado{color:#26714e}.status.rascunho{color:#a26917}.post-form{background:#fff;border:1px solid var(--line);padding:30px}.post-form>label,.form-row label{display:grid;gap:7px;font-size:10px;font-weight:800;text-transform:uppercase;color:#555;margin-bottom:18px}.post-form input,.post-form textarea,.post-form select{width:100%;border:1px solid #d8d0c3;background:#fff;padding:11px;font-size:12px;text-transform:none}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.form-row.compact{grid-template-columns:200px 1fr;align-items:center}.form-row .check{display:flex;align-items:center;gap:8px}.form-row .check input{width:16px}.cover-preview{max-width:280px;aspect-ratio:16/9;object-fit:cover;margin-bottom:20px}.form-actions{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:flex-end;gap:12px}.form-actions button{padding:12px 18px;border:1px solid var(--line);background:#fff}.case-list{display:grid;gap:12px}.case-list article{background:#fff;border:1px solid var(--line);padding:20px;display:grid;grid-template-columns:1fr auto;gap:10px}.case-list h3{font-family:var(--font-serif);font-size:23px;margin:4px 0}.case-list span,.case-list p{font-size:10px;color:#666}.case-list article>p{grid-column:1/-1;font-size:12px;line-height:1.6}.case-list a{display:inline-block;background:#1d1e1e;color:#fff;padding:8px 10px;margin-left:5px;font-size:9px}
@media(max-width:900px){.blog-carousel{grid-auto-columns:calc((100% - 18px)/2)}.admin-shell{grid-template-columns:1fr}.admin-shell>aside{position:static;height:auto}.admin-shell>aside nav{grid-template-columns:1fr 1fr;margin-top:20px}.admin-user{margin-top:20px}.form-row{grid-template-columns:1fr}.admin-table article{grid-template-columns:70px 1fr}.admin-table article>button{grid-row:2}.admin-main{padding:25px 15px}}
@media(max-width:560px){.carousel-wrap{grid-template-columns:1fr}.carousel-wrap>button{display:none}.blog-carousel{grid-auto-columns:88%;padding-left:2px}.blog-carousel article{min-height:400px}.admin-main>header{display:block}.admin-main header>button{margin-top:10px}.case-list article{grid-template-columns:1fr}.form-row.compact{grid-template-columns:1fr}}
.hero{grid-template-columns:1.03fr .9fr 1fr}.hero-photo{background-size:cover;background-repeat:no-repeat;background-position:48% center;background-color:#e9e5dc}
@media(max-width:1100px) and (min-width:851px){.hero{grid-template-columns:1fr .9fr 1fr}.hero-copy{padding-left:28px}.hero h1{font-size:45px}.case-form{width:calc(100% - 20px);margin-right:20px;padding-left:22px;padding-right:22px}.hero-photo{background-size:cover;background-position:47% center}}
@media(max-width:850px){.hero-photo{background-size:auto 96%;background-position:center bottom;background-color:#e9e5dc}}
.media-upload,.category-form{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);padding:18px;margin-bottom:24px}.media-upload input,.category-form input{flex:1;border:1px solid var(--line);padding:10px}.media-upload button,.category-form button,.settings-save{background:var(--ink);color:#fff;border:1px solid var(--gold);padding:12px 18px;font-size:10px;font-weight:800}.media-upload span{font-size:10px;color:#666}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.media-grid article{background:#fff;border:1px solid var(--line);padding:10px}.media-grid img{width:100%;aspect-ratio:16/9;object-fit:cover}.media-grid p{font-size:8px;word-break:break-all;color:#777}.media-grid button{border:1px solid var(--line);background:#fff;padding:7px;font-size:9px;margin-right:5px}.media-grid .danger{color:#9b2b22}.category-list{display:grid;gap:8px}.category-list article{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);padding:16px}.category-list b,.category-list span{display:block}.category-list span{font-size:9px;color:#777;margin-top:3px}.category-list button{border:1px solid var(--line);background:#fff;color:#9b2b22;padding:8px}.settings-form{max-width:650px}.settings-save{display:block;margin-left:auto}
@media(max-width:1000px){.media-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.media-grid{grid-template-columns:1fr}.media-upload,.category-form{display:grid}}
@media(max-width:800px){.sub-header nav a:not(.sub-whatsapp){display:none}.sub-header .brand small{display:none}.sub-content{grid-template-columns:1fr}.service-list>div,.posts-page{grid-template-columns:1fr}.sub-aside{position:static}.sub-cta,.sub-footer{display:block!important}.sub-cta>a{display:block;text-align:center;margin-top:22px}.sub-hero{padding:65px 22px}.sub-hero h1{font-size:44px}}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}.stats-grid article{background:#fff;border:1px solid var(--line);padding:22px}.stats-grid span{display:block;color:#777;font-size:9px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.stats-grid strong{display:block;color:var(--ink);font-family:var(--font-serif);font-size:34px;margin-top:7px}.dashboard-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.dashboard-actions button{background:#171818;color:#fff;border:1px solid var(--gold);padding:22px;text-align:left;font-family:var(--font-serif);font-size:20px;cursor:pointer}.dashboard-actions button:hover{color:var(--gold2)}
.case-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:20px;align-items:start}.case-list article{cursor:pointer;transition:.2s}.case-list article:hover,.case-list article.selected{border-color:var(--gold);box-shadow:0 8px 24px #6e4b2017}.case-list article.selected{background:#fffaf2}.case-detail{background:#fff;border:1px solid var(--line);padding:26px;position:sticky;top:24px}.case-detail h3{font-family:var(--font-serif);font-size:27px;margin:3px 0 6px}.case-detail>p{font-size:11px;color:#666;line-height:1.55}.case-detail form{display:grid;gap:9px;border-top:1px solid var(--line);padding-top:17px;margin-top:17px}.case-detail label{display:grid;gap:7px;font-size:9px;text-transform:uppercase;font-weight:800;color:#666}.case-detail select,.case-detail textarea{width:100%;border:1px solid #d8d0c3;background:#fff;padding:11px;font-size:12px;text-transform:none}.case-detail form button{background:var(--ink);color:#fff;border:1px solid var(--gold);padding:12px;font-size:10px;font-weight:800;cursor:pointer}.document-list{border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.document-list h4{font-family:var(--font-serif);font-size:19px;margin:0 0 10px}.document-list a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eee6da;color:#9c5c0d;font-size:10px;font-weight:750;word-break:break-all}.document-list small{color:#777;white-space:nowrap}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(3,1fr)}.case-workspace{grid-template-columns:1fr}.case-detail{position:static}}@media(max-width:650px){.stats-grid,.dashboard-actions{grid-template-columns:1fr 1fr}.case-workspace{display:block}.case-detail{margin-top:18px}}@media(max-width:430px){.stats-grid,.dashboard-actions{grid-template-columns:1fr}}
.site-chat{position:fixed;right:22px;bottom:20px;z-index:90;display:grid;justify-items:end;gap:12px}.chat-window[hidden]{display:none}.chat-launcher{display:flex;align-items:center;gap:10px;border:1px solid #d59a42;border-radius:999px;background:#171818;color:#fff;padding:10px 16px 10px 10px;box-shadow:0 12px 34px #0005;cursor:pointer}.chat-launcher span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#b96e14,#dca044);font-size:18px}.chat-launcher b{font-size:11px}.chat-window{width:min(390px,calc(100vw - 28px));height:min(590px,calc(100vh - 105px));background:#fff;border:1px solid #c98a32;border-radius:14px;box-shadow:0 24px 70px #0005;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto}.chat-window>header{display:flex;align-items:center;gap:11px;background:#151616;color:#fff;padding:14px}.chat-avatar{width:40px;height:40px;border:1px solid var(--gold2);display:grid;place-items:center;color:var(--gold2);font-family:var(--font-serif);font-size:17px}.chat-window>header div{display:grid;gap:3px}.chat-window>header strong{font-family:var(--font-serif);font-size:18px}.chat-window>header small{font-size:8px;color:#ccc}.chat-window>header small i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#42a66a;margin-right:5px}.chat-window>header button{margin-left:auto;border:0;background:transparent;color:#fff;font-size:25px;cursor:pointer}.chat-body{background:#f5f1e9;padding:15px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.chat-history{display:flex;flex-direction:column;gap:10px}.chat-message{max-width:85%;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #e2d8c8;align-self:flex-start}.chat-message.visitor{align-self:flex-end;background:#1c1d1d;color:#fff;border-color:#b97822}.chat-message b{display:block;font-size:8px;text-transform:uppercase;color:#a76613;margin-bottom:4px}.chat-message.visitor b{color:#e3a851}.chat-message p{white-space:pre-wrap;margin:0;font-size:12px;line-height:1.45}.chat-message time{display:block;text-align:right;color:#888;font-size:7px;margin-top:5px}.chat-form{padding:12px;background:#fff;border-top:1px solid #e8dfd2}.chat-identification{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:7px}.chat-identification[hidden]{display:none}.chat-identification input,.chat-compose textarea{width:100%;border:1px solid #d5cbbb;border-radius:7px;padding:9px;font-size:11px;outline:none}.chat-compose{display:grid;grid-template-columns:1fr 42px;gap:7px;align-items:end}.chat-compose textarea{resize:none}.chat-compose button{height:42px;border:0;border-radius:50%;background:linear-gradient(135deg,#b86d13,#dda044);color:#fff;font-size:18px;cursor:pointer}.chat-form>a{display:block;text-align:center;color:#9b5c0e;font-size:9px;font-weight:800;margin-top:8px}.chat-error{display:block;color:#a02b24;margin-top:5px;font-size:9px}@media(max-width:850px){.site-chat{right:14px;bottom:14px}.chat-launcher b{display:none}.chat-launcher{padding:8px}.chat-launcher span{width:42px;height:42px}.chat-identification{grid-template-columns:1fr}}
.chat-admin-workspace{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(380px,1.28fr);gap:18px;align-items:start}.chat-session-list{display:grid;gap:8px}.chat-session-list>a{border:1px solid var(--line);background:#fff;text-align:left;padding:15px;display:grid;gap:4px}.chat-session-list>a.selected{border-color:var(--gold);background:#fffaf2}.chat-session-list span{color:#a56110;text-transform:uppercase;font-size:8px;font-weight:800}.chat-session-list b{font-family:var(--font-serif);font-size:20px}.chat-session-list small,.chat-session-list time{font-size:8px;color:#777}.chat-session-list p{font-size:10px;color:#555;margin:4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-conversation{background:#fff;border:1px solid var(--line);position:sticky;top:22px}.admin-messages{height:430px;overflow-y:auto;background:#f6f2ea;padding:18px;display:flex;flex-direction:column;gap:9px}.admin-messages>div{max-width:82%;padding:10px 12px;background:#fff;border:1px solid var(--line)}.admin-messages>div.atendente{align-self:flex-end;background:#1b1c1c;color:#fff;border-color:var(--gold)}.admin-messages b{font-size:8px;color:#a66412}.admin-messages p{font-size:12px;line-height:1.45;white-space:pre-wrap}.admin-messages time{display:block;font-size:7px;color:#888;text-align:right}.admin-conversation>form{padding:14px;display:grid;grid-template-columns:1fr auto;gap:8px}.admin-conversation textarea{border:1px solid var(--line);padding:10px;resize:none}.admin-conversation form button{background:#171818;color:#fff;border:1px solid var(--gold);padding:10px;font-size:9px;font-weight:800}@media(max-width:850px){.chat-admin-workspace{grid-template-columns:1fr}.admin-conversation{position:static}}

/* Ajuste fino do título principal para não cortar em telas menores. */
@media(max-width:850px){.hero h1{font-size:45px;line-height:.98}}
@media(max-width:560px){.hero h1{font-size:39px}}

/* ===========================================================================
   INTEGRAJUD — CELULAR
   A primeira tela é uma landing completa (foto, promessa, provas e botões de
   contato) que cabe sem rolar. Abaixo dela o site continua normalmente e a
   pessoa PODE rolar até o rodapé: é assim que o Google enxerga o conteúdo.

   Quatro decisões sustentam isso (ver PADRAO-SITE/LANDING-MOBILE.md):
   1. altura por min-height, nunca height fixo — altura fixa corta texto;
   2. foto e texto lado a lado, nunca a foto atrás do texto com degradê;
   3. dvh, não vh, porque a barra do navegador do celular aparece e some;
   4. a barra verde fixa cobre os últimos pixels: a landing termina antes dela.
   =========================================================================== */
.ij-mobile{display:none}
@media(max-width:650px){
  :root{--ij-topo:58px;--ij-bar:clamp(56px,8dvh,68px)}
  /* Sem overflow-x:hidden aqui: ele promove o eixo vertical a auto e o <body>
     vira container de rolagem — a página trava no celular. */
  html,body{width:100%;min-height:100%}
  body{padding:0!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .topbar{height:var(--ij-topo);min-height:var(--ij-topo);padding:0 .8rem;position:relative;top:auto}.topbar .brand{gap:.5rem}.topbar .brand-mark{display:grid!important;width:31px;height:34px;font-size:.82rem}.topbar .brand strong{font-size:1.02rem}.topbar .brand small{max-width:calc(100vw - 120px);font-size:.34rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* O menu volta a existir: agora a página tem conteúdo abaixo para navegar. */
  .topbar .menu-button{display:flex;align-items:center;justify-content:center;margin-left:auto;min-height:44px;min-width:44px;padding-inline:0;font-size:1.25rem}
  .topbar .whatsapp-top{display:none!important}
  .topbar .nav{top:var(--ij-topo)}

  /* A landing: min-height (nunca height) descontando cabeçalho e barra fixa.
     As duas últimas linhas — o CTA escuro e os botões de contato — são auto,
     não fração. Com fração, numa tela de altura média a fatia ficava menor
     que os 44px de alvo de toque, o bloco empurrava a seção para baixo e a
     barra verde fixa passava a cobrir justamente LIGAR AGORA e CHAMAR NO
     WHATSAPP. Em auto eles pedem só o que precisam e o resto se divide entre
     foto, faixa de público, serviços e prova. */
  .ij-mobile{display:grid;grid-template-rows:37fr 4fr 20fr 15fr auto auto;width:100%;min-height:calc(100dvh - var(--ij-topo) - var(--ij-bar) - 8px);height:auto;background:#fff}
  /* Foto AO LADO do texto, em duas colunas. A versão anterior punha a foto
     atrás, em position:absolute, com um degradê branco por cima — a foto ficava
     lavada e o rosto sumia. */
  .ij-mobile-hero{grid-row:1;display:grid;grid-template-columns:1fr 43%;min-height:0;overflow:hidden;background:#f8f4ec}
  .ij-mobile-copy{position:static;z-index:2;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:.25rem .55rem .25rem .8rem;background:none}
  .ij-mobile-copy>p{margin:0;color:var(--gold);font-size:clamp(.41rem,1.55vw,.5rem);line-height:1.2;letter-spacing:.09em;font-weight:900}.ij-mobile-copy .ij-mobile-titulo{font-family:var(--font-serif),Georgia,serif;font-size:clamp(1.12rem,5.8vw,1.63rem);line-height:1.01;margin:.3rem 0 .38rem}.ij-mobile-copy>span{font-size:clamp(.56rem,2.25vw,.68rem);line-height:1.22;margin:0 0 .48rem;color:#45433f}
  .ij-mobile-copy>a{display:flex;align-items:center;justify-content:center;gap:.38rem;width:min(100%,194px);min-height:44px;padding-block:.38rem;padding-inline:.3rem;border-radius:6px;background:#10ad4a;color:#fff;font-size:1.15rem;box-shadow:0 7px 15px #0b7e3838}.ij-mobile-copy>a b{display:flex;flex-direction:column;font-size:.61rem;line-height:1.05;text-align:left}.ij-mobile-copy>a small{font-size:.49rem;font-weight:600}
  .ij-mobile-photo{position:static;width:100%;height:100%;min-height:0;overflow:hidden;line-height:0}
  /* cover escala pelo lado que falta: neste quadro (mais alto que largo) quem
     manda é a largura, então o número que importa é o vertical. */
  .ij-mobile-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 10%;filter:contrast(1.04) saturate(1.02)}
  .ij-mobile-audience{grid-row:2;display:flex;align-items:center;justify-content:space-evenly;gap:.25rem;padding:0 .5rem;border-top:1px solid #eee7dc;border-bottom:1px solid #d8cdbd;overflow:hidden;white-space:nowrap}.ij-mobile-audience span{color:#8e5812;font-size:clamp(.42rem,1.75vw,.56rem);font-weight:900}
  .ij-mobile-services{grid-row:3;min-height:0;margin:.36rem .68rem;padding:.06rem .65rem;border:1px solid #ddd4c7;border-radius:5px;overflow:hidden}.ij-mobile-services article{min-height:calc((100% - 2px)/3);display:flex;align-items:center;gap:.55rem;border-bottom:1px solid #e5ddd1}.ij-mobile-services article:last-child{border:0}.ij-mobile-services i{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:.68rem;font-style:normal;font-weight:900}.ij-mobile-services div{min-width:0;display:flex;flex-direction:column}.ij-mobile-services b{font-family:var(--font-serif),Georgia,serif;font-size:clamp(.74rem,2.8vw,.86rem);line-height:1.06}.ij-mobile-services small{margin-top:.07rem;color:#655f56;font-size:clamp(.52rem,2.05vw,.61rem);line-height:1.1}
  .ij-mobile-proof{grid-row:4;min-height:0;margin:0 .68rem .3rem;padding:.25rem .5rem;display:grid;grid-template-rows:auto 1fr auto;align-items:center;text-align:center;border:1px solid #ddd4c7;border-radius:5px;background:#f8f4ec;overflow:hidden}.ij-mobile-proof p{margin:0;font-size:clamp(.41rem,1.5vw,.48rem);font-weight:900;letter-spacing:.045em}.ij-mobile-proof strong{font-family:var(--font-serif),Georgia,serif;font-size:clamp(.58rem,2.35vw,.7rem);line-height:1.1}.ij-mobile-proof small{font-size:clamp(.4rem,1.55vw,.48rem);color:#665f55}
  /* Alvo de toque de 44px por min-height; nada de padding horizontal para
     chegar lá, senão a caixa estica e a borda passa da palavra. */
  .ij-mobile-cta{grid-row:5;min-height:44px;margin:0 .68rem .28rem;padding-inline:0;display:flex;align-items:center;justify-content:center;border-bottom:2px solid var(--gold);border-radius:5px;background:#171818;color:#fff;font-size:clamp(.52rem,2.05vw,.62rem);font-weight:900}
  .ij-mobile-actions{grid-row:6;min-height:44px;margin:0 .68rem .28rem;display:grid;grid-template-columns:1fr 1.35fr;border:1px solid #ddd4c7;border-radius:5px;overflow:hidden}.ij-mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:44px;padding-block:.3rem;padding-inline:.1rem;font-size:clamp(.43rem,1.8vw,.52rem);font-weight:900;white-space:nowrap}.ij-mobile-actions a+a{border-left:1px solid #ddd4c7;color:#0a963d}
  .ij-mobile-fixed{position:fixed;z-index:100;left:0;right:0;bottom:0;width:100%;height:var(--ij-bar);min-height:44px;display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.35rem max(1rem,env(safe-area-inset-right)) max(.35rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));border-top:2px solid #fff;background:#10ad4a;color:#fff}.ij-mobile-fixed>span{font-size:1.45rem}.ij-mobile-fixed>b{display:flex;flex-direction:column;font-size:.68rem;line-height:1.05}.ij-mobile-fixed small{font-size:.5rem;font-weight:500}

  /* O resto do site NÃO é escondido: o Google indexa pela versão de celular, e
     esconder bloco de conteúdo para encurtar custa ranqueamento. Sai apenas o
     que a landing acima já diz com as mesmas palavras — o texto do hero de
     desktop (que traz um segundo H1) e a foto grande. O formulário fica. */
  body>main>.hero>.hero-copy,body>main>.hero>.hero-photo{display:none}
  body>main>.hero{display:block;min-height:0;padding-top:.9rem}
  .case-form{width:calc(100% - 24px);margin:0 12px 22px;position:relative;max-width:none}
  /* A barra verde é fixa: sem esta folga ela cobriria o fim do rodapé. */
  body>main>footer{padding-bottom:calc(var(--ij-bar) + 14px)}
  /* O balão do chat brigaria com a barra fixa do WhatsApp, que já é o mesmo
     canal de atendimento. */
  .site-chat{display:none!important}
  .home-zap-fixo{display:none!important}
}
/* Celular baixo: cabeçalho e blocos encolhem para a landing continuar cabendo. */
@media(max-width:650px) and (max-height:760px){
  :root{--ij-topo:52px}
  .ij-mobile-copy .ij-mobile-titulo{font-size:clamp(1rem,5.25vw,1.34rem)}
  .ij-mobile-copy>span{font-size:.55rem}
}
/* Aparelho estreito ou tela muito baixa: a landing deixa de ser uma tela só e
   passa a empilhar. Aqui os blocos não recebem mais piso de altura: em
   display:block eles não têm uma linha de grade para preencher, então o piso
   só produzia vazio esticado — eram 60px sobrando dentro do cartão dos três
   serviços. Quem manda na altura passa a ser o texto. */
@media(max-width:360px), (max-width:650px) and (max-height:600px){
  :root{--ij-topo:48px}
  .topbar{position:relative}
  /* Aqui a landing NAO tenta ocupar a tela inteira: sem grade de frações para
     preencher, o piso de altura viraria vazio esticado, e reservar o espaço da
     barra verde como padding desta seção clara viraria uma faixa branca de
     ~100px antes do bloco seguinte. A seção termina no seu conteúdo; a folga
     da barra fica por conta do que vem depois, que já começa a aparecer e
     convida a rolar. */
  .ij-mobile{display:block;height:auto;min-height:0;padding-bottom:.4rem;overflow:visible}
  .ij-mobile-hero{min-height:250px}
  .ij-mobile-copy{padding-left:.62rem;padding-right:.5rem}
  .ij-mobile-copy .ij-mobile-titulo{font-size:1.02rem}
  .ij-mobile-copy>span{font-size:.53rem}
  .ij-mobile-copy>a{min-height:44px;font-size:1rem}
  .ij-mobile-audience{min-height:0;padding-block:.34rem}
  .ij-mobile-services{min-height:0;margin:.3rem .5rem;padding:.2rem .5rem}
  .ij-mobile-services article{min-height:0;padding-block:.34rem}
  .ij-mobile-services b{font-size:.69rem}
  .ij-mobile-services small{font-size:.5rem}
  .ij-mobile-proof{min-height:0;margin:0 .5rem .25rem;padding-block:.4rem}
  .ij-mobile-cta{min-height:44px;margin:0 .5rem .25rem}
  .ij-mobile-actions{min-height:44px;margin:0 .5rem .25rem}
  .ij-mobile-actions a{font-size:.42rem}
}
/* Tela muito baixa (aparelho antigo, ou com a barra do navegador aberta): o
   quadro da foto encolhe para que os botões de contato não terminem atrás da
   barra verde fixa. Vem depois do bloco acima de propósito, para vencê-lo. */
@media(max-width:650px) and (max-height:660px){
  .ij-mobile-hero{min-height:200px}
}

/* Foto corrigida somente no desktop. */
@media(min-width:851px){.hero-photo{background-image:url('images/fabio-hero-premium.webp')!important;background-size:cover!important;background-position:65% 12%!important;background-repeat:no-repeat!important;filter:none!important;box-shadow:inset -40px 0 50px -35px #00000026}}

/* ===========================================================================
   CELULAR — o conteúdo abaixo da landing
   Agora que a página rola, este bloco cuida do resto do site no celular.
   O ganho de altura vem de espaço vazio e de piso de altura fixo — nunca de
   esconder texto: o Google indexa pela versão de celular.
   =========================================================================== */
@media(max-width:650px){
  /* Piso de altura herdado de quando os cartões tinham mais conteúdo. Em CSS
     Grid, cartões da mesma linha já se igualam sozinhos: o piso só produz
     vazio esticado. */
  .area-card{min-height:0}
  .blog-grid article{min-height:0}

  /* 85px em cima e embaixo de cada seção é quase uma tela só de vazio. */
  .section{padding:2.5rem 16px}
  .section-title{margin:0 auto 1.4rem}
  
  .final-cta{padding:1.8rem 18px;gap:1.1rem}
  footer{padding:2.2rem 18px 1rem}

  /* São 14 cartões de área com 9 itens cada: 126 <li>. Cada 5px de margem
     vertical neles custa mais de meia tela. */
  .area-card{padding:16px 15px 14px}
  .area-card h3{font-size:20px}
  .area-card ul{margin:10px 0 12px}
  .area-card li{margin:2px 0}

  .method-grid{gap:6px}
  .method-grid article{padding:12px 14px 8px}

  /* Cartão de blog deitado: miniatura AO LADO do texto, não em cima dele. */
  .blog-grid{gap:10px}
  .blog-grid article{grid-template-columns:108px minmax(0,1fr)}
  .blog-grid article>div{padding:12px 13px}

  .faq-grid{gap:7px}

  /* --- alvos de toque de 44px ---------------------------------------------
     min-height + padding-inline:0. Acolchoamento horizontal para chegar aos
     44px estica a caixa, e a borda ou o sublinhado passa a ficar mais largo
     que a palavra. */
  .topbar .brand{min-height:44px}
  .nav a{min-height:44px;display:flex;align-items:center;padding-inline:0}
  .case-form input:not([type="checkbox"]):not([type="file"]){min-height:44px;padding-block:10px}
  .case-form select{min-height:44px;padding-block:10px}
  .case-form textarea{min-height:88px;padding-block:10px}
  .case-form button{min-height:48px;padding-block:13px}
  .upload{min-height:44px;align-items:center}
  .consent{min-height:44px;align-items:center}
  .faq summary{min-height:44px;display:flex;align-items:center}
  .area-card>a{min-height:44px;display:flex;align-items:center;padding-inline:0}
  .final-cta>a{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
  .footer-grid a{min-height:44px;display:flex;align-items:center;padding-inline:0}
  .footer-grid .footer-cta{justify-content:center}
  .copyright a{min-height:44px;display:inline-flex;align-items:center;padding-inline:0}
}

/* ===========================================================================
   Identificação legal no rodapé
   Perícia judicial é conteúdo YMYL (dinheiro e direitos): o Google cobra
   identificação mais dura que num blog comum. A razão social e o CNPJ ficam
   em linha própria, acima do © , para não competir com os links.
   =========================================================================== */
.copyright{flex-wrap:wrap;gap:6px 18px}
.footer-legal{flex-basis:100%;order:-1;display:block;color:#9a9a9a;font-size:9px;letter-spacing:.03em;text-transform:uppercase}
/* Nas páginas de artigo e nas legais o <main> tem largura máxima e padding
   próprios; o rodapé fica FORA dele, para a faixa escura sangrar de ponta a
   ponta em vez de abrir duas tiras claras nas laterais. */
body>footer{width:100%}

/* ===========================================================================
   Parecer técnico de exemplo — botão e janela
   O documento fica em laudos/ e abre numa janela sobre a página, no desktop e
   no celular. O iframe só recebe o endereço quando a janela abre: são 6,4 MB,
   que não podem pesar no carregamento de quem nunca clicar.
   =========================================================================== */
.report-trigger{cursor:pointer}

/* desktop: bloco de destaque logo abaixo dos pontos do hero */
.report-trigger-hero{display:inline-flex;align-items:center;gap:12px;margin-top:26px;
  min-height:52px;padding:10px 22px;border:1px solid var(--gold);background:#fff;
  color:var(--ink);transition:.2s}
.report-trigger-hero:hover{background:var(--cream);border-color:var(--gold2);
  box-shadow:0 10px 24px #6e4b2020}
.report-trigger-hero b{color:var(--gold);font-size:18px;line-height:1}
.report-trigger-hero span{display:flex;flex-direction:column;text-transform:uppercase;
  font-size:11px;font-weight:800;letter-spacing:.07em}
.report-trigger-hero small{margin-top:3px;color:var(--muted);text-transform:none;
  font-size:10px;font-weight:500;letter-spacing:0}

/* celular: dentro do formulário, que lá é o primeiro bloco depois da landing */
.report-trigger-form{display:none}

.report-modal[hidden]{display:none}
.report-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;
  justify-content:center;padding:2vh 2vw;background:#0b0c0cd9}
.report-modal-box{display:flex;flex-direction:column;width:min(1080px,100%);
  height:96vh;background:#fff;border:2px solid var(--gold);overflow:hidden}
.report-modal-bar{display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:0 8px 0 16px;min-height:48px;background:var(--coal);color:#fff}
.report-modal-bar strong{font-family:var(--font-serif),Georgia,serif;font-size:14px;
  letter-spacing:.03em}
.report-modal-close{min-width:44px;min-height:44px;padding-inline:0;border:0;
  background:none;color:#fff;font-size:26px;line-height:1;cursor:pointer}
.report-modal-close:hover{color:var(--gold2)}
.report-modal iframe{flex:1;width:100%;border:0;background:#525659}

@media(max-width:650px){
  /* No celular o hero de texto não aparece; quem chama a janela é o botão do
     formulário. Um visível de cada vez, nunca os dois. */
  .report-trigger-hero{display:none}
  .report-trigger-form{display:flex;align-items:center;justify-content:center;
    min-height:44px;padding-inline:0;margin:0 0 10px;border:1px solid var(--gold);
    color:var(--gold2);text-transform:uppercase;font-size:11px;font-weight:800;
    letter-spacing:.06em}
  .report-modal{padding:0}
  .report-modal-box{height:100dvh;width:100%;border:0}
}

/* O campo-armadilha (honeypot) precisa sumir para a pessoa e continuar
   existindo para o robo: fora da tela, sem foco e sem leitura por leitor de
   tela. Nada de display:none, que alguns robos detectam. */
.hp-field{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}

/* ===========================================================================
   Rodapé no celular — arrumação depois de ver na tela
   Com 44px de alvo de toque em cada link, as duas listas do rodapé viraram
   344px e 300px de altura: o rodapé sozinho passou de uma tela e meia e os
   links ficaram boiando em buracos de 36px.

   Duas correções, sem tirar área de toque de ninguém:
   - a NAVEGAÇÃO vira duas colunas (são rótulos curtos: Início, Sobre, FAQ);
     os ARTIGOS ficam em uma só, porque os títulos são longos e em meia
     largura quebrariam em três linhas;
   - uma linha divisória fininha transforma o vazio entre os links em lista.
   =========================================================================== */
@media(max-width:650px){
  .footer-grid>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;column-gap:14px}
  .footer-grid>div:nth-child(2)>h3{grid-column:1/-1}
  .footer-grid>div:nth-child(2) a,
  .footer-grid>div:nth-child(3) a{border-bottom:1px solid #ffffff14}
  .footer-grid>div:nth-child(2) a:last-child,
  .footer-grid>div:nth-child(3) a:last-child{border-bottom:0}
  .footer-grid{gap:20px}
  .footer-grid h3{margin-bottom:2px}
}

/* ===========================================================================
   CARTÕES DE ÁREAS DE ATUAÇÃO — mesmo padrão do card do GKFD
   ---------------------------------------------------------------------------
   Estrutura, na ordem:

       01                          número, serif, dourado
       CÍVEIS                      título, serif, caixa alta
       9 modalidades               contador, dourado, pequeno
       • item ...................  risco entre CADA item
       • item ...................
       SOLICITAR ANÁLISE       →   ação presa no pé do cartão

   O detalhe que faz a lista funcionar: o risco atravessa o cartão inteiro,
   incluindo a calha onde mora o ponto dourado. É isso que faz o recuo do
   texto ler como tabela em vez de desalinhamento — sem o risco, o mesmo
   recuo dava a impressão de conteúdo empurrado para a direita.

   Uma diferença de propósito em relação ao GKFD: lá o ponto fica em
   top:.43rem, herdado de antes do <li> ganhar padding, e por isso aparece
   acima da linha do texto. Aqui ele fica centrado na primeira linha.

   O rodapé leva uma ação só. O "VER DETALHES" do GKFD aponta para a página
   daquele serviço, e aqui não existe página por área.
   =========================================================================== */
.area-card{
  border:1px solid var(--line);
  background:#fff;
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:2rem;
  transition:border-color .2s,transform .2s,box-shadow .2s;
}
.area-card:hover{
  border-color:var(--gold);
  transform:translateY(-3px);
  box-shadow:0 12px 30px #0001;
}
.area-number{
  color:var(--gold);
  font-family:var(--font-serif),Georgia,serif;
  font-size:1.2rem;
  font-weight:700;
  line-height:1;
}
.area-card h3{
  margin:1rem 0 .2rem;
  font-family:var(--font-serif),Georgia,serif;
  font-size:1.35rem;
  font-weight:700;
  text-transform:uppercase;
  line-height:1.08;
  letter-spacing:.005em;
  padding:0;
  border:0;
}
.area-card>small{
  color:var(--gold);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.03em;
}
/* flex:1 + align-content:space-between faz a lista ocupar a sobra do cartão e
   distribuir os itens: cartões da mesma linha terminam alinhados. */
.area-card ul{
  display:grid;
  flex:1;
  align-content:space-between;
  gap:0;
  margin:1.2rem 0 .4rem;
  padding:0;
  list-style:none;
}
.area-card li{
  position:relative;
  margin:0;
  padding:.6rem 0 .6rem 1rem;
  border-bottom:1px solid #efece4;
  color:#4f4b45;
  font-size:.76rem;
  line-height:1.35;
}
.area-card li:last-child{border-bottom:0}
.area-card li:before{
  content:"";
  position:absolute;
  left:0;
  top:.95rem;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--gold);
  margin:0;
}
.area-card>a.area-analise{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
  padding:1rem 0 0;
  border-top:1px solid var(--line);
  color:inherit;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.06em;
}
.area-card>a.area-analise span{color:var(--gold);font-size:.8rem}
.area-card:hover>a.area-analise{color:var(--gold)}

@media(max-width:650px){
  /* São 14 cartões com 9 itens: 126 <li>. Com .6rem de acolchoamento em cada
     um, como no desktop, a seção sozinha cresceria quase uma tela. Aqui o
     acolchoamento encolhe, mas o risco e o alinhamento continuam iguais. */
  .area-card{padding:1.35rem 1.25rem}
  .area-number{font-size:1.05rem}
  .area-card h3{font-size:1.18rem;margin:.7rem 0 .2rem}
  .area-card>small{font-size:.62rem}
  .area-card ul{margin:.9rem 0 .3rem}
  .area-card li{padding:.42rem 0 .42rem .95rem;font-size:.75rem}
  .area-card li:before{top:.72rem}
  .area-card>a.area-analise{min-height:44px;padding:.7rem 0 0;padding-inline:0}
}

/* ===========================================================================
   CARTÕES DO BLOG — redesenho
   Mesma linguagem dos cartões de área: faixa dourada no topo, régua fina e
   tipografia com mais corpo. E, sobretudo, o cartão inteiro virou link — antes
   não havia nenhum <a> aqui, e os seis artigos não eram alcançáveis pela home.
   O seletor cobre .blog-card (o HTML da home) e article (o que o app.js monta
   quando há matéria publicada pelo painel).
   =========================================================================== */
.blog-grid .blog-card,
.blog-grid article{
  background:#fff;
  /* Mesma moldura do cartao de area e do cartao do GKFD: borda fina cinza,
     que fica dourada no hover. */
  border:1px solid var(--line);
  display:grid;
  grid-template-columns:42% minmax(0,1fr);
  min-height:0;
  /* O cartao virou <a>, entao passou a herdar a regra antiga
     .blog-grid a{color:#a36213;font-weight:800} — o resumo inteiro saia em
     negrito dourado. Aqui ele volta a ser texto corrido. */
  color:inherit;
  font-weight:400;
  transition:border-color .25s,box-shadow .25s,transform .25s;
}
.blog-grid .blog-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px #00000012;
  border-color:var(--gold);
}
.blog-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.78)}
.blog-grid .blog-card:hover img{filter:saturate(.95)}
.blog-grid article>div,
.blog-grid .blog-card>div{
  padding:18px 18px 16px;
  display:flex;
  flex-direction:column;
}
/* categoria: era 8px, ilegível para quem varre a página */
.blog-grid span{
  color:var(--gold);
  text-transform:uppercase;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.11em;
  padding-bottom:8px;
  border-bottom:1px solid var(--line);
}
.blog-grid h3{
  font-family:var(--font-serif);
  font-size:19px;
  font-weight:700;
  line-height:1.14;
  margin:11px 0 8px;
}
.blog-grid p{
  font-size:12px;
  font-weight:400;
  line-height:1.5;
  color:#55514a;
  margin:0;
}
/* Sinal de que o cartão leva a algum lugar. margin-top:auto prende no pé,
   então os três cartões terminam na mesma linha mesmo com resumos de
   tamanhos diferentes. */
.blog-mais{
  margin-top:auto;
  padding-top:12px;
  color:#a36213;
  text-transform:uppercase;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}
.blog-grid .blog-card:hover .blog-mais{color:var(--gold2)}

@media(max-width:650px){
  .blog-grid .blog-card,
  .blog-grid article{grid-template-columns:108px minmax(0,1fr)}
  .blog-grid article>div,
  .blog-grid .blog-card>div{padding:12px 13px}
  .blog-grid h3{font-size:16px;margin:8px 0 6px}
  .blog-grid p{font-size:11.5px;line-height:1.45}
  .blog-mais{padding-top:9px;min-height:0}
}

/* ===========================================================================
   PÁGINAS DE TEXTO — peças que faltavam
   As seis páginas de artigo já usavam .article-back, .article-kicker e
   .article-summary no HTML, mas nenhuma delas tinha regra no CSS: os três
   apareciam como texto solto, no tamanho padrão. Agora existem, e servem
   também à página Nossa história.
   =========================================================================== */
.article-back{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding-inline:0;
  color:#9c5c0d;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.article-back:hover{color:var(--gold2)}
.article-kicker{
  margin:14px 0 0;
  color:var(--gold);
  text-transform:uppercase;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
}
.article-page h1{
  font-family:var(--font-serif);
  font-size:clamp(34px,4.6vw,54px);
  line-height:1.02;
  letter-spacing:-.02em;
  margin:10px 0 0;
}
.article-summary{
  max-width:760px;
  margin:16px 0 0;
  padding-bottom:26px;
  border-bottom:1px solid var(--line);
  font-size:17px;
  line-height:1.6;
  color:#4e4a44;
}

/* ===========================================================================
   NOSSA HISTÓRIA
   =========================================================================== */
.historia-topo{
  display:grid;
  grid-template-columns:minmax(240px,.62fr) 1.38fr;
  align-items:center;
  gap:46px;
  margin:44px 0 8px;
}
.historia-foto{display:flex;justify-content:center}
.historia-foto img{
  width:min(340px,100%);
  /* height:auto e obrigatorio: sem ele o atributo height="800" do <img> vale
     como altura e o aspect-ratio nao entra — o retrato saia oval. */
  height:auto;
  aspect-ratio:1;
  object-fit:cover;
  object-position:center center;
  border-radius:50%;
  border:9px solid #f2e7d5;
  outline:1px solid var(--gold);
}
.historia-intro p{font-size:15px;line-height:1.8;color:#4e4a44}
.historia-intro .article-lead{
  font-family:var(--font-serif);
  font-size:25px;
  line-height:1.35;
  color:var(--ink);
  margin-top:0;
}
/* A frase que o fundador usa como princípio: fica destacada, mas em bloco de
   citação de verdade, não em caixa colorida — é texto dele, não um selo. */
.historia-citacao{
  margin:22px 0 0;
  padding:2px 0 2px 20px;
  border-left:3px solid var(--gold);
  font-family:var(--font-serif);
  font-size:19px;
  line-height:1.42;
  color:var(--ink);
}
/* O princípio que resume a empresa. Repete a promessa do site inteiro, então
   ganha o mesmo peso de um título. */
.historia-principio{
  margin:26px 0 6px;
  padding:22px 24px;
  background:var(--cream);
  border-left:3px solid var(--gold);
  font-family:var(--font-serif);
  font-size:23px!important;
  line-height:1.3;
  color:var(--ink)!important;
}
.historia-assinatura{
  margin-top:30px;
  padding-top:20px;
  border-top:1px solid var(--line);
  font-family:var(--font-serif);
  font-size:19px!important;
  color:var(--ink)!important;
}

/* As duas faixas ficam FORA do <main>, que tem largura maxima propria: assim
   sangram de ponta a ponta sozinhas. Nada de width:100vw — 100vw conta a barra
   de rolagem e a pagina ganha rolagem lateral de 15px. */
.historia-numeros{
  padding-inline:max(28px,calc((100% - 1024px) / 2));
}

/* Tambem fora do <main>: precisa da propria largura maxima e do proprio
   recuo lateral. */
.historia-especialidades{max-width:1024px;margin:56px auto 0;padding:0 28px}
.historia-especialidades h2{
  font-family:var(--font-serif);
  font-size:31px;
  margin:0;
}
.historia-especialidades-intro{
  margin:8px 0 26px;
  font-size:14px;
  line-height:1.7;
  color:#615d56;
}
.historia-tags{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.historia-tags>div{
  border-top:2px solid var(--gold);
  padding-top:14px;
}
.historia-tags h3{
  margin:0 0 10px;
  font-family:var(--font-serif);
  font-size:18px;
  text-transform:uppercase;
  letter-spacing:.01em;
}
.historia-tags ul{list-style:none;margin:0;padding:0}
.historia-tags li{
  position:relative;
  padding:.42rem 0 .42rem 1rem;
  border-bottom:1px solid #efece4;
  color:#4f4b45;
  font-size:.76rem;
  line-height:1.35;
}
.historia-tags li:last-child{border-bottom:0}
.historia-tags li:before{
  content:"";
  position:absolute;
  left:0;
  top:.78rem;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--gold);
}

.historia-cta{
  padding-inline:max(28px,calc((100% - 1024px) / 2));
}

@media(max-width:850px){
  .historia-topo{grid-template-columns:1fr;gap:26px;text-align:left}
  .historia-tags{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .article-page{margin:26px auto 0;padding:0 18px}
  .article-page h1{font-size:30px}
  .article-summary{font-size:15px;padding-bottom:20px}
  .historia-topo{margin:26px 0 0;gap:20px}
  .historia-foto img{width:min(230px,72%);border-width:7px}
  .historia-intro .article-lead{font-size:20px}
  .historia-citacao{font-size:16px;padding-left:15px}
  .historia-principio{font-size:19px!important;padding:16px 17px}
  .historia-assinatura{font-size:16px!important}
  .article-body{margin:26px auto}
  .article-body h2{font-size:24px;margin-top:26px}
  .historia-numeros{padding-inline:18px}
  .historia-especialidades{margin-top:36px;padding:0 18px}
  .historia-especialidades h2{font-size:24px}
  .historia-tags{grid-template-columns:1fr;gap:20px}
  .historia-cta{padding-inline:18px}
}

/* Link da secao "Direcao tecnica" da home para a pagina Nossa historia. */
.director-links{display:flex;flex-wrap:wrap;column-gap:28px}
.historia-link{display:inline-flex;align-items:center;gap:9px;margin-top:6px;min-height:44px;padding-inline:0;color:#9c5c0d;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.08em}
.historia-link span{color:var(--gold);font-size:14px}
.historia-link:hover{color:var(--gold2)}

/* ===========================================================================
   PÁGINAS DE ÁREA DE ATUAÇÃO
   Uma por área, cada uma respondendo a uma busca própria. Reaproveitam a
   moldura de .article-page e a mesma linguagem de lista com risco dos cartões.
   =========================================================================== */
.trilha{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  font-size:11px;
  color:#7a746a;
}
.trilha a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding-inline:0;
  color:#9c5c0d;
  font-weight:700;
}
.trilha a:hover{color:var(--gold2)}
.trilha span{color:var(--line)}
.trilha b{font-weight:700;color:var(--ink)}

/* "Quando esta análise é decisiva": cada situação em bloco próprio, para a
   pessoa reconhecer a dela sem ler o texto inteiro. */
.area-quando{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin:20px 0 8px;
}
.area-quando>div{
  border-top:2px solid var(--gold);
  padding-top:13px;
}
.area-quando h3{
  margin:0 0 6px;
  font-family:var(--font-serif);
  font-size:17px;
  line-height:1.2;
}
.area-quando p{font-size:13px!important;line-height:1.55!important;margin:0!important}

/* As nove modalidades: termo e explicação, com o mesmo risco dos cartões. */
.area-modalidades{margin:18px 0 0}
.area-modalidades dt{
  position:relative;
  margin-top:14px;
  padding-left:1rem;
  font-family:var(--font-serif);
  font-size:18px;
  line-height:1.2;
}
.area-modalidades dt:before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--gold);
}
.area-modalidades dd{
  margin:5px 0 0 1rem;
  padding-bottom:14px;
  border-bottom:1px solid #efece4;
  font-size:14px;
  line-height:1.65;
  color:#4e4a44;
}
.area-modalidades dd:last-child{border-bottom:0}

.area-documentos{list-style:none;margin:16px 0 0;padding:0}
.area-documentos li{
  position:relative;
  padding:.55rem 0 .55rem 1rem;
  border-bottom:1px solid #efece4;
  font-size:14px;
  line-height:1.6;
  color:#4e4a44;
}
.area-documentos li:last-child{border-bottom:0}
.area-documentos li:before{
  content:"";
  position:absolute;
  left:0;
  top:1.05rem;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--gold);
}
.area-documentos b{color:var(--ink)}

/* Nos artigos o corpo e centralizado, o que ali funciona. Aqui o H1, o
   resumo e a trilha ficam na margem do <main>: um corpo centralizado abriria
   um degrau de mais de 100px entre o titulo e o primeiro paragrafo. */
.area-page .article-body{max-width:830px;margin:30px 0 0}
.area-faq{margin-top:16px}

/* Ligação entre as catorze páginas: cada uma aponta para as outras treze, o
   que dá ao Google um bloco coeso em vez de páginas soltas. */
.area-outras{
  margin:44px 0 0;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.area-outras h2{
  margin:0 0 14px;
  font-family:var(--font-serif);
  font-size:22px;
}
.area-outras>div{display:flex;flex-wrap:wrap;gap:8px}
.area-outras a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 15px;
  border:1px solid var(--line);
  background:#fff;
  font-size:12px;
  font-weight:700;
}
.area-outras a:hover{border-color:var(--gold);color:#9c5c0d}

.area-cta{padding-inline:max(28px,calc((100% - 1024px) / 2))}

/* Rodapé dos cartões da home: agora são duas ações, como no cartão do GKFD —
   uma leva à página da área, a outra ao formulário. */
/* Empilhadas em qualquer largura. O cartao do GKFD poe as duas lado a lado
   porque la a grade tem 3 colunas e o cartao passa de 370px; aqui sao 5
   colunas e o cartao fica com 226px — lado a lado, os dois rotulos quebravam
   no meio da palavra. */
.area-acoes{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  margin-top:auto;
  padding-top:.7rem;
  border-top:1px solid var(--line);
}
.area-acoes a{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding-inline:0;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.06em;
  white-space:nowrap;
}
.area-detalhe{color:#9c5c0d;border-bottom:1px solid var(--gold)}
.area-detalhe:hover{color:var(--gold2)}
.area-acoes .area-analise{
  border:0;
  border-top:1px solid var(--line);
  margin:0;
  padding:0;
  color:inherit;
  justify-content:space-between;
}
.area-acoes .area-analise span{color:var(--gold);font-size:.8rem}
/* O titulo do cartao virou link: como alvo de toque ele precisa dos 44px.
   display:flex + align-items:center mantem a aparencia intacta. */
.area-card h3 a{display:flex;align-items:center;min-height:44px;padding-inline:0;color:inherit}
.area-card:hover h3 a{color:#9c5c0d}

@media(max-width:850px){
  .area-quando{grid-template-columns:1fr;gap:14px}
}
@media(max-width:650px){
  .area-page .article-summary{font-size:14px}
  .area-quando h3{font-size:16px}
  .area-modalidades dt{font-size:16px;margin-top:12px}
  .area-modalidades dd{font-size:13px;line-height:1.55}
  .area-documentos li{font-size:13px}
  .area-outras{margin-top:30px}
  .area-outras a{font-size:11px;padding:0 12px}
  .area-cta{padding-inline:18px}
  .area-detalhe{border-bottom:0}
}

/* As regras de FAQ da home dependem do ancestral .faq, que é a classe da seção
   lá. Nas páginas de área o mesmo bloco ficava sem estilo: aparecia o
   triângulo padrão do <details> e o "+" colado no texto da pergunta. */
.area-faq details{border:1px solid var(--line);background:#fff}
.area-faq summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:44px;
  padding:14px 18px;
  font-size:13px;
  font-weight:700;
}
.area-faq summary::-webkit-details-marker{display:none}
.area-faq summary span{color:var(--gold);font-size:17px;transition:transform .2s}
.area-faq details[open] summary span{transform:rotate(45deg)}
.area-faq details p{
  margin:0;
  padding:0 18px 16px;
  color:var(--muted);
  font-size:12.5px!important;
  line-height:1.65!important;
}

/* ===========================================================================
   ARTIGOS — assinatura, data e subtítulos
   O schema passou a declarar autor pessoa e data de publicação. Isso só pode
   ser feito se a página mostrar as duas coisas: schema que afirma o que a
   página esconde é risco, não vantagem.
   =========================================================================== */
.article-meta{
  display:flex;
  align-items:center;
  gap:15px;
  margin:22px 0 0;
  padding:16px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.article-meta img{
  width:56px;
  height:56px;
  flex:0 0 56px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid #f2e7d5;
  outline:1px solid var(--gold);
}
.article-meta>div{display:flex;flex-direction:column;min-width:0}
.article-meta b{font-size:14px;letter-spacing:.01em}
.article-meta small{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.45}
.article-meta time{margin-top:5px;color:#8a8378;font-size:10.5px;letter-spacing:.04em;
  text-transform:uppercase;font-weight:700}

.article-body h3{
  margin:24px 0 6px;
  font-family:var(--font-serif);
  font-size:21px;
  line-height:1.2;
}
.article-body>ul{margin-top:12px}

.article-encerramento{
  margin-top:34px!important;
  padding-top:18px;
  border-top:1px solid var(--line);
  font-size:12px!important;
  line-height:1.65!important;
  color:#7a746a!important;
  font-style:italic;
}

/* O corpo do artigo fica alinhado com o título, como nas páginas de área:
   antes ele era centralizado e abria um degrau em relação ao H1. */
.article-page .article-body{max-width:830px;margin:30px 0 0}
.article-page>img{margin-top:24px}

@media(max-width:650px){
  .article-meta{gap:12px;padding:13px 0}
  .article-meta img{width:46px;height:46px;flex:0 0 46px}
  .article-meta b{font-size:13px}
  .article-meta small{font-size:10.5px}
  .article-body h3{font-size:18px;margin-top:20px}
}

/* O titulo da landing de celular deixou de ser <h1> (a home tinha dois, um
   sempre oculto pelo ponto de quebra). A aparencia nao muda. */
.ij-mobile-titulo{margin:0}

/* Links de rede social no rodape. Precisam existir na pagina, e nao so no
   sameAs do schema: o Google confere se a pagina realmente aponta para os
   perfis que ela declara serem dela. */
.rodape-redes{display:flex;gap:16px;margin:12px 0 0}
.rodape-redes a{display:inline-flex;align-items:center;min-height:44px;padding-inline:0;color:var(--gold2);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.rodape-redes a:hover{color:#fff}

/* --- Catálogo técnico: hub de áreas e páginas de modalidade ------------- */
.hub-page .article-body{margin-bottom:10px}
.hub-area{max-width:830px;margin:0 0 34px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.hub-area:last-of-type{border-bottom:0}
.hub-area h2{font-family:var(--font-serif);font-size:27px;margin:0 0 6px;line-height:1.15}
.hub-area h2 a{color:var(--ink)}
.hub-area h2 a:hover{color:var(--gold)}
.hub-area>p{font-size:13.5px;line-height:1.65;color:var(--muted);margin:0 0 14px;max-width:720px}
.hub-modalidades{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:7px 18px}
.hub-modalidades li{font-size:12.5px;line-height:1.4;padding-left:13px;position:relative}
.hub-modalidades li:before{content:"›";position:absolute;left:0;color:var(--gold);font-weight:800}
.hub-modalidades a{color:#3f3c37;border-bottom:1px solid transparent}
.hub-modalidades a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.hub-area-link{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#9c5c0d}
.hub-area-link:hover{color:var(--gold)}
.area-outras-hub{border-color:var(--gold)!important;background:#fdf8f1}
.area-modalidades dt a{color:var(--ink);border-bottom:1px solid var(--line)}
.area-modalidades dt a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.calc-inline{background:#fdf8f1;border-left:3px solid var(--gold);padding:13px 16px;margin:20px 0}
.credencial-linha{margin:4px 0 18px;font-size:12px;font-weight:700;letter-spacing:.03em;color:#8f5510}
.credencial-preco{margin:-12px 0 18px;font-size:12px;color:var(--muted)}
.assina-laudo{max-width:1024px;margin:32px auto 0;background:var(--coal);border:1px solid var(--gold);border-radius:4px;padding:30px 34px;text-align:center}
.assina-kicker{margin:0 0 6px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold2)}
.assina-nome{margin:0 0 8px;font-family:var(--font-serif);font-size:20px;color:#fff}
.assina-nome span{color:var(--gold2);font-weight:400}
.assina-linha{margin:0 0 14px;font-size:13px;color:#cfc8bd}
.assina-preco{margin:0 0 20px;font-size:12.5px;font-weight:700;color:#efb456}
.assina-botoes{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.assina-botao-principal{background:linear-gradient(90deg,#b96e14,#d69837);color:#fff;padding:14px 26px;font-size:12px;font-weight:800;letter-spacing:.03em;border-radius:3px}
.assina-botao-zap{background:#10ad4a;color:#fff;padding:14px 26px;font-size:12px;font-weight:800;letter-spacing:.03em;border-radius:3px}
.assina-botao-zap:hover{background:#0d9640}
@media(max-width:560px){.assina-laudo{padding:22px 18px}.assina-botoes{flex-direction:column}.assina-botao-principal,.assina-botao-zap{width:100%;text-align:center}}
.calc-inline a{color:#9c5c0d;font-weight:700;border-bottom:1px solid var(--gold2)}
@media(max-width:900px){.hub-modalidades{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hub-modalidades{grid-template-columns:1fr}.hub-area h2{font-size:23px}}

/* --- Calculadoras -------------------------------------------------------- */
.calc-hub-titulo{margin:26px 0 -14px;font-family:var(--font-serif);font-size:22px;color:var(--ink)}
.calc-hub-outras{font-family:var(--font-serif);font-size:24px;margin:38px 0 4px}
.calc-form{max-width:560px;margin:26px 0;padding:24px 26px;background:var(--cream);border:1px solid var(--line);border-left:3px solid var(--gold)}
.calc-linha{display:grid;grid-template-columns:1fr;gap:5px;margin-bottom:13px}
.calc-linha label{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#5d5850}
.calc-linha input,.calc-linha select{width:100%;background:#fff;border:1px solid #cfc4b2;border-radius:3px;padding:11px 12px;font-size:14px;font-family:var(--font-sans);color:var(--ink);outline:none}
.calc-linha input:focus,.calc-linha select:focus{border-color:var(--gold);box-shadow:0 0 0 2px #bf791e33}
.calc-aviso{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 15px;font-style:italic}
.calc-acoes{display:flex;gap:10px;align-items:center}
.calc-acoes button{border:0;border-radius:3px;background:linear-gradient(90deg,#b96e14,#d69837);color:#fff;font-weight:850;font-size:12px;letter-spacing:.06em;padding:13px 26px;cursor:pointer;font-family:var(--font-sans)}
.calc-acoes .calc-limpar{background:none;color:var(--muted);font-weight:700;letter-spacing:0;padding:13px 6px;text-decoration:underline}
.calc-saida{max-width:760px;margin:0 0 30px}
.calc-saida[hidden]{display:none}
.calc-erro{background:#fdf0ee;border-left:3px solid #a02b24;color:#7d221c;padding:12px 15px;font-size:13px;margin:0}
.calc-resumo{margin:0 0 16px;border-top:1px solid var(--line)}
.calc-resumo>div{display:flex;justify-content:space-between;gap:18px;padding:10px 2px;border-bottom:1px solid var(--line)}
.calc-resumo dt{font-size:13px;color:#4e4a44}
.calc-resumo dd{font-size:14px;margin:0;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.calc-resumo b{color:#8f5510}
.calc-nota{font-size:12.5px;line-height:1.65;color:var(--muted);background:#fdf8f1;border-left:3px solid var(--gold2);padding:12px 15px;margin:0 0 18px}
.calc-tabela-wrap{overflow-x:auto;border:1px solid var(--line);max-height:520px;overflow-y:auto}
.calc-tabela{border-collapse:collapse;width:100%;min-width:520px;font-variant-numeric:tabular-nums}
.calc-tabela th{position:sticky;top:0;background:var(--coal);color:#fff;font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:9px 11px;text-align:right;white-space:nowrap}
.calc-tabela th:first-child{text-align:left}
.calc-tabela td{font-size:12.5px;padding:7px 11px;text-align:right;border-bottom:1px solid #f0e9dc;white-space:nowrap}
.calc-tabela td:first-child{text-align:left;color:var(--muted)}
.calc-tabela tr:nth-child(even) td{background:#fdfbf7}
.calc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0 10px;max-width:1000px}
.calc-card{border:1px solid var(--line);border-top:3px solid var(--gold);padding:20px 21px;background:var(--paper);display:flex;flex-direction:column}
.calc-card h2,.calc-card h3{font-family:var(--font-serif);font-size:21px;margin:0 0 8px;line-height:1.15;font-weight:400}
.calc-card h2 a{color:var(--ink)}
.calc-card h2 a:hover{color:var(--gold)}
.calc-card p{font-size:12.5px;line-height:1.6;color:var(--muted);margin:0 0 15px;flex:1}
.calc-card-link{font-size:10px;font-weight:800;letter-spacing:.07em;color:#9c5c0d}
.calc-card-link:hover{color:var(--gold)}
@media(max-width:900px){.calc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.calc-grid{grid-template-columns:1fr}.calc-form{padding:19px 17px}.calc-resumo>div{flex-direction:column;gap:2px}.calc-resumo dd{text-align:left}}

.calc-topo-acoes{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 20px}
.calc-voltar{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:3px;padding:9px 16px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
.calc-voltar:hover{border-color:var(--gold);color:var(--gold2)}
.calc-zap-topo,.calc-zap-confirmar,.calc-zap-fixo{background:#10ad4a;color:#fff}
.calc-zap-topo:hover,.calc-zap-confirmar:hover,.calc-zap-fixo:hover{background:#0d9640}
.calc-zap-topo{display:inline-flex;align-items:center;gap:6px;border-radius:3px;padding:9px 16px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.calc-zap-confirmar{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:13px 18px;border-radius:3px;font-size:12.5px;font-weight:800;letter-spacing:.02em;text-align:center}
.calc-zap-fixo{position:fixed;z-index:100;right:18px;bottom:18px;display:flex;align-items:center;gap:8px;padding:12px 18px;border-radius:30px;font-size:12px;font-weight:800;box-shadow:0 8px 20px #0b7e3855}
.calc-zap-fixo span{font-size:18px;line-height:1}
@media(max-width:560px){.calc-zap-fixo b{display:none}.calc-zap-fixo{padding:14px;border-radius:50%}.calc-zap-fixo span{font-size:20px}}
.home-zap-fixo{position:fixed;z-index:95;left:18px;bottom:18px;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#25d366;box-shadow:0 8px 20px #0b7e3855}
.home-zap-fixo:hover{background:#1ebe5a}
.home-zap-fixo svg{width:30px;height:30px;color:#fff}

/* --- Calculadoras na home ------------------------------------------------ */
.calcs{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.calc-grid-home{max-width:1500px;margin:0 auto;grid-template-columns:repeat(3,1fr);gap:14px}
.calcs .calc-card{background:#fff}
.calcs .catalog-callout{margin-top:22px;background:var(--coal);border-color:var(--gold)}
.calcs .catalog-callout h3{color:#fff}
.calcs .catalog-callout p{color:#cfc8bd}
.calcs .catalog-callout>a{background:linear-gradient(90deg,#b96e14,#d69837)}
.calcs .catalog-callout .calc-icon{color:var(--gold2);border-color:var(--gold2)}
.catalogo-link{color:#9c5c0d;font-weight:800;border-bottom:1px solid var(--gold2);white-space:nowrap}
.catalogo-link:hover{color:var(--gold)}
@media(max-width:1200px){.calc-grid-home{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.calc-grid-home{grid-template-columns:1fr}}

/* Item de grid nasce com min-width:auto e se recusa a encolher abaixo do
   conteúdo. Nas larguras em que a grade de áreas fica apertada (por volta de
   1265px), isso empurrava dois cartões para fora da tela e criava rolagem
   horizontal na home inteira. */
.area-card,.calc-card,.blog-card,.method-grid article{min-width:0}

/* --- Ferramentas gratuitas ------------------------------------------------ */
.ferr-app{max-width:760px;margin:26px 0}
.ferr-area{display:grid;place-items:center;gap:6px;padding:38px 24px;text-align:center;background:var(--cream);border:2px dashed #cfc0a8;border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s}
.ferr-area:hover,.ferr-area.arrastando{border-color:var(--gold);background:#fdf6ea}
.ferr-area b{font-family:var(--font-serif);font-size:22px}
.ferr-area span{font-size:12px;color:var(--muted);max-width:420px;line-height:1.5}
.ferr-aviso{background:#fdf6ea;border-left:3px solid var(--gold);padding:10px 14px;font-size:12.5px;color:#7a5410;margin:12px 0 0}
.ferr-lista{list-style:none;margin:16px 0 0;padding:0;border:1px solid var(--line);max-height:340px;overflow-y:auto}
.ferr-lista li{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(0,1.3fr) 62px 30px 30px;align-items:center;gap:8px;padding:8px 11px;border-bottom:1px solid #f1eadd}
.ferr-lista li:last-child{border-bottom:0}
.ferr-ordem{font-size:10px;font-weight:800;color:var(--gold);letter-spacing:.04em}
.ferr-nome{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ferr-legenda{width:100%;border:1px solid #ded3c1;border-radius:3px;padding:6px 8px;font-size:12px;font-family:var(--font-sans);outline:none}
.ferr-legenda:focus{border-color:var(--gold);box-shadow:0 0 0 2px #bf791e33}
.ferr-peso{font-size:10px;color:#8d867c;text-align:right;font-variant-numeric:tabular-nums}
.ferr-lista button{border:1px solid var(--line);background:#fff;border-radius:3px;height:26px;cursor:pointer;font-size:13px;color:var(--muted);line-height:1}
.ferr-lista button:hover{border-color:var(--gold);color:var(--gold)}
.ferr-opcoes{display:flex;flex-wrap:wrap;gap:18px;align-items:end;margin:18px 0 0}
.ferr-opcao-campo{display:grid;gap:5px;flex:1;min-width:240px}
.ferr-opcao-campo label{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#5d5850}
.ferr-opcao-campo input{width:100%;border:1px solid #cfc4b2;border-radius:3px;padding:10px 12px;font-size:13.5px;font-family:var(--font-sans);outline:none}
.ferr-opcao-campo input:focus{border-color:var(--gold);box-shadow:0 0 0 2px #bf791e33}
.ferr-opcao-check{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#4e4a44;padding-bottom:10px}
.ferr-acoes{display:flex;align-items:center;gap:14px;margin-top:20px}
.ferr-acoes button{border:0;border-radius:3px;background:linear-gradient(90deg,#b96e14,#d69837);color:#fff;font-weight:850;font-size:12px;letter-spacing:.06em;padding:14px 30px;cursor:pointer;font-family:var(--font-sans)}
.ferr-acoes button:disabled{background:#d8d0c4;cursor:not-allowed}
.ferr-progresso{font-size:12.5px;color:var(--muted)}
.ferr-privacidade{font-size:12px;line-height:1.6;color:var(--muted);background:#f2f7f2;border-left:3px solid #3f8b52;padding:11px 14px;margin:18px 0 0}
.ferr-entrega{max-width:560px;margin:26px 0;border:2px solid var(--gold);background:#fff}
.ferr-entrega[hidden]{display:none}
.ferr-entrega-topo{background:var(--coal);color:#fff;padding:16px 22px}
.ferr-entrega-topo b{display:block;font-family:var(--font-serif);font-size:21px}
.ferr-entrega-topo span{font-size:11.5px;color:#cfc8bd}
.ferr-form{padding:20px 22px 22px}
.ferr-form[hidden]{display:none}
.ferr-form-intro{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 15px}
.ferr-form-linha{display:grid;gap:5px;margin-bottom:11px}
.ferr-form-linha label{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#5d5850}
.ferr-form-linha input{width:100%;border:1px solid #cfc4b2;border-radius:3px;padding:11px 12px;font-size:14px;font-family:var(--font-sans);outline:none}
.ferr-form-linha input:focus{border-color:var(--gold);box-shadow:0 0 0 2px #bf791e33}
.ferr-consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:#4e4a44;margin:6px 0 14px;line-height:1.45}
.ferr-form button[type=submit]{width:100%;border:0;border-radius:3px;background:linear-gradient(90deg,#b96e14,#d69837);color:#fff;font-weight:850;font-size:12.5px;letter-spacing:.06em;padding:14px;cursor:pointer;font-family:var(--font-sans)}
.ferr-form button[type=submit]:disabled{background:#d8d0c4;cursor:not-allowed}
.ferr-status{text-align:center;font-size:12px;color:#a02b24;margin:10px 0 0;min-height:15px}
.ferr-liberado{padding:22px}
.ferr-liberado[hidden]{display:none}
.ferr-liberado p{font-size:13px;line-height:1.6;color:#4e4a44;margin:0 0 14px}
.ferr-liberado button{border:1px solid var(--gold);background:#fff;color:#9c5c0d;font-weight:800;font-size:11.5px;letter-spacing:.05em;padding:12px 22px;cursor:pointer;border-radius:3px;font-family:var(--font-sans)}
.ferr-liberado-nota{font-size:12px;color:var(--muted);margin:14px 0 0!important}
.ferr-liberado-nota a{color:#9c5c0d;border-bottom:1px solid var(--gold2)}
@media(max-width:640px){
  .ferr-lista li{grid-template-columns:28px minmax(0,1fr) 28px 28px;gap:6px}
  .ferr-legenda{grid-column:1/-1}
  .ferr-peso{display:none}
  .ferr-area{padding:28px 16px}
  .ferr-area b{font-size:19px}
}

/* --- Cronologia de documentos e Relatório de WhatsApp -------------------- */
.ferr-lista-cron li{grid-template-columns:34px 128px minmax(0,1.15fr) minmax(0,1fr) 30px}
.ferr-data{border:1px solid #ded3c1;border-radius:3px;padding:6px 8px;font-size:11.5px;font-family:var(--font-sans);outline:none;width:100%}
.ferr-data:focus{border-color:var(--gold);box-shadow:0 0 0 2px #bf791e33}
.ferr-arquivo-nome{background:#f2f7f2;border-left:3px solid #3f8b52;padding:10px 14px;font-size:12.5px;color:#2c5a38;margin:14px 0 0}
.ferr-arquivo-nome[hidden]{display:none}
@media(max-width:640px){
  .ferr-lista-cron li{grid-template-columns:26px 1fr 26px}
  .ferr-data{grid-column:1/-1}
  .ferr-legenda{grid-column:1/-1}
  .ferr-lista-cron .ferr-nome{display:none}
}

/* --- SISTAT: vitrine e download ------------------------------------------ */
.sistat-download{max-width:820px;margin:24px 0 30px;display:flex;flex-wrap:wrap;gap:18px;align-items:stretch}
.sistat-baixar{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:4px;background:linear-gradient(90deg,#b96e14,#d69837);color:#fff;font-weight:850;font-size:14px;letter-spacing:.03em;padding:18px 28px;border-radius:4px;min-width:280px;text-align:center}
.sistat-baixar small{font-size:10.5px;font-weight:600;letter-spacing:.04em;opacity:.9}
.sistat-requisito{flex:1;min-width:260px;background:var(--cream);border-left:3px solid var(--gold);padding:14px 18px;font-size:12.5px;line-height:1.6;color:#4e4a44}
.sistat-requisito a{color:#9c5c0d;font-weight:700}
.sistat-passos{max-width:760px;padding-left:20px;font-size:14.5px;line-height:1.9;color:#3f3c37}
.sistat-passos li{margin-bottom:4px}
.sistat-grid .calc-card{border-top-color:var(--gold2)}
.sistat-saida{display:inline-block;margin-top:6px;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#9c5c0d;background:#fdf3e4;padding:3px 8px;border-radius:3px}
.hub-area h2 small{font-size:14px;font-weight:600;color:var(--muted)}
.sistat-modulo{margin:44px 0 6px;padding-top:26px;border-top:2px solid var(--line)}
.sistat-modulo .article-kicker{margin-bottom:2px}
.sistat-modulo .article-kicker small{font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0}
.sistat-modulo p:not(.article-kicker){font-size:13.5px;color:var(--muted);margin:0}
@media(max-width:640px){.sistat-download{flex-direction:column}.sistat-baixar{min-width:0}}

/* --- Dividir PDF ----------------------------------------------------------- */
.split-opcoes{display:block;margin-top:16px}
.split-modo-opcao{display:flex;gap:9px;align-items:flex-start;margin-bottom:10px;font-size:13px;color:#3f3c37;padding-bottom:0}
.split-intervalo-linha{max-width:320px;margin:6px 0 10px 26px}
.split-resumo{font-size:12px;color:#9c5c0d;font-weight:700;margin:6px 0 0 26px}
