@media (max-width: 1050px) {
  .nav-wrap { min-height: 5rem; }
  .menu-toggle { display: block; position: relative; z-index: 102; }
  .menu-toggle[aria-expanded="true"] span:nth-of-type(2) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-of-type(3) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-of-type(4) { transform: translateY(-7px) rotate(-45deg); }
  .primary-nav { position: fixed; z-index: 101; inset: 0 0 0 auto; display: block; width: min(90vw, 28rem); padding: 7rem 2rem 2rem; overflow-y: auto; color: var(--color-white); background: var(--color-navy); box-shadow: -10px 0 35px rgba(0,0,0,.25); transform: translateX(105%); transition: transform var(--transition); }
  .primary-nav.is-open { transform: translateX(0); }
  .primary-nav > ul { display: block; }
  .primary-nav > ul > li { border-bottom: 1px solid rgba(255,255,255,.15); }
  .primary-nav > ul > li > a, .nav-parent > a { min-height: 3.6rem; }
  .nav-parent { justify-content: space-between; }
  .submenu-toggle { color: var(--color-white); }
  .submenu { position: static; display: none; width: auto; padding: 0 0 1rem 1rem; background: transparent; box-shadow: none; opacity: 1; pointer-events: auto; transform: none; }
  .has-submenu.submenu-open .submenu { display: grid; transform: none; }
  .submenu a { padding: .5rem; color: rgba(255,255,255,.8); }
  .submenu a:hover, .submenu a:focus-visible { background: rgba(255,255,255,.08); }
  .nav-cta { margin-top: 2rem; }
  .utility-location { display: none; }
  .trust-strip-grid, .home-services-grid, .why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-strip-grid article:nth-child(2) { border-right: 1px solid var(--color-line); }
  .trust-strip-grid article:nth-child(3) { border-left: 1px solid var(--color-line); }
  .trust-strip-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--color-line); }
  .home-service-card { min-height: 15rem; }
  .footer-grid { grid-template-columns: 1.2fr .8fr .9fr; }
  .footer-grid > :last-child { grid-column: 1 / -1; }
  .footer-grid address { grid-template-columns: 1.5fr 1fr 1fr 1.5fr; align-items: start; }
}

@media (max-width: 800px) {
  :root { --section-space: 4.5rem; }
  .utility-inner { justify-content: space-between; }
  .split-layout, .split-layout.compact, .capabilities-grid, .contact-grid, .about-home-grid, .saidsa-home-grid { grid-template-columns: 1fr; }
  .split-layout, .capabilities-grid, .contact-grid, .about-home-grid, .saidsa-home-grid { gap: 3rem; }
  .reverse-mobile > :first-child { order: 2; }
  .section-heading, .cta-inner { align-items: start; flex-direction: column; gap: 1rem; }
  .about-home-image { max-width: 34rem; margin-inline: auto; }
  .saidsa-image { grid-row: 1; }
  .process-list { grid-template-columns: 1fr; max-width: 38rem; margin-inline: auto; }
  .process-list li { display: grid; min-height: 8rem; grid-template-columns: 3.5rem 1fr; align-items: start; column-gap: 1rem; text-align: left; }
  .process-list span { grid-row: 1 / span 2; margin: 0; }
  .process-list h3 { margin-top: .3rem; }
  .process-list li:not(:last-child)::after { top: 3rem; bottom: 0; left: 1.5rem; width: 1px; height: auto; }
  .portrait-image { max-width: 100%; justify-self: stretch; }
  .membership-section img { grid-row: 1; }
  .service-row { grid-template-columns: 2.5rem 3.5rem 1fr auto; }
  .service-row-icon { width: 3.5rem; height: 3.5rem; }
  .service-row-icon .service-icon { width: 2rem; }
  .service-row .button { width: 3.25rem; padding-inline: 0; }
  .desktop-label { display: none; }
  .contact-details { position: static; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid > :last-child { grid-column: auto; }
  .footer-grid address { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  :root { --gutter: 1.15rem; --section-space: 3.75rem; }
  body { font-size: .98rem; }
  h1 { font-size: clamp(2rem, 11vw, 2.8rem); }
  h2 { font-size: clamp(1.45rem, 7vw, 2rem); }
  .utility-summary { display: none !important; }
  .utility-contact { width: 100%; justify-content: space-between; gap: .5rem !important; font-size: .75rem; }
  .utility-contact a:last-child { display: none; }
  .utility-contact a + a { padding-left: .75rem; }
  .brand img { width: 3.25rem; height: 3.25rem; }
  .brand strong { font-size: .72rem; }
  .brand small { font-size: .5rem; }
  .home-hero { min-height: 37rem; }
  .hero-media { background-image: linear-gradient(rgba(0,7,36,.76), rgba(0,7,36,.87)), url("../images/action-force-armed-response.jpg"); background-position: 58% center; }
  .hero-content { padding-block: 4.5rem; }
  .hero-content > p:not(.eyebrow) { font-size: 1.05rem; }
  .home-hero .button-group { width: min(100%, 22rem); align-items: stretch; flex-direction: column; }
  .trust-strip-grid, .home-services-grid, .why-grid { grid-template-columns: 1fr; }
  .trust-strip-grid article { min-height: 7rem; border-right: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); }
  .home-service-card { min-height: 13.5rem; }
  .why-grid article { min-height: 11rem; padding: 1.65rem; }
  .saidsa-copy { grid-template-columns: 72px 1fr; gap: 1.25rem; }
  .saidsa-copy > img { width: 72px; }
  .closing-cta { min-height: 32rem; }
  .closing-cta ul { align-items: center; flex-direction: column; }
  .inner-hero { min-height: 21rem; }
  .breadcrumbs { margin-bottom: 2.5rem; }
  .check-list { grid-template-columns: 1fr; }
  .value-rows article { grid-template-columns: 2.5rem 1fr; gap: 1rem; }
  .service-row { grid-template-columns: 2.5rem 1fr auto; gap: .8rem; }
  .service-row-icon { display: none; }
  .service-row p { font-size: .9rem; line-height: 1.5; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-panel { margin-inline: calc(-1 * var(--gutter)); }
  .button-group { align-items: stretch; flex-direction: column; width: 100%; }
  .home-hero .button-group, .closing-cta .button-group { width: min(100%, 22rem); }
  .button-group .button { width: 100%; }
  .cta-inner .button-group { margin-top: 1rem; }
  .footer-grid { grid-template-columns: 1fr; padding-block: 3.5rem; }
  .footer-grid > :last-child { grid-column: auto; }
  .footer-base { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 1rem; }
}

@media (max-width: 350px) {
  .brand span { display: none; }
  .primary-nav { width: 100vw; padding-inline: 1.25rem; }
  .service-row { grid-template-columns: 2rem 1fr; }
  .service-row .button { width: 100%; grid-column: 2; }
}

@media (max-width: 1050px) {
  .about-story-grid, .about-response-grid, .about-contact-grid { grid-template-columns: 1fr 1fr; gap: 3.5rem; }
  .about-services-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
  .about-story-grid, .about-response-grid, .about-contact-grid { grid-template-columns: 1fr; }
  .about-story-copy, .about-response-copy { max-width: none; }
  .about-story-image { width: min(100%, 36rem); margin-inline: auto; }
  .about-response-image { grid-row: 1; }
  .about-contact-panel { width: min(100%, 34rem); }
  .about-facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-facts article:nth-child(2) { border-right: 1px solid rgba(255,255,255,.16); }
  .about-facts article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.16); }
}

@media (max-width: 560px) {
  .about-hero { min-height: 27rem; }
  .about-hero-content { padding-block: 4rem; }
  .about-hero-media { background-position: 60% center; }
  .about-story-image::before { top: -.7rem; right: -.7rem; }
  .about-facts article { min-height: 8rem; padding: 1.1rem .7rem; }
  .about-facts strong { font-size: 1.35rem; }
  .about-facts span { font-size: .78rem; }
  .about-services-list { grid-template-columns: 1fr; }
  .about-services-list a { min-height: 9.5rem; padding: 1.6rem 3.8rem 1.6rem 1.5rem; }
  .about-contact-panel { padding: 1.5rem; box-shadow: 12px 16px 0 rgba(255,194,48,.88); }
}
