/* Shared touch layout. Desktop presentation remains unchanged. */
@media (max-width: 991px) {
  .navbar.navbar-main { background:#151a17!important; }
  .navbar-main .navbar-toggler { min-width:44px; min-height:44px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
  .navbar-main .navbar-toggler .line,
  .navbar-main.navbar-dark .navbar-toggler[aria-expanded="false"] .line { background:#fff!important; }
  .navbar-main .navbar-collapse { max-height:100vh; max-height:100dvh; overflow-y:auto; overscroll-behavior:contain; padding-bottom:24px; }
  .navbar-main .navbar-toggler[aria-expanded="true"] { position:fixed; top:20px; right:20px; z-index:2; background:#C82126; }
  /* A single joined corner keeps the arrow tip flush at every pixel density. */
  .navbar-main .navbar-toggler[aria-expanded="true"] .line { opacity:0; }
  .navbar-main .navbar-toggler[aria-expanded="true"]::after {
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:26px;
    height:26px;
    border-top:2px solid #fff;
    border-right:2px solid #fff;
    transform:translate(-75%,-50%) rotate(45deg);
    pointer-events:none;
  }
  .site-footer .nav-footer a { display:inline-flex; align-items:center; min-height:44px; }
  .site-footer .nav-footer { gap:4px 20px; }
  .site-contact-link { color:inherit; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
  .ui-contact .fs-form details label { display:flex; align-items:center; min-height:44px; gap:10px; margin:0; }
  .ui-contact .fs-form .form-check { min-height:44px; }
  .ui-contact .fs-form .form-check-label { min-height:44px; display:block; }
  .ui-contact .fs-form input[type=checkbox] { flex:none; width:20px; height:20px; }
  .ui-contact .fs-form input[type=file], #career-application input[type=file] { max-width:100%; width:100%; min-height:44px; font-size:16px; }
  input[type=file]::file-selector-button { min-height:44px; }
  .ui-contact .fs-form summary { min-height:44px; }
  .ui-contact .form-error,.ui-contact .form-success,#career-application-status { overflow-wrap:anywhere; }
  .career-application-close,.honor-lightbox__close { min-width:44px; min-height:44px; }
  .ui-careers .career-job-apply { display:inline-flex; align-items:center; min-height:44px; }
  .ui-careers .career-job > summary { gap:12px; }
  #career-application { max-height:calc(100dvh - 32px); }
  #career-application .form-control { font-size:16px; }
  #section3.section-network--white-map .cp-network-map-heading,
  #section3.section-network--white-map .cp-network-legend,
  .ui-redesign .migration-content .ui-map-caption,
  .ui-redesign .migration-content .ui-map-count p { font-size:12px; }
  #section3.section-network--white-map .cp-network-map-heading,
  #section3.section-network--white-map .cp-network-legend { flex-wrap:wrap; gap:10px 16px; }
  .ui-redesign .ui-map-caption { max-width:150px; }
}
@media(max-width:991px) {
 body { background-image:url(../images/mobile/terminal-operations.webp); }
 #mainpage .bg-mobile,
 #mainpage .slicer-img { background-image:url(../images/mobile/terminal-operations-clean-20260910.webp)!important; }
 #mainpage #section5 { background-image:linear-gradient(100deg,rgba(9,18,24,.90),rgba(9,18,24,.69)),url(../images/mobile/warehouse-background-20260909.webp)!important; }
}
@media(prefers-reduced-motion:reduce) {
 .container-fluid:has(> #mainpage) > .video { background:url(../images/intro-poster.jpg) center/cover; }
 .container-fluid:has(> #mainpage) > .video > video { display:none!important; }
}

/* Phone follow-up: one service per row and room for the certificate orbit. */
@media (max-width: 991px) {
  #mainpage #section2.section-freight .row { padding-left:24px; padding-right:24px; }
  #mainpage #section2.section-freight .row > .col-6 { flex:0 0 100%; max-width:100%; }
  #mainpage #section2.section-freight h2 { padding-right:0!important; }
  #mainpage #section2.section-freight .col-6 > div { padding:32px 0 0!important; }
  #mainpage #section2.section-freight p { line-height:1.8; margin-bottom:0; }
}
@media (max-width:600px) {
  #section6 .honor-orbit.is-orbit-ready { height:360px; }
  #section6 .honor-orbit.is-orbit-ready .honor-card { width:clamp(58px,18vw,92px); padding:3px; }
  #section6 .honor-orbit.is-orbit-ready .honor-core { width:64px; }
  #section6 .honor-orbit.is-orbit-ready .honor-core__mark { font-size:24px; }
  #section6 .honor-orbit.is-orbit-ready .honor-core > span:nth-child(2) { font-size:8px; letter-spacing:.08em; }
}

@media (max-width:991px) {
  .container-fluid:has(> #mainpage) > .video > video { display:none!important; }
}
