/* Interface symbols use SVG paths, never platform-specific font glyphs. */
.ui-icon{display:inline-block;width:1.15em;height:1.15em;flex:none;vertical-align:-.18em;overflow:visible;pointer-events:none}
.ui-icon path{vector-effect:non-scaling-stroke}
.round-arrow .ui-icon,.hero-gallery-controls .ui-icon,.lightbox-bar .ui-icon{width:22px;height:22px}
.close-lightbox .ui-icon{width:26px;height:26px}
.pilot-taxonomy h2>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:850px){
 .header .brand,.header-right,.section-heading>*{min-width:0}
 .header nav.open{background:var(--cms-header,#142025);overscroll-behavior:contain}
 .header nav a{white-space:normal;min-height:44px}
 .header-right{flex-shrink:0}
 .languages a{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:44px}
 .hero-buttons,.scene-controls,.pilot-tags{flex-wrap:wrap}
 .hero-facts{flex-wrap:wrap;gap:16px 0}
 .hero-facts>div{min-width:0;max-width:50%}
 .hero-facts b{white-space:normal;overflow-wrap:break-word}
 .hero-word{max-width:100%;overflow-wrap:anywhere}
 .editorial-page>h1,.svc-hero h1,.page-heading h1,.section-heading h2{overflow-wrap:break-word}
 .project-facts>div{min-width:0;max-width:100%;overflow-wrap:anywhere}
 .fair-links a,.editorial-cta>a,.text-button{white-space:normal;overflow-wrap:break-word}
 .filter-top>*{min-width:0;max-width:100%}
 .event-select select{min-width:0;max-width:100%;font-size:16px}
 .search input{font-size:16px;min-width:0}
 .lightbox[open]{overscroll-behavior:contain;padding-bottom:max(28px,env(safe-area-inset-bottom))}
 .lightbox-info,.lightbox-facts dd{min-width:0;overflow-wrap:anywhere}
 .close-lightbox{position:fixed;top:max(8px,env(safe-area-inset-top));right:12px;width:44px;height:44px;display:grid;place-items:center;z-index:2;background:#142025;border-radius:50%}
 .cms-footer-links{flex-wrap:wrap}
 .cms-footer-links a,.cms-footer-links button{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:550px){
 :root{--gutter:clamp(18px,5vw,24px)}
 .header,.header.scrolled{gap:10px}
 .header .brand-logo{width:clamp(96px,29vw,155px);max-width:100%}
 .header-right{gap:4px}
 .languages{gap:4px}
 .hero-buttons>*{max-width:100%}
 .svc-card{padding:24px 48px 24px 22px}
 .svc-arrow{right:16px}
 .pilot-taxonomy h2{font-size:clamp(25px,7vw,36px);line-height:1.2}
 .pilot-taxonomy a{padding-top:22px;padding-bottom:22px}
 .quote-progress ol{gap:8px;flex-wrap:wrap}
 .quote-actions{flex-wrap:wrap}
 .contact-band{align-items:flex-start;flex-direction:column;gap:24px}
 .footer-top{grid-template-columns:1fr;gap:28px}
 .consent-status{max-width:calc(100vw - 32px)}
}
@media(hover:none){
 .round-arrow{transform:none;background:#142025d9;color:#fff;width:32px;height:32px}
 .project-card:hover .project-photo>img,.mosaic-tile:hover img,.sector-card:hover img{transform:none;filter:none}
}
