
:root{
  --black:#020304; --panel:#080a0d; --panel2:#0d1014; --line:#353a40;
  --red:#e51a20; --red2:#b50d12; --white:#f7f7f7; --muted:#c1c5ca;
}
*{box-sizing:border-box}
html{background:#020304;scroll-behavior:smooth}
body{margin:0;background:#020304;color:var(--white);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.site{width:100%;max-width:1536px;margin:0 auto;background:#030405}
.header{
  min-height:74px;display:flex;align-items:center;padding:0 26px;gap:24px;
  background:#020304;border-bottom:1px solid #22272c;
}
.brand{display:flex;align-items:center;gap:12px;min-width:335px}
.brand img{width:86px;height:86px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(229,26,32,.35))}
.brand-title{font-size:26px;font-weight:900;line-height:1}
.brand-sub{font-size:15px;color:var(--red);font-weight:900;margin-top:6px}
.nav{margin-left:auto;display:flex;align-items:center;gap:29px;font-weight:900;font-size:14px}
.nav a.active{border-bottom:2px solid var(--red);padding-bottom:0;margin-bottom:0;line-height:1}
.register{background:linear-gradient(#ef242a,#b00d12);border:1px solid #f2282e;padding:13px 21px;border-radius:4px;font-weight:900}

.hero{
  display:grid;grid-template-columns:300px minmax(330px,1fr) 500px 275px;
  gap:18px;align-items:center;min-height:560px;padding:18px 26px 12px;
  background:
    radial-gradient(circle at 53% 55%,rgba(130,15,18,.14),transparent 30%),
    linear-gradient(90deg,#020304 0%,#07090b 55%,#030405 100%);
}
.hero-shield{width:100%;max-width:300px;filter:drop-shadow(0 0 26px rgba(229,26,32,.42))}
.hero-copy h1{margin:0;font-size:clamp(58px,5.2vw,86px);line-height:.87;letter-spacing:-.045em;text-transform:uppercase;text-shadow:0 4px 18px #000}
.hero-copy h1 .red{color:var(--red)}
.hero-copy p{font-size:20px;line-height:1.3;margin:15px 0 18px;color:#eee}
.credentials{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:12px 17px;font-size:12px;font-weight:900}
.credentials span{white-space:nowrap}
.hero-actions{display:flex;gap:12px;margin-top:20px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border:1px solid #5a6066;border-radius:4px;font-size:13px;font-weight:900}
.btn.red{background:linear-gradient(#ed2127,#ae0c11);border-color:#ed2127}
.instructor{height:520px;background:url('/assets/instructor.webp') center/cover no-repeat;filter:saturate(1.08) contrast(1.05)}
.locations{background:rgba(6,8,10,.96);border:1px solid #555c63;border-radius:7px;padding:18px;box-shadow:0 0 24px #0008}
.locations h2{font-size:18px;margin:0 0 11px;padding-bottom:10px;border-bottom:1px solid #464b50}
.loc{padding:13px 0;border-bottom:1px solid #32363b;font-size:13px;line-height:1.45}
.loc:last-child{border:0}
.loc strong{display:block;font-size:17px;margin-bottom:3px}
.loc a{display:inline-block;margin-top:6px;color:#ff252b;font-weight:900}

.feature-strip{
  display:grid;grid-template-columns:repeat(4,1fr);margin:0 26px 12px;
  border:1px solid #34393f;border-radius:6px;overflow:hidden;background:#080a0d
}
.feature{padding:16px 20px;border-right:1px solid #34393f}
.feature:last-child{border-right:0}
.feature h3{margin:0 0 5px;font-size:16px}
.feature p{margin:0;font-size:13px;color:#c5c9ce;line-height:1.45}

.lower{
  display:grid;grid-template-columns:1.18fr .92fr 1fr;gap:10px;padding:0 26px 10px
}
.panel{position:relative;overflow:hidden;min-height:240px;padding:16px;background:#080a0d;border:1px solid #34393f;border-radius:6px}
.panel h3{margin:0 0 11px;font-size:18px}
.panel ul{margin:0;padding-left:18px;font-size:13px;line-height:1.6}
.panel.with-img{padding-right:43%}
.panel-img{position:absolute;right:0;top:0;width:42%;height:100%;object-fit:cover;opacity:.92}
.small-red{display:inline-flex;margin-top:14px;padding:10px 15px;background:#bd1116;border:1px solid #e0191e;border-radius:4px;font-size:12px;font-weight:900}
.why{display:grid;grid-template-columns:1fr 43%;gap:10px;align-items:center}
.why img{width:100%;filter:drop-shadow(0 0 15px rgba(229,26,32,.27))}
.why ul{padding-left:18px}

.utility{
  display:grid;grid-template-columns:repeat(5,1fr);margin:0 26px 14px;
  border:1px solid #34393f;border-radius:6px;overflow:hidden;background:#080a0d
}
.utility div{padding:11px 14px;border-right:1px solid #34393f}
.utility div:last-child{border-right:0}
.utility b{display:block;font-size:14px}
.utility span{font-size:11px;color:#c4c8cd}

@media(max-width:1250px){
  .brand{min-width:260px}
  .hero{grid-template-columns:240px minmax(300px,1fr) 400px}
  .hero-shield{max-width:240px}
  .instructor{height:430px}
  .locations{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr 1fr;align-items:center;gap:16px}
  .locations h2{border:0;margin:0}
  .loc{border-bottom:0;border-left:1px solid #333;padding-left:16px}
}
@media(max-width:900px){
  .header{flex-wrap:wrap;padding:8px 18px}.brand{min-width:0}.nav{order:3;width:100%;justify-content:center;flex-wrap:wrap;margin:0}
  .hero{grid-template-columns:200px 1fr;padding:18px}
  .hero-shield{max-width:200px}
  .instructor{grid-column:1/-1;height:380px;background-position:center 30%}
  .locations{grid-template-columns:1fr 1fr}.locations h2{grid-column:1/-1}
  .feature-strip{grid-template-columns:repeat(2,1fr);margin-left:18px;margin-right:18px}
  .feature:nth-child(2){border-right:0}
  .lower{grid-template-columns:1fr;padding-left:18px;padding-right:18px}
  .utility{grid-template-columns:repeat(2,1fr);margin-left:18px;margin-right:18px}
  .utility div:nth-child(2n){border-right:0}
}
@media(max-width:600px){
  .brand img{width:64px;height:64px}.brand-title{font-size:20px}.register{margin-left:auto}
  .hero{display:block;text-align:center}.hero-shield{max-width:220px;margin:0 auto 14px}
  .hero-copy h1{font-size:50px}.hero-copy p{font-size:17px}.credentials{grid-template-columns:1fr 1fr}.hero-actions{justify-content:center;flex-wrap:wrap}
  .instructor{height:310px;margin:18px 0}.locations{display:block;text-align:left}.loc{border-left:0;border-top:1px solid #333;padding-left:0}
  .feature-strip,.utility{grid-template-columns:1fr}.feature,.utility div{border-right:0;border-bottom:1px solid #34393f}
  .panel.with-img{padding-right:16px}.panel-img{position:relative;width:100%;height:170px;margin-top:12px}
}


/* WFT V12.1 FINAL VIEWPORT FIT */
@media (min-width: 850px) {
  html.wft-force-fit,
  html.wft-force-fit body {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #020304 !important;
  }
  html.wft-force-fit body { position: relative !important; }
  html.wft-force-fit .site {
    width: 1536px !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: visible !important;
  }
  html.wft-force-fit .why img {
    content: url("/assets/wft-official-logo.png");
    object-fit: contain !important;
    width: 100% !important;
    max-width: 220px !important;
    max-height: 220px !important;
    justify-self: center !important;
    align-self: center !important;
  }
}


/* WFT V12.1 HERO OVERLAP FINAL */
.hero {
  column-gap: 22px !important;
}

.hero-copy {
  position: relative;
  z-index: 4;
  padding-right: 12px;
  overflow: visible;
}

.hero-copy h1,
.hero-copy p,
.credentials,
.hero-actions {
  position: relative;
  z-index: 5;
}

.credentials {
  grid-template-columns: 1fr 1fr !important;
  gap: 11px 18px !important;
  max-width: 100%;
}

.credentials span {
  white-space: normal !important;
  line-height: 1.25;
}

.instructor {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background-position: 62% center !important;
}

.instructor::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 22%;
  height: 31%;
  background: linear-gradient(90deg, rgba(3,4,5,.98) 0%, rgba(3,4,5,.92) 42%, rgba(3,4,5,.55) 72%, rgba(3,4,5,0) 100%);
  pointer-events: none;
}

.header-phone {
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
  color: #f4f4f4;
}

.location-phone {
  display: inline-block;
  margin-top: 5px;
  color: #f4f4f4 !important;
  font-size: 11px;
  font-weight: 900;
}

@media (max-width: 1250px) {
  .hero { column-gap: 16px !important; }
  .credentials {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }
}

@media (max-width: 900px) {
  .instructor::after { display: none; }
  .header-phone {
    width: 100%;
    text-align: center;
  }
}


/* WFT V12.1 STUDENT PORTAL + CONTACT */
.student-portal{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border:1px solid #e51a20;border-radius:4px;color:#fff;font-size:12px;font-weight:900;white-space:nowrap}
.student-portal:hover{background:rgba(229,26,32,.15)}
.contact-area{margin:14px 26px 22px;padding:26px;display:grid;grid-template-columns:.9fr 1.4fr;gap:34px;background:linear-gradient(135deg,#07090c,#0d1116);border:1px solid #34393f;border-radius:7px}
.contact-kicker{margin:0 0 5px;color:#e51a20;font-size:12px;font-weight:900;letter-spacing:.12em}
.contact-copy h2{margin:0 0 10px;font-size:28px}
.contact-copy p{color:#c4c8cd;line-height:1.55}
.contact-phone,.contact-email{display:block;margin-top:12px;font-weight:900}
.contact-phone{font-size:24px;color:#fff}
.contact-email{color:#e51a20;font-size:15px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form label{display:grid;gap:6px;font-size:12px;font-weight:900}
.contact-form .full{grid-column:1/-1}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #3c4249;border-radius:4px;background:#050709;color:#fff;padding:11px 12px;font:inherit}
.contact-form textarea{resize:vertical}
.contact-form button{grid-column:1/-1;border:1px solid #e51a20;border-radius:4px;background:linear-gradient(#ed2127,#ae0c11);color:#fff;padding:12px 18px;font-weight:900;cursor:pointer}
.contact-note{grid-column:1/-1;margin:0;color:#8f969e;font-size:11px}
@media(max-width:900px){.contact-area{grid-template-columns:1fr;margin-left:18px;margin-right:18px}}
@media(max-width:600px){.contact-form{grid-template-columns:1fr}.contact-form .full,.contact-form button,.contact-note{grid-column:1}.contact-phone{font-size:20px}}


/* WFT FINAL CONTACT MODAL — no added homepage scroll */
.contact-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}
.contact-modal.open{display:flex}
.contact-modal .contact-area{position:relative;width:min(980px,96vw);max-height:92vh;overflow:auto;margin:0!important;box-shadow:0 30px 90px #000}
.contact-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:1px solid #4d5961;border-radius:50%;background:#05080b;color:#fff;font-weight:900;cursor:pointer}
.contact-form select{width:100%;border:1px solid #3c4249;border-radius:4px;background:#050709;color:#fff;padding:11px 12px;font:inherit}
