:root{
  --bg:#0f0f10; --bg-soft:#151517; --ink:#f7f7f7; --muted:#a9abb3;
  --red:#e53935; --red-dark:#b71c1c; --card:#101113; --light:#f6f7f9;
  --shadow:0 20px 40px rgba(0,0,0,.35);
}
*{box-sizing:border-box} html,body{margin:0} body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
.container{width:min(1100px,92%);margin:0 auto} .narrow{width:min(820px,92%)}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;background:linear-gradient(180deg,rgba(0,0,0,.85),rgba(0,0,0,.7));backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
.brand{text-decoration:none;display:flex;align-items:baseline}
.logo-22{font-family:'Bebas Neue',sans-serif;font-size:34px;letter-spacing:2px;color:#fff;background:var(--red);padding:2px 10px;border-radius:6px}
.logo-text{font-weight:800;margin-left:10px;text-transform:uppercase;letter-spacing:1px;color:#fff}
.nav{display: flex;
  gap: 0; 
  padding-left: 12px;}
.nav a{color: #fff;
  text-decoration: none;
  font-weight: 600;
  padding: 10px 14px;
  border-radius: 0;
  transition: .2s;
  border-left: 1px solid rgba(255,255,255,0.4);}
.nav a:hover { background: rgba(255,255,255,0.08); }
.nav-toggle{display:none;background:none;border:0;cursor:pointer}
.nav-toggle .bar{display:block;width:26px;height:2px;background:#fff;margin:6px 0}
@media (max-width:820px){
  .nav-toggle{display:block}
  .nav{position:absolute;right:16px;top:64px;flex-direction:column;background:#111;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;display:none;box-shadow:var(--shadow)}
  .nav.show{display:flex}
}

/* Hero */
.hero{position:relative;background:radial-gradient(60% 120% at 0% 10%, rgba(229,57,53,.45), rgba(0,0,0,0)),linear-gradient(180deg,#0e0e10,#101114);overflow:hidden}
.hero .overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.75), rgba(0,0,0,0) 60%);
  pointer-events: none;
  z-index: 0;}
.hero-inner{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 24px;
  align-items: center;
  padding: 72px 0 36px;
  position: relative;  
  z-index: 1;}
.hero-copy .kicker{color:var(--muted);text-transform:uppercase;font-weight:800;letter-spacing:.12em;margin:0 0 30px}
.hero-copy h1{font-family:'Bebas Neue',sans-serif;font-size:84px;line-height:.9;margin:0}
.big{
  background: var(--red);
  padding: 0 10px;
  border-radius: 6px;
  color: #fff;
  box-shadow: var(--shadow);}
.sub{color:#dcdde3;max-width:48ch} .coach-tag{margin-top:16px;color:#c9cbd2}
.hero-image{border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)} .hero-image img{width:100%}
.cta-row{display:flex;gap:12px;margin-top:20px}
.btn{display:inline-block;padding:14px 18px;font-weight:800;text-decoration:none;border-radius:12px;text-transform:uppercase;letter-spacing:.06em}
.btn-primary{background:var(--red);color:#fff;border:2px solid var(--red-dark)}
.btn-outline{border:2px solid #fff;color:#fff}
.btn-primary:hover{filter:brightness(1.05)} .btn-outline:hover{background:rgba(255,255,255,.08)}
@media (max-width:980px){.hero-inner{grid-template-columns:1fr;padding:48px 0}.hero-image{order:-1}.hero-copy h1{font-size:64px}}

/* Sections */
.section{padding:72px 0}
.section.dark{background:linear-gradient(180deg,#0f0f10,#101113)}
.section.light{background:var(--light);color:#121217}
.section h2{font-family:'Bebas Neue',sans-serif;font-size:48px;line-height:1;margin:0 0 6px}
.section .muted{color:#6b6f7a} .section-head{margin-bottom:24px}
.section-head.with-art{display: block}
.section-head.with-art img{width:100%;border-radius:14px;border:1px solid rgba(0,0,0,.08);box-shadow:0 12px 24px rgba(0,0,0,.15)}
@media (max-width:900px){.section-head.with-art{grid-template-columns:1fr}}

/* Features grid */
.grid.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--card);border:1px solid rgba(255,255,255,.06);padding:18px;border-radius:14px;box-shadow:var(--shadow)}
.card h3{margin:0 0 6px;font-weight:800;color:#fff;font-size:18px}
.card p{margin:0;color:#b9bcc6}
@media (max-width:900px){.grid.features{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.grid.features{grid-template-columns:1fr}}

/* Plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:14px}
.plan{background:#fff;color:#121217;border-radius:16px;padding:20px;border:2px solid #121217}
.plan .plan-name{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:.06em}
.plan .plan-detail{color:#5b6070;margin:6px 0 10px}
.plan .plan-price{font-size:34px;font-weight:900}
.plan .plan-price span{font-size:12px;font-weight:600;color:#6d7283}
.featured{transform:translateY(-4px)}
@media (max-width:900px){.plans{grid-template-columns:1fr}}

/* Rates list */
.blurb{margin-top:18px;color:#2b2f3a}
.blurb li{margin:8px 0}

/* Form */
.form{background:#0d0e10;border:1px solid rgba(255,255,255,.08);padding:20px;border-radius:16px;box-shadow:var(--shadow)}
.field{margin:12px 0} .field.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.control label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#c7cad3;margin-bottom:6px}
.control input,.control select,.control textarea{width:100%;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#111216;color:#fff;outline:none}
.control input:focus,.control select:focus,.control textarea:focus{border-color:var(--red)}
.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.form-note{margin:0;color:#a7abba;font-size:12px}
@media (max-width:760px){.field.two{grid-template-columns:1fr}}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-card{background:#fff;color:#111;border-radius:14px;padding:18px;border:2px solid #121217}
.contact-card a{color:#111}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr}}

/* Footer */
.site-footer{padding:24px 0;background:#0a0a0b;border-top:1px solid rgba(255,255,255,.06);color:#b8bcc7}
.site-footer .container{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.small{font-size:12px;color:#8c90a0}

html{
  scroll-behavior: smooth;
}

section{
  scroll-margin-top: 100px;}
