/* Approved aviation site motion. */
:root{--motion-ease:cubic-bezier(.2,.75,.25,1)}
.header .brand img{width:395px}.header{height:130px}
.header nav a{position:relative;padding-block:14px}
.header nav a::after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--motion-ease)}
.header nav a:hover::after,.header nav a:focus-visible::after,.header nav a[aria-current="location"]::after{transform:scaleX(1)}
.reading-track{position:fixed;left:0;right:0;top:0;height:3px;z-index:40;pointer-events:none}
.reading-track span{display:block;height:100%;background:#0077ea;transform:scaleX(var(--page-progress,0));transform-origin:left}
.hero{position:relative;background:#fff;overflow:hidden}
.hero-copy{position:relative;padding-bottom:42px}
.hero-copy h1{font-size:clamp(64px,6.3vw,98px)}
.flight-deck{margin:0 6%;border-top:1px solid #bad0e4;position:relative}
.deck-heading{display:flex;align-items:center;gap:13px;color:#274e70;font:10px/1.4 'Courier New',monospace;letter-spacing:.12em;padding-top:18px;position:relative;z-index:1}
.deck-cross{font-size:23px;color:#005ac1}.deck-instruction{margin-left:auto;color:#365f80}.deck-instruction>span{font-size:18px;margin-left:15px}
.airflow{height:125px;position:relative;overflow:hidden}
.airflow svg{position:absolute;width:100%;height:100%;inset:0;overflow:visible}
.flow-guides{opacity:.58}.flow-draw{stroke-dasharray:1;stroke-dashoffset:0}
.flow-signal{stroke-dasharray:.055 .945;stroke-dashoffset:1;opacity:0;filter:drop-shadow(0 0 4px #7cc3ff)}
.flow-coordinate{position:absolute;bottom:16px;left:0;font:9px/1.4 'Courier New',monospace;letter-spacing:.12em;color:#33597a;background:white;padding-right:16px}
.family-selector{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #bad0e4;margin-bottom:30px}
.family-selector a{position:relative;padding:20px 22px 17px;border-right:1px solid #d0dfec;font-size:27px;line-height:1.25;color:#133455;overflow:hidden;transition:background .3s,color .3s}
.family-selector a:first-child{padding-left:0}.family-selector a:last-child{border-right:0}
.family-selector a>span{display:block;font:9px/1.4 'Courier New',monospace;letter-spacing:.09em;margin-bottom:12px;color:#466784}
.family-selector i{font-size:22px;font-style:normal;float:right;color:#005ac1;transition:transform .3s var(--motion-ease)}
.family-selector a::after{content:'';position:absolute;bottom:0;left:0;height:3px;width:100%;background:#005ac1;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--motion-ease)}
.family-selector a:hover,.family-selector a:focus-visible{background:#e9f3ff;color:#005ac1}
.family-selector a:hover::after,.family-selector a:focus-visible::after{transform:scaleX(1)}
.family-selector a:hover i{transform:translate(3px,-3px)}
.button{position:relative;overflow:hidden;transition:background .25s,box-shadow .25s,transform .25s}
.button>span,.text-link>span{display:inline-block;transition:transform .3s var(--motion-ease)}
.button:hover>span,.button:focus-visible>span,.text-link:hover>span{transform:translate(3px,-3px)}
.button::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff30 50%,transparent 70%);transform:translateX(-120%);pointer-events:none}
.button:hover::after{transform:translateX(120%);transition:transform .65s}
.fleet-row{position:relative;isolation:isolate;overflow:hidden;transition:border-color .35s,box-shadow .35s}
.fleet-row::after{content:'';position:absolute;right:16px;top:16px;width:19px;height:19px;border-top:1px solid currentColor;border-right:1px solid currentColor;opacity:.35;transition:width .4s,height .4s;pointer-events:none}
.fleet-row:hover::after{width:38px;height:38px;opacity:.7}
.fleet-row:hover{box-shadow:0 10px 30px #082f6210}
.fleet-row.selected-family{animation:family-focus 1.7s ease-out}
.services-list summary{transition:padding .3s,background .3s}
.services-list summary:hover{padding-left:12px;padding-right:12px;background:#d0e5fc}
.services-list details[open] .service-content{animation:service-open .4s var(--motion-ease) both}
.contact{position:relative;overflow:hidden;isolation:isolate}
.contact::before,.contact::after{content:'';position:absolute;width:680px;height:680px;border:1px solid #75b7f150;border-radius:50%;right:-330px;top:-370px;z-index:-1;pointer-events:none}
.contact::after{width:780px;height:780px;right:-370px;top:-410px;border-color:#75b7f12a}
.motion-review{position:fixed;bottom:16px;right:18px;z-index:45;display:flex;align-items:center;gap:16px;padding:10px 14px;background:#fff;box-shadow:0 5px 24px #082f6226;border:1px solid #bcd4e9;border-radius:5px;font-size:11px;color:#133455}
.motion-review>span{font-size:9px;letter-spacing:.08em;color:#456881}.motion-review button{border:0;background:none;padding:7px 0;font-size:11px;color:#005ac1}.motion-review button+button{border-left:1px solid #cbdcec;padding-left:14px}
body:not(.effects-off).page-arrived .hero-copy h1{animation:site-arrive .85s var(--motion-ease) both}
body:not(.effects-off).page-arrived .hero-copy>p,body:not(.effects-off).page-arrived .hero-copy>.button,body:not(.effects-off).page-arrived .hero-families{animation:site-arrive .8s .15s var(--motion-ease) both}
body:not(.effects-off).page-arrived .flow-draw{animation:airflow-draw 2.5s .3s var(--motion-ease) both}
body:not(.effects-off).page-arrived .flow-signal{animation:airflow-pass 3.6s .6s ease-in-out 1 both}
body:not(.effects-off).page-arrived .family-selector a{animation:site-arrive .7s var(--motion-ease) both;animation-delay:calc(.25s + var(--family-index,0)*.08s)}
.js-motion .pending-reveal{transition:opacity .7s var(--motion-ease),transform .7s var(--motion-ease);transform:translateY(24px)}
.js-motion .pending-reveal.visible{transform:none}
.effects-off #site *,.effects-off #site *::before,.effects-off #site *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.effects-off .pending-reveal{opacity:1;transform:none}.effects-off .flow-draw{stroke-dashoffset:0}
@keyframes site-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes airflow-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes airflow-pass{0%{stroke-dashoffset:1;opacity:0}12%{opacity:1}85%{opacity:1}100%{stroke-dashoffset:-.07;opacity:0}}
@keyframes service-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes family-focus{0%,40%{box-shadow:inset 0 0 0 2px #32a1ff,0 0 24px #168bff28}100%{box-shadow:inset 0 0 0 0 transparent}}
@media(min-width:1700px){.flight-deck{margin-inline:max(6%,calc((100vw - 1470px)/2))}}
@media(max-width:1250px) and (min-width:901px){.header .brand img{width:300px}.header nav{gap:14px}.header{gap:18px}}
@media(max-width:900px){.header{height:110px}.header nav{top:110px}.header .brand img{width:330px}.hero-copy{padding-bottom:30px}.airflow{height:95px}.family-selector a{padding:16px 12px;font-size:23px}.family-selector a>span{font-size:8px;letter-spacing:0}.family-selector i{font-size:18px}}
@media(max-width:620px){.header{height:100px}.header nav{top:100px}.header .brand img{width:min(280px,70vw)}.hero-copy h1{font-size:clamp(50px,11vw,68px)}.deck-heading{font-size:9px}.deck-instruction{display:none}.airflow{height:80px}.family-selector{grid-template-columns:repeat(6,1fr);margin-bottom:22px}.family-selector a{grid-column:span 2;font-size:23px;border-bottom:1px solid #d0dfec;padding:15px 12px!important}.family-selector a:nth-child(-n+2){grid-column:span 3}.family-selector a:nth-child(2){border-right:0}.family-selector a>span{font-size:8px}.motion-review{left:12px;right:12px;bottom:10px;justify-content:space-between;gap:8px;padding:7px 12px}.motion-review>span{font-size:8px}footer{padding-bottom:85px}}
@media(prefers-reduced-motion:reduce){.flow-draw{stroke-dashoffset:0}.flow-signal{display:none}.js-motion .pending-reveal{opacity:1;transform:none}}

.site-motion-control{border:1px solid #bcd4e9;background:#fff;color:#005ac1;padding:10px 14px;font-size:12px;white-space:nowrap}
