/* ==========================================================================
   CITAÇÃO, CTA FINAL, FOOTER e RESPONSIVO
   ========================================================================== */

/* ---------- Citação "ainda aluna" ---------- */
.quote { text-align: center; }
.quote__inner { max-width: 52rem; margin-inline: auto; }
.quote__mark {
  display: block;
  margin-bottom: 0.5rem;
  font-family: var(--font-display);
  font-size: 6rem;
  line-height: 0.6;
  color: var(--scarlet);
}
.quote blockquote {
  margin: 0 0 2rem;
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 3.6vw, 2.8rem);
  font-weight: 400;
  line-height: 1.25;
}
.quote__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.6rem 1.4rem;
  margin-top: 2.2rem;
  color: var(--muted);
  font-size: 1rem;
}
.quote__list li::before { content: "—"; margin-right: 0.5rem; color: var(--scarlet); }

/* ---------- CTA final ---------- */
.cta {
  overflow: hidden;
  text-align: center;
  background:
    radial-gradient(700px 400px at 50% 0%, rgba(180, 42, 31, 0.45), transparent 70%),
    var(--ink);
}
.cta__inner { max-width: 46rem; margin-inline: auto; }
.cta h2 { font-size: clamp(2.2rem, 5vw, 3.8rem); }
.cta p { margin-bottom: 2.2rem; font-size: 1.15rem; color: rgba(248, 243, 236, 0.75); }
.cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }
.cta__social {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem;
  margin-top: 1.8rem;
}
.social-link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 1.2rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: rgba(248, 243, 236, 0.85);
  border: 1px solid rgba(248, 243, 236, 0.25);
  border-radius: 999px;
  transition: background 0.3s, border-color 0.3s, color 0.3s;
}
.social-link svg { width: 1.2rem; height: 1.2rem; }
.social-link:hover { color: var(--white); border-color: #ff8f82; background: rgba(255, 143, 130, 0.12); }

.cta__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.6rem 2rem;
  margin-top: 2.2rem;
  font-size: 0.92rem;
  color: rgba(248, 243, 236, 0.6);
}

/* ---------- Footer ---------- */
.site-footer {
  padding-block: 3rem 2rem;
  font-size: 0.88rem;
  color: rgba(248, 243, 236, 0.6);
  background: #120f0d;
  border-top: 1px solid rgba(248, 243, 236, 0.1);
}
.site-footer .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.8rem 2rem; }
.site-footer strong { color: var(--cream); font-weight: 600; }

/* ---------- Responsivo ---------- */
@media (max-width: 1024px) {
  .approach__grid { grid-template-columns: repeat(2, 1fr); }
  .credentials__list { grid-template-columns: repeat(2, 1fr); }
  .credentials__item:nth-child(3) { border-left: 0; padding-left: 0; }
}

@media (max-width: 880px) {
  .nav-toggle { display: block; }
  .nav {
    position: fixed;
    inset: var(--header-h) 0 auto 0;
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    padding: 1.5rem var(--gutter) 2rem;
    background: var(--cream);
    border-bottom: 1px solid var(--sand-deep);
    box-shadow: var(--shadow-soft);
    transform: translateY(-120%);
    visibility: hidden;
    transition: transform 0.45s var(--ease), visibility 0.45s;
  }
  .nav.is-open { transform: none; visibility: visible; }
  .nav__list { flex-direction: column; gap: 0.4rem; }
  .nav__link { display: block; padding: 0.7rem 0; font-size: 1.15rem; }
  .nav .btn { width: 100%; }

  .hero__grid { grid-template-columns: 1fr; }
  .hero__visual { max-width: 26rem; margin-inline: auto; width: 100%; }
  .hero__badge { left: 0; }

  .story__layout { grid-template-columns: 1fr; }
  .story__aside { position: static; }
  .story__aside .photo-slot { max-width: 24rem; }

  .physio__grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .approach__grid { grid-template-columns: 1fr; }
  .hero__actions .btn, .cta__actions .btn { width: 100%; }
  .credentials__list { grid-template-columns: 1fr; }
  .credentials__item + .credentials__item { border-left: 0; padding-left: 0; }
  .credentials__list { padding: 1.5rem; }
  .credentials__item { padding-bottom: 1rem; border-bottom: 1px solid var(--sand-deep); }
  .credentials__item:last-child { border-bottom: 0; padding-bottom: 0; }
}
