@import url('https://fonts.googleapis.com/css2?family=Lora:wght@600&family=Source+Sans+3:wght@400;600;700&display=swap');

:root { --azul-escuro:#173640; --azul:#2f7599; --azul-forte:#245b77; --azul-claro:#e5f1f5; --creme:#f5f0e8; --papel:#fffdfa; --texto:#23363c; --texto-suave:#66797e; --borda:#d9e4e5; --sombra:0 20px 50px rgba(23,54,64,.1); --raio:22px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--texto); background:var(--papel); font-family:'Source Sans 3',sans-serif; font-size:18px; line-height:1.6; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid rgba(47,117,153,.45); outline-offset:3px; }
h1,h2,h3 { margin:0; color:var(--azul-escuro); font-family:Lora,serif; line-height:1.12; }
h1 { font-size:clamp(2.7rem,6vw,5.2rem); letter-spacing:-.05em; }
h2 { font-size:clamp(2rem,4vw,3.3rem); letter-spacing:-.035em; }
h3 { font-size:1.45rem; }
p { margin:0; }
.limite { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.somente-leitor { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.cabecalho { position:sticky; z-index:20; top:0; background:rgba(255,253,250,.93); border-bottom:1px solid rgba(217,228,229,.8); backdrop-filter:blur(16px); }
.barra-navegacao { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.marca { display:inline-flex; align-items:center; gap:12px; }
.marca img { width:48px; height:48px; }
.marca span { display:grid; line-height:1.12; }
.marca strong { color:var(--azul-escuro); font-family:Lora,serif; font-size:1.1rem; }
.marca small { margin-top:5px; color:var(--texto-suave); font-size:.75rem; letter-spacing:.05em; text-transform:uppercase; }
.menu-principal { display:flex; align-items:center; gap:28px; }
.menu-principal>a:not(.botao) { position:relative; padding-block:10px; color:#40575d; font-weight:600; }
.menu-principal>a:not(.botao)::after { position:absolute; right:0; bottom:3px; left:0; height:2px; content:''; background:var(--azul); transform:scaleX(0); transition:transform .25s ease; }
.menu-principal>a:hover::after,.menu-principal>a.ativo::after { transform:scaleX(1); }
.botao-menu { display:none; width:46px; height:42px; padding:10px; background:transparent; border:1px solid var(--borda); border-radius:12px; }
.botao-menu span:not(.somente-leitor) { display:block; height:2px; margin:4px 0; background:var(--azul-escuro); }
.botao { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:12px 22px; color:#fff; background:var(--azul-forte); border:1px solid var(--azul-forte); border-radius:999px; font-weight:700; cursor:pointer; box-shadow:0 10px 24px rgba(36,91,119,.18); transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.botao:hover { background:var(--azul-escuro); transform:translateY(-2px); box-shadow:0 14px 30px rgba(23,54,64,.2); }
.botao-pequeno { min-height:42px; padding:8px 20px; }
.botao-claro { color:var(--azul-escuro); background:transparent; border-color:#b9cccf; box-shadow:none; }
.botao-claro:hover { color:#fff; }
.botao-branco { color:var(--azul-escuro); background:#fff; border-color:#fff; }
.hero { position:relative; overflow:hidden; padding:80px 0 92px; background:linear-gradient(120deg,var(--creme) 0%,#eef6f5 100%); }
.hero::before { position:absolute; inset:auto -10% -60% auto; width:650px; height:650px; content:''; border:90px solid rgba(47,117,153,.08); border-radius:50%; }
.grade-hero { display:grid; grid-template-columns:1.05fr .75fr; align-items:center; gap:72px; }
.hero-texto { position:relative; z-index:1; }
.hero-texto>p { max-width:650px; margin-top:26px; color:#52686e; font-size:1.2rem; }
.etiqueta { display:inline-flex; align-items:center; gap:10px; margin-bottom:18px; color:var(--azul-forte); font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.etiqueta::before { width:28px; height:2px; content:''; background:currentColor; }
.acoes { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.dados-rapidos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; margin-top:45px; padding-top:28px; border-top:1px solid rgba(23,54,64,.15); }
.dados-rapidos div { display:grid; }
.dados-rapidos strong { color:var(--azul-escuro); }
.dados-rapidos span { color:var(--texto-suave); font-size:.9rem; }
.hero-imagem { position:relative; min-height:610px; }
.hero-imagem>img { width:100%; height:610px; object-fit:cover; object-position:center 24%; border-radius:180px 180px 24px 24px; box-shadow:var(--sombra); }
.cartao-medico { position:absolute; right:-25px; bottom:30px; display:grid; width:240px; padding:20px 24px; background:#fff; border-radius:16px; box-shadow:var(--sombra); }
.cartao-medico span { color:var(--azul); font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.cartao-medico strong { color:var(--azul-escuro); }
.cartao-medico small { color:var(--texto-suave); }
.secao { padding:96px 0; }
.cabecalho-secao { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:60px; margin-bottom:48px; }
.cabecalho-secao>p { padding-bottom:8px; color:var(--texto-suave); font-size:1.05rem; }
.grade-cartoes { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.cartao { min-height:280px; padding:34px; background:#fff; border:1px solid var(--borda); border-radius:var(--raio); box-shadow:0 15px 40px rgba(23,54,64,.05); }
.cartao .numero { display:block; margin-bottom:52px; color:var(--azul); font-weight:700; }
.cartao p { margin-top:14px; color:var(--texto-suave); }
.secao-azul { color:#fff; background:var(--azul-escuro); }
.chamada { display:grid; grid-template-columns:1.15fr .8fr auto; align-items:center; gap:50px; }
.chamada h2,.etiqueta-clara { color:#fff; }
.chamada>p { color:#c9dbdd; }
.topo-pagina { padding:80px 0 74px; background:linear-gradient(130deg,var(--creme),#eaf4f4); text-align:center; }
.topo-pagina h1 { max-width:900px; margin:auto; font-size:clamp(2.5rem,5vw,4.4rem); }
.topo-pagina p { max-width:680px; margin:22px auto 0; color:var(--texto-suave); font-size:1.15rem; }
.grade-sobre { display:grid; grid-template-columns:.8fr 1.05fr; align-items:center; gap:70px; }
.foto-sobre { position:relative; }
.foto-sobre img { width:100%; height:640px; object-fit:cover; object-position:center 25%; border-radius:24px 140px 24px 24px; box-shadow:var(--sombra); }
.identificacao-medico { position:absolute; right:-18px; bottom:24px; display:grid; min-width:220px; padding:17px 21px; background:rgba(255,253,250,.96); border:1px solid rgba(217,228,229,.9); border-radius:14px; box-shadow:var(--sombra); }
.identificacao-medico strong { color:var(--azul-escuro); font-family:Lora,serif; }
.identificacao-medico span { color:var(--azul-forte); font-size:.85rem; font-weight:700; }
.texto-longo p { margin-top:20px; color:#52686e; }
.texto-longo blockquote { margin:30px 0 0; padding:22px 0 22px 25px; color:var(--azul-escuro); border-left:4px solid var(--azul); font-family:Lora,serif; font-size:1.3rem; }
.fundo-suave { background:#edf4f3; }
.grade-valores { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.grade-valores article { padding:26px; background:rgba(255,255,255,.75); border-radius:16px; }
.grade-valores strong { color:var(--azul-escuro); font-family:Lora,serif; font-size:1.25rem; }
.grade-valores p { margin-top:8px; color:var(--texto-suave); font-size:.95rem; }
.grade-servicos { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.servico { display:grid; grid-template-columns:58px 1fr; gap:20px; padding:32px; border:1px solid var(--borda); border-radius:18px; }
.servico>span { display:grid; width:52px; height:52px; place-items:center; color:var(--azul-forte); background:var(--azul-claro); border-radius:50%; font-weight:700; }
.servico h2 { font-size:1.55rem; }
.servico p { margin-top:10px; color:var(--texto-suave); }
.grade-informacoes { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.painel-informacao { padding:34px; background:#fff; border:1px solid var(--borda); border-radius:var(--raio); }
.painel-informacao h2 { margin-bottom:24px; font-size:1.65rem; }
.lista-marcada,.dados-contato ul { margin:0; padding:0; list-style:none; }
.lista-marcada li { position:relative; padding:9px 0 9px 26px; color:var(--texto-suave); }
.lista-marcada li::before { position:absolute; top:17px; left:2px; width:9px; height:9px; content:''; background:var(--azul); border-radius:50%; }
.horarios { margin:0; }
.horarios div { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid var(--borda); }
.horarios dt { color:var(--texto-suave); }
.horarios dd { margin:0; color:var(--azul-escuro); font-weight:700; }
.passos { margin:0; padding-left:24px; }
.passos li { padding:7px 0 14px 8px; color:var(--azul); }
.passos strong,.passos span { display:block; color:var(--texto); }
.passos span { color:var(--texto-suave); font-size:.95rem; }
.grade-contato { display:grid; grid-template-columns:.75fr 1.1fr; gap:70px; }
.dados-contato>p { margin-top:14px; color:var(--texto-suave); }
.dados-contato ul { margin-top:35px; }
.dados-contato li { display:grid; padding:18px 0; border-bottom:1px solid var(--borda); }
.dados-contato li span { color:var(--texto-suave); font-size:.86rem; }
.dados-contato li strong { color:var(--azul-escuro); overflow-wrap:anywhere; }
.formulario { padding:36px; background:#fff; border:1px solid var(--borda); border-radius:var(--raio); box-shadow:var(--sombra); }
.duas-colunas { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.campo { margin-bottom:20px; }
.campo label { display:block; margin-bottom:7px; color:var(--azul-escuro); font-weight:700; }
.campo input,.campo select,.campo textarea { width:100%; padding:13px 15px; color:var(--texto); background:#fbfdfc; border:1px solid #c9d9da; border-radius:11px; outline:none; transition:border .2s ease,box-shadow .2s ease; }
.campo input:focus,.campo select:focus,.campo textarea:focus { border-color:var(--azul); box-shadow:0 0 0 4px rgba(47,117,153,.12); }
.alerta { margin-bottom:22px; padding:14px 16px; border-radius:10px; }
.sucesso { color:#165b44; background:#e4f5ed; border:1px solid #bde3d2; }
.falha { color:#7b2d2d; background:#fff0f0; border:1px solid #efbcbc; }
.rodape { padding-top:58px; color:#d3e1e3; background:#102d35; }
.grade-rodape { display:grid; grid-template-columns:1.2fr .75fr .75fr; gap:50px; padding-bottom:45px; }
.marca-rodape strong { color:#fff; }
.marca-rodape small,.rodape p { color:#9eb7bb; }
.rodape p { margin-top:10px; font-size:.9rem; }
.direitos { padding:22px 0; border-top:1px solid rgba(255,255,255,.1); color:#8fa9ad; font-size:.85rem; }
.whatsapp { position:fixed; z-index:15; right:22px; bottom:22px; padding:11px 18px; color:#fff; background:#1f8c66; border-radius:999px; font-size:.9rem; font-weight:700; box-shadow:0 10px 30px rgba(16,45,53,.25); }
.com-js .revelar { opacity:0; transform:translateY(18px); transition:opacity .65s ease,transform .65s ease; }
.com-js .revelar.visivel { opacity:1; transform:translateY(0); }
@media (max-width:920px) {
 .botao-menu { display:block; }
 .menu-principal { position:absolute; top:76px; right:20px; left:20px; display:none; align-items:stretch; padding:18px; background:#fff; border:1px solid var(--borda); border-radius:16px; box-shadow:var(--sombra); }
 .menu-principal.aberto { display:grid; gap:6px; }
 .menu-principal>a { padding:10px 12px; }
 .grade-hero,.grade-sobre,.grade-contato { grid-template-columns:1fr; }
 .hero { padding-top:55px; }
 .hero-imagem { min-height:auto; }
 .hero-imagem>img { height:min(640px,115vw); }
 .cartao-medico { right:15px; }
 .cabecalho-secao,.chamada { grid-template-columns:1fr; gap:25px; }
 .grade-cartoes,.grade-informacoes { grid-template-columns:1fr 1fr; }
 .grade-valores { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
 body { font-size:16px; }
 .limite { width:min(100% - 28px,1180px); }
 .marca small { display:none; }
 .barra-navegacao { min-height:74px; }
 .secao { padding:68px 0; }
 .hero { padding-bottom:68px; }
 .grade-cartoes,.grade-servicos,.grade-informacoes,.grade-valores,.grade-rodape,.duas-colunas,.dados-rapidos { grid-template-columns:1fr; }
 .grade-hero { gap:48px; }
 .hero-imagem>img { border-radius:100px 100px 20px 20px; }
 .cartao-medico { right:10px; bottom:14px; width:215px; }
 .identificacao-medico { right:10px; bottom:14px; }
 .servico { grid-template-columns:45px 1fr; padding:24px; }
 .servico>span { width:42px; height:42px; }
 .formulario { padding:24px; }
 .topo-pagina { padding:58px 0; }
 .whatsapp { right:14px; bottom:14px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } .com-js .revelar { opacity:1; transform:none; } }
