/*!
 * Milcom Short Courses Landing Suite — landing.css v3.4.0
 * Conversion-optimised, SEO/AEO/GEO ready
 * v3.4 fixes:
 *   - Trust bar "Major Cities" — descender clipping fixed (line-height + gap)
 *   - Urgency marquee — 30s seamless loop (was 90s) via duplicated tracks
 *   - Urgency bar hover — fades to centered static copy (was just paused)
 *   - Page max-width reduced to 1340px (was 1440px)
 *   - AXcelerate lazy-load skeleton (paired with deferred PHP render)
 *   - Footer colophon (ASQA / RTO 6859 compliance)
 * v3.3 fixes:
 *   - Hero H1 ("Telecommunications") no longer overlaps hero image
 *   - Hero image enlarged
 *   - Urgency bar truly sticky (position:fixed)
 * (c) Milcom Institute  RTO 6859
 */

/* ============================================================
 * 1. TOKENS
 * ============================================================ */
:root{
  --mlp-navy:#0A1A2F;
  --mlp-navy-2:#0F2747;
  --mlp-navy-3:#15375F;
  --mlp-ink:#0B1220;
  --mlp-text:#1F2937;
  --mlp-muted:#4B5563;
  --mlp-line:#E5E7EB;
  --mlp-bg:#F7F9FC;
  --mlp-card:#FFFFFF;

  --mlp-brand:#FF962B;
  --mlp-brand-2:#FFB347;
  --mlp-brand-3:#FFD166;
  --mlp-gold:#FFD700;
  --mlp-yellow:#FFEB3B;

  --mlp-red:#E11D2A;
  --mlp-red-2:#B91C1C;
  --mlp-green:#16A34A;
  --mlp-green-2:#15803D;
  --mlp-blue:#1D4ED8;
  --mlp-wa:#25D366;

  --mlp-radius:14px;
  --mlp-radius-lg:22px;
  --mlp-shadow:0 8px 28px rgba(10,26,47,.10);
  --mlp-shadow-lg:0 24px 60px rgba(10,26,47,.22);
  --mlp-shadow-glow:0 0 0 4px rgba(255,150,43,.20);
  --mlp-maxw:1240px;
}

/* ============================================================
 * 2. BASE / PAGE-LEVEL
 * ============================================================ */
body.milcom-true-landing-page{
  margin:0;
  background:var(--mlp-bg);
  color:var(--mlp-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.milcom-true-landing-page *,
body.milcom-true-landing-page *::before,
body.milcom-true-landing-page *::after{box-sizing:border-box}

.mlp-page img{max-width:100%;height:auto;display:block}
.mlp-page a{color:var(--mlp-brand);text-decoration:none}
.mlp-page a:hover{text-decoration:underline}

.mlp-wrap{
  max-width:var(--mlp-maxw);
  margin:0 auto;
  padding:0 22px;
}

.mlp-section{padding:64px 0;position:relative}

/* ============================================================
 * 3. URGENCY BAR
 * ============================================================ */
.mlp-urgency-bar{
  background:linear-gradient(90deg,#B91C1C 0%,#E11D2A 50%,#F97316 100%);
  color:#fff;
  font-weight:700;
  padding:10px 0;
  position:relative;
  z-index:5;
  box-shadow:0 2px 10px rgba(225,29,42,.35);
}
/* (urgency bar inner layout is handled by .mlp-urg-marquee + .mlp-urg-static below) */
.mlp-urg-dot{
  width:10px;height:10px;border-radius:50%;
  background:#fff;display:inline-block;
  box-shadow:0 0 0 0 rgba(255,255,255,.7);
  animation:mlp-pulse 1.6s infinite;
}
@keyframes mlp-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}
  70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}
.mlp-urg-text{color:#fff}
.mlp-urg-text strong{color:#FFEB3B}
.mlp-urg-link{
  background:#fff;color:#B91C1C !important;
  padding:5px 14px;border-radius:999px;
  font-weight:800;font-size:13.5px;
  text-decoration:none !important;
  transition:background .15s, color .15s;
}
.mlp-urg-link:hover{background:#FFF7ED;color:#7C2D12 !important}

/* ============================================================
 * 4. NAV (top of hero)
 * ============================================================ */
.mlp-nav{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:18px;padding-bottom:6px;position:relative;z-index:2;
  flex-wrap:nowrap;gap:10px;
}
.mlp-logo{display:inline-flex;align-items:center}
.mlp-logo img{height:48px;width:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25))}
.mlp-nav-actions{display:flex;align-items:center;gap:10px}
.mlp-call,
.mlp-wa{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 14px;border-radius:10px;
  font-weight:800;font-size:14.5px;
  text-decoration:none !important;
  transition:transform .15s, box-shadow .2s, background .2s;
}
.mlp-call{
  background:rgba(255,255,255,.12);color:#fff;
  border:1px solid rgba(255,255,255,.30);
  backdrop-filter:blur(6px);
}
.mlp-call:hover{background:rgba(255,255,255,.22);transform:translateY(-1px)}
.mlp-call-icon{font-size:15px}
.mlp-wa{
  background:var(--mlp-wa);color:#0a3a1d;
  box-shadow:0 6px 16px rgba(37,211,102,.30);
}
.mlp-wa:hover{background:#1ebd58;transform:translateY(-1px)}

/* ============================================================
 * 5. HERO
 * ============================================================ */
.mlp-hero{
  position:relative;
  color:#fff;
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(255,150,43,.28), transparent 60%),
    radial-gradient(900px 500px at 0% 110%, rgba(29,78,216,.35), transparent 60%),
    linear-gradient(135deg,var(--mlp-navy) 0%,var(--mlp-navy-2) 55%,var(--mlp-navy-3) 100%);
  overflow:hidden;
  padding:0 0 84px;
}
.mlp-hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);
  pointer-events:none;
}
.mlp-hero > .mlp-wrap{position:relative;z-index:1}

.mlp-hero-grid{
  display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center;
  padding-top:36px;
}
.mlp-hero-copy{position:relative;z-index:1}

/* THE FIX: Hero pill */
.mlp-hero-copy .mlp-pill{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.22);
  padding:7px 14px;border-radius:999px;
  font-weight:700;font-size:12.5px;letter-spacing:.6px;text-transform:uppercase;
  color:#FFEB99;
  backdrop-filter:blur(6px);
}

/* ★★★ THE PRIMARY FIX — Hero H1 bright vibrant gradient ★★★ */
.mlp-hero-copy h1{
  font-size:clamp(32px,3.2vw,44px);
  line-height:1.08;
  margin:18px 0 14px;
  font-weight:900;
  letter-spacing:-.5px;
  background:linear-gradient(135deg,#FFEB3B 0%,#FFD700 30%,#FFA726 65%,#FF6B35 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:#FFD700; /* fallback */
  filter:drop-shadow(0 6px 18px rgba(255,167,38,.40));
}
@supports not (-webkit-background-clip: text){
  .mlp-hero-copy h1{
    color:#FFEB3B;
    -webkit-text-fill-color:#FFEB3B;
    background:none;
    text-shadow:0 2px 12px rgba(0,0,0,.55),0 0 22px rgba(255,167,38,.35);
  }
}

/* Hero lead paragraph (note: PHP uses .mlp-lead INSIDE .mlp-hero-copy as a <p>) */
.mlp-hero-copy p.mlp-lead{
  font-size:clamp(16px,1.6vw,19px);
  color:#E6EEF8;
  max-width:640px;
  margin:0 0 22px;
  background:transparent;
  padding:0;
}

.mlp-hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

.mlp-micro{
  margin-top:12px;font-size:13.5px;color:#CFE0F4;
}
.mlp-micro a{color:#FFEB99;font-weight:800}

.mlp-proof{
  margin-top:22px;
  display:flex;flex-wrap:wrap;gap:14px 28px;
  color:#CFE0F4;font-size:13.5px;font-weight:600;
}
.mlp-proof span{display:inline-block;line-height:1.4}
.mlp-proof strong{color:#FFEB99;font-size:15px;display:inline-block}

/* Hero visual (right column) — hero image is set inline via PHP background-image */
.mlp-hero-visual{
  position:relative;
  width:100%;max-width:850px;height:650px;min-height:340px;
  box-sizing:border-box;display:block;margin:0;padding:0;justify-self:end;
  border-radius:var(--mlp-radius-lg);
  overflow:hidden;
  box-shadow:var(--mlp-shadow-lg),0 0 0 1px rgba(255,255,255,.08) inset;
  background-color:#0b1220;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.mlp-visual-card{
  position:absolute;left:18px;bottom:18px;right:18px;
  background:rgba(255,255,255,.95);
  color:var(--mlp-navy);
  padding:14px 16px;border-radius:14px;
  box-shadow:0 14px 30px rgba(0,0,0,.30);
  backdrop-filter:blur(6px);
}
.mlp-visual-card strong{display:block;font-size:15px;color:var(--mlp-navy);font-weight:900}
.mlp-visual-card span{display:block;font-size:13.5px;color:var(--mlp-muted);margin-top:2px}

/* Nationally Recognised Training badge — square, top-right of hero visual */
.mlp-nrt-badge{
  position:absolute;top:18px;right:18px;
  width:96px;height:96px;
  background:#fff;
  border-radius:14px;
  padding:8px;
  box-shadow:0 10px 24px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.6) inset;
  display:flex;align-items:center;justify-content:center;
  z-index:2;
}
.mlp-nrt-badge img{
  width:100%;height:100%;object-fit:contain;display:block;
}
@media (max-width: 1024px){
  .mlp-nrt-badge{width:84px;height:84px;top:14px;right:14px;padding:7px}
}
@media (max-width: 720px){
  .mlp-nrt-badge{width:68px;height:68px;top:12px;right:12px;padding:6px;border-radius:10px}
}


/* ============================================================
 * 6. BUTTONS
 * ============================================================ */
.mlp-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 22px;border-radius:12px;
  font-weight:800;letter-spacing:.2px;font-size:15.5px;
  text-decoration:none !important;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  white-space:nowrap;
  font-family:inherit;
}
.mlp-btn:active{transform:translateY(1px)}
.mlp-btn-primary{
  background:linear-gradient(135deg,#FF6B35 0%,#FF962B 50%,#FFB347 100%);
  color:#1a0f00 !important;
  box-shadow:0 10px 24px rgba(255,150,43,.45);
}
.mlp-btn-primary:hover{box-shadow:0 14px 32px rgba(255,150,43,.55);transform:translateY(-2px)}
.mlp-btn-light{
  background:rgba(255,255,255,.10);color:#fff !important;
  border-color:rgba(255,255,255,.35);
  backdrop-filter:blur(6px);
}
.mlp-btn-light:hover{background:rgba(255,255,255,.20)}
.mlp-btn-soft{
  background:var(--mlp-wa);color:#0a3a1d !important;
  box-shadow:0 8px 20px rgba(37,211,102,.35);
}
.mlp-btn-soft:hover{background:#1ebd58;transform:translateY(-2px)}
.mlp-full{width:100%;justify-content:center}

/* ============================================================
 * 7. TRUST BAR
 * ============================================================ */
.mlp-trustbar{
  background:#fff;
  border-top:1px solid var(--mlp-line);
  border-bottom:1px solid var(--mlp-line);
  padding:22px 0;
}
.mlp-trust-row{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(5,1fr);gap:18px;text-align:center;
}
.mlp-trust-row li{padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:8px}
.mlp-trust-num{
  font-size:clamp(22px,2.4vw,28px);
  font-weight:900;
  background:linear-gradient(135deg,#0A1A2F,#15375F 60%,#1D4ED8);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  color:var(--mlp-navy); /* fallback */
  line-height:1.2;
  padding-bottom:2px;
}
.mlp-trust-lbl{
  font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
  color:var(--mlp-muted);
}

/* ============================================================
 * 8. SECTION HEAD (re-used)
 * ============================================================ */
.mlp-section-head{margin-bottom:26px;max-width:820px}
.mlp-section-head h2{
  font-size:clamp(26px,2.6vw,36px);
  margin:8px 0 8px;color:var(--mlp-navy);font-weight:900;letter-spacing:-.3px;
}
.mlp-section-head p{color:var(--mlp-muted);margin:0;font-size:16px}

/* Generic dark pill (used outside dark backgrounds) */
.mlp-pill{
  display:inline-flex;align-items:center;gap:6px;
  background:#FFF7ED;color:#9A3412;
  padding:6px 12px;border-radius:999px;
  font-weight:800;font-size:12.5px;letter-spacing:.4px;text-transform:uppercase;
}
.mlp-pill.dark{
  background:#0A1A2F;color:#FFD166;
  border:1px solid #15375F;
}
.mlp-pill.mlp-pill-glow{
  background:linear-gradient(135deg,#FF6B35,#FF962B);
  color:#1a0f00;
  box-shadow:0 6px 18px rgba(255,150,43,.4);
  font-weight:900;
  border:none;
  text-transform:uppercase;
}
.mlp-tag{
  display:inline-block;
  background:linear-gradient(135deg,#FFE9C9,#FFD99B);
  color:#7a4400;
  padding:4px 10px;border-radius:999px;
  font-size:11.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;
}

/* ============================================================
 * 9. BOOKING SECTION (category pages)
 * ============================================================ */
.mlp-booking{background:#fff}
.mlp-booking-grid{
  display:grid;grid-template-columns:.95fr 1.05fr;gap:36px;align-items:flex-start;
  margin-bottom:30px;
}
.mlp-fast-card{
  background:linear-gradient(180deg,#FFF8EE 0%,#FFFFFF 100%);
  border:1px solid #F3D6A8;border-radius:var(--mlp-radius-lg);
  padding:24px;
  box-shadow:var(--mlp-shadow);
  position:sticky;top:16px;
}
.mlp-card-kicker{
  display:inline-block;color:var(--mlp-brand);font-weight:900;
  font-size:13px;letter-spacing:.5px;text-transform:uppercase;
  margin-bottom:6px;
}
.mlp-fast-card h2{
  margin:0 0 14px;font-size:22px;color:var(--mlp-navy);font-weight:900;
}
.mlp-fast-card label{
  display:block;font-size:12.5px;font-weight:800;letter-spacing:.3px;
  color:var(--mlp-navy);margin:10px 0 4px;text-transform:uppercase;
}
.mlp-fast-card select{
  width:100%;padding:12px 14px;border-radius:10px;
  border:1.5px solid #F3D6A8;background:#fff;color:var(--mlp-text);
  font-size:15px;font-family:inherit;margin-bottom:4px;
}
.mlp-fast-card select:focus{outline:none;border-color:var(--mlp-brand);box-shadow:var(--mlp-shadow-glow)}
.mlp-fast-card small{display:block;margin-top:10px;color:var(--mlp-muted);font-size:13px}

.mlp-booking-copy h2{
  margin:8px 0 8px;font-size:clamp(24px,2.4vw,30px);color:var(--mlp-navy);font-weight:900;
}
.mlp-booking-copy p{margin:0;color:var(--mlp-muted);font-size:16px}

/* ============================================================
 * 10. HUB CARDS (short-courses landing)
 * ============================================================ */
.mlp-hub-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px;
}
.mlp-hub-card{
  background:var(--mlp-card);
  border:1px solid var(--mlp-line);
  border-radius:var(--mlp-radius);
  padding:24px;
  display:flex;flex-direction:column;gap:6px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  position:relative;overflow:hidden;
}
.mlp-hub-card::before{
  content:"";position:absolute;left:0;top:0;height:4px;width:100%;
  background:linear-gradient(90deg,var(--mlp-brand) 0%,var(--mlp-brand-2) 50%,var(--mlp-brand-3) 100%);
  opacity:.95;
}
.mlp-hub-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--mlp-shadow);
  border-color:#F3D6A8;
}
.mlp-hub-icon{
  font-size:38px;line-height:1;margin:8px 0 6px;
  display:inline-block;
  transition:transform .25s ease;
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.12));
}
.mlp-hub-card:hover .mlp-hub-icon{transform:scale(1.12) rotate(-3deg)}
.mlp-hub-card > span{
  font-size:11.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;
  color:var(--mlp-brand);
}
.mlp-hub-card h3{
  margin:2px 0 4px;font-size:19px;color:var(--mlp-navy);font-weight:900;line-height:1.25;
}
.mlp-hub-card p{margin:0 0 10px;color:var(--mlp-muted);font-size:14.5px}
.mlp-link-btn{
  display:inline-flex;align-items:center;gap:6px;
  color:var(--mlp-brand) !important;font-weight:800;font-size:14.5px;
  padding:8px 0;text-decoration:none !important;
  margin-top:auto;
}
.mlp-link-btn:hover{color:#C2410C !important}
.mlp-link-btn.secondary{color:var(--mlp-navy-3) !important}
.mlp-link-btn.secondary:hover{color:var(--mlp-navy) !important}

/* ============================================================
 * 11. COURSES (category pages)
 * ============================================================ */
.mlp-courses{background:var(--mlp-bg)}
.mlp-course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:8px}
.mlp-course-card{
  background:#fff;border:1px solid var(--mlp-line);border-radius:var(--mlp-radius);
  padding:22px;display:flex;flex-direction:column;gap:10px;
  box-shadow:0 2px 0 rgba(10,26,47,.04);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.mlp-course-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--mlp-shadow);
  border-color:#F3D6A8;
}
.mlp-course-card h3{
  margin:6px 0 4px;font-size:19px;color:var(--mlp-navy);font-weight:900;line-height:1.25;
}
.mlp-units{color:var(--mlp-muted);font-size:13.5px;font-weight:700;letter-spacing:.3px;margin:0 0 6px}
.mlp-course-card p{margin:0 0 6px;color:var(--mlp-text);font-size:15px}
.mlp-course-meta{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 0;border-top:1px dashed var(--mlp-line);margin-top:6px;
}
.mlp-course-meta span{color:var(--mlp-muted);font-size:14px;font-weight:700}
.mlp-course-meta strong{color:var(--mlp-navy);font-size:18px;font-weight:900}
.mlp-card-actions{
  display:flex;flex-wrap:wrap;gap:14px;margin-top:4px;
}

/* ============================================================
 * 12. AXCELERATE PANELS (placeholder until shortcode replaces)
 * ============================================================ */
.mlp-ax-shell{margin-top:18px;display:grid;gap:14px}
.mlp-ax-panel{
  background:#fff;border:1px solid var(--mlp-line);
  border-radius:var(--mlp-radius);padding:18px 20px;
  box-shadow:0 2px 0 rgba(10,26,47,.04);
}
.mlp-ax-head{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;
  margin-bottom:8px;
}
.mlp-ax-head strong{color:var(--mlp-navy);font-size:16px;font-weight:900}
.mlp-ax-shortcode{
  background:var(--mlp-bg);color:var(--mlp-text);
  border:1px solid var(--mlp-line);
  padding:10px 12px;border-radius:8px;font-size:14px;
  font-family:inherit;
}
.mlp-ax-panel .mlp-btn{margin-top:6px;margin-right:8px}
.mlp-no-classes{color:var(--mlp-muted);font-style:italic;margin:0 0 8px}
.mlp-shortcode-note{
  background:#FFF7ED;border:1px solid #F3D6A8;
  padding:14px;border-radius:10px;color:#7A4400;font-size:14px;
}
.mlp-shortcode-note code{
  background:#0B1220;color:#FFD166;padding:2px 6px;border-radius:4px;font-size:13px;
}

/* ============================================================
 * 13. LEAD SECTION (dark)
 * ============================================================ */
.mlp-section.mlp-lead{
  background:
    radial-gradient(900px 400px at 0% 0%, rgba(255,150,43,.18), transparent 60%),
    radial-gradient(700px 360px at 100% 100%, rgba(29,78,216,.22), transparent 60%),
    linear-gradient(135deg,#0F2747 0%,#15375F 100%);
  color:#fff;
}
.mlp-lead-grid{
  display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center;
}
.mlp-lead-copy h2{
  font-size:clamp(26px,2.6vw,36px);
  margin:10px 0 8px;
  font-weight:900;
  letter-spacing:-.3px;
  /* Bright vibrant gradient — same treatment as hero H1 */
  background:linear-gradient(135deg,#FFEB3B 0%,#FFD700 30%,#FFA726 65%,#FF6B35 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:#FFD700; /* fallback */
  filter:drop-shadow(0 6px 18px rgba(255,167,38,.40));
}
@supports not (-webkit-background-clip: text){
  .mlp-lead-copy h2{
    color:#FFEB3B;
    -webkit-text-fill-color:#FFEB3B;
    background:none;
    text-shadow:0 2px 12px rgba(0,0,0,.55),0 0 22px rgba(255,167,38,.35);
  }
}
.mlp-lead-copy p{color:#E6EEF8;margin:0;font-size:16px}
.mlp-lead-bullets{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.mlp-lead-bullets li{
  color:#E6EEF8;font-size:15px;font-weight:600;
  padding-left:0;
}

.mlp-lead-form{
  background:#fff;color:var(--mlp-text);
  border-radius:var(--mlp-radius-lg);
  padding:26px;
  box-shadow:var(--mlp-shadow-lg);
}
.mlp-lead-form h3{
  margin:0 0 12px;color:var(--mlp-navy);font-size:22px;font-weight:900;
}
.mlp-lead-form label{
  display:block;font-size:12.5px;font-weight:800;letter-spacing:.3px;
  color:var(--mlp-navy);margin:10px 0 0;text-transform:uppercase;
}
.mlp-lead-form input,
.mlp-lead-form select{
  width:100%;padding:12px 14px;border-radius:10px;
  border:1.5px solid var(--mlp-line);background:#fff;color:var(--mlp-text);
  font-size:15px;font-family:inherit;margin-top:5px;
  transition:border-color .15s, box-shadow .15s;
}
.mlp-lead-form input:focus,
.mlp-lead-form select:focus{
  outline:none;border-color:var(--mlp-brand);
  box-shadow:var(--mlp-shadow-glow);
}
.mlp-lead-form .mlp-btn{margin-top:14px}
.mlp-form-msg{
  display:block;margin-top:10px;font-size:14px;font-weight:700;min-height:20px;
}
.mlp-form-msg.ok{color:var(--mlp-green-2)}
.mlp-form-msg.err{color:var(--mlp-red-2)}
.mlp-form-privacy{
  display:block;font-size:12px;color:var(--mlp-muted);margin-top:6px;
}

/* ============================================================
 * 14. FAQ
 * ============================================================ */
.mlp-faq{background:#fff}
.mlp-faq-grid{display:grid;gap:10px;margin-top:6px}
.mlp-faq-item{
  border:1px solid var(--mlp-line);border-radius:var(--mlp-radius);background:#fff;overflow:hidden;
  transition:border-color .15s, box-shadow .15s;
}
.mlp-faq-item[open]{border-color:#F3D6A8;box-shadow:var(--mlp-shadow)}
.mlp-faq-item summary{
  list-style:none;cursor:pointer;
  padding:16px 20px;font-weight:800;color:var(--mlp-navy);
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  font-size:16px;
}
.mlp-faq-item summary::-webkit-details-marker{display:none}
.mlp-faq-item summary::after{
  content:"+";font-weight:900;color:var(--mlp-brand);font-size:22px;line-height:1;
  transition:transform .2s;
}
.mlp-faq-item[open] summary::after{content:"–"}
.mlp-faq-item p{padding:0 20px 16px;margin:0;color:var(--mlp-text);font-size:15px;line-height:1.6}

/* ============================================================
 * 15. FINAL CTA — bright vibrant footer H2 ★★★
 * ============================================================ */
.mlp-section.mlp-final{
  background:
    radial-gradient(900px 500px at 100% 0%, rgba(255,150,43,.25), transparent 60%),
    radial-gradient(700px 400px at 0% 120%, rgba(29,78,216,.30), transparent 60%),
    linear-gradient(135deg,var(--mlp-navy) 0%,var(--mlp-navy-2) 60%,var(--mlp-navy-3) 100%);
  color:#fff;
  text-align:center;
}
.mlp-final-card{display:flex;flex-direction:column;align-items:center;gap:8px}
.mlp-final-card h2{
  font-size:clamp(28px,3vw,42px);
  font-weight:900;
  letter-spacing:-.3px;
  margin:6px 0 10px;
  background:linear-gradient(135deg,#FFEB3B 0%,#FFD700 35%,#FFA726 70%,#FF6B35 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  color:#FFEB3B; /* fallback */
  filter:drop-shadow(0 6px 18px rgba(255,167,38,.40));
}
@supports not (-webkit-background-clip: text){
  .mlp-final-card h2{
    -webkit-text-fill-color:#FFEB3B;background:none;
    text-shadow:0 2px 12px rgba(0,0,0,.55),0 0 22px rgba(255,167,38,.35);
  }
}
.mlp-final-card p{color:#E6EEF8;max-width:720px;margin:0 auto 12px;font-size:17px}
.mlp-final-card .mlp-hero-ctas{justify-content:center}

/* ============================================================
 * 16. STICKY MOBILE CTA
 * ============================================================ */
.mlp-sticky-cta{
  display:none;
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  background:rgba(10,26,47,.96);color:#fff;
  padding:10px 14px;
  align-items:center;justify-content:space-between;gap:10px;
  box-shadow:0 -8px 24px rgba(0,0,0,.30);
  backdrop-filter:blur(8px);
  font-size:14px;font-weight:700;
}
.mlp-sticky-cta span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#CFE0F4}
.mlp-sticky-cta a{
  background:linear-gradient(135deg,#FF6B35,#FF962B);color:#1a0f00 !important;
  padding:8px 14px;border-radius:10px;font-weight:900;font-size:13.5px;
  text-decoration:none !important;
}
.mlp-sticky-cta a:last-child{
  background:#25D366;color:#0a3a1d !important;
}

/* ============================================================
 * 17. RESPONSIVE
 * ============================================================ */
@media (max-width: 1024px){
  .mlp-hero-grid{grid-template-columns:1fr;gap:30px}
  .mlp-hero-visual{height:480px;min-height:340px;max-width:100%;justify-self:center}
  .mlp-hub-grid{grid-template-columns:repeat(2,1fr)}
  .mlp-trust-row{grid-template-columns:repeat(3,1fr);gap:14px}
  .mlp-trust-row li:nth-child(4),
  .mlp-trust-row li:nth-child(5){grid-column:span 1}
  .mlp-lead-grid{grid-template-columns:1fr;gap:24px}
  .mlp-booking-grid{grid-template-columns:1fr;gap:24px}
  .mlp-fast-card{position:static}
}

@media (max-width: 720px){
  .mlp-section{padding:48px 0}
  .mlp-hero{padding-bottom:60px}
  .mlp-hero-grid{padding-top:24px}
  .mlp-hero-copy h1{font-size:34px}
  .mlp-hero-visual{height:360px;min-height:260px;max-width:100%;justify-self:center}
  .mlp-nav{flex-wrap:nowrap;gap:6px;padding-top:14px}
  .mlp-nav-actions{width:auto;justify-content:flex-end;gap:6px;flex-shrink:0}
  .mlp-logo img{height:36px}
  .mlp-call,.mlp-wa{padding:7px 10px;font-size:13px}
  .mlp-call-text{display:none}
  .mlp-call{padding:9px 12px}
  .mlp-hub-grid,
  .mlp-course-grid{grid-template-columns:1fr}
  .mlp-trust-row{grid-template-columns:repeat(2,1fr)}
  .mlp-hero-ctas{flex-direction:column}
  .mlp-hero-ctas .mlp-btn{width:100%;justify-content:center}
  .mlp-urg-track,.mlp-urg-static{font-size:13px;gap:8px}
  .mlp-urg-text{font-size:12.5px}
  .mlp-sticky-cta{display:flex}
  body.milcom-true-landing-page{padding-bottom:62px}
  .mlp-final-card .mlp-hero-ctas{flex-direction:column;width:100%}
  .mlp-final-card .mlp-btn{width:100%;justify-content:center}
}

/* ============================================================
 * 18. PRINT
 * ============================================================ */
@media print{
  .mlp-urgency-bar,
  .mlp-hero-visual,
  .mlp-hero-ctas,
  .mlp-lead,
  .mlp-sticky-cta,
  .mlp-nav-actions{display:none}
  .mlp-hero{background:#fff;color:#000;padding:24px 0}
  .mlp-hero-copy h1{
    color:#000 !important;
    -webkit-text-fill-color:#000 !important;
    background:none !important;
    filter:none;text-shadow:none;
  }
  .mlp-section.mlp-final{background:#fff;color:#000}
  .mlp-final-card h2{
    color:#000 !important;
    -webkit-text-fill-color:#000 !important;
    background:none !important;
    filter:none;text-shadow:none;
  }
}

/* ============================================================
 * 19. A11Y — reduced motion
 * ============================================================ */
@media (prefers-reduced-motion: reduce){
  .mlp-urg-dot{animation:none}
  .mlp-hub-card,.mlp-btn,.mlp-hub-icon,.mlp-course-card{transition:none}
  .mlp-hub-card:hover,.mlp-course-card:hover{transform:none}
}

/* ============================================================
 * 20. FOCUS VISIBILITY
 * ============================================================ */
.mlp-page a:focus-visible,
.mlp-page button:focus-visible,
.mlp-page input:focus-visible,
.mlp-page select:focus-visible,
.mlp-page summary:focus-visible{
  outline:3px solid #FFD166;outline-offset:2px;border-radius:8px;
}

/* ============================================================
 * 21. AXCELERATE CALENDAR — TEXT COLOUR FIX
 * The [ax_course_details] shortcode outputs scheduled-class rows
 * with date / time / location text that renders as a light yellow
 * which is unreadable on white. Force a readable dark colour for
 * everything inside .mlp-ax-shortcode except already-styled cost
 * elements.
 * ============================================================ */
.mlp-ax-shortcode,
.mlp-ax-shortcode *{
  color: var(--mlp-text) !important;
}
.mlp-ax-shortcode table,
.mlp-ax-shortcode tbody,
.mlp-ax-shortcode tr,
.mlp-ax-shortcode td,
.mlp-ax-shortcode th{
  color: var(--mlp-text) !important;
  background-color: transparent !important;
}
/* Keep cost / price visible but emphasised */
.mlp-ax-shortcode .ax-price,
.mlp-ax-shortcode .ax-cost,
.mlp-ax-shortcode .price,
.mlp-ax-shortcode [class*="cost"],
.mlp-ax-shortcode [class*="price"]{
  color: var(--mlp-navy) !important;
  font-weight: 800;
}
/* Tidy the calendar table */
.mlp-ax-shortcode table{
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0;
  font-size: 14.5px;
}
.mlp-ax-shortcode th,
.mlp-ax-shortcode td{
  padding: 10px 12px;
  border-bottom: 1px solid var(--mlp-line);
  text-align: left;
  vertical-align: middle;
}
.mlp-ax-shortcode th{
  background: #F7F9FC !important;
  font-weight: 800;
  font-size: 12.5px;
  letter-spacing: .3px;
  text-transform: uppercase;
  color: var(--mlp-navy) !important;
}
.mlp-ax-shortcode tr:hover td{
  background: #FFF8EE !important;
}
/* Catch the specific lightest yellows often used by AXcelerate themes */
.mlp-ax-shortcode [style*="color:#ff"],
.mlp-ax-shortcode [style*="color: #ff"],
.mlp-ax-shortcode [style*="color:rgb(255"],
.mlp-ax-shortcode [style*="color: rgb(255"]{
  color: var(--mlp-text) !important;
}
/* Buttons inside the AXcelerate output (Enrol etc.) — make them branded */
.mlp-ax-shortcode a.button,
.mlp-ax-shortcode .btn,
.mlp-ax-shortcode input[type="submit"],
.mlp-ax-shortcode button{
  background: linear-gradient(135deg,#FF6B35 0%,#FF962B 50%,#FFB347 100%) !important;
  color: #1a0f00 !important;
  border: none !important;
  padding: 10px 18px !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  display: inline-block;
  box-shadow: 0 8px 20px rgba(255,150,43,.35);
}
.mlp-ax-shortcode a.button:hover,
.mlp-ax-shortcode .btn:hover,
.mlp-ax-shortcode button:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(255,150,43,.45);
}

/* ============================================================
 * 22. SINGLE-COURSE PANEL DISPLAY
 * Only the .is-active panel is visible. JS swaps the active panel
 * when the user changes the course selector.
 * ============================================================ */
.mlp-ax-panel[hidden]{display:none !important}
.mlp-ax-panel.is-active{
  animation: mlp-fade-in .25s ease;
}
@keyframes mlp-fade-in{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion: reduce){
  .mlp-ax-panel.is-active{animation:none}
}

/* Highlight pulse used when "Show available classes" is clicked */
.mlp-ax-panel.is-pulsed{
  animation: mlp-pulse-ring .9s ease;
}
@keyframes mlp-pulse-ring{
  0%   { box-shadow: 0 0 0 0 rgba(255,150,43,.55); }
  60%  { box-shadow: 0 0 0 14px rgba(255,150,43,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,150,43,0); }
}



/* ============================================================
 * v3.3.0 FINAL OVERRIDES
 * ------------------------------------------------------------
 * Fixes:
 *  - Hero H1 "Telecommunications" overlapping hero image
 *  - Hero image enlarged for stronger visual impact
 *  - Urgency bar truly sticky (fixed positioning - bullet-proof)
 *  - Marquee slowed for readability
 *  - Pause-on-hover so visitors can actually read it
 * ============================================================ */

/* AXcelerate calendar styling (kept from v3.2.10) */
.mlp-ax-shortcode{
  background:var(--mlp-bg) !important;
  color:var(--mlp-text) !important;
  border:1px solid var(--mlp-line) !important;
  padding:10px 12px !important;
  border-radius:8px !important;
  font-family:inherit !important;
  font-size:14px !important;
}

/* ------------------------------------------------------------
 * URGENCY BAR — STICKY (FIXED) + SLOW SCROLL
 * Using position:fixed instead of sticky.  Sticky silently fails
 * when ANY ancestor element has overflow:hidden or :auto — which
 * many WP themes apply.  Fixed has no such dependency.
 * Body gets padding-top to compensate for the now-fixed bar.
 * ------------------------------------------------------------ */
.mlp-urgency-bar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:99999 !important;
  overflow:hidden !important;
}

/* Push content down so it isn't hidden behind the fixed bar */
body.milcom-true-landing-page{padding-top:46px !important}

/* Respect WordPress admin bar when logged in */
.admin-bar .mlp-urgency-bar{top:32px !important}
body.admin-bar.milcom-true-landing-page{padding-top:78px !important}
@media (max-width:782px){
  .admin-bar .mlp-urgency-bar{top:46px !important}
  body.admin-bar.milcom-true-landing-page{padding-top:92px !important}
}

/* Marquee — comfortably-paced (30s), seamless loop via duplicated
   track. On hover the moving marquee fades out and a static centered
   copy fades in, so visitors can read the message in full. */

.mlp-urg-marquee{
  display:flex !important;
  flex-wrap:nowrap !important;
  width:max-content !important;
  white-space:nowrap !important;
  animation:mlp-urgency-marquee 30s linear infinite;
  will-change:transform;
  opacity:1;
  transition:opacity .25s ease;
}
.mlp-urg-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:14px !important;
  padding-right:64px !important;  /* gap between repeats */
  flex:0 0 auto;
  font-size:14.5px;
}
.mlp-urg-track > *{flex:0 0 auto}

/* Static centered copy — hidden by default, shown on hover */
.mlp-urg-static{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  padding:0 16px !important;
  font-size:14.5px;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
  white-space:normal;
  text-align:center;
}
.mlp-urg-static > *{flex:0 0 auto}

/* On hover: swap marquee for static centered copy */
.mlp-urgency-bar:hover .mlp-urg-marquee{
  animation-play-state:paused !important;
  opacity:0 !important;
}
.mlp-urgency-bar:hover .mlp-urg-static{
  opacity:1 !important;
  pointer-events:auto !important;
}

/* Seamless marquee: animate one full track width (the second copy
   slides into the exact position of the first as it leaves) */
@keyframes mlp-urgency-marquee{
  0%   {transform:translateX(0)}
  100% {transform:translateX(-50%)}
}

@media (prefers-reduced-motion: reduce){
  .mlp-urg-marquee{animation:none !important;display:none !important}
  .mlp-urg-static{
    opacity:1 !important;
    pointer-events:auto !important;
    position:relative !important;
    inset:auto !important;
  }
}

/* ------------------------------------------------------------
 * HERO — overlap fix + bigger image
 * The cause of the overlap was a 500px text column with a 44px
 * H1 ("Telecommunications" is 16 chars — at 44px that's ~430px
 * with letter-spacing, eating most of the column).  Fix:
 *  - Narrower text column (440px)
 *  - More gap (80px)
 *  - H1 max 40px so it fits the column
 *  - overflow-wrap:anywhere as final safety net
 *  - min-width:0 on grid items prevents grid blowout
 *  - Image column grows to fill the remainder = bigger image
 * ------------------------------------------------------------ */

/* Wider canvas (but not too wide — leaves comfortable margin on big monitors) */
.mlp-wrap{max-width:1340px !important}

.mlp-hero-grid{
  grid-template-columns:minmax(0,440px) minmax(0,1fr) !important;
  gap:80px !important;
  align-items:center !important;
}

.mlp-hero-copy{
  min-width:0 !important;
  max-width:440px !important;
  overflow:visible !important;
}

.mlp-hero-copy h1{
  font-size:clamp(30px,3vw,40px) !important;
  line-height:1.1 !important;
  max-width:440px !important;
  letter-spacing:-.35px !important;
  overflow-wrap:anywhere !important;  /* safety net for any long word */
  word-break:normal !important;
  hyphens:auto !important;
  margin-top:14px !important;
  margin-bottom:14px !important;
}

/* Hero visual — BIGGER */
.mlp-hero-visual{
  width:100% !important;
  max-width:none !important;
  height:730px !important;          /* was 690 */
  min-height:730px !important;
  box-sizing:border-box !important;
  position:relative !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  justify-self:stretch !important;
  background-size:cover !important;
  background-position:center !important;
}

/* Nav layout cleanup */
.mlp-nav{flex-wrap:nowrap !important;gap:10px !important}
.mlp-nav-actions{flex-shrink:0 !important}

/* ------------------------------------------------------------
 * RESPONSIVE BREAKDOWN
 * ------------------------------------------------------------ */

/* Medium desktops (1024–1300px): text 380px, image still dominant */
@media (max-width:1300px){
  .mlp-wrap{max-width:1180px !important}
  .mlp-hero-grid{
    grid-template-columns:minmax(0,380px) minmax(0,1fr) !important;
    gap:56px !important;
  }
  .mlp-hero-copy{max-width:380px !important}
  .mlp-hero-copy h1{
    max-width:380px !important;
    font-size:clamp(28px,2.9vw,36px) !important;
    line-height:1.1 !important;
  }
  .mlp-hero-visual{
    height:640px !important;
    min-height:640px !important;
  }
}

/* Tablet / small desktop — stack */
@media (max-width:1024px){
  .mlp-hero-grid{grid-template-columns:1fr !important;gap:32px !important}
  .mlp-hero-copy{max-width:100% !important}
  .mlp-hero-copy h1{
    max-width:760px !important;
    font-size:clamp(32px,5.6vw,48px) !important;
  }
  .mlp-hero-visual{
    height:540px !important;
    min-height:540px !important;
    max-width:100% !important;
    justify-self:center !important;
  }
}

/* Mobile */
@media (max-width:720px){
  .mlp-nav{flex-wrap:nowrap !important;gap:6px !important;padding-top:14px !important}
  .mlp-nav-actions{display:flex !important;width:auto !important;justify-content:flex-end !important;gap:6px !important;flex-shrink:0 !important}
  .mlp-logo{flex-shrink:1 !important;min-width:0 !important}
  .mlp-logo img{height:36px !important;max-width:128px !important;object-fit:contain !important}
  .mlp-call,.mlp-wa{padding:7px 10px !important;font-size:13px !important;white-space:nowrap !important}
  .mlp-hero-copy h1{
    font-size:32px !important;
    line-height:1.12 !important;
  }
  .mlp-hero-visual{
    height:420px !important;
    min-height:420px !important;
    max-width:100% !important;
    justify-self:center !important;
  }
  .mlp-urg-track,.mlp-urg-static{font-size:13px !important;gap:8px !important}
  .mlp-urg-track{padding-right:48px !important}
}

/* ============================================================
 * v3.4.0 — AXcelerate lazy-load skeleton + footer copyright
 * ============================================================ */

/* Skeleton placeholder shown while a deferred AXcelerate calendar
   is being fetched. Mimics the rough row layout. */
.mlp-ax-skeleton{
  display:flex;flex-direction:column;gap:10px;padding:14px 4px;
}
.mlp-ax-skel-row{
  height:38px;
  background:linear-gradient(90deg,#F1F3F6 0%,#E5E7EB 50%,#F1F3F6 100%);
  background-size:200% 100%;
  border-radius:6px;
  animation:mlp-skel-shimmer 1.4s ease-in-out infinite;
}
.mlp-ax-skel-row:nth-child(2){animation-delay:.15s;width:92%}
.mlp-ax-skel-row:nth-child(3){animation-delay:.30s;width:85%}
@keyframes mlp-skel-shimmer{
  0%   {background-position:200% 0}
  100% {background-position:-200% 0}
}
@media (prefers-reduced-motion: reduce){
  .mlp-ax-skel-row{animation:none}
}

/* Footer / colophon */
.mlp-colophon{
  background:#0A1A2F;
  color:#CFE0F4;
  padding:22px 0;
  font-size:13px;
  line-height:1.55;
  text-align:center;
  border-top:1px solid rgba(255,255,255,.06);
}
.mlp-colophon strong{color:#FFEB99;font-weight:800}
.mlp-colophon a{color:#FFD166}
.mlp-colophon a:hover{color:#fff}
.mlp-colophon-row{
  max-width:var(--mlp-maxw);margin:0 auto;padding:0 22px;
}
.mlp-colophon-disclaimer{
  margin:0 0 8px;
  color:#E6EEF8;
}
.mlp-colophon-meta{
  margin:0;
  color:#9FB3CC;
  font-size:12px;
  letter-spacing:.3px;
}
.mlp-colophon-meta span{margin:0 8px}
@media (max-width:720px){
  .mlp-colophon{padding:18px 0;font-size:12.5px}
  .mlp-colophon-meta span{display:inline-block;margin:2px 6px}
}
