/* Shared mobile rules. Desktop styles and project-gallery composition stay intact. */
@media (max-width:767px) {
  .mobile-site main { min-width:0; }
  .mobile-site main h1 { font-size:clamp(34px,9.5vw,44px); line-height:1.08; overflow-wrap:break-word; text-wrap:balance; }
  .mobile-site main > section:first-child { padding-top:24px!important; }
  .mobile-site main > section[class~="py-20"], .mobile-site main > section[class~="py-24"] { padding-top:48px; padding-bottom:48px; }
  .mobile-site main > section[class~="pb-20"], .mobile-site main > section[class~="pb-24"], .mobile-site > section[class~="pb-24"] { padding-bottom:48px; }
  .mobile-site main > section[class~="mt-12"], .mobile-site main > section[class~="mt-14"], .mobile-site main > section[class~="mt-16"] { margin-top:32px; }
  .mobile-site main .dash-line { display:none; }
  .mobile-site main .space-y-16 > :not([hidden]) ~ :not([hidden]) { margin-top:40px; }
  .mobile-site .mobile-compact-cta { width:fit-content; max-width:100%; min-height:44px; padding:6px 6px 6px 16px; gap:12px; align-self:flex-start; }
  .mobile-site .mobile-compact-cta > span:first-child { font-size:10px; letter-spacing:.1em; line-height:1.4; }
  .mobile-site .mobile-compact-cta > span:last-child { width:28px; height:28px; flex-shrink:0; }
  .mobile-site .mobile-compact-cta svg { width:12px; height:12px; }
  .mobile-site .sf-top { padding:40px 0 32px; gap:28px; }
  .mobile-site .sf-cols { display:block; }
  .mobile-site .sf-cols > div { border-top:1px solid #ece7e8; }
  .mobile-site .sf-cols .sf-h { margin:0; }
  .mobile-site .mobile-footer-toggle { min-height:52px; width:100%; display:flex; justify-content:space-between; align-items:center; text-align:left; font:inherit; }
  .mobile-site .mobile-footer-toggle > span { font-size:20px; font-weight:400; }
  .mobile-site .sf-ls[hidden] { display:none; }
  .mobile-site .sf-ls { margin:0 0 16px; gap:0; }
  .mobile-site .sf-ls a { display:flex; align-items:center; min-height:44px; font-size:14px; }
  .mobile-site .sf-legal { padding:20px 0; gap:12px; font-size:11px; }
  .mobile-site .sf-legal nav { gap:0 16px; }
  .mobile-site .sf-legal a { display:inline-flex; align-items:center; min-height:44px; }
  .mobile-site .mobile-footer-toggle:focus-visible { outline:2px solid #C00020; outline-offset:2px; }
  .mobile-site .pilot-gallery .mobile-rail-controls { margin-top:16px; }
  .pilot-service .st6 .st { margin-top:0!important; }
}
