/* ============================================================
   THE EMPTY LEG — Flight Systems Modernism shared system
   tokens · base · nav · overlay menu · buttons · links · sections
   forms · evidence cards · ticker · cursor · curtain · footer
   ============================================================ */
:root{
  --navy:#071A33; --deep:#040F1F; --navy-2:#1B2E45; --panel:#16283F;
  --orange:#C97852; --orange-dim:#B0603C; --slate:#5B6777; --gray:#98A3AF; --white:#FFFFFF; --paper:#F4F1EC;
  --line:rgba(152,163,175,.2); --line-strong:rgba(152,163,175,.38);
  --serif:'Fraunces',serif; --display:'Archivo',sans-serif; --cond:'Archivo Narrow',sans-serif; --body:'Inter',sans-serif; --mono:'IBM Plex Mono',monospace;
  --dur-fast:180ms; --dur:300ms; --dur-slow:800ms; --ease:cubic-bezier(.22,1,.36,1); --ease-hard:cubic-bezier(.83,0,.17,1);
  --max:1240px; --pad:clamp(20px,4.5vw,64px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:96px}
body{background:var(--deep);color:var(--white);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block} a{color:inherit;text-decoration:none}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray)}
.mono.orange{color:var(--orange)}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:2px}
::selection{background:var(--orange);color:var(--white)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.045;z-index:99;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}

/* reveals */
.reveal{overflow:hidden;display:block}
.reveal>span{display:block;transform:translateY(110%);transition:transform var(--dur-slow) var(--ease)}
.reveal.in>span{transform:none}
.fade{opacity:0;transform:translateY(24px);transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease)}
.fade.in{opacity:1;transform:none}
h2 .w{display:inline-block;opacity:0;transform:translateY(.55em);transition:opacity .55s var(--ease),transform .55s var(--ease);transition-delay:var(--d,0ms)}
h2.split.in .w{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal>span{transform:none;transition:none}
  .fade{transform:none;transition:opacity .2s linear}
  h2 .w{transform:none;transition:opacity .2s linear}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.18s!important}
}

/* nav */
header.site{position:fixed;top:0;left:0;right:0;z-index:50;transition:background var(--dur) linear,border-color var(--dur) linear;border-bottom:1px solid transparent}
header.site.scrolled,header.site.solid{background:rgba(4,15,31,.88);backdrop-filter:blur(14px);border-bottom-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.lockup{display:inline-flex;align-items:center;gap:13px}
.lockup svg{display:block}
.lockup .word{font-family:var(--display);font-weight:600;letter-spacing:.3em;text-transform:uppercase;font-size:13px;color:var(--white);line-height:1;padding-top:2px}
.lockup .tag{display:block;font-family:var(--cond);font-size:8.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gray);margin-top:5px}
.nav-links{display:flex;gap:34px;align-items:center;list-style:none}
.nav-links a{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.75);transition:color var(--dur-fast) linear}
.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--white)}
.nav-links a[aria-current=page]{color:var(--orange)}
.menu-btn{display:none;background:none;border:1px solid var(--line-strong);color:var(--white);font-family:var(--mono);font-size:11px;letter-spacing:.12em;padding:9px 14px;cursor:pointer}

/* buttons + links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:14px 26px;color:var(--navy);background:var(--orange);border:1px solid var(--orange);cursor:pointer;transition:background var(--dur-fast) linear,transform var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease)}
.btn:hover{background:var(--orange-dim);transform:translateY(-1px);box-shadow:0 8px 30px rgba(201,120,82,.25)}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.35);color:var(--white)}
.btn.ghost:hover{border-color:var(--white);background:rgba(255,255,255,.06);box-shadow:none}
.nav .btn{padding:11px 20px}
.tlink{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--white);display:inline-flex;align-items:center;gap:10px;padding-bottom:5px;position:relative}
.tlink::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease)}
.tlink:hover::after{transform:scaleX(1)}
.tlink .arr{color:var(--orange);transition:transform var(--dur) var(--ease)}
.tlink:hover .arr{transform:translateX(5px)}
.roll{display:inline-flex;overflow:hidden;height:1.5em;align-items:flex-start}
.roll-in{display:flex;flex-direction:column;transition:transform .32s var(--ease)}
.roll-in span{display:block;height:1.5em;line-height:1.5em;white-space:nowrap}
a:hover .roll .roll-in,button:hover .roll .roll-in{transform:translateY(-1.5em)}
.tlink .roll-in span:last-child{color:var(--orange)}
@media (prefers-reduced-motion:reduce){.roll-in{transition:none}a:hover .roll .roll-in,button:hover .roll .roll-in{transform:none}}

/* page head + sections */
.pagehead{padding:clamp(140px,20vh,190px) 0 clamp(40px,6vh,64px);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.pagehead .bggrid{position:absolute;inset:0;background-image:linear-gradient(rgba(152,163,175,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(152,163,175,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(75% 80% at 40% 20%,#000 20%,transparent 100%)}
.pagehead .wrap{position:relative}
h1.page{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:clamp(34px,5vw,68px);line-height:1.05;letter-spacing:.05em;margin:16px 0 18px;max-width:20ch}
h1.page em{font-style:normal;color:var(--orange)}
.pagehead .lede{font-family:var(--cond);color:rgba(255,255,255,.85);font-size:clamp(16px,1.45vw,20px);letter-spacing:.02em;max-width:600px}
section.std{padding:clamp(64px,10vh,110px) 0;border-bottom:1px solid var(--line)}
.chapter-mark{display:flex;align-items:center;gap:18px;margin-bottom:34px}
.chapter-mark .ln{flex:1;height:1px;background:var(--line)}
h2{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:clamp(26px,3.2vw,44px);line-height:1.06;letter-spacing:.05em}
h2 em{font-style:normal;color:var(--orange);font-weight:600}
h3.serif{font-family:var(--serif);font-weight:400;font-size:clamp(20px,2vw,27px);line-height:1.15}
h3.serif em{font-style:italic;color:var(--orange)}
.file-tag{background:var(--white);color:var(--navy);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:7px 12px;display:inline-block}
.file-tag.or{background:var(--orange);color:var(--white)}

/* forms */
.form{display:flex;flex-direction:column;gap:14px}
.form label{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray)}
.form input,.form select,.form textarea{background:rgba(4,15,31,.7);border:1px solid var(--line-strong);color:var(--white);padding:15px 17px;font-size:15px;font-family:var(--body);transition:border-color var(--dur-fast) linear;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--orange);outline:none}
.form .note{font-size:12px;color:var(--gray)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:8px}

/* evidence / paper cards */
.claim{background:var(--paper);color:#111;padding:22px 24px 18px;position:relative;transform:rotate(var(--rot,0deg));box-shadow:7px 8px 0 rgba(201,120,82,.85);transition:transform var(--dur) var(--ease)}
.claim:hover{transform:rotate(0)}
.claim .cid{position:absolute;top:-12px;left:16px;background:var(--deep);color:var(--orange);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.14em;padding:5px 10px;text-transform:uppercase}
.claim p{font-size:14px;font-weight:500;margin-top:8px}
.claim .src{font-family:var(--mono);font-size:10px;color:#666;margin-top:10px;display:block;letter-spacing:.08em;text-transform:uppercase}

/* generic cards */
.gcard{border:1px solid var(--line);background:rgba(255,255,255,.015);padding:28px;display:flex;flex-direction:column;gap:14px;transition:border-color var(--dur-fast) linear,transform var(--dur) var(--ease)}
.gcard:hover{border-color:rgba(201,120,82,.5);transform:translateY(-4px)}
.gcard.coming-soon{opacity:.72;cursor:default}
.gcard.coming-soon:hover{border-color:var(--line);transform:none}

/* ticker */
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:rgba(255,255,255,.015)}
.ticker-track{display:flex;width:max-content;animation:tick 42s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-item{display:flex;align-items:center;gap:14px;padding:15px 26px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);white-space:nowrap;border-right:1px solid var(--line)}
.ticker-item b{color:var(--white);font-weight:500}
.ticker-item em{font-style:normal;color:var(--orange)}
.ticker-item .dot{width:5px;height:5px;background:var(--orange);border-radius:50%;flex:none}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}

/* overlay menu */
.navov{position:fixed;inset:0;z-index:120;background:linear-gradient(160deg,#0A1830,#040F1F 75%);display:flex;flex-direction:column;justify-content:center;visibility:hidden;opacity:0;transition:opacity .35s var(--ease),visibility 0s linear .35s}
.navov.open{visibility:visible;opacity:1;transition:opacity .35s var(--ease)}
.navov::before{content:"";position:absolute;inset:22px;border:1px solid rgba(152,163,175,.14);pointer-events:none}
.navov-close{position:absolute;top:22px;right:clamp(20px,4vw,64px);background:none;border:1px solid var(--line-strong);color:var(--white);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:12px 18px;cursor:pointer}
.navov-close:hover{border-color:var(--orange);color:var(--orange)}
.navov-links{list-style:none;display:grid;gap:6px}
.navov-links a{display:grid;grid-template-columns:64px 1fr;align-items:baseline;gap:20px;padding:10px 0;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(30px,5.4vw,58px);line-height:1;color:var(--white);transition:color .15s linear}
.navov-links a:hover{color:var(--orange)}
.navov-links .idx{font-family:var(--mono);font-size:12px;color:var(--orange);letter-spacing:.14em}
.navov-links li{overflow:hidden}
.navov-links li>a{transform:translateY(110%);transition:transform .55s var(--ease)}
.navov.open .navov-links li>a{transform:none}
.navov.open .navov-links li:nth-child(1)>a{transition-delay:.08s}
.navov.open .navov-links li:nth-child(2)>a{transition-delay:.15s}
.navov.open .navov-links li:nth-child(3)>a{transition-delay:.22s}
.navov.open .navov-links li:nth-child(4)>a{transition-delay:.29s}
.navov.open .navov-links li:nth-child(5)>a{transition-delay:.36s}
.navov-foot{position:absolute;bottom:34px;left:0;right:0}
.navov-foot .in{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){.navov-links li>a{transform:none;transition:none}.navov{transition:opacity .15s linear}}

/* cursor */
@media (pointer:fine){body.has-cursor,body.has-cursor a,body.has-cursor button,body.has-cursor label,body.has-cursor input,body.has-cursor select,body.has-cursor textarea{cursor:none}}
.cursorw{position:fixed;left:0;top:0;z-index:300;pointer-events:none;display:none}
.cursorw .dot{position:absolute;width:5px;height:5px;background:var(--orange);border-radius:50%;transform:translate(-50%,-50%)}
.cursorw .ring{position:absolute;width:30px;height:30px;border:1px solid rgba(201,120,82,.55);border-radius:50%;transform:translate(-50%,-50%);transition:width .25s var(--ease),height .25s var(--ease),border-color .2s linear}
.cursorw .ring i{position:absolute;background:var(--orange);opacity:0;transition:opacity .2s linear}
.cursorw .ring i:nth-child(1){left:50%;top:-7px;width:1px;height:5px;transform:translateX(-50%)}
.cursorw .ring i:nth-child(2){left:50%;bottom:-7px;width:1px;height:5px;transform:translateX(-50%)}
.cursorw .ring i:nth-child(3){top:50%;left:-7px;height:1px;width:5px;transform:translateY(-50%)}
.cursorw .ring i:nth-child(4){top:50%;right:-7px;height:1px;width:5px;transform:translateY(-50%)}
.cursorw.hot .ring{width:52px;height:52px;border-color:var(--orange)}
.cursorw.hot .ring i{opacity:1}

/* curtain */
.curtain{position:fixed;inset:0;z-index:400;pointer-events:none;display:flex}
.curtain i{flex:1;background:var(--navy);transform:translateX(var(--from,-101%));transition:transform .42s var(--ease-hard)}
.curtain i:last-child{--from:101%;border-left:2px solid var(--orange)}
.curtain.cover i{transform:none}
@media (prefers-reduced-motion:reduce){.curtain i{transition:none}}

/* footer */
footer.site{border-top:1px solid var(--line);padding:60px 0 44px;background:#030B18}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px}
.disclosure{font-size:12.5px;color:var(--gray);max-width:420px;line-height:1.7;margin-top:16px}
.foot-col h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;font-weight:500}
.foot-col ul{list-style:none;display:grid;gap:9px}
.foot-col a{color:var(--gray);font-size:13.5px;transition:color var(--dur-fast) linear}
.foot-col a:hover{color:var(--orange)}
.foot-base{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* responsive */
@media (max-width:1024px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:680px){
  .nav-links{display:none}
  .menu-btn{display:block}
  .foot-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .navov-links a{grid-template-columns:38px 1fr;gap:14px;font-size:clamp(24px,8vw,38px)}
}
