/* Fontes locais (SIL Open Font License 1.1, ver assets/fonts/LICENSE-*.txt) */
@font-face{font-family:"Instrument Serif";src:url("../fonts/instrument-serif-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("../fonts/instrument-serif-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Raleway";src:url("../fonts/raleway-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Raleway";src:url("../fonts/raleway-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

/* Layout: coluna única (máx. 440px) inspirada no espaço da clínica — café, creme, dourado do letreiro. Abertura e fechamento sobre fundo escuro; blocos e localização sobre creme. Blocos: foto em cima, faixa sólida com o título embaixo. */
:root{
  --espresso:#1c130e;
  --cafe:#4a3122;
  --faixa:#3a271b;
  --creme:#f4ece2;
  --areia:#eadccb;
  --ouro:#d3b27c;
  --ouro-fundo:#b08250;
  --tinta:#2b1d15;
  --tinta-suave:#6a5243;
  --linha-clara:rgba(244,236,226,.28);
  --display:"Instrument Serif","Times New Roman",Georgia,serif;
  --text:"Raleway","Helvetica Neue",Arial,sans-serif;
  --gl:max(16px, env(safe-area-inset-left, 0px));
  --gr:max(16px, env(safe-area-inset-right, 0px));
  --col:440px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{background:var(--espresso);color:var(--creme)}
body{margin:0;font-family:var(--text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;padding-left:var(--gl);padding-right:var(--gr)}
a,button{color:inherit;text-decoration:none;font:inherit}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--ouro);outline-offset:3px}

.page{max-width:var(--col);margin:0 auto}
.full{margin-left:calc(-1 * var(--gl));margin-right:calc(-1 * var(--gr))}
@media (min-width:480px){.full{margin-left:0;margin-right:0}}
.inner{padding-left:var(--gl);padding-right:var(--gr)}
@media (min-width:480px){.inner{padding-left:24px;padding-right:24px}}

.t{font-family:var(--display);font-weight:400;line-height:.95;letter-spacing:-.01em;text-wrap:balance;margin:0}
.t em{display:block;font-style:italic}
.eyebrow{margin:0;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}

/* Abertura (estática) */
.hero{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--espresso)}
.hero img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(to bottom,rgba(28,19,14,0),rgba(28,19,14,.55) 45%,rgba(28,19,14,.92) 85%,var(--espresso))}
.hero h1{position:absolute;left:0;right:0;bottom:6%;z-index:1;text-align:center;font-size:clamp(50px,14.5vw,64px);color:var(--creme)}

/* Três blocos: foto + faixa */
.links{background:var(--creme);color:var(--tinta);padding-block:32px 40px;display:flex;flex-direction:column;align-items:center;gap:16px}
.bloco{width:88%;max-width:100%;border-radius:4px;overflow:hidden;background:var(--faixa);box-shadow:0 12px 26px -16px rgba(43,29,21,.6)}
.card{display:block;color:var(--creme);cursor:pointer}
.card-foto{display:block;position:relative;aspect-ratio:2.6/1;overflow:hidden;background:var(--cafe)}
.card-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.foto-agendar img{object-position:50% 12%}
.foto-local img{object-position:50% 35%}
.foto-cursos img{object-position:62% 0}
.card-titulo{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:8px 16px;text-align:center}
.card-titulo .t{font-size:clamp(26px,7.4vw,30px);font-style:italic;line-height:1;color:var(--creme)}
.card:hover .card-foto img{transform:scale(1.05)}

/* Bloco de cursos: abre os dois cursos ali mesmo */
details.bloco summary{list-style:none}
details.bloco summary::-webkit-details-marker{display:none}
.seta{width:9px;height:9px;border-right:1.5px solid var(--ouro);border-bottom:1.5px solid var(--ouro);transform:translateY(-3px) rotate(45deg);transition:transform .3s;flex:none}
details[open] .seta{transform:translateY(2px) rotate(-135deg)}
.cursos{display:flex;flex-direction:column;gap:10px;padding:4px 16px 18px}
.curso{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 18px;border:1px solid var(--linha-clara);border-radius:999px;color:var(--creme);transition:background .3s,color .3s,border-color .3s}
.curso span{font-family:var(--display);font-size:21px;line-height:1.1}
.curso small{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);white-space:nowrap}
.curso:hover{background:var(--creme);color:var(--tinta);border-color:var(--creme)}
.curso:hover small{color:var(--tinta-suave)}

/* Localização */
.local{background:var(--areia);color:var(--tinta);padding-block:48px 52px;text-align:center}
.local .eyebrow{color:var(--tinta-suave)}
.local .t{font-size:clamp(34px,9.5vw,40px);margin-top:10px}
.intro{margin:14px auto 0;max-width:30ch;color:var(--tinta-suave)}
.espaco{margin:26px auto 0;max-width:320px;border-radius:4px;overflow:hidden;background:var(--faixa);box-shadow:0 12px 26px -16px rgba(43,29,21,.6)}
.fotos{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.foto{padding:0;border:0;background:var(--cafe);cursor:zoom-in;overflow:hidden;aspect-ratio:4/5}
.foto img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.foto:hover img{transform:scale(1.05)}
.mapa{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:10px 16px;color:var(--creme);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;transition:background .3s}
.mapa:hover{background:var(--cafe)}
.seta-dir{width:8px;height:8px;border-top:1.5px solid var(--ouro);border-right:1.5px solid var(--ouro);transform:rotate(45deg);transition:transform .3s}
.mapa:hover .seta-dir{transform:translateX(3px) rotate(45deg)}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 28px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;will-change:transform}
.btn--ouro{background:linear-gradient(100deg,var(--ouro),var(--ouro-fundo));color:var(--espresso);border:0}

/* Fechamento */
.fim{padding-block:56px 36px;text-align:center}
.fim .t{font-size:clamp(34px,9.5vw,40px);color:var(--creme)}
.fim .t em{color:var(--ouro)}
.fim .btn{margin-top:24px}
.foot{margin-top:52px;padding-top:22px;border-top:1px solid var(--linha-clara);font-size:12px;color:var(--areia);display:flex;flex-direction:column;gap:6px;align-items:center}
.foot a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--linha-clara)}

/* Ampliação das fotos do espaço */
dialog{border:0;padding:0;background:transparent;max-width:min(92vw,520px);max-height:88vh;overflow:visible}
dialog::backdrop{background:rgba(28,19,14,.86)}
dialog img{max-height:82vh;width:auto;margin:0 auto;border-radius:3px}
dialog button{display:block;margin:12px auto 0;min-height:44px;padding:8px 22px;border:1px solid var(--linha-clara);border-radius:999px;background:none;color:var(--creme);font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
