/* Estrutura comum a todos os temas. Cores, fontes e formas vêm das variáveis definidas em temas.css. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../fontes/cormorant-garamond-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('../fontes/cormorant-garamond-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('../fontes/cormorant-garamond-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('../fontes/cormorant-garamond-latin-500-italic.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('../fontes/jost-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('../fontes/jost-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;src:url('../fontes/jost-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url('../fontes/playfair-display-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:500;font-display:swap;src:url('../fontes/playfair-display-latin-500-italic.woff2') format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fontes/nunito-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fontes/nunito-sans-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fontes/nunito-sans-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:400;font-display:swap;src:url('../fontes/bodoni-moda-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:400;font-display:swap;src:url('../fontes/bodoni-moda-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'Pinyon Script';font-style:normal;font-weight:400;font-display:swap;src:url('../fontes/pinyon-script-latin-400-normal.woff2') format('woff2')}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.6}
h1,h2,h3{font-family:var(--f-display);font-weight:var(--w-display,500);margin:0;text-wrap:balance}
p{margin:0}
a{color:inherit}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid #0b5cd5;outline-offset:3px}
.pular{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:10px 14px;z-index:20;border-radius:8px}
.pular:focus{left:8px}

/* topo */
.topo{background:var(--topo-bg,var(--bg));border-bottom:var(--topo-borda,0);position:sticky;top:0;z-index:10}
.topo-in{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1120px;margin:0 auto;padding:14px 22px}
.marca{text-decoration:none;display:block;line-height:1}
.marca-nome{font-family:var(--f-display);font-size:var(--marca-tam,1.6rem);font-weight:var(--w-display,500);letter-spacing:var(--marca-ls,0);text-transform:var(--marca-tt,none)}
.marca small{display:block;font:500 .62rem var(--f-body);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-d);margin-top:5px}
.menu{display:none;gap:26px;font:500 .95rem var(--f-body)}
.menu a{text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.menu a:hover,.menu a[aria-current="page"]{border-bottom-color:var(--accent)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:var(--r-btn);font:var(--w-btn,500) var(--t-btn,.98rem) var(--f-body);letter-spacing:var(--ls-btn,.02em);text-transform:var(--tt-btn,none);text-decoration:none;cursor:pointer;border:1.5px solid var(--ink);background:var(--ink);color:var(--on-ink);transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-contorno{background:transparent;color:var(--ink)}
.btn-destaque{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn-escuro{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.btn-compacto{min-height:44px;padding:0 18px}
.btn-cheio{width:100%}
.acoes{display:flex;flex-wrap:wrap;gap:12px}
.acoes-centro{margin-top:26px;text-align:center}

/* hero */
.hero{max-width:1120px;margin:0 auto;padding:20px 22px 36px;display:grid;gap:28px}
.rotulo{font:500 .7rem var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--accent-d);display:block}
.hero h1{margin:14px 0 14px}
.hero .nome{display:block;font-size:clamp(3rem,13vw,5.6rem);line-height:.98;letter-spacing:var(--ls-h1,-.01em)}
.hero .sub{display:block;font-size:1.4rem;line-height:1.3;margin-top:14px;color:var(--accent-d);font-style:var(--sub-estilo,italic);font-weight:400}
.lead{font-size:1.1rem;color:var(--mut);max-width:46ch}
.hero .lead{margin:0 0 24px}
.foto{position:relative;margin:0;overflow:hidden;background:var(--foto-bg);color:var(--accent-d);display:grid;place-items:center}
.foto img{display:block;width:100%;height:100%;object-fit:cover}
.foto-hero{width:min(340px,100%);aspect-ratio:4/5;justify-self:center}
.foto-reserva{border:1.5px dashed currentColor}
.foto-reserva span{font:700 .72rem var(--f-body);letter-spacing:.12em;opacity:.7}
.foto-equipe{aspect-ratio:16/10;border-radius:var(--r-card,20px);width:100%}
.ramo{position:absolute;pointer-events:none;color:var(--ramo-cor,var(--accent));opacity:.55}
.ramo-a{left:-6px;bottom:-6px;width:92px}
.ramo-b{right:-12px;top:36px;width:72px;transform:scaleX(-1) rotate(8deg);opacity:.4}
.ramo-card{right:10px;bottom:-12px;width:62px;opacity:.28}

/* credenciais */
.creds{list-style:none;margin:0 auto;padding:18px 22px;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;max-width:1120px}

/* blocos */
.bloco{max-width:1040px;margin:0 auto;padding:40px 22px}
.bloco.estreito{max-width:680px}
.bloco h2{font-size:clamp(1.9rem,6vw,2.4rem);line-height:1.1;margin-bottom:16px}
.bloco h1{font-size:clamp(2.2rem,8vw,3.2rem);line-height:1.05;margin:16px 0 12px}
.cabeca .lead{margin-bottom:24px}
.duas{display:grid;gap:18px}
.card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--r-card);padding:28px 24px;position:relative;overflow:hidden}
.card h3{font-size:1.7rem;line-height:1.1;margin:8px 0}
.card p{color:var(--mut);margin-bottom:20px}
.info,.faq{display:grid;gap:12px}
.info>div,.faq-item{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--r-card-sm,18px);padding:16px 18px}
.info small{display:block;font:500 .66rem var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-d);margin-bottom:4px}
.faq-item b{display:block;font:var(--w-faq,600) 1.3rem var(--f-display);margin-bottom:4px}
.faq-item span{color:var(--mut)}
.pg-texto h2{font-size:1.5rem;margin:26px 0 6px}
.pg-texto p{color:var(--mut)}

/* formulário */
.abas{display:flex;flex-wrap:wrap;gap:6px;background:var(--abas-bg);border-radius:var(--r-abas,999px);padding:5px;margin:0 0 20px}
.abas button{flex:1 1 150px;min-height:46px;border:0;border-radius:var(--r-abas-b,999px);background:transparent;color:var(--ink);font:500 .95rem var(--f-body);cursor:pointer}
.abas button[aria-pressed="true"]{background:var(--ink);color:var(--on-ink)}
.campo{display:block;margin-bottom:16px}
.campo>span{display:block;font:500 .9rem var(--f-body);margin-bottom:6px}
.campo input,.campo select{width:100%;min-height:52px;padding:12px 16px;border:1.5px solid var(--borda-campo);border-radius:var(--r-campo);background:#fff;color:var(--ink);font:inherit}
.marcar{display:flex;gap:12px;align-items:flex-start;color:var(--mut);font-size:.92rem;margin:8px 0 18px}
.marcar input{width:24px;height:24px;margin-top:1px;accent-color:var(--accent-d);flex:none}
.erro{color:#9b1c1c;font-weight:600;margin:0 0 12px}
.aviso-form{font-size:.84rem;color:var(--mut);margin-top:10px;text-align:center}
.urgencia{margin-top:22px;border:1.5px solid var(--accent);border-radius:var(--r-card-sm,18px);padding:12px 16px;font-size:.9rem;background:var(--card-bg)}
[hidden]{display:none!important}
.tbc{display:inline-block;font:800 .62rem var(--f-body);letter-spacing:.07em;text-transform:uppercase;padding:2px 7px;border-radius:5px;background:#ffe9a8;color:#5c4a00;vertical-align:middle;margin-left:6px}

/* rodapé */
.rodape{background:var(--rodape-bg);color:var(--rodape-fg);margin-top:30px}
.rodape-in{max-width:1120px;margin:0 auto;padding:30px 22px;display:grid;gap:8px;font-size:.9rem;text-align:var(--rodape-align,left)}
.rodape a{color:inherit}
.rodape-nome{color:var(--rodape-forte,inherit)}

@media (min-width:820px){
  .menu{display:flex}
  .topo-in{padding-inline:48px}
  .hero{grid-template-columns:1.15fr .85fr;align-items:center;padding:40px 48px 50px;gap:48px}
  .duas{grid-template-columns:1fr 1fr}
  .info{grid-template-columns:repeat(3,1fr)}
  .faq{grid-template-columns:1fr 1fr}
  .hero .nome{font-size:clamp(4.4rem,8vw,6.6rem)}
  .hero .sub{font-size:1.75rem}
  .rodape-in{padding-inline:48px}
  .bloco{padding:56px 48px}
}

/* barra de comparação de temas: só existe no build de prévia */

/* foto real: sem ramos decorativos por cima do rosto */
.foto:not(.foto-reserva) .ramo{display:none}

/* foto da equipe: retrato, centralizado */
.foto-equipe{aspect-ratio:4/5;max-width:380px;justify-self:center}
.foto-equipe img{object-position:center top}

/* <picture> é inline por padrão: sem isto a imagem fica 0×0 e o carregamento sob demanda nunca dispara */
.foto picture{display:block;width:100%;height:100%}
.foto picture img{display:block;width:100%;height:100%;object-fit:cover}

/* retrato no cartão da diretora */
.card-pessoa{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.foto-pessoa{width:150px;aspect-ratio:4/5;margin-bottom:16px;border-radius:var(--r-card-sm,18px)}

/* especialidades */
.chips-esp{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips-esp li{border:1px solid var(--line);background:var(--bg);border-radius:var(--r-pill,999px);padding:5px 12px;font-size:.84rem;color:var(--ink)}
.card .endereco{font-size:.92rem;margin-bottom:20px}
.esp-grid{display:grid;gap:12px}
.esp-item{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--r-card-sm,18px);padding:16px 18px}
.esp-item b{display:block;font:var(--w-faq,600) 1.2rem var(--f-display);margin-bottom:4px}
.esp-item span{color:var(--mut)}
@media (min-width:820px){.esp-grid{grid-template-columns:repeat(2,1fr)}}

/* campo-armadilha contra robôs: fora da tela, não é "display:none" para que robôs ainda o preencham */
.armadilha{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* página Sobre */
.sobre-grade{display:grid;gap:28px;align-items:start}
.foto-sobre{width:min(360px,100%);aspect-ratio:4/5;justify-self:center}
.sobre-texto .crp{font:600 .95rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-d);margin:0 0 14px}
.sobre-texto h1{margin:12px 0 6px}
.sobre-texto .lead{max-width:56ch;margin-bottom:26px}
.sobre-texto h2{font-size:1.5rem;margin:0 0 10px}
.publicacoes{margin:0 0 26px;padding-left:20px;max-width:56ch;color:var(--mut)}
.publicacoes li{margin-bottom:8px}
@media (min-width:820px){.sobre-grade{grid-template-columns:.8fr 1.2fr;gap:56px}.foto-sobre{position:sticky;top:96px}}
