/* Peregrine Falcon Dive V5 — home only. Original eye camera is untouched. */
.falcon-page{overflow-x:clip;--flight-landing-blue:#12344e}
/* Clip transformed content at a real ancestor, not only the propagated root
   viewport overflow. Unlike hidden/auto, clip creates no scroll container and
   therefore preserves the original sticky eye and vertical compensation. */
.falcon-page > main{overflow-x:clip;overflow-y:visible}
.flight-runway{height:0;background:#020509;pointer-events:none}
.flight-ready .flight-runway{height:var(--flight-pre,0px);margin-top:calc(-1 * var(--flight-overlap,0px))}
.flight-pin-wrap{position:relative}
.flight-landing-marker{position:absolute;top:0;height:0;width:0;pointer-events:none}
.flight-pin-spacer{height:0;pointer-events:none}
.flight-ready .flight-landing-marker{top:var(--flight-pin,90svh)}
.flight-ready .flight-pin-spacer{height:var(--flight-pin,90svh)}
.flight-ready .flight-pin-wrap{background:var(--flight-landing-blue)}
.flight-pin-wrap + .offers{position:relative;background:var(--cream,#f1f0e9)}
.falcon-stage,.falcon-air{display:none;position:fixed;inset:0;overflow:hidden;pointer-events:none;contain:layout paint}
.flight-ready .falcon-stage.is-active,.flight-ready .falcon-air.is-active{display:block}
.falcon-stage{z-index:5;background:#020509}
.falcon-sky{position:absolute;inset:0;background:radial-gradient(ellipse at 74% 12%,#497c97 0,transparent 66%),linear-gradient(180deg,#122b40,#214c67 56%,#091e31)}
.falcon-horizon{position:absolute;inset:35% -30% -30%;background:radial-gradient(ellipse at center,#91b8c52e,transparent 65%);transform:rotate(-12deg)}
.falcon-far-cloud{position:absolute;width:75vw;max-width:none;left:45%;top:10%;opacity:.18}
.falcon-middle-cloud{position:absolute;width:100vw;max-width:none;left:-55%;top:64%;opacity:.3}
.falcon-mist{position:absolute;width:150vw;max-width:none;left:-25%;top:65%;opacity:.16}
.falcon-air{z-index:8}
.falcon-bird,.falcon-clouds,.falcon-wind{position:absolute;inset:0}
.falcon-bird{z-index:2;isolation:isolate}
.falcon-bird img{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;mix-blend-mode:plus-lighter;filter:drop-shadow(0 15px 15px #01081126)}
.falcon-clouds{z-index:3}
.falcon-clouds img{position:absolute;left:0;top:0;max-width:none}
.falcon-wind{z-index:1}
.falcon-streak{position:absolute;top:0;left:0;height:1px;background:linear-gradient(90deg,transparent,#fff 65%,#fff);transform-origin:center;opacity:.6}
.flight-ready #concepts{position:sticky;top:0;z-index:6;background:var(--flight-landing-blue)}
.flight-ready #concepts .project-stories-intro{background:var(--flight-landing-blue);color:#f1f0e9;padding-top:var(--flight-header-top,240px);min-height: min(72svh,650px);display:flex;flex-direction:column;justify-content:flex-start}
.flight-ready #concepts .ps-kicker{color:#bed3df}
.flight-ready #concepts .ps-intro-grid p{color:#d0dde5}
.flight-ready #concepts .pp-heading-accent{color:#b8dbea}
.flight-skip{position:absolute;z-index:10;bottom:24px;right:7%;font:10px 'DM Mono',monospace;letter-spacing:.08em;color:#c4d4df;padding:12px 0;border-bottom:1px solid #c4d4df55}
.flight-skip:focus-visible{outline:2px solid #fff;outline-offset:6px}
.flight-skip span{display:none}
.flight-scene-skip{position:fixed;bottom:25px;right:7%;z-index:90;display:none;font:10px 'DM Mono',monospace;letter-spacing:.07em;color:#e3ecf0;padding:12px 0;border-bottom:1px solid #e3ecf066;background:none}
.flight-scene-skip.is-active{display:block}
.flight-review{position:fixed;left:16px;bottom:16px;z-index:200;background:#071827ee;border:1px solid #8bb4ca70;padding:10px 14px;border-radius:5px;color:#eef5f7;font:11px 'DM Mono',monospace;width:min(350px,calc(100vw - 32px));box-shadow:0 6px 24px #0004}
.flight-review label{display:flex;justify-content:space-between;gap:12px}
.flight-review input{width:100%;accent-color:#aad9ed;margin:10px 0 5px;touch-action:pan-x}
.flight-review small{display:block;color:#bdcbd3;font-size:9px;line-height:1.5}
.flight-static .eye-scene{height:100svh!important}
.flight-static .eye-image{opacity:.65!important;visibility:visible!important;transform:none!important}
.flight-static .eye-black{opacity:0!important}
.flight-static .eye-flight{opacity:1!important}
.flight-static .eye-flight-glyph{transform:none!important;will-change:auto}
@media(max-width:750px){.flight-ready .flight-runway{height:var(--flight-pre,10svh)}.flight-ready #concepts .project-stories-intro{min-height:76svh}.flight-scene-skip{bottom:18px}.falcon-far-cloud{width:140vw;left:25%}.falcon-middle-cloud{width:170vw;left:-95%}.falcon-mist{width:230vw;left:-65%}}
@media(max-height:500px){.flight-ready #concepts .project-stories-intro{min-height:100svh}.flight-review{bottom:6px;padding:6px 12px}.flight-review small{display:none}}
@media(prefers-reduced-motion:reduce){.falcon-stage,.falcon-air,.flight-runway,.flight-pin-spacer,.flight-scene-skip{display:none!important}.flight-ready #concepts{position:relative;transform:none!important;visibility:visible!important;will-change:auto}.flight-ready #concepts .project-stories-intro{min-height:0}.flight-skip{display:none}}

.flight-pause{position:fixed;left:7%;bottom:25px;z-index:90;display:none;background:transparent;color:#e3ecf0;border:0;border-bottom:1px solid #e3ecf066;padding:12px 0;font:10px 'DM Mono',monospace;letter-spacing:.03em;cursor:pointer;min-height:44px}
.flight-pause.is-active{display:block}.flight-pause:focus-visible{outline:2px solid #fff;outline-offset:5px}
.flight-reviewing .flight-pause{bottom:112px}
@media(max-width:750px){.flight-pause{left:6%;bottom:18px;font-size:9px;max-width:48%;text-align:left}}
@media(prefers-reduced-motion:reduce){.flight-pause{display:none!important}.flight-ready #concepts .project-stories-intro{padding-top:45px}}

/* V5 copy: one stationary phrase, not an additional scroll scene. */
.falcon-page .eye-flight-line:first-child{font-size:clamp(25px,6.1vw,88px)}
.flight-copy{position:fixed;z-index:9;left:56%;top:var(--flight-copy-top,35vh);width:38%;margin:0;color:#f1f0e9;font:500 clamp(20px,4.4vw,64px)/1.12 Manrope,Arial,sans-serif;letter-spacing:-.045em;visibility:hidden;opacity:0;pointer-events:none;white-space:nowrap}
.flight-copy span{color:#b8dbea}.flight-copy.is-active{visibility:visible}
@media(max-width:749px) and (min-height:500px){.flight-copy{left:7%;width:86%;font-size:clamp(28px,8vw,42px)}}
@media(prefers-reduced-motion:reduce){.flight-copy{display:none!important}.falcon-page .eye-flight-line:first-child{font-size:clamp(22px,4.7vw,46px)}}

/* A single stationary sheet: relief follows the palette, never the bird.
   Both seams are completely flat; no texture is painted over the projects. */
.falcon-stage::after{content:"";position:absolute;inset:0;background:url('../flight/folded-paper.webp') center/cover no-repeat;mix-blend-mode:soft-light;opacity:calc(var(--paper-opacity,0) * .59);pointer-events:none}

/* The measured title zone occupies exactly the final painted bird height.
   Its lane intentionally overlaps the illustration; each physical text line
   is uncovered by that line's trailing silhouette edge, never by global fade. */
.flight-title-source{display:block;color:inherit}
.flight-ready #concepts .flight-title-zone{height:var(--flight-title-height);display:flex;flex-direction:column;justify-content:space-between}
.flight-ready #concepts .project-stories-intro{min-height:0;padding-bottom:32px}
.flight-ready #concepts .ps-kicker{padding-top:0;border:0;flex-shrink:0}
.flight-ready #concepts .ps-intro-grid{margin:0}
.flight-ready #concepts .ps-intro-grid p{padding-bottom:0}
.flight-ready #concepts .ps-index{margin-top:26px}
.flight-ready #concepts .flight-reveal-line{display:block;color:inherit;white-space:pre}
@media(max-width:750px){
 .flight-ready #concepts .ps-intro-grid p{margin-top:clamp(8px,3vw,16px)}
 .flight-ready #concepts .ps-index{margin-top:24px}
}
.falcon-page .ps-intro-grid h2 .flight-title-source:not(.pp-heading-accent){color:inherit}

/* Separate reading lanes: text follows native scroll, not the ambient loop. */
.flight-beat{position:fixed;z-index:9;margin:0;width:38%;font:500 clamp(28px,4.4vw,64px)/1.12 Manrope,Arial,sans-serif;letter-spacing:-.045em;color:#f1f0e9;visibility:hidden;opacity:0;pointer-events:none;text-shadow:0 2px 20px #07172566}
.flight-beat span{color:#b8dbea}.flight-beat.is-active{visibility:visible}
.flight-beat-left{font-size:clamp(28px,3.7vw,54px);width:60%}
@media(max-width:749px) and (min-height:500px){.flight-beat{width:86%;font-size:clamp(26px,7.8vw,40px)}.flight-beat-left{font-size:clamp(25px,7.2vw,36px)}}
@media(max-height:499px){.flight-beat{font-size:clamp(20px,3.3vw,28px)}.flight-beat-left{font-size:clamp(20px,3.3vw,28px)}}
@media(prefers-reduced-motion:reduce){.flight-beat{display:none!important}}
/* P2 has a separate approach lane beside the diving bird, including on phones. */
@media(max-width:749px) and (min-height:500px){.flight-beat-up{width:32%;font-size:clamp(23px,6vw,30px)}}
.falcon-stream-cloud{position:absolute;left:0;top:0;max-width:none;pointer-events:none}
