/* ============================================================
   ALIVITA 2 — reformulação das páginas internas
   Todos os seletores são isolados em .site para preservar o portal.
   ============================================================ */

.site {
  --rd-ink: #17201c;
  --rd-muted: #637069;
  --rd-paper: #f8f6f0;
  --rd-white: #fffefb;
  --rd-line: color-mix(in srgb, var(--base) 16%, transparent);
  --rd-shadow: 0 28px 80px -48px rgba(10, 30, 24, .42);
  background: var(--rd-paper);
  color: var(--rd-ink);
  min-height: 100vh;
}

.site .env { width: min(84rem, calc(100% - 3rem)); }
.site .larga { width: min(96rem, calc(100% - 3rem)); }
.site h1,
.site h2,
.site h3 { letter-spacing: -.035em; }
.site p { text-wrap: pretty; }

/* Cabeçalho editorial */
.site .cab {
  top: 0;
  background: color-mix(in srgb, var(--rd-white) 91%, transparent);
  border: 0;
  border-bottom: 1px solid var(--rd-line);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
}
.site .cab::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--acento);
}
.site .cab.rolou { box-shadow: 0 14px 45px -35px rgba(10, 30, 24, .7); }
.site .cab__c { min-height: 5.4rem; gap: clamp(.8rem, 2vw, 1.8rem); }
.site .inicio {
  position: relative;
  isolation: isolate;
  gap: .7rem;
  border: 1px solid color-mix(in srgb, var(--base) 24%, transparent);
  border-left: 4px solid var(--acento);
  border-radius: 0;
  background: color-mix(in srgb, var(--acento) 12%, var(--rd-white));
  padding: .48rem .85rem .48rem .55rem;
  color: var(--base);
  box-shadow: 0 9px 24px -20px rgba(10, 30, 24, .7);
  transition: color .25s, background .25s, border-color .25s, transform .25s var(--ease), box-shadow .25s var(--ease);
}
.site .inicio:hover {
  background: var(--base);
  border-color: var(--base);
  border-left-color: var(--acento);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 16px 28px -18px rgba(10, 30, 24, .7);
}
.site .inicio:hover svg { transform: none; }
.site .inicio:focus-visible { outline: 3px solid var(--acento); outline-offset: 3px; }
.site .inicio__icone {
  width: 2rem;
  height: 2rem;
  display: grid;
  flex: 0 0 2rem;
  place-items: center;
  background: var(--base);
  color: #fff;
  transition: background .25s, color .25s, transform .25s var(--ease);
}
.site .inicio:hover .inicio__icone { background: var(--acento); color: #1e2b25; transform: rotate(-5deg); }
.site .inicio__texto { display: grid; gap: .12rem; line-height: 1; }
.site .inicio__texto small {
  font-size: .52rem;
  font-weight: 500;
  letter-spacing: .15em;
  color: var(--rd-muted);
  transition: color .25s;
}
.site .inicio__texto strong { font-size: .68rem; font-weight: 700; letter-spacing: .11em; }
.site .inicio:hover .inicio__texto small { color: rgba(255,255,255,.68); }
.site .cab .logo {
  border: 0;
  padding: 0;
  margin-right: auto;
  gap: .85rem;
}
.site .logo__img { height: 2.6rem; }
.site .logo .u {
  border-radius: 0;
  border-left: 1px solid var(--rd-line);
  background: transparent;
  padding: .25rem 0 .25rem .85rem;
  color: var(--base);
}
.site .menu { gap: clamp(1rem, 2.2vw, 2.3rem); }
.site .menu a {
  color: var(--rd-muted);
  font-size: .88rem;
  letter-spacing: .02em;
}
.site .menu a::after {
  bottom: -.7rem;
  height: 3px;
  border-radius: 0;
}
.site .acoes { gap: .75rem; }
.site .tsz,
.site .hamb {
  border-radius: 0;
  border-color: var(--rd-line);
  background: var(--rd-white);
}

/* Botões */
.site .btn {
  min-height: 3.35rem;
  border-radius: 0;
  padding: .9rem 1.6rem;
  letter-spacing: .015em;
  box-shadow: none;
  position: relative;
  overflow: hidden;
}
.site .btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.1);
  transform: translateX(-102%);
  transition: transform .4s var(--ease);
}
.site .btn:hover { transform: translateY(-3px); box-shadow: 0 16px 30px -20px rgba(10,30,24,.6); }
.site .btn:hover::before { transform: translateX(0); }
.site .btn > * { position: relative; }
.site .cab .btn { min-height: 2.9rem; padding: .72rem 1.25rem; }

/* Seções e títulos */
.site .sec { padding: clamp(5.5rem, 10vw, 9rem) 0; overflow: hidden; }
.site .sec--branco { background: var(--rd-white); }
.site .sec--nevoa { background: #efeee8; }
.site .sec--tinte {
  background: color-mix(in srgb, var(--base) 6%, var(--rd-paper));
}
.site .sec--escuro {
  background: var(--base);
  isolation: isolate;
}
.site .sec--escuro::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .19;
  background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px);
  background-size: 4rem 4rem;
  mask-image: linear-gradient(90deg, transparent, #000 30%, #000 70%, transparent);
}
.site .sec[id]::after {
  content: var(--rd-number, "");
  position: absolute;
  top: .1em;
  right: max(1rem, calc((100vw - 84rem) / 2));
  font-family: var(--display);
  font-size: clamp(8rem, 17vw, 17rem);
  line-height: 1;
  color: color-mix(in srgb, var(--base) 5%, transparent);
  pointer-events: none;
}
.site .sec--escuro[id]::after { color: rgba(255,255,255,.035); }
.site #c-atende, .site #h-serv { --rd-number: "01"; }
.site #c-esp, .site #h-motivos { --rd-number: "02"; }
.site #c-como, .site #h-planos { --rd-number: "03"; }
.site #c-duvidas, .site #h-comecar { --rd-number: "04"; }
.site #c-contato, .site #h-contato { --rd-number: "05"; }
.site .cabecalho { max-width: 56rem; margin-bottom: clamp(3rem, 6vw, 5rem); position: relative; z-index: 2; }
.site .cabecalho.centro { text-align: left; margin-inline: 0; }
.site .cabecalho.centro p { margin-inline: 0; }
.site .cabecalho h2 {
  font-size: clamp(2.7rem, 5.6vw, 5.2rem);
  line-height: .95;
  max-width: 14ch;
  margin-bottom: 1.5rem;
}
.site .cabecalho p { font-size: 1.12rem; max-width: 52ch; color: var(--rd-muted); }
.site .etiqueta {
  border-radius: 0;
  background: transparent;
  padding: 0 0 .65rem;
  border-bottom: 2px solid var(--acento);
  margin-bottom: 1.5rem;
  color: var(--base);
}

/* Herói da clínica — composição clara e assimétrica */
.site .heroi {
  background: var(--rd-paper);
  color: var(--rd-ink);
  padding: clamp(4rem, 8vw, 7rem) 0 clamp(5rem, 9vw, 8rem);
}
.site .heroi::before {
  width: min(52vw, 48rem);
  height: 100%;
  right: 0;
  top: 0;
  border-radius: 0;
  background: color-mix(in srgb, var(--base) 8%, transparent);
}
.site .heroi__g { grid-template-columns: minmax(0, .9fr) minmax(28rem, 1.1fr); gap: clamp(3rem, 8vw, 8rem); }
.site .heroi h1 {
  color: var(--rd-ink);
  font-size: clamp(3.6rem, 7.2vw, 7rem);
  line-height: .9;
  margin-bottom: 1.8rem;
}
.site .heroi__lead { color: var(--rd-muted); font-size: 1.16rem; border-left: 2px solid var(--acento); padding-left: 1.25rem; }
.site .heroi__b { margin-top: 2.5rem; }
.site .heroi__foto { border-radius: 0; aspect-ratio: 4 / 4.5; box-shadow: var(--rd-shadow); }
.site .heroi__foto::before {
  content: "";
  position: absolute;
  z-index: 5;
  inset: 1.2rem;
  border: 1px solid rgba(255,255,255,.62);
  pointer-events: none;
}
.site .heroi__foto .foto { border-radius: 0; }
.site .selo-flut {
  left: -2.5rem;
  bottom: 2.5rem;
  border-radius: 0;
  padding: 1.15rem 1.4rem;
  border-left: 4px solid var(--acento);
  box-shadow: var(--rd-shadow);
}

/* Herói do Home Care — fotografia imersiva com painel */
.site .hero-homecare {
  min-height: min(88vh, 54rem);
  margin: 1.5rem;
  padding: clamp(4rem, 9vw, 8rem) 0;
}
.site .hero-homecare::after {
  content: "";
  position: absolute;
  inset: 1.25rem;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.45);
  pointer-events: none;
}
.site .hero-homecare .veu2--hero {
  background: linear-gradient(90deg, rgba(7,25,31,.92) 0%, rgba(7,25,31,.78) 43%, rgba(7,25,31,.18) 78%);
}
.site .hero-homecare .hero-conteudo {
  max-width: 48rem;
  padding: clamp(1rem, 4vw, 3rem) 0;
}
.site .hero-homecare .hero-titulo {
  font-size: clamp(3.4rem, 7vw, 6.8rem);
  line-height: .9;
  max-width: 11ch;
  margin-bottom: 1.8rem;
}
.site .hero-homecare .hero-texto { font-size: 1.16rem; max-width: 42ch; }
.site .hero-homecare .chip-status { border-radius: 0; border-left: 3px solid var(--acento); backdrop-filter: blur(12px); }

/* Indicadores */
.site .pontos-barra {
  margin-top: -3.5rem;
  padding: 0;
  border-radius: 0;
  box-shadow: var(--rd-shadow);
  position: relative;
  z-index: 5;
  gap: 0;
  background: var(--rd-white);
}
.site .pontos-barra div { padding: 1.8rem 2rem; border-right: 1px solid var(--rd-line); }
.site .pontos-barra div:last-child { border-right: 0; }
.site .pontos-barra b { font-size: 2.6rem; color: var(--base); }
.site .pontos-barra span { color: var(--rd-muted); }

/* Cartões */
.site .grade { gap: clamp(1rem, 2.5vw, 2rem); position: relative; z-index: 2; }
.site .grade--3 { grid-template-columns: repeat(3, 1fr); }
.site .cartao {
  border-radius: 0;
  border: 1px solid var(--rd-line);
  box-shadow: none;
  background: var(--rd-white);
}
.site .cartao:nth-child(even) { transform: translateY(2.5rem); }
.site .cartao:hover { transform: translateY(-.7rem); box-shadow: var(--rd-shadow); border-color: color-mix(in srgb, var(--base) 35%, transparent); }
.site .cartao:nth-child(even):hover { transform: translateY(1.8rem); }
.site .cartao__f { aspect-ratio: 5 / 3; }
.site .cartao__f .foto { border-radius: 0; }
.site .cartao__c { padding: clamp(1.5rem, 3vw, 2.2rem); }
.site .cartao h3 { font-size: clamp(1.65rem, 2.2vw, 2.15rem); }
.site .cartao p { color: var(--rd-muted); }
.site .cartao .marca-l { color: var(--base); padding-top: 1rem; border-top: 1px solid var(--rd-line); }
.site .cartao .marca-l::before { height: 4px; width: 2rem; }

/* Listas e etapas */
.site .pontos { gap: 0 3rem; position: relative; z-index: 2; }
.site .pontos li { grid-template-columns: 2.2rem 1fr; padding: 1.2rem 0; }
.site .pontos li::before {
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 0;
  background: transparent;
  border: 1px solid var(--acento);
  box-shadow: inset 0 0 0 6px transparent;
}
.site .pontos li:hover::before { background: var(--acento); box-shadow: inset 0 0 0 6px var(--base); }
.site .etapas { grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid rgba(255,255,255,.24); }
.site .etapa,
.site .sec--escuro .etapa {
  border: 0;
  border-right: 1px solid rgba(255,255,255,.2);
  border-radius: 0;
  background: transparent;
  padding: 2.4rem 2rem;
  box-shadow: none;
}
.site .etapa:last-child { border-right: 0; }
.site .etapa::before { font-size: 3.8rem; margin-bottom: 2.8rem; color: var(--acento); }
.site .etapa h3 { font-size: 1.65rem; }

/* Faixas fotográficas */
.site .sec--imagem:not(.hero-homecare) { min-height: 42rem; display: flex; align-items: center; }
.site .sec--imagem:not(.hero-homecare) .veu2 { background: linear-gradient(90deg, rgba(8,28,24,.92), rgba(8,28,24,.64) 52%, rgba(8,28,24,.22)); }
.site[data-unit="homecare"] .sec--imagem:not(.hero-homecare) .veu2 { background: linear-gradient(90deg, rgba(7,28,35,.94), rgba(7,28,35,.62) 52%, rgba(7,28,35,.2)); }
.site .sec--imagem:not(.hero-homecare) .env { padding-block: 4rem; }
.site .sec--imagem:not(.hero-homecare) .cabecalho { margin-bottom: 2rem; }
.site .sec--imagem:not(.hero-homecare) .cabecalho h2 { font-size: clamp(3rem, 6vw, 5.5rem); }
.site .areas-lista { gap: .75rem; }
.site .areas-lista .etiqueta { border: 1px solid rgba(255,255,255,.35); padding: .7rem 1rem; margin: 0; }

/* Planos */
.site #h-planos .grade { align-items: stretch; }
.site #h-planos .cartao { padding-top: .7rem; border-top: 6px solid var(--base); }
.site #h-planos .cartao:nth-child(2) { border-top-color: var(--acento); background: var(--base); color: #fff; }
.site #h-planos .cartao:nth-child(2) p,
.site #h-planos .cartao:nth-child(2) .pontos span { color: rgba(255,255,255,.74); }
.site #h-planos .cartao:nth-child(2) .pontos li { border-color: rgba(255,255,255,.15); }

/* FAQ */
.site .faq { max-width: 64rem; gap: 0; border-top: 1px solid var(--rd-line); }
.site .faq details {
  border-radius: 0;
  border-bottom: 1px solid var(--rd-line);
  background: transparent;
  box-shadow: none;
}
.site .faq details[open] { box-shadow: none; background: var(--rd-white); }
.site .faq summary { padding: 1.6rem 4rem 1.6rem 0; font-family: var(--display); font-size: 1.5rem; font-weight: 400; }
.site .faq details[open] summary { padding-left: 1.5rem; }
.site .faq .resp { padding: 0 3rem 1.7rem 1.5rem; }

/* Contato e formulário */
.site .contato { grid-template-columns: minmax(18rem, .78fr) minmax(30rem, 1.22fr); gap: clamp(3rem, 8vw, 8rem); }
.site .canais { gap: 0; border-top: 1px solid var(--rd-line); }
.site .canais li {
  border-radius: 0;
  border-bottom: 1px solid var(--rd-line);
  background: transparent;
  padding: 1.15rem 0;
  box-shadow: none;
}
.site .form {
  border-radius: 0;
  background: var(--base);
  color: #fff;
  padding: clamp(2rem, 5vw, 4rem);
  box-shadow: var(--rd-shadow);
}
.site .campo label { color: rgba(255,255,255,.8); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.site .campo input,
.site .campo select,
.site .campo textarea {
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.35);
  border-radius: 0;
  background: transparent;
  color: #fff;
  padding: .9rem 0;
}
.site .campo select option { color: var(--rd-ink); }
.site .campo input::placeholder,
.site .campo textarea::placeholder { color: rgba(255,255,255,.45); }
.site .campo input:focus,
.site .campo select:focus,
.site .campo textarea:focus { background: transparent; border-color: var(--acento); }
.site .form .obs { color: rgba(255,255,255,.55); }
.site .form .btn { background: var(--acento); color: var(--rd-ink); }

/* Chamada e rodapé */
.site .chamada {
  border-radius: 0;
  padding: clamp(3rem, 6vw, 5rem);
  background: var(--base);
  border-left: .55rem solid var(--acento);
}
.site .chamada::before {
  border-radius: 0;
  width: 38%;
  height: 100%;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, transparent, rgba(255,255,255,.09));
}
.site .chamada h2 { font-size: clamp(2.4rem, 4.5vw, 4.4rem); line-height: .96; }
.site .rodape {
  position: relative;
  background: #0b1713;
  padding-top: clamp(5rem, 9vw, 8rem);
}
.site .rodape::before { content: "ALIVITA"; position: absolute; right: 2vw; top: -.18em; font-family: var(--display); font-size: clamp(7rem, 18vw, 18rem); color: rgba(255,255,255,.025); pointer-events: none; }
.site .rodape__g { position: relative; grid-template-columns: 1.7fr .8fr 1fr; }
.site .rodape .logo { border-radius: 0; }
.site .social a { border-radius: 0; }
.site .voltar-inicio { border-radius: 0; }
.site .flut { border-radius: 0; right: 1.5rem; bottom: 1.5rem; }

/* Responsividade */
@media (max-width: 1080px) {
  .site .menu {
    background: var(--rd-white);
    border: 1px solid var(--rd-line);
    padding: 1rem 1.5rem 1.5rem;
    box-shadow: var(--rd-shadow);
  }
  .site .menu a { padding: 1rem 0; }
  .site .hero-homecare { margin: .75rem; }
  .site .grade--3 { grid-template-columns: repeat(2, 1fr); }
  .site .grade--3 .cartao:last-child { grid-column: 1 / -1; }
  .site .etapas { grid-template-columns: repeat(2, 1fr); }
  .site .etapa:nth-child(2) { border-right: 0; }
  .site .etapa:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.2); }
}

@media (max-width: 940px) {
  .site .heroi__g { grid-template-columns: 1fr; }
  .site .heroi::before { width: 100%; height: 42%; top: auto; bottom: 0; }
  .site .heroi__foto { width: min(100%, 38rem); aspect-ratio: 4 / 3; margin-left: auto; }
  .site .selo-flut { left: 1rem; }
  .site .contato { grid-template-columns: 1fr; }
  .site .rodape__g { grid-template-columns: 1fr 1fr; }
  .site .rodape__g > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .site .env,
  .site .larga { width: min(100% - 2rem, 84rem); }
  .site .cab__c { min-height: 4.5rem; }
  .site .logo__img { height: 2.1rem; }
  .site .hero-homecare { min-height: calc(100svh - 6rem); margin: 0; }
  .site .hero-homecare::after { inset: .75rem; }
  .site .hero-homecare .hero-titulo { font-size: clamp(3rem, 14vw, 5rem); }
  .site .heroi h1 { font-size: clamp(3.3rem, 15vw, 5.5rem); }
  .site .pontos-barra { grid-template-columns: 1fr 1fr; }
  .site .pontos-barra div { border-bottom: 1px solid var(--rd-line); }
  .site .pontos-barra div:nth-child(even) { border-right: 0; }
  .site .grade--3,
  .site .grade--2 { grid-template-columns: 1fr; }
  .site .grade--3 .cartao:last-child { grid-column: auto; }
  .site .cartao:nth-child(even),
  .site .cartao:nth-child(even):hover { transform: none; }
  .site .etapas { grid-template-columns: 1fr; }
  .site .etapa,
  .site .etapa:nth-child(2) { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .site .etapa:last-child { border-bottom: 0; }
  .site .linha2 { grid-template-columns: 1fr; }
  .site .rodape__g { grid-template-columns: 1fr; }
  .site .rodape__g > :first-child { grid-column: auto; }
}

@media (max-width: 480px) {
  .site .inicio { gap: .45rem; padding: .32rem .55rem .32rem .35rem; border-left-width: 3px; }
  .site .inicio__icone { width: 1.8rem; height: 1.8rem; flex-basis: 1.8rem; }
  .site .inicio__texto,
  .site .inicio .curto { display: inline-grid; }
  .site .inicio__texto strong { font-size: .61rem; }
  .site .cab .logo { border-left: 1px solid var(--rd-line); padding-left: .65rem; }
  .site .logo .u { display: none; }
  .site .pontos-barra { grid-template-columns: 1fr; }
  .site .pontos-barra div { border-right: 0; }
  .site .form { padding: 1.5rem; }
  .site .chamada { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .site .btn::before { display: none; }
}

/* Ajustes finais para telas estreitas */
@media (max-width: 520px) {
  .site { overflow-x: clip; }
  .site .cab__c { gap: .5rem; }
  .site .inicio { margin-right: 0; }
  .site .cab .logo { margin-right: auto; }
  .site .acoes { gap: .4rem; }
  .site .acoes .tsz { display: none; }
  .site .hamb { flex: 0 0 2.7rem; }
  .site .hero-homecare .env {
    width: calc(100% - 2rem);
    min-width: 0;
    margin-inline: 1rem;
  }
  .site .hero-homecare .hero-conteudo,
  .site .hero-homecare .hero-texto,
  .site .hero-homecare .heroi__b { width: 100%; min-width: 0; }
  .site .hero-homecare .heroi__b {
    display: grid;
    grid-template-columns: 1fr;
  }
  .site .hero-homecare .heroi__b .btn { width: 100%; }
}

@media (max-width: 520px) {
  .site main { max-width: 100%; overflow-x: clip; }
  .site .cab__c {
    width: calc(100% - 2rem);
    min-width: 0;
    margin-inline: 1rem;
  }
  .site .cab .logo { flex: 0 0 auto; margin-right: 0; }
  .site .inicio { flex: 0 0 auto; margin-right: auto; }
  .site .acoes { flex: 0 0 auto; }
  .site .hero-homecare { width: 100%; max-width: 100%; }
  .site .hero-homecare .env { max-width: calc(100% - 2rem); }
  .site .hero-homecare .hero-titulo,
  .site .hero-homecare .hero-texto { max-width: 100%; overflow-wrap: break-word; }
}

@media (max-width: 520px) {
  .site .hero-homecare { width: 100vw; max-width: 100vw; }
  .site .hero-homecare .env,
  .site .hero-homecare .hero-conteudo {
    width: calc(100vw - 2rem) !important;
    max-width: calc(100vw - 2rem) !important;
    box-sizing: border-box;
  }
}
