
:root{
  --ink:#f4f7ff;--mute:#c3cde6;--accent:#59d2ff;--accent2:#8b7bff;--hot:#ff6b81;--ok:#46e0a1;
  --panel:rgba(8,15,34,.78);--panel2:rgba(14,24,52,.85);--line:rgba(160,185,240,.22);
  --grad:linear-gradient(120deg,#6fe0ff,#9a8cff 55%,#ff7f95);
  --sky-top:#0b1d3f;--sky-bot:#2b4f8f;
}

*{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth}

body{background:#0b1d3f;color:var(--ink);font:17px/1.7 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}

a{color:inherit;text-decoration:none}

.wrap{max-width:1140px;margin:0 auto;padding:0 24px;position:relative}

.ic{width:1em;height:1em;fill:currentColor;display:inline-block;vertical-align:-.12em}



/* ---- sky ---- */
.sky{position:fixed;inset:0;z-index:-1;background:linear-gradient(var(--sky-top),var(--sky-bot));overflow:hidden}

.stars{position:absolute;inset:0;opacity:0;background-image:
  radial-gradient(1.5px 1.5px at 12% 20%,#fff,transparent),radial-gradient(1px 1px at 30% 70%,#fff,transparent),
  radial-gradient(1.5px 1.5px at 55% 15%,#fff,transparent),radial-gradient(1px 1px at 72% 55%,#fff,transparent),
  radial-gradient(1.5px 1.5px at 88% 30%,#fff,transparent),radial-gradient(1px 1px at 42% 88%,#fff,transparent),
  radial-gradient(1px 1px at 95% 82%,#fff,transparent),radial-gradient(1px 1px at 5% 60%,#fff,transparent);background-size:420px 420px}

.cloud{position:absolute;will-change:transform;opacity:.2}

.cloud span{position:absolute;background:#fff;border-radius:50%;filter:blur(8px)}

.cloud .in{position:absolute;inset:0;animation:drift 50s ease-in-out infinite alternate}

@keyframes drift{to{transform:translateX(90px)}}



/* ---- nav ---- */
nav{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(7,13,30,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}

nav .wrap{display:flex;align-items:center;justify-content:space-between;height:62px}

.logo{font-weight:800;letter-spacing:.3px;display:flex;gap:10px;align-items:center;font-size:18px}

.logo .ic{color:var(--accent);font-size:22px}

nav ul{display:flex;gap:26px;list-style:none;font-size:15px;color:var(--mute);align-items:center}

nav ul a:hover{color:#fff}

.navcta{padding:8px 16px;border-radius:99px;background:var(--grad);color:#07101f!important;font-weight:700}

@media(max-width:760px){
nav ul li:not(:last-child){display:none}}



/* ---- flight tracker ---- */
.tracker{position:fixed;right:22px;top:110px;bottom:110px;width:96px;z-index:40;display:none}

@media(min-width:1260px){
.tracker{display:block}}

.tracker .line{position:absolute;right:8px;top:0;bottom:0;border-right:2px dashed rgba(255,255,255,.35)}

.tracker .stop{position:absolute;right:0;display:flex;align-items:center;gap:10px;transform:translateY(-50%);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.6);transition:.3s;white-space:nowrap}

.tracker .stop i{width:10px;height:10px;border-radius:50%;background:#0b1d3f;border:2px solid rgba(255,255,255,.6);margin-right:4px;transition:.3s}

.tracker .stop.on{color:#fff;font-weight:700}

.tracker .stop.on i{background:var(--accent);border-color:#fff;box-shadow:0 0 12px var(--accent)}

.flyer{position:absolute;right:-3px;font-size:26px;color:#fff;transform:translateY(-50%) rotate(90deg);filter:drop-shadow(0 0 8px rgba(89,210,255,.9));top:0}



/* ---- hero ---- */
.hero{min-height:100vh;padding:110px 0 70px;display:flex;align-items:center;position:relative}

.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}

@media(max-width:900px){
.hero-grid{grid-template-columns:1fr}}

.pill{display:inline-flex;gap:10px;align-items:center;padding:7px 16px;border:1px solid var(--line);border-radius:99px;font-size:14px;color:var(--mute);background:rgba(8,15,34,.55)}

.pill b{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok)}

h1{font-size:clamp(46px,7.2vw,86px);line-height:1.02;letter-spacing:-2.5px;margin:22px 0 10px;font-weight:800;text-shadow:0 4px 30px rgba(0,0,0,.35)}

.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

.role{font-size:clamp(18px,2.2vw,24px);font-weight:600;color:#fff;margin-bottom:16px}

.lead{max-width:600px;color:#e1e8fb;font-size:19px;line-height:1.65}

.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}

.chips span{padding:8px 16px;border-radius:12px;background:var(--panel);border:1px solid var(--line);font-size:15px;color:var(--mute)}

.chips b{color:var(--accent);font-size:20px;margin-right:4px}

.cta{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}

.btn{display:inline-block;padding:13px 24px;border-radius:14px;font-weight:700;font-size:16px;border:1px solid var(--line);background:var(--panel2);color:#fff;cursor:pointer;transition:.2s;font-family:inherit}

.btn:hover{transform:translateY(-2px);border-color:var(--accent)}

.btn.primary{background:var(--grad);border:0;color:#07101f}

.btn.ghost{background:transparent}

.scrollhint{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:var(--mute);font-size:13px;letter-spacing:2px;text-transform:uppercase;display:flex;gap:10px;align-items:center}

.scrollhint .ic{transform:rotate(90deg);animation:bob 1.6s ease-in-out infinite;color:var(--accent);font-size:20px}

@keyframes bob{50%{transform:rotate(90deg) translateX(8px)}}



/* ---- aircraft windows ---- */
.cabin{display:flex;flex-direction:column;align-items:center}

.cabin-cap{margin-top:16px;color:var(--mute);font-size:14px;letter-spacing:1px}

.win .frame{border-radius:50% / 40%;padding:16px;background:linear-gradient(145deg,#f2f5fb,#a7b3cc 55%,#dfe6f2);box-shadow:0 30px 70px rgba(0,0,0,.5),inset 0 2px 6px #fff,inset 0 -6px 14px rgba(60,80,120,.4)}

.win .inner{position:relative;overflow:hidden;border-radius:50% / 40%;background:#6bb0f2;box-shadow:inset 0 6px 22px rgba(0,0,0,.45)}

.win.big{width:min(360px,80vw)}

.win.big .inner{aspect-ratio:3/4}

.win.big img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block;position:absolute;inset:0}

.shade{position:absolute;inset:0;background:repeating-linear-gradient(180deg,#eef2f9 0 14px,#d4dcea 14px 16px);transform:translateY(0);transition:transform 1.5s cubic-bezier(.65,0,.25,1);box-shadow:0 10px 24px rgba(0,0,0,.35);z-index:2}

.win.open .shade{transform:translateY(calc(-100% + 30px))}

.pull{position:absolute;left:50%;bottom:6px;width:64px;height:16px;transform:translateX(-50%);border-radius:10px;background:#8996b3;border:0;cursor:pointer;box-shadow:inset 0 2px 3px rgba(255,255,255,.5)}

.win.big:after{content:"";position:absolute}

.cabin-row{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:56px;justify-items:center}

@media(max-width:900px){
.cabin-row{grid-template-columns:repeat(2,1fr)}}

.win.sm{width:min(220px,100%)}

.win.sm .inner{aspect-ratio:3/4.2;background:linear-gradient(#1f5fb8,#4d9ae6 65%,#a9d4ff)}

.win.sm .view{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px 16px;color:#fff;text-shadow:0 2px 10px rgba(0,30,80,.7)}

.win.sm .view:before{content:"";position:absolute;left:-20%;right:-20%;bottom:-10%;height:45%;background:radial-gradient(closest-side,rgba(255,255,255,.75),transparent);filter:blur(6px);animation:drift 14s ease-in-out infinite alternate}

.win.sm .num{font-size:44px;font-weight:800;letter-spacing:-1px;line-height:1.05;position:relative}

.win.sm .num small{font-size:24px;margin:0 4px;opacity:.9}

.win.sm .lbl{font-size:14px;line-height:1.35;margin-top:8px;position:relative;font-weight:600}

.hint{text-align:center;color:var(--mute);font-size:14px;margin-top:20px}



/* ---- sections ---- */
section{padding:110px 0;position:relative}

.eyebrow{color:var(--accent);font-size:14px;letter-spacing:3px;text-transform:uppercase;font-weight:800}

h2{font-size:clamp(30px,4.4vw,48px);letter-spacing:-1px;margin:10px 0 18px;line-height:1.15;max-width:900px;text-shadow:0 2px 20px rgba(0,0,0,.3)}

.h3{font-size:clamp(24px,3vw,32px);margin:70px 0 14px;letter-spacing:-.5px}

.body{color:#e1e8fb;font-size:18px;max-width:640px;margin-bottom:14px}

.body.wide{max-width:820px}

.small{color:var(--mute);font-size:15px}

.note{font-size:13.5px;color:var(--mute);margin-top:10px}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s}

.reveal.in{opacity:1;transform:none}

.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:26px;backdrop-filter:blur(10px)}

.panel h3,.panel h4{margin-bottom:12px;font-size:20px}

.tags{display:flex;flex-wrap:wrap;gap:9px}

.tags span{font-size:14.5px;padding:6px 14px;border-radius:99px;border:1px solid var(--line);color:#e6ecfb;background:rgba(255,255,255,.05)}

.tags.big{margin:16px 0 0}

.tags .hl{color:var(--accent);border-color:rgba(89,210,255,.5);background:rgba(89,210,255,.08)}

.ticks{list-style:none;margin-top:14px}

.ticks li{padding-left:30px;position:relative;margin:9px 0;color:#e6ecfb}

.ticks li:before{content:"";position:absolute;left:0;top:.45em;width:16px;height:16px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath 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/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='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/contain no-repeat;transform:rotate(90deg)}

.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center;margin-top:20px}

@media(max-width:900px){
.about-grid{grid-template-columns:1fr}}

.polaroid{background:#f6f8fd;padding:14px 14px 18px;border-radius:8px;transform:rotate(3deg);box-shadow:0 24px 60px rgba(0,0,0,.5);max-width:340px;justify-self:center}

.polaroid img{width:100%;display:block;border-radius:4px;aspect-ratio:3/4;object-fit:cover;object-position:50% 40%}

.polaroid figcaption{color:#1b2744;text-align:center;font-size:14px;margin-top:10px;font-weight:600}



/* career: boarding passes */
.pass{display:grid;grid-template-columns:1fr 150px;margin-top:22px;border-radius:22px;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(10px);position:relative;overflow:hidden}

@media(max-width:700px){
.pass{grid-template-columns:1fr}
.pass .stub{border-left:0!important;border-top:2px dashed var(--line);flex-direction:row!important;padding:14px!important}}

.pass .main{padding:28px 30px}

.pass .co{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:800}

.pass h3{font-size:26px;margin:6px 0 2px;letter-spacing:-.4px}

.pass .sub2{color:var(--mute);font-size:15px;margin-bottom:12px}

.pass ul{padding-left:20px;color:#e6ecfb;font-size:16.5px}

.pass li{margin:8px 0}

.pass b{color:#fff}

.stub{border-left:2px dashed var(--line);background:rgba(89,210,255,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px;position:relative}

.stub span{font-size:30px;font-weight:800;letter-spacing:-1px}

.stub .ic{font-size:30px;color:var(--accent);transform:rotate(90deg)}

.stub .bar{width:90px;height:34px;margin-top:10px;background:repeating-linear-gradient(90deg,#dce6ff 0 2px,transparent 2px 5px,#dce6ff 5px 6px,transparent 6px 10px);opacity:.75}

.pass:before,.pass:after{content:"";position:absolute;right:139px;width:22px;height:22px;border-radius:50%;background:#0b1d3f}

.pass:before{top:-11px}

.pass:after{bottom:-11px}

@media(max-width:700px){
.pass:before,.pass:after{display:none}}



/* ---- AI section ---- */
.aisec{background:linear-gradient(transparent,rgba(5,8,22,.55) 8%,rgba(5,8,22,.55) 92%,transparent)}

.approach{height:260px;margin:-30px 0 30px;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center}

.approach img{width:min(760px,100%);filter:drop-shadow(0 20px 40px rgba(0,0,0,.45));transform:scale(.5);opacity:.6;transition:transform .15s linear,opacity .15s}

.statrow{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

.statrow.four{grid-template-columns:repeat(4,1fr)}

@media(max-width:800px){
.statrow,.statrow.four{grid-template-columns:1fr 1fr}}

.statrow .big{font-size:46px;font-weight:800;letter-spacing:-1px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

.statrow p{color:var(--mute);font-size:15.5px}

.graphbox{overflow-x:auto;padding:12px}

#lg{min-width:900px;width:100%;height:auto;display:block}

.node rect{fill:#111f45;stroke:#3a5190;stroke-width:1.6;rx:10;transition:.25s}

.node text{fill:#e8f0ff;font-size:12.5px;text-anchor:middle;font-family:ui-monospace,Menlo,monospace}

.node.ml rect{stroke:var(--accent2)}

.node.core rect{fill:#1b2a66;stroke:var(--accent)}

.node.active rect{fill:#1e3f85;stroke:#fff;filter:drop-shadow(0 0 10px var(--accent))}

.node.done rect{stroke:var(--ok)}

.edge{stroke:#3a5190;stroke-width:1.6;fill:none}

.edge.flow{stroke:var(--accent);stroke-dasharray:5 6;animation:dash 1s linear infinite}



.lane{fill:#b4c4ec;font-size:12px;letter-spacing:2px;font-family:Inter,sans-serif}

.gplane{fill:#fff;filter:drop-shadow(0 0 6px #59d2ff)}

.seg{display:flex;gap:12px;margin:22px 0 0;flex-wrap:wrap}

.demo{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;margin-top:22px}

@media(max-width:900px){
.demo{grid-template-columns:1fr}}

.chatwin{display:flex;flex-direction:column;height:540px;border-radius:18px;border:1px solid var(--line);overflow:hidden;background:#0a1230}

.chathead{padding:13px 18px;background:#13204a;border-bottom:1px solid var(--line);font-size:15px;display:flex;gap:10px;align-items:center;font-weight:600}

.live{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}

.msgs{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}

.m{max-width:84%;padding:11px 15px;border-radius:16px;font-size:15.5px;line-height:1.5;animation:pop .3s}

@keyframes pop{from{opacity:0;transform:translateY(8px)}}

.m.bot{background:#1b2d63;border-bottom-left-radius:4px;align-self:flex-start}

.m.me{background:#6a58ee;border-bottom-right-radius:4px;align-self:flex-end}

.m.sys{align-self:center;background:rgba(70,224,161,.12);border:1px solid rgba(70,224,161,.4);color:#b9f5d9;font-size:13.5px;border-radius:99px;padding:6px 14px}

.m .opt{display:block;margin-top:7px;padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.08);font-size:14.5px}

.quick{padding:12px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;min-height:62px}

.quick button{font:inherit;font-size:15px;padding:8px 16px;border-radius:99px;border:1px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer;font-weight:600}

.quick button:hover{background:var(--accent);color:#06101f}

.phone{width:280px;height:540px;margin:0 auto;border-radius:40px;border:9px solid #24366a;background:#0a1230;position:relative;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 40px rgba(139,123,255,.25);display:flex;flex-direction:column}

.phone:before{content:"";position:absolute;top:0;left:50%;width:96px;height:22px;transform:translateX(-50%);background:#24366a;border-radius:0 0 14px 14px;z-index:3}

.phone .top{padding:32px 12px 8px;text-align:center;font-size:12.5px;border-bottom:1px solid var(--line);color:var(--mute)}

.phone .top b{display:block;color:#fff;font-size:14px}

.phone .msgs{padding:10px;gap:8px}

.phone .m{font-size:13.5px;padding:8px 12px;border-radius:14px}

.phone .m.bot{background:#27325a}

.phone .m.me{background:#2f80ed}

.phone .m.sys{display:none}

.toolgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}

@media(max-width:900px){
.toolgrid{grid-template-columns:repeat(2,1fr)}}

.tool{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px 18px;font-size:15px;color:var(--mute);line-height:1.5}

.tool b{display:block;color:#fff;font-size:16.5px;margin-bottom:4px}

.tool.ml{border-color:rgba(139,123,255,.7)}

.channels{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

@media(max-width:800px){
.channels{grid-template-columns:1fr}}

.chicon{font-size:34px}

.channels p{color:var(--mute);font-size:15.5px}

.two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:70px}

@media(max-width:900px){
.two{grid-template-columns:1fr}}

.flow{display:flex;align-items:stretch;gap:12px;margin:8px 0 14px;flex-wrap:wrap}

.flow .ic{align-self:center;color:var(--accent);font-size:26px;transform:rotate(90deg)}

.step{flex:1;min-width:150px;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:14px;padding:12px;font-size:14.5px}

.step small{display:block;color:var(--mute);font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}

.step.ok{border-color:rgba(70,224,161,.55)}

mark{background:rgba(255,107,129,.25);color:#ffc2cc;padding:0 4px;border-radius:4px}

.step.ok{color:#b9f5d9}

.code{background:#050a1c;border:1px solid var(--line);border-radius:12px;padding:14px;font:13.5px/1.7 ui-monospace,Menlo,monospace;color:#b8ccff;overflow-x:auto;margin-bottom:12px}

.cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}

@media(max-width:900px){
.cols{grid-template-columns:1fr}}

.pipe{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 14px}

.pipe span{padding:8px 14px;border-radius:10px;background:#111f45;border:1px solid #3a5190;font:13.5px ui-monospace,Menlo,monospace}

.pipe .m{border-color:var(--accent2)}

.pipe .t{border-color:var(--accent);background:#1b3a78}

.pipe .ic{color:var(--accent);font-size:20px;transform:rotate(90deg)}

.chart svg{width:100%;height:auto;display:block}

.dayrow{display:flex;gap:8px;margin:6px 0 12px;flex-wrap:wrap}

.dayrow button{font:inherit;font-size:14px;padding:7px 14px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--mute);cursor:pointer}

.dayrow button.on{background:var(--accent2);color:#fff;border-color:var(--accent2)}

.tablewrap{overflow-x:auto}

table{width:100%;border-collapse:collapse;font-size:15px}

th,td{padding:11px 10px;text-align:left;border-bottom:1px solid var(--line)}

th{color:var(--mute);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:1px}

.bar{height:8px;border-radius:4px;background:var(--grad)}

.bargrp{display:flex;align-items:center;gap:8px}

.rank1{color:var(--ok);font-weight:800}

.cmp .no{color:#ffb4bf}

.cmp .yes{color:#b9f5d9}

.big.up{background:linear-gradient(120deg,#46e0a1,#59d2ff);-webkit-background-clip:text;background-clip:text;color:transparent}

.road{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}

@media(max-width:1000px){
.road{grid-template-columns:repeat(2,1fr)}}

.rp{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;font-size:14.5px;color:var(--mute);position:relative}

.rp b{display:block;color:#fff;font-size:16px;margin-bottom:4px}

.rp.done{border-color:rgba(70,224,161,.6)}

.rp.done:after{content:"✓ built";position:absolute;top:12px;right:14px;color:var(--ok);font-size:12px;font-weight:700}



/* ---- landing ---- */
footer{padding:110px 0 80px;text-align:center}

footer h2{margin:0 auto 14px;display:block}

footer .body{margin:0 auto 24px}

@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important}
.reveal{opacity:1;transform:none}}



/* ---- data graphics (from Downloads/index.html) ---- */
.viz-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}

.viz-card{background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:20px;padding:20px 22px;margin:0}

.viz-card figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;flex-wrap:wrap}

.viz-card figcaption span{font-weight:700}

.viz-card figcaption b{color:var(--mute);font-weight:500;font-size:13px}

.viz-card svg{width:100%;height:auto;display:block}

.vol .grid line{stroke:var(--line);stroke-dasharray:3 5}

.vol .ax text{fill:var(--mute);font-size:11px;text-anchor:end}

.vol .b1{fill:#4a62a8}

.vol .vbar{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0);transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}

.vol .b2{transition-delay:.25s}

.vol .val{fill:var(--ink);font-weight:800;font-size:16px;text-anchor:middle;opacity:0;transition:opacity .5s 1.1s}

.vol .lbl{fill:var(--mute);font-size:12px;text-anchor:middle}

.vol .arrow{fill:none;stroke:var(--hot);stroke-width:2;stroke-dasharray:120;stroke-dashoffset:120;transition:stroke-dashoffset 1s 1.2s;marker-end:url(#gArr)}

.vol .mult{fill:var(--hot);font-weight:800;font-size:13px;text-anchor:middle;opacity:0;transition:opacity .5s 1.8s}

.viz-row.in .vol .vbar{transform:scaleY(1)}

.viz-row.in .vol .val,.viz-row.in .vol .mult{opacity:1}

.viz-row.in .vol .arrow{stroke-dashoffset:0}

.team line{stroke:var(--line);stroke-width:1.5}

.team .link{stroke:var(--accent2);stroke-width:2;stroke-dasharray:4 6;animation:dash 1.6s linear infinite}

.team .eng{fill:#1b2a66;stroke:var(--accent);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.3);transition:.5s}

.team .sqB .eng{stroke:var(--accent2)}

.viz-row.in .team .eng{opacity:1;transform:none}

.team .tlead{fill:url(#tg)}

.team text{fill:var(--mute);font-size:12px;text-anchor:middle}

.team .lt{fill:#fff;font-weight:800;font-size:11px}

.team .chip rect{fill:rgba(89,210,255,.1);stroke:var(--line)}

.team .chip text{fill:var(--ink);font-size:11px}

@keyframes dash{to{stroke-dashoffset:-20}}

.career{margin:22px 0 30px}

.ctl .axis{stroke:var(--line);stroke-width:2}

.ctl .tick{fill:var(--mute);font-size:12px;text-anchor:middle}

.ctl .cseg{transform-box:fill-box;transform-origin:left;transform:scaleX(0);transition:transform .9s cubic-bezier(.2,.8,.2,1)}

.career.in .ctl .cseg{transform:none}

.ctl .name{fill:var(--ink);font-size:13px;font-weight:700}

.ctl .yrs{fill:var(--mute);font-size:11px}

.ctl .now{fill:var(--ok)}

.ctl .pulse{fill:none;stroke:var(--ok);animation:pulse 2s ease-out infinite;transform-box:fill-box;transform-origin:center}

@keyframes pulse{from{transform:scale(1);opacity:.9}to{transform:scale(3);opacity:0}}

.skill-viz{display:flex;align-items:center;gap:36px;margin:24px 0 28px;flex-wrap:wrap}

.donut{width:200px;height:200px;flex:none}

.donut circle.s{fill:none;stroke-width:26;transition:stroke-dasharray 1.2s cubic-bezier(.2,.8,.2,1)}

.donut .c1{fill:var(--ink);font-size:34px;font-weight:800;text-anchor:middle}

.donut .c2{fill:var(--mute);font-size:12px;text-anchor:middle}

.legend{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px 28px}

.legend li{display:flex;align-items:center;gap:10px;color:var(--mute);font-size:14px}

.legend i{width:12px;height:12px;border-radius:4px;flex:none}

.legend b{color:var(--ink);margin-left:auto}

.ai-band{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center;padding:34px;border-radius:24px;border:1px solid var(--line);background:radial-gradient(circle at 85% 30%,rgba(123,92,255,.22),transparent 55%),linear-gradient(160deg,var(--panel2),var(--panel))}

.nn{width:100%;height:auto}

.nn line{stroke:var(--line);stroke-width:1}

.nn .p{stroke:url(#ng);stroke-width:2;stroke-dasharray:10 90;animation:flowp 2.4s linear infinite}

.nn circle{fill:#14204a;stroke:var(--accent);stroke-width:2}

.nn .l2 circle{stroke:var(--accent2)}

.nn .l3 circle{stroke:var(--hot)}

@keyframes flowp{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}

@media(max-width:760px){
.viz-row,.ai-band{grid-template-columns:1fr}
.ai-band{padding:22px}
.legend{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){
.team .link,.nn .p,.ctl .pulse{animation:none}}

.viz-card{backdrop-filter:blur(10px)}

.viz-card figcaption span{font-size:17px}

.viz-card figcaption b{font-size:14px}

.vol .ax text,.vol .lbl,.team text,.ctl .tick,.ctl .yrs{font-size:12.5px}

.ctl .name{font-size:14px}

.legend li{font-size:15px}



/* ---- airport / airline skills ---- */
.deck{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;margin-top:10px}

@media(max-width:900px){
.deck{grid-template-columns:1fr}}

.checklist{background:#f3f0e4;color:#1d2433;border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.4);border:1px solid #cfc8ae}

.ck-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:#1d2a4d;color:#fff;padding:14px 22px;font:700 13px ui-monospace,Menlo,monospace;letter-spacing:2px}

.ck-head b{color:#ffcf5c}

.chk{list-style:none;padding:12px 22px}

.chk li{display:flex;gap:14px;align-items:flex-start;padding:11px 0;border-bottom:1px dashed #b9b294;font-size:16.5px;line-height:1.45;font-weight:500}

.chk li:before{content:"";flex:none;width:22px;height:22px;margin-top:1px;border:2px solid #1d2a4d;border-radius:5px;background:#fff center/16px no-repeat;transition:background-color .3s,border-color .3s}

.checklist.in .chk li:before{background-color:#2fb67c;border-color:#1f8a5d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E")}

.checklist.in .chk li:nth-child(1):before{transition-delay:.4s}

.checklist.in .chk li:nth-child(2):before{transition-delay:.8s}

.checklist.in .chk li:nth-child(3):before{transition-delay:1.2s}

.checklist.in .chk li:nth-child(4):before{transition-delay:1.6s}

.checklist.in .chk li:nth-child(5):before{transition-delay:2s}

.checklist.in .chk li:nth-child(6):before{transition-delay:2.4s}

.ck-foot{background:#e4dfc9;padding:11px 22px;font:700 12.5px ui-monospace,Menlo,monospace;letter-spacing:2px;color:#1f7a54}

.licence{border-radius:18px;padding:22px;background:linear-gradient(135deg,#17306b,#2b4b9b 55%,#1b2f66);border:2px solid #d9b95b;box-shadow:0 18px 50px rgba(0,0,0,.45);position:relative;overflow:hidden;align-self:start}

.licence:after{content:"";position:absolute;right:-40px;top:-40px;width:200px;height:200px;border-radius:50%;border:30px solid rgba(255,255,255,.05)}

.lic-top{display:flex;align-items:center;gap:10px;font:800 13px ui-monospace,Menlo,monospace;letter-spacing:2px;color:#f3d57c;margin-bottom:14px}

.lic-top .ic{font-size:22px;transform:rotate(-45deg)}

.chipic{margin-left:auto;width:36px;height:28px;border-radius:6px;background:linear-gradient(135deg,#f3d57c,#b8923a)}

.licence dl{display:grid;grid-template-columns:90px 1fr;gap:10px 12px;position:relative;z-index:1}

.licence dt{font:700 11.5px ui-monospace,Menlo,monospace;letter-spacing:1.5px;color:#a9bde9;padding-top:4px;text-transform:uppercase}

.licence dd{font-size:15.5px;line-height:1.45;color:#fff;font-weight:600}

.licence dd small{font-weight:400;color:#c3cde6;font-size:13.5px}

.mrz{margin-top:16px;font:12.5px/1 ui-monospace,Menlo,monospace;color:rgba(255,255,255,.55);letter-spacing:2px;overflow:hidden;white-space:nowrap}

.board{margin-top:26px;background:#05080f;border:2px solid #232c44;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}

.board-head{display:flex;justify-content:space-between;align-items:center;background:#0e1730;padding:14px 22px;font:800 15px ui-monospace,Menlo,monospace;letter-spacing:3px;color:#ffcf5c;border-bottom:2px solid #232c44}

.board-head .ic{transform:rotate(-45deg);margin-right:6px}

.clock{font-size:22px;color:#fff;letter-spacing:2px}

.board-cols,.brow{display:grid;grid-template-columns:70px 230px 1fr 130px;gap:16px;padding:0 22px;align-items:center}

.board-cols{padding-top:10px;padding-bottom:6px;font:700 11.5px ui-monospace,Menlo,monospace;letter-spacing:2px;color:#7f8db5}

.brow{padding-top:16px;padding-bottom:16px;border-top:1px solid #1b2440}

.brow:nth-child(odd){background:rgba(255,255,255,.02)}

.gate{font:800 26px ui-monospace,Menlo,monospace;color:#fff;background:#1f6fe0;border-radius:8px;text-align:center;padding:4px 0}

.dest{font:800 19px ui-monospace,Menlo,monospace;color:#ffcf5c;letter-spacing:2px;line-height:1.25}

.stack{display:flex;flex-wrap:wrap;gap:7px}

.stack i{font-style:normal;font-size:14px;padding:4px 11px;border-radius:6px;background:#121b36;border:1px solid #2a365c;color:#e6ecfb}

.st{font:800 14px ui-monospace,Menlo,monospace;letter-spacing:2px;text-align:right}

.st.ontime{color:#46e0a1}

.st.cleared{color:#59d2ff}

.st.boarding{color:#ffcf5c;animation:blink 1.1s steps(2,start) infinite}

@keyframes blink{50%{opacity:.25}}

@media(max-width:900px){
.board-cols{display:none}
.brow{grid-template-columns:56px 1fr;gap:8px 12px}
.stack{grid-column:1/-1}
.st{grid-column:2;text-align:left}}



/* checklist: dark theme to match the rest of the page */
.checklist{background:var(--panel);color:var(--ink);border:1px solid var(--line);backdrop-filter:blur(10px);box-shadow:none}

.ck-head{background:rgba(89,210,255,.08);color:var(--mute);border-bottom:1px solid var(--line)}

.ck-head b{color:var(--accent)}

.chk li{border-bottom:1px dashed var(--line);color:#e6ecfb;font-weight:400}

.chk li:before{border-color:#4a62a8;background-color:rgba(255,255,255,.04)}

.checklist.in .chk li:before{background-color:#2fb67c;border-color:#46e0a1}

.ck-foot{background:rgba(70,224,161,.08);color:var(--ok);border-top:1px solid var(--line)}



/* ---- flight scenes between sections ---- */
.scene{position:relative;height:clamp(170px,25vw,320px);overflow:hidden;margin:10px 0}

.scene svg{width:100%;height:100%;display:block}

.scene .sp{filter:drop-shadow(0 0 10px rgba(89,210,255,.85))}

.scene .cl{stroke:rgba(255,255,255,.7);stroke-width:3;stroke-dasharray:34 26}

.scene .rl{fill:#ffcf5c;opacity:.4;animation:rlight 1.6s ease-in-out infinite}

@keyframes rlight{50%{opacity:1;filter:drop-shadow(0 0 6px #ffcf5c)}}

.scene .mk{stroke:rgba(255,255,255,.18);stroke-dasharray:3 4}

.scene .mt{fill:rgba(255,255,255,.4);font:700 13px ui-monospace,Menlo,monospace;letter-spacing:2px;text-anchor:middle;transition:fill .3s}

.scene .mt.on{fill:#46e0a1}

.scene .sl{stroke:rgba(255,255,255,.55);stroke-width:2;stroke-linecap:round}

.scene .sc-k{fill:#59d2ff;font:700 14px ui-monospace,Menlo,monospace;letter-spacing:3px}

.scene .sc-v{fill:#fff;font:800 24px ui-monospace,Menlo,monospace;letter-spacing:2px}

.scene .sc-v.big{font-size:32px}

.scene .fl{stroke:rgba(255,255,255,.14);stroke-dasharray:4 8}

.scene .flt{fill:rgba(255,255,255,.55);font:700 12px ui-monospace,Menlo,monospace;text-anchor:end;letter-spacing:2px}

.scene .cld ellipse{fill:#fff;opacity:.16;filter:blur(5px)}

.scene .gh{fill:none;stroke:rgba(255,255,255,.18);stroke-width:2;stroke-dasharray:3 9}

.scene .tr{fill:none;stroke:url(#none);stroke:#59d2ff;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 6px #59d2ff)}

.scene .hudbox{fill:rgba(5,8,22,.6);stroke:rgba(255,255,255,.22)}

.scene .rt{fill:none;stroke:rgba(255,255,255,.16);stroke-width:1.5;stroke-dasharray:2 6}

.scene .ct{fill:#c3cde6}

.scene .hub{fill:#ff6b81;filter:drop-shadow(0 0 8px #ff6b81)}

.scene .cl2{fill:#c3cde6;font:700 13px ui-monospace,Menlo,monospace;letter-spacing:2px}


/* cockpit HUD */
.hud{position:fixed;left:18px;bottom:18px;z-index:45;display:none;gap:2px;background:rgba(5,8,22,.82);border:1px solid rgba(89,210,255,.35);border-radius:12px;padding:8px 14px;backdrop-filter:blur(10px);font-family:ui-monospace,Menlo,monospace;opacity:0;transform:translateY(12px);transition:.4s;box-shadow:0 0 24px rgba(89,210,255,.15)}

.hud.show{opacity:1;transform:none}

@media(min-width:1000px){
.hud{display:flex}}

.hud>div{padding:0 12px;border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;line-height:1.2;min-width:74px}

.hud>div:last-child{border:0}

.hud small{font-size:10px;letter-spacing:2px;color:#7f8db5}

.hud b{font-size:17px;color:#46e0a1;letter-spacing:1px}

.hud em{font-style:normal;font-size:10px;color:#7f8db5;margin-top:-2px}



/* ================= theme toggle + flip ================= */
.tsw{display:inline-flex;align-items:center;gap:8px;margin-left:14px;padding:6px 12px 6px 10px;border-radius:10px;border:1px solid var(--line);background:#05080f;color:#ffcf5c;cursor:pointer;font:800 12px ui-monospace,Menlo,monospace;letter-spacing:2px;transition:border-color .2s}

.tsw:hover{border-color:var(--accent)}

.tsw .ti{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.tsw .sun{display:none}

[data-theme="light"] .tsw .sun{display:block}

[data-theme="light"] .tsw .moon{display:none}

.flapbox{display:inline-block;min-width:52px;text-align:center;perspective:200px}

.flapbox span{display:inline-block;transform-origin:50% 50%}

.tsw.flipping .flapbox span{animation:flapflip .42s ease-in-out}

@keyframes flapflip{0%{transform:rotateX(0)}48%{transform:rotateX(90deg)}52%{transform:rotateX(-90deg)}100%{transform:rotateX(0)}}

nav .wrap{gap:10px}

nav ul{margin-left:auto}

.flip{position:fixed;inset:0;z-index:200;pointer-events:none}

.flip-sky{position:absolute;inset:0;clip-path:inset(0 100% 0 0)}

.flip-sky.stars-on{background-image:radial-gradient(1.5px 1.5px at 15% 25%,#fff,transparent),radial-gradient(1px 1px at 40% 70%,#fff,transparent),radial-gradient(1.5px 1.5px at 65% 20%,#fff,transparent),radial-gradient(1px 1px at 85% 60%,#fff,transparent);background-size:360px 360px}

.flip-plane{position:absolute;top:50%;left:0;display:flex;align-items:center;transform:translate(-120px,-50%)}

.flip-plane i{display:block;width:min(70vw,640px);height:6px;border-radius:6px;margin-right:-8px;filter:blur(1px)}

.flip-plane svg{width:92px;height:92px;fill:#fff;filter:drop-shadow(0 0 18px rgba(89,210,255,.95));flex:none}



/* mobile flight progress bar (shown where the side tracker is hidden) */
.mprog{position:fixed;top:62px;left:0;right:0;height:3px;z-index:55;background:rgba(255,255,255,.12)}

.mprog i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--grad)}

.mprog .ic{position:absolute;top:-9px;left:0;font-size:20px;color:#fff;transform:translateX(-50%);filter:drop-shadow(0 0 6px rgba(89,210,255,.9))}

@media(min-width:1260px){
.mprog{display:none}}



/* ================= LIGHT (DAY) THEME ================= */
[data-theme="light"]{
  --ink:#0b1a3b;--mute:#3a4a75;--accent:#0a73c9;--accent2:#5b43d6;--hot:#d6334f;--ok:#0f8f5f;
  --panel:rgba(255,255,255,.86);--panel2:rgba(255,255,255,.94);--line:rgba(20,50,110,.2);
  --grad:linear-gradient(120deg,#0a73c9,#5b43d6 55%,#d6334f);
}

[data-theme="light"] body{background:#cfe7fb;color:var(--ink)}

[data-theme="light"] nav{background:rgba(255,255,255,.82)}

[data-theme="light"] nav ul a:hover{color:#000}

[data-theme="light"] .navcta{color:#fff!important}

[data-theme="light"] .pill{background:rgba(255,255,255,.78);color:var(--mute)}

[data-theme="light"] h1,[data-theme="light"] h2{text-shadow:none}

[data-theme="light"] .role{color:var(--ink)}

[data-theme="light"] .lead,[data-theme="light"] .body,[data-theme="light"] .ticks li,[data-theme="light"] .pass ul,[data-theme="light"] .chk li{color:#1b2b55}

[data-theme="light"] .btn{color:var(--ink)}

[data-theme="light"] .btn.primary{color:#fff}

[data-theme="light"] .btn.ghost{background:rgba(255,255,255,.5)}

[data-theme="light"] .tags span{color:#1b2b55;background:rgba(10,40,100,.06)}

[data-theme="light"] .tags .hl{color:var(--accent);background:rgba(10,115,201,.09);border-color:rgba(10,115,201,.45)}

[data-theme="light"] .pass b{color:#000}

[data-theme="light"] .stub{background:rgba(10,115,201,.07)}

[data-theme="light"] .stub .bar{filter:invert(1);opacity:.45}

[data-theme="light"] .pass:before,[data-theme="light"] .pass:after{display:none}

[data-theme="light"] .ck-head{background:rgba(10,115,201,.1)}

[data-theme="light"] .chk li:before{border-color:#7a8dbb;background-color:rgba(10,40,100,.04)}

[data-theme="light"] .checklist.in .chk li:before{border-color:#0f8f5f;background-color:#2fb67c}

[data-theme="light"] .ck-foot{background:rgba(15,143,95,.1)}

[data-theme="light"] .aisec{background:linear-gradient(transparent,rgba(255,255,255,.35) 8%,rgba(255,255,255,.35) 92%,transparent)}

[data-theme="light"] .big.up{background:linear-gradient(120deg,#0f8f5f,#0a73c9);-webkit-background-clip:text;background-clip:text}

[data-theme="light"] .tool,[data-theme="light"] .rp,[data-theme="light"] .channels p{color:var(--mute)}

[data-theme="light"] .tool b,[data-theme="light"] .rp b{color:var(--ink)}

[data-theme="light"] .step{background:rgba(10,40,100,.05)}

[data-theme="light"] .step.ok{color:#0b6e49}

[data-theme="light"] mark{background:rgba(214,51,79,.14);color:#a3182f}

[data-theme="light"] .pipe span{color:#e8f0ff}

[data-theme="light"] .cmp .no{color:#b02a42}

[data-theme="light"] .cmp .yes{color:#0b7a50}

[data-theme="light"] .tracker .line{border-right-color:rgba(10,30,80,.3)}

[data-theme="light"] .tracker .stop{color:var(--mute)}

[data-theme="light"] .tracker .stop i{background:#fff;border-color:var(--mute)}

[data-theme="light"] .tracker .stop.on{color:var(--ink)}

[data-theme="light"] .tracker .stop.on i{background:var(--accent);border-color:#fff;box-shadow:0 0 10px var(--accent)}

[data-theme="light"] .flyer{color:var(--accent);filter:drop-shadow(0 0 6px rgba(255,255,255,.9))}

[data-theme="light"] .mprog{background:rgba(10,30,80,.15)}

[data-theme="light"] .mprog .ic{color:var(--accent);filter:drop-shadow(0 0 5px #fff)}

[data-theme="light"] .scrollhint{color:var(--mute)}

[data-theme="light"] .cloud{opacity:.8}

[data-theme="light"] .cloud span{filter:blur(6px)}

[data-theme="light"] .chips span{background:rgba(255,255,255,.82)}


/* scenes */
[data-theme="light"] .scene .sp use{fill:#0c2a5e}

[data-theme="light"] .scene .sp{filter:drop-shadow(0 0 8px rgba(255,255,255,.95))}

[data-theme="light"] .scene .sc-v{fill:var(--ink)}

[data-theme="light"] .scene .sc-k{fill:var(--accent)}

[data-theme="light"] .scene .mt{fill:rgba(10,30,80,.6)}

[data-theme="light"] .scene .mt.on{fill:#0b7a50}

[data-theme="light"] .scene .mk{stroke:rgba(10,30,80,.3)}

[data-theme="light"] .scene .fl{stroke:rgba(10,30,80,.2)}

[data-theme="light"] .scene .flt{fill:var(--mute)}

[data-theme="light"] .scene .gh{stroke:rgba(10,30,80,.3)}

[data-theme="light"] .scene .tr{stroke:var(--accent);filter:drop-shadow(0 0 5px rgba(255,255,255,.9))}

[data-theme="light"] .scene .hudbox{fill:rgba(255,255,255,.75);stroke:rgba(10,30,80,.25)}

[data-theme="light"] .scene .rt{stroke:rgba(10,30,80,.25)}

[data-theme="light"] .scene .ct{fill:var(--mute)}

[data-theme="light"] .scene .cl2{fill:var(--mute)}

[data-theme="light"] .scene .hub{fill:var(--hot);filter:drop-shadow(0 0 6px rgba(255,255,255,.9))}

.scene .dg{fill:rgba(255,255,255,.14)}

[data-theme="light"] .scene .dg{fill:rgba(10,30,80,.2)}

[data-theme="light"] .scene svg rect[fill="rgba(255,255,255,.15)"]{fill:rgba(10,30,80,.18)}


/* instruments stay dark in both themes */
.graphbox,.chatwin,.phone{background:#0b1430}

.graphbox{border-color:rgba(160,185,240,.22)}

.graphbox .lane{fill:#b4c4ec}



/* ================= MOBILE ================= */
@media(max-width:760px){
body{font-size:16px}
.wrap{padding:0 18px}
nav .wrap{height:56px}
.logo{font-size:16px}
.tsw{margin-left:8px;padding:6px 9px}
.flapbox{min-width:46px}
.mprog{top:56px}
.hero{padding:96px 0 80px;min-height:auto}
.hero-grid{gap:34px}
h1{letter-spacing:-1.5px;margin-top:16px}
.lead{font-size:17px}
.pill{font-size:12.5px;padding:6px 12px}
.chips span{font-size:14px;padding:7px 12px}
.cta .btn{flex:1 1 140px;text-align:center;padding:12px 14px}
.scrollhint{display:none}
.cabin-cap{font-size:13px}
section{padding:70px 0}
.h3{margin-top:50px}
h2{letter-spacing:-.5px}
.cabin-row{gap:14px;margin-top:40px}
.win.sm .num{font-size:32px}
.win.sm .num small{font-size:18px;margin:0 2px}
.win.sm .lbl{font-size:12.5px}
.win.sm .frame{padding:10px}
.polaroid{max-width:280px}
.viz-card{padding:16px}
.skill-viz{justify-content:center}
.scene{height:auto}
.scene .sc-k{font-size:34px;letter-spacing:5px}
.scene .sc-v{font-size:50px}
.scene .sc-v.big{font-size:60px}
.scene .mt,.scene .flt,.scene .cl2{font-size:28px}
.scene .mt{letter-spacing:3px}
.career{overflow-x:auto}
.career svg{min-width:700px}
.pass .main{padding:20px 18px}
.pass h3{font-size:21px}
.pass ul{font-size:15.5px;padding-left:18px}
.stub{flex-direction:row!important;gap:12px!important}
.stub span{font-size:22px}
.stub .bar{display:none}
.deck{gap:16px}
.ck-head{padding:12px 16px;font-size:11.5px}
.chk{padding:8px 16px}
.chk li{font-size:15.5px;gap:12px}
.licence{padding:18px}
.licence dl{grid-template-columns:1fr;gap:2px}
.licence dt{padding-top:8px}
.board-head{padding:12px 14px;font-size:12px;letter-spacing:2px}
.clock{font-size:17px}
.brow{padding:14px 14px;grid-template-columns:52px 1fr}
.gate{font-size:20px}
.dest{font-size:15px;letter-spacing:1px}
.stack i{font-size:13px;padding:3px 9px}
.approach{height:150px;margin:-20px 0 10px}
.ai-band{padding:20px}
.statrow .big{font-size:36px}
.graphbox:before{content:"swipe sideways to see the whole graph →";display:block;font-size:12.5px;color:var(--mute);padding:2px 4px 8px;position:sticky;left:0}
.seg .btn{flex:1 1 150px;text-align:center}
.chatwin{height:480px}
.phone{width:260px;height:480px}
.m{font-size:15px}
.panel{padding:18px}
.dayrow button{padding:6px 11px}
th,td{padding:9px 6px;font-size:14px}
footer{padding:70px 0 60px}
.hud{display:flex;left:10px;right:10px;bottom:10px;justify-content:center;padding:6px 8px}
.hud>div{min-width:0;padding:0 10px}
.hud>div:nth-child(2),.hud>div:nth-child(3){display:none}
.hud b{font-size:15px}
}

@media(max-width:380px){
.tsw .ti{display:none}
.logo{font-size:15px}}



/* ---- landing scene (footer) ---- */
.landing{position:relative;margin:0 auto 26px;max-width:1200px}

.landing svg{width:100%;height:auto;display:block;overflow:visible}

.landing .sc-k{fill:var(--accent);font:700 17px ui-monospace,Menlo,monospace;letter-spacing:4px}

.landing .sc-v{fill:var(--ink);font:800 26px ui-monospace,Menlo,monospace;letter-spacing:2px}

.landing .ln-gs{fill:none;stroke:rgba(255,255,255,.25);stroke-width:1.5;stroke-dasharray:4 8}

.landing .ln-pole{stroke:rgba(255,255,255,.35);stroke-width:1.5}

.landing .ln-lamp{fill:#ffe9a8;animation:lamp 1.1s ease-in-out infinite}

@keyframes lamp{0%,60%{opacity:.25}70%{opacity:1;filter:drop-shadow(0 0 6px #ffd45a)}100%{opacity:.25}}

.landing .ln-edge{fill:#ffcf5c;animation:rlight 1.8s ease-in-out infinite}

.landing .ln-papi{filter:drop-shadow(0 0 5px currentColor)}

.landing .ln-num{fill:#eef2fa;opacity:.8;font:800 20px ui-monospace,Menlo,monospace;letter-spacing:3px}

.landing .ln-liv{fill:#3d4a68;font:800 11px Inter,system-ui,sans-serif;letter-spacing:3px}

[data-theme="light"] .landing .ln-gs{stroke:rgba(10,30,80,.3)}

[data-theme="light"] .landing .ln-pole{stroke:rgba(10,30,80,.4)}

@media(max-width:760px){
.landing .sc-k{font-size:15px;letter-spacing:3px}
.landing .sc-v{font-size:22px}}


