/* Rebeca Bedran | Advocacia de Família e Sucessões
   Linguagem: cards de borda fina com raio de 20px, botões em pílula com ícone em círculo dourado,
   entrada dos blocos com subida e desfoque, cortina bordô na abertura da página. */

/* Zapf Humanist 601 BT (Bitstream) nos títulos, arquivo local.
   Fonte comercial: o uso público pede licença para web.
   WOFF2 (comprimido) primeiro; o TTF original fica de reserva */
@font-face {
  font-family: "Zapf Humanist";
  src: url("../fonts/zapfhumnst-bt/zapf-humanist-601-bt.woff2") format("woff2"),
       url("../fonts/zapfhumnst-bt/bodoni-six-itc-bold-italic-os-5871d33e4dc4a.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Figtree (SIL Open Font License) no texto, variável de 300 a 900, arquivos locais */
@font-face {
  font-family: "Figtree";
  src: url("../fonts/figtree/figtree-latin-wght-normal.woff2") format("woff2");
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Figtree";
  src: url("../fonts/figtree/figtree-latin-ext-wght-normal.woff2") format("woff2");
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* Identidade */
  --bordo: #5C0527;
  --bordo-escuro: #45031D;
  --bordo-profundo: #33021A;
  --ouro: #CFB169;
  --ouro-suave: #EADFC2;
  --bronze: #9A7034;
  --bronze-texto: #7A5826;   /* bronze escurecido para texto pequeno, AA sobre branco */
  --branco: #FFFFFF;
  /* Degradês dos botões: bordas escuras e brilho no centro */
  --degrade-vinho: linear-gradient(92deg, #5C0527 -4.25%, #9B1239 48.85%, #45031D 106.56%);
  --degrade-verde: linear-gradient(92deg, #288224 -4.25%, #4CC448 48.85%, #267323 106.56%);
  --sombra-vinho: -2.5px 4px 10px rgba(51, 2, 26, .14), 12.75px 9px 25.5px rgba(51, 2, 26, .2);
  --sombra-verde: -2.5px 4px 10px rgba(22, 67, 21, .12), 12.75px 9px 25.5px rgba(22, 67, 21, .16);

  /* WhatsApp */
  --wa-escuro: #288224;

  /* Neutros derivados */
  --porcelana: #FBF8F6;
  --nevoa: #EEE6E2;
  --tinta: #2A1219;
  --texto: #4A3A3F;
  --texto-suave: #6A5A5F;
  --linha: rgba(92, 5, 39, .12);
  --linha-forte: rgba(92, 5, 39, .24);

  /* TESTE: antes "Fraunces", Georgia, "Times New Roman", serif nos títulos */
  --serif: "Zapf Humanist", Optima, Candara, "Segoe UI", sans-serif;
  --sans: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;

  --max: 1240px;
  --gutter: clamp(20px, 5vw, 48px);
  --section: clamp(88px, 11vw, 152px);
  --r-panel: clamp(24px, 3vw, 36px);
  --r-card: 20px;
  --r-media: 24px;

  --ease: cubic-bezier(.2, .7, .2, 1);
  --ease-io: cubic-bezier(.76, 0, .24, 1);
  --intro: .1s;   /* atraso das animações do hero; com a cortina, recalculado no bloco dela */
}

/* Base */
*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: 104px;
}

body {
  margin: 0;
  background: var(--porcelana);
  color: var(--texto);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.menu-open { overflow: hidden; }

img, svg, iframe { display: block; max-width: 100%; }
h1, h2, h3, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; }

.icon { width: 1.25em; height: 1.25em; fill: currentColor; flex: none; }

:focus-visible {
  outline: 2px solid var(--bordo);
  outline-offset: 3px;
  border-radius: 6px;
}
.office__card :focus-visible,
.footer :focus-visible,
.menu :focus-visible { outline-color: var(--ouro); }

/* Visível só para leitores de tela */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  left: 16px;
  top: -80px;
  z-index: 100;
  padding: 12px 20px;
  border-radius: 999px;
  background: var(--bordo);
  color: var(--branco);
  font-weight: 600;
  text-decoration: none;
}
.skip-link:focus { top: 16px; }

.wrap {
  width: 100%;
  max-width: calc(var(--max) + var(--gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

/* Texto justificado sem hifenização: a palavra inteira passa para a linha de baixo.
   Vale para a classe .justify e para os textos corridos que vêm do editor ou de partes repetidas */
.justify,
.entry p,
.page-head .lead,
.feature__excerpt,
.autora__bio,
.aside-cta p:not([class]),
.cta-band__panel .lead,
.topic p,
.area-more__txt,
.footer__muted {
  text-align: justify;
  text-align-last: left;
  -webkit-hyphens: none;
  hyphens: none;
}

/* Tipografia */
.h2 {
  font-family: var(--serif);
  font-weight: 350;
  font-size: clamp(2rem, 1.35rem + 2.6vw, 3.25rem);
  line-height: 1.08;
  letter-spacing: -.02em;
  color: var(--tinta);
  text-wrap: balance;
}

/* Rótulo da seção, acima do H2 */
.kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .01em;
  color: var(--bronze-texto);
}
.kicker__dot {
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--degrade-vinho);
  box-shadow: 0 0 0 4px rgba(207, 177, 105, .28);
}
.office__card .kicker { color: var(--ouro); }
.office__card .kicker__dot { background: var(--ouro); box-shadow: 0 0 0 4px rgba(207, 177, 105, .2); }

.lead {
  margin-top: 20px;
  max-width: 34em;
  font-size: 1.0625rem;
  color: var(--texto-suave);
}

.text-link {
  color: var(--bordo);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  text-decoration-color: var(--ouro);
  transition: text-decoration-color .3s;
}
.text-link:hover { text-decoration-color: var(--bordo); }

/* Círculo de ícone, usado em toda a página */
.chip {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--porcelana);
  color: var(--bronze);
  transition: background-color .4s var(--ease), color .4s var(--ease);
}
.chip .icon { width: 22px; height: 22px; }

/* Botões: pílula com ícone em círculo */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 56px;
  padding: 6px 26px 6px 6px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--bordo);
  color: var(--branco);
  font-family: var(--sans);
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color .4s var(--ease), border-color .4s var(--ease), transform .4s var(--ease);
}
.btn:hover { background: var(--bordo-escuro); }
.btn:active { transform: scale(.98); }

.btn__chip {
  display: grid;
  place-items: center;
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--ouro);
  color: var(--bordo-profundo);
  transition: background-color .4s var(--ease), color .4s var(--ease), transform .5s var(--ease);
}
.btn__chip .icon { width: 21px; height: 21px; }
.btn:hover .btn__chip { transform: rotate(-10deg); }

.btn--ghost {
  padding: 6px 6px 6px 26px;
  background: transparent;
  border-color: var(--linha-forte);
  color: var(--bordo);
}
.btn--ghost .btn__chip { background: var(--degrade-vinho); color: var(--branco); }
.btn--ghost:hover { background: transparent; border-color: var(--bordo); }
.btn--ghost:hover .btn__chip { transform: none; }

/* WhatsApp: degradê verde com brilho no centro */
.btn--wa,
.btn--wa:hover {
  background: var(--wa-escuro) var(--degrade-verde);
  color: var(--branco);
  text-shadow: 0 1px 2px rgba(22, 67, 21, .35);
}
.btn--wa {
  box-shadow: var(--sombra-verde);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.btn--wa:hover { transform: translateY(-2px); }
.btn--wa:active { transform: scale(.98); }
.btn--wa .btn__chip { background: var(--porcelana); color: var(--wa-escuro); }

/* Sobre fundo claro, o mesmo desenho em vinho */
.btn--vinho,
.btn--vinho:hover { background: var(--bordo) var(--degrade-vinho); text-shadow: none; }
.btn--vinho { box-shadow: var(--sombra-vinho); }
.btn--vinho .btn__chip { background: var(--porcelana); color: var(--bordo); }

.btn--small { min-height: 46px; gap: 10px; padding: 5px 20px 5px 5px; font-size: .875rem; }
.btn--small .btn__chip { width: 36px; height: 36px; }
.btn--small .btn__chip .icon { width: 18px; height: 18px; }

/* Card */
.card {
  background: var(--branco);
  border: 1px solid var(--linha);
  border-radius: var(--r-card);
  transition: transform .5s var(--ease), border-color .5s var(--ease);
}

/* Imagens: moldura com filete interno */
.frame {
  position: relative;
  overflow: hidden;
  border-radius: var(--r-media);
  background: var(--nevoa);
  isolation: isolate;
}
.frame::after {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: calc(var(--r-media) - 10px);
  pointer-events: none;
}

.placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: 24px;
  background: var(--nevoa);
  color: #5F5357;
  font-size: .875rem;
  text-align: center;
  transition: transform 1.2s var(--ease);
}

/* Fotos reais dentro da moldura: preenchem o quadro e recortam pelo ponto de interesse */
.frame__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s var(--ease);
}
.frame__img--sobre { object-position: 50% 30%; }
.frame__img--sala { object-position: 55% 60%; }
.frame__img--mesa { object-position: 50% 62%; }
.frame__img--fachada { object-position: 50% 15%; }

.float-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 20px 10px 10px;
  border: 1px solid var(--linha);
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--tinta);
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.4;
  box-shadow: 0 18px 40px -24px rgba(51, 2, 26, .45);
}

/* Cortina bordô, só com CSS (sem script).
   Toda página nasce coberta pela cortina: o logo se desenha, sai, e a cortina sobe no instante --cortina.
   Entre páginas do site, a View Transition do navegador segura a página antiga e traz a nova, que já nasce
   coberta, subindo por cima dela: na tela, a cortina sobe, mostra o logo e abre. Como é o navegador que
   coordena a troca de uma vez, o resultado é sempre o mesmo, sem depender do tempo de carregamento */
.curtain { display: none; }

@view-transition { navigation: auto; }
::view-transition-old(root),
::view-transition-new(root) { animation: none; }

/* Barra de rolagem clássica (navegador de computador, mesmo com a janela estreita): a cortina e o menu, por serem
   fixed, não cobrem a barra. O espaço dela fica sempre reservado, então a largura da página nunca muda, e enquanto
   a cortina está na tela ou o menu está aberto, a barra e o espaço dela ficam bordô */
html { scrollbar-gutter: stable; }
html:has(body.menu-open) { scrollbar-color: var(--bordo) var(--bordo); background-color: var(--bordo); }

@media (prefers-reduced-motion: no-preference) {
  :root {
    --cortina: 1.3s;                       /* quando a cortina começa a subir */
    --intro: calc(var(--cortina) + .3s);   /* o hero entra com a cortina já subindo */
  }

  .curtain {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 26px;
    background: var(--bordo);
    will-change: transform;
    animation: cortina-abre 1s var(--ease-io) var(--cortina) both;
  }
  .curtain__logo { animation: logo-desenha 1s var(--ease-io) .1s both, logo-sai .4s ease-in calc(var(--cortina) - .2s) forwards; }
  .curtain__line { animation: linha-cresce .9s var(--ease-io) .4s both, logo-sai .4s ease-in calc(var(--cortina) - .2s) forwards; }

  /* Entre páginas: a página nova, ainda coberta pela cortina, sobe por cima da antiga */
  ::view-transition-new(root) { animation: cortina-entra .7s var(--ease-io) both; }

  /* Enquanto a cortina está na tela, a barra de rolagem fica bordô */
  html { animation: barra-cortina calc(var(--cortina) + 1s); }

  @keyframes logo-desenha { from { opacity: 0; clip-path: inset(0 100% 0 0); filter: blur(6px); } to { opacity: 1; clip-path: inset(0 0 0 0); filter: none; } }
  @keyframes linha-cresce { from { opacity: 0; transform: scaleX(0); } }
  @keyframes logo-sai { to { opacity: 0; transform: translateY(-14px); } }
  /* Só transform: a animação roda na GPU e não trava enquanto a página termina de carregar.
     No fim, a cortina fica parada fora da tela, acima dela */
  @keyframes cortina-abre { to { transform: translateY(-100%); } }
  @keyframes cortina-entra { from { transform: translateY(100%); } }
  @keyframes barra-cortina { from, to { scrollbar-color: var(--bordo) var(--bordo); background-color: var(--bordo); } }
}

/* O logo vem embutido no CSS (assets/img/logo-cortina.webp em base64): o CSS carrega antes de a página
   aparecer, então a cortina da página nova já nasce com o logo. Como <img>, ele chegava depois e piscava */
.curtain__logo {
  display: block;
  width: min(72vw, 380px);
  aspect-ratio: 760 / 162;
  background: url("data:image/webp;base64,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") center / contain no-repeat;
}
.curtain__line {
  display: block;
  width: min(40vw, 160px);
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--ouro), transparent);
}

/* Cabeçalho flutuante */
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  padding: 12px var(--gutter) 0;
  pointer-events: none;
}

.site-header__bar {
  display: flex;
  align-items: center;
  gap: 24px;
  max-width: calc(var(--max) + 32px);
  min-height: 64px;
  margin-inline: auto;
  padding: 8px 8px 8px 24px;
  border: 1px solid var(--linha);
  border-radius: 999px;
  background: rgba(255, 255, 255, .82);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  backdrop-filter: blur(14px) saturate(1.2);
  pointer-events: auto;
  transition: box-shadow .5s var(--ease), background-color .5s var(--ease);
}
.is-scrolled .site-header__bar {
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 14px 40px -28px rgba(51, 2, 26, .5);
}

.logo {
  display: inline-flex;
  flex-direction: column;
  margin-right: auto;
  color: var(--bordo);
  text-decoration: none;
  line-height: 1.1;
}
.logo__name {
  font-family: var(--serif);
  font-size: 1.1875rem;
  font-weight: 450;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}
.logo__tag {
  margin-top: 3px;
  font-size: .75rem;
  font-weight: 500;
  color: var(--bronze-texto);
  letter-spacing: .02em;
}
.logo--img { flex: none; }
.logo__img { display: block; width: auto; height: 44px; }
.logo--rodape .logo__img { height: auto; width: min(100%, 300px); }

.nav { display: none; }
.nav ul { display: flex; gap: 4px; }
.nav a {
  display: block;
  padding: 10px 14px;
  white-space: nowrap;
  border-radius: 999px;
  color: var(--tinta);
  font-size: .9375rem;
  font-weight: 500;
  text-decoration: none;
  transition: background-color .3s, color .3s;
}
.nav a:hover { background: var(--porcelana); color: var(--bordo); }

.site-header__cta { display: none; }

.menu-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  min-width: 112px;
  min-height: 48px;
  padding: 0 18px 0 16px;
  border: 0;
  border-radius: 999px;
  background: var(--bordo) var(--degrade-vinho);
  box-shadow: var(--sombra-vinho);
  color: var(--branco);
  font: 600 .9375rem/1 var(--sans);
  cursor: pointer;
}
.menu-button__lines {
  position: relative;
  width: 18px;
  height: 10px;
}
.menu-button__lines::before,
.menu-button__lines::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1.5px;
  border-radius: 2px;
  background: currentColor;
  transition: transform .4s var(--ease), top .4s var(--ease);
}
.menu-button__lines::before { top: 0; }
.menu-button__lines::after { top: 8.5px; }
.menu-button[aria-expanded="true"] .menu-button__lines::before { top: 4.25px; transform: rotate(45deg); }
.menu-button[aria-expanded="true"] .menu-button__lines::after { top: 4.25px; transform: rotate(-45deg); }
.menu-button__close { display: none; }
.menu-button[aria-expanded="true"] .menu-button__open { display: none; }
.menu-button[aria-expanded="true"] .menu-button__close { display: inline; }

/* Menu no celular */
.menu {
  position: fixed;
  inset: 0;
  z-index: 45;
  display: flex;
  padding: 112px var(--gutter) 32px;
  background: var(--bordo);
  visibility: hidden;
  opacity: 0;
  transition: opacity .45s var(--ease), visibility 0s linear .45s;
}
.menu.is-open {
  visibility: visible;
  opacity: 1;
  transition: opacity .45s var(--ease);
}
.menu__inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
  width: 100%;
  overflow-y: auto;
  scrollbar-width: none;   /* sem barra aparecendo por um instante enquanto os itens animam ao abrir */
}
.menu__list li { border-bottom: 1px solid rgba(207, 177, 105, .22); }
.menu__list a {
  display: block;
  padding: 16px 0;
  color: var(--branco);
  font-family: var(--serif);
  font-size: clamp(1.75rem, 1.4rem + 1.6vw, 2.25rem);
  font-weight: 350;
  line-height: 1.2;
  text-decoration: none;
}
.menu .btn { align-self: flex-start; }

@media (prefers-reduced-motion: no-preference) {
  .menu__list li,
  .menu .btn {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .5s var(--ease), transform .6s var(--ease);
  }
  .menu.is-open .menu__list li,
  .menu.is-open .btn { opacity: 1; transform: none; }
  .menu.is-open .menu__list li:nth-child(2) { transition-delay: .05s; }
  .menu.is-open .menu__list li:nth-child(3) { transition-delay: .1s; }
  .menu.is-open .menu__list li:nth-child(4) { transition-delay: .15s; }
  .menu.is-open .menu__list li:nth-child(5) { transition-delay: .2s; }
  .menu.is-open .btn { transition-delay: .26s; }
}

@media (max-width: 419px) {
  .site-header { padding: 10px 12px 0; }
  .site-header__bar { gap: 12px; min-height: 58px; padding: 6px 6px 6px 18px; }
  .logo__name { font-size: 1rem; letter-spacing: .07em; }
  .logo__tag { font-size: .6875rem; }
  .logo__img { height: 36px; }
  .menu-button { min-width: 100px; min-height: 44px; padding: 0 14px; font-size: .875rem; }
}

@media (min-width: 1200px) {
  .nav { display: block; }
  .site-header__cta { display: inline-flex; }
  .menu-button, .menu { display: none; }
}

/* Seções */
.section { padding-block: var(--section); }
.section--white { background: var(--branco); }

/* 1. Hero */
.hero {
  padding: 128px 0 var(--section);
  overflow: hidden;
}

.hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 56px;
}

.hero__title {
  font-family: var(--serif);
  font-weight: 320;
  font-size: clamp(2.5rem, 1.45rem + 4.4vw, 4.75rem);
  line-height: 1.03;
  letter-spacing: -.025em;
  color: var(--tinta);
  text-wrap: balance;
}

.hero__h1 {
  margin-bottom: 20px;
  font-family: var(--sans);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--bordo);
  text-wrap: balance;
}

.hero__lead {
  margin-top: 24px;
  max-width: 33em;
  font-size: 1.0625rem;
  color: var(--texto-suave);
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 36px;
}

/* A foto e o bloco dourado ficam dentro da coluna do grid */
.hero__media {
  position: relative;
  z-index: 0;
  padding: 0 20px 52px 0;
}
.hero__media::before {
  content: "";
  position: absolute;
  inset: 40px 0 32px 40px;
  border-radius: var(--r-panel);
  background: var(--ouro-suave);
  z-index: -1;
}
.frame--hero { aspect-ratio: 4 / 5; }

.hero__note {
  position: absolute;
  left: 12px;
  right: 32px;
  bottom: 0;
  max-width: 400px;
}
.hero__note .chip { background: var(--bordo); color: var(--ouro); }

@media (min-width: 640px) {
  .hero__media { max-width: 520px; padding: 0 32px 32px 0; }
  .hero__note { left: 24px; right: auto; bottom: 0; }
}

@media (min-width: 1024px) {
  .hero { padding-top: 152px; }
  .hero__grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    align-items: center;
    gap: clamp(48px, 6vw, 96px);
  }
  .hero__media { max-width: none; }
}

/* Hero com foto. No celular e no tablet a foto vem primeiro, de ponta a ponta, passando por
   baixo do cabeçalho, e o texto vem abaixo; a partir de 1200px a foto vira o fundo do hero inteiro.
   Cada faixa usa o seu recorte (<picture>), e --ar é a proporção dele.
   O palco (.hero__stage) faz o papel do object-fit: cover, com a largura da foto em --w e o
   ponto de foco horizontal em --foco. Assim o card de atendimento pode ser preso a um ponto da foto.
   A moldura (.hero__frame) recorta a foto */
.hero--foto .hero__media {
  --foco: .72;
  --ar: 2.37037;   /* desktop: 5120 / 2160 */
  --w: max(100cqw, calc(var(--ar) * 100cqh));
  max-width: none;
  padding: 0;
}
@media (max-width: 1199px) { .hero--foto .hero__media { --ar: 1.66667; } }   /* tablet: 3600 / 2160 */
@media (max-width: 639px) { .hero--foto .hero__media { --ar: 1.11667; } }    /* celular: 2412 / 2160 */
.hero--foto .hero__media::before { content: none; }
.hero__frame {
  position: relative;
  overflow: hidden;
  container-type: size;
  aspect-ratio: 4 / 5;
  border-radius: var(--r-media);
}
.hero__stage {
  position: absolute;
  width: var(--w);
  aspect-ratio: var(--ar);
  left: calc((100cqw - var(--w)) * var(--foco));
  top: calc((100cqh - var(--w) / var(--ar)) / 2);
}
.hero--foto .hero__img { display: block; width: 100%; height: 100%; }

/* Cards sobre a foto.
   No celular e no tablet ficam em cantos fixos da moldura. A partir de 1200px cada card é preso a um
   ponto da foto (--x e --y, frações da imagem); --ax diz se o ponto é a borda esquerda (0)
   ou direita (1) do card, e o clamp impede que ele saia da moldura */
.hcard {
  position: absolute;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 8px;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 14px;
  background: rgba(255, 255, 255, .66);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  box-shadow: 0 14px 32px -16px rgba(42, 18, 25, .45);
  color: var(--tinta);
  text-decoration: none;
  transition: translate .35s var(--ease), box-shadow .35s var(--ease);
}
a.hcard:hover { translate: 0 -2px; box-shadow: 0 18px 36px -16px rgba(42, 18, 25, .5); }
.hcard__chip {
  display: grid;
  place-items: center;
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--bordo) var(--degrade-vinho);
  color: var(--branco);
}
.hcard__chip .icon { width: 18px; height: 18px; }
.hcard__txt { display: grid; gap: 2px; min-width: 0; }
.hcard__txt strong { font-size: .8125rem; font-weight: 600; line-height: 1.2; }
.hcard__txt small { font-size: .6875rem; line-height: 1.2; color: var(--texto-suave); }

/* Atendimento: título e duas linhas no mesmo card */
.hcard--atende { flex-direction: column; align-items: stretch; gap: 8px; padding: 10px 14px 8px 8px; }
.hcard__head { padding-left: 4px; font-size: .6875rem; font-weight: 600; line-height: 1; color: var(--bronze-texto); }
.hcard--atende ul { display: grid; gap: 6px; }
.hcard--atende li { display: flex; align-items: center; gap: 10px; }
.hcard--atende li + li { padding-top: 6px; border-top: 1px solid rgba(92, 5, 39, .1); }
.flag { display: inline-block; width: 16px; height: 11.5px; margin-left: 3px; vertical-align: -1px; border-radius: 2px; box-shadow: 0 0 0 .5px rgba(0, 0, 0, .12); }
.hcard--atende .hcard__chip { background: var(--branco); color: var(--bordo); box-shadow: inset 0 0 0 1px rgba(92, 5, 39, .12); }

/* Advogada especialista: o card mais firme, em bordô translúcido */
.hcard--oab {
  border-color: rgba(207, 177, 105, .35);
  background: rgba(69, 3, 29, .8);
  color: var(--branco);
}
.hcard--oab .hcard__chip { background: var(--ouro); color: var(--bordo-profundo); }
.hcard--oab .hcard__txt small { color: var(--ouro-suave); }

/* Celular e tablet: atendimento em linha, na frente dela */
@media (max-width: 1199px) {
  .hcard--atende { right: 10px; bottom: 10px; left: 10px; gap: 7px; padding: 8px 10px 9px; }
  .hcard--atende ul { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; }
  .hcard--atende li { gap: 8px; }
  .hcard--atende li + li { padding: 0 0 0 10px; border-top: 0; border-left: 1px solid rgba(92, 5, 39, .1); }
  .hcard--atende .hcard__chip { width: 28px; height: 28px; }
  .hcard--atende .hcard__chip .icon { width: 15px; height: 15px; }
}

@media (min-width: 1200px) {
  .hcard {
    --ax: 0;
    width: var(--cw);
    max-width: none;
    left: clamp(12px, calc((100cqw - var(--w)) * var(--foco) + var(--w) * var(--x) - var(--cw) * var(--ax)), calc(100cqw - var(--cw) - 12px));
    top: calc((100cqh - var(--w) / var(--ar)) / 2 + var(--w) / var(--ar) * var(--y));
    right: auto;
    bottom: auto;
    transform: translateY(-50%);
  }
  /* um de cada lado dela: advogada especialista à esquerda, sobre o braço; atendimento à direita */
  .hcard--oab { --x: .636; --y: .662; --ax: 1; --cw: 214px; }
  .hcard--atende { --x: .678; --y: .81; --cw: 196px; }
}

/* TESTE: enquanto o hero é empilhado (abaixo de 1200px), a foto com os cards vem antes do texto.
   Só a ordem visual muda; no HTML o texto continua primeiro */
@media (max-width: 1199px) {
  .hero--foto .hero__media { order: -1; }
}

/* No celular e no tablet a foto vai de ponta a ponta, começa no topo e passa por baixo do menu */
@media (max-width: 1199px) {
  .hero--foto { padding-top: 0; }
  /* a frase "Advogada de Família..." sobe para perto dos cards e já aparece na primeira tela */
  .hero--foto .hero__grid { gap: 22px; }
  /* os recortes do celular e do tablet já vêm centrados no rosto (51% da largura), que fica no centro da tela;
     o clamp impede sobrar borda */
  .hero--foto .hero__stage { left: clamp(calc(100cqw - var(--w)), calc(50cqw - var(--w) * .51), 0px); }
  .hero--foto .hero__frame {
    margin-inline: calc(var(--gutter) * -1);
    aspect-ratio: auto;
    height: clamp(520px, 78svh, 720px);
    border-radius: 0 0 var(--r-media) var(--r-media);
  }
  /* com a foto mais larga, os cards seguem a margem do texto */
  .hero--foto .hcard--atende { right: var(--gutter); bottom: 14px; left: var(--gutter); gap: 10px; padding: 12px 12px 14px; }
  .hero--foto .hcard--atende .hcard__chip { width: 32px; height: 32px; }
  .hero--foto .hcard--atende .hcard__chip .icon { width: 17px; height: 17px; }
  /* advogada especialista, menor, logo acima do atendimento */
  .hero--foto .hcard--oab { bottom: 118px; left: var(--gutter); gap: 8px; padding: 5px 14px 5px 5px; border-radius: 999px; }
  .hero--foto .hcard--oab .hcard__chip { width: 28px; height: 28px; }
  .hero--foto .hcard--oab .hcard__chip .icon { width: 15px; height: 15px; }
  .hero--foto .hcard--oab .hcard__txt { gap: 1px; }
  .hero--foto .hcard--oab .hcard__txt strong { font-size: .75rem; }
  .hero--foto .hcard--oab .hcard__txt small { font-size: .625rem; }
}

/* Tablet: o atendimento fica centralizado no pé da foto, maior que no celular, e o selo de advogada
   especialista fica logo acima dele, na altura do cotovelo, com a borda esquerda alinhada à do atendimento.
   --atende é a largura do card de atendimento; --pe, a distância dele até o pé da foto */
@media (min-width: 640px) and (max-width: 1199px) {
  .hero--foto .hero__frame { --atende: min(500px, calc(100% - var(--gutter) * 2)); --pe: 28px; }

  .hero--foto .hcard--atende {
    right: 0;
    bottom: var(--pe);
    left: 0;
    width: var(--atende);
    margin-inline: auto;
    gap: 12px;
    padding: 16px 18px 18px;
    border-radius: 18px;
  }
  .hero--foto .hcard--atende .hcard__head { font-size: .8125rem; }
  .hero--foto .hcard--atende li { gap: 12px; }
  .hero--foto .hcard--atende li + li { padding-left: 16px; }
  .hero--foto .hcard--atende .hcard__chip { width: 40px; height: 40px; }
  .hero--foto .hcard--atende .hcard__chip .icon { width: 20px; height: 20px; }
  .hero--foto .hcard--atende .hcard__txt strong { font-size: .9375rem; }
  .hero--foto .hcard--atende .hcard__txt small { font-size: .8125rem; }

  .hero--foto .hcard--oab {
    bottom: calc(var(--pe) + 115px);   /* altura do atendimento (101px) + 14px de espaço */
    left: calc((100% - var(--atende)) / 2);
    gap: 10px;
    padding: 6px 18px 6px 6px;
  }
  .hero--foto .hcard--oab .hcard__chip { width: 34px; height: 34px; }
  .hero--foto .hcard--oab .hcard__chip .icon { width: 18px; height: 18px; }
  .hero--foto .hcard--oab .hcard__txt strong { font-size: .875rem; }
  .hero--foto .hcard--oab .hcard__txt small { font-size: .75rem; }
}

/* Entre 1024px e 1199px o hero com foto continua empilhado, como no tablet */
@media (min-width: 1024px) and (max-width: 1199px) {
  .hero--foto .hero__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 1200px) {
  .hero--foto .hero__media {
    --foco: .83;
    display: block;
    position: relative;
    container-type: size;
    max-width: none;
    aspect-ratio: 4 / 3;
  }
  .hero__frame { position: absolute; inset: 0; aspect-ratio: auto; }
}

@media (min-width: 1200px) {
  .hero--foto {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: clamp(780px, 60vw, 940px);
    padding: 152px 0 96px;
  }
  .hero--foto .hero__grid { grid-template-columns: minmax(0, 680px); width: 100%; pointer-events: none; }
  /* TESTE: título grande menor, em três linhas no desktop */
  .hero--foto .hero__title { font-size: clamp(3.25rem, 1.4rem + 2.4vw, 3.875rem); }
  .hero--foto .hero__text { pointer-events: auto; }
  .hero--foto .hero__media {
    --foco: .42;
    position: absolute;
    inset: 0;
    z-index: -1;
    aspect-ratio: auto;
    pointer-events: auto;
  }
  .hero__frame { border-radius: 0; }
}

/* Animação de abertura do hero: entra junto com a cortina subindo (--intro) */
@media (prefers-reduced-motion: no-preference) {
  .js .hero__title .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
  .js .hero__title .w > span {
    display: inline-block;
    animation: palavra-sobe 1s var(--ease) both;
    animation-delay: calc(var(--intro) + .15s + var(--i, 0) * 55ms);
  }
  .js .hero__h1,
  .js .hero__lead,
  .js .hero__actions {
    animation: bloco-surge 1s var(--ease) both;
  }
  .js .hero__h1 { animation-delay: var(--intro); }
  .js .hero__lead { animation-delay: calc(var(--intro) + .55s); }
  .js .hero__actions { animation-delay: calc(var(--intro) + .65s); }

  .js .frame--hero { animation: imagem-revela 1.4s var(--ease-io) both; animation-delay: calc(var(--intro) + .1s); }
  .js .frame--hero .placeholder { animation: imagem-assenta 1.8s var(--ease) both; animation-delay: calc(var(--intro) + .1s); }
  .js .hero__media::before { animation: bloco-surge 1.2s var(--ease) both; animation-delay: calc(var(--intro) + .5s); }
  .js .hero__note { animation: bloco-surge 1s var(--ease) both; animation-delay: calc(var(--intro) + 1s); }
  /* A cortina revela a foto: ela só assenta, sem surgir do claro (com fade, a tela piscava em branco antes da foto) */
  .js .hero__img { animation: foto-assenta 1.8s var(--ease) both; animation-delay: var(--cortina); }
  .js .hcard { animation: card-surge 1s var(--ease) both; animation-delay: calc(var(--intro) + 1.1s); }
  .js .hcard--atende { animation-delay: calc(var(--intro) + 1.25s); }

  @keyframes palavra-sobe { from { transform: translateY(105%); } }
  @keyframes bloco-surge { from { opacity: 0; transform: translateY(24px); filter: blur(6px); } }
  @keyframes imagem-revela { from { clip-path: inset(100% 0 0 0 round var(--r-media)); } to { clip-path: inset(0 0 0 0 round var(--r-media)); } }
  @keyframes imagem-assenta { from { transform: scale(1.14); } }
  @keyframes foto-assenta { from { transform: scale(1.04); } }
  @keyframes card-surge { from { opacity: 0; translate: 0 16px; } }
}

/* Entrada dos blocos ao rolar: subida curta com desfoque, escalonada */
@media (prefers-reduced-motion: no-preference) {
  .js [data-reveal] {
    opacity: 0;
    transform: translateY(32px);
    filter: blur(6px);
    transition: opacity .9s var(--ease), transform 1s var(--ease), filter .9s var(--ease), border-color .5s var(--ease);
    transition-delay: calc(var(--i, 0) * 90ms);
  }
  .js [data-reveal].is-in { opacity: 1; transform: none; filter: none; }
}

/* 2. Áreas de atuação */
.split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; }
.split__more { margin-top: -16px; }

@media (min-width: 1024px) {
  /* Duas colunas: título e texto à esquerda com o botão logo abaixo; a lista ocupa a direita.
     A segunda linha (1fr) absorve a altura extra da lista, então o botão fica colado ao texto */
  .split {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    grid-template-rows: auto 1fr;
    column-gap: clamp(48px, 7vw, 112px);
    row-gap: 32px;
    align-items: start;
  }
  .split__aside { grid-column: 1; grid-row: 1; }
  .split__main { grid-column: 2; grid-row: 1 / span 2; }
  .split__more { grid-column: 1; grid-row: 2; margin-top: 0; }
}

.areas { border-top: 1px solid var(--linha); }

.area { border-bottom: 1px solid var(--linha); }

.area summary {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 22px 8px;
  cursor: pointer;
  list-style: none;
  border-radius: 16px;
  transition: background-color .4s var(--ease);
}
.area summary::-webkit-details-marker { display: none; }
.area summary:hover { background: var(--porcelana); }
.area summary:focus-visible { outline-offset: -2px; }

.area__title {
  flex: 1;
  font-family: var(--serif);
  font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);
  font-weight: 400;
  line-height: 1.25;
  color: var(--tinta);
}

.area__toggle {
  display: grid;
  place-items: center;
  flex: none;
  width: 40px;
  height: 40px;
  border: 1px solid var(--linha-forte);
  border-radius: 50%;
  color: var(--bordo);
  transition: transform .5s var(--ease), background-color .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease);
}
.area__toggle .icon { width: 18px; height: 18px; }

.area summary:hover .chip,
.area[open] .chip { background: var(--bordo); color: var(--ouro); }
.area[open] .area__toggle { transform: rotate(45deg); background: var(--bordo); border-color: var(--bordo); color: var(--branco); }

.area__text {
  padding: 0 64px 28px 72px;
  max-width: 40em;
  color: var(--texto-suave);
}

@media (max-width: 519px) {
  .area summary { gap: 14px; padding-inline: 4px; }
  .area .chip { width: 40px; height: 40px; }
  .area__text { padding: 0 4px 24px 58px; }
}

@supports (interpolate-size: allow-keywords) {
  .areas { interpolate-size: allow-keywords; }
  .area::details-content {
    block-size: 0;
    overflow: hidden;
    transition: block-size .55s var(--ease), content-visibility .55s allow-discrete;
  }
  .area[open]::details-content { block-size: auto; }
}

/* 3. Sobre */
.about__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 48px;
}

.frame--about { aspect-ratio: 3 / 4; }

.prose { margin-top: 28px; max-width: 36em; font-size: 1.0625rem; }
.prose p + p { margin-top: 1em; }

.credentials {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin-top: 40px;
}
.credential {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 18px 12px 12px;
  font-size: .9375rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--tinta);
}
.credential:hover { border-color: var(--ouro); transform: translateY(-3px); }

/* Inscrições na OAB: linha discreta abaixo dos cards */
.registro {
  display: grid;
  gap: 4px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--linha);
  font-size: .8125rem;
  line-height: 1.45;
  color: var(--texto-suave);
}

@media (min-width: 640px) {
  .credentials { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 640px) and (max-width: 1023px) {
  .about__media { max-width: 520px; }
}

@media (min-width: 1024px) {
  .about__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    gap: clamp(56px, 7vw, 112px);
    align-items: center;
  }
  /* no HTML o texto vem antes (ordem do celular); no desktop a foto volta para a esquerda */
  .about__media { order: -1; }
}

/* 4. Como funciona: espaço claro e discreto */
.how__head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.how__head .lead { margin-top: 0; }

@media (min-width: 1024px) {
  .how__head {
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    align-items: end;
    gap: clamp(48px, 7vw, 112px);
  }
}

.steps {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 32px;
  margin-top: clamp(48px, 6vw, 72px);
}

/* Linha fina que liga as etapas: desenha-se quando o bloco entra */
.steps::before {
  content: "";
  position: absolute;
  left: 22px;
  top: 22px;
  bottom: 22px;
  width: 1px;
  background: var(--linha-forte);
  transform-origin: top;
}

.step {
  position: relative;
  display: grid;
  align-content: start;
  grid-template-columns: 44px 1fr;
  column-gap: 20px;
  row-gap: 6px;
}
.step__n {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--linha-forte);
  border-radius: 50%;
  background: var(--branco);
  color: var(--bordo);
  font-family: var(--serif);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1;
}
.step__title {
  align-self: end;
  font-family: var(--serif);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--tinta);
}
.step p { max-width: 30em; color: var(--texto-suave); }

@media (min-width: 900px) {
  .steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
  .steps::before { left: 22px; right: 22px; top: 22px; bottom: auto; width: auto; height: 1px; transform-origin: left; }
  .step { grid-template-columns: 1fr; row-gap: 10px; }
  .step__n { grid-row: auto; margin-bottom: 12px; }
  .step__title { align-self: start; }
}

@media (prefers-reduced-motion: no-preference) {
  .js .steps::before { transform: scaleY(0); transition: transform 1.6s var(--ease-io) .2s; }
  .js .steps.is-drawn::before { transform: none; }
  @media (min-width: 900px) {
    .js .steps::before { transform: scaleX(0); }
    .js .steps.is-drawn::before { transform: none; }
  }
}

.how__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: clamp(48px, 6vw, 72px);
  padding-top: 32px;
  border-top: 1px solid var(--linha);
}

/* Fonte menor e coluna estreita: o aviso fica em duas linhas no celular e no desktop */
.secrecy {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 28em;
  color: var(--texto);
  font-size: .8125rem;
  line-height: 1.45;
  text-wrap: balance;
}
.secrecy .chip { background: var(--bordo) var(--degrade-vinho); color: var(--branco); }

/* 5. Depoimentos */
.reviews__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 32px;
  align-items: end;
}

/* Resumo do Google, como o cartão do Maps: nota, estrelas e total, com link para as avaliações */
.google-badge {
  display: flex;
  align-items: center;
  gap: 14px;
  justify-self: start;
  padding: 10px 12px 10px 10px;
  border: 1px solid var(--linha);
  border-radius: 999px;
  background: var(--branco);
  color: var(--tinta);
  text-decoration: none;
  transition: border-color .4s var(--ease), translate .4s var(--ease);
}
.google-badge .chip { background: var(--branco); box-shadow: inset 0 0 0 1px var(--linha); }
.google-badge__g { display: block; width: 22px; height: 22px; }
.google-badge__info { display: grid; gap: 4px; }
.google-badge__nota { display: flex; align-items: center; gap: 8px; }
.google-badge__nota strong { font-size: 1.25rem; font-weight: 600; line-height: 1; color: var(--bordo); }
.google-badge__total {
  font-size: .875rem;
  line-height: 1.2;
  color: var(--texto-suave);
  text-decoration: underline;
  text-decoration-color: var(--ouro);
  text-underline-offset: 3px;
}
.google-badge__go {
  display: grid;
  place-items: center;
  flex: none;
  width: 36px;
  height: 36px;
  margin-left: 10px;
  border: 1px solid var(--linha-forte);
  border-radius: 50%;
  color: var(--bordo);
  transition: background-color .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease);
}
.google-badge__go .icon { width: 17px; height: 17px; transition: transform .5s var(--ease); }
a.google-badge:hover { border-color: var(--ouro); translate: 0 -2px; }
.google-badge:hover .google-badge__go { background: var(--bordo); border-color: var(--bordo); color: var(--ouro); }
.google-badge:hover .google-badge__go .icon { transform: rotate(45deg); }

/* Versão do hero: sem link, menor, ao lado do botão de agendar */
.google-badge--hero { gap: 10px; padding: 7px 18px 7px 7px; }
.google-badge--hero .chip { width: 38px; height: 38px; }
.google-badge--hero .google-badge__g { width: 19px; height: 19px; }
.google-badge--hero .google-badge__info { gap: 3px; }
.google-badge--hero .google-badge__nota { gap: 6px; }
.google-badge--hero .google-badge__nota strong { font-size: 1.0625rem; }
.google-badge--hero .stars .icon { width: 14px; height: 14px; }
.google-badge--hero .google-badge__total { font-size: .75rem; text-decoration: none; }

@media (max-width: 519px) {
  .google-badge { justify-self: stretch; padding: 12px 14px 12px 12px; border-radius: var(--r-card); }
  .google-badge__go { margin-left: auto; }
  .google-badge--hero { justify-self: start; padding: 7px 18px 7px 7px; border-radius: 999px; }
}

.stars { display: inline-flex; gap: 3px; color: var(--ouro); }
.stars .icon { width: 17px; height: 17px; }

@media (min-width: 1024px) {
  .reviews__head { grid-template-columns: minmax(0, 7fr) auto; gap: 64px; }
}

.reviews {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  margin-top: clamp(48px, 6vw, 72px);
}

.review {
  padding: clamp(28px, 3vw, 40px);
}
.review figure { display: flex; flex-direction: column; height: 100%; }
.review__top { display: flex; align-items: center; justify-content: space-between; }
.review__source { display: block; width: 22px; height: 22px; }
/* Depoimento em texto corrido, como o cartão de avaliação do Google */
.review blockquote {
  flex: 1;
  margin-top: 22px;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--texto);
}
.review figcaption {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid var(--linha);
  font-weight: 600;
  color: var(--bordo);
}
.review:hover { transform: translateY(-6px); border-color: var(--ouro); }

@media (min-width: 900px) {
  /* três cards alinhados, com a mesma altura */
  .reviews { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
}

/* 6. Artigos */
/* No celular: texto, botão, cards e Instagram. No computador: texto com o Instagram ao lado,
   os cards e, por último, o botão para todos os conteúdos */
.posts-block { display: grid; grid-template-columns: minmax(0, 1fr); }
.posts__more { justify-self: start; margin-top: 28px; }
@media (min-width: 1024px) {
  .posts-block {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "intro insta" "list list" "more more";
    column-gap: 64px;
  }
  .posts__intro { grid-area: intro; }
  .posts-block .posts__insta { grid-area: insta; align-self: end; margin-top: 0; }
  .posts-block .posts { grid-area: list; }
  .posts__more { grid-area: more; margin-top: 40px; }
}

/* No celular, lista de cards horizontais com a mesma altura: a capa ocupa a altura toda do card,
   então um título mais longo não desequilibra a lista. A partir de 900px, três cards verticais */
.posts {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: 1fr;
  gap: 12px;
  margin-top: clamp(40px, 6vw, 72px);
}

.post {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 16px;
  padding: 8px 54px 8px 8px;
  background: var(--porcelana);
}
.post__cover {
  flex: none;
  width: clamp(96px, 28vw, 140px);
  min-height: 96px;
  overflow: hidden;
  border-radius: 14px;
}
.post__cover .placeholder { padding: 8px; font-size: .75rem; }
/* Corpo do card: título e, na lista de conteúdos, a data e o tempo de leitura */
.post__body { display: grid; align-content: center; gap: 6px; min-width: 0; padding: 6px 0; }
.post__meta { font-size: .8125rem; line-height: 1.4; color: var(--texto-suave); }
.post__title {
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--tinta);
  text-wrap: pretty;
}
.post__title a { text-decoration: none; }
.post__title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--r-card); }
.post__go {
  position: absolute;
  right: 12px;
  top: 50%;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-top: -18px;
  border: 1px solid var(--linha-forte);
  border-radius: 50%;
  color: var(--bordo);
  transition: background-color .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease);
}
.post__go .icon { width: 17px; height: 17px; transition: transform .5s var(--ease); }

.post:hover { transform: translateY(-4px); border-color: var(--ouro); }
.post:hover .placeholder { transform: scale(1.05); }
.post:hover .post__go { background: var(--bordo); border-color: var(--bordo); color: var(--ouro); }
.post:hover .post__go .icon { transform: rotate(45deg); }
.post:focus-within { border-color: var(--bordo); }
.post__title a:focus-visible { outline: none; }
.post__title a:focus-visible::after { outline: 2px solid var(--bordo); outline-offset: 3px; }

@media (min-width: 900px) {
  .posts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .post { flex-direction: column; align-items: stretch; gap: 0; padding: 10px 10px 24px; }
  .post:hover { transform: translateY(-6px); }
  .post__cover { width: auto; min-height: 0; aspect-ratio: 4 / 3; }
  .post__cover .placeholder { padding: 24px; font-size: .875rem; }
  .post__body { flex: 1; align-content: start; gap: 10px; margin: 24px 64px 0 14px; padding: 0; }
  .post__title { font-size: clamp(1.125rem, .9rem + .4vw, 1.375rem); }
  .post__go { top: auto; bottom: 20px; right: 18px; width: 40px; height: 40px; margin-top: 0; }
}

.posts__insta { margin-top: 40px; }

/* Instagram nos conteúdos: pílula branca com ícone em círculo bordô */
.insta-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 8px 24px 8px 8px;
  border: 1px solid var(--linha);
  border-radius: 999px;
  background: var(--branco);
  color: var(--tinta);
  text-decoration: none;
  transition: border-color .4s var(--ease), translate .4s var(--ease);
}
.insta-link__chip {
  display: grid;
  place-items: center;
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--bordo) var(--degrade-vinho);
  color: var(--branco);
}
.insta-link__chip .icon { width: 20px; height: 20px; }
.insta-link__txt { display: grid; gap: 2px; }
.insta-link__txt strong { font-size: .9375rem; font-weight: 600; line-height: 1.2; color: var(--bordo-escuro); }
.insta-link__txt small { font-size: .8125rem; line-height: 1.2; color: var(--texto-suave); }
.insta-link:hover { border-color: var(--ouro); translate: 0 -2px; }
/* Card do Instagram: foto de perfil redonda, nome e @, em pílula */
.insta-card {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 11px 26px 11px 11px;
  border: 1px solid var(--linha);
  border-radius: 999px;
  background: var(--branco);
  box-shadow: 0 14px 32px -24px rgba(42, 18, 25, .45);
  color: var(--tinta);
  text-decoration: none;
  transition: border-color .4s var(--ease), translate .4s var(--ease), box-shadow .4s var(--ease);
}
.insta-card__foto {
  display: block;
  flex: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 3px var(--branco), 0 0 0 4px var(--linha-forte);
}
.insta-card__txt { display: grid; gap: 3px; }
.insta-card__txt strong { font-size: .9375rem; font-weight: 600; line-height: 1.2; color: var(--bordo-escuro); }
.insta-card__txt small { display: flex; align-items: center; gap: 5px; font-size: .8125rem; line-height: 1; color: var(--texto-suave); }
/* o ícone desce 1px para alinhar com a altura das minúsculas do @ */
.insta-card__txt .icon { width: 15px; height: 15px; color: var(--bordo); translate: 0 1px; }
.insta-card:hover { border-color: var(--ouro); translate: 0 -2px; box-shadow: 0 18px 36px -22px rgba(42, 18, 25, .5); }

/* No Sobre, o card do Instagram fica por cima da foto, em vidro */
.about__media { position: relative; }
.about__media .insta-card {
  position: absolute;
  left: 22px;
  bottom: 22px;
  z-index: 1;
  border-color: rgba(255, 255, 255, .7);
  background: rgba(255, 255, 255, .72);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}

/* 7. Escritório e contato: bento */
.office__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

.office__card {
  padding: clamp(32px, 4vw, 56px);
  border-radius: var(--r-panel);
  background: var(--bordo);
  color: rgba(255, 255, 255, .8);
}
.office__card .h2 { color: var(--branco); font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem); }
.office__card > p { margin-top: 20px; }

.contact {
  display: grid;
  gap: 20px;
  margin: 36px 0 40px;
  padding-top: 32px;
  border-top: 1px solid rgba(207, 177, 105, .25);
}
.contact div {
  position: relative;
  min-height: 44px;
  padding-left: 60px;
}
.contact dt {
  font-size: .8125rem;
  font-weight: 500;
  color: rgba(255, 255, 255, .7);
}
.contact dt .chip {
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(255, 255, 255, .12);
  color: var(--branco);
}
.contact dd {
  overflow-wrap: anywhere;
  font-weight: 500;
  line-height: 1.45;
  color: var(--branco);
}
.contact dd a {
  text-decoration: underline;
  text-decoration-color: rgba(207, 177, 105, .55);
  text-underline-offset: 4px;
  transition: text-decoration-color .3s;
}
.contact dd a:hover { text-decoration-color: var(--ouro); }

.bento {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
/* Duas fotos verticais lado a lado e uma horizontal embaixo */
.bento__v { aspect-ratio: 3 / 4; }
.bento__h { grid-column: 1 / -1; aspect-ratio: 16 / 10; }
.bento .frame:hover .placeholder,
.bento .frame:hover .frame__img { transform: scale(1.04); }

/* Desktop: o card dita a altura e as fotos preenchem o mesmo espaço,
   então o card e o mosaico começam e terminam alinhados */
@media (min-width: 1024px) {
  .office__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    align-items: stretch;
  }
  .bento { grid-template-rows: minmax(0, 1.35fr) minmax(0, 1fr); }
  .bento__v,
  .bento__h { aspect-ratio: auto; min-height: 0; }
  .bento .frame__img { position: absolute; inset: 0; }
}

/* 8. Mapa: largura total, colado ao rodapé */
.map {
  position: relative;
  background: var(--nevoa);
}
.map iframe {
  width: 100%;
  height: clamp(320px, 38vw, 480px);
  border: 0;
}
.map__link {
  position: absolute;
  left: 16px;
  bottom: 16px;
  padding-right: 10px;
  text-decoration: none;
  font-size: .9375rem;
  font-weight: 600;
  color: var(--bordo);
  transition: transform .5s var(--ease);
}
.map__link .chip { background: var(--bordo); color: var(--branco); }
.map__go {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-left: 6px;
  border-radius: 50%;
  background: var(--porcelana);
  color: var(--bordo);
  transition: transform .5s var(--ease);
}
.map__go .icon { width: 17px; height: 17px; }
.map__link:hover { transform: translateY(-3px); }
.map__link:hover .map__go { transform: rotate(45deg); }

@media (min-width: 768px) {
  .map__link { left: max(var(--gutter), calc((100vw - var(--max)) / 2)); bottom: 32px; }
}

/* Celular: o Google centraliza o mapa no pino e põe o card do endereço no alto. Com o mapa mais alto,
   o centro (e o pino) desce para baixo do card */
@media (max-width: 767px) {
  .map iframe { height: 440px; }
}

/* 9. Rodapé: largura total, logo abaixo do mapa, com assinatura grande */
.footer__panel {
  position: relative;
  overflow: hidden;
  padding-top: clamp(72px, 9vw, 120px);
  background: var(--bordo-profundo);
  color: rgba(255, 255, 255, .78);
}

.footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 48px;
  font-size: .9375rem;
}

.footer__phrase {
  margin-top: 24px;
  max-width: 16em;
  font-family: var(--serif);
  font-size: clamp(1.375rem, 1.2rem + .7vw, 1.75rem);
  font-weight: 350;
  line-height: 1.3;
  color: var(--branco);
  text-wrap: balance;
}

.footer__list { display: grid; gap: 12px; }
.footer__list a {
  text-decoration: none;
  transition: color .3s;
}
.footer__list a:hover { color: var(--ouro); }

.footer__contact li {
  display: flex;
  align-items: center;
  gap: 14px;
  line-height: 1.45;
}
.footer__contact .chip {
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, .1);
  color: var(--branco);
}
.footer__contact .chip .icon { width: 19px; height: 19px; }

.footer__legal {
  display: grid;
  gap: 8px;
  padding-top: 32px;
  border-top: 1px solid rgba(207, 177, 105, .2);
  color: var(--branco);
}
.footer__muted { font-size: .8125rem; color: rgba(255, 255, 255, .66); max-width: 60em; }

/* Assinatura de quem fez o site: no celular, por último, abaixo dos direitos;
   no computador, à direita, alinhada à primeira linha do bloco legal */
.footer__credito { margin-top: 8px; font-size: .75rem; line-height: 1.6; color: rgba(255, 255, 255, .66); }
.footer__credito a { color: rgba(255, 255, 255, .85); text-decoration: none; transition: color .3s; }
.footer__credito .footer__notum { font-weight: 600; color: var(--branco); }
.footer__credito a:hover { color: var(--ouro); }
.footer__credito span { margin-inline: 4px; color: rgba(207, 177, 105, .6); }
@media (min-width: 900px) {
  .footer__legal { grid-template-columns: minmax(0, 1fr) auto; column-gap: 48px; }
  .footer__legal > * { grid-column: 1; }
  .footer__legal > .footer__credito { grid-column: 2; grid-row: 1; margin-top: 0; text-align: right; }
}

.footer__wordmark {
  margin: clamp(48px, 6vw, 80px) 0 0;
  padding: 0 var(--gutter);
  font-family: var(--serif);
  font-size: clamp(2.75rem, 13.5vw, 15rem);
  font-weight: 300;
  line-height: .78;
  letter-spacing: -.035em;
  white-space: nowrap;
  text-align: center;
  /* dourado escurecido sobre o bordô profundo: contraste 3,3:1, o mínimo para texto grande (WCAG AA) */
  color: #876145;
  transform: translateY(.1em);
  user-select: none;
}

@media (min-width: 900px) {
  .footer__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); gap: 56px; }
  .footer__legal { grid-column: 1 / -1; }
}

/* WhatsApp flutuante */
.whatsapp {
  position: fixed;
  right: clamp(16px, 2.4vw, 32px);
  bottom: clamp(16px, 2.4vw, 32px);
  z-index: 40;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--branco);
  text-decoration: none;
  transition: opacity .5s var(--ease), transform .5s var(--ease), visibility 0s;
}
.whatsapp__dot {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--wa-escuro) var(--degrade-verde);
  color: var(--branco);
  box-shadow: var(--sombra-verde);
  transition: transform .35s var(--ease);
}
.whatsapp__dot .icon { width: 27px; height: 27px; }
.whatsapp__label {
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--wa-escuro) var(--degrade-verde);
  box-shadow: var(--sombra-verde);
  color: var(--branco);
  text-shadow: 0 1px 2px rgba(22, 67, 21, .35);
  font-size: .875rem;
  font-weight: 600;
  white-space: nowrap;
  opacity: 0;
  transform: translateX(10px);
  pointer-events: none;
  transition: opacity .4s var(--ease), transform .4s var(--ease);
}
.whatsapp:hover .whatsapp__dot,
.whatsapp:focus-visible .whatsapp__dot { transform: translateY(-2px); }
.whatsapp:hover .whatsapp__label,
.whatsapp:focus-visible .whatsapp__label { opacity: 1; transform: none; }
.whatsapp:focus-visible { outline: none; }
.whatsapp:focus-visible .whatsapp__dot { outline: 2px solid var(--bordo); outline-offset: 3px; }

.js .whatsapp:not(.is-visible) {
  opacity: 0;
  transform: translateY(16px);
  visibility: hidden;
  transition: opacity .5s var(--ease), transform .5s var(--ease), visibility 0s linear .5s;
}

/* Sem hover (toque): o rótulo aparece sozinho de tempos em tempos enquanto a pessoa rola.
   O script liga e desliga a classe is-hint */
@media (hover: none) {
  .whatsapp__label { transform: translateX(12px) scale(.94); transform-origin: right center; }
  .whatsapp.is-hint .whatsapp__label {
    opacity: 1;
    transform: none;
    pointer-events: auto;
    transition: opacity .45s var(--ease), transform .6s cubic-bezier(.34, 1.4, .64, 1);
  }
}

/* Celular e tablet (abaixo de 1200px, onde o cabeçalho perde o botão de agendar): no lugar do botão flutuante,
   uma pílula fixa no pé da tela, visível desde o início, espelhando o cabeçalho: foto e texto à esquerda,
   o botão do WhatsApp à direita. Fica afastada do fundo da tela; o env() soma a barra de gestos do iPhone */
.wa-bar { display: none; }

@media (max-width: 1199px) {
  .whatsapp { display: none; }

  .wa-bar {
    position: fixed;
    right: var(--gutter);
    bottom: calc(14px + env(safe-area-inset-bottom));
    left: var(--gutter);
    z-index: 40;
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 520px;
    margin-inline: auto;
    padding: 6px 6px 6px 7px;
    border: 1px solid var(--linha);
    border-radius: 999px;
    background: rgba(255, 255, 255, .88);
    -webkit-backdrop-filter: blur(14px) saturate(1.2);
    backdrop-filter: blur(14px) saturate(1.2);
    box-shadow: 0 18px 40px -22px rgba(51, 2, 26, .5);
    color: inherit;
    text-decoration: none;
  }
  .wa-bar:hover .btn--wa { transform: translateY(-2px); }
  .wa-bar:active .btn--wa { transform: scale(.98); }
  .wa-bar__foto {
    flex: none;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 0 0 2px var(--branco), 0 0 0 3px var(--linha-forte);
  }
  .wa-bar__txt { display: grid; flex: 1; gap: 2px; min-width: 0; line-height: 1.2; }
  .wa-bar__txt strong { overflow: hidden; font-size: .875rem; font-weight: 600; color: var(--tinta); white-space: nowrap; text-overflow: ellipsis; }
  .wa-bar__txt small { overflow: hidden; font-size: .75rem; color: var(--texto-suave); white-space: nowrap; text-overflow: ellipsis; }
  .wa-bar .btn { flex: none; }

  /* tablet: pílula, foto, textos e botão maiores; o botão volta ao tamanho normal dos botões do site */
  @media (min-width: 640px) {
    .wa-bar { bottom: calc(18px + env(safe-area-inset-bottom)); gap: 14px; max-width: 600px; padding: 8px 8px 8px 9px; }
    .wa-bar__foto { width: 52px; height: 52px; }
    .wa-bar__txt { gap: 3px; }
    .wa-bar__txt strong { font-size: 1rem; }
    .wa-bar__txt small { font-size: .875rem; }
    .wa-bar .btn--small { min-height: 56px; gap: 14px; padding: 6px 26px 6px 6px; font-size: 1rem; }
    .wa-bar .btn--small .btn__chip { width: 44px; height: 44px; }
    .wa-bar .btn--small .btn__chip .icon { width: 21px; height: 21px; }
  }

  /* telas bem estreitas: sem a foto, para o texto caber inteiro */
  @media (max-width: 374px) {
    .wa-bar { padding-left: 18px; }
    .wa-bar__foto { display: none; }
  }

  /* espaço no fim da página para a pílula não cobrir o rodapé */
  body { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  @media (min-width: 640px) {
    body { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
  }

  /* Samsung Internet: durante a rolagem, o navegador mostra o botão "voltar ao topo" no meio, embaixo,
     em cima do texto da pílula. Passado o início da página (.is-deep), a pílula sobe e deixa esse espaço livre */
  .samsung .wa-bar { transition: translate .45s var(--ease); }
  .samsung.is-deep .wa-bar { translate: 0 -56px; }
  .samsung body { padding-bottom: calc(140px + env(safe-area-inset-bottom)); }
}

/* Movimento reduzido: tudo aparece de imediato */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}

/* WordPress: o que vem acima é o CSS do site original (site-claude-code/styles.css).
   Daqui para baixo, só o que o tema precisa: barra de administração, páginas internas e conteúdo do editor */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

/* Capa real do post no lugar do placeholder */
.post__cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.post:hover .post__cover img { transform: scale(1.05); }

.reviews-widget { margin-top: clamp(48px, 6vw, 72px); }

/* Painéis bordô fora do contato: rótulo e foco em dourado */
.aside-cta .kicker,
.cta-band__panel .kicker { color: var(--ouro); }
.aside-cta .kicker__dot,
.cta-band__panel .kicker__dot { background: var(--ouro); box-shadow: 0 0 0 4px rgba(207, 177, 105, .2); }
.aside-cta :focus-visible,
.cta-band__panel :focus-visible { outline-color: var(--ouro); }

/* Cabeçalho das páginas internas: trilha, rótulo, título e, no post, a meta */
.page-head { padding: clamp(120px, 12vw, 160px) 0 clamp(56px, 7vw, 96px); }
.page-head__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; }
.page-head__title {
  max-width: 17em;
  font-family: var(--serif);
  font-weight: 350;
  font-size: clamp(2.125rem, 1.5rem + 2.4vw, 3.375rem);
  line-height: 1.08;
  letter-spacing: -.02em;
  color: var(--tinta);
  text-wrap: balance;
}
.page-head .lead { max-width: 38em; }
.page-head + .section { padding-top: clamp(56px, 7vw, 96px); }

@media (min-width: 1024px) {
  .page-head--list .page-head__grid { grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); align-items: end; gap: 64px; }
}

/* Páginas internas (áreas, sobre, contato): chamada à esquerda e, à direita, o card de consulta
   ou os dados rápidos do atendimento */
.intro-facts { display: grid; gap: 12px; }
@media (min-width: 1024px) {
  .page-head--intro .page-head__grid { grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); align-items: end; gap: clamp(48px, 6vw, 96px); }
}

/* Cards de tópicos: as áreas de atuação e os princípios do atendimento */
.topics__head { margin-bottom: clamp(40px, 5vw, 56px); }
.topics { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.topic { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: clamp(22px, 2.4vw, 30px); }
.topic:hover { border-color: var(--ouro); transform: translateY(-3px); }
.topic:hover .chip { background: var(--bordo); color: var(--ouro); }
.topic .chip { margin-bottom: 6px; }
.topic__title {
  font-family: var(--serif);
  font-size: clamp(1.375rem, 1.2rem + .6vw, 1.625rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--tinta);
  text-wrap: balance;
}
/* letra um pouco menor que a do corpo: mais palavras por linha deixam o justificado sem buracos */
.topic p { font-size: .9375rem; color: var(--texto-suave); }
.topic .text-link { margin-top: auto; padding-top: 10px; }

@media (min-width: 640px) {
  .topics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}

/* Abaixo das áreas: saída para quem não encontrou a sua situação. A borda tracejada lembra
   um espaço em aberto, diferente dos cards das áreas */
.area-more {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 32px;
  margin-top: 20px;
  padding: 18px 18px 18px 24px;
  border: 1px dashed var(--linha-forte);
  border-radius: var(--r-card);
}
.area-more__txt { flex: 1 1 340px; max-width: 46em; font-size: .9375rem; line-height: 1.55; color: var(--texto-suave); }
.area-more__txt strong { font-weight: 600; color: var(--tinta); }
.areas .area-more { margin-top: 24px; }
@media (min-width: 1024px) {
  .topics:not(.topics--duo) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Imagem destacada no início do post, com o bloco dourado atrás como no hero */
.article__thumb { position: relative; z-index: 0; margin-bottom: clamp(40px, 5vw, 56px); padding: 0 20px 20px 0; }
.article__thumb::before {
  content: "";
  position: absolute;
  inset: 32px 0 0 32px;
  z-index: -1;
  border-radius: var(--r-panel);
  background: var(--ouro-suave);
}
.article__thumb .frame { aspect-ratio: 16 / 10; }

/* Trilha (breadcrumb): texto corrido numa pílula, que quebra linha com títulos longos */
.crumbs { margin-bottom: 32px; }
.crumbs ol {
  display: inline-block;
  max-width: 100%;
  padding: 7px 18px;
  border: 1px solid var(--linha);
  border-radius: 20px;
  background: var(--branco);
  font-size: .8125rem;
  line-height: 1.6;
}
.crumbs li { display: inline; }
.crumbs li + li::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin: 0 12px 1px 8px;
  border-top: 1px solid var(--bronze);
  border-right: 1px solid var(--bronze);
  rotate: 45deg;
}
.crumbs a { color: var(--texto-suave); text-decoration: none; transition: color .3s; }
.crumbs a:hover { color: var(--bordo); }
.crumbs [aria-current] { font-weight: 600; color: var(--bordo); }

/* Autora, data e tempo de leitura */
.post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 28px; font-size: .875rem; color: var(--texto-suave); }
.post-meta li { display: inline-flex; align-items: center; gap: 16px; }
.post-meta li + li::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--ouro); }
.post-meta .post-meta__author { gap: 10px; font-weight: 600; color: var(--tinta); }
.post-meta__author img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 2px var(--branco), 0 0 0 3px var(--linha-forte);
}

/* No celular, a autora fica numa linha e a data e o tempo de leitura na de baixo */
@media (max-width: 639px) {
  .post-meta .post-meta__author { flex-basis: 100%; }
  .post-meta .post-meta__author + li::before { content: none; }
}

/* Post: texto à esquerda e coluna fixa à direita com a consulta e os recentes */
.article { display: grid; grid-template-columns: minmax(0, 1fr); gap: 64px; }
.article__main { min-width: 0; max-width: 46rem; }
.article__aside { display: grid; gap: 20px; align-content: start; }

@media (min-width: 1024px) {
  .article:not(.article--page) { grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: clamp(48px, 6vw, 96px); }
  .article__aside { position: sticky; top: 112px; }
}

/* Conteúdo vindo do editor */
.entry { font-size: 1.0625rem; }
.entry::after { content: ""; display: table; clear: both; }
.entry > * + * { margin-top: 1.25em; }
.entry > :first-child { margin-top: 0; }
.entry h2, .entry h3, .entry h4 { margin-top: 1.8em; font-family: var(--serif); font-weight: 400; line-height: 1.2; color: var(--tinta); scroll-margin-top: 112px; }
.entry h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
.entry h3 { font-size: 1.375rem; }
.entry strong { font-weight: 600; color: var(--tinta); }
.entry a { color: var(--bordo); text-decoration-color: var(--ouro); text-underline-offset: 4px; }
.entry ul, .entry ol { padding-left: 1.4em; }
.entry ul { list-style: disc; }
.entry ol { list-style: decimal; }
.entry li + li { margin-top: .4em; }
.entry li::marker { color: var(--bronze); }
.entry blockquote { padding-left: 24px; border-left: 2px solid var(--ouro); font-family: var(--serif); font-size: 1.25rem; color: var(--tinta); }
.entry img { height: auto; border-radius: 16px; }
.entry figcaption { margin-top: 8px; font-size: .875rem; color: var(--texto-suave); }
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { margin-inline: auto; }

/* Tabela: card de borda fina, cabeçalho em porcelana */
.entry .wp-block-table { overflow-x: auto; }
.entry .wp-block-table table {
  width: 100%;
  border: 1px solid var(--linha);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--r-card);
  font-size: .9375rem;
  line-height: 1.5;
}
.entry .wp-block-table thead { border-bottom: 0; }
.entry .wp-block-table th,
.entry .wp-block-table td { padding: 14px 20px; border: 0; border-bottom: 1px solid var(--linha); text-align: left; vertical-align: top; }
.entry .wp-block-table th + th,
.entry .wp-block-table td + td { border-left: 1px solid var(--linha); }
.entry .wp-block-table tr:last-child td { border-bottom: 0; }
.entry .wp-block-table th { background: var(--porcelana); font-weight: 600; color: var(--bordo); }
.entry .wp-block-table th:first-child { border-top-left-radius: calc(var(--r-card) - 1px); }
.entry .wp-block-table th:last-child { border-top-right-radius: calc(var(--r-card) - 1px); }

/* Sobre a autora, no fim do post */
.autora { display: flex; align-items: flex-start; gap: 20px; margin-top: 64px; padding: 28px; background: var(--porcelana); }
.autora__foto {
  flex: none;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 3px var(--branco), 0 0 0 4px var(--linha-forte);
}
.autora__name { font-family: var(--serif); font-size: 1.375rem; line-height: 1.2; color: var(--tinta); }
.autora__role { margin-top: 4px; font-size: .8125rem; font-weight: 600; color: var(--bronze-texto); }
.autora__bio { margin: 12px 0 14px; font-size: .9375rem; color: var(--texto-suave); }
.autora .text-link { font-size: .9375rem; }

@media (max-width: 519px) {
  .autora { flex-direction: column; }
}

/* Anterior e próximo: a seta é o mesmo ícone do site, girada */
.post-nav { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 16px; }
.post-nav__link {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid var(--linha);
  border-radius: var(--r-card);
  background: var(--branco);
  color: var(--tinta);
  text-decoration: none;
  transition: border-color .4s var(--ease), translate .4s var(--ease);
}
.post-nav__link--next { justify-content: flex-end; text-align: right; }
.post-nav__txt { display: grid; gap: 4px; font-family: var(--serif); font-size: 1.0625rem; line-height: 1.3; text-wrap: pretty; }
.post-nav__txt small { font-family: var(--sans); font-size: .75rem; font-weight: 600; letter-spacing: .02em; color: var(--bronze-texto); }
.post-nav__chip {
  display: grid;
  place-items: center;
  flex: none;
  width: 40px;
  height: 40px;
  border: 1px solid var(--linha-forte);
  border-radius: 50%;
  color: var(--bordo);
  transition: background-color .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease);
}
.post-nav__chip .icon { width: 17px; height: 17px; }
.post-nav__link--prev .icon { rotate: -135deg; }
.post-nav__link--next .icon { rotate: 45deg; }
.post-nav__link:hover { border-color: var(--ouro); translate: 0 -2px; }
.post-nav__link:hover .post-nav__chip { background: var(--bordo); border-color: var(--bordo); color: var(--ouro); }

@media (min-width: 640px) {
  .post-nav { grid-template-columns: 1fr 1fr; }
  .post-nav__link--next:only-child { grid-column: 2; }
}

/* Coluna lateral: card bordô de consulta e conteúdos recentes */
.aside-cta {
  padding: 32px 28px;
  border-radius: var(--r-panel);
  background: var(--bordo);
  color: rgba(255, 255, 255, .8);
  font-size: .9375rem;
}
.aside-cta .kicker { margin-bottom: 14px; }
.aside-cta__title { margin-bottom: 10px; font-family: var(--serif); font-size: 1.5rem; line-height: 1.2; color: var(--branco); text-wrap: balance; }
.aside-cta .btn { margin-top: 24px; }

.recent { padding: 24px; border: 1px solid var(--linha); border-radius: var(--r-panel); background: var(--porcelana); }
.recent__title { margin-bottom: 4px; font-size: .875rem; font-weight: 600; color: var(--bronze-texto); }
.recent li + li { border-top: 1px solid var(--linha); }
.recent li a { display: flex; align-items: center; gap: 14px; padding: 14px 0; text-decoration: none; }
.recent__img { flex: none; width: 64px; height: 64px; overflow: hidden; border-radius: 12px; background: var(--nevoa); }
.recent__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.recent__txt { display: grid; gap: 4px; min-width: 0; }
.recent__txt strong {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--tinta);
  transition: color .3s;
}
.recent__txt small { font-size: .75rem; color: var(--texto-suave); }
.recent li a:hover strong { color: var(--bordo); }
.recent li a:hover img { transform: scale(1.06); }
.recent .text-link { display: inline-block; margin-top: 10px; font-size: .875rem; }

/* Lista de conteúdos: busca, categorias, destaque e grade */
.busca { position: relative; display: flex; align-items: center; width: 100%; max-width: 420px; }
.busca input[type="search"] {
  width: 100%;
  min-height: 56px;
  padding: 0 64px 0 24px;
  border: 1px solid var(--linha-forte);
  border-radius: 999px;
  background: var(--branco);
  color: var(--tinta);
  font: inherit;
  font-size: .9375rem;
  transition: border-color .3s;
}
.busca input[type="search"]::placeholder { color: var(--texto-suave); }
.busca input[type="search"]:hover,
.busca input[type="search"]:focus { border-color: var(--bordo); }
.busca__btn {
  position: absolute;
  right: 6px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: var(--bordo) var(--degrade-vinho);
  color: var(--branco);
  cursor: pointer;
}
.busca__btn .icon { width: 20px; height: 20px; }

.filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; }
.filters a {
  display: block;
  padding: 9px 18px;
  border: 1px solid var(--linha-forte);
  border-radius: 999px;
  color: var(--tinta);
  font-size: .875rem;
  font-weight: 500;
  text-decoration: none;
  transition: background-color .3s, border-color .3s, color .3s;
}
.filters a:hover { border-color: var(--bordo); color: var(--bordo); }
.filters [aria-current] { background: var(--bordo); border-color: var(--bordo); color: var(--branco); }

.list .posts { margin-top: 0; }
.list .feature + .posts { margin-top: 20px; }

.feature { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); padding: 10px; background: var(--porcelana); }
.feature__cover { aspect-ratio: 16 / 10; overflow: hidden; border-radius: 14px; background: var(--nevoa); }
.feature__cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.feature__body { display: grid; align-content: center; justify-items: start; gap: 14px; padding: 24px 14px 14px; }
.feature__body .kicker { margin-bottom: 0; }
.feature__title {
  font-family: var(--serif);
  font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--tinta);
  text-wrap: balance;
}
.feature__title a { text-decoration: none; }
.feature__title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--r-card); }
.feature__title a:focus-visible { outline: none; }
.feature__title a:focus-visible::after { outline: 2px solid var(--bordo); outline-offset: 3px; }
.feature__excerpt { color: var(--texto-suave); }
.feature .btn { margin-top: 8px; }
.feature:hover { transform: translateY(-4px); border-color: var(--ouro); }
.feature:hover .feature__cover img { transform: scale(1.04); }
.feature:hover .btn--ghost { border-color: var(--bordo); }

@media (min-width: 900px) {
  .feature { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  /* com título ou resumo longos, a capa estica até a altura do texto em vez de deixar um vão embaixo;
     sem a proporção fixa, a altura mínima vem da própria imagem */
  .feature__cover { align-self: stretch; aspect-ratio: auto; }
  .feature__body { padding: 32px clamp(24px, 3vw, 48px); }
}

/* Faixa de chamada no fim das listas */
.cta-band__panel {
  display: grid;
  gap: 32px;
  align-items: end;
  padding: clamp(32px, 5vw, 64px);
  border-radius: var(--r-panel);
  background: var(--bordo);
  color: rgba(255, 255, 255, .8);
}
.cta-band__panel .h2 { font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem); color: var(--branco); }
.cta-band__panel .lead { color: rgba(255, 255, 255, .75); }
.cta-band .btn { justify-self: start; }

@media (min-width: 1024px) {
  .cta-band__panel { grid-template-columns: minmax(0, 1fr) auto; gap: 64px; }
}
/* depois de uma seção do mesmo fundo, o espaço de cima já vem dela */
.section:not(.section--white) + .cta-band { padding-top: 0; }

.pagination { margin-top: 48px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.pagination .page-numbers {
  display: grid;
  place-items: center;
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  border: 1px solid var(--linha-forte);
  border-radius: 999px;
  color: var(--bordo);
  font-weight: 600;
  text-decoration: none;
}
.pagination .page-numbers.current,
.pagination a.page-numbers:hover { background: var(--bordo); border-color: var(--bordo); color: var(--branco); }
