/* ============================================================
   Dra. Helena Vasconcelos — psiquiatria
   Assinatura: revista impressa, calma.
   Papel #F3EEE4 · tinta #1E2B26 · cobre #A65A38 · sálvia #C9D2C3
   ============================================================ */

:root{
  --papel:        #F3EEE4;
  --papel-alto:   #FFF9F2;
  --papel-fundo:  #EDE6D9;
  --tinta:        #1E2B26;
  --tinta-70:     rgba(30,43,38,.78);
  --tinta-55:     rgba(30,43,38,.68);
  --tinta-fundo:  #16211D;
  --cobre:        #A65A38;
  --cobre-tinta:  #8E4A2C;
  --cobre-claro:  #D08A62;
  --salvia:       #C9D2C3;
  --fio:          rgba(30,43,38,.16);
  --fio-forte:    rgba(30,43,38,.32);
  --fio-claro:    rgba(243,238,228,.18);

  --serif: "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --sans:  "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

  --g: 20px;
  --max: 1160px;
  --sp: clamp(4.25rem, 9.5vw, 8.5rem);
  --ease: cubic-bezier(.22,.61,.36,1);
}

@media (min-width:768px){ :root{ --g:40px } }
@media (min-width:1100px){ :root{ --g:56px } }
@media (min-width:1440px){ :root{ --max:1240px } }

*,*::before,*::after{ box-sizing:border-box }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto } }

body{
  margin:0;
  background:var(--papel);
  color:var(--tinta);
  font-family:var(--sans);
  font-size:1.0625rem;
  line-height:1.62;
  font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  padding-bottom:5.25rem; /* barra inferior */
}
@media (min-width:900px){ body{ padding-bottom:0 } }

img,svg{ max-width:100%; display:block }
img{ height:auto }

h1,h2,h3{ font-family:var(--serif); font-weight:400; letter-spacing:-.018em; margin:0 }
figure,blockquote{ margin:0 }
p{ margin:0 }
ul,ol,dl,dd{ margin:0; padding:0 }
li{ list-style:none }

a{ color:inherit }

::selection{ background:var(--salvia); color:var(--tinta) }

:focus-visible{
  outline:2px solid var(--cobre-tinta);
  outline-offset:3px;
  border-radius:2px;
}

.skip{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--tinta); color:var(--papel);
  padding:.85rem 1.25rem; font-size:.95rem; text-decoration:none;
}
.skip:focus{ left:.5rem; top:.5rem }

/* ---------- utilitários ---------- */
.faixa{
  width:100%;
  max-width:calc(var(--max) + 2 * var(--g));
  margin-inline:auto;
  padding-inline:var(--g);
}

.meta{
  font-family:var(--sans);
  font-size:.9375rem;          /* 15px no mobile: rótulo pequeno, mas legível */
  line-height:1.45;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--tinta-55);
}
@media (min-width:900px){
  /* No mobile nada de texto desce abaixo de 15px; do desktop para cima os
     rótulos voltam ao corpo pequeno de revista. */
  .meta{ font-size:.8125rem; letter-spacing:.2em }
  .fecho__dados dt{ font-size:.8125rem; letter-spacing:.2em }
  .metodo__figura figcaption,
  .consulta__figura figcaption,
  .fecho__mapa figcaption{ font-size:.875rem }
  .rodape__fino{ font-size:.875rem }
}
.meta--cobre{ color:var(--cobre-tinta) }
.meta--salvia{ color:var(--salvia) }

/* ---------- botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  min-height:52px; padding:.85rem 1.65rem;
  font-family:var(--sans); font-size:1rem; font-weight:500; letter-spacing:.005em;
  text-decoration:none; border:1px solid transparent; border-radius:2px;
  transition:background-color .35s var(--ease), color .35s var(--ease),
             border-color .35s var(--ease), transform .35s var(--ease);
}
.btn--cheio{ background:var(--tinta); color:var(--papel-alto) }
.btn--cheio:hover{ background:#0F1A16 }
.btn--cobre{ background:var(--cobre); color:var(--papel-alto) }
.btn--cobre:hover{ background:var(--cobre-tinta) }
.btn--linha{ border-color:var(--fio-forte); color:var(--tinta); background:transparent }
.btn--linha:hover{ border-color:var(--tinta); background:rgba(30,43,38,.05) }
.btn--linha-clara{ border-color:var(--fio-claro); color:var(--papel); background:transparent }
.btn--linha-clara:hover{ border-color:var(--salvia); background:rgba(243,238,228,.07) }
.btn--texto{
  padding:.85rem 0; background:none; color:var(--tinta);
  border-bottom:1px solid var(--fio-forte); border-radius:0;
}
.btn--texto svg{ transition:transform .4s var(--ease) }
.btn--texto:hover{ border-bottom-color:var(--cobre) ; color:var(--cobre-tinta) }
.btn--texto:hover svg{ transform:translateY(3px) }
.btn:active{ transform:translateY(1px) }

/* ============================================================
   TOPO
   ============================================================ */
.topo{
  position:sticky; top:0; z-index:30;
  background:rgba(243,238,228,.94);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--fio);
}
.topo__in{
  max-width:calc(var(--max) + 2 * var(--g));
  margin-inline:auto; padding:.7rem var(--g);
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.marca{ text-decoration:none; display:block; line-height:1.15; padding-block:.35rem }
.marca__nome{
  display:block; font-family:var(--serif); font-size:1.18rem;
  letter-spacing:-.015em;
}
.marca__reg{
  display:block; margin-top:.28rem;
  font-size:.8125rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--tinta-55); font-weight:500;
}
@media (min-width:980px){ .marca__reg{ letter-spacing:.1em } }
.nav{ display:none }
.topo__cta{ display:none }
.so-larga{ display:none }

.menu-btn{
  display:inline-flex; align-items:center; gap:.5rem;
  min-height:44px; min-width:44px; padding:.5rem .35rem .5rem .6rem;
  background:none; border:0; cursor:pointer; color:var(--tinta);
  font-family:var(--sans); font-size:.9375rem; letter-spacing:.12em;
  text-transform:uppercase; font-weight:500;
}
.menu-btn__linhas{ display:block; width:22px }
.menu-btn__linhas i{
  display:block; height:1px; background:var(--tinta);
  transition:transform .35s var(--ease), opacity .3s;
}
.menu-btn__linhas i:first-child{ margin-bottom:6px }
.menu-btn[aria-expanded="true"] .menu-btn__linhas i:first-child{ transform:translateY(3.5px) rotate(45deg) }
.menu-btn[aria-expanded="true"] .menu-btn__linhas i:last-child{ transform:translateY(-3.5px) rotate(-45deg) }

.menu-painel{
  border-top:1px solid var(--fio);
  padding:.5rem var(--g) 1.5rem;
  background:var(--papel);
}
.menu-painel[hidden]{ display:none }
.menu-painel__lista li + li{ border-top:1px solid var(--fio) }
.menu-painel__lista a{
  display:flex; align-items:baseline; gap:.9rem;
  padding:.95rem .1rem; min-height:48px;
  font-family:var(--serif); font-size:1.35rem; text-decoration:none;
}
.menu-painel__lista .num{
  font-size:.8125rem; font-family:var(--sans); letter-spacing:.16em;
  color:var(--cobre-tinta); font-weight:500;
}
.menu-painel__pe{
  margin-top:1.1rem; font-size:.9375rem; line-height:1.5; color:var(--tinta-55);
  border-top:1px solid var(--fio); padding-top:1rem;
}

@media (min-width:980px){
  .menu-btn{ display:none }
  .menu-painel{ display:none !important }
  .nav{ display:block }
  .nav__lista{ display:flex; gap:1.35rem }
  .nav__lista a{
    font-size:.8125rem; letter-spacing:.055em; text-decoration:none;
    color:var(--tinta-70); padding:.75rem 0; display:block; position:relative;
  }
  .nav__lista a::after{
    content:""; position:absolute; left:0; right:0; bottom:.45rem; height:1px;
    background:var(--cobre); transform:scaleX(0); transform-origin:left;
    transition:transform .4s var(--ease);
  }
  .nav__lista a:hover{ color:var(--tinta) }
  .nav__lista a:hover::after{ transform:scaleX(1) }
  .topo__cta{ display:inline-flex; min-height:44px; padding:.6rem 1.35rem; font-size:.9375rem; flex:none }
  .topo__in{ padding-block:.9rem }
  .marca{ flex:none }
  .nav__lista a{ white-space:nowrap }
}
@media (min-width:1200px){
  .so-larga{ display:inline }
  .nav__lista{ gap:1.9rem }
}

/* ============================================================
   CAPA
   ============================================================ */
.capa{ padding-top:clamp(2.25rem,7vw,4.5rem) }
.capa__in{
  width:100%; max-width:calc(var(--max) + 2 * var(--g));
  margin-inline:auto; padding-inline:var(--g);
  display:flex; flex-direction:column;
}
.capa__meta{
  order:1; display:flex; gap:.5rem .65rem; flex-wrap:wrap; color:var(--tinta-70);
}
@media (min-width:900px){ .capa__meta{ gap:.6rem } }
.capa__meta span{ color:var(--cobre) }

.capa__titulo{
  order:2; margin-top:1.15rem;
  font-size:clamp(2.4rem,6.2vw,4.75rem);
  line-height:.97; letter-spacing:-.03em;
  font-variation-settings:"opsz" 144, "wght" 400;
}
.capa__titulo em{
  font-style:italic; color:var(--cobre-tinta);
  font-variation-settings:"opsz" 144, "wght" 350;
}

.capa__retrato{ order:3; position:relative; margin:2.4rem 0 0 }
.capa__bloco{
  position:absolute; left:0; top:12%; width:72%; height:92%;
  background:var(--salvia);
}
.capa__retrato img{
  position:relative; z-index:1;
  width:82%; margin-left:auto;
  border-radius:50% 50% 3px 3px / 32% 32% 3px 3px;
  object-fit:cover;
}

@media (min-width:600px) and (max-width:899px){
  .capa__retrato img{ width:56% }
  .capa__bloco{ width:50%; top:14%; height:88% }
}

.capa__texto{ order:4; margin-top:2.4rem; max-width:34rem }
.capa__deck{ font-size:1.0625rem; line-height:1.66; color:var(--tinta-70) }
.capa__deck strong{ color:var(--tinta); font-weight:600 }
.capa__acoes{ margin-top:1.75rem; display:flex; flex-wrap:wrap; gap:.75rem 1.75rem; align-items:center }

.trilho{
  margin:clamp(3rem,8vw,5rem) auto 0;
  width:100%; max-width:calc(var(--max) + 2 * var(--g));
  padding-inline:var(--g);
  border-top:1px solid var(--fio-forte);
}
.trilho li{
  padding:1.05rem 0; border-bottom:1px solid var(--fio);
  font-size:.95rem; line-height:1.45; color:var(--tinta-70);
}
.trilho .meta{ display:block; margin-bottom:.3rem }

@media (min-width:900px){
  .capa{ padding-top:clamp(3rem,5.5vw,5.5rem) }
  .capa__in{
    display:grid; grid-template-columns:repeat(12,1fr);
    column-gap:2rem; align-items:start;
  }
  .capa__meta{ grid-column:1/8; grid-row:1 }
  .capa__titulo{ grid-column:1/8; grid-row:2; margin-top:1.4rem }
  .capa__texto{ grid-column:1/7; grid-row:3; margin-top:2.6rem }
  .capa__retrato{ grid-column:8/13; grid-row:1/4; align-self:center; margin:0 }
  .capa__bloco{ left:-14%; top:14%; width:76%; height:92% }
  .capa__retrato img{ width:92% }
  .trilho{ display:grid; grid-template-columns:repeat(3,1fr); gap:0 }
  .trilho li{ border-bottom:0; padding:1.25rem 2rem 0 0 }
  .trilho li + li{ border-left:1px solid var(--fio); padding-left:2rem }
}
@media (min-width:1100px){
  .capa__texto{ grid-column:1/6 }
}

/* ============================================================
   MÉTODO
   ============================================================ */
.metodo{ padding-block:var(--sp) }
.metodo__rotulo .metodo__h2,
.indice__cabeca h2, .consulta__rotulo h2, .sala__cabeca h2, .duvidas__rotulo h2{
  margin-top:.75rem;
  font-size:clamp(2rem,5vw,3.15rem); line-height:1.03; letter-spacing:-.025em;
  font-variation-settings:"opsz" 100;
}

.metodo__texto{ margin-top:2.25rem; max-width:36rem }
.metodo__texto p + p{ margin-top:1.35rem }
.metodo__texto p{ color:var(--tinta-70); font-size:1.0625rem; line-height:1.72 }

.capitular::first-letter{
  float:left; font-family:var(--serif); font-weight:400;
  font-size:4.15em; line-height:.78; padding:.06em .1em 0 0;
  color:var(--cobre); font-variation-settings:"opsz" 144;
}

.citacao{
  margin:2.25rem 0 2.25rem; padding:0 0 0 1.25rem;
  border-left:2px solid var(--cobre);
}
.citacao p{
  font-family:var(--serif) !important; font-style:italic;
  font-size:clamp(1.34rem,4.6vw,1.75rem) !important; line-height:1.38 !important;
  letter-spacing:-.015em; color:var(--tinta) !important;
  font-variation-settings:"opsz" 144, "wght" 380;
}

.assinatura{ margin-top:2rem; padding-top:1.25rem; border-top:1px solid var(--fio) }
.assinatura__nome{
  display:block; font-family:var(--serif); font-style:italic;
  font-size:1.5rem; color:var(--tinta); letter-spacing:-.01em; margin-bottom:.35rem;
}

.metodo__figura{ margin:2.75rem 0 0; overflow:hidden }
.metodo__figura img{
  width:100%; aspect-ratio:3/2; object-fit:cover;   /* nativo 700x466 */
  filter:blur(1px); transform:scale(1.03);          /* leve, só para afastar o plano */
}
.metodo__figura figcaption,
.consulta__figura figcaption,
.fecho__mapa figcaption{
  margin-top:.85rem; font-size:.9375rem; line-height:1.55; color:var(--tinta-55);
  border-top:1px solid var(--fio); padding-top:.7rem; max-width:26rem;
}

@media (min-width:1000px){
  .faixa--metodo{
    display:grid;
    grid-template-columns:minmax(9rem,1.6fr) minmax(0,5.6fr) minmax(0,3.4fr);
    column-gap:clamp(2rem,3.6vw,3.5rem);
    align-items:start;
  }
  .metodo__rotulo{ position:sticky; top:7.5rem; padding-top:.35rem }
  .metodo__rotulo .metodo__h2{ font-size:clamp(1.85rem,2.5vw,2.45rem) }
  .metodo__texto{ margin-top:.35rem; max-width:none }
  .metodo__figura{ position:sticky; top:7.5rem; margin-top:.35rem }
  .metodo__figura img{ aspect-ratio:3/2 }
  .citacao{
    margin-left:-2.25rem; padding-left:2.25rem;
    margin-block:2.75rem;
  }
}

/* ============================================================
   ÍNDICE — o que eu trato
   ============================================================ */
.indice{
  padding-block:var(--sp);
  background:var(--papel-fundo);
  border-block:1px solid var(--fio);
}
.indice__intro{
  margin-top:1.15rem; max-width:34rem;
  color:var(--tinta-70); font-size:1rem; line-height:1.66;
}
.indice__grade{ margin-top:2.5rem; border-top:1px solid var(--fio-forte) }
.ind{ border-bottom:1px solid var(--fio) }

.ind__h3{ margin:0; font-size:inherit; font-weight:inherit; letter-spacing:normal }
.ind__btn{
  width:100%; display:flex; align-items:baseline; gap:1rem;
  padding:1.15rem 0; background:none; border:0; cursor:pointer;
  text-align:left; color:var(--tinta); font-family:var(--serif);
  transition:color .35s var(--ease);
}
.ind__num{
  font-size:.9375rem; letter-spacing:.06em; color:var(--cobre-tinta);
  font-variation-settings:"opsz" 30; flex:none; min-width:1.9rem;
}
.ind__nome{
  flex:1; font-size:clamp(1.35rem,4.8vw,1.75rem); line-height:1.2;
  letter-spacing:-.02em; font-variation-settings:"opsz" 80;
}
.ind__sinal{
  flex:none; position:relative; width:14px; height:14px; align-self:center;
}
.ind__sinal::before,.ind__sinal::after{
  content:""; position:absolute; background:var(--cobre); transition:transform .4s var(--ease);
}
.ind__sinal::before{ left:0; top:6.5px; width:14px; height:1.5px }
.ind__sinal::after{ left:6.5px; top:0; width:1.5px; height:14px }
.ind.is-on .ind__sinal::after{ transform:scaleY(0) }
.ind__btn:hover .ind__nome{ color:var(--cobre-tinta) }

.ind__corpo{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .5s var(--ease);
}
.ind__corpo-in{ overflow:hidden; visibility:hidden; transition:visibility 0s .5s }
.ind.is-on .ind__corpo{ grid-template-rows:1fr }
.ind.is-on .ind__corpo-in{ visibility:visible; transition:visibility 0s }
.ind__corpo p{
  padding:0 0 1.35rem; max-width:34rem;
  color:var(--tinta-70); font-size:1rem; line-height:1.68;
}
.ind__corpo .ind__eco{ display:none }   /* eco do título: só na coluna do desktop */

/* sem JS: tudo aberto e em fluxo */
html:not(.js) .ind__corpo{ grid-template-rows:1fr }
html:not(.js) .ind__corpo-in{ visibility:visible }
html:not(.js) .ind__sinal{ display:none }

.indice__nota{
  margin-top:2rem; font-size:.9375rem; line-height:1.6; color:var(--tinta-55);
  max-width:38rem;
}

@media (min-width:1000px){
  .indice__cabeca{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:3.5rem; align-items:end }
  .indice__cabeca .meta{ grid-column:1 }
  .indice__cabeca h2{ grid-column:1; grid-row:2 }
  .indice__intro{ grid-column:2; grid-row:1/3; margin-top:0; align-self:end }

  /* a lista define a altura da seção; a coluna da direita é uma coluna
     editorial de altura inteira, com o texto centrado no eixo da lista */
  .indice__grade{ position:relative }
  .indice__grade::after{
    content:""; position:absolute; top:0; bottom:0; left:57%;
    width:1px; background:var(--fio-forte);
  }
  .indice__lista{ width:53% }
  .ind__btn{ padding:1.5rem 0 }
  .ind__sinal{ display:none }
  .ind__num{
    font-size:1.6rem; min-width:3.1rem;
    font-variation-settings:"opsz" 90, "wght" 300;
    color:var(--fio-forte); transition:color .4s var(--ease);
  }
  .ind.is-on .ind__num{ color:var(--cobre) }
  .ind.is-on .ind__nome{ color:var(--cobre-tinta) }

  .ind__corpo{
    position:absolute; top:0; bottom:0; left:57%; width:43%;
    display:flex; flex-direction:column; justify-content:center;
    grid-template-rows:none;
    opacity:0; visibility:hidden; pointer-events:none;
    transform:translateY(8px);
    transition:opacity .5s var(--ease), transform .5s var(--ease), visibility 0s .5s;
    padding:2rem 0 2rem clamp(1.75rem,3vw,3rem);
  }
  .ind__corpo-in{ overflow:visible; visibility:inherit }   /* segue o pai: só o item ativo aparece */
  .ind.is-on .ind__corpo{
    opacity:1; visibility:visible; transform:none; pointer-events:auto;
    transition:opacity .6s var(--ease), transform .6s var(--ease), visibility 0s;
  }
  .ind__corpo::before{
    content:attr(data-n); display:block; margin-bottom:1.1rem;
    font-family:var(--serif); font-size:clamp(5rem,8vw,8.25rem); line-height:.82;
    color:var(--salvia); font-variation-settings:"opsz" 144, "wght" 300;
  }
  .ind__corpo p{ padding-bottom:0; font-size:1.0625rem; line-height:1.66; max-width:31rem }
  .ind__corpo .ind__eco{
    display:block; margin-bottom:.8rem; padding:0;
    font-family:var(--serif); font-style:italic; font-size:1.65rem; line-height:1.15;
    letter-spacing:-.015em; color:var(--tinta); max-width:14ch;
    font-variation-settings:"opsz" 144, "wght" 370;
  }
  .ind__corpo-in{ position:relative; padding-top:1.35rem }
  .ind__corpo-in::before{
    content:""; position:absolute; left:0; top:0; width:2.5rem; height:1px;
    background:var(--cobre);
  }
  .indice__nota{ margin-top:2.75rem }

  html:not(.js) .indice__grade::after{ display:none }
  html:not(.js) .indice__lista{ width:100% }
  html:not(.js) .ind__corpo{
    position:static; display:block; width:auto; left:auto; opacity:1; visibility:visible;
    transform:none; padding:0 0 1.35rem;
  }
  html:not(.js) .ind__corpo-in{ padding-top:0 }
  html:not(.js) .ind__corpo-in::before,
  html:not(.js) .ind__corpo .ind__eco,
  html:not(.js) .ind__corpo::before{ display:none }
}

/* ============================================================
   PRIMEIRA CONSULTA
   ============================================================ */
.consulta{ padding-block:var(--sp) }
.consulta__lead{
  margin-top:1.15rem; max-width:32rem;
  color:var(--tinta-70); font-size:1rem; line-height:1.66;
}
.consulta__figura{ margin:2.5rem 0 0 }
.consulta__figura img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:26% 58% }  /* nativo 900x900 */

.linha{ margin-top:2.75rem }
.linha__item{ position:relative; padding:0 0 2.15rem 2rem }
.linha__item::before{
  content:""; position:absolute; left:5px; top:1.45rem; bottom:0;
  width:1px; background:var(--fio-forte);
}
.linha__item:last-child{ padding-bottom:0 }
.linha__item:last-child::before{ display:none }
.linha__marca{
  position:absolute; left:0; top:.55rem; width:11px; height:11px;
  border-radius:50%; background:var(--papel); border:1.5px solid var(--cobre);
}
.linha__item h3{
  font-size:1.3rem; letter-spacing:-.015em; line-height:1.2;
  font-variation-settings:"opsz" 60;
}
.linha__item p{
  margin-top:.55rem; color:var(--tinta-70); font-size:1rem; line-height:1.68;
  max-width:34rem;
}

@media (min-width:1000px){
  .faixa--consulta{
    display:grid; grid-template-columns:minmax(0,4.4fr) minmax(0,6.2fr);
    column-gap:clamp(2.5rem,5vw,5.5rem); align-items:start;
  }
  .consulta__rotulo{ position:sticky; top:7.5rem }
  .consulta__figura{ margin-top:3rem }
  .consulta__figura img{ aspect-ratio:4/5 }
  .linha{ margin-top:.5rem }
  .linha__item{ padding-left:2.6rem; padding-bottom:2.75rem }
  .linha__item h3{ font-size:1.5rem }
}

/* ============================================================
   CONSULTÓRIO
   ============================================================ */
.sala{ padding-block:var(--sp); background:var(--papel-fundo); border-block:1px solid var(--fio) }
.sala__par{ margin-top:2.5rem }
.sala__fig img{ width:100% }
.sala__fig--larga img{ aspect-ratio:600/343; object-fit:cover }  /* nativo 1200x686 */
.sala__fig--alta{ margin:2.5rem 0 0 var(--g) }
.sala__nota{
  margin:2.5rem 0 0; padding-inline:var(--g); max-width:30rem;
}
.sala__nota p{ color:var(--tinta-70); font-size:1rem; line-height:1.68 }
.sala__nota p + p{ margin-top:1rem }
.sala__fig--alta img{ aspect-ratio:2/3; object-fit:cover }  /* nativo 768x1152 */
.sala__fig figcaption{
  margin-top:.9rem; font-size:.9375rem; line-height:1.55; color:var(--tinta-70);
  font-family:var(--serif); font-style:italic; max-width:24rem;
  padding-inline:var(--g);
}
.sala__fig figcaption .meta{
  display:block; font-style:normal; margin-bottom:.4rem; color:var(--cobre-tinta);
}
.sala__fig--larga{ margin:0 var(--g) 0 0 }
.sala__fig--alta img{ margin-left:auto; width:82% }
.sala__fig--alta figcaption{ padding-inline:0; margin-left:auto; width:82% }

@media (min-width:900px){
  .sala__par{
    display:grid; grid-template-columns:minmax(0,7fr) minmax(0,3.7fr);
    column-gap:clamp(2rem,4vw,3.5rem); align-items:start;
    max-width:calc(var(--max) + 2 * var(--g) + 6vw);
    margin-inline:auto; padding-right:var(--g);
  }
  .sala__fig--larga{ margin-right:0; grid-column:1; grid-row:1 }
  .sala__fig--larga img{ aspect-ratio:600/343 }
  .sala__fig--larga figcaption{ padding-left:var(--g); padding-right:0 }
  .sala__nota{
    grid-column:1; grid-row:2; margin:3rem 0 0; max-width:34rem;
    padding-left:var(--g); padding-right:0;
    border-top:1px solid var(--fio); padding-top:1.75rem;
  }
  .sala__fig--alta{ margin:6.5rem 0 0; grid-column:2; grid-row:1/3 }
  .sala__fig--alta img{ width:100%; aspect-ratio:2/3 }
  .sala__fig--alta figcaption{ width:100% }
}
@media (min-width:1400px){
  .sala__par{ max-width:1500px }
}

/* ============================================================
   DÚVIDAS
   ============================================================ */
.duvidas{ padding-block:var(--sp) }
.duvidas__figura{ margin:2rem 0 0 }
.duvidas__figura img{ width:100%; aspect-ratio:4/3; object-fit:cover; object-position:44% 52% }
.duvidas__figura figcaption{
  margin-top:.85rem; padding-top:.7rem; border-top:1px solid var(--fio);
  font-family:var(--serif); font-style:italic; font-size:.9375rem; line-height:1.5;
  color:var(--tinta-55);
}
.duvidas__figura figcaption .meta{ display:block; font-style:normal; margin-bottom:.35rem; color:var(--cobre-tinta) }
.duvidas__lista{ margin-top:2rem; border-top:1px solid var(--fio-forte) }

.qa{ border-bottom:1px solid var(--fio) }
.qa summary{
  display:flex; align-items:center; justify-content:space-between; gap:1.25rem;
  padding:1.15rem 0; min-height:56px; cursor:pointer; list-style:none;
  font-family:var(--serif); font-size:clamp(1.12rem,3.9vw,1.3rem);
  line-height:1.3; letter-spacing:-.015em;
  font-variation-settings:"opsz" 50;
  transition:color .3s var(--ease);
}
.qa summary::-webkit-details-marker{ display:none }
.qa summary:hover{ color:var(--cobre-tinta) }
.qa[open] > summary{ color:var(--cobre-tinta) }
.qa__sinal{ flex:none; position:relative; width:14px; height:14px }
.qa__sinal::before,.qa__sinal::after{
  content:""; position:absolute; background:var(--cobre); transition:transform .4s var(--ease);
}
.qa__sinal::before{ left:0; top:6.5px; width:14px; height:1.5px }
.qa__sinal::after{ left:6.5px; top:0; width:1.5px; height:14px }
.qa[open] .qa__sinal::after{ transform:scaleY(0) }
.qa__corpo{ padding:0 0 1.5rem; max-width:38rem }
.qa__corpo p{ color:var(--tinta-70); font-size:1rem; line-height:1.7 }
.qa__corpo p + p{ margin-top:.9rem }
.qa__corpo strong{ color:var(--tinta); font-weight:600 }
.qa[open] .qa__corpo{ animation:surge .55s var(--ease) both }
.qa--alerta[open] .qa__corpo{
  border-left:2px solid var(--cobre); padding-left:1.25rem; margin-bottom:1.5rem; padding-bottom:0;
}
@keyframes surge{ from{ opacity:0; transform:translateY(-6px) } to{ opacity:1; transform:none } }

.duvidas__sobra{ margin-top:1.75rem; max-width:34rem }
.duvidas__sobra p{
  font-size:.9375rem; line-height:1.65; color:var(--tinta-55);
}
.duvidas__sobra a{
  display:inline-flex; align-items:center; min-height:44px;
  margin-top:.35rem; color:var(--cobre-tinta);
  text-decoration:none; box-shadow:inset 0 -1px 0 var(--cobre);
  font-weight:500; font-size:1rem;
}
.duvidas__sobra a:hover{ color:var(--tinta); box-shadow:inset 0 -1px 0 var(--tinta) }

@media (min-width:1000px){
  .faixa--duvidas{
    display:grid; grid-template-columns:minmax(0,4fr) minmax(0,6.6fr);
    column-gap:clamp(2.5rem,5vw,5.5rem); align-items:start;
  }
  .duvidas__rotulo{ position:sticky; top:7.5rem }
  .duvidas__figura{ margin-top:2.75rem; max-width:19rem }
  .duvidas__figura img{ aspect-ratio:2/3 }
  .duvidas__lista{ margin-top:.5rem }
  .qa summary{ padding:1.45rem 0 }
}

/* ============================================================
   FECHO — agendar
   ============================================================ */
.fecho{
  background:var(--tinta-fundo); color:var(--papel);
  padding-block:var(--sp);
}
.fecho h2{
  margin-top:.9rem; color:var(--papel);
  font-size:clamp(2.1rem,6vw,3.4rem); line-height:1.02; letter-spacing:-.028em;
  font-variation-settings:"opsz" 144;
}
.fecho h2 em{ font-style:italic; color:var(--salvia) }
.fecho__lead{
  margin-top:1.35rem; max-width:31rem;
  color:rgba(243,238,228,.76); font-size:1rem; line-height:1.68;
}
.fecho__dados{
  margin-top:2.5rem; display:grid; gap:0;
  border-top:1px solid var(--fio-claro);
}
.fecho__dados > div{ padding:1.1rem 0; border-bottom:1px solid var(--fio-claro) }
.fecho__dados dt{
  font-size:.9375rem; letter-spacing:.15em; text-transform:uppercase;
  font-weight:500; color:var(--salvia); margin-bottom:.4rem;
}
.fecho__dados dd{ font-size:1rem; line-height:1.5; color:rgba(243,238,228,.9) }
.fecho__dados a{ color:var(--papel); text-decoration:none; border-bottom:1px solid var(--cobre-claro) }
.fecho__dados a:hover{ color:var(--cobre-claro) }

.fecho__acoes{ margin-top:2rem; display:flex; flex-direction:column; gap:.75rem }
.fecho__dica{
  margin-top:1.75rem; padding-top:1.5rem; border-top:1px solid var(--fio-claro);
  font-size:.9375rem; line-height:1.68; color:rgba(243,238,228,.68); max-width:30rem;
}
.fecho__mapa{ margin-top:3rem }
.mapa{ width:100%; height:auto; border:1px solid var(--fio-claro) }
.fecho__mapa figcaption{
  color:rgba(243,238,228,.66); border-top-color:var(--fio-claro); max-width:28rem;
}

@media (min-width:640px){
  .fecho__dados{ grid-template-columns:1fr 1fr; column-gap:2.5rem }
  .fecho__acoes{ flex-direction:row; flex-wrap:wrap }
  .fecho__acoes .btn{ flex:1 1 auto }
}
@media (min-width:1000px){
  .faixa--fecho{
    display:grid; grid-template-columns:minmax(0,6fr) minmax(0,4.6fr);
    column-gap:clamp(3rem,6vw,6rem); align-items:start;
  }
  .fecho__mapa{ margin-top:.5rem; position:sticky; top:7.5rem }
  .fecho__acoes .btn{ flex:0 0 auto }
}

/* ============================================================
   RODAPÉ
   ============================================================ */
.rodape{ background:var(--tinta-fundo); color:var(--papel); padding-bottom:2.75rem }
.faixa--rodape{ border-top:1px solid var(--fio-claro); padding-top:2.75rem }
.rodape__nome{ font-family:var(--serif); font-size:1.35rem; letter-spacing:-.015em }
.rodape__marca .meta{ margin-top:.45rem; color:rgba(201,210,195,.8); letter-spacing:.16em }
.rodape__end{
  margin-top:1.35rem; padding-top:1.2rem; border-top:1px solid var(--fio-claro);
  font-style:normal; font-size:.9375rem; line-height:1.75; color:rgba(243,238,228,.72);
  max-width:19rem;
}
.rodape__end a{
  display:inline-flex; align-items:center; min-height:44px;
  color:var(--papel); text-decoration:none; box-shadow:inset 0 -1px 0 var(--cobre-claro);
}
.rodape__end a:hover{ color:var(--cobre-claro) }
.rodape__nav{ margin-top:2rem }
.rodape__nav ul{ display:grid; gap:.1rem }
.rodape__nav a{
  display:block; padding:.5rem 0; min-height:44px; line-height:1.9;
  font-size:.9375rem; color:rgba(243,238,228,.74); text-decoration:none;
  transition:color .3s var(--ease);
}
.rodape__nav a:hover{ color:var(--salvia) }
.rodape__urgencia{
  margin-top:2rem; padding:1rem 1.15rem;
  border:1px solid var(--fio-claro);
  font-size:.9375rem; line-height:1.6; color:rgba(243,238,228,.82);
}
.rodape__urgencia strong{ color:var(--salvia); font-weight:600 }
.rodape__fino{
  margin-top:1.75rem; padding-top:1.25rem; border-top:1px solid var(--fio-claro);
  font-size:.9375rem; line-height:1.6; color:rgba(243,238,228,.62);
}
@media (min-width:900px){
  .faixa--rodape{
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
    column-gap:3rem; align-items:start;
  }
  .rodape__nav{ margin-top:0 }
  .rodape__nav ul{ grid-template-columns:1fr 1fr; column-gap:1.5rem }
  .rodape__urgencia{ margin-top:0 }
  .rodape__fino{ grid-column:1/-1; margin-top:2.75rem }
}

/* ============================================================
   BARRA INFERIOR (mobile)
   ============================================================ */
.barra{
  position:fixed; left:0; right:0; bottom:0; z-index:25;
  background:rgba(243,238,228,.96);
  backdrop-filter:blur(10px);
  border-top:1px solid var(--fio-forte);
  padding-bottom:env(safe-area-inset-bottom);
  transition:transform .45s var(--ease);
}
.barra.is-off{ transform:translateY(110%) }
.barra__in{
  display:flex; align-items:stretch; gap:.6rem;
  padding:.6rem var(--g);
}
.barra__tel{
  flex:none; min-height:50px; padding:.6rem 1rem; gap:.45rem;
  background:var(--papel); font-size:.9375rem;
}
.barra__tel-rot{ letter-spacing:.01em }
.barra__btn{ flex:1; min-height:50px; padding:.7rem 1rem; font-size:1rem }
@media (min-width:900px){ .barra{ display:none } }
@media (max-width:359px){ .barra__tel-rot{ display:none } .barra__tel{ padding-inline:.85rem } }

/* ============================================================
   ENTRADAS
   ============================================================ */
.js [data-reveal]{
  opacity:0; transform:translateY(16px);
  transition:opacity 1.05s var(--ease), transform 1.05s var(--ease);
}
.js [data-reveal].is-in{ opacity:1; transform:none }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .js [data-reveal]{ opacity:1; transform:none }
}
