/* ============================================================
   Milcom Institute — Microsoft Professional Skills (staging)
   Brand: Milcom blue #0c4fb3, amber accent, RTO 6859
   ============================================================ */
:root{
  --navy:#081f3f; --navy-2:#0b2a54;
  --blue:#0c4fb3; --blue-d:#0a3f92; --blue-l:#e9f1fd; --sky:#1a6fe0;
  --amber:#ffb703; --amber-d:#e79c00; --amber-ink:#3d2c00;
  --ink:#0f1b2d; --body:#33425a; --muted:#5c6b81;
  --line:#e4eaf3; --line-2:#eef3fa;
  --bg:#ffffff; --soft:#f4f8fd; --soft-2:#eaf2fc;
  --ok:#0f7a4f;
  --warn-bg:#fff8e8; --warn-bd:#f2d488; --warn-tx:#6f5300;
  /* pathway accents. The -tx variants are the text-safe (AA on white) versions;
     the plain ones stay for fills, borders and gradients where contrast of the
     accent itself is not what a reader has to decode. */
  --p-ai:#6b46e5; --p-data:#0f9d8c; --p-cyber:#d6455f; --p-tech:#0c4fb3;
  --p-ai-tx:#5b34d8; --p-data-tx:#0f7a6d; --p-cyber-tx:#c62a46; --p-tech-tx:#0c4fb3;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --radius:14px; --radius-s:10px;
  --shadow-s:0 1px 2px rgba(11,31,64,.06),0 2px 8px rgba(11,31,64,.05);
  --shadow-m:0 6px 22px rgba(11,31,64,.10);
  --shadow-l:0 18px 48px rgba(11,31,64,.16);
  --maxw:1180px;
  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:var(--font); color:var(--body);
  background:var(--bg); line-height:1.6; -webkit-font-smoothing:antialiased;
  font-size:16.5px;
}
/* The Hello theme header/footer are replaced by the reusable Elementor templates. */
/* The plugin's own header and footer now render on every front-end view, so
   the theme's must step aside everywhere, not only on pages. */
body .site-header:not(.site-head),body .site-footer{display:none!important}
h1,h2,h3,h4{color:var(--ink); line-height:1.15; margin:0 0 .5em; letter-spacing:-.02em; font-weight:800}
h1{font-size:clamp(2rem,4.4vw,3.15rem)}
h2{font-size:clamp(1.5rem,3vw,2.15rem)}
h3{font-size:1.22rem}
p{margin:0 0 1rem}
a{color:var(--blue); text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 22px}
.section{padding:72px 0}
.section.tight{padding:48px 0}
.soft{background:var(--soft)}
.center{text-align:center}
.eyebrow{font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); margin:0 0 .7em}
.lede{font-size:1.15rem; color:var(--body); max-width:60ch}
.muted{color:var(--muted)}
.small{font-size:.86rem}

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; gap:.5em; font-weight:700; font-size:.98rem;
  padding:.8em 1.35em; border-radius:999px; border:1.5px solid transparent; cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease; text-decoration:none; white-space:nowrap}
.btn:hover{text-decoration:none; transform:translateY(-1px)}
.btn-primary{background:var(--amber); color:var(--amber-ink); box-shadow:var(--shadow-s)}
.btn-primary:hover{background:var(--amber-d); box-shadow:var(--shadow-m)}
.btn-blue{background:var(--blue); color:#fff}
.btn-blue:hover{background:var(--blue-d)}
.btn-ghost{background:#fff; color:var(--blue); border-color:var(--line)}
.btn-ghost:hover{border-color:var(--blue); background:var(--blue-l)}
.btn-ghost-light{background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.35)}
.btn-ghost-light:hover{background:rgba(255,255,255,.16)}
.btn-sm{padding:.55em 1em; font-size:.88rem}
.btn-block{width:100%; justify-content:center}
/* Native Elementor button widgets inherit the same visual system as the reference buttons. */
.elementor-widget-button.btn .elementor-button{display:inline-flex;align-items:center;gap:.5em;font-weight:700;font-size:.98rem;padding:.8em 1.35em;border-radius:999px;border:1.5px solid transparent;text-decoration:none;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.elementor-widget-button.btn-primary .elementor-button{background:var(--amber);color:var(--amber-ink)}
.elementor-widget-button.btn-blue .elementor-button{background:var(--blue);color:#fff}
.elementor-widget-button.btn-ghost .elementor-button{background:#fff;color:var(--blue);border-color:var(--line)}
.elementor-widget-button.btn-ghost-light .elementor-button{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.35)}
.elementor-widget-button.btn-sm .elementor-button{padding:.55em 1em;font-size:.88rem}
.elementor-widget-button.btn-block .elementor-button{width:100%;justify-content:center}
.elementor-widget-button.nav-link .elementor-button{padding:6px 2px!important;background:transparent!important;color:var(--ink)!important;border:0!important;box-shadow:none!important;white-space:nowrap!important}
.elementor-widget-button.nav-link .elementor-button-text{white-space:nowrap!important}
.elementor-widget-button.foot-link .elementor-button{padding:4px 0!important;background:transparent!important;color:#b9cbe6!important;border:0!important;box-shadow:none!important;text-align:left}

/* Keep Elementor's native widgets on the same text palette as the reference site. */
.milcom-native .elementor-heading-title{color:var(--ink)}
.milcom-native .elementor-widget-text-editor,.milcom-native .elementor-widget-text-editor p{color:var(--body)}
.milcom-native .elementor-widget-text-editor a{color:var(--blue)}
.milcom-native .elementor-widget-text-editor.eyebrow,.milcom-native .elementor-widget-text-editor.eyebrow p{color:var(--blue)}
.milcom-native .elementor-widget-text-editor.lede,.milcom-native .elementor-widget-text-editor.lede p{color:var(--body)}
.milcom-native .elementor-widget-text-editor.muted,.milcom-native .elementor-widget-text-editor.muted p,
.milcom-native .elementor-widget-text-editor.who,.milcom-native .elementor-widget-text-editor.who p,
.milcom-native .elementor-widget-text-editor.meta,.milcom-native .elementor-widget-text-editor.meta p{color:var(--muted)}
.milcom-native .elementor-widget-text-editor.course-code,.milcom-native .elementor-widget-text-editor.course-code p{color:var(--blue)}
.milcom-native .elementor-widget-text-editor.price,.milcom-native .elementor-widget-text-editor.price p{color:var(--muted)}
.milcom-native .elementor-widget-text-editor.price strong{color:var(--ink)}
.hero.milcom-native .elementor-heading-title,.course-hero.milcom-native .elementor-heading-title{color:#fff}
.hero.milcom-native .elementor-widget-text-editor,.hero.milcom-native .elementor-widget-text-editor p{color:#eaf2ff}
.hero.milcom-native .elementor-widget-text-editor.eyebrow,.hero.milcom-native .elementor-widget-text-editor.eyebrow p,
.course-hero.milcom-native .elementor-widget-text-editor.eyebrow,.course-hero.milcom-native .elementor-widget-text-editor.eyebrow p{color:#8fb5f0}
.hero.milcom-native .elementor-widget-text-editor.hero-outcome,.hero.milcom-native .elementor-widget-text-editor.hero-outcome p{color:#d9e6fb}
.hero.milcom-native .elementor-widget-text-editor.lede,.hero.milcom-native .elementor-widget-text-editor.lede p{color:#c7d8f2}
.course-hero.milcom-native .elementor-widget-text-editor.tagline,.course-hero.milcom-native .elementor-widget-text-editor.tagline p{color:#cfe0f8}
.site-head .elementor-heading-title.brand{color:var(--ink)}
.site-foot .elementor-heading-title,.site-foot .elementor-heading-title.brand{color:#fff}
.site-foot .elementor-widget-text-editor,.site-foot .elementor-widget-text-editor p{color:#b9cbe6}
.site-foot .foot-brand .elementor-widget-text-editor,.site-foot .foot-brand .elementor-widget-text-editor p{color:#93a9cc}
.site-foot .elementor-widget-text-editor.foot-contact,.site-foot .elementor-widget-text-editor.foot-contact p{color:#cdddf3}

/* Elementor can apply its global palette after the page stylesheet. These rules
   deliberately lock the visible course text to the reference site's colours. */
.milcom-page h1,.milcom-page h2,.milcom-page h3,.milcom-page h4,
.elementor-page .elementor-widget-heading .elementor-heading-title{color:var(--ink)!important}
.milcom-page .course-card h3,.elementor-page .course-card .elementor-heading-title{color:var(--ink)!important;font-weight:800!important}
.milcom-page .course-card .course-code{color:var(--blue)!important}
.milcom-page .course-card .meta{color:var(--muted)!important}
.milcom-page .course-card .desc{color:var(--body)!important}
.milcom-page .course-card .price{color:var(--muted)!important}
.milcom-page .course-card .price b{color:var(--ink)!important}
.milcom-page .course-card .lvl{background:var(--blue-l)!important;color:var(--blue-d)!important}
.milcom-page .course-card .lvl.assoc{background:#efe9ff!important;color:#5b34c9!important}
.milcom-page .course-card .lvl.adv{background:#e7f7f3!important;color:#0c7a6b!important}
/* Existing seeded homepage cards pre-date the assoc class. Preserve the exact
   reference colour treatment until that content is next regenerated. */
.milcom-page #courses .course-card:nth-child(2) .lvl,
.milcom-page #courses .course-card:nth-child(3) .lvl,
.milcom-page #courses .course-card:nth-child(4) .lvl,
.milcom-page #courses .course-card:nth-child(6) .lvl{background:#efe9ff!important;color:#5b34c9!important}

/* Native Elementor hero elements need a more specific colour/layout rule than
   the editable global heading defaults above. */
.hero.milcom-native .elementor-heading-title,.course-hero.milcom-native .elementor-heading-title{color:#fff!important}
.hero.milcom-native .elementor-widget-text-editor,.hero.milcom-native .elementor-widget-text-editor p{color:#eaf2ff!important}
.hero.milcom-native .elementor-widget-text-editor.eyebrow,.hero.milcom-native .elementor-widget-text-editor.eyebrow p,
.course-hero.milcom-native .elementor-widget-text-editor.eyebrow,.course-hero.milcom-native .elementor-widget-text-editor.eyebrow p{color:#8fb5f0!important}
.hero.milcom-native .elementor-widget-text-editor.hero-outcome,.hero.milcom-native .elementor-widget-text-editor.hero-outcome p{color:#d9e6fb!important}
.hero.milcom-native .elementor-widget-text-editor.lede,.hero.milcom-native .elementor-widget-text-editor.lede p{color:#c7d8f2!important}
.course-hero.milcom-native .elementor-widget-text-editor.tagline,.course-hero.milcom-native .elementor-widget-text-editor.tagline p{color:#cfe0f8!important}
.hero.milcom-native .preview-card .elementor-heading-title{color:#fff!important}
.hero.milcom-native .preview-card .elementor-widget-text-editor,.hero.milcom-native .preview-card .elementor-widget-text-editor p{color:#c3d5f0!important}
.hero.milcom-native .preview-card .preview-tag,.hero.milcom-native .preview-card .preview-tag p{color:#fff!important}
.hero.milcom-native .hero-cta>.elementor-element,.course-hero.milcom-native .hcta>.elementor-element{width:auto!important;flex:0 0 auto!important}
.hero.milcom-native .hero-cta .elementor-button,.course-hero.milcom-native .hcta .elementor-button{white-space:nowrap!important}

/* Elementor boxed containers place their editable children in .e-con-inner.
   Mirror the reference layout on that native wrapper. */
.elementor .wrap.e-con-boxed>.e-con-inner{width:100%;max-width:var(--maxw);margin:0 auto}
.elementor .hero-grid.e-con-boxed>.e-con-inner{display:grid!important;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center}
.elementor .hero-cta.e-con-boxed>.e-con-inner,
.elementor .hcta.e-con-boxed>.e-con-inner{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:14px;align-items:center}
.elementor .hero-cta.e-con-boxed>.e-con-inner>.elementor-element,
.elementor .hcta.e-con-boxed>.e-con-inner>.elementor-element{width:auto!important;max-width:none!important;flex:0 0 auto!important}
.elementor .preview-thumb.e-con-boxed>.e-con-inner{display:grid!important;place-items:center;position:relative;width:100%}
.elementor .trust-strip .wrap.e-con-boxed>.e-con-inner{display:flex!important;flex-direction:row!important;flex-wrap:wrap;justify-content:center;align-items:center;gap:26px 40px}
.elementor .labs-grid.e-con-boxed>.e-con-inner{display:grid!important;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.elementor .grid.e-con-boxed>.e-con-inner{display:grid!important;gap:22px;width:100%}
.elementor .grid.g-2.e-con-boxed>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
.elementor .grid.g-3.e-con-boxed>.e-con-inner{grid-template-columns:repeat(3,minmax(0,1fr))}
.elementor .grid.g-4.e-con-boxed>.e-con-inner{grid-template-columns:repeat(4,minmax(0,1fr))}
.elementor .ladder.e-con-boxed>.e-con-inner{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.elementor .steps.e-con-boxed>.e-con-inner{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.elementor .trainer-grid.e-con-boxed>.e-con-inner{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.elementor .why-grid.e-con-boxed>.e-con-inner{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.elementor .split.e-con-boxed>.e-con-inner{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.elementor .course-body.e-con-boxed>.e-con-inner{display:grid!important;grid-template-columns:1.55fr .95fr;gap:44px;align-items:start}
.elementor .foot-grid.e-con-boxed>.e-con-inner{display:grid!important;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px}
.elementor .nav.e-con-boxed>.e-con-inner{display:flex!important;flex-direction:row!important;align-items:center;gap:20px;width:100%;max-width:var(--maxw);margin:0 auto}
.elementor .nav-links.e-con-boxed>.e-con-inner{display:flex!important;flex-direction:row!important;align-items:center;gap:18px}
.elementor .nav-cta.e-con-boxed>.e-con-inner{display:flex!important;flex-direction:row!important;align-items:center;gap:11px}
.elementor .nav-links.e-con-boxed>.e-con-inner>.elementor-widget-button,
.elementor .nav-cta.e-con-boxed>.e-con-inner>.elementor-widget-button{width:auto!important;flex:0 0 auto!important}
.elementor .brand.e-con-boxed>.e-con-inner{display:flex!important;flex-direction:row!important;align-items:center;gap:11px}
.elementor .brand-copy.e-con-boxed>.e-con-inner{gap:0!important}
.elementor .section-intro.e-con-boxed>.e-con-inner{align-items:center;text-align:center;gap:0}
.elementor .section-intro .lede{margin:12px auto 28px;max-width:62ch}
.elementor .why-item.e-con-boxed>.e-con-inner{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px}
.elementor .feature-copy.e-con-boxed>.e-con-inner{gap:2px}
.elementor .feature-copy .elementor-heading-title{font-size:.95rem!important;margin:0;color:var(--ink)!important}
.elementor .feature-copy .elementor-widget-text-editor p{font-size:.85rem;color:var(--muted);margin:0}
.elementor .head.e-con-boxed>.e-con-inner,
.elementor .cc-foot.e-con-boxed>.e-con-inner,
.elementor .codes.e-con-boxed>.e-con-inner,
.elementor .labs-punch.e-con-boxed>.e-con-inner,
.elementor .btns.e-con-boxed>.e-con-inner,
.elementor .foot-legal.e-con-boxed>.e-con-inner{display:flex!important;flex-direction:row!important;align-items:center}
.elementor .head.e-con-boxed>.e-con-inner,.elementor .cc-foot.e-con-boxed>.e-con-inner{justify-content:space-between}
.elementor .codes.e-con-boxed>.e-con-inner,.elementor .labs-punch.e-con-boxed>.e-con-inner{flex-wrap:wrap}
.elementor .btns.e-con-boxed>.e-con-inner{justify-content:center;flex-wrap:wrap;gap:14px}
.elementor .foot-legal.e-con-boxed>.e-con-inner{justify-content:space-between;flex-wrap:wrap}
.elementor .section.e-con-full{padding:72px max(22px,calc((100% - var(--maxw))/2))!important}
.elementor .section.tight.e-con-full{padding-top:48px!important;padding-bottom:48px!important}
.elementor .hero.milcom-native.e-con-full{padding:76px max(22px,calc((100% - var(--maxw))/2)) 82px!important}
.elementor .course-hero.milcom-native.e-con-full{padding:36px max(22px,calc((100% - var(--maxw))/2)) 44px!important}
.elementor .site-foot.e-con-full{padding:56px max(22px,calc((100% - var(--maxw))/2)) 30px!important}

.elementor .topbar.e-con-full{padding:0!important}
.elementor .topbar .elementor-widget-text-editor{margin:0;width:100%;text-align:center}
.elementor .topbar .elementor-widget-text-editor p{margin:0;color:#dbe7fb}
.elementor .site-head.e-con-full{padding:0 22px!important}
.elementor .site-head .nav.e-con-boxed{width:100%;max-width:var(--maxw);margin:0 auto!important}
.elementor .site-head .nav>.e-con-inner>.brand,
.elementor .site-head .nav>.e-con-inner>.nav-links{width:auto!important;flex:0 0 auto!important}
.elementor .site-head .nav>.e-con-inner>.nav-cta{width:auto!important;flex:0 0 auto!important;margin-left:auto}
.elementor .hero-grid.e-con,
.elementor .hero-copy.e-con,
.elementor .hero-cta.e-con,
.elementor .trust-strip .wrap.e-con,
.elementor .labs-grid.e-con,
.elementor .grid.e-con,
.elementor .ladder.e-con,
.elementor .steps.e-con,
.elementor .trainer-grid.e-con,
.elementor .why-grid.e-con,
.elementor .split.e-con,
.elementor .course-body.e-con,
.elementor .section-intro.e-con,
.elementor .head.e-con,
.elementor .cc-foot.e-con,
.elementor .codes.e-con,
.elementor .btns.e-con,
.elementor .foot-grid.e-con,
.elementor .nav.e-con,
.elementor .nav-links.e-con,
.elementor .nav-cta.e-con,
.elementor .brand.e-con,
.elementor .brand-copy.e-con,
.elementor .feature-copy.e-con{padding:0!important}
.elementor .brand .logo{flex:0 0 38px;margin:0}
.elementor .brand .logo p{margin:0;color:#fff}
.elementor .brand-name .elementor-heading-title{font-size:1.18rem!important;white-space:nowrap;color:var(--ink)!important}
.elementor .brand .sub,.elementor .brand .sub p{margin:0;color:var(--muted);white-space:nowrap}
.elementor .nav-phone .elementor-button{padding:0!important;background:transparent!important;border:0!important;color:var(--ink)!important;font-weight:700}
.elementor .menu-btn{display:none}
.elementor .nav-account{width:auto!important;flex:0 0 auto!important}
.nav-account-link{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:.88rem;color:var(--ink);white-space:nowrap;padding:7px 13px;border:1.5px solid var(--line);border-radius:999px;background:#fff}
.nav-account-link:hover{color:var(--blue);border-color:var(--blue);text-decoration:none}
.nav-account-link .nav-account-icon{font-size:.55rem;color:var(--muted);line-height:1}
.nav-account-link.is-signed-in .nav-account-icon{color:#16a34a}
.elementor .preview-card>.e-con-inner{gap:0}
.elementor .preview-meta>.e-con-inner{gap:0}
.elementor .preview-meta .elementor-widget-text-editor p{margin:0}
.elementor .preview-thumb .preview-tag{position:absolute!important;top:12px!important;left:12px!important;z-index:2!important;width:auto!important}
.elementor .preview-card>.e-con-inner>.btn-block{width:calc(100% - 36px)!important;margin:0 18px 18px!important}
.elementor .lab-shot>.e-con-inner{gap:0}
.elementor .lab-bar{padding:11px 14px;background:#0e2748;border-bottom:1px solid rgba(255,255,255,.08)}
.elementor .lab-bar p{margin:0;color:#9db6de;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem}
.elementor .lab-screen{padding:18px;min-height:230px;background:linear-gradient(180deg,#0b1f3a,#0c2a52)}
.elementor .lab-screen p{margin:0;color:#cfe0f8;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.7}
.elementor .tier>.e-con-inner{gap:0}
.elementor .tier-list ul{margin:14px 0 0}
.elementor .tier-list p{margin:0}
.elementor .step>.e-con-inner{gap:0}
.elementor .step .num p{margin:0}
.elementor .path-card>.e-con-inner,.elementor .course-card>.e-con-inner{gap:0}
.elementor .path-card .codes{margin:6px 0 14px}
.elementor .path-card .btn{margin-top:auto}
.elementor .course-card .desc{flex:1}
.elementor .course-card .cc-foot{margin-top:auto}
.elementor .trainer-card>.e-con-inner{align-items:center;text-align:center;gap:0}
.elementor .avatar p{margin:0;color:#fff}
.elementor .accent-ai{--accent:var(--p-ai)}
.elementor .accent-data{--accent:var(--p-data)}
.elementor .accent-cyber{--accent:var(--p-cyber)}
.elementor .accent-tech{--accent:var(--p-tech)}
.elementor .path-card.accent-ai{--accent:var(--p-ai)}
.elementor .path-card.accent-data{--accent:var(--p-data)}
.elementor .path-card.accent-cyber{--accent:var(--p-cyber)}
.elementor .path-card.accent-tech{--accent:var(--p-tech)}
.elementor .avatar.accent-ai{background:linear-gradient(135deg,var(--p-ai),#0b2c59)}
.elementor .avatar.accent-data{background:linear-gradient(135deg,var(--p-data),#0b2c59)}
.elementor .avatar.accent-cyber{background:linear-gradient(135deg,var(--p-cyber),#0b2c59)}
.elementor .avatar.accent-tech{background:linear-gradient(135deg,var(--p-tech),#0b2c59)}
.elementor .faq.elementor-widget-accordion{max-width:820px;margin:28px auto 0;text-align:left}
.elementor .faq.e-con-boxed{width:100%;max-width:820px;margin:28px auto 0!important;padding:0!important;text-align:left}
.elementor .faq.e-con-boxed>.e-con-inner{gap:0}
.elementor .faq-entry{width:100%}
.elementor .faq-entry>.elementor-widget-container>p:empty{display:none}
.elementor .faq .elementor-accordion-item{border:1px solid var(--line)!important;border-radius:12px;margin-bottom:12px;background:#fff;box-shadow:var(--shadow-s);overflow:hidden}
.elementor .faq .elementor-tab-title{padding:18px 20px!important;font-weight:700;color:var(--ink)!important;border:0!important}
.elementor .faq .elementor-tab-content{padding:16px 20px 20px!important;color:var(--body)!important;border-top:1px solid var(--line-2)!important}
.elementor .faq .elementor-tab-title a,.elementor .faq .elementor-accordion-icon{color:var(--ink)!important}
.elementor .faq .elementor-tab-title.elementor-active a,.elementor .faq .elementor-tab-title.elementor-active .elementor-accordion-icon{color:var(--blue)!important}
.elementor .tbl-wrap a{color:var(--blue)!important}
.elementor .topbar .elementor-widget-text-editor a{color:var(--amber)!important}
.elementor .site-foot>.e-con-inner{gap:0}
.elementor .site-foot .foot-col>.e-con-inner{gap:0}
.elementor .site-foot .scope>.e-con-inner{gap:0}
.elementor .site-foot .disclaim{padding:14px 16px}
.elementor .site-foot .foot-legal{padding-top:20px;margin-top:22px}
.elementor .hero.milcom-native h1.elementor-heading-title{font-size:clamp(2rem,4.4vw,3.15rem)!important;line-height:1.15!important;font-weight:800!important}

@media(max-width:960px){
  .elementor .hero-grid.e-con-boxed>.e-con-inner,
  .elementor .labs-grid.e-con-boxed>.e-con-inner,
  .elementor .course-body.e-con-boxed>.e-con-inner,
  .elementor .split.e-con-boxed>.e-con-inner{grid-template-columns:1fr}
  .elementor .grid.g-4.e-con-boxed>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .elementor .grid.g-3.e-con-boxed>.e-con-inner,
  .elementor .ladder.e-con-boxed>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .elementor .steps.e-con-boxed>.e-con-inner{grid-template-columns:repeat(3,minmax(0,1fr))}
  .elementor .trainer-grid.e-con-boxed>.e-con-inner,
  .elementor .why-grid.e-con-boxed>.e-con-inner,
  .elementor .foot-grid.e-con-boxed>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .elementor .grid.g-2.e-con-boxed>.e-con-inner,
  .elementor .grid.g-3.e-con-boxed>.e-con-inner,
  .elementor .grid.g-4.e-con-boxed>.e-con-inner,
  .elementor .ladder.e-con-boxed>.e-con-inner,
  .elementor .steps.e-con-boxed>.e-con-inner,
  .elementor .trainer-grid.e-con-boxed>.e-con-inner,
  .elementor .why-grid.e-con-boxed>.e-con-inner{grid-template-columns:1fr}
  .elementor .section.e-con-full{padding-top:52px!important;padding-bottom:52px!important}
}

@media(max-width:1180px){
  .elementor .site-head.e-con-full{padding:0 22px!important}
  .elementor .site-head .nav.e-con-boxed,
  .elementor .site-head .nav.e-con-boxed>.e-con-inner{height:70px!important;min-height:70px!important}
  .elementor .site-head .nav.e-con-boxed>.e-con-inner{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:nowrap!important;position:relative}
  .elementor .site-head .brand>.e-con-inner>.elementor-element{width:auto!important;flex:0 0 auto!important}
  .elementor .site-head .brand>.e-con-inner>.logo{width:38px!important;min-width:38px!important;flex:0 0 38px!important}
  .elementor .site-head .brand-copy>.e-con-inner>.elementor-element{width:auto!important}
  .elementor .site-head .brand-name .elementor-heading-title{font-size:1rem!important}
  .elementor .site-head .brand .sub,.elementor .site-head .brand .sub p{font-size:.56rem!important}
  .elementor .site-head .nav-links{display:none!important;position:absolute!important;top:70px;left:-22px;right:-22px;width:auto!important;background:#fff;border-bottom:1px solid var(--line);padding:12px 22px!important;box-shadow:var(--shadow-m);z-index:80}
  .elementor .site-head .nav-links.open{display:block!important}
  .elementor .site-head .nav-links>.e-con-inner{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0}
  .elementor .site-head .nav-links>.e-con-inner>.elementor-widget-button{width:100%!important}
  .elementor .site-head .nav-links .elementor-button{width:100%!important;justify-content:flex-start;padding:11px 4px!important;border-bottom:1px solid var(--line-2)!important}
  .elementor .site-head .nav-cta{margin-left:auto!important}
  .elementor .site-head .nav-cta .nav-phone,
  .elementor .site-head .nav-cta .btn-primary{display:none!important}
  .elementor .site-head .nav-cta .nav-account{display:block!important}
  .nav-account-link{padding:6px 11px;font-size:.82rem}
  .elementor .site-head .nav-cta .menu-btn{display:block!important;width:auto!important}
  .elementor .site-head .menu-btn .elementor-button{display:block!important;background:#fff!important;color:var(--ink)!important;border:1.5px solid var(--line)!important;border-radius:9px!important;padding:8px 11px!important;font-size:1rem!important}
}

/* ---------- announcement bar ---------- */
.topbar{background:linear-gradient(90deg,var(--navy),var(--navy-2)); color:#dbe7fb; font-size:.83rem;
  text-align:center; padding:.55rem 16px}
.topbar strong{color:#fff}
.topbar a{color:var(--amber); font-weight:700}

/* ---------- header ---------- */
.site-head{position:sticky; top:0; z-index:60; background:rgba(255,255,255,.94);
  backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--line)}
.nav{display:flex; align-items:center; gap:18px; height:70px}
.brand{display:flex; align-items:center; gap:11px; font-weight:800; color:var(--ink); font-size:1.18rem; letter-spacing:-.02em}
.brand:hover{text-decoration:none}
.brand .logo{width:38px; height:38px; border-radius:9px; background:linear-gradient(135deg,var(--blue),var(--sky));
  display:grid; place-items:center; color:#fff; font-weight:800; font-size:1.05rem; box-shadow:var(--shadow-s)}
.brand .sub{display:block; font-size:.64rem; font-weight:700; letter-spacing:.12em; color:var(--muted); text-transform:uppercase; margin-top:1px}
.nav-links{display:flex; gap:16px; margin-left:4px; white-space:nowrap}
.nav-links a{color:var(--ink); font-weight:600; font-size:.88rem; line-height:1.2; padding:6px 2px; position:relative; white-space:nowrap}
.nav-links a:hover{color:var(--blue); text-decoration:none}
.nav-links a.active{color:var(--blue)}
.nav-links a.active::after{content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--amber); border-radius:2px}
.nav-cta{margin-left:auto; display:flex; align-items:center; gap:12px; white-space:nowrap}
.nav-phone{font-weight:700; color:var(--ink); font-size:.92rem; white-space:nowrap}
.nav-phone span{color:var(--muted); font-weight:600}
.menu-btn{display:none; background:none; border:1.5px solid var(--line); border-radius:9px; padding:8px 10px; cursor:pointer}
.menu-btn span{display:block; width:20px; height:2px; background:var(--ink); margin:4px 0; border-radius:2px}

/* ---------- hero ---------- */
.hero{position:relative; color:#eaf2ff; overflow:hidden;
  background:radial-gradient(1100px 520px at 80% -10%,#16457f 0%,transparent 55%),linear-gradient(160deg,#071b38,#0b2c59 88%)}
.hero::after{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:46px 46px; mask:radial-gradient(700px 380px at 82% 8%,#000,transparent 70%); pointer-events:none}
.hero .wrap{position:relative; z-index:2; padding-top:76px; padding-bottom:82px}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:52px; align-items:center}
.hero h1{color:#fff; max-width:16ch}
.hero .lede{color:#c7d8f2; font-size:1.18rem; max-width:52ch}
.hero-badges{display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 26px}
.hero-badge{display:inline-flex; align-items:center; gap:7px; font-size:.82rem; font-weight:600;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:#dce8fb; padding:6px 12px; border-radius:999px}
.hero-cta{display:flex; flex-wrap:wrap; gap:14px}
.hero-panel{background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.15); border-radius:18px; padding:24px; backdrop-filter:blur(6px)}
.hero-panel h3{color:#fff; font-size:1.02rem; margin-bottom:14px; display:flex; align-items:center; gap:8px}
.hero-panel ul{list-style:none; margin:0; padding:0}
.hero-panel li{display:flex; gap:11px; padding:11px 0; border-top:1px solid rgba(255,255,255,.1); color:#d5e3f8; font-size:.92rem}
.hero-panel li:first-child{border-top:none}
.hero-panel .ic{flex:none; width:26px; height:26px; border-radius:7px; background:rgba(255,183,3,.18); color:var(--amber); display:grid; place-items:center; font-size:.9rem}
.trust-strip{border-top:1px solid rgba(255,255,255,.12); background:rgba(0,0,0,.14)}
.trust-strip .wrap{display:flex; flex-wrap:wrap; gap:26px 40px; padding:18px 22px; justify-content:center; align-items:center}
.trust-item{display:flex; align-items:center; gap:9px; color:#bcd0ee; font-size:.86rem; font-weight:600}
.trust-item b{color:#fff}

/* ---------- stats ---------- */
.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.stat{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow-s)}
.stat .n{font-size:1.9rem; font-weight:800; color:var(--blue); letter-spacing:-.03em}
.stat .l{font-size:.9rem; color:var(--muted); font-weight:600}

/* ---------- notices (compliance) ---------- */
.notice{background:var(--warn-bg); border:1px solid var(--warn-bd); border-radius:var(--radius-s);
  padding:14px 16px; color:var(--warn-tx); font-size:.9rem; display:flex; gap:11px; align-items:flex-start}
.notice .ic{flex:none; font-size:1rem; line-height:1.4}
.notice strong{color:#4d3900}

/* ---------- generic cards ---------- */
.grid{display:grid; gap:22px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow-s);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s}
.card.hoverable:hover{transform:translateY(-3px); box-shadow:var(--shadow-m); border-color:#cfe0f7}
.icon-chip{width:46px; height:46px; border-radius:12px; display:grid; place-items:center; font-size:1.4rem; margin-bottom:14px}

/* value props */
.vp .icon-chip{background:var(--blue-l); color:var(--blue)}

/* pathway cards */
.path-card{display:flex; flex-direction:column; border-top:4px solid var(--accent,var(--blue))}
.path-card .tag{font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent,var(--blue))}
.path-card .icon-chip{background:color-mix(in srgb,var(--accent) 12%,#fff); color:var(--accent)}
.path-card .codes{display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 14px}
.chip{display:inline-block; font-size:.76rem; font-weight:700; padding:3px 9px; border-radius:6px; background:var(--soft-2); color:var(--blue-d); border:1px solid var(--line)}
.path-card .foot{margin-top:auto; padding-top:16px}
.path-card .who{font-size:.86rem; color:var(--muted)}

/* course cards */
.course-card{position:relative; display:flex; flex-direction:column}
.course-card .head{display:flex; align-items:flex-start; justify-content:space-between; gap:10px}
.course-code{font-weight:800; color:var(--blue); font-size:.82rem; letter-spacing:.04em}
.lvl{font-size:.72rem; font-weight:700; padding:3px 9px; border-radius:999px; background:var(--blue-l); color:var(--blue-d); white-space:nowrap}
.lvl.assoc{background:#efe9ff; color:#5b34c9}
.lvl.adv{background:#e7f7f3; color:#0c7a6b}
.course-card h3{margin:.35em 0 .3em; font-size:1.08rem}
.course-card .meta{font-size:.82rem; color:var(--muted); margin-bottom:10px}
.course-card .desc{font-size:.92rem; color:var(--body); margin-bottom:16px; flex:1}
.course-card .price{font-size:.85rem; color:var(--muted)}
.course-card .price b{color:var(--ink); font-size:1.05rem}
.course-card .cc-foot{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line-2)}

/* ---------- product ladder ---------- */
.ladder{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.tier{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px; position:relative; box-shadow:var(--shadow-s)}
.tier.rec{border-color:var(--blue); box-shadow:0 10px 30px rgba(12,79,179,.14)}
.tier .flag{position:absolute; top:-13px; left:26px; background:var(--blue); color:#fff; font-size:.72rem; font-weight:700;
  padding:4px 12px; border-radius:999px; letter-spacing:.04em}
.tier h3{margin-bottom:4px}
.tier .for{font-size:.86rem; color:var(--muted); min-height:2.4em}
.tier .hrs{font-size:.9rem; font-weight:700; color:var(--blue-d); margin:12px 0}
.tier ul{list-style:none; padding:0; margin:14px 0 0; font-size:.9rem}
.tier li{padding:7px 0 7px 26px; position:relative; border-top:1px solid var(--line-2)}
.tier li::before{content:"✓"; position:absolute; left:0; top:7px; color:var(--ok); font-weight:800}

/* ---------- tables ----------
   Scoped to .tbl-wrap. As bare element selectors these leaked into every table
   on the site: the WooCommerce cart's column headings inherited color:#fff
   without the navy background and vanished against the white page. */
.tbl-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-s)}
.tbl-wrap table{border-collapse:collapse; width:100%; min-width:640px; background:#fff; font-size:.92rem}
.tbl-wrap thead th{background:var(--navy); color:#fff; text-align:left; padding:14px 16px; font-weight:700; font-size:.86rem; letter-spacing:.01em}
.tbl-wrap thead th:first-child{border-top-left-radius:0}
.tbl-wrap tbody td{padding:13px 16px; border-top:1px solid var(--line)}
.tbl-wrap tbody tr:nth-child(even){background:var(--soft)}
.tbl-wrap tbody tr:hover{background:var(--soft-2)}
.tbl-wrap td .rec-tag{font-size:.68rem; font-weight:700; color:var(--blue); background:var(--blue-l); padding:2px 7px; border-radius:5px; margin-left:6px}
.price-cell{font-weight:800; color:var(--ink); white-space:nowrap}
.course-link-cell a{font-weight:700}

/* ---------- course detail ---------- */
.breadcrumb{font-size:.84rem; color:var(--muted); padding:16px 0}
.breadcrumb a{color:var(--muted)}
.breadcrumb b{color:var(--body)}
.course-hero{background:linear-gradient(160deg,#071b38,#0b2c59); color:#eaf2ff; padding:36px 0 44px}
.course-hero .kick{display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:.8rem; color:#bcd0ee; margin-bottom:12px}
.course-hero .kick .dot{opacity:.5}
.course-hero h1{color:#fff}
.course-hero .tagline{color:#cfe0f8; font-size:1.12rem; max-width:60ch; margin-bottom:20px}
.course-hero .hcta{display:flex; flex-wrap:wrap; gap:12px; align-items:center}
.course-hero .price-quick{margin-left:auto; text-align:right; color:#cfe0f8; font-size:.86rem}
.course-hero .price-quick b{display:block; color:#fff; font-size:1.5rem; font-weight:800}
.course-body{display:grid; grid-template-columns:1.55fr .95fr; gap:44px; align-items:start; padding:52px 0}
.prose h2{font-size:1.4rem; margin-top:36px}
.prose h2:first-child{margin-top:0}
.prose ul{padding-left:0; list-style:none; margin:0 0 18px}
.prose ul li{position:relative; padding:8px 0 8px 30px; border-bottom:1px solid var(--line-2)}
.prose ul li::before{content:""; position:absolute; left:6px; top:16px; width:8px; height:8px; border-radius:50%; background:var(--amber)}
.rel-list{display:flex; flex-direction:column; gap:8px}
.rel-list a{display:flex; justify-content:space-between; gap:10px; padding:12px 14px; border:1px solid var(--line);
  border-radius:10px; font-weight:600; color:var(--ink); background:#fff}
.rel-list a:hover{border-color:var(--blue); background:var(--blue-l); text-decoration:none}
.rel-list a span{color:var(--muted); font-weight:600; font-size:.85rem}
/* sidebar */
.side{position:sticky; top:90px; display:flex; flex-direction:column; gap:18px}
.side-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow-s)}
.side-card h3{font-size:1rem; margin-bottom:14px}
.opt{border:1px solid var(--line); border-radius:11px; padding:14px; margin-bottom:11px; transition:border-color .15s, box-shadow .15s}
.opt:hover{border-color:#cfe0f7}
.opt.rec{border-color:var(--blue); box-shadow:0 6px 18px rgba(12,79,179,.1)}
.opt .ot{display:flex; justify-content:space-between; align-items:baseline; gap:8px}
.opt .on{font-weight:700; color:var(--ink); font-size:.94rem}
.opt .op{font-weight:800; color:var(--blue); white-space:nowrap}
.opt .of{font-size:.82rem; color:var(--muted); margin:3px 0 10px}
.addon{font-size:.82rem; color:var(--body); background:var(--soft); border-radius:9px; padding:11px 13px; margin-top:6px}
.sched-tbl{width:100%; min-width:0; font-size:.83rem; border-collapse:collapse; background:#fff}
.sched-tbl thead th{background:var(--soft-2); color:var(--blue-d); padding:9px 10px; font-size:.74rem}
.sched-tbl tbody td{padding:9px 10px; border-top:1px solid var(--line-2)}
.sched-tbl tbody tr:nth-child(even){background:#fff}

/* ---------- FAQ ---------- */
.faq{max-width:820px; margin:0 auto}
.faq details{border:1px solid var(--line); border-radius:12px; margin-bottom:12px; background:#fff; box-shadow:var(--shadow-s); overflow:hidden}
.faq summary{cursor:pointer; padding:18px 20px; font-weight:700; color:var(--ink); list-style:none; display:flex; justify-content:space-between; gap:14px; align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; color:var(--blue); font-size:1.4rem; font-weight:400; transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details[open] summary{border-bottom:1px solid var(--line-2)}
.faq .a{padding:16px 20px 20px; color:var(--body); font-size:.95rem}

/* ---------- CTA band ---------- */
.cta-band{background:linear-gradient(135deg,var(--blue),#0a3f92); color:#fff; border-radius:20px; padding:48px; text-align:center; box-shadow:var(--shadow-l)}
.cta-band h2{color:#fff}
.cta-band p{color:#d5e3f8; max-width:56ch; margin:0 auto 24px}
.cta-band .btns{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}

/* ---------- footer ---------- */
.site-foot{background:var(--navy); color:#b9cbe6; padding:56px 0 30px; font-size:.9rem}
.foot-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:34px; margin-bottom:36px}
.site-foot h4{color:#fff; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px}
.site-foot a{color:#b9cbe6; display:block; padding:4px 0}
.site-foot a:hover{color:#fff}
.foot-brand .brand{color:#fff; margin-bottom:12px}
.foot-brand .brand .logo{background:linear-gradient(135deg,var(--sky),var(--blue))}
.foot-brand p{color:#93a9cc; max-width:34ch; font-size:.88rem}
.foot-contact{color:#cdddf3; font-weight:700; font-size:1.05rem; margin-bottom:6px}
.scope{border-top:1px solid rgba(255,255,255,.12); padding-top:24px; color:#8ba3c6; font-size:.8rem}
.scope ul{padding-left:18px; margin:12px 0}
.scope li{margin-bottom:6px}
.scope .disclaim{background:rgba(255,183,3,.08); border:1px solid rgba(255,183,3,.25); border-radius:10px; padding:14px 16px; color:#e7d3a0; margin:16px 0}
.foot-legal{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; border-top:1px solid rgba(255,255,255,.12); padding-top:20px; margin-top:22px; color:#7e97bc; font-size:.8rem}

/* ---------- reveal animation ---------- */
.reveal{opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease}
.reveal.in{opacity:1; transform:none}

/* ---------- responsive ---------- */
@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr; gap:34px}
  .course-body{grid-template-columns:1fr; gap:28px}
  .side{position:static}
  .g-4,.stats{grid-template-columns:repeat(2,1fr)}
  .g-3,.ladder{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .nav-links{display:none; position:absolute; top:70px; left:0; right:0; flex-direction:column; background:#fff;
    border-bottom:1px solid var(--line); padding:12px 22px; gap:4px; box-shadow:var(--shadow-m)}
  .nav-links.open{display:flex}
  .nav-links a{padding:11px 4px; border-bottom:1px solid var(--line-2)}
  .menu-btn{display:block; margin-left:auto; order:3}
  .nav-cta .btn:not(.nav-phone){display:none}
  .nav-phone{display:none}
  .menu-btn{margin-left:auto}
  .section{padding:52px 0}
  .g-2,.g-3,.g-4,.ladder,.stats{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .course-hero .price-quick{margin-left:0; text-align:left; margin-top:8px}
  .cta-band{padding:34px 22px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important}
  .reveal{opacity:1 !important; transform:none !important; transition:none}
  .btn:hover,.card.hoverable:hover{transform:none}
}

/* ============================================================
   Homepage v2 enhancements (per feedback)
   ============================================================ */
.hero-outcome{font-size:1.02rem; color:#d9e6fb; font-weight:600; margin:2px 0 14px; max-width:52ch}
.hero-metaline{display:inline-flex; flex-wrap:wrap; gap:8px 14px; align-items:center; background:rgba(255,183,3,.12);
  border:1px solid rgba(255,183,3,.32); color:#ffe6ad; border-radius:999px; padding:8px 16px; font-size:.86rem; font-weight:600; margin-bottom:22px}
.hero-metaline b{color:#fff}
.hero-metaline .sep{opacity:.4}
.hero-cta{gap:12px}

/* preview card in hero */
.preview-card{background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.16); border-radius:18px; overflow:hidden; box-shadow:var(--shadow-l)}
.preview-thumb{position:relative; aspect-ratio:16/10; background:
  radial-gradient(120px 120px at 30% 30%,rgba(26,111,224,.5),transparent 70%),
  radial-gradient(160px 160px at 78% 70%,rgba(107,70,229,.4),transparent 70%),
  linear-gradient(135deg,#0c2a52,#123a74); display:grid; place-items:center; cursor:pointer}
.preview-thumb .grid-ov{position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:30px 30px; opacity:.5}
.play-btn{position:relative; z-index:2; width:70px; height:70px; border-radius:50%; background:var(--amber); color:#3d2c00;
  display:grid; place-items:center; box-shadow:0 8px 26px rgba(0,0,0,.35); border:none; cursor:pointer; transition:transform .15s}
.play-btn:hover{transform:scale(1.06)}
.play-btn p{margin:0!important;color:#3d2c00!important}
.play-btn svg{margin-left:4px}
.preview-tag{position:absolute; top:12px; left:12px; z-index:2; background:rgba(0,0,0,.5); color:#fff;
  font-size:.72rem; font-weight:700; padding:5px 10px; border-radius:999px; letter-spacing:.03em}
.preview-meta{padding:16px 18px}
.preview-meta h3{color:#fff; font-size:1rem; margin-bottom:4px}
.preview-meta p{color:#c3d5f0; font-size:.85rem; margin:0}
.preview-card .btn{margin:0 18px 18px}

/* hosted labs feature */
.labs-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:44px; align-items:center}
.labs-list{list-style:none; padding:0; margin:18px 0 0}
.labs-list li{position:relative; padding:10px 0 10px 34px; font-weight:500; color:var(--body); border-top:1px solid var(--line-2)}
.labs-list li:first-child{border-top:none}
.labs-list li::before{content:"✓"; position:absolute; left:4px; top:11px; width:20px; height:20px; border-radius:6px;
  background:var(--blue-l); color:var(--blue); font-size:.8rem; font-weight:800; display:grid; place-items:center}
.lab-shot{border-radius:16px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-m); background:#0b1f3a}
.lab-shot .bar{display:flex; align-items:center; gap:6px; padding:11px 14px; background:#0e2748; border-bottom:1px solid rgba(255,255,255,.08)}
.lab-shot .bar i{width:11px; height:11px; border-radius:50%; display:inline-block}
.lab-shot .bar .u{margin-left:12px; font-size:.72rem; color:#9db6de; font-family:ui-monospace,Menlo,Consolas,monospace}
.lab-shot .scr{padding:18px; min-height:230px; background:
  linear-gradient(180deg,#0b1f3a,#0c2a52); color:#cfe0f8; font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.78rem; line-height:1.7}
.lab-shot .scr .k{color:#7fd7ff}.lab-shot .scr .g{color:#8ef0b8}.lab-shot .scr .y{color:#ffcf6b}.lab-shot .scr .m{color:#c9b6ff}
.lab-shot .chips{display:flex; gap:8px; flex-wrap:wrap; margin-top:14px}
.lab-shot .chips span{font-size:.68rem; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); color:#bcd0ee; padding:4px 9px; border-radius:6px}
.sample-note{font-size:.74rem; color:var(--muted); text-align:center; margin-top:8px; font-style:italic}

/* comparison table */
/* The first column is sticky while the table scrolls sideways, so it needs an
   opaque background of its own — `inherit` resolved to the transparent row and
   let the white table body show straight through the navy header cell. */
.compare th:first-child,.compare td:first-child{position:sticky; left:0}
.compare thead th:first-child{background:var(--navy); color:#fff}
.compare tbody td:first-child{background:#fff}
.compare tbody tr:nth-child(even) td:first-child{background:var(--soft)}
.compare tbody tr:hover td:first-child{background:var(--soft-2)}
.compare .yes{color:var(--ok); font-weight:800}
.compare .no{color:#c2ccd9}
.badge-pop{background:var(--amber); color:var(--amber-ink); font-size:.66rem; font-weight:800; padding:2px 8px; border-radius:999px; margin-left:6px; letter-spacing:.03em; text-transform:uppercase}

/* readiness pathway stepper */
.steps{display:grid; grid-template-columns:repeat(6,1fr); gap:14px; counter-reset:s; margin-top:36px}
.step{position:relative; background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px 16px; box-shadow:var(--shadow-s)}
.step .num{counter-increment:s; width:34px; height:34px; border-radius:9px; background:var(--blue); color:#fff;
  display:grid; place-items:center; font-weight:800; margin-bottom:12px}
.step .num::before{content:counter(s)}
.step h4{font-size:.98rem; margin:0 0 4px}
.step p{font-size:.82rem; color:var(--muted); margin:0}
.step::after{content:"→"; position:absolute; right:-13px; top:50%; transform:translateY(-50%); color:var(--line); font-weight:800; z-index:2}
.step:last-child::after{display:none}

/* trainer cards */
.trainer-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:36px}
.trainer-card{text-align:center}
.avatar{width:76px; height:76px; border-radius:50%; margin:0 auto 14px; display:grid; place-items:center;
  font-weight:800; font-size:1.5rem; color:#fff; letter-spacing:.02em}
.trainer-card h4{margin:0 0 2px; font-size:1.05rem}
.trainer-card .role{font-size:.78rem; font-weight:700; color:var(--blue); letter-spacing:.04em; text-transform:uppercase}
.trainer-card .spec{display:inline-block; margin:10px 0; font-size:.78rem; font-weight:700; padding:4px 11px; border-radius:999px; background:var(--soft-2); color:var(--blue-d)}
.trainer-card .q{font-size:.88rem; color:var(--body)}

/* individuals / teams split */
.split{display:grid; grid-template-columns:1fr 1fr; gap:26px}
.split .card h3{display:flex; align-items:center; gap:10px}
.split .card .big-ic{font-size:1.5rem}
.split ul{list-style:none; padding:0; margin:14px 0 20px}
.split li{position:relative; padding:8px 0 8px 26px; font-size:.94rem; border-top:1px solid var(--line-2)}
.split li::before{content:"›"; position:absolute; left:6px; top:8px; color:var(--blue); font-weight:800}
.split .b2b{background:linear-gradient(165deg,#0c2a52,#0b1f3a); color:#dbe7fb; border-color:#0c2a52}
.split .b2b h3,.split .b2b b{color:#fff}
.split .b2b li{border-top-color:rgba(255,255,255,.1)}
.split .b2b li::before{color:var(--amber)}

/* why-choose proof */
.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px}
.why-item{display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:12px; padding:18px; box-shadow:var(--shadow-s)}
.why-item .ic{flex:none; width:38px; height:38px; border-radius:10px; background:var(--blue-l); color:var(--blue); display:grid; place-items:center; font-size:1.1rem}
.why-item b{display:block; color:var(--ink); font-size:.95rem}
.why-item span{font-size:.85rem; color:var(--muted)}

/* sticky mobile CTA */
.mobile-cta{display:none}
@media(max-width:760px){
  .mobile-cta{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; position:fixed; left:0; right:0; bottom:0; z-index:70;
    background:var(--line); box-shadow:0 -4px 18px rgba(11,31,64,.14)}
  .mobile-cta a{display:flex; flex-direction:column; align-items:center; gap:3px; padding:9px 4px; background:#fff;
    font-size:.72rem; font-weight:700; color:var(--ink); text-decoration:none}
  .mobile-cta a.pri{background:var(--amber); color:var(--amber-ink)}
  .mobile-cta a .mi{font-size:1.1rem}
  body{padding-bottom:60px}
}

/* modal */
.modal{position:fixed; inset:0; z-index:90; display:none; align-items:center; justify-content:center; padding:20px;
  background:rgba(6,16,32,.72); backdrop-filter:blur(3px)}
.modal.open{display:flex}
.modal-box{background:#fff; border-radius:18px; max-width:640px; width:100%; overflow:hidden; box-shadow:var(--shadow-l)}
.modal-box .vid{aspect-ratio:16/9; background:linear-gradient(135deg,#0c2a52,#123a74); display:grid; place-items:center; color:#cfe0f8}
.modal-box .body{padding:22px 24px}
.modal-box h3{margin-bottom:6px}
.modal-close{position:absolute; top:16px; right:20px; z-index:2; background:rgba(255,255,255,.15); border:none; color:#fff;
  width:38px; height:38px; border-radius:50%; font-size:1.3rem; cursor:pointer}

/* responsive tweaks for v2 */
@media(max-width:960px){
  .labs-grid,.split{grid-template-columns:1fr; gap:28px}
  .steps{grid-template-columns:repeat(3,1fr)}
  .step::after{display:none}
  .trainer-grid,.why-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .steps,.trainer-grid,.why-grid{grid-template-columns:1fr}
  .hero-metaline{width:100%}
}

/* labs punch strip */
.labs-punch{display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 4px}
.labs-punch span{font-size:.84rem; font-weight:700; color:var(--blue-d); background:var(--blue-l);
  border:1px solid #cfe0f7; border-radius:999px; padding:7px 14px}
/* footer terms link + delivery line */
.foot-brand .delivery{color:#9fb6d8; font-size:.86rem; margin:10px 0 0}
.foot-links-inline a{display:inline; padding:0}
.foot-legal a{color:#9fb6d8; text-decoration:underline}

/* Elementor's generated frontend sheet is loaded after plugin styles and uses
   container background shorthands plus global body values. Lock the reference
   palette on the native editable widgets without relying on rendered HTML. */
body.elementor-page{
  font-family:var(--font)!important;
  color:var(--body)!important;
  background:var(--bg)!important;
  line-height:1.6!important;
  font-size:16.5px!important;
}
body.elementor-page .elementor .e-con-boxed>.e-con-inner{
  padding-top:0!important;
  padding-bottom:0!important;
}
.elementor .section.e-con-full{gap:0!important}
.elementor .hero-copy.e-con-boxed>.e-con-inner,
.elementor .labs-copy.e-con-boxed>.e-con-inner,
.elementor .section-intro.e-con-boxed>.e-con-inner,
.elementor .card.e-con-boxed>.e-con-inner,
.elementor .cta-band.e-con-boxed>.e-con-inner{
  gap:0!important;
  padding-left:0!important;
  padding-right:0!important;
  width:100%!important;
  max-width:none!important;
}
.elementor .tier.e-con-boxed>.e-con-inner,
.elementor .step.e-con-boxed>.e-con-inner,
.elementor .trainer-card.e-con-boxed>.e-con-inner,
.elementor .why-item.e-con-boxed>.e-con-inner,
.elementor .preview-card.e-con-boxed>.e-con-inner{
  padding-left:0!important;
  padding-right:0!important;
  width:100%!important;
  max-width:none!important;
}
.elementor .elementor-widget-heading .elementor-heading-title{
  font-family:var(--font)!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.02em!important;
  margin:0 0 .5em!important;
}
.elementor .elementor-widget-heading.elementor-widget-heading h2.elementor-heading-title{
  font-size:clamp(1.5rem,3vw,2.15rem)!important;
}
.elementor .elementor-widget-heading.elementor-widget-heading h3.elementor-heading-title{font-size:1.22rem!important}
.elementor .elementor-widget-heading.elementor-widget-heading h4.elementor-heading-title{font-size:1rem!important}
.elementor .elementor-widget-text-editor,
.elementor .elementor-widget-text-editor p,
.elementor .elementor-widget-button .elementor-button{font-family:var(--font)!important}
.elementor .elementor-widget-button.btn{
  display:block!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.elementor .eyebrow,.elementor .eyebrow p{font-weight:700!important}
.elementor .eyebrow p{margin:0!important}
.elementor .eyebrow{margin-bottom:.7em!important}
.elementor .section-intro .lede{
  width:100%!important;
  max-width:62ch!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.elementor .section-intro .lede p{margin:0!important}
.elementor .elementor-widget-button .elementor-button{line-height:1.6!important}
.elementor .course-card .elementor-widget-heading h3.elementor-heading-title{
  font-size:1.08rem!important;
  margin:.35em 0 .3em!important;
}
.elementor .trainer-card .elementor-widget-heading h4.elementor-heading-title{
  font-size:1.05rem!important;
  margin:0 0 2px!important;
}
.elementor .step .elementor-widget-heading h4.elementor-heading-title{
  font-size:.98rem!important;
  margin:0 0 4px!important;
}
.elementor .preview-meta .elementor-widget-heading h3.elementor-heading-title{
  font-size:1rem!important;
  margin:0 0 4px!important;
}
.elementor .section.e-con-full,
.elementor .hero.milcom-native.e-con-full,
.elementor .course-hero.milcom-native.e-con-full,
.elementor .site-foot.e-con-full{
  padding-left:max(22px,calc((100% - var(--maxw))/2 + 22px))!important;
  padding-right:max(22px,calc((100% - var(--maxw))/2 + 22px))!important;
}
.elementor .learning-value .grid.g-3.e-con-boxed{max-width:900px;margin-left:auto!important;margin-right:auto!important}
.elementor .trust-item p{margin:0!important}
.elementor .sample-note p{margin:0!important}
.elementor .hero-metaline{margin-bottom:15px!important}
.elementor .hero-cta.e-con-boxed>.e-con-inner{gap:12px!important}
.elementor .section.e-con-full:has(> .section-intro){padding-top:72px!important}
.elementor .section.e-con-full:has(> .section-intro)>.section-intro{margin-top:0!important}
.elementor .home-learning>.grid{margin-top:22.5px!important}
.elementor .home-tiers>.ladder{margin-top:44px!important}
.elementor .home-tiers>.tbl-wrap{margin-top:28px!important}
.elementor .home-tiers>.notice{width:100%;max-width:900px;margin:24px auto 0!important}
.elementor .home-readiness>.steps{margin-top:36px!important}
.elementor .home-readiness>.notice{width:100%;max-width:940px;margin:32px auto 0!important}
.elementor .home-pathways>.grid{margin-top:24px!important}
.elementor .home-courses>.grid{margin-top:36px!important}
.elementor .home-courses>.btn{margin:21px auto 0!important}
.elementor .home-trainers>.trainer-grid{margin-top:36px!important}
.elementor .home-trainers>.sample-note{margin-top:22px!important}
.elementor .home-teams>.split{margin-top:18px!important}
.elementor .home-proof>.why-grid{margin-top:11px!important}
.elementor .home-faq>.faq{margin:14px auto 0!important}
.elementor .home-faq>.btn{margin:9px auto 0!important}
.elementor .home-compliance>.notice{width:100%;max-width:960px;margin:0 auto!important}
.elementor .labs-punch.e-con-boxed>.e-con-inner{gap:10px!important}
.elementor .labs-punch .elementor-widget-text-editor{
  width:auto!important;
  color:var(--blue-d)!important;
  background:var(--blue-l)!important;
  border:1px solid #cfe0f7!important;
  border-radius:999px!important;
  padding:7px 14px!important;
  font-size:.84rem!important;
  font-weight:700!important;
}
.elementor .labs-punch .elementor-widget-text-editor p{margin:0!important;color:var(--blue-d)!important}
.elementor .card.e-con{padding:26px!important}
.elementor .tier.e-con{padding:26px!important}
.elementor .step.e-con{padding:20px 16px!important}
.elementor .why-item.e-con{padding:18px!important}
.elementor .trainer-card.e-con{padding:0!important}
.elementor .cta-band.e-con{padding:48px!important}
.elementor .notice{padding:14px 16px!important}
.elementor .feature-copy .elementor-widget-heading h3.elementor-heading-title{
  font-size:.95rem!important;
  margin:0!important;
}
.elementor .trainer-card .role p,
.elementor .trainer-card .spec p{margin:0!important}
.elementor .home-faq .faq-entry:last-child details{margin-bottom:0!important}
.elementor .tbl-wrap{font-size:0!important;line-height:0!important}
.elementor .tbl-wrap table{font-size:.92rem!important;line-height:1.6!important}
.elementor .tbl-wrap table thead th{
  padding:14px 16px!important;
  font-size:.86rem!important;
  line-height:1.6!important;
}
.elementor .tbl-wrap table tbody td{
  padding:13px 16px!important;
  font-size:.92rem!important;
  line-height:1.6!important;
}
body.elementor-page .elementor .hero-copy.e-con,
body.elementor-page .elementor .labs-copy.e-con,
body.elementor-page .elementor .preview-card.e-con,
body.elementor-page .elementor .preview-thumb.e-con,
body.elementor-page .elementor .lab-shot.e-con,
body.elementor-page .elementor .labs-punch.e-con,
body.elementor-page .elementor .codes.e-con,
body.elementor-page .elementor .head.e-con,
body.elementor-page .elementor .cc-foot.e-con,
body.elementor-page .elementor .btns.e-con,
body.elementor-page .elementor .feature-copy.e-con,
body.elementor-page .elementor .trainer-card.e-con,
body.elementor-page .elementor .section-intro.e-con{padding:0!important}
.elementor .labs-punch.e-con{margin:16px 0 4px!important}
.elementor .feature-copy.e-con-boxed>.e-con-inner{gap:6px!important}
.elementor .feature-copy .elementor-widget-heading h3.elementor-heading-title{line-height:1.6!important}
.elementor .trainer-card .avatar{margin-bottom:14px!important}
.elementor .trainer-card .spec{margin:10px 0!important}
.elementor .tier .elementor-widget-heading h3.elementor-heading-title{margin-bottom:4px!important}
.elementor .tier .for p,
.elementor .tier .hrs p,
.elementor .tier .flag p{margin:0!important}
.elementor .codes.e-con-boxed>.e-con-inner{gap:6px!important}
.elementor .codes .chip{
  width:auto!important;
  padding:3px 9px!important;
}
.elementor .codes .chip p{margin:0!important}
.elementor .path-card .tag p{margin:0!important}
.elementor .path-card .icon-chip{margin-bottom:14px!important}
.elementor .path-card .codes{margin:6px 0 14px!important}
.elementor .path-card>.e-con-inner>.btn{padding-top:16px!important}
.elementor .home-tiers .notice p{margin:0!important}
.elementor .home-courses>.grid>.e-con{height:auto!important}
.elementor .home-trainers>.sample-note{margin-bottom:16px!important}
.elementor .home-teams>.split{margin-top:19px!important}
.elementor .home-teams .card{padding:26px 26px 18px!important}
.elementor .home-proof>.why-grid{margin-top:13px!important}
.elementor .home-faq>.faq{margin-top:15px!important}
.elementor .home-readiness>.steps{margin-top:36px!important}

/* These were fixed `height` values captured from a reference screenshot. A
   fixed height cannot absorb a copy edit, a font fallback or a longer
   translation: the comparison table was clipped to 406px and grew its own
   inner scrollbar, and the footer legal row was held at 119px. They are kept
   as min-heights so the intended vertical rhythm survives, but any section
   that needs more room now takes it instead of cropping its content. */
@media(min-width:1200px){
  .elementor .home-labs.e-con-full{min-height:709px}
  .elementor .home-labs>.labs-grid{min-height:565px}
  .elementor .home-learning.e-con-full{min-height:710px}
  .elementor .home-tiers.e-con-full{min-height:1177px}
  .elementor .home-readiness.e-con-full{min-height:663px}
  .elementor .home-pathways.e-con-full{min-height:681px}
  .elementor .home-courses.e-con-full{min-height:1109px}
  .elementor .home-trainers.e-con-full{min-height:622px}
  .elementor .home-teams.e-con-full{min-height:698px}
  .elementor .home-proof.e-con-full{min-height:490px}
  .elementor .home-faq.e-con-full{min-height:650px}
  .elementor .home-compliance.e-con-full{min-height:266px}
  .elementor .home-final-cta.e-con-full{min-height:452px}
  .elementor .site-foot.e-con-full{min-height:766px;padding-bottom:29px!important;gap:0!important}
  .elementor .site-foot>.foot-grid{min-height:307px;margin-bottom:36px!important}
  .elementor .site-foot>.scope{min-height:338px}
}
.elementor .site-foot .foot-brand>.e-con-inner{gap:0!important}
.elementor .site-foot .foot-brand-mark.e-con{padding:0!important;margin-bottom:12px!important}
.elementor .site-foot .foot-brand-mark>.e-con-inner{display:flex!important;flex-direction:row!important;align-items:center!important;gap:11px!important;padding:0!important}
.elementor .site-foot .foot-brand-mark .logo{flex:0 0 38px!important}
.elementor .site-foot .foot-brand-mark .logo p{margin:0!important;color:#fff!important}
.elementor .site-foot .foot-brand-mark .brand-name .elementor-heading-title{font-size:1.18rem!important;margin:0!important;color:#fff!important}
.elementor .site-foot .foot-brand-mark .sub p{margin:0!important}
.elementor .site-foot .scope-copy{margin-top:14px!important}
.elementor .site-foot .scope-copy a,
.elementor .site-foot .foot-legal-links a{color:#cdddf3!important;text-decoration:underline!important;font-weight:600}
.elementor .site-foot .foot-legal-links p{margin:0!important}

/* Reference secondary-page layouts. Every visible block remains a native
   Elementor container, heading, text editor or button widget. */
.elementor .page-hero.e-con-full{gap:0!important}
.elementor .page-hero .breadcrumb{padding:16px 0!important;margin:0!important}
.elementor .page-hero .breadcrumb p{margin:0!important;color:#9fb8de!important;font-size:.84rem!important}
.elementor .page-hero .breadcrumb a{color:#9fb8de!important}
.elementor .page-hero .breadcrumb strong{color:#dce8fb!important}
.elementor .page-hero .elementor-widget-heading .elementor-heading-title{margin:0 0 .5em!important}
.elementor .page-hero .tagline,
.elementor .page-hero .tagline p{color:#cfe0f8!important}
.elementor .page-hero .tagline p{margin:0!important}
.elementor .path-overview-card>.e-con-inner{flex-wrap:nowrap!important}
.elementor .path-overview-card .path-description p{font-size:.92rem!important}
.elementor .path-overview-card>.e-con-inner>.btn{margin-top:auto!important;padding-top:16px!important}
.elementor .catalogue-programs.e-con-full,
.elementor .catalogue-extras.e-con-full,
.elementor .catalogue-team-pricing.e-con-full,
.elementor .catalogue-final-cta.e-con-full,
.elementor .team-main.e-con-full,
.elementor .team-page-cta.e-con-full,
.elementor .faq-page-list.e-con-full,
.elementor .faq-page-cta.e-con-full,
.elementor .terms-main.e-con-full{gap:0!important}
.elementor .catalogue-programs>.elementor-widget-heading{margin-top:34px!important}
.elementor .catalogue-programs>.muted{margin-top:0!important}
.elementor .catalogue-programs>.tbl-wrap{margin-top:18px!important}
.elementor .catalogue-programs>.small{margin-top:14px!important}
.elementor .catalogue-extras>.grid.e-con-boxed>.e-con-inner{align-items:start}
.elementor .catalogue-addon-col.e-con,
.elementor .catalogue-bundle-col.e-con,
.elementor .team-pricing-col.e-con,
.elementor .team-form-card.e-con,
.elementor .terms-wrap.e-con,
.elementor .terms-prose.e-con{padding:0!important}
.elementor .catalogue-addon-col>.e-con-inner,
.elementor .catalogue-bundle-col>.e-con-inner,
.elementor .team-pricing-col>.e-con-inner,
.elementor .terms-prose>.e-con-inner{gap:0!important;padding:0!important;width:100%!important;max-width:none!important}
.elementor .catalogue-addon-col>.e-con-inner>.tbl-wrap,
.elementor .catalogue-bundle-col>.e-con-inner>.tbl-wrap{margin-top:18px!important}
.elementor .catalogue-addon-col>.e-con-inner>.notice{margin-top:18px!important}
.elementor .catalogue-team-pricing>.tbl-wrap{max-width:660px;margin-top:18px!important}
.elementor .catalogue-team-pricing>.btns{justify-content:flex-start;margin-top:22px!important}
.elementor .catalogue-final-cta>.cta-band,
.elementor .team-page-cta>.cta-band,
.elementor .faq-page-cta>.cta-band{width:100%}
.elementor .team-main-grid.e-con-boxed>.e-con-inner{align-items:start}
.elementor .team-pricing-col>.e-con-inner>.tbl-wrap{margin-top:14px!important}
.elementor .team-pricing-col>.e-con-inner>.notice{margin-top:16px!important}
.elementor .team-pricing-col>.e-con-inner>h3,
.elementor .team-pricing-col>.e-con-inner>.elementor-widget-heading{margin-top:26px!important}
.elementor .team-form-card.e-con{
  padding:22px!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  box-shadow:var(--shadow-m)!important;
}
.elementor .team-form-card>.e-con-inner{gap:0!important;padding:0!important;width:100%!important;max-width:none!important}
.elementor .team-form-fields{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.elementor .team-form-fields input,
.elementor .team-form-fields select{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  font:inherit;
  color:var(--body);
  background:#fff;
}
.elementor .team-form-fields button{width:100%;justify-content:center}
.elementor .team-includes{margin-top:8px}
.elementor .team-includes li{position:relative;padding:8px 0 8px 30px;border-bottom:1px solid var(--line-2)}
.elementor .team-includes li::before{content:"";position:absolute;left:6px;top:16px;width:8px;height:8px;border-radius:50%;background:var(--amber)}
.elementor .faq-page-list>.faq{margin:0 auto!important}
.elementor .faq-page-list .faq-entry:last-child details{margin-bottom:0!important}
.elementor .terms-wrap{width:100%!important;max-width:820px!important;margin:0 auto!important}
.elementor .terms-wrap>.e-con-inner{gap:0!important;padding:0!important;width:100%!important;max-width:none!important}
.elementor .terms-prose{margin-top:26px!important}
.elementor .terms-prose .elementor-widget-heading{margin-top:36px!important}
.elementor .terms-prose .elementor-widget-heading:first-child{margin-top:0!important}

.elementor .catalogue-programs>.elementor-widget-heading{margin-top:34px!important}
.elementor .catalogue-programs>.muted{margin-top:0!important}
.elementor .catalogue-programs>.tbl-wrap{margin-top:18px!important}
.elementor .catalogue-programs>.small{margin-top:14px!important}
.elementor .catalogue-extras>.grid.e-con-boxed>.e-con-inner{align-items:start}
.elementor .catalogue-addon-col.e-con,
.elementor .catalogue-bundle-col.e-con,
.elementor .team-pricing-col.e-con,
.elementor .team-form-card.e-con,
.elementor .terms-wrap.e-con,
.elementor .terms-prose.e-con{padding:0!important}
.elementor .catalogue-addon-col>.e-con-inner,
.elementor .catalogue-bundle-col>.e-con-inner,
.elementor .team-pricing-col>.e-con-inner,
.elementor .terms-prose>.e-con-inner{gap:0!important;padding:0!important;width:100%!important;max-width:none!important}
.elementor .catalogue-addon-col>.e-con-inner>.tbl-wrap,
.elementor .catalogue-bundle-col>.e-con-inner>.tbl-wrap{margin-top:18px!important}
.elementor .catalogue-addon-col>.e-con-inner>.notice{margin-top:18px!important}
.elementor .catalogue-team-pricing>.tbl-wrap{max-width:660px;margin-top:18px!important}
.elementor .catalogue-team-pricing>.btns{justify-content:flex-start;margin-top:22px!important}
.elementor .catalogue-final-cta>.cta-band,
.elementor .team-page-cta>.cta-band,
.elementor .faq-page-cta>.cta-band{width:100%}
.elementor .team-main-grid.e-con-boxed>.e-con-inner{align-items:start}
.elementor .team-pricing-col>.e-con-inner>.tbl-wrap{margin-top:14px!important}
.elementor .team-pricing-col>.e-con-inner>.notice{margin-top:16px!important}
.elementor .team-pricing-col>.e-con-inner>h3,
.elementor .team-pricing-col>.e-con-inner>.elementor-widget-heading{margin-top:26px!important}
.elementor .team-form-card.e-con{
  padding:22px!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  box-shadow:var(--shadow-m)!important;
}
.elementor .team-form-card>.e-con-inner{gap:0!important;padding:0!important;width:100%!important;max-width:none!important}
.elementor .team-form-fields{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.elementor .team-form-fields input,
.elementor .team-form-fields select{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  font:inherit;
  color:var(--body);
  background:#fff;
}
.elementor .team-form-fields button{width:100%;justify-content:center}
.elementor .team-includes{margin-top:8px}
.elementor .team-includes li{position:relative;padding:8px 0 8px 30px;border-bottom:1px solid var(--line-2)}
.elementor .team-includes li::before{content:"";position:absolute;left:6px;top:16px;width:8px;height:8px;border-radius:50%;background:var(--amber)}
.elementor .faq-page-list>.faq{margin:0 auto!important}
.elementor .faq-page-list .faq-entry:last-child details{margin-bottom:0!important}
.elementor .terms-wrap{width:100%!important;max-width:820px!important;margin:0 auto!important}
.elementor .terms-wrap>.e-con-inner{gap:0!important;padding:0!important;width:100%!important;max-width:none!important}
.elementor .terms-prose{margin-top:26px!important}
.elementor .terms-prose .elementor-widget-heading{margin-top:36px!important}
.elementor .terms-prose .elementor-widget-heading:first-child{margin-top:0!important}

/* Same screenshot-derived pins as the home page block above, converted to
   min-heights so a copy edit lengthens a section instead of cropping it. */
@media(min-width:1200px){
  .elementor .catalogue-hero.e-con-full,
  .elementor .pathways-hero.e-con-full,
  .elementor .faq-hero.e-con-full,
  .elementor .terms-hero.e-con-full{min-height:294px}
  .elementor .team-page-hero.e-con-full{min-height:323px}
  .elementor .catalogue-programs.e-con-full{min-height:1350px}
  .elementor .catalogue-extras.e-con-full{min-height:726px}
  .elementor .catalogue-team-pricing.e-con-full{min-height:598px}
  .elementor .catalogue-final-cta.e-con-full{min-height:426px}
  .elementor .pathways-index-grid.e-con-full{min-height:957px}
  .elementor .team-main.e-con-full{min-height:937px}
  .elementor .team-page-cta.e-con-full{min-height:426px}
  .elementor .faq-page-list.e-con-full{min-height:659px}
  .elementor .faq-page-cta.e-con-full{min-height:426px}
  .elementor .terms-main.e-con-full{min-height:1359px}
}
.elementor .topbar.e-con-full{padding:8.8px 22px!important}
.elementor .site-head .nav.e-con-boxed,
.elementor .site-head .nav.e-con-boxed>.e-con-inner{height:70px!important;min-height:70px!important}
.elementor .trust-strip.e-con-full{
  padding:0!important;
  background:#061a35!important;
}
.elementor .trust-strip .wrap.e-con-boxed>.e-con-inner{padding:18px 22px!important}
body.elementor-page .elementor .cta-band.e-con.e-parent{
  background-color:var(--blue)!important;
  background-image:linear-gradient(135deg,var(--blue),#0a3f92)!important;
  color:#fff!important;
  border-radius:20px!important;
  box-shadow:var(--shadow-l)!important;
}
.elementor .cta-band.e-con .elementor-heading-title{color:#fff!important}
.elementor .cta-band.e-con .elementor-widget-text-editor,
.elementor .cta-band.e-con .elementor-widget-text-editor p{color:#d5e3f8!important}
body.elementor-page .elementor .split .b2b.e-con.e-parent{
  background-color:#0b1f3a!important;
  background-image:linear-gradient(165deg,#0c2a52,#0b1f3a)!important;
  color:#dbe7fb!important;
  border-color:#0c2a52!important;
}
.elementor .split .b2b.e-con .elementor-heading-title{color:#fff!important}
.elementor .split .b2b.e-con .elementor-widget-text-editor,
.elementor .split .b2b.e-con .elementor-widget-text-editor p{color:#c7d8f2!important}
body.elementor-page .elementor .trainer-grid .trainer-card .avatar.elementor-widget{
  background-color:var(--accent)!important;
  background-image:linear-gradient(135deg,var(--accent),#0b2c59)!important;
}
.elementor .sample-note{margin-top:22px!important;text-align:center}
.elementor .sample-note p{font-size:.78rem!important;color:var(--muted)!important}

/* Final native-widget cascade locks and reference pathway-detail layouts. */
.elementor .site-foot .elementor-heading-title{color:#fff!important}
.elementor .cta-band>.e-con-inner{align-items:center!important;text-align:center!important}
.elementor .cta-band .elementor-widget-heading,
.elementor .cta-band .elementor-widget-text-editor{text-align:center!important}
.elementor .team-pricing-col table{min-width:0!important}
.elementor .team-form-fields .btn-primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:.8em 1.35em!important;
  background:var(--amber)!important;
  color:var(--amber-ink)!important;
  border:1.5px solid transparent!important;
  border-radius:999px!important;
  box-shadow:var(--shadow-s)!important;
  font-weight:700!important;
  line-height:1.6!important;
}
.elementor .pathway-detail-hero.e-con-full{
  gap:0!important;
  background-color:#0a1f3d!important;
}
body.elementor-page .elementor .pathway-detail-hero.pathway-ai.e-con.e-parent{background-image:linear-gradient(160deg,#0a1f3d,#6b46e5 260%)!important}
body.elementor-page .elementor .pathway-detail-hero.pathway-data.e-con.e-parent{background-image:linear-gradient(160deg,#0a1f3d,#0f9d8c 260%)!important}
body.elementor-page .elementor .pathway-detail-hero.pathway-cyber.e-con.e-parent{background-image:linear-gradient(160deg,#0a1f3d,#d6455f 260%)!important}
body.elementor-page .elementor .pathway-detail-hero.pathway-tech.e-con.e-parent{background-image:linear-gradient(160deg,#0a1f3d,#0c4fb3 260%)!important}
.elementor .pathway-detail-hero>.breadcrumb{margin-bottom:0!important}
.elementor .pathway-detail-hero>.kick{margin-bottom:12px!important}
.elementor .pathway-detail-hero>.kick.e-con{padding:0!important}
.elementor .pathway-detail-hero .kick.e-con-boxed>.e-con-inner{
  gap:10px!important;
  align-items:center!important;
  padding:0!important;
  width:100%!important;
  max-width:none!important;
}
.elementor .pathway-detail-hero .kick p{margin:0!important;color:#fff!important}
.elementor .pathway-detail-hero .pathway-icon p{font-size:1.6rem!important}
.elementor .pathway-detail-hero .pathway-kick-label p{
  font-size:.8rem!important;
  font-weight:400!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
.elementor .pathway-detail-hero .breadcrumb,
.elementor .pathway-detail-hero .breadcrumb p,
.elementor .pathway-detail-hero .breadcrumb a{color:#c9d8ef!important}
.elementor .pathway-detail-hero .breadcrumb p{margin:0!important}
.elementor .pathway-detail-hero .breadcrumb strong{color:#fff!important}
.elementor .pathway-detail-hero h1.elementor-heading-title{font-size:clamp(2rem,4.4vw,3.15rem)!important}
.elementor .pathway-detail-hero>.elementor-widget-heading .elementor-heading-title{margin:0 0 .5em!important}
.elementor .pathway-detail-hero>.tagline{max-width:60ch!important;margin-bottom:20px!important}
.elementor .pathway-detail-hero>.tagline p{margin:0!important}
.elementor .pathway-detail-hero>.pathway-best{margin:0 0 16px!important}
.elementor .pathway-detail-hero>.pathway-best p{margin:0!important;color:#cfe0f8!important}
.elementor .pathway-detail-hero>.pathway-best strong{color:#fff!important}
.elementor .pathway-programs.e-con-full{gap:0!important}
.elementor .pathway-programs>.notice{margin-bottom:28px!important}
.elementor .pathway-programs>.elementor-widget-heading .elementor-heading-title{margin:0!important}
.elementor .pathway-programs>.grid{margin-top:24px!important}
.elementor .pathway-programs>.btn{margin:36px auto 0!important}
.elementor .pathway-team-cta.e-con-full{gap:0!important}
.elementor .pathway-team-cta>.cta-band{width:100%!important}
.elementor .thankyou-main.e-con-full{gap:0!important}
.elementor .thankyou-wrap.e-con{
  width:100%!important;
  max-width:596px!important;
  margin:0 auto!important;
  padding:40px 0!important;
  text-align:center!important;
}
.elementor .thankyou-wrap>.e-con-inner{gap:0!important;padding:0!important;width:100%!important;max-width:none!important;align-items:center!important}
.elementor .thankyou-icon{
  width:84px!important;
  height:84px!important;
  display:grid!important;
  place-items:center!important;
  margin:0 auto 22px!important;
  border-radius:50%!important;
  background:var(--blue-l)!important;
  color:var(--ok)!important;
  font-size:2.6rem!important;
}
.elementor .thankyou-icon p{margin:0!important;color:var(--ok)!important}
.elementor .thankyou-wrap>.elementor-widget-heading .elementor-heading-title{font-size:clamp(2rem,4.4vw,3.15rem)!important}
.elementor .thankyou-wrap>.lede{margin:12px auto 26px!important}
.elementor .thankyou-wrap>.lede p{margin:0!important}
.elementor .thankyou-wrap>.thankyou-note{margin-top:24px!important}
.elementor .thankyou-wrap>.thankyou-note p{margin:0!important}
body.elementor-page .elementor .card.e-con.e-parent{
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:var(--radius)!important;
  box-shadow:var(--shadow-s)!important;
}
.elementor-page .course-card .course-code,
.elementor-page .course-card .course-code p{color:var(--blue)!important;font-weight:800!important}
.elementor-page .course-card .meta,
.elementor-page .course-card .meta p{color:var(--muted)!important}
.elementor-page .course-card .desc,
.elementor-page .course-card .desc p{color:var(--body)!important}
.elementor-page .course-card .price,
.elementor-page .course-card .price p{color:var(--muted)!important}
.elementor-page .course-card .price strong{color:var(--ink)!important}
.elementor-page .course-card .lvl{background:var(--blue-l)!important;color:var(--blue-d)!important}
.elementor-page .course-card .lvl p{background:transparent!important;color:var(--blue-d)!important;font-weight:700!important}
.elementor-page .course-card .lvl.assoc{background:#efe9ff!important;color:#5b34c9!important}
.elementor-page .course-card .lvl.assoc p{color:#5b34c9!important}
.elementor-page .course-card .lvl.adv{background:#e7f7f3!important;color:#0c7a6b!important}
.elementor-page .course-card .lvl.adv p{color:#0c7a6b!important}
.elementor .exact-course-hero.e-con-full{gap:0!important}
.elementor .exact-course-hero>.breadcrumb{padding:16px 0!important;margin:0!important}
.elementor .exact-course-hero>.breadcrumb>.elementor-widget-container{font-size:.84rem!important;color:#9fb8de!important}
.elementor .exact-course-hero>.breadcrumb a{color:#9fb8de!important}
.elementor .exact-course-hero>.breadcrumb b{color:#dce8fb!important}
.elementor .exact-course-hero>.course-kick{margin-bottom:12px!important}
.elementor .exact-course-hero .course-kick-inner{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  color:#bcd0ee!important;
  font-size:.8rem!important;
}
.elementor .exact-course-hero .course-kick-inner .dot{opacity:.5}
.elementor .course-hero-row.e-con-boxed>.e-con-inner{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
.elementor .course-hero-row.e-con,
.elementor .course-hero-copy.e-con,
.elementor .exact-course-hero .hcta.e-con{padding:0!important}
.elementor .course-hero-copy.e-con-boxed>.e-con-inner{
  gap:0!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
.elementor .course-hero-row>.e-con-inner>.course-hero-copy{flex:1 1 720px!important;width:auto!important}
.elementor .course-hero-row>.e-con-inner>.price-quick{flex:0 0 auto!important;width:auto!important;margin-left:auto!important}
.elementor .exact-course-hero .course-hero-copy .elementor-heading-title{
  font-size:clamp(2rem,4.4vw,3.15rem)!important;
  margin:0 0 .5em!important;
}
.elementor .exact-course-hero .course-hero-copy>.e-con-inner>.tagline{margin-bottom:20px!important}
.elementor .exact-course-hero .course-hero-copy>.e-con-inner>.tagline{max-width:60ch!important}
.elementor .exact-course-hero .course-hero-copy>.e-con-inner>.tagline p{margin:0!important}
.elementor .exact-course-hero .hcta.e-con-boxed>.e-con-inner{gap:12px!important;padding:0!important}
.elementor .exact-course-hero .price-quick,
.elementor .exact-course-hero .price-quick .price-quick-inner{
  text-align:right!important;
  color:#cfe0f8!important;
  font-size:.86rem!important;
}
.elementor .exact-course-hero .price-quick b{
  display:block!important;
  color:#fff!important;
  font-size:1.5rem!important;
  font-weight:800!important;
}
.elementor .course-main.e-con-full{gap:0!important;padding:0 22px!important}
.elementor .course-main>.course-body{width:100%!important;max-width:var(--maxw)!important;margin:0 auto!important}
.elementor .course-main .course-body.e-con-boxed>.e-con-inner{
  padding:52px 22px 54px!important;
  width:100%!important;
  max-width:none!important;
}
.elementor .course-prose>.elementor-widget-container{color:var(--body)!important}
.elementor .course-prose .notice{margin-bottom:26px!important}
.elementor .course-prose h2{
  color:var(--ink)!important;
  font-family:var(--font)!important;
  font-size:1.4rem!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.02em!important;
  margin:36px 0 .5em!important;
}
.elementor .course-prose p{color:var(--body)!important}
.elementor .course-prose .small{font-size:.82rem!important}
.elementor .course-prose .muted{color:var(--muted)!important}
.elementor .course-prose .rel-list a{color:var(--ink)!important}
.elementor .course-side>.elementor-widget-container{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
}
.elementor .course-side{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
  position:sticky!important;
  top:90px!important;
}
.elementor .course-side .side-card h3{
  color:var(--ink)!important;
  font-family:var(--font)!important;
  font-size:1rem!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.02em!important;
  margin:0 0 14px!important;
}
.elementor .course-side .btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  padding:.55em 1em!important;
  border:1.5px solid var(--line)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--blue)!important;
  font-size:.88rem!important;
  font-weight:700!important;
  line-height:1.6!important;
  text-decoration:none!important;
}
.elementor .course-side .btn-primary{background:var(--amber)!important;color:var(--amber-ink)!important;border-color:transparent!important}
.elementor .course-side .btn-blue{background:var(--blue)!important;color:#fff!important;border-color:transparent!important}
.elementor .course-side .small{font-size:.82rem!important}
.elementor .course-side .muted{color:var(--muted)!important}

/* Screenshot-derived section pins, as min-heights. */
@media(min-width:1200px){
  .elementor .site-foot.e-con-full{min-height:767px}
  .elementor .thankyou-main.e-con-full{min-height:700px}
  .elementor .pathway-detail-hero.pathway-ai.e-con-full,
  .elementor .pathway-detail-hero.pathway-cyber.e-con-full{min-height:447px}
  .elementor .pathway-detail-hero.pathway-data.e-con-full{min-height:389px}
  .elementor .pathway-detail-hero.pathway-tech.e-con-full{min-height:361px}
  .elementor .pathway-programs-ai.e-con-full{min-height:728px}
  .elementor .pathway-programs-data.e-con-full{min-height:705px}
  .elementor .pathway-programs-cyber.e-con-full{min-height:1075px}
  .elementor .pathway-programs-tech.e-con-full{min-height:1098px}
  .elementor .pathway-team-cta.e-con-full{min-height:426px}
}

@media(max-width:960px){
  .elementor .course-main .course-body.e-con-boxed>.e-con-inner{grid-template-columns:1fr!important;gap:28px!important}
  .elementor .course-side{position:static!important}
}

@media(max-width:760px){
  .elementor .pathways-index-grid>.grid{height:auto!important}
  .elementor .path-overview-card{height:auto!important;min-height:0!important}
  .elementor .course-hero-row>.e-con-inner>.price-quick{margin-left:0!important}
  .elementor .exact-course-hero .price-quick,
  .elementor .exact-course-hero .price-quick .price-quick-inner{text-align:left!important}
}

/* ============================================================
   Elementor editor-safe reference locks

   These rules intentionally target the native widget wrappers. Elementor
   writes Global Color and Global Button declarations into a per-document
   stylesheet whenever a page is saved; keeping the reference values here,
   at the end of the cascade, makes editing non-destructive and keeps the
   canvas identical to the published page.
   ============================================================ */
/* These two rules have to out-shout Elementor's global kit typography, so they
   carry !important. That used to hard-code the light-background palette and so
   repainted every dark panel (top bar, trust strip, avatars, navy cards) in
   near-black on near-black. They now read --tx / --tx-h, which any dark scope
   sets for itself further down; the light palette stays the default. */
.elementor .elementor-widget-heading .elementor-heading-title{
  color:var(--tx-h,var(--ink))!important;
  font-family:var(--font)!important;
}
.elementor .elementor-widget-text-editor,
.elementor .elementor-widget-text-editor p,
.elementor .elementor-widget-text-editor li{
  color:var(--tx,var(--body))!important;
  font-family:var(--font)!important;
}
/* Buttons rendered inside a text-editor widget (the enrol shortcodes) keep
   their own button colour instead of the body link blue. */
.elementor .elementor-widget-text-editor a:not(.btn){color:var(--tx-link,var(--blue))!important}
.elementor .eyebrow,
.elementor .eyebrow p{
  color:var(--blue)!important;
  font-size:.78rem!important;
  font-weight:700!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.elementor .muted,
.elementor .muted p,
.elementor .who,
.elementor .who p,
.elementor .meta,
.elementor .meta p{color:var(--muted)!important}
.elementor .soft.e-con-full{background-color:var(--soft)!important}

/* Buttons: lock both the widget and its inner anchor against Elementor's
   global button palette, including the live editor preview. */
.elementor .elementor-widget-button.btn{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.elementor .elementor-widget-button.btn .elementor-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.5em!important;
  padding:.8em 1.35em!important;
  border:1.5px solid transparent!important;
  border-radius:999px!important;
  background-image:none!important;
  box-shadow:none!important;
  color:var(--blue)!important;
  font-family:var(--font)!important;
  font-size:.98rem!important;
  font-weight:700!important;
  line-height:1.6!important;
  text-decoration:none!important;
  text-shadow:none!important;
  white-space:nowrap!important;
}
.elementor .elementor-widget-button.btn-primary .elementor-button{
  background-color:var(--amber)!important;
  color:var(--amber-ink)!important;
  box-shadow:var(--shadow-s)!important;
}
.elementor .elementor-widget-button.btn-primary .elementor-button:hover{
  background-color:var(--amber-d)!important;
  color:var(--amber-ink)!important;
  box-shadow:var(--shadow-m)!important;
}
.elementor .elementor-widget-button.btn-blue .elementor-button{
  background-color:var(--blue)!important;
  color:#fff!important;
}
.elementor .elementor-widget-button.btn-blue .elementor-button:hover{
  background-color:var(--blue-d)!important;
  color:#fff!important;
}
.elementor .elementor-widget-button.btn-ghost .elementor-button{
  background-color:#fff!important;
  border-color:var(--line)!important;
  color:var(--blue)!important;
}
.elementor .elementor-widget-button.btn-ghost-light .elementor-button{
  background-color:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.35)!important;
  color:#fff!important;
}
.elementor .elementor-widget-button.btn-sm .elementor-button{
  padding:.55em 1em!important;
  font-size:.88rem!important;
}
.elementor .elementor-widget-button.btn-block .elementor-button{width:100%!important}

/* Header geometry and active item match the source site's 1180px wrapper
   with its 22px inner gutter. */
.elementor .site-head .nav.e-con-boxed{max-width:1180px!important}
.elementor .site-head .nav.e-con-boxed>.e-con-inner{
  max-width:1180px!important;
  padding-left:22px!important;
  padding-right:22px!important;
}
/* The brand is a single logo image; it sizes itself. (It used to be pinned to
   254.72px — a measurement taken back when the brand also carried two lines of
   text. Holding that width with only the logo in it stole ~150px from the nav
   labels, which is what wrapped "Courses & Pricing" and "Team Training" and
   dragged the active underline onto a second line.) */
.elementor .site-head .nav>.e-con-inner>.brand{
  width:auto!important;
  flex:0 0 auto!important;
}
.elementor .site-head .nav>.e-con-inner>.nav-links{
  width:auto!important;
  min-width:0!important;
  flex:0 1 auto!important;
  margin-left:8px!important;
}
.elementor .site-head .nav-links>.e-con-inner{
  align-items:stretch!important;
}
.elementor .site-head .nav-links>.e-con-inner>.nav-link{
  width:auto!important;
  flex:0 1 auto!important;
}
.elementor .site-head .nav-link .elementor-button{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  padding:6px 2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  box-shadow:none!important;
  font-size:.95rem!important;
  font-weight:600!important;
  line-height:1.6!important;
  text-align:left!important;
  white-space:nowrap!important;
}
.elementor .site-head .nav-link .elementor-button-text{white-space:nowrap!important}
.elementor .site-head .nav-link.is-active .elementor-button{color:var(--blue)!important}
.elementor .site-head .nav-link.is-active .elementor-button::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-2px;
  height:2px;
  border-radius:2px;
  background:var(--amber);
}
.elementor .site-head .nav-phone .elementor-button,
.elementor .site-head .nav-phone .nav-phone-link{
  display:block!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  border:0!important;
  box-shadow:none!important;
  font-family:var(--font)!important;
  font-size:.92rem!important;
  font-weight:700!important;
  line-height:1.6!important;
  white-space:nowrap!important;
}
.elementor .site-head .nav-phone p{margin:0!important}
.elementor .site-head .nav-phone .nav-phone-link span{color:var(--muted)!important;font-weight:600!important}

/* Home hero. */
.elementor .hero.milcom-native .elementor-heading-title{color:#fff!important}
.elementor .hero.milcom-native .elementor-widget-text-editor,
.elementor .hero.milcom-native .elementor-widget-text-editor p{color:#eaf2ff!important}
.elementor .hero.milcom-native .eyebrow,
.elementor .hero.milcom-native .eyebrow p{color:#8fb5f0!important}
.elementor .hero.milcom-native .hero-outcome,
.elementor .hero.milcom-native .hero-outcome p{
  max-width:52ch!important;
  margin:0!important;
  color:#d9e6fb!important;
  font-size:1.02rem!important;
  font-weight:600!important;
}
.elementor .hero.milcom-native .hero-outcome{margin:0 0 14px!important}
.elementor .hero.milcom-native .lede,
.elementor .hero.milcom-native .lede p{color:#c7d8f2!important}
.elementor .hero-metaline{
  display:inline-flex!important;
  align-items:center!important;
  width:100%!important;
  margin:0 0 22px!important;
  padding:8px 16px!important;
  border:1px solid rgba(255,183,3,.32)!important;
  border-radius:999px!important;
  background:rgba(255,183,3,.12)!important;
}
.elementor .hero-metaline .hero-metaline-inner{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px 14px!important;
  color:#ffe6ad!important;
  font-size:.86rem!important;
  font-weight:600!important;
  line-height:1.6!important;
}
.elementor .hero-metaline .hero-metaline-inner strong{color:#fff!important}
.elementor .hero-metaline .hero-metaline-inner .sep{opacity:.4!important}

/* Preview card. */
.elementor .preview-card.e-con{
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:18px!important;
  background-color:rgba(255,255,255,.04)!important;
  background-image:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03))!important;
  box-shadow:var(--shadow-l)!important;
}
.elementor .preview-meta.e-con{padding:16px 18px!important}
.elementor .preview-meta .elementor-heading-title{color:#fff!important}
.elementor .preview-meta .elementor-widget-text-editor,
.elementor .preview-meta .elementor-widget-text-editor p{
  margin:0!important;
  color:#c3d5f0!important;
  font-size:.85rem!important;
}
.elementor .preview-tag{
  width:auto!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.5)!important;
}
.elementor .preview-tag,
.elementor .preview-tag p{
  margin:0!important;
  color:#fff!important;
  font-size:.72rem!important;
  font-weight:700!important;
  letter-spacing:.03em!important;
}
.elementor .play-btn{
  display:grid!important;
  place-items:center!important;
  width:70px!important;
  height:70px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:var(--amber)!important;
  box-shadow:0 8px 26px rgba(0,0,0,.35)!important;
}
.elementor .play-btn,
.elementor .play-btn p{
  margin:0!important;
  color:var(--amber-ink)!important;
}
.elementor .hero.milcom-native .preview-card .play-btn,
.elementor .hero.milcom-native .preview-card .play-btn p{
  color:var(--amber-ink)!important;
}
.elementor .hero.milcom-native .preview-card .play-btn p{font-size:0!important}
.elementor .hero.milcom-native .preview-card .play-btn p::after{
  content:"▶";
  display:block;
  margin-left:4px;
  color:var(--amber-ink)!important;
  font-size:22px!important;
  line-height:1!important;
}
.elementor .preview-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.5;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:30px 30px;
}

/* Cards, labels and body-copy palette. */
.elementor .card.e-con,
.elementor .tier.e-con,
.elementor .step.e-con{
  border-color:var(--line)!important;
  background-color:#fff!important;
}
.elementor .course-card .course-code,
.elementor .course-card .course-code p{color:var(--blue)!important;font-weight:800!important}
.elementor .course-card .head.e-con-boxed,
.elementor .course-card .cc-foot.e-con-boxed{display:block!important}
.elementor .course-card .head.e-con-boxed>.e-con-inner,
.elementor .course-card .cc-foot.e-con-boxed>.e-con-inner{
  width:100%!important;
  max-width:none!important;
}
.elementor .course-card .head p{margin:0!important}
.elementor .course-card .meta,
.elementor .course-card .meta p,
.elementor .course-card .price,
.elementor .course-card .price p{color:var(--muted)!important}
.elementor .course-card .meta{margin-bottom:10px!important}
.elementor .course-card .meta p{margin:0!important}
.elementor .course-card .desc,
.elementor .course-card .desc p{color:var(--body)!important}
.elementor .course-card .desc{margin-bottom:16px!important}
.elementor .course-card .desc p{margin:0!important}
.elementor .course-card .price strong{color:var(--ink)!important}
.elementor .course-card .lvl,
.elementor .course-card .lvl p{color:var(--blue-d)!important}
.elementor .course-card .lvl.assoc,
.elementor .course-card .lvl.assoc p{color:#5b34c9!important}
.elementor .course-card .cc-foot{
  margin-top:14px!important;
  padding-top:14px!important;
  border-top:1px solid var(--line-2)!important;
}
body.elementor-page .elementor .course-card .cc-foot.e-con{
  padding:14px 0 0!important;
}
.elementor .course-card .cc-foot>.e-con-inner>.price{
  width:auto!important;
  min-width:0!important;
  flex:1 1 auto!important;
}
.elementor .course-card .cc-foot>.e-con-inner>.btn{
  width:auto!important;
  min-width:max-content!important;
  flex:0 0 auto!important;
}
.elementor .path-card .tag,
.elementor .path-card .tag p{color:var(--accent,var(--blue))!important}
.elementor .path-card .chip,
.elementor .path-card .chip p{color:var(--blue-d)!important}
.elementor .tier .for,
.elementor .tier .for p{color:var(--muted)!important}
.elementor .tier .hrs,
.elementor .tier .hrs p{color:var(--blue-d)!important}
.elementor .tier .flag,
.elementor .tier .flag p{color:#fff!important}
.elementor .step .num,
.elementor .step .num p{color:#fff!important}
.elementor .step .elementor-widget-text-editor,
.elementor .step .elementor-widget-text-editor p{color:var(--muted)!important}
.elementor .labs-list,
.elementor .labs-list li{color:var(--body)!important}
.elementor .labs-copy .lede p{margin-bottom:0!important}
.elementor .labs-copy .labs-punch{margin-bottom:0!important}
.elementor .lab-shot.e-con{
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:#0b1f3a!important;
  box-shadow:var(--shadow-m)!important;
}
.elementor .lab-shot .lab-bar,
.elementor .lab-shot .lab-bar p{color:#9db6de!important}
.elementor .lab-shot .lab-screen,
.elementor .lab-shot .lab-screen p{color:#cfe0f8!important}
.elementor .labs-visual.e-con-boxed{
  display:block!important;
  padding:0!important;
}
.elementor .labs-visual.e-con-boxed>.e-con-inner{
  width:100%!important;
  max-width:none!important;
  gap:0!important;
  padding:0!important;
}
.elementor .labs-visual>.e-con-inner>.sample-note{
  margin:8px 0 16px!important;
}
.elementor .trainer-card .role,
.elementor .trainer-card .role p{color:var(--blue)!important}
.elementor .trainer-card .spec,
.elementor .trainer-card .spec p,
.elementor .trainer-card .q,
.elementor .trainer-card .q p{color:var(--muted)!important}
.elementor .notice,
.elementor .notice p{color:var(--warn-tx)!important}
.elementor .step .num{margin-bottom:12px!important}
.elementor .trainer-card>.e-con-inner>.elementor-element:not(.avatar){width:100%!important}
.elementor .feature-copy .elementor-heading-title{font-weight:700!important}

/* Dark panels and secondary-page heroes must come after the general text
   locks so Elementor cannot turn them dark-on-dark while editing. */
.elementor .course-hero .elementor-heading-title,
.elementor .page-hero .elementor-heading-title,
.elementor .pathway-detail-hero .elementor-heading-title,
.elementor .cta-band .elementor-heading-title,
.elementor .split .b2b .elementor-heading-title,
.elementor .site-foot .elementor-heading-title{color:#fff!important}
.elementor .course-hero .elementor-widget-text-editor,
.elementor .course-hero .elementor-widget-text-editor p,
.elementor .page-hero .elementor-widget-text-editor,
.elementor .page-hero .elementor-widget-text-editor p,
.elementor .pathway-detail-hero .elementor-widget-text-editor,
.elementor .pathway-detail-hero .elementor-widget-text-editor p{color:#cfe0f8!important}
.elementor .cta-band .elementor-widget-text-editor,
.elementor .cta-band .elementor-widget-text-editor p{color:#d5e3f8!important}
.elementor .cta-band>.e-con-inner>.elementor-widget-heading,
.elementor .cta-band>.e-con-inner>.elementor-widget-text-editor{width:100%!important}
.elementor .split .b2b .elementor-widget-text-editor,
.elementor .split .b2b .elementor-widget-text-editor p{color:#c7d8f2!important}
.elementor .site-foot .elementor-widget-text-editor,
.elementor .site-foot .elementor-widget-text-editor p{color:#b9cbe6!important}
.elementor .site-foot .foot-brand .elementor-widget-text-editor,
.elementor .site-foot .foot-brand .elementor-widget-text-editor p{color:#93a9cc!important}
.elementor .site-foot .elementor-widget-heading h4.elementor-heading-title{
  margin-bottom:14px!important;
  color:#fff!important;
  font-size:.82rem!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.elementor .site-foot .foot-col.e-con,
.elementor .site-foot .foot-col.e-con>.e-con-inner{
  padding-left:0!important;
  padding-right:0!important;
}

/* The reference CSS applies grid/flex to plain HTML wrappers. Native
   Elementor containers add an editable .e-con-inner wrapper, so the layout
   belongs on that inner wrapper only. Without this reset the outer and inner
   elements both become grids and every section collapses into column one. */
.elementor .hero-grid.e-con-boxed,
.elementor .labs-grid.e-con-boxed,
.elementor .grid.e-con-boxed,
.elementor .ladder.e-con-boxed,
.elementor .steps.e-con-boxed,
.elementor .trainer-grid.e-con-boxed,
.elementor .why-grid.e-con-boxed,
.elementor .split.e-con-boxed,
.elementor .course-body.e-con-boxed,
.elementor .foot-grid.e-con-boxed{
  display:block!important;
}
.elementor .hero-grid.e-con-boxed>.e-con-inner,
.elementor .labs-grid.e-con-boxed>.e-con-inner,
.elementor .grid.e-con-boxed>.e-con-inner,
.elementor .ladder.e-con-boxed>.e-con-inner,
.elementor .steps.e-con-boxed>.e-con-inner,
.elementor .trainer-grid.e-con-boxed>.e-con-inner,
.elementor .why-grid.e-con-boxed>.e-con-inner,
.elementor .split.e-con-boxed>.e-con-inner,
.elementor .course-body.e-con-boxed>.e-con-inner,
.elementor .foot-grid.e-con-boxed>.e-con-inner{
  width:100%!important;
  max-width:none!important;
}

@media(max-width:960px){
  .elementor .site-head .nav.e-con-boxed>.e-con-inner{
    padding-left:0!important;
    padding-right:0!important;
  }
  .elementor .site-head .nav>.e-con-inner>.brand{
    width:auto!important;
    flex:0 1 auto!important;
  }
  .elementor .site-head .nav-link.is-active .elementor-button::after{display:none}
}

@media(min-width:1200px){
  .elementor .home-labs .labs-copy,
  .elementor .home-labs .labs-copy>.e-con-inner{height:100%!important}
  .elementor .home-labs .labs-copy>.e-con-inner>.small{
    margin:14px 0 16px!important;
  }
  .elementor .home-labs .labs-copy>.e-con-inner>.small p{margin:0!important}
}

/* Native Elementor versions of the reference mobile action bar and preview
   modal. Both remain editable widgets; only their presentation is fixed. */
.elementor .mobile-cta.e-con{display:none!important}
.elementor .modal.e-con{
  position:fixed!important;
  inset:0!important;
  z-index:90!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:20px!important;
  background:rgba(6,16,32,.72)!important;
  backdrop-filter:blur(3px)!important;
}
.elementor .modal.e-con.open{display:flex!important}
.elementor .modal.e-con>.e-con-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
.elementor .modal-box.e-con{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  width:100%!important;
  max-width:640px!important;
  padding:0!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--shadow-l)!important;
}
.elementor .modal-box.e-con>.e-con-inner{
  gap:0!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
.elementor .modal-box .vid{
  display:grid!important;
  place-items:center!important;
  aspect-ratio:16/9!important;
  background:linear-gradient(135deg,#0c2a52,#123a74)!important;
}
.elementor .modal-box .vid>.elementor-widget-container{width:100%!important}
.elementor .modal-box .preview-walkthrough{text-align:center!important}
.elementor .modal-box .preview-play-icon{
  color:#cfe0f8!important;
  font-size:2.4rem!important;
}
.elementor .modal-box .vid p{
  margin:8px 0 0!important;
  color:#cfe0f8!important;
}
.elementor .modal-box .vid .small{opacity:.7!important}
.elementor .modal-box .body.e-con{padding:22px 24px!important}
.elementor .modal-box .body>.e-con-inner{
  gap:0!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
.elementor .modal-box .body .elementor-heading-title{
  margin-bottom:6px!important;
  color:var(--ink)!important;
}
.elementor .modal-box .body .muted,
.elementor .modal-box .body .muted p{
  margin:0!important;
  color:var(--muted)!important;
}
.elementor .modal-box .modal-close{
  position:absolute!important;
  top:16px!important;
  right:20px!important;
  z-index:2!important;
  width:38px!important;
  height:38px!important;
}
.elementor .modal-box .modal-close .elementor-button{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.15)!important;
  color:#fff!important;
  font-size:1.3rem!important;
  line-height:1!important;
}

@media(max-width:760px){
  .elementor .mobile-cta.e-con{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:70!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:1px!important;
    width:100%!important;
    padding:0!important;
    background:var(--line)!important;
    box-shadow:0 -4px 18px rgba(11,31,64,.14)!important;
  }
  .elementor .mobile-cta.e-con>.e-con-inner{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:1px!important;
    width:100%!important;
    max-width:none!important;
    padding:0!important;
  }
  .elementor .mobile-cta .mobile-action,
  .elementor .mobile-cta .mobile-action>.elementor-widget-container{height:100%!important}
  .elementor .mobile-cta .mobile-action a{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:3px!important;
    height:100%!important;
    padding:9px 4px!important;
    background:#fff!important;
    color:var(--ink)!important;
    font-family:var(--font)!important;
    font-size:.72rem!important;
    font-weight:700!important;
    line-height:1.6!important;
    text-decoration:none!important;
  }
  .elementor .mobile-cta .mobile-action a.pri{
    background:var(--amber)!important;
    color:var(--amber-ink)!important;
  }
  .elementor .mobile-cta .mobile-action .mi{font-size:1.1rem!important}
}

/* Mobile parity for Elementor's extra editable wrappers. */
@media(max-width:760px){
  .elementor .site-head .brand>.e-con-inner{
    flex-wrap:nowrap!important;
  }
  .elementor .site-head .nav>.e-con-inner>.brand{
    width:265.66px!important;
    flex:0 1 265.66px!important;
  }
  .elementor .site-head .brand .logo{
    width:38px!important;
    min-width:38px!important;
    flex:0 0 38px!important;
  }
  .elementor .site-head .brand-copy{
    width:216.66px!important;
    min-width:0!important;
    flex:0 1 216.66px!important;
  }
  .elementor .site-head .brand .sub,
  .elementor .site-head .brand .sub p{white-space:nowrap!important}
  .elementor .site-head .nav-cta .menu-btn{
    width:42px!important;
    height:40px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  .elementor .site-head .menu-btn .elementor-button{
    width:42px!important;
    height:40px!important;
    padding:8px 11px!important;
  }
  .elementor .hero-grid.e-con-boxed>.e-con-inner{gap:34px!important}
  .elementor .section.e-con-full:has(> .section-intro){padding-top:52px!important}
  .elementor .why-item.e-con-boxed>.e-con-inner{flex-wrap:nowrap!important}
  .elementor .why-item .feature-copy{
    width:auto!important;
    min-width:0!important;
    flex:1 1 auto!important;
  }
  .elementor .home-learning .why-item,
  .elementor .home-readiness .step,
  .elementor .home-pathways .path-card,
  .elementor .home-teams .card,
  .elementor .home-proof .why-item,
  .elementor .home-readiness>.notice{min-height:0!important}
  .elementor .home-tiers>.tbl-wrap{height:auto!important}
  .elementor .course-card .cc-foot>.e-con-inner{
    flex-wrap:nowrap!important;
    gap:12px!important;
  }
  .elementor .home-learning>.grid{margin-top:12.5px!important}
  .elementor .home-pathways>.grid{margin-top:28px!important}
  .elementor .home-teams>.split{margin-top:24px!important}
  .elementor .home-proof>.why-grid{margin-top:18px!important}
  .elementor .home-faq>.faq{margin-top:20px!important}
  .elementor .cta-band.e-con{padding:34px 22px!important}
  .elementor .site-foot .foot-brand.e-con{padding-left:0!important;padding-right:0!important}
  .elementor .site-foot .scope.e-con{padding:24px 0 0!important}
  .elementor .site-foot .foot-legal.e-con{padding:20px 0 0!important}
  .elementor .site-foot .foot-legal.e-con>.e-con-inner{padding:0!important}
}

/* ==================================================================
   v2.9.0 — real brand logo and real hero preview video
   ================================================================== */

/* Brand logo. The Milcom Tech lockup replaces the old "M" tile plus
   wordmark, so the brand container now holds a single image widget. */
.milcom-logo,.elementor .milcom-logo{display:block!important; height:34px!important; width:auto!important; max-width:206px!important}
.milcom-logo-link{display:inline-flex; align-items:center; line-height:0}
.brand-logo p,.brand-logo .elementor-widget-container{margin:0!important; line-height:0!important}
.elementor .site-head .brand.e-con>.e-con-inner,
.elementor .site-head .brand.e-con{align-items:center!important; gap:0!important}
.elementor .site-head .brand .brand-logo{width:auto!important; flex:0 0 auto!important}
.elementor .site-foot .foot-brand-mark.e-con>.e-con-inner,
.elementor .site-foot .foot-brand-mark.e-con{align-items:center!important; gap:0!important}
.elementor .site-foot .foot-brand-mark .brand-logo{width:auto!important; flex:0 0 auto!important}

/* The footer is navy and the wordmark is navy, so it needs a light plate. */
.brand-logo-on-dark .milcom-logo-link{background:#fff; padding:12px 16px; border-radius:12px}
.site-foot .milcom-logo,.elementor .site-foot .milcom-logo{height:38px!important; max-width:230px!important}
.site-foot .foot-brand-mark{margin-bottom:14px}

@media(max-width:900px){
  .site-head .milcom-logo,.elementor .site-head .milcom-logo{height:32px!important; max-width:186px!important}
  .site-foot .milcom-logo,.elementor .site-foot .milcom-logo{height:30px!important; max-width:182px!important}
}

/* Hero preview player. Replaces the gradient placeholder thumbnail; the
   poster carries the first paint and the file only loads on play. */
.preview-player,.elementor .preview-player{width:100%!important; padding:0!important; margin:0!important}
.preview-player .elementor-widget-container{line-height:0}
.preview-player p{margin:0!important}
.preview-video{position:relative; width:100%; line-height:0; background:#04101f;
  border-radius:18px 18px 0 0; overflow:hidden; scroll-margin-top:110px}
.preview-video-el{display:block; width:100%; height:auto; aspect-ratio:16/9;
  object-fit:cover; background:#04101f; border:0}
.preview-video-el:focus-visible{outline:3px solid var(--amber); outline-offset:-3px}

/* Enrol calls to action (v2.10.0). Courses without a purchasable product fall
   back to an enquiry link, so no button on the site is ever inert. */
.enrol-cell{white-space:nowrap; text-align:right}
.enrol-cell .btn{padding:7px 14px; font-size:.8rem}
.enrol-cell .btn.is-enquiry{
  background:transparent; color:var(--blue); border:1px solid var(--line); box-shadow:none}
/* In the course hero the enquiry link stands in for Enrol, so it keeps the
   amber primary look: it is still the main action on the page. */
.course-enrol-cta .btn.is-enquiry{background:var(--amber); color:var(--amber-ink); border-color:transparent}
.enrol-cell .btn.is-enquiry:hover{background:var(--blue-l); border-color:var(--blue)}
.course-enrol-cta{margin:0 0 14px}
.course-enrol-cta .btn{font-size:.95rem}
.elementor .course-enrol .elementor-widget-container{line-height:1}
.elementor .course-enrol p{margin:0!important}


/* ---------- header row width (see note above the hamburger block) ---------- */
/* Measured at the real type sizes: brand 103 + nav labels 488 + actions 454 +
   two 26px gaps + the 8px nav offset = ~1105px of content, which fits the
   1180px column with room to spare. The row used to be given its own 1320px
   column to work around the stale hard-coded brand width above; with the brand
   sized by its contents the header sits on the same grid as the page body, so
   the logo lines up with the section copy underneath it. The phone number is
   still the first thing to drop when the column narrows. */
@media(min-width:1181px){
  .elementor .site-head .nav>.e-con-inner>.nav-links,
  .elementor .site-head .nav-links .elementor-widget-button{flex:0 0 auto!important;width:auto!important}
}
@media(min-width:1181px) and (max-width:1259px){
  /* First thing to go: the number is in the footer and on every course page. */
  .elementor .site-head .nav-cta .nav-phone{display:none!important}
}
@media(max-width:1180px){
  /* The hamburger row is already gutter-padded by .site-head itself. */
  .elementor .site-head .nav.e-con-boxed>.e-con-inner{padding-left:0!important;padding-right:0!important}
}

/* The announcement strip sits on navy, but Elementor text-editor widgets are
   forced to the dark body colour site-wide with !important, so every word that
   is not bold was rendering near-black on navy and reading as invisible. */
.elementor .topbar .elementor-widget-text-editor,
.elementor .topbar .elementor-widget-text-editor p{color:#dbe7fb!important}
.elementor .topbar .elementor-widget-text-editor strong{color:#fff!important}
.elementor .topbar .elementor-widget-text-editor a{color:var(--amber)!important}


/* ============================================================
   Production hardening (v2.15.0)
   Three classes of defect, fixed at the cause rather than per element:
   1. dark panels inheriting the light-background text colour,
   2. card rows whose footers floated at whatever height their copy ended,
   3. Elementor's centre-by-default alignment applied to left-aligned columns.
   ============================================================ */

/* ---------- 1. dark scopes ----------
   Each of these paints a dark background, so it declares the text colours its
   descendants should inherit. --tx is body copy, --tx-h headings, --tx-link
   links. The !important catch-alls near the top of the Elementor block read
   these, so nothing below needs its own !important to be legible. */
.elementor .topbar{--tx:#e4ecfb;--tx-h:#ffffff;--tx-link:var(--amber)}
.elementor .trust-strip{--tx:#cfdff5;--tx-h:#ffffff;--tx-link:#ffffff}
.elementor .hero.milcom-native{--tx:#eaf2ff;--tx-h:#ffffff;--tx-link:#ffffff}
.elementor .course-hero,
.elementor .page-hero{--tx:#dce9fb;--tx-h:#ffffff;--tx-link:#ffffff}
.elementor .site-foot{--tx:#c2d4ee;--tx-h:#ffffff;--tx-link:#c2d4ee}
.elementor .cta-band{--tx:#d5e3f8;--tx-h:#ffffff;--tx-link:#ffffff}
.elementor .split .b2b{--tx:#cfdff5;--tx-h:#ffffff;--tx-link:#ffffff}
.elementor .avatar{--tx:#ffffff;--tx-h:#ffffff}
.elementor .lab-shot,
.elementor .lab-screen{--tx:#cfe0f8;--tx-h:#ffffff}
.elementor .modal-box{--tx:#d5e3f8;--tx-h:#ffffff}
.elementor .step .num{--tx:#ffffff}

/* The step counter digit is drawn by ::before on the badge itself, so it takes
   the badge's own colour rather than an inherited one. */
.elementor .step .num,
.elementor .step .num::before{color:#fff!important}

/* Solid-fill chips and pills: the fill is dark, the label must not be. */
.elementor .topbar strong{color:#fff}
.elementor .trust-strip strong{color:#fff}

/* ---------- 2. accent text that has to pass AA on white ---------- */
.elementor .path-card.accent-ai .tag,.elementor .path-card.accent-ai .tag p{color:var(--p-ai-tx)!important}
.elementor .path-card.accent-data .tag,.elementor .path-card.accent-data .tag p{color:var(--p-data-tx)!important}
.elementor .path-card.accent-cyber .tag,.elementor .path-card.accent-cyber .tag p{color:var(--p-cyber-tx)!important}
.elementor .path-card.accent-tech .tag,.elementor .path-card.accent-tech .tag p{color:var(--p-tech-tx)!important}
.path-card.accent-ai .tag{color:var(--p-ai-tx)}
.path-card.accent-data .tag{color:var(--p-data-tx)}
.path-card.accent-cyber .tag{color:var(--p-cyber-tx)}
.path-card.accent-tech .tag{color:var(--p-tech-tx)}

/* Amber buttons carry dark-brown ink, never the body link blue (4.3:1). */
.btn-primary,
.elementor .btn-primary,
.elementor .elementor-widget-text-editor a.btn-primary,
.elementor .elementor-widget-button.btn-primary .elementor-button{color:var(--amber-ink)!important}
.btn-blue,
.elementor .elementor-widget-text-editor a.btn-blue,
.elementor .elementor-widget-button.btn-blue .elementor-button{color:#fff!important}
.elementor .elementor-widget-text-editor a.btn-ghost{color:var(--blue)!important}
.elementor .elementor-widget-text-editor a.btn-ghost-light{color:#fff!important}

/* ---------- 3. lists rendered through a text-editor widget ----------
   The styling classes sit on the widget wrapper, so the <ul> inside still had
   the UA marker under the custom tick/bullet. */
.elementor .labs-list ul,
.elementor .tier ul,
.elementor .split ul,
.elementor .course-body .bullets ul{list-style:none;padding-left:0;margin:0}
.labs-list ul{list-style:none;padding-left:0}

/* ---------- 4. card rows line up ----------
   Cards already stretch to equal height; their footers now sit on the card
   floor instead of wherever the copy above them happened to stop. */
/* No percentage height on the inner at all. A percentage resolves against the
   grid row, which is itself sized from its items — so the tallest card was
   measured against a height it was helping to define, clamped itself short and
   spilled its footer past the card border. The card is already a stretched grid
   item; the inner just grows to fill it, which is what makes the margin-top:auto
   footers below line up. */
.elementor .course-card,
.elementor .path-card,
.elementor .tier,
.elementor .trainer-card{display:flex!important}
.elementor .course-card>.e-con-inner,
.elementor .path-card>.e-con-inner,
.elementor .tier>.e-con-inner,
.elementor .trainer-card>.e-con-inner{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
}
.elementor .course-card .cc-foot,
.elementor .path-card .who,
.elementor .tier .elementor-widget-button{margin-top:auto!important}
.elementor .path-card .who{padding-top:4px}
.elementor .path-card .btn,
.elementor .path-card .elementor-widget-button{margin-top:14px!important}

/* The price line plus the details button never fitted one 360px row, so the
   row wrapped mid-phrase ("Cert Prep + / Labs") at a different height in every
   card. Stack them instead: price above, button below, same offset every card. */
.elementor .course-card .cc-foot.e-con-boxed>.e-con-inner{
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:10px;
}
.elementor .course-card .cc-foot .price,
.elementor .course-card .cc-foot .price p{margin:0!important;white-space:normal}
.course-card .cc-foot{flex-direction:column;align-items:flex-start;gap:10px}

/* ---------- 5. footer alignment ----------
   Elementor containers centre their children by default; the footer link
   columns and the legal row are left-aligned text. */
.elementor .site-foot .foot-col>.e-con-inner,
.elementor .site-foot .foot-brand>.e-con-inner,
.elementor .site-foot .scope>.e-con-inner{align-items:flex-start!important;text-align:left}
.elementor .site-foot .foot-col .elementor-widget-button{width:100%!important}
.elementor .site-foot .foot-link .elementor-button{
  width:100%!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
.elementor .site-foot .foot-legal.e-con-boxed>.e-con-inner{
  align-items:baseline!important;
  gap:10px 24px;
  text-align:left;
}
.elementor .site-foot .foot-legal .elementor-widget-text-editor{width:auto!important;flex:0 1 auto!important}
/* The footer sets every link to display:block for the stacked course columns;
   the legal line is a sentence, so its links stay inline. */
.elementor .site-foot .foot-legal-links a,
.site-foot .foot-legal a{display:inline!important;padding:0!important}

/* ---------- 6. code sample ---------- */
.elementor .lab-screen,
.elementor .lab-screen p,
.lab-screen{font-family:var(--mono)!important;font-variant-ligatures:none}

/* ---------- 7. focus visibility ----------
   Keyboard focus was only ever the UA outline, which disappears against the
   navy panels. */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.elementor .elementor-button:focus-visible{
  outline:3px solid var(--amber);
  outline-offset:2px;
  border-radius:4px;
}
.hero a:focus-visible,
.site-foot a:focus-visible,
.topbar a:focus-visible,
.cta-band a:focus-visible,
.elementor .hero .elementor-button:focus-visible{outline-color:#ffd25e}

/* ---------- 8. course hero action row ----------
   The enrol button now sits inside .hcta with the two secondary links, so the
   row wraps as one group instead of stacking a lone button above it. */
.elementor .hcta.e-con-boxed>.e-con-inner{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:12px;
}
.elementor .hcta .course-enrol{width:auto!important;flex:0 0 auto!important}
.elementor .hcta .course-enrol .course-enrol-cta{margin:0}
.elementor .hcta .elementor-widget-button{width:auto!important;flex:0 0 auto!important}
.hcta{display:flex;flex-wrap:wrap;align-items:center;gap:12px}

/* ---------- 9. "Popular" flag inside a navy table head ---------- */

.tbl-wrap thead th .rec-tag{
  color:#0b2a54;
  background:var(--amber);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:2px 7px;
  border-radius:5px;
  margin-left:7px;
  white-space:nowrap;
}

/* ---------- 10. hero meta pill ----------
   The three facts were separated by their own "·" flex items, so a wrap left a
   dangling separator at the end of the first line. Spacing does the separating
   instead, which survives any wrap. The pill also hugs its content rather than
   stretching the full column. */
.elementor .hero-metaline{width:auto!important;max-width:100%!important;align-self:flex-start!important}
.elementor .hero-metaline .hero-metaline-inner{gap:4px 22px!important}
.elementor .hero-metaline .hero-metaline-inner .sep{display:none!important}
.hero-metaline .sep{display:none}

/* ---------- 11. left-aligned Elementor buttons ----------
   The flex box that centres a button's label is .elementor-button-content-wrapper,
   not .elementor-button, so setting justify-content on the anchor did nothing and
   short footer links sat visibly indented next to their wrapping neighbours. */
.elementor .site-foot .foot-link .elementor-button-content-wrapper,
.elementor .site-head .nav-link .elementor-button-content-wrapper{
  justify-content:flex-start!important;
  text-align:left!important;
}
.elementor .site-foot .foot-legal .elementor-widget-text-editor,
.elementor .site-foot .foot-legal .elementor-widget-text-editor p{text-align:left!important}

/* ---------- 12. 404, search and archive bodies ----------
   These views have no Elementor document of their own, so they inherit the
   theme's raw markup between the branded header and footer. Give them the same
   wrapper, rhythm and type as the rest of the site. */
body.error404 .site-main,
body.search .site-main,
body.archive .site-main,
body.blog .site-main,
body.single .site-main{
  max-width:var(--maxw);
  margin:0 auto;
  padding:64px 22px 80px;
}
body.error404 .page-content,
body.error404 .page-header{max-width:640px}
body.error404 .page-header .entry-title,
body.search .page-header .page-title{
  font-size:clamp(1.9rem,4vw,2.6rem);
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--ink);
  margin:0 0 14px;
}
body.error404 .page-content p{color:var(--body);font-size:1.02rem}
body.error404 .search-form,
body.search .search-form{display:flex;gap:10px;margin:22px 0 0;flex-wrap:wrap}
body.error404 .search-form label,
body.search .search-form label{flex:1 1 240px;min-width:0}
body.error404 .search-field,
body.search .search-field{
  width:100%;
  padding:11px 14px;
  border:1.5px solid var(--line);
  border-radius:var(--radius-s);
  font:inherit;
  color:var(--ink);
}
body.error404 .search-submit,
body.search .search-submit{
  padding:.7em 1.3em;
  border:0;
  border-radius:999px;
  background:var(--amber);
  color:var(--amber-ink);
  font-weight:700;
  cursor:pointer;
}
body.error404 .page-content{max-width:760px}
body.error404 .notfound-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}
/* The theme underlines every link inside .site-main; buttons are not links in
   that sense. */
body.error404 .notfound-actions .btn,
body.search .search-submit{text-decoration:none!important}
body.error404 .notfound-help{margin:20px 0 0;font-size:.92rem;color:var(--muted)}
body.error404 .notfound-help a{color:var(--blue);font-weight:600}

/* ---------- 13. trainer capability cards ----------
   The circle now carries a discipline glyph rather than a person's initials,
   so it needs the icon size rather than the two-letter type size. */
.elementor .trainer-card .avatar,
.elementor .trainer-card .avatar p{font-size:1.9rem!important;line-height:1!important;letter-spacing:0!important}
.elementor .trainer-card .spec,
.elementor .trainer-card .spec p{font-variant-numeric:tabular-nums}
.elementor .trainer-card .q,
.elementor .trainer-card .q p{font-style:normal!important}

/* ---------- 14. team training page ---------- */
/* The amber dot is drawn by li::before; the <ul> still carried the UA disc, so
   every bullet rendered twice. Same defect as the labs list. */
/* .team-includes is the <ul> itself, not a wrapper. */
.elementor ul.team-includes,
ul.team-includes,
.elementor .team-includes-wrap ul{list-style:none!important;padding-left:0;margin:0}

/* Elementor's text-editor wrapper keeps a line box after the table, which left
   a ~17px white strip below the last row inside the bordered card. */
/* The theme gives every table a 15px bottom margin, which inside the bordered
   .tbl-wrap card showed as a white strip under the last row. Zeroing the
   wrapper's own line box as well keeps stray whitespace text nodes out of it. */
.elementor .tbl-wrap.elementor-widget-text-editor{font-size:0;line-height:0}
.elementor .tbl-wrap.elementor-widget-text-editor>*{font-size:.92rem;line-height:1.6}
.tbl-wrap>table,
.elementor .tbl-wrap table{margin:0!important}

/* ---------- 15. team enquiry form ---------- */
.team-form-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.elementor .team-form-fields{position:relative}
.team-form-notice{
  margin:0 0 14px;
  padding:11px 14px;
  border-radius:var(--radius-s);
  font-size:.9rem;
  line-height:1.5;
}
.team-form-notice.is-ok{background:#eaf7f0;border:1px solid #b6e0c8;color:#14603f}
.team-form-notice.is-error{background:#fff5f5;border:1px solid #f3c2c2;color:#7a1f1f}
.elementor .team-form .team-form-notice.is-ok,
.elementor .team-form .team-form-notice.is-error{color:inherit!important}

/* ============================================================
   Course key art (v2.19.0)
   Pulled from milcomtech.edu.au. Each graphic already carries the course
   code, the title and the MILCOMTECH lockup, so it is treated as
   identification rather than decoration: it links to the course and its alt
   text names the course. The source files are not one aspect ratio
   (370x374 through 428x286), so anywhere several appear side by side they
   sit in a shared box and are contained, never cropped — the baked-in text
   must survive at every width.
   ============================================================ */

.course-art{display:block;width:100%;height:auto}

/* ---- card banner ---- */
.elementor .course-card .course-art-wrap,
.course-card .course-art-wrap{
  width:100%!important;
  margin:0 0 16px!important;
  border-radius:var(--radius-s);
  overflow:hidden;
  background:#0b1f3a;
  line-height:0;
}
.elementor .course-card .course-art-wrap .elementor-widget-container{line-height:0}
.course-art-link{display:block;line-height:0}

/* The frame holds a blurred, over-scaled copy of the same artwork, so the
   letterbox bars are always that card's own colours rather than one flat
   navy that suits four of the twelve. */
.course-art-frame{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:374/326;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.course-art-frame::before{
  content:"";
  position:absolute;
  inset:0;
  background:inherit;
  background-size:cover;
  background-position:center;
  transform:scale(1.25);
  filter:blur(24px) saturate(1.1) brightness(.78);
}
.elementor .course-card .course-art,
.course-card .course-art{
  position:relative;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transition:transform .3s ease;
}
.course-card.hoverable:hover .course-art{transform:scale(1.03)}

/* The card's own code chip and heading repeat what the artwork already says.
   The artwork is the loud version; the text stays for search, screen readers
   and the no-image fallback, so only the spacing is tightened. */
.elementor .course-card.has-art .head{margin-top:0!important}

/* ---- course page hero ---- */
.elementor .course-hero-side.e-con-boxed>.e-con-inner{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:14px!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
.elementor .course-hero-row>.e-con-inner>.course-hero-side{
  flex:0 1 360px!important;
  width:auto!important;
  margin-left:auto!important;
}
.elementor .course-hero-art{width:100%!important}
.elementor .course-hero-art .elementor-widget-container{line-height:0}
.course-art-hero{
  width:100%;
  max-width:360px;
  height:auto;
  margin-left:auto;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 48px rgba(3,12,28,.45);
}
.elementor .course-hero-side>.e-con-inner>.price-quick{
  flex:0 0 auto!important;
  width:auto!important;
  margin-left:auto!important;
}

@media(max-width:760px){
  .elementor .course-hero-row>.e-con-inner>.course-hero-side{flex:1 1 100%!important;margin-left:0!important}
  .elementor .course-hero-side.e-con-boxed>.e-con-inner{align-items:flex-start!important}
  .course-art-hero{margin-left:0;max-width:100%}
  .elementor .course-hero-side>.e-con-inner>.price-quick{margin-left:0!important}
}

/* ---------- v2.21.0 header: call button and larger logo ---------- */
/* The phone number replaces "View Start Dates & Pricing" as the amber call to
   action, so it is sized and coloured like the primary button, only larger. */
.elementor .site-head .nav-phone .nav-phone-link{
  display:inline-flex!important; align-items:center; gap:.35em;
  background:var(--amber)!important; color:var(--amber-ink)!important;
  padding:11px 22px!important; border-radius:999px!important;
  font-size:1.1rem!important; font-weight:800!important; line-height:1.2!important;
  box-shadow:var(--shadow-s)!important; text-decoration:none!important}
.elementor .site-head .nav-phone .nav-phone-link:hover{background:var(--amber-d)!important; box-shadow:var(--shadow-m)!important}
.elementor .site-head .nav-phone .nav-phone-link span{color:var(--amber-ink)!important; font-weight:600!important}
/* It is now the main action, so it no longer drops out first when the row narrows. */
@media(min-width:1181px) and (max-width:1259px){
  .elementor .site-head .nav-cta .nav-phone{display:block!important}
}
@media(min-width:521px) and (max-width:1180px){
  .elementor .site-head .nav-cta .nav-phone{display:block!important}
  .elementor .site-head .nav-phone .nav-phone-link{padding:8px 16px!important; font-size:.98rem!important}
}

.site-head .milcom-logo,.elementor .site-head .milcom-logo{height:46px!important; max-width:280px!important}
@media(max-width:900px){
  .site-head .milcom-logo,.elementor .site-head .milcom-logo{height:38px!important; max-width:230px!important}
}

/* Phones: there is no room for the full number beside the logo, cart,
   sign-in and menu, so the call button becomes a round phone icon. It still
   dials the number on tap. */
@media(max-width:520px){
  .elementor .site-head .nav-cta .nav-phone{display:block!important}
  .elementor .site-head .nav-phone .nav-phone-link{
    width:40px; height:40px; padding:0!important; justify-content:center;
    font-size:0!important; gap:0}
  .elementor .site-head .nav-phone .nav-phone-link span{display:none!important}
  .elementor .site-head .nav-phone .nav-phone-link::before{
    content:""; width:20px; height:20px; background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.6a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat;
            mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.6a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat}
  .site-head .milcom-logo,.elementor .site-head .milcom-logo{height:34px!important; max-width:150px!important}
}

/* Small phones: logo, cart, sign-in, call and menu do not all fit at full
   size, so sign-in also becomes a round icon (it keeps its link and label for
   screen readers) and the logo and gaps tighten. */
@media(max-width:420px){
  .elementor .site-head .nav-cta.e-con-boxed>.e-con-inner,
  .elementor .site-head .nav-cta.e-con{gap:6px!important}
  .elementor .site-head .nav-cta .nav-account-link{
    width:38px; height:38px; padding:0!important; display:inline-flex; align-items:center; justify-content:center;
    font-size:0!important; gap:0}
  .elementor .site-head .nav-cta .nav-account-link .nav-account-icon{display:none!important}
  .elementor .site-head .nav-cta .nav-account-link::before{
    content:""; width:18px; height:18px; background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0 2c-4.4 0-9 2.2-9 5.5V22h18v-2.5C21 16.2 16.4 14 12 14z'/%3E%3C/svg%3E") center/contain no-repeat;
            mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0 2c-4.4 0-9 2.2-9 5.5V22h18v-2.5C21 16.2 16.4 14 12 14z'/%3E%3C/svg%3E") center/contain no-repeat}
  .elementor .site-head .nav-phone .nav-phone-link{width:38px; height:38px}
  .site-head .milcom-logo,.elementor .site-head .milcom-logo{height:30px!important; max-width:100px!important}
}
@media(max-width:340px){
  .elementor .site-head .nav-cta.e-con-boxed>.e-con-inner,
  .elementor .site-head .nav-cta.e-con{gap:4px!important}
  .elementor .site-head .nav-cta .nav-account-link,
  .elementor .site-head .nav-phone .nav-phone-link{width:34px; height:34px}
  .site-head .milcom-logo,.elementor .site-head .milcom-logo{height:26px!important; max-width:82px!important}
}

/* ---------- v2.22.0 course pages: full-width "Choose your batch" ---------- */
.elementor .course-batches.e-con-full{padding:40px 22px 0!important; gap:0!important}
.elementor .course-batches>.elementor-element{width:100%!important; max-width:var(--maxw)!important; margin:0 auto!important}
.elementor .course-batches .elementor-shortcode:empty{display:none}
.elementor .course-batches .mlcs-b-title{font-family:var(--font)}
@media(max-width:640px){ .elementor .course-batches.e-con-full{padding:28px 16px 0!important} }

/* ---------- v2.23.0 two delivery options (Guided Labs retired) ---------- */
@media(min-width:768px){
  .elementor .home-tiers .ladder.e-con-boxed>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
.elementor .home-tiers>.ladder,
.elementor .home-tiers>.tbl-wrap{width:100%!important;max-width:900px!important;margin-left:auto!important;margin-right:auto!important}
.elementor .home-tiers>.tbl-wrap table{width:100%}
/* With two options the comparison has three columns, which fit a phone
   screen: drop the 640px minimum (and its sideways scroll) and tighten. */
@media(max-width:767px){
  .elementor .home-tiers>.tbl-wrap{overflow-x:visible}
  .elementor .home-tiers>.tbl-wrap table.compare{min-width:0!important;table-layout:fixed;font-size:.84rem!important;line-height:1.4!important}
  .elementor .home-tiers>.tbl-wrap table.compare th,
  .elementor .home-tiers>.tbl-wrap table.compare td{padding:11px 10px!important;word-wrap:break-word}
  .elementor .home-tiers>.tbl-wrap table.compare th:first-child,
  .elementor .home-tiers>.tbl-wrap table.compare td:first-child{width:44%;position:static}
  .elementor .home-tiers>.tbl-wrap table.compare th:not(:first-child),
  .elementor .home-tiers>.tbl-wrap table.compare td:not(:first-child){text-align:center}
  .elementor .home-tiers>.tbl-wrap table.compare thead th{font-size:.78rem!important}
  .elementor .home-tiers>.tbl-wrap table.compare .badge-pop{display:inline-block;max-width:100%;margin:4px 0 0;padding:2px 6px;font-size:.58rem;line-height:1.3;white-space:normal;text-align:center;letter-spacing:0;word-break:keep-all;overflow-wrap:normal}
  .elementor .home-tiers>.tbl-wrap table.compare thead th:not(:first-child){padding-left:6px!important;padding-right:6px!important}
}
/* Very small phones: long card buttons wrap instead of pushing the page wide. */
@media(max-width:380px){
  .elementor .card .elementor-button{white-space:normal!important;max-width:100%;text-align:center}
}
