/* Responsive rules for page sections (header/footer rules live in nav.css) */
@media (max-width: 1200px) {
  .about-copy h2 { font-size: clamp(2rem, 1.3rem + 1.8vw, 2.7rem); }
  .compare-card { width: min(520px, 92%); left: -6%; }
  .compare-col li { font-size: .94rem; padding: 7px 18px; }
  .compare-col__title { padding: 18px 18px 6px; }
  .process { gap: 34px; }
  .process-step { padding: 14px 16px 14px 14px; gap: 12px; min-height: 92px; }
  .process-step + .process-step::before { left: -29px; }
}
@media (max-width: 1100px) {
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .service-card, .service-card--lg { grid-column: span 1; }
  .plans { gap: 14px; }
}
@media (max-width: 900px) {
  .hero { padding-bottom: 200px; }
  .search-wrap { margin-top: -170px; }
  .hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .hero h1 { max-width: none; }
  .hero-media { margin: 8px 0 0; }
  .hero-media__frame { aspect-ratio: 16 / 11; }
  .hero-decor--palm { width: 140px; right: -30px; opacity: .12; }
  .hero-decor--boat { display: none; }
  .float-card--1 { top: 12px; left: 12px; }
  .float-card--2 { right: 12px; top: auto; bottom: 12px; }
  .float-card--3 { display: none; }
  .split, .districts-grid, .worker-cta, .trust-panel { grid-template-columns: 1fr; }
  .about-grid { grid-template-columns: 1fr; gap: 28px; }
  .about-visual { margin-right: 0; }
  .about-media { border-radius: 26px; }
  .about-copy h2 { max-width: none; }
  .compare-card { position: static; width: 100%; min-height: 0; max-height: none; margin-bottom: 18px; box-shadow: var(--shadow-sm); }
  .about-media { aspect-ratio: 4 / 5; max-width: 560px; }
  .about-media img { object-position: 50% 45%; }
  .process { grid-template-columns: 1fr; gap: 30px; max-width: 560px; }
  .process-step { border-radius: 24px; }
  .process-step + .process-step::before { left: 34px; top: -28px; transform: rotate(90deg); }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .trust-item { border-bottom: 1px solid var(--line); }
  .trust-item:nth-child(2n) { border-right: 0; }
  .trust-item:nth-child(n+3) { border-bottom: 0; }
  .steps { grid-template-columns: 1fr; gap: 22px; }
  .steps::before { left: 29px; right: auto; top: 30px; bottom: 30px; width: 2px; height: auto; background: linear-gradient(180deg, var(--sage-200), var(--brand-100), var(--sage-200)); }
  .step { padding-left: 0; }
  .profiles, .plans, .quotes, .mini-cards { grid-template-columns: 1fr; }
  .plans { gap: 14px; }

  .worker-cta .media-frame { max-height: 360px; aspect-ratio: 16 / 10; }
  .media-frame--portrait { aspect-ratio: 16 / 11; }
  .kerala-map { max-width: 240px; }
  /* Comparison: desktop table hidden, tabbed cards shown */
  .compare-table-wrap { display: none; }
  .compare-tabs { display: block; }
}
@media (max-width: 640px) {
  :root { --gutter: 16px; }
  .section { padding-block: clamp(56px, 12vw, 72px); }
  .hero { padding-top: 28px; }
  .hero-ml { font-size: 1.05rem; }
  .cta-row .btn:not(.btn--text) { width: 100%; }
  .hero-trust { font-size: .9rem; gap: 8px 14px; }
  .float-card { padding: 10px 12px; }
  .float-card strong { font-size: .95rem; }
  .hero { padding-bottom: 268px; }
  .search-wrap { margin-top: -238px; }
  .cat-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .cat-tile { width: 100%; height: 100px; }
  .cat-tile__icon { width: 36px; height: 36px; }
  .search-panel { padding: 18px 16px 18px; }
  .search-row { grid-template-columns: 1fr; gap: 14px; }
  .search-btn { width: 100%; height: 54px; margin-top: 4px; }
  .search-btn__text { display: inline; }
  .search-row--more { max-width: none; }
  .services-grid { grid-template-columns: 1fr; }
  .service-card, .service-card--lg { grid-column: span 1; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .trust-item { padding: 16px 14px; gap: 10px; flex-direction: column; align-items: flex-start; }
  .trust-item strong { font-size: .98rem; }
  .card, .plan { padding: 20px; }
  .compare-card { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
  .compare-col--b > *, .compare-col--b li { border-left: 0; }
  .compare-col--b .compare-col__title { border-top: 1px solid var(--line); }
  .compare-col li:last-child { padding-bottom: 18px; }
  .about-media { aspect-ratio: 4 / 5; }
  .plan__price { font-size: 2.1rem; }
  .chips a { min-height: 46px; padding: 10px 14px; }
  .still-unsure .btn { width: 100%; }
  .process-line { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .process-line .ico--arrow { display: none; }
  .process-line .pill { justify-content: center; font-size: .92rem; padding-inline: 10px; }
  .tablist { display: grid; grid-template-columns: 1fr 1fr; overflow: visible; }
  .tab { justify-content: center; padding-inline: 10px; font-size: .9rem; }
  .wa-float { display: none; }
  .mobile-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)); background: rgba(255,255,255,.96); backdrop-filter: blur(8px); border-top: 1px solid var(--line); }
  .mobile-bar .btn { min-height: 48px; font-size: .95rem; padding-inline: .8em; }
  body.no-scroll .mobile-bar { display: none; }
  body { padding-bottom: 0; }
  .site-footer { padding-bottom: 100px; }
}
