/* =============================================================
   On Fire Academy — Theme styles
   Extracted from the original landing maquette. Fonts are loaded
   via Google Fonts (see functions.php). Asset URLs are relative
   to /assets/css/ → ../img/<file>.
   ============================================================= */

/* =============================================================
   On Fire Football Academy — Colors & Type
   Sports / energetic / youth. Core palette: fire orange + red
   on deep black, with smoke greys and white for contrast.
   ============================================================= */


:root {
  /* --------- BRAND CORE --------- */
  --of-fire-500:   #FF6A1A;  /* primary fire orange — CTAs, accents */
  --of-fire-600:   #E5511A;  /* hover/press fire */
  --of-fire-400:   #FF8A3D;  /* highlight / hover lighter */
  --of-fire-300:   #FFA463;  /* glow / soft accent */
  --of-ember-700:  #B83515;  /* deep ember, crusts of flame */
  --of-blood-700:  #A8221A;  /* fire-red, jersey red */
  --of-blood-600:  #C8301F;  /* primary red, alt CTA */
  --of-spark-300:  #FFC36A;  /* spark yellow-orange, decorative */
  --of-flash-200:  #FFE2B0;  /* faintest highlight, sparkle */

  /* --------- NEUTRALS / SMOKE --------- */
  --of-black:      #050505;  /* page void */
  --of-coal:       #0E0E0F;  /* surfaces */
  --of-soot:       #161618;  /* cards / chrome */
  --of-ash-800:    #1F1F22;  /* raised surface */
  --of-ash-700:    #2A2A2E;  /* borders on dark */
  --of-ash-600:    #3A3A40;  /* dividers */
  --of-smoke-500:  #6B6B72;  /* muted text on dark */
  --of-smoke-400:  #9A9AA1;  /* secondary text on dark */
  --of-smoke-300:  #C4C4C9;  /* tertiary, captions */
  --of-bone:       #F5F2EE;  /* off-white surface */
  --of-white:      #FFFFFF;

  /* --------- METALLIC ACCENTS (logo-spirit) --------- */
  --of-steel-500:  #B7B9BD;  /* logo metallic mid */
  --of-steel-300:  #E2E3E6;  /* logo metallic highlight */
  --of-steel-700:  #6F7176;  /* logo metallic shadow */

  /* --------- SEMANTIC --------- */
  --of-success:    #2BB673;
  --of-warning:    #FFB020;
  --of-danger:     #E5391B;
  --of-info:       #1E8FE8;

  /* --------- FOREGROUND / BACKGROUND ROLES --------- */
  /* Default mode is DARK (the brand defaults to deep black) */
  --bg-page:       var(--of-black);
  --bg-surface:    var(--of-coal);
  --bg-raised:     var(--of-soot);
  --bg-elevated:   var(--of-ash-800);
  --bg-inverse:    var(--of-bone);

  --fg-1:          var(--of-white);            /* primary text on dark */
  --fg-2:          var(--of-smoke-300);        /* secondary text */
  --fg-3:          var(--of-smoke-400);        /* tertiary / captions */
  --fg-muted:      var(--of-smoke-500);
  --fg-on-fire:    var(--of-white);            /* text on fire orange */
  --fg-accent:     var(--of-fire-500);

  --border-1:      var(--of-ash-700);
  --border-2:      var(--of-ash-600);
  --border-fire:   var(--of-fire-500);

  /* --------- GRADIENTS --------- */
  --grad-fire:        linear-gradient(135deg, #FFC36A 0%, #FF6A1A 35%, #E5511A 65%, #A8221A 100%);
  --grad-fire-soft:   linear-gradient(180deg, #FF8A3D 0%, #E5511A 100%);
  --grad-ember:       radial-gradient(60% 80% at 50% 100%, #FF6A1A 0%, #B83515 40%, transparent 75%);
  --grad-stadium:     linear-gradient(180deg, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0.85) 80%, #050505 100%);
  --grad-protection-bottom: linear-gradient(180deg, rgba(5,5,5,0) 0%, rgba(5,5,5,0.85) 70%, #050505 100%);
  --grad-protection-top:    linear-gradient(180deg, rgba(5,5,5,0.85) 0%, rgba(5,5,5,0) 60%);

  /* --------- SHADOWS / GLOWS --------- */
  --shadow-card:    0 1px 0 rgba(255,255,255,0.04) inset, 0 8px 24px rgba(0,0,0,0.45);
  --shadow-raised:  0 1px 0 rgba(255,255,255,0.05) inset, 0 18px 40px rgba(0,0,0,0.55);
  --shadow-press:   0 2px 6px rgba(0,0,0,0.6) inset;
  --glow-fire-sm:   0 0 0 1px rgba(255,106,26,0.35), 0 0 18px rgba(255,106,26,0.35);
  --glow-fire-md:   0 0 0 1px rgba(255,106,26,0.45), 0 8px 32px rgba(255,106,26,0.45);
  --glow-fire-lg:   0 0 80px rgba(255,106,26,0.55), 0 0 24px rgba(255,140,60,0.45);

  /* --------- RADII --------- */
  --r-xs: 4px;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 20px;
  --r-2xl: 28px;
  --r-pill: 999px;

  /* --------- SPACING --------- */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 20px;
  --s-6: 24px;
  --s-8: 32px;
  --s-10: 40px;
  --s-12: 48px;
  --s-16: 64px;
  --s-20: 80px;
  --s-24: 96px;

  /* --------- TYPOGRAPHY FAMILIES --------- */
  --font-display: 'Bebas Neue', 'Oswald', 'Impact', 'Arial Narrow', system-ui, sans-serif;
  --font-headline: 'Oswald', 'Bebas Neue', 'Arial Narrow', system-ui, sans-serif;
  --font-body:    'Barlow', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-num:     'Barlow Condensed', 'Bebas Neue', system-ui, sans-serif;

  /* --------- TYPE SCALE (semantic) --------- */
  --t-display-1-size: clamp(56px, 9vw, 132px);
  --t-display-1-line: 0.92;
  --t-display-1-track: 0.005em;

  --t-display-2-size: clamp(44px, 6.5vw, 88px);
  --t-display-2-line: 0.94;
  --t-display-2-track: 0.005em;

  --t-h1-size: clamp(36px, 4.6vw, 64px);
  --t-h1-line: 1.02;
  --t-h2-size: clamp(28px, 3.2vw, 44px);
  --t-h2-line: 1.08;
  --t-h3-size: 24px;
  --t-h3-line: 1.18;
  --t-h4-size: 18px;
  --t-h4-line: 1.25;

  --t-body-size: 16px;
  --t-body-line: 1.55;
  --t-body-sm-size: 14px;
  --t-body-sm-line: 1.5;
  --t-caption-size: 12px;
  --t-caption-line: 1.4;

  --t-eyebrow-size: 13px;
  --t-eyebrow-track: 0.18em;
}

/* ============================================================
   SEMANTIC TYPE CLASSES
   ============================================================ */
.of-display-1 {
  font-family: var(--font-display);
  font-size: var(--t-display-1-size);
  line-height: var(--t-display-1-line);
  letter-spacing: var(--t-display-1-track);
  text-transform: uppercase;
  color: var(--fg-1);
  font-weight: 400;
}

.of-display-2 {
  font-family: var(--font-display);
  font-size: var(--t-display-2-size);
  line-height: var(--t-display-2-line);
  letter-spacing: var(--t-display-2-track);
  text-transform: uppercase;
  color: var(--fg-1);
  font-weight: 400;
}

.of-h1 {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: var(--t-h1-size);
  line-height: var(--t-h1-line);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  color: var(--fg-1);
}

.of-h2 {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: var(--t-h2-size);
  line-height: var(--t-h2-line);
  text-transform: uppercase;
  letter-spacing: 0.015em;
  color: var(--fg-1);
}

.of-h3 {
  font-family: var(--font-headline);
  font-weight: 600;
  font-size: var(--t-h3-size);
  line-height: var(--t-h3-line);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--fg-1);
}

.of-h4 {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--t-h4-size);
  line-height: var(--t-h4-line);
  color: var(--fg-1);
}

.of-eyebrow {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--t-eyebrow-size);
  text-transform: uppercase;
  letter-spacing: var(--t-eyebrow-track);
  color: var(--of-fire-500);
}

.of-body {
  font-family: var(--font-body);
  font-size: var(--t-body-size);
  line-height: var(--t-body-line);
  color: var(--fg-2);
  font-weight: 400;
}

.of-body-sm {
  font-family: var(--font-body);
  font-size: var(--t-body-sm-size);
  line-height: var(--t-body-sm-line);
  color: var(--fg-2);
}

.of-caption {
  font-family: var(--font-body);
  font-size: var(--t-caption-size);
  line-height: var(--t-caption-line);
  color: var(--fg-3);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
}

.of-num {
  font-family: var(--font-num);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

/* Fire text — for special call-outs only, never on long copy */
.of-text-fire {
  background: var(--grad-fire);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ============================================================
   GLOBAL DEFAULTS
   ============================================================ */
.of-root {
  background: var(--bg-page);
  color: var(--fg-1);
  font-family: var(--font-body);
  font-size: var(--t-body-size);
  line-height: var(--t-body-line);
  -webkit-font-smoothing: antialiased;
}

.of-root h1 { @apply of-h1; }
.of-root h2 { @apply of-h2; }

*{box-sizing:border-box}
  html,body{margin:0;padding:0;background:var(--of-black);color:var(--fg-1);font-family:var(--font-body);-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .container{max-width:1280px;margin:0 auto;padding:0 32px;}
  .display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.005em;line-height:.92;}
  .head{font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.015em;}
  .eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--of-fire-500);font-weight:700;}

  /* === MARQUEE TOP === */
  .marquee{height:42px;background:var(--of-blood-700);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);}
  .marquee .track{display:flex;gap:30px;white-space:nowrap;animation:run 30s linear infinite;font-family:'Oswald',sans-serif;font-weight:700;font-size:14px;letter-spacing:.22em;text-transform:uppercase;color:#fff;}
  .marquee .track span::after{content:" •";color:#FFC36A;margin-left:14px;}
  @keyframes run{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* === NAV === */
  nav.top{position:sticky;top:0;z-index:30;background:rgba(5,5,5,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-1);}
  nav.top .row{display:flex;align-items:center;justify-content:space-between;padding:18px 0;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand img{width:42px;height:42px;border-radius:8px;}
  .brand .name{display:flex;flex-direction:column;line-height:1;}
  .brand .name b{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:.04em;}
  .brand .name span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--of-fire-500);font-weight:700;margin-top:2px;}
  .nav-links{display:flex;gap:28px;}
  .nav-links a{font-family:'Oswald',sans-serif;font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2);}
  .nav-links a.on{color:#fff;}
  .nav-links a:hover{color:var(--of-fire-400);}
  .btn-primary{font-family:'Oswald',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:11px 18px;border-radius:10px;background:linear-gradient(180deg,#FF8A3D 0%,#E5511A 100%);color:#fff;display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;box-shadow:0 0 0 1px rgba(255,106,26,.4), 0 0 18px rgba(255,106,26,.4), inset 0 1px 0 rgba(255,255,255,.25);}
  .btn-primary:hover{filter:brightness(1.05);box-shadow:0 0 0 1px rgba(255,106,26,.55), 0 0 28px rgba(255,106,26,.5), inset 0 1px 0 rgba(255,255,255,.3);}
  .btn-ghost{font-family:'Oswald',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:11px 18px;border-radius:10px;background:transparent;color:#fff;border:1px solid var(--border-2);cursor:pointer;}
  .btn-ghost:hover{border-color:var(--of-fire-500);color:var(--of-fire-400);}

  /* === HERO === */
  .hero{position:relative;overflow:hidden;background:#000;}
  .hero .bg{position:absolute;inset:0;}
  .hero .bg img{width:100%;height:100%;object-fit:cover;opacity:.55;}
  .hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.45) 0%,rgba(5,5,5,.85) 70%,#050505 100%);}
  .hero .glow{position:absolute;left:50%;top:-20%;width:1200px;height:900px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,106,26,.45),rgba(255,106,26,0) 70%);pointer-events:none;}
  .hero .container{position:relative;padding-top:80px;padding-bottom:100px;}
  .hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;}
  .hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(64px,8vw,128px);line-height:.9;letter-spacing:.005em;text-transform:uppercase;margin:18px 0 0;}
  .hero h1 .fire{background:linear-gradient(135deg,#FFC36A 0%,#FF6A1A 35%,#E5511A 65%,#A8221A 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .hero p.lede{font-size:18px;line-height:1.55;color:var(--fg-2);max-width:540px;margin-top:22px;}
  .hero-meta{display:flex;gap:32px;margin-top:36px;}
  .hero-meta .stat .v{font-family:'Bebas Neue',sans-serif;font-size:48px;line-height:1;letter-spacing:.005em;color:#fff;}
  .hero-meta .stat .l{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);font-weight:700;margin-top:6px;}
  .hero-cta{display:flex;gap:12px;margin-top:36px;}
  .hero-shield{position:relative;display:flex;align-items:center;justify-content:center;}
  .hero-shield::before{content:"";position:absolute;inset:0;background:radial-gradient(closest-side,rgba(255,106,26,.55),transparent 70%);filter:blur(20px);}
  .hero-shield img{position:relative;width:100%;max-width:380px;border-radius:18px;box-shadow:0 30px 90px rgba(255,106,26,.35), 0 0 0 1px rgba(255,255,255,.04);}

  /* === SPONSORS / WHO === */
  .sponsors{padding:36px 0;border-bottom:1px solid var(--border-1);}
  .sponsors .row{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
  .sponsors .pill{font-family:'Oswald',sans-serif;font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-3);}
  .sponsors .name{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:.06em;color:var(--fg-2);}

  /* === PROGRAMS === */
  section.programs{padding:96px 0;}
  .section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:36px;}
  .section-head h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,5vw,72px);line-height:.95;text-transform:uppercase;margin:6px 0 0;}
  .programs-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:18px;}
  .prog{position:relative;border-radius:14px;overflow:hidden;background:var(--of-soot);border:1px solid var(--border-1);box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 8px 24px rgba(0,0,0,.45);min-height:440px;display:flex;flex-direction:column;}
  .prog .img{position:relative;height:55%;overflow:hidden;}
  .prog .img img{width:100%;height:100%;object-fit:cover;}
  .prog .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,0) 30%,rgba(5,5,5,.85) 100%);}
  .prog .body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;}
  .prog .price{font-family:'Bebas Neue',sans-serif;font-size:42px;line-height:1;color:#fff;}
  .prog .price small{font-size:14px;color:var(--fg-3);letter-spacing:.16em;text-transform:uppercase;font-family:'Oswald',sans-serif;font-weight:600;margin-left:6px;}
  .prog h3{font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:24px;margin:0;}
  .prog p{font-size:14px;color:var(--fg-2);line-height:1.55;margin:0;}
  .prog ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
  .prog ul li{font-size:13px;color:var(--fg-2);display:flex;gap:10px;align-items:center;}
  .prog ul li::before{content:"";width:6px;height:6px;background:var(--of-fire-500);border-radius:999px;flex-shrink:0;}
  .prog .foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--border-1);}
  .prog .pill-tag{font-family:'Oswald',sans-serif;font-weight:700;font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:5px 9px;border-radius:6px;}
  .pill-fire{background:var(--of-fire-500);color:#fff;}
  .pill-blood{background:var(--of-blood-700);color:#fff;}
  .pill-ghost{background:transparent;border:1px solid var(--border-2);color:var(--fg-2);}
  .prog.featured{border-color:var(--of-fire-500);box-shadow:0 0 0 1px rgba(255,106,26,.45), 0 0 32px rgba(255,106,26,.35);}

  /* === METHODOLOGY === */
  section.method{padding:96px 0;background:linear-gradient(180deg,#050505,#0a0a0a 60%,#050505);position:relative;}
  .method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  .pillar{padding:22px;border-radius:14px;background:var(--of-soot);border:1px solid var(--border-1);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
  .pillar .num{font-family:'Bebas Neue',sans-serif;font-size:54px;line-height:1;background:linear-gradient(180deg,#FF8A3D,#A8221A);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .pillar h4{font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:18px;margin:6px 0 8px;}
  .pillar p{font-size:14px;color:var(--fg-2);margin:0;line-height:1.55;}

  /* === STAFF === */
  section.staff{padding:96px 0;background:#0a0a0a;border-top:1px solid var(--border-1);border-bottom:1px solid var(--border-1);}
  .staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  .coach-card{position:relative;border-radius:14px;overflow:hidden;background:var(--of-soot);border:1px solid var(--border-1);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
  .coach-card .img{aspect-ratio:4/5;overflow:hidden;position:relative;}
  .coach-card .img img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(1.05);}
  .coach-card .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(5,5,5,.95) 100%);}
  .coach-card .role{position:absolute;top:14px;left:14px;font-family:'Oswald',sans-serif;font-weight:700;font-size:10px;letter-spacing:.22em;text-transform:uppercase;padding:6px 10px;border-radius:6px;background:rgba(5,5,5,.7);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:var(--of-fire-400);}
  .coach-card .meta{position:absolute;bottom:0;left:0;right:0;padding:18px 20px;}
  .coach-card h3{font-family:'Bebas Neue',sans-serif;font-size:42px;line-height:.95;margin:0;color:#fff;letter-spacing:.005em;}
  .coach-card p{font-size:13px;color:var(--fg-2);margin:6px 0 0;line-height:1.45;}

  /* === COACH QUOTE / SHOWCASE === */
  section.showcase{padding:96px 0;}
  .showcase-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;}
  .showcase .quote{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,4.5vw,64px);line-height:1;text-transform:uppercase;}
  .showcase .quote em{font-style:normal;color:var(--of-fire-500);}
  .showcase .photo{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/5;}
  .showcase .photo img{width:100%;height:100%;object-fit:cover;}
  .showcase .photo .badge{position:absolute;top:18px;left:18px;font-family:'Oswald',sans-serif;font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:8px 12px;border-radius:8px;background:rgba(5,5,5,.7);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);}

  /* === SCHEDULE === */
  section.schedule{padding:96px 0;background:#0a0a0a;border-top:1px solid var(--border-1);border-bottom:1px solid var(--border-1);}
  table.sched{width:100%;border-collapse:separate;border-spacing:0 8px;}
  .sched th{text-align:left;font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--fg-3);padding:10px 16px;}
  .sched td{padding:18px 16px;background:var(--of-soot);border-top:1px solid var(--border-1);border-bottom:1px solid var(--border-1);}
  .sched tr td:first-child{border-left:1px solid var(--border-1);border-top-left-radius:10px;border-bottom-left-radius:10px;}
  .sched tr td:last-child{border-right:1px solid var(--border-1);border-top-right-radius:10px;border-bottom-right-radius:10px;}
  .sched .day{font-family:'Bebas Neue',sans-serif;font-size:30px;line-height:1;}
  .sched .cat{font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:14px;}
  .sched .time{font-family:var(--font-num);font-weight:700;color:var(--of-fire-400);font-size:16px;}
  .sched .place{color:var(--fg-2);font-size:14px;}

  /* === CTA === */
  section.cta{padding:96px 0;position:relative;overflow:hidden;}
  .cta-card{position:relative;border-radius:24px;overflow:hidden;padding:64px;background:linear-gradient(135deg,#A8221A 0%,#E5511A 60%,#FF6A1A 100%);box-shadow:0 30px 80px rgba(229,81,26,.45);}
  .cta-card::before{content:"";position:absolute;inset:0;background:url("../img/hero-bg.jpg") center/cover;opacity:.18;mix-blend-mode:luminosity;pointer-events:none;}
  .cta-card h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(48px,6vw,96px);line-height:.92;text-transform:uppercase;margin:0;color:#fff;position:relative;}
  .cta-card p{color:rgba(255,255,255,.92);font-size:18px;max-width:520px;line-height:1.5;margin-top:14px;position:relative;}
  .cta-card .actions{display:flex;gap:12px;margin-top:32px;position:relative;}
  .cta-card .btn-dark{background:#0a0a0a;color:#fff;font-family:'Oswald',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:14px 22px;border-radius:10px;border:1px solid rgba(255,255,255,.1);cursor:pointer;}

  /* === FOOTER === */
  footer{padding:48px 0 24px;background:#050505;border-top:1px solid var(--border-1);}
  footer .grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:32px;align-items:start;}
  footer h5{font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--fg-3);margin:0 0 12px;}
  footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
  footer ul a{color:var(--fg-2);font-size:14px;}
  footer ul a:hover{color:var(--of-fire-400);}
  footer .copy{margin-top:36px;border-top:1px solid var(--border-1);padding-top:18px;font-size:12px;color:var(--fg-3);display:flex;justify-content:space-between;}

/* ============================================================
   RESPONSIVE (added in WP migration — preserves desktop layout
   and adapts grids and type for tablet / mobile)
   ============================================================ */
@media (max-width: 1024px) {
  .programs-grid { grid-template-columns: 1fr 1fr !important; }
  .method-grid { grid-template-columns: repeat(2, 1fr); }
  .staff-grid { grid-template-columns: 1fr 1fr; }
  footer .grid { grid-template-columns: 1fr 1fr; }
  .hero-grid { grid-template-columns: 1fr !important; }
  .hero-shield { display: none; }
}
@media (max-width: 720px) {
  .container { padding: 0 18px; }
  .nav-links { display: none; }
  nav.top .row { padding: 14px 0; }
  .programs-grid { grid-template-columns: 1fr !important; }
  .method-grid { grid-template-columns: 1fr; }
  .staff-grid { grid-template-columns: 1fr; }
  footer .grid { grid-template-columns: 1fr; gap: 28px; }
  .showcase-grid { grid-template-columns: 1fr !important; gap: 28px; }
  .hero .container { padding-top: 48px; padding-bottom: 64px; }
  .hero-meta { flex-wrap: wrap; gap: 18px; }
  .cta-card { padding: 36px 24px; }
  .sponsors .row { gap: 14px; }
  section.programs,
  section.method,
  section.staff,
  section.schedule,
  section.showcase,
  section.cta { padding: 56px 0; }
  table.sched th:nth-child(4),
  table.sched td:nth-child(4) { display: none; }
  table.sched th, table.sched td { padding: 12px 10px; }
  .sched .day { font-size: 22px; }
  footer .copy { flex-direction: column; gap: 6px; }
}
@media (max-width: 420px) {
  table.sched th:nth-child(5),
  table.sched td:nth-child(5) { display: none; }
  .hero-cta { flex-direction: column; align-items: stretch; }
  .hero-cta .btn-primary, .hero-cta .btn-ghost { width: 100%; text-align: center; justify-content: center; }
}
