@media (min-width: 901px) {
  .solutions, .process, .clients, .contact { min-height: calc(100svh - var(--header-height)); display: flex; align-items: center; }
  .solutions > .container, .process > .container, .clients > .container, .contact > .container { width: min(calc(100% - 48px), var(--container)); }
}

@media (min-width: 1101px) and (max-height: 820px) {
  .essence { padding-top: 54px; padding-bottom: 68px; }
  .essence-layout { padding-top: 48px; }
  .essence-principles { margin-top: 34px; }
  .essence-block { min-height: 210px; padding-block: 23px; }
  .solutions { padding-block: 58px; }
  .solutions-header { margin-bottom: 30px; }
  .solution-item { min-height: 154px; }
  .projects { padding-block: 24px; }
  .projects-intro { margin-bottom: 22px; }
  .process { padding-block: 74px; }
  .process-heading { margin-bottom: 52px; }
}

@media (max-width: 1180px) {
  :root { --container: 980px; }
  .primary-nav { gap: 16px; }
  .primary-nav > a:not(.nav-cta) { font-size: .7rem; }
  .hero-layout { grid-template-columns: 1.15fr .75fr; gap: 55px; }
  .hero h1 { font-size: clamp(3.55rem, 5.8vw, 5.3rem); }
  .solutions-header, .projects-intro, .compliance-intro { gap: 60px; }
  .process-flow li { padding-inline: 18px; }
  .cta-inner { grid-template-columns: 1fr; }
  .cta-inner .button { justify-self: start; margin-top: 8px; }
}

@media (max-width: 1100px) {
  :root { --header-height: 76px; }
  .menu-toggle { z-index: 2; display: block; }
  .menu-toggle.is-active span:first-child { transform: translateY(8px) rotate(45deg); }
  .menu-toggle.is-active span:nth-child(2) { opacity: 0; }
  .menu-toggle.is-active span:last-child { transform: translateY(-8px) rotate(-45deg); }
  .primary-nav { position: fixed; z-index: 1; inset: 0; display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 0; padding: 96px max(28px, calc((100vw - 900px) / 2)); background: rgba(10,16,22,.985); transform: translateX(100%); visibility: hidden; transition: transform 320ms ease, visibility 320ms; }
  .primary-nav.is-open { transform: none; visibility: visible; }
  .primary-nav > a:not(.nav-cta), .site-header.is-scrolled .primary-nav > a:not(.nav-cta) { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-size: clamp(1.15rem, 4vw, 1.8rem); }
  .primary-nav > a:not(.nav-cta)::after { display: none; }
  .primary-nav .nav-cta { align-self: flex-start; margin-top: 28px; min-height: 50px; }
  .hero { min-height: 720px; }
  .project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .client-logo:last-child:nth-child(3n + 1) { grid-column: 2; }
}

@media (max-width: 900px) {
  .section { padding: 96px 0; }
  .hero { padding-top: calc(var(--header-height) + 55px); }
  .hero-layout { grid-template-columns: 1fr 310px; gap: 34px; }
  .hero h1 { font-size: clamp(3.2rem, 7.2vw, 4.7rem); }
  .hero-media { min-height: 480px; }
  .about { padding-block: 48px; }
  .about-grid { grid-template-columns: 1fr; gap: 28px; }
  .essence-layout { padding-top: 56px; }
  .essence-heading { grid-template-columns: 1fr; gap: 0; }
  .essence-heading .eyebrow { margin-top: 0; }
  .essence-principles { grid-template-columns: 1fr; margin-top: 40px; }
  .essence-block { min-height: 0; border-right: 0; }
  .solutions-header, .projects-intro, .compliance-intro { grid-template-columns: 1fr; gap: 25px; }
  .solutions-header > p, .projects-intro > p { max-width: 620px; }
  .solution-item { grid-template-columns: 1fr; align-content: center; gap: 17px; }
  .process-flow { grid-template-columns: 1fr; }
  .process-flow::before { top: 22px; bottom: 28px; left: 22px; width: 1px; height: auto; }
  .process-flow li { min-height: 134px; display: grid; grid-template-columns: 48px 1fr; gap: 28px; padding: 0 0 30px; border: 0; }
  .process-flow > li > span { margin: 0; }
  .process-flow li div { padding-top: 8px; }
  .pillar-grid article { padding: 28px; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-details { display: grid; grid-template-columns: 1fr 1fr; gap: 0 60px; }
  .contact-details .eyebrow, .contact-details h2 { grid-column: 1 / -1; }
  .contact-links { margin-top: 0; }
  .footer-main { grid-template-columns: 1.2fr .8fr 1fr; }
  .footer-column:last-child { grid-column: 2 / -1; }
}

@media (max-width: 720px) {
  :root { --header-height: 70px; }
  .container { width: min(calc(100% - 36px), var(--container)); }
  .section { padding: 78px 0; }
  h2 { font-size: clamp(2.45rem, 11vw, 3.6rem); }
  .brand { gap: 7px; }
  .brand-symbol { width: 38px; height: 38px; }
  .brand-lockup { width: 103px; }
  .brand-wordmark { height: 19px; }
  .brand-lockup > span { font-size: .35rem; }
  .hero { min-height: 0; padding-top: calc(var(--header-height) + 54px); padding-bottom: 88px; }
  .hero-layout { grid-template-columns: 1fr; }
  .hero-copy { padding-top: 0; }
  .hero h1 { font-size: clamp(3.15rem, 14vw, 5rem); }
  .hero-lead { font-size: .98rem; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .button { width: 100%; }
  .authority { grid-template-columns: 90px 1fr; margin-top: 40px; }
  .hero-media { min-height: 440px; margin-top: 22px; }
  .hero-rail { display: none; }
  .about { padding-block: 40px; }
  .about-grid { grid-template-columns: 1fr; gap: 28px; }
  .essence { padding-top: 50px; }
  .essence-layout { padding-top: 46px; }
  .essence-block { padding-inline: 20px; }
  .values-block ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-content { padding-top: 0; }
  .about-statement { padding-left: 20px; }
  .solutions-header { margin-bottom: 44px; }
  .solutions-list { grid-template-columns: 1fr; }
  .solution-item { min-height: 0; grid-template-columns: 1fr; gap: 12px; padding: 28px 22px; }
  .solution-item:hover { padding-inline: 12px; }
  .solution-item h3 { font-size: 1.65rem; }
  .solution-arrow { display: none; }
  .projects-intro { margin-bottom: 45px; }
  .project-grid { grid-template-columns: 1fr; gap: 50px; }
  .project-meta h3 { min-height: 0; }
  .process-heading { margin-bottom: 55px; }
  .pillar-grid { grid-template-columns: 1fr; }
  .pillar-grid article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line-light); }
  .technical-lead { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; }
  .technical-label { grid-column: 1 / -1; margin: 0 0 8px; }
  .client-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-grid div { min-height: 115px; }
  .commercial-cta { padding: 78px 0; }
  .cta-inner { grid-template-columns: 1fr; gap: 26px; }
  .cta-inner .button { grid-column: auto; width: 100%; }
  .contact-grid { gap: 55px; }
  .contact-details { display: block; }
  .contact-links { margin-top: 40px; }
  .contact-form { padding: 28px 22px; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .form-footer { align-items: stretch; flex-direction: column; }
  .form-footer .button { width: 100%; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 45px 30px; padding-top: 58px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-column:last-child { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 420px) {
  .container { width: calc(100% - 28px); }
  .eyebrow { font-size: .65rem; letter-spacing: .1em; }
  .hero h1 { font-size: clamp(3rem, 14.2vw, 3.7rem); }
  .hero-media { min-height: 390px; }
  .authority { gap: 12px; }
  .authority strong span { font-size: 1.8rem; }
  .authority p { font-size: .75rem; }
  .values-block ul { grid-template-columns: 1fr; }
  .client-logo { min-height: 105px; padding: 22px 26px; }
  .client-logo img { height: 62px; }
  .solution-item h3 { font-size: 1.5rem; }
  .project-image { min-height: 0; }
  .project-meta { padding-left: 0; }
  .technical-lead { grid-template-columns: 1fr; }
  .client-grid div { font-size: .57rem; }
  .contact-details h2 { font-size: 2.8rem; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-brand, .footer-column:last-child { grid-column: auto; }
}
