/* The Galley Works v4: crew-room supply. Navy, brass, boarding-pass paper, remove-before-flight red. */
@font-face{font-family:"Big Shoulders Display";src:url(fonts/bigshoulders.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(fonts/jetbrainsmono.woff2) format("woff2");font-weight:100 800;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(fonts/playfair-italic.woff2) format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(fonts/playfair.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter.woff2) format("woff2");font-weight:300 800;font-display:swap}
:root{--ink:#08111D;--navy:#0E1A2B;--navy2:#14243B;--steel:#1C2E47;--brass:#C8A15A;--brass2:#E9CD8E;--cream:#F4EEE1;--paper:#FBF7EE;--paper2:#EDE4D0;
--red:#D8402F;--amber:#FFC94A;--go:#3FA66B;--mut:#9DB0C8;--txt:#E9EEF5;--line:rgba(200,161,90,.32);
--disp:"Big Shoulders Display",Impact,"Arial Narrow",sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--serif:"Playfair Display",Georgia,serif;--sans:Inter,system-ui,sans-serif;
--r:14px;--sh:0 24px 60px -20px rgba(0,0,0,.65),0 2px 0 rgba(255,255,255,.04) inset}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--navy);color:var(--txt);font:16px/1.6 var(--sans);padding-bottom:84px;
background-image:radial-gradient(1200px 600px at 85% -10%,rgba(200,161,90,.12),transparent 60%),radial-gradient(900px 700px at -10% 30%,rgba(63,110,170,.16),transparent 60%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,auto,48px 48px,48px 48px}
a{color:var(--brass2)}img,svg{max-width:100%}
.mono{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:12px;top:12px;z-index:99;background:var(--brass);color:var(--ink);padding:8px 12px;border-radius:8px}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:6px}
.ico{display:inline-block;vertical-align:-3px;flex:none}
/* disclosure */
.disclosure-bar{background:var(--ink);border-bottom:1px solid var(--line);font-size:12.5px;line-height:1.5;color:#C9D3E0}
.disclosure-bar p{max-width:1200px;margin:0 auto;padding:8px 20px}
.disclosure-bar .pa{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:10.5px;color:var(--amber);border:1px solid rgba(255,201,74,.4);border-radius:4px;padding:1px 6px;margin-right:6px;white-space:nowrap}
/* masthead */
.masthead{position:sticky;top:0;z-index:40;background:rgba(10,19,32,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.mh-in{max-width:1200px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:22px}
.wordmark{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--cream)}
.wordmark .wm-pin{width:58px;height:auto}
.wordmark b{display:block;font:800 22px/1 var(--disp);letter-spacing:.14em;text-transform:uppercase}
.wordmark i{display:block;font:500 9.5px/1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);font-style:normal;margin-top:3px}
.masthead nav{display:flex;gap:4px;margin-left:auto}
.masthead nav a{display:flex;align-items:center;gap:7px;color:#D5DEEA;text-decoration:none;font:600 13px var(--sans);padding:8px 10px;border-radius:8px;transition:background .2s,color .2s}
.masthead nav a i{font:600 10px var(--mono);font-style:normal;color:var(--ink);background:var(--brass);border-radius:3px;padding:2px 4px}
.masthead nav a:hover{background:rgba(200,161,90,.12);color:#fff}
@media (max-width:900px){.masthead nav{display:none}.mh-cta{margin-left:auto}.wordmark i{display:none}.wordmark b{font-size:18px}}
/* buttons */
.btn{--b:var(--brass);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 22px;border-radius:10px;font:700 14.5px/1.1 var(--sans);letter-spacing:.02em;text-decoration:none;cursor:pointer;border:1px solid transparent;overflow:hidden;transition:transform .18s,box-shadow .2s,background .2s,color .2s;-webkit-tap-highlight-color:transparent}
.btn .arr{transition:transform .2s}.btn:hover .arr{transform:translateX(4px)}
.btn-brass{color:#1A1206;background:linear-gradient(180deg,#F0D79C,#C8A15A 55%,#A9833F);box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 -2px 0 rgba(0,0,0,.18) inset,0 10px 24px -10px rgba(200,161,90,.7)}
.btn-brass:before{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .6s}
.btn-brass:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 16px 30px -12px rgba(200,161,90,.85)}.btn-brass:hover:before{left:130%}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-ghost{color:var(--cream);border-color:rgba(233,205,142,.45);background:rgba(255,255,255,.03)}.btn-ghost:hover{border-color:var(--brass2);background:rgba(200,161,90,.1)}
.btn-text{background:none;border:0;color:var(--mut);text-decoration:underline;padding:12px}
.btn-lg{min-height:54px;padding:15px 26px;font-size:15.5px}.btn-sm{min-height:38px;padding:8px 14px;font-size:13px}.btn-block{width:100%}
/* sections */
.sec{max-width:1200px;margin:0 auto;padding:72px 20px}
.sec-head{max-width:760px;margin-bottom:34px}
.kicker{display:flex;align-items:center;gap:8px;font:600 11.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 12px}
h1,h2,h3{margin:0;font-weight:800}
h2{font:800 clamp(36px,5vw,62px)/.95 var(--disp);text-transform:uppercase;letter-spacing:.01em;color:var(--cream)}
h2 em{display:block;font:italic 700 .62em/1.15 var(--serif);text-transform:none;color:var(--brass2);letter-spacing:0;margin-top:8px}
.sec-sub{color:#BFCBDA;max-width:680px;margin:16px 0 0}.sec-sub.big{font-size:18px}
.tlink{font-weight:700;text-decoration:none;color:var(--brass2)}.tlink:hover{text-decoration:underline}
.fine{font-size:12.5px;color:var(--mut)}
q{quotes:"\201C" "\201D"}
/* divider: runway centreline */
.divider{display:flex;align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding:0 20px;color:var(--brass)}
.divider .cl{flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--brass) 0 26px,transparent 26px 44px);opacity:.55}
.divider .dv-lbl{font:600 11px var(--mono);letter-spacing:.24em;text-transform:uppercase;display:flex;gap:8px;align-items:center}
/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-in{max-width:1200px;margin:0 auto;padding:58px 20px 70px;display:grid;grid-template-columns:1.12fr .88fr;gap:40px;align-items:center}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--amber);margin:0 0 20px}
.beacon{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(216,64,47,.6);animation:beacon 1.6s infinite}
@keyframes beacon{70%{box-shadow:0 0 0 12px rgba(216,64,47,0)}100%{box-shadow:0 0 0 0 rgba(216,64,47,0)}}
.hero h1 .h1a{display:block;font:900 clamp(58px,8.6vw,120px)/.86 var(--disp);text-transform:uppercase;color:var(--cream);letter-spacing:-.005em}
.hero h1 s{text-decoration:none;position:relative;color:#7F90A8}
.hero h1 s:after{content:"";position:absolute;left:-4%;right:-4%;top:48%;height:.13em;background:var(--red);transform:rotate(-5deg);border-radius:2px;box-shadow:0 2px 0 rgba(0,0,0,.3)}
.hero h1 .h1b{display:block;font:italic 700 clamp(34px,4.5vw,62px)/1.05 var(--serif);color:var(--brass2);margin-top:14px}
.lede{font-size:18px;color:#C9D4E2;max-width:560px;margin:22px 0 28px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.strips{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:600px}
.strip{display:flex;align-items:stretch;background:var(--paper);color:#1B2433;border-radius:4px;overflow:hidden;box-shadow:0 8px 20px -10px rgba(0,0,0,.6);font-family:var(--mono)}
.strip .st-code{writing-mode:vertical-rl;transform:rotate(180deg);background:var(--amber);color:#221800;font:700 11px var(--mono);letter-spacing:.12em;padding:6px 4px;text-align:center}
.strip:nth-child(3) .st-code{background:var(--red);color:#fff}
.st-main{padding:8px 10px;flex:1;min-width:0}.st-main b{display:block;font:800 17px/1 var(--disp);text-transform:uppercase;letter-spacing:.04em}
.st-main span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#5A6478}
.st-left{font-style:normal;font:700 12px var(--mono);padding:8px 8px 8px 0;align-self:center;color:#8A3A1F;white-space:nowrap}
/* boarding pass hero */
.hero-art{position:relative;min-height:420px;display:grid;place-items:center}
.pass{display:grid;grid-template-columns:1fr 150px;background:var(--paper);color:#1A2230;border-radius:18px;box-shadow:0 40px 80px -30px rgba(0,0,0,.8);position:relative;max-width:520px;width:100%}
.pass-hero{transform:rotate(-3.5deg);transition:transform .5s cubic-bezier(.2,.8,.2,1)}.pass-hero:hover{transform:rotate(-1deg) translateY(-6px)}
.pass:before{content:"";position:absolute;inset:0;border-radius:18px;background:repeating-linear-gradient(135deg,rgba(14,26,43,.025) 0 2px,transparent 2px 9px);pointer-events:none}
.pass-main{padding:22px 22px 20px;border-right:2px dashed #C9BDA3;position:relative}
.pass-main:before,.pass-main:after{content:"";position:absolute;right:-13px;width:24px;height:24px;border-radius:50%;background:var(--navy)}
.pass-main:before{top:-12px}.pass-main:after{bottom:-12px}
.pass-top{display:flex;justify-content:space-between;font-size:10.5px;color:#6B5A36;border-bottom:1px solid #DCCFB2;padding-bottom:10px}
.pass-cls{background:var(--navy);color:var(--brass2);padding:2px 6px;border-radius:3px}
.pass-route{display:flex;align-items:center;justify-content:space-between;margin:16px 0 10px}
.pass-route i{display:block;font-size:9.5px;color:#7C6C4C;font-style:normal}
.pass-route b{font:900 46px/1 var(--disp);letter-spacing:.02em;color:var(--navy)}
.route-line{flex:1;margin:0 12px;height:2px;background:repeating-linear-gradient(90deg,#B39A66 0 6px,transparent 6px 11px);display:grid;place-items:center;color:var(--red)}
.route-line .ico{background:var(--paper);padding:0 4px;box-sizing:content-box}
.pass-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px;margin:0;font-size:10px}
.pass-grid div:first-child{grid-column:1/-1}
.pass-grid dt{color:#8C7B57}.pass-grid dd{margin:2px 0 0;font:700 15px/1.15 var(--mono);color:#121A26;letter-spacing:.02em;text-transform:none}
.pass-pick{margin:16px 0 0;padding:12px 14px;background:var(--navy);color:var(--cream);border-radius:10px}
.pass-pick i{display:block;font-size:9.5px;color:var(--amber);font-style:normal}.pass-pick b{font:800 20px/1.1 var(--disp);text-transform:uppercase;letter-spacing:.03em}
.pass-stub{padding:22px 14px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.pass-stub span{font-size:10px;color:#8C7B57}.pass-stub b{font:900 34px/1 var(--disp);color:var(--red)}
.pass-stub .barcode{width:100%;height:58px;margin:auto 0 6px}
.stub-link{font:700 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--red)}
.hero-tag{position:absolute;right:-6px;top:30px;width:230px;transform:rotate(12deg);filter:drop-shadow(0 10px 14px rgba(0,0,0,.45));animation:sway 5s ease-in-out infinite;transform-origin:0 50%}
@keyframes sway{50%{transform:rotate(7deg)}}
.hero-pin{position:absolute;left:-10px;bottom:16px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.5));transform:rotate(-8deg)}
.hero-pin svg{width:150px;height:auto}
/* departures board */
.board{background:#05080D;border:1px solid #2A3446;border-radius:16px;padding:16px;box-shadow:var(--sh),0 0 0 6px #0B121D;margin-bottom:34px}
.board-head{display:flex;justify-content:space-between;align-items:center;color:var(--amber);font-size:14px;letter-spacing:.3em;padding:2px 8px 12px;border-bottom:1px solid #1E2735}
.board-clock{color:#E8EDF3;letter-spacing:.14em}
.board-cols,.dep-link{display:grid;grid-template-columns:96px 1fr 210px 70px 150px;gap:12px;align-items:center}
.board-cols{font-size:10.5px;color:#7D8BA0;padding:10px 12px 6px}
.dep-list{list-style:none;margin:0;padding:0}
.dep-link{padding:12px;border-radius:8px;text-decoration:none;color:#F2F4F7;font-family:var(--mono);text-transform:uppercase;font-size:15px;letter-spacing:.06em;border-top:1px solid #141B26;transition:background .2s}
.dep-link:hover{background:#0D1520}
.dep-link [data-flap],.c-st{display:inline-block;background:linear-gradient(#18202C 0 49%,#0A0F17 49% 51%,#141B26 51%);border-radius:4px;padding:6px 8px;line-height:1.2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.c-fl{color:var(--amber)}.c-dest{color:#fff;font-weight:700}.c-gate{color:var(--amber);text-align:center}
.dep-link .c-type{font-size:11.5px;color:#8E9BB0;letter-spacing:.04em;text-transform:none;font-family:var(--sans)}
.c-st{color:#0A1A10;background:#6BD69A;font-weight:800;font-size:12.5px;text-align:center}
.dep-row:first-child .c-st{background:var(--amber);color:#211700;animation:blink 1.4s steps(2) infinite}
@keyframes blink{50%{filter:brightness(.75)}}
.flapping{animation:flap .09s linear}@keyframes flap{50%{transform:scaleY(.6)}}
/* boarding-pass product cards */
.bp-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bp{background:var(--paper);color:#1A2230;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh);transition:transform .3s,box-shadow .3s}
.bp:hover{transform:translateY(-6px) rotate(-.4deg)}
.bp-art{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--navy)}.bp-art svg{width:100%;height:100%;display:block}
.bp-rank{position:absolute;left:14px;top:12px;font:900 30px/1 var(--disp);color:var(--ink);background:var(--brass2);padding:4px 10px;border-radius:6px;text-transform:uppercase}
.bp-body{padding:18px 20px 8px;flex:1}
.bp-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:#7C6C4C;margin-bottom:10px}
.bp-meta span{border:1px solid #D8CBAD;border-radius:3px;padding:2px 6px}
.bp h3{font:800 28px/1 var(--disp);text-transform:uppercase;color:var(--navy);letter-spacing:.01em}
.bp .hook{font:italic 600 17px/1.35 var(--serif);color:#5C4A25;margin:10px 0 12px}
.bp-take{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#2B3546;margin:0}
.bp-stub{border-top:2px dashed #CDBF9F;padding:14px 20px 20px;display:grid;gap:12px;position:relative}
.bp-stub:before,.bp-stub:after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--navy)}
.bp-stub:before{left:-11px}.bp-stub:after{right:-11px}
.bp-stub .barcode{height:30px;width:100%;opacity:.85}
.host-badge{display:inline-flex;align-items:center;gap:8px;flex:none}
.host-badge .mono{width:auto;height:auto}
.host-badge>span{display:flex;flex-direction:column;line-height:1.2}
.host-badge b{font-size:13px}.host-badge i{font-size:11px;font-style:normal;opacity:.7}
.bp-take .host-badge>span{display:none}
/* preflight */
.pf-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.pf-row{display:grid;grid-template-columns:56px 1fr 1fr;gap:0;background:var(--steel);border:1px solid #2A4062;border-radius:14px;overflow:hidden}
.pf-n{display:grid;place-items:center;background:#0A1424;color:var(--brass);font-size:16px}
.pf-row .skip,.pf-row .buy{padding:20px 22px;position:relative}
.pf-row .skip{background:repeating-linear-gradient(135deg,rgba(216,64,47,.05) 0 10px,transparent 10px 20px)}
.pf-row .buy{background:rgba(244,238,225,.04);border-left:1px dashed #3A5274}
.stamp{display:inline-block;font:800 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;border:2px solid;border-radius:5px;padding:3px 8px;transform:rotate(-3deg)}
.stamp-inop{color:#FF7A68;border-color:#FF7A68}.stamp-ok{color:#7EE0A5;border-color:#7EE0A5;transform:rotate(2deg)}
.pf-row .what{font:800 22px/1.1 var(--disp);text-transform:uppercase;letter-spacing:.02em;margin:12px 0 6px;color:var(--cream)}
.pf-row .skip .what s{text-decoration-color:var(--red);text-decoration-thickness:3px;color:#B7C2D2}
.pf-row .why{margin:0;color:#B4C1D3;font-size:14.5px}
/* finder */
.finder{max-width:none;background:linear-gradient(180deg,var(--ink),#0B1626);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.finder-in{max-width:960px;margin:0 auto}
.quiz{display:grid;gap:22px}
.q{border:1px solid #2A3E5C;border-radius:16px;padding:20px;margin:0;background:linear-gradient(180deg,#132339,#0F1C2F);box-shadow:0 2px 0 rgba(255,255,255,.03) inset;position:relative}
.q:before{content:"";position:absolute;left:20px;right:20px;top:0;height:3px;background:linear-gradient(90deg,var(--brass),transparent);border-radius:0 0 3px 3px}
.q.done:before{background:linear-gradient(90deg,var(--go),transparent)}
.q legend{display:flex;align-items:center;gap:12px;font:800 24px/1 var(--disp);text-transform:uppercase;letter-spacing:.03em;color:var(--cream);padding:0;float:left;width:100%;margin-bottom:16px}
.qn{font-size:11px;color:var(--ink);background:var(--brass);border-radius:4px;padding:4px 7px}
.opts{clear:both;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.opt{position:relative;cursor:pointer}.opt input{position:absolute;opacity:0;inset:0}
.opt>span{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:14px;border-radius:12px;background:var(--paper);color:#1A2230;border:2px solid transparent;transition:transform .15s,border-color .15s,box-shadow .2s;min-height:68px}
.opt i{grid-row:1/3;font:700 13px var(--mono);font-style:normal;background:var(--navy);color:var(--amber);border-radius:6px;padding:10px 6px;min-width:46px;text-align:center}
.opt b{font:800 18px/1.1 var(--disp);text-transform:uppercase;letter-spacing:.02em}.opt em{font-style:normal;font-size:12.5px;color:#6B5E44}
.opt:hover>span{transform:translateY(-2px)}
.opt input:checked+span{border-color:var(--brass);box-shadow:0 0 0 4px rgba(200,161,90,.25),0 10px 20px -10px rgba(0,0,0,.6);background:#FFF8E6}
.opt input:checked+span i{background:var(--red);color:#fff}
.opt input:focus-visible+span{outline:3px solid var(--amber);outline-offset:2px}
.quiz-err{color:#FF8E7E;margin:0}
.result{display:grid;justify-items:center;gap:18px;text-align:center}
.bagtag{position:relative;width:min(560px,100%);background:var(--paper);color:#1A2230;text-align:left;border-radius:14px 14px 14px 14px;clip-path:polygon(40px 0,100% 0,100% 100%,40px 100%,0 calc(100% - 40px),0 40px);padding:0 0 0 54px;box-shadow:var(--sh);animation:print .6s cubic-bezier(.2,.8,.2,1)}
@keyframes print{from{transform:translateY(-14px) rotate(-2deg);opacity:0}}
.bt-hole{position:absolute;left:16px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px var(--brass)}
.bt-band{display:flex;justify-content:space-between;background:var(--red);color:#fff;font-size:12px;padding:8px 18px;letter-spacing:.2em}
.bt-in{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:18px}
.sc-art{border-radius:10px;overflow:hidden;aspect-ratio:1;background:var(--navy)}.sc-art svg{width:100%;height:100%;display:block}
.sc-mast{font-size:10px;color:#8C7B57;margin:0 0 6px}
.bagtag .kicker{color:#8A6A2C;margin-bottom:4px}
.bagtag h3{font:900 30px/1 var(--disp);text-transform:uppercase;color:var(--navy)}
.bagtag .hook{font:italic 600 16px/1.35 var(--serif);color:#5C4A25;margin:8px 0}
.sc-take{font-size:13.5px;color:#2B3546;margin:0}
.bt-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:2px dashed #D2C4A3;padding:10px 18px 14px}
.bt-foot .barcode{height:30px;width:60%}.bt-foot b{font:900 26px var(--disp);color:var(--red);vertical-align:-3px}
.result-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.share-msg{min-height:1.2em;margin:0;color:var(--amber)}
/* jump-seat note reveal */
.note-wrap{max-width:860px;margin:0 auto;text-align:center}
.note-wrap h2{margin-bottom:24px}.note-wrap .kicker{justify-content:center}
.note{text-align:left}
.note summary{list-style:none;cursor:pointer}.note summary::-webkit-details-marker{display:none}
.note-fold{display:block;position:relative;background:var(--paper);color:var(--navy);border-radius:6px;padding:34px 30px;text-align:center;transform:rotate(-1.2deg);box-shadow:var(--sh);transition:transform .3s;background-image:linear-gradient(135deg,transparent 49.6%,rgba(0,0,0,.06) 50%,transparent 50.4%),repeating-linear-gradient(transparent 0 27px,rgba(14,26,43,.08) 27px 28px)}
.note-fold:after{content:"";position:absolute;right:0;top:0;border-style:solid;border-width:0 38px 38px 0;border-color:transparent var(--navy) #D9CCAE transparent}
.note-fold span{display:block;font-size:11px;color:#8C7B57;margin-bottom:6px}.note-fold b{font:800 30px var(--disp);text-transform:uppercase;letter-spacing:.04em}
.note summary:hover .note-fold{transform:rotate(0) translateY(-3px)}
.note[open] .note-fold{display:none}
.rev-body{display:grid;grid-template-columns:240px 1fr;gap:26px;background:var(--paper);color:#1A2230;border-radius:8px;padding:26px;box-shadow:var(--sh);animation:unfold .5s cubic-bezier(.2,.8,.2,1);background-image:repeating-linear-gradient(transparent 0 27px,rgba(14,26,43,.06) 27px 28px)}
@keyframes unfold{from{transform:perspective(900px) rotateX(-40deg);opacity:0;transform-origin:top}}
.rev-art{border-radius:10px;overflow:hidden;aspect-ratio:1}.rev-art svg{width:100%;height:100%;display:block}
.note-hdr{font-size:10.5px;color:#8C7B57;margin:0 0 8px}
.rev-body h3{font:900 32px/1 var(--disp);text-transform:uppercase;color:var(--navy)}
.rev-body .hook{font:italic 600 18px/1.35 var(--serif);color:#5C4A25}
.take{display:flex;gap:12px;align-items:center}.take q{font:italic 600 16px/1.4 var(--serif)}
/* crew locker */
.lk-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.lk:has(details[open]){grid-column:1/-1}
.lk details{border-radius:12px;background:linear-gradient(180deg,#2A3D58,#1C2C44 60%,#17253A);border:1px solid #3A5174;box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 14px 30px -18px rgba(0,0,0,.8);overflow:hidden}
.lk summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:78px 18px 1fr auto;gap:14px;align-items:center;padding:16px 16px 16px 14px;position:relative}
.lk summary::-webkit-details-marker{display:none}
.lk-plate{display:grid;place-items:center;background:linear-gradient(180deg,#F0D79C,#B48D47);color:#1A1206;border-radius:6px;padding:6px 4px;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 2px 4px rgba(0,0,0,.4)}
.lk-plate i{font-size:8.5px;font-style:normal;letter-spacing:.2em}.lk-plate b{font:900 30px/1 var(--disp)}
.lk-vents{align-self:stretch;background:repeating-linear-gradient(180deg,#0B1524 0 4px,transparent 4px 9px);border-radius:3px;opacity:.8}
.lk-t{display:flex;flex-direction:column;min-width:0}.lk-t .kicker{margin:0 0 4px;font-size:10px}
.lk-t b{font:800 22px/1.05 var(--disp);text-transform:uppercase;color:var(--cream);letter-spacing:.02em}
.lk-t i{font-size:13.5px;color:#B4C1D3;font-style:normal;margin-top:4px}
.lk-handle{width:38px;height:62px;border-radius:19px;background:#0E1828;border:1px solid #445C80;display:grid;place-items:center;transition:background .2s}
.lk-handle span{font:700 9px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brass2);writing-mode:vertical-rl}
.lk summary:hover .lk-handle{background:var(--brass)}.lk summary:hover .lk-handle span{color:var(--ink)}
.lk details[open] .lk-handle span{color:var(--red)}
.lk details[open] summary{border-bottom:1px dashed #3A5274}
.lk-body{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:22px;background:rgba(5,10,18,.35);animation:unfold .45s ease}
.lk-art{border-radius:10px;overflow:hidden;aspect-ratio:1}.lk-art svg{width:100%;height:100%;display:block}
.lk-body p{margin:0 0 14px;color:#D5DEEA}
/* memos */
.memo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.memo{position:relative;display:flex;flex-direction:column;gap:8px;background:var(--paper);color:#1A2230;text-decoration:none;border-radius:6px;padding:46px 22px 22px;box-shadow:var(--sh);transition:transform .3s;background-image:repeating-linear-gradient(transparent 0 27px,rgba(14,26,43,.06) 27px 28px)}
.memo:nth-child(1){transform:rotate(-1deg)}.memo:nth-child(3){transform:rotate(1deg)}
.memo:hover{transform:rotate(0) translateY(-6px)}
.memo-pin{position:absolute;top:-16px;left:50%;transform:translateX(-50%);filter:drop-shadow(0 6px 6px rgba(0,0,0,.35))}
.memo-pin svg{width:110px;height:auto}
.memo-hdr{display:flex;justify-content:space-between;font-size:10px;color:#8C7B57;border-bottom:1px solid #DCCFB2;padding-bottom:8px}
.memo .kicker{color:#8A6A2C;margin:4px 0 0}
.memo b{font:900 26px/1 var(--disp);text-transform:uppercase;color:var(--navy)}
.memo i{font-style:normal;font-size:14px;color:#3D4859}
.memo .tlink{color:var(--red);margin-top:auto}
/* final galley cart */
.final{border-top:1px solid var(--line);background:radial-gradient(700px 400px at 20% 50%,rgba(200,161,90,.12),transparent 70%)}
.final-in{max-width:1100px;margin:0 auto;padding:70px 20px;display:grid;grid-template-columns:320px 1fr;gap:40px;align-items:center}
.final-cart svg{width:100%;height:auto;filter:drop-shadow(0 30px 30px rgba(0,0,0,.5))}
.final p{color:#C9D4E2;font-size:17px;max-width:560px}
/* footer */
.site-foot{background:var(--ink);border-top:4px solid var(--red)}
.foot-in{max-width:1200px;margin:0 auto;padding:50px 20px 40px;display:grid;grid-template-columns:300px 1fr;gap:40px}
.foot-pin{width:120px;height:auto}
.wordmark.big{font:900 34px/1 var(--disp);text-transform:uppercase;letter-spacing:.12em;color:var(--cream);margin:10px 0 4px;display:block}
.tagline{font:600 10.5px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin:0}
.assoc{font-size:15px;color:var(--cream);margin:0 0 10px}
.foot-board{border:1px solid #1E2A3B;border-radius:12px;padding:20px;background:#0A1422}
.fine.mono{font-size:10.5px;letter-spacing:.08em}
/* sticky galley-cart bar */
.sticky-bar{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:8px;padding:8px;border-radius:16px;background:rgba(8,17,29,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:0 20px 40px -10px rgba(0,0,0,.7);width:min(560px,calc(100% - 20px))}
.sb-tag{font-size:9.5px;color:var(--ink);background:var(--brass);padding:4px 6px;border-radius:4px;writing-mode:vertical-rl;transform:rotate(180deg)}
.sb-alt{display:flex;align-items:center;gap:6px;color:var(--cream);text-decoration:none;font:700 13.5px var(--sans);padding:0 12px;min-height:46px;border-radius:10px;border:1px solid rgba(233,205,142,.35);white-space:nowrap}
.sb-main{flex:1}
/* about + posts */
.about .host-card{display:grid;grid-template-columns:170px 1fr;gap:26px;align-items:center;background:var(--paper);color:#1A2230;border-radius:12px;padding:26px;margin:0 0 18px;box-shadow:var(--sh)}
.about .host-card h2{color:var(--navy)}.about .host-card .kicker{color:#8A6A2C}.about .host-card .fine{color:#5A6478}
.about h1,.post-hero h1{font:900 clamp(44px,6vw,84px)/.92 var(--disp);text-transform:uppercase;color:var(--cream)}
.method{margin-top:30px;border:1px solid var(--line);border-radius:12px;padding:24px}.method h2{font-size:30px}
.post-hero{max-width:900px;margin:0 auto;padding:56px 20px 30px}
.dek{font:italic 600 21px/1.4 var(--serif);color:var(--brass2);margin:18px 0 24px}
.byline{display:flex;gap:16px;align-items:center;background:var(--steel);border:1px solid #2A4062;border-radius:12px;padding:14px 18px;font-size:14px;color:#C9D4E2}
.byline .mono{flex:none;width:110px;height:auto}
.post-in{max-width:900px;margin:0 auto;padding:0 20px 60px}
.intro{font-size:18.5px;color:#D5DEEA}
.pp{background:var(--paper);color:#1A2230;border-radius:16px;overflow:hidden;margin:30px 0;box-shadow:var(--sh)}
.pp-art{position:relative;aspect-ratio:21/8;overflow:hidden}.pp-art svg{width:100%;height:100%;display:block}
.pp-n{position:absolute;left:16px;top:14px;background:var(--brass2);color:var(--ink);padding:4px 8px;border-radius:4px;font-size:11px}
.pp-body{padding:26px}.pp-body .kicker{color:#8A6A2C}
.pp h2{font-size:clamp(30px,4vw,44px);color:var(--navy)}
.pp h3{font:800 18px var(--disp);text-transform:uppercase;letter-spacing:.06em;color:var(--navy);margin:22px 0 8px;display:flex;gap:10px;align-items:center}
.pp .stamp-inop{color:#B93A2A;border-color:#B93A2A}.pp .stamp-ok{color:#2D7D4F;border-color:#2D7D4F}
.fs{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fs ul,.facts{padding-left:20px;margin:0}.fs li,.facts li{margin:4px 0}
.verdict{background:var(--navy);color:var(--cream);border-radius:12px;padding:18px 20px;font:italic 600 18px/1.4 var(--serif);margin:24px 0}
.verdict span{display:block;font-style:normal;font-size:10.5px;color:var(--amber);margin-bottom:6px}
.sources{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;font-size:14px;color:#C9D4E2}.sources h2{font-size:28px}
.back{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
/* responsive */
@media (max-width:980px){.hero-in{grid-template-columns:1fr;padding-top:36px}.hero-art{min-height:0;padding:30px 0 10px}.bp-row,.memo-row{grid-template-columns:1fr}
.board-cols,.dep-link{grid-template-columns:78px 1fr 54px 112px}.c-type{display:none}.final-in{grid-template-columns:1fr}.final-cart{max-width:220px}.foot-in{grid-template-columns:1fr}}
@media (max-width:700px){body{font-size:15.5px}.sec{padding:54px 16px}.strips{grid-template-columns:1fr}.pf-row{grid-template-columns:1fr}.pf-n{padding:8px;justify-items:start;padding-left:22px}.pf-row .buy{border-left:0;border-top:1px dashed #3A5274}
.lk-list{grid-template-columns:1fr}.lk summary{grid-template-columns:64px 12px 1fr auto;gap:10px;padding:12px}.lk-t b{font-size:19px}.lk-body,.rev-body{grid-template-columns:1fr}.lk-art,.rev-art{max-width:220px}
.pass{grid-template-columns:1fr 104px}.pass-route b{font-size:34px}.pass-stub b{font-size:26px}.hero-tag{width:170px;right:-14px;top:-6px}.hero-pin{display:none}
.board{padding:10px}.board-cols,.dep-link{grid-template-columns:64px 1fr 82px;font-size:12px;gap:8px}.c-gate,.board-cols span:nth-child(4){display:none}.c-st{font-size:10.5px;padding:6px 4px}
.bt-in{grid-template-columns:96px 1fr;gap:12px;padding:14px}.bagtag{padding-left:44px}.bagtag h3{font-size:24px}.fs{grid-template-columns:1fr}.about .host-card{grid-template-columns:1fr}.hero-ctas .btn{width:100%}
.sb-tag{display:none}.masthead .mh-cta{display:none}}
/* v4 fixes */
[hidden]{display:none!important}
section[id],.result,li[id],article[id]{scroll-margin-top:84px}
.sticky-bar{transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .3s}
.js-sticky .sticky-bar:not(.show){transform:translate(-50%,140%);opacity:0;pointer-events:none}
.hero-tag{left:4%;right:auto;top:6%;transform:rotate(-14deg);transform-origin:100% 50%;animation:sway2 5s ease-in-out infinite}
@keyframes sway2{50%{transform:rotate(-10deg)}}
.hero-pin{left:auto;right:4%;top:8%;bottom:auto;transform:rotate(10deg)}.hero-pin svg{width:130px}
@media (max-width:700px){.dep-link .c-gate{display:none}.hero-tag{left:-6px;top:-4px;width:170px}.hero-pin{display:block;right:-4px;top:-2px}.hero-pin svg{width:96px}}
.hero-tag{left:6%;top:2%;transform:rotate(-6deg);animation:sway3 5s ease-in-out infinite}
@keyframes sway3{50%{transform:rotate(-3deg)}}
.hero-pin{right:0;top:3%;transform:rotate(8deg)}
@media (max-width:700px){.hero-art{padding-top:56px}.hero-tag{left:0;top:4px;width:180px}.hero-pin{right:0;top:0}}
.hero-art{padding-top:70px}
.hero-tag{left:8%;top:0}
.hero-pin{right:2%;top:4px}
.pf-row .skip .what s{text-decoration:none;color:#C3CCD9}
.pf-row .skip .what{position:relative}
/* photo window (product photo slot). Consistent crop: the frame sets the aspect ratio; photos use object-fit:contain on white. */
.pw{position:relative;width:100%;height:100%;overflow:hidden;background:var(--navy)}
.pw>svg{width:100%;height:100%;display:block}
.pw-photo{background:#fff}
.pw .prod-img{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);object-fit:contain;object-position:center}
.pw:after{content:"";position:absolute;inset:10px;border:1.5px dashed rgba(233,205,142,.55);border-radius:10px;pointer-events:none}
.pw-photo:after{border-color:rgba(14,26,43,.18)}
.pw-tag{position:absolute;right:12px;bottom:12px;font-size:9.5px;letter-spacing:.14em;color:var(--brass2);background:rgba(8,17,29,.82);border:1px solid var(--line);border-radius:4px;padding:3px 7px;z-index:1}
.pw-photo .pw-tag{color:#5A4A2A;background:rgba(255,255,255,.9);border-color:#E0D5BE}
.sc-art .pw-tag{display:none}
.bp-art,.lk-art,.rev-art,.sc-art{aspect-ratio:1/1}
.bp-art{aspect-ratio:4/3}
.pp-art{aspect-ratio:16/9;max-height:440px}
@media (max-width:700px){.bp-art{aspect-ratio:1/1}.lk-art,.rev-art{max-width:none;width:100%}.pp-art{aspect-ratio:1/1;max-height:none}}

/* Aviation hub shop TOC */
.shop-toc .sec-head{max-width:720px}
.toc-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.toc-chip{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid #3A4E6E;border-radius:10px;background:rgba(14,26,43,.7);color:var(--cream);text-decoration:none;transition:border-color .15s, background .15s}
.toc-chip i{font-style:normal;color:var(--brass2);font-size:11px;letter-spacing:.12em}
.toc-chip b{font:800 15px/1.1 var(--disp);letter-spacing:.03em;text-transform:uppercase}
.toc-chip:hover,.toc-chip:focus-visible{border-color:var(--brass);background:rgba(201,163,92,.12);outline:none}
.shop-sec .sec-head{margin-bottom:18px}
@media (max-width:700px){.toc-chip{flex:1 1 calc(50% - 10px);padding:10px 12px}.toc-chip b{font-size:13px}}
