/* Hélio Sousa · Osteopata — site-proposta.
   Mundo: osso, bronze do logótipo, teca da parede do retrato, verde só para a pediatria.
   Young Serif (eco do wordmark serifado do cartão) + Hanken Grotesk. Réguas de 1 px, um canto muito arredondado. */
:root{
  --osso:#F5F3EE; --osso-2:#ECE8DF; --branco:#FFFFFF; --tinta:#1B2726; --tinta-2:#4F5B59; --linha:#D8D3C8;
  --bronze:#8A6A3B; --bronze-escuro:#6E5330; --bronze-claro:#EFE6D6;
  --teca:#B98B5A; --verde:#2E5F5E; --verde-claro:#E3ECEA; --wa:#1F6B4A;
  --fd:"Young Serif",Georgia,"Times New Roman",serif; --ft:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  --max:1240px; --gut:clamp(16px,4vw,56px); --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-color:var(--bronze) var(--osso-2);-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--osso);color:var(--tinta);font-family:var(--ft);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;caret-color:var(--bronze)}
::selection{background:var(--bronze);color:#fff}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{text-decoration-color:var(--bronze)}
:focus-visible{outline:3px solid var(--bronze);outline-offset:3px;border-radius:4px}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{margin:0;font-family:var(--fd);font-weight:400;line-height:1.08;letter-spacing:-.012em;text-wrap:balance}
p{margin:0}
p,li{text-wrap:pretty}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.num{font-variant-numeric:tabular-nums lining-nums}
.salto{position:absolute;left:12px;top:-60px;z-index:50;background:var(--tinta);color:#fff;padding:10px 14px;border-radius:8px;text-decoration:none}
.salto:focus{top:12px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* faixa da proposta */
.faixa{background:var(--tinta);color:#fff;font-size:13px;line-height:1.35;padding:8px var(--gut);text-align:center}
.faixa span{color:#C9CFCB}

/* cabeçalho */
.topo{position:sticky;top:0;z-index:30;background:rgba(245,243,238,.92);backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--linha)}
.topo .wrap{display:flex;align-items:center;gap:28px;min-height:72px}
.marca{text-decoration:none;display:flex;align-items:center;gap:12px;flex:none}
.marca img{height:46px;width:auto;border-radius:8px;background:#fff}
.marca b{font-family:var(--fd);font-weight:400;font-size:21px;line-height:1;display:block}
.marca small{display:block;font-size:12px;color:var(--tinta-2);letter-spacing:.08em;text-transform:uppercase;margin-top:4px}
.nav{display:flex;gap:26px;margin-left:auto;font-size:15px}
.nav a{text-decoration:none;color:var(--tinta-2);padding:8px 0;border-bottom:2px solid transparent;transition:color .18s,border-color .18s}
.nav a:hover{color:var(--tinta);border-color:var(--linha)}
.nav a[aria-current="page"]{color:var(--tinta);border-color:var(--bronze)}
.menu-btn{display:none;margin-left:auto;background:none;border:1.5px solid var(--tinta);border-radius:999px;height:42px;padding:0 14px;font:600 14px var(--ft);color:var(--tinta);align-items:center;gap:8px;cursor:pointer}
.menu-btn span{display:block;width:16px;height:1.5px;background:currentColor;position:relative}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:currentColor;transition:transform .2s var(--ease)}
.menu-btn span::before{top:-5px}.menu-btn span::after{top:5px}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{transform:translateY(5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{transform:translateY(-5px) rotate(-45deg)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border:1.5px solid var(--tinta);border-radius:999px;text-decoration:none;font:600 15px/1 var(--ft);color:var(--tinta);background:transparent;transition:transform .16s var(--ease),background .16s,color .16s,border-color .16s;white-space:nowrap;cursor:pointer}
.btn svg{width:16px;height:16px;flex:none}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-cheio{background:var(--tinta);color:#fff}
.btn-cheio:hover{background:#000}
.btn-wa{background:var(--wa);border-color:var(--wa);color:#fff}
.btn-wa:hover{background:#185439;border-color:#185439}
.topo .btn{padding:10px 16px;font-size:14px}
.ligacao{font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--bronze);padding-bottom:2px}
.ligacao::after{content:" →"}

/* hero (início) */
.hero{padding:clamp(36px,5vw,72px) 0 0;overflow:hidden}
.hero .grelha{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(24px,5vw,80px);align-items:center}
.hero h1{font-size:clamp(40px,4.6vw,64px);max-width:14ch}
.hero h1 em{font-style:normal;color:var(--bronze)}
.hero .apoio{margin-top:22px;font-size:19px;line-height:1.5;color:var(--tinta-2);max-width:40ch}
.acoes{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.pins{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;padding:0;list-style:none}
.pin{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--tinta);background:#fff;border:1px solid var(--linha);border-radius:999px;padding:7px 13px 7px 10px}
.pin i{width:9px;height:9px;border-radius:50%;background:var(--bronze);display:inline-block}
.pin.ped i{background:var(--verde)}
.painel{position:relative;background:linear-gradient(160deg,#C79A66 0%,#A87A4C 60%,#8F6539 100%);border-radius:28px 28px 180px 28px;padding:clamp(16px,2vw,28px);aspect-ratio:1/1.02;display:grid}
.painel .img{border-radius:18px 18px 160px 18px;overflow:hidden;height:100%;box-shadow:0 30px 60px -30px rgba(40,25,10,.5)}
.painel img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.hero .painel .img{animation:revela 1.1s var(--ease) .1s both}
@keyframes revela{from{clip-path:inset(0 0 100% 0 round 18px);transform:scale(1.04)}to{clip-path:inset(0 0 0 0 round 18px);transform:none}}
.selo{position:absolute;left:clamp(16px,2vw,28px);top:clamp(16px,2vw,28px);background:#fff;color:var(--tinta);border-radius:14px;padding:10px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 14px 34px -14px rgba(0,0,0,.45);text-decoration:none}
.selo strong{font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1}
.selo small{display:block;font-size:12px;color:var(--tinta-2);line-height:1.25}
.estrela{width:16px;height:16px;fill:#C98A12;flex:none}
.legenda{position:absolute;right:clamp(16px,2vw,28px);bottom:clamp(16px,2vw,28px);background:rgba(27,39,38,.8);color:#fff;font-size:12.5px;padding:7px 11px;border-radius:999px}
.tira{margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);background:#fff}
.tira dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0}
.tira dl>div{padding:18px 18px 18px 0;border-right:1px solid var(--linha);font-size:15px;color:var(--tinta-2)}
.tira dl>div+div{padding-left:18px}
.tira dl>div:last-child{border-right:0}
.tira dt{font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--bronze-escuro);font-weight:600}
.tira dd{margin:0}
.tira dd b{display:block;color:var(--tinta);font-weight:600;font-size:17px}
.tira a{text-decoration-color:var(--linha)}

/* cabeçalho de página interior */
.pg{padding:clamp(40px,6vw,88px) 0 clamp(28px,4vw,48px);border-bottom:1px solid var(--linha)}
.pg .grelha{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px 56px;align-items:end}
.pg h1{font-size:clamp(38px,5vw,68px);max-width:16ch}
.pg h1 em{font-style:normal;color:var(--bronze)}
.pg p{color:var(--tinta-2);font-size:18px;max-width:44ch}
.trilho{font-size:14px;color:var(--tinta-2);margin-bottom:18px}
.trilho a{color:var(--tinta-2)}

/* secções */
section{padding:clamp(60px,7vw,104px) 0}
.cab{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 48px;align-items:end;margin-bottom:clamp(28px,4vw,44px)}
.cab h2{font-size:clamp(30px,3.6vw,48px);max-width:18ch}
.cab p{color:var(--tinta-2);max-width:46ch;justify-self:end}
.claro{background:#fff;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}

/* lista editorial de consultas */
.consultas{border-top:1px solid var(--tinta)}
.consulta{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);gap:16px 40px;padding:30px 0;border-bottom:1px solid var(--linha);align-items:baseline;text-decoration:none;transition:background .2s}
a.consulta:hover h3{color:var(--bronze-escuro)}
a.consulta:hover .seta{transform:translateX(4px)}
.consulta h3{font-size:clamp(26px,2.6vw,36px);transition:color .2s}
.consulta p{color:var(--tinta-2);max-width:46ch}
.consulta .onde{justify-self:end;text-align:right;font-size:14px;color:var(--tinta-2);display:flex;align-items:center;gap:14px}
.consulta .onde b{display:block;color:var(--tinta);font-weight:600;font-size:16px}
.consulta.ped h3{color:var(--verde)}
.seta{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .2s var(--ease)}
.nota{font-size:13.5px;color:var(--tinta-2);margin-top:16px;max-width:70ch}

/* quem recebe (início) */
.quem .grelha{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:center}
.quem figure{margin:0;border-radius:20px 20px 120px 20px;overflow:hidden;background:var(--teca);aspect-ratio:4/5}
.quem figure img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.quem h2{font-size:clamp(30px,3.6vw,48px);max-width:16ch}
.quem p{color:var(--tinta-2);margin-top:16px;max-width:48ch;font-size:18px}
.quem .ligacao{display:inline-block;margin-top:24px}

/* passos */
.passos{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--linha);border-radius:20px;overflow:hidden;margin:0;padding:0;list-style:none}
.passo{padding:clamp(24px,3vw,40px);display:grid;gap:12px;align-content:start;background:var(--osso)}
.passo+.passo{border-left:1px solid var(--linha)}
.passo:nth-child(2){background:var(--bronze-claro)}
.passo:nth-child(3){background:var(--verde-claro)}
.passo h3{font-size:24px}
.passo p{color:var(--tinta-2);font-size:15.5px;max-width:32ch}
.passo .n{font-family:var(--fd);font-size:40px;line-height:1;color:var(--bronze)}
.passo:nth-child(3) .n{color:var(--verde)}

/* prova */
.prova{text-align:center;padding-block:clamp(48px,6vw,80px)}
.prova strong{font-family:var(--fd);font-weight:400;font-size:clamp(56px,8vw,112px);line-height:1;display:block}
.prova p{color:var(--tinta-2);max-width:46ch;margin:14px auto 0}
.estrelas{display:inline-flex;gap:4px;margin-bottom:10px}
.estrelas .estrela{width:22px;height:22px}

/* bloco de contacto escuro */
.contacto{background:var(--tinta);color:#F1EFE9;padding:clamp(60px,8vw,110px) 0}
.contacto .grelha{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:end}
.contacto h2{font-size:clamp(34px,5vw,68px);color:#fff}
.contacto h2 em{font-style:normal;color:#D9B98A}
.contacto p{color:#C3CBC7;font-size:18px;margin-top:18px;max-width:42ch}
.contacto p a{color:#fff}
.canais{display:grid;gap:10px}
.canal{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#263433;border:1px solid #3A4A48;color:#fff;border-radius:16px;padding:18px 20px;text-decoration:none;transition:transform .18s var(--ease),background .18s}
.canal:hover{transform:translateX(3px);background:#2F403E}
.canal b{font-size:19px;font-weight:600}
.canal small{display:block;color:#C3CBC7;font-size:13.5px;margin-top:2px}
.canal svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.canal.wa{background:var(--wa);border-color:#2A7F5A}
.canal.wa:hover{background:#257A55}
.canal.wa small{color:#D5EADF}

/* serviços */
.indice{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px;padding:0;list-style:none}
.indice a{display:inline-flex;align-items:center;gap:8px;font-size:15px;text-decoration:none;background:#fff;border:1px solid var(--linha);border-radius:999px;padding:9px 15px 9px 12px;transition:border-color .18s}
.indice a:hover{border-color:var(--tinta)}
.indice i{width:9px;height:9px;border-radius:50%;background:var(--bronze)}
.indice .ped i{background:var(--verde)}
.servico{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:28px clamp(28px,5vw,80px);padding:clamp(48px,6vw,88px) 0;border-bottom:1px solid var(--linha);scroll-margin-top:90px}
.servico:last-of-type{border-bottom:0}
.servico h2{font-size:clamp(36px,4.4vw,60px)}
.servico .para{font-size:14px;color:var(--bronze-escuro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:14px}
.servico.ped .para{color:var(--verde)}
.servico .texto{display:grid;gap:14px;margin-top:22px;max-width:52ch;color:var(--tinta-2);font-size:18px}
.ficha{background:#fff;border:1px solid var(--linha);border-radius:20px 20px 72px 20px;padding:clamp(22px,2.6vw,34px);margin:0;align-self:start}
.servico.ped .ficha{background:var(--verde-claro);border-color:#C7D8D5}
.ficha>div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:13px 0;border-top:1px solid var(--linha);font-size:15.5px}
.servico.ped .ficha>div{border-color:#C7D8D5}
.ficha>div:first-child{border-top:0;padding-top:0}
.ficha dt{color:var(--tinta-2)}
.ficha dd{margin:0;color:var(--tinta);font-weight:500}
.ficha .btn{margin-top:14px;width:100%}
.duvidas{max-width:860px}
.duvidas details{border-top:1px solid var(--linha);padding:4px 0}
.duvidas details:last-child{border-bottom:1px solid var(--linha)}
.duvidas summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-family:var(--fd);font-size:clamp(20px,2vw,24px)}
.duvidas summary::-webkit-details-marker{display:none}
.duvidas summary::after{content:"";width:12px;height:12px;border-right:1.5px solid var(--bronze);border-bottom:1.5px solid var(--bronze);transform:rotate(45deg) translateY(-4px);transition:transform .2s var(--ease);flex:none}
.duvidas details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.duvidas details p{color:var(--tinta-2);padding:0 0 20px;max-width:62ch}

/* sobre */
.retrato-grande{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
.retrato-grande .painel{aspect-ratio:auto;border-radius:28px 28px 140px 28px;align-self:start;position:sticky;top:100px}
.retrato-grande .painel .img{border-radius:18px 18px 120px 18px;aspect-ratio:487/640}
.retrato-grande figcaption{color:#FBF4EA;font-size:13px;padding:12px 4px 0}
.corpo{display:grid;gap:18px;font-size:18px;color:var(--tinta-2);max-width:56ch}
.corpo strong{color:var(--tinta);font-weight:600}
.corpo h2{font-size:clamp(28px,3vw,40px);color:var(--tinta);margin-top:28px}
.confirmado{margin:8px 0 0;border-top:1px solid var(--tinta)}
.confirmado>div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--linha);font-size:16px}
.confirmado dt{color:var(--tinta-2)}
.confirmado dd{margin:0;color:var(--tinta)}
.completar{border:1.5px dashed #BFAE8E;border-radius:20px;padding:clamp(20px,2.4vw,30px);background:var(--bronze-claro);color:var(--tinta);font-size:16px;display:grid;gap:10px}
.completar h3{font-size:22px}
.completar ul{margin:0;padding-left:20px;color:var(--tinta-2);display:grid;gap:4px}
.identidade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(16px,3vw,32px)}
.identidade figure{margin:0;background:#fff;border:1px solid var(--linha);border-radius:20px;overflow:hidden;display:grid;grid-template-rows:1fr auto}
.identidade .logo{display:grid;place-items:center;padding:clamp(24px,4vw,56px)}
.identidade .logo img{max-width:440px;width:100%}
.identidade .foto img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.identidade figcaption{font-size:14px;color:var(--tinta-2);padding:14px 18px;border-top:1px solid var(--linha)}

/* marcações */
.canais-claros{display:grid;grid-template-columns:1fr 1fr 1.25fr 1.25fr;gap:12px}
.cc{background:#fff;border:1px solid var(--linha);border-radius:18px;padding:22px;display:grid;gap:6px;align-content:start;text-decoration:none;transition:border-color .18s,transform .18s var(--ease)}
.cc:hover{border-color:var(--tinta);transform:translateY(-2px)}
.cc span{font-size:14px;color:var(--tinta-2)}
.cc b{font-family:var(--fd);font-weight:400;font-size:clamp(20px,1.9vw,25px);line-height:1.15;overflow-wrap:anywhere}
.cc small{font-size:13.5px;color:var(--tinta-2);margin-top:6px}
.cc b.longo{font-size:clamp(17px,1.45vw,21px);overflow-wrap:normal}
.cc.wa{background:var(--wa);border-color:var(--wa);color:#fff}
.cc.wa span,.cc.wa small{color:#D5EADF}
.cc.tel{background:var(--tinta);border-color:var(--tinta);color:#fff}
.cc.tel span,.cc.tel small{color:#C3CBC7}
.locais .grelha{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(24px,4vw,56px);align-items:start}
.mapa{margin:0;background:#fff;border:1px solid var(--linha);border-radius:20px;padding:clamp(14px,2vw,22px)}
.mapa svg{width:100%;height:auto;display:block}
.mapa figcaption{font-size:13.5px;color:var(--tinta-2);margin-top:10px}
.local{background:#fff;border:1px solid var(--linha);border-radius:20px;padding:clamp(22px,2.6vw,32px);display:grid;gap:10px}
.local+.local{margin-top:14px}
.local h3{font-size:30px}
.local p{color:var(--tinta-2)}
.etiq{display:inline-flex;gap:8px;align-items:center;font-size:13px;color:var(--verde);background:var(--verde-claro);border-radius:999px;padding:5px 11px;font-weight:600;width:max-content}
.aviso{font-size:14px;border-top:1px solid var(--linha);padding-top:10px;margin-top:4px;color:var(--tinta)!important;font-weight:500}
.selo-largo{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;border:1px solid var(--linha);border-radius:20px;padding:20px 24px;margin-top:14px;text-decoration:none}
.selo-largo strong{font-family:var(--fd);font-weight:400;font-size:48px;line-height:1}
.selo-largo p{color:var(--tinta-2);font-size:15px;max-width:40ch}

/* formulário */
.form-grelha{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:start}
.form-grelha h2{font-size:clamp(30px,3.6vw,48px)}
.form-grelha .intro{color:var(--tinta-2);margin-top:16px;max-width:40ch}
.form-grelha .intro+.intro{margin-top:12px;font-size:15px}
form{background:#fff;border:1px solid var(--linha);border-radius:24px;padding:clamp(20px,3vw,36px);display:grid;gap:18px}
.campo{display:grid;gap:6px}
.campo label,.campo legend{font-weight:600;font-size:15px;padding:0}
.campo label small,.campo legend small{font-weight:400;color:var(--tinta-2)}
.duplo{display:grid;grid-template-columns:1fr 1fr;gap:18px}
input[type=text],input[type=tel],select,textarea{font:inherit;font-size:16px;color:var(--tinta);background:var(--osso);border:1.5px solid var(--linha);border-radius:12px;padding:12px 14px;width:100%;transition:border-color .16s,background .16s}
input:hover,select:hover,textarea:hover{border-color:#BDB6A8}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--bronze);background:#fff;box-shadow:0 0 0 3px rgba(138,106,59,.18)}
input::placeholder,textarea::placeholder{color:#6E7775}
[aria-invalid="true"]{border-color:#A23B2A!important}
textarea{min-height:120px;resize:vertical}
fieldset{border:0;margin:0;padding:0;min-width:0}
.opcoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.opcoes label{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--linha);border-radius:999px;padding:8px 14px 8px 10px;font-weight:500;font-size:15px;cursor:pointer;background:var(--osso)}
.opcoes input{accent-color:var(--bronze);margin:0;width:16px;height:16px}
.opcoes label:has(input:checked){border-color:var(--tinta);background:#fff}
.opcoes label:has(input:focus-visible){outline:3px solid var(--bronze);outline-offset:2px}
.erro{color:#A23B2A;font-size:14px;min-height:0}
.erro:empty{display:none}
.dica{font-size:14px;color:var(--verde);background:var(--verde-claro);border-radius:10px;padding:8px 12px}
.dica[hidden]{display:none}
form .btn{justify-self:start}
.estado{font-size:15px;color:var(--tinta)}
.estado:empty{display:none}
.estado{background:var(--bronze-claro);border-radius:12px;padding:12px 14px}
.privado{font-size:13.5px;color:var(--tinta-2)}

/* rodapé */
footer.rodape{padding:36px 0 44px;font-size:14px;color:var(--tinta-2);border-top:1px solid var(--linha)}
.rodape .topo-r{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 48px;padding-bottom:24px;border-bottom:1px solid var(--linha);margin-bottom:20px}
.rodape .marca img{height:40px}
.rodape nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:flex-end}
.rodape nav a{text-decoration:none;color:var(--tinta)}
.rodape nav a:hover{text-decoration:underline}
.rodape .fino{display:grid;gap:8px}
.rodape a{color:var(--tinta)}
.rodape .valid{font-weight:600;color:var(--tinta)}
.rodape .studio{margin-top:6px;font-size:13px}

/* responsivo */
@media (max-width:1100px){
  .consulta{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .consulta .onde{grid-column:1/-1;justify-self:start;text-align:left}
  .canais-claros{grid-template-columns:1fr 1fr}
  .cc b.longo{font-size:20px}
}
@media (max-width:900px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--osso);border-bottom:1px solid var(--linha);flex-direction:column;gap:0;padding:6px var(--gut) 16px;margin:0;font-size:18px}
  .nav.aberto{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--linha)}
  .nav a[aria-current="page"]{border-color:var(--linha);color:var(--bronze-escuro);font-weight:600}
  .menu-btn{display:inline-flex}
  .topo .wrap{min-height:62px;gap:10px;position:relative}
  .topo .btn{order:3;padding:0;width:42px;height:42px;font-size:0;gap:0}
  .topo .btn svg{width:18px;height:18px}
  .marca img{height:38px}
  .marca b{font-size:18px}
  .marca small{display:none}
  .hero{padding-top:14px}
  .hero .grelha{grid-template-columns:1fr;gap:14px}
  .hero h1{font-size:clamp(34px,9.4vw,44px);max-width:none}
  .hero .apoio{font-size:16.5px;margin-top:10px;line-height:1.45}
  .acoes{margin-top:16px}
  .acoes .btn{flex:1 1 auto}
  .pins{margin-top:16px}
  .hero .painel{aspect-ratio:4/3.3;border-radius:20px 20px 100px 20px;padding:10px;order:-1}
  .hero .painel .img{border-radius:12px 12px 90px 12px}
  .hero .painel img{object-position:50% 12%}
  .hero .selo{left:12px;top:auto;bottom:12px;padding:8px 10px}
  .hero .selo strong{font-size:20px}
  .legenda{display:none}
  .tira{margin-top:32px}
  .tira dl{grid-template-columns:1fr}
  .tira dl>div{border-right:0;padding:12px 0!important;border-top:1px solid var(--linha)}
  .tira dl>div:first-child{border-top:0}
  .pg .grelha,.cab,.quem .grelha,.contacto .grelha,.servico,.retrato-grande,.locais .grelha,.form-grelha,.rodape .topo-r,.identidade{grid-template-columns:1fr}
  .cab p{justify-self:start}
  .consulta{grid-template-columns:1fr;gap:10px;padding:24px 0}
  .passos{grid-template-columns:1fr}
  .passo+.passo{border-left:0;border-top:1px solid var(--linha)}
  .quem figure{max-width:420px;aspect-ratio:1/1}
  .retrato-grande .painel{position:static;max-width:460px;padding:12px}
  .rodape nav ul{justify-content:flex-start}
  .ficha>div{grid-template-columns:96px 1fr}
  .confirmado>div{grid-template-columns:1fr;gap:2px}
}
@media (max-width:560px){
  .canais-claros{grid-template-columns:1fr}
  .duplo{grid-template-columns:1fr}
  form .btn{justify-self:stretch}
}
@media (max-width:400px){
  .faixa{font-size:12px;padding-inline:12px}
  .hero h1{font-size:34px}
}
