/* ==========================================================================
   ATLAS STUDIO HEALTH — health.css
   Paleta em tons de verde suave, com azul em pequena dose.
   Nenhum preto: o texto mais escuro é verde-profundo.
   Carregar depois de style.css.
   ========================================================================== */

body.health {
  /* Tokens reescritos: sai o preto, entra o verde */
  --ink: #14352b;          /* texto e títulos */
  --ink-soft: #1d4a3b;
  --paper: #ffffff;
  --fog: #f2faf6;
  --fog-deep: #e3f3ec;
  --line: #d5e9de;
  --line-strong: #a9d3c1;
  --mute: #5d7c6f;
  --mute-light: #8aa89a;

  /* Verdes da marca */
  --brand: #2f8f6b;
  --brand-2: #57b98f;
  --brand-3: #86d3b1;
  --brand-4: #b9e6d2;
  --brand-deep: #17604a;
  --brand-darker: #0f4436;

  /* Azul em pequena dose */
  --blue: #4a90b8;
  --blue-soft: #eaf3f8;

  color: var(--ink);
}

body.health ::selection { background: var(--brand-3); color: var(--brand-darker); }

/* --------------------------------------------------------------------------
   Ajustes dos componentes globais para o verde
   -------------------------------------------------------------------------- */
body.health .header { background: rgba(255, 255, 255, 0.88); }
body.health .brand__name, body.health .brand span { color: var(--ink); }

body.health .btn {
  background: linear-gradient(120deg, var(--brand-deep), var(--brand));
  border-color: transparent;
  color: #fff;
}
body.health .btn:hover { background: linear-gradient(120deg, var(--brand), var(--brand-2)); }
body.health .btn--ghost {
  background: transparent;
  color: var(--brand-deep);
  border-color: var(--line-strong);
}
body.health .btn--ghost:hover {
  background: var(--fog-deep);
  color: var(--brand-deep);
  border-color: var(--brand-2);
}
body.health .btn--light { background: #fff; color: var(--brand-deep); border-color: #fff; }
body.health .btn--light:hover { background: var(--fog-deep); }

body.health .special--solid {
  background: linear-gradient(120deg, var(--brand-deep), var(--brand));
  border-color: transparent;
  color: #fff;
}
body.health .special--outline { color: var(--brand-deep); border-color: var(--line-strong); }
body.health .special--outline::after { background: var(--brand); }
body.health .special--outline:hover { color: #fff; border-color: var(--brand); }

body.health .section--ink {
  background: linear-gradient(150deg, var(--brand-darker) 0%, var(--brand-deep) 55%, #1c6b52 100%);
  color: #fff;
}
body.health .section--ink .lead { color: rgba(255, 255, 255, 0.8); }
body.health .section--ink .eyebrow { color: var(--brand-3); }

body.health .section--fog { background: var(--fog); }
body.health .eyebrow { color: var(--brand); }
body.health .wa { background: linear-gradient(120deg, var(--brand-deep), var(--brand)); }
body.health .wa__ring { border-color: var(--brand-2); }
body.health .progress { background: linear-gradient(90deg, var(--brand-deep), var(--brand-2)); }

/* O rodapé base é escuro com texto branco. Trocar só o fundo para claro
   deixava o texto invisível — então tingimos o escuro de verde. */
body.health .footer {
  background: linear-gradient(160deg, var(--brand-darker) 0%, var(--brand-deep) 100%);
  border-top-color: transparent;
  color: #fff;
}
body.health .footer h4 { color: var(--brand-3); }
body.health .footer__links a { color: rgba(255, 255, 255, 0.82); }
body.health .footer__links a:hover { color: #fff; }
body.health .footer__links span { color: rgba(255, 255, 255, 0.6); }
body.health .footer__bar { border-top-color: rgba(255, 255, 255, 0.16); color: rgba(255, 255, 255, 0.6); }
body.health .footer__bar a { color: rgba(255, 255, 255, 0.75); }
body.health .footer__word span { color: var(--brand); }

body.health .faq__icon { border-color: var(--line-strong); }
body.health .faq__icon::before, body.health .faq__icon::after { background: var(--brand-deep); }
body.health .faq__q[aria-expanded="true"] .faq__icon { background: var(--brand); border-color: var(--brand); }
body.health .faq__q[aria-expanded="true"] .faq__icon::before { background: #fff; }
body.health .faq__q { color: var(--ink); }
body.health .faq__q:hover { color: var(--brand); }

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.h-hero {
  position: relative;
  overflow: hidden;
  padding-top: clamp(48px, 7vw, 96px);
  padding-bottom: clamp(48px, 6vw, 90px);
  background:
    radial-gradient(900px circle at 78% 8%, var(--fog-deep), transparent 62%),
    radial-gradient(600px circle at 12% 88%, var(--blue-soft), transparent 58%);
}

.h-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  gap: clamp(30px, 4.5vw, 64px);
  align-items: center;
}

@media (max-width: 1000px) { .h-hero__grid { grid-template-columns: 1fr; } }

.h-hero h1 {
  font-size: clamp(2.4rem, 5.8vw, 4.5rem);
  font-weight: 900;
  letter-spacing: -0.042em;
  line-height: 1.0;
}

.h-grad {
  background: linear-gradient(104deg, var(--brand-deep), var(--brand-2) 55%, var(--blue));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.h-hero__lead {
  font-size: var(--fs-lead);
  color: var(--mute);
  max-width: 52ch;
  margin-top: 22px;
  line-height: 1.6;
}

.h-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

.h-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }

.h-pills span {
  font-family: var(--mono);
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  padding: 7px 13px;
  border-radius: var(--r-pill);
  background: var(--fog-deep);
  color: var(--brand-deep);
}

/* Blobs suaves */
.h-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  opacity: 0.5;
  pointer-events: none;
  animation: hfloat 24s ease-in-out infinite;
}

.h-blob--1 { width: 360px; height: 360px; background: var(--brand-4); top: -12%; right: 4%; }
.h-blob--2 { width: 260px; height: 260px; background: var(--blue-soft); bottom: -14%; left: 2%; animation-delay: -9s; }

@keyframes hfloat {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(-24px, 26px, 0) scale(1.08); }
}

@media (prefers-reduced-motion: reduce) { .h-blob { animation: none; } }

/* --------------------------------------------------------------------------
   Cartões
   -------------------------------------------------------------------------- */
.h-card {
  position: relative;
  padding: clamp(22px, 2.8vw, 32px);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  background: var(--paper);
  overflow: hidden;
  transition: transform var(--t-mid) var(--ease), border-color var(--t-mid) var(--ease),
              box-shadow var(--t-mid) var(--ease);
}

.h-card::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(var(--brand-2), var(--brand));
  transform: scaleY(0);
  transform-origin: top;
  transition: transform var(--t-mid) var(--ease-out);
}

.h-card:hover {
  transform: translateY(-4px);
  border-color: var(--line-strong);
  box-shadow: 0 18px 40px -26px rgba(23, 96, 74, 0.32);
}

.h-card:hover::before { transform: scaleY(1); }

.h-card__ico {
  width: 38px; height: 38px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: var(--fog-deep);
  color: var(--brand-deep);
  margin-bottom: 16px;
}

.h-card h3 { font-size: 1.14rem; margin-bottom: 9px; letter-spacing: -0.02em; }
.h-card h4 { font-family: var(--body); font-size: 0.98rem; font-weight: 600; letter-spacing: 0; margin-bottom: 8px; }
.h-card p { color: var(--mute); font-size: 0.9rem; line-height: 1.6; }

.h-card__n {
  font-family: var(--mono);
  font-size: 0.64rem;
  letter-spacing: 0.14em;
  color: var(--brand);
  margin-bottom: 12px;
}

.h3g { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: clamp(14px, 1.8vw, 20px); }
.h2g { display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: clamp(14px, 1.8vw, 22px); }
.h4g { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: clamp(12px, 1.4vw, 16px); }

/* --------------------------------------------------------------------------
   Bloco de destaque
   -------------------------------------------------------------------------- */
.h-band {
  padding: clamp(28px, 3.6vw, 52px);
  border-radius: var(--r-card);
  background: linear-gradient(135deg, var(--fog-deep), var(--blue-soft));
  border: 1px solid var(--line);
}

.h-band h2 { font-size: clamp(1.6rem, 3.2vw, 2.4rem); margin-bottom: 14px; }
.h-band p { color: var(--mute); max-width: 66ch; }

/* --------------------------------------------------------------------------
   Lista com marcador
   -------------------------------------------------------------------------- */
.h-list { display: grid; gap: 11px; }

.h-list li {
  position: relative;
  padding-left: 26px;
  color: var(--mute);
  font-size: 0.94rem;
  line-height: 1.6;
}

.h-list li svg {
  position: absolute;
  left: 0; top: 0.32em;
  color: var(--brand);
}

.h-list li b { color: var(--ink); }

/* --------------------------------------------------------------------------
   Números
   -------------------------------------------------------------------------- */
.h-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  overflow: hidden;
}

.h-kpi { background: var(--paper); padding: clamp(22px, 2.8vw, 34px); }

.h-kpi__n {
  font-family: var(--display);
  font-size: clamp(1.9rem, 3.6vw, 2.9rem);
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1;
  color: var(--brand-deep);
}

.h-kpi__n small { font-size: 0.42em; }

.h-kpi__l {
  font-family: var(--mono);
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mute);
  margin-top: 11px;
  line-height: 1.55;
}

/* --------------------------------------------------------------------------
   Comparativo
   -------------------------------------------------------------------------- */
.h-cmp { border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; }

.h-cmp__row {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1fr);
  border-bottom: 1px solid var(--line);
}

.h-cmp__row:last-child { border-bottom: 0; }

.h-cmp__row > div {
  padding: 16px 18px;
  border-right: 1px solid var(--line);
  font-size: 0.9rem;
  color: var(--mute);
}

.h-cmp__row > div:last-child { border-right: 0; }

.h-cmp__row--head > div {
  font-family: var(--mono);
  font-size: 0.64rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--fog);
}

.h-cmp__k { color: var(--ink) !important; font-weight: 500; }
.h-cmp__us { background: var(--fog-deep); color: var(--brand-deep) !important; }
.h-cmp__no { color: #b06a6a !important; }

@media (max-width: 760px) {
  .h-cmp__row { grid-template-columns: 1fr; }
  .h-cmp__row > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .h-cmp__row--head { display: none; }
  .h-cmp__row > div::before {
    content: attr(data-l);
    display: block;
    font-family: var(--mono);
    font-size: 0.58rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mute-light);
    margin-bottom: 5px;
  }
}

/* --------------------------------------------------------------------------
   Passos
   -------------------------------------------------------------------------- */
.h-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; }
.h-step { background: var(--paper); padding: clamp(22px, 2.6vw, 30px); }
.h-step__n { font-family: var(--mono); font-size: 0.64rem; letter-spacing: 0.14em; color: var(--brand); margin-bottom: 14px; }
.h-step h4 { font-family: var(--display); font-size: 1.06rem; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 8px; }
.h-step p { font-size: 0.87rem; color: var(--mute); line-height: 1.55; }

/* --------------------------------------------------------------------------
   Especialidades (chips grandes)
   -------------------------------------------------------------------------- */
.h-spec { display: flex; flex-wrap: wrap; gap: 9px; }

.h-spec span {
  font-size: 0.86rem;
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: var(--paper);
  color: var(--ink);
  transition: all var(--t-fast) var(--ease);
}

.h-spec span:hover { border-color: var(--brand-2); background: var(--fog-deep); color: var(--brand-deep); transform: translateY(-2px); }

/* --------------------------------------------------------------------------
   Arte
   -------------------------------------------------------------------------- */
.h-art {
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  background: linear-gradient(160deg, var(--fog), var(--fog-deep));
  padding: clamp(16px, 2.2vw, 26px);
}

.h-art img { width: 100%; }

/* --------------------------------------------------------------------------
   CTA final
   -------------------------------------------------------------------------- */
.h-final {
  text-align: center;
  padding: clamp(36px, 5.4vw, 74px) clamp(20px, 4vw, 56px);
  border-radius: 16px;
  background: linear-gradient(150deg, var(--brand-darker), var(--brand-deep) 60%, #1e7359);
  color: #fff;
}

.h-final h2 { font-size: clamp(1.9rem, 4.6vw, 3.3rem); font-weight: 900; letter-spacing: -0.04em; margin-bottom: 16px; }
.h-final p { color: rgba(255, 255, 255, 0.82); max-width: 60ch; margin-inline: auto; font-size: var(--fs-lead); }
.h-final__cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 28px; }
.h-final__meta { font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.08em; color: rgba(255, 255, 255, 0.6); margin-top: 24px; }

/* --------------------------------------------------------------------------
   Cartão com título maior (seção "O que esperar")
   -------------------------------------------------------------------------- */
.h-card--big h3 {
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  color: var(--brand-deep);
  line-height: 1.1;
  margin-bottom: 12px;
}

.h-card--big p { font-size: 0.95rem; }

/* aproxima uma seção da anterior */
body.health .pull-up { padding-top: clamp(20px, 2.4vw, 40px) !important; }

/* painel do Google dentro do tema verde */
body.health .panel { box-shadow: 0 24px 60px -34px rgba(23, 96, 74, 0.4); }
body.health .serp__row[data-us="true"] {
  background: var(--fog-deep);
  box-shadow: inset 3px 0 0 var(--brand);
}
body.health .serp__badge { background: var(--brand); }


/* garantia de contraste: rodapé escuro, texto claro */
body.health .footer { color: #fff !important; }
body.health .footer h4,
body.health .footer__links a,
body.health .footer__links span,
body.health .footer__bar,
body.health .footer__bar a,
body.health .footer__word { color: rgba(255, 255, 255, 0.85); }
body.health .footer__word span { opacity: 0.6; }
