/* Focused responsive corrections for the three editorial pages. */
.page-pricing .faq-item.open .faq-a { max-height: 1000px; }
@media (max-width: 900px) {
  .page-feature .hero { padding: 116px 24px 0; }
  .page-feature .hero-top,
  .page-feature .compare-intro,
  .page-feature .dims-intro,
  .page-feature .feat-row { grid-template-columns: minmax(0, 1fr); }
  .page-feature .hero-top { gap: 24px; padding-bottom: 44px; }
  .page-feature .hero-right { min-width: 0; }
  .page-feature .hero-cta-row { flex-wrap: wrap; }
  .page-feature .anchor-bar { max-width: 100%; overscroll-behavior-x: contain; }
  .page-feature .anchor-link { flex: 0 0 auto; }
  .page-feature .feat-row-text,
  .page-feature .feat-row.alt .feat-row-text { order: 0; padding: 56px 24px; border-left: 0; border-right: 0; }
  .page-feature .feat-row-visual,
  .page-feature .feat-row.alt .feat-row-visual { order: 1; min-height: 340px; padding: 40px 24px; }
  .page-feature .compare-intro,
  .page-feature .dims-intro { gap: 20px; }
  .page-feature .section { padding: 72px 24px; }
  .page-feature .dims-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .page-pricing .hero { padding: 120px 24px 64px; }
  .page-pricing .pricing-grid,
  .page-pricing .faq-grid,
  .page-pricing .referral-inner { grid-template-columns: minmax(0, 1fr); }
  .page-pricing .plan { padding: 58px 32px; border-right: 0; border-bottom: 1px solid var(--border); }
  .page-pricing .popular-badge { right: 32px; }
  .page-pricing .toggle-wrap { padding: 36px 24px 0; }
  .page-pricing .faq-item,
  .page-pricing .faq-item:nth-child(2n) { border-right: 0; border-bottom: 1px solid var(--border); }
  .page-pricing .faq-item:last-child { border-bottom: 0; }
  .page-pricing .referral-inner { gap: 36px; }
  .page-pricing .section { padding: 72px 24px; }

  .page-about .hero { min-height: 0; grid-template-columns: minmax(0, 1fr); }
  .page-about .hero-left { min-width: 0; padding: 120px 24px 32px; border-right: 0; }
  .page-about .hero-left-bottom { margin-top: 40px; }
  .page-about .hero-right { min-width: 0; padding: 16px 24px 64px; }
  .page-about .mission-inner,
  .page-about .values-header,
  .page-about .principles-header,
  .page-about .locations { grid-template-columns: minmax(0, 1fr); }
  .page-about .mission-left { padding: 64px 24px; border-right: 0; }
  .page-about .mission-right { padding: 56px 24px; }
  .page-about .values-header { padding: 72px 24px 0; gap: 24px; margin-bottom: 40px; }
  .page-about .values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-about .value-item { padding: 40px 24px; }
  .page-about .manifesto { padding: 80px 24px; }
  .page-about .principles-inner { padding: 72px 24px; }
  .page-about .principles-header { gap: 24px; }
  .page-about .location-item { padding: 48px 24px; border-right: 0; border-bottom: 1px solid var(--border); }

  .page-feature .strip,
  .page-pricing .strip,
  .page-about .strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-feature .strip-item,
  .page-pricing .strip-item,
  .page-about .strip-item { min-width: 0; padding: 30px 24px; }
  .page-feature .red-callout,
  .page-pricing .red-callout,
  .page-about .red-callout { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 64px 24px; }
  .page-feature .btn-white,
  .page-pricing .btn-white,
  .page-about .btn-white { justify-self: start; white-space: normal; text-align: center; }
  .compare-table-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .compare-table-scroll .compare-table { min-width: 650px; }
  .page-pricing .compare-table-scroll .compare-table { min-width: 550px; }
}

@media (max-width: 560px) {
  .page-feature .hero h1 { font-size: clamp(3.1rem, 13vw, 4.2rem); }
  .page-feature .hero-cta-row .btn-red { width: 100%; text-align: center; }
  .page-feature .strip,
  .page-pricing .strip,
  .page-about .strip,
  .page-about .values-grid,
  .page-feature .dims-grid { grid-template-columns: minmax(0, 1fr); }
  .page-feature .strip-item,
  .page-pricing .strip-item,
  .page-about .strip-item { border-right: 0; border-bottom: 1px solid var(--border); }
  .page-pricing .plan { padding: 52px 24px; }
  .page-pricing .popular-badge { right: 24px; }
  .page-pricing .faq-item { padding: 28px 24px; }
  .page-about .hero h1 { font-size: clamp(2.8rem, 12vw, 4rem); }
  .page-about .principle { grid-template-columns: 42px minmax(0, 1fr); gap: 16px; }
  .page-about .value-item { border-right: 0; border-top: 1px solid var(--border); }
}
