/* Acolhe Serviços em Saúde — folha única, v10 (2026-10-16).
   Direção: capa de revista. Petróleo profundo nas superfícies escuras (topo, hero, cabeçalhos,
   faixa, fecho, rodapé), marfim nas de leitura, champanhe só em filetes, números e destaques.
   Playfair Display fina nos títulos, Figtree no texto. Um motivo só: a porta (o arco do logo).
   v9 e anteriores: /srv/data/prospectos/sitios/1740/previa/site-v*.css */

@font-face { font-family: "Playfair Display"; src: url("../fonts/playfair.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Playfair Display"; src: url("../fonts/playfair-italic.woff2") format("woff2"); font-weight: 400 700; font-style: italic; font-display: swap; }
@font-face { font-family: "Figtree"; src: url("../fonts/figtree.woff2") format("woff2"); font-weight: 300 800; font-style: normal; font-display: swap; }

:root {
  --marfim: #F6F1E9;
  --marfim-2: #EFE8DC;
  --papel: #FBF8F2;
  --tinta: #10272D;
  --tinta-suave: #4E5F64;
  --linha: #E0D6C6;
  --mar: #0E5F6B;            /* links e destaques sobre marfim */
  --petroleo: #0E3B44;
  --petroleo-claro: #1B5862;
  --noite: #072A31;
  --champanhe: #C8A66B;
  --champanhe-claro: #E2CDA2;
  --ouro-texto: #7E5F2B;     /* champanhe legível sobre marfim (5:1) */
  --sobre-escuro: rgba(246, 241, 233, .78);
  --filete: rgba(226, 205, 162, .28);
  --alerta-fundo: #FBEDE6;
  --alerta-tinta: #6A2412;
  --coral: #C4502E;
  --pend-tinta: #7A4A00;
  --pend-fundo: #FFF2D6;

  --display: "Playfair Display", Georgia, "Times New Roman", serif;
  --texto: "Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;
  --titulo: var(--display);

  --r-pilula: 999px;
  --r-foto: 4px;
  --passo: clamp(4.5rem, 2.8rem + 5.6vw, 8.5rem);
  --topo: 68px;
  --suave: cubic-bezier(.16, 1, .3, 1);
  --grao: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ── base ──────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--topo) + 1rem); scrollbar-color: var(--petroleo) var(--marfim); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0; background: var(--marfim); color: var(--tinta);
  font-family: var(--texto); font-size: clamp(1.06rem, 1rem + .22vw, 1.16rem); line-height: 1.62;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; accent-color: var(--mar);
}
::selection { background: var(--petroleo); color: var(--marfim); }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: var(--mar); text-decoration-thickness: 1px; text-underline-offset: .22em; }
a:hover { color: var(--petroleo); }
:focus-visible { outline: 2px solid var(--mar); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; letter-spacing: -.012em; text-wrap: balance; }
strong { font-weight: 650; }
.wrap { width: min(100% - 2.75rem, 1160px); margin-inline: auto; }
.ico { width: 1.25em; height: 1.25em; flex: none; }
.pular { position: absolute; left: 1rem; top: -4rem; z-index: 60; background: var(--noite); color: var(--marfim); padding: .7rem 1rem; border-radius: 6px; }
.pular:focus { top: 1rem; }
.pular:hover { color: var(--marfim); }
.lead { font-size: clamp(1.12rem, 1.04rem + .4vw, 1.3rem); line-height: 1.6; color: var(--tinta-suave); max-width: 34em; }
.lead-2 { margin-top: 1rem; color: var(--tinta-suave); font-size: 1.04em; max-width: 34em; }
.pendente { display: inline-block; background: var(--pend-fundo); color: var(--pend-tinta); font-size: .86em; font-weight: 600; line-height: 1.3; padding: .15em .45em; border-radius: 4px; }
/* o destaque de cada título: itálico, petróleo no claro e champanhe no escuro */
.ac { font-style: italic; color: var(--mar); }
:is(.hero, .pag-cab, .faixa, .fecho, .lado-cartao, .rodape) .ac { color: var(--champanhe-claro); }
/* grão de filme nas superfícies escuras: tira o ar de cor chapada */
.grao, .pag-cab::after, .fecho::after, .faixa::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 4; opacity: .085; mix-blend-mode: overlay; background-image: var(--grao); }
.escuro-base, .pag-cab, .faixa, .fecho { position: relative; isolation: isolate; overflow: clip; color: var(--marfim);
  background: radial-gradient(120% 80% at 70% 0%, var(--petroleo-claro) 0%, var(--petroleo) 45%, var(--noite) 100%); }
:is(.hero, .topo, .pag-cab, .faixa, .fecho, .lado-cartao, .rodape) :focus-visible { outline-color: var(--champanhe-claro); }

/* rótulo pequeno em versalete espaçado */
.rotulo, .hero-quem, .eq-rot, .menu-grupo, .rodape h2, .eq-area-t, .forma-tipo { font-family: var(--texto); font-size: .74rem; font-weight: 650; letter-spacing: .2em; text-transform: uppercase; }

/* ── botões ────────────────────────────────────────────────────────────── */
.btn {
  position: relative; overflow: hidden; isolation: isolate;
  display: inline-flex; align-items: center; justify-content: center; gap: .65rem;
  min-height: 56px; padding: .85rem 1.75rem; border-radius: var(--r-pilula);
  background: linear-gradient(180deg, #145561, var(--petroleo)); color: var(--marfim); text-decoration: none;
  font-family: var(--texto); font-weight: 600; font-size: 1rem; letter-spacing: .01em; line-height: 1.15;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 0 0 1px rgba(200, 166, 107, .35), 0 16px 30px -18px rgba(7, 42, 49, .8);
  transition: transform .35s var(--suave), box-shadow .35s var(--suave), background .3s;
}
.btn:hover { color: var(--marfim); transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 0 0 1px rgba(200, 166, 107, .6), 0 22px 36px -18px rgba(7, 42, 49, .85); }
.btn:active { transform: none; }
.btn .ico { width: 1.4em; height: 1.4em; }
.btn-claro { background: linear-gradient(180deg, #FCF8F1, #EEE4D3); color: var(--noite);
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(226, 205, 162, .5), 0 18px 36px -18px rgba(0, 0, 0, .65); }
.btn-claro:hover { color: var(--noite); box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(226, 205, 162, .85), 0 24px 40px -18px rgba(0, 0, 0, .7); }
/* um reflexo que cruza o botão de vez em quando */
.btn-brilho::after, .fecho .btn::after, .lado-cartao .btn::after { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: -40%; width: 30%; transform: skewX(-20deg); pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .8), transparent); }
@media (prefers-reduced-motion: no-preference) {
  .btn-brilho::after, .fecho .btn::after, .lado-cartao .btn::after { animation: reflexo 6.5s ease-in-out 2.6s infinite; }
}
@keyframes reflexo { 0%, 72% { left: -40%; } 88%, 100% { left: 125%; } }
.link-seta { display: inline-flex; align-items: center; gap: .55rem; min-height: 44px; font-weight: 600; font-size: 1rem; text-decoration: none; color: var(--mar); }
.link-seta .ico { width: 1.15em; height: 1.15em; transition: transform .35s var(--suave); }
.link-seta:hover .ico { transform: translateX(5px); }

/* ── topo ──────────────────────────────────────────────────────────────── */
.topo { position: sticky; top: 0; z-index: 40; color: var(--marfim);
  background: rgba(7, 42, 49, .88); -webkit-backdrop-filter: saturate(1.3) blur(14px); backdrop-filter: saturate(1.3) blur(14px);
  border-bottom: 1px solid rgba(226, 205, 162, .14); }
.topo-in { display: flex; align-items: center; gap: 1.5rem; min-height: var(--topo); }
.marca { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; color: var(--marfim); flex: none; }
.marca:hover { color: var(--marfim); }
.marca .logo-marca { width: auto; height: 38px; }
.marca-txt { display: grid; line-height: 1.05; }
.marca-nome { font-family: var(--display); font-weight: 500; font-size: 1.36rem; letter-spacing: .005em; }
.marca-sub { margin-top: .3rem; font-size: .6rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: rgba(246, 241, 233, .7); }
.menu { margin-left: auto; }
.menu-desk { display: flex; gap: clamp(1.2rem, 2.4vw, 2.4rem); }
.menu-desk a { display: inline-flex; align-items: center; min-height: 44px; color: rgba(246, 241, 233, .82); text-decoration: none; font-weight: 500; font-size: .98rem; letter-spacing: .01em;
  background: linear-gradient(var(--champanhe), var(--champanhe)) no-repeat 50% 80% / 0 1px; transition: background-size .35s var(--suave), color .2s; }
.menu-desk a:hover, .menu-desk a[aria-current] { color: var(--marfim); background-size: 100% 1px; }
.topo-acoes { display: flex; align-items: center; gap: .6rem; }
.btn-topo { min-height: 44px; padding: .5rem 1.15rem; font-size: .92rem;
  background: linear-gradient(180deg, #FCF8F1, #EEE4D3); color: var(--noite); box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(226, 205, 162, .45); }
.btn-topo:hover { color: var(--noite); }
.btn-topo .ico { width: 1.3em; height: 1.3em; }
.ico-wa-mono { display: none; }
.menu-det { display: none; position: relative; }
.btn-icone { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(246, 241, 233, .35); color: var(--marfim); cursor: pointer; list-style: none; transition: background .25s, border-color .25s; }
.btn-icone::-webkit-details-marker { display: none; }
.hamb { position: relative; display: block; width: 18px; height: 10px; }
.hamb i { position: absolute; left: 0; right: 0; height: 1.5px; border-radius: 2px; background: currentColor; transition: transform .4s var(--suave), opacity .2s, top .4s var(--suave); }
.hamb i:nth-child(1) { top: 0; } .hamb i:nth-child(2) { top: 4.5px; opacity: 0; } .hamb i:nth-child(3) { top: 9px; }
.menu-det[open] .hamb i:nth-child(1) { top: 4.5px; transform: rotate(45deg); }
.menu-det[open] .hamb i:nth-child(3) { top: 4.5px; transform: rotate(-45deg); }
.menu-det[open] .btn-icone { border-color: var(--champanhe); }
.menu-pe { display: none; }

/* ── hero: a capa com o nome em ouro e a Tais na porta ─────────────────── */
.hero { --h: max(calc(108vw * 1.265), 80svh); --nome: 31vw; --tag: 1.45rem;
  position: relative; isolation: isolate; overflow: hidden; color: var(--marfim);
  height: calc(100svh - var(--topo)); min-height: 540px;
  background: radial-gradient(110% 62% at 50% 26%, #1B5862 0%, var(--petroleo) 42%, var(--noite) 100%); }
.porta { border-radius: 999px 999px 0 0; }
.hero-porta { position: absolute; z-index: 0; left: 50%; top: max(0px, calc(var(--nome) * .62 - var(--topo) + var(--tag))); bottom: 0; width: 86vw; transform: translateX(-50%); overflow: hidden;
  background: radial-gradient(70% 45% at 50% 32%, #3E8791 0%, #276570 38%, #164A54 70%, rgba(14, 59, 68, 0) 100%); }
.porta::before, .porta::after { content: ""; position: absolute; border-radius: inherit; border: 1px solid; border-bottom: 0; pointer-events: none; }
.porta::before { inset: 0; border-color: rgba(226, 205, 162, .55); -webkit-mask: linear-gradient(#000 55%, transparent 85%); mask: linear-gradient(#000 55%, transparent 85%); }
.porta::after { inset: 9px 9px 0; border-color: rgba(226, 205, 162, .22); -webkit-mask: linear-gradient(#000 45%, transparent 75%); mask: linear-gradient(#000 45%, transparent 75%); }
.hero-nome { position: absolute; z-index: 1; inset: calc(.35rem + var(--tag)) 0 auto; display: flex; justify-content: center;
  font-family: var(--display); font-weight: 400; font-size: var(--nome); line-height: .9; letter-spacing: -.03em; user-select: none; }
.hero-tag { position: absolute; z-index: 1; inset: .85rem 0 auto; display: flex; justify-content: center; align-items: center;
  font-size: .64rem; font-weight: 650; letter-spacing: .32em; text-transform: uppercase; color: var(--champanhe-claro); }
.hero-tag i { font-style: normal; color: var(--champanhe); padding: 0 .55em; }
.hero-nome span { display: inline-block; color: transparent; -webkit-background-clip: text; background-clip: text;
  /* camada 1: o reflexo que atravessa uma vez; camada 2: o ouro com volume */
  background-image: linear-gradient(100deg, transparent 40%, rgba(255, 249, 232, .95) 50%, transparent 60%),
                    linear-gradient(176deg, #EBD6AA 8%, #D6B77E 46%, #AE8850 80%, #D2B680 100%);
  background-size: 300% 100%, 100% 100%; background-position: 120% 0, 0 0; background-repeat: no-repeat; }
.hero-luz { position: absolute; z-index: 1; left: 50%; top: calc(var(--nome) * 1.3 + var(--h) * .02 - var(--topo) + var(--tag)); width: 120vw; aspect-ratio: 1; transform: translateX(-50%); pointer-events: none;
  background: radial-gradient(closest-side, rgba(226, 205, 162, .28), rgba(226, 205, 162, .09) 45%, transparent 72%); }
.hero-foto { position: absolute; z-index: 2; left: 50%; top: calc(var(--nome) * 1.3 - var(--h) * .14 - var(--topo) + var(--tag)); height: var(--h); width: auto; max-width: none; transform: translateX(-50%);
  filter: drop-shadow(0 0 1.5px rgba(243, 227, 191, .5)) drop-shadow(0 0 22px rgba(226, 205, 162, .2)) drop-shadow(0 24px 40px rgba(0, 0, 0, .45)); }
.hero-veu { position: absolute; z-index: 3; inset: auto 0 0; height: 60%; pointer-events: none;
  background: linear-gradient(to bottom, rgba(7, 42, 49, 0) 0%, rgba(7, 42, 49, .8) 34%, var(--noite) 62%); }
.hero-txt { position: absolute; z-index: 5; left: 0; right: 0; bottom: 0; padding-bottom: calc(1.4rem + env(safe-area-inset-bottom, 0px)); }
.hero-quem { display: flex; align-items: center; gap: .7rem; color: var(--champanhe-claro); }
.hero-quem::before { content: ""; width: 26px; height: 1px; background: var(--champanhe); transform-origin: left; }
.hero h1 { margin-top: .75rem; font-size: clamp(1.85rem, 7.6vw, 3.6rem); line-height: 1.08; color: var(--marfim); max-width: 15em; }
.hero h1 em { color: var(--champanhe-claro); }
.hero-servicos { margin-top: .8rem; max-width: 30em; font-size: 1rem; line-height: 1.4; color: var(--sobre-escuro); }
.hero-formas { margin-top: .85rem; font-size: .74rem; letter-spacing: .15em; text-transform: uppercase; }
.hero-formas a { color: var(--sobre-escuro); text-decoration: none; }
.hero-formas a:hover { color: var(--marfim); }
.hero-formas i { font-style: normal; color: var(--champanhe); padding: 0 .4em; }
.hero-txt .btn { margin-top: 1.1rem; width: 100%; }
.hero .grao { z-index: 4; }

/* entrada: o nome se acende letra a letra, a foto chega desfocada e assenta, depois o texto */
@media (prefers-reduced-motion: no-preference) {
  .hero-nome span { animation: letra 1.5s var(--suave) both, brilho-ouro 1.8s ease-in-out both;
    animation-delay: calc(.1s + var(--i) * .07s), calc(1.4s + var(--i) * .06s); }
  .hero-porta { animation: porta-sobe 1.6s var(--suave) .05s both; }
  .hero-tag { animation: aparece 1.2s ease-out .15s both; }
  .hero-luz { animation: aparece 2s ease-out .3s both, respira 7s ease-in-out 2.3s infinite alternate; }
  .hero-foto { animation: assenta 1.6s var(--suave) .25s both; }
  .hero-txt > * { animation: sobe 1s var(--suave) both; }
  .hero-txt > :nth-child(1) { animation-delay: .95s; } .hero-txt > :nth-child(2) { animation-delay: 1.05s; }
  .hero-txt > :nth-child(3) { animation-delay: 1.2s; } .hero-txt > :nth-child(4) { animation-delay: 1.3s; }
  .hero-quem::before { animation: traco .9s var(--suave) 1.1s both; }
  @supports (animation-timeline: scroll()) {
    .hero-nome { animation: nome-fica linear both; animation-timeline: scroll(); animation-range: 0 100svh; }
    @keyframes nome-fica { to { transform: translateY(16svh); } }
  }
}
@keyframes letra { from { opacity: 0; transform: translateY(.18em); filter: blur(6px); } }
@keyframes brilho-ouro { from { background-position: 120% 0, 0 0; } to { background-position: -20% 0, 0 0; } }
@keyframes porta-sobe { from { opacity: 0; transform: translateX(-50%) translateY(30px) scaleY(.94); } }
@keyframes assenta { from { opacity: 0; transform: translateX(-50%) translateY(26px) scale(1.04); filter: blur(10px); } }
@keyframes aparece { from { opacity: 0; } }
@keyframes respira { from { opacity: .75; transform: translateX(-50%) scale(.96); } to { opacity: 1; transform: translateX(-50%) scale(1.04); } }
@keyframes sobe { from { opacity: 0; transform: translateY(14px); } }
@keyframes traco { from { transform: scaleX(0); } }

/* ── cabeçalhos de seção ───────────────────────────────────────────────── */
.sec-cab { max-width: 44rem; }
.sec-cab h2, .sit-cab h2, .faq-grid > h2, .insta-cab h2, .onde h2, .eq-cab h2 { font-size: clamp(2rem, 1.4rem + 2.4vw, 3.3rem); line-height: 1.08; }
.sec-cab h2::before, .sit-cab h2::before, .faq-grid > h2::before, .insta-cab h2::before, .onde h2::before, .outras h2::before {
  content: ""; display: block; width: 2.2rem; height: 1px; background: var(--champanhe); margin-bottom: 1.3rem; }
.sec-cab p, .sit-cab p, .insta-cab p { margin-top: 1.15rem; color: var(--tinta-suave); font-size: 1.08em; line-height: 1.6; }

/* ── formas de atendimento: quatro colunas finas ───────────────────────── */
.formas { padding-block: var(--passo); background: var(--marfim); }
.formas-lista { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 3rem; border-top: 1px solid var(--linha); }
.forma { position: relative; display: flex; flex-direction: column; gap: .6rem; padding: 1.8rem 1.6rem 1.9rem 0; border-bottom: 1px solid var(--linha); }
.forma + .forma { padding-left: 1.6rem; border-left: 1px solid var(--linha); }
.forma-n { font-family: var(--display); font-style: italic; font-size: 1.05rem; color: var(--ouro-texto); }
.forma h3 { font-size: 1.5rem; line-height: 1.15; }
.forma p { color: var(--tinta-suave); font-size: .98rem; line-height: 1.55; }
.forma-liminar, .forma + .forma-liminar { padding-inline: 1.6rem; border-left: 0; border-bottom-color: transparent; color: var(--marfim);
  background: radial-gradient(130% 120% at 100% 0%, var(--petroleo-claro) 0%, var(--petroleo) 55%, var(--noite) 100%); }
.forma-liminar h3 { color: var(--marfim); }
.forma-liminar p { color: var(--sobre-escuro); }
.forma-liminar .forma-n { color: var(--champanhe-claro); }
.formas-link { margin-top: 1.8rem; }

/* ── equipe: o 13 e os nomes em serifa ─────────────────────────────────── */
.eq { padding-block: var(--passo); background: var(--papel); border-block: 1px solid var(--linha); }
.eq-in { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 2rem clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.eq-cab { position: sticky; top: calc(var(--topo) + 2rem); }
.eq-num { font-family: var(--texto); font-weight: 300; font-size: clamp(7rem, 4rem + 9vw, 12rem); line-height: .8; letter-spacing: -.06em; margin-left: -.05em; color: #A9844B; }
.eq-rot { margin-top: 1rem; color: var(--ouro-texto); }
.eq-cab h2 { margin-top: 1.2rem; max-width: 12em; }
.eq-lista { display: grid; gap: clamp(2rem, 1.4rem + 1.6vw, 2.8rem); padding-top: .4rem; }
.eq-linha { padding-top: 1.4rem; border-top: 1px solid var(--linha); }
.eq-area-t { display: flex; align-items: center; gap: .7rem; color: var(--mar); }
.eq-ico { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--linha); color: var(--mar); }
.eq-ico .ico { width: 17px; height: 17px; }
.eq-nomes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.6rem; row-gap: .1rem; margin-top: .9rem; }
.eq-nomes li { font-family: var(--display); font-size: clamp(1.35rem, 1.05rem + .8vw, 1.7rem); line-height: 1.35; color: var(--tinta); transition: color .3s; }
.eq-nomes li:hover { color: var(--mar); }

/* ── faixa: a frase delas e quem está à frente ─────────────────────────── */
.faixa { padding-block: clamp(4rem, 2.4rem + 5vw, 7rem); }
.faixa-grid { position: relative; z-index: 5; display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
.porta-foto { position: relative; margin: 0; aspect-ratio: 4 / 5; overflow: hidden;
  background: radial-gradient(70% 50% at 50% 34%, #3E8791 0%, #276570 40%, #164A54 72%, rgba(14, 59, 68, 0) 100%); }
/* encuadre al busto: la foto entra un 35% más grande, anclada arriba */
.porta-foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 6%; transform: scale(1.35); transform-origin: 50% 4%;
  filter: drop-shadow(0 0 1.5px rgba(243, 227, 191, .45)) drop-shadow(0 18px 30px rgba(0, 0, 0, .4)); }
/* o degradê vai no marco inteiro (não na imagem ampliada), para a foto se fundir embaixo sem corte reto */
.porta-foto { -webkit-mask-image: linear-gradient(#000 66%, transparent 97%); mask-image: linear-gradient(#000 66%, transparent 97%); }
/* a faixa ficou só com a frase (2026-10-16: a foto da Tais já está no hero, Luis pediu tirar a repetição) */
.faixa-grid { grid-template-columns: minmax(0, 1fr); max-width: 52rem; }
.faixa blockquote::before { content: "\201C"; display: block; height: .45em; margin-bottom: .2em; font-family: var(--display); font-size: clamp(4rem, 3rem + 3vw, 6rem); line-height: 1; color: var(--champanhe); }
.faixa blockquote p { font-family: var(--display); font-style: italic; font-size: clamp(1.45rem, 1.05rem + 1.6vw, 2.25rem); line-height: 1.3; color: var(--marfim); text-wrap: pretty; }
.faixa-cita figcaption { display: flex; align-items: center; gap: .75rem; margin-top: 1.4rem; color: var(--champanhe-claro); font-size: .74rem; font-weight: 650; letter-spacing: .2em; text-transform: uppercase; }
.faixa-cita figcaption::before { content: ""; width: 26px; height: 1px; background: var(--champanhe); }
.faixa-frente { display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); gap: .9rem 2.6rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--filete); }
.faixa-frente li { display: flex; flex-direction: column; gap: .15rem; color: var(--sobre-escuro); font-size: .95rem; line-height: 1.4; }
.faixa-frente strong { font-family: var(--display); font-weight: 400; font-size: 1.2rem; color: var(--marfim); }
.faixa-link { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; margin-top: 1.2rem; color: var(--champanhe-claro); font-weight: 600; text-decoration: none; }
.faixa-link .ico { width: 18px; height: 18px; transition: transform .3s var(--suave); }
.faixa-link:hover { color: var(--marfim); } .faixa-link:hover .ico { transform: translateX(4px); }

/* ── como começa: três passos numa régua fina ──────────────────────────── */
.como { padding-block: var(--passo); }
.passos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; margin-top: 3rem; }
.passos li { position: relative; }
.passo-n { position: relative; z-index: 1; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--champanhe); background: var(--marfim);
  font-family: var(--display); font-style: italic; font-size: 1.3rem; color: var(--ouro-texto); }
.passos li:first-child .passo-n { background: var(--petroleo); border-color: var(--petroleo); color: var(--champanhe-claro); }
.passos li:not(:last-child)::after { content: ""; position: absolute; top: 26px; left: 52px; right: -2.5rem; height: 1px; background: var(--linha); }
.passos h3 { font-size: 1.5rem; line-height: 1.18; margin-top: 1.4rem; }
.passos p { margin-top: .6rem; color: var(--tinta-suave); max-width: 22em; }

/* ── situações ─────────────────────────────────────────────────────────── */
.sit { padding-block: var(--passo); background: var(--marfim-2); border-top: 1px solid var(--linha); }
.sit-grid { display: grid; grid-template-columns: minmax(0, 4.3fr) minmax(0, 7.7fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.sit-cab { position: sticky; top: calc(var(--topo) + 2rem); }
.sit-outra { margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid var(--linha); max-width: 22rem; }
.sit-outra p { margin: 0; font-family: var(--display); font-style: italic; font-size: 1.15rem; color: var(--tinta); }
.sit-cartoes { display: grid; counter-reset: sit; border-top: 1px solid var(--linha); }
.sit-cartao { counter-increment: sit; position: relative; padding: 1.8rem 3.5rem 1.6rem 0; border-bottom: 1px solid var(--linha); transition: padding .4s var(--suave); }
.sit-cartao::before { content: counter(sit, decimal-leading-zero); position: absolute; top: 1.9rem; right: 0; font-family: var(--display); font-style: italic; font-size: 1.05rem; color: var(--ouro-texto); }
.sit-cartao h3 { font-size: clamp(1.4rem, 1.15rem + .9vw, 1.85rem); line-height: 1.16; transition: color .3s; }
.sit-fala { margin-top: .6rem; font-family: var(--display); font-style: italic; font-size: 1.12em; line-height: 1.4; color: var(--mar); }
.sit-desc { margin-top: .5rem; color: var(--tinta-suave); max-width: 36em; }
.sit-link { margin-top: .5rem; }
.sit-link::after { content: ""; position: absolute; inset: 0; }
.sit-cartao:hover { padding-left: .6rem; }
.sit-cartao:hover h3 { color: var(--mar); }
.sit-cartao:hover .sit-link .ico { transform: translateX(5px); }
/* lista compacta das páginas internas */
.sit-lista:not(.sit-cartoes) { border-bottom: 1px solid var(--linha); }
.sit-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1.5rem; align-items: center; padding: 1.5rem 0; border-top: 1px solid var(--linha); color: var(--tinta); text-decoration: none; transition: padding .4s var(--suave); }
.sit-item:hover { color: var(--tinta); padding-left: .5rem; }
.sit-frase { font-family: var(--display); font-style: italic; font-size: clamp(1.15rem, 1rem + .8vw, 1.45rem); line-height: 1.28; transition: color .25s; }
.sit-meta { grid-column: 1; margin-top: .45rem; }
.sit-nome { font-size: .74rem; font-weight: 650; letter-spacing: .16em; text-transform: uppercase; color: var(--mar); }
.sit-seta { grid-column: 2; grid-row: 1 / span 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--linha); color: var(--mar); transition: background .3s, color .3s, border-color .3s, transform .4s var(--suave); }
.sit-seta .ico { width: 18px; height: 18px; }
.sit-item:hover .sit-frase { color: var(--mar); }
.sit-item:hover .sit-seta { background: var(--petroleo); border-color: var(--petroleo); color: var(--marfim); transform: translateX(3px); }
.sit-compacta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3rem; border-bottom: 0 !important; }
.sit-compacta li { border-bottom: 1px solid var(--linha); margin-bottom: -1px; }

/* ── Instagram ─────────────────────────────────────────────────────────── */
.insta { padding-block: var(--passo); background: var(--marfim); border-top: 1px solid var(--linha); }
.insta-cab { display: grid; justify-items: start; max-width: 40rem; }
.insta-perfil { display: inline-flex; align-items: center; gap: .85rem; color: var(--tinta); text-decoration: none; }
.insta-perfil:hover { color: var(--tinta); }
.insta-perfil strong { display: block; font-weight: 650; font-size: 1.02rem; }
.insta-perfil > span:last-child { color: var(--tinta-suave); font-size: .92rem; line-height: 1.25; }
.insta-avatar { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; flex: none; border: 2px solid transparent;
  background: linear-gradient(var(--papel), var(--papel)) padding-box, conic-gradient(from 210deg, #F9CE34, #EE2A7B, #6228D7, #EE2A7B, #F9CE34) border-box; }
.insta-avatar .logo-insta { width: auto; height: 30px; }
.insta-cab h2 { margin-top: 1.6rem; }
.insta-grade { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .6rem; margin-top: 2.4rem; }
.insta-grade a { position: relative; display: block; overflow: hidden; border-radius: var(--r-foto); aspect-ratio: 4 / 5; background: var(--marfim-2); }
.insta-grade img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--suave); }
.insta-grade a::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(16, 39, 45, .08); background: linear-gradient(180deg, transparent 55%, rgba(7, 42, 49, .45)); opacity: .0; transition: opacity .4s; }
.insta-grade a:hover img, .insta-grade a:focus-visible img { transform: scale(1.05); }
.insta-grade a:hover::after { opacity: 1; }
.insta-reel { position: absolute; top: .5rem; right: .5rem; z-index: 1; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(7, 42, 49, .55); color: #fff; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.insta-reel .ico { width: 13px; height: 13px; }
.insta-seguir { margin-top: 2rem; }

/* ── dúvidas ───────────────────────────────────────────────────────────── */
.faq { padding-block: var(--passo); background: var(--papel); border-top: 1px solid var(--linha); }
.faq-grid { display: grid; grid-template-columns: minmax(0, 4.3fr) minmax(0, 7.7fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.faq-lista { border-bottom: 1px solid var(--linha); interpolate-size: allow-keywords; }
.faq details { border-top: 1px solid var(--linha); }
.faq summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; min-height: 72px; padding-block: 1.2rem; cursor: pointer; list-style: none;
  font-family: var(--display); font-size: clamp(1.15rem, 1.05rem + .45vw, 1.35rem); line-height: 1.3; transition: color .25s; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--linha);
  background: linear-gradient(var(--mar), var(--mar)) center / 11px 1px no-repeat, linear-gradient(var(--mar), var(--mar)) center / 1px 11px no-repeat; transition: transform .4s var(--suave), border-color .3s; }
.faq details[open] summary::after { transform: rotate(45deg); border-color: var(--champanhe); }
.faq summary:hover, .faq details[open] summary { color: var(--mar); }
.faq details::details-content { block-size: 0; overflow: hidden; transition: block-size .45s var(--suave), content-visibility .45s allow-discrete; }
.faq details[open]::details-content { block-size: auto; }
.faq-r { padding-bottom: 1.6rem; max-width: 34em; color: var(--tinta-suave); }

/* ── onde ──────────────────────────────────────────────────────────────── */
.onde { padding-block: var(--passo); background: var(--marfim); border-top: 1px solid var(--linha); }
.onde-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 1rem + 4vw, 4.5rem); align-items: center; }
.onde address, .onde-hora { display: flex; gap: .85rem; align-items: flex-start; font-style: normal; margin-top: 1.5rem; }
.onde address .ico, .onde-hora .ico { width: 1.35em; height: 1.35em; color: var(--ouro-texto); margin-top: .15em; }
.onde address strong, .onde-hora strong { display: block; color: var(--tinta); font-weight: 650; }
.onde address span, .onde-hora span { color: var(--tinta-suave); }
.onde-acoes { display: flex; flex-wrap: wrap; gap: .25rem 1.75rem; margin-top: 1.4rem; }
.mapa { filter: grayscale(.85) sepia(.15) contrast(.95); transition: filter .6s; }
.mapa:hover, .mapa:focus { filter: none; }
.mapa { width: 100%; aspect-ratio: 4 / 3; border: 0; border-radius: var(--r-foto); background: var(--marfim-2); box-shadow: 0 0 0 1px var(--linha), 0 0 0 10px var(--marfim), 0 0 0 11px var(--linha); }

/* ── fecho: a porta grande atrás do convite ────────────────────────────── */
.fecho { padding-block: clamp(4.5rem, 2.6rem + 6vw, 8rem); text-align: center; }
.fecho::before { content: ""; position: absolute; z-index: 0; left: 50%; top: 0; width: 70rem; height: 70%; transform: translateX(-50%); pointer-events: none;
  background: radial-gradient(45% 60% at 50% 0%, rgba(62, 135, 145, .45), rgba(14, 59, 68, 0) 75%); }
.fecho-porta { position: relative; display: grid; place-items: center; width: 5.5rem; aspect-ratio: 4 / 5; margin-bottom: 1.8rem;
  background: radial-gradient(70% 55% at 50% 45%, rgba(62, 135, 145, .6), rgba(14, 59, 68, 0) 78%); }
.fecho-porta .logo-fecho { width: auto; height: 46%; }
.fecho-in { position: relative; z-index: 5; display: grid; justify-items: center; }
.fecho h2 { font-size: clamp(2.1rem, 1.3rem + 3.2vw, 3.6rem); line-height: 1.06; max-width: 14em; color: var(--marfim); }
.fecho p { margin-top: 1.2rem; color: var(--sobre-escuro); font-size: 1.08em; max-width: 32em; }
.fecho .btn { margin-top: 2.2rem; }

/* ── páginas internas ──────────────────────────────────────────────────── */
.pag-cab { padding-block: clamp(2.25rem, 1.2rem + 3.5vw, 4.5rem) clamp(2.75rem, 1.6rem + 4vw, 5.5rem); }
.pag-cab-grid { position: relative; z-index: 5; display: grid; gap: clamp(2rem, 1rem + 4vw, 4.5rem); align-items: center; }
.pag-cab:has(.pag-porta) .pag-cab-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); }
.pag-cab-foto .pag-cab-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
.migalha { display: flex; flex-wrap: wrap; gap: .55rem; font-size: .72rem; font-weight: 650; letter-spacing: .18em; text-transform: uppercase; color: var(--champanhe-claro); }
.migalha a { color: rgba(246, 241, 233, .7); text-decoration: none; }
.migalha a:hover { color: var(--marfim); }
.migalha span[aria-hidden] { color: var(--champanhe); }
.pag-cab h1 { margin-top: 1.3rem; font-size: clamp(2.2rem, 1.4rem + 3.2vw, 3.8rem); line-height: 1.06; max-width: 14em; color: var(--marfim); }
.pag-cab .lead, .pag-cab .lead-2 { margin-top: 1.3rem; color: var(--sobre-escuro); }
.pag-cab .lead-2 { margin-top: 1rem; }
.pag-cab .btn { margin-top: 2rem; }
.pag-nota { margin-top: .9rem; font-size: .94rem; color: rgba(246, 241, 233, .66); }
.pag-porta { position: relative; justify-self: center; display: grid; place-items: center; width: min(100%, 16rem); aspect-ratio: 4 / 5;
  background: radial-gradient(70% 55% at 50% 40%, rgba(62, 135, 145, .6), rgba(14, 59, 68, 0) 78%); }
.pag-porta span { position: relative; display: grid; place-items: center; }
.pag-porta img { width: auto; height: 5.2rem; filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .35)); }
.pag-foto { justify-self: center; width: min(100%, 20rem); }
.artigo-grid { display: grid; grid-template-columns: minmax(0, 46rem) minmax(15rem, 19.5rem); justify-content: space-between; gap: 3rem; padding-block: clamp(2.75rem, 1.6rem + 3.4vw, 5rem) var(--passo); align-items: start; }
.artigo > section + section { margin-top: 3.25rem; }
.artigo > section[id] { scroll-margin-top: calc(var(--topo) + 1.5rem); }
.artigo h2 { font-size: clamp(1.6rem, 1.3rem + 1.1vw, 2.15rem); line-height: 1.14; }
.artigo section > h2::before { content: ""; display: block; width: 2.2rem; height: 1px; background: var(--champanhe); margin-bottom: 1.1rem; }
.artigo section > h2 + * { margin-top: 1.15rem; }
.artigo p + p { margin-top: 1rem; }
.artigo section > p, .artigo .lista { max-width: 32em; }
.artigo h3 { font-size: 1.3rem; line-height: 1.25; margin-top: 1.7rem; }
.artigo p + .lista { margin-top: .9rem; }
.lista { display: grid; gap: .85rem; }
.lista li { display: flex; gap: .8rem; align-items: flex-start; }
.lista .ico { width: 1.5em; height: 1.5em; padding: .3em; margin-top: .05em; border-radius: 50%; border: 1px solid var(--champanhe); color: var(--ouro-texto); }
.artigo-links { max-width: 34rem; border-bottom: 1px solid var(--linha); }
.artigo-links li { border-top: 1px solid var(--linha); }
.artigo-links .link-seta { display: flex; justify-content: space-between; gap: 1rem; min-height: 56px; padding-block: .5rem; line-height: 1.3; font-family: var(--display); font-weight: 400; font-size: 1.15rem; color: var(--tinta); }
.artigo-links .link-seta:hover { color: var(--mar); }
.nota { margin-top: 1.5rem; padding: .2rem 0 .2rem 1.2rem; border-left: 1px solid var(--champanhe); color: var(--tinta-suave); font-size: .98em; max-width: 34em; }
.cita { margin-top: 1.9rem; padding-left: 1.3rem; border-left: 1px solid var(--champanhe); }
.cita p { font-family: var(--display); font-style: italic; font-size: 1.45rem; line-height: 1.32; color: var(--tinta); }
.cita footer { margin-top: .7rem; font-size: .72rem; font-weight: 650; letter-spacing: .18em; text-transform: uppercase; color: var(--ouro-texto); }
.alerta { display: flex; gap: 1.1rem; margin-top: 3.25rem; padding: clamp(1.3rem, 1rem + 1vw, 1.9rem); background: var(--alerta-fundo); color: var(--alerta-tinta); border-left: 2px solid var(--coral); border-radius: 0 var(--r-foto) var(--r-foto) 0; }
.alerta-ico { width: 28px; height: 28px; color: var(--coral); margin-top: .15rem; }
.alerta h2 { font-family: var(--texto); font-weight: 650; font-size: 1.12rem; line-height: 1.3; letter-spacing: 0; color: var(--alerta-tinta); }
.alerta p { margin-top: .55rem; }
.alerta ul { margin-top: .6rem; padding-left: 1.2rem; list-style: disc; display: grid; gap: .3rem; }
.aviso { margin-top: 1.6rem; font-size: .92rem; color: var(--tinta-suave); }
.frente { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; max-width: 40rem; border-top: 1px solid var(--linha); }
.frente li { display: flex; gap: 1rem; align-items: center; padding: 1.3rem 0; border-bottom: 1px solid var(--linha); }
.frente-ini { flex: none; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; border: 1px solid var(--champanhe); color: var(--ouro-texto); font-family: var(--display); font-style: italic; font-size: 1.2rem; }
.frente h3 { font-size: 1.25rem; line-height: 1.2; }
.frente p { margin-top: .2rem; color: var(--tinta-suave); font-size: .95rem; line-height: 1.4; }
.frente .frente-reg { display: inline-flex; align-items: center; gap: .4rem; margin-top: .45rem; font-size: .84rem; font-weight: 600; color: var(--mar); }
.frente-reg .ico { width: 15px; height: 15px; }
.artigo-lado { position: sticky; top: calc(var(--topo) + 2rem); }
.lado-cartao { position: relative; overflow: hidden; isolation: isolate; padding: 1.9rem 1.7rem 1.8rem; color: var(--marfim); border-radius: var(--r-foto);
  background: radial-gradient(130% 100% at 100% 0%, var(--petroleo-claro) 0%, var(--petroleo) 55%, var(--noite) 100%); }
.lado-cartao::before { content: ""; position: absolute; inset: 0 1.7rem auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(226, 205, 162, .7), transparent); }
.lado-cartao h2 { font-size: 1.5rem; line-height: 1.16; }
.lado-cartao p { margin-top: .75rem; color: var(--sobre-escuro); font-size: .98rem; line-height: 1.5; }
.lado-cartao .btn { margin-top: 1.4rem; width: 100%; padding-inline: 1rem; }
.so-movel { display: none; }
.outras { padding-block: clamp(3.5rem, 2.2rem + 3.5vw, 5.5rem); background: var(--marfim-2); border-top: 1px solid var(--linha); }
.outras h2 { font-size: clamp(1.7rem, 1.35rem + 1.4vw, 2.4rem); margin-bottom: 1.5rem; }

/* ── rodapé ────────────────────────────────────────────────────────────── */
.rodape { position: relative; overflow: clip; isolation: isolate; color: var(--sobre-escuro); font-size: .97rem;
  background: radial-gradient(60rem 30rem at 0% 0%, rgba(27, 88, 98, .5), transparent 60%), linear-gradient(180deg, var(--noite) 0%, #04222A 100%); }
.rodape::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(226, 205, 162, .5), transparent); }
.rodape a { color: inherit; text-decoration: none; }
.rodape-grade { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr); gap: 2.5rem clamp(2rem, 4vw, 4rem); padding-block: clamp(3.5rem, 2.5rem + 3vw, 5.5rem) 2.5rem; }
.rodape-id { display: inline-flex; align-items: center; gap: 1rem; color: var(--marfim); }
.rodape-id .logo-rodape { width: auto; height: 54px; }
.rodape-id > span { font-family: var(--display); font-size: 1.85rem; line-height: 1; color: var(--marfim); }
.rodape-id small { display: block; margin-top: .45rem; font-family: var(--texto); font-weight: 600; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--champanhe-claro); }
.rodape-frase { margin-top: 1.5rem; max-width: 19em; font-family: var(--display); font-size: 1.28rem; line-height: 1.38; color: var(--marfim); }
.rodape-frase em { color: var(--champanhe-claro); }
.rodape-redes { display: flex; gap: .55rem; margin-top: 1.6rem; }
.rod-rede { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--filete); color: var(--marfim); transition: transform .35s var(--suave), border-color .25s, color .25s; }
.rod-rede .ico { width: 19px; height: 19px; }
.rod-rede:hover, .rod-rede:focus-visible { transform: translateY(-3px); border-color: var(--champanhe); color: var(--champanhe-claro); }
.rodape h2 { color: var(--champanhe-claro); }
.rodape-col ul { margin-top: 1rem; }
.rodape-links a { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 40px; color: var(--marfim); opacity: .85; transition: opacity .2s, padding .3s var(--suave); }
.rodape-links a .ico { width: 15px; height: 15px; opacity: 0; transform: translateX(-6px); transition: opacity .25s, transform .3s var(--suave); color: var(--champanhe); }
.rodape-links a:hover { opacity: 1; padding-left: .3rem; }
.rodape-links a:hover .ico { opacity: 1; transform: none; }
.rodape-contato { display: grid; gap: .3rem; }
.rodape-contato a { display: flex; align-items: center; gap: .85rem; min-height: 52px; color: var(--marfim); overflow-wrap: anywhere; }
.rodape-contato small { display: block; font-size: .66rem; font-weight: 650; letter-spacing: .18em; text-transform: uppercase; color: var(--champanhe-claro); }
.rodape-contato a > span:last-child { font-size: .97rem; line-height: 1.3; }
.rod-ico { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--filete); color: var(--champanhe-claro); transition: border-color .25s; }
.rod-ico .ico { width: 18px; height: 18px; }
.rodape-contato a:hover .rod-ico { border-color: var(--champanhe); }
.rodape-onde { display: flex; gap: .7rem; margin-top: 1rem; font-style: normal; line-height: 1.45; color: var(--marfim); opacity: .9; }
.rodape-onde .ico { width: 1.2em; height: 1.2em; margin-top: .15em; color: var(--champanhe); flex: none; }
.rodape-mapa { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; margin-top: .8rem; color: var(--champanhe-claro) !important; font-weight: 600; }
.rodape-mapa .ico { width: 17px; height: 17px; transition: transform .3s var(--suave); }
.rodape-mapa:hover .ico { transform: translateX(4px); }
.rodape-selos { display: flex; flex-wrap: wrap; gap: .6rem; padding-bottom: 2.5rem; }
.rodape-selos span { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem .95rem; border-radius: var(--r-pilula); border: 1px solid var(--filete); font-size: .86rem; color: var(--marfim); opacity: .9; }
.rodape-selos .ico { width: 16px; height: 16px; color: var(--champanhe); }
.rodape-assinatura { margin: 0; padding-inline: 2vw; font-family: var(--display); font-weight: 400; font-size: clamp(6rem, 26vw, 22rem); line-height: .8; letter-spacing: -.03em; text-align: center; user-select: none; pointer-events: none;
  color: transparent; background: linear-gradient(180deg, rgba(226, 205, 162, .26), rgba(226, 205, 162, 0) 85%); -webkit-background-clip: text; background-clip: text; }
.rodape-fim { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: .75rem 2rem; padding-block: 1.5rem 2rem; border-top: 1px solid var(--filete); font-size: .86rem; color: rgba(246, 241, 233, .6); }
.rodape-fim a { color: var(--marfim); text-decoration: underline; text-underline-offset: 3px; }
.rodape-fim .rodape-subir { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; text-decoration: none; font-weight: 600; color: var(--marfim); }
.rodape-subir span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--filete); transition: border-color .25s, transform .35s var(--suave); }
.rodape-subir .ico { width: 16px; height: 16px; transform: rotate(-90deg); }
.rodape-subir:hover span { border-color: var(--champanhe); transform: translateY(-3px); }
.rodape .pendente { background: rgba(255, 242, 214, .16); color: #FFE2A6; }

/* ── logo animado (o desenho da casa) ──────────────────────────────────── */
.logo-anim { display: block; overflow: visible; }
.logo-anim path { stroke-dasharray: 1; stroke-dashoffset: 0; }
.logo-anim rect { transform-box: fill-box; transform-origin: center; }
.la-luz { opacity: 0; }
@keyframes la-traco { from { stroke-dashoffset: 1; } }
@keyframes la-janela { from { transform: scale(0); opacity: 0; } 60% { transform: scale(1.18); opacity: 1; } }
@keyframes la-luz { 0%, 100% { opacity: 0; } 45%, 60% { opacity: .95; } }
@media (prefers-reduced-motion: no-preference) {
  .logo-anim .la-casa { animation: la-traco 1.3s cubic-bezier(.65, 0, .35, 1) both; }
  .logo-anim .la-chamine { animation: la-traco .4s ease-out 1.05s both; }
  .logo-anim .la-arco { animation: la-traco .9s cubic-bezier(.65, 0, .35, 1) .55s both; }
  .la-janelas rect { animation: la-janela .5s var(--suave) both; }
  .logo-anim rect:nth-child(1) { animation-delay: 1.25s; } .logo-anim rect:nth-child(2) { animation-delay: 1.35s; }
  .logo-anim rect:nth-child(3) { animation-delay: 1.45s; } .logo-anim rect:nth-child(4) { animation-delay: 1.55s; }
  :is(.logo-menu, .logo-faixa) .la-luz { animation: la-luz 4.8s ease-in-out 2.2s infinite; filter: drop-shadow(0 0 2.5px rgba(246, 195, 91, .85)); }
}
.anima :is(.faixa, .rodape, .insta-cab, .fecho):not(.visto) .logo-anim :is(path, rect) { animation-play-state: paused; }


/* ── entradas ao rolar (só com html.anima; sem JS a página já está completa) ── */
.anima .pag-cab[data-anima] .pag-cab-in > *, .anima .fecho[data-anima] .fecho-in > *,
.anima :is(.sec-cab, .sit-cab, .insta-cab)[data-anima] > *, .anima .faq-grid > h2[data-anima],
.anima :is(.insta-grade, .sit-lista, .formas-lista, .passos, .eq-lista)[data-anima] > *,
.anima .faq-lista[data-anima] > details, .anima .onde-grid[data-anima] > div > *, .anima .faixa[data-anima] .faixa-cita,
.anima .rodape[data-anima] :is(.rodape-marca, .rodape-col, .rodape-selos) {
  opacity: 0; transform: translateY(18px);
  transition: opacity .8s var(--suave), transform .9s var(--suave); transition-delay: calc(var(--i, 0) * 80ms + 40ms);
}
.anima .pag-cab.visto .pag-cab-in > *, .anima .fecho.visto .fecho-in > *,
.anima :is(.sec-cab, .sit-cab, .insta-cab).visto > *, .anima .faq-grid > h2.visto,
.anima :is(.insta-grade, .sit-lista, .formas-lista, .passos, .eq-lista).visto > *,
.anima .faq-lista.visto > details, .anima .onde-grid.visto > div > *, .anima .faixa.visto .faixa-cita,
.anima .rodape.visto :is(.rodape-marca, .rodape-col, .rodape-selos) { opacity: 1; transform: none; }
.anima :is(.sec-cab, .sit-cab, .insta-cab)[data-anima] > :nth-child(2) { transition-delay: 90ms; }
.anima :is(.sec-cab, .sit-cab, .insta-cab)[data-anima] > :nth-child(3) { transition-delay: 180ms; }
.anima .faq-lista[data-anima] > details:nth-child(n) { transition-delay: calc((var(--i, 0)) * 60ms); }
.anima .faixa[data-anima] .faixa-cita { transition-delay: .3s; }
.anima .rodape.visto .rodape-col:nth-child(2) { transition-delay: .1s; } .anima .rodape.visto .rodape-col:nth-child(3) { transition-delay: .2s; }
.anima .rodape.visto .rodape-col:nth-child(4) { transition-delay: .3s; } .anima .rodape.visto .rodape-selos { transition-delay: .4s; }
/* a régua dos passos se desenha; a porta do cabeçalho sobe */
.anima .passos[data-anima] li:not(:last-child)::after { transform: scaleX(0); transform-origin: left; transition: transform 1s var(--suave); transition-delay: calc(var(--i, 0) * 240ms + 400ms); }
.anima .passos.visto li:not(:last-child)::after { transform: none; }
.anima .pag-cab[data-anima] :is(.pag-porta, .pag-foto) { opacity: 0; transform: translateY(24px); transition: opacity 1.1s var(--suave) .2s, transform 1.3s var(--suave) .2s; }
.anima .pag-cab.visto :is(.pag-porta, .pag-foto) { opacity: 1; transform: none; }
.anima .rodape[data-anima] .rodape-assinatura { opacity: 0; transform: translateY(30%); transition: opacity 1.3s var(--suave) .3s, transform 1.5s var(--suave) .3s; }
.anima .rodape.visto .rodape-assinatura { opacity: 1; transform: none; }

/* ── telas médias ──────────────────────────────────────────────────────── */
@media (max-width: 1040px) {
  .menu-desk li:nth-child(2) { display: none; }
  .menu-det { display: block; }
  .formas-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .forma:nth-child(3) { padding-left: 0; border-left: 0; }
  .rodape-grade { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  /* menu em tela cheia, escuro como o topo */
  /* trava o scroll só no html: com overflow no body, o body vira o contêiner de rolagem, o topo
     perde o sticky e o painel (que pendura no topo) abre milhares de px acima da tela */
  html.menu-aberto { overflow: hidden; }
  .menu-painel {
    position: fixed; inset: 100% 0 auto 0; height: calc(100dvh - var(--menu-top, var(--topo))); z-index: 39; overflow-y: auto; overscroll-behavior: contain;
    display: flex; flex-direction: column; padding: 1.8rem max(1.4rem, calc((100vw - 40rem) / 2)) calc(1.6rem + env(safe-area-inset-bottom));
    color: var(--marfim); background: radial-gradient(36rem 22rem at 110% 105%, rgba(62, 135, 145, .3), transparent 62%), var(--noite);
    border-top: 1px solid var(--filete); animation: painel-in .55s var(--suave) both;
  }
  @keyframes painel-in { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
  .menu-grupo { color: var(--champanhe-claro); animation: sobe .5s var(--suave) .08s both; }
  .menu-sit { margin-top: .8rem; border-top: 1px solid var(--filete); }
  .menu-sit li { animation: sobe .55s var(--suave) both; animation-delay: calc(var(--k, 0) * 55ms + 120ms); }
  .menu-sit a { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr) auto; align-items: center; gap: .5rem; min-height: 62px; padding: .5rem .1rem;
    border-bottom: 1px solid var(--filete); color: var(--marfim); text-decoration: none; font-family: var(--display); font-size: 1.36rem; transition: color .2s, padding .3s var(--suave); }
  .menu-sit a b { font-family: var(--display); font-style: italic; font-weight: 400; font-size: .95rem; color: var(--champanhe); }
  .menu-sit a .ico { width: 18px; height: 18px; color: var(--champanhe); transition: transform .3s var(--suave); }
  .menu-sit a:hover, .menu-sit a[aria-current] { color: var(--champanhe-claro); padding-left: .4rem; }
  .menu-sec { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.4rem; animation: sobe .55s var(--suave) .45s both; }
  .menu-sec a { display: inline-flex; align-items: center; min-height: 44px; padding: .45rem 1.1rem; border: 1px solid var(--filete); border-radius: var(--r-pilula); color: var(--marfim); text-decoration: none; font-weight: 600; font-size: .95rem; }
  .menu-sec a[aria-current] { border-color: var(--champanhe); }
  .menu-wa { width: 100%; margin-top: 1.5rem; background: linear-gradient(180deg, #FCF8F1, #EEE4D3); color: var(--noite); box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(226, 205, 162, .5); animation: sobe .55s var(--suave) .52s both; }
  .menu-wa:hover { color: var(--noite); }
  .menu-pe { display: flex; align-items: center; gap: 1rem; margin-top: auto; padding-top: 2rem; animation: sobe .6s var(--suave) .6s both; }
  .menu-pe .logo-menu { flex: none; width: auto; height: 58px; }
  .menu-pe p { display: grid; gap: .2rem; color: rgba(246, 241, 233, .65); font-size: .92rem; line-height: 1.35; }
  .menu-pe em { font-family: var(--display); font-size: 1.12rem; color: var(--marfim); }
  /* topo no celular: o círculo verde oficial do WhatsApp */
  .btn-topo { width: 44px; min-height: 44px; padding: 0; background: #25D366; color: #fff; box-shadow: 0 8px 18px -10px rgba(18, 140, 68, .9); }
  .btn-topo:hover { background: #1EBE5A; color: #fff; }
  .btn-topo span, .btn-topo .ico-wa-cor { display: none; }
  .btn-topo .ico-wa-mono { display: block; width: 24px; height: 24px; transform: translate(.5px, -.5px); }
}

/* ── hero e grades em telas largas ─────────────────────────────────────── */
@media (min-width: 901px) {
  :root { --topo: 76px; }
  .hero { --h: 86%; --nome: min(16vw, 14.5rem); min-height: 620px; max-height: 980px;
    background: radial-gradient(70% 90% at 64% 30%, #1B5862 0%, var(--petroleo) 45%, var(--noite) 100%); }
  .hero-tag { top: 2.2vh; font-size: .7rem; }
  .hero-nome { inset: calc(3vh + var(--tag)) 0 auto; }
  .hero-porta { left: 64%; top: 22%; width: min(30vw, 30rem); }
  .hero-luz { left: 64%; top: 4%; width: 46vw; }
  .hero-foto { left: 64%; top: auto; bottom: 0; height: var(--h); }
  .hero-veu { inset: auto auto 0 0; width: 66%; height: 72%; background: radial-gradient(120% 100% at 0% 100%, var(--noite) 30%, rgba(7, 42, 49, .85) 55%, rgba(7, 42, 49, 0) 80%); }
  .hero-veu::after { content: ""; position: absolute; left: 0; right: -60%; bottom: 0; height: 30%; background: linear-gradient(180deg, rgba(7, 42, 49, 0), var(--noite)); }
  .hero-txt { padding-bottom: clamp(3rem, 9vh, 6rem); }
  .hero-txt > * { max-width: 36rem; }
  .hero h1 { font-size: clamp(2.6rem, 1.4rem + 2.6vw, 3.9rem); max-width: 12em; }
  .hero-formas { font-size: .78rem; }
  .hero-txt .btn { width: auto; min-width: 20rem; }
  @keyframes assenta { from { opacity: 0; transform: translateX(-50%) translateY(26px) scale(1.03); filter: blur(10px); } }
}

/* ── celular ───────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .menu { display: none; }
  .topo-in { justify-content: space-between; }
  .sit-grid, .faixa-grid, .faq-grid, .pag-cab-foto .pag-cab-grid, .onde-grid, .eq-in { grid-template-columns: minmax(0, 1fr); }
  .pag-cab:has(.pag-porta) .pag-cab-grid { grid-template-columns: minmax(0, 1fr); }
  .pag-porta { display: none; }
  .sit-cab, .eq-cab { position: static; }
  .eq-cab { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1.1rem; align-items: end; }
  .eq-num { grid-row: 1 / span 2; font-size: clamp(6rem, 4rem + 8vw, 8rem); }
  .eq-rot { grid-row: 2; grid-column: 2; margin-top: 0; padding-bottom: .55rem; }
  .eq-cab h2 { grid-column: 1 / -1; margin-top: 1.1rem; }
  .faixa-marca { width: min(62vw, 14rem); }
  .pag-foto { width: min(72vw, 17rem); margin-top: .5rem; }
  .passos { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .passos li { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 1.2rem; padding-bottom: 2.1rem; }
  .passos li:last-child { padding-bottom: 0; }
  .passos .passo-n { grid-row: 1 / span 2; }
  .passos h3 { margin-top: .7rem; }
  .passos p { grid-column: 2; }
  .passos li:not(:last-child)::after { top: 52px; bottom: 0; left: 26px; right: auto; width: 1px; height: auto; }
  .anima .passos[data-anima] li:not(:last-child)::after { transform: scaleY(0); transform-origin: top; }
  .sit-compacta { grid-template-columns: minmax(0, 1fr); }
  .artigo-grid { grid-template-columns: minmax(0, 1fr); }
  .artigo-lado { display: none; }
  .so-movel { display: block; margin-top: 3rem; }
}
@media (max-width: 640px) {
  /* rodapé curto: os contatos já estão nos ícones e na seção Onde; sem a assinatura gigante */
  .rodape-grade { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; padding-block: 3rem 1.6rem; }
  .rodape-col { padding-top: 1.4rem; border-top: 1px solid var(--filete); }
  .rodape-col:has(.rodape-contato), .rodape-assinatura { display: none; }
  .rodape-frase { margin-top: 1.1rem; font-size: 1.15rem; }
  .rodape-redes { margin-top: 1.2rem; }
  .rodape-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; }
  .rodape-links a { min-height: 40px; font-size: .92rem; line-height: 1.25; }
  .rodape-links a .ico { display: none; }
  .rodape-onde { margin-top: .7rem; font-size: .92rem; }
  .rodape-selos { gap: .3rem 1rem; padding-bottom: 1.4rem; }
  .rodape-selos span { padding: 0; border: 0; font-size: .78rem; opacity: .7; }
  .rodape-fim { grid-template-columns: minmax(0, 1fr); }
  .rodape-fim .rodape-subir { justify-self: start; }
  .faixa-frente, .frente { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .wrap { width: min(100% - 2.75rem, 1160px); }
  .marca .logo-marca { height: 34px; }
  .marca-nome { font-size: 1.26rem; }
  .formas-lista { grid-template-columns: minmax(0, 1fr); margin-top: 2.2rem; }
  .forma, .forma + .forma { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); column-gap: .6rem; row-gap: .3rem; padding: 1.35rem 0; border-left: 0; }
  .forma-n { grid-row: 1 / span 2; padding-top: .25rem; }
  .forma h3 { font-size: 1.32rem; }
  .forma-liminar, .forma + .forma-liminar { padding: 1.4rem 1.2rem; margin-top: .6rem; border-radius: var(--r-foto); }
  .eq-num { font-size: 6rem; }
  .eq-nomes { grid-template-columns: minmax(0, 1fr); }
  .eq-nomes li { font-size: 1.3rem; }
  /* situações: título, a fala da família e a seta; a descrição fica na página de cada uma */
  .sit-cartao { display: grid; grid-template-columns: minmax(0, 1fr) 44px; column-gap: 1rem; align-items: center; padding: 1.35rem 0 1.3rem; }
  .sit-cartao::before, .sit-desc { display: none; }
  .sit-cartao h3, .sit-fala { grid-column: 1; }
  .sit-fala { margin-top: .45rem; font-size: 1.04em; }
  .sit-link { grid-column: 2; grid-row: 1 / span 2; justify-content: center; width: 44px; height: 44px; min-height: 0; margin: 0; border: 1px solid var(--linha); border-radius: 50%; }
  .sit-link span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .sit-outra { margin-top: 1.4rem; }
  /* equipe como carta: os nomes correm em linha, um losango dourado antes de cada um */
  .eq-nomes { display: flex; flex-wrap: wrap; gap: .1rem 1.1rem; }
  .eq-nomes li { display: inline-flex; align-items: center; gap: .55rem; font-size: 1.2rem; line-height: 1.45; }
  .eq-nomes li::before { content: ""; flex: none; width: 5px; height: 5px; transform: rotate(45deg); background: var(--champanhe); }
  .eq-lista { gap: 1.6rem; }
  /* Instagram: carrossel que se arrasta com o dedo, a próxima foto aparecendo */
  .insta-grade { display: flex; gap: .6rem; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none;
    margin-inline: calc((100% - 100vw) / 2); padding-inline: 1.375rem; scroll-padding-inline: 1.375rem; }
  .insta-grade::-webkit-scrollbar { display: none; }
  .insta-grade > li { flex: 0 0 62%; scroll-snap-align: start; }
  .sit-cartao:hover, .sit-item:hover { padding-left: 0; }
  .insta-seguir { width: 100%; }
  .alerta { flex-direction: column; gap: .6rem; }
  .pag-cab .btn, .fecho .btn, .insta-seguir { width: 100%; }
  .mapa { box-shadow: 0 0 0 1px var(--linha); }
}
@media (min-width: 561px) and (max-width: 900px) { .insta-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 380px) {
  .hero h1 { font-size: 1.72rem; }
  .btn:not(.btn-topo) { padding-inline: 1rem; font-size: .95rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

.nowrap { white-space: nowrap; }
/* "Atendimento domiciliar · Rio Grande do Sul" numa linha só no celular (pedido da Tais, 2026-10-16) */
@media (max-width: 560px) {
  .hero-tag { white-space: nowrap; font-size: min(.64rem, 2.55vw); letter-spacing: .14em; }
}

/* Cuidados concretos e organização do serviço — outubro de 2026. */
.cuidados { padding-block: var(--passo); background: var(--marfim-2); }
.cuidados-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; margin-top: 2.5rem; }
.cuidado-card { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; padding: 2rem; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--r-foto); }
.cuidado-ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #E5EEEB; color: var(--mar); }
.cuidado-card h3 { font-size: clamp(1.45rem, 1.2rem + .6vw, 1.75rem); line-height: 1.16; }
.cuidado-card p { color: var(--tinta-suave); }
.cuidado-card .link-seta { margin-top: auto; font-size: .94rem; }
.cuidado-card .link-seta .ico { flex: none; }
#tea { scroll-margin-top: calc(var(--topo) + 1.2rem); }
.gestao { padding-block: var(--passo); background: var(--petroleo); color: var(--marfim); }
.gestao-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); }
.gestao h2 { font-size: clamp(2rem, 1.4rem + 2.4vw, 3.3rem); line-height: 1.1; color: var(--marfim); }
.gestao .ac { color: var(--champanhe-claro); }
.gestao p { color: var(--sobre-escuro); }
.gestao-cab > p { margin-top: 1.5rem; }
.gestao .btn { margin-top: 2rem; }
.gestao :focus-visible { outline-color: var(--champanhe-claro); }
.gestao-lista { display: grid; align-content: start; }
.gestao-lista li { border-top: 1px solid var(--filete); padding-block: 1.4rem; }
.gestao-lista li > span { display: block; color: var(--champanhe-claro); font-size: .8rem; margin-bottom: .6rem; }
.gestao-lista h3 { color: var(--marfim); font-size: 1.5rem; line-height: 1.2; }
.gestao-lista p { margin-top: .7rem; }
@media (max-width: 700px) {
  .cuidados-grid, .gestao-grid { grid-template-columns: minmax(0, 1fr); }
  .cuidado-card { padding: 1.5rem; }
  .gestao .btn { width: 100%; }
  .hero-servicos { font-size: .9rem; max-width: 27em; }
}
@media (max-width: 560px) {
  /* TEA ainda não tem página própria: manter a explicação e o contato visíveis. */
  #tea.sit-cartao { display: block; }
  #tea .sit-desc { display: block; margin-top: .8rem; font-size: .95rem; }
  #tea .sit-link { justify-content: flex-start; width: auto; height: auto; min-height: 44px; margin-top: .7rem; border: 0; border-radius: 0; font-size: .94rem; }
  #tea .sit-link span { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; }
  #tea .sit-link .ico { flex: none; }
}
