/* Dr. Fernando Crisanto · site one page
   Estrutura, escala e movimento reconstruídos da home da Function Health (engenharia reversa pelo
   REA em 19/10/2026: tokens --h1/--h2/--h3, raios, header em cápsula, cartões, letreiros).
   Cores e fontes do manual de identidade do Dr. Fernando: oliva #6D7951, cobre #CF9059,
   branco #FEFEFE; títulos Cosen (aqui Tenor Sans até a licença), texto Poppins. */

@font-face { font-family: "Tenor Sans"; src: url("fonts/TenorSans-400.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Tenor Sans"; src: url("fonts/TenorSans-400-ext.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Poppins"; src: url("fonts/Poppins-300.woff2") format("woff2"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("fonts/Poppins-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("fonts/Poppins-500.woff2") format("woff2"); font-weight: 500; font-display: swap; }

:root {
  /* marca */
  --oliva: #6D7951;
  --oliva-fundo: #616C48;
  --oliva-texto: #545E3B;
  --cobre: #CF9059;
  --cobre-forte: #B87840;
  --cobre-texto: #8C5524;
  --cobre-claro: #FAEBDD;
  --acao: #59643F;          /* oliva da marca escurecido p/ texto branco AA */
  --acao-hover: #2C3123;
  --branco: #FEFEFE;
  --tinta: #2C3123;
  --corpo: #4D5442;
  --fraco: #5E6452;
  /* superfícies (papel da Function #FEF9EF -> creme da marca) */
  --papel: #FBF9F4;
  --creme: #F4EFE6;
  --creme-2: #EFE8DC;
  --fio: #DCD6C9;
  /* escala medida na Function */
  --h1: clamp(2.75rem, 2.1617vw + 2.4rem, 5rem);
  --h2: clamp(2.25rem, 1.5038vw + 1.9rem, 3.75rem);
  --h3: clamp(1.75rem, 1.0338vw + 1.5rem, 2.5rem);
  --h4: clamp(1.375rem, .6579vw + 1.2rem, 1.875rem);
  --texto-lg: clamp(1.0625rem, .25vw + 1rem, 1.25rem);
  --texto-md: clamp(1rem, .2vw + .95rem, 1.125rem);
  --raio-xl: clamp(1.5rem, 1.5vw + 1rem, 2.5rem);
  --raio-g: clamp(1rem, .8vw + .75rem, 1.5rem);
  --raio: .75rem;
  --raio-p: .375rem;
  --margem: clamp(24px, 4vw, 64px);
  --largura: 1312px;
  --secao: clamp(88px, 10vw, 160px);
  --topo-altura: 5rem;
  --fonte-titulo: "Tenor Sans", "Cosen", Georgia, serif;
  --fonte-texto: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 7rem; }
body {
  margin: 0; background: var(--papel); color: var(--corpo);
  font-family: var(--fonte-texto); font-weight: 300; font-size: var(--texto-md); line-height: 1.55;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  -webkit-tap-highlight-color: rgba(109, 121, 81, .18);
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--fonte-titulo); font-weight: 400; color: var(--tinta); margin: 0; line-height: 1.05; text-wrap: balance; }
h1 em, h2 em, h3 em, .cabeca__titulo em { font-style: normal; color: var(--oliva); }
p { margin: 0 0 1em; text-wrap: pretty; }
p:last-child { margin-bottom: 0; }
strong, b { font-weight: 500; color: var(--tinta); }
address { font-style: normal; }
:focus-visible { outline: 2px solid var(--cobre); outline-offset: 3px; border-radius: 4px; }
.inteiro { white-space: nowrap; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pular { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--tinta); color: var(--branco); padding: 10px 16px; text-decoration: none; }
.pular:focus { top: 12px; }
.caixa { width: min(var(--largura), 100% - 2 * var(--margem)); margin-inline: auto; }

/* botões (fh-button: pílula, 3rem, peso 600 -> 500 na Poppins) */
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 3rem; padding: .75rem 1.5625rem; border-radius: 999px; border: 1px solid transparent;
  font: 500 .9375rem/1 var(--fonte-texto); letter-spacing: .01em; text-decoration: none; cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease; touch-action: manipulation;
}
.botao--cheio { background: var(--acao); color: var(--branco); }
.botao--cheio:hover { background: var(--tinta); }
.botao--linha { border-color: var(--acao); color: var(--acao); background: transparent; }
.botao--linha:hover { background: var(--acao); color: var(--branco); }
.botao--claro { background: var(--branco); color: var(--tinta); box-shadow: 0 2px 12px rgba(0, 0, 0, .1); }
.botao--claro:hover { background: var(--creme); }
.botao--peq { min-height: 2.5rem; padding: .5rem 1.25rem; font-size: .875rem; }
.botao--largo { width: 100%; max-width: 22rem; }
.link-seta { display: inline-flex; gap: 8px; align-items: center; color: var(--acao); font-weight: 500; font-size: .9375rem; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.link-seta::after { content: "→"; transition: transform .2s ease; text-decoration: none; }
.link-seta:hover::after { transform: translateX(3px); }

/* faixa de aviso (notification banner) */
.aviso { position: relative; z-index: 60; background: var(--acao); color: var(--branco); text-align: center; font-size: .8125rem; padding: 9px var(--margem); line-height: 1.4; }
.aviso a { color: var(--branco); text-underline-offset: 3px; }

/* header: camada sticky sobreposta ao hero */
.topo-camada { position: sticky; top: 0; z-index: 50; margin-bottom: calc(-1 * (var(--topo-altura) + 1.5rem)); padding: .75rem var(--margem); transition: background-color .25s ease, box-shadow .25s ease; }
.topo__nav {
  height: var(--topo-altura); max-width: 1400px; margin-inline: auto;
  display: flex; align-items: center; gap: 28px; padding: 0 1.25rem 0 1.5rem;
  border-radius: var(--raio); transition: background-color .25s ease, backdrop-filter .25s ease;
}
.topo--transparente .topo__nav { background: rgba(28, 31, 22, .62); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); color: var(--branco); }
.topo--padrao { background: transparent; }
.topo-camada.is-solido { background: var(--papel); box-shadow: 0 1px 0 var(--fio); }
.topo--padrao .topo__nav { background: transparent; color: var(--tinta); padding-inline: 0; }
.topo__marca { display: block; flex: none; }
.topo__logo { width: 190px; height: auto; }
.topo--transparente .topo__logo--oliva, .topo--padrao .topo__logo--branco { display: none; }
.topo__links { display: flex; gap: 28px; margin-left: auto; }
.topo__links a { font-size: .875rem; font-weight: 400; text-decoration: none; padding: 8px 0; opacity: .92; }
.topo__links a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.topo__links .topo__links-agendar { display: none; }
.topo__acoes { display: flex; align-items: center; gap: 8px; }
.botao--topo { min-height: 2.75rem; padding: .625rem 1.25rem; font-size: .875rem; white-space: nowrap; }
.topo--transparente .botao--topo { background: var(--branco); color: var(--tinta); }
.topo--padrao .botao--topo { background: var(--acao); color: var(--branco); }
.topo__menu { display: none; }

/* hero */
.hero { position: relative; height: 100svh; min-height: 640px; max-height: 1100px; overflow: hidden; color: var(--branco); background: #2a2d24; }
.hero__fundo { position: absolute; inset: 0; }
.hero__foto { position: absolute; inset: 0; background: #5d5d63 center 40% / cover no-repeat;
  background-image: url("img/hero-dr-fernando-1800.jpg");
  background-image: image-set(url("img/hero-dr-fernando-2800.webp") type("image/webp"), url("img/hero-dr-fernando-1800.jpg") type("image/jpeg")); }
@media (max-width: 768px) { .hero__foto { background-position: 50% 35%; background-image: url("img/hero-dr-fernando-m-1200.jpg");
  background-image: image-set(url("img/hero-dr-fernando-m-1200.webp") type("image/webp"), url("img/hero-dr-fernando-m-1200.jpg") type("image/jpeg")); } }
.hero__fundo::after { /* véu estático: canto inferior esquerdo, como o scrim do original */
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(120% 90% at 0% 100%, rgba(44, 49, 35, .82) 0%, rgba(44, 49, 35, .45) 38%, rgba(44, 49, 35, 0) 70%), rgba(0, 0, 0, .1);
  transition: opacity .4s ease;
}
.hero__vidro { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; transition: opacity .4s ease-out; }
.is-vidro .hero__vidro { opacity: 1; }
.is-vidro::after { opacity: 0; }
.hero__conteudo {
  position: absolute; inset: auto 0 0; z-index: 2;
  width: min(1400px, 100% - 2 * var(--margem)); margin-inline: auto;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 40px;
  padding-bottom: clamp(40px, 6vh, 72px);
}
.pilula { display: inline-block; font-size: .75rem; font-weight: 500; letter-spacing: .02em; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .07); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); border: 1px solid rgba(255, 255, 255, .18); margin-bottom: 20px; }
.hero__titulo { color: var(--branco); font-size: var(--h1); line-height: .98; letter-spacing: -.01em; max-width: 11.5em; margin-bottom: 20px; }
.hero__titulo em { color: var(--cobre-claro); }
.hero__sub { font-size: var(--texto-md); max-width: 31em; color: rgba(254, 254, 254, .9); margin-bottom: 28px; }
.hero__fatos { display: flex; margin: 0; }
.hero__fatos > div { padding: 0 24px; border-left: 1px solid rgba(255, 255, 255, .35); }
.hero__fatos > div:first-child { border-left: 0; padding-left: 0; }
.hero__fatos dt { font-weight: 500; font-size: 1rem; color: var(--branco); margin-bottom: 2px; }
.hero__fatos dd { margin: 0; font-size: .8125rem; color: rgba(254, 254, 254, .82); }
.hero__pausa { position: absolute; right: var(--margem); bottom: 20px; z-index: 3; width: 32px; height: 32px; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer; color: var(--branco); background: rgba(255, 255, 255, .12); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.hero__pausa[hidden] { display: none; }
.hero__pausa svg { width: 14px; height: 14px; fill: currentColor; }
.hero__pausa[aria-pressed="true"] svg rect:last-child { display: none; }
.hero__pausa[aria-pressed="true"] svg rect:first-child { x: 5; width: 7; }

/* cabeçalho de seção (section-heading-2026): centralizado */
.secao { padding-top: var(--secao); }
.cabeca { display: flex; flex-direction: column; align-items: center; text-align: center; width: min(55.5rem, 100% - 2 * var(--margem)); margin: 0 auto clamp(40px, 5vw, 72px); }
.cabeca__titulo { font-size: var(--h2); line-height: 1.02; }
.cabeca__titulo--grande { font-size: var(--h1); }
.cabeca__desc { max-width: 43.75rem; margin: 20px 0 0; font-size: var(--texto-lg); font-weight: 300; color: var(--corpo); }
.cabeca__desc a { color: var(--acao); }
.acoes-centro { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: clamp(32px, 4vw, 48px); padding-inline: var(--margem); }
.acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.etiqueta { font-size: .75rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--acao); margin: 0 0 6px; }

/* 2. três cartões */
.cartoes3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 1.6vw, 24px); }
.cartao3 { background: var(--creme); border-radius: var(--raio-g); padding: clamp(28px, 2.6vw, 40px) clamp(20px, 2vw, 32px) 0; text-align: center; display: flex; flex-direction: column; align-items: center; overflow: hidden; min-height: 30rem; }
.cartao3__num { font-family: var(--fonte-titulo); color: var(--cobre-texto); font-size: 1.125rem; margin-bottom: 6px; }
.cartao3__titulo { font-size: var(--h4); margin-bottom: 10px; }
.cartao3__desc { font-size: .9375rem; max-width: 22em; color: var(--corpo); }
.mini { margin-top: auto; width: 100%; max-width: 20rem; padding: 28px 0 32px; }
.mini--chat { display: flex; flex-direction: column; gap: 10px; text-align: left; }
.mini__balao { margin: 0; padding: 10px 14px; border-radius: 14px; font-size: .8125rem; line-height: 1.4; max-width: 86%; box-shadow: 0 1px 2px rgba(44, 49, 35, .06); }
.mini__balao--eu { align-self: flex-end; background: var(--oliva-fundo); color: var(--branco); border-bottom-right-radius: 4px; }
.mini__balao--ela { align-self: flex-start; background: var(--branco); color: var(--tinta); border-bottom-left-radius: 4px; }
.mini__digitando { align-self: flex-start; display: flex; gap: 4px; padding: 12px 14px; background: var(--branco); border-radius: 14px; margin: 0; }
.mini__digitando span { width: 6px; height: 6px; border-radius: 50%; background: var(--fraco); opacity: .5; }
.mini--escuta { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.mini--escuta span { font-size: .8125rem; padding: 8px 14px; border-radius: 999px; background: var(--branco); border: 1px solid var(--fio); color: var(--corpo); transition: background-color .35s ease, color .35s ease, border-color .35s ease; }
.mini--escuta span.is-ativo { background: var(--acao); color: var(--branco); border-color: var(--acao); }
.mini--plano { display: grid; gap: 8px; text-align: left; }
.mini__item { display: grid; grid-template-columns: 32px 1fr; column-gap: 12px; align-items: center; background: var(--branco); border-radius: 10px; padding: 10px 12px; box-shadow: 0 1px 2px rgba(44, 49, 35, .06); }
.mini__item i { grid-row: span 2; width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; font-style: normal; font-family: var(--fonte-titulo); color: var(--branco); background: var(--acao); }
.mini__item b { font-size: .8125rem; line-height: 1.3; }
.mini__item small { font-size: .75rem; color: var(--fraco); line-height: 1.35; }

/* animação dos mini (reinicia a cada entrada, como o Lottie do original) */
.js [data-anima] .mini__balao, .js [data-anima] .mini__digitando, .js [data-anima] .mini__item { opacity: 0; transform: translateY(10px); }
.js [data-anima].is-tocando .mini__balao, .js [data-anima].is-tocando .mini__digitando, .js [data-anima].is-tocando .mini__item { animation: entra .5s cubic-bezier(.2, .7, .2, 1) forwards; }
.js [data-anima].is-tocando .mini__balao--ela { animation-delay: 1.1s; }
.js [data-anima].is-tocando .mini__digitando { animation-delay: .5s; animation-name: entra-sai; animation-duration: .6s; }
.js [data-anima].is-tocando .mini__item:nth-child(2) { animation-delay: .35s; }
.js [data-anima].is-tocando .mini__item:nth-child(3) { animation-delay: .7s; }
.js [data-anima].is-tocando .mini__digitando span { animation: pisca .9s ease-in-out infinite; }
.js [data-anima].is-tocando .mini__digitando span:nth-child(2) { animation-delay: .15s; }
.js [data-anima].is-tocando .mini__digitando span:nth-child(3) { animation-delay: .3s; }
@keyframes entra { to { opacity: 1; transform: none; } }
@keyframes entra-sai { 0% { opacity: 0; transform: translateY(10px); } 30%, 80% { opacity: 1; transform: none; } 100% { opacity: 0; height: 0; padding: 0; margin: 0; } }
@keyframes pisca { 50% { opacity: 1; transform: translateY(-2px); } }

/* 3. acolhimento + letreiro (tracked) */
.checks { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; font-size: .875rem; }
.checks li { display: inline-flex; align-items: center; gap: 8px; }
.checks li::before { content: ""; width: 16px; height: 16px; border-radius: 50%; border: 1px solid var(--acao); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2 7 10.5l4.5-5' fill='none' stroke='%2359643F' stroke-width='1.4'/%3E%3C/svg%3E") center / 12px no-repeat; }
.letreiro { position: relative; margin-top: clamp(40px, 5vw, 64px); padding-block: 40px; overflow: hidden; }
.letreiro__linha { display: flex; width: max-content; will-change: transform; }
.letreiro__linha + .letreiro__linha { margin-top: 18px; }
.letreiro__grupo { display: flex; flex: none; }
.letreiro__grupo span { font-family: var(--fonte-titulo); font-size: clamp(1.25rem, 1vw + 1rem, 1.875rem); color: var(--tinta); padding: 0 22px; white-space: nowrap; display: inline-flex; align-items: center; gap: 44px; }
.letreiro__grupo span::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--cobre); margin-right: -22px; }
.letreiro::before, .letreiro::after { content: ""; position: absolute; top: 0; bottom: 0; width: 12vw; z-index: 1; pointer-events: none; }
.letreiro::before { left: 0; background: linear-gradient(90deg, var(--papel), rgba(251, 249, 244, 0)); }
.letreiro::after { right: 0; background: linear-gradient(-90deg, var(--papel), rgba(251, 249, 244, 0)); }
.letreiro__cartao {
  position: absolute; z-index: 2; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: min(22rem, 86vw); margin: 0; padding: 24px 26px; text-align: left;
  background: var(--branco); border: 1px solid var(--fio); border-radius: var(--raio-g); box-shadow: 0 24px 60px rgba(44, 49, 35, .12);
}
.letreiro__cartao img { width: 96px; margin-bottom: 10px; }
.letreiro__cartao blockquote { margin: 0 0 12px; font-family: var(--fonte-titulo); font-size: 1.1875rem; line-height: 1.35; color: var(--tinta); }
.letreiro__cartao figcaption { font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--fraco); font-weight: 500; }
.pausa-movimento { display: block; margin: 8px auto 0; background: none; border: 0; cursor: pointer; font: 500 .6875rem/1 var(--fonte-texto); letter-spacing: .08em; text-transform: uppercase; color: var(--fraco); padding: 10px; }
.pausa-movimento::before { content: "❚❚ "; letter-spacing: -.1em; }
.pausa-movimento[aria-pressed="true"]::before { content: "▶ "; }

/* 4. grade de áreas (biomarkers) */
.grade6 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--fio); }
.grade6__cel { padding: clamp(28px, 3vw, 44px) clamp(20px, 2.4vw, 36px) clamp(32px, 3vw, 48px); border-bottom: 1px solid var(--fio); border-right: 1px solid var(--fio); }
.grade6__cel:nth-child(3n) { border-right: 0; }
.grade6__cel h3 { font-size: var(--h3); line-height: 1.04; margin-bottom: 12px; hyphens: manual; }
.grade6__cel .etiqueta { margin-bottom: 20px; }
.grade6__cel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; color: var(--tinta); font-size: .9375rem; }
.grade6__cel--mais { background: var(--creme); display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.grade6__mais { font-family: var(--fonte-titulo); font-size: var(--h3); line-height: 1.05; color: var(--acao); margin: 0; }
.grade6__mais em { font-style: normal; }
.grade6__cel--mais .botao { margin-top: auto; }
.publicos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1.4fr); gap: 32px; align-items: start; margin-top: clamp(40px, 4vw, 56px); padding-top: 28px; border-top: 1px solid var(--fio); }
.publicos__rotulo { font-family: var(--fonte-titulo); font-size: var(--h4); color: var(--tinta); margin: 0; line-height: 1.15; }
.publicos__rotulo em { font-style: normal; color: var(--acao); }
.publicos__item { display: grid; gap: 4px; font-size: .9375rem; }

/* 5. mosaico */
.mosaico { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 20px); align-items: start; }
.mosaico__col { display: grid; gap: clamp(12px, 1.4vw, 20px); }
.mosaico__col--destaque { margin-top: clamp(24px, 4vw, 64px); }
.mosaico__col:nth-child(4) { margin-top: clamp(12px, 2vw, 32px); }
.foto-cartao { position: relative; margin: 0; border-radius: var(--raio-g); overflow: hidden; background: var(--creme); }
.foto-cartao img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.foto-cartao:hover img { transform: scale(1.03); }
.foto-cartao figcaption { position: absolute; inset: auto 0 0; padding: 48px 18px 18px; color: var(--branco); background: linear-gradient(180deg, rgba(0, 0, 0, 0) 4%, rgba(30, 33, 24, .88)); }
.foto-cartao q { display: block; font-size: .9375rem; line-height: 1.35; font-weight: 400; quotes: "“" "”"; margin-bottom: 8px; }
.foto-cartao figcaption span { font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; opacity: .85; }
.selo { background: var(--creme); border-radius: var(--raio-g); padding: 22px 20px; display: grid; gap: 4px; text-align: center; min-height: 8.5rem; align-content: center; }
.selo b { font-family: var(--fonte-titulo); font-weight: 400; font-size: 1.625rem; line-height: 1.1; color: var(--tinta); }
.selo span { font-size: .8125rem; color: var(--fraco); line-height: 1.4; }
.selo--grande { background: var(--oliva-fundo); min-height: 12rem; }
.selo--grande b { color: var(--branco); font-size: 1.875rem; }
.selo--grande span { color: rgba(254, 254, 254, .86); }
.selo__rotulo { font-size: .6875rem !important; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; color: var(--cobre-claro) !important; }

/* 6. letreiro de instituições (logocarousel) */
.instituicoes { margin-top: var(--secao); padding-block: 28px; border-block: 1px solid var(--fio); overflow: hidden; position: relative;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7rem, #000 calc(100% - 7rem), transparent); mask-image: linear-gradient(90deg, transparent, #000 7rem, #000 calc(100% - 7rem), transparent); }
.instituicoes__trilho { display: flex; width: max-content; animation: corre 48s linear infinite; }
.instituicoes__grupo { display: flex; flex: none; }
.instituicoes__grupo span { font-family: var(--fonte-titulo); font-size: clamp(1.125rem, .6vw + 1rem, 1.5rem); color: var(--fraco); padding: 0 clamp(28px, 3vw, 48px); white-space: nowrap; }
@keyframes corre { to { transform: translateX(-50%); } }
[data-movimento][data-pausado="true"] .instituicoes__trilho { animation-play-state: paused; }

/* 7. bio dividida (gold standard) */
.bio__grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 37rem); gap: clamp(40px, 6vw, 96px); align-items: start; }
.bio__titulo { font-size: var(--h2); line-height: 1.02; margin-bottom: 28px; }
.bio__texto > p, .bio__resto p { max-width: 36em; }
.bio__mais { display: none; }
.bio__cartoes { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.dado { background: var(--branco); border: 1px solid var(--fio); border-radius: var(--raio-g); padding: 24px; font-size: .9375rem; }
.dado--alto { grid-column: 1 / -1; }
.dado__rotulo { font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 500; color: var(--acao); margin-bottom: 16px; }
.linha-tempo { list-style: none; margin: 0; padding: 0; position: relative; display: grid; gap: 14px; }
.linha-tempo::before { content: ""; position: absolute; left: 5px; top: 8px; bottom: 8px; width: 1px; background: var(--fio); }
.linha-tempo li { position: relative; padding-left: 28px; display: grid; gap: 2px; }
.linha-tempo li::before { content: ""; position: absolute; left: 0; top: .45em; width: 11px; height: 11px; border-radius: 50%; background: var(--papel); border: 1px solid var(--cobre); }
.linha-tempo b { font-family: var(--fonte-titulo); font-weight: 400; font-size: 1.1875rem; line-height: 1.2; }
.linha-tempo span { font-size: .8125rem; color: var(--fraco); }
.js .dado--alto .linha-tempo li { opacity: 0; transform: translateX(-8px); }
.js .dado--alto.is-tocando .linha-tempo li { animation: entra .55s cubic-bezier(.2, .7, .2, 1) forwards; }
.js .dado--alto.is-tocando .linha-tempo li:nth-child(2) { animation-delay: .12s; }
.js .dado--alto.is-tocando .linha-tempo li:nth-child(3) { animation-delay: .24s; }
.js .dado--alto.is-tocando .linha-tempo li:nth-child(4) { animation-delay: .36s; }
.js .dado--alto.is-tocando .linha-tempo li:nth-child(5) { animation-delay: .48s; }
.dado--linha { display: grid; gap: 12px; background: var(--creme); border-color: var(--creme); }
.dado--linha img { width: 88px; }

/* 8. trilho (people grid slider) */
.trilho { position: relative; }
.trilho__faixa { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0 max(var(--margem), (100% - var(--largura)) / 2) 8px; scroll-padding-inline: max(var(--margem), (100% - var(--largura)) / 2); }
.trilho__faixa::-webkit-scrollbar { display: none; }
.trilho__cartao { flex: 0 0 clamp(260px, 26vw, 360px); scroll-snap-align: start; }
.trilho__arte { position: relative; aspect-ratio: 4 / 3; border-radius: var(--raio-g); overflow: hidden; display: flex; align-items: flex-end; justify-content: space-between; padding: 20px; margin-bottom: 18px; }
.trilho__arte span { font-family: var(--fonte-titulo); font-size: 3.5rem; line-height: 1; }
.trilho__arte::after { content: ""; position: absolute; right: -6%; top: 14%; width: 55%; aspect-ratio: 128 / 58; background: center / contain no-repeat; opacity: .9; }
.trilho__arte--oliva::after, .trilho__arte--cobre::after { background-image: url("img/assinatura-branco-fina.svg"); }
.trilho__arte--creme::after { background-image: url("img/assinatura-oliva.svg"); }
.trilho__arte--tinta::after { background-image: url("img/assinatura-cobre-fina.svg"); }
.trilho__arte--oliva { background: var(--oliva-fundo); color: var(--branco); }
.trilho__arte--cobre { background: var(--cobre-texto); color: var(--branco); }
.trilho__arte--creme { background: var(--creme-2); color: var(--oliva-texto); }
.trilho__arte--tinta { background: var(--tinta); color: var(--cobre-claro); }
.trilho__cartao h3 { font-size: var(--h4); line-height: 1.15; margin-bottom: 8px; }
.trilho__cartao p { font-size: .9375rem; }
.trilho__setas { display: flex; justify-content: flex-end; gap: 8px; width: min(var(--largura), 100% - 2 * var(--margem)); margin: 24px auto 0; }
.seta { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--acao); background: transparent; color: var(--acao); display: grid; place-items: center; cursor: pointer; transition: background-color .2s ease, color .2s ease, opacity .2s ease; }
.seta svg { width: 18px; height: 18px; }
.seta:hover { background: var(--acao); color: var(--branco); }
.seta:disabled { opacity: .35; cursor: default; background: transparent; color: var(--acao); }

/* 9. depoimentos (member stories) */
.depos { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: clamp(12px, 1.4vw, 20px); align-items: stretch; }
.depo { margin: 0; border-radius: var(--raio-g); padding: clamp(24px, 2.4vw, 36px); display: flex; flex-direction: column; min-height: 26rem; color: var(--branco); position: relative; overflow: hidden; }
.depo::before { content: "“"; font-family: var(--fonte-titulo); font-size: 7rem; line-height: .7; opacity: .35; margin-bottom: 12px; }
.depo blockquote { margin: 0; font-family: var(--fonte-titulo); font-size: clamp(1.125rem, .5vw + 1rem, 1.375rem); line-height: 1.4; }
.depo figcaption { margin-top: auto; padding-top: 28px; display: grid; gap: 2px; }
.depo figcaption b { color: inherit; font-size: 1rem; }
.depo figcaption span { font-size: .8125rem; opacity: .85; }
.depo--oliva { background: var(--oliva-fundo); }
.depo--cobre { background: #8C5524; }
.depo--tinta { background: var(--tinta); }
.depo__mais { margin-top: 16px; font-size: .875rem; }
.depo__mais summary { cursor: pointer; text-decoration: underline; text-underline-offset: 4px; list-style: none; color: var(--cobre-claro); }
.depo__mais summary::-webkit-details-marker { display: none; }
.depo__mais p { margin-top: 12px; color: rgba(254, 254, 254, .9); }

/* 10. locais + atendimento particular (pricing) */
.locais { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 20px); }
.local { background: var(--branco); border: 1px solid var(--fio); border-radius: var(--raio-g); overflow: hidden; display: flex; flex-direction: column; }
.local > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.local__corpo { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 6px; flex: 1; font-size: .9375rem; }
.local__corpo h3 { font-size: 1.5rem; line-height: 1.15; margin-bottom: 4px; }
.local__corpo address { margin-bottom: 14px; }
.local__corpo .link-seta { margin-top: auto; }
.local--online { background: var(--creme); border-color: var(--creme); }
.local__onda { aspect-ratio: 4 / 3; display: grid; place-items: center; position: relative; }
.local__onda span { position: absolute; width: 30%; aspect-ratio: 1; border-radius: 50%; border: 1px solid var(--cobre); animation: onda 3.6s cubic-bezier(.2, .6, .3, 1) infinite; opacity: 0; }
.local__onda span:nth-child(2) { animation-delay: 1.2s; }
.local__onda span:nth-child(3) { animation-delay: 2.4s; }
.local__onda::after { content: ""; width: 26%; aspect-ratio: 1; border-radius: 50%; background: var(--acao) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='6.5' width='12' height='11' rx='2.5' fill='none' stroke='%23FEFEFE' stroke-width='1.5'/%3E%3Cpath d='m15 10.5 5-3v9l-5-3' fill='none' stroke='%23FEFEFE' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") center / 46% no-repeat; position: relative; }
@keyframes onda { 0% { transform: scale(.85); opacity: .9; } 100% { transform: scale(2.6); opacity: 0; } }
[data-movimento][data-pausado="true"] .local__onda span { animation-play-state: paused; }
.particular { margin-top: clamp(28px, 3vw, 40px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); background: var(--branco); border-radius: var(--raio-xl); box-shadow: 12px 32px 80px rgba(44, 49, 35, .1); padding: clamp(28px, 3.4vw, 52px); gap: 0; }
.particular__a { padding-right: clamp(24px, 3.4vw, 52px); border-right: 1px solid var(--fio); display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.particular__selo { display: inline-flex; gap: 8px; align-items: center; font-size: .8125rem; font-weight: 500; color: var(--acao); margin: 0; }
.particular__selo::before { content: ""; width: 16px; height: 16px; border-radius: 50%; border: 1px solid var(--acao); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2 7 10.5l4.5-5' fill='none' stroke='%2359643F' stroke-width='1.4'/%3E%3C/svg%3E") center / 12px no-repeat; }
.particular__a h3 { font-size: var(--h3); line-height: 1.05; }
.particular__a .botao { margin-top: auto; }
.particular__b { list-style: none; margin: 0; padding: 0 0 0 clamp(24px, 3.4vw, 52px); display: grid; gap: 12px; align-content: center; font-size: .9375rem; color: var(--tinta); }
.particular__b li { position: relative; padding-left: 28px; }
.particular__b li::before { content: ""; position: absolute; left: 0; top: .2em; width: 16px; height: 16px; border-radius: 50%; border: 1px solid var(--acao); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2 7 10.5l4.5-5' fill='none' stroke='%2359643F' stroke-width='1.4'/%3E%3C/svg%3E") center / 12px no-repeat; }

/* 11. dúvidas (faq-section, caixas) */
.faq { width: min(48rem, 100% - 2 * var(--margem)); display: grid; gap: 10px; }
.faq details { background: var(--creme); border-radius: var(--raio); border: 1px solid transparent; transition: border-color .2s ease, background-color .2s ease; }
.faq details[open] { background: var(--branco); border-color: var(--fio); }
.faq summary { list-style: none; cursor: pointer; position: relative; padding: 18px 64px 18px 22px; font-weight: 500; color: var(--tinta); font-size: .9375rem; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 6px; border: 1px solid var(--fio);
  background: var(--branco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.5v9M3.5 8h9' fill='none' stroke='%2359643F' stroke-width='1.3'/%3E%3C/svg%3E") center / 14px no-repeat; transition: transform .25s ease; }
.faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.faq details p { padding: 0 22px 20px; margin: 0; font-size: .9375rem; max-width: 42em; }
.faq__mais { justify-self: center; margin-top: 18px; }

/* 12. fecho (cta-section) */
.fecho { margin-top: var(--secao); background: var(--creme); padding: var(--secao) 0; }
.form { width: min(44rem, 100% - 2 * var(--margem)); margin: 0 auto; background: var(--branco); border-radius: var(--raio-xl); padding: clamp(24px, 3vw, 44px); box-shadow: 12px 32px 80px rgba(44, 49, 35, .08); }
.form__grade { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.form__linha { display: flex; flex-direction: column; gap: 6px; }
.form__linha--cheia { grid-column: 1 / -1; }
.form label { font-size: .8125rem; font-weight: 500; color: var(--tinta); }
.form input, .form select { font: 400 1rem/1.4 var(--fonte-texto); color: var(--tinta); min-height: 3rem; padding: 10px 16px; width: 100%; background: var(--papel); border: 1px solid var(--fio); border-radius: 999px; transition: border-color .2s ease; }
.form select { appearance: none; -webkit-appearance: none; padding-right: 42px;
  background: var(--papel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%2359643F' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 18px center; }
.form input::placeholder { color: #9A9E8F; }
.form input:hover, .form select:hover { border-color: var(--cobre); }
.form input[aria-invalid="true"] { border-color: #A4462B; }
.form__erro { color: #A4462B; font-size: .875rem; margin: 14px 0 0; text-align: center; }
.form .acoes-centro { margin-top: 24px; padding-inline: 0; }
.form__nota { text-align: center; font-size: .8125rem; color: var(--fraco); margin-top: 16px; }
.form__nota a { color: var(--acao); }

/* rodapé em cartão */
.rodape { background: var(--creme); padding: 0 var(--margem) 40px; }
.rodape__cartao { max-width: 1400px; margin: 0 auto; background: var(--papel); border-radius: var(--raio-xl); padding: clamp(32px, 4vw, 64px); display: grid; grid-template-columns: 1.3fr 1.2fr 1fr .8fr; gap: 40px; box-shadow: 0 1px 0 var(--fio); font-size: .875rem; }
.rodape__marca img { width: 200px; margin-bottom: 20px; }
.rodape__marca p { margin-bottom: 8px; }
.rodape__reg { color: var(--fraco); }
.rodape__col h2 { font-family: var(--fonte-texto); font-size: .8125rem; font-weight: 500; color: var(--tinta); margin-bottom: 14px; }
.rodape__col address { margin-bottom: 12px; line-height: 1.6; }
.rodape__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.rodape__col a { text-decoration: none; display: inline-block; padding: 5px 0; }
.rodape__col a:hover { color: var(--acao); text-decoration: underline; text-underline-offset: 4px; }
.rodape__legal { max-width: 1400px; margin: 24px auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 40px; font-size: .75rem; color: var(--fraco); }
.rodape__legal p { margin: 0; max-width: 62em; }

/* movimento reduzido */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero__vidro { display: none; }
  .instituicoes__trilho, .local__onda span { animation: none; }
  .js [data-anima] .mini__balao, .js [data-anima] .mini__digitando, .js [data-anima] .mini__item, .js .dado--alto .linha-tempo li { opacity: 1; transform: none; animation: none !important; }
  .mini__digitando { display: none !important; }
  * { transition-duration: .01ms !important; }
}

/* telas médias */
@media (max-width: 1180px) {
  .topo__links { gap: 20px; }
  .hero__fatos { display: none; }
  .hero__conteudo { grid-template-columns: 1fr; }
  .mosaico { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mosaico__col--destaque, .mosaico__col:nth-child(4) { margin-top: 0; }
  .bio__grade { grid-template-columns: 1fr; }
  .rodape__cartao { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1020px) {
  .topo__links {
    position: fixed; inset: calc(var(--topo-altura) + 2rem) var(--margem) auto; flex-direction: column; gap: 0; margin: 0;
    background: var(--papel); color: var(--tinta); border-radius: var(--raio); padding: 8px 20px 20px; box-shadow: 0 24px 60px rgba(44, 49, 35, .18);
    visibility: hidden; opacity: 0; transform: translateY(-.75rem); transition: opacity .2s ease, transform .2s ease, visibility 0s .2s;
  }
  .topo__links.is-aberto { visibility: visible; opacity: 1; transform: none; transition: opacity .2s ease, transform .2s ease; }
  .topo__links a { font-size: 1.0625rem; padding: 14px 0; border-bottom: 1px solid var(--fio); opacity: 1; }
  .topo__links .topo__links-agendar { display: block; border-bottom: 0; color: var(--acao); font-weight: 500; }
  .topo__acoes { margin-left: auto; }
  .topo__menu { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; background: transparent; border: 0; cursor: pointer; color: inherit; }
  .topo__menu-linhas, .topo__menu-linhas::before, .topo__menu-linhas::after { content: ""; display: block; width: 20px; height: 1.5px; background: currentColor; transition: transform .2s ease; }
  .topo__menu-linhas { position: relative; }
  .topo__menu-linhas::before { position: absolute; top: -6px; }
  .topo__menu-linhas::after { position: absolute; top: 6px; }
  .topo__menu[aria-expanded="true"] .topo__menu-linhas { background: transparent; }
  .topo__menu[aria-expanded="true"] .topo__menu-linhas::before { transform: translateY(6px) rotate(45deg); }
  .topo__menu[aria-expanded="true"] .topo__menu-linhas::after { transform: translateY(-6px) rotate(-45deg); }
  .cartoes3 { grid-template-columns: 1fr; max-width: 32rem; }
  .cartao3 { min-height: 0; }
  .grade6 { grid-template-columns: 1fr 1fr; }
  .grade6__cel:nth-child(3n) { border-right: 1px solid var(--fio); }
  .grade6__cel:nth-child(2n) { border-right: 0; }
  .publicos { grid-template-columns: 1fr 1fr; }
  .publicos__rotulo { grid-column: 1 / -1; }
  .depos { grid-template-columns: 1fr 1fr; }
  .depo--oliva { grid-column: 1 / -1; min-height: 0; }
  .locais { grid-template-columns: 1fr 1fr; }
  .local--online { grid-column: 1 / -1; flex-direction: row; }
  .local--online .local__onda { width: 40%; aspect-ratio: auto; }
  .particular { grid-template-columns: 1fr; }
  .particular__a { padding-right: 0; border-right: 0; padding-bottom: 28px; border-bottom: 1px solid var(--fio); }
  .particular__b { padding: 28px 0 0; }
}

@media (max-width: 768px) {
  :root { --topo-altura: 3.5rem; }
  .topo-camada { padding: .625rem var(--margem); margin-bottom: calc(-1 * (var(--topo-altura) + 1.25rem)); }
  .topo__nav { padding: 0 .5rem 0 1rem; gap: 12px; }
  .topo__logo { width: 128px; }
  .botao--topo { min-height: 2.5rem; padding: .5rem 1rem; font-size: .8125rem; }
  /* celular: foto em cima, texto embaixo, sem o título passar sobre o rosto */
  .hero { height: auto; min-height: 0; max-height: none; display: flex; flex-direction: column; background: #1c1f16; }
  .hero__fundo { position: relative; inset: auto; height: 60svh; min-height: 380px; }
  .hero__conteudo { position: relative; inset: auto; width: auto; margin: -16svh var(--margem) 0; padding-bottom: 40px; }
  .hero__fundo::after, .is-vidro::after { opacity: 1; background: linear-gradient(180deg, rgba(28, 31, 22, 0) 52%, rgba(28, 31, 22, .7) 76%, #1c1f16 100%); }
  .hero__titulo { line-height: .96; }
  .instituicoes { -webkit-mask-image: none; mask-image: none; }
  .letreiro__linha { display: none; }
  .letreiro { padding: 0; }
  .letreiro::before, .letreiro::after { display: none; }
  .letreiro__cartao { position: static; transform: none; margin: 0 auto; width: min(100% - 2 * var(--margem), 26rem); }
  .pausa-movimento { display: none; }
  .grade6 { grid-template-columns: 1fr; }
  .grade6__cel { border-right: 0 !important; }
  .publicos { grid-template-columns: 1fr; }
  .mosaico { grid-template-columns: 1fr 1fr; }
  .selo { min-height: 7rem; padding: 18px 14px; }
  .selo b { font-size: 1.25rem; }
  .selo--grande b { font-size: 1.375rem; }
  .foto-cartao q { font-size: .8125rem; }
  .bio__cartoes { grid-template-columns: 1fr; }
  .bio__texto { font-size: 1rem; }
  .js .bio__resto:not(.is-aberto) { display: none; }
  .js .bio__mais { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; padding: 10px 0; background: none; border: 0; cursor: pointer; font: 500 .9375rem/1 var(--fonte-texto); color: var(--acao); text-decoration: underline; text-underline-offset: 5px; }
  .js .bio__mais::after { content: ""; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
  .js .bio__mais[aria-expanded="true"]::after { transform: translateY(2px) rotate(-135deg); }
  .depos, .locais { grid-template-columns: 1fr; }
  .depo { min-height: 0; }
  .local--online { flex-direction: column; }
  .local--online .local__onda { width: auto; aspect-ratio: 16 / 9; }
  .form__grade { grid-template-columns: 1fr; }
  .rodape__cartao { grid-template-columns: 1fr; }
  .trilho__cartao { flex-basis: 78vw; }
}

@media (max-width: 420px) {
  .so-largo { display: none; }
  .hero__titulo { font-size: 2.375rem; }
  .hero__sub { font-size: .9375rem; margin-bottom: 22px; }
  .mosaico { grid-template-columns: 1fr; }
  .acoes-centro .botao, .acoes .botao { width: 100%; max-width: 22rem; }
  .topo__logo { width: 112px; }
}
