:root{
  --bg0:#0A120C; --bg1:#0F1F14; --bg2:#143622; --bg3:#153121;
  --poster-a:#008037; --poster-b:#19221d;
  --green:#008037; --green-2:#00A349;
  --lime:#C1FB4B; --yellow:#FFED00;
  --ink:#0B140D;
  --cream:#F4F1E6; --body-c:rgba(244,241,230,.74); --mut:rgba(244,241,230,.5);
  --line:rgba(244,241,230,.13); --line2:rgba(244,241,230,.26);
  --glass:rgba(15,31,20,.55); --glass2:rgba(15,31,20,.72);
  --sky-a:#7FB0CF; --sky-b:#8FB9D3; --sky-c:#A9CBE0;
  --fd:'Clash Display','Archivo','Segoe UI',sans-serif;
  --fb:'Satoshi','Archivo','Segoe UI',sans-serif;
  --fm:'IBM Plex Mono',ui-monospace,SFMono-Regular,monospace;
  --ease:cubic-bezier(.22,1,.36,1);
  --gut:clamp(1.25rem,4vw,4.5rem);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}
html{scroll-behavior:smooth}
body{background:var(--bg0);color:var(--body-c);font:400 1rem/1.65 var(--fb);overflow-x:hidden}
body::after{content:'';position:fixed;inset:0;z-index:1250;pointer-events:none;opacity:.06;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
::selection{background:var(--yellow);color:var(--ink)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#070D08}
::-webkit-scrollbar-thumb{background:#1E3A28}::-webkit-scrollbar-thumb:hover{background:var(--green)}

.giant{font-family:var(--fd);font-weight:560;letter-spacing:-.025em;line-height:.95}
.kicker{font-family:var(--fm);font-size:.62rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--yellow);margin-bottom:1.2rem}
.sec-link{font-family:var(--fm);font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:.3rem;display:inline-block;transition:opacity .3s,color .3s}
.sec-link:hover{color:var(--yellow)}
em.acc{font-style:normal;color:var(--yellow)}
.btn{display:inline-flex;align-items:center;gap:.8rem;padding:1rem 1.6rem;background:var(--yellow);color:var(--ink);border:1px solid var(--yellow);
  font-family:var(--fm);font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:.35s var(--ease)}
.btn i{font-style:normal;transition:transform .45s var(--ease)}
.btn:hover{background:transparent;color:var(--yellow)}
.btn:hover i{transform:translateX(5px)}
.btn--ghost{background:transparent;color:var(--cream);border-color:var(--line2)}
.btn--ghost:hover{color:var(--yellow);border-color:var(--yellow)}
.btn--ink{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.btn--ink:hover{background:transparent;color:var(--ink);border-color:var(--cream)}
.btn--sm{padding:.55rem 1rem;font-size:.56rem}
.btn[disabled]{opacity:.45;cursor:default}
.inl{display:inline}

.loader{position:fixed;inset:0;z-index:1300;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;
  background:radial-gradient(circle at 50% 45%,#008037 0%,#143622 55%,#0A120C 100%);transition:opacity .6s var(--ease),visibility .6s}
.loader.off{opacity:0;visibility:hidden}
.loader-word{font-family:var(--fm);font-size:.8rem;font-weight:600;letter-spacing:.5em;text-indent:.5em;color:var(--cream)}
.loader-line{width:120px;height:1px;background:rgba(244,241,230,.2);position:relative;overflow:hidden}
.loader-line::after{content:'';position:absolute;inset:0;background:var(--yellow);transform:translateX(-100%);animation:ld 1s var(--ease) forwards}
@keyframes ld{to{transform:translateX(0)}}

/* ---------- NAV (logo slot reserved — the flying brand docks here) ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;color:var(--cream);transition:color .4s,background .4s,border-color .4s;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(8,14,10,.6);backdrop-filter:blur(16px);border-color:var(--line)}
body.on-light .nav{color:var(--ink)}
body.on-light .nav.scrolled{background:rgba(143,185,211,.7);border-color:rgba(11,20,13,.12)}
.nav-inner{max-width:1600px;margin-inline:auto;padding:.85rem var(--gut);display:flex;align-items:center;justify-content:space-between;gap:1.6rem}
.logo{position:relative;display:flex;align-items:center;min-height:48px;min-width:190px}
.logo-img{display:block;height:48px;width:auto;transition:opacity .45s var(--ease),filter .45s var(--ease);mix-blend-mode:screen}
body.on-light .logo-img{mix-blend-mode:normal;filter:invert(1)}
.logo-txt{display:flex;flex-direction:column;line-height:1;transition:opacity .45s var(--ease)}
.logo-txt b{font-family:var(--fd);font-weight:600;font-size:1.02rem;letter-spacing:.12em;color:inherit}
.logo-txt .logo-sub{font-family:var(--fm);font-size:.46rem;letter-spacing:.34em;opacity:.65;margin-top:.4rem}
/* while the flying brand is en route/docked, the static nav logo is hidden */
body.morph-on .logo-img,body.morph-on .logo-txt{opacity:0;pointer-events:none}
/* fallback when the logo file is unavailable */
body.no-logo-img .logo-img,body.no-logo-img .morph-el,body.no-logo-img .foot-logo{display:none !important}
body.no-logo-img .logo-txt{opacity:1 !important;pointer-events:auto}
.nav-links{display:flex;gap:2rem}
.nav-links a{font-size:.8rem;font-weight:500;letter-spacing:.04em;opacity:.72;position:relative;padding:.35rem 0;transition:opacity .3s}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.nav-links a:hover,.nav-links a.on{opacity:1}
.nav-links a.on::after,.nav-links a:hover::after{transform:scaleX(1)}
.nav-auth{display:flex;align-items:center;gap:.8rem}
.na-link{font-family:var(--fm);font-size:.6rem;font-weight:600;letter-spacing:.18em;padding:.62rem 1rem;border:1px solid var(--line2);transition:.3s}
.na-link:hover{border-color:var(--yellow);color:var(--yellow)}
.na-btn{font-family:var(--fm);font-size:.6rem;font-weight:600;letter-spacing:.18em;padding:.66rem 1.15rem;background:var(--yellow);color:var(--ink);border:1px solid var(--yellow);transition:.3s;cursor:pointer}
.na-btn:hover{background:transparent;color:var(--yellow)}
.na-btn--out{background:transparent;color:var(--cream);border-color:var(--line2)}
.na-btn--out:hover{color:var(--yellow);border-color:var(--yellow);background:transparent}
body.on-light .na-link{border-color:rgba(11,20,13,.3)}
body.on-light .na-btn{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.burger{display:none;background:none;border:0;width:34px;height:24px;position:relative;z-index:1150;color:inherit}
.burger i{position:absolute;left:0;width:100%;height:1.6px;background:currentColor;transition:.4s var(--ease)}
.burger i:first-child{top:7px}.burger i:last-child{bottom:7px}
.burger.x i:first-child{top:11px;transform:rotate(45deg)}
.burger.x i:last-child{bottom:11px;transform:rotate(-45deg)}
@media(max-width:1120px){.nav-links,.nav-auth{display:none}.burger{display:block}}
.mnav{position:fixed;inset:0;background:radial-gradient(circle at 50% 30%,#0E2A1A,#0A120C 75%);color:var(--cream);z-index:1100;display:flex;flex-direction:column;justify-content:center;padding:6rem var(--gut) 3rem;transform:translateY(-100%);transition:transform .6s var(--ease),visibility .6s;visibility:hidden;overflow-y:auto}
.mnav.open{transform:none;visibility:visible}
.mnav a.big{display:flex;align-items:baseline;gap:1.1rem;font-family:var(--fd);font-weight:560;font-size:clamp(1.7rem,7vw,2.5rem);padding:.5rem 0;border-bottom:1px solid var(--line)}
.mnav a.big i{font-family:var(--fm);font-style:normal;font-size:.66rem;color:var(--yellow)}
.mnav-auth{margin-top:1.8rem;display:flex;gap:1rem;flex-wrap:wrap}
.mnav-foot{margin-top:1.4rem;font-family:var(--fm);font-size:.64rem;letter-spacing:.12em;color:var(--mut)}

/* ---------- FLYING BRAND (window text → logo → nav slot) ---------- */
.morph-el{position:fixed;left:0;top:0;z-index:1050;pointer-events:none;opacity:0;will-change:transform,opacity;transform-origin:0 0}
#morphText{color:#FFFFFF;font-family:var(--fd);font-weight:600;text-align:center;white-space:nowrap;
  text-shadow:0 6px 36px rgba(4,16,9,.55);animation:floaty 8s ease-in-out infinite}
#morphText .mt1{display:block;font-size:clamp(1.9rem,5.4vh,3.3rem);line-height:1;letter-spacing:.015em}
#morphText .mt2{display:block;font-size:clamp(.7rem,1.95vh,1.2rem);line-height:1;font-weight:500;letter-spacing:.44em;text-indent:.44em;margin-top:.5em}
#morphLogo{display:block;mix-blend-mode:screen;filter:drop-shadow(0 10px 30px rgba(4,12,7,.35))}

.hud{position:fixed;left:16px;bottom:20px;z-index:950;display:flex;align-items:flex-end;gap:.85rem;pointer-events:none;color:var(--cream);text-shadow:0 1px 10px rgba(0,0,0,.5);transition:color .4s}
body.on-light .hud{color:var(--ink);text-shadow:none}
.hud-tape{width:2px;height:60px;background:currentColor;opacity:.3;position:relative}
.hud-tape i{position:absolute;left:-6px;width:14px;height:2px;background:var(--yellow);transition:top .12s linear}
.hud-txt{display:flex;flex-direction:column;gap:.12rem}
.hud-phase{font-family:var(--fm);font-size:.54rem;letter-spacing:.3em;opacity:.65}
.hud-txt b{font-family:var(--fm);font-weight:600;font-size:.78rem;letter-spacing:.06em}
.hud-sub{font-family:var(--fm);font-size:.52rem;letter-spacing:.14em;opacity:.6}
@media(max-width:760px){.hud{display:none}}

/* ============ HERO ZOOM ============ */
.zoom{height:260vh;position:relative;background:var(--bg0)}
.zoom-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;
  background:radial-gradient(circle at 50% 44%,#008037 0%,#0B5B2D 26%,#143622 52%,var(--poster-b) 72%,#070D09 100%)}
/* window enlarged to host the big brand text */
.pwindow{--w:min(58vh,88vw);position:absolute;left:50%;top:50%;translate:-50% -50%;width:var(--w);aspect-ratio:.78;z-index:3;will-change:transform}
.pw-float{position:absolute;inset:0;animation:floaty 8s ease-in-out infinite}
@keyframes floaty{50%{transform:translateY(-12px)}}
.pw-frame{position:absolute;inset:0;border-radius:calc(var(--w)*.36);
  background:linear-gradient(155deg,#F2EEE2 0%,#D2C7AE 26%,#93876F 58%,#3E3629 100%);
  box-shadow:inset 0 2px 5px rgba(255,255,255,.55),inset 0 -26px 50px rgba(20,14,6,.55),0 44px 110px rgba(0,0,0,.65),0 10px 28px rgba(0,0,0,.5)}
.pw-frame::before{content:'';position:absolute;inset:5%;border-radius:calc(var(--w)*.3);background:linear-gradient(160deg,#B4A78C,#564C3A);box-shadow:inset 0 0 0 2px rgba(30,22,10,.45)}
.pw-shade{position:absolute;top:1.5%;left:50%;translate:-50%;width:56%;height:11%;border-radius:0 0 50% 50%/0 0 100% 100%;background:linear-gradient(180deg,#241D12,#4A3E2B 70%,rgba(74,62,43,0));z-index:2}
.pw-glass{position:absolute;inset:8%;border-radius:calc(var(--w)*.28);overflow:hidden;background:linear-gradient(180deg,var(--sky-a) 0%,var(--sky-b) 50%,var(--sky-c) 100%);box-shadow:inset 0 16px 44px rgba(10,30,50,.45),inset 0 -12px 34px rgba(255,255,255,.3)}
.pw-glass::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,0) 26%,rgba(255,255,255,0) 62%,rgba(255,255,255,.14) 78%,rgba(255,255,255,0) 88%)}
.cl{position:absolute;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,0));filter:blur(9px)}
.cl1{width:52%;height:16%;left:6%;top:56%;animation:drift 26s linear infinite alternate}
.cl2{width:38%;height:12%;right:4%;top:34%;animation:drift 34s linear infinite alternate-reverse}
.cl3{width:60%;height:18%;left:20%;top:74%;filter:blur(14px);animation:drift 40s linear infinite alternate}
@keyframes drift{to{transform:translateX(16%)}}
/* the big brand inside the window — EURO TRAVEL over INTERNATIONAL, on the clouds */
.pw-brand{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:2;text-align:center;color:#FFFFFF;
  font-family:var(--fd);font-weight:600;white-space:nowrap;text-shadow:0 6px 36px rgba(4,16,9,.55)}
.pw-brand .pb1{display:block;font-size:clamp(1.9rem,5.4vh,3.3rem);line-height:1;letter-spacing:.015em}
.pw-brand .pb2{display:block;font-size:clamp(.7rem,1.95vh,1.2rem);line-height:1;font-weight:500;letter-spacing:.44em;text-indent:.44em;margin-top:.5em}
body.morph-ready .pw-brand{opacity:0}
.zg{position:absolute;z-index:2;color:var(--cream);pointer-events:none;will-change:transform,opacity}
.zg-l{left:4vw;top:19vh;font-size:clamp(2.7rem,8.6vw,8.2rem)}
.zg-sub{left:4vw;top:calc(19vh + 18.6rem);max-width:34ch}
.zg-sub b{display:block;font-family:var(--fm);font-size:.62rem;font-weight:600;letter-spacing:.28em;margin-bottom:.8rem;color:var(--yellow)}
.zg-sub h3{font-family:var(--fd);font-weight:560;font-size:1.2rem;margin-bottom:.55rem;color:var(--cream)}
.zg-sub p{font-size:.84rem;line-height:1.65;color:rgba(244,241,230,.78)}
.zg-sub small{display:block;margin-top:1rem;font-family:var(--fm);font-size:.56rem;letter-spacing:.22em;color:rgba(244,241,230,.5)}
.zg-cue{right:4vw;bottom:8vh;display:flex;align-items:center;gap:.9rem;font-family:var(--fm);font-size:.58rem;letter-spacing:.26em;color:rgba(244,241,230,.7)}
.zg-cue svg{width:14px;height:20px;animation:cue 1.8s ease-in-out infinite}
@keyframes cue{50%{transform:translateY(6px)}}
.zoom-seam{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;background:var(--sky-b)}
@media(max-width:820px){
  .zoom{height:240vh}
  .pwindow{--w:min(46vh,82vw)}
  .zg-l{top:11vh}
  .zg-sub{top:auto;bottom:15vh;max-width:30ch}
  .zg-sub h3,.zg-sub small{display:none}
  .zg-cue{right:auto;left:4vw;bottom:7vh}
}
@media(max-height:620px){.zg-sub{display:none}}

/* ============ HOUSE ============ */
.house{position:relative;color:var(--cream);overflow:hidden;
  background:linear-gradient(180deg,var(--sky-b) 0%,var(--sky-a) 16%,#5D9B84 38%,#1E5C3A 62%,#123B24 82%,var(--bg1) 100%);
  padding:20vh var(--gut) 16vh}
.house-kick{font-family:var(--fm);font-size:.6rem;letter-spacing:.3em;color:rgba(255,255,255,.92);margin-bottom:2.2rem}
.house-line{font-family:var(--fd);font-weight:560;font-size:clamp(1.7rem,4.1vw,4rem);letter-spacing:-.02em;line-height:1.18;max-width:31ch;text-shadow:0 2px 30px rgba(10,20,12,.35)}
.ln{display:block;overflow:hidden}
.ln i{display:block;font-style:normal;transform:translateY(112%);transition:transform 1.1s var(--ease);transition-delay:var(--d,0s)}
.ln.in i{transform:none}
.house-grid{margin:12vh auto 0;max-width:1240px;display:grid;grid-template-columns:1fr 1fr;gap:3.4rem 6rem}
.pillr{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.pillr.in{opacity:1;transform:none}
.pillr em{display:block;font-family:var(--fm);font-style:normal;font-size:.58rem;letter-spacing:.26em;color:var(--yellow);margin-bottom:.9rem}
.pillr h3{font-family:var(--fd);font-weight:560;font-size:clamp(1.25rem,2.1vw,1.7rem);letter-spacing:-.01em;color:var(--cream)}
.pillr p{margin-top:.6rem;font-size:.92rem;line-height:1.7;color:rgba(255,255,255,.85);max-width:44ch}
@media(max-width:800px){.house{padding:14vh var(--gut) 11vh}.house-grid{grid-template-columns:1fr;gap:2.4rem;margin-top:7vh}}

.ticker{background:#071009;color:var(--cream);overflow:hidden;border-block:1px solid var(--line)}
.ticker-track{display:flex;align-items:center;width:max-content;animation:tick 46s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.tick{white-space:nowrap;padding:1rem 1.4rem;font-family:var(--fm);font-size:.64rem;letter-spacing:.18em}
.tick-sep{color:var(--yellow)}
@keyframes tick{to{transform:translateX(-50%)}}

/* ============ DEALS BOARD ============ */
.deals{background:#081009;border-block:1px solid var(--line);padding:7vh var(--gut)}
.deals-head{max-width:1500px;margin:0 auto 2.4rem;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.2rem}
.deals-head h2{font-family:var(--fd);font-weight:560;font-size:clamp(1.6rem,3.2vw,2.6rem);letter-spacing:-.02em;color:var(--cream)}
.deal-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.4rem}
.deal-card{background:var(--cream);color:var(--ink);border:1px solid rgba(11,20,13,.25);box-shadow:0 24px 60px rgba(0,0,0,.45);display:flex;flex-direction:column;transition:transform .4s var(--ease)}
.deal-card:hover{transform:translateY(-4px)}
.deal-img{aspect-ratio:16/7;overflow:hidden;background:#D8CFBA}
.deal-img img{width:100%;height:100%;object-fit:cover}
.deal-body{padding:1.25rem 1.4rem 1.5rem}
.deal-kick{font-family:var(--fm);font-size:.55rem;font-weight:600;letter-spacing:.24em;color:#0B7A34;display:flex;justify-content:space-between;gap:.6rem}
.deal-title{font-family:var(--fd);font-weight:600;font-size:1.35rem;letter-spacing:-.01em;margin:.5rem 0 .35rem}
.deal-blurb{font-size:.86rem;color:#4F5054;line-height:1.6;margin-bottom:.9rem}
.deal-prices{display:flex;gap:1.1rem;align-items:baseline;border-top:1px solid rgba(11,20,13,.2);padding-top:.9rem;flex-wrap:wrap}
.was{font-family:var(--fm);text-decoration:line-through;color:#8A8B8C;font-size:.95rem}
.now{font-family:var(--fm);font-weight:600;color:#0B7A34;font-size:1.05rem}
.valid{font-family:var(--fm);font-size:.55rem;letter-spacing:.14em;color:#8A8B8C}
.deal-cta{margin-top:1rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap}

/* ============ WHO ============ */
.who{position:relative;padding:clamp(4rem,8vw,7rem) var(--gut);background:var(--bg0)}
.who-bg{position:absolute;inset:0;overflow:hidden;background:linear-gradient(160deg,#0E3A22,#1E5C3A)}
.who-bg img{width:100%;height:100%;object-fit:cover;opacity:.85}
.who-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,12,.55),rgba(10,18,12,.72))}
.who-panel{position:relative;max-width:1240px;margin:0 auto;background:rgba(9,18,12,.68);backdrop-filter:blur(16px);color:var(--cream);
  padding:clamp(2.2rem,5vw,4.5rem);border:1px solid var(--line);box-shadow:0 40px 90px rgba(0,0,0,.5)}
.who-panel h2{font-family:var(--fd);font-weight:560;font-size:clamp(1.9rem,4vw,3.4rem);letter-spacing:-.02em;line-height:1.06;max-width:24ch;color:var(--cream)}
.who-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,4rem);margin-top:clamp(2rem,4vw,3.4rem);padding-top:clamp(1.6rem,3vw,2.4rem);border-top:1px solid var(--line)}
.who-cols h3{font-family:var(--fd);font-weight:560;font-size:1.15rem;margin-bottom:.7rem;color:var(--cream)}
.who-cols p{font-size:.95rem;line-height:1.75;color:var(--body-c)}
@media(max-width:760px){.who-cols{grid-template-columns:1fr}}

/* ============ JOURNEYS — flow layout ============ */
.journeys{height:300vh;position:relative;color:var(--cream);
  background:linear-gradient(180deg,var(--bg1) 0%,#12401F 34%,#17582B 52%,#12401F 70%,var(--bg1) 100%)}
.j-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;
  grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,3vw,3rem);
  padding:9vh 4vw 6vh;align-items:stretch}
.j-left,.j-right{display:flex;flex-direction:column;justify-content:center;gap:clamp(1.1rem,2.6vh,2rem);min-width:0;position:relative;z-index:3}
.j-right{align-items:flex-end;text-align:right}
.j-word{font-family:var(--fd);font-weight:560;font-size:clamp(2.6rem,7vw,7.2rem);letter-spacing:-.025em;line-height:.95;color:var(--cream);will-change:transform}
.j-coord{font-family:var(--fm);font-size:.58rem;letter-spacing:.16em;color:var(--lime)}
.j-sub{max-width:36ch;text-align:left;color:rgba(244,241,230,.75);font-size:.9rem;line-height:1.7}
.j-sub b{display:block;font-family:var(--fm);font-size:.6rem;font-weight:600;letter-spacing:.28em;color:var(--yellow);margin-bottom:.7rem}
.j-sub a{display:inline-block;margin-top:1.1rem;font-family:var(--fm);font-size:.6rem;font-weight:600;letter-spacing:.2em;color:var(--cream);border-bottom:1px solid var(--cream);padding-bottom:.3rem}
.j-sub a:hover{color:var(--yellow);border-color:var(--yellow)}
.j-card{position:relative;width:min(360px,100%);background:var(--cream);color:var(--ink);padding:1.6rem;border:1px solid rgba(11,20,13,.25);
  box-shadow:0 30px 70px rgba(0,0,0,.5);text-align:left;opacity:0;transform:translateY(30px);
  transition:opacity .9s var(--ease),transform .9s var(--ease)}
.j-card.in{opacity:1;transform:none}
.j-card .sw{transition:opacity .35s ease,transform .35s ease}
.j-card.swap .sw{opacity:0;transform:translateY(10px)}
.j-card em{display:flex;justify-content:space-between;font-family:var(--fm);font-style:normal;font-size:.55rem;font-weight:600;letter-spacing:.24em;color:#0B7A34;border-top:1px solid rgba(11,20,13,.3);padding-top:1rem;margin-bottom:1.1rem}
.j-card h3{font-family:var(--fd);font-weight:600;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.02em;line-height:1}
.j-route{font-family:var(--fm);font-size:.6rem;letter-spacing:.18em;color:#4F5054;margin:.7rem 0 1.2rem}
.j-price{font-family:var(--fm);font-weight:600;font-size:.95rem;letter-spacing:.06em;border-top:1px solid rgba(11,20,13,.25);padding-top:1rem}
.j-card p{margin:.9rem 0 1.2rem;font-size:.86rem;line-height:1.65;color:#4F5054}
.j-card a{font-family:var(--fm);font-size:.6rem;font-weight:600;letter-spacing:.18em;color:#0B7A34;border-bottom:1px solid #0B7A34;padding-bottom:.25rem}
.jet{position:absolute;left:50%;top:0;translate:-50% 0;height:126vh;z-index:1;pointer-events:none;will-change:transform;filter:drop-shadow(0 60px 70px rgba(0,0,0,.5))}
@media(max-width:900px){
  .j-pin{grid-template-columns:1fr;padding:7vh var(--gut) 4vh;gap:1.1rem;align-items:start}
  .j-left,.j-right{gap:.9rem;align-items:flex-start;text-align:left}
  .j-word{font-size:clamp(2.3rem,10.5vw,3.6rem)}
  .j-coord{display:none}
  .j-sub{font-size:.82rem}
  .j-card{width:100%;padding:1.2rem}
  .j-card p{display:none}
  .jet{height:70vh;opacity:.55}
}
@media(max-height:600px){.j-sub{display:none}.j-card p{display:none}}

/* ============ SERVICES ============ */
.services{background:var(--bg0);color:var(--cream);padding:11vh var(--gut) 12vh}
.svc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;max-width:1500px;margin:0 auto 3.5rem}
.svc-head h2{font-family:var(--fd);font-weight:560;font-size:clamp(2rem,4.4vw,3.8rem);letter-spacing:-.02em;line-height:1.02;color:var(--cream)}
.svc-big{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,1.6rem)}
.svc-card{position:relative;display:block;overflow:hidden;background:#0C1810;border:1px solid var(--line)}
.svc-big .svc-card{aspect-ratio:16/11}
.svc-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);filter:saturate(.9)}
.svc-card:hover img{transform:scale(1.06);filter:saturate(1.05)}
.svc-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(7,13,9,.85),rgba(7,13,9,.08) 55%)}
.sc-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(1.2rem,2.4vw,2rem);color:var(--cream)}
.sc-kick{font-family:var(--fm);font-size:.55rem;font-weight:600;letter-spacing:.26em;color:var(--yellow);display:block;margin-bottom:.5rem}
.sc-title{font-family:var(--fd);font-weight:560;font-size:clamp(1.4rem,2.6vw,2.2rem);letter-spacing:-.015em;display:flex;align-items:baseline;gap:.9rem}
.sc-title i{font-style:normal;font-family:var(--fm);font-size:1rem;transition:transform .4s var(--ease);color:var(--yellow)}
.svc-card:hover .sc-title i{transform:translateX(6px)}
.sc-tag{font-size:.85rem;color:rgba(244,241,230,.78);margin-top:.4rem}
.svc-grid{max-width:1500px;margin:clamp(1rem,2vw,1.6rem) auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.6rem)}
.svc-cell{background:var(--glass);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .4s var(--ease),border-color .4s,box-shadow .4s}
.svc-cell:hover{transform:translateY(-6px);border-color:rgba(193,251,75,.4);box-shadow:0 26px 60px rgba(0,0,0,.45)}
.svc-cell figure{aspect-ratio:16/10;overflow:hidden;background:#0C1810}
.svc-cell img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);filter:saturate(.9)}
.svc-cell:hover img{transform:scale(1.06)}
.svc-cell .sc-in{padding:1.3rem 1.4rem 1.5rem}
.svc-cell h3{font-family:var(--fd);font-weight:560;font-size:1.25rem;letter-spacing:-.01em;display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;color:var(--cream)}
.svc-cell h3 i{font-style:normal;font-family:var(--fm);font-size:.95rem;color:var(--yellow);transition:transform .4s var(--ease)}
.svc-cell:hover h3 i{transform:translateX(5px)}
.svc-cell p{font-size:.86rem;line-height:1.6;color:var(--body-c);margin-top:.45rem}
@media(max-width:960px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.svc-big{grid-template-columns:1fr}.svc-big .svc-card{aspect-ratio:4/3}.svc-grid{grid-template-columns:1fr}}

.stats{background:#081009;color:var(--cream);padding:8vh var(--gut);border-block:1px solid var(--line)}
.stats-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;border-top:1px solid var(--line);padding-top:2.6rem}
.stats-grid b{display:block;font-family:var(--fd);font-weight:600;font-size:clamp(2.2rem,4.6vw,4rem);letter-spacing:-.03em;line-height:1;color:var(--cream)}
.stats-grid span{font-family:var(--fm);font-size:.55rem;letter-spacing:.26em;color:var(--mut)}
@media(max-width:760px){.stats-grid{grid-template-columns:1fr 1fr;gap:2.2rem 1rem}}

/* ============ GLOBAL FINALE ============ */
.global{position:relative;background:radial-gradient(circle at 50% 0%,#123B24 0%,#0A140D 45%,#060B07 100%);color:var(--cream);padding-top:10vh}
.marquee{border-block:1px solid var(--line);padding:1.1rem 0;overflow:hidden}
.mq-track{display:flex;width:max-content;animation:mq 46s linear infinite}
.mq-track span{white-space:nowrap;font-size:.95rem;font-weight:500;letter-spacing:.06em;padding-right:2.6rem;display:flex;align-items:center;gap:2.6rem}
.mq-track b{color:var(--yellow);font-weight:400}
@keyframes mq{to{transform:translateX(-50%)}}
.g-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;padding:11vh var(--gut) 4vh;max-width:1600px;margin:0 auto}
.g-head h2{font-family:var(--fd);font-weight:560;font-size:clamp(1.8rem,3.6vw,3.2rem);letter-spacing:-.02em;line-height:1.1;max-width:18ch;color:var(--cream)}
.g-contact{text-align:right}
.g-contact em{display:block;font-family:var(--fm);font-style:normal;font-size:.55rem;letter-spacing:.3em;color:var(--yellow);margin-bottom:.8rem}
.g-contact a{display:block;font-family:var(--fm);font-size:.84rem;padding:.2rem 0;letter-spacing:.05em}
.g-contact a:hover{color:var(--yellow)}
.g-cta{padding:1rem var(--gut) 0;max-width:1600px;margin:0 auto;display:flex;gap:.8rem;flex-wrap:wrap}
.global-word{font-family:var(--fd);font-weight:600;font-size:clamp(5rem,20vw,22rem);line-height:.82;text-align:center;user-select:none;pointer-events:none;color:transparent;-webkit-text-stroke:1px rgba(244,241,230,.16);letter-spacing:-.02em;will-change:transform;margin-top:2vh}
.g-zone{position:relative;margin-top:-5vh;padding-bottom:4vh}
#gGlobe{width:min(74vw,56vh);max-width:620px;aspect-ratio:1;display:block;margin:0 auto;cursor:grab;touch-action:none}
#gGlobe:active{cursor:grabbing}
.g-cap{text-align:center;font-family:var(--fm);font-size:.52rem;letter-spacing:.3em;color:var(--mut);margin-top:.6rem}
.ticket{position:absolute;left:5vw;top:32%;width:266px;background:var(--cream);color:var(--ink);padding:1.3rem;transform:rotate(-4deg);box-shadow:0 34px 70px rgba(0,0,0,.6);animation:tfloat 7s ease-in-out infinite}
@keyframes tfloat{50%{transform:rotate(-4deg) translateY(-14px)}}
.tk-top{display:flex;justify-content:space-between;font-family:var(--fm);font-size:.52rem;font-weight:600;letter-spacing:.2em;border-bottom:1px dashed rgba(11,20,13,.4);padding-bottom:.7rem;margin-bottom:1rem}
.ticket b{display:block;font-family:var(--fd);font-weight:600;font-size:3rem;line-height:.92;letter-spacing:-.03em}
.tk-lab{font-family:var(--fm);font-size:.54rem;letter-spacing:.26em;color:#4F5054;margin-top:.5rem}
.tk-bar{height:38px;margin-top:1.1rem;background:repeating-linear-gradient(90deg,#0B140D 0 2px,transparent 2px 5px,#0B140D 5px 6px,transparent 6px 12px),repeating-linear-gradient(90deg,#0B140D 0 1px,transparent 1px 7px)}
.news{border-top:1px solid var(--line);padding:8vh var(--gut);text-align:center}
.news h2{font-family:var(--fd);font-weight:560;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.02em;color:var(--cream)}
.news p{color:var(--body-c);margin:.9rem auto 2rem;max-width:44ch}
.news-form{display:flex;max-width:440px;margin:0 auto;border-bottom:1px solid rgba(244,241,230,.4)}
.news-form input{flex:1;background:none;border:0;outline:none;color:var(--cream);padding:.85rem 0;font:400 .95rem var(--fb)}
.news-form input::placeholder{color:var(--mut)}
.news-form button{background:none;border:0;color:var(--yellow);font-family:var(--fm);font-size:1.15rem;transition:transform .3s}
.news-form button:hover{transform:translateX(4px)}
.news-msg{font-family:var(--fm);font-size:.64rem;color:var(--lime);margin-top:.8rem;min-height:1em}
@media(max-width:900px){.ticket{position:static;margin:2.5rem auto 0;transform:none;animation:none;width:min(300px,84vw)}.g-contact{text-align:left}}

.footer{background:#060B07;border-top:1px solid var(--line);padding:4.5rem var(--gut) 6.5rem}
.foot-grid{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:3rem}
.foot-logo{width:min(330px,74vw);height:auto;margin-bottom:1.6rem;mix-blend-mode:screen}
.foot-col h4{font-family:var(--fm);font-size:.62rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--yellow);margin-bottom:1.2rem}
.foot-col a{display:block;color:var(--body-c);padding:.3rem 0;font-size:.9rem;transition:color .3s}
.foot-col a:hover{color:var(--yellow)}
.foot-tag{font-size:.9rem;max-width:30ch;margin-bottom:1.4rem;color:var(--body-c)}
.foot-social{display:flex;gap:.7rem}
.foot-social a{width:40px;height:40px;border:1px solid var(--line2);display:grid;place-items:center;font-family:var(--fm);font-size:.6rem;font-weight:600;letter-spacing:.1em;color:var(--cream);transition:.3s}
.foot-social a:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.foot-legal{max-width:1600px;margin:0 auto;border-top:1px solid var(--line);padding-top:1.6rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-family:var(--fm);font-size:.56rem;letter-spacing:.18em;color:var(--mut)}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.foot-grid{grid-template-columns:1fr}}

/* ============ INNER PAGES ============ */
.page-hero{background:radial-gradient(circle at 50% -20%,#123B24 0%,var(--bg0) 60%);color:var(--cream);padding:10rem var(--gut) 4rem}
.page-hero h1{font-family:var(--fd);font-weight:560;font-size:clamp(2.4rem,5.4vw,4.6rem);letter-spacing:-.025em;line-height:1.02;color:var(--cream)}
.page-lede{max-width:54ch;color:var(--body-c);margin-top:1.3rem;font-size:1.02rem}
.crumb{color:var(--yellow);border-bottom:1px solid currentColor;padding-bottom:.2rem}

.detail-grid{background:var(--bg0);padding:2rem var(--gut) 10vh}
.detail-inner{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:clamp(2.5rem,5vw,5.5rem)}
.d-aside{position:sticky;top:6.5rem;align-self:start}
.d-label{font-family:var(--fm);font-size:.58rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--mut);margin-bottom:1rem}
.d-list{list-style:none}
.d-list li{border-bottom:1px solid var(--line)}
.d-list button{display:block;width:100%;text-align:left;background:none;border:0;padding:.7rem 0;font:500 .88rem var(--fb);color:var(--cream);transition:color .3s}
.d-list button:hover{color:var(--yellow)}
.d-card{margin-top:2rem;padding:1.5rem;border:1px solid var(--line);background:var(--glass2)}
.d-card .btn{width:100%;justify-content:space-between;margin-bottom:.7rem}
.d-card .wa,.d-card .pt{display:block;text-align:center;font-family:var(--fm);font-size:.56rem;letter-spacing:.16em;color:var(--mut);padding-top:.45rem;transition:color .3s}
.d-card .wa:hover,.d-card .pt:hover{color:var(--yellow)}
.d-fig{margin-bottom:3rem;background:#0C1810;border:1px solid var(--line)}
.d-fig img{width:100%;aspect-ratio:21/9;object-fit:cover}
.d-sec{margin-bottom:3.4rem;max-width:62ch;scroll-margin-top:6rem}
.d-sec h2{font-family:var(--fd);font-weight:560;font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:1rem;color:var(--cream)}
.d-sec p{color:var(--body-c);margin-bottom:1rem;line-height:1.75}
.dash{list-style:none}
.dash li{position:relative;padding-left:1.6rem;margin-bottom:.65rem}
.dash li::before{content:'—';position:absolute;left:0;color:var(--yellow)}
.dash--lg li{font-size:1.02rem;margin-bottom:.85rem}
.visa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.3rem;margin-bottom:3.4rem}
.visa-card{border:1px solid var(--line);background:var(--glass);padding:1.6rem;transition:border-color .4s}
.visa-card:hover{border-color:rgba(255,237,0,.35)}
.visa-code{font-family:var(--fm);font-size:1.6rem;font-weight:600;color:var(--yellow)}
.visa-name{font-family:var(--fd);font-weight:560;font-size:1.2rem;margin:.4rem 0 .5rem;color:var(--cream)}
.visa-blurb{font-size:.84rem;color:var(--body-c);margin-bottom:1rem}
@media(max-width:900px){.detail-inner{grid-template-columns:1fr}.d-aside{position:static}}

.dest-sec{background:var(--bg0);padding:2rem var(--gut) 10vh}
.dest-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,1.6rem)}
.dest{position:relative;overflow:hidden;background:#0C1810;display:block;border:1px solid var(--line)}
.dest:nth-child(6n+1){grid-column:span 7;aspect-ratio:16/10}
.dest:nth-child(6n+2){grid-column:span 5;aspect-ratio:4/5}
.dest:nth-child(6n+3){grid-column:span 5;aspect-ratio:4/5}
.dest:nth-child(6n+4){grid-column:span 7;aspect-ratio:16/10}
.dest:nth-child(6n+5){grid-column:span 7;aspect-ratio:16/10}
.dest:nth-child(6n+6){grid-column:span 5;aspect-ratio:4/5}
.dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:transform 1.2s var(--ease)}
.dest:hover img{transform:scale(1.055)}
.dest::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(7,13,9,.8),rgba(7,13,9,.06) 55%)}
.dest-idx{position:absolute;top:1.2rem;left:1.4rem;z-index:2;font-family:var(--fm);font-size:.62rem;letter-spacing:.2em;color:var(--yellow)}
.dest-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.4rem 1.6rem;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;color:var(--cream)}
.dest-name{font-family:var(--fd);font-weight:560;font-size:clamp(1.25rem,2.2vw,1.8rem);letter-spacing:-.01em}
.dest-name span{display:block;font-family:var(--fm);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(244,241,230,.7);margin-top:.4rem}
.dest-meta{font-family:var(--fm);font-size:.64rem;letter-spacing:.08em;color:rgba(244,241,230,.85);text-align:right}
@media(max-width:800px){.dest{grid-column:1/-1 !important;aspect-ratio:4/3 !important}}

.blog-sec{background:var(--bg0);padding:2rem var(--gut) 10vh}
.feat{max-width:1500px;margin:0 auto 3.5rem;display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(1.5rem,4vw,4rem)}
.feat-img{overflow:hidden;background:#0C1810;border:1px solid var(--line)}
.feat-img img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform 1.2s var(--ease)}
.feat:hover .feat-img img{transform:scale(1.04)}
.feat-body{align-self:center}
.feat-title{font-family:var(--fd);font-weight:560;font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.08;margin:1rem 0;color:var(--cream)}
.feat-ex{color:var(--body-c);margin-bottom:1.6rem;max-width:52ch}
.feat-body .sec-link{color:var(--cream)}
.post-list{max-width:1500px;margin:0 auto;border-top:1px solid var(--line)}
.post-row{display:grid;grid-template-columns:112px 1fr 2.5rem;gap:1.6rem;align-items:center;padding:1.4rem .6rem;border-bottom:1px solid var(--line);transition:background .3s}
.post-row:hover{background:rgba(0,128,55,.12)}
.post-thumb{width:112px;height:76px;object-fit:cover;background:#0C1810;filter:grayscale(.35);transition:filter .5s}
.post-row:hover .post-thumb{filter:grayscale(0)}
.post-cat{display:block;font-family:var(--fm);font-size:.58rem;letter-spacing:.2em;color:var(--yellow);margin-bottom:.4rem}
.post-title{font-family:var(--fd);font-weight:560;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.25;color:var(--cream)}
.post-arw{font-family:var(--fm);color:var(--cream);transition:transform .35s var(--ease),color .3s}
.post-row:hover .post-arw{transform:translateX(6px);color:var(--yellow)}
@media(max-width:700px){.post-thumb{display:none}.post-row{grid-template-columns:1fr 2rem}.feat{grid-template-columns:1fr}}

.prose-sec{background:var(--bg0);padding:2rem var(--gut) 8vh}
.prose-fig{max-width:1000px;margin:0 auto 3rem;background:#0C1810;border:1px solid var(--line)}
.prose-fig img{width:100%;aspect-ratio:21/9;object-fit:cover}
.prose{max-width:70ch;margin:0 auto;font-size:1.04rem;color:var(--body-c)}
.prose h2{font-family:var(--fd);font-weight:560;font-size:1.55rem;margin:2.4rem 0 .9rem;color:var(--cream)}
.prose p{margin-bottom:1.35rem;line-height:1.85}
.prose ul{margin:0 0 1.5rem;list-style:none}
.prose li{padding-left:1.6rem;position:relative;margin-bottom:.55rem;line-height:1.7}
.prose li::before{content:'—';position:absolute;left:0;color:var(--yellow)}
.prose blockquote{margin:2rem 0;padding:1.3rem 1.7rem;border-left:2px solid var(--yellow);background:var(--glass);font-family:var(--fd);font-weight:500;font-size:1.18rem;line-height:1.5;color:var(--cream)}
.prose strong{color:var(--cream)}
.prose>p:first-of-type::first-letter{font-family:var(--fd);font-weight:600;font-size:3.5em;float:left;line-height:.82;padding-right:.13em;color:var(--yellow)}
.prose-foot{max-width:70ch;margin:2.6rem auto 0;padding-top:2rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1.4rem;flex-wrap:wrap}
.prose-foot p{font-family:var(--fd);font-weight:560;font-size:1.1rem;color:var(--cream)}

.about-sec{background:var(--bg0);padding:2rem var(--gut) 10vh}
.about-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.about-copy p{font-size:1.04rem;line-height:1.85;color:var(--body-c);margin-bottom:1.4rem;max-width:62ch}
.about-copy .drop::first-letter{font-family:var(--fd);font-weight:600;font-size:3.4em;float:left;line-height:.82;padding-right:.13em;color:var(--yellow)}
.stamp-wrap{width:190px;margin:1rem auto}
.stamp{width:100%;fill:none;stroke:var(--yellow);stroke-width:1;opacity:.9}
.stamp-rotor{transform-origin:60px 60px;animation:spin 26s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.stamp-ring{font-family:var(--fm);font-size:8.2px;font-weight:500;letter-spacing:.22em;fill:var(--yellow);stroke:none;text-transform:uppercase}
.stamp-core{font-family:var(--fm);font-size:11px;font-weight:600;letter-spacing:.14em;fill:var(--lime);stroke:none}
.prin{max-width:1500px;margin:8vh auto 0}
.prin h2.pt-h{font-family:var(--fd);font-weight:560;font-size:clamp(2rem,4vw,3.4rem);color:var(--cream)}
.prin-row{display:grid;grid-template-columns:4.5rem 1.2fr 1fr;gap:1.4rem;padding:1.7rem .4rem;border-bottom:1px solid var(--line);align-items:baseline}
.prin-row b{font-family:var(--fm);font-weight:500;font-size:.78rem;color:var(--yellow)}
.prin-row h3{font-family:var(--fd);font-weight:560;font-size:clamp(1.3rem,2.2vw,1.8rem);color:var(--cream)}
.prin-row p{font-size:.9rem;color:var(--body-c)}
@media(max-width:800px){.about-grid{grid-template-columns:1fr}.prin-row{grid-template-columns:2.6rem 1fr}.prin-row p{grid-column:2}}

.contact-sec{background:var(--bg0);padding:2rem var(--gut) 10vh}
.contact-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2.5rem,6vw,6rem)}
.c-row{display:grid;grid-template-columns:110px 1fr;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.c-label{font-family:var(--fm);font-size:.58rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow)}
.c-row a{border-bottom:1px solid transparent;transition:border-color .3s,color .3s}
.c-row a:hover{border-color:var(--yellow);color:var(--yellow)}
.form{display:flex;flex-direction:column;gap:1.6rem}
.field{display:flex;flex-direction:column}
.field label{font-family:var(--fm);font-size:.58rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);margin-bottom:.35rem;transition:color .3s}
.field:focus-within label{color:var(--yellow)}
.field input,.field select,.field textarea{background:rgba(244,241,230,.04);border:1px solid var(--line2);padding:.85rem 1rem;font:400 1rem var(--fb);color:var(--cream);outline:none;transition:border-color .3s,background .3s}
.field input::placeholder,.field textarea::placeholder{color:var(--mut)}
.field select option{color:#0B140D;background:#F4F1E6}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--yellow);background:rgba(255,237,0,.04)}
.field-half{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.f-err{font-family:var(--fm);font-size:.66rem;color:#FF7A5C;margin-top:.4rem;min-height:1em}
.hp{position:absolute;left:-9999px}
.form-msg{font-family:var(--fm);font-size:.8rem;color:var(--lime)}
.form-msg.bad{color:#FF7A5C}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.field-half{grid-template-columns:1fr}}

/* ============ AUTH + PORTAL + ADMIN ============ */
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:9rem var(--gut) 5rem;background:radial-gradient(circle at 50% 0%,#123B24 0%,var(--bg0) 55%)}
.auth-card{width:min(480px,100%);background:var(--glass2);backdrop-filter:blur(18px);border:1px solid var(--line);padding:clamp(1.8rem,4vw,2.8rem)}
.auth-card h1{font-family:var(--fd);font-weight:560;font-size:clamp(1.7rem,3.4vw,2.4rem);color:var(--cream);margin-bottom:.5rem}
.auth-card .sub{font-size:.9rem;color:var(--body-c);margin-bottom:1.8rem}
.auth-alt{text-align:center;margin-top:1.4rem;font-size:.85rem;color:var(--body-c)}
.auth-alt a{color:var(--yellow);border-bottom:1px solid var(--yellow);padding-bottom:.1rem}
.demo-hint{margin-top:1.4rem;padding:.9rem 1.1rem;border:1px dashed rgba(255,237,0,.4);font-family:var(--fm);font-size:.6rem;letter-spacing:.08em;color:var(--mut);line-height:1.8}
.demo-hint b{color:var(--yellow);font-weight:600}
.notice{margin-bottom:1.4rem;padding:.8rem 1rem;border-left:2px solid var(--yellow);background:rgba(255,237,0,.06);font-size:.85rem;color:var(--cream)}
.notice.bad{border-color:#FF5A3C;background:rgba(255,90,60,.07)}

.pt-sec{background:var(--bg0);padding:2rem var(--gut) 10vh}
.pt-inner{max-width:1200px;margin:0 auto}
.pt-top{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:3rem}
.pt-email{font-family:var(--fm);font-size:.62rem;letter-spacing:.1em;color:var(--mut)}
.apps{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.app-card{border:1px solid var(--line);background:var(--glass);padding:1.7rem;transition:border-color .4s,transform .4s var(--ease)}
.app-card:hover{border-color:rgba(193,251,75,.4);transform:translateY(-4px)}
.app-card h3{font-family:var(--fd);font-weight:560;font-size:1.35rem;color:var(--cream);margin-bottom:.35rem}
.app-card .ac-sub{font-size:.84rem;color:var(--body-c);margin-bottom:1.2rem}
.pbar{height:4px;background:rgba(244,241,230,.12);overflow:hidden;margin-bottom:.6rem}
.pbar i{display:block;height:100%;background:linear-gradient(90deg,var(--green-2),var(--lime));transition:width .8s var(--ease)}
.ac-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:var(--fm);font-size:.6rem;letter-spacing:.14em;color:var(--mut);flex-wrap:wrap}
.chip{font-family:var(--fm);font-size:.55rem;font-weight:600;letter-spacing:.14em;padding:.32rem .6rem;border:1px solid var(--line2);color:var(--body-c);white-space:nowrap}
.chip.ok{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.chip.done{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.chip.bad{background:#FF5A3C;border-color:#FF5A3C;color:var(--ink)}
@media(max-width:820px){.apps{grid-template-columns:1fr}}

.doc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.4rem}
.doc-list{border-top:1px solid var(--line)}
.doc-row{display:grid;grid-template-columns:2.4rem 1fr auto;gap:1.2rem;align-items:center;padding:1.25rem .4rem;border-bottom:1px solid var(--line);transition:background .3s}
.doc-row.miss{background:rgba(255,90,60,.08);box-shadow:inset 2px 0 0 #FF5A3C}
.doc-num{font-family:var(--fm);font-size:.7rem;color:var(--mut)}
.doc-name{font-family:var(--fd);font-weight:560;font-size:1.1rem;color:var(--cream);display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.doc-desc{font-size:.82rem;color:var(--body-c);margin-top:.2rem}
.doc-file{font-family:var(--fm);font-size:.58rem;letter-spacing:.06em;color:var(--lime);margin-top:.35rem;word-break:break-all}
.doc-acts{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.extra-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem .4rem;border-bottom:1px solid var(--line)}
.extra-row input{background:rgba(244,241,230,.04);border:1px solid var(--line2);color:var(--cream);padding:.6rem .8rem;font:400 .9rem var(--fb);outline:none;min-width:0}
.extra-row input:focus{border-color:var(--yellow)}
.doc-footer{margin-top:2.6rem;padding-top:2rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap}
.df-progress{min-width:220px;flex:1}
.df-note{font-family:var(--fm);font-size:.56rem;letter-spacing:.14em;color:var(--mut);margin-top:.5rem}
.success-panel{border:1px solid rgba(193,251,75,.5);background:rgba(193,251,75,.07);padding:2.2rem;text-align:center;margin-top:2rem}
.success-panel b{font-family:var(--fm);font-size:1.1rem;color:var(--lime);letter-spacing:.06em;display:block;margin:.6rem 0}

/* admin */
.adm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-bottom:3rem}
.adm-cell{border:1px solid var(--line);background:var(--glass);padding:1.6rem;transition:border-color .4s}
.adm-cell:hover{border-color:rgba(255,237,0,.4)}
.adm-cell b{display:block;font-family:var(--fd);font-weight:600;font-size:1.9rem;color:var(--cream);line-height:1;margin-bottom:.5rem}
.adm-cell span{font-family:var(--fm);font-size:.55rem;letter-spacing:.2em;color:var(--mut)}
.adm-cell .btn{margin-top:1.1rem}
@media(max-width:820px){.adm-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.adm-grid{grid-template-columns:1fr}}
.adm-row{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;padding:1.1rem .4rem;border-bottom:1px solid var(--line)}
.adm-row .doc-acts{justify-content:flex-start}
.pf{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;border:1px solid var(--line);background:var(--glass);padding:1.6rem;margin-bottom:2rem}
.pf .field label{margin-bottom:.35rem}
.pf-full{grid-column:1/-1}
.pf-rows{display:flex;flex-direction:column;gap:1.2rem;border:1px solid var(--line);background:var(--glass);padding:1.6rem;margin-bottom:2rem}
.pf-rows .field{min-width:0}

.toast{position:fixed;left:50%;bottom:26px;translate:-50% 0;z-index:1400;background:var(--glass2);backdrop-filter:blur(14px);
  border:1px solid var(--line2);border-left:3px solid var(--yellow);color:var(--cream);padding:.9rem 1.3rem;
  font-family:var(--fm);font-size:.66rem;letter-spacing:.08em;opacity:0;transform:translateY(14px);transition:.4s var(--ease);pointer-events:none;max-width:88vw}
.toast.show{opacity:1;transform:none}
.modal{position:fixed;inset:0;z-index:1350;background:rgba(5,9,6,.8);backdrop-filter:blur(8px);display:grid;place-items:center;padding:1.5rem;opacity:0;visibility:hidden;transition:.35s var(--ease)}
.modal.open{opacity:1;visibility:visible}
.modal-card{width:min(560px,100%);background:#0D1A11;border:1px solid var(--line2);padding:1.8rem;max-height:86vh;overflow:auto}
.modal-card h3{font-family:var(--fd);font-weight:560;font-size:1.3rem;color:var(--cream);margin-bottom:1rem}
.modal-img{width:100%;max-height:46vh;object-fit:contain;background:#081009;border:1px solid var(--line);margin-bottom:1rem}
.file-chip{display:flex;align-items:center;gap:1rem;border:1px dashed var(--line2);padding:1.1rem;margin-bottom:1rem}
.file-chip .fc-ic{width:44px;height:44px;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font-family:var(--fm);font-weight:600;font-size:.6rem;flex:none}
.file-chip .fc-name{font-family:var(--fm);font-size:.7rem;color:var(--cream);word-break:break-all}
.file-chip .fc-sub{font-family:var(--fm);font-size:.56rem;color:var(--mut);margin-top:.25rem}
.modal-note{font-size:.8rem;color:var(--body-c);line-height:1.6}
.modal-x{margin-top:1.2rem}

.nf-sec{min-height:70vh;display:flex;align-items:center;padding:10rem var(--gut) 6rem;background:radial-gradient(circle at 50% 20%,#123B24,var(--bg0) 60%)}
.nf-sec h1{font-family:var(--fd);font-weight:560;font-size:clamp(2.6rem,6vw,5rem);letter-spacing:-.025em;color:var(--cream)}
.nf-sec p{color:var(--body-c);margin:1.2rem 0 2rem}

.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}
  .rv,.pillr,.j-card{opacity:1;transform:none}
  .ln i{transform:none}
  .morph-el{display:none !important}
  .pw-brand{opacity:1 !important}
}

/* ================= server build additions ================= */
/* SVG wordmark — inherits the nav colour, plane picks up the accent */
.logo-img{height:48px;width:auto;mix-blend-mode:normal;color:inherit;overflow:visible}
body.on-light .logo-img{filter:none}
.logo-plane{color:var(--yellow)}
body.on-light .nav .logo-plane{color:var(--green)}
#morphLogo{color:#FFFFFF;mix-blend-mode:normal}
#morphLogo .morph-svg{display:block;height:100%;width:auto;overflow:visible}
.foot-logo-a{display:inline-block;color:var(--cream)}
.foot-logo{display:block;width:min(300px,74vw);height:auto;mix-blend-mode:normal;overflow:visible}
.skip{position:fixed;left:1rem;top:-4rem;z-index:2000;background:var(--yellow);color:var(--ink);padding:.6rem 1rem;font-family:var(--fm);font-size:.7rem;letter-spacing:.14em}
.skip:focus{top:1rem}
.nav-auth form,.mnav-auth form{display:inline}
.toast.bad{border-color:#FF5A3C;color:#FFB4A3}
.d-list a{display:block;padding:.3rem 0;color:inherit;transition:color .3s}
.d-list a:hover{color:var(--yellow)}

/* uploads: the native file input hides inside its button-label */
.up-form{display:inline-flex}
label.btn{position:relative;overflow:hidden}
label.btn .file-in{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
label.btn.busy{opacity:.6;pointer-events:none}
.extra-add{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem .4rem;border-bottom:1px solid var(--line)}
.extra-add input[type=text]{background:rgba(244,241,230,.04);border:1px solid var(--line2);color:var(--cream);padding:.6rem .8rem;font:400 .9rem var(--fb);outline:none;min-width:0}
.extra-add input[type=text]:focus{border-color:var(--yellow)}
.modal-card{width:min(760px,100%)}
.modal-pdf{width:100%;height:62vh;border:1px solid var(--line);background:#fff;margin-bottom:1rem}
.modal-x{display:flex;gap:.7rem;justify-content:flex-end;flex-wrap:wrap}

/* admin */
.adm-row select,.review-form textarea{background:rgba(244,241,230,.04);border:1px solid var(--line2);color:var(--cream);padding:.55rem .7rem;font:400 .85rem var(--fb);outline:none}
.adm-row select option{color:#0B140D;background:#F4F1E6}
.review-form textarea{width:100%;resize:vertical}
.adm-row input[type=number]{background:rgba(244,241,230,.04);border:1px solid var(--line2);color:var(--cream);padding:.55rem .7rem;font:400 .9rem var(--fb);outline:none}
.enq-msg{margin-top:.6rem;font-size:.88rem;color:var(--cream);white-space:pre-wrap;max-width:70ch}
.doc-desc a{color:var(--yellow)}
button.chip{font:inherit;font-family:var(--fm);font-size:.55rem;font-weight:600;letter-spacing:.14em}

/* destination page + tracker */
.dest-fare{display:flex;flex-direction:column;margin:.4rem 0 1.4rem}
.dest-fare b{font-family:var(--fd);font-weight:560;font-size:3rem;line-height:1;color:var(--yellow)}
.dest-fare span{font-family:var(--fm);font-size:.55rem;letter-spacing:.18em;color:var(--mut);margin-top:.5rem}
.mini-dests{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.mini-dests a{background:var(--bg0);padding:1.2rem;display:flex;flex-direction:column;gap:.4rem;transition:background .3s}
.mini-dests a:hover{background:var(--bg1)}
.mini-dests b{font-family:var(--fd);font-weight:560;font-size:1.3rem;color:var(--cream)}
.mini-dests span{font-family:var(--fm);font-size:.55rem;letter-spacing:.16em;color:var(--mut)}
.track-wrap{max-width:760px;margin-inline:auto}
@media (max-width:640px){
  .extra-add{grid-template-columns:1fr}
  .adm-row{grid-template-columns:1fr}
}
.adm-cell span{display:block}
.c-row>*{min-width:0;overflow-wrap:anywhere}
@media (max-width:520px){.c-row{grid-template-columns:1fr !important;gap:.35rem !important}}
.contact-grid>*{min-width:0}

/* ================= UI audit fixes (mobile-first) ================= */
/* phone menu: the header (logo + close button) stays above the open sheet */
body.menu-open .nav{z-index:1200;background:transparent !important;border-color:transparent !important;backdrop-filter:none !important;color:var(--cream) !important}
body.menu-open .nav .logo-plane{color:var(--yellow) !important}
.burger{width:44px;height:44px;margin-right:-5px}
.burger i{left:5px;width:34px}
.burger i:first-child{top:17px}.burger i:last-child{bottom:17px}
.burger.x i:first-child{top:21px}.burger.x i:last-child{bottom:21px}
.mnav{justify-content:flex-start;overflow-y:auto;padding-top:clamp(5.5rem,14vh,8rem)}
.mnav-auth{flex-direction:column;align-items:stretch;gap:0;margin-top:1rem}
.mnav-auth .big{width:100%}
.mnav-auth form{display:block;margin-top:1.4rem}
.mnav-auth > .na-link,.mnav-auth > .na-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:1rem}
.mnav-auth > .na-link{border:1px solid var(--line2);padding:0 1.2rem;font-family:var(--fm);font-size:.62rem;font-weight:600;letter-spacing:.18em}

/* journal covers keep their box while images load */
.post-thumb{aspect-ratio:4/3;object-fit:cover;background:#0C1810}

/* admin rows never push the page sideways */
.adm-row>*,.doc-row>*,.extra-row>*{min-width:0;overflow-wrap:anywhere}

@media (max-width:820px){
  /* hero: window, brand and strapline share the screen without colliding */
  .pwindow{--w:min(38vh,72vw);top:47%}
  .zg-l{top:max(5.5rem,10vh)}
  .zg-sub{bottom:12vh;max-width:none;right:4vw}
  .zg-sub b{margin-bottom:.5rem}
  .zg-cue{bottom:4vh}
  .pw-brand .pb1,#morphText .mt1{font-size:min(clamp(1.9rem,5.4vh,3.3rem),8.2vw)}
  .pw-brand .pb2,#morphText .mt2{font-size:min(clamp(.7rem,1.95vh,1.2rem),2.9vw)}

  /* house: let the statement flow instead of forced desktop line breaks */
  .house-line{max-width:none;font-size:clamp(1.55rem,6.6vw,2.4rem);line-height:1.22}
  .house-line .ln{display:inline;overflow:visible}
  .house-line .ln i{display:inline;transform:none;opacity:0;transition:opacity .9s var(--ease);transition-delay:var(--d,0s)}
  .house-line .ln.in i{opacity:1}
  .house-line .ln::after{content:' '}

  /* journeys: shorter pin, card visible from the start, no dead space */
  .journeys{height:200vh}
  .j-pin{display:flex;flex-direction:column;justify-content:center;gap:1.4rem;padding:6.5rem var(--gut) 2.5rem}
  .j-left,.j-right{flex:0 0 auto}
  .j-card{opacity:1;transform:none}
  .jet{height:62vh;opacity:.35}

  .who-panel{padding:1.8rem 1.4rem}
  .page-hero{padding:7.5rem var(--gut) 2.6rem}
  .deals{padding-inline:var(--gut)}
  .deal-grid{grid-template-columns:1fr}
  .stats-grid b{font-size:2.4rem}
  .global-word{font-size:clamp(4rem,22vw,8rem)}
  .g-head{padding-top:7vh}
  .ticket{width:min(280px,84vw)}
}

@media (max-width:640px){
  /* footer: two link columns side by side, brand + contact full width */
  .foot-grid{grid-template-columns:1fr 1fr;gap:2rem 1.2rem}
  .foot-grid .foot-col:first-child,.foot-grid .foot-col:last-child{grid-column:1/-1}
  .foot-col a{padding:.45rem 0;font-size:.88rem}
  .foot-legal{flex-direction:column;gap:.6rem;line-height:1.7}
  .footer{padding-bottom:3rem}

  /* portal checklist: number + text on top, actions on their own row */
  .doc-row{grid-template-columns:1.8rem 1fr;gap:.4rem .8rem;align-items:start;padding:1.1rem .2rem}
  .doc-row .doc-acts{grid-column:2;justify-content:flex-start;margin-top:.5rem}
  .doc-num{padding-top:.3rem}
  .extra-row{grid-template-columns:1fr}
  .extra-row .doc-acts{justify-content:flex-start}
  .doc-footer{flex-direction:column;align-items:stretch}
  .doc-footer .btn,.doc-footer form{width:100%}
  .doc-footer .btn{justify-content:space-between}
  .adm-row{grid-template-columns:1fr;gap:.7rem}
  .adm-row>span:empty{display:none}
  .adm-row .doc-acts{justify-content:flex-start}

  /* service / destination detail: CTA card first, contents list dropped */
  .d-aside > .d-label:first-child,.d-aside > .d-list{display:none}
  .d-card{margin-top:0}

  /* thumb-friendly controls */
  .btn{min-height:46px}
  .btn--sm{min-height:42px;padding:.6rem 1.05rem}
  .sec-link,.crumb,.j-sub a,.d-card .wa,.d-card .pt{padding-block:.55rem;display:inline-block}
  .chip{padding:.4rem .65rem}
  input[type=checkbox]{width:20px;height:20px}
  /* 16px inputs stop iOS from zooming the page on focus */
  .field input,.field select,.field textarea,.extra-row input,.extra-add input[type=text],.adm-row select,.adm-row input,.review-form textarea,.news-form input{font-size:16px}
  .toast{width:calc(100vw - 2rem);max-width:none;text-align:center}
  .modal{padding:.8rem}
  .modal-card{padding:1.3rem}
  .modal-pdf{height:58vh}
  .prose{font-size:1rem}
  .prose-fig img{aspect-ratio:16/10}
  .auth-wrap{padding-top:7rem;align-items:start}
  .nf-sec{padding-top:7.5rem}
}

@media (max-width:380px){
  .zg-l{font-size:2.35rem}
  .logo-img{height:40px}
}
@media (max-width:820px) and (max-height:700px){.j-sub{font-size:.78rem}.j-sub b{margin-bottom:.4rem}.j-pin{gap:.9rem}}
@media (max-width:820px){
  .j-left,.j-right{width:100%}
  .j-card{width:100%;max-width:none}
}
@media (max-width:640px){
  .svc-cell figure{aspect-ratio:16/9}
  .svc-big .svc-card{aspect-ratio:16/11}
}
.svc-cell figure{position:relative;flex:none}.svc-cell figure img{position:absolute;inset:0}
@media (max-width:640px){
  .j-card a,.g-contact a,.deal-cta .sec-link,.svc-head .sec-link{display:inline-block;padding-block:.75rem}
  .g-contact a{display:block}
  .d-card .wa,.d-card .pt{padding-block:.8rem}
  button.chip{min-height:42px;padding-inline:.9rem}
  .adm-row input[type=number]{min-height:42px}
}

/* ================= Hero v2: two-column, static window brand ================= */
.zg-copy{left:max(4vw,var(--gut));top:50%;translate:0 -46%;width:min(44vw,640px)}
.zg-copy .zg-l{position:static;font-size:clamp(2.7rem,6.2vw,7rem)}
.zg-copy .zg-sub{position:static;margin-top:clamp(1.4rem,3.4vh,2.6rem);max-width:36ch}
.zg-copy .zg-sub h3{font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.3}
.zg-copy .zg-sub small{margin-top:1.3rem}
.zg-copy{pointer-events:auto}
.zg-cta{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}
.pwindow{--w:min(60vh,40vw);left:auto;right:max(6vw,calc(var(--gut) + 2vw));translate:0 -50%}
/* the logo rests on the clouds and fades as you fly through the glass */
.pw-brand{width:78%;text-shadow:none;filter:drop-shadow(0 6px 26px rgba(4,16,9,.45))}
.pw-brand .pw-logo{display:block;width:100%;height:auto;color:#fff;overflow:visible}
.pw-brand .logo-plane{color:var(--yellow)}
/* altimeter waits until the hero has been flown through */
.hud{opacity:0;transition:opacity .5s var(--ease)}
body.hud-on .hud{opacity:1}
/* jet: transforms come from JS; centre origin so banking pivots on the fuselage */
.jet{transform-origin:50% 45%;will-change:transform}

@media (max-width:820px){
  .zg-copy{left:var(--gut);right:var(--gut);top:max(5.2rem,9vh);translate:none;width:auto}
  .zg-copy .zg-l{font-size:clamp(2.4rem,11vw,3.4rem)}
  .zg-copy .zg-sub{margin-top:.9rem;max-width:none}
  .zg-copy .zg-sub h3,.zg-copy .zg-sub p,.zg-copy .zg-sub small,.zg-cta{display:none}
  .pwindow{--w:min(37vh,70vw);left:50%;right:auto;top:60%;translate:-50% -50%}
  .zg-cue{left:50%;right:auto;translate:-50% 0;bottom:3.5vh}
}
@media (max-width:820px) and (max-height:700px){.pwindow{--w:min(34vh,64vw);top:61%}}
@media (min-width:821px) and (max-height:700px){.zg-copy .zg-sub p{display:none}}

/* ================= Live-site content ================= */
.stats-grid .star{font-size:.45em;color:var(--yellow);vertical-align:.9em;margin-left:.15em}

/* reviews */
.reviews{background:var(--bg1);padding:clamp(4rem,9vw,8rem) var(--gut);border-top:1px solid var(--line)}
.rev-head{max-width:1500px;margin:0 auto 3rem;display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap}
.rev-head h2{font-family:var(--fd);font-weight:560;font-size:clamp(2rem,4.4vw,3.6rem);letter-spacing:-.02em;line-height:1.04;color:var(--cream)}
.rev-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.2rem}
.rev{background:var(--glass);border:1px solid var(--line);padding:1.7rem;display:flex;flex-direction:column;gap:1.1rem;transition:border-color .4s}
.rev:hover{border-color:rgba(255,237,0,.35)}
.rev-stars{color:var(--yellow);letter-spacing:.2em;font-size:.85rem}
.rev blockquote{font-size:.98rem;line-height:1.7;color:var(--cream);flex:1}
.rev figcaption{display:flex;align-items:center;gap:.8rem;border-top:1px solid var(--line);padding-top:1rem}
.rev-av,.team-av{display:grid;place-items:center;border-radius:50%;background:var(--green);color:var(--cream);font-family:var(--fm);font-weight:600;flex:none}
.rev-av{width:40px;height:40px;font-size:.7rem}
.rev figcaption b{display:block;color:var(--cream);font-weight:600;font-size:.92rem}
.rev figcaption em{font-style:normal;font-family:var(--fm);font-size:.56rem;letter-spacing:.16em;color:var(--mut);text-transform:uppercase}

/* FAQ — native details/summary */
.faq-sec{background:var(--bg0);padding:clamp(4rem,8vw,7rem) var(--gut)}
.faq-sec--page{padding-top:0}
.faq-inner{max-width:980px;margin:0 auto}
.faq-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:2.2rem}
.faq-head .kicker{width:100%;margin-bottom:.4rem}
.faq-head h2{font-family:var(--fd);font-weight:560;font-size:clamp(2rem,4.4vw,3.4rem);letter-spacing:-.02em;color:var(--cream)}
.faq-group{margin-bottom:3rem}
.faq-group .d-label{margin-bottom:.8rem}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.2rem;padding:1.25rem .2rem;font-family:var(--fd);font-weight:500;font-size:clamp(1rem,1.6vw,1.2rem);color:var(--cream);min-height:56px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary i{font-style:normal;font-family:var(--fm);color:var(--yellow);font-size:1.3rem;transition:transform .35s var(--ease);flex:none}
.faq-item[open] summary i{transform:rotate(45deg)}
.faq-item summary:hover{color:var(--yellow)}
.faq-item p{padding:0 .2rem 1.4rem;max-width:68ch;color:var(--body-c);line-height:1.75}

/* team */
.team{margin-top:5rem}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem;margin-top:2rem}
.team-card{border:1px solid var(--line);background:var(--glass);padding:1.6rem;display:flex;flex-direction:column;gap:.35rem}
.team-av{width:56px;height:56px;font-size:.85rem;margin-bottom:.8rem}
.team-card b{font-family:var(--fd);font-weight:560;font-size:1.2rem;color:var(--cream)}
.team-card em{font-style:normal;font-family:var(--fm);font-size:.58rem;letter-spacing:.18em;color:var(--yellow);text-transform:uppercase}

/* journal topic filter */
.cat-chips{max-width:1500px;margin:0 auto 2.4rem;display:flex;gap:.5rem;flex-wrap:wrap}
.cat-chips a{font-family:var(--fm);font-size:.58rem;font-weight:600;letter-spacing:.16em;padding:.7rem 1rem;border:1px solid var(--line2);color:var(--body-c);transition:.3s}
.cat-chips a:hover{border-color:var(--yellow);color:var(--yellow)}
.cat-chips a.on{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}

/* imported articles use more of HTML than the mock's posts did */
.prose h3{font-family:var(--fd);font-weight:560;font-size:1.25rem;margin:2rem 0 .7rem;color:var(--cream)}
.prose h4{font-family:var(--fm);font-weight:600;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin:1.8rem 0 .6rem;color:var(--yellow)}
.prose ol{margin:0 0 1.5rem 1.4rem}
.prose ol li{padding-left:.3rem}
.prose ol li::before{content:none}
.prose a{color:var(--yellow);border-bottom:1px solid rgba(255,237,0,.4)}
.prose img{width:100%;height:auto;margin:1.6rem 0;border:1px solid var(--line)}
.prose figure{margin:1.6rem 0}
.prose table{width:100%;border-collapse:collapse;margin:1.6rem 0;font-size:.92rem;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line2);padding:.65rem .8rem;text-align:left;vertical-align:top}
.prose th{background:var(--glass2);color:var(--cream);font-weight:600}
.post-thumb[src$=".svg"]{object-fit:cover}

@media (max-width:640px){
  .rev-grid{grid-template-columns:1fr}
  .faq-item summary{padding:1.1rem 0}
  .team-grid{grid-template-columns:1fr 1fr}
  .cat-chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);scrollbar-width:none}
  .cat-chips a{flex:none;min-height:42px;display:inline-flex;align-items:center}
}
@media (min-width:821px){
  .zg-copy{width:min(42vw,640px)}
  .pwindow{--w:min(64vh,38vw);right:auto;left:69%;translate:-50% -50%}
}
@media (min-width:821px){
  .pwindow{--w:min(57vh,38vw);top:54%}
  .zg-copy .zg-sub{max-width:none}
  .zg-copy .zg-sub h3,.zg-copy .zg-sub p,.zg-copy .zg-sub b{max-width:36ch}
  .zg-copy{top:54%}
}
@media (max-width:820px){.zg-cue{white-space:nowrap;font-size:.54rem;letter-spacing:.22em;gap:.6rem}}
@media (min-width:600px) and (max-width:820px){
  .pwindow{--w:min(45vh,58vw);top:59%}
  .zg-copy .zg-sub p{display:block;max-width:48ch;margin-top:.6rem}
}

/* ================= Round 4: mega menu, catalogue, mobile layouts ================= */
/* ---- mega menu (desktop) ---- */
.nav-inner{position:static}
.mega{display:flex;gap:.4rem;align-items:center}
.mm-top{display:inline-flex;align-items:center;gap:.45rem;padding:.75rem .9rem;font-size:.86rem;font-weight:500;letter-spacing:.02em;opacity:.85;transition:opacity .3s,color .3s;position:relative}
.mm-top svg{width:10px;height:6px;transition:transform .3s var(--ease)}
.mm-item:hover .mm-top,.mm-item.open .mm-top,.mm-item.on .mm-top{opacity:1}
.mm-item.on .mm-top::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.35rem;height:1px;background:currentColor}
.mm-item.open .mm-top svg{transform:rotate(180deg)}
.mm-panel{position:absolute;left:0;right:0;top:100%;background:rgba(8,14,10,.97);backdrop-filter:blur(18px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;color:var(--cream);box-shadow:0 40px 80px rgba(0,0,0,.45)}
.mm-item.open .mm-panel{opacity:1;visibility:visible;transform:none}
.mm-inner{max-width:1600px;margin:0 auto;padding:2.2rem var(--gut) 2rem;display:grid;grid-template-columns:1fr 300px;gap:1.6rem 2.5rem;align-items:start}
.mm-cols{display:grid;gap:2rem}
.mm-cols--1{grid-template-columns:1fr}.mm-cols--2{grid-template-columns:repeat(2,1fr)}.mm-cols--3{grid-template-columns:repeat(3,1fr)}.mm-cols--4{grid-template-columns:repeat(4,1fr)}
.mm-h{font-family:var(--fm);font-size:.58rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);margin-bottom:.9rem}
.mm-h a:hover{text-decoration:underline}
.mm-col ul{list-style:none;display:grid;gap:.15rem}
.mm-cols--1 .mm-col ul{grid-template-columns:repeat(3,minmax(0,220px))}
.mm-col a{display:block;padding:.4rem 0;font-size:.95rem;color:var(--body-c);transition:color .2s,transform .2s}
.mm-col li a:hover{color:var(--cream);transform:translateX(3px)}
.mm-feature{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;gap:.5rem;padding:1.4rem;border:1px solid var(--line2);background:linear-gradient(160deg,rgba(0,128,55,.35),rgba(15,31,20,.6));transition:border-color .3s}
.mm-feature:hover{border-color:var(--yellow)}
.mm-feature em{font-style:normal;font-family:var(--fm);font-size:.55rem;letter-spacing:.22em;color:var(--yellow)}
.mm-feature b{font-family:var(--fd);font-weight:560;font-size:1.35rem;color:var(--cream)}
.mm-feature span{font-size:.86rem;color:var(--body-c);line-height:1.55}
.mm-feature i{font-style:normal;color:var(--yellow);margin-top:.4rem}
.mm-all{grid-column:1;font-family:var(--fm);font-size:.6rem;font-weight:600;letter-spacing:.2em;color:var(--cream);border-top:1px solid var(--line);padding-top:1rem}
.mm-all:hover{color:var(--yellow)}
body.on-light .nav .mm-panel{color:var(--cream)}
body.mm-open .nav{background:rgba(8,14,10,.97) !important;color:var(--cream) !important}
.na-link--btn{background:none;border:0;color:inherit;font:inherit;cursor:pointer}
@media (max-width:1120px){.mega{display:none}}

/* ---- phone menu: accordion ---- */
.mm-mobile{display:flex;flex-direction:column}
.mm-acc{border-bottom:1px solid var(--line)}
.mm-acc summary{list-style:none;display:flex;align-items:baseline;gap:1rem;padding:.8rem 0;font-family:var(--fd);font-weight:560;font-size:clamp(1.6rem,7vw,2.3rem);cursor:pointer;min-height:56px}
.mm-acc summary::-webkit-details-marker{display:none}
.mm-acc summary i{font-family:var(--fm);font-style:normal;font-size:.66rem;color:var(--yellow)}
.mm-acc summary b{margin-left:auto;font-family:var(--fm);font-weight:400;color:var(--yellow);transition:transform .3s}
.mm-acc[open] summary b{transform:rotate(45deg)}
.mm-acc-col{padding:0 0 1rem 1.9rem}
.mm-acc-col a{display:block;padding:.55rem 0;font-size:1rem;color:var(--body-c)}
.mm-acc-all{display:block;padding:.4rem 0 1.4rem 1.9rem;font-family:var(--fm);font-size:.62rem;letter-spacing:.18em;color:var(--yellow);text-transform:uppercase}
.mnav-user{display:flex;gap:1rem;margin-top:1.4rem}
.mnav-wa{display:inline-flex;align-items:center;min-height:48px;margin-top:1.6rem;font-family:var(--fm);font-size:.7rem;font-weight:600;letter-spacing:.14em;color:var(--ink);background:var(--yellow);padding:0 1.2rem;align-self:flex-start}
.mnav-foot a{color:var(--cream)}

/* ---- trip & visa cards ---- */
.pt-inner--wide{max-width:1500px}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.3rem}
.tcard{display:flex;flex-direction:column;background:var(--glass);border:1px solid var(--line);transition:transform .4s var(--ease),border-color .4s}
.tcard:hover{transform:translateY(-5px);border-color:rgba(255,237,0,.35)}
.tcard figure{position:relative;aspect-ratio:4/3;overflow:hidden;background:#0C1810}
.tcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.tcard:hover img{transform:scale(1.05)}
.tcard-cat{position:absolute;left:1rem;top:1rem;font-family:var(--fm);font-size:.52rem;font-weight:600;letter-spacing:.2em;background:rgba(8,14,10,.78);color:var(--yellow);padding:.4rem .6rem}
.tcard-body{padding:1.3rem 1.4rem 1.4rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.tcard-body b{font-family:var(--fd);font-weight:560;font-size:1.35rem;color:var(--cream)}
.tcard-country{font-family:var(--fm);font-size:.56rem;letter-spacing:.2em;color:var(--mut);text-transform:uppercase}
.tcard-body p{font-size:.88rem;line-height:1.6;color:var(--body-c);margin:.3rem 0 .6rem}
.tcard-meta{margin-top:auto;display:flex;justify-content:space-between;font-family:var(--fm);font-size:.6rem;font-weight:600;letter-spacing:.14em;color:var(--lime);border-top:1px solid var(--line);padding-top:.9rem}
.tcard-meta i{font-style:normal;color:var(--yellow)}
.home-trips{background:var(--bg0);padding:clamp(4rem,8vw,7rem) var(--gut)}
.home-trips .tgrid{max-width:1500px;margin:0 auto}
.vgroup{margin-bottom:3rem}
.vgroup .d-label{margin-bottom:1rem}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.vcard{position:relative;display:flex;flex-direction:column;gap:.4rem;padding:1.4rem 1.4rem 1.2rem;border:1px solid var(--line);background:var(--glass);min-height:170px;transition:border-color .3s,transform .3s var(--ease)}
.vcard:hover{border-color:var(--yellow);transform:translateY(-3px)}
.vcard-code{font-family:var(--fm);font-size:.62rem;font-weight:600;color:var(--yellow);letter-spacing:.2em}
.vcard b{font-family:var(--fd);font-weight:560;font-size:1.2rem;color:var(--cream)}
.vcard-blurb{font-size:.85rem;color:var(--body-c);line-height:1.5}
.vcard-fee{margin-top:auto;font-family:var(--fm);font-size:.58rem;letter-spacing:.1em;color:var(--lime)}
.vcard i{position:absolute;right:1.2rem;top:1.2rem;font-style:normal;color:var(--yellow)}
.d-lead{font-size:1.08rem;line-height:1.75;color:var(--cream)}
.fee-table{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:1rem 0}
.fee-table div{background:var(--bg0);padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.3rem}
.fee-table span{font-family:var(--fm);font-size:.58rem;letter-spacing:.16em;color:var(--mut);text-transform:uppercase}
.fee-table b{font-family:var(--fd);font-weight:560;font-size:1.5rem;color:var(--yellow)}
.dv-intro{margin-top:2.5rem;padding:clamp(1.5rem,3vw,2.4rem);border:1px solid rgba(255,237,0,.35);background:linear-gradient(150deg,rgba(0,128,55,.25),rgba(15,31,20,.6))}
.dv-intro h2{font-family:var(--fd);font-weight:560;font-size:clamp(1.6rem,3vw,2.3rem);color:var(--cream);margin-bottom:.8rem}
.dv-intro h2 a{color:var(--yellow);border-bottom:1px solid rgba(255,237,0,.5)}
.dv-intro p{color:var(--body-c);line-height:1.75;max-width:62ch}
.dv-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:1.6rem 0}
.dv-links a{position:relative;background:var(--bg0);padding:1.1rem 2.2rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.3rem;transition:background .3s}
.dv-links a:hover{background:var(--bg1)}
.dv-links b{color:var(--cream);font-weight:600;font-size:.95rem}
.dv-links span{font-family:var(--fm);font-size:.56rem;letter-spacing:.12em;color:var(--mut);text-transform:uppercase}
.dv-links i{position:absolute;right:1rem;top:1rem;font-style:normal;color:var(--yellow)}
.partner-note a{color:var(--yellow);border-bottom:1px solid rgba(255,237,0,.4)}

/* ---- globe section v2 ---- */
.global{padding-top:0}
.gx{max-width:1500px;margin:0 auto;padding:clamp(4.5rem,9vw,8rem) var(--gut) clamp(3rem,6vw,5rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.gx-copy h2{font-family:var(--fd);font-weight:560;font-size:clamp(2.2rem,4.6vw,4rem);letter-spacing:-.02em;line-height:1.02;color:var(--cream);margin-bottom:1.2rem}
.gx-lede{color:var(--body-c);max-width:48ch;line-height:1.75}
.gx-stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:2.2rem;margin:2rem 0;padding:1.4rem 0;border-block:1px solid var(--line)}
.gx-stats b{display:block;font-family:var(--fd);font-weight:600;font-size:clamp(1.6rem,2.6vw,2.3rem);color:var(--cream);line-height:1}
.gx-stats span{font-family:var(--fm);font-size:.54rem;letter-spacing:.22em;color:var(--mut)}
.gx .g-cta{padding:0;margin:0}
.gx .g-contact{text-align:left;margin-top:1.6rem;display:flex;gap:1.6rem;flex-wrap:wrap}
.gx .g-contact a{font-size:.8rem}
.gx-globe{position:relative}
.gx-globe #gGlobe{display:block;width:100%;max-width:560px;height:auto;aspect-ratio:1;margin:0 auto;cursor:grab;touch-action:pan-y}
.global .news{border-top:1px solid var(--line)}

/* ---- footer with 6 columns ---- */
.foot-grid{grid-template-columns:1.5fr repeat(5,1fr);gap:2rem}
.foot-all{color:var(--yellow) !important;font-family:var(--fm);font-size:.6rem !important;letter-spacing:.16em;text-transform:uppercase;margin-top:.3rem}
@media (max-width:1200px){.foot-grid{grid-template-columns:repeat(3,1fr)}.foot-brand{grid-column:1/-1}}

/* ---- journeys strip (phones only) ---- */
.j-strip{display:none}

@media (max-width:900px){
  .gx{grid-template-columns:1fr}
  .gx-globe{order:-1;max-width:360px;margin:0 auto;width:100%}
}

@media (max-width:820px){
  /* reviews: one card at a time */
  .rev-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;margin-inline:calc(var(--gut) * -1);padding:0 var(--gut) .5rem;scrollbar-width:none}
  .rev-grid::-webkit-scrollbar{display:none}
  .rev{flex:0 0 86%;scroll-snap-align:center;opacity:1 !important;transform:none !important}
}
.rev-ctrl{display:none}
.rev-ctrl button{width:44px;height:44px;border:1px solid var(--line2);background:none;color:var(--cream);font-size:1rem}
.rev-dots{display:flex;gap:.5rem}
.rev-dots button{width:8px;height:8px;border-radius:50%;padding:0;border:0;background:var(--line2);min-height:0}
.rev-dots button.on{background:var(--yellow)}
@media (max-width:820px){.rev-ctrl{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.2rem}}
@media (max-width:640px){
  .tgrid{grid-template-columns:1fr}
  .fee-table{grid-template-columns:1fr}
  .gx-stats{gap:1.4rem}
  .gx .g-cta .btn{flex:1;justify-content:space-between}
  .foot-grid{grid-template-columns:1fr 1fr}
}

/* ================= Round 5: readable phone type, visa cards, phone animations ================= */
/* Headings break into even lines; paragraphs avoid one-word last lines */
h1,h2,h3,.house-line,.zg-sub h3,.tcard-body b,.vcard b,.mm-feature b{text-wrap:balance}
p,li,.vcard-blurb{text-wrap:pretty}

/* visa cards: photo on top, text stacked underneath */
.vcard{padding:0;overflow:hidden;min-height:0}
.vcard-img{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0C1810}
.vcard-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.vcard:hover .vcard-img img{transform:scale(1.05)}
.vcard-img .vcard-code{position:absolute;left:.8rem;bottom:.7rem;background:rgba(8,14,10,.8);padding:.3rem .5rem}
.vcard-body{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1.2rem 1.2rem;flex:1}
.vcard-body .vcard-fee{margin-top:.5rem}
.vcard>i{top:auto;bottom:1.1rem;right:1.1rem}

/* ---------- phones: nothing under 11px, calmer tracking ---------- */
@media (max-width:640px){
  .kicker,.d-label,.crumb,.house-kick,.pillr em,.zg-sub b,.zg-sub small,.sec-link,.d-card .wa,.d-card .pt,
  .chip,.c-label,.field label,.vcard-code,.vcard-fee,.tcard-cat,.tcard-country,.tcard-meta,.cat-chips a,
  .sc-kick,.g-cap,.gx-stats span,.foot-legal,.foot-col h4,.foot-all,.dest-fare span,.mini-dests span,
  .rev figcaption em,.team-card em,.fee-table span,.dv-links span,.post-cat,.j-route,.j-sub b,.j-sub a,
  .j-go,.j-card em,.stats-grid span,.pt-email,.df-note,.doc-file,.mm-h,.mm-acc-all,.mnav-foot,.news-msg,
  .deal-kick,.deal-prices .valid,.tk-lab,.ac-meta,.form-msg,.dest-meta,.dest-idx,.visa-code,.mnav-wa,
  .stats-grid .star,.deals-head .pt-email{font-size:11px !important;letter-spacing:.12em !important}
  .kicker{margin-bottom:.9rem;line-height:1.6}
  .crumb{padding-block:.35rem}
  .zg-sub b{line-height:1.7}
  .foot-col h4{margin-bottom:.8rem}
  .foot-legal{letter-spacing:.08em !important}
  .tcard-meta{gap:.6rem}
  .page-hero h1{font-size:clamp(2.1rem,10vw,2.9rem);line-height:1.05}
  .d-sec h2{font-size:clamp(1.5rem,7vw,2rem);line-height:1.12}
  .prose{line-height:1.75}
  .prose h3{font-size:1.15rem;line-height:1.3}
}

@media (max-width:640px){.btn--sm,.j-card a,.btn{font-size:11px !important;letter-spacing:.12em !important}}


/* ================= Round 7: phones get the desktop scroll experience ================= */
@media (max-width:820px){
  /* hero (pinned, zooms into the window as you scroll — same as desktop) */
  .zoom{height:240vh}
  .zoom-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
  .zg-copy{pointer-events:auto}
  .zg-cta{display:flex;gap:.7rem;margin-top:1.2rem}
  .zg-cta .btn{flex:1;justify-content:space-between}
  .pwindow{--w:min(36vh,70vw);top:62%}
  .house{padding-top:14vh}

  /* journeys (pinned; the jet flies through, the words drift apart, the card rotates) */
  .journeys{height:260vh}
  .j-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:1.2rem;padding:5.5rem var(--gut) 2rem}
  .j-left{align-items:flex-start;text-align:left}
  .j-right{align-items:flex-end;text-align:right}
  .j-right .j-card{text-align:left;width:100%}
  .j-card{opacity:0;transform:translateY(30px)}
  .j-card.in{opacity:1;transform:none}
  .jet{display:block;height:92vh;opacity:1;z-index:1}
}
@media (max-width:820px) and (max-height:720px){
  .pwindow{--w:min(32vh,62vw);top:67%}
  .zg-copy .zg-sub h3{display:none}
  .j-sub{display:none}
  .j-pin{gap:.8rem;padding-top:5rem}
}
@media (max-width:420px){
  .zg-copy .zg-sub p{display:none}
}
@media (prefers-reduced-motion:reduce){
  .zoom,.journeys{height:auto}
  .zoom-pin,.j-pin{position:relative}
  .j-card{opacity:1;transform:none}
}
@media (max-width:820px){.j-word,.j-sub,.j-sub a{text-shadow:0 1px 2px rgba(6,16,9,.9),0 0 14px rgba(6,16,9,.85),0 0 28px rgba(6,16,9,.6)}}

/* ================= Round 8: destination pages + client dashboard ================= */
/* header account icon */
.nav-acct{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line2);border-radius:50%;color:inherit;transition:border-color .3s,color .3s;flex:none}
.nav-acct:hover{border-color:var(--yellow);color:var(--yellow)}
.nav-acct svg{width:20px;height:20px}
.nav-inner{gap:1rem}
.nav-inner .mega{margin-left:auto}
@media (max-width:1120px){.nav-acct{margin-left:auto}}

/* ---------- destination page ---------- */
.dx-hero{position:relative;min-height:min(88vh,760px);display:flex;align-items:flex-end;overflow:hidden;background:var(--bg1)}
.dx-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:dxZoom 14s ease-out forwards}
@keyframes dxZoom{to{transform:scale(1)}}
.dx-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,14,10,.45) 0%,rgba(8,14,10,.15) 35%,rgba(8,14,10,.88) 100%)}
.dx-in{position:relative;z-index:2;width:100%;max-width:1500px;margin:0 auto;padding:9rem var(--gut) clamp(2.4rem,6vh,4rem);color:var(--cream)}
.dx-in h1{font-family:var(--fd);font-weight:560;font-size:clamp(3rem,9vw,7.5rem);letter-spacing:-.03em;line-height:.95;color:var(--cream)}
.dx-tag{font-size:clamp(1.05rem,1.8vw,1.35rem);color:rgba(244,241,230,.88);margin-top:.9rem;max-width:44ch}
.dx-facts{display:flex;flex-wrap:wrap;gap:1px;margin-top:1.8rem;background:rgba(244,241,230,.18);border:1px solid rgba(244,241,230,.18);width:fit-content;max-width:100%}
.dx-facts div{background:rgba(8,14,10,.62);backdrop-filter:blur(8px);padding:.9rem 1.2rem;min-width:130px}
.dx-facts dt{font-family:var(--fm);font-size:.56rem;letter-spacing:.2em;color:var(--yellow)}
.dx-facts dd{font-family:var(--fd);font-weight:560;font-size:1.25rem;color:var(--cream);margin-top:.25rem}
.dx-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.dx-tabs{position:sticky;top:0;z-index:900;background:rgba(8,14,10,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.dx-tabs div{max-width:1500px;margin:0 auto;padding:0 var(--gut);display:flex;gap:.3rem;overflow-x:auto;scrollbar-width:none}
.dx-tabs a{flex:none;padding:1.05rem 1rem;font-family:var(--fm);font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--body-c);border-bottom:2px solid transparent;transition:color .3s,border-color .3s}
.dx-tabs a:hover{color:var(--yellow);border-color:var(--yellow)}
body.is-inner .nav.scrolled ~ main .dx-tabs{top:78px}
.dx-body{max-width:1240px;margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) var(--gut) 3rem}
.dx-intro{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.75;color:var(--cream);max-width:68ch;margin-bottom:clamp(2.5rem,5vw,4rem)}
.dx-sec{margin-bottom:clamp(3.5rem,7vw,5.5rem);scroll-margin-top:140px}
.dx-sec-head{margin-bottom:1.8rem}
.dx-sec-head h2{font-family:var(--fd);font-weight:560;font-size:clamp(1.8rem,3.6vw,2.8rem);letter-spacing:-.02em;line-height:1.08;color:var(--cream)}
.dx-empty{border:1px dashed var(--line2);padding:2rem;display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap}
.dx-empty p{color:var(--body-c);max-width:52ch}
.dx-help{border:1px solid rgba(255,237,0,.35);background:linear-gradient(150deg,rgba(0,128,55,.28),rgba(15,31,20,.6));padding:clamp(1.6rem,4vw,2.6rem)}
.dx-help h2{font-family:var(--fd);font-weight:560;font-size:clamp(1.5rem,3vw,2.2rem);color:var(--cream)}
.dx-help p{color:var(--body-c);margin-top:.6rem;max-width:58ch}
#dubaivisa{scroll-margin-top:140px;margin-bottom:clamp(3.5rem,7vw,5.5rem)}

/* visa product card */
.vp-list{display:grid;gap:1.4rem}
.vp{border:1px solid var(--line2);background:var(--glass);padding:clamp(1.3rem,3vw,2rem);scroll-margin-top:140px}
.vp:target{border-color:var(--yellow)}
.vp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.vp-kind{font-family:var(--fm);font-size:.58rem;font-weight:600;letter-spacing:.2em;color:var(--yellow)}
.vp-head h3{font-family:var(--fd);font-weight:560;font-size:clamp(1.4rem,2.6vw,1.9rem);color:var(--cream);margin-top:.3rem}
.vp-from{text-align:right}
.vp-from span{display:block;font-family:var(--fm);font-size:.56rem;letter-spacing:.2em;color:var(--mut)}
.vp-from b{font-family:var(--fd);font-weight:600;font-size:clamp(1.4rem,2.6vw,1.9rem);color:var(--lime)}
.vp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:1.3rem 0}
.vp-facts div{background:var(--bg0);padding:.8rem 1rem}
.vp-facts dt{font-family:var(--fm);font-size:.56rem;letter-spacing:.18em;color:var(--mut);text-transform:uppercase}
.vp-facts dd{color:var(--cream);font-weight:600;margin-top:.25rem}
.vp-fees{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.vp-fee{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;background:var(--bg1);padding:.9rem 1.1rem}
.vp-fee span{color:var(--body-c)}
.vp-fee b{font-family:var(--fd);font-weight:600;font-size:1.25rem;color:var(--yellow);white-space:nowrap}
.vp-fee--quote b{color:var(--cream);font-size:1rem}
.vp-notes{list-style:none;margin:1rem 0 0;display:grid;gap:.4rem}
.vp-notes li{position:relative;padding-left:1.3rem;font-size:.9rem;color:var(--cream)}
.vp-notes li::before{content:"!";position:absolute;left:0;top:0;font-family:var(--fm);color:var(--yellow);font-weight:600}
.vp-docs{margin-top:1.3rem;border-top:1px solid var(--line);padding-top:1rem}
.vp-docs summary{cursor:pointer;list-style:none;font-family:var(--fm);font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);display:flex;gap:.6rem;align-items:center;min-height:40px}
.vp-docs summary::-webkit-details-marker{display:none}
.vp-docs summary span{background:var(--yellow);color:var(--ink);border-radius:999px;padding:.1rem .5rem;font-size:.6rem}
.vp-docs ol{margin:.6rem 0 0 1.3rem;display:grid;gap:.45rem;color:var(--body-c);line-height:1.6}
.vp-docs ol li::marker{color:var(--yellow);font-family:var(--fm)}
.vp-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}

/* visa fee index */
.vtable{border:1px solid var(--line);display:grid}
.vtable-row{display:grid;grid-template-columns:1.1fr 1.4fr 1fr 1fr;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line);align-items:center;transition:background .25s}
a.vtable-row:hover{background:var(--glass)}
.vtable-head{font-family:var(--fm);font-size:.58rem;letter-spacing:.2em;color:var(--mut);text-transform:uppercase;background:var(--bg1)}
.vt-country{font-family:var(--fd);font-weight:560;color:var(--cream)}
.vt-fee{color:var(--lime);font-weight:600}

/* ---------- dashboard ---------- */
.dash-hero{padding-bottom:1.6rem}
.dash-tabs{position:sticky;top:0;z-index:900;background:rgba(8,14,10,.92);backdrop-filter:blur(14px);border-block:1px solid var(--line)}
.dash-tabs div{max-width:1200px;margin:0 auto;padding:0 var(--gut);display:flex;gap:.2rem;overflow-x:auto;scrollbar-width:none}
.dash-tabs a{flex:none;padding:1rem 1rem;font-family:var(--fm);font-size:.64rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--body-c);border-bottom:2px solid transparent}
.dash-tabs a.on{color:var(--yellow);border-color:var(--yellow)}
.dash-quick{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0 2.6rem}
.dash-q{position:relative;display:flex;flex-direction:column;gap:.4rem;padding:1.5rem;border:1px solid var(--line2);background:linear-gradient(150deg,rgba(0,128,55,.3),rgba(15,31,20,.6));transition:border-color .3s,transform .3s var(--ease)}
.dash-q:hover{border-color:var(--yellow);transform:translateY(-3px)}
.dash-q em{font-style:normal;font-family:var(--fm);font-size:.56rem;letter-spacing:.2em;color:var(--yellow)}
.dash-q b{font-family:var(--fd);font-weight:560;font-size:1.4rem;color:var(--cream)}
.dash-q span{font-size:.88rem;color:var(--body-c)}
.dash-q i{position:absolute;right:1.3rem;top:1.3rem;font-style:normal;color:var(--yellow)}
.dash-block{margin-top:2.6rem}
.dash-list{border-top:1px solid var(--line)}
.dash-row{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;padding:1.1rem .4rem;border-bottom:1px solid var(--line);transition:background .25s}
.dash-row:hover{background:var(--glass)}
.dash-row-main{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.dash-row-main b{color:var(--cream);font-family:var(--fd);font-weight:560;font-size:1.1rem}
.dash-row-main span{font-size:.82rem;color:var(--mut);overflow-wrap:anywhere}
.dash-row i{font-style:normal;color:var(--yellow)}
.dash-empty{border:1px dashed var(--line2);padding:1.6rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;color:var(--body-c);margin-top:1rem}
.dash-note{font-size:.85rem;color:var(--mut);margin-top:1rem}
.dash-note a{color:var(--yellow)}
.dash-status{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin:1.4rem 0;padding:1.1rem 1.2rem;border:1px solid var(--line);background:var(--glass)}
.dash-status p{flex:1;min-width:220px;color:var(--cream)}
.dash-callout{margin:1.5rem 0;padding:1.6rem;border:1px solid rgba(255,237,0,.45);background:rgba(255,237,0,.05)}
.dash-callout h3{font-family:var(--fd);font-weight:560;font-size:1.6rem;color:var(--cream);margin:.3rem 0 .5rem}
.dash-callout p{color:var(--body-c);margin-bottom:1rem}
.dash-callout--ok{border-color:rgba(193,251,75,.55);background:rgba(193,251,75,.07)}
.dash-callout .btn{margin:.3rem .6rem .3rem 0}

/* step tracker */
.stepper{list-style:none;display:grid;grid-template-columns:repeat(8,1fr);gap:.3rem;margin-top:.6rem}
.stepper li{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;position:relative}
.stepper li::before{content:"";position:absolute;top:17px;left:calc(-50% + 18px);right:calc(50% + 18px);height:2px;background:var(--line2)}
.stepper li:first-child::before{display:none}
.stepper li.done::before,.stepper li.now::before{background:var(--lime)}
.stepper i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-family:var(--fm);font-size:.7rem;font-weight:600;border:1px solid var(--line2);color:var(--mut);background:var(--bg0);position:relative;z-index:1}
.stepper li.done i{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.stepper li.now i{background:var(--yellow);border-color:var(--yellow);color:var(--ink);box-shadow:0 0 0 6px rgba(255,237,0,.15)}
.stepper li.alert i{background:#FF5A3C;border-color:#FF5A3C}
.stepper span{font-family:var(--fm);font-size:.56rem;letter-spacing:.1em;color:var(--mut);text-transform:uppercase;line-height:1.4}
.stepper li.now span{color:var(--cream)}

/* timeline */
.timeline{list-style:none;border-left:1px solid var(--line2);margin-left:.4rem;padding-left:1.4rem;display:grid;gap:1.2rem}
.timeline li{position:relative}
.timeline li::before{content:"";position:absolute;left:-1.78rem;top:.35rem;width:10px;height:10px;border-radius:50%;background:var(--line2)}
.timeline li.staff::before{background:var(--yellow)}
.timeline b{color:var(--cream);display:block}
.timeline span{font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;color:var(--mut)}
.timeline p{margin-top:.4rem;color:var(--body-c);white-space:pre-wrap}

/* apply / book forms */
.apply-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.apply-form{border:1px solid var(--line);background:var(--glass);padding:clamp(1.3rem,3vw,2rem)}
.apply-docs{border:1px solid var(--line);padding:clamp(1.3rem,3vw,2rem)}
.apply-docs ol{margin:.6rem 0 0 1.2rem;display:grid;gap:.45rem;color:var(--body-c)}
.apply-docs ol li::marker{color:var(--yellow)}
.book-fig{aspect-ratio:16/10;overflow:hidden;margin-bottom:1.2rem;border:1px solid var(--line)}
.book-fig img{width:100%;height:100%;object-fit:cover}
.fee-pick{border:0;padding:0;margin:0 0 .4rem}
.fee-pick legend{font-family:var(--fm);font-size:.58rem;font-weight:600;letter-spacing:.22em;color:var(--mut);margin-bottom:.6rem}
.fee-opt{display:flex;gap:.8rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--line2);margin-bottom:.5rem;cursor:pointer;transition:border-color .2s,background .2s}
.fee-opt:has(input:checked){border-color:var(--yellow);background:rgba(255,237,0,.06)}
.fee-opt input{width:18px;height:18px;accent-color:#FFED00;flex:none}
.fee-opt span{display:flex;justify-content:space-between;gap:1rem;flex:1;flex-wrap:wrap}
.fee-opt b{color:var(--cream);font-weight:500}
.fee-opt em{font-style:normal;font-family:var(--fd);font-weight:600;color:var(--yellow)}
.pick-group{margin-bottom:2rem;scroll-margin-top:140px}
.pick-group--on .pick{border-color:rgba(255,237,0,.45)}
.pick-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem;margin-top:.8rem}
.pick{position:relative;display:flex;flex-direction:column;gap:.3rem;padding:1.1rem 2.4rem 1.1rem 1.1rem;border:1px solid var(--line2);background:var(--glass);transition:border-color .25s}
.pick:hover{border-color:var(--yellow)}
.pick b{color:var(--cream);font-family:var(--fd);font-weight:560;font-size:1.1rem}
.pick span{font-size:.8rem;color:var(--mut)}
.pick em{font-style:normal;color:var(--lime);font-weight:600;font-size:.9rem}
.pick i{position:absolute;right:1rem;top:1.1rem;font-style:normal;color:var(--yellow)}

@media (max-width:820px){
  .apply-grid{grid-template-columns:1fr}
  .stepper{grid-template-columns:repeat(4,1fr);row-gap:1.2rem}
  .stepper li:nth-child(5)::before{display:none}
  .vtable-row{grid-template-columns:1fr 1fr;row-gap:.3rem}
  .vtable-head{display:none}
  .dx-facts div{min-width:0;flex:1 1 45%}
}
@media (max-width:640px){
  .dash-quick{grid-template-columns:1fr}
  .dash-row{grid-template-columns:1fr auto}
  .dash-row i{display:none}
  .vp-head{flex-direction:column}
  .vp-from{text-align:left}
  .vp-cta .btn,.dx-cta .btn{flex:1;justify-content:space-between}
  .dx-in{padding-top:7rem}
  .dx-tabs a,.dash-tabs a,.vp-kind,.vp-from span,.vp-facts dt,.dx-facts dt,.stepper span,.timeline span,.vtable-head,.fee-pick legend,.vp-docs summary,.dash-q em{font-size:11px !important;letter-spacing:.12em !important}
}
@media (prefers-reduced-motion:reduce){.dx-bg{animation:none;transform:none}}
.vp-facts{background:none;border:0;gap:0}
.vp-facts div{border:1px solid var(--line);margin:0 -1px -1px 0}
.dx-facts dd{white-space:nowrap}
@media (max-width:640px){.dx-facts dd{font-size:1.05rem}}

/* ================= Round 9: phones show all the desktop text; journeys re-arranged ================= */
/* destinations strip (home + /trips) */
.home-dest{padding-top:0}
.dest-strip{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.8rem}
.dchip{position:relative;display:flex;align-items:center;gap:.9rem;padding:.6rem 2.4rem .6rem .6rem;border:1px solid var(--line);background:var(--glass);transition:border-color .3s,transform .3s var(--ease)}
.dchip:hover{border-color:var(--yellow);transform:translateY(-2px)}
.dchip figure{flex:none;width:64px;height:64px;overflow:hidden;background:#0C1810}
.dchip img{width:100%;height:100%;object-fit:cover}
.dchip span{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.dchip b{font-family:var(--fd);font-weight:560;font-size:1.08rem;color:var(--cream)}
.dchip em{font-style:normal;font-size:.8rem;color:var(--lime)}
.dchip i{position:absolute;right:1rem;top:50%;translate:0 -50%;font-style:normal;color:var(--yellow)}
.trips-dest-h{font-family:var(--fd);font-weight:560;font-size:clamp(1.8rem,3.6vw,2.6rem);color:var(--cream)}

@media (max-width:820px){
  /* ---------- hero: every line of the desktop copy, still pinned for the window zoom ---------- */
  .zg-copy{top:max(4.8rem,8.5vh)}
  .zg-copy .zg-l{font-size:clamp(2.2rem,10.4vw,3rem)}
  .zg-copy .zg-sub{margin-top:.8rem}
  .zg-copy .zg-sub b{margin-bottom:.45rem}
  .zg-copy .zg-sub h3,.zg-copy .zg-sub p,.zg-copy .zg-sub small{display:block !important}
  .zg-copy .zg-sub h3{font-size:1.02rem;line-height:1.32;margin-bottom:.35rem;max-width:none}
  .zg-copy .zg-sub p{font-size:.86rem;line-height:1.55;max-width:none}
  .zg-cta{margin-top:.95rem}
  .zg-copy .zg-sub small{margin-top:.8rem}
  .pwindow{--w:min(26vh,56vw);top:auto;bottom:4.2vh;translate:-50% 0}
  .zg-cue{display:none}

  /* ---------- journeys: heading, then the story, then the card (plane flies behind) ---------- */
  .j-pin{display:flex;flex-direction:column;justify-content:flex-start;gap:0;padding:5.6rem var(--gut) 1.6rem}
  .j-left,.j-right{display:contents}
  .j-word,.j-sub,.j-card{position:relative;z-index:3}
  #jWl{order:1;align-self:flex-start;font-size:clamp(2.4rem,11vw,3.3rem)}
  #jWr{order:2;align-self:flex-end;font-size:clamp(2.4rem,11vw,3.3rem);margin-top:-.1em}
  .j-coord{display:block !important;order:3;margin-top:1rem;position:relative;z-index:3}
  .j-sub{display:block !important;order:4;margin-top:.8rem;font-size:.88rem;max-width:none}
  .j-card{order:5;margin-top:auto;width:100%;padding:1.15rem 1.2rem}
  .j-card p{display:block !important;margin:.6rem 0 .8rem;font-size:.84rem;line-height:1.55}
  .j-card h3{font-size:clamp(1.5rem,7vw,1.9rem)}
  .j-route{margin:.45rem 0 .7rem}
  .j-price{padding-top:.7rem;font-size:.88rem}
}
@media (max-width:820px) and (max-height:740px){
  .zg-copy .zg-l{font-size:clamp(2rem,9.2vw,2.6rem)}
  .zg-copy .zg-sub h3{font-size:.95rem}
  .zg-copy .zg-sub p{font-size:.8rem;line-height:1.5}
  .zg-cta .btn{min-height:42px;padding-block:.7rem}
  .pwindow{--w:min(22vh,48vw);bottom:3vh}
  .j-pin{padding-top:5rem}
  .j-sub{font-size:.8rem;line-height:1.5}
  .j-card{padding:.95rem 1rem}
  .j-card p{font-size:.78rem;margin:.4rem 0 .6rem}
}
@media (max-width:820px){.j-coord,.j-sub b{text-shadow:0 1px 2px rgba(6,16,9,.95),0 0 12px rgba(6,16,9,.9)}}

/* hero headline: desktop "The world, arranged."; phones "Helping travellers since 2001", centred */
.zg-l .hl-mob{display:none}
.zg-l em.acc{font-style:normal}
@media (max-width:820px){
  .zg-l .hl-desk{display:none}
  .zg-l .hl-mob{display:block}
  .zg-copy .zg-l{text-align:center;font-size:clamp(2rem,9.4vw,2.8rem) !important;line-height:1}
}
