:root{
  --ink:#18212f;
  --muted:#5f6f82;
  --line:#d9e0e8;
  --paper:#f5f7fa;
  --panel:#ffffff;
  --navy:#12324a;
  --blue:#1d5f99;
  --green:#2f6f62;
  --amber:#d88a23;
  --cream:#fff8ec;
  --radius:8px;
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  line-height:1.58;
  background:var(--paper);
  font-size:16px;
}

a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--navy)}

h1,h2,h3,.h1,.h2,.h3{
  color:var(--ink);
  letter-spacing:0;
  line-height:1.18;
  font-weight:760;
}

h1{font-size:clamp(2rem,3vw,2.15rem)}
h2{font-size:clamp(1.45rem,2.2vw,1.75rem)}
h3{font-size:1.05rem}
p{color:var(--muted)}
label{color:var(--ink)}

.container{max-width:1160px}

.site-header{
  position:sticky;
  top:0;
  z-index:1030;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 22px rgba(18,50,74,.06);
  backdrop-filter:blur(12px);
}

.navbar{padding:.65rem 0}
.navbar-brand img{height:38px;width:auto}
.navbar-dark .navbar-toggler{border-color:rgba(18,50,74,.24)}
.navbar-toggler{background:var(--navy);border-radius:var(--radius)}
.navbar-dark .navbar-nav .nav-link,
.nav-link{
  color:#314257;
  font-size:.88rem;
  font-weight:700;
  padding:.55rem .58rem;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active,
.nav-link:hover,
.nav-link.active{
  color:var(--blue);
}

.btn{
  border-radius:var(--radius);
  font-weight:760;
  letter-spacing:0;
}

.btn-lg{
  --bs-btn-padding-y:.72rem;
  --bs-btn-padding-x:1.05rem;
  --bs-btn-font-size:1rem;
}

.btn-cta{
  background:var(--amber);
  border-color:var(--amber);
  color:#1b2430;
}

.btn-cta:hover{background:#be7418;border-color:#be7418;color:#111827}

.btn-main{
  background:var(--blue);
  border-color:var(--blue);
  color:#fff;
}

.btn-main:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-outline-light{border-color:rgba(255,255,255,.72);color:#fff}
.btn-outline-light:hover{background:#fff;color:var(--navy)}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:var(--green);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  margin-bottom:.6rem;
}

.eyebrow:before{
  content:"";
  width:28px;
  height:2px;
  background:var(--amber);
}

.hero{
  min-height:610px;
  display:flex;
  align-items:end;
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(180deg,rgba(10,22,34,.2) 0%,rgba(10,22,34,.78) 62%,rgba(10,22,34,.92) 100%),
    url('/assets/img/pilot-training-orlando-hero.jpg') center/cover no-repeat;
}

.hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:6px;
  background:linear-gradient(90deg,var(--green),var(--amber),var(--blue));
}

.hero .container{position:relative;z-index:2;padding-top:84px;padding-bottom:48px}
.hero .row{align-items:end}
.hero h1{
  max-width:800px;
  color:#fff;
  font-size:clamp(1.85rem,3vw,2.2rem);
  font-weight:780;
}

.hero .lead,
.hero .lead.fs-4{
  max-width:700px;
  color:rgba(255,255,255,.88);
  font-size:1.05rem!important;
}

.hero .eyebrow{color:#f6d18d}
.hero .eyebrow:before{background:#fff}

.hero-panel{
  margin-left:auto;
  max-width:330px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.42);
  border-radius:var(--radius);
  padding:18px;
  color:var(--ink);
  box-shadow:0 18px 48px rgba(0,0,0,.18);
}

.hero-panel strong{
  display:block;
  font-size:1.18rem;
  line-height:1.2;
  color:var(--navy);
}

.hero-panel span{display:block;color:var(--muted);font-size:.92rem}
.hero-panel hr{margin:.85rem 0;border-color:#cfd6df;opacity:1}

.trust-strip{
  background:#fff;
  border-bottom:1px solid var(--line);
  color:#24364b;
  font-size:.9rem;
  font-weight:750;
}

.trust-strip .container span{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
}

.trust-strip .container span:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
}

.section{padding:62px 0;background:var(--paper)}
.section-alt{
  background:#fff;
  border-bottom:1px solid var(--line);
}
.section-dark{background:var(--navy);color:#fff}
.section-dark h1,.section-dark h2,.section-dark h3{color:#fff}
.section-dark p{color:rgba(255,255,255,.8)}

.layout-ribbon{
  border-top:0;
  padding:48px 0;
  background:
    linear-gradient(90deg,rgba(29,95,153,.08),rgba(47,111,98,.08)),
    #fff;
}

.layout-ribbon h1{max-width:820px}
.lead{font-size:1.05rem;color:#617083}

.feature-card,
.post-card,
.stat-card,
.path-card,
.locator-panel{
  height:100%;
  border:1px solid var(--line);
  background:var(--panel);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:none;
}

.feature-card,
.post-card{
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.feature-card:hover,
.post-card:hover{
  transform:translateY(-2px);
  border-color:#b9c7d6;
  box-shadow:0 14px 34px rgba(18,50,74,.08);
}

.feature-card h2,
.post-card h2,
.locator-panel h2{
  font-size:1.2rem;
}

.stat-card{
  border-left:4px solid var(--green);
  background:#fff;
}

.stat-card strong{
  display:block;
  color:var(--blue);
  font-size:1.35rem;
  line-height:1.1;
}

.stat-card span{color:var(--muted);font-size:.92rem}

.path-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.path-card{
  position:relative;
  padding-top:52px;
}

.path-card span{
  position:absolute;
  top:18px;
  left:20px;
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-size:.86rem;
  font-weight:800;
}

.path-card h3{font-size:1rem}
.path-card p{font-size:.94rem;margin-bottom:0}

.academy-band{
  background:#eef3f1;
  border-block:1px solid #d6e0dc;
}

.split-band{
  background:var(--navy);
  color:#fff;
  padding:42px 0;
  border-top:6px solid var(--amber);
}

.split-band h2{color:#fff;font-size:1.55rem}
.split-band p{color:rgba(255,255,255,.8)}
.split-band .eyebrow{color:#f6d18d}

.faq details{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px 18px;
  margin-bottom:12px;
}

.faq summary{
  font-weight:760;
  cursor:pointer;
  color:var(--ink);
}

.site-footer{
  background:#111b27;
  color:rgba(255,255,255,.74);
  padding:52px 0;
}

.site-footer p{color:rgba(255,255,255,.68)}
.site-footer a{
  display:block;
  color:rgba(255,255,255,.88);
  text-decoration:none;
  margin:.38rem 0;
}

.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer img{height:42px;width:auto}

.footer-title{
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#fff;
}

.mobile-cta{display:none}
.article-body{max-width:860px}
.article-body h2{margin-top:1.8rem}

@media(max-width:1199px){
  .navbar-dark .navbar-nav .nav-link,
  .nav-link{padding:.52rem .45rem;font-size:.85rem}
}

@media(max-width:991px){
  body{padding-bottom:0}
  .section{padding:48px 0}
  .hero{min-height:auto;align-items:end}
  .hero .container{padding-top:96px;padding-bottom:34px}
  .hero h1{font-size:2rem}
  .hero-panel{max-width:none;margin-top:22px}
  .path-grid{grid-template-columns:1fr 1fr}
  .mobile-cta{
    display:none!important;
  }
}

@media(max-width:575px){
  body{font-size:15px}
  .navbar-brand img{height:34px}
  .hero .container{padding-top:76px}
  .hero h1{font-size:1.65rem}
  .hero .lead,
  .hero .lead.fs-4{font-size:1rem!important}
  .path-grid{grid-template-columns:1fr}
  .trust-strip .container{justify-content:flex-start!important}
  .split-band{padding:34px 0}
}
