/* Accepted image-to-video motion; existing sharp typography and controls stay in HTML. */
.video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
#flight-world{display:block;filter:none;z-index:1;visibility:hidden}
.video-ready #flight-world{visibility:visible}.video-ready .video-poster{visibility:hidden}
#journey-video{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.world>.ambient-light,.world>.blue-wash,.world>.vignette,.world>.reticle,.world>.contact-shade{z-index:2}
.world>.reticle{z-index:4}
.media-status{position:absolute;bottom:100px;left:5.5%;margin:0;padding:8px 12px;background:#08234bdd;color:#edf5ff;font-size:12px;line-height:1.4;max-width:290px}
.media-status[hidden]{display:none}.reduce-motion .media-status,.reduce-motion #flight-world,.reduce-motion #journey-video,.reduce-motion .video-poster{display:none}
.reduce-motion .story-copy{background-image:linear-gradient(90deg,#082652cc,#072a6555),url('media/hero.webp');background-position:center;background-size:cover}
.reduce-motion .story-copy[data-step="2"]{background-image:linear-gradient(90deg,#082652cc,#072a6555),url('media/arches.webp')}
.reduce-motion .story-copy[data-step="3"]{background-image:linear-gradient(90deg,#082652dd,#072a6577),url('media/modern.webp')}
@media(max-width:700px){.media-status{left:7%;bottom:125px;font-size:11px;max-width:245px}.preview-version{font-size:9px}.frame-counter{font-size:10px}}

.media-fallback .video-poster{visibility:visible}.media-fallback #flight-world{display:none}

/* Same source/camera distance, shorter opening and no separate lead-in screen. */
.journey{height:551.2vh;height:551.2svh}
@media(max-width:700px){.journey{height:493.6svh}}
.contact-copy .finish-lead{font-family:Manrope,Arial,sans-serif;font-size:clamp(17px,1.65vw,25px);line-height:1.35;letter-spacing:0;font-weight:400;color:#dfedff;margin:0 0 15px;max-width:850px}
@media(max-width:700px){.contact-copy .finish-lead{font-size:16px;line-height:1.35;margin-bottom:13px}.contact-copy .finish-brand{margin-bottom:16px}.contact-copy .eyebrow{margin-bottom:12px}}
@media(max-width:700px) and (max-height:720px){.contact-copy{top:47%}.contact-copy .finish-brand{font-size:22px;margin-bottom:10px}.contact-copy .finish-brand svg{width:23px;height:25px}.contact-copy .eyebrow{margin-bottom:8px}.contact-copy .finish-lead{font-size:14px;margin-bottom:10px}.contact-copy h2{font-size:36px;margin-bottom:17px}.contact-copy .blueprint-button{min-height:73px;padding:12px 16px}.contact-copy .finish-actions{gap:11px}}
@media(max-height:500px){.contact-copy .finish-lead{font-size:15px;margin-bottom:9px}.contact-copy h2{margin-bottom:15px}}

/* Independent full-film loading/cancel control; no effect on normal scrolling. */
.flight-status{position:absolute;z-index:10;left:50%;bottom:100px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:10px 12px;background:#08234beF;color:#edf5ff;font:12px/1.4 Manrope,Arial,sans-serif;max-width:calc(100% - 32px);width:max-content;border:1px solid #ffffff35;border-radius:6px}
.flight-status[hidden]{display:none}.flight-status button{font:inherit;color:inherit;cursor:pointer;background:transparent;border:1px solid #ffffff85;border-radius:3px;padding:7px 10px;flex-shrink:0}.flight-status button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:700px){.flight-status{bottom:116px;font-size:11px;gap:8px}}



/* Three approved phrases retain the existing story interval. */
@media(min-width:701px){.story-copy.idea-copy{right:39%}}

/* Compact, ordinary first/final sections when motion is disabled. */
html.reduced-page{scroll-behavior:auto}
.reduce-motion .journey{height:auto}
.reduce-motion .stage{position:static;height:auto;min-height:0;overflow:visible}
.reduce-motion .world,.reduce-motion .progress,.reduce-motion .journey-target,.reduce-motion .flight-status{display:none!important}
.reduce-motion .story-copy{position:relative!important;inset:auto!important;transform:none!important;min-height:0;margin:0;max-width:none;padding:clamp(56px,7vw,100px) 9%;background-position:center;background-size:cover}
.reduce-motion .story-copy[hidden],.reduce-motion .story-copy[data-step="1"],.reduce-motion .story-copy[data-step="2"]{display:none!important}
.reduce-motion .hero-copy{padding-top:clamp(136px,18vh,190px)}
.reduce-motion .contact-copy{padding-bottom:clamp(56px,7vw,100px)}
.reduce-motion .stage-bottom{position:relative;inset:auto;display:flex;justify-content:flex-start;margin:0;padding:18px 9%;background:#082652}
.reduce-motion .stage-bottom .scroll-note{display:none}
@media(max-width:700px){.reduce-motion .story-copy{padding-left:8%;padding-right:8%}.reduce-motion .hero-copy{padding-top:136px}.reduce-motion .stage-bottom{padding-left:8%;padding-right:8%}}

/* Two requested secondary actions, below the existing demo controls. */
.finish-secondary-actions{display:grid;grid-template-columns:minmax(0,310fr) minmax(0,290fr);gap:18px;width:100%;max-width:618px;margin-top:14px}
.secondary-action{display:flex;align-items:center;justify-content:center;min-width:0;min-height:46px;padding:11px 16px;border:1px solid #cfe5ff80;border-radius:0;background:#0c3eac33;color:#fff;font:400 14px/1.35 Manrope,Arial,sans-serif;text-align:center;overflow-wrap:anywhere}
.secondary-action:hover{background:#e1f0ff22;border-color:#f2faff}
.secondary-action:focus-visible{outline:2px solid #fff;outline-offset:4px}
.info-dialog{width:min(92vw,520px);max-height:calc(100svh - 32px);overflow-y:auto;background:#f7faff;color:#193466}
.info-dialog-top{display:flex;align-items:flex-start;gap:16px;padding:24px 26px 0}
.info-dialog-top h2{font:400 24px/1.3 Manrope,Arial,sans-serif;letter-spacing:-.45px;margin:0;overflow-wrap:anywhere}
.info-dialog-top .close{flex-shrink:0;min-width:44px;min-height:44px;margin-top:-6px}
.info-dialog .close:focus-visible{outline:2px solid #164fcb;outline-offset:3px}
.info-dialog-body{padding:20px 26px 26px}
.info-dialog-body p{font:400 15px/1.6 Manrope,Arial,sans-serif;margin:0 0 14px;color:#526b90}
.info-dialog-body p:last-child{margin-bottom:0}
.contact-channels{list-style:none;padding:0;margin:20px 0 0;border-top:1px solid #dce6f3}
.contact-channels li{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px 16px;padding:14px 0;border-bottom:1px solid #dce6f3;font:400 15px/1.5 Manrope,Arial,sans-serif}
.channel-status{font-size:13px;color:#526b90}
@media(max-width:1050px){.finish-secondary-actions{grid-template-columns:minmax(0,290fr) minmax(0,270fr);gap:14px;max-width:574px}}
@media(max-width:700px){.finish-secondary-actions{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;max-width:380px;margin-top:12px}.secondary-action{min-height:44px;padding:11px 8px;font-size:13px}.info-dialog-top{padding:20px 18px 0;gap:12px}.info-dialog-top h2{font-size:21px}.info-dialog-body{padding:18px}.contact-channels li{font-size:14px}}
@media(max-width:340px){.secondary-action{font-size:12.5px}}
@media(max-height:500px){body:not(.reduce-motion) .contact-copy .finish-brand{display:none}body:not(.reduce-motion) .contact-copy h2{font-size:clamp(30px,8vh,40px);margin-bottom:14px}body:not(.reduce-motion) .contact-copy .blueprint-button{min-height:60px;padding-top:10px;padding-bottom:10px}.finish-secondary-actions{margin-top:10px}.info-dialog-top{padding-top:18px}.info-dialog-body{padding-top:14px;padding-bottom:18px}}
@media(max-width:700px) and (max-height:500px){.finish-secondary-actions{max-width:600px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-height:360px){body:not(.reduce-motion) .contact-copy{top:40%}}

.contact-email{display:inline-flex;align-items:center;min-height:44px;color:#164fcb;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.contact-email:focus-visible{outline:2px solid #164fcb;outline-offset:3px}

/* v28: the five requested calls to action share one bracketed button system. */
:root{--action-card-height:64px;--action-card-font:15px}
.contact-copy .finish-actions.final-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:var(--action-card-height);gap:12px;width:100%;max-width:618px;margin:0}
.hero-copy .hero-interface.action-card,.contact-copy .final-action-grid .action-card{position:relative;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:0;height:var(--action-card-height);min-height:var(--action-card-height);padding:10px 14px;border:1px solid #d5e7ff99;border-radius:0;background:#082c5bcf;color:#fff;box-shadow:none;backdrop-filter:blur(9px);font:500 var(--action-card-font)/1.25 Manrope,Arial,sans-serif;letter-spacing:0;text-align:center;text-decoration:none;isolation:isolate;overflow:visible;transition:background .18s ease,border-color .18s ease}
.hero-copy .hero-interface.action-card{width:max-content;min-width:182px;padding-left:22px;padding-right:22px}
.action-card .control-label{display:block;width:100%;min-width:0;font:inherit;letter-spacing:inherit;text-align:center;white-space:normal;overflow-wrap:anywhere;hyphens:auto}
.action-card .corner{position:absolute;width:9px;height:9px;border-color:currentColor;pointer-events:none}
.hero-copy .hero-interface.action-card:hover,.contact-copy .final-action-grid .action-card:hover{background:#123f75eb;color:#fff;border-color:#f2faff}
.hero-copy .hero-interface.action-card:focus-visible,.contact-copy .final-action-grid .action-card:focus-visible{outline:3px solid #fff;outline-offset:4px}
.contact-copy .final-action-grid .action-card.action-card-primary{background:#edf5ff;color:#123568;border-color:#f7fbff}
.contact-copy .final-action-grid .action-card.action-card-primary:hover{background:#fff;color:#123568;border-color:#fff}
.contact-copy .final-action-grid .action-card.action-card-primary:focus-visible{box-shadow:0 0 0 2px #123568}
.reduce-motion .action-card{transition:none!important}
@media(max-width:700px){:root{--action-card-font:14px}.contact-copy .finish-actions.final-action-grid{gap:10px;max-width:380px}.hero-copy .hero-interface.action-card,.contact-copy .final-action-grid .action-card{padding-left:10px;padding-right:10px}}
@media(max-width:360px){.contact-copy .finish-actions.final-action-grid{gap:8px}.hero-copy .hero-interface.action-card,.contact-copy .final-action-grid .action-card{padding-left:8px;padding-right:8px}}
@media(max-height:500px){:root{--action-card-height:56px;--action-card-font:14px}.hero-copy .hero-interface.action-card,.contact-copy .final-action-grid .action-card{padding-top:7px;padding-bottom:7px}.contact-copy .finish-actions.final-action-grid{gap:10px}}
@media(min-width:701px) and (max-height:500px){body:not(.reduce-motion) .contact-copy{top:48%}}
@media(max-height:360px){:root{--action-card-height:48px;--action-card-font:13px}.hero-copy .hero-interface.action-card,.contact-copy .final-action-grid .action-card{padding-top:6px;padding-bottom:6px}.contact-copy .finish-actions.final-action-grid{gap:8px}body:not(.reduce-motion) .contact-copy{top:38%}}

/* v29: transparent controls and a complete still in reduced-motion flow. */
.hero-copy .hero-interface.action-card,.hero-copy .hero-interface.action-card:hover,.contact-copy .final-action-grid .action-card,.contact-copy .final-action-grid .action-card:hover,.contact-copy .final-action-grid .action-card.action-card-primary,.contact-copy .final-action-grid .action-card.action-card-primary:hover{background:transparent;color:#fff;backdrop-filter:none;box-shadow:none}
.contact-copy .final-action-grid .action-card.action-card-primary{border-color:#edf5ffc9}
.contact-copy .final-action-grid .action-card.action-card-primary:hover{border-color:#fff}
.contact-copy .final-action-grid .action-card.action-card-primary:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:none}
.contact-copy .final-action-grid .action-card.action-card-primary::after{display:none;content:"";position:absolute;inset:-1px;pointer-events:none;padding:1px;background:linear-gradient(110deg,transparent 36%,#ffffff20 44%,#ffffffcc 50%,#ffffff20 56%,transparent 64%) -160% 0/300% 100% no-repeat;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:registration-outline-light 8s linear infinite}
@supports ((mask-composite:exclude) or (-webkit-mask-composite:xor)){.contact-copy .final-action-grid .action-card.action-card-primary::after{display:block}}
@keyframes registration-outline-light{0%,25%{background-position:160% 0}75%,100%{background-position:-160% 0}}
.reduce-motion .action-card-primary::after{display:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){.action-card-primary::after{display:none!important;animation:none!important}}
.reduced-final-still{display:none}
.reduce-motion .story-copy.contact-copy{padding:0;background:#082652;background-image:none}
.reduce-motion .contact-copy::before{display:none}
.reduce-motion .reduced-final-still{display:block;width:100%;max-width:none;height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center;margin:0}
.reduce-motion .contact-copy .finish-content{padding:clamp(32px,5vw,64px) 9% clamp(56px,7vw,100px)}
@media(max-width:700px){.reduce-motion .contact-copy .finish-content{padding-left:8%;padding-right:8%}}

/* v30: compact plain opening control, complete-height reduced final overlay. */
.hero-copy .hero-interface.action-card{width:150px;min-width:0;height:50px;min-height:50px;padding:10px 15px;font-size:14px;font-weight:400}
.reduce-motion .hero-copy .hero-interface{display:none!important}
@media(prefers-reduced-motion:reduce){.hero-copy .hero-interface{display:none!important}}
.reduce-motion .story-copy.contact-copy{position:relative!important;display:grid!important;aspect-ratio:16/9;min-height:min-content;overflow:hidden;isolation:isolate;background:#082652}
.reduce-motion .contact-copy .reduced-final-still{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:72% center;z-index:0}
.reduce-motion .contact-copy::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#05234ed9 0%,#05234e9c 48%,#05234e20 100%)}
.reduce-motion .contact-copy .finish-content{position:relative;z-index:2;align-self:center;padding:clamp(32px,5vw,64px) 9%}
.contact-copy .final-action-grid .action-card.action-card-primary{border-color:#fff;box-shadow:inset 0 0 0 1px #ffffff45}
.contact-copy .final-action-grid .action-card.action-card-primary:hover{border-color:#fff;box-shadow:inset 0 0 0 1px #ffffffa0}
.contact-copy .final-action-grid .action-card.action-card-primary::after{padding:2px;background-image:linear-gradient(110deg,transparent 28%,#ffffff55 39%,#fff 50%,#ffffff55 61%,transparent 72%);animation-duration:3.2s}
@keyframes registration-outline-light{0%{background-position:160% 0}100%{background-position:-160% 0}}
.reduce-motion .contact-copy .final-action-grid .action-card.action-card-primary{border-color:#fff;box-shadow:inset 0 0 0 1px #ffffff90}
@media(prefers-reduced-motion:reduce){.contact-copy .final-action-grid .action-card.action-card-primary{border-color:#fff;box-shadow:inset 0 0 0 1px #ffffff90}}
@media(max-width:700px){.reduce-motion .story-copy.contact-copy{aspect-ratio:4/3}.reduce-motion .contact-copy .finish-content{padding:24px 8%}.reduce-motion .contact-copy .finish-brand{font-size:22px;margin-bottom:10px}.reduce-motion .contact-copy .finish-brand svg{width:23px;height:25px}.reduce-motion .contact-copy .finish-lead{font-size:14px;line-height:1.35;margin-bottom:10px}.reduce-motion .contact-copy h2{font-size:clamp(28px,6vw,40px);line-height:1.08;margin-bottom:18px}.reduce-motion .contact-copy .final-action-grid{--action-card-height:56px;--action-card-font:14px;gap:8px}.reduce-motion .contact-copy .final-action-grid .action-card{padding-top:7px;padding-bottom:7px}}
@media(max-width:480px){.reduce-motion .contact-copy .finish-content{padding-top:20px;padding-bottom:20px}.reduce-motion .contact-copy .finish-brand{font-size:20px;margin-bottom:8px}.reduce-motion .contact-copy .finish-lead{font-size:13px;margin-bottom:10px}.reduce-motion .contact-copy h2{font-size:28px;margin-bottom:16px}.reduce-motion .contact-copy .final-action-grid{--action-card-height:48px;--action-card-font:13px}.reduce-motion .contact-copy .final-action-grid .action-card{padding-top:6px;padding-bottom:6px}}

.reduce-motion .contact-copy .finish-brand{display:inline-flex}
