/* ===== Main page v5: shuffling boarding cards, tiny planes, clean flat backgrounds, new heading fonts ===== */

/* no pictures of planes, globes, passports or coloured round shapes */
.pr-bg,.ob-bg,.cr-bg,.jy-bg,.db-bg,.hero2-bg,.pr-disc,.pr-plane,.ob-globe,.cr-plane,.jy-plane,.db-plane,.cl-art>img,.hr-stamp,.hr-plane,.hr-arc,.ob-orbit,.cr-floor{display:none!important}

/* ---- the stage ---- */
.shf-wrap{position:relative;min-height:0!important;height:auto!important;display:block!important;transform:none!important;margin:0 auto;width:100%;max-width:620px;perspective:none!important;padding:0!important}
.shf{--s:.62;position:relative;width:100%;max-width:620px;margin:0 auto;height:calc(440px*var(--s));cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
.shf-in{position:absolute;left:0;top:0;width:600px;height:440px;transform:scale(var(--s));transform-origin:0 0}
.shf-trail{position:absolute;inset:0;width:600px;height:440px;color:var(--gold);opacity:.38;pointer-events:none}
.shf-cards{position:absolute;inset:0}
.shf-c{--p:0;position:absolute;left:85px;top:122px;width:430px;transform-origin:50% 60%;transition:transform .95s cubic-bezier(.3,1.25,.4,1);z-index:calc(10 - var(--p))}
.shf-c[data-p="0"]{--p:0}.shf-c[data-p="1"]{--p:1}.shf-c[data-p="2"]{--p:2}.shf-c[data-p="3"]{--p:3}.shf-c[data-p="4"]{--p:4}
.shf-c .bpc{max-width:none;width:100%;font-size:.84em;box-shadow:none;filter:drop-shadow(0 18px 22px rgba(8,16,40,.22)) drop-shadow(0 3px 5px rgba(8,16,40,.14))}
.shf-c .bpc-glare{display:none}
.shf-c.leap{animation:var(--kf,shfLeap) 1.25s cubic-bezier(.45,.05,.3,1)}

/* the six shuffle styles: where each card sits (0 = front) and how the front card leaves */
.shf{--lx:300px;--ly:-24px;--lr:9deg}
.shf[data-v="deck"] .shf-c{transform:translate(calc(var(--p)*7px),calc(var(--p)*-30px)) rotate(calc(var(--p)*2deg)) scale(calc(1 - var(--p)*.05))}
.shf[data-v="cut"]  .shf-c{transform:translate(calc(var(--p)*-8px),calc(var(--p)*-28px)) rotate(calc(var(--p)*-2.2deg)) scale(calc(1 - var(--p)*.045))}
.shf[data-v="cut"]{--lx:-310px;--ly:14px;--lr:-10deg}
.shf[data-v="flip"] .shf-c{transform:translate(0,calc(var(--p)*-30px)) scale(calc(1 - var(--p)*.06))}
.shf[data-v="flip"]{--kf:shfFlip}
.shf[data-v="cascade"] .shf-c{transform:translate(calc(-70px + var(--p)*34px),calc(40px + var(--p)*-40px)) scale(calc(1 - var(--p)*.035))}
.shf[data-v="cascade"]{--lx:-250px;--ly:80px;--lr:-8deg}
.shf[data-v="drift"] .shf-c[data-p="0"]{transform:translate(0,6px)}
.shf[data-v="drift"] .shf-c[data-p="1"]{transform:translate(52px,-14px) scale(.95)}
.shf[data-v="drift"] .shf-c[data-p="2"]{transform:translate(-52px,-14px) scale(.95)}
.shf[data-v="drift"] .shf-c[data-p="3"]{transform:translate(80px,-34px) scale(.9)}
.shf[data-v="drift"] .shf-c[data-p="4"]{transform:translate(-80px,-34px) scale(.9)}
.shf[data-v="drift"]{--lx:130px;--ly:70px;--lr:4deg}
.shf[data-v="fan"] .shf-c[data-p="0"]{transform:translate(0,14px) rotate(0)}
.shf[data-v="fan"] .shf-c[data-p="1"]{transform:translate(40px,-14px) rotate(6deg)}
.shf[data-v="fan"] .shf-c[data-p="2"]{transform:translate(-40px,-14px) rotate(-6deg)}
.shf[data-v="fan"] .shf-c[data-p="3"]{transform:translate(70px,-34px) rotate(11deg)}
.shf[data-v="fan"] .shf-c[data-p="4"]{transform:translate(-70px,-34px) rotate(-11deg)}
.shf[data-v="fan"]{--lx:0px;--ly:-150px;--lr:-5deg}
@keyframes shfLeap{0%{translate:0 0;rotate:0deg}38%{translate:var(--lx) var(--ly);rotate:var(--lr)}100%{translate:0 0;rotate:0deg}}
@keyframes shfFlip{0%{translate:0 0;scale:1 1}42%{translate:0 -110px;scale:1 .03}100%{translate:0 0;scale:1 1}}

/* more boarding-card looks (each card is different) */
.shf .k2 .bpc-top{background:linear-gradient(100deg,var(--cta),var(--cta-d));color:var(--on-cta)}
.shf .k3 .bpc-main,.shf .k3 .bpc-stub{background:linear-gradient(180deg,#1B2440,#0E1630);color:#fff}
.shf .k3 .bpc-top{background:linear-gradient(100deg,var(--amber),var(--cta));color:#0B1530}
.shf .k3 .bpc-route .code,.shf .k3 .bpc-grid b,.shf .k3 .bpc-stub .pnr{color:#fff}
.shf .k3 .bpc-route em,.shf .k3 .lb,.shf .k3 .bpc-path small{color:#A9B7DA}
.shf .k3 .bpc-path svg{background:#0E1630;color:var(--amber)}
.shf .k3 .bpc-stub .stamp{color:var(--amber)}
.shf .k4 .bpc-main,.shf .k4 .bpc-stub{background:linear-gradient(180deg,#FFFBF0,#F6EDD6)}
.shf .k4 .bpc-top{background:linear-gradient(100deg,var(--navy),var(--navy2))}
.shf .k5 .bpc-top{background:linear-gradient(100deg,#0F9D78,#065F46)}
.shf .k5 .bpc-path svg{color:#0F9D78}

/* tiny planes flying around the cards */
.shf-pl{--sz:17px;position:absolute;left:0;top:0;width:var(--sz);height:var(--sz);color:var(--plc,var(--gold));z-index:30;offset-rotate:auto 90deg;offset-anchor:50% 50%;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25));pointer-events:none;display:none}
@supports (offset-path:path("M0 0")){
  .shf-pl{display:block;offset-path:path("M300 14C520 14 594 110 594 220S520 426 300 426 6 330 6 220 80 14 300 14Z");animation:shfFly var(--dur,22s) linear var(--dl,0s) infinite}
  .shf-pl.plb{offset-path:path("M300 52C470 52 560 130 560 220S470 388 300 388 40 310 40 220 130 52 300 52Z");animation-direction:reverse}
}
@keyframes shfFly{from{offset-distance:0%}to{offset-distance:100%}}
html[data-mh="off"] .shf-pl{animation:none!important;offset-distance:12%}
@media(prefers-reduced-motion:reduce){.shf-pl{animation:none!important}.shf-c{transition:none}.shf-c.leap{animation:none}}

/* dark looks: gold planes and trails */
.hero-ob,.hero-cr,.hero2{--plc:var(--amber)}
.hero-ob .shf-trail,.hero-cr .shf-trail,.hero2 .shf-trail{color:var(--amber);opacity:.32}

/* ---- flat, calm backgrounds (easy to read on a phone) ---- */
.hero-pr{background:linear-gradient(180deg,var(--paper),var(--card))}
.hero-ob{background:linear-gradient(180deg,color-mix(in srgb,var(--navy) 90%,#000),var(--navy))}
.hero-cr{background:linear-gradient(180deg,color-mix(in srgb,var(--navy) 88%,#000),var(--navy2))}
.hero-jy,.hero-db{background:linear-gradient(180deg,var(--gold-xl),var(--paper))}
.hero2{background:linear-gradient(180deg,color-mix(in srgb,var(--navy) 92%,#000),var(--navy))}
.hero-hr{background:var(--paper)}
.cl-art{background:linear-gradient(160deg,var(--gold-xl),var(--card));border:1px solid var(--line2);display:flex!important;align-items:center;justify-content:center;padding:18px 8px!important;overflow:hidden}
.cl-art .shf{margin:0 auto}
.hero-db{margin-top:0!important;padding-top:56px!important}
html[data-look="daybreak"] .site-header{background:color-mix(in srgb,var(--paper) 90%,transparent)!important}
.hero-db+.airstrip{padding-top:56px}
.hero-pr .pr-grid,.hero-ob .ob-grid,.hero-cr .cr-grid,.hero-jy .jy-grid,.hero-db .db-grid,.hero-hr .hr-grid,.hero2 .hero2-grid{align-items:center}

/* ---- titles: solid, readable highlight colour (no gradient text, no squiggles) ---- */
.hero-pr h1 .hl,.hero-cl h1 .hl,.hero-jy h1 .hl,.hero-db h1 .hl{background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--gold)!important;text-decoration:none}
.hero-ob h1 .hl,.hero-cr h1 .hl,.hero2 h1 .hl{background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--amber)!important}
.hero-hr h1 .hl{color:var(--gold)!important;font-style:normal!important}
.pill-badge{font-weight:700}

/* ---- new heading fonts, one per look (all bundled with the site, no downloads) ---- */
html[data-look="prestige"]{--head:'Outfit','Plus Jakarta Sans',system-ui,sans-serif}
html[data-look="obsidian"]{--head:'Space Grotesk','Plus Jakarta Sans',system-ui,sans-serif}
html[data-look="carousel"]{--head:'Sora','Plus Jakarta Sans',system-ui,sans-serif}
html[data-look="journey"]{--head:'Outfit','Plus Jakarta Sans',system-ui,sans-serif}
html[data-look="clarity"]{--head:'Plus Jakarta Sans',system-ui,sans-serif}
html[data-look="classic"]{--head:'Fraunces',Georgia,'Times New Roman',serif}
html[data-look="daybreak"]{--head:'Outfit','Plus Jakarta Sans',system-ui,sans-serif}
html[data-look="heritage"]{--head:'Fraunces',Georgia,'Times New Roman',serif}
html[data-look="classic"] :is(h1,h2,h3),html[data-look="heritage"] :is(h1,h2,h3){font-weight:600;letter-spacing:-.02em}
html[data-look="prestige"] :is(h1,h2,h3),html[data-look="journey"] :is(h1,h2,h3),html[data-look="daybreak"] :is(h1,h2,h3){font-weight:700;letter-spacing:-.03em}
html[data-look="obsidian"] :is(h1,h2,h3){font-weight:700;letter-spacing:-.035em}
.hero-pr h1,.hero-ob h1,.hero-cr h1,.hero-jy h1,.hero-cl h1,.hero-db h1,.hero-hr h1,.hero2 h1{font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.08;max-width:14em;hyphens:none;overflow-wrap:normal}

/* ---- phone ---- */
@media(max-width:1020px){.shf-wrap{max-width:560px;margin-top:6px!important}}
@media(max-width:560px){
  .hero-pr,.hero-ob,.hero-cr,.hero-jy,.hero-db,.hero-hr,.hero2{padding-top:26px!important}
  .hero-pr h1,.hero-ob h1,.hero-cr h1,.hero-jy h1,.hero-cl h1,.hero-db h1,.hero-hr h1,.hero2 h1{font-size:clamp(1.8rem,8vw,2.3rem);letter-spacing:-.025em}
  .shf-c .bpc{font-size:.8em}
}
.shf-c .bpc-stub{min-width:104px;width:27%;padding:12px 12px 12px 14px}
.shf-c .bpc-top{padding:10px 14px;gap:6px}
.shf-c .bpc-kind{font-size:.54rem;letter-spacing:.05em;white-space:nowrap}
.shf-c .bpc-air{white-space:nowrap}
.shf-c .bpc-route{padding:14px 16px 8px;gap:8px}
.shf-c .bpc-route .code{font-size:2.2rem}
