/* contramedsp.com.br v2 — direção "Mapa de exposição": curvas de nível de medição + cadeia documental. Cores do logotipo. */
@font-face{font-family:"Montserrat";src:url(/fonts/montserrat-latin-var.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
--azul:#194B88;--azul-700:#0F2F57;--azul-900:#0B1F3A;--azul-100:#EAF1F9;--azul-50:#F4F7FB;
--verde:#0C9854;--verde-600:#087F46;--verde-700:#076337;--verde-100:#E7F6EE;--verde-claro:#34D07F;
--tinta:#1B2433;--tinta-suave:#4A5568;--linha:#D6DEE8;--branco:#fff;--azul-gelo:#B8C7DA;
--r-sm:8px;--r-md:16px;--r-lg:28px;--r-pill:999px;
--sh-1:0 4px 6px -2px rgba(11,31,58,.06),0 10px 15px -3px rgba(11,31,58,.10);
--sh-2:0 20px 25px -5px rgba(11,31,58,.12),0 10px 10px -5px rgba(11,31,58,.05);
--glow:0 8px 24px -6px rgba(12,152,84,.45);
--ease:cubic-bezier(.2,.7,.2,1);
--f:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
--gut:16px;--max:1160px;--sec:clamp(56px,8vw,112px)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;font:400 1.0625rem/1.7 var(--f);color:var(--tinta);background:var(--branco)}
main,.foot{overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--azul);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--verde-700)}
:focus-visible{outline:3px solid var(--azul);outline-offset:2px;border-radius:4px}
.dark :focus-visible,.hero :focus-visible,.foot :focus-visible{outline-color:var(--verde-claro)}
h1,h2,h3{line-height:1.15;margin:0 0 .6em;color:var(--azul-900);text-wrap:balance}
h1{font-size:clamp(2.05rem,1.25rem + 3.4vw,3.6rem);font-weight:800;letter-spacing:-.025em;line-height:1.06}
h2{font-size:clamp(1.55rem,1.15rem + 1.7vw,2.35rem);font-weight:750;letter-spacing:-.018em}
h3{font-size:1.2rem;font-weight:700;letter-spacing:-.005em}
p,ul,ol,dl,table{margin:0 0 1.1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
@media(min-width:640px){:root{--gut:24px}}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--azul-900);color:#fff;padding:10px 16px;border-radius:var(--r-sm);font-weight:600}
.skip:focus{top:12px;color:#fff}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.7em 1.35em;border-radius:var(--r-pill);font:600 .95rem/1.2 var(--f);letter-spacing:.01em;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background-color .2s}
.btn svg{width:20px;height:20px;flex:none}
.btn-wa{background:var(--verde-600);color:#fff;box-shadow:var(--glow)}
.btn-wa:hover{background:var(--verde-700);color:#fff;transform:translateY(-2px)}
.btn-pri{background:var(--azul);color:#fff}
.btn-pri:hover{background:var(--azul-700);color:#fff;transform:translateY(-2px)}
.btn-line{border-color:var(--azul);color:var(--azul);background:transparent}
.btn-line:hover{background:var(--azul-100);color:var(--azul-700)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.06)}
.btn-ghost:hover{background:rgba(255,255,255,.14);color:#fff;border-color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin:1.4em 0 0}

/* ---------- cabeçalho ---------- */
.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--linha)}
@supports (backdrop-filter:blur(1px)){.top{background:rgba(255,255,255,.86);backdrop-filter:saturate(1.4) blur(12px)}}
.top .wrap{display:flex;align-items:center;gap:16px;min-height:68px}
.logo{flex:none;display:block;padding:6px 0}
.logo img{width:164px;height:auto}
.nav{margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.nav a{display:block;white-space:nowrap;padding:10px 9px;border-radius:var(--r-sm);color:var(--tinta);font-weight:600;font-size:.9rem;text-decoration:none}
.nav a:hover{background:var(--azul-50);color:var(--azul)}
.nav a[aria-current=page]{color:var(--azul);box-shadow:inset 0 -2px 0 var(--verde)}
.top-cta{display:flex;align-items:center;gap:10px}
.top-tel{font-weight:700;font-size:.92rem;color:var(--azul-900);text-decoration:none;white-space:nowrap;padding:10px 4px}
.top .btn{white-space:nowrap;min-height:44px;padding:.55em 1.1em;font-size:.88rem}
.menu{display:none;margin-left:auto}
.menu>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1.5px solid var(--linha);border-radius:var(--r-pill);font-weight:600;font-size:.92rem;cursor:pointer;color:var(--azul-900)}
.menu>summary::-webkit-details-marker{display:none}
.menu>summary svg{width:18px;height:18px}
.menu-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--linha);box-shadow:var(--sh-2);padding:8px var(--gut) 20px;max-height:calc(100vh - 68px);overflow:auto}
.menu-panel ul{list-style:none;margin:0 0 12px;padding:0;columns:2;column-gap:12px}
.menu-panel a{display:block;padding:12px 8px;border-bottom:1px solid var(--azul-50);color:var(--tinta);font-weight:600;text-decoration:none;break-inside:avoid}
.menu-panel .btns{margin-top:12px}
@media(max-width:1199px){.nav,.top-tel{display:none}.menu{display:block}.top-cta{display:none}}
@media(max-width:420px){.menu-panel ul{columns:1}}

/* ---------- hero (bloco escuro com curvas de nível) ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:radial-gradient(60% 80% at 78% 18%,rgba(12,152,84,.30),transparent 60%),linear-gradient(160deg,var(--azul-900) 10%,#123A6C 70%,var(--azul) 100%)}
.hero::before{content:"";position:absolute;inset:-6% -4%;z-index:-1;background:url(/assets/isolinhas.svg) 62% 40%/cover no-repeat;opacity:.9;transform-origin:68% 40%;animation:drift 38s ease-in-out infinite alternate}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:90px;z-index:-1;background:linear-gradient(180deg,transparent,rgba(11,31,58,.35))}
@keyframes drift{from{transform:scale(1) rotate(0)}to{transform:scale(1.06) rotate(-2.5deg)}}
.hero h1{color:#fff;max-width:17ch}
.hero .lead{font-size:clamp(1.05rem,1rem + .35vw,1.25rem);color:#DCE6F2;max-width:58ch;line-height:1.65}
.hero a:not(.btn){color:#fff}
.kick{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;font-weight:600;font-size:.9rem;color:var(--verde-claro)}
.kick::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--verde-claro);box-shadow:0 0 0 6px rgba(52,208,127,.18)}
.hero-home{padding:clamp(48px,7vw,96px) 0 clamp(64px,8vw,120px)}
.hero-grid{display:grid;gap:40px;align-items:center}
@media(min-width:960px){.hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:56px}}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:26px 0 0}
.chips li{font-size:.8125rem;font-weight:600;color:#DCE6F2;padding:7px 12px;border:1px solid rgba(184,199,218,.35);border-radius:var(--r-pill);background:rgba(11,31,58,.35)}
.chips strong{color:#fff;font-weight:700}
/* ponto de medição (pulso) */
.pin{position:absolute;z-index:-1;left:66.5%;top:38%;width:14px;height:14px;border-radius:50%;background:var(--verde-claro);box-shadow:0 0 0 5px rgba(52,208,127,.25)}
.pin::after{content:"";position:absolute;inset:-18px;border-radius:50%;border:2px solid var(--verde-claro);opacity:0;animation:ping 2.8s var(--ease) .9s 4}
@keyframes ping{0%{transform:scale(.3);opacity:.9}100%{transform:scale(2.2);opacity:0}}
@media(max-width:959px){.pin{left:90%;top:3%}}

/* cartão "cadeia documental" (vidro) */
.chain{position:relative;padding:24px 22px 18px;border-radius:var(--r-lg);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 60px -20px rgba(0,0,0,.45)}
@supports (backdrop-filter:blur(1px)){.chain{backdrop-filter:blur(14px)}}
@supports not (backdrop-filter:blur(1px)){.chain{background:rgba(15,47,87,.88)}}
.chain h2{font-size:1.05rem;color:#fff;margin:0 0 4px;letter-spacing:0}
.chain>p{font-size:.88rem;color:var(--azul-gelo);margin:0 0 14px;line-height:1.5}
.chain ol{list-style:none;margin:0;padding:0;position:relative}
.chain ol::before{content:"";position:absolute;left:15px;top:18px;bottom:18px;width:2px;background:linear-gradient(var(--verde-claro),rgba(184,199,218,.45));transform-origin:top;animation:grow 1.1s var(--ease) .35s both}
.chain li{position:relative;padding:9px 0 9px 46px;animation:rise .6s var(--ease) both}
.chain li:nth-child(1){animation-delay:.25s}.chain li:nth-child(2){animation-delay:.4s}.chain li:nth-child(3){animation-delay:.55s}.chain li:nth-child(4){animation-delay:.7s}.chain li:nth-child(5){animation-delay:.85s}
.chain li::before{content:"";position:absolute;left:9px;top:15px;width:14px;height:14px;border-radius:50%;background:var(--azul-900);border:2px solid var(--verde-claro)}
.chain a{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;color:#fff;text-decoration:none;border-radius:10px;padding:2px 6px;margin:-2px -6px}
.chain a:hover{background:rgba(255,255,255,.08)}
.chain b{font-size:1.02rem;font-weight:750}
.chain small{font-size:.75rem;font-weight:600;color:var(--verde-claro)}
.chain span{flex-basis:100%;font-size:.88rem;color:#DCE6F2;line-height:1.45}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero .lead,.hero .btns,.hero .chips{animation:rise .7s var(--ease) both}
.hero .btns{animation-delay:.12s}.hero .chips{animation-delay:.22s}
/* borda inferior em curva de nível */
.edge{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(28px,4vw,56px);z-index:1;color:#fff}
.edge.alt{color:var(--azul-50)}

/* hero das páginas internas */
.hero-page{padding:22px 0 clamp(52px,6vw,84px)}
.hero-page::before{background-position:85% 30%;opacity:.75}
.hero-page .pin{left:84%;top:30%}
@media(max-width:959px){.hero-page .pin{left:92%;top:5%}}
.hero-page h1{max-width:22ch;font-size:clamp(1.9rem,1.25rem + 2.6vw,3.05rem)}
.crumbs{font-size:.85rem;margin:0 0 26px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0}
.crumbs li{color:var(--azul-gelo)}
.crumbs li+li::before{content:"/";margin:0 8px;color:rgba(184,199,218,.6)}
.crumbs a{color:#DCE6F2;text-decoration:none}
.crumbs a:hover{color:#fff;text-decoration:underline}
.meta-line{margin:22px 0 0;font-size:.85rem;color:var(--azul-gelo)}
.norm{display:inline-block;margin:0 0 14px;padding:4px 12px;border-radius:var(--r-pill);font-size:.8rem;font-weight:700;color:var(--azul-900);background:var(--verde-claro)}

/* ---------- seções ---------- */
.sec{padding:var(--sec) 0}
.sec.tint{background:var(--azul-50)}
.sec-head{max-width:760px;margin:0 0 36px}
.sec-head p{color:var(--tinta-suave);font-size:1.08rem}
.dark{background:var(--azul-900);color:#DCE6F2;position:relative;overflow:hidden;isolation:isolate}
.dark h2,.dark h3{color:#fff}
.dark a:not(.btn){color:#fff}
.dark::before{content:"";position:absolute;inset:0;z-index:-1;background:url(/assets/isolinhas.svg) 10% 60%/1500px auto no-repeat;opacity:.35}
.split{display:grid;gap:32px;align-items:center}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:56px}.split.r>figure{order:2}}
.split.top{align-items:start}
.photo{margin:0 auto;position:relative;max-width:440px;width:100%}
.photo img{border-radius:42% 58% 55% 45%/48% 42% 58% 52%;box-shadow:var(--sh-2);width:100%;aspect-ratio:1/1;object-fit:cover}
.photo figcaption{font-size:.82rem;color:var(--tinta-suave);margin-top:12px}
.photo::before{content:"";position:absolute;inset:-8px;z-index:-1;border-radius:50%;border:1.5px dashed rgba(12,152,84,.45);transform:rotate(-8deg)}

/* rede credenciada: legenda de mapa */
.units{list-style:none;padding:0;margin:20px 0;display:grid;gap:10px}
@media(min-width:560px){.units{grid-template-columns:1fr 1fr}}
.units li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--linha)}
.units svg{width:22px;height:22px;flex:none;color:var(--verde-600);margin-top:2px}
.units b{display:block;color:var(--azul-900);font-size:.98rem}
.units span{display:block;font-size:.88rem;line-height:1.4;color:var(--tinta-suave)}
.small{font-size:.9rem;color:var(--tinta-suave)}

/* índice técnico de serviços */
.spec{border-top:2px solid var(--azul-900);list-style:none;margin:0;padding:0!important}
.spec a{display:grid;grid-template-columns:96px 1fr 28px;gap:4px 18px;align-items:center;padding:18px 6px;border-bottom:1px solid var(--linha);text-decoration:none;color:var(--tinta);transition:background-color .2s}
.spec a:hover{background:var(--azul-50)}
.spec .code{font-size:.8rem;font-weight:700;color:var(--verde-700);background:var(--verde-100);border-radius:var(--r-pill);padding:4px 10px;justify-self:start;white-space:nowrap}
.spec .t{font-size:1.12rem;font-weight:750;color:var(--azul-900)}
.spec .q{grid-column:2;color:var(--tinta-suave);font-size:.95rem;line-height:1.5}
.spec svg{grid-row:1/span 2;grid-column:3;width:22px;height:22px;color:var(--azul);transition:transform .2s var(--ease)}
.spec a:hover svg{transform:translateX(4px)}
@media(min-width:900px){.spec a{grid-template-columns:110px minmax(220px,.8fr) 1.4fr 28px;padding:20px 10px}.spec .q{grid-column:3}.spec svg{grid-row:auto;grid-column:4}}
@media(max-width:479px){.spec a{grid-template-columns:1fr 24px}.spec .code{grid-column:1}.spec .t,.spec .q{grid-column:1}.spec svg{grid-column:2;grid-row:1/span 3}}

/* regras */
.rules{display:grid;gap:18px;list-style:none;padding:0;margin:0}
@media(min-width:860px){.rules{grid-template-columns:repeat(3,1fr);gap:24px}}
.rules li{padding:26px 24px;border-radius:var(--r-md);border:1px solid rgba(184,199,218,.25);background:rgba(255,255,255,.04)}
.rules h3{margin-bottom:.4em}
.rules p{margin:0;color:#DCE6F2;font-size:.98rem}
.rules svg{width:30px;height:30px;color:var(--verde-claro);margin-bottom:14px}
.lede-dark{max-width:62ch;font-size:1.08rem}
.dark .sec-head p{color:#DCE6F2}

/* passos (sequência real) */
.steps{list-style:none;padding:0;margin:0;display:grid;gap:22px;counter-reset:s}
@media(min-width:900px){.steps{grid-template-columns:repeat(4,1fr);gap:20px}}
.steps li{counter-increment:s;position:relative;padding:58px 0 0}
.steps li::before{content:counter(s);position:absolute;top:0;left:0;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:var(--azul);box-shadow:0 0 0 6px var(--azul-100)}
@media(min-width:900px){.steps li::after{content:"";position:absolute;top:21px;left:58px;right:-12px;height:2px;background:repeating-linear-gradient(90deg,var(--verde) 0 8px,transparent 8px 14px)}.steps li:last-child::after{display:none}}
.steps h3{font-size:1.08rem}
.steps p{font-size:.97rem;color:var(--tinta-suave);margin:0}

/* ---------- páginas internas: conteúdo + lateral ---------- */
.page{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;padding-top:clamp(40px,6vw,72px);padding-bottom:var(--sec)}
@media(min-width:1000px){.page{grid-template-columns:minmax(0,1fr) 300px;gap:64px}}
.prose{max-width:70ch}
.prose h2{margin-top:1.9em;scroll-margin-top:96px}
.prose>section:first-child h2,.prose>.answer+section h2{margin-top:1.2em}
.prose h3{margin-top:1.4em}
.prose ul,.prose ol{padding-left:1.25em}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--verde-600);font-weight:700}
.answer{position:relative;padding:22px 24px 20px 26px;border-radius:var(--r-md);background:var(--verde-100);border:1px solid rgba(8,127,70,.22);margin:0 0 8px}
.answer::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 4px 4px 0;background:var(--verde-600)}
.answer h2{font-size:1.05rem;margin:0 0 6px!important;color:var(--verde-700);letter-spacing:0}
.answer p{margin:0;font-size:1.02rem;color:var(--tinta)}
.fig{margin:2em 0}
.fig img{width:100%;border-radius:var(--r-lg);box-shadow:var(--sh-1);aspect-ratio:16/10;object-fit:cover}
.fig.cut img{aspect-ratio:auto;object-fit:contain;max-width:340px;box-shadow:none;border-radius:0}
.fig figcaption{font-size:.85rem;color:var(--tinta-suave);margin-top:10px}
table{width:100%;border-collapse:collapse;font-size:.95rem;background:#fff}
caption{text-align:left;font-weight:700;color:var(--azul-900);padding:0 0 10px;font-size:.98rem}
th,td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--linha)}
thead th{background:var(--azul-900);color:#fff;font-weight:700;font-size:.88rem}
thead th:first-child{border-radius:10px 0 0 0}thead th:last-child{border-radius:0 10px 0 0}
tbody th{color:var(--azul-900);font-weight:700}
tbody tr:nth-child(even){background:var(--azul-50)}
.tbl{overflow-x:auto;margin:1.4em 0;-webkit-overflow-scrolling:touch}
.checks{list-style:none;padding:0!important}
.checks li{position:relative;padding-left:32px}
.checks li::before{content:"";position:absolute;left:0;top:.35em;width:20px;height:20px;border-radius:50%;background:var(--verde-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087F46' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat}
.note{font-size:.88rem;color:var(--tinta-suave);border-top:1px solid var(--linha);padding-top:16px;margin-top:2.4em}
.faq{margin-top:2.4em}
.faq h3{font-size:1.06rem;margin:1.5em 0 .4em;padding-left:18px;border-left:3px solid var(--verde)}
.faq p{padding-left:21px}
.related{margin-top:2.6em;padding-top:8px}
.related ul{list-style:none;padding:0;display:grid;gap:10px}
@media(min-width:640px){.related ul{grid-template-columns:1fr 1fr}}
.related a{display:block;height:100%;padding:16px 18px;border-radius:14px;border:1px solid var(--linha);text-decoration:none;color:var(--tinta);transition:border-color .2s,transform .2s var(--ease)}
.related a:hover{border-color:var(--azul);transform:translateY(-2px)}
.related b{display:block;color:var(--azul);font-size:1rem}
.related span{font-size:.9rem;color:var(--tinta-suave)}
.side{display:grid;gap:20px;align-content:start}
@media(min-width:1000px){.side{position:sticky;top:96px}}
.toc{display:none}
@media(min-width:1000px){.toc{display:block}}
.toc h2{font-size:.85rem;font-weight:700;color:var(--tinta-suave);margin:0 0 8px;letter-spacing:.02em}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--linha)}
.toc a{display:block;padding:6px 0 6px 14px;margin-left:-2px;border-left:2px solid transparent;font-size:.9rem;color:var(--tinta-suave);text-decoration:none;line-height:1.4}
.toc a:hover{color:var(--azul);border-left-color:var(--verde)}
.card-c{padding:22px;border-radius:var(--r-md);background:var(--azul-900);color:#DCE6F2;position:relative;overflow:hidden;isolation:isolate}
.card-c::before{content:"";position:absolute;inset:0;z-index:-1;background:url(/assets/isolinhas.svg) 70% 20%/900px auto no-repeat;opacity:.45}
.card-c h2{color:#fff;font-size:1.1rem;margin:0 0 6px}
.card-c p{font-size:.92rem;margin:0 0 14px;line-height:1.55}
.card-c .btn{width:100%;margin-top:10px}

/* ---------- CTA final ---------- */
.cta{padding:var(--sec) 0}
.cta-box{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r-lg);padding:clamp(28px,5vw,56px);background:linear-gradient(135deg,var(--azul-700) 0%,var(--azul) 60%,#106a63 120%);color:#DCE6F2;box-shadow:var(--sh-2)}
.cta-box::before{content:"";position:absolute;inset:0;z-index:-1;background:url(/assets/isolinhas.svg) 95% 50%/1200px auto no-repeat;opacity:.55}
.cta-box h2{color:#fff;max-width:24ch}
.cta-box p{max-width:60ch}
.cta-box a:not(.btn){color:#fff}

/* ---------- formulário (orçamento) ---------- */
.form{display:grid;gap:18px;padding:clamp(20px,4vw,32px);border-radius:var(--r-lg);background:#fff;border:1px solid var(--linha);box-shadow:var(--sh-1);margin:1.4em 0}
.form .row{display:grid;gap:18px}
@media(min-width:640px){.form .row{grid-template-columns:1fr 1fr}}
.form label{display:block;font-weight:600;font-size:.92rem;color:var(--azul-900);margin-bottom:6px}
.form .hint{display:block;font-weight:400;color:var(--tinta-suave);font-size:.82rem}
.form input,.form select,.form textarea{width:100%;min-height:48px;padding:10px 14px;font:inherit;font-size:1rem;color:var(--tinta);background:#fff;border:1.5px solid #9AA9BC;border-radius:var(--r-sm)}
.form textarea{min-height:96px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid rgba(25,75,136,.35);outline-offset:0;border-color:var(--azul)}
.form .err{display:none;color:#B3261E;font-size:.85rem;margin-top:6px}
.form [aria-invalid=true]{border-color:#B3261E}
.form [aria-invalid=true]+.err{display:block}
.form .btn{justify-self:start}

/* ---------- identidade / contatos ---------- */
.ident{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:0;border-top:1px solid var(--linha)}
.ident dt,.ident dd{margin:0;padding:12px 0;border-bottom:1px solid var(--linha)}
.ident dt{font-weight:700;color:var(--azul-900);padding-right:12px}
@media(max-width:520px){.ident{grid-template-columns:1fr}.ident dt{border-bottom:0;padding-bottom:0}}

/* ---------- rodapé ---------- */
.foot{background:var(--azul-900);color:var(--azul-gelo);padding:64px 0 28px;font-size:.93rem;position:relative;isolation:isolate;overflow:hidden}
.foot::before{content:"";position:absolute;inset:0;z-index:-1;background:url(/assets/isolinhas.svg) 100% 0/1100px auto no-repeat;opacity:.18}
.foot a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35)}
.foot a:hover{text-decoration:underline;color:#fff}
.foot-grid{display:grid;gap:32px}
@media(min-width:900px){.foot-grid{grid-template-columns:1.3fr 1fr 1fr 1fr}}
.foot h2{font-size:.95rem;color:#fff;margin:0 0 12px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{padding:5px 0}
.foot .brand{display:inline-block;background:#fff;border-radius:14px;padding:8px 14px;margin-bottom:16px}.foot .brand img{width:160px}
.foot-legal{border-top:1px solid rgba(184,199,218,.2);margin-top:40px;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:.85rem}

/* barra fixa no celular */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--linha);box-shadow:0 -8px 24px -12px rgba(11,31,58,.25)}
.dock .btn{min-height:48px;font-size:.92rem;padding:.6em .8em}
@media(min-width:900px){.dock{display:none}}
@media(max-width:899px){body{padding-bottom:76px}}

/* 404 */
.nf{padding:var(--sec) 0}
.nf ul{columns:2;column-gap:28px}
@media(max-width:560px){.nf ul{columns:1}}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.top,.dock,.side,.cta,.foot::before,.hero::before{display:none}.hero{color:#000;background:none}.hero h1{color:#000}}

.form .err.on{display:block}
.form .hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form fieldset.srv{border:0;padding:0;margin:0;min-width:0}
.form fieldset.srv legend{font-weight:600;font-size:.92rem;color:var(--azul-900);margin-bottom:6px;padding:0}
.form .chks{display:grid;gap:4px 18px}
@media(min-width:640px){.form .chks{grid-template-columns:1fr 1fr}}
.form label.chk,.form .chk-lgpd label{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:0;padding:6px 0;font-size:.95rem}
.form .chk-lgpd{display:flex;gap:10px;align-items:flex-start}
.form .chk-lgpd label{display:block;padding:0}
.form input[type=checkbox]{width:22px;min-height:22px;height:22px;flex:none;margin:1px 0 0;accent-color:var(--azul)}
.form .btns{display:flex;flex-wrap:wrap;gap:12px;margin:0}
#orc-st:empty{display:none}
#orc-st.ok{padding:20px;border-radius:var(--r-sm);background:#EAF6EE;border:1px solid #9BCFAE}
#orc-st.bad{padding:14px 16px;border-radius:var(--r-sm);background:#FDECEA;border:1px solid #E5A29C}
#orc-st h2{margin:0 0 6px}
.form[hidden]{display:none}

/* aviso de cookies (GA4 / Consent Mode) */
.ck{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;color:#1b2433;border-top:1px solid #cdd6e2;box-shadow:0 -4px 14px rgba(11,31,58,.1);font-size:.82rem;line-height:1.4}
.ck p{margin:0;max-width:44rem}
.ck a{color:#194b88;text-decoration:underline}
.ck-b{display:flex;gap:8px;flex:0 0 auto}
.ck-b button{min-height:44px;min-width:96px;padding:0 16px;border-radius:999px;border:2px solid #194b88;background:#fff;color:#194b88;font:inherit;font-weight:700;cursor:pointer}
.ck-b button[data-ck=granted]{background:#087f46;border-color:#087f46;color:#fff}
.ck-b button:focus-visible{outline:3px solid #194b88;outline-offset:2px}
@media (max-width:899px){.ck-b{width:100%}.ck-b button{flex:1}}
@media print{.ck{display:none}}
.ck-reset{background:none;border:0;padding:0;color:#194b88;text-decoration:underline;font:inherit;cursor:pointer}
