/* Flight Challenge + Flight Community shared theme */
[hidden]{display:none !important;}
  :root{
    --bg:#060A14;
    --panel:#0C1222;
    --panel2:#101830;
    --line:#1E2842;
    --red:#FF2A3D;
    --red-d:#d81f31;
    --cyan:#4FB3D9;
    --text:#F4F6FB;
    --muted:#8A93AB;
    --max:1120px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;background:var(--bg);color:var(--text);
    font-family:'Barlow',system-ui,sans-serif;line-height:1.5;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  h1,h2,h3{
    font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;
    font-weight:900;margin:0;line-height:.9;letter-spacing:-.005em;
  }
  a{color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}
  .label{
    display:flex;align-items:center;gap:10px;margin:0 0 18px;
    font-weight:700;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);
  }
  .label::before{content:"";width:3px;height:14px;background:var(--red);}
  .mono{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;}
  .red{color:var(--red);}

  /* ---------- HEADER ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(6,10,20,.9);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .bar{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px;}
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
  .brand img{width:50px;height:50px;object-fit:contain;}
  .brand span{
    font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;
    font-size:1.5rem;letter-spacing:.01em;font-style:italic;
  }
  .brand b{color:var(--red);}
  .menu{display:flex;gap:26px;}
  .menu a{
    text-decoration:none;font-weight:700;font-size:.72rem;letter-spacing:.16em;
    text-transform:uppercase;color:#C8CEDF;transition:color .15s ease;
  }
  .menu a:hover{color:var(--red);}
  .bar-right{display:flex;align-items:center;gap:18px;}
  .btn-path{
    display:inline-flex;align-items:center;gap:8px;padding:9px 16px;
    border:1.5px solid var(--cyan);color:var(--cyan);text-decoration:none;
    font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
    clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));
    transition:background .15s ease,color .15s ease;
  }
  .btn-path:hover{background:var(--cyan);color:#06101c;}
  .auth{display:flex;align-items:center;gap:14px;}
  .auth a,.auth .who{
    font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
    text-decoration:none;color:var(--text);
  }
  .auth .who{color:var(--muted);}
  .auth a:hover{color:var(--red);}

  /* ---------- BUTTONS ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:10px;padding:13px 22px;
    font-weight:700;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
    text-decoration:none;border:1.5px solid transparent;cursor:pointer;
    font-family:'Barlow',sans-serif;border-radius:2px;
    transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;
  }
  .btn:hover{transform:translateY(-1px);}
  .btn-red{background:var(--red);color:#fff;}
  .btn-red:hover{background:var(--red-d);}
  .btn-line{border-color:#3a4566;color:var(--text);background:transparent;}
  .btn-line:hover{border-color:var(--text);}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;overflow:hidden;min-height:560px;
    background:
      radial-gradient(ellipse 55% 85% at 82% 25%,rgba(255,42,61,.22),transparent 62%),
      linear-gradient(180deg,#0A1124 0%,#060A14 100%);
    border-bottom:1px solid var(--line);
  }
  .beam{
    position:absolute;top:-20%;width:140px;height:140%;pointer-events:none;
    background:linear-gradient(180deg,rgba(255,42,61,.6),rgba(255,42,61,0) 70%);
    filter:blur(22px);transform:rotate(20deg);
  }
  .beam.b1{right:14%;}
  .beam.b2{right:2%;opacity:.55;width:90px;}
  .skyline{position:absolute;left:0;right:0;bottom:0;height:46%;opacity:.9;pointer-events:none;}
  .hero-grid{
    position:relative;z-index:2;display:grid;grid-template-columns:1.05fr 1fr;gap:30px;
    align-items:center;padding:84px 28px 96px;
  }
  .hero h1{font-size:clamp(4rem,9.5vw,8rem);}
  .hero h1 span{display:block;}
  .hero h1 .r{color:var(--red);}
  .hero p.lede{color:#C4CADB;max-width:42ch;margin:26px 0 30px;font-size:1.02rem;}
  .next-up{
    display:none;margin:0 0 26px;padding:12px 16px;border:1px solid var(--line);
    border-left:3px solid var(--red);background:rgba(12,18,34,.8);max-width:46ch;
  }
  .next-up.show{display:block;}
  .next-up .t{font-weight:800;font-size:1.05rem;text-transform:uppercase;letter-spacing:.02em;}
  .next-up .s{color:var(--muted);font-size:.88rem;}
  .hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}
  .hero-art{position:relative;min-height:400px;display:grid;place-items:center;}
  .ghost{
    position:absolute;inset:0;display:grid;place-items:center;
    font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;
    font-size:clamp(8rem,17vw,15rem);line-height:1;color:transparent;
    -webkit-text-stroke:2px rgba(244,246,251,.28);
    user-select:none;
  }
  .hero-art svg{position:relative;width:min(100%,430px);height:auto;filter:drop-shadow(0 0 22px rgba(255,42,61,.35));}
  .trail{animation:flow 6s linear infinite;}
  @keyframes flow{to{stroke-dashoffset:-160;}}
  .hero-foot{
    position:absolute;left:0;right:0;bottom:16px;z-index:2;
  }
  .hero-foot .wrap{display:flex;justify-content:space-between;}
  .hero-foot .mono{color:#cfd5e6;font-size:.66rem;font-weight:500;}

  /* ---------- UPCOMING STRIP ---------- */
  .upcoming{padding:38px 0 30px;border-bottom:1px solid var(--line);background:var(--bg);}
  .up-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
  .up-head .label{margin:0;}
  .arrows{display:flex;gap:8px;}
  .arrows button{
    width:34px;height:34px;border-radius:50%;border:1px solid #3a4566;background:var(--panel);
    color:var(--text);cursor:pointer;font-size:1rem;transition:border-color .15s ease;
  }
  .arrows button:hover{border-color:var(--red);}
  .strip{
    display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
    scrollbar-width:none;padding-bottom:4px;
  }
  .strip::-webkit-scrollbar{display:none;}
  .race{
    flex:0 0 min(300px,78vw);scroll-snap-align:start;position:relative;
    background:linear-gradient(160deg,var(--panel2),var(--panel));
    border:1px solid var(--line);padding:18px 18px 16px;display:flex;flex-direction:column;gap:8px;
    transition:border-color .2s ease,transform .2s ease;
  }
  .race:hover{border-color:var(--red);transform:translateY(-3px);}
  .race .date{
    display:inline-flex;align-items:baseline;gap:8px;width:fit-content;
    background:var(--red);color:#fff;padding:4px 10px;
    font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;
  }
  .race .date b{font-size:1.5rem;line-height:1;}
  .race .date span{font-size:.8rem;letter-spacing:.14em;}
  .race h3{font-size:1.5rem;line-height:1;margin-top:4px;}
  .race .loc{margin:0;color:var(--cyan);font-weight:700;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;}
  .race .desc{
    margin:0;color:#aab2c8;font-size:.9rem;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  }
  .race .go{
    margin-top:auto;padding-top:6px;color:var(--text);text-decoration:none;font-weight:700;
    font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  }
  .race .go:hover{color:var(--red);}
  .race.empty{border-style:dashed;align-items:flex-start;}
  .race.empty h3{color:var(--muted);}

  /* admin tools */
  .admin-box{
    margin-top:30px;border:1px solid var(--line);border-top:3px solid var(--red);
    background:var(--panel);padding:26px;
  }
  .admin-box h3{font-size:1.6rem;margin-bottom:18px;}
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .fld{margin-bottom:14px;}
  .fld label{
    display:block;margin-bottom:6px;font-weight:700;font-size:.68rem;
    letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  }
  .fld input,.fld textarea{
    width:100%;padding:11px 12px;background:var(--bg);border:1px solid var(--line);
    color:var(--text);font-family:'Barlow',sans-serif;font-size:.95rem;border-radius:2px;
  }
  .fld input:focus,.fld textarea:focus{outline:none;border-color:var(--cyan);}
  .fld textarea{min-height:80px;resize:vertical;}
  .msg{padding:10px 12px;margin-bottom:14px;font-size:.9rem;border-left:3px solid;}
  .msg.err{background:rgba(255,42,61,.1);border-color:var(--red);color:#ffb3bb;}
  .msg.ok{background:rgba(79,179,217,.1);border-color:var(--cyan);color:#bfe6f5;}
  .manage{margin-top:26px;border-top:1px solid var(--line);padding-top:18px;}
  .manage-row{
    display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
    padding:12px 0;border-bottom:1px solid var(--line);
  }
  .manage-row:last-child{border-bottom:none;}
  .manage-row b{font-weight:700;}
  .manage-row span{color:var(--muted);font-size:.88rem;}
  .btn-del{border-color:#6b2530;color:#ff7d8a;background:transparent;padding:8px 14px;}
  .btn-del:hover{background:var(--red);color:#fff;border-color:var(--red);}

  /* ---------- FEATURE TRIO ---------- */
  .features{padding:34px 0;border-bottom:1px solid var(--line);}
  .trio{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:12px;}
  .feat{
    position:relative;min-height:280px;overflow:hidden;display:flex;flex-direction:column;
    justify-content:flex-end;padding:22px;border:1px solid var(--line);
    transition:border-color .2s ease;
  }
  .feat:hover{border-color:var(--red);}
  .feat.f1{background:linear-gradient(150deg,#1b1330 0%,#0c1222 55%),radial-gradient(circle at 80% 20%,rgba(255,42,61,.4),transparent 55%);background-blend-mode:normal;}
  .feat.f2{background:linear-gradient(160deg,#0f2338,#0a1020);}
  .feat.f3{background:linear-gradient(160deg,#2a1020,#0a1020);}
  .feat::before{
    content:"";position:absolute;inset:0;
    background:repeating-linear-gradient(115deg,transparent 0 26px,rgba(255,255,255,.035) 26px 27px);
  }
  .feat .bignum{
    position:absolute;top:6px;right:16px;font-family:'Barlow Condensed',sans-serif;font-weight:900;
    font-size:9rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.2);
  }
  .feat .tag{
    position:relative;display:inline-block;width:fit-content;margin-bottom:10px;
    background:var(--red);color:#fff;padding:3px 9px;font-weight:700;font-size:.62rem;
    letter-spacing:.18em;text-transform:uppercase;
  }
  .feat h3{position:relative;font-size:2rem;margin-bottom:8px;}
  .feat p{position:relative;margin:0;color:#c1c8dc;font-size:.92rem;max-width:34ch;}

  /* ---------- COMMUNITY ---------- */
  .community{padding:78px 0;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#080d1b,#060A14);}
  .com-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;}
  .community h2{font-size:clamp(2.8rem,6.4vw,5rem);margin-bottom:22px;}
  .community p{color:#b6bdd1;max-width:46ch;margin:0 0 26px;}
  .logo-stage{
    position:relative;display:grid;place-items:center;min-height:300px;
  }
  .logo-stage::before{
    content:"";position:absolute;width:300px;height:300px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,42,61,.28),transparent 68%);
  }
  .logo-stage img{position:relative;width:210px;height:210px;object-fit:contain;}
  .ring{
    position:absolute;width:280px;height:280px;border-radius:50%;border:1.5px dashed rgba(79,179,217,.45);
    animation:spin 40s linear infinite;
  }
  @keyframes spin{to{transform:rotate(360deg);}}

  /* ---------- GET FLYING ---------- */
  .getflying{padding:78px 0;border-bottom:1px solid var(--line);}
  .gf-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:34px;align-items:end;}
  .getflying h2{font-size:clamp(2.6rem,6vw,4.6rem);}
  .gf-block{border-top:1px solid #3a4566;padding-top:16px;}
  .gf-block .label{margin-bottom:10px;}
  .gf-block h3{font-size:1.5rem;margin-bottom:10px;}
  .gf-block p{margin:0 0 14px;color:#aab2c8;font-size:.92rem;}
  .gf-block a{font-weight:700;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red);text-decoration:none;}
  .gf-block a:hover{color:var(--text);}

  /* ---------- PODIUM + PLAN ---------- */
  .podium-sec,.plan{padding:78px 0;border-bottom:1px solid var(--line);}
  .podium-sec{background:var(--panel);}
  .sec-title{font-size:clamp(2.6rem,6vw,4.4rem);margin-bottom:40px;}
  .podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end;max-width:800px;}
  .step{
    background:var(--bg);border:1px solid var(--line);border-top:4px solid var(--muted);
    padding:20px;display:flex;flex-direction:column;justify-content:space-between;
  }
  .step.p1{height:290px;border-top-color:var(--red);order:2;}
  .step.p2{height:220px;order:1;}
  .step.p3{height:170px;order:3;}
  .step .place{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:4.4rem;line-height:.85;}
  .step.p1 .place{color:var(--red);}
  .step .who{color:var(--muted);}
  .note{color:var(--muted);margin-top:22px;}
  .timeline{display:grid;grid-template-columns:repeat(4,1fr);position:relative;}
  .timeline::before{
    content:"";position:absolute;left:0;right:0;top:11px;height:2px;
    background:repeating-linear-gradient(90deg,var(--red) 0 10px,transparent 10px 20px);
  }
  .wp{position:relative;padding-top:42px;padding-right:20px;}
  .wp::before{
    content:"";position:absolute;left:0;top:0;width:24px;height:24px;background:var(--bg);
    border:3px solid var(--cyan);transform:rotate(45deg) scale(.7);
  }
  .wp .code{color:var(--cyan);margin-bottom:8px;display:block;}
  .wp h3{font-size:1.6rem;margin-bottom:6px;}
  .wp p{margin:0;color:var(--muted);}

  /* ---------- FOOTER ---------- */
  footer{padding:34px 0;color:var(--muted);}
  footer .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
  footer a{text-decoration:none;}
  footer a:hover{color:var(--red);}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:900px){
    .menu{display:none;}
    .brand span{display:none;}
    .bar-right{gap:12px;}
    .hero-grid{grid-template-columns:1fr;padding:56px 28px 90px;}
    .hero-art{min-height:300px;}
    .trio{grid-template-columns:1fr;}
    .com-grid{grid-template-columns:1fr;}
    .gf-grid{grid-template-columns:1fr;align-items:start;}
    .timeline{grid-template-columns:1fr;gap:28px;}
    .timeline::before{left:11px;right:auto;top:0;bottom:0;width:2px;height:auto;
      background:repeating-linear-gradient(180deg,var(--red) 0 10px,transparent 10px 20px);}
    .wp{padding:0 0 0 48px;}
    .grid2{grid-template-columns:1fr;}
    .podium-sec,.plan,.community,.getflying{padding:56px 0;}
  }
  @media (prefers-reduced-motion:reduce){
    .trail,.ring{animation:none;}
    html{scroll-behavior:auto;}
  }

/* closed / disabled states */
.off-banner{
  background:rgba(255,42,61,.12);border-bottom:1px solid var(--red);color:#ffc9cf;
  text-align:center;padding:10px 20px;font-size:.85rem;font-weight:600;
}
.closed{min-height:62vh;display:grid;place-items:center;text-align:center;padding:90px 28px;
  background:radial-gradient(ellipse 50% 70% at 50% 0%,rgba(255,42,61,.16),transparent 62%),var(--bg);}
.closed h1{font-size:clamp(3.2rem,10vw,7.5rem);margin-bottom:18px;}
.closed p.sub{color:#b6bdd1;max-width:46ch;margin:0 auto;}
.closed .label{justify-content:center;}
.mesh{animation:flow 6s linear infinite;}
@media (prefers-reduced-motion:reduce){.mesh{animation:none;}}
