@media (max-width: 1240px) {
  .brand__descriptor { font-size: 0.44rem; }
  .desktop-nav { gap: 0.65rem; }
  .mega-menu__inner { gap: 1.5rem; }
  .values-grid, .about-values { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1080px) {
  .desktop-nav, .site-header .button--header { display: none; }
  .menu-toggle { display: grid; }
  .section-head, .home-hero__grid, .page-hero__grid, .service-hero__grid, .contact-hero__grid { grid-template-columns: 1fr 0.68fr; }
  .solution-grid, .reference-grid, .work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .services-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gate-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-line { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 2.5rem; }
  .process-line::before { display: none; }
}

@media (max-width: 860px) {
  :root { --header-height: 68px; --container: min(92vw, 720px); }
  .section-head, .home-hero__grid, .page-hero__grid, .service-hero__grid, .contact-hero__grid, .contact-grid, .common-cta__inner, .overview-group, .detail-panel, .about-intro, .about-brand, .gate-group__intro, .evidence-panel, .media-grid--evidence { grid-template-columns: 1fr; }
  .home-hero__aside, .page-hero__aside, .service-hero__aside { padding: 1.2rem 0 0; border-top: 1px solid var(--color-line); border-left: 0; }
  .home-hero__logo { width: clamp(9.5rem, 22vw, 11.75rem); }
  .home-hero__note { display: none; }
  .area-panels { grid-template-columns: 1fr; }
  .area-panel, .area-panel:hover, .area-panel:focus-within, .area-panel.is-active { min-width: 0; }
  .values-grid, .about-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-line { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .featured-strip { grid-template-columns: 1fr; }
  .featured-card { min-height: 25rem; }
  .service-hero__media { inset: 0; width: 100%; }
  .overview-group__media { min-height: 20rem; }
  .detail-panel__list { grid-template-columns: 1fr; }
  .location-section { grid-template-columns: 1fr; }
  .location-visual,
  .location-visual iframe { min-height: 20rem; }
  .solution-switcher { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lightbox { grid-template: minmax(0, 1.2fr) auto / 1fr; }
  .lightbox__panel { min-height: 14rem; padding: 1.25rem; border-top: 1px solid var(--color-line); border-left: 0; }
  .lightbox__close { position: absolute; top: 1rem; right: 1rem; background: rgb(0 0 0 / 70%); }
  .floating-actions { top: auto; right: max(0.75rem, env(safe-area-inset-right)); bottom: max(0.75rem, env(safe-area-inset-bottom)); display: flex; align-items: end; transform: none; }
  .floating-actions > .floating-action--whatsapp { order: 2; }
  .floating-actions__toggle { display: grid; order: 3; width: 3rem; min-width: 3rem; }
  .floating-actions__menu { position: absolute; right: 0; bottom: 3.5rem; visibility: hidden; transform: translateY(0.75rem); opacity: 0; pointer-events: none; transition: opacity 200ms ease, transform 250ms var(--ease-out), visibility 250ms; }
  .floating-actions.is-open .floating-actions__menu { visibility: visible; transform: none; opacity: 1; pointer-events: auto; }
  .floating-action, .floating-action:hover, .floating-action:focus-visible { width: 3rem; }
  .floating-action__label { display: none; }
  .back-to-top { display: flex; }
}

@media (max-width: 620px) {
  :root { --container: min(92vw, 36rem); }
  .display { font-size: clamp(2.9rem, 14vw, 5.2rem); }
  .section-title { font-size: clamp(2.5rem, 13vw, 4.4rem); }
  .section { padding-block: clamp(2.75rem, 10vw, 4.5rem); }
  .brand__mark { width: 2.45rem; height: 2.55rem; }
  .brand__name { font-size: 1.1rem; }
  .brand__descriptor { max-width: 12rem; font-size: 0.4rem; }
  .home-hero__logo { width: clamp(7.5rem, 34vw, 10rem); }
  .mobile-menu__meta { display: grid; }
  .mobile-solutions__panel { grid-template-columns: 1fr; }
  .solution-grid, .reference-grid, .work-grid, .gate-grid, .services-list, .service-groups, .sector-grid, .values-grid, .about-values, .process-line, .media-grid { grid-template-columns: 1fr; }
  .work-card__media { height: clamp(380px, 115vw, 460px); }
  .solution-card { min-height: 26rem; }
  .area-panel, .area-panel:hover, .area-panel:focus-within, .area-panel.is-active { min-width: 0; }
  .area-panel__link { min-height: 28rem; }
  .home-hero { min-height: min(88svh, 50rem); }
  .home-contact { grid-template-columns: 1fr; }
  .home-contact__actions { align-items: stretch; flex-direction: column; }
  .home-contact__actions .button { width: 100%; }
  .value-card, .about-value { min-height: 10rem; }
  .process-line { gap: 1.4rem; }
  .process-line::before { display: block; top: 1.85rem; right: auto; bottom: 1.85rem; left: 50%; width: 1px; height: auto; background: linear-gradient(180deg, transparent, var(--color-gold) 6%, var(--color-gold) 94%, transparent); }
  .process-step { padding-bottom: 0.75rem; }
  .overview-group__body { padding: 1.3rem; }
  .overview-group__links { display: grid; }
  .detail-panel { padding: 1.2rem; }
  .solution-switcher { grid-template-columns: 1fr; }
  .solution-switcher__link:nth-child(n) { min-height: 6rem; }
  .contact-form { grid-template-columns: 1fr; }
  .contact-form .field, .field--full { grid-column: 1; }
  .form-actions { align-items: stretch; flex-direction: column; }
  .form-actions .button { width: 100%; }
  .site-footer__top { grid-template-columns: 1fr; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding: 1.3rem 4.5rem 5.5rem 0; }
  .location-info { padding: 2rem var(--container-margin, 4vw); }
  .project-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-filter { width: 100%; }
  .toast-region { right: 4.75rem; bottom: 0.85rem; }
  .common-cta__actions { width: 100%; }
  .common-cta__actions .button { width: 100%; }
  .eyebrow, .section-index, .form-note { font-size: 0.71rem; }
}

@media (max-width: 390px) {
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .project-filters { grid-template-columns: 1fr; }
}

@media (max-height: 720px) and (min-width: 861px) {
  :root { --header-height: 64px; }
  .home-hero, .service-hero { min-height: 44rem; }
}
