:root{
    --slate:#22103D;--slate-deep:#150826;--sand:#EFEAE0;--paper:#F7F4EE;--copper:#C6A76A;--copper-light:#D9BF87;--violet:#8F80E6;--mist:#9A93A8;--ink:#1C1626;
    --serif:'Bodoni Moda',Didot,'Times New Roman',serif;--sans:'Jost',system-ui,sans-serif;--max:1280px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:0}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,4vw,56px)}
  :focus-visible{outline:2px solid var(--copper);outline-offset:4px}

  header{position:fixed;inset:0 0 auto 0;z-index:20;padding:24px 0;color:var(--sand);transition:.4s}
  header.scrolled{background:rgba(21,8,38,.92);backdrop-filter:blur(10px);padding:14px 0}
  header .wrap{display:flex;align-items:center;justify-content:space-between}
  .brand img{height:46px;width:auto;display:block;transition:height .4s}
  header.scrolled .brand img{height:36px}
  nav ul{display:flex;gap:34px;list-style:none;font-size:13px;letter-spacing:.05em}
  nav a{opacity:.85;border-bottom:1px solid transparent;padding:6px 0}
  nav a:hover{opacity:1;border-color:var(--copper)}
  .nav-cta{border:1px solid rgba(235,228,214,.45);padding:10px 22px;border-radius:2px}
  .nav-cta:hover{background:var(--sand);color:var(--slate)}
  .menu-btn{display:none;background:none;border:0;color:inherit;font:inherit;font-size:13px;letter-spacing:.08em;cursor:pointer}

  /* Hero with animated flight routes */
  .hero{position:relative;min-height:100vh;background:radial-gradient(120% 90% at 70% 10%,#35205A 0%,var(--slate) 45%,var(--slate-deep) 100%);color:var(--sand);display:flex;align-items:center;overflow:hidden}
  .hero svg{position:absolute;inset:0;width:100%;height:100%}
  .routes path{fill:none;stroke:var(--violet);stroke-width:1.2;stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 5s ease-out forwards}
  .routes path:nth-child(2){animation-delay:.6s}.routes path:nth-child(3){animation-delay:1.2s}.routes path:nth-child(4){animation-delay:1.8s}.routes path:nth-child(5){animation-delay:2.4s}
  @keyframes draw{to{stroke-dashoffset:0}}
  .cities circle{fill:var(--sand);opacity:0;animation:pop .8s ease forwards}
  .cities circle:nth-child(n+1){animation-delay:.4s}.cities circle:nth-child(n+3){animation-delay:1.2s}.cities circle:nth-child(n+5){animation-delay:2s}
  @keyframes pop{to{opacity:.9}}
  .cities text{fill:var(--mist);font-family:var(--sans);font-size:11px;letter-spacing:.2em;opacity:0;animation:pop 1s 2.6s ease forwards}
  .hero .wrap{position:relative;z-index:2;padding-top:120px;padding-bottom:100px}
  .hero h1{font-size:clamp(46px,7.2vw,108px);max-width:14ch;opacity:0;animation:rise 1.4s .6s ease forwards}
  .hero h1 em{font-style:italic;color:var(--violet)}
  .hero p{max-width:460px;margin-top:32px;font-size:17px;line-height:1.7;color:#CFC8D6;opacity:0;animation:rise 1.4s 1.1s ease forwards}
  .hero .cta{display:inline-flex;gap:28px;margin-top:40px;opacity:0;animation:rise 1.4s 1.5s ease forwards;font-size:14px;letter-spacing:.05em}
  .hero .cta a{border-bottom:1px solid var(--copper);padding-bottom:4px}
  @keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

  section{padding:clamp(72px,10vw,140px) 0}
  .eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--copper);margin-bottom:18px}
  .lede{font-family:var(--serif);font-size:clamp(26px,3vw,42px);max-width:22ch;line-height:1.2;margin-bottom:48px}

  /* Two divisions */
  .divisions{background:var(--sand)}
  .split{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(27,42,58,.15);margin-top:16px}
  .split article{background:var(--sand);padding:clamp(32px,4vw,56px) clamp(24px,3vw,48px)}
  .split h3{font-size:clamp(32px,3.5vw,48px);margin-bottom:16px}
  .split h3 em{font-style:italic;color:#4F3FB8}
  .split p{max-width:44ch;color:#463C55;margin-bottom:24px}
  .split ul{list-style:none;border-top:1px solid rgba(27,42,58,.2)}
  .split li{padding:14px 0;border-bottom:1px solid rgba(27,42,58,.12);display:grid;grid-template-columns:150px 1fr;gap:16px;font-size:15px}
  .split li b{font-weight:500;color:var(--slate)}

  /* Process */
  .process{background:var(--slate);color:var(--sand)}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,48px);counter-reset:step;margin-top:8px}
  .steps div{border-top:1px solid rgba(235,228,214,.25);padding-top:24px}
  .steps div::before{counter-increment:step;content:"0" counter(step);font-family:var(--serif);font-size:44px;color:var(--copper-light);display:block;margin-bottom:14px;line-height:1}
  .steps h3{font-size:24px;margin-bottom:10px}
  .steps p{font-size:15px;line-height:1.7;color:#C2BAD0}

  /* Standards */
  .standards .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}
  .standards article{padding-top:22px;border-top:1px solid rgba(27,42,58,.25)}
  .standards h3{font-size:26px;margin-bottom:10px}
  .standards p{font-size:15px;color:#463C55;line-height:1.7}

  /* Membership */
  .membership{background:var(--sand)}
  .tiers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-top:8px}
  .tier{background:var(--paper);padding:40px 34px;border:1px solid rgba(27,42,58,.12);display:flex;flex-direction:column}
  .tier.featured{background:var(--slate);color:var(--sand);border-color:var(--slate)}
  .tier h3{font-size:30px;margin-bottom:6px}
  .tier .for{font-size:13px;letter-spacing:.05em;color:var(--copper);margin-bottom:24px}
  .tier ul{list-style:none;font-size:15px;line-height:1.7;flex:1}
  .tier li{padding:8px 0;border-top:1px solid rgba(27,42,58,.12)}
  .tier.featured li{border-color:rgba(235,228,214,.2)}
  .tier a{display:inline-block;margin-top:28px;font-size:13px;letter-spacing:.06em;border-bottom:1px solid var(--copper);padding-bottom:3px;align-self:flex-start}

  /* Contact */
  .contact{background:var(--slate-deep);color:var(--sand)}
  .contact .two{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,7vw,110px)}
  .contact h2{font-size:clamp(40px,5.5vw,76px);margin-bottom:20px}
  .contact .two>div>p{color:#C2BAD0;max-width:420px;margin-bottom:30px}
  .detail{font-size:14px;line-height:2.1;color:#C2BAD0}
  .detail a{border-bottom:1px solid rgba(192,132,87,.6);color:var(--sand)}
  form{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .field{display:flex;flex-direction:column;gap:8px}
  .field.full{grid-column:1/-1}
  label{font-size:13px;letter-spacing:.04em;color:#C2BAD0}
  input,select,textarea{font:inherit;font-size:15px;color:var(--sand);background:transparent;border:0;border-bottom:1px solid rgba(235,228,214,.3);padding:10px 0;border-radius:0;outline:0}
  select option{color:var(--ink)}
  input:focus,select:focus,textarea:focus{border-color:var(--copper)}
  textarea{resize:vertical;min-height:96px}
  .submit{grid-column:1/-1;justify-self:start;background:var(--copper);color:var(--slate-deep);border:0;padding:16px 36px;font:inherit;font-weight:500;font-size:14px;letter-spacing:.06em;cursor:pointer;border-radius:2px}
  .submit:hover{background:var(--copper-light)}
  .submit:disabled{opacity:.6;cursor:wait}
  .note{grid-column:1/-1;font-size:14px;color:var(--copper-light);min-height:1.5em}
  .hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}

  /* Network */
  .network{background:var(--paper)}
  .network-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(32px,6vw,96px);align-items:start}
  .network-grid>div>p{color:#463C55;max-width:46ch}
  .network-stat{margin-top:40px;padding-top:24px;border-top:1px solid rgba(34,16,61,.2)}
  .network-stat strong{display:block;font-family:var(--serif);font-weight:400;font-size:64px;line-height:1;color:var(--slate)}
  .network-stat span{font-size:13px;letter-spacing:.05em;color:var(--mist)}
  .fbo-list{list-style:none;columns:2;column-gap:40px;border-top:1px solid rgba(34,16,61,.2)}
  .fbo-list li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid rgba(34,16,61,.1);font-size:14px;break-inside:avoid}
  .fbo-list b{font-weight:500;color:var(--copper);font-variant-numeric:tabular-nums}

  /* About */
  .hero-short{min-height:64vh}
  .hero-short .wrap{padding-top:160px;padding-bottom:80px}
  .hero-short .eyebrow{opacity:0;animation:rise 1s .3s ease forwards}
  .story{background:var(--paper)}
  .story-grid{display:grid;grid-template-columns:1fr 2fr;gap:clamp(32px,6vw,110px);align-items:start}
  .story-aside{position:sticky;top:120px;display:grid;gap:28px}
  .fact{border-top:1px solid rgba(34,16,61,.2);padding-top:18px}
  .fact strong{display:block;font-family:var(--serif);font-weight:400;font-size:36px;line-height:1.1;color:var(--slate)}
  .fact span{font-size:13px;letter-spacing:.04em;color:var(--mist)}
  .story-text h2{font-size:clamp(30px,3.2vw,44px);margin:40px 0 18px}
  .story-text h2:first-child{margin-top:0}
  .story-text p{color:#463C55;max-width:62ch;margin-bottom:18px;font-size:16.5px;line-height:1.75}
  .story-cta{display:inline-block;margin-top:24px;border-bottom:1px solid var(--copper);padding-bottom:4px;font-size:14px;letter-spacing:.05em;color:var(--slate)}

  .offices{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:16px;margin-top:48px;padding-top:28px;border-top:1px solid rgba(235,228,214,.2)}
  .offices li{font-size:14px}
  .offices b{display:block;font-family:var(--serif);font-weight:400;font-size:22px;margin-bottom:2px}
  .offices span{font-size:12px;letter-spacing:.04em;color:#9A93A8}
  .story .offices{border-color:rgba(34,16,61,.2);margin-top:8px;grid-template-columns:repeat(4,1fr)}
  .story .offices span{color:var(--mist)}

  /* Crimson Series */
  .crimson{background:#160A26;color:var(--sand);position:relative;overflow:hidden}
  .crimson::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 85% 20%,rgba(138,28,43,.55),transparent 70%)}
  .crimson .wrap{position:relative}
  .eyebrow-red{color:#D9646F}
  .crimson-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:end;margin-bottom:56px}
  .crimson h2{font-size:clamp(44px,6vw,84px)}
  .crimson h2 em{font-style:italic;color:#C43B4B}
  .crimson-head p{color:#C2BAD0;max-width:48ch;font-size:17px}
  .crimson-hero{margin:0 0 56px;position:relative;overflow:hidden;aspect-ratio:16/8;background:#0E0618}
  .crimson-hero img{width:100%;height:100%;object-fit:cover;display:block}
  .crimson-hero figcaption{position:absolute;left:24px;bottom:18px;font-size:12px;letter-spacing:.08em;color:var(--sand);opacity:.8}
  .fleet{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(235,228,214,.12)}
  .fleet article{background:#160A26;padding:36px 32px 40px}
  .fleet-no{font-family:var(--serif);font-size:44px;color:#C43B4B;line-height:1;margin-bottom:22px}
  .fleet h3{font-size:28px;margin-bottom:12px}
  .fleet p{font-size:15px;line-height:1.7;color:#C2BAD0}
  .crimson-terms{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;margin-top:40px;font-size:15px;color:#C2BAD0}
  .crimson-terms li{padding-left:22px;position:relative}
  .crimson-terms li::before{content:"";position:absolute;left:0;top:.75em;width:10px;height:1px;background:#C43B4B}
  .crimson-cta{display:inline-block;margin-top:40px;border:1px solid #C43B4B;color:var(--sand);padding:14px 30px;font-size:13px;letter-spacing:.08em;border-radius:2px}
  .crimson-cta:hover{background:#C43B4B}
  .portal-link{color:var(--copper-light)}

  footer{background:var(--slate-deep);color:#9A93A8;padding:40px 0;border-top:1px solid rgba(235,228,214,.12);font-size:13px}
  footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
  footer ul{display:flex;gap:26px;list-style:none}

  @media (max-width:960px){
    nav ul{display:none}.menu-btn{display:block}
    nav.open ul{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--slate-deep);padding:24px clamp(20px,4vw,56px) 32px;gap:18px}
    .split,.steps,.standards .grid,.tiers,.contact .two{grid-template-columns:1fr}
    .crimson-head,.fleet,.crimson-terms{grid-template-columns:1fr}
    .network-grid,.story-grid{grid-template-columns:1fr}
    .offices,.story .offices{grid-template-columns:1fr 1fr}
    .fbo-list{columns:1}
    .story-aside{position:static;grid-template-columns:1fr 1fr 1fr}
    .steps{gap:36px}
    .cities text{display:none}
  }
  @media (max-width:600px){form{grid-template-columns:1fr}.split li{grid-template-columns:1fr;gap:4px}}
  @media (prefers-reduced-motion:reduce){.routes path,.cities circle,.cities text,.hero h1,.hero p,.hero .cta{animation:none;opacity:1;stroke-dashoffset:0;transform:none}}
