@media (max-width: 1120px) {
  :root { --header-height: 78px; }
  .desktop-nav { gap: 16px; }
  .nav-link { font-size: .84rem; }
  .header-cta { padding-inline: 16px; }
  .brand-text { display: none; }
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(370px, .82fr); min-height: 660px; gap: 42px; }
  .hero-info-card { right: 0; }
  .footer-grid { grid-template-columns: 1.4fr .7fr .8fr 1.1fr; }
}

@media (max-width: 900px) {
  :root { --header-height: 72px; }
  .topbar-links a:last-child { display: none; }
  .desktop-nav, .header-cta { display: none; }
  .menu-toggle { position: relative; margin-left: auto; display: grid; }
  .brand-text { display: grid; }
  .brand img { width: 55px; height: 49px; }
  .header-inner { min-height: var(--header-height); }
  .hero-grid { min-height: auto; grid-template-columns: 1fr; padding-top: 78px; padding-bottom: 104px; }
  .hero-copy { max-width: 760px; }
  .hero-visual { width: min(100%, 660px); margin-inline: auto; padding-left: 0; }
  .hero-image-frame img { max-height: 700px; }
  .hero-info-card { right: 12px; }
  .hero-service-strip { grid-template-columns: 1fr 1fr; }
  .hero-service-strip a:nth-child(2) { border-right: 0; }
  .hero-service-strip a:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .hero-service-strip a:first-child { border-radius: 22px 0 0 0; }
  .hero-service-strip a:nth-child(2) { border-radius: 0 22px 0 0; }
  .hero-service-strip a:nth-child(3) { border-radius: 0 0 0 22px; }
  .hero-service-strip a:last-child { border-radius: 0 0 22px 0; }
  .split-layout, .services-layout, .location-grid, .faq-grid, .enquiry-grid, .contact-page-grid, .service-detail-grid, .livelihood-grid, .process-grid, .responsible-grid { grid-template-columns: 1fr; }
  .services-photo { min-height: 560px; }
  .livelihood-grid .image-panel { order: -1; }
  .process-grid { gap: 48px; }
  .process-visual { width: min(100%, 620px); margin-inline: auto; }
  .responsible-graphic { min-height: 480px; }
  .location-image { min-height: 480px; }
  .faq-grid { gap: 44px; }
  .enquiry-copy { position: static; }
  .counter-grid { grid-template-columns: 1fr 1fr; }
  .counter-grid article:nth-child(2) { border-right: 0; }
  .counter-grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.15); }
  .leadership-grid, .values-grid, .eligibility-grid, .documents-grid, .notes-grid, .safety-grid { grid-template-columns: 1fr 1fr; }
  .representative-gallery { grid-template-columns: 1fr 1fr; }
  .faq-page-grid { grid-template-columns: 1fr; }
  .faq-aside { position: static; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  :root { --header-height: 68px; }
  body { font-size: 15px; }
  .container, .container.narrow, .narrow { width: min(calc(100% - 28px), var(--container)); }
  .section { padding: 74px 0; }
  h1 { font-size: clamp(2.65rem, 13vw, 4.1rem); }
  h2 { font-size: clamp(2.05rem, 10vw, 3.15rem); }
  .topbar-inner { min-height: 34px; justify-content: center; }
  .topbar p { display: none; }
  .topbar-links { width: 100%; justify-content: center; }
  .topbar-links a { font-size: .72rem; }
  .site-header { background: var(--cream-50) !important; backdrop-filter: none; }
  .header-inner { gap: 10px; }
  .brand { gap: 9px; }
  .brand img { width: 48px; height: 43px; }
  .brand-text strong { font-size: .92rem; }
  .brand-text small { font-size: .5rem; letter-spacing: .08em; }
  .menu-toggle { width: 44px; height: 44px; flex: 0 0 44px; }
  .mobile-menu { top: var(--menu-top, var(--header-height)); right: 0; bottom: 0; left: 0; padding: 9px 10px 18px; background: rgba(6, 44, 32, .82); }
  .mobile-menu-panel { max-height: calc(100dvh - var(--menu-top, var(--header-height)) - 18px); padding: 17px; border-radius: 16px; background: var(--cream-50); }
  .mobile-menu-actions { grid-template-columns: 1fr; }
  .btn { width: 100%; min-height: 50px; padding-inline: 18px; }
  .hero-grid { padding-top: 63px; padding-bottom: 92px; gap: 42px; }
  .hero-lead { font-size: 1rem; }
  .hero-actions { display: grid; }
  .hero-notes { display: grid; gap: 10px; }
  .hero-visual { padding: 0 0 42px; }
  .hero-image-frame { padding: 7px; border-radius: 21px; }
  .hero-image-frame img { max-height: 560px; border-radius: 15px; }
  .hero-info-card { right: 8px; bottom: 0; width: calc(100% - 28px); }
  .hero-service-strip { margin-top: -48px; grid-template-columns: 1fr; border-radius: 17px; }
  .hero-service-strip a { min-height: 102px; padding: 19px 22px; border-right: 0; border-bottom: 1px solid var(--line); }
  .hero-service-strip a:first-child, .hero-service-strip a:nth-child(2), .hero-service-strip a:nth-child(3), .hero-service-strip a:last-child { border-radius: 0; }
  .hero-service-strip a:first-child { border-radius: 17px 17px 0 0; }
  .hero-service-strip a:last-child { border-bottom: 0; border-radius: 0 0 17px 17px; }
  .compliance-inner { grid-template-columns: 1fr; gap: 3px; }
  .media-stack { padding: 0 0 35px; }
  .media-badge { right: 12px; min-width: 165px; }
  .feature-list.two-col { grid-template-columns: 1fr; }
  .services-photo { min-height: 420px; }
  .service-cards { grid-template-columns: 1fr; }
  .service-card { min-height: auto; }
  .image-panel { min-height: 450px; }
  .image-panel-copy { right: 18px; bottom: 18px; left: 18px; padding: 19px; }
  .process-grid { grid-template-columns: 1fr; }
  .process-list article { grid-template-columns: 48px 1fr; padding: 20px 17px; gap: 14px; }
  .process-list article > span { width: 44px; height: 44px; }
  .counter-grid { grid-template-columns: 1fr 1fr; }
  .counter-grid article { min-height: 132px; padding: 18px 12px; }
  .responsible-points { grid-template-columns: 1fr; }
  .responsible-graphic { min-height: 390px; transform: scale(.9); }
  .ring.r1 { width: 350px; height: 350px; }
  .ring.r2 { width: 255px; height: 255px; }
  .principle { width: 130px; min-height: 76px; border-width: 4px; font-size: .9rem; }
  .responsible-graphic::after { width: 160px; height: 160px; font-size: 1.2rem; }
  .location-image { min-height: 390px; }
  .location-card { padding: 30px 22px; }
  .inline-actions { display: grid; }
  .enquiry-form { padding: 23px 17px; border-radius: 20px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-actions { display: grid; }
  .map-section { height: 380px; }
  .page-hero { padding: 80px 0 74px; }
  .page-hero h1 { font-size: clamp(2.55rem, 13vw, 4.2rem); }
  .leadership-grid, .values-grid, .eligibility-grid, .documents-grid, .notes-grid, .safety-grid { grid-template-columns: 1fr; }
  .details-grid { grid-template-columns: 1fr; }
  .important-notes { padding: 30px 20px; }
  .identity-gallery { grid-template-columns: 1fr; }
  .identity-gallery figure.wide { grid-column: auto; }
  .representative-gallery { grid-template-columns: 1fr; }
  .contact-cards { grid-template-columns: 1fr; }
  .legal-page { padding-inline: 20px !important; }
  .floating-actions { right: max(12px, env(safe-area-inset-right)); bottom: max(14px, env(safe-area-inset-bottom)); gap: 9px; }
  .float-btn { width: 52px; height: 52px; }
  .float-tooltip { display: none; }
  .back-to-top { right: 16px; bottom: 143px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand, .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { padding: 20px 0; flex-direction: column; align-items: flex-start; }
}

@media (max-width: 390px) {
  .brand-text strong { font-size: .82rem; }
  .brand-text small { max-width: 170px; font-size: .46rem; }
  .hero-grid { padding-top: 54px; }
  .hero-info-card { padding: 16px 17px; }
  .responsible-graphic { margin-inline: -18px; transform: scale(.82); }
  .counter-grid { grid-template-columns: 1fr; }
  .counter-grid article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
  .counter-grid article:last-child { border-bottom: 0; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand, .footer-grid > div:last-child { grid-column: auto; }
}
@media (max-width: 900px) {
  .service-detail-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .documents-grid, .notes-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .process-list li { grid-template-columns: 48px 1fr; padding: 20px 17px; gap: 14px; }
  .process-list li > span { width: 44px; height: 44px; }
  .counter-grid > div { min-height: 132px; padding: 18px 12px; }
  .counter-grid > div:nth-child(2) { border-right: 0; }
  .counter-grid > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.15); }
  .service-detail-grid { grid-template-columns: 1fr; }
  .document-list li { grid-template-columns: 44px 1fr; padding: 17px; }
  .document-list li > span { width: 38px; height: 38px; }
}
@media (max-width: 390px) {
  .counter-grid > div { border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,.15); }
  .counter-grid > div:last-child { border-bottom: 0; }
}
@media (max-width: 680px) {
  .floating-actions.deferred {
    opacity: 0;
    pointer-events: none;
    transform: translateY(14px);
    transition: opacity .25s ease, transform .25s ease;
  }
  .floating-actions.deferred.visible {
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }
}
