* {box-sizing:border-box;}
html {scroll-behavior:smooth;}
body {font-family:Arial,Helvetica,sans-serif;margin:0;padding:0;color:#16202a;background:#fff;line-height:1.55;}
.topbar {background:#0d1721;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:1rem 5%;position:relative;z-index:10;}
.logo a {font-size:1.3rem;font-weight:800;letter-spacing:.02em;margin-left:0!important;}
.logo span {color:#ff7a00;}
.topbar a {color:white;margin-left:1.2rem;text-decoration:none;font-weight:700;}
.topbar a:hover,.topbar a.active {color:#ff7a00;}
.hero {position:relative;min-height:560px;background-image:url('firefighter-training-banner.png');background-size:cover;background-position:center;display:flex;align-items:center;color:#fff;overflow:hidden;}
.hero-overlay {position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,15,.92) 0%,rgba(5,10,15,.72) 45%,rgba(5,10,15,.22) 72%,rgba(5,10,15,.08) 100%);}
.hero-content {position:relative;z-index:2;width:min(720px,90%);margin-left:6%;padding:4rem 0;}
.eyebrow {font-weight:800;letter-spacing:.18em;font-size:.82rem;color:#ff7a00;margin:0 0 .6rem;}
.eyebrow.dark {color:#c95300;}
.hero h1 {font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.03;margin:.2rem 0 1rem;text-transform:uppercase;}
.hero p {font-size:1.12rem;max-width:650px;}
.hero-buttons {display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem;}
.btn-primary,.btn-secondary {display:inline-block;padding:.8rem 1.25rem;border-radius:4px;text-decoration:none;font-weight:800;}
.btn-primary {background:#ff5a00;color:white;}
.btn-primary:hover {background:#df4d00;}
.btn-secondary {border:2px solid #fff;color:#fff;background:rgba(0,0,0,.25);}
.section {padding:4.5rem 6%;}
.section-heading {max-width:760px;margin:0 auto 2rem;text-align:center;}
.section-heading h2 {font-size:clamp(1.8rem,3vw,2.8rem);margin:.3rem 0;}
.service-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;max-width:1150px;margin:0 auto;}
.service-card {border:1px solid #e1e5e8;border-top:5px solid #ff5a00;border-radius:6px;padding:1.6rem;background:#fff;box-shadow:0 8px 24px rgba(13,23,33,.08);}
.service-card h3 {margin-top:0;font-size:1.35rem;}
.service-card a {color:#c94700;font-weight:800;text-decoration:none;}
.cta {background:#111c26;color:#fff;text-align:center;padding:3.5rem 6%;}
.cta h2 {font-size:clamp(1.7rem,3vw,2.6rem);margin-top:0;}
.cta p {margin-bottom:1.6rem;}
.page-hero {padding:4rem 6%;background:linear-gradient(135deg,#0d1721,#1f3446 70%,#ff7a00 110%);color:#fff;}
footer {background:#0d1721;color:#fff;text-align:center;padding:1.3rem 5%;margin-top:0;}
@media (max-width:800px){.topbar{align-items:flex-start;gap:.8rem;flex-direction:column}.topbar nav{display:flex;gap:.75rem;flex-wrap:wrap}.topbar nav a{margin-left:0}.hero{min-height:520px;background-position:58% center}.hero-content{margin-left:5%;width:90%}.service-grid{grid-template-columns:1fr}.hero-overlay{background:rgba(5,10,15,.7)}}

.training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:1100px;margin:0 auto}.training-card{position:relative;border:1px solid #e1e5e8;border-left:5px solid #ff5a00;border-radius:7px;padding:1.5rem 1.5rem 1.5rem 5rem;background:#fff;box-shadow:0 8px 24px rgba(13,23,33,.08)}.training-card .part-number{position:absolute;left:1.25rem;top:1.35rem;font-size:1.6rem;font-weight:900;color:#ff5a00}.training-card h3{margin:0;color:#0d1721;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em}.training-card h4{margin:.25rem 0 .65rem;font-size:1.35rem}.training-card p{margin:0}@media(max-width:800px){.training-grid{grid-template-columns:1fr}.training-card{padding-left:4.5rem}}

.training-visual-section {padding:3rem 1.25rem; background:#f4f4f4;}
.training-visual-wrap {max-width:1200px; margin:0 auto; text-align:center;}
.training-visual-wrap h2 {font-size:2rem; margin-bottom:.5rem;}
.training-visual-wrap > p {margin-bottom:1.5rem;}
.training-path-image {display:block; width:100%; height:auto; border-radius:8px; box-shadow:0 8px 28px rgba(0,0,0,.18);}
@media (max-width:760px) {
  .training-visual-section {padding:2rem .75rem;}
  .training-visual-wrap h2 {font-size:1.6rem;}
}
