/* Shared phone and tablet layout. Loaded after page-specific styles. */
.mobile-menu,.mobile-navigation{display:none}
img{max-width:100%}
@media(max-width:900px){
 .hero-grid>*,.engine-layout>*,.dark-panel>*,.split-feature>*,.company-section>*{min-width:0}
 .site-header{height:auto;min-height:78px;flex-wrap:wrap;padding:14px 5%;gap:12px}
 .site-header .menu,.mobile-menu{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 14px;border:1px solid #bac8d2;background:#fff;color:#102434;font:inherit;font-size:14px;cursor:pointer}
 .site-header nav{display:none;position:static;flex-basis:100%;width:100%;padding:8px 0 0;background:#fff;box-shadow:none;border-bottom:0}
 .site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .site-header nav>a{padding:14px 10px;font-size:16px;min-height:48px;border-bottom:1px solid #e1e7ec}
 .site-header nav>.nav-cta{margin:8px 0 0;padding:14px 10px}
 .p-header{height:auto;min-height:78px;flex-wrap:wrap;padding:14px 6%;gap:12px}
 .p-header>a:first-child{margin-right:auto}.p-header img{width:170px;max-width:48vw;height:auto}
 .p-header .back{max-width:none;order:3;flex-basis:100%;text-align:left;font-size:14px;padding:6px 0;line-height:1.5}
 .mobile-navigation.open{display:flex;order:4;flex-basis:100%;flex-direction:column;padding:4px 0;width:100%}
 .mobile-navigation a{padding:14px 10px;min-height:48px;border-top:1px solid #e1e7ec;font-size:16px}
 .engine-layout{grid-template-columns:minmax(0,1fr)}
 .engine-story .topic-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
 .engine-story .topic-tabs button{font-size:14px;min-height:56px}
 .scene-toolbar button{font-size:13px;min-height:44px;padding:10px 12px}
 .site-header nav,.mobile-navigation{max-height:65vh;max-height:65dvh;overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:700px){
 html{scroll-padding-top:96px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .site-header .brand img{width:168px}
 .flight-experience{padding:24px 6% 0}
 .hero-copy h1,.p-hero h1,.amo-page .p-hero h1{font-size:clamp(36px,10vw,56px);letter-spacing:-1.5px;line-height:1.08}
 .hero-description,.p-hero .lead,.amo-page .p-hero .lead,.section-intro>p,.company-copy>p:not(.eyebrow),.solution-rows p:not(.eyebrow),.approach-intro>p:last-child,.process-list details>p,.contact-section>p:not(.eyebrow),.flight-topics p,.amo-page .module-grid p{font-size:16px;line-height:1.7}
 .hero-copy>.eyebrow,.eyebrow,.p-kicker{font-size:11px;letter-spacing:1.4px}
 .hero-location{font-size:12px;line-height:1.6}
 .hero-actions,.cta-row{gap:12px}.button,.contact-section .button,.amo-page .p-hero .button{font-size:15px;min-height:48px;line-height:1.4;gap:16px;padding:14px 18px;max-width:100%}
 .quiet-link,.text-link,.flight-topics .text-link,.topic-panels .text-link{font-size:14px;min-height:44px;align-items:center;line-height:1.5}
 .hero-actions>.button,.cta-row>.button{flex:1 1 180px;justify-content:center}.hero-actions>.quiet-link{justify-content:center}
 .aircraft-stage .scene-viewport,.scene-viewport{height:clamp(270px,78vw,380px)}
 .scene-caption{font-size:12px;right:115px;bottom:16px}.scene-topline{font-size:10px;letter-spacing:1px}
 .scene-toolbar{gap:8px;padding:10px}.view-buttons{gap:4px;flex:1 1 100%;display:flex}.view-buttons button{flex:1 1 auto}
 .scene-toolbar .motion-button{font-size:13px;min-height:44px;border-left:0}
 .scene-zoom button{min-width:44px;min-height:44px}
 .flight-topics .topic-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}
 .flight-topics .topic-tabs button{font-size:14px;padding:12px 0;min-height:54px}
 .flight-topics .topic-tabs button>span{font-size:11px}.flight-topics [role=tabpanel]{min-height:0}
 .topic-panels p{font-size:16px}.model-footnote{font-size:13px}.model-footnote a{min-height:44px;display:inline-flex;align-items:center}
 .section-intro h2,.company-copy h2,.approach-intro h2,.contact-section h2,.engine-experience h2,.amo-page .engine-experience .section-intro h2{font-size:clamp(32px,8.8vw,42px);letter-spacing:-1px}
 .section,.engine-experience{padding:48px 6%}.p-section{padding:48px 0}.p-hero,.amo-page .p-hero{padding:44px 6%}
 .flight-hero,.ramp-hero{min-height:0;padding-bottom:220px}
 .hero-tags{margin-top:26px;gap:8px}.hero-tags span{font-size:14px;padding:9px 12px}
 .sector-grid,.module-grid,.amo-page .module-grid,.pillar-grid,.feature-list{grid-template-columns:minmax(0,1fr)}
 .sector-card,.pillar,.service-grid article,.reference-card{padding:24px}.sector-card{min-height:0}
 .dark-panel,.compliance .dark-panel{padding:28px 20px;grid-template-columns:minmax(0,1fr);gap:24px}
 .dark-panel h2,.compliance .dark-panel h2{font-size:32px;line-height:1.15}
 .demo-form input,.demo-form textarea,.demo-form select{font-size:16px;min-height:48px;border-radius:5px}
 .demo-form button{width:100%}.demo-form label{font-size:16px}
 .system-visual{padding:8px;margin-top:24px}.system-visual>a{display:block;min-height:44px}.system-visual figcaption{font-size:13px}
 .section-nav{gap:10px;padding:10px 6%;scroll-padding-inline:6%;-webkit-overflow-scrolling:touch}.section-nav a{padding:12px 8px;min-height:44px}
 .module-filters button{font-size:14px;flex:1 1 135px}.filter-status{font-size:13px}
 .site-footer nav{position:static;display:flex;background:transparent;box-shadow:none;padding:0;font-size:14px;gap:4px 18px}
 .site-footer nav a,.group-links a{display:inline-flex;align-items:center;min-height:44px}
 .site-footer>p,.footer-bottom,.p-footer{font-size:13px;line-height:1.6}.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
 .p-footer,.site-footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .solution-image>span,.photo-caption{font-size:11px;letter-spacing:1px}.process-list summary{min-height:60px}
 .team-contact a{margin-left:0;overflow-wrap:anywhere}.resource-links a{min-height:48px}
}
@media(max-width:360px){.site-header .brand img,.p-header img{width:145px}.scene-caption{right:110px;font-size:11px}.scene-topline{letter-spacing:0}.button{gap:10px}.phase-list li{grid-template-columns:32px minmax(0,1fr);gap:12px}}
