@media (max-width: 980px) {
  .topbar__inner { grid-template-columns: minmax(0, 1fr) auto; align-items: start; padding-block: .65rem; }
  .topbar__tagline { grid-column: 1; grid-row: 1; }
  .topbar__phone { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
  .topbar__email { grid-column: 1; grid-row: 3; justify-self: start; }
  .topbar__close { grid-column: 2; grid-row: 1; justify-self: end; }
  .nav-toggle { display: block; }
  .nav-menu { position: absolute; inset: 100% 16px auto 16px; display: none; flex-direction: column; align-items: stretch; gap: 0; max-height: calc(100vh - 132px); overflow-y: auto; padding: .75rem; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
  .nav-menu.is-open { display: flex; }
  .nav-menu a { min-height: 46px; padding: .85rem; border-radius: var(--radius); }
  .nav-menu .button { margin-top: .5rem; }
  .split, .cert-band, .detail, .detail--image-card, .contact-grid, .footer__grid, .sector-strip__grid { grid-template-columns: 1fr; }
  .services-overview__grid, .service-card-grid { grid-template-columns: 1fr; }
  .service-process__grid { grid-template-columns: repeat(3, 1fr); }
  .card-grid, .feature-grid, .logo-grid--large, .capability-band, .policy-grid { grid-template-columns: repeat(2, 1fr); }
  .sector-pills { justify-content: flex-start; }
  .hero { min-height: 560px; max-height: none; }
  .hero__scrim { background: linear-gradient(90deg, rgba(7, 28, 44, .92) 0%, rgba(7, 28, 44, .68) 58%, rgba(7, 28, 44, .42) 100%); }
}

@media (min-width: 981px) {
  .hero__content {
    justify-self: start;
    margin-left: max(16px, calc((100% - 1180px) / 2));
    margin-right: auto;
    text-align: left;
  }

  .hero__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 680px) {
  html { scroll-padding-top: 92px; }
  .container { width: min(100% - 24px, 1180px); }
  .navbar__inner { min-height: 68px; }
  .brand img { width: 110px; height: 48px; }
  .hero { min-height: 620px; }
  .hero__content { padding-block: 4.5rem 6rem; }
  .hero__actions, .cta__inner { align-items: stretch; flex-direction: column; }
  .hero-controls { bottom: 1.25rem; justify-content: center; }
  .hero-control { width: 42px; height: 42px; }
  .button { width: 100%; }
  .section { padding: 64px 0; }
  .page-hero { min-height: 300px; padding: 68px 0; }
  .page-hero h1 { font-size: clamp(1.9rem, 9vw, 2.8rem); }
  .page-hero__overlay { background: linear-gradient(90deg, rgba(7, 28, 44, .9) 0%, rgba(7, 28, 44, .72) 65%, rgba(7, 28, 44, .48) 100%); }
  .card-grid, .feature-grid, .mini-grid, .logo-grid, .logo-grid--large, .two-cards, .columns, .capability-band, .policy-grid { grid-template-columns: 1fr; }
  .service-process__grid { grid-template-columns: 1fr; }
  .service-card { min-height: auto; padding: 1.25rem; }
  .service-card__image { height: 190px; margin: -1.25rem -1.25rem 1.25rem; max-width: calc(100% + 2.5rem); }
  .detail__image { height: 220px; }
  .service-card::after { right: 1.25rem; left: 1.25rem; }
  .service-process__grid article { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .service-process__grid article:last-child { border-bottom: 0; }
  .service-process__grid span { margin-bottom: 1rem; }
  .cert-band { padding: 1.25rem; }
  .sector-strip { padding: 28px 0; }
  .sector-pills span { width: 100%; justify-content: center; }
  .policy-grid article { min-height: auto; }
  .cta__button { white-space: normal; }
}

@media (max-width: 980px) {
  .capability-band article, .feature-grid article { border-width: 0 1px 1px 0; }
  .split > div:last-child { border-left: 0; padding-left: 0; }
  .profile-visual__frame, .profile-visual__frame img { min-height: 380px; height: 380px; }
  .job-flow { grid-template-columns: repeat(2, 1fr); gap: 1.5rem 0; }
  .job-flow::before { display: none; }
  .job-flow__step, .job-flow__step:not(:first-child) { padding: 2.5rem 1.25rem 0 0; }
}

@media (max-width: 680px) {
  .hero { min-height: 610px; }
  .hero__content { padding-block: 4rem 6rem; }
  .hero h1 { font-size: clamp(2.55rem, 12vw, 4.2rem); }
  .section { padding: 76px 0; }
  .section__header { margin-bottom: 2rem; }
  .sector-strip__grid { gap: 1.5rem; }
  .capability-band article, .feature-grid article { min-height: auto; padding: 1.25rem 0; border-right: 0; }
  .capability-band article:first-child, .feature-grid article:first-child { padding-left: 0; }
  .cert-band dl { grid-template-columns: 1fr; }
  .page-hero { min-height: 300px; padding: 76px 0; }
  .page-hero h1 { font-size: clamp(2.45rem, 11vw, 3.8rem); }
  .contact-grid { gap: 2rem; }
  .contact-intro { margin-bottom: 2rem; }
  .contact-intro h2 { font-size: 2.65rem; }
  .form { padding: 1.25rem; }
  .profile-visual__frame, .profile-visual__frame img { min-height: 280px; height: 280px; }
  .job-flow { grid-template-columns: 1fr; gap: 1.5rem; }
  .job-flow__step, .job-flow__step:not(:first-child) { padding: 2.3rem 0 0; }
}

@media (max-width: 420px) {
  .topbar { font-size: .72rem; }
  .topbar__inner { gap: .35rem .75rem; }
  .topbar__phone { justify-self: start; }
  .brand strong { font-size: 1.28rem; }
  .brand small { font-size: .58rem; letter-spacing: .12em; }
  .hero { min-height: 560px; }
  .hero__content { padding-block: 3.5rem 5.5rem; }
  .hero__actions { gap: .7rem; }
  .hero-controls { gap: .55rem; }
  .hero-dot.is-active { width: 38px; }
  .section { padding: 60px 0; }
  .service-card h2, .detail h2, .card h2 { font-size: 1.25rem; }
  .form__header h2, .contact-intro h2 { font-size: 2.15rem; }
  .footer__grid { gap: 1.25rem; }
}
