/* Mobile: content-driven heights, comfortable controls and natural wrapping. */
@media(max-width:760px){
  :root{--type-h2:32px;--type-h3:22px;--type-body:16px}
  html{scroll-padding-top:24px;-webkit-text-size-adjust:100%}
  .content{width:calc(100% - 32px)}
  .brief-grid>*,.brief-form-fields>*,.coverage-map-copy{min-width:0}
  h1,h2,h3{text-wrap:balance;overflow-wrap:break-word}
  p{text-wrap:pretty}
  .brief-heading h2 br,.invitation-copy h2 br{display:none}
  .brief-heading h2 br::after,.invitation-copy h2 br::after{content:none}
  .header .menu-button{min-height:44px;flex-shrink:0;font-size:14px}
  .header nav{max-height:65svh;overflow-y:auto}
  .header nav>a{min-height:44px}
  .pill{white-space:normal;text-align:center;max-width:100%;gap:12px}
  .pill>span{flex-shrink:0}
  .hero.brief-hero{height:auto;min-height:0;max-height:none;padding-bottom:24px}
  .brief-hero .hero-copy{margin-top:28px;margin-bottom:28px}
  .brief-hero .hero-copy h1{font-size:32px;line-height:1.18;letter-spacing:-.04em}
  .brief-hero .hero-copy h1 .hero-line{display:inline;white-space:normal;overflow:visible;padding:0;margin:0}
  .brief-hero .hero-copy h1 .hero-line>span{display:inline}
  .brief-hero .hero-copy h1 em{white-space:normal}
  .brief-hero .hero-copy>p:not(.eyebrow){max-width:none}
  .brief-hero .hero-link{display:flex;justify-content:center;width:100%;padding:14px 16px}
  .brief-hero .hero-note{position:relative;inset:auto;width:calc(100% - 40px);max-width:none;margin:0 auto;gap:12px}
  .brief-hero .hero-note>img{flex-shrink:0}
  .brief-hero .hero-note>span:not(.round-arrow){flex:1;min-width:0}
  .brief-hero .hero-note small{margin-top:4px}
  .brief-panel,.brief-service>div,.sector-showcase .sector-card{padding:22px}
  .brief-service>img{height:auto;aspect-ratio:3/2}
  .brief-service .brief-service-quote{width:100%;align-self:stretch}
  .brief-equipment>img{height:auto;aspect-ratio:4/3}
  .quote-section.contact{padding:48px 0}
  .quote-section .quote-direct,.quote-section .quote-form{padding:20px}
  .quote-section .quote-contact-button{padding:14px 12px;gap:10px}
  .brief-form :is(input,select,textarea){min-width:0;max-width:100%;font-size:16px}
  .quote-section .quote-submit-row button{white-space:normal}
  .invitation-action{padding:14px 12px;gap:10px}
  .coverage-map-copy{padding:20px}
  .coverage-map-toolbar{gap:6px}
  .coverage-map-toolbar>span,.coverage-map-toolbar button{padding:10px;font-size:12px}
  .coverage-map .leaflet-bar a{width:44px;height:44px;line-height:44px}
  .brief-cities li{max-width:100%;overflow-wrap:break-word}
  .footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
  .footer a{display:inline-flex;align-items:center;min-height:44px}
}
