/* Dr. Pedro Sousa Premium, páginas internas. Mesma paleta e fonte do site
 * oficial dele (drpedrosousa.com): papel creme, areia, tinta quase preta, texto
 * cinza quente; o acento é o próprio preto (botão preto, texto creme). */
:root{
  --fundo:#f3efe8; --fundo-2:#e9e4da; --fundo-3:#d6ccbc; --linha:#d6ccbc;
  --texto:#1c1a17; --texto-2:#504d4a; --ouro:#000003; --ouro-forte:#1c1a17;
  --raio:14px;
  --fonte:'Hanken Grotesk','Segoe UI',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--fundo);color:var(--texto);font-family:var(--fonte);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
/* o grão da textura está no topo.css (vale também para o simulador) */
a{color:var(--ouro-forte)}
img{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* topo */
.pm-top{position:sticky;top:0;z-index:10;background:rgba(243,239,232,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--linha)}
/* o miolo do topo (logo, páginas, ícones) está no topo.css, igual ao do simulador */

/* botões: um sistema só. Primário dourado com texto escuro, secundário em contorno */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;
  font:inherit;font-weight:700;font-size:16px;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s}
.btn:active{transform:scale(.98)}
.btn-ouro{background:#000003;color:#f3efe8;border:0;box-shadow:0 10px 26px -14px rgba(0,0,3,.5)}
.btn-ouro:hover{background:#2a2825}
.btn-linha{background:transparent;color:var(--texto);border:1px solid var(--linha)}
.btn-linha:hover{border-color:var(--ouro)}
.btn svg{width:20px;height:20px}

/* tipografia */
h1,h2,h3{font-weight:800;letter-spacing:-.02em;line-height:1.12;margin:0;color:#000003}
h1{font-size:clamp(34px,5vw,54px)}
h2{font-size:clamp(26px,3.4vw,36px)}
h3{font-size:19px;letter-spacing:-.01em}
p{margin:0}
.leve{color:var(--texto-2)}
section{padding:72px 0;position:relative;z-index:2}
@media (max-width:768px){section{padding:52px 0}}

/* QUEM ATENDE: retrato à esquerda, texto à direita, assimétrico */
.qa{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:center}
.qa-foto{position:relative}
.qa-foto img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:var(--raio)}
.qa-foto::after{content:"";position:absolute;inset:auto -14px -14px auto;width:60%;height:60%;border:1px solid var(--ouro);border-radius:var(--raio);z-index:-1}
.qa-txt{display:grid;gap:18px}
.qa-cargo{color:var(--ouro-forte);font-weight:600}
.qa-reg{font-size:14px;color:var(--texto-2)}
.qa-reg:empty{display:none}
.qa-ass{font-weight:700;color:#000003;border-left:2px solid var(--ouro);padding-left:14px}
@media (max-width:820px){.qa{grid-template-columns:1fr;gap:28px}.qa-foto{max-width:300px}
  .qa-foto img{aspect-ratio:1/1}.qa-foto::after{inset:auto -10px -10px auto}}

/* números de fato, sem barra */
.fatos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--linha);border-radius:var(--raio);overflow:hidden}
.fatos div{background:var(--fundo-2);padding:26px 22px}
.fatos b{display:block;font-size:30px;font-weight:800;color:var(--ouro-forte);letter-spacing:-.02em}
.fatos span{color:var(--texto-2);font-size:15px}
@media (max-width:640px){.fatos{grid-template-columns:1fr}}

/* CLÍNICA: a consulta como linha do tempo vertical */
.passos{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:0;max-width:720px}
.passos li{display:grid;grid-template-columns:44px 1fr;gap:18px;padding-bottom:28px;position:relative}
.passos li::before{content:"";position:absolute;left:21px;top:44px;bottom:0;width:1px;background:var(--linha)}
.passos li:last-child::before{display:none}
.passos i{font-style:normal;width:44px;height:44px;border-radius:50%;border:1px solid var(--ouro);display:grid;place-items:center;color:var(--ouro-forte);font-weight:800}
.passos h3{margin:8px 0 4px}

/* tratamentos: grade assimétrica (2 grandes + 3 menores), cada uma com tom próprio */
.trat{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:32px}
.trat article{border-radius:var(--raio);padding:24px;display:grid;gap:8px;align-content:start;min-height:170px}
.trat article:nth-child(1){grid-column:span 3;background:#000003;color:#e9e4da}
.trat article:nth-child(2){grid-column:span 3;background:#d6ccbc}
.trat article:nth-child(n+3){grid-column:span 2;background:var(--fundo-2);border:1px solid var(--linha)}
.trat small{color:var(--ouro-forte);font-weight:700;font-size:13px}
.nota{margin-top:16px;font-size:14px;color:var(--texto-2)}
@media (max-width:820px){.trat{grid-template-columns:1fr}.trat article{grid-column:auto!important;min-height:0}}

/* na prática + discrição + pagamento: duas colunas de blocos */
.dupla{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.lista-ponto{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}
.lista-ponto li{padding-left:22px;position:relative}
.lista-ponto li::before{content:"";position:absolute;left:0;top:.7em;width:10px;height:1px;background:var(--ouro)}
@media (max-width:820px){.dupla{grid-template-columns:1fr;gap:44px}}

/* onde fica */
.mapa{display:grid;grid-template-columns:5fr 7fr;gap:0;border-radius:var(--raio);overflow:hidden;border:1px solid var(--linha);background:var(--fundo-2)}
.mapa .txt{padding:32px;display:grid;gap:14px;align-content:center}
.mapa iframe{width:100%;height:100%;min-height:320px;border:0;filter:grayscale(.6) contrast(1.05)}
@media (max-width:820px){.mapa{grid-template-columns:1fr}}

.contatos{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:10px}
.contatos li{display:flex;align-items:center;gap:10px;min-width:0}
.contatos i{color:var(--ouro);font-size:20px;flex:none}
.contatos a{color:var(--texto);text-decoration:none;overflow-wrap:anywhere}
.contatos a:hover{color:var(--ouro-forte)}

/* fotos da clínica (quando chegarem) */
.fotos-cl{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.fotos-cl .vaga{border:1px dashed var(--linha);border-radius:var(--raio);min-height:220px;display:grid;place-items:center;color:var(--texto-2);font-size:14px;text-align:center;padding:16px}
@media (max-width:820px){.fotos-cl{grid-template-columns:1fr 1fr}.fotos-cl .vaga:first-child{grid-column:span 2}}

/* DÚVIDAS: acordeão nativo */
.faq{max-width:780px;margin-top:28px}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-weight:700;font-size:18px;color:#000003;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:2px solid var(--ouro);border-bottom:2px solid var(--ouro);transform:translateY(-70%) rotate(45deg);transition:transform .25s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{padding:0 0 22px;color:var(--texto-2);max-width:65ch}

/* fechamento */
.fecho{background:var(--fundo-2);border-top:1px solid var(--linha)}
.fecho .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.fecho p{max-width:46ch;margin-top:8px}

.pm-rodape{position:relative;z-index:2;padding:28px 0 40px;font-size:13px;color:var(--texto-2);border-top:1px solid var(--linha)}
.pm-rodape .wrap{display:grid;gap:6px}

/* aparece ao rolar: só opacidade e transform */
@media (prefers-reduced-motion:no-preference){
  .surge{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
  .surge.dentro{opacity:1;transform:none}
}

.trat article:nth-child(1) h3,.trat article:nth-child(1) small{color:#f3efe8}.trat article:nth-child(1) .leve{color:rgba(255,255,255,.72)}
.fecho{background:#000003;border-top:0}.fecho h2{color:#f3efe8}.fecho .leve{color:rgba(255,255,255,.72)}.fecho .btn-ouro{background:#f3efe8;color:#000003}
.qa-ass img{height:64px;width:auto;margin-top:6px}
.trat.dep article{grid-column:span 3!important;background:var(--fundo-2)!important;border:1px solid var(--linha);min-height:0}.trat.dep h3{font-size:15px;color:var(--texto)!important}.trat.dep small{color:var(--texto)!important}.trat.dep .leve{color:var(--texto-2)!important}
