:root{
    --ink:#0B0F14;
    --ink-2:#12181F;
    --cirrus:#E9EDF2;
    --titanium:#8B95A1;
    --brass:#B08D57;
    --signal:#4A8C93;
    --line: rgba(233,237,242,0.12);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--ink);
    color:var(--cirrus);
    font-family:'Manrope', sans-serif;
    font-size:16px;
    line-height:1.6;
    overflow-x:hidden;
  }
  a{color:inherit; text-decoration:none;}
  .serif{font-family:'Newsreader', serif;}
  .mono{font-family:'IBM Plex Mono', monospace;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 28px;}

  /* NAV */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(11,15,20,0.82);
    backdrop-filter: blur(10px);
    border-bottom:1px solid var(--line);
  }
  nav{display:flex; align-items:center; justify-content:space-between; padding:18px 28px; max-width:1180px; margin:0 auto;}
  .brand{font-family:'Newsreader', serif; font-size:1.3rem; letter-spacing:0.02em; font-weight:500;}
  .brand span{color:var(--brass);}
  .nav-links{display:flex; gap:32px; font-size:0.88rem; letter-spacing:0.03em; text-transform:uppercase;}
  .nav-links a{color:var(--titanium); transition:color .2s;}
  .nav-links a:hover{color:var(--cirrus);}
  .nav-cta{
    border:1px solid var(--brass); color:var(--brass); padding:9px 18px;
    font-size:0.82rem; letter-spacing:0.05em; text-transform:uppercase; border-radius:2px;
    transition: all .2s;
  }
  .nav-cta:hover{background:var(--brass); color:var(--ink);}
  .menu-toggle{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; z-index:101; position:relative;}
  .menu-toggle span{width:22px; height:1.5px; background:var(--cirrus); transition:transform .25s ease, opacity .25s ease;}
  .menu-toggle.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .menu-toggle.is-open span:nth-child(2){opacity:0;}
  .menu-toggle.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

  .mobile-menu{
    display:none; flex-direction:column; max-height:0; overflow:hidden;
    background:var(--ink-2); border-bottom:1px solid var(--line);
    transition:max-height .3s ease;
  }
  .mobile-menu.open{max-height:400px;}
  .mobile-menu a{
    padding:16px 28px; border-top:1px solid var(--line); font-size:0.95rem;
    color:var(--cirrus); text-transform:uppercase; letter-spacing:0.03em;
  }
  .mobile-menu .mobile-cta{color:var(--brass);}

  /* HERO */
  .hero{
    min-height:100vh;
    display:flex; flex-direction:column; justify-content:center;
    padding:140px 28px 60px;
    position:relative;
    background:
      radial-gradient(ellipse 80% 50% at 50% -10%, rgba(74,140,147,0.18), transparent),
      linear-gradient(180deg, var(--ink) 0%, var(--ink-2) 100%);
  }
  .hero-eyebrow{
    font-family:'IBM Plex Mono', monospace; font-size:0.78rem; letter-spacing:0.15em;
    color:var(--brass); text-transform:uppercase; margin-bottom:22px;
  }
  .hero h1{
    font-family:'Newsreader', serif; font-weight:500; font-size:clamp(2.6rem, 6.5vw, 5.2rem);
    line-height:1.04; letter-spacing:-0.01em; max-width:900px;
  }
  .hero h1 em{font-style:italic; color:var(--brass);}
  .hero p.lede{
    max-width:520px; margin-top:26px; color:var(--titanium); font-size:1.08rem;
  }
  .hero-actions{display:flex; gap:16px; margin-top:38px; flex-wrap:wrap;}
  .btn-primary{
    background:var(--brass); color:var(--ink); padding:14px 26px; font-size:0.9rem;
    letter-spacing:0.03em; text-transform:uppercase; font-weight:600; border-radius:2px;
    transition: transform .2s ease;
  }
  .btn-primary:hover{transform:translateY(-2px);}
  .btn-ghost{
    border:1px solid var(--line); color:var(--cirrus); padding:14px 26px; font-size:0.9rem;
    letter-spacing:0.03em; text-transform:uppercase; border-radius:2px; transition:border-color .2s;
  }
  .btn-ghost:hover{border-color:var(--titanium);}

  /* INSTRUMENT STRIP — signature element */
  .instrument{
    margin-top:64px; border:1px solid var(--line); border-radius:4px;
    background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);
    padding:0; display:grid; grid-template-columns:repeat(4, 1fr); overflow:hidden;
  }
  .instrument .cell{
    padding:20px 22px; border-right:1px solid var(--line);
  }
  .instrument .cell:last-child{border-right:none;}
  .instrument .label{
    font-family:'IBM Plex Mono', monospace; font-size:0.68rem; letter-spacing:0.12em;
    color:var(--titanium); text-transform:uppercase; margin-bottom:8px;
  }
  .instrument .value{
    font-family:'IBM Plex Mono', monospace; font-size:1.5rem; color:var(--signal); font-weight:500;
    font-variant-numeric: tabular-nums;
  }
  .instrument .value .unit{font-size:0.85rem; color:var(--titanium); margin-left:4px;}
  @keyframes blink{ 50%{ opacity:0.35; } }
  .live-dot{display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--signal); margin-right:8px; animation:blink 1.6s infinite;}

  /* SECTION shared */
  section{padding:110px 0;}
  .section-head{max-width:640px; margin-bottom:56px;}
  .eyebrow{
    font-family:'IBM Plex Mono', monospace; font-size:0.75rem; letter-spacing:0.14em;
    text-transform:uppercase; color:var(--brass); margin-bottom:16px;
  }
  h2{font-family:'Newsreader', serif; font-weight:500; font-size:clamp(1.9rem, 3.6vw, 2.8rem); line-height:1.15;}
  .section-head p{color:var(--titanium); margin-top:16px; font-size:1.02rem;}

  /* FLEET */
  .fleet-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .fleet-card{background:var(--ink); padding:36px; transition:background .25s;}
  .fleet-card:hover{background:var(--ink-2);}
  .fleet-index{font-family:'IBM Plex Mono', monospace; color:var(--titanium); font-size:0.8rem; margin-bottom:14px;}
  .fleet-card h3{font-family:'Newsreader', serif; font-size:1.5rem; font-weight:500; margin-bottom:10px;}
  .fleet-card .range{color:var(--brass); font-family:'IBM Plex Mono', monospace; font-size:0.82rem; margin-bottom:14px;}
  .fleet-card p{color:var(--titanium); font-size:0.95rem;}
  .fleet-card .models{margin-top:16px; font-size:0.85rem; color:var(--titanium); border-top:1px solid var(--line); padding-top:14px;}

  /* PROGRAM / HOW IT WORKS */
  .steps{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}
  .step .num{font-family:'IBM Plex Mono', monospace; color:var(--signal); font-size:0.85rem; margin-bottom:14px;}
  .step h3{font-family:'Newsreader', serif; font-size:1.3rem; font-weight:500; margin-bottom:10px;}
  .step p{color:var(--titanium); font-size:0.95rem;}

  /* MEMBERSHIP */
  .tiers{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .tier{background:var(--ink); padding:38px 32px;}
  .tier.featured{background:var(--ink-2); position:relative;}
  .tier.featured::before{
    content:'RECOMMENDED'; position:absolute; top:0; left:0; right:0;
    font-family:'IBM Plex Mono', monospace; font-size:0.65rem; letter-spacing:0.14em;
    text-align:center; background:var(--brass); color:var(--ink); padding:6px 0;
  }
  .tier.featured{padding-top:60px;}
  .tier .tier-name{font-family:'Newsreader', serif; font-size:1.4rem; margin-bottom:6px;}
  .tier .tier-sub{color:var(--titanium); font-size:0.85rem; margin-bottom:24px;}
  .tier ul{list-style:none;}
  .tier li{
    font-size:0.9rem; color:var(--cirrus); padding:10px 0; border-top:1px solid var(--line);
  }
  .tier li:first-child{border-top:none;}
  .tier li::before{content:'—'; color:var(--brass); margin-right:8px;}

/* ROUTE PLANNER */
.route-planner{border:1px solid var(--line); border-radius:4px; padding:32px; background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);}
.route-controls{display:grid; grid-template-columns:1fr 1fr auto; gap:16px; align-items:end; margin-bottom:28px;}
.route-controls label{
  display:block; font-family:'IBM Plex Mono', monospace; font-size:0.7rem; letter-spacing:0.1em;
  text-transform:uppercase; color:var(--titanium); margin-bottom:8px;
}
.route-controls input{
  width:100%; background:var(--ink-2); border:1px solid var(--line); color:var(--cirrus);
  padding:13px 14px; font-family:'IBM Plex Mono', monospace; font-size:0.9rem; border-radius:2px;
}
.route-controls input:focus{outline:none; border-color:var(--brass);}
.route-controls button{border:none; cursor:pointer; white-space:nowrap;}
.route-readout{
  display:none; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:4px;
  margin-bottom:24px; overflow:hidden;
}
.route-readout.show{display:grid;}
.route-readout .cell{padding:18px 20px; border-right:1px solid var(--line);}
.route-readout .cell:last-child{border-right:none;}
.route-readout .label{
  font-family:'IBM Plex Mono', monospace; font-size:0.65rem; letter-spacing:0.1em;
  color:var(--titanium); text-transform:uppercase; margin-bottom:6px;
}
.route-readout .value{
  font-family:'IBM Plex Mono', monospace; font-size:1.3rem; color:var(--signal); font-weight:500;
}
.route-readout .value .unit{font-size:0.8rem; color:var(--titanium); margin-left:4px;}
.route-map-wrap{border:1px solid var(--line); border-radius:4px; background:var(--ink-2); margin-bottom:24px;}
#routeMap{width:100%; height:auto; display:block;}
.airport-dot{fill:var(--titanium); opacity:0.55;}
.airport-dot.active{fill:var(--brass); opacity:1;}
.airport-label{font-family:'IBM Plex Mono', monospace; font-size:9px; fill:var(--titanium); opacity:0.7;}
.route-line{stroke:var(--brass); stroke-width:1.6; stroke-dasharray:4 3; fill:none;}
.grid-line{stroke:var(--line); stroke-width:1;}

@media (max-width:860px){
  .route-controls{grid-template-columns:1fr;}
  .route-readout{grid-template-columns:1fr;}
  .route-readout .cell{border-right:none; border-bottom:1px solid var(--line);}
  .route-readout .cell:last-child{border-bottom:none;}
}

  /* SAFETY / CERTS */
  .certs-band{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--ink-2);}
  .certs-row{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line);}
  .cert{background:var(--ink-2); padding:32px 28px; text-align:center;}
  .cert .cert-mark{
    font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.1em; color:var(--brass);
    text-transform:uppercase; margin-bottom:10px;
  }
  .cert .cert-name{font-family:'Newsreader', serif; font-size:1.05rem; margin-bottom:6px;}
  .cert .cert-sub{color:var(--titanium); font-size:0.82rem;}

  /* SPEC TABLE inside fleet cards */
  .spec-row{display:flex; justify-content:space-between; font-size:0.82rem; padding:6px 0; color:var(--titanium); border-top:1px solid var(--line);}
  .spec-row span:last-child{color:var(--cirrus); font-family:'IBM Plex Mono', monospace;}
  .spec-table{margin-top:14px;}

  /* TESTIMONIALS */
  .testimonial-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .testimonial{background:var(--ink); padding:34px 30px;}
  .testimonial .quote-mark{font-family:'Newsreader', serif; font-size:2.4rem; color:var(--brass); line-height:1; margin-bottom:10px;}
  .testimonial p.quote{font-family:'Newsreader', serif; font-style:italic; font-size:1.05rem; color:var(--cirrus); margin-bottom:20px;}
  .testimonial .attribution{font-size:0.8rem; color:var(--titanium); font-family:'IBM Plex Mono', monospace;}

  /* FAQ */
  .faq-item{border-top:1px solid var(--line);}
  .faq-item:last-child{border-bottom:1px solid var(--line);}
  .faq-q{
    display:flex; justify-content:space-between; align-items:center; padding:24px 0;
    cursor:pointer; font-family:'Newsreader', serif; font-size:1.1rem;
  }
  .faq-q .plus{font-family:'IBM Plex Mono', monospace; color:var(--brass); font-size:1.2rem; transition:transform .2s;}
  .faq-item.open .faq-q .plus{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .faq-a p{color:var(--titanium); font-size:0.95rem; padding-bottom:24px; max-width:640px;}
  .faq-item.open .faq-a{max-height:200px;}

  /* QUOTE FORM */
  .quote-form{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:10px;}
  .quote-form .full{grid-column:1 / -1;}
  .quote-form label{
    display:block; font-family:'IBM Plex Mono', monospace; font-size:0.7rem; letter-spacing:0.1em;
    text-transform:uppercase; color:var(--titanium); margin-bottom:8px;
  }
  .quote-form input, .quote-form select, .quote-form textarea{
    width:100%; background:var(--ink-2); border:1px solid var(--line); color:var(--cirrus);
    padding:13px 14px; font-family:'Manrope', sans-serif; font-size:0.95rem; border-radius:2px;
  }
  .quote-form input:focus, .quote-form select:focus, .quote-form textarea:focus{
    outline:none; border-color:var(--brass);
  }
  .quote-form textarea{resize:vertical; min-height:90px;}
  .form-note{margin-top:20px; color:var(--titanium); font-size:0.82rem;}
  .form-success{
    display:none; border:1px solid var(--signal); background:rgba(74,140,147,0.08);
    padding:20px; border-radius:2px; margin-top:20px; font-family:'IBM Plex Mono', monospace; font-size:0.88rem;
  }
  .form-success.show{display:block;}

  /* CTA BAND */
  .cta-band{
    background:var(--ink-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    text-align:center; padding:100px 28px;
  }
  .cta-band h2{max-width:640px; margin:0 auto 28px;}

  /* FOOTER */
  footer{padding:70px 0 40px; border-top:1px solid var(--line);}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px;}
  footer h4{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--titanium); margin-bottom:16px;}
  footer .foot-brand{font-family:'Newsreader', serif; font-size:1.4rem; margin-bottom:14px;}
  footer p, footer a{color:var(--titanium); font-size:0.9rem;}
  footer ul{list-style:none;}
  footer li{margin-bottom:10px;}
  footer a:hover{color:var(--cirrus);}
  .foot-bottom{
    margin-top:60px; padding-top:24px; border-top:1px solid var(--line);
    display:flex; justify-content:space-between; color:var(--titanium); font-size:0.8rem; flex-wrap:wrap; gap:10px;
  }

  @media (max-width:860px){
    .nav-links, .nav-cta{display:none;}
    .menu-toggle{display:flex;}
    .mobile-menu{display:flex;}
    .instrument{grid-template-columns:repeat(2,1fr);}
    .instrument .cell:nth-child(2){border-right:none;}
    .fleet-grid{grid-template-columns:1fr;}
    .steps{grid-template-columns:1fr; gap:44px;}
    .tiers{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr; gap:32px;}
    .route-row{font-size:0.8rem;}
    .certs-row{grid-template-columns:repeat(2,1fr);}
    .testimonial-grid{grid-template-columns:1fr;}
    .quote-form{grid-template-columns:1fr;}
  }
