/* Flywell — site styles. Tokens from the Flywell brand kit (flywell-brand-tokens.css). */
@font-face{font-family:'Josefin Slab';src:url(fonts/josefin-slab-latin-700-normal.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Josefin Slab';src:url(fonts/josefin-slab-latin-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Josefin Slab';src:url(fonts/josefin-slab-latin-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Jost';src:url(fonts/jost-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Jost';src:url(fonts/jost-latin-500-normal.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Jost';src:url(fonts/jost-latin-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}

:root{
  --navy:#0E1A3F; --navy-700:#1B2A5C; --navy-300:#4A5270;
  --gold:#B39550; --gold-dark:#8A6A2C; --gold-lt:#DCC67A;
  --ivory:#F6F4EF; --sand:#E4E0D6; --paper:#FFFFFF;
  --on-dark:#C9CDE0; --on-dark-muted:#A3A8C2;
  --serif:'Josefin Slab',Georgia,'Times New Roman',serif;
  --sans:'Jost',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --wrap:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(76px + env(safe-area-inset-top,0px))}
body{font-family:var(--sans);color:var(--navy-700);background:var(--paper);line-height:1.65;font-size:17px;
  padding-bottom:env(safe-area-inset-bottom,0px);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:12px;top:-60px;background:var(--navy);color:#fff;padding:10px 16px;border-radius:8px;z-index:100;text-decoration:none}
.skip:focus{top:12px}
.wrap{width:min(var(--wrap),100% - 40px);margin-inline:auto}
h1,h2,h3{font-family:var(--serif);color:var(--navy);line-height:1.12;font-weight:600}
h2{font-size:clamp(32px,4.4vw,48px);letter-spacing:-.005em}
h3{font-size:23px}
p{max-width:62ch}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding-top:env(safe-area-inset-top,0px)}
header.scrolled{box-shadow:0 1px 0 rgba(14,26,63,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}
.brand img{height:64px;width:auto}
.links{display:flex;gap:30px;list-style:none;align-items:center}
.links a{text-decoration:none;font-weight:500;font-size:16px;color:var(--navy)}
.links a:hover{color:var(--gold-dark)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;font-weight:600;
  font-size:16px;text-decoration:none;border:0;cursor:pointer;font-family:var(--sans);transition:transform .2s}
.btn:active{transform:scale(.97)}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold-lt)}
.btn-line{border:1.5px solid var(--navy);color:var(--navy);background:transparent}
.btn-line:hover{background:var(--navy);color:#fff}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.menu-btn span{display:block;width:24px;height:2px;background:var(--navy);margin:5px auto}

/* hero — text is visible at once, with or without JS; only the plane moves */
.hero{position:relative;overflow:hidden;padding:56px 0 40px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(50px,7.6vw,96px);letter-spacing:-.01em;font-weight:700;line-height:1.02}
.hero h1 span{display:block}
.hero h1 .l2{font-style:italic;font-weight:400;color:var(--gold-dark)}
.hero .lead{font-size:19px;color:var(--navy-300);margin:22px 0 32px;max-width:46ch}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.sky{position:relative;aspect-ratio:1/1;width:100%;max-width:540px;justify-self:end}
.sky svg{width:100%;height:100%;overflow:visible}
.arc{fill:none;stroke:url(#goldGrad);stroke-width:2.2;stroke-linecap:round}
.trail{fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-dasharray:4 10;opacity:.55}
.chips{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:38px;color:var(--navy-300);font-size:15px;font-weight:500;list-style:none}
.chips li{display:inline-flex;align-items:center;gap:8px}
.chips li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}

/* destinations ribbon */
.ribbon{background:var(--navy);color:#fff;overflow:hidden;padding:18px 0;white-space:nowrap}
.ribbon .track{display:inline-flex;gap:46px;animation:slide 38s linear infinite;font-family:var(--serif);font-size:23px;font-style:italic}
.ribbon .track span::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold-lt);margin-left:46px;vertical-align:middle}
@keyframes slide{to{transform:translateX(-50%)}}

/* sections */
section{padding:100px 0}
.head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:54px}
.head p{color:var(--navy-300)}
.svc{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--sand)}
.svc article{padding:34px 28px 38px 0;border-bottom:1px solid var(--sand)}
.svc article:not(:nth-child(3n)){border-right:1px solid var(--sand)}
.svc article:not(:nth-child(3n+1)){padding-left:28px}
.svc svg,.why li svg{fill:none;stroke-linecap:round;stroke-linejoin:round}
.svc svg{width:38px;height:38px;stroke:var(--gold-dark);stroke-width:1.6;margin-bottom:18px}
.svc h3{margin-bottom:10px}
.svc p{color:var(--navy-300);font-size:16.5px}

/* transport */
.transport{background:var(--navy);color:var(--on-dark);position:relative;overflow:hidden}
.transport h2,.transport h3{color:#fff}
.transport .head p{color:var(--on-dark-muted)}
.t-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.map{position:sticky;top:110px;background:linear-gradient(160deg,var(--navy-700),var(--navy));border:1px solid rgba(220,198,122,.2);border-radius:22px;padding:22px}
.map svg{width:100%;height:auto}
.route{fill:none;stroke:var(--gold-lt);stroke-width:2.4;stroke-linecap:round}
.js .map .route{opacity:0}
.js .map.on .route{opacity:1;transition:opacity 1.2s ease}
.js .map.on .route.r2{transition-delay:.4s}.js .map.on .route.r3{transition-delay:.8s}
.city{fill:#fff}.city.hub{fill:var(--gold-lt)}
.map text{fill:var(--on-dark);font:500 13px var(--sans)}
.map text.hubt{fill:#fff;font:600 17px var(--serif)}
.map text.cw{font-size:11px;fill:var(--on-dark-muted)}
.pulse{fill:none;stroke:var(--gold-lt);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:pulse 2.4s ease-out infinite}
@keyframes pulse{from{transform:scale(1);opacity:.9}to{transform:scale(3.2);opacity:0}}
.t-list{list-style:none;display:grid;gap:4px}
.t-list li{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.t-list h3{font-size:21px;margin-bottom:6px}
.t-list p{font-size:16px;color:var(--on-dark-muted)}
.fleet{margin-top:26px;font-size:16px;color:var(--on-dark-muted)}
.fleet b{color:var(--gold-lt);font-weight:500}

/* why */
.why{background:var(--ivory)}
.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.why ul{list-style:none;display:grid;gap:26px}
.why li{display:grid;grid-template-columns:44px 1fr;gap:16px}
.why li svg{width:44px;height:44px;padding:10px;border-radius:50%;background:#fff;stroke:var(--gold-dark);stroke-width:1.8}
.why h3{font-size:21px;margin-bottom:4px}
.why li p{color:var(--navy-300);font-size:16.5px}
.quote{font-family:var(--serif);font-size:clamp(26px,3.2vw,34px);line-height:1.25;color:var(--navy);font-style:italic;margin-top:26px;max-width:22ch}

/* corporate */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:s;margin-top:10px;padding:0}
.steps li{list-style:none;position:relative;padding-top:58px}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;top:0;left:0;width:42px;height:42px;border-radius:50%;
  border:1.5px solid var(--gold);color:var(--gold-dark);display:grid;place-items:center;font:700 19px var(--serif)}
.steps li:not(:last-child)::after{content:"";position:absolute;top:21px;left:54px;right:-16px;border-top:1.5px dashed var(--gold)}
.steps h3{font-size:20px;margin-bottom:6px}
.steps p{color:var(--navy-300);font-size:16px}
.corp-perks{display:flex;flex-wrap:wrap;gap:10px;margin:40px 0 34px;list-style:none}
.corp-perks li{border:1px solid var(--sand);border-radius:999px;padding:9px 16px;font-size:15px;font-weight:500;color:var(--navy)}

/* about */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about .logo-big{background:var(--ivory);border-radius:28px;padding:48px;display:grid;place-items:center}
.about .logo-big img{width:min(320px,100%)}
.about p+p{margin-top:16px}
.about .mission{margin-top:26px;padding-left:20px;border-left:3px solid var(--gold);font-family:var(--serif);font-size:22px;line-height:1.4;color:var(--navy);font-style:italic}

/* contact */
.contact{background:var(--navy-700);color:var(--on-dark)}
.contact h2{color:#fff}
.c-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px}
.c-list{list-style:none;margin-top:30px;display:grid;gap:20px}
.c-list li{display:grid;grid-template-columns:22px 1fr;gap:14px}
.c-list svg{width:22px;height:22px;stroke:var(--gold-lt);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-top:3px}
.c-list b{display:block;color:#fff;font-weight:600}
.c-list a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(220,198,122,.55)}
form{background:#fff;border-radius:22px;padding:30px;color:var(--navy-700);display:grid;gap:16px;grid-template-columns:1fr 1fr}
form .full{grid-column:1/-1}
label{font-size:14.5px;font-weight:600;color:var(--navy);display:grid;gap:6px}
input,select,textarea{font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid var(--sand);border-radius:12px;background:#fff;color:var(--navy-700);width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:none}
textarea{min-height:110px;resize:vertical}
.form-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.form-note{font-size:14px;color:var(--navy-300)}
.form-note.err{color:#B4432F}

/* footer */
footer{background:var(--navy);color:var(--on-dark-muted);padding:56px 0 30px;font-size:15px}
.f-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;align-items:start}
footer .f-logo{width:180px}
footer h2{color:#fff;font:600 18px var(--serif);margin-bottom:12px}
footer ul{list-style:none;display:grid;gap:6px}
footer a{text-decoration:none}footer a:hover{color:var(--gold-lt)}
.f-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

.wa{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;width:58px;height:58px;border-radius:50%;
  background:#25D366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.wa svg{width:30px;height:30px;fill:#fff}

/* 404 */
.nf{min-height:70vh;display:grid;align-content:center;gap:22px;padding:80px 0}
.nf h1{font-size:clamp(40px,6vw,72px)}
.nf p{color:var(--navy-300);font-size:19px}

/* responsive */
@media (max-width:960px){
  .hero-grid,.t-grid,.why-grid,.about-grid,.c-grid,.head{grid-template-columns:1fr}
  .sky{justify-self:center;max-width:380px;margin:10px auto -60px}
  .map{position:static}
  .svc{grid-template-columns:1fr 1fr}
  .svc article,.svc article:nth-child(n){padding:28px 20px 30px 0;border-right:0}
  .svc article:nth-child(odd){border-right:1px solid var(--sand)}
  .svc article:nth-child(even){padding-left:20px}
  .steps{grid-template-columns:1fr 1fr;row-gap:36px}
  .steps li::after{display:none}
  .f-grid{grid-template-columns:1fr 1fr}
  .about .logo-big{order:-1}
}
@media (max-width:760px){
  .links{position:fixed;inset:calc(76px + env(safe-area-inset-top,0px)) 0 auto 0;background:#fff;flex-direction:column;align-items:flex-start;
    padding:10px 24px 26px;gap:4px;box-shadow:0 20px 30px rgba(14,26,63,.08);transform:translateY(-12px);opacity:0;pointer-events:none;transition:transform .25s,opacity .25s}
  .links.open{transform:none;opacity:1;pointer-events:auto}
  .links a{display:block;padding:12px 0;font-size:18px}
  .links li{width:100%}
  .no-js .links{position:static;flex-direction:row;flex-wrap:wrap;transform:none;opacity:1;pointer-events:auto;box-shadow:none;padding:0;gap:4px 16px;inset:auto}
  .no-js .links li{width:auto}
  .no-js .nav{height:auto;flex-wrap:wrap;padding:10px 0}
  .menu-btn{display:block}
  .no-js .menu-btn{display:none}
  .nav-cta{display:none}
  section{padding:72px 0}
  .svc{grid-template-columns:1fr}
  .svc article,.svc article:nth-child(n){border-right:0;padding:26px 0}
  .steps{grid-template-columns:1fr}
  form{grid-template-columns:1fr;padding:22px}
  .f-grid{grid-template-columns:1fr}
  .brand img{height:46px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .map .route{opacity:1}
  #plane{display:none}
}

/* ============ multi-page + motion layer (13 Oct) ============ */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* page-to-page transition (browsers without support simply navigate) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .28s ease both}
::view-transition-new(root){animation:vt-in .42s cubic-bezier(.2,.7,.2,1) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-10px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(18px)}}
header{view-transition-name:site-header}

/* nav dropdowns */
.links li{position:relative}
.has-sub>a::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.sub{list-style:none;position:absolute;top:calc(100% + 14px);left:-18px;min-width:240px;background:#fff;border-radius:16px;padding:10px;
  box-shadow:0 18px 40px rgba(14,26,63,.12);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s,transform .2s}
.sub a{display:block;padding:10px 12px;border-radius:10px;font-size:15.5px}
.sub a:hover{background:var(--ivory)}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;transform:none;pointer-events:auto}
.has-sub::before{content:"";position:absolute;left:0;right:0;top:100%;height:16px}

/* buttons + links feel */
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:scale(.97)}
.more{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-weight:600;font-size:15px;color:var(--gold-dark);text-decoration:none}
.more::after{content:"";width:18px;height:1.5px;background:currentColor;transform-origin:left;transition:transform .25s}
.more:hover::after{transform:scaleX(1.6)}
.transport .more{color:var(--gold-lt)}

/* WhatsApp float: soft ring */
.wa::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;animation:ring 2.8s ease-out infinite}
@keyframes ring{from{transform:scale(1);opacity:.7}to{transform:scale(1.7);opacity:0}}

/* scroll reveals — only when JS runs; content is visible without JS */
.js [data-reveal=""]{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js [data-reveal="stagger"]>*,.js [data-reveal="steps"]>*{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 90ms)}
.js [data-reveal=""].in,.js [data-reveal="stagger"].in>*,.js [data-reveal="steps"].in>*{opacity:1;transform:none}
.js [data-reveal="steps"]>li::after{transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.6,.1,.2,1);transition-delay:calc(var(--i,0) * 180ms + .3s)}
.js [data-reveal="steps"].in>li::after{transform:scaleX(1)}

/* service icons come alive on hover */
.svc svg{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.svc article:hover svg{transform:translateY(-5px) rotate(-8deg) scale(1.08)}

/* hero clouds + parallax */
.cloud{fill:#ECE8DE}
.clouds .c2{fill:#fff}
.clouds .c1{animation:drift 26s ease-in-out infinite alternate}
.clouds .c2{animation:drift 32s ease-in-out infinite alternate-reverse}
@keyframes drift{from{transform:translateX(-18px)}to{transform:translateX(28px)}}
.sky{will-change:transform}

/* home map additions */
.region{fill:rgba(220,198,122,.07);stroke:rgba(220,198,122,.25);stroke-dasharray:3 6}
.map text.regiont{fill:var(--gold-lt);font:italic 400 15px var(--serif)}
.mover{fill:#fff;opacity:0}
.map.on .mover{opacity:1;transition:opacity .4s 1.4s}

/* ---------- service page ---------- */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14.5px;color:var(--navy-300);margin-bottom:26px}
.crumbs a{text-decoration:none;color:var(--navy-300)}
.crumbs a:hover{color:var(--gold-dark)}
.crumbs [aria-current]{color:var(--navy);font-weight:500}
.s-hero{padding:34px 0 70px;overflow:hidden}
.s-hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center}
.s-hero h1{font-size:clamp(40px,5.4vw,70px);font-weight:700;line-height:1.04;letter-spacing:-.01em}
.s-hero .lead{font-size:19px;color:var(--navy-300);margin:22px 0 30px;max-width:48ch}
.scene{margin:0;border-radius:26px;box-shadow:0 30px 60px -20px rgba(14,26,63,.35)}
.scene>svg{width:100%;height:auto;display:block;border-radius:26px}
.scene .land{fill:url(#sand)}
.scene .waves path{fill:none;stroke:rgba(220,198,122,.18);stroke-width:1.5}
.scene .waves path:first-child{animation:wave 9s linear infinite}
.scene .waves path:last-child{animation:wave 12s linear infinite reverse}
@keyframes wave{to{transform:translateX(40px)}}
.scene .country{fill:var(--navy-300);font:italic 400 20px var(--serif)}
.scene .country.on-sea{fill:var(--gold-lt)}
.scene .drive-bg{fill:none;stroke:rgba(255,255,255,.14);stroke-width:7;stroke-linecap:round}
.scene .drive{fill:none;stroke:var(--gold-lt);stroke-width:3;stroke-linecap:round;stroke-dasharray:2 9}
.scene .branch{fill:none;stroke:var(--gold-dark);stroke-width:2;stroke-dasharray:3 6;opacity:.7}
.scene .border-isle{fill:#E4E0D6;stroke:var(--gold);stroke-width:1.5}
.scene .pin{fill:var(--navy)}
.scene .pin.hub{fill:var(--gold-lt)}
.scene .pin-pulse{fill:none;stroke:var(--gold-lt);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:pulse 2.4s ease-out infinite}
.scene .lbl{fill:var(--navy);font:600 15px var(--sans)}
.scene .lbl.small{font-size:12.5px;fill:#fff}
.scene .lbl.dim{fill:var(--on-dark-muted);font-weight:500}

.suv-body{fill:#fff}
.suv-glass{fill:var(--navy-700)}
.suv-wheel{fill:var(--navy);stroke:var(--gold-lt);stroke-width:1.4}

.s-includes .svc article{padding-bottom:34px}
.s-how{background:var(--navy);color:var(--on-dark)}
.s-how h2,.s-how h3{color:#fff}
.s-how-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.s-how-head{position:sticky;top:120px}
.s-how-head p{color:var(--on-dark-muted);margin-top:16px}
.progress{margin-top:34px;height:3px;background:rgba(255,255,255,.12);border-radius:3px;overflow:hidden;max-width:320px}
.progress span{display:block;height:100%;background:var(--gold-lt);transform-origin:left;transform:scaleX(0)}
.no-js .progress span{transform:none}
.s-steps{list-style:none;counter-reset:st;display:grid;gap:22px}
.s-steps li{position:relative;padding:28px 28px 28px 92px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.03);
  transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .5s}
.s-steps li::before{counter-increment:st;content:counter(st);position:absolute;left:26px;top:26px;width:44px;height:44px;border-radius:50%;
  border:1.5px solid var(--gold-lt);color:var(--gold-lt);display:grid;place-items:center;font:700 20px var(--serif)}
.s-steps h3{font-size:22px;margin-bottom:6px}
.s-steps p{color:var(--on-dark-muted);font-size:16.5px}
.js .s-steps li{opacity:.35;transform:scale(.97)}
.js .s-steps li.on{opacity:1;transform:none}

.city-list{list-style:none;display:flex;flex-wrap:wrap;gap:14px}
.city-list li{font:600 clamp(22px,2.6vw,30px) var(--serif);color:var(--navy);padding:16px 26px;border:1px solid var(--sand);border-radius:999px}
.city-list li:last-child{font:500 17px var(--sans);color:var(--navy-300);align-self:center;border-style:dashed}

.know-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:40px}
.know-item{background:#fff;border-radius:20px;padding:28px}
.know-item h3{font-size:21px;margin-bottom:8px}
.know-item p{color:var(--navy-300);font-size:16.5px}

.s-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.faq details{border-bottom:1px solid var(--sand)}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;position:relative;font:600 20px var(--serif);color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:12px;height:12px;margin-top:-8px;border-right:2px solid var(--gold-dark);border-bottom:2px solid var(--gold-dark);transform:rotate(45deg);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(225deg)}
.faq details p{padding:0 0 22px;color:var(--navy-300)}
.faq details[open] p{animation:faqin .4s cubic-bezier(.2,.7,.2,1)}
@keyframes faqin{from{opacity:0;transform:translateY(-6px)}}

.s-related{padding-top:0}
.rel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.rel{display:block;text-decoration:none;border:1px solid var(--sand);border-radius:20px;padding:26px;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.rel:hover{transform:translateY(-6px)}
.rel h3{font-size:20px;margin-bottom:8px}
.rel p{color:var(--navy-300);font-size:15.5px}

.s-cta{background:var(--ivory);padding:90px 0}
.s-cta-inner{text-align:center;display:grid;justify-items:center;gap:18px}
.s-cta-inner p{color:var(--navy-300);font-size:18px}

@media (min-width:761px){.links{gap:26px}}
@media (max-width:960px){
  .s-hero-grid,.s-how-grid,.s-faq-grid{grid-template-columns:1fr}
  .s-how-head{position:static}
  .rel-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .sub{position:static;opacity:1;transform:none;pointer-events:auto;box-shadow:none;padding:0 0 6px 14px;min-width:0;background:transparent}
  .sub a{padding:8px 0;font-size:16px;color:var(--navy-300)}
  .has-sub>a::after{display:none}
  .links{max-height:calc(100vh - 90px);overflow:auto}
  .know-grid,.rel-grid{grid-template-columns:1fr}
  .s-steps li{padding:24px 22px 24px 82px}
  .city-list li{padding:12px 20px}
}
@media (prefers-reduced-motion:reduce){
  .js [data-reveal],.js [data-reveal]>*,.js .s-steps li{opacity:1!important;transform:none!important}
  .progress span{transform:none}
  #suv{display:none}
  .map .mover{display:none}
}

/* ---------- more scenes (13 Oct) ---------- */
.scene .on-dark,.scene .lbl.on-dark{fill:#fff}
.scene-light .lbl{fill:var(--navy)}
.scene .flightpath{fill:none;stroke:rgba(220,198,122,.35);stroke-width:2;stroke-dasharray:4 10}
.scene .runway{fill:#4A5270}
.scene .runway-line{stroke:#fff;stroke-width:2;stroke-dasharray:14 12}
.scene .terminal rect{fill:#fff}
.scene .terminal .tw{fill:var(--navy-700)}
.scene .road,.scene .road-loop{fill:none;stroke:#4A5270;stroke-width:16;stroke-linecap:round}
.scene .road-dash{fill:none;stroke:var(--gold-lt);stroke-width:2;stroke-dasharray:6 10}
.scene .city rect{fill:var(--navy-300)}
.cloud-s{fill:rgba(255,255,255,.14)}
.cloud-s.a{animation:drift 22s ease-in-out infinite alternate}
.cloud-s.b{animation:drift 28s ease-in-out infinite alternate-reverse}

.scene .arc-s{fill:none;stroke:rgba(220,198,122,.35);stroke-width:2}
.scene .trail-s{fill:none;stroke:rgba(220,198,122,.4);stroke-width:2;stroke-dasharray:4 10}
.scene .pass{transform-box:fill-box;transform-origin:center;animation:passFloat 6s ease-in-out infinite}
@keyframes passFloat{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(2deg) translateY(-12px)}}
.scene .pass rect{fill:#fff}
.scene .perf{stroke:#E4E0D6;stroke-width:2;stroke-dasharray:4 6}
.scene .p-lbl{fill:var(--gold-dark);font:600 13px var(--sans)}
.scene .p-k{fill:var(--navy-300);font:500 12px var(--sans)}
.scene .p-v{fill:var(--navy);font:700 22px var(--serif)}
.scene .p-plane{fill:var(--gold)}
.scene .p-bar{stroke:var(--navy);stroke-width:14}

.scene-visa .pp-cover{fill:var(--navy-700);stroke:rgba(220,198,122,.5);stroke-width:2}
.scene-visa .pp-emblem{fill:none;stroke:var(--gold-lt);stroke-width:2.5}
.scene-visa .pp-emblem-l{stroke:var(--gold-lt);stroke-width:2}
.scene-visa .pp-title{fill:var(--gold-lt);font:600 20px var(--serif);letter-spacing:.04em}
.scene-visa .pp-page{fill:url(#sand)}
.scene-visa .pp-lines{stroke:#D3CDBE;stroke-width:6;stroke-linecap:round}
.scene-visa .stamp{transform-box:fill-box;transform-origin:center;animation:stamp 4.5s cubic-bezier(.2,.7,.2,1) infinite}
.scene-visa .stamp rect{fill:rgba(179,149,80,.12);stroke:var(--gold-dark);stroke-width:3}
.scene-visa .st-big{fill:var(--gold-dark);font:700 30px var(--serif);letter-spacing:.12em}
.scene-visa .st-small{fill:var(--gold-dark);font:600 14px var(--sans);letter-spacing:.2em}
@keyframes stamp{0%,12%{opacity:0;transform:scale(1.7) rotate(-14deg)}22%{opacity:1;transform:scale(.94) rotate(-8deg)}28%{transform:scale(1) rotate(-8deg)}85%{opacity:1;transform:scale(1) rotate(-8deg)}100%{opacity:0;transform:scale(1) rotate(-8deg)}}
.scene-visa .passport{transform-box:fill-box;transform-origin:center;animation:ppBump 4.5s infinite}
@keyframes ppBump{0%,20%{transform:none}23%{transform:translateY(4px)}28%,100%{transform:none}}

.scene-holiday .plan-bg{fill:rgba(255,255,255,.06);stroke:rgba(220,198,122,.35);stroke-dasharray:4 8}
.scene .hcard rect,.scene .ccard rect{fill:#fff}
.scene .hc-ic{fill:none;stroke:var(--gold-dark);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.scene .hc-t{fill:var(--navy);font:600 18px var(--serif)}
.scene .hc-ok,.scene .cc-ok{fill:none;stroke:var(--gold-dark);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.scene-holiday .plan-t{fill:var(--gold-lt);font:italic 400 26px var(--serif)}
.scene-holiday .hcard{transform-box:fill-box;transform-origin:center;animation:hcard 8s cubic-bezier(.2,.7,.2,1) infinite}
.scene-holiday .h1{--x:-160px;--r:-14deg}.scene-holiday .h2{--x:170px;--r:12deg;animation-delay:.35s}
.scene-holiday .h3{--x:-150px;--r:10deg;animation-delay:.7s}.scene-holiday .h4{--x:160px;--r:-12deg;animation-delay:1.05s}
@keyframes hcard{0%,6%{opacity:0;transform:translateX(var(--x)) rotate(var(--r))}18%{opacity:1;transform:none}86%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(-14px)}}

.scene .block{fill:rgba(255,255,255,.04)}
.scene .bld rect{fill:rgba(220,198,122,.16);stroke:rgba(220,198,122,.3)}
.scene .clock circle{fill:#fff}
.scene .clock .hub{fill:var(--navy)}
.scene .clock .tick{stroke:var(--navy-300);stroke-width:3;stroke-linecap:round}
.scene .hand{stroke:var(--navy);stroke-width:4;stroke-linecap:round;transform-origin:500px 150px}
.scene .h-long{animation:spin 8s linear infinite}
.scene .h-short{animation:spin 48s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.scene .hr{fill:#fff;font:600 19px var(--serif);opacity:.25;animation:hr 6s infinite}
.scene .hr.r2{animation-delay:2s}.scene .hr.r3{animation-delay:4s}
@keyframes hr{0%,8%{opacity:.25}14%,30%{opacity:1;fill:var(--gold-lt)}36%,100%{opacity:.25}}

.scene-corp .ccard{transform-box:fill-box;transform-origin:left center;animation:ccard 8s cubic-bezier(.2,.7,.2,1) infinite}
.scene-corp .k2{animation-delay:.8s}.scene-corp .k3{animation-delay:1.6s}.scene-corp .k4{animation-delay:2.4s}
.scene-corp .cc-dot{fill:rgba(179,149,80,.15)}
@keyframes ccard{0%,4%{opacity:0;transform:translateY(24px) scale(.96)}14%{opacity:1;transform:none}84%{opacity:1;transform:none}94%,100%{opacity:0;transform:translateY(-10px)}}

/* about page */
.about-hero .logo-big{animation:floaty 7s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--sand);margin-top:36px}
.facts div{padding:20px 0;border-bottom:1px solid var(--sand)}
.facts div:nth-child(odd){padding-right:24px}
.facts dt{font-size:14px;color:var(--navy-300);font-weight:500}
.facts dd{font:600 19px var(--serif);color:var(--navy);margin-top:4px}
@media (max-width:760px){.facts{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){[data-move]{display:none}}
