@font-face{font-family:Rubik;src:url('assets/Rubik.ttf') format('truetype');font-weight:100 900;font-display:swap}@font-face{font-family:Instrument;src:url('assets/InstrumentSans-Regular.ttf') format('truetype');font-display:swap}:root{--navy:#243B53;--paper:#FAF7F2;--terra:#BC654B}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-family:Rubik,Arial,sans-serif;color:var(--navy)}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;min-height:42px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--terra);outline-offset:4px}a{color:inherit;text-underline-offset:4px}.scroll-flight #flight-journey{height:450svh}#flight-stage{height:100svh;min-height:560px;position:relative;overflow:hidden;background:#e6e2d8}.scroll-flight #flight-stage{position:sticky;top:0}#flight-map{position:absolute;inset:0}.nav{position:absolute;top:24px;right:50%;transform:translateX(50%);width:min(820px,calc(100% - 36px));height:70px;background:var(--paper);border-radius:50px;padding:10px 22px;display:flex;align-items:center;gap:25px;z-index:3}.nav img{width:76px;height:48px;object-fit:contain}.nav span{font:12px Instrument,Arial,sans-serif;letter-spacing:.07em}.nav a{font-size:12px;margin-inline-start:auto;text-decoration:none}.flight-title{position:absolute;top:135px;right:4%;background:var(--paper);padding:20px 26px;z-index:2;border-radius:4px;pointer-events:none}.flight-title p{font-size:12px;margin:0 0 12px;color:#93513d}.flight-title h1{font-size:clamp(34px,3vw,54px);letter-spacing:-.05em;line-height:1.13;font-weight:550;margin:0}.draft{position:absolute;left:4%;top:123px;background:var(--navy);color:var(--paper);font-size:10px;padding:9px 14px;border-radius:30px;z-index:2;pointer-events:none}.controls{position:absolute;bottom:55px;right:3%;left:3%;display:flex;align-items:center;gap:18px;border-radius:50px;background:var(--paper);padding:11px 21px;z-index:3}.controls button{font-size:13px;white-space:nowrap}#flight-play{background:var(--navy);color:var(--paper);border-radius:30px;padding:8px 22px;min-width:105px}#flight-range{flex:1;min-width:50px;accent-color:var(--navy);cursor:pointer}#flight-time{font:11px Instrument,Arial,sans-serif;white-space:nowrap}#flight-scroll{font-size:11px;background:#eae3da;border-radius:30px;padding:8px 15px}#map-status{position:absolute;bottom:135px;right:4%;font-size:12px;padding:9px 14px;border-radius:5px;background:var(--paper);z-index:3}#map-status[hidden]{display:none}.location-label{font-family:Rubik,Arial,sans-serif;background:var(--navy);color:var(--paper);border:2px solid var(--paper);border-radius:30px;padding:8px 13px;white-space:nowrap;font-size:12px;box-shadow:0 3px 14px #243b5340}.location-label.yara{background:var(--terra)}.location-label:after{content:'';position:absolute;bottom:-8px;left:calc(50% - 5px);border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid var(--navy)}.location-label.yara:after{border-top-color:var(--terra)}footer{padding:50px 25px;text-align:center}footer>p{font-size:24px;font-weight:500;letter-spacing:-.025em;margin:0 0 20px}footer small{display:block;max-width:720px;font-size:12px;line-height:1.9;margin:auto;color:#536477}footer .sources{font-size:11px;margin:22px 0 0;font-weight:400}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}button:disabled{opacity:.45;cursor:default}.maplibregl-ctrl-bottom-right{max-width:calc(100% - 10px)}.maplibregl-ctrl-attrib{font-size:10px!important}@media(max-width:700px){.nav{top:16px;height:62px;padding:10px 16px;gap:14px}.nav img{width:57px;height:42px}.nav span{font-size:9px;max-width:74px}.nav a{font-size:10px}.flight-title{top:95px;right:16px;padding:16px 20px}.flight-title h1{font-size:32px}.draft{top:auto;bottom:190px;left:16px;right:16px;text-align:center;font-size:9px;padding:8px 10px}.controls{bottom:52px;right:16px;left:16px;flex-wrap:wrap;gap:10px;padding:12px 16px;border-radius:20px}.controls button{font-size:11px}#flight-play{min-width:95px;padding:7px 15px}#flight-range{order:5;flex-basis:100%}#flight-time{margin-inline-start:auto;font-size:10px}#flight-scroll{font-size:10px;padding:6px 11px}#map-status{bottom:229px;right:16px;left:16px;font-size:10px}.location-label{font-size:10px;padding:7px 10px}footer>p{font-size:21px}.maplibregl-ctrl-attrib{font-size:9px!important}}

html,body,#flight-journey,#flight-stage{overflow-anchor:none}

/* Phone-first flight: keep the route visible, with a single compact control row. */
@media(max-width:700px){
 .scroll-flight #flight-journey{height:340svh}
 #flight-stage{min-height:0;height:100svh}
 .flight-title{top:92px;right:16px;left:16px;width:max-content;max-width:calc(100% - 32px);padding:12px 16px;border-radius:12px}
 .flight-title h1{font-size:29px;line-height:1.2;transition:opacity .2s}
 .flight-title h1 br{display:none}
 .flight-title p{font-size:11px;margin-bottom:7px}
 .flight-underway .flight-title h1{display:none}
 .flight-underway .flight-title p{margin-bottom:0}
 .draft{top:181px;bottom:auto;right:16px;left:auto;max-width:calc(100% - 32px);margin:0;padding:5px 9px;font-size:9px;line-height:1.5;border-radius:6px;background:var(--paper);color:var(--navy)}
 .flight-underway .draft{top:140px}
 .controls{bottom:calc(35px + env(safe-area-inset-bottom,0px));right:12px;left:12px;flex-wrap:nowrap;gap:10px;padding:6px 9px;border-radius:32px;min-height:56px}
 #flight-play{min-width:72px;min-height:44px;padding:6px 10px;font-size:11px}
 #flight-replay,#flight-time{display:none}
 #flight-range{order:0;flex:1 1 60px;min-width:40px;max-width:100%;height:44px;margin:0}
 #flight-scroll{min-height:44px;padding:6px 9px;font-size:10px}
 #map-status{bottom:108px;right:16px;left:16px;line-height:1.6}
 .location-label{font-size:11px;padding:7px 10px}
 .maplibregl-ctrl-attrib{font-size:8px!important;line-height:16px!important}
}
@media(max-width:700px) and (max-height:520px){
 .flight-title{top:78px;padding:7px 12px}.flight-title h1{font-size:23px}
 .draft{top:150px}.flight-underway .draft{top:120px}
}

/* Source rendering is the final frame of the scroll timeline, not a separate scene below it. */
#flight-arrival{position:absolute;inset:0;z-index:1;margin:0;overflow:hidden;opacity:var(--arrival-opacity,0);pointer-events:none;background:var(--paper)}
#flight-arrival img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 65%;transform:scale(var(--arrival-scale,1));transform-origin:50% 65%}
#flight-arrival figcaption{position:absolute;right:4%;bottom:145px;margin:0;padding:9px 14px;border-radius:24px;background:var(--navy);color:var(--paper);font-size:11px;line-height:1.5}
.flight-arriving .flight-title,.flight-arriving .draft{opacity:calc(1 - var(--arrival-opacity,0))}
.flight-arrived .flight-title,.flight-arrived .draft{visibility:hidden}
.flight-arrived .skip-flight{visibility:hidden;pointer-events:none}
@media(max-width:700px){
 #flight-arrival img{object-position:45% 50%;transform-origin:45% 50%}
 #flight-arrival figcaption{right:16px;bottom:calc(105px + env(safe-area-inset-bottom,0px));font-size:10px;padding:8px 12px;max-width:calc(100% - 32px)}
}
@media(prefers-reduced-motion:reduce){#flight-arrival img{transform:none}}

.flight-arrived #flight-map{visibility:hidden;opacity:0;pointer-events:none}
