@media (max-width: 1050px) {
  .nav-links { gap: 18px; }
  .nav-links a { font-size: .9rem; }
  .hero__grid { grid-template-columns: 1fr 1fr; }
  .hero-pipeline { transform: scale(.9); transform-origin: right center; }
  .security-band { grid-template-columns: repeat(2, 1fr); }
  .security-intro { grid-column: 1 / -1; }
  .security-cell:nth-child(even) { border-left: 0; }
  .architecture { grid-template-columns: repeat(2, 1fr); }
  .architecture-arrow { display: none; }
}

@media (max-width: 860px) {
  :root { --header-height: 64px; }
  body { font-size: 16px; }
  .section { padding: 78px 0; }
  .nav-toggle { display: block; z-index: 2; }
  .nav-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
  .nav-links { position: fixed; inset: var(--header-height) 0 auto; height: calc(100vh - var(--header-height)); padding: 34px 20px; background: var(--color-background); display: grid; align-content: start; gap: 0; transform: translateX(100%); transition: transform .25s ease; }
  .nav-links.is-open { transform: none; }
  .nav-links a { padding: 16px 5px; border-bottom: 1px solid var(--color-border); font-size: 1.12rem; }
  .nav-links .button { margin-top: 22px; border-bottom: 0; }
  .hero { min-height: 0; padding-top: 60px; }
  .hero__grid, .page-hero__grid, .problem-grid, .research-layout, .contact-layout, .ui-composite { grid-template-columns: 1fr; }
  .hero__grid { gap: 18px; }
  .hero-pipeline { transform: none; max-width: 650px; width: 100%; margin-inline: auto; }
  .page-hero { padding: 70px 0 58px; }
  .page-hero__grid { gap: 26px; }
  .section-heading--split { grid-template-columns: 1fr; gap: 12px; }
  .problem-quote, .contact-aside { position: static; }
  .process-rail { grid-template-columns: 1fr 1fr; gap: 35px; }
  .process-rail::before { display: none; }
  .feature-block:nth-child(n) { grid-column: span 6; }
  .demo-shell { grid-template-columns: 1fr; }
  .demo-tabs { border-right: 0; border-bottom: 1px solid var(--color-border); display: flex; overflow-x: auto; padding: 0; }
  .demo-tab { min-width: 190px; border-left: 0; border-bottom: 3px solid transparent; }
  .demo-tab.is-active { border-left: 0; border-bottom-color: var(--color-secondary); }
  .audience-grid { grid-template-columns: 1fr; }
  .workflow-item { grid-template-columns: 70px 1fr; }
  .workflow-visual { grid-column: 2; }
  .steps-simple { grid-template-columns: 1fr; }
  .stack-row { grid-template-columns: 140px 180px 1fr; gap: 18px; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .container, .container--narrow { width: min(calc(100% - 28px), var(--container)); }
  .section { padding: 64px 0; }
  h1 { font-size: clamp(2.8rem, 14vw, 4rem); }
  h2 { font-size: clamp(2.1rem, 10vw, 3rem); }
  .hero { padding-top: 46px; }
  .hero__status { align-items: flex-start; flex-direction: column; gap: 7px; }
  .hero-pipeline { min-height: 480px; }
  .paper-chart { width: 78%; padding: 22px 18px; }
  .paper-chart::before { inset: 70px 18px 24px; background-size: 16px 16px; }
  .paper-chart__curve { inset: 86px 28px 44px; }
  .scan-frame { inset: 57px 25% 57px 4%; }
  @keyframes scan { 50% { transform: translateY(290px); } }
  .phone-ui { width: 49%; min-width: 210px; padding: 12px; border-width: 5px; border-radius: 25px; }
  .phone-alert { padding: 8px; }
  .flow-tag--data { right: 10%; }
  .trust-strip__grid { grid-template-columns: 1fr 1fr; }
  .trust-item:nth-child(odd) { border-left: 0; }
  .trust-item { min-height: 100px; padding: 20px; border-top: 1px solid var(--color-border); }
  .trust-item:first-child, .trust-item:nth-child(2) { border-top: 0; }
  .problem-quote { padding: 32px 26px; }
  .problem-row { grid-template-columns: 45px 1fr; }
  .process-rail { grid-template-columns: 1fr; }
  .process-step { display: grid; grid-template-columns: 48px 1fr; gap: 15px; padding-right: 0; }
  .process-step__number { margin: 0; }
  .feature-block:nth-child(n) { grid-column: 1 / -1; min-height: 0; padding: 26px; }
  .feature-icon { margin-bottom: 24px; }
  .demo-stage { min-height: 520px; }
  .demo-panel { padding: 24px 15px; }
  .verification-row { grid-template-columns: 1fr .7fr; padding: 14px 16px; }
  .verification-row span:last-child { grid-column: 1 / -1; font-size: .8rem; }
  .chart-wrap { padding: 15px; overflow-x: auto; }
  .growth-chart { min-width: 560px; }
  .chart-head { flex-direction: column; }
  .audience-panel { padding: 34px 27px; }
  .security-band { grid-template-columns: 1fr; }
  .security-cell { border-left: 0; border-top: 1px solid var(--color-border); }
  .cta-panel { padding: 42px 28px; grid-template-columns: 1fr; align-items: start; gap: 10px; }
  .workflow-item { grid-template-columns: 45px 1fr; gap: 18px; padding: 34px 0; }
  .workflow-item__number { font-size: 2rem; }
  .workflow-visual { grid-column: 1 / -1; }
  .sync-flow { align-items: stretch; flex-direction: column; }
  .immunization-row { grid-template-columns: 1fr 1fr; }
  .immunization-row span:nth-child(2) { text-align: right; }
  .immunization-row .status { grid-column: 1 / -1; }
  .architecture { grid-template-columns: 1fr; }
  .stack-row, .team-row { grid-template-columns: 1fr; gap: 4px; }
  .stack-row { padding: 20px 0; }
  .deliverable-grid, .privacy-principles { grid-template-columns: 1fr; }
  .form-card { padding: 27px 20px; }
  .form-grid { grid-template-columns: 1fr; }
  .field--full { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 20px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; }
}

@media (max-width: 360px) {
  .trust-strip__grid, .footer-grid { grid-template-columns: 1fr; }
  .trust-item { border-left: 0; }
  .trust-item:nth-child(2) { border-top: 1px solid var(--color-border); }
  .button-row .button { width: 100%; }
  .phone-ui { min-width: 190px; }
}
