/* Layout: institucional de clínica médica. Branco e petróleo, grade rígida, cantos discretos,
   informação regulatória visível (RT, CRM, CNPJ) desde o topo. Menta só como sinal. */
:root {
  --branco: #FFFFFF;
  --gelo: #F3F6F7;
  --petroleo: #0D4961;
  --marinho: #072F40;
  --menta: #7CC7BF;
  --menta-escura: #2E8C82;
  --texto: #22343B;
  --texto-2: #5A6C72;
  --linha: #DCE4E6;
  --linha-escura: rgba(255,255,255,.16);
  --sobre-escuro: #D5E3E6;
  --titulo: "Poppins", "Helvetica Neue", Arial, sans-serif;
  --corpo: "Mulish", "Helvetica Neue", Arial, sans-serif;
  --r: 8px;
  --larg: 1200px;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--branco); color: var(--texto); font-family: var(--corpo); font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 60; background: var(--marinho); }
img { max-width: 100%; display: block; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--menta-escura); outline-offset: 3px; }
.faixa { padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.miolo { max-width: var(--larg); margin: 0 auto; }
h1, h2, h3, h4 { font-family: var(--titulo); font-weight: 600; letter-spacing: -.015em; color: var(--marinho); margin: 0; text-wrap: balance; }
h1 { font-size: clamp(2.2rem, 4.6vw, 3.6rem); line-height: 1.1; }
h2 { font-size: clamp(1.75rem, 3.2vw, 2.5rem); line-height: 1.15; }
h3 { font-size: 1.15rem; line-height: 1.3; }
p { margin: 0; }
.sobretitulo { font-family: var(--titulo); font-weight: 600; font-size: clamp(.95rem, 1.4vw, 1.08rem); letter-spacing: .1em; text-transform: uppercase; color: var(--menta-escura); display: flex; align-items: center; gap: 14px; }
.sobretitulo::before { content: ""; width: 40px; height: 3px; border-radius: 2px; background: var(--menta); flex: none; }
.lead { font-size: 1.12rem; color: var(--texto-2); max-width: 40em; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: .55em; white-space: nowrap; padding: .95em 1.6em; border-radius: var(--r); font-family: var(--titulo); font-weight: 500; font-size: .95rem; text-decoration: none; border: 1.5px solid transparent; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.btn svg { width: 18px; height: 18px; flex: none; }
.btn-primario { background: var(--petroleo); color: #fff; }
.btn-primario:hover { background: var(--marinho); }
.btn-claro { background: #fff; color: var(--marinho); }
.btn-claro:hover { background: var(--gelo); }
.btn-contorno { border-color: rgba(255,255,255,.55); color: #fff; }
.btn-contorno:hover { background: rgba(255,255,255,.1); }

/* Barra institucional */
.barra { background: var(--marinho); color: var(--sobre-escuro); font-size: .82rem; }
.barra .miolo { display: flex; flex-wrap: wrap; gap: 6px 28px; padding-block: 9px; }
.barra .rt { margin-left: auto; }
.barra b { color: #fff; font-weight: 600; }
@media (max-width: 860px) { .barra .end, .barra .hor { display: none; } .barra .rt { margin-left: 0; } }

/* Cabeçalho */
.topo { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: #fff; border-bottom: 1px solid var(--linha); }
.topo { transition: box-shadow .25s ease; }
.topo.rolado { box-shadow: 0 8px 24px -18px rgba(7,47,64,.6); }
.topo .miolo { display: flex; align-items: center; gap: 28px; padding-block: 16px; transition: padding .25s ease; }
.topo.rolado .miolo { padding-block: 10px; }
.topo .logo img { height: 46px; width: auto; }
.menu { display: flex; gap: 22px; margin-left: auto; font-family: var(--titulo); font-size: .88rem; font-weight: 500; white-space: nowrap; }
.menu a { text-decoration: none; color: var(--texto); }
.menu a:hover { color: var(--menta-escura); }
@media (max-width: 1300px) { .menu { display: none; } .topo .btn { margin-left: auto; } }
@media (max-width: 480px) { .topo .logo img { height: 30px; } .topo .btn { padding: .7em 1em; font-size: .85rem; } }

/* Abertura */
.abertura { position: relative; background: var(--marinho); color: #fff; overflow: hidden; }
.abertura .fundo { position: absolute; inset: 0; }
.abertura .fundo img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 40%; }
.abertura .fundo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,47,64,.96) 0%, rgba(7,47,64,.88) 42%, rgba(7,47,64,.35) 75%, rgba(7,47,64,.15) 100%); }
.abertura .miolo { position: relative; padding-block: clamp(72px, 10vw, 136px); }
.primeira { background: #fff; color: var(--texto); border-radius: var(--r); padding: 30px 28px; display: grid; gap: 18px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.55); }
.primeira h2 { font-size: 1.25rem; line-height: 1.3; color: var(--marinho); }
.primeira ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; border-top: 1px solid var(--linha); padding-top: 18px; }
.primeira li { display: grid; grid-template-columns: 22px 1fr; gap: 12px; font-size: .92rem; color: var(--texto-2); line-height: 1.5; }
.primeira li svg { width: 20px; height: 20px; color: var(--menta-escura); margin-top: 2px; }
.primeira li b { display: block; color: var(--marinho); font-family: var(--titulo); font-weight: 500; font-size: .95rem; }
@media (max-width: 1000px) { .abertura .miolo { grid-template-columns: 1fr; } .primeira { max-width: 520px; } }
.abertura .texto { max-width: 640px; display: grid; gap: 24px; }
.abertura h1 { color: #fff; }
.abertura .lead { color: var(--sobre-escuro); }
.abertura .lead strong { color: var(--menta); font-weight: 700; }
.abertura .sobretitulo { color: var(--menta); }
.abertura .acoes { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 760px) { .abertura .fundo::after { background: linear-gradient(180deg, rgba(7,47,64,.82), rgba(7,47,64,.95)); } }

/* Credenciais */
.credenciais { background: #fff; border-bottom: 1px solid var(--linha); }
.credenciais .miolo { display: grid; grid-template-columns: repeat(4, 1fr); }
.credenciais div { padding: 28px 24px; display: grid; gap: 6px; align-content: start; border-left: 1px solid var(--linha); }
.credenciais div:first-child { border-left: 0; padding-left: 0; }
.credenciais svg { width: 30px; height: 30px; color: var(--petroleo); margin-bottom: 4px; }
.credenciais b { font-family: var(--titulo); font-weight: 600; font-size: .98rem; color: var(--marinho); }
.credenciais span { font-size: .9rem; color: var(--texto-2); line-height: 1.5; }
@media (max-width: 900px) { .credenciais .miolo { grid-template-columns: 1fr 1fr; } .credenciais div:nth-child(3) { border-left: 0; padding-left: 0; } .credenciais div:nth-child(n+3) { border-top: 1px solid var(--linha); } }
@media (max-width: 520px) { .credenciais .miolo { grid-template-columns: 1fr; } .credenciais div { border-left: 0; padding-left: 0; } .credenciais div + div { border-top: 1px solid var(--linha); } }

.secao { padding-block: clamp(72px, 8vw, 112px); }
.gelo { background: var(--gelo); }
.cabeca { display: grid; gap: 16px; max-width: 760px; margin-bottom: 48px; }

/* Formação internacional */
.harvard { background: var(--gelo); border-bottom: 1px solid var(--linha); }
.harvard .miolo { display: grid; grid-template-columns: 320px 1fr; gap: 12px 40px; align-items: center; padding-block: 30px; }
.harvard .texto-h { font-size: 1.02rem; color: var(--texto); max-width: 60em; }
.harvard b { color: var(--marinho); }
@media (max-width: 760px) { .harvard .miolo { grid-template-columns: 1fr; } }

/* Cérebro em tempo real */
.cerebro { background: var(--marinho); color: var(--sobre-escuro); }
.cerebro h2 { color: #fff; }
.cerebro .sobretitulo { color: var(--menta); }
.cerebro .lead { color: var(--sobre-escuro); }
.cerebro .lead strong { color: var(--menta); }
.cerebro .miolo { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(36px, 6vw, 80px); align-items: center; }
.cerebro .texto { display: grid; gap: 22px; min-width: 0; }
.titulo-vemos { font-family: var(--titulo); font-weight: 600; font-size: 1.05rem; color: #fff; margin-bottom: -6px; }
.vemos { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.vemos li { display: grid; grid-template-columns: 22px 1fr; gap: 12px; line-height: 1.55; }
.vemos b { display: block; margin-bottom: 2px; }
.vemos svg { width: 22px; height: 22px; color: var(--menta); margin-top: 3px; }
.vemos b { color: #fff; font-weight: 600; }
.nota-c { font-size: .92rem; padding-left: 14px; border-left: 2px solid var(--menta); }
.fotos-c { position: relative; min-width: 0; padding-bottom: 60px; }
.fotos-c .f1 { width: 82%; aspect-ratio: 4/5; object-fit: cover; border-radius: var(--r); max-width: 100%; }
.fotos-c .f2 { position: absolute; right: 0; bottom: 0; width: 52%; aspect-ratio: 4/5; object-fit: cover; border-radius: var(--r); border: 6px solid var(--marinho); max-width: 100%; }
@media (max-width: 900px) { .cerebro .miolo { grid-template-columns: 1fr; } .fotos-c { max-width: 520px; } }
.evolucao { margin-top: 36px; display: grid; grid-template-columns: 76px 1fr; gap: 26px; align-items: center; padding: clamp(28px, 4vw, 44px); border-radius: 14px; background: var(--menta); color: var(--marinho); box-shadow: 0 24px 50px -30px rgba(7,47,64,.6); }
.evolucao svg { width: 76px; height: 76px; padding: 16px; border-radius: 50%; background: var(--marinho); color: var(--menta); }
.evolucao h3 { color: var(--marinho); font-size: clamp(1.35rem, 2.4vw, 1.8rem); margin-bottom: 8px; }
.evolucao p { font-size: 1.05rem; max-width: 52em; }
@media (max-width: 560px) { .evolucao { grid-template-columns: 1fr; } .evolucao svg { width: 60px; height: 60px; padding: 12px; } }
.servico p strong { color: var(--marinho); }
.servicos .cabeca .lead strong { color: var(--marinho); font-weight: 700; }
.banner-lugar { position: relative; margin-top: 36px; border-radius: 14px; overflow: hidden; background: var(--marinho); }
.banner-lugar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.banner-lugar::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,47,64,.96) 0%, rgba(7,47,64,.85) 50%, rgba(7,47,64,.45) 100%); }
.banner-lugar .conteudo { position: relative; z-index: 1; padding: clamp(48px, 7vw, 96px) clamp(26px, 5vw, 64px); display: grid; gap: 22px; max-width: 760px; }
.banner-lugar h2 { color: #fff; font-size: clamp(2rem, 4.4vw, 3.4rem); line-height: 1.1; }
.banner-lugar p { color: var(--sobre-escuro); font-size: clamp(1.1rem, 1.8vw, 1.3rem); }
.banner-lugar .btn { justify-self: start; }
@media (max-width: 700px) { .banner-lugar::after { background: rgba(7,47,64,.88); } }
.servicos .chamada { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 18px 32px; align-items: center; justify-content: space-between; padding: 26px 30px; border-radius: var(--r); background: #fff; border: 1px solid var(--linha); }
.servicos .chamada p { max-width: 44em; }
.servicos .chamada b { color: var(--marinho); }
.fala { margin: 6px 0; padding-left: 18px; border-left: 3px solid var(--menta); font-family: var(--titulo); font-weight: 400; font-size: 1.12rem; line-height: 1.55; color: var(--marinho); }

/* Queixas */
.titulo-trata { font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin-bottom: 20px; }
.grade-trata { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.grade-trata div, .cta-trata { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 16px 20px; border: 1px solid var(--linha); border-radius: var(--r); font-family: var(--titulo); font-weight: 500; font-size: 1.05rem; color: var(--marinho); background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
.grade-trata div::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--menta); flex: none; }
.grade-trata div:hover { border-color: var(--menta); box-shadow: 0 14px 30px -22px rgba(7,47,64,.5); }
.cta-trata { background: var(--petroleo); border-color: var(--petroleo); color: var(--sobre-escuro); text-decoration: none; font-size: .95rem; font-weight: 400; display: block; line-height: 1.4; }
.cta-trata b { display: block; color: #fff; font-weight: 600; }
.cta-trata:hover { background: var(--marinho); }
.nota-trata strong { color: var(--marinho); }
.nota-trata { margin-top: 16px; font-size: .9rem; color: var(--texto-2); max-width: 60em; }
@media (max-width: 900px) { .grade-trata { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .grade-trata { grid-template-columns: 1fr 1fr; } }
.caixa-empatia { margin: -16px 0 36px; padding: clamp(28px, 4vw, 44px); border-radius: 14px; background: var(--petroleo); color: var(--sobre-escuro); display: grid; gap: 14px; font-size: clamp(1.05rem, 1.6vw, 1.2rem); line-height: 1.6; box-shadow: 0 24px 50px -30px rgba(7,47,64,.6); }
.caixa-empatia .pergunta-e { font-family: var(--titulo); font-weight: 500; font-size: clamp(1.25rem, 2.4vw, 1.7rem); line-height: 1.35; color: #fff; }
.caixa-empatia strong { color: var(--menta); font-weight: 600; }
.grade-queixas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.grade-queixas div { padding: 24px; border: 1px solid var(--linha); border-radius: var(--r); display: grid; gap: 6px; align-content: start; transition: border-color .2s ease, box-shadow .2s ease; }
.grade-queixas div:hover { border-color: var(--menta); box-shadow: 0 14px 30px -22px rgba(7,47,64,.5); }
.grade-queixas b { font-family: var(--titulo); font-weight: 500; font-size: 1.05rem; color: var(--marinho); display: flex; align-items: center; gap: 10px; }
.grade-queixas b::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--menta); flex: none; }
.grade-queixas span { font-size: .93rem; color: var(--texto-2); line-height: 1.5; }
@media (max-width: 860px) { .grade-queixas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .grade-queixas { grid-template-columns: 1fr; } }

/* A clínica */
.clinica .miolo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 80px); align-items: center; }
.clinica .fotos { display: grid; grid-template-columns: 1.2fr 1fr; gap: 14px; min-width: 0; }
.clinica .fotos img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--r); }
.clinica .fotos .alta { grid-row: span 2; aspect-ratio: 3/4; max-width: 100%; }
.clinica .fotos .baixa { aspect-ratio: 4/3; max-width: 100%; }
.clinica .texto { display: grid; gap: 20px; min-width: 0; }
.regiao { font-size: .92rem; color: var(--texto-2); padding: 12px 16px; background: var(--gelo); border-radius: var(--r); }
.clinica .lead strong, .texto-destaque strong { color: var(--marinho); font-weight: 700; background: linear-gradient(transparent 62%, rgba(124,199,191,.45) 62%); padding: 0 2px; }
.caixa-lugar { margin-top: 8px; padding: clamp(24px, 3vw, 34px); border-radius: 14px; background: var(--marinho); color: var(--sobre-escuro); display: grid; gap: 16px; box-shadow: 0 24px 50px -30px rgba(7,47,64,.6); }
.caixa-lugar h3 { color: #fff; font-size: clamp(1.3rem, 2.2vw, 1.6rem); }
.caixa-lugar ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.caixa-lugar li { padding: .45em .9em; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(124,199,191,.45); color: #fff; font-size: .9rem; font-weight: 600; }
.caixa-lugar p { font-size: 1.02rem; }
.caixa-lugar strong { color: var(--menta); }
.fatos { list-style: none; margin: 8px 0 0; padding: 20px 0 0; border-top: 1px solid var(--linha); display: grid; gap: 14px; }
.fatos li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; font-size: .98rem; color: var(--texto-2); line-height: 1.55; }
.fatos svg { width: 22px; height: 22px; color: var(--menta-escura); margin-top: 2px; }
.fatos b { color: var(--marinho); }
.numeros { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--linha); margin-top: 8px; }
.numeros div { padding: 18px 16px 0 0; display: grid; gap: 2px; align-content: start; }
.numeros b { font-family: var(--titulo); font-weight: 600; font-size: 1.35rem; color: var(--petroleo); line-height: 1.1; }
.numeros span { font-size: .86rem; color: var(--texto-2); line-height: 1.45; }
@media (max-width: 900px) { .clinica .miolo { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .numeros { grid-template-columns: 1fr 1fr; } }

/* Serviços */
.servicos .grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--linha); border: 1px solid var(--linha); border-radius: var(--r); overflow: hidden; }
.servico { background: #fff; padding: 32px 28px; display: grid; gap: 12px; align-content: start; transition: background .2s ease; }
.servico.largo { grid-column: 1 / -1; background: linear-gradient(135deg, var(--petroleo), var(--marinho)); color: var(--sobre-escuro); padding: clamp(30px, 4vw, 46px); gap: 16px; }
.servico.largo:hover { background: linear-gradient(135deg, var(--petroleo), var(--marinho)); }
.servico.largo svg, .servico.largo:hover svg { width: 52px; height: 52px; color: var(--menta); }
.servico.largo h3 { color: #fff; font-size: clamp(1.5rem, 2.6vw, 2rem); }
.servico.largo p { color: var(--sobre-escuro); font-size: 1.05rem; max-width: 52em; }
.servico.largo p strong { color: var(--menta); }
.tecnicas-n { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.tecnicas-n li { padding: 18px; border-radius: var(--r); background: rgba(255,255,255,.06); border: 1px solid rgba(124,199,191,.4); display: grid; gap: 4px; align-content: start; }
.tecnicas-n li::before { content: none !important; }
.tecnicas-n b { font-family: var(--titulo); font-weight: 600; font-size: 1.08rem; color: #fff; }
.tecnicas-n span { font-size: .88rem; color: var(--sobre-escuro); line-height: 1.45; }
@media (max-width: 860px) { .tecnicas-n { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .tecnicas-n { grid-template-columns: 1fr; } }
.servico ul.alvos { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.servico ul.alvos li { padding: .3em .75em; border-radius: 999px; background: var(--gelo); border: 1px solid var(--linha); font-size: .84rem; font-weight: 600; color: var(--marinho); }
.servico ul.alvos li::before { content: none; }

.servico:hover { background: #FAFCFC; }
.servico:hover svg { color: var(--menta-escura); }
.servico svg { width: 36px; height: 36px; color: var(--petroleo); }
.servico p { font-size: .95rem; color: var(--texto-2); }
.servico .tag { justify-self: start; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--menta-escura); }
.servico ul { margin: 4px 0 0; padding: 0; list-style: none; display: grid; gap: 4px; font-size: .9rem; }
.servico li::before { content: "—"; color: var(--menta-escura); margin-right: 8px; }
.servicos .rodape-sec { margin-top: 22px; font-size: .92rem; color: var(--texto-2); }
@media (max-width: 960px) { .servicos .grade { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .servicos .grade { grid-template-columns: 1fr; } }

/* Método */
.metodo { background: var(--marinho); color: var(--sobre-escuro); }
.metodo h2, .metodo h3 { color: #fff; }
.metodo .sobretitulo { color: var(--menta); }
.metodo .lead { color: var(--sobre-escuro); }
.etapas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--linha-escura); }
.etapas li { padding: 28px 22px 0 0; display: grid; gap: 10px; align-content: start; }
.etapas .n { font-family: var(--titulo); font-weight: 600; font-size: .8rem; color: var(--menta); letter-spacing: .1em; }
.etapas p { font-size: .94rem; }
@media (max-width: 960px) { .etapas { grid-template-columns: 1fr 1fr; gap: 0 24px; } }
@media (max-width: 560px) { .etapas { grid-template-columns: 1fr; } }
.metodo .destaque { margin-top: 56px; display: grid; grid-template-columns: 1fr 1fr; background: rgba(255,255,255,.04); border: 1px solid var(--linha-escura); border-radius: var(--r); overflow: hidden; }
.metodo .destaque img { width: 100%; height: 100%; object-fit: cover; min-height: 320px; }
.metodo .destaque strong { color: var(--menta); }
.metodo .destaque .texto { padding: clamp(26px, 4vw, 48px); display: grid; gap: 16px; align-content: center; }
@media (max-width: 860px) { .metodo .destaque { grid-template-columns: 1fr; } .metodo .destaque img { min-height: 0; aspect-ratio: 16/10; } }

/* Ciência */
.ciencia .miolo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 80px); align-items: start; }
.compromissos { display: grid; gap: 14px; margin-top: 24px; }
.compromissos div { display: grid; grid-template-columns: 22px 1fr; gap: 12px; font-size: .97rem; }
.compromissos svg { width: 22px; height: 22px; color: var(--menta-escura); margin-top: 3px; }
.cartao-harvard { background: linear-gradient(135deg, var(--petroleo), var(--marinho)); color: var(--sobre-escuro); border-radius: 14px; padding: clamp(28px, 4vw, 44px); display: grid; gap: 14px; align-content: start; box-shadow: 0 24px 50px -30px rgba(7,47,64,.6); min-width: 0; }
.cartao-harvard .sobretitulo { color: var(--menta); }
.cartao-harvard .escola { font-family: var(--titulo); font-weight: 600; font-size: clamp(1.4rem, 2.6vw, 2rem); line-height: 1.2; color: #fff; }
.cartao-harvard .programa { font-family: var(--titulo); font-weight: 500; font-size: 1.05rem; line-height: 1.45; color: #fff; padding-left: 14px; border-left: 3px solid var(--menta); }
.tabela { border: 1px solid var(--linha); border-radius: var(--r); overflow: hidden; background: #fff; min-width: 0; }
.tabela .cab { display: grid; grid-template-columns: 1fr auto; padding: 14px 22px; background: var(--gelo); font-family: var(--titulo); font-size: .76rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--texto-2); }
.linha { display: grid; grid-template-columns: 1fr auto; gap: 6px 20px; padding: 20px 22px; border-top: 1px solid var(--linha); align-items: center; }
.linha b { font-family: var(--titulo); font-weight: 500; color: var(--marinho); }
.linha small { grid-column: 1 / -1; color: var(--texto-2); font-size: .88rem; }
.selo { font-size: .74rem; font-weight: 700; letter-spacing: .04em; padding: .35em .75em; border-radius: 4px; white-space: nowrap; background: var(--gelo); color: var(--texto-2); }
.selo.insuf { background: #FBF1DE; color: #7A5410; }
.tabela .pe { padding: 14px 22px; border-top: 1px solid var(--linha); font-size: .82rem; color: var(--texto-2); }
@media (max-width: 900px) { .ciencia .miolo { grid-template-columns: 1fr; } }

/* Corpo clínico */
.equipe .grade { display: grid; grid-template-columns: 1fr; gap: 24px; max-width: 760px; }
.medico { display: grid; grid-template-columns: 1fr; gap: 26px; padding: 32px; border: 1px solid var(--linha); border-radius: var(--r); background: #fff; align-items: start; }
.retrato { width: 150px; aspect-ratio: 3/4; border-radius: 6px; background: var(--petroleo); display: grid; place-items: center; color: #fff; font-family: var(--titulo); font-size: 2.2rem; font-weight: 500; border: 1px solid var(--linha); }
.medico .texto { display: grid; gap: 8px; min-width: 0; }
.medico .cargo { font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--menta-escura); }
.medico .reg { display: flex; gap: 8px; flex-wrap: wrap; }
.medico .reg span { font-size: .8rem; font-weight: 600; padding: .3em .7em; border-radius: 4px; background: var(--gelo); color: var(--marinho); }
.medico p { font-size: .95rem; color: var(--texto-2); }
.multi { margin-top: 24px; display: grid; grid-template-columns: repeat(7, 1fr); border: 1px solid var(--linha); border-radius: var(--r); overflow: hidden; background: #fff; }
.multi div { padding: 18px 20px; border-left: 1px solid var(--linha); font-family: var(--titulo); font-weight: 500; font-size: .92rem; color: var(--marinho); }
.multi div:first-child { border-left: 0; }
.multi span { display: block; font-family: var(--corpo); font-weight: 400; font-size: .82rem; color: var(--texto-2); }
@media (max-width: 900px) { .multi { grid-template-columns: 1fr 1fr; } .multi div { border-top: 1px solid var(--linha); } }
@media (max-width: 480px) { .medico { grid-template-columns: 1fr; } .retrato { width: 110px; } }

/* Estrutura */
.estrutura .grade { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 240px; gap: 12px; }
.estrutura figure { margin: 0; position: relative; overflow: hidden; border-radius: var(--r); background: var(--gelo); min-width: 0; }
.estrutura img { width: 100%; height: 100%; object-fit: cover; }
.estrutura figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 14px 10px; font-size: .82rem; font-weight: 600; color: #fff; background: linear-gradient(transparent, rgba(7,47,64,.8)); }
.estrutura .g1 { grid-column: span 2; grid-row: span 2; }
.estrutura .g2 { grid-column: span 2; }
@media (max-width: 860px) { .estrutura .grade { grid-template-columns: 1fr 1fr; grid-auto-rows: 200px; } }

/* Imprensa */
.imprensa { background: var(--gelo); border-top: 1px solid var(--linha); }
.medalha { display: grid; grid-template-columns: 96px 1fr; gap: 28px; align-items: center; padding: clamp(28px, 4vw, 44px); border-radius: 14px; background: linear-gradient(135deg, var(--petroleo), var(--marinho)); color: var(--sobre-escuro); text-decoration: none; box-shadow: 0 24px 50px -30px rgba(7,47,64,.7); transition: transform .2s ease; }
.medalha:hover { transform: translateY(-3px); }
.medalha > svg { width: 96px; height: 96px; color: #E3C77E; }
.medalha .texto-m { display: grid; gap: 10px; }
.medalha .veiculo { font-family: var(--titulo); font-weight: 600; font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; color: var(--menta); }
.medalha .titulo-m { font-family: var(--titulo); font-weight: 600; font-size: clamp(1.4rem, 2.8vw, 2.1rem); line-height: 1.2; color: #fff; }
.medalha.com-fotos { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 0; padding: 0; overflow: hidden; align-items: stretch; }
.medalha.com-fotos .texto-m { padding: clamp(28px, 4vw, 52px); align-content: center; }
.fotos-medalha { position: relative; display: block; min-height: 440px; }
.fotos-medalha .f1 { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% 58%; }
.fotos-medalha .f2 { position: absolute; left: 18px; top: 18px; width: 30%; aspect-ratio: 2 / 3; object-fit: cover; object-position: center top; border: 4px solid #fff; border-radius: 10px; box-shadow: 0 18px 40px -18px rgba(0,0,0,.7); }
.medalha .credito-m { font-size: .78rem; color: var(--sobre-escuro); opacity: .75; }
@media (max-width: 760px) { .medalha.com-fotos { grid-template-columns: 1fr; } .fotos-medalha { min-height: 0; height: min(105vw, 480px); } }
.medalha .ler { display: inline-flex; align-items: center; gap: 8px; font-family: var(--titulo); font-weight: 600; color: #fff; }
.medalha .ler svg { width: 18px; height: 18px; }
.sub-imprensa { margin: 40px 0 16px; font-family: var(--titulo); font-weight: 600; font-size: 1.15rem; color: var(--marinho); }
@media (max-width: 560px) { .medalha { grid-template-columns: 1fr; } .medalha > svg { width: 64px; height: 64px; } }
.materias { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
@media (max-width: 860px) { .materias { grid-template-columns: 1fr; } }
.materia { display: grid; gap: 14px; align-content: start; padding: clamp(26px, 3.5vw, 40px); border-radius: 14px; background: #fff; border: 1px solid var(--linha); border-top: 5px solid var(--menta); text-decoration: none; color: var(--texto); box-shadow: 0 24px 50px -36px rgba(7,47,64,.6); transition: transform .2s ease, box-shadow .2s ease; }
.materia:hover { transform: translateY(-3px); box-shadow: 0 30px 60px -34px rgba(7,47,64,.7); }
.materia .veiculo { font-family: var(--titulo); font-weight: 600; font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; color: var(--menta-escura); }
.materia .manchete { font-family: var(--titulo); font-weight: 600; font-size: clamp(1.15rem, 2vw, 1.4rem); line-height: 1.3; color: var(--marinho); }
.materia .resumo { color: var(--texto-2); max-width: 56em; }
.materia .ler { display: inline-flex; align-items: center; gap: 8px; font-family: var(--titulo); font-weight: 600; color: var(--petroleo); }
.materia .ler svg { width: 18px; height: 18px; }
.materia { overflow: hidden; }
.materia .foto-m { position: relative; display: block; margin: calc(-1 * clamp(26px, 3.5vw, 40px)) calc(-1 * clamp(26px, 3.5vw, 40px)) 6px; height: clamp(170px, 24vw, 320px); overflow: hidden; background: var(--gelo); }
.materia .foto-m img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; transition: transform .4s ease; }
.materia:hover .foto-m img { transform: scale(1.04); }
.materia .foto-m .play { position: absolute; left: 50%; top: 50%; width: 56px; height: 56px; transform: translate(-50%, -50%); }

/* Perguntas */
.faq .miolo { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(36px, 6vw, 80px); }
.faq details { border-bottom: 1px solid var(--linha); padding-block: 20px; }
.faq details:first-child { border-top: 1px solid var(--linha); }
.faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 20px; font-family: var(--titulo); font-weight: 500; color: var(--marinho); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 1.3rem; line-height: 1; color: var(--petroleo); }
.faq details[open] summary::after { content: "–"; }
.faq details p { margin-top: 10px; color: var(--texto-2); max-width: 42em; }
@media (max-width: 860px) { .faq .miolo { grid-template-columns: 1fr; } }

/* Contato */
.contato { background: var(--petroleo); color: var(--sobre-escuro); }
.contato .miolo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 80px); align-items: center; }
.contato h2 { color: #fff; }
.contato .sobretitulo { color: var(--menta); }
.contato .lead { color: var(--sobre-escuro); }
.dados { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--linha-escura); border: 1px solid var(--linha-escura); border-radius: var(--r); overflow: hidden; }
.dados div { background: var(--petroleo); padding: 22px; display: grid; gap: 4px; align-content: start; }
.dados small { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--menta); }
.dados b { font-family: var(--titulo); font-weight: 500; color: #fff; user-select: all; }
.dados span { font-size: .9rem; }
@media (max-width: 860px) { .contato .miolo { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .dados { grid-template-columns: 1fr; } }

/* Rodapé */
.rodape { background: var(--marinho); color: var(--sobre-escuro); font-size: .88rem; }
.rodape .miolo { padding-block: 44px 32px; display: grid; gap: 30px; }
.rodape .cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 28px; }
.rodape h4 { color: #fff; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 10px; }
.rodape .logo img { height: 30px; width: auto; margin-bottom: 14px; }
.urgencia { padding: 16px 20px; border: 1px solid var(--linha-escura); border-radius: var(--r); }
.urgencia b { color: #fff; }
.rodape details summary { cursor: pointer; color: #fff; }
.rodape details p { margin-top: 10px; max-width: 64em; }
.legal { border-top: 1px solid var(--linha-escura); padding-top: 20px; font-size: .8rem; opacity: .85; display: grid; gap: 6px; }
@media (max-width: 900px) { .rodape .cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .rodape .cols { grid-template-columns: 1fr; } }

.zap { position: fixed; right: calc(18px + env(safe-area-inset-right, 0px)); bottom: calc(18px + env(safe-area-inset-bottom, 0px)); z-index: 40; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--petroleo); color: #fff; box-shadow: 0 10px 28px -10px rgba(7,47,64,.7); }
.zap svg { width: 26px; height: 26px; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }

/* ---- Site em páginas ---- */
.menu a[aria-current="page"] { color: var(--menta-escura); box-shadow: inset 0 -2px 0 var(--menta); }
.abre-menu { display: none; margin-left: 4px; width: 44px; height: 44px; border-radius: var(--r); border: 1px solid var(--linha); background: #fff; color: var(--marinho); align-items: center; justify-content: center; cursor: pointer; }
.abre-menu svg { width: 22px; height: 22px; }
.menu-movel { display: none; border-top: 1px solid var(--linha); background: #fff; }
.menu-movel.aberto { display: block; }
.topo .menu-movel .miolo { display: grid; gap: 0; padding-block: 8px 16px; }
.menu-movel a { padding: 13px 4px; border-bottom: 1px solid var(--linha); text-decoration: none; font-family: var(--titulo); font-weight: 500; color: var(--marinho); }
.menu-movel a[aria-current="page"] { color: var(--menta-escura); }
@media (max-width: 1300px) { .abre-menu { display: inline-flex; } }
@media (min-width: 1301px) { .menu-movel { display: none !important; } }

.cabeca-pagina { background: var(--marinho); color: var(--sobre-escuro); }
.cabeca-pagina .miolo { padding-block: clamp(36px, 6vw, 64px); display: grid; gap: 12px; }
.trilha { font-size: .85rem; display: flex; gap: 8px; flex-wrap: wrap; }
.trilha a { color: var(--menta); text-decoration: none; }
.cabeca-pagina h1 { color: #fff; font-size: clamp(2rem, 4.4vw, 3.2rem); }
.cabeca-pagina p.intro { font-size: 1.1rem; max-width: 46em; }

.grade-caminhos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.caminho { display: grid; gap: 8px; align-content: start; padding: 28px; border: 1px solid var(--linha); border-radius: 14px; background: #fff; text-decoration: none; color: var(--texto-2); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.caminho:hover { transform: translateY(-3px); border-color: var(--menta); box-shadow: 0 20px 40px -28px rgba(7,47,64,.6); }
.caminho > svg { width: 38px; height: 38px; color: var(--petroleo); margin-bottom: 6px; }
.caminho b { font-family: var(--titulo); font-weight: 600; font-size: 1.15rem; color: var(--marinho); }
.caminho .ir { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-family: var(--titulo); font-weight: 600; font-size: .92rem; color: var(--petroleo); }
.caminho .ir svg { width: 16px; height: 16px; }
@media (max-width: 900px) { .grade-caminhos { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .grade-caminhos { grid-template-columns: 1fr; } }

.proximo { background: var(--gelo); border-top: 1px solid var(--linha); }
.proximo .miolo { padding-block: 40px; display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: space-between; }
.proximo .rotulo-p { font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; color: var(--menta-escura); font-weight: 700; }
.proximo a.seguir { display: inline-flex; align-items: center; gap: 10px; font-family: var(--titulo); font-weight: 600; font-size: clamp(1.2rem, 2.4vw, 1.6rem); color: var(--marinho); text-decoration: none; }
.proximo a.seguir svg { width: 24px; height: 24px; color: var(--petroleo); }

.rodape .nav-rodape { display: grid; gap: 6px; }
.rodape .nav-rodape a { color: var(--sobre-escuro); text-decoration: none; }
.rodape .nav-rodape a:hover { color: #fff; }
.rodape .cols { grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; }
@media (max-width: 1000px) { .rodape .cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .rodape .cols { grid-template-columns: 1fr; } }

/* Celular */
@media (max-width: 860px) { .barra { display: none; } }
@media (max-width: 560px) {
  .topo .miolo { gap: 10px; padding-block: 12px; }
  .topo .logo img { height: 28px; }
  .topo .btn-primario { padding: .7em .9em; font-size: .82rem; }
  .abertura .miolo { padding-block: 44px 52px; }
  .abertura h1 { font-size: clamp(1.85rem, 8.4vw, 2.3rem); }
  .abertura .lead { font-size: 1.02rem; }
  .abertura .acoes { display: grid; }
  .abertura .acoes .btn, .banner-lugar .btn, .contato .btn { white-space: normal; text-align: center; }
  .sobretitulo { font-size: .82rem; letter-spacing: .08em; gap: 10px; }
  .sobretitulo::before { width: 24px; }
  .secao { padding-block: 56px; }
  .cabeca { margin-bottom: 32px; }
}
@media (max-width: 400px) { .topo .btn-primario span.longo { display: none; } }
.topo .btn-primario { gap: 0; }
.topo .btn-primario .longo { margin-left: .3em; }
@media (max-width: 640px) {
  .grade-trata { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .grade-trata div, .cta-trata { min-height: 0; padding: 12px; gap: 8px; font-size: .86rem; }
  .grade-trata div::before { width: 8px; height: 8px; }
  .grade-trata .cta-trata { grid-column: 1 / -1; }
  .caixa-empatia { margin-top: 0; }
}

/* "Tudo num só lugar": foto mais à mostra */
.banner-lugar::after { background: linear-gradient(90deg, rgba(7,47,64,.95) 0%, rgba(7,47,64,.82) 38%, rgba(7,47,64,.2) 68%, rgba(7,47,64,0) 100%); }
.banner-lugar .conteudo { max-width: 600px; }
@media (max-width: 700px) {
  .banner-lugar img { position: relative; inset: auto; display: block; height: min(64vw, 300px); }
  .banner-lugar::after { inset: 0 0 auto 0; height: min(64vw, 300px); background: linear-gradient(180deg, rgba(7,47,64,0) 60%, var(--marinho) 100%); }
  .banner-lugar .conteudo { padding: 22px 22px 30px; }
}

/* telas estreitas: a imagem vem antes do texto, como gancho */
@media (max-width: 900px) { .cerebro .fotos-c { order: -1; } }

/* celular: foto da clínica nítida em cima, texto em destaque embaixo */
@media (max-width: 640px) {
  .abertura .fundo { position: relative; inset: auto; height: min(66vw, 320px); margin-left: calc(-1 * max(16px, env(safe-area-inset-left, 0px))); margin-right: calc(-1 * max(16px, env(safe-area-inset-right, 0px))); }
  .abertura .fundo img { object-position: 50% 45%; }
  .abertura .fundo::after { background: linear-gradient(180deg, rgba(7,47,64,0) 55%, rgba(7,47,64,.55) 85%, var(--marinho) 100%); }
  .abertura > .miolo { padding-block: 22px 40px; }
}

/* "Continue conhecendo": só navegação, separado do agendamento */
.proximo .miolo { display: block; padding-block: 36px; }
.cartao-proximo { display: grid; grid-template-columns: 1fr auto; column-gap: 20px; row-gap: 4px; align-items: center; max-width: 640px;
  padding: 22px 24px; border: 1px solid var(--linha); border-radius: 14px; background: #fff; text-decoration: none; color: var(--texto-2);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.cartao-proximo:hover { border-color: var(--menta); transform: translateY(-2px); box-shadow: 0 18px 36px -26px rgba(7,47,64,.6); }
.cartao-proximo .rotulo-p { grid-column: 1; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--menta-escura); font-weight: 700; }
.cartao-proximo .nome-p { grid-column: 1; font-family: var(--titulo); font-weight: 600; font-size: clamp(1.2rem, 2.4vw, 1.5rem); color: var(--marinho); }
.cartao-proximo .desc-p { grid-column: 1; font-size: .95rem; line-height: 1.45; }
.cartao-proximo svg { grid-column: 2; grid-row: 1 / 4; width: 40px; height: 40px; padding: 9px; border-radius: 50%; background: var(--gelo); color: var(--petroleo); }

/* páginas internas: trilha discreta e título do assunto */
.trilha-barra { background: var(--gelo); border-bottom: 1px solid var(--linha); }
.trilha-barra .miolo { padding-block: 12px; }
.trilha-barra .trilha { margin: 0; color: var(--texto-2); }
.trilha-barra .trilha a { color: var(--menta-escura); }
h1.titulo-pagina { font-size: clamp(1.9rem, 3.8vw, 2.9rem); line-height: 1.12; }
.cerebro h1, .contato h1, .metodo h1 { color: #fff; }
/* logo nunca distorce */
.logo img { object-fit: contain; object-position: left center; max-width: 100%; }
.topo .logo { min-width: 0; flex: 0 1 auto; }

/* ===== Versão do celular (só telas até 640px; o computador não muda) ===== */
.barra-cel { display: none; }
@media (max-width: 640px) {
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  .zap { display: none; }
  .barra-cel { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; gap: 10px; align-items: center;
    padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
    background: rgba(255,255,255,.96); border-top: 1px solid var(--linha); box-shadow: 0 -10px 30px -18px rgba(7,47,64,.5); }
  .barra-cel a { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; border-radius: 12px;
    background: var(--petroleo); color: #fff; text-decoration: none; font-family: var(--titulo); font-weight: 600; font-size: 1rem; }
  .barra-cel a svg { width: 20px; height: 20px; }

  /* topo: só logo e menu */
  .topo .btn-primario { display: none; }
  .topo .logo img { height: 30px; }
  .abre-menu { margin-left: auto; }

  /* abertura mais limpa */
  .abertura .miolo { padding-block: 36px 40px; }
  .abertura .sobretitulo { font-size: .74rem; }
  .abertura h1 { font-size: clamp(1.7rem, 7.6vw, 2.05rem); line-height: 1.15; }
  .abertura .lead { font-size: .98rem; line-height: 1.6; }
  .abertura .acoes .btn-contorno { display: none; }

  /* credenciais em 2 x 2, sem o texto menor */
  .credenciais .miolo { grid-template-columns: 1fr 1fr; }
  .credenciais div, .credenciais div:first-child { padding: 16px 10px 16px 0; border-left: 0; gap: 4px; }
  .credenciais div:nth-child(even) { padding-left: 14px; border-left: 1px solid var(--linha); }
  .credenciais div:nth-child(n+3) { border-top: 1px solid var(--linha); }
  .credenciais svg { width: 24px; height: 24px; }
  .credenciais b { font-size: .86rem; line-height: 1.3; }
  .credenciais span { font-size: .8rem; line-height: 1.4; }
  .harvard .texto-h { font-size: 1rem; }

  /* títulos e espaços */
  .secao { padding-block: 44px; }
  .cabeca { margin-bottom: 24px; }
  .cabeca h2, .secao h2 { font-size: clamp(1.5rem, 6.6vw, 1.8rem); line-height: 1.2; }
  .cabeca-pagina .miolo { padding-block: 28px; }
  .cabeca-pagina h1 { font-size: 1.8rem; }
  .cabeca-pagina p.intro { font-size: 1rem; }

  /* "Por onde começar": cartões pequenos em 2 colunas */
  .grade-caminhos { grid-template-columns: 1fr; gap: 10px; }
  .caminho { grid-template-columns: 36px 1fr 20px; align-items: center; column-gap: 14px; row-gap: 2px; padding: 16px; }
  .caminho > svg { grid-row: 1 / 3; width: 30px; height: 30px; margin: 0; }
  .caminho b { font-size: 1rem; line-height: 1.25; grid-column: 2; }
  .caminho span:not(.ir) { grid-column: 2; font-size: .88rem; line-height: 1.4; }
  .caminho .ir { grid-column: 3; grid-row: 1 / 3; font-size: 0; margin: 0; }
  .caminho .ir svg { width: 20px; height: 20px; }

  /* tratamentos: toque no título para abrir */
  .servicos .grade { grid-template-columns: 1fr; }
  .servico.recolhe { padding: 18px 16px; gap: 0; cursor: pointer; }
  .servico.recolhe > svg { display: none; }
  .servico.recolhe h3 { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 1.05rem; margin: 0; }
  .servico.recolhe h3::after { content: "+"; flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
    background: var(--gelo); color: var(--petroleo); font-size: 1.2rem; font-weight: 500; transition: transform .2s ease; }
  .servico.recolhe.aberto h3::after { transform: rotate(45deg); }
  .servico.recolhe > :not(h3):not(svg) { display: none; }
  .servico.recolhe.aberto { gap: 10px; }
  .servico.recolhe.aberto > :not(h3):not(svg) { display: revert; }
  .servico.recolhe.aberto > .chips, .servico.recolhe.aberto > ul { display: flex; flex-wrap: wrap; }

  /* fotos e matérias: deslizar para o lado */
  .estrutura .grade, .materias { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 8px; grid-auto-rows: auto; -webkit-overflow-scrolling: touch; }
  .estrutura .grade > * { flex: 0 0 82%; height: 240px; scroll-snap-align: start; grid-column: auto !important; grid-row: auto !important; }
  .materias > * { flex: 0 0 86%; scroll-snap-align: start; }
  .desliza { font-size: .85rem; color: var(--texto-2); margin-top: 8px; }

  /* equipe: faixa de áreas em 2 colunas */
  .multi { grid-template-columns: 1fr 1fr; }
  .multi div { padding: 12px 14px; font-size: .86rem; }
  .multi span { display: none; }

  /* próximo passo e rodapé mais curtos */
  .proximo .miolo { padding-block: 28px; }
  .rodape .cols { grid-template-columns: 1fr 1fr; gap: 20px 16px; }
  .rodape .cols > div:first-child { grid-column: 1 / -1; }
  .rodape .cols > div:first-child p, .rodape .cols > div:nth-child(2) { display: none; }
  .rodape .cols > div:last-child { grid-column: 1 / -1; }
  .rodape p, .rodape .urgencia, .rodape .legal { font-size: .84rem; }
}

/* Página de perguntas frequentes */
.faq-pagina .grupo-faq { font-family: var(--titulo); font-weight: 600; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--menta-escura); margin: 32px 0 6px; }
.faq-pagina .grupo-faq:first-child { margin-top: 0; }
.faq-pagina .cabeca p:last-child { max-width: 40em; }
.faq-pagina .miolo { align-items: start; }
.faq-pagina .cabeca { align-self: start; }
@media (min-width: 901px) { .faq-pagina .cabeca { position: sticky; top: 110px; } }
mark.confirmar { background: #ffe58a; color: #5a4300; padding: 1px 6px; border-radius: 4px; font-weight: 700; font-size: .8rem; }
.ver-todas { margin-top: 20px; }
.ver-todas a { font-family: var(--titulo); font-weight: 600; color: var(--petroleo); }
