/* GRAM Discs – onepager v2 (route map + departures board) */
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-800.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url("../fonts/BricolageGrotesque-400-800.woff") format("woff");font-weight:400 800;font-display:swap}

:root{
  --yellow:#F2E600; --black:#141414; --white:#fff; --paper:#F6F6F2; --line:#E3E3DC; --muted:#55585F;
  --green:#25A73B; --red:#DF2E22; --green-d:#1E8A31;
  --display:"Poppins","Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",sans-serif;
  --text:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r-photo:24px; --frame:4px solid var(--black);
  --gut:clamp(20px,4vw,48px); --max:1280px;
  --sec:clamp(72px,10vw,140px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--text);font-size:18px;line-height:1.55;color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:.98;letter-spacing:-.01em;margin:0;text-wrap:balance}
h2{font-size:clamp(34px,5.2vw,68px)}
p{margin:0;text-wrap:pretty}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.sec{padding:var(--sec) 0}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--black);color:var(--yellow);padding:12px 18px;border-radius:999px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--black);outline-offset:3px;border-radius:6px}
.on-dark :focus-visible{outline-color:var(--yellow)}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.eyebrow svg{width:18px;height:18px;transform:rotate(45deg)}
.lead{font-size:clamp(18px,1.6vw,21px);line-height:1.5;max-width:34em}
.body{font-size:clamp(17px,1.4vw,19px);max-width:34em}
.body+.body{margin-top:14px}

/* Buttons — power pill */
.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:32px}
.btn{display:inline-flex;align-items:center;gap:14px;min-height:56px;padding:6px 6px 6px 26px;border-radius:999px;background:var(--black);color:var(--yellow);font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid var(--black);transition:transform .25s var(--ease),background .25s,color .25s}
.btn .dot{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--yellow);color:var(--black);flex:none;transition:transform .35s var(--ease)}
.btn .dot svg{width:20px;height:20px}
.btn:hover{transform:translateY(-2px)}
.btn:hover .dot{transform:rotate(45deg)}
.btn--ghost{background:transparent;color:var(--black)}
.btn--ghost .dot{background:var(--black);color:var(--yellow)}
.on-dark .btn{background:var(--yellow);color:var(--black);border-color:var(--yellow)}
.on-dark .btn .dot{background:var(--black);color:var(--yellow)}
.on-dark .btn--ghost{background:transparent;color:var(--yellow)}
.on-dark .btn--ghost .dot{background:var(--yellow);color:var(--black)}
.btn--sm{min-height:44px;padding:4px 4px 4px 18px;font-size:13px;gap:10px}
.btn--sm .dot{width:34px;height:34px}
.btn--sm .dot svg{width:16px;height:16px}
.tlink{font-weight:700;font-size:17px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;padding:10px 0}
.tlink:hover{text-decoration-thickness:4px}
.ext-note{display:block;margin-top:14px;font-size:14px;color:var(--muted)}

/* Header */
.top{position:sticky;top:0;z-index:50;background:var(--yellow);transition:box-shadow .3s}
.top.is-solid{box-shadow:0 1px 0 rgba(0,0,0,.12)}
.top__in{display:flex;align-items:center;gap:28px;height:72px}
.top__logo{display:block;padding:10px 0}
.top__logo img{width:clamp(150px,13vw,190px);height:auto}
.top__nav{display:flex;gap:28px;margin-left:auto}
.top__nav a{font-weight:700;font-size:15px;text-decoration:none;padding:10px 0;border-bottom:2px solid transparent}
.top__nav a:hover{border-color:var(--black)}

/* Hero */
.hero{background:var(--yellow);padding:clamp(40px,6vw,84px) 0 0;overflow:hidden}
.runway{--sky:64px;--gap:26px;--d:clamp(60px,6.1vw,88px);margin-top:clamp(28px,4vw,48px);position:relative;background:linear-gradient(transparent var(--sky),var(--black) var(--sky))}
.runway__list{list-style:none;display:flex;justify-content:space-between;gap:6px;position:relative;z-index:1;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:26px}
.runway li{position:relative;flex:0 0 auto}
.runway a{display:flex;flex-direction:column;align-items:center;text-decoration:none;border-radius:16px}
.runway .sky{display:block;width:calc(var(--d) * .86);height:calc(var(--sky) - 2px);fill:var(--black);margin-bottom:2px}
.runway img{width:var(--d);height:auto;border-radius:50%;margin-top:var(--gap);transition:transform .35s var(--ease)}
.runway a:hover img,.runway a:focus-visible img{transform:translateY(-6px)}
.runway span{margin-top:12px;font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.08em;background:var(--yellow);color:var(--black);padding:2px 8px;border-radius:6px}

.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,4vw,64px);align-items:center}
.hero h1{font-size:clamp(46px,6.4vw,92px);line-height:.92}
.hero h1 span{display:block}
.hero .lead{margin-top:26px}
.hero__visual{position:relative}
.trust{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:15px;font-weight:600}
.trust li{display:inline-flex;align-items:center;gap:8px}
.trust li::before{content:"";width:16px;height:16px;flex:none;background:var(--black);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat}
.map{width:100%;height:auto;overflow:visible}
.map .arc{fill:none;stroke:var(--black);stroke-width:2;opacity:.75}
.map .rings circle{fill:none;stroke:var(--black);stroke-width:1;stroke-dasharray:3 6;opacity:.35}
.map .plane path{fill:var(--black);stroke:var(--yellow);stroke-width:1.4px;paint-order:stroke;stroke-linejoin:round}
.map .city .halo{fill:var(--yellow);stroke:var(--black);stroke-width:2}
.map .city.hub .halo{stroke-width:3}
.map .city text{paint-order:stroke;stroke:var(--yellow);stroke-width:7px;stroke-linejoin:round}
.map .city text{font-family:var(--text);font-size:15px;font-weight:600;fill:var(--black)}
.map .city .code{font-family:var(--display);font-weight:800;letter-spacing:.04em}
.map .city.hub text{font-size:17px}
.sticker{display:block;border-radius:50%}
.sticker img{border-radius:50%;width:100%;height:auto}

/* Brand / world */
.world__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.photo img{border-radius:var(--r-photo);border:var(--frame);width:100%;object-fit:cover}
.world__photo img{aspect-ratio:4/5;object-position:50% 40%}
.world h2{margin-bottom:26px}
.facts{grid-column:1/-1;list-style:none;margin:clamp(8px,2vw,24px) 0 0;padding:clamp(22px,3vw,40px);display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:18px;background:var(--black);color:var(--white);border-radius:22px;position:relative}
.facts::before{content:"FLIGHT INFO";position:absolute;top:-10px;left:22px;background:var(--yellow);color:var(--black);font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:.14em;padding:3px 9px;border-radius:5px}
.facts li{display:flex;flex-direction:column;gap:10px;min-width:0}
.facts li+li{border-left:2px dashed #3a3a38;padding-left:18px}
.facts small{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9A9A94}
.flaps{display:flex;gap:4px;align-items:center}
.flaps i{position:relative;display:grid;place-items:center;width:clamp(34px,3.6vw,58px);height:clamp(48px,5vw,80px);border-radius:8px;background:#2A2A28;color:var(--yellow);font-family:var(--display);font-style:normal;font-weight:800;font-size:clamp(30px,3.4vw,54px);line-height:1;overflow:hidden}
.flaps i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:rgba(0,0,0,.6)}
.flaps i.pl{background:none;width:auto;padding:0 2px}
.flaps i.pl::after{display:none}
.flaps i.pl svg{width:20px;height:20px;fill:var(--yellow);transform:rotate(90deg)}
.facts li>span{font-size:15px;font-weight:600;line-height:1.3;color:#D6D6D0;max-width:13em}

/* Departures board */
.board{background:var(--black);color:var(--white)}
.board .eyebrow{color:var(--yellow)}
.board__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px 64px;align-items:end;margin-bottom:48px}
.board__head .lead{color:#D6D6D0}
.board__bar{display:flex;flex-direction:column;gap:20px;margin-bottom:6px}
.filters{display:flex;flex-wrap:wrap;gap:10px}
.chip{min-height:44px;padding:0 20px;border-radius:999px;border:2px solid #4A4A48;background:transparent;color:var(--white);font-weight:700;font-size:15px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.chip:hover{border-color:var(--yellow)}
.chip[aria-pressed="true"]{background:var(--yellow);border-color:var(--yellow);color:var(--black)}
.board__cols,.dep__toggle{display:grid;grid-template-columns:78px 64px minmax(0,1.4fr) minmax(0,1fr) 150px 28px;align-items:center;gap:18px}
.board__cols{padding:14px 120px 14px 18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#9A9A94;font-weight:700;border-bottom:1px solid #333}
.board__cols span:nth-child(2){grid-column:2/4}
.deps{list-style:none;margin:0;padding:0}
.dep{border-bottom:1px solid #333}
.dep[hidden]{display:none}
.dep__row{display:flex;align-items:stretch}
.dep__toggle{flex:1;min-width:0;text-align:left;background:none;border:0;padding:14px 18px;cursor:pointer;border-radius:14px;transition:background .2s}
.dep__toggle:hover{background:#1F1F1E}
.dep__code{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:.06em;color:var(--black);background:var(--yellow);border-radius:8px;text-align:center;padding:6px 0}
.dep__thumb{width:56px;height:56px;border-radius:50%;background:#222}
.dep__city{font-family:var(--display);font-weight:800;font-size:clamp(20px,2vw,26px);text-transform:uppercase;line-height:1.05}
.dep__city small{display:block;font-family:var(--text);font-weight:500;font-size:14px;text-transform:none;color:#A9A9A3;margin-top:4px}
.dep__flight{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:.05em;color:var(--white);font-variant-numeric:tabular-nums}
.dep__chev{width:28px;height:28px;border-radius:50%;border:2px solid #555;position:relative;transition:transform .3s var(--ease),border-color .2s}
.dep__chev::before{content:"";position:absolute;left:50%;top:44%;width:8px;height:8px;border-right:2px solid var(--yellow);border-bottom:2px solid var(--yellow);transform:translate(-50%,-50%) rotate(45deg)}
.dep__toggle[aria-expanded="true"] .dep__chev{transform:rotate(180deg);border-color:var(--yellow)}
.dep__buy{display:flex;align-items:center;gap:8px;padding:0 18px;margin:10px 0;min-width:104px;justify-content:center;border-radius:999px;border:2px solid var(--yellow);color:var(--yellow);font-family:var(--display);font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s}
.dep__buy svg{width:16px;height:16px}
.dep__buy:hover{background:var(--yellow);color:var(--black)}

/* Power dots */
.pb{display:inline-flex;align-items:center;gap:10px}
.pb__l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.pb__dots{display:inline-flex;gap:5px}
.pb__dots i{width:13px;height:13px;border-radius:50%;border:2px solid currentColor;display:block}
.pb__dots i.on{background:currentColor}
.pb__dots i.half{background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.pb__v{font-family:var(--display);font-weight:800;font-size:15px;min-width:2.2em}
.dep__pb{color:var(--yellow)}
.pb--lg .pb__dots i{width:18px;height:18px}

/* Boarding pass */
.pass{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:center;margin:4px 0 22px;padding:clamp(24px,3.5vw,48px);background:var(--yellow);color:var(--black);border-radius:28px;position:relative}
.pass::before,.pass::after{content:"";position:absolute;width:28px;height:28px;border-radius:50%;background:var(--black);left:calc(45% - 14px)}
.pass::before{top:-14px}.pass::after{bottom:-14px}
.pass[hidden]{display:none}
.pass__disc{display:flex;flex-direction:column;align-items:center;gap:18px}
.pass__disc .sticker{width:min(100%,340px);transition:transform .5s var(--ease)}
.pass.is-new .sticker{animation:spin-in .7s var(--ease)}
@keyframes spin-in{from{transform:scale(.94);opacity:0}to{transform:none;opacity:1}}
.swatches{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.swatch{width:46px;height:46px;padding:2px;border-radius:50%;border:2px solid transparent;background:none;cursor:pointer}
.swatch img{border-radius:50%;width:100%;height:100%}
.swatch[aria-pressed="true"]{border-color:var(--black)}
.pass__meta{font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.pass__meta span{display:inline-block;background:var(--black);color:var(--yellow);font-family:var(--display);font-weight:800;padding:3px 9px;border-radius:6px;margin-right:6px}
.pass h3{font-size:clamp(40px,5.4vw,72px);margin:12px 0 18px}
.pass blockquote{margin:0;font-size:clamp(18px,1.6vw,21px);line-height:1.45;font-weight:500;max-width:30em}
.pass__fit{margin-top:14px;font-size:16px;color:#3A3A35;max-width:32em}
.specs{display:flex;flex-wrap:wrap;align-items:center;gap:18px 36px;margin-top:24px;padding-top:20px;border-top:2px solid var(--black)}
.flight{list-style:none;margin:0;padding:0;display:flex;gap:22px}
.flight li{text-align:center}
.flight b{display:block;font-family:var(--display);font-weight:800;font-size:30px;line-height:1}
.flight span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.pass .btn-row{margin-top:26px}
.pass .ext-note{color:#3A3A35}
.board__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 32px;margin-top:28px}
.board__hint{color:var(--yellow);font-weight:700;font-size:16px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;padding:8px 0}
.board__note{font-size:14px;color:#A9A9A3;max-width:40em}

/* Power */
.power{background:var(--red);color:var(--white)}
.power__closing{margin-top:24px!important;display:flex;align-items:center;gap:18px;padding-top:22px;border-top:2px solid rgba(255,255,255,.35);font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(18px,1.6vw,22px)!important;line-height:1.2}
.power__dots{display:flex;gap:6px;flex:none}
.power__dots i{width:16px;height:16px;border-radius:50%;border:2.5px solid var(--white)}
.power__dots i.on{background:var(--white)}
.js .power__closing.in .power__dots i.on,.js .reveal.in .power__dots i.on{animation:dotpop .5s var(--ease) both}
.power__dots i:nth-child(2){animation-delay:.15s!important}.power__dots i:nth-child(3){animation-delay:.3s!important}
@keyframes dotpop{from{transform:scale(0)}to{transform:scale(1)}}
.power__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px clamp(32px,6vw,96px);align-items:end}
.power__body p{font-size:clamp(17px,1.4vw,19px)}
.power__body p+p{margin-top:14px}
.power__closing{font-weight:700}
.pwr{margin-top:clamp(44px,6vw,72px);background:var(--black);color:var(--white);border-radius:24px;padding:clamp(18px,2.4vw,30px);box-shadow:inset 0 0 0 2px #2c2c2a}
.pwr__head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0 6px 16px;border-bottom:2px solid #2c2c2a;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9A9A94}
.pwr__head span:first-child{display:inline-flex;align-items:center;gap:8px;color:var(--yellow);font-family:var(--display);font-weight:800;font-size:14px}
.pwr__head svg{width:16px;height:16px;transform:rotate(45deg)}
.pwr__table{width:100%;border-collapse:collapse}
.pwr__table thead th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#77776F;padding:14px 8px 8px}
.pwr__table tbody tr{border-top:1px solid #2c2c2a}
.pwr__table tbody tr:nth-child(odd){background:rgba(255,255,255,.025)}
.pwr__table th[scope=row],.pwr__table td{padding:14px 8px;vertical-align:middle}
.pwr__table th[scope=row]{width:210px;text-align:left}
.pwr__pb{color:var(--yellow)}
.pwr__pb .pb__dots i{width:14px;height:14px}
.pwr__pb .pb__v{font-size:18px}
.pwr__chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.pwr__chips a{display:flex;align-items:center;gap:10px;padding:5px 14px 5px 5px;border-radius:999px;background:#222220;text-decoration:none;transition:background .2s}
.pwr__chips a:hover{background:#333331}
.pwr__chips img{width:40px;height:40px;border-radius:50%}
.pwr__chips b{font-family:var(--display);font-weight:800;font-size:16px;letter-spacing:.08em;color:var(--yellow)}
.pwr__chips span{font-size:14px;color:#D6D6D0}
.pwr__st{width:230px;white-space:nowrap;text-align:right;font-family:var(--display);font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.pwr__st::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:8px;vertical-align:2px}

/* Pack */
.pack__head{max-width:900px;margin-bottom:48px}
.pack__photos{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:clamp(14px,2vw,24px)}
.pack__photos .photo img{aspect-ratio:3/4}
.pack__photos .photo:first-child img{aspect-ratio:auto;height:100%}
.quotes{list-style:none;margin:64px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);align-items:start}
.qpass{position:relative;border-radius:26px;background:var(--yellow);color:var(--black);padding:22px 24px 0;display:flex;flex-direction:column;min-height:380px;transition:transform .4s var(--ease)}
.qpass:nth-child(2){background:var(--black);color:var(--white);margin-top:40px}
.qpass:nth-child(3){background:var(--green);color:var(--white);margin-top:80px}
.qpass:hover{transform:translateY(-6px) rotate(-1deg)}
.qpass__top{display:flex;justify-content:space-between;gap:12px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.qpass__top span:first-child{display:inline-flex;align-items:center;gap:6px}
.qpass__top svg{width:14px;height:14px;transform:rotate(45deg)}
.qpass blockquote{margin:0;padding:30px 0 28px;flex:1;position:relative}
.qpass blockquote::before{content:"\201C";display:block;font-family:var(--display);font-weight:800;font-size:96px;line-height:.6;height:44px}
.qpass:nth-child(2) blockquote::before{color:var(--yellow)}
.qpass q{display:block;font-family:var(--display);font-weight:800;font-size:clamp(22px,2vw,30px);line-height:1.12;text-transform:uppercase;letter-spacing:-.005em;quotes:none}
.qpass__stub{position:relative;display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:10px;padding:18px 0 22px;border-top:2px dashed currentColor}
.qpass__stub::before,.qpass__stub::after{content:"";position:absolute;top:-13px;width:24px;height:24px;border-radius:50%;background:var(--white)}
.qpass__stub::before{left:-36px}.qpass__stub::after{right:-36px}
.qpass__stub small{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.qpass__stub b{display:block;font-family:var(--display);font-weight:800;font-size:20px;text-transform:uppercase;margin-top:2px}

/* Starter */
.starter{background:var(--green);color:var(--white)}
.starter__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.starter__photo img{aspect-ratio:1/1}
.starter .eyebrow svg{color:var(--yellow)}
.starter h2{margin-bottom:22px}
.legs{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;position:relative}
.legs::before{content:"";position:absolute;left:16.6%;right:16.6%;top:42px;border-top:3px dashed var(--white)}
.legs::after{content:"";position:absolute;left:50%;top:42px;width:22px;height:22px;transform:translate(-50%,-50%);background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath transform='rotate(90 12 12)' d='M21 16v-2l-8-5V3.5a1.5 1.5 0 0 0-3 0V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5z'/%3E%3C/svg%3E") center/18px no-repeat;display:none}
.legs li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.legs img{position:relative;width:84px;height:84px;border-radius:50%;background:var(--green);padding:7px;border:3px solid var(--white);box-sizing:border-box}
.legs li+li::before{content:"";position:absolute;top:33px;left:-14%;width:22px;height:22px;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath transform='rotate(90 12 12)' d='M21 16v-2l-8-5V3.5a1.5 1.5 0 0 0-3 0V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5z'/%3E%3C/svg%3E") center/20px no-repeat;z-index:1}
.legs b{margin-top:14px;font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:.06em;background:var(--black);color:var(--yellow);padding:2px 10px;border-radius:6px}
.legs span{font-weight:700;margin-top:6px}
.legs small{font-size:14px;opacity:.9}
.starter__who{margin-top:28px;font-weight:600}
.starter .btn{background:var(--black);color:var(--yellow)}
.starter .ext-note{color:#E9F6EB}

/* Finale */
.finale{background:var(--yellow);position:relative;overflow:hidden}
.finale__g{position:absolute;width:clamp(420px,52vw,760px);right:-8vw;top:50%;transform:translateY(-50%) rotate(-8deg);pointer-events:none}
.finale .wrap{position:relative;z-index:1}
.ticket{max-width:1040px}
.ticket{display:grid;grid-template-columns:minmax(0,1fr) 340px;background:var(--black);color:var(--white);border-radius:32px;position:relative}
.ticket__main{padding:clamp(26px,4vw,56px)}
.ticket .qpass__top{color:var(--white);margin-bottom:clamp(28px,4vw,48px)}
.ticket .eyebrow{color:var(--yellow)}
.ticket h2{font-size:clamp(40px,6.2vw,92px);color:var(--yellow);max-width:10em}
.ticket__row{display:flex;flex-wrap:wrap;gap:16px 48px;margin:clamp(28px,4vw,44px) 0 0}
.ticket__row dt{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.ticket__row dd{margin:2px 0 0;font-family:var(--display);font-weight:800;font-size:22px;text-transform:uppercase}
.ticket__stub{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;padding:clamp(26px,3vw,44px);border-left:3px dashed var(--yellow)}
.ticket__stub::before,.ticket__stub::after{content:"";position:absolute;left:-17px;width:32px;height:32px;border-radius:50%;background:var(--yellow)}
.ticket__stub::before{top:-16px}.ticket__stub::after{bottom:-16px}
.ticket__stub .tlink{color:var(--white)}
.ticket .btn{background:var(--yellow);color:var(--black);border-color:var(--yellow)}
.ticket .btn .dot{background:var(--black);color:var(--yellow)}
.pass__bp{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;padding-bottom:12px;border-bottom:2px dashed rgba(0,0,0,.35)}
.pass__bp svg{width:14px;height:14px;transform:rotate(45deg)}
.pass__bp span{margin-left:auto}

/* Footer */
.foot{background:var(--black);color:#D6D6D0;padding:72px 0 36px;font-size:16px}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.foot__logo{width:190px;margin-bottom:18px}
.foot h2{font-size:14px;letter-spacing:.14em;color:var(--yellow);margin-bottom:14px}
.foot a{color:var(--white)}
.foot p a{display:inline-block;padding:8px 0}
.foot .tlink{font-size:16px}
.foot__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:56px;padding-top:24px;border-top:1px solid #333;font-size:14px;color:#9A9A94}

/* Motion */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.js .map .arc{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.4s var(--ease) forwards;animation-delay:calc(.25s + var(--i) * .09s)}
@keyframes draw{to{stroke-dashoffset:0}}
.js .map.done .arc{stroke-dasharray:none;animation:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal{opacity:1;transform:none}
  .js .map .arc{stroke-dasharray:none;stroke-dashoffset:0}
}

/* Tablet */
@media (max-width:1040px){
  .board__cols,.dep__toggle{grid-template-columns:70px 56px minmax(0,1fr) 130px 28px}
  .dep__flight{display:none}
  .board__cols span:nth-child(3){display:none}
}
@media (max-width:900px){
  body{font-size:17px}
  .top__nav{display:none}
  .top__shop{margin-left:auto}
  .hero__grid,.world__grid,.board__head,.power__grid,.starter__grid,.pass{grid-template-columns:1fr}
  .hero__visual{margin-top:8px}
  .runway__list{justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .runway__list::-webkit-scrollbar{display:none}
  .runway li{scroll-snap-align:start}
  .runway__list{scroll-padding-inline:var(--gut)}
    .world__photo img{aspect-ratio:4/3}
  .pass::before,.pass::after{display:none}
  .pack__photos{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin:0 calc(var(--gut) * -1);padding-left:var(--gut);padding-right:var(--gut);scrollbar-width:none}
  .pack__photos .photo{scroll-snap-align:center}
  .pack__photos .photo:first-child img{aspect-ratio:3/4;height:auto}
  .ticket{grid-template-columns:1fr}
  .finale__g{width:340px;right:-150px;top:auto;bottom:-40px;transform:rotate(-8deg)}
  .ticket__stub{border-left:0;border-top:3px dashed var(--yellow);align-items:stretch}
  .ticket__stub::before,.ticket__stub::after{top:-17px;bottom:auto}
  .ticket__stub::before{left:-16px}.ticket__stub::after{left:auto;right:-16px}
  .quotes{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;overflow-x:auto;scroll-snap-type:x mandatory;margin:40px calc(var(--gut) * -1) 0;padding:6px var(--gut) 16px;scroll-padding-inline:var(--gut);scrollbar-width:none}
  .qpass{scroll-snap-align:start;min-height:340px}
  .qpass:nth-child(2),.qpass:nth-child(3){margin-top:0}
  .foot__grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .map .city text,.map .city.hub text{font-size:26px}
  .map .city text .nm{display:none}
  .trust{font-size:14px;gap:6px 16px}
  .pwr__table thead{display:none}
  .pwr__table tr{display:grid;grid-template-columns:1fr auto;padding:12px 4px}
  .pwr__table th[scope=row],.pwr__table td{padding:4px}
  .pwr__table th[scope=row]{width:auto}
  .pwr__table td:nth-child(2){grid-column:1/-1;grid-row:2}
  .pwr__st{width:auto;font-size:12px}
  .pwr__chips span{display:none}
  .pwr__chips a{padding-right:12px}
  .pwr__chips img{width:32px;height:32px}
  .pwr__chips{gap:8px}
  .facts{grid-template-columns:1fr;gap:14px}
  .facts li+li{border-left:0;padding-left:0;border-top:2px dashed #3a3a38;padding-top:14px}
  .btn-row{gap:10px 20px}
  .board__cols{display:none}
  .dep__toggle{grid-template-columns:58px 44px minmax(0,1fr) 28px;gap:12px;padding:12px 8px}
  .dep__pb{display:none}
  .dep__code{font-size:16px}
  .dep__city{font-size:18px}
  .dep__thumb{width:44px;height:44px}
  .dep__buy{min-width:0;width:48px;padding:0;font-size:0;gap:0;margin:12px 0 12px 4px}
  .dep__buy svg{width:18px;height:18px}
  .dep__buy span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .pass{padding:22px 18px;border-radius:22px}
  .pass .btn{width:100%;justify-content:space-between}
  .flight{gap:16px}
  .flight b{font-size:26px}
  .legs::before{top:34px}
  .legs img{width:68px;height:68px;padding:5px}
  .legs li+li::before{top:25px;left:-18%}
  .ticket__stub .btn{width:100%;justify-content:space-between}
}

/* GRAM rings in hero */
.hero{position:relative;isolation:isolate}
.grings{position:absolute;z-index:-1;width:min(1150px,95vw);right:-14%;top:44%;transform:translateY(-50%);fill:none;stroke:var(--black);stroke-width:2;stroke-linecap:round;opacity:.17;pointer-events:none}
.grings path{transform-origin:500px 500px;animation:ringspin calc(80s + var(--d) * 14s) linear infinite}
.grings path:nth-child(even){animation-direction:reverse}
@keyframes ringspin{to{transform:rotate(360deg)}}
@media (max-width:900px){.grings{width:900px;right:-55%;top:62%;opacity:.13}}

/* City photo in boarding pass */
.pass__disc{position:relative}
.pass__city{width:100%;margin:0;position:relative;border-radius:20px;overflow:hidden;aspect-ratio:16/10}
.pass__city img{width:100%;height:100%;object-fit:cover}
.pass__city figcaption{position:absolute;left:14px;top:14px;background:rgba(20,20,20,.82);color:#fff;font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:8px}
.pass__city figcaption span{color:var(--yellow);margin-right:4px}
.pass .pass__disc{display:grid;grid-template-columns:1fr;gap:16px;align-items:end}
.pass__disc .pass__city{grid-area:1/1}
.pass__disc .sticker{grid-area:1/1;justify-self:end;align-self:end;width:min(36%,180px);margin:0 -14px -22px 0;position:relative;z-index:1;filter:drop-shadow(0 12px 18px rgba(0,0,0,.3))}
.pass__disc .swatches{justify-content:flex-start;margin-top:10px}

/* Moments */
.moments{background:var(--black);color:var(--white);padding-bottom:clamp(56px,7vw,96px)}
.moments__hero{position:relative;min-height:min(86vh,820px);display:flex;align-items:flex-end}
.m{margin:0;position:relative;overflow:hidden}
.m img{width:100%;height:100%;object-fit:cover;display:block}
.m figcaption{position:absolute;left:18px;bottom:16px;font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--black);background:var(--yellow);padding:5px 10px;border-radius:6px}
.m--big{position:absolute;inset:0}
.m--big figcaption{top:22px;bottom:auto;left:auto;right:var(--gut)}
.m--big::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,20,0) 35%,rgba(20,20,20,.86) 100%)}
.moments__copy{position:relative;z-index:1;padding-bottom:clamp(40px,6vw,80px)}
.moments__copy .eyebrow{color:var(--yellow)}
.moments__copy h2{max-width:13em;font-size:clamp(36px,5.6vw,80px)}
.moments__copy .lead{margin-top:20px;color:#EDEDE8}
.moments__tiles{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,24px);margin-top:clamp(12px,2vw,24px)}
.m--tile{border-radius:var(--r-photo);aspect-ratio:3/2}
.js .moments .m--big.reveal{opacity:1;transform:none}
@media (max-width:600px){.moments__hero{min-height:560px}.moments__tiles{grid-template-columns:1fr}}
.pack .photo{position:relative}
.cap{position:absolute;left:16px;bottom:16px;font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;background:var(--yellow);color:var(--black);padding:5px 10px;border-radius:6px}

/* credits */
.credits{margin-top:40px;font-size:13px;color:#9A9A94}
.credits summary{cursor:pointer;padding:8px 0;font-weight:700}
.credits ul{margin:8px 0 0;padding-left:18px;line-height:1.6}
.credits a{color:#D6D6D0;display:inline-block;padding:12px 4px}
@media (prefers-reduced-motion:reduce){.grings path{animation:none!important}}

/* ---- Motion layer (v9) ---- */
.progress{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--black);transform-origin:0 50%;transform:scaleX(var(--sp,0));z-index:2}
.split i{font-style:normal;display:inline-block}
.js .split i{opacity:0;transform:translateY(.45em) rotate(2deg);animation:wordup .9s var(--ease) forwards;animation-delay:calc(.08s * var(--w,0) + .1s)}
@keyframes wordup{to{opacity:1;transform:none}}
.map .city.hub .halo{animation:hubpulse 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes hubpulse{0%,100%{stroke-width:3}50%{stroke-width:7}}
.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .7s var(--ease)}
.btn:hover::after{left:130%}
.runway li{transition:transform .5s var(--ease)}
.runway a:hover img,.runway a:focus-visible img{transform:translateY(-8px) rotate(-14deg)}
.js .runway li{opacity:0;transform:translateY(18px)}
.js .runway.in li{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--k) * 45ms)}
.pass__disc .sticker img{transition:transform 1.2s var(--ease)}
.pass:hover .pass__disc .sticker img{transform:rotate(-25deg)}
.pass__city img{transition:transform 1.4s var(--ease)}
.pass:hover .pass__city img{transform:scale(1.04)}
.pass.is-new .pass__city img{animation:cityin 1.1s var(--ease)}
@keyframes cityin{from{transform:scale(1.12);filter:saturate(.6)}to{transform:none;filter:none}}
.moments .m--big img{transform:translate3d(0,var(--py,0px),0) scale(1.12);will-change:transform}
.m--tile img{transition:transform 1.2s var(--ease)}
.m--tile:hover img{transform:scale(1.05)}
.js .pwr__table tbody tr{opacity:0;transform:translateX(-14px)}
.js .pwr.in .pwr__table tbody tr{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.js .pwr.in .pwr__table tbody tr:nth-child(2){transition-delay:.06s}.js .pwr.in .pwr__table tbody tr:nth-child(3){transition-delay:.12s}.js .pwr.in .pwr__table tbody tr:nth-child(4){transition-delay:.18s}.js .pwr.in .pwr__table tbody tr:nth-child(5){transition-delay:.24s}.js .pwr.in .pwr__table tbody tr:nth-child(6){transition-delay:.3s}.js .pwr.in .pwr__table tbody tr:nth-child(7){transition-delay:.36s}
.qpass{transition:transform .5s var(--ease)}
.ticket{transition:transform .6s var(--ease)}
.dep__toggle:active{transform:scale(.99)}
@media (hover:none){.pass:hover .pass__disc .sticker img,.pass:hover .pass__city img{transform:none}}
@media (prefers-reduced-motion:reduce){
 .js .split i,.js .runway li,.js .pwr__table tbody tr{opacity:1!important;transform:none!important;animation:none!important}
 .moments .m--big img{transform:scale(1.05)!important}
 .map .city.hub .halo{animation:none}
 .btn::after{display:none}
}

/* First flight offer */
.offer{background:var(--paper);overflow:hidden}
.offer__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px 64px;align-items:center}
.offer h2{font-size:clamp(40px,5vw,76px);line-height:.92}
.offer .lead{margin-top:22px}
.offer__art{position:relative;padding:40px 0 20px}
.offer__disc{position:absolute;right:-4%;top:-8%;width:62%;max-width:420px;border-radius:50%;transform:rotate(-14deg);filter:drop-shadow(0 26px 34px rgba(0,0,0,.22));z-index:0}
 .fticket{position:relative;z-index:1;display:flex;max-width:620px;margin-top:150px;transform:rotate(-3deg);filter:drop-shadow(0 26px 34px rgba(0,0,0,.25));transition:transform .4s var(--ease)}
 .fticket:hover{transform:rotate(-1deg) translateY(-4px)}
 .fticket__main{flex:1;background:var(--black);color:#fff;border-radius:22px 0 0 22px;padding:24px 28px;
 -webkit-mask:radial-gradient(circle at 100% 0,transparent 15px,#000 16px) top/100% 51% no-repeat,radial-gradient(circle at 100% 100%,transparent 15px,#000 16px) bottom/100% 51% no-repeat;
 mask:radial-gradient(circle at 100% 0,transparent 15px,#000 16px) top/100% 51% no-repeat,radial-gradient(circle at 100% 100%,transparent 15px,#000 16px) bottom/100% 51% no-repeat}
 .fticket__stub{width:clamp(130px,30%,180px);background:var(--yellow);border-radius:0 22px 22px 0;padding:22px 18px;border-left:3px dashed rgba(0,0,0,.35);display:flex;flex-direction:column;gap:10px;
 -webkit-mask:radial-gradient(circle at 0 0,transparent 15px,#000 16px) top/100% 51% no-repeat,radial-gradient(circle at 0 100%,transparent 15px,#000 16px) bottom/100% 51% no-repeat;
 mask:radial-gradient(circle at 0 0,transparent 15px,#000 16px) top/100% 51% no-repeat,radial-gradient(circle at 0 100%,transparent 15px,#000 16px) bottom/100% 51% no-repeat}
 .fticket__top{display:flex;justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9A9A94}
 .fticket__top b{color:var(--yellow);font-family:var(--display)}
 .fticket__code{margin:10px 0 14px;font-family:var(--display);font-weight:800;font-size:clamp(36px,5vw,64px);line-height:1;letter-spacing:.02em;color:var(--yellow);user-select:all}
 .fticket__row{display:flex;gap:26px;border-top:1px solid #333;padding-top:14px}
 .fticket__row span{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9A9A94}
 .fticket__row b{font-family:var(--display);font-size:20px;white-space:nowrap}
 .fticket__copy{min-height:44px;border:0;border-radius:999px;background:var(--black);color:var(--yellow);font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:0 14px;transition:transform .2s var(--ease)}
 .fticket__copy:hover{transform:translateY(-2px)}
 .fticket__copy:focus-visible{outline:3px solid var(--black);outline-offset:3px}
 .fticket__fine{margin:0;color:var(--black);font-size:13px;line-height:1.35;font-weight:600}
 .fticket__bar{margin-top:auto;height:38px;background:repeating-linear-gradient(90deg,#141414 0 2px,transparent 2px 4px,#141414 4px 7px,transparent 7px 9px,#141414 9px 10px,transparent 10px 13px)}
@media (max-width:900px){.offer__grid{grid-template-columns:1fr} .fticket{margin-top:90px}.offer__disc{width:52%;right:0}}
@media (max-width:520px){ .fticket{flex-direction:column;transform:rotate(-2deg)} .fticket__main{border-radius:22px 22px 0 0;-webkit-mask:none;mask:none} .fticket__stub{width:auto;border-radius:0 0 22px 22px;border-left:0;border-top:3px dashed rgba(0,0,0,.35);-webkit-mask:none;mask:none;flex-direction:row;align-items:center;flex-wrap:wrap} .fticket__bar{display:none} .fticket__row{gap:18px} .fticket__code{font-size:40px}}
@media (prefers-reduced-motion:reduce){ .fticket, .fticket:hover{transition:none;transform:rotate(-3deg)}}

/* consent banner */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:520px;margin-left:auto;background:var(--black);color:var(--white);border-radius:20px;padding:18px 20px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;box-shadow:0 12px 40px rgba(0,0,0,.25);font-size:15px;line-height:1.4}
.consent[hidden]{display:none}
.consent p{margin:0;flex:1 1 240px}
.consent__btns{display:flex;gap:8px}
.consent button{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:12px 18px;cursor:pointer;border:2px solid var(--yellow)}
.consent__yes{background:var(--yellow);color:var(--black)}
.consent__no{background:transparent;color:var(--yellow)}
.linkbtn{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}

/* ===== FAQ (onepager + disc pages) ===== */
.faq{background:var(--paper)}
.faq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.faq__head{position:sticky;top:110px}
.faq__head h2{font-size:clamp(40px,5vw,72px);margin-bottom:22px}
.faq__head a{color:inherit;font-weight:700;text-underline-offset:4px}
.faq__list{border-top:3px solid var(--black)}
.faq__item{border-bottom:2px solid var(--line)}
.faq__item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;font-family:var(--display);font-weight:800;font-size:clamp(18px,1.6vw,22px);line-height:1.2;text-transform:uppercase;letter-spacing:-.005em}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary i{flex:none;width:40px;height:40px;border-radius:50%;background:var(--black);position:relative;transition:transform .35s var(--ease),background .2s}
.faq__item summary i::before,.faq__item summary i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2.6px;background:var(--yellow);transform:translate(-50%,-50%);border-radius:2px}
.faq__item summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .35s var(--ease)}
.faq__item[open] summary i{background:var(--yellow)}
.faq__item[open] summary i::before,.faq__item[open] summary i::after{background:var(--black)}
.faq__item[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq__item summary:hover i{transform:scale(1.08)}
.faq__a{padding:0 64px 26px 0}
.faq__a p{margin:0;font-size:clamp(17px,1.3vw,19px);color:#2E2F33;max-width:38em}

/* ===== Disc pages ===== */
.is-sub .top{background:var(--yellow)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 28px;padding:0;font-size:14px;font-weight:700}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.45}
.crumbs a{color:inherit;text-decoration:none;border-bottom:2px solid transparent}
.crumbs a:hover{border-color:currentColor}
.crumbs [aria-current]{opacity:.6}
.dhero{background:var(--yellow);padding:clamp(20px,3vw,40px) 0 clamp(64px,8vw,120px)}
.dhero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.dhero__art{position:relative;padding-bottom:60px}
.dhero__city{margin:0;position:relative}
.dhero__city img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-photo);border:var(--frame);display:block}
.dhero__city figcaption{position:absolute;left:18px;top:18px;background:var(--black);color:var(--white);font-family:var(--display);font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;border-radius:8px}
.dhero__city figcaption span{color:var(--yellow);margin-right:4px}
.dhero__disc{position:absolute;right:-4%;bottom:0;width:min(52%,340px);filter:drop-shadow(0 18px 30px rgba(0,0,0,.28));animation:spin-in .9s var(--ease) both}
.dhero__art .swatches{position:absolute;left:18px;bottom:78px}
.dhero__info h1{font-size:clamp(64px,9vw,136px);margin:14px 0 18px;line-height:.9}
.dhero__info h1.is-long{font-size:clamp(44px,6.6vw,100px)}
.dhero__info h1 small{display:block;font-size:clamp(16px,1.5vw,20px);letter-spacing:.14em;margin-top:14px;font-weight:700}
.dhero__quote{font-size:clamp(18px,1.6vw,22px);line-height:1.45;font-weight:500;max-width:30em;margin:0}
.dhero__promo{margin:22px 0 0;font-size:15px;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.dhero__promo b{font-family:var(--display);font-weight:800;letter-spacing:.06em;background:var(--black);color:var(--yellow);padding:4px 10px;border-radius:6px}
.dhero__promo a{color:inherit;font-weight:700;text-underline-offset:4px}
.dhero .specs{border-top-color:var(--black)}

.fly__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,96px);align-items:start}
.fly__card{background:var(--black);color:var(--white);border-radius:28px;padding:22px 22px 18px;position:sticky;top:100px}
.fly__top{display:flex;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding-bottom:12px;border-bottom:2px dashed #3A3A38}
.fly__top span:first-child{display:inline-flex;gap:6px;align-items:center;color:var(--yellow)}
.fly__top svg{width:14px;height:14px;transform:rotate(45deg)}
.fchart{display:block;width:100%;height:auto;max-height:560px;margin:8px auto 0}
.fchart__grid line{stroke:#2C2C2A;stroke-width:1.5}
.fchart__grid .fchart__axis{stroke:#3B3B38;stroke-dasharray:4 6}
.fchart__path{fill:none;stroke:var(--yellow);stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.js .fchart__path{stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease) .2s}
.js .in .fchart__path{stroke-dashoffset:0}
.fchart__tee{fill:var(--yellow)}
.fchart__lab{fill:#8E8E88;font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.14em}
.fly__note{margin:6px 0 0;font-size:13px;color:#9A9A94;line-height:1.5}
.fly__key{display:inline-flex;align-items:center;gap:6px;margin-right:16px;font-weight:700;color:var(--white)}
.fly__key i{width:18px;height:4px;border-radius:2px;background:var(--yellow)}
.fly__key--g{color:#9A9A94}.fly__key--g i{background:#4A4A46}
.fchart__ghosts path{fill:none;stroke:#3A3A37;stroke-width:2;stroke-linecap:round}
.fly__copy h2{font-size:clamp(34px,4.2vw,60px);margin-bottom:20px}
.fly__h3{font-size:15px;letter-spacing:.14em;margin:40px 0 14px}
.when{list-style:none;margin:0;padding:0;border-top:2px solid var(--black)}
.when li{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:2px solid var(--line);font-size:18px;font-weight:600}
.when li::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 3px var(--black)}
.fly__small{font-size:16px;color:var(--muted);margin:0 0 12px}
.fly__small a{color:var(--black);font-weight:700;text-underline-offset:4px}
.ps{background:var(--paper);border-radius:20px;padding:22px 22px 14px}
.ps__track{list-style:none;margin:0;padding:0;position:relative;height:170px;border-bottom:3px solid var(--black)}
.ps__i{position:absolute;left:calc(var(--x) * .92 + 4%);bottom:calc(8px + var(--k,0) * 36px);transform:translateX(-50%)}
.ps__i a{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:var(--black)}
.ps__i img{width:30px;height:30px;border-radius:50%;opacity:.55;transition:transform .25s var(--ease),opacity .2s}
.ps__i span{font-family:var(--display);font-weight:800;font-size:10px;letter-spacing:.06em;opacity:.55;display:none}
.ps__i a:hover span{display:block;position:absolute;bottom:100%;opacity:1}
.ps__i a:hover img{transform:translateY(-4px);opacity:1}
.ps__i.is-me img{width:48px;height:48px;opacity:1;box-shadow:0 0 0 4px var(--yellow),0 0 0 7px var(--black)}
.ps__i.is-me span{display:block;opacity:1;background:var(--black);color:var(--yellow);padding:2px 7px;border-radius:5px;font-size:12px}
.ps__axis{display:flex;justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:10px}

.cityband{background:var(--black);color:var(--white);overflow:hidden}
.cityband__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.cityband__photo{margin:0;position:relative;border-radius:var(--r-photo);overflow:hidden;background:var(--yellow);aspect-ratio:4/3}
.cityband__photo img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.55) brightness(1.18);mix-blend-mode:multiply}
.cityband__photo figcaption{position:absolute;right:18px;bottom:6px;font-family:var(--display);font-weight:800;font-size:clamp(64px,9vw,140px);line-height:.85;color:var(--black);letter-spacing:-.02em;mix-blend-mode:normal}
.cityband__card{max-width:560px}
.cityband__card .qpass__top{color:var(--yellow);padding-bottom:12px;border-bottom:2px dashed #3A3A38;margin:0 0 22px}
.cityband__card h2{font-size:clamp(40px,5vw,72px);color:var(--yellow);margin-bottom:18px}
.cityband__card p{font-size:clamp(18px,1.5vw,21px);margin:0;line-height:1.5}
.cityband__card .cityband__small{font-size:15px;color:#A9A9A3;margin-top:18px}

.pairs__head h2{font-size:clamp(40px,5vw,72px);margin-bottom:36px}
.pairs__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pair{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:18px;align-items:center;padding:22px;border-radius:24px;background:var(--paper);color:var(--black);text-decoration:none;border:3px solid transparent;transition:transform .3s var(--ease),border-color .2s}
.pair img{grid-row:1/4;width:96px;height:96px;border-radius:50%;transition:transform .5s var(--ease)}
.pair__code{font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.1em;background:var(--black);color:var(--yellow);padding:2px 8px;border-radius:5px;justify-self:start}
.pair b{font-family:var(--display);font-weight:800;font-size:28px;text-transform:uppercase;line-height:1.05;margin-top:6px}
.pair small{font-size:14px;color:var(--muted)}
.pair__go{position:absolute;right:20px;top:20px;width:36px;height:36px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font-weight:800;transition:transform .3s var(--ease)}
.pair:hover{transform:translateY(-4px);border-color:var(--black)}
.pair:hover img{transform:rotate(-25deg)}
.pair:hover .pair__go{transform:translateX(3px)}

.runway--page{background:var(--black);margin:0;padding-top:28px}
.runway--page .sky{fill:#3A3A38}
.runway--page [aria-current] img{box-shadow:0 0 0 4px var(--yellow)}
.pass__more{color:var(--black)}

@media (max-width:900px){
 .faq__grid,.dhero__grid,.fly__grid{grid-template-columns:1fr}
 .faq__head,.fly__card{position:static}
 .faq__a{padding-right:0}
 .dhero__art{max-width:560px}
 .pairs__list{grid-template-columns:1fr}
 .fly__copy{order:-1}
 .cityband__grid{grid-template-columns:1fr}
 .fchart{max-height:440px}
 .ps__i img{width:24px;height:24px}
}
@media (max-width:600px){.dhero__info h1{font-size:clamp(56px,17vw,88px)}.dhero__info h1.is-long{font-size:clamp(40px,12.5vw,64px)}.flight{gap:16px}.flight b{font-size:26px}}
@media (prefers-reduced-motion:reduce){.js .fchart__path{transition:none;stroke-dashoffset:0}.dhero__disc{animation:none}}
.hero__grid>*{min-width:0}
@media (max-width:360px){.hero h1{font-size:12.4vw}}
@media (max-width:360px){.pwr{overflow-x:auto}}
