/* Tem na Vila Sônia: layout do portal (redesign de 04/11/2026). Escrito do zero a partir de
   projetos/portais/referencia-layout-newcomer.md. Só transform/opacity animam. */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/h/montserrat-var-latin-ext.54d9a78b7ff6.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:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/h/montserrat-var-latin.06b16db7a969.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{--ink:#131314;--ink-2:#46474e;--ink-hover:#333;--paper:#fff;--surface:#f5f5f5;--line:#e8e8e9;--on-ink:#fff;--accent:#FF7F00;
--font-display:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;--font-text:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
--fs-hero:clamp(32px,4.6vw,60px);--fs-h2:clamp(28px,3.4vw,46px);--fs-h3:clamp(21px,2vw,28px);
--r-btn:8px;--r-chip:12px;--r-card:16px;--r-big:24px;--r-pill:999px;
--shadow-float:0 16px 40px -12px rgba(19,19,20,.10);--ring-focus:0 0 0 2px var(--paper),0 0 0 4px var(--accent);
--ease-out:cubic-bezier(.12,.23,.17,.99);--ease-ui:cubic-bezier(.44,0,.56,1);--ease-soft:cubic-bezier(.22,1,.36,1);--ease-pop:cubic-bezier(.34,1.56,.64,1);
--section-y:100px;--section-x:56px;--container:1250px;--header-h:64px;
--p:#131314;--ph:#333;--tp:#fff;--tph:#fff;--s:#131314;--sh:#333;--ts:#fff;--tl:#131314}
@media (max-width:1199.98px){:root{--section-y:80px;--section-x:32px}}
@media (max-width:809.98px){:root{--section-y:72px;--section-x:20px}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font-family:var(--font-text);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;font:400 16px/1.5 var(--font-text);letter-spacing:-.01em;min-height:100vh;display:flex;flex-direction:column;overflow-x:clip}
main{flex:1}
::selection{background:var(--accent);color:var(--ink)}
a{color:inherit}
img,svg{max-width:100%}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}
.skip{position:absolute;left:-9999px;top:8px;z-index:20;padding:10px 16px;background:var(--ink);color:#fff;border-radius:var(--r-btn)}
.skip:focus{left:8px}
:focus-visible{outline:none;box-shadow:var(--ring-focus);border-radius:6px}
/* tipografia */
.t-hero{font:500 var(--fs-hero)/1.12 var(--font-display);letter-spacing:-.02em;margin:0;color:var(--ink);text-wrap:balance}
.t-h2{font:500 var(--fs-h2)/1.12 var(--font-display);letter-spacing:-.02em;margin:0;color:var(--ink);text-wrap:balance}
.t-h3{font:500 var(--fs-h3)/1.25 var(--font-display);letter-spacing:-.015em;margin:0;color:var(--ink);text-wrap:balance}
.t-d2{font:600 19px/1.3 var(--font-display);letter-spacing:-.01em;margin:0;color:var(--ink)}
.t-body{font:400 16px/1.5 var(--font-text);letter-spacing:-.01em;color:var(--ink-2);margin:0;max-width:460px}
.meta{font:500 13px/1.4 var(--font-text);letter-spacing:.01em;color:var(--ink-2);font-variant-numeric:tabular-nums}
.center{text-align:center}.center .t-body,.t-body.mx{margin-left:auto;margin-right:auto}
/* header */
.hdr{position:sticky;top:0;z-index:10;height:var(--header-h);background:var(--paper);border-bottom:1px solid var(--line)}
.hdr__in{max-width:1200px;height:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:40px}
.hdr__logo{flex:0 0 250px;display:flex;align-items:center;text-decoration:none}
.hdr__logo img{display:block;height:40px;width:51px}
.hdr__links{display:flex;gap:40px;list-style:none;margin:0 auto;padding:0}
.hdr__links a,.mpanel a.ml{font:500 15px/28px var(--font-text);color:var(--ink-2);text-decoration:none;transition:color .3s var(--ease-ui);display:inline-flex;align-items:center;min-height:44px}
.hdr__links a:hover,.mpanel a.ml:hover{color:var(--ink)}
.hdr__links a[aria-current]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:8px}
.hdr__menu{display:none;margin-left:auto;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-btn);background:var(--paper);font:500 15px var(--font-text);color:var(--ink);cursor:pointer}
.mpanel{position:absolute;left:0;right:0;top:var(--header-h);background:var(--paper);border-bottom:1px solid var(--line);padding:16px 20px 24px;display:flex;flex-direction:column;gap:8px}
.mpanel[hidden]{display:none}
.mpanel .btn{width:100%;margin-top:8px}
@media (max-width:809.98px){.hdr__links,.hdr__in>.btn{display:none}.hdr__menu{display:block}.hdr__logo{flex:0 0 auto}.hdr__in{padding:0 20px;gap:16px}}
@media (min-width:810px){.mpanel{display:none!important}}
/* botão e campo */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 22px;border:0;border-radius:var(--r-btn);background:var(--ink);color:var(--on-ink);font:500 15px/1.2 var(--font-text);cursor:pointer;text-decoration:none;transition:background-color .2s var(--ease-ui),transform .2s var(--ease-ui)}
.btn:hover{background:var(--ink-hover)}.btn:active{transform:scale(.98)}
.btn--line{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.btn--line:hover{background:var(--surface)}
.btn--zap{background:var(--ink)}
.field{height:46px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-btn);background:var(--paper);font:400 15px/1.2 var(--font-text);color:var(--ink);width:100%;transition:border-color .15s var(--ease-ui)}
.field::placeholder{color:var(--ink-2);opacity:.7}
.field:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,127,0,.25)}
textarea.field{height:auto;min-height:120px;resize:vertical}
/* seções */
.sec{padding:var(--section-y) var(--section-x);display:flex;flex-direction:column;align-items:center;gap:60px;scroll-margin-top:80px;overflow:clip}
.sec--alt{background:var(--surface)}
.sec__head{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.wrapc{width:100%;max-width:var(--container)}
.narrow{width:100%;max-width:760px}
@media (max-width:1199.98px){.sec{gap:48px}}@media (max-width:809.98px){.sec{gap:40px}}
/* rodapé: componente único, 4 colunas, fundo escuro */
.ftr{background:#111;color:#fff;padding:72px var(--section-x) 32px}
.ftr__in{max-width:var(--container);margin:0 auto;display:flex;flex-direction:column;gap:56px}
.ftr__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px;align-items:start}
.ftr__col{display:flex;flex-direction:column;gap:16px;min-width:0}
.ftr__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.ftr__t{margin:0;font:600 13px/1.4 var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:#fff;display:flex;flex-direction:column;gap:12px}
.ftr__t::after{content:"";order:-1;width:24px;height:2px;background:var(--accent)}
.ftr a{color:#fff;text-decoration:none;font:400 15px/1.4 var(--font-text);display:inline-flex;align-items:center;gap:10px;min-height:32px;transition:color .3s var(--ease-ui)}
.ftr a:hover,.ftr a:focus-visible{color:var(--accent);text-decoration:none}
.ftr a:focus-visible{box-shadow:0 0 0 2px #111,0 0 0 4px var(--accent)}
.ftr svg{flex:0 0 18px}
.ftr__marca p{margin:0;font:400 15px/1.5 var(--font-text);color:#d6d6d6;max-width:26ch}
.ftr__logo{display:inline-flex;align-self:flex-start;min-height:64px}
.ftr__logo img{width:119px;height:64px;display:block}
.ftr__base{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 32px;border-top:1px solid rgba(255,255,255,.15);padding-top:28px}
.ftr__id p{margin:0;font:400 13px/1.6 var(--font-text);color:#d6d6d6}
.ftr__legal{display:flex;flex-wrap:wrap;gap:0 24px}
.ftr__legal a{font-size:13px;min-height:44px}
.ftr__cred{margin:0;flex:1 0 100%;font:400 13px/1.4 var(--font-text);color:#b5b5b5;text-align:right}
.ftr__cred a{font-size:13px;min-height:0;color:#b5b5b5;display:inline}
@media (max-width:1199.98px){.ftr__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:809.98px){.ftr{padding:56px 20px 28px}.ftr__grid{grid-template-columns:1fr;gap:40px}.ftr a{min-height:44px}.ftr__base{flex-direction:column}.ftr__cred{text-align:left}.ftr__cred a{min-height:0}}
/* banner de cookies */
.dol-ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;background:var(--ink);color:#f5f5f5;font:14px/1.5 var(--font-text);padding:16px 20px;border-radius:var(--r-card);box-shadow:var(--shadow-float)}
.dol-ck[hidden]{display:none}
.dol-ck__in{max-width:1100px;margin:0 auto;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.dol-ck__txt{flex:1 1 380px;margin:0}.dol-ck__txt a{color:inherit;text-decoration:underline}
.dol-ck__btns{display:flex;gap:10px;flex:0 0 auto}
.dol-ck__btn{font:inherit;font-weight:500;padding:10px 22px;border-radius:var(--r-btn);cursor:pointer;border:1px solid #f5f5f5;background:transparent;color:#f5f5f5;min-height:44px}
.dol-ck__btn--ok{background:#f5f5f5;color:var(--ink)}
.dol-ck a:focus-visible,.dol-ck button:focus-visible{box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--accent)}
@media (max-width:600px){.dol-ck__btns{width:100%}.dol-ck__btn{flex:1}}
/* páginas internas */
.phead{padding:72px var(--section-x) 24px;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.crumbs{font:500 13px/1.4 var(--font-text);color:var(--ink-2);display:flex;flex-wrap:wrap;gap:4px 8px;justify-content:center}
.crumbs a{display:inline-flex;align-items:center;min-height:24px;color:var(--ink-2)}
.pbody{padding:24px var(--section-x) var(--section-y);display:flex;flex-direction:column;align-items:center;gap:48px}
.prose{width:100%;max-width:720px}
.prose h1{font:500 var(--fs-h2)/1.12 var(--font-display);letter-spacing:-.02em;margin:0 0 24px;text-wrap:balance}
.prose h2{font:500 var(--fs-h3)/1.25 var(--font-display);letter-spacing:-.015em;margin:40px 0 12px}
.prose h3{font:600 19px/1.3 var(--font-display);margin:24px 0 8px}
.prose p,.prose li{color:var(--ink-2)}
.prose p{margin:0 0 14px}.prose ul,.prose ol{padding-left:22px;margin:0 0 16px}.prose li{margin:0 0 6px}
.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px}
.prose a:hover{background:var(--surface)}
.prose .sub{color:var(--ink-2);font-size:14px}
.prose table{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:15px}
.prose th,.prose td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.prose th{font-weight:600;color:var(--ink);width:38%}
.prose .nota,.nota{padding:16px 20px;background:var(--surface);border-radius:var(--r-card);color:var(--ink)}
.modelo{padding:16px 20px;border:1px dashed var(--ink-2);border-radius:var(--r-card);font-weight:500;color:var(--ink)!important}
.lede{font:400 17px/1.55 var(--font-text);color:var(--ink-2);max-width:56ch;margin:0}
/* grades de altura igual, última linha centralizada */
.grid{--cols:1;--gap:24px;display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:var(--gap);width:100%;max-width:var(--container);margin:0;padding:0;list-style:none}
.grid>*{flex:0 0 calc((100% - (var(--cols) - 1)*var(--gap))/var(--cols));max-width:calc((100% - (var(--cols) - 1)*var(--gap))/var(--cols));display:flex;flex-direction:column;min-width:0}
@media (min-width:810px){.grid{--cols:2}.grid--3,.grid--4{--cols:2}}
@media (min-width:1200px){.grid--3{--cols:3}.grid--4{--cols:4}}
.card{flex:1 1 auto;display:flex;flex-direction:column;gap:12px;padding:28px;background:var(--surface);border-radius:var(--r-card);color:var(--ink);text-decoration:none;transition:transform .3s var(--ease-soft)}
.card .t-d2{display:flex;align-items:center;gap:10px}
.card .t-d2::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);flex:0 0 8px}
.sec--alt .card,.card--line{background:var(--paper);border:1px solid var(--line)}
a.card:hover{transform:translateY(-4px)}
.card .tag{margin-top:auto;align-self:flex-start}
.card p{margin:0;color:var(--ink-2)}
.price{font:500 40px/1 var(--font-display);letter-spacing:-.02em;color:var(--ink)}
.card--pick{border:2px solid var(--ink);background:var(--paper)}
/* formulário */
.form{display:grid;gap:16px;width:100%;max-width:520px}
.campo{display:flex;flex-direction:column;gap:6px}.campo label{font-weight:600;font-size:15px}
.campo__erro{color:#B00020;font-size:14px}.campo__erro:empty{display:none}
.campo [aria-invalid="true"]{border-color:#B00020}
.isca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__status{margin:0;padding:12px 16px;border-radius:var(--r-btn);font-weight:500}
.form__status--erro{background:#FDECEE;color:#7A0016}.form__status--ok{background:#E8F7EE;color:#0B4F25}
.form__sucesso{margin:20px 0 0;padding:20px;border:1px solid var(--line);border-radius:var(--r-card);max-width:520px;background:var(--surface)}
.form__nota{margin:0;font-size:14px;color:var(--ink-2)}
.form .btn{justify-self:start;min-height:46px}
/* faq */
.faq{display:flex;flex-direction:column;gap:12px;width:100%;max-width:760px}
.faq details{border:1px solid var(--line);border-radius:var(--r-card);padding:4px 24px;background:var(--paper);transition:background-color .3s var(--ease-ui)}
.faq details[open]{background:var(--surface)}
.faq summary{cursor:pointer;font:500 18px/1.35 var(--font-display);letter-spacing:-.01em;min-height:56px;display:flex;align-items:center;list-style:none;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";margin-left:auto;font:400 24px var(--font-text);color:var(--ink-2)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:0 0 16px;color:var(--ink-2)}
.prose .faq{max-width:none}
/* links (bio) */
.bio{padding:56px 20px 24px;display:flex;flex-direction:column;align-items:center;gap:28px;max-width:520px;margin:0 auto;width:100%}
.bio img.logo{width:240px;height:auto}
.bio .lnk{display:flex;align-items:center;gap:16px;padding:18px 20px;min-height:72px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--paper);text-decoration:none;width:100%;transition:transform .3s var(--ease-soft),background-color .3s var(--ease-ui)}
.bio .lnk:hover{background:var(--surface);transform:translateY(-2px)}
.bio .lnk b{display:block;font:600 18px/1.25 var(--font-display)}
.bio .lnk span{display:block;color:var(--ink-2);font-size:14px}
.bio .lnk--p{background:var(--ink);border-color:var(--ink)}.bio .lnk--p b{color:#fff}.bio .lnk--p span{color:#d6d6d6}.bio .lnk--p:hover{background:var(--ink-hover)}
.bio .redes{display:flex;gap:4px 16px;flex-wrap:wrap;justify-content:center}
.bio .redes a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;font-weight:500;color:var(--ink-2)}
/* página de negócio: veste a identidade da empresa por variáveis escopadas em .biz (cores e tipografia vêm de data/negocios.json) */
.biz{background:var(--bg);color:var(--tn)}
.biz :focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 5px var(--tn)}
.biz .bs--dark :focus-visible,.biz .b-hero :focus-visible{box-shadow:0 0 0 2px #000,0 0 0 5px #fff}
.bh1,.bt2,.bt3,.bt-d,.feat .v,.biz .faq summary{font-family:var(--font-display);font-weight:500;letter-spacing:-.02em;line-height:1.12;margin:0;text-wrap:balance}
.bh1{font-size:var(--fs-hero);color:#fff}.bh1 .hl{color:var(--ac)}
.bt2{font-size:var(--fs-h2);text-align:center}
.bt2::after{content:"";display:block;width:44px;height:3px;margin:16px auto 0;background:var(--ac)}
.bs--dark .bt2::after{background:var(--dt)}
.bt3{font-size:var(--fs-h3)}.bt-d{font-size:19px;font-weight:600;display:flex;align-items:center;gap:10px}
.bt-d::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ac);flex:0 0 10px}
.bp{font:400 16px/1.5 var(--font-text);letter-spacing:-.01em;margin:0;max-width:560px;text-align:center}
.fp{font:400 14px/1.4 var(--font-text);margin:0}
.bs{padding:var(--section-y) var(--section-x)}
.bs__in{max-width:var(--container);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:60px}
@media (max-width:1199.98px){.bs__in{gap:48px}}@media (max-width:809.98px){.bs__in{gap:40px}}
.bs--light{background:var(--bg);color:var(--tn)}.bs--light .bp,.bs--light .bc p,.bs--light .fp{color:var(--gr)}
.bs--sf{background:var(--sf);color:var(--tn)}.bs--sf .bp,.bs--sf .bc p{color:var(--gr)}
.bs--dark{background:var(--tn);color:#fff}.bs--dark .bt2{color:#fff}.bs--dark .bp,.bs--dark .bc p,.bs--dark .fp{color:#d6d6d6}
.b-hero{background:var(--tn);color:#fff;padding:32px var(--section-x) 72px}
.b-hero .bs__in{gap:20px;text-align:center}
.b-hero .crumbs,.b-hero .crumbs a{color:#d6d6d6}
.b-hero .meta{color:#d6d6d6;text-transform:uppercase;letter-spacing:.08em}
.b-hero .bp{color:#e6e6e6;font-size:18px}
.logo-card{display:inline-flex;padding:14px 22px;border-radius:var(--r-card);background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.2)}
.logo-card img{display:block;height:auto;max-width:100%}
.provas{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0;padding:0;list-style:none}
.provas .badge{align-self:auto;background:#fff;color:#000;border:0}.provas .dot{background:var(--ac)}
.bbtns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.bb{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 28px;border:2px solid transparent;border-radius:8px;font:700 19px/1.1 var(--font-text);letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:background-color .2s var(--ease-ui),color .2s var(--ease-ui),transform .2s var(--ease-ui)}
.bb:active{transform:scale(.98)}
.bb--p{background:var(--ac);color:var(--tsa)}.bb--p:hover{background:var(--ac2);color:var(--tsa2)}
.bb--s{background:transparent;color:var(--tn);border-color:var(--tn)}.bb--s:hover{background:var(--tn);color:var(--bg)}
.b-hero .bb--s,.bs--dark .bb--s{color:#fff;border-color:#fff}.b-hero .bb--s:hover,.bs--dark .bb--s:hover{background:#fff;color:#000}
.bb--zap{background:#25D366;color:#000;border-color:#25D366}.bb--zap:hover{background:#1FB955;border-color:#1FB955}
.bc{flex:1 1 auto;display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:var(--r-card);background:var(--bg);border:1px solid var(--ln)}
.bs--light .bc{background:var(--sf);border-color:transparent}
.bs--dark .bc{background:var(--sd);border-color:#333}.bs--dark .bt-d{color:#fff}
.bc p{margin:0}
.feat{flex:1 1 auto;display:flex;flex-direction:column;gap:8px;padding:28px;background:var(--sf);border-radius:var(--r-card);border-top:4px solid var(--ac)}
.feat .k{font:600 13px/1.4 var(--font-text);letter-spacing:.06em;text-transform:uppercase;color:var(--gr)}
.feat .v{font-size:20px;font-weight:600;color:var(--tn)}.feat .fp{color:var(--gr)}
.feat .bb{align-self:flex-start;margin-top:auto}
.bloco-local{max-width:62ch;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}
.biz .faq details{border:1px solid var(--ln);background:var(--bg)}
.biz .faq details[open]{background:var(--sf)}
.biz .faq summary{font-size:18px;color:var(--tn)}
.biz .faq summary::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ac);margin-right:14px;flex:0 0 10px}
.biz .faq details p{color:var(--gr)}
.selo-verif{max-width:62ch;margin:8px auto 0;padding:14px 18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);font-size:14px;color:var(--ink-2);text-align:left}
.selo-verif a{color:var(--ink);text-underline-offset:3px;text-decoration-color:var(--accent);text-decoration-thickness:2px}
/* efeitos (só transform/opacity) */
@keyframes enter-up-t{from{transform:translateY(40px)}to{transform:none}}
[data-load=up-t]{animation:enter-up-t .7s var(--ease-out) both;animation-delay:var(--d,0s)}
.js [data-reveal]{opacity:.001;transform:translateY(40px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);transition-delay:var(--d,0s)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reveal],[data-load]{opacity:1!important;transform:none!important}}

/* hero de posicionamento (centralizado, sem peça que repita conteúdo) */
.hero{padding:96px var(--section-x) 80px;display:flex;justify-content:center}
.hero__in{width:100%;max-width:880px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px}
.hero .t-hero{font-size:clamp(30px,4vw,52px)}
.hero .t-body{max-width:600px;font-size:17px;margin-left:auto;margin-right:auto}
.hero__wm{display:block;width:min(320px,70%);height:auto;margin:0 auto 8px}
.t-hero em{font-style:normal;font-weight:600;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:.09em;text-underline-offset:.14em}
@media (max-width:1199.98px){.hero{padding:72px var(--section-x) 56px}}
@media (max-width:809.98px){.hero{padding:48px 20px 40px}.hero .btns .btn{flex:1 1 auto}}
/* card de negócio posicionado: logo e nome reais */
.vcard{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-float);text-decoration:none;color:inherit;transition:transform .3s var(--ease-soft)}
.vcard .t-d2{margin-top:4px}
.vlogo{display:inline-flex;align-self:flex-start;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}
.vlogo img{display:block;height:72px;width:auto}
@media (hover:hover){.vcard:hover{transform:translateY(-4px)}}
.icn svg{width:28px;height:28px;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.num{font:500 48px/1 var(--font-display);letter-spacing:-.02em;color:var(--ink)}
.cta2{width:100%;max-width:var(--container);background:var(--surface);border-radius:var(--r-big);padding:72px 24px;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.link-arrow{display:inline-flex;align-items:center;min-height:44px;font:500 15px/1 var(--font-text);color:var(--ink-2);text-decoration:none;transition:color .3s var(--ease-ui)}
.link-arrow:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:2px}

.ftr__logo{display:block;width:120px;height:64px;margin-bottom:12px}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);flex:0 0 8px}
.badge{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-pill);font:500 13px/1.4 var(--font-text);letter-spacing:.01em;font-variant-numeric:tabular-nums;color:var(--ink)}
.provas .badge{align-self:auto;background:#fff;color:#000;border:0}.provas .dot{background:var(--ac)}
.btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.eyebrow{margin:0;font:600 13px/1.4 var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}

/* larguras da Montserrat em tela estreita */
.t-d2,.card p,.bc p,.feat .v{overflow-wrap:anywhere}
.prose table{font-size:14px}.prose th,.prose td{overflow-wrap:anywhere}
@media (max-width:809.98px){.prose th{width:34%}}

/* ritmo de fundos: tinta suave (abre), tinta mais forte (fecha), um painel escuro, cinza e branco alternando */
.sec--tint{background:#FFF3E6}
.sec--tint2{background:#FFE6CC}
.sec--tint .card,.sec--alt .card{background:#fff;border:1px solid var(--line)}
.sec--tint2 .btn:not(.btn--line){background:var(--accent);color:#000}
.sec--tint2 .btn:not(.btn--line):hover{background:#E67300}
.sec--tint2 .btn--line{background:transparent;color:#000;box-shadow:inset 0 0 0 1.5px #000}
.sec--tint2 .btn--line:hover{background:rgba(0,0,0,.06)}
.sec--tint2 .t-body,.sec--tint2 .form__nota,.sec--tint2 .meta{color:#2b2b2d}
.cta2{background:transparent;padding:24px}
.sec--dark{background:#111;color:#fff}
.sec--dark .t-h2,.sec--dark .t-h3,.sec--dark .t-d2,.sec--dark .prose h1,.sec--dark .prose h2,.sec--dark .prose h3{color:#fff}
.sec--dark .t-body,.sec--dark .card p,.sec--dark .prose p,.sec--dark .prose li,.sec--dark .prose td,.sec--dark .prose th{color:#d6d6d6}
.sec--dark .card{background:transparent;border:1px solid rgba(255,255,255,.22);color:#fff}
.sec--dark .prose a,.sec--dark .link-arrow{color:#fff}
.sec--dark .link-arrow:hover{color:#fff}
.sec--dark :focus-visible{box-shadow:0 0 0 2px #111,0 0 0 4px var(--accent)}
.pbody.sec--tint,.pbody.sec--tint2,.pbody.sec--alt,.pbody.sec--dark{padding-top:var(--section-y)}
.ftr__social{flex-direction:row!important;gap:0!important;margin-left:-9px!important}
.ftr__social a{width:44px;height:44px;min-height:44px;justify-content:center;padding:0}
.ftr__social svg{flex:0 0 26px;width:26px;height:26px}

/* páginas de exemplo: faixa fixa no topo, dentro do cabeçalho sticky */
.hdr--ex{height:auto}
.hdr--ex .mpanel{top:100%}
.faixa-ex{background:#111;color:#fff;text-align:center;padding:10px 16px;font:600 13px/1.4 var(--font-text);letter-spacing:.02em}
