@media (max-width: 1120px) {
  :root { --container: min(100% - 48px, 960px); }
  .desktop-nav, .language-switcher, .header-actions > .button { display: none; }
  .menu-toggle { display: block; }
  .hero__content { padding-right: 18%; }
  .hero__side-note { display: none; }
  .service-grid { grid-template-columns: 1fr 1fr; }
  .process-line { grid-template-columns: repeat(3,1fr); row-gap: 30px; }
  .project-map { grid-template-columns: .9fr 1.1fr; }
  .engineering-section { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .technical-panel { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 760px) {
  :root { --container: calc(100% - 40px); }
  .site-header { height: 74px; padding: 0 20px; }
  .brand img { width: 112px; }
  .hero { min-height: 820px; align-items: flex-end; }
  body[data-page="home"] .hero { min-height: calc(100svh - 132px); }
  .hero__overlay { background: linear-gradient(0deg, rgba(4,17,31,.98) 2%, rgba(4,17,31,.7) 60%, rgba(4,17,31,.3)); }
  .hero__grid { display: none; }
  .hero__content { margin: 0 auto; padding: 120px 0 98px; }
  .hero h1 { font-size: clamp(50px,15vw,72px); }
  .hero__lead { font-size: 15px; margin-block: 26px 30px; }
  .hero__actions { flex-direction: column; align-items: stretch; }
  .hero__scroll { left: 20px; bottom: 22px; }
  body[data-page="home"] .stats-strip { display: flex; min-height: 132px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
  body[data-page="home"] .stats-strip::-webkit-scrollbar { display: none; }
  body[data-page="home"] .stat { flex: 0 0 185px; min-height: 132px; padding: 18px 20px; }
  body[data-page="home"] .stat strong, body[data-page="home"] .stat > span { font-size: 32px; }
  body[data-page="home"] .stat p { margin-top: 10px; font-size: 8px; }
  .mobile-menu__meta { flex-direction: column; gap: 8px; }
  .section { padding: 84px 0; }
  .section-heading, .intro-section, .project-map, .discipline-section, .engineering-section, .bess-section, .story-grid, .mission-grid, .project-overview, .service-detail, .contact-layout { grid-template-columns: 1fr; }
  .section-heading { gap: 24px; margin-bottom: 42px; }
  .section h2, .project-map h2, .discipline-section h2, .engineering-section h2, .bess-section h2, .sustainability-section h2, .final-cta h2, .inner-hero h1, .detail-hero h1 { font-size: clamp(38px,12vw,56px); }
  .intro-section__copy { padding-top: 0; }
  .intro-section__image { margin-top: 35px; }
  .intro-section__image img { height: 450px; }
  .expertise-section { padding-inline: 20px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 320px; padding: 26px; }
  .service-card h3 { margin-top: 45px; }
  .project-grid { grid-template-columns: 1fr; gap: 46px; }
  .project-grid--featured .project-card:nth-child(even) { margin-top: 0; }
  .portfolio-preview, .portfolio-panel, .thesis-grid { grid-template-columns: 1fr; }
  .portfolio-preview > a { min-height: 460px; }
  .portfolio-panel { gap: 56px; }
  .portfolio-panel__summary { position: static; }
  .portfolio-mosaic { grid-auto-rows: 250px; }
  .project-roster { margin-top: 52px; }
  .project-roster__header { align-items: flex-start; flex-direction: column; gap: 14px; }
  .project-roster li { grid-template-columns: 82px 1fr; gap: 16px; min-height: 94px; }
  .project-roster li img { width: 82px; height: 68px; }
  .project-roster li > strong { grid-column: 2; margin-top: -8px; font-size: 16px; }
  .portfolio-proof { grid-template-columns: 1fr; }
  .portfolio-proof div { min-height: 160px; padding: 34px 20px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .portfolio-proof span { margin-top: 22px; }
  .thesis-grid article { min-height: 360px; padding: 28px; }
  .project-map__copy { padding: 82px 20px 40px; }
  .project-map__visual { min-height: 520px; border-left: 0; border-top: 1px solid rgba(255,255,255,.12); }
  .process-line { grid-template-columns: 1fr; border-top: 0; border-left: 1px solid #cbd2d6; margin-left: 5px; }
  .process-line li { min-height: 200px; padding: 0 0 36px 34px; }
  .process-line li::before { top: 0; left: -5px; }
  .process-line h3 { margin-top: 24px; }
  .discipline-section figure { min-height: 520px; }
  .discipline-section__copy { padding: 80px 20px; }
  .technology-strip { padding-inline: 20px; }
  .technology-strip > div { justify-content: flex-start; }
  .engineering-section { padding: 84px 20px; }
  .engineering-grid { grid-template-columns: 1fr; }
  .bess-visual, .bess-copy { padding: 80px 20px; }
  .sustainability-section { min-height: 680px; }
  .sustainability-section__copy { width: calc(100% - 40px); }
  .industry-list > div { grid-template-columns: 40px 1fr; }
  .industry-list p { grid-column: 2; }
  .insight-grid { grid-template-columns: 1fr; }
  .final-cta { padding: 90px 20px; }
  .final-cta > div { align-items: flex-start; flex-direction: column; }
  .site-footer { padding: 64px 20px 24px; }
  .footer-lead { flex-direction: column; gap: 30px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 20px; }
  .footer-bottom { flex-direction: column; gap: 16px; }
  .cookie-banner { left: 12px; bottom: 12px; width: calc(100vw - 24px); flex-direction: column; align-items: flex-start; }
  .inner-hero { min-height: 620px; padding: 140px 20px 60px; }
  .inner-hero__meta { align-items: flex-start; flex-direction: column; gap: 20px; }
  .value-grid, .scope-grid { grid-template-columns: 1fr; }
  .service-detail { gap: 36px; }
  .capability-list { grid-template-columns: 1fr; }
  .technical-panel { grid-template-columns: 1fr 1fr; padding: 0 20px; }
  .project-gallery { grid-template-columns: 1fr; }
  .project-gallery img, .project-gallery img:first-child { height: 360px; grid-row: auto; }
  .contact-form { grid-template-columns: 1fr; }
  .form-field--wide { grid-column: auto; }
  .form-status { grid-column: auto; }
  .sector-grid, .insights-hero-list { grid-template-columns: 1fr; }
  .sector-card { min-height: 330px; padding: 28px; }
  .insights-hero-list article, .insights-hero-list article:last-child { min-height: 520px; }
}

@media (max-width: 420px) {
  body:not([data-page="home"]) .stats-strip { grid-template-columns: 1fr; }
  body:not([data-page="home"]) .stat { border-bottom: 1px solid rgba(255,255,255,.12); }
  .footer-grid { grid-template-columns: 1fr; }
  .technical-panel { grid-template-columns: 1fr; }
  .mini-stats { grid-template-columns: 1fr; gap: 20px; }
}
