/* ═══════════════════════════════════════════════════════════════════════════
   VEDICA ASTRO — responsive.css  (r4)
   Viewport overrides ONLY. Breakpoints: 1180 · 980 · 720 · 560.
   ═══════════════════════════════════════════════════════════════════════════ */


/* ───────────── ≤ 1180 ───────────────────────────────────────────────────── */

@media (max-width: 1180px) {

  :root { --gutter-l: 56px; }

  .header { padding: 24px 40px; gap: 20px; }
  .nav { gap: 22px; }
  .nav__link { font-size: 10px; letter-spacing: 0.20em; }

  .hero { padding: 80px 56px 96px; }
  .hero__grid { gap: 56px; }
  .hero__visual-frame { max-width: 420px; }

  .section { padding: 96px 56px 88px; }
  .section__lead { gap: 56px; }
  .section__head { margin-bottom: 56px; }

  .feature-card { padding: 48px; }
  .manuscript { padding: 40px 44px; }

  .footer { padding: 64px 56px 40px; }
}


/* ───────────── ≤ 980 ────────────────────────────────────────────────────── */

@media (max-width: 980px) {

  /* Header */
  .header { padding: 22px 32px; gap: 24px; }
  .nav { gap: 30px; }
  .nav__link { font-size: 10.5px; letter-spacing: 0.24em; }
  .logo__img { height: 36px; }

  /* Hero — stack chart below text */
  .hero { padding: 64px 32px 88px; }
  .hero__stamp {
    font-size: 9.5px;
    letter-spacing: 0.26em;
    gap: 10px;
    padding: 8px 14px;
    flex-wrap: wrap;
    margin-bottom: 44px;
  }
  .hero__grid { grid-template-columns: 1fr; gap: 64px; }
  .hero__visual { order: 2; }
  .hero__visual-frame { max-width: 380px; margin: 0 auto; }

  /* Sections */
  .section { padding: 88px 32px 80px; }
  .section__head { margin-bottom: 48px; }
  .section__lead { grid-template-columns: 1fr; gap: 32px; margin-bottom: 64px; }
  .section__title { font-size: clamp(36px, 5.4vw, 56px); }
  .section__title em { font-size: clamp(26px, 4vw, 38px); }

  /* Stats */
  .stat { padding: 36px 20px; }
  .stat__num { font-size: clamp(40px, 5vw, 56px); }

  /* Feature card */
  .feature-card { padding: 40px 36px; margin-top: 64px; }
  .feature-card__title { font-size: clamp(28px, 4vw, 40px); }
  .feature-card__meta { grid-template-columns: 1fr 1fr; gap: 24px; }
  .feature-card__meta > div:nth-child(3) { grid-column: span 2; }

  /* Process — 2 × 2 */
  .process { grid-template-columns: repeat(2, 1fr); }
  .process__step { padding: 40px 28px 32px; border-right: 0.5px solid var(--line-warm); }
  .process__step:nth-child(2n) { border-right: 0; }
  .process__step:nth-child(1),
  .process__step:nth-child(2) { border-bottom: 0.5px solid var(--line-warm); }
  .process__num { font-size: 40px; margin-bottom: 24px; }

  .manuscript { padding: 36px 32px; }
  .manuscript__list { grid-template-columns: repeat(2, 1fr); }

  /* Por Quê */
  .questions { gap: 28px 40px; padding: 40px 0; margin-bottom: 64px; }
  .questions__item { font-size: 19px; }
  .section__bridge { padding: 36px 24px; margin-bottom: 64px; }
  .section__bridge p { font-size: clamp(19px, 2.6vw, 24px); }
  .benefits { grid-template-columns: repeat(2, 1fr); }
  .benefit { border-right: 0.5px solid var(--line-warm); }
  .benefit:nth-child(2n) { border-right: 0; }
  .benefit:nth-child(3n) { border-right: 0.5px solid var(--line-warm); }
  .benefit:nth-child(6n) { border-right: 0; }
  .benefit:nth-last-child(-n+3) { border-bottom: 0.5px solid var(--line-warm); }
  .benefit:nth-last-child(-n+2) { border-bottom: 0; }

  /* Planetas — collapse to single column */
  .graha { grid-template-columns: 1fr; gap: 28px; padding: 48px 28px; }
  .graha__name { font-size: 38px; }
  .graha__sanskrit { font-size: 17px; margin-bottom: 18px; }
  .graha__body { font-size: 16px; }

  /* Comparação — keep table, tighten padding */
  .comparison th,
  .comparison td { padding: 22px 16px; }
  .comparison thead th { padding: 26px 16px 22px; font-size: 10.5px; letter-spacing: 0.26em; }
  .comparison .vedic-name { font-size: 24px; }
  .comparison tbody td { font-size: 14px; }
  .comparison tbody th { font-size: 10px; letter-spacing: 0.28em; }

  /* Argumentos — tighter padding */
  .argumentos { margin: 72px 0 64px; }
  .argumentos__head { padding: 36px 20px 44px; }
  .argumento { padding: 44px 24px; gap: 40px; }
  .argumento__num { font-size: 48px; }
  .argumento__heading { font-size: clamp(22px, 3vw, 28px); }
  .argumento__text { font-size: 16px; line-height: 1.75; }

  /* Zodiac marquee */
  .zmarquee { padding: 24px 0; }
  .zmarquee__icon { width: 30px; height: 30px; }
  .zmarquee__name { font-size: 19px; }
  .zmarquee__item { gap: 14px; padding: 0 36px; }

  /* Contact */
  .contact { grid-template-columns: 1fr; gap: 16px; }

  /* Footer */
  .footer { padding: 56px 32px 36px; }
  .footer__inner { grid-template-columns: 1fr; gap: 28px; text-align: center; }
  .footer__lockup { justify-content: center; flex-wrap: wrap; }
  .footer__cap { padding-left: 0; border-left: 0; }
  .footer__links { justify-content: center; }
  .footer__legal { justify-content: center; }
}


/* ───────────── ≤ 720 ────────────────────────────────────────────────────── */

@media (max-width: 720px) {

  /* Header — burger only */
  .header { padding: 18px 22px; }
  .nav, .cta--header { display: none; }
  .burger { display: flex; margin-left: auto; }
  .logo__img { height: 32px; }

  /* Hero typography */
  .hero { padding: 44px 24px 72px; }
  .hero__stamp { font-size: 9px; letter-spacing: 0.20em; padding: 7px 12px; gap: 8px; }
  .hero__h1-bold   { font-size: clamp(40px, 11vw, 72px); }
  .hero__h1-mid    { font-size: clamp(28px, 8vw, 48px); padding-left: 14px; margin-top: 8px; }
  .hero__sub { max-width: 100%; font-size: 14px; margin-bottom: 36px; }
  .hero__actions { gap: 28px; }
  .hero__visual-frame { max-width: 320px; padding: 22px; }
  .hero__visual-cap { font-size: 9.5px; letter-spacing: 0.24em; }

  /* Sections — tighter */
  .section { padding: 64px 22px 56px; }
  .section__head { margin-bottom: 36px; gap: 14px; padding-bottom: 20px; }
  .section__num, .section__label { font-size: 10px; letter-spacing: 0.28em; }
  .section__lead { gap: 24px; margin-bottom: 48px; }
  .section__title { font-size: clamp(30px, 8vw, 48px); }
  .section__title em { font-size: clamp(24px, 6vw, 36px); margin-top: 10px; }
  .section__body { font-size: 14.5px; }

  /* Por Quê */
  .questions { grid-template-columns: 1fr; gap: 22px; padding: 28px 0; margin-bottom: 48px; }
  .questions__item { font-size: 17px; padding-left: 22px; }
  .section__bridge { padding: 28px 18px; margin-bottom: 48px; }
  .section__bridge p { font-size: 18px; line-height: 1.5; }

  .benefits { grid-template-columns: 1fr; }
  .benefit { padding: 28px 22px; border-right: 0; border-bottom: 0.5px solid var(--line-warm); }
  .benefit:last-child { border-bottom: 0; }
  .benefit:nth-child(2n),
  .benefit:nth-child(3n),
  .benefit:nth-child(6n) { border-right: 0; }
  .benefit:nth-last-child(-n+3),
  .benefit:nth-last-child(-n+2) { border-bottom: 0.5px solid var(--line-warm); }
  .benefit__title { font-size: 21px; }

  .section__closer { padding-top: 16px; }
  .section__closer p { font-size: 19px; margin-bottom: 28px; }

  /* Planetas — tightest mobile */
  .graha { padding: 36px 20px; gap: 20px; }
  .graha__num { margin-bottom: 16px; }
  .graha__name { font-size: 32px; }
  .graha__sanskrit { font-size: 15px; margin-bottom: 14px; }
  .graha__caption { font-size: 10px; letter-spacing: 0.28em; }
  .graha__body { font-size: 16px; line-height: 1.75; }

  /* Comparação — table scrolls horizontally on mobile */
  .comparison-wrap { margin-bottom: 56px; }
  .comparison { min-width: 720px; }
  .comparison th,
  .comparison td { padding: 18px 14px; }
  .comparison thead th { padding: 22px 14px 18px; font-size: 10px; letter-spacing: 0.22em; }
  .comparison .vedic-name { font-size: 22px; }
  .comparison .vedic-sub { font-size: 9px; }
  .comparison tbody td { font-size: 13.5px; line-height: 1.45; }
  .comparison tbody th { font-size: 9.5px; letter-spacing: 0.24em; padding: 18px 12px; }

  /* Argumentos — collapse to single column on mobile */
  .argumentos { margin: 56px 0 48px; }
  .argumentos__head { padding: 28px 18px 36px; }
  .argumentos__label { font-size: 10px; letter-spacing: 0.30em; margin-bottom: 16px; }
  .argumento { grid-template-columns: 1fr; gap: 18px; padding: 36px 22px; }
  .argumento__num { font-size: 36px; }
  .argumento__heading { font-size: 22px; margin-bottom: 14px; }
  .argumento__text { font-size: 15.5px; line-height: 1.7; }

  /* Stats — single column */
  .stats { grid-template-columns: 1fr; margin-top: 56px; }
  .stat { padding: 28px 18px; border-right: 0; border-bottom: 0.5px solid var(--line-warm); }
  .stat:last-child { border-bottom: 0; }
  .stat__num { font-size: 44px; margin-bottom: 8px; }

  /* Feature card */
  .feature-card { padding: 32px 24px; margin-top: 56px; }
  .feature-card__title { font-size: clamp(24px, 6vw, 32px); }
  .feature-card__tag { font-size: 18px; }
  .feature-card__body { font-size: 14px; }
  .feature-card__meta { grid-template-columns: 1fr; gap: 20px; }
  .feature-card__meta > div:nth-child(3) { grid-column: auto; }

  /* Process — single column */
  .process { grid-template-columns: 1fr; }
  .process__step { border-right: 0; border-bottom: 0.5px solid var(--line-warm); padding: 32px 22px; }
  .process__step:last-child { border-bottom: 0; }
  .process__step:nth-child(1),
  .process__step:nth-child(2) { border-bottom: 0.5px solid var(--line-warm); }
  .process__num { font-size: 36px; margin-bottom: 18px; }
  .process__name { font-size: 22px; }

  /* Manuscript */
  .manuscript { padding: 28px 22px; }
  .manuscript__head { gap: 12px; padding-bottom: 22px; margin-bottom: 22px; }
  .manuscript__label { font-size: 18px; }
  .manuscript__list { grid-template-columns: 1fr; gap: 16px; }

  /* Zodiac marquee */
  .zmarquee { padding: 18px 0; }
  .zmarquee__icon { width: 26px; height: 26px; }
  .zmarquee__name { font-size: 17px; }
  .zmarquee__roman { font-size: 9px; padding-left: 12px; }
  .zmarquee__item { gap: 12px; padding: 0 24px; }
  .zmarquee::before, .zmarquee::after { width: 60px; }

  /* Marquee 1 */
  .marquee { padding: 14px 0; }
  .marquee__track { font-size: 9.5px; letter-spacing: 0.24em; }
  .marquee__item { padding: 0 18px; }

  /* Contact */
  .contato-lead { margin-bottom: 56px; }
  .contact__option { padding: 22px 22px; gap: 18px; }
  .contact__option-num { font-size: 22px; }
  .contact__option-name { font-size: 19px; }
  .contact__note { font-size: 10px; letter-spacing: 0.20em; padding: 18px 16px; flex-wrap: wrap; }
}


/* ───────────── ≤ 560 ────────────────────────────────────────────────────── */

@media (max-width: 560px) {

  .header { padding: 16px 18px; }
  .logo__img { height: 28px; }

  .hero { padding: 36px 18px 64px; }
  .hero__stamp { gap: 7px; padding: 6px 10px; }
  .hero__h1-bold   { font-size: clamp(34px, 12vw, 56px); }
  .hero__h1-mid    { font-size: clamp(24px, 9vw, 40px); }
  .hero__sub { font-size: 13.5px; margin-bottom: 32px; }

  .hero__actions { flex-direction: column; align-items: stretch; gap: 18px; }
  .cta { justify-content: center; padding: 14px 22px; }
  .cta--ghost { width: auto; padding: 0 0 6px; align-self: flex-start; }

  .hero__visual-frame { max-width: 280px; padding: 18px; }

  .section { padding: 48px 18px 44px; }
  .section__title { font-size: clamp(26px, 9vw, 40px); }
  .section__title em { font-size: clamp(22px, 7vw, 32px); }

  .feature-card { padding: 28px 20px; }
  .manuscript { padding: 22px 18px; }
  .contact__option { padding: 20px 18px; }

  /* Loader mobile */
  .va-loader__corner,
  .va-loader__counter { font-size: 9px; top: 16px; }
  .va-loader__corner  { left: 18px; }
  .va-loader__counter { right: 18px; }
  .va-loader__mark    { font-size: 48px; }
  .va-loader__name    { font-size: 26px; }
  .va-loader__bar     { width: 180px; }
  .va-loader__cap     { font-size: 9px; letter-spacing: 0.28em; }
}


/* ───────────── Contact modal (mobile) ───────────────────────────────────── */

@media (max-width: 720px) {
  .modal { padding: 14px; }
  .modal__close { top: 14px; right: 14px; width: 32px; height: 32px; }
  .modal__panel { padding: 44px 22px 28px; }
  .modal__head  { padding-bottom: 18px; margin-bottom: 22px; }
  .modal__eyebrow { font-size: 10px; letter-spacing: 0.28em; margin-bottom: 12px; }
  .modal__title { font-size: 24px; }
  .modal__sub   { font-size: 13.5px; }

  /* Form collapses to single column */
  .modal__form { grid-template-columns: 1fr; gap: 16px; }
  .field-section { font-size: 9.5px; letter-spacing: 0.28em; padding-top: 12px; }
  .field label { font-size: 9.5px; letter-spacing: 0.26em; }
  .field input, .field textarea { font-size: 15px; padding: 11px 12px; }
  .field__hint { font-size: 12px; }

  .modal__note { font-size: 12.5px; }
  .modal__success-title { font-size: 24px; }
  .modal__success-text  { font-size: 13.5px; }
}


/* ───────────── FAQ — mobile ─────────────────────────────────────────────── */

@media (max-width: 720px) {
  .faq__item summary { gap: 14px; padding: 20px 0; }
  .faq__q-text { font-size: 17px; }
  .faq__q-num { font-size: 13px; }
  .faq__q-mark { font-size: 20px; }
  .faq__a { padding: 0 0 24px; gap: 14px; }
  .faq__a p { font-size: 14.5px; line-height: 1.7; }
}
