:root{
  --bg:#F5F3EE; --bg-2:#ECE8E0; --white:#FFFFFF;
  --ink:#141A3D; --ink-2:#4A4F6A; --muted:#8A8C99;
  --line:#DEDAD1; --line-2:#C9C4B8;
  --accent:#E8622C; --accent-soft:#FBE3D6;
  --head:"Space Grotesk",system-ui,sans-serif;
  --body:"Poppins",system-ui,sans-serif;
  --gutter:clamp(16px,4vw,48px);
  --pad-l:max(var(--gutter),env(safe-area-inset-left));
  --pad-r:max(var(--gutter),env(safe-area-inset-right));
  --bar-h:68px;
  --max:1280px;
  --r:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--bar-h) + 12px)}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
@supports (overflow:clip){body{overflow-x:clip}}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
a,button,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
::selection{background:var(--ink);color:var(--bg)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad-r) 0 var(--pad-l)}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px;font-size:14px;text-decoration:none}
.skip:focus{top:12px}
h1,h2,h3{font-family:var(--head);font-weight:500;letter-spacing:-.035em;line-height:1;overflow-wrap:break-word}
h2{font-size:clamp(36px,5.2vw,72px)}
h3{font-size:22px;letter-spacing:-.02em;line-height:1.2}
.label{font-family:var(--body);font-size:13px;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:10px}
.label::before{content:"";width:18px;height:2px;background:var(--accent);border-radius:2px}
.todo{background:var(--accent-soft);color:#9A3D12;border:1px dashed var(--accent);padding:1px 8px;border-radius:6px;font-size:.9em;white-space:nowrap}

/* small utilities (keeps markup free of inline styles for a strict CSP) */
.pt0{padding-top:0!important}
.pb0{padding-bottom:0!important}
.mb-18{margin-bottom:18px}
.mb-22{margin-bottom:22px}
.mb-28{margin-bottom:28px}
.ar-45{aspect-ratio:4/5}
.op-right{object-position:70% 50%}
.op-top{object-position:50% 20%}
.op-left{object-position:30% 50%}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;font:500 14px/1 var(--body);text-decoration:none;padding:15px 22px;border-radius:999px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn.fill{background:var(--ink);color:var(--bg)}
.btn.fill:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn .arr{transition:transform .25s}
.btn:hover .arr{transform:translateX(3px)}

/* nav */
.bar{position:sticky;top:0;z-index:50;background:rgba(245,243,238,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s}
.bar.scrolled,.bar.open{border-color:var(--line)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--bar-h);gap:16px}
.logo{font-family:var(--head);font-weight:600;font-size:21px;letter-spacing:-.04em;text-decoration:none;flex:none}
.logo span{color:var(--accent)}
.bar nav{display:flex;gap:28px}
.bar nav a{font-size:14px;text-decoration:none;color:var(--ink-2);transition:color .2s}
.bar nav a:hover{color:var(--ink)}
.bar nav .nav-contact{display:none}
.bar-right{display:flex;align-items:center;gap:10px}
.bar .btn{padding:11px 18px;font-size:13px;min-height:42px}
.menu-btn{display:none;position:relative;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--ink);background:transparent;cursor:pointer;flex:none}
.menu-btn span{position:absolute;left:12px;right:12px;height:1.5px;background:var(--ink);border-radius:2px;transition:transform .3s,top .3s}
.menu-btn span:first-child{top:17px}
.menu-btn span:last-child{top:24px}
.bar.open .menu-btn span:first-child{top:20.5px;transform:rotate(45deg)}
.bar.open .menu-btn span:last-child{top:20.5px;transform:rotate(-45deg)}
@media (max-width:1000px){
  .menu-btn{display:block}
  .bar nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:6px var(--pad-r) 18px var(--pad-l);max-height:calc(100vh - var(--bar-h));max-height:calc(100dvh - var(--bar-h));overflow-y:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s;box-shadow:0 24px 40px -28px rgba(20,26,61,.35)}
  .bar.open nav{visibility:visible;opacity:1;transform:none}
  .bar nav a{font-family:var(--head);font-size:20px;font-weight:500;letter-spacing:-.02em;color:var(--ink);padding:14px 0;border-bottom:1px solid var(--line)}
  .bar nav a:last-child{border-bottom:0}
  .bar nav .nav-contact{display:block;color:var(--accent)}
}
@media (max-width:600px){
  :root{--bar-h:60px}
  .logo{font-size:19px}
}
@media (max-width:440px){.bar-right .btn{display:none}}

/* hero */
.hero{padding:clamp(20px,5vw,64px) 0 0}
.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(24px,4vw,64px);align-items:stretch}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:20px 0}
.pill{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;background:var(--white);border:1px solid var(--line);border-radius:999px;padding:7px 14px 7px 10px;font-size:13px;font-weight:500;color:var(--ink-2)}
.pill i{width:8px;height:8px;border-radius:50%;background:#2DB36B;box-shadow:0 0 0 4px rgba(45,179,107,.15);flex:none}
.hero h1{font-size:clamp(44px,4.9vw,78px);margin:26px 0 24px;letter-spacing:-.045em;line-height:1.02;opacity:0;animation:up 1s .1s forwards}
.hero p.lede{max-width:46ch;color:var(--ink-2);font-size:17px;opacity:0;animation:up .9s .45s forwards}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;opacity:0;animation:up .9s .6s forwards}
@keyframes up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero-media{position:relative;border-radius:var(--r);overflow:hidden;min-height:520px;background:var(--bg-2)}
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;transform:scale(1.08);animation:settle 1.8s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes settle{to{transform:scale(1)}}
.hero-media .chip{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:12px;padding:12px 16px;font-size:13px;line-height:1.4;max-width:240px}
.hero-media .chip b{display:block;font-family:var(--head);font-size:15px;font-weight:600;letter-spacing:-.02em}
.stats{display:grid;grid-template-columns:repeat(5,1fr);margin-top:clamp(28px,5vw,64px);border-top:1px solid var(--line-2)}
.stats div{padding:22px 20px 26px 0;min-width:0}
.stats div+div{padding-left:20px;border-left:1px solid var(--line)}
.stats b{display:block;font-family:var(--head);font-weight:500;font-size:clamp(26px,2.8vw,40px);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.stats b.hot{color:var(--accent)}
.stats span{display:block;font-size:13px;color:var(--muted);margin-top:8px}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{padding:8px 0 0}
  .hero-media{min-height:0;aspect-ratio:4/3}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stats div,.stats div+div{padding:18px 12px 18px 0;border-left:0;border-bottom:1px solid var(--line)}
  .stats div:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
  .stats div:last-child{grid-column:1/-1;border-bottom:0}
}
@media (max-width:600px){
  .hero h1{font-size:clamp(34px,10.2vw,52px);margin:20px 0 16px}
  .hero p.lede{font-size:16px}
  .hero .ctas{margin-top:24px}
  .hero .ctas .btn{flex:1 1 100%}
  .hero-media{aspect-ratio:1/1}
  .hero-media .chip{left:10px;bottom:10px;max-width:calc(100% - 20px);padding:9px 12px;font-size:12px}
  .hero-media .chip b{font-size:14px}
}

/* sections */
.sec{padding:clamp(64px,10vw,140px) 0}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 32px;flex-wrap:wrap;margin-bottom:clamp(28px,5vw,64px)}
.head .label{margin-bottom:18px}
.head h2{max-width:15ch}
.head p{max-width:42ch;color:var(--ink-2)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (max-width:600px){
  h2{font-size:clamp(30px,8.6vw,44px)}
  .head .label{margin-bottom:14px}
}

/* news */
.news{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(16px,4vw,56px)}
.log{list-style:none;background:var(--white);border-radius:var(--r);padding:8px 28px}
.log li{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.log li:last-child{border-bottom:0}
.log time{font-size:13px;font-weight:500;color:var(--muted);padding-top:2px}
.log li.now time{color:var(--accent)}
.log strong{font-weight:600}
.log .soon{color:var(--muted)}
.fundcard{background:var(--ink);color:#fff;border-radius:var(--r);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.fundcard .t{font-size:13px;font-weight:500;color:rgba(255,255,255,.6)}
.fundcard .big{font-family:var(--head);font-weight:500;font-size:clamp(64px,8vw,116px);line-height:.9;letter-spacing:-.06em;margin-top:10px}
.fundcard .big small{font-size:.4em;color:var(--accent);letter-spacing:-.02em}
.meter{height:8px;background:rgba(255,255,255,.12);border-radius:8px;overflow:hidden}
.meter i{display:block;height:100%;width:0;background:var(--accent);border-radius:8px;transition:width 2s cubic-bezier(.2,.7,.2,1)}
.meter-l{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:rgba(255,255,255,.55);margin-top:10px}
.fundcard p{font-size:15px;color:rgba(255,255,255,.75)}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span{font-size:12px;font-weight:500;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
@media (max-width:900px){.news{grid-template-columns:1fr}.log{padding:4px 20px}.log li{grid-template-columns:1fr;gap:4px;padding:16px 0}}

/* problem */
.problem{background:var(--white)}
.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,90px);align-items:center}
.big-quote{font-family:var(--head);font-weight:500;font-size:clamp(24px,2.8vw,40px);line-height:1.15;letter-spacing:-.03em}
.big-quote mark{background:none;color:var(--accent)}
.problem-copy p{color:var(--ink-2);margin-top:22px;max-width:52ch}
.problem-copy p.big-quote{color:var(--ink)}
.photo{border-radius:var(--r);overflow:hidden;background:var(--bg-2)}
.photo img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.problem-grid{grid-template-columns:1fr}.problem-grid .photo{order:-1}}

/* story scroller: 3 visuals */
.story{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,80px)}
.stage{position:sticky;top:calc(var(--bar-h) + 16px);height:calc(100vh - var(--bar-h) - 40px);height:calc(100svh - var(--bar-h) - 40px);display:flex;align-items:center}
.frame{position:relative;width:100%;height:100%;max-height:760px;border-radius:var(--r);overflow:hidden;background:var(--bg-2)}
.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .8s ease,transform 1.4s cubic-bezier(.2,.7,.2,1)}
.frame img.on{opacity:1;transform:none}
.frame .count{position:absolute;top:16px;left:16px;display:flex;gap:6px;z-index:2}
.frame .count i{width:28px;height:4px;border-radius:4px;background:rgba(255,255,255,.55);overflow:hidden;position:relative}
.frame .count i.on::after{content:"";position:absolute;inset:0;background:var(--accent)}
.frame .cap{position:absolute;left:16px;bottom:16px;z-index:2;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:999px;padding:9px 16px;font-size:13px;font-weight:500}
.steps{padding:26vh 0 30vh}
.step{min-height:72vh;display:flex;flex-direction:column;justify-content:center;opacity:.28;transition:opacity .5s}
.step.on{opacity:1}
.step h3{font-size:clamp(28px,3.4vw,48px);letter-spacing:-.04em;line-height:1.02;margin-bottom:18px;font-weight:500}
.step p{color:var(--ink-2);max-width:42ch}
.step ul{list-style:none;margin-top:20px;display:grid;gap:10px}
.step li{display:flex;gap:12px;font-size:15px;color:var(--ink-2)}
.step li b{font-family:var(--head);color:var(--ink);font-weight:500;min-width:96px;flex:none}
@media (max-width:900px){
  .story{grid-template-columns:1fr;gap:0}
  .stage{top:var(--bar-h);height:46vh;height:46svh;z-index:3;background:var(--bg);padding:8px 0 12px}
  .steps{padding:4vh 0 14vh}
  .step{min-height:58vh;min-height:58svh;justify-content:flex-start;padding-top:6vh}
  .step h3{margin-bottom:12px}
}
@media (max-width:600px){
  .frame .count{top:12px;left:12px}
  .frame .cap{left:12px;bottom:12px;font-size:12px;padding:8px 14px}
  .step li{flex-direction:column;gap:0}
}

/* how */
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.spec{background:var(--white);border-radius:var(--r);padding:26px 24px 28px;min-width:0}
.spec b{display:block;font-family:var(--head);font-weight:500;font-size:clamp(40px,4.4vw,60px);letter-spacing:-.05em;line-height:1}
.spec b small{font-size:.38em;letter-spacing:-.01em;color:var(--accent);margin-left:4px}
.spec span{display:block;font-size:14px;color:var(--ink-2);margin-top:12px}
.zones{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.zone{border:1px solid var(--line-2);border-radius:var(--r);padding:26px 24px}
.zone .k{font-family:var(--head);font-size:14px;font-weight:500;color:var(--accent)}
.zone h3{margin:14px 0 10px}
.zone p{font-size:15px;color:var(--ink-2)}
.journeys{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:clamp(40px,7vw,96px)}
.journeys figure{position:relative;border-radius:var(--r);overflow:hidden;background:var(--bg-2);transform-origin:center bottom}
.journeys img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.journeys figure:hover img{transform:scale(1.05)}
.journeys figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.94);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500}
@media (max-width:1000px){.specs{grid-template-columns:repeat(2,1fr)}.zones{grid-template-columns:1fr}.journeys{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){
  .specs,.journeys{gap:10px}
  .spec{padding:20px 16px 22px}
  .spec b{font-size:clamp(34px,10vw,44px)}
  .spec span{font-size:13px;margin-top:10px;line-height:1.5}
  .zone{padding:22px 20px}
  .journeys figcaption{left:8px;bottom:8px;font-size:12px;padding:6px 11px}
}

/* facts */
.facts{background:var(--white)}
.facts-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,80px);align-items:start}
.facts-imgs{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:sticky;top:calc(var(--bar-h) + 28px)}
.facts-imgs .photo:first-child{grid-column:1/-1;aspect-ratio:3/2}
.facts-imgs .photo{aspect-ratio:1}
table.sheet{width:100%;border-collapse:collapse;font-size:15px}
.sheet th,.sheet td{text-align:left;vertical-align:top;padding:17px 0;border-bottom:1px solid var(--line)}
.sheet tr:first-child th,.sheet tr:first-child td{border-top:1.5px solid var(--ink)}
.sheet th{width:32%;font-family:var(--head);font-weight:500;font-size:15px;letter-spacing:-.01em;padding-right:18px}
.sheet td{color:var(--ink-2)}
.sheet .price{font-family:var(--head);font-weight:500;font-size:30px;letter-spacing:-.04em;color:var(--ink)}
.sheet .price s{font-size:17px;color:var(--muted);margin-left:8px;letter-spacing:0}
.callout{margin-top:28px;padding:24px 26px;background:var(--bg);border-radius:var(--r);display:flex;gap:16px;align-items:flex-start}
.callout b{flex:none;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--head);font-size:16px}
.callout p{font-size:16px;color:var(--ink)}
@media (max-width:900px){.facts-grid{grid-template-columns:1fr}.facts-imgs{position:static}}
@media (max-width:560px){
  .facts-imgs{gap:8px}
  .sheet,.sheet tbody,.sheet tr,.sheet th,.sheet td{display:block;width:auto}
  .sheet tr{padding:14px 0;border-bottom:1px solid var(--line)}
  .sheet tr:first-child{border-top:1.5px solid var(--ink)}
  .sheet th,.sheet td,.sheet tr:first-child th,.sheet tr:first-child td{padding:0;border:0}
  .sheet th{margin-bottom:4px}
  .callout{padding:20px;gap:14px}
  .callout p{font-size:15px}
}

/* founders */
.founders{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px)}
.person{background:var(--white);border-radius:var(--r);padding:clamp(14px,1.6vw,20px);display:flex;flex-direction:column}
.person .photo{aspect-ratio:1;border-radius:calc(var(--r) - 6px)}
.person-body{padding:clamp(18px,2.4vw,30px) clamp(6px,1.2vw,14px) clamp(6px,1.2vw,12px)}
.person h3{font-size:clamp(26px,2.6vw,36px);letter-spacing:-.035em;line-height:1.05}
.person .role{margin-top:8px;font-size:14px;font-weight:500;color:var(--accent)}
.person-body p:not(.role){margin-top:16px;color:var(--ink-2);max-width:56ch}
blockquote{margin-top:36px;padding:30px;background:var(--white);border-radius:var(--r);border-left:4px solid var(--accent)}
blockquote p{font-family:var(--head);font-weight:500;font-size:clamp(22px,2.3vw,32px);line-height:1.2;letter-spacing:-.03em}
#founder blockquote{margin-top:clamp(20px,3vw,40px)}
#founder blockquote p{max-width:40ch}
blockquote footer{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:14px;color:var(--ink-2)}
.patents{margin-top:clamp(48px,7vw,90px);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);overflow:hidden;white-space:nowrap;padding:18px 0}
.patents .track{display:inline-flex;gap:56px;animation:marquee 42s linear infinite}
.patents span{font-family:var(--head);font-size:16px;font-weight:500;letter-spacing:-.01em;color:var(--ink-2)}
.patents span em{font-style:normal;color:var(--accent);margin-right:10px;font-size:13px}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (max-width:700px){.founders{grid-template-columns:1fr}}
@media (max-width:600px){
  .person .photo{aspect-ratio:4/5}
  .person .photo img{object-position:50% 30%}
  blockquote{padding:22px 20px;margin-top:28px}
  blockquote p{font-size:21px}
  .patents .track{gap:36px;animation-duration:30s}
}

/* angles */
.angles{list-style:none;border-top:1.5px solid var(--ink)}
.angles li{display:grid;grid-template-columns:64px 1fr 32px;gap:20px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line-2);transition:padding .35s}
.angles .k{font-family:var(--head);font-size:15px;font-weight:500;color:var(--muted)}
.angles h3{font-size:clamp(21px,2.4vw,32px);letter-spacing:-.035em}
.angles p{color:var(--ink-2);font-size:15px;margin-top:6px}
.angles .go{font-size:20px;color:var(--accent);opacity:0;transition:opacity .3s}
@media (hover:hover){
  .angles li:hover{padding-left:12px}
  .angles li:hover .go{opacity:1}
}
.avail{margin-top:30px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;background:var(--white);border-radius:var(--r);padding:22px 26px}
.avail p{font-size:16px;max-width:60ch}
@media (max-width:640px){
  .angles li{grid-template-columns:32px 1fr;gap:12px;padding:20px 0;align-items:start}
  .angles .k{padding-top:4px}
  .angles .go{display:none}
  .avail{padding:20px}
  .avail .btn{width:100%}
}

/* airlines */
.airlines{text-align:center}
.air-label{font-size:13px;font-weight:500;color:var(--muted);margin-bottom:26px}
.air{list-style:none;display:flex;flex-wrap:nowrap;justify-content:center;align-items:center}
.air li{display:flex;align-items:center;flex:none;padding:0 clamp(16px,2.4vw,30px)}
.air .dup{display:none}
/* per-logo heights so the wordmarks read at the same optical size */
.air img{width:auto;height:var(--lh,34px)}
.air .lg-united{--lh:40px}
.air .lg-american{--lh:46px}
.air .lg-delta{--lh:22px}
.air .lg-southwest{--lh:24px}
.air .lg-alaska{--lh:34px}
@media (min-width:601px) and (max-width:1000px){.air{flex-wrap:wrap;row-gap:20px}}
@media (max-width:600px){
  .air-label{margin-bottom:20px}
  /* one-row looping marquee on phones; the list holds two copies so -50% loops seamlessly */
  .air-view{overflow:hidden;margin:0 calc(-1 * var(--pad-r)) 0 calc(-1 * var(--pad-l));-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
  .air{width:max-content;justify-content:flex-start;animation:marquee 18s linear infinite}
  .air .dup{display:flex}
  .air li{padding:0 22px}
  .air img{height:calc(var(--lh,34px) * .8)}
}
@media (max-width:600px) and (prefers-reduced-motion:reduce){
  .air-view{-webkit-mask-image:none;mask-image:none;margin:0}
  .air{width:auto;flex-wrap:wrap;justify-content:center;gap:16px 0;animation:none}
  .air .dup{display:none}
}

/* release */
.release{background:var(--bg-2)}
.doc{max-width:820px;margin:0 auto;background:var(--white);border-radius:var(--r);padding:clamp(22px,6vw,72px);box-shadow:0 24px 60px -32px rgba(20,26,61,.3)}
.doc .top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;font-weight:500;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:34px}
.doc h3{font-size:clamp(24px,3vw,38px);letter-spacing:-.035em;line-height:1.1}
.doc .sub{font-size:17px;color:var(--ink-2);margin:16px 0 30px}
.doc p{margin-bottom:18px;font-size:16px;line-height:1.75}
.doc .about{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.doc .about p{font-size:14px;color:var(--ink-2)}
.doc .about strong{color:var(--ink)}
.doc h3{margin-bottom:30px}
.doc a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;transition:color .2s}
.doc a:hover{color:var(--accent)}
.doc .contact-block{font-weight:500;line-height:1.6;padding-left:16px;border-left:3px solid var(--accent)}
.doc .about .tagline{font-family:var(--head);font-size:18px;font-weight:500;letter-spacing:-.02em;color:var(--ink)}
.doc .about .disclaimer{font-size:12.5px;line-height:1.65;color:var(--muted)}
.doc .end{text-align:center;letter-spacing:.4em;color:var(--muted);margin-top:24px;font-size:14px}
.doc-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:32px}
@media (max-width:600px){
  .doc .top{margin-bottom:24px;padding-bottom:16px}
  .doc .sub{font-size:16px;margin:12px 0 22px}
  .doc p{font-size:15px;line-height:1.7}
  .doc-actions .btn{flex:1 1 100%}
}

/* media kit */
.kit{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.kit a{position:relative;display:block;border-radius:var(--r);overflow:hidden;background:var(--bg-2);text-decoration:none}
.kit img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.kit a:hover img{transform:scale(1.04)}
.kit .tag{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;background:rgba(255,255,255,.95);border-radius:12px;padding:10px 14px;font-size:13px;font-weight:500;transform:translateY(calc(100% + 16px));transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.kit .tag span{color:var(--accent);flex:none}
.kit a:hover .tag,.kit a:focus-visible .tag{transform:none}
.kit .w3{grid-column:span 3;aspect-ratio:3/2}
.kit .w2{grid-column:span 2;aspect-ratio:4/5}
.kit .kit-product{background:#fff}
.kit .kit-product img{object-fit:contain;padding:8%}
.kit-foot{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;margin-top:36px;padding:28px;background:var(--white);border-radius:var(--r)}
.kit-foot ul{list-style:none;columns:2;column-gap:40px;font-size:15px;color:var(--ink-2)}
.kit-foot li{padding:5px 0;break-inside:avoid;display:flex;gap:10px;align-items:center}
.kit-foot li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}
.kit-foot li.req{color:var(--muted)}
.kit-foot li.req::before{background:var(--line-2)}
.kit-foot .credit{font-size:13px;color:var(--muted);margin-top:12px}
/* touch screens have no hover, so download tags stay visible */
@media (hover:none){.kit .tag{transform:none}}
@media (max-width:760px){
  .kit{gap:10px}
  .kit .w3{grid-column:1/-1}
  .kit .w2{grid-column:span 3}
  .kit .w2:last-of-type{grid-column:1/-1;aspect-ratio:3/2}
  .kit .tag{left:8px;right:8px;bottom:8px;padding:8px 10px;font-size:12px;border-radius:10px}
  .kit-foot{grid-template-columns:1fr;padding:22px 20px;gap:22px}
  .kit-foot ul{columns:1}
  .kit-foot .btn{width:100%}
}

/* faq */
.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(24px,6vw,90px)}
details{border-top:1px solid var(--line-2)}
details:last-child{border-bottom:1px solid var(--line-2)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-family:var(--head);font-weight:500;font-size:clamp(18px,1.8vw,22px);letter-spacing:-.02em}
summary::-webkit-details-marker{display:none}
summary .pm{flex:none;width:32px;height:32px;border-radius:50%;background:var(--white);position:relative;transition:background .3s}
summary .pm::before,summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .3s,background .3s}
summary .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
details[open] summary .pm{background:var(--ink)}
details[open] summary .pm::before,details[open] summary .pm::after{background:#fff}
details[open] summary .pm::after{transform:translate(-50%,-50%) rotate(0)}
details .ans{padding:0 52px 24px 0;color:var(--ink-2);max-width:62ch}
@media (max-width:900px){.faq{grid-template-columns:1fr}}
@media (max-width:600px){summary{padding:18px 0;font-size:17px;gap:14px}details .ans{padding:0 0 20px;font-size:15px}}

/* contact */
.contact{padding:0 var(--pad-r) max(var(--gutter),env(safe-area-inset-bottom)) var(--pad-l)}
.contact-card{max-width:calc(var(--max) - 2 * var(--gutter));margin:0 auto;background:var(--ink);color:#fff;border-radius:28px;padding:clamp(36px,7vw,96px) clamp(20px,6vw,80px) 28px}
.contact .label{color:rgba(255,255,255,.6)}
.contact h2{margin:20px 0 20px;max-width:16ch}
.contact p{color:rgba(255,255,255,.72);max-width:52ch}
.mail{display:inline-block;max-width:100%;margin-top:40px;font-family:var(--head);font-weight:500;font-size:clamp(22px,6vw,88px);letter-spacing:-.05em;line-height:1.05;text-decoration:none;overflow-wrap:anywhere;transition:color .3s}
.mail:hover{color:var(--accent)}
.postal{margin-top:32px;padding-left:16px;border-left:2px solid var(--accent)}
.postal-label{display:block;font-size:13px;font-weight:500;color:rgba(255,255,255,.5);margin-bottom:6px}
.postal address{font-style:normal;font-size:15px;line-height:1.6;color:rgba(255,255,255,.85)}
.postal address span{white-space:nowrap}
.contact .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px;align-items:center}
.contact .btn{border-color:rgba(255,255,255,.35);color:#fff}
.contact .btn:hover{background:#fff;color:var(--ink);border-color:#fff}
.contact .btn.fill{background:var(--accent);border-color:var(--accent)}
.contact .btn.fill:hover{background:#fff;color:var(--ink);border-color:#fff}
.contact .todo{background:rgba(232,98,44,.16);color:#FFC4A8}
.foot{margin-top:clamp(48px,8vw,110px);padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:rgba(255,255,255,.5)}
.foot .credit-dev a{font-weight:500;color:rgba(255,255,255,.85);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.3);transition:color .2s,text-decoration-color .2s}
.foot .credit-dev a:hover{color:var(--accent);text-decoration-color:var(--accent)}
@media (max-width:600px){
  .contact-card{border-radius:22px}
  .mail{margin-top:28px;font-size:clamp(18px,6.1vw,34px);overflow-wrap:normal}
  .contact .row{margin-top:28px}
  .contact .row .btn{flex:1 1 100%}
}

/* phones: let placeholder tags wrap instead of overflowing */
@media (max-width:600px){.todo{white-space:normal;-webkit-box-decoration-break:clone;box-decoration-break:clone}}

.toast{position:fixed;left:50%;bottom:calc(26px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;visibility:hidden;background:var(--ink);color:#fff;padding:12px 20px;border-radius:999px;font-size:14px;z-index:200;max-width:calc(100% - 32px);text-align:center;transition:transform .4s cubic-bezier(.2,.7,.2,1),opacity .3s,visibility .3s}
.toast.show{transform:translate(-50%,0);opacity:1;visibility:visible}

/* 404 */
.nf{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:20px}
.nf h1{font-size:clamp(40px,8vw,96px);letter-spacing:-.05em}
.nf p{color:var(--ink-2);max-width:40ch}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-delay:0s!important;transition-duration:.001s!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
