.hangar{position:relative;overflow:hidden;background:#080c0d;border-bottom:1px solid #2c383a;padding:58px 0 42px}
.hangar-heading{text-align:center}.hangar-heading .eyebrow{color:var(--cyan);display:flex;align-items:center;justify-content:center;gap:8px}.hangar-heading h2{font:700 48px/1.08 Barlow,Arial,sans-serif;margin:14px 0}.hangar-heading h2 span{color:var(--yellow)}.hangar-heading>p:last-child{font-size:13px;line-height:1.8;color:#b9c6c7;max-width:520px;margin:auto}
.crew-tabs{display:flex;justify-content:center;gap:0;margin:30px auto 0;max-width:660px;padding:0 20px}.crew-tabs button{font:700 14px Barlow,Arial,sans-serif;background:none;color:#a5b3b6;min-height:45px;flex:1;border-bottom:2px solid #334145;padding:8px 12px;white-space:nowrap}.crew-tabs button[aria-selected=true]{color:var(--yellow);border-color:var(--yellow);background:#ffe2380a}.crew-tabs button:hover{color:#fff}.crew-tabs button:focus-visible{outline:2px solid var(--cyan);outline-offset:-4px}
.crew-stage{position:relative;height:520px;max-width:1400px;margin:0 auto;isolation:isolate}.crew-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab}.crew-stage canvas:active{cursor:grabbing}.crew-stage canvas:focus-visible{outline:1px solid var(--cyan);outline-offset:-6px}.hangar-lines{position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(180deg,#080c0d00 80%,#73e0e508),repeating-linear-gradient(90deg,transparent 0,transparent 14%,#73e0e508 14.1%,transparent 14.2%);border-bottom:1px solid #73e0e526}.hangar-lines:after{content:'';position:absolute;width:60%;height:45px;left:20%;bottom:54px;border:1px solid #73e0e533;border-radius:50%;box-shadow:0 0 24px #73e0e508}
.crew-caption{position:absolute;left:6%;top:38%;width:240px;pointer-events:none}.crew-designation{font-size:8px;color:var(--cyan)}.crew-caption h3{font:700 44px/1.1 Barlow,Arial,sans-serif;color:#fafaf2;margin:10px 0}.crew-caption p{font-size:12px;line-height:1.8;max-width:200px;color:#b5c5c6}.crew-toolbar{position:absolute;right:5%;top:30%;display:flex;flex-direction:column;gap:10px}.crew-toolbar .icon-button{width:42px;height:42px;background:#0b1518c9;border-color:#456067;color:#bfe9eb}.crew-toolbar .icon-button[aria-pressed=true]{color:var(--yellow);border-color:#ffe23870}.crew-toolbar svg{width:18px;height:18px}.crew-reaction{position:absolute;bottom:25px;left:25%;right:25%;text-align:center;min-height:23px;font:700 21px/1.1 Barlow,Arial,sans-serif;color:var(--yellow);pointer-events:none}.crew-stage.is-reacting .crew-reaction{animation:crew-pop .5s both}.hangar-actions{display:flex;align-items:center;justify-content:center;gap:32px;padding:26px 24px 0}.hangar-actions .button{min-width:230px;gap:12px}.hangar-actions .text-link{color:#c4d9da}.crew-fallback{position:absolute;top:35%;left:15%;right:15%;text-align:center;line-height:1.8;color:var(--yellow)}.crew-fallback[hidden]{display:none}
@keyframes crew-pop{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:none}}
.crew-tabs[hidden],.crew-toolbar[hidden],#crew-action[hidden]{display:none}.crew-stage.no-webgl{height:220px;background:url('space.jpg') center/cover}.no-webgl .crew-caption,.no-webgl canvas{display:none}
@media(max-width:1000px){.crew-caption{left:4%;width:190px}.crew-caption p{max-width:165px}.crew-caption h3{font-size:36px}.crew-toolbar{right:3%}}
@media(max-width:700px){.hangar{padding-top:36px}.hangar-heading h2{font-size:35px;max-width:310px;margin:13px auto}.hangar-heading>p:last-child{font-size:11px;max-width:310px}.hangar-heading .eyebrow{font-size:8px}.crew-tabs{margin-top:24px;padding:0 18px}.crew-tabs button{font-size:12px;padding:8px 5px;min-height:44px}.crew-stage{height:490px}.crew-caption{top:auto;bottom:76px;left:24px;right:24px;width:auto;text-align:center}.crew-caption h3{font-size:29px;margin:5px 0}.crew-designation{font-size:7px}.crew-caption p{max-width:270px;margin:auto;font-size:11px;line-height:1.6}.crew-toolbar{flex-direction:row;top:auto;bottom:15px;right:0;left:0;justify-content:center;gap:12px}.crew-toolbar .icon-button{width:38px;height:38px}.crew-toolbar svg{width:16px;height:16px}.crew-reaction{bottom:auto;top:18px;left:15px;right:15px;font-size:18px}.hangar-lines:after{bottom:170px;height:27px;width:74%;left:13%}.hangar-actions{flex-direction:column;gap:22px;padding-top:23px}.hangar-actions .button{min-width:240px}.hangar-actions .text-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){.crew-stage.is-reacting .crew-reaction{animation:none}}

/* Keep the touch surface on the model, separate from the scrolling page. */
.crew-stage{height:620px;max-width:1560px}
.crew-stage canvas{left:24%;top:30px;width:65%;height:calc(100% - 60px);touch-action:none}
.crew-stage canvas.is-dragging{cursor:grabbing;filter:drop-shadow(0 0 9px #73e0e560)}
.crew-stage.is-reacting canvas{filter:drop-shadow(0 0 8px #ff72ba50)}
.crew-caption{top:38%}.crew-toolbar{top:28%}
.crew-toolbar .icon-button{width:48px;height:48px;border-color:#63878e}
.crew-toolbar .icon-button:hover{box-shadow:0 0 18px #73e0e530}
.crew-stage.model-arrival canvas{animation:model-arrival .55s ease-out both}
@keyframes model-arrival{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
.hero-model-targets{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-model-grab{position:absolute;left:0;top:0;width:44px;height:44px;padding:0;border:0;background:transparent;pointer-events:auto;touch-action:none;cursor:grab;color:var(--cyan)}
.hero-model-grab svg{position:absolute;right:3px;top:3px;width:18px;height:18px;opacity:0;transition:opacity .2s}
.hero-model-grab:focus-visible{outline:2px solid var(--cyan)}
.hero-model-grab:focus:not(:focus-visible){outline:none}
.hero-model-grab.pointer-focus{outline:none}
.crew-stage canvas.pointer-focus{outline:none}
.hero-model-grab:hover svg,.hero-model-grab:focus-visible svg,.hero-model-grab.is-dragging svg{opacity:1}
.hero-model-grab.is-dragging{cursor:grabbing}
.hero-model-grab[hidden]{display:none}
.hero-copy{z-index:2}.hero-tools,.scroll-cue{z-index:3}
@media(max-width:700px){.crew-stage{height:560px}.crew-stage canvas{left:0;top:40px;width:100%;height:350px}.crew-caption{top:auto;bottom:76px}.crew-toolbar{top:auto;bottom:15px}.crew-toolbar .icon-button{width:42px;height:42px}.crew-reaction{top:10px}.hangar-lines:after{bottom:170px}.hero-model-grab svg{width:14px;height:14px}}
@media(prefers-reduced-motion:reduce){.crew-stage.model-arrival canvas{animation:none}}
