/*
 * Responsive overrides — breakpoints (980px / 767px / 600px) kept exactly as
 * they are in the approved concept (concept/index_v1.html) rather than
 * converted to the agency's six standard ranges (knowledge/wordpress/
 * responsive-breakpoints.md). FLAGGED, not silently kept, per that file's
 * own review checklist — documented reason: every section's breakpoint
 * behaviour was pixel-tested by the designer at these exact cutoffs, and
 * this is also the precedent set by every other slice-sourced Erudyte theme
 * to date (Driftline Plumbing, Marco Eco both preserve their slice's own
 * breakpoint values rather than force-fitting the six-range grid — see
 * PROJECT_STATE.md for the recorded decision on this build).
 */

@media (max-width: 980px) {
  .insights-head-row { align-items: flex-start; }
  .hero h1 { font-size: 40px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-cell { border-bottom: var(--hairline) solid var(--border-dark); }
  .mandates { grid-template-columns: 1fr; }
  .mandate { border-right: none; border-bottom: var(--hairline) solid var(--border-light); }
  .steps__grid--horizontal.steps__grid--cols-3,
  .steps__grid--horizontal.steps__grid--cols-4 { grid-template-columns: 1fr 1fr; }
  .step-item { border-bottom: var(--hairline) solid var(--border-light); padding-bottom: 24px; }
  .reg-grid { grid-template-columns: 1fr; }
  .opp-grid { grid-template-columns: 1fr; }
  .insight-grid { grid-template-columns: 1fr; gap: 40px; }
  .gs-grid { grid-template-columns: 1fr; }
  .post-header-summary__grid { grid-template-columns: 1fr; min-height: 0; }
  .post-header-summary__text { padding: 40px 28px; }
  .post-header-summary__image { height: 280px; }
  .lifecycle-step { grid-template-columns: 1fr; gap: 14px; }
  .lifecycle::before { left: 19px; }
  .role-matrix { grid-template-columns: 1fr; }
  .foot-grid { grid-template-columns: 1fr 1fr; }
  nav.primary { display: none; }
  .nav-toggle { display: block; }
  .compare-table { font-size: 13px; }
  .compare-table td, .compare-table th { padding: 12px 10px; }
}

@media (max-width: 767px) {
  .photo-band,
  .stages-image,
  .get-started-section { background-attachment: scroll; }
  .hero { min-height: 640px; padding: 88px 0 72px; }
  .hero-video { object-position: center center; }
}

@media (max-width: 600px) {
  .insights-head-row { flex-direction: column; gap: 22px; margin-bottom: 40px; }
  .insights-view-all { margin-bottom: 0; }
  .wrap { padding: 0 20px; }
  .nav-row { padding: 16px 20px; }
  .section { padding: 64px 0; }
  .hero { padding: 56px 0 40px; }
  .hero h1 { font-size: 32px; }
  .section-head h2 { font-size: 28px; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .steps__grid--horizontal.steps__grid--cols-2,
  .steps__grid--horizontal.steps__grid--cols-3,
  .steps__grid--horizontal.steps__grid--cols-4 { grid-template-columns: 1fr; }
  .steps__grid { margin-left: 0; margin-right: 0; }
  .foot-grid { grid-template-columns: 1fr 1fr; }
  .opp-stats { grid-template-columns: 1fr; }
  .opp-stat { border-right: none !important; border-bottom: var(--hairline) solid var(--border-light) !important; }
  .compare-table thead { display: none; }
  .compare-table, .compare-table tbody, .compare-table tr, .compare-table td { display: block; width: 100% !important; }
  .compare-table tr { padding: 16px 0; border-bottom: var(--hairline) solid var(--border-light); }
  .compare-table td { border-bottom: none; padding: 4px 0; }
  .compare-table td.old::before { content: "Traditional: "; font-family: var(--font-mono); font-size: 10px; color: var(--navy-30); display: block; }
  .compare-table td.new::before { content: "✓ Monark: "; }
  .page-hero h1 { font-size: 28px; }
  .foot-brand p { max-width: none; }
}
