/* Mobile polish — homepage + shared portal chrome */

@media (max-width: 767px) {
  .portal-body {
    overflow-x: clip;
  }

  /* —— Navigation —— */
  .nav-bar #mobile-menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    min-height: 2.75rem;
    touch-action: manipulation;
  }

  .nav-bar #mobile-menu {
    max-height: calc(100dvh - var(--header-h, 4.25rem));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .nav-bar #lang-en,
  .nav-bar #lang-zh {
    min-width: 2.25rem;
    min-height: 2.25rem;
    touch-action: manipulation;
  }

  .nav-bar nav {
    gap: 0.375rem;
  }

  .nav-bar #mobile-menu a,
  .nav-bar #mobile-menu button[data-mobile-toggle] {
    min-height: 2.75rem;
    display: flex;
    align-items: center;
  }

  /* —— Hero (no horizontal bleed, stable height) —— */
  .home-enterprise .hero-lockup.hero-lockup--fullbleed {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  .home-enterprise .hero-lockup--fullbleed .hero-lockup__stage,
  .home-enterprise .hero-lockup--fullbleed .hero-lockup__media,
  .home-enterprise .hero-lockup--fullbleed .hero-lockup__media--watermark,
  .home-enterprise .hero-lockup--fullbleed .hero-lockup__parallax,
  .hero-lockup--fullbleed .parallax-viewport,
  .hero-lockup--fullbleed .parallax-viewport__sizer {
    width: 100%;
    max-width: 100%;
  }

  .hero-lockup--overlay .hero-lockup__stage {
    min-height: clamp(22rem, 72vh, 36rem);
    overflow-x: clip;
  }

  .hero-lockup--overlay .hero-pitch__inner {
    padding-inline: clamp(1rem, 4vw, 1.25rem);
  }

  /* —— Trust band —— */
  .trust-stat {
    padding: 1rem 0.625rem;
  }

  .trust-stats .stat-value {
    font-size: clamp(1.25rem, 5vw, 1.625rem);
    word-break: break-word;
  }

  .trust-stats .stat-label {
    font-size: 0.625rem;
    letter-spacing: 0.08em;
    line-height: 1.35;
  }

  /* —— Services section —— */
  .services-showcase__header {
    gap: 1.25rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
  }

  .services-showcase__title {
    font-size: clamp(1.625rem, 6.5vw, 2.25rem);
    line-height: 1.08;
  }

  .services-showcase__header-aside p {
    font-size: 0.9375rem;
    line-height: 1.55;
  }

  .services-showcase__creds li {
    font-size: 0.625rem;
    padding: 0.3125rem 0.625rem;
  }

  .services-award__stack {
    gap: 1rem;
  }

  /* Contain full-bleed frames — no 100vw sideways scroll */
  .home-enterprise .services-award__frame,
  .home-enterprise figure.services-award__frame {
    margin-inline: var(--container-gutter, 1rem);
    width: calc(100% - 2 * var(--container-gutter, 1rem));
    max-width: calc(100% - 2 * var(--container-gutter, 1rem));
    border-radius: 0.5rem;
  }

  .services-award__figure {
    border-radius: 0.5rem;
  }

  .services-award__actions {
    flex-direction: column;
  }

  .services-award__actions .btn-primary {
    width: 100%;
    justify-content: center;
    min-height: 2.75rem;
    touch-action: manipulation;
    background: #001454 !important;
    color: #ffffff !important;
    border: 1px solid rgba(61, 159, 217, 0.45) !important;
  }

  .services-award-partners__footer a:not(.btn-primary) {
    color: #0284c7 !important;
    font-weight: 700;
  }

  .services-award-partners__cta.btn-primary {
    width: auto;
    justify-content: flex-start;
    min-height: 2.75rem;
    touch-action: manipulation;
  }

  .services-award-partners__head h2,
  .home-glass-panel--head h2 {
    font-size: clamp(1.25rem, 5vw, 1.625rem);
    line-height: 1.2;
  }

  .services-award-partners__footer {
    padding-inline: var(--container-gutter, 1rem);
    text-align: left;
  }

  .home-enterprise .enterprise-section {
    padding-block: clamp(2rem, 6vw, 2.75rem);
  }

  .portal-page-hero.portal-page-hero--image {
    padding-block: clamp(1.5rem, 3vw, 2.5rem);
    min-height: clamp(10rem, 36vw, 14rem);
  }

  .portal-page-hero.portal-page-hero--image h1 {
    font-size: clamp(1.375rem, 1.9vw + 0.85rem, 2.125rem);
    line-height: 1.1;
  }

  .portal-page-hero.portal-page-hero--image .portal-page-hero__media img,
  .portal-page-hero.portal-page-hero--image .hero-lockup__img--watermark {
    object-position: center 32%;
    transform: scale(1.1);
  }

  .company-capabilities-hex__field {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    padding-block: 0.25rem 0;
  }

  .company-capabilities-hex__hub {
    display: none;
  }

  .company-capability-hex {
    width: 100%;
    margin: 0;
    transform: none;
  }

  .company-capability-hex--pos-1,
  .company-capability-hex--pos-2,
  .company-capability-hex--pos-3,
  .company-capability-hex--pos-4,
  .company-capability-hex--pos-5,
  .company-capability-hex--pos-6 {
    margin-top: 0;
  }

  .company-capability-hex__shell {
    display: grid;
    grid-template-columns: 3.25rem 1fr auto;
    grid-template-rows: auto auto;
    align-items: start;
    gap: 0.15rem 0.85rem;
    min-height: 4.5rem;
    aspect-ratio: auto;
    clip-path: none;
    padding: 1rem 1rem 1rem 0.85rem;
    text-align: left;
    border-left: 3px solid var(--hex-tone, #001454);
    background: #ffffff;
  }

  .company-capability-hex__shell::before {
    display: none;
  }

  .company-capability-hex__index {
    grid-row: 1 / -1;
    grid-column: 1;
    align-self: center;
    font-size: 1.35rem;
    color: var(--hex-tone, #001454);
    opacity: 0.35;
  }

  .company-capability-hex__shell h3 {
    grid-column: 2;
    grid-row: 1;
    font-size: 0.9375rem;
  }

  .company-capability-hex__shell p {
    grid-column: 2;
    grid-row: 2;
    max-width: none;
    font-size: 0.8125rem;
  }

  .company-capability-hex__badge {
    grid-column: 3;
    grid-row: 1;
    align-self: start;
  }

  .company-capability-hex + .company-capability-hex .company-capability-hex__shell {
    border-top: 1px solid rgba(0, 20, 84, 0.08);
  }

  .company-capability-hex--featured .company-capability-hex__shell {
    border-left-color: rgba(255, 255, 255, 0.85);
  }

  .company-capability-hex--featured .company-capability-hex__index {
    color: rgba(255, 255, 255, 0.45);
  }

  .company-capability-hex:hover,
  .company-capability-hex:focus-visible {
    transform: none;
  }

  .company-capability-hex:hover .company-capability-hex__shell,
  .company-capability-hex:focus-visible .company-capability-hex__shell {
    background: rgba(255, 255, 255, 0.62);
  }

  .company-capabilities-award__grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .company-capability-award {
    min-height: 0;
  }

  .company-capability-award__index {
    font-size: 2.5rem;
  }

  .mro-services-award__grid {
    grid-template-columns: 1fr;
  }

  .mro-service-award {
    min-height: 0;
  }

  .mro-service-award__index {
    font-size: 2.5rem;
  }

  /* —— Award service pages (MRO, Engineering, Automation, Contact, Careers) —— */
  .mro-services-award,
  .engineering-services-award,
  .automation-services-award,
  .contact-award,
  .careers-award {
    padding-block: clamp(2rem, 6vw, 2.75rem);
  }

  .engineering-services-award__jump,
  .automation-services-award__jump,
  .contact-award__jump,
  .mro-services-award__jump {
    gap: 0.375rem;
  }

  .engineering-page .engineering-services-award__jump a,
  .automation-page .automation-services-award__jump a,
  .contact-page .contact-award__jump a,
  .mro-page .mro-services-award__jump a {
    min-height: 2.25rem;
    display: inline-flex;
    align-items: center;
    touch-action: manipulation;
  }

  .engineering-service-award,
  .automation-solution-award,
  .contact-info-award,
  .contact-form-award,
  .career-spotlight-award,
  .career-job-award,
  .mro-service-award,
  .career-award {
    padding: 1.15rem 1rem 1.15rem 1.15rem;
  }

  .career-job-award__meta {
    grid-template-columns: 1fr;
  }

  .career-job-award__btn,
  .careers-award__cta .btn-primary,
  .careers-award__cta-secondary {
    width: 100%;
    justify-content: center;
    min-height: 2.75rem;
    touch-action: manipulation;
  }

  .careers-page .careers-award__jump a {
    min-height: 2.25rem;
    display: inline-flex;
    align-items: center;
    touch-action: manipulation;
  }

  .engineering-service-award__head h3,
  .automation-solution-award__head h3,
  .career-spotlight-award__head h3 {
    font-size: 1.0625rem;
  }

  .engineering-service-award__head p,
  .automation-solution-award__head p {
    font-size: 0.875rem;
  }

  .contact-award__layout {
    gap: 1rem;
  }

  .contact-form .form-input {
    font-size: 16px;
  }

  .contact-form-award__form .btn-primary,
  .engineering-services-award__cta .btn-primary,
  .automation-services-award__cta .btn-primary,
  .careers-award__cta .btn-primary {
    width: 100%;
    justify-content: center;
    min-height: 2.75rem;
    touch-action: manipulation;
  }

  .careers-award__grid {
    grid-template-columns: 1fr;
  }

  .career-award__index {
    font-size: 2.5rem;
  }

  .company-values-manifest {
    margin-inline: 0;
    width: 100%;
    max-width: 100%;
  }

  .company-value-pillar {
    padding-inline: var(--container-gutter, 1rem);
  }

  .portal-page-hero.portal-page-hero--image .lead,
  .portal-page-hero .lead {
    font-size: 0.875rem;
    line-height: 1.5;
    max-width: none;
  }

  .automation-page .automation-spec-list li {
    flex-wrap: wrap;
    gap: 0.25rem 0.5rem;
  }

  .automation-page .tag-pills span {
    font-size: 0.6875rem;
  }

  .company-clients-award__groups {
    grid-template-columns: 1fr;
  }

  .company-value-pillar {
    grid-template-columns: auto 1fr;
    border-left: none !important;
  }

  .company-value-pillar + .company-value-pillar {
    border-top: 1px solid rgba(0, 20, 84, 0.08);
  }

  .company-value-pillar--navy + .company-value-pillar,
  .company-value-pillar + .company-value-pillar--navy {
    border-top-color: rgba(255, 255, 255, 0.2);
  }

  .company-client-award {
    min-height: 0;
  }

  .company-client-award__index {
    font-size: 2.5rem;
  }

  .company-value-pillar__num {
    font-size: 2.25rem;
  }

  .company-clients-award__logo-panel {
    padding: 1rem 0 0;
  }

  .services-showcase__header.company-clients-award__head,
  .services-showcase__header.company-values-award__head {
    margin-bottom: 1.75rem;
    padding-bottom: 1.25rem;
  }

  /* —— Footer —— */
  .site-footer--minimal .footer-minimal__brand {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .site-footer--minimal .footer-minimal__brand .footer-contact {
    text-align: center;
    font-size: 0.8125rem;
    line-height: 1.55;
    margin-top: 0.5rem;
    overflow-wrap: anywhere;
    max-width: 100%;
  }

  .site-footer--minimal .footer-contact a {
    word-break: break-word;
  }

  .contact-info-award__list a {
    overflow-wrap: anywhere;
  }

  /* —— Zoomable images —— */
  [data-zoomable] {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  [data-zoomable]::after {
    width: 2.25rem;
    height: 2.25rem;
    right: 0.5rem;
    bottom: 0.5rem;
  }
}

@media (max-width: 380px) {
  .hero-lockup--overlay .hero-pitch__title:has(.cinematic-slider) {
    font-size: clamp(0.9375rem, 4.2vw, 1.25rem);
  }

  .nav-bar .shrink-0 img {
    height: 2rem;
  }
}

/* No hover zoom on touch devices */
@media (hover: none) {
  .hero-lockup--fullbleed.hero-lockup--parallax .hero-lockup__stage:hover .hero-lockup__img--watermark {
    transform: none;
  }

  .services-award__figure:hover,
  a.services-award__frame:hover {
    transform: none;
  }

  .engineering-service-award:hover,
  .automation-solution-award:hover,
  .mro-service-award:hover,
  .career-award:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-enterprise .hero-lockup--fullbleed .hero-lockup__img--watermark {
    transition: none;
  }
}

/* Hero CTA — solid gold (loads last) */
.home-enterprise .hero-lockup--overlay #hero-cta-explore,
.home-enterprise .hero-lockup--overlay a.hero-pitch__btn--explore {
  background-color: #fff9c4 !important;
  background-image: linear-gradient(155deg, #fffde7 0%, #fff9c4 48%, #fff176 100%) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 2px solid #fde68a !important;
  color: #0f172a !important;
  mix-blend-mode: normal !important;
  box-shadow: 0 4px 18px rgba(255, 235, 150, 0.35) !important;
}

.home-enterprise .hero-lockup--overlay #hero-cta-explore:hover,
.home-enterprise .hero-lockup--overlay a.hero-pitch__btn--explore:hover {
  background-color: #fff59d !important;
  background-image: linear-gradient(155deg, #fffef5 0%, #fff59d 50%, #ffee58 100%) !important;
  border-color: #fef08a !important;
  color: #020617 !important;
}
