:root{
  --basalt:#1A1D22;
  --granite:#2C2F36;
  --line:#6B7863;
  --wing:#FF4B23;
  --sand:#D9CBA3;
  --white:#F5F3EE;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--basalt);color:var(--white);font-family:'Work Sans',sans-serif;line-height:1.55;}
h1,h2,h3{font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;}
.mono{font-family:'IBM Plex Mono',monospace;}
a{color:inherit;text-decoration:none;}
.container{max-width:1180px;margin:0 auto;padding:0 32px;}

header{position:sticky;top:0;background:rgba(26,29,34,0.9);backdrop-filter:blur(6px);border-bottom:1px solid #33373f;z-index:10;}
.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;max-width:1180px;margin:0 auto;}
.logo{font-family:'Big Shoulders Display';font-weight:800;font-size:24px;letter-spacing:1px;}
.logo span{color:var(--wing);}
.nav-links{display:flex;gap:30px;font-size:14px;font-family:'IBM Plex Mono';text-transform:uppercase;letter-spacing:1px;color:#AEB4BE;}
.nav-links a:hover, .nav-links a.active{color:var(--wing);}
.nav-cta{border:1px solid var(--wing);color:var(--wing);padding:9px 18px;font-size:13px;font-family:'IBM Plex Mono';text-transform:uppercase;letter-spacing:1px;}
.nav-cta:hover{background:var(--wing);color:var(--basalt);}

.hero{position:relative;padding:110px 32px 70px;overflow:hidden;border-bottom:1px solid #33373f;}
.contour{position:absolute;inset:0;opacity:0.35;pointer-events:none;}
.hero-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;}
.coord{font-family:'IBM Plex Mono';font-size:13px;color:var(--line);letter-spacing:2px;text-transform:uppercase;margin-bottom:22px;display:flex;gap:24px;flex-wrap:wrap;}
.coord span{color:var(--sand);}
.hero-title{display:flex;align-items:flex-end;gap:28px;flex-wrap:wrap;}
.elevation{font-size:clamp(80px,14vw,190px);font-weight:800;line-height:0.8;color:var(--white);letter-spacing:-3px;}
.elevation sup{font-size:0.3em;color:var(--wing);}
.hero h1{font-size:clamp(24px,3.5vw,36px);font-weight:600;max-width:420px;line-height:1.05;color:var(--sand);padding-bottom:14px;text-transform:none;}
.hero p{max-width:600px;margin-top:28px;color:#C4C9D0;font-size:17px;font-family:'Work Sans';}
.hero-ctas{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap;}
.btn-primary{background:var(--wing);color:var(--basalt);padding:17px 32px;font-weight:600;font-family:'IBM Plex Mono';font-size:13px;text-transform:uppercase;letter-spacing:1px;border:none;cursor:pointer;display:inline-block;}
.btn-primary:hover{background:#ff6a45;}
.btn-secondary{border:1px solid #4A4F58;color:var(--white);padding:17px 32px;font-family:'IBM Plex Mono';font-size:13px;text-transform:uppercase;letter-spacing:1px;display:inline-block;}
.btn-secondary:hover{border-color:var(--wing);color:var(--wing);}

.page-hero{padding:70px 32px;border-bottom:1px solid #33373f;}
.page-hero .tag{font-family:'IBM Plex Mono';color:var(--line);font-size:13px;text-transform:uppercase;letter-spacing:2px;}
.page-hero h1{font-size:clamp(34px,5vw,58px);margin-top:10px;}
.page-hero p{max-width:600px;margin-top:16px;color:#C4C9D0;font-size:17px;text-transform:none;font-family:'Work Sans';}

.ticker{background:var(--wing);color:var(--basalt);padding:12px 0;overflow:hidden;white-space:nowrap;font-family:'IBM Plex Mono';font-size:13px;font-weight:500;letter-spacing:1px;}
.ticker span{padding:0 30px;text-transform:uppercase;}

section{padding:90px 32px;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;max-width:1180px;margin:0 auto 60px;flex-wrap:wrap;gap:20px;border-bottom:1px solid #33373f;padding-bottom:30px;}
.section-head .tag{font-family:'IBM Plex Mono';color:var(--line);font-size:13px;text-transform:uppercase;letter-spacing:2px;}
.section-head h2{font-size:clamp(30px,4vw,50px);margin-top:8px;color:var(--white);}
.section-head p{max-width:340px;color:#9AA0AC;font-size:15px;}

.courses{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#33373f;border:1px solid #33373f;}
.course-card{background:var(--basalt);padding:40px 32px;}
.course-card .idx{font-family:'IBM Plex Mono';color:var(--line);font-size:13px;}
.course-card h3{font-size:30px;margin:16px 0 12px;color:var(--white);}
.course-card p{color:#9AA0AC;font-size:15px;margin-bottom:20px;text-transform:none;font-family:'Work Sans';}
.course-card ul{list-style:none;margin-bottom:24px;font-family:'IBM Plex Mono';font-size:12px;color:var(--sand);}
.course-card ul li{padding:5px 0;border-top:1px solid #33373f;}
.course-card ul li:first-child{border-top:none;}
.course-card .stats-line{display:flex;gap:20px;font-family:'IBM Plex Mono';font-size:12px;color:var(--sand);border-top:1px solid #33373f;padding-top:16px;}

.gear-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#33373f;border:1px solid #33373f;}
.gear-card{background:var(--basalt);}
.gear-img{height:140px;background:var(--granite);display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono';font-size:13px;color:var(--line);letter-spacing:1px;border-bottom:1px solid #33373f;}
.gear-body{padding:26px 28px;}
.gear-body h3{font-size:24px;color:var(--white);}
.gear-body .price{font-family:'IBM Plex Mono';color:var(--wing);font-size:14px;margin:10px 0;}
.gear-body p{color:#9AA0AC;font-size:14px;margin-bottom:16px;text-transform:none;font-family:'Work Sans';}
.gear-body a{font-family:'IBM Plex Mono';font-size:12px;color:var(--sand);text-transform:uppercase;letter-spacing:1px;}
.gear-body a:hover{color:var(--wing);}

.profile{background:var(--granite);border-top:1px solid #33373f;border-bottom:1px solid #33373f;}
.profile-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.profile h2{font-size:36px;color:var(--white);}
.profile p{margin-top:20px;color:#B7BDC7;font-size:16px;text-transform:none;font-family:'Work Sans';}
.profile-svg{width:100%;height:250px;}

/* FAQ */
.faq-list{max-width:820px;margin:0 auto;}
.faq-item{border-bottom:1px solid #33373f;padding:24px 0;}
.faq-item summary{font-weight:500;font-size:18px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-family:'Work Sans';}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";color:var(--wing);font-size:22px;font-family:'IBM Plex Mono';}
.faq-item[open] summary::after{content:"–";}
.faq-item p{color:#9AA0AC;margin-top:14px;font-size:15px;}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1180px;margin:0 auto;}
.form-group{margin-bottom:20px;}
.form-group label{display:block;font-family:'IBM Plex Mono';font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--sand);margin-bottom:8px;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 16px;background:var(--granite);border:1px solid #454a53;color:var(--white);border-radius:2px;font-family:'Work Sans';font-size:15px;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--wing);}
.form-note{font-size:13px;color:#7A808A;margin-top:8px;font-family:'IBM Plex Mono';}
.success-msg{display:none;background:#233329;border:1px solid var(--line);color:#B7D4BC;padding:16px 20px;margin-top:16px;font-size:14px;font-family:'IBM Plex Mono';}
.contact-info h3{font-size:22px;margin-bottom:16px;color:var(--white);}
.contact-info .row{display:flex;gap:12px;margin-bottom:16px;font-size:15px;color:#B7BDC7;font-family:'IBM Plex Mono';}
.contact-info .row strong{color:var(--sand);min-width:100px;text-transform:uppercase;font-size:12px;letter-spacing:1px;}

.cta-band{text-align:center;padding:110px 32px;}
.cta-band .tag{font-family:'IBM Plex Mono';color:var(--line);letter-spacing:2px;text-transform:uppercase;font-size:13px;}
.cta-band h2{font-size:clamp(32px,5.5vw,64px);margin:20px 0 36px;color:var(--white);}
.cta-band .btn-primary{display:inline-block;}

footer{border-top:1px solid #33373f;padding:50px 32px;font-family:'IBM Plex Mono';font-size:13px;color:#7A808A;}
.footer-grid{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;}
footer a:hover{color:var(--sand);}

/* Blog article additions (additive only) */
.prose{max-width:760px;margin:0 auto;}
.prose h3{font-size:26px;color:var(--sand);margin:40px 0 14px;text-transform:none;font-family:'Work Sans';font-weight:600;}
.prose h3:first-child{margin-top:0;}
.prose p{color:#B7BDC7;font-size:16px;margin-bottom:16px;text-transform:none;font-family:'Work Sans';}
.prose ul{margin:0 0 16px 20px;color:#B7BDC7;font-size:15px;}
.prose ul li{margin-bottom:8px;}

.callout{background:var(--granite);border-left:3px solid var(--wing);padding:22px 26px;margin:28px 0;}
.callout strong{color:var(--wing);font-family:'IBM Plex Mono';}

.wing-types{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#33373f;border:1px solid #33373f;margin:32px 0;}
.wing-type{background:var(--basalt);padding:26px;}
.wing-type h4{color:var(--white);font-size:20px;margin-bottom:8px;font-family:'Big Shoulders Display';text-transform:uppercase;}
.wing-type p{color:#9AA0AC;font-size:14px;text-transform:none;font-family:'Work Sans';}

.schedule-block{border:1px solid #33373f;padding:28px;margin-bottom:20px;background:var(--granite);max-width:1180px;margin-left:auto;margin-right:auto;}
.schedule-block h4{color:var(--white);font-size:24px;margin-bottom:12px;font-family:'Big Shoulders Display';text-transform:uppercase;}
.schedule-block ul{list-style:none;margin-bottom:14px;font-family:'IBM Plex Mono';}
.schedule-block ul li{padding:7px 0;border-bottom:1px dashed #454a53;font-size:14px;color:#B7BDC7;}
.schedule-block .badge{display:inline-block;background:var(--wing);color:var(--basalt);font-size:12px;font-weight:600;padding:4px 12px;font-family:'IBM Plex Mono';text-transform:uppercase;}

.includes-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;max-width:680px;margin:0 auto 20px;background:#33373f;border:1px solid #33373f;}
.includes-list div{background:var(--granite);padding:16px 20px;font-size:13px;color:var(--sand);font-weight:500;font-family:'IBM Plex Mono';text-transform:uppercase;}

.back-link{display:inline-block;font-family:'IBM Plex Mono';font-size:13px;color:var(--line);text-transform:uppercase;letter-spacing:1px;margin-bottom:20px;}
.back-link:hover{color:var(--wing);}

@media(max-width:800px){
  .courses,.profile-grid,.gear-grid,.contact-grid,.wing-types,.includes-list{grid-template-columns:1fr;}
  .nav-links{display:none;}
}

/* Mobile nav toggle + back-to-top (added) */
.nav-toggle{display:none;background:none;border:none;color:var(--white);font-size:26px;cursor:pointer;padding:4px 8px;}
@media(max-width:800px){
  .nav-toggle{display:block;}
  .nav-links{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:var(--basalt);
    flex-direction:column;
    gap:0;
    border-bottom:1px solid #33373f;
    padding:10px 32px;
  }
  .nav-links.open{display:flex;}
  .nav-links a{padding:14px 0;border-bottom:1px solid #33373f;}
  .nav-links a:last-child{border-bottom:none;}
}
.back-to-top{
  position:fixed;
  bottom:24px;
  right:24px;
  background:var(--wing);
  color:var(--basalt);
  width:48px;
  height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  text-decoration:none;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s;
  z-index:50;
  box-shadow:0 4px 12px rgba(0,0,0,0.3);
}
.back-to-top.visible{opacity:1;pointer-events:auto;}
