/* ===================== */
/* VARIABLES + BASE      */
/* ===================== */
:root{
  --navy:#0b2342;
  --navy-2:#0f2e56;
  --gold:#c9a24d;
  --gold-2:#e0c27a;
  --red:#8b1b1b;
  --red-2:#b32626;
  --paper:#efe6d6;
  --paper-2:#f6f1e7;
  --ink:#122033;
  --muted:#5a6776;
  --line:rgba(18,32,51,.16);

  --radius:16px;
  --radius-sm:12px;
  --shadow:0 14px 30px rgba(0,0,0,.14);
  --shadow-soft:0 10px 22px rgba(0,0,0,.10);

  --container:1160px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--ink);
  background: radial-gradient(1200px 600px at 20% 0%, #ffffff 0%, var(--paper-2) 55%, var(--paper) 100%);
  line-height:1.45;
}

img{max-width:100%;height:auto}
a{color:inherit}
.container{max-width:var(--container); margin:0 auto; padding:0 18px}

/* ===================== */
/* BUTTONS               */
/* ===================== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-decoration:none;
  border:1px solid transparent;
  border-radius:12px;
  padding:12px 16px;
  font-weight:700;
  letter-spacing:.2px;
  cursor:pointer;
  transition: transform .12s ease, filter .12s ease, background .12s ease, border-color .12s ease;
  user-select:none;
}
.btn:active{transform:translateY(1px)}
.btn-small{padding:10px 12px; border-radius:10px; font-weight:800}
.btn-block{width:100%}

.btn-red{background:linear-gradient(180deg, var(--red-2), var(--red)); color:#fff}
.btn-red:hover{filter:brightness(1.05)}

.btn-gold{background:linear-gradient(180deg, var(--gold-2), var(--gold)); color:#1a1206; border-color:rgba(0,0,0,.08)}
.btn-gold:hover{filter:brightness(1.03)}

.btn-navy{background:linear-gradient(180deg, var(--navy-2), var(--navy)); color:#fff}
.btn-navy:hover{filter:brightness(1.06)}

.btn-outline{background:transparent; border-color:rgba(18,32,51,.28); color:var(--ink)}
.btn-outline:hover{background:rgba(255,255,255,.45)}

/* ===================== */
/* HEADER / NAV (NOT STICKY) */
/* ===================== */
.site-header{
  background: radial-gradient(900px 240px at 20% 0%, rgba(255,255,255,.12), rgba(255,255,255,0)) , linear-gradient(180deg, #0a1f3b, #071a33);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
}
.brand{display:flex; align-items:center; gap:14px; text-decoration:none}
.brand-logo{
  border-radius:999px;
  box-shadow: 0 10px 22px rgba(0,0,0,.25);
}
.brand-name{
  color:#fff;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:26px;
  line-height:1.05;
}
.brand-tagline{
  color:rgba(255,255,255,.80);
  font-size:13px;
  margin-top:2px;
}

.site-nav{display:flex; align-items:center; gap:18px}
.nav-list{display:flex; align-items:center; gap:18px; list-style:none; padding:0; margin:0}
.nav-link{
  color:rgba(255,255,255,.88);
  text-decoration:none;
  font-weight:700;
  padding:10px 10px;
  border-radius:10px;
}
.nav-link:hover{background:rgba(255,255,255,.10); color:#fff}

.nav-cta{margin-left:4px}

.has-dropdown{position:relative}
.dropdown{
  display:none;
  position:absolute;
  top:44px;
  left:0;
  min-width:260px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  padding:10px;
  box-shadow: var(--shadow-soft);
  z-index:20;
}
.dropdown a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  text-decoration:none;
  color:var(--ink);
  font-weight:700;
}
.dropdown a:hover{background:rgba(11,35,66,.08)}
.dropdown-divider{height:1px; background:rgba(0,0,0,.10); margin:8px 6px}

.has-dropdown:hover .dropdown{display:block}

/* Mobile toggle button */
.nav-toggle{
  display:none;
  background:transparent;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  padding:10px 12px;
  color:#fff;
}
.nav-toggle-lines{
  display:block;
  width:22px; height:14px;
  position:relative;
}
.nav-toggle-lines:before,
.nav-toggle-lines:after,
.nav-toggle-lines{
  background:transparent;
}
.nav-toggle-lines:before,
.nav-toggle-lines:after{
  content:"";
  position:absolute;
  left:0; right:0;
  height:2px;
  background:#fff;
  border-radius:6px;
}
.nav-toggle-lines:before{top:2px}
.nav-toggle-lines:after{bottom:2px}

/* ===================== */
/* HEADER UPDATEED */
/* ===================== */

.header-sample{
  background:
    radial-gradient(1100px 420px at 25% 0%, rgba(255,255,255,.10), rgba(255,255,255,0) 60%),
    linear-gradient(180deg, #0a2341, #061a33);
  border-bottom: 1px solid rgba(255,255,255,.12);

  position: relative;
  overflow: visible; /* IMPORTANT for overlap */
}

/* Keep top bar content ABOVE the seam line */
.header-top{ padding: 16px 0 20px 0; }  /* extra bottom padding pushes seam lower */

/* Make CTA sit slightly higher (above seam) */
.header-cta{
  align-self: flex-start;
  margin-top: 2px;
  transform: translateY(-2px); /* pulls it up */
}

.header-top-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  position:relative;
}

/* Brand left */
.brand-sample{
  display:flex;
  align-items:flex-start;
  gap:14px;
  text-decoration:none;
}

/* Allow overlap layers */
.header-sample{ position:relative; }
.header-nav{ position:relative; z-index:1; }

.brand-logo-sample{
  width:120px;             /* slightly bigger */
  height:120px;
  border-radius:999px;
  box-shadow: 0 14px 26px rgba(0,0,0,.32);
  position:relative;
  z-index:5;

  /* Drop it enough to reach the nav baseline */
  transform: translateY(5px);
}

.brand-stack{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-top:0px;
}

.brand-title{
  color:#fff;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:26px;            /* closer to sample */
  line-height:1.0;
}

.brand-subtitle{
  color:rgba(255,255,255,.82);
  font-weight:700;
  font-size:12px;
  line-height:1.1;
}

/* CTA right (sample-style) */
.header-cta{
  padding:14px 18px;
  border-radius:14px;
  font-weight:1000;
  text-align:center;
  line-height:1.05;
  min-width: 170px;
  box-shadow: 0 12px 22px rgba(0,0,0,.22);
}

/* Thin gold divider line (sample look) */
.header-divider{
  position:absolute;
  left:0;
  right:0;

  /* Put it exactly at the bottom of the top bar (the seam) */
  top: 92px; /* adjust slightly if needed */
  height:2px;

  background: linear-gradient(
    90deg,
    rgba(201,162,77,0),
    rgba(201,162,77,.95),
    rgba(201,162,77,0)
  );
  opacity:.95;

  z-index:2;
  pointer-events:none;
}

/* Nav row */
.header-nav{
  padding: 0px 0 8px 0;   /* was 4px 0 10px 0 */
  margin-top: -6px;       /* pull nav up toward seam */
}

.header-nav-inner{
  display:flex;
  justify-content:center;
}

/* Centered nav list */
.sample-nav{
  display:flex;
  justify-content:center;
  width:100%;
}

.sample-nav-list{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  list-style:none;
  padding:0;
  margin:0;
}

.sample-link{
  color:rgba(255,255,255,.88);
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  padding:5px 10px;
  border-radius:10px;
  line-height:1.0;
  white-space:nowrap;
}

.sample-link:hover{
  color:#fff;
  background: rgba(255,255,255,.10);
}

.caret{
  font-size:11px;
  opacity:.75;
  margin-left:6px;
}

/* Dropdown (same behavior, but positioned from nav row) */
.header-sample .has-dropdown{position:relative}
.header-sample .dropdown{
  top: 36px;
}

/* Mobile toggle: top-right */
.header-toggle{
  display:none;
  position:absolute;
  right:0;
  top:4px;
  background:transparent;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  padding:10px 12px;
  color:#fff;
}

/* RESPONSIVE */
@media (max-width: 980px){
  .header-cta{display:none;}
  .header-toggle{display:inline-flex;}
  .header-top-inner{padding-right:56px;}

  .sample-nav{
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding:10px 0 0 0;
  }
  .sample-nav.is-open{display:flex;}

  .sample-nav-list{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }

  .header-nav-inner{justify-content:stretch;}
}

/* Mobile dropdown tap-open */
@media (max-width: 820px){
  .header-sample .has-dropdown:hover .dropdown{display:none;}
  .header-sample .dropdown{
    position:static;
    display:none;
    box-shadow:none;
    background:rgba(255,255,255,.94);
    margin-top:8px;
  }
  .header-sample .has-dropdown.is-open .dropdown{display:block;}
}

/* ===== HEADER FINAL TUNING PATCH ===== */

.header-top{ padding: 16px 0 20px 0; }

.header-cta{
  align-self:flex-start;
  margin-top:2px;
  transform: translateY(-4px);
}

.brand-sample{ align-items:flex-start; }
.brand-title{ font-size:26px; line-height:1.0; }

.header-nav{ padding: 4px 0 10px 0; }
.sample-link{ padding: 6px 10px; }

/* ===== HEADER ALIGNMENT PATCH (LOGO + NAV) ===== */

.header-nav{
  padding: 0px 0 8px 0;
  margin-top: -30px;
}

.sample-link{
  padding: 5px 10px;
  line-height: 1.0;
}

.brand-logo-sample{
  width:120px;
  height:120px;
  transform: translateY(5px);
}

.brand-stack{
  padding-top: 0px;
}

/* ===== DROPDOWN HOVER FIX (keeps menu open when moving to panel) ===== */
.header-sample .has-dropdown{
  position:relative;
  padding-bottom: 14px;      /* creates a hover-safe bridge */
  margin-bottom: -14px;      /* cancels the extra space visually */
}

/* Make the dropdown sit tighter to the link area */
.header-sample .dropdown{
  top: calc(100% - 10px);    /* attaches dropdown closer to trigger */
  left: 0;
  margin-top: 0;
}

/* Keep open when hovering either trigger OR dropdown itself */
.header-sample .has-dropdown:hover > .dropdown,
.header-sample .has-dropdown:focus-within > .dropdown,
.header-sample .dropdown:hover{
  display:block;
}

/* ===================== */
/* HERO                  */
/* ===================== */
.hero{
  position:relative;
  min-height:520px;
  overflow:hidden;
  border-bottom:1px solid rgba(0,0,0,.10);
}
.hero-media{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(6,10,16,.70) 0%, rgba(6,10,16,.22) 55%, rgba(6,10,16,.10) 100%),
    url("/assets/img/inx/hero.jpg") center/cover no-repeat;
  filter:saturate(1.05);
}
.hero-inner{
  position:relative;
  padding:64px 0;
}
.hero-copy{
  max-width:640px;
  color:#fff;
}
.hero h1{
  margin:0 0 14px 0;
  font-size:56px;
  line-height:1.02;
  text-transform:uppercase;
  letter-spacing:1px;
  text-shadow:0 10px 30px rgba(0,0,0,.45);
}
.hero p{
  margin:0 0 18px 0;
  font-size:18px;
  color:rgba(255,255,255,.88);
  max-width:560px;
  text-shadow:0 10px 24px rgba(0,0,0,.35);
}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap}

/* ===================== */
/* SECTION TITLES         */
/* ===================== */
.section-title{
  text-align:center;
  margin:0 auto 18px auto;
  max-width:740px;
}
.section-title h2{
  margin:0;
  font-size:34px;
  letter-spacing:.2px;
}
.section-title p{
  margin:8px 0 0 0;
  color:var(--muted);
}


/* ===================== */
/* MINI HERO (BASE)      */
/* ===================== */
.mini-hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(0,0,0,.10);
}
.mini-hero-media{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(6,10,16,.72) 0%, rgba(6,10,16,.30) 55%, rgba(6,10,16,.12) 100%),
    url("/assets/img/inx/hero.jpg") center/cover no-repeat;
  filter:saturate(1.05);
}
.mini-hero-inner{
  position:relative;
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:18px;
  align-items:stretch;
}

/* Left copy */
.mini-hero-copy{color:#fff; max-width:760px}
.mini-hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.8px;
  font-size:12px;
  color:rgba(255,255,255,.86);
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  padding:8px 12px;
  border-radius:999px;
  margin-bottom:10px;
}
.mini-hero h1{
  margin:12px 0 10px 0;
  line-height:1.05;
  text-transform:uppercase;
  letter-spacing:1px;
  text-shadow:0 10px 30px rgba(0,0,0,.45);
}
.mini-hero p{
  margin:0 0 14px 0;
  color:rgba(255,255,255,.88);
  max-width:640px;
  text-shadow:0 10px 24px rgba(0,0,0,.35);
}
.mini-hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:10px}

/* Pills / badges (shared) */
.mini-hero-badges,
.trust-badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.pill,
.trust-pill{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.88);
  font-weight:900;
  font-size:12px;
  letter-spacing:.2px;
}

/* Right-side panel (shared) */
.mini-hero-panel{
  display:flex;
  justify-content:flex-end; /* pushes it right like you want */
}
.panel-card{
  width:100%;
  max-width:380px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  padding:16px;
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(8px);
}
.panel-title{
  color:#fff;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.6px;
  margin-bottom:10px;
}
.panel-list{
  margin:0 0 12px 0;
  padding:0 0 0 18px;
  color:rgba(255,255,255,.88);
  font-weight:700;
}
.panel-list li{margin:8px 0}


/* ===================== */
/* HERO (TRAINING VARIANT) */
/* ===================== */

.hero--training{
  min-height: 520px; /* same feel as homepage */
}

.hero-media--training{
  background:
    linear-gradient(90deg, rgba(6,10,16,.72) 0%, rgba(6,10,16,.28) 55%, rgba(6,10,16,.12) 100%),
    url("/assets/img/inx/hero.jpg") center/cover no-repeat;
}

/* Two-column hero layout (copy left, panel right) */
.hero-inner--two{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:18px;
  align-items:stretch;
}

.hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.8px;
  font-size:12px;
  color:rgba(255,255,255,.86);
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  padding:6px 10px;
  border-radius:999px;
  margin-bottom:10px;
}

.hero-badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

/* Right panel alignment like your training page */
.hero-panel{
  display:flex;
  justify-content:flex-end;
  align-items:flex-start;
}

/* Responsive */
@media (max-width: 1100px){
  .hero-inner--two{grid-template-columns:1fr}
  .hero-panel{justify-content:flex-start}
}


/* ===================== */
/* MINI HERO MODIFIERS   */
/* ===================== */

/* Training page: a bit taller + bigger headline */
.mini-hero--training .mini-hero-inner{ padding:44px 0 40px 0; }
.mini-hero--training h1{ font-size:44px; }

/* Course page: still strong, slightly tighter than training */
.mini-hero--course .mini-hero-inner{ padding:38px 0 34px 0; }
.mini-hero--course h1{ font-size:42px; }

/* Responsive */
@media (max-width: 1100px){
  .mini-hero-inner{grid-template-columns:1fr}
  .mini-hero-panel{justify-content:flex-start}
}
@media (max-width: 520px){
  .mini-hero--training h1,
  .mini-hero--course h1{font-size:34px}
}


/* ===================== */
/* FINDER                 */
/* ===================== */
.find-class{padding:34px 0 10px 0}
.finder{
  display:grid;
  grid-template-columns: 1.1fr 1.2fr 1fr 220px;
  gap:12px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  padding:16px;
  box-shadow: var(--shadow-soft);
}
.field{display:flex; flex-direction:column; gap:6px}
.field-label{font-weight:800; font-size:12px; color:rgba(18,32,51,.78); text-transform:uppercase; letter-spacing:.7px}
.field-control{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  font-weight:700;
}
.finder-btn{height:100%}

/* ===================== */
/* COURSE CARDS           */
/* ===================== */
.course-cards{padding:18px 0 14px 0}
.cards-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
}
.course-card{
  position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72));
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  padding:18px;
  box-shadow: var(--shadow-soft);
}
.course-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(11,35,66,.10);
  border:1px solid rgba(11,35,66,.18);
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.6px;
}
.course-card h3{
  margin:12px 0 10px 0;
  font-size:20px;
  line-height:1.15;
}
.course-card p{
  margin:0 0 10px 0;
  color:rgba(18,32,51,.82);
}
.course-meta{
  margin:0 0 14px 0;
  font-weight:800;
  color:rgba(18,32,51,.76);
}
.cards-cta{
  display:flex;
  justify-content:center;
  padding:14px 0 0 0;
}

/* ===================== */
/* UPCOMING CLASSES       */
/* ===================== */
.upcoming{padding:26px 0 10px 0}
.upcoming-shell{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:16px;
  background:linear-gradient(180deg, rgba(8,26,51,.94), rgba(8,26,51,.84));
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  box-shadow: var(--shadow);
  overflow:hidden;
}
.upcoming-left{
  padding:20px;
  color:#fff;
}
.upcoming-title{
  font-size:22px;
  font-weight:1000;
  letter-spacing:.6px;
  text-transform:uppercase;
  margin-bottom:12px;
}
.upcoming-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.up-item{
  display:grid;
  grid-template-columns: 96px 1fr 150px;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
}
.up-date{
  border-right:1px solid rgba(255,255,255,.16);
  padding-right:10px;
}
.up-day{font-weight:1000; font-size:16px; letter-spacing:.4px}
.up-time{color:rgba(255,255,255,.80); font-weight:800; margin-top:2px; font-size:12px}
.up-name{font-weight:1000}
.up-loc{color:rgba(255,255,255,.80); font-weight:800; margin-top:2px; font-size:12px}
.upcoming-actions{margin-top:12px}

.upcoming-right{
  position:relative;
  min-height:320px;
}
.upcoming-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.upcoming-right:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(8,26,51,.65), rgba(8,26,51,0));
}

.up-seats{
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  opacity: 0.95;
}

.up-seats-badge{
  padding: 2px 8px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .04em;
  background: rgba(255,255,255,.12);
}

.up-seats-count{
  font-weight: 700;
}

/* ===================== */
/* FEATURED TRAINING      */
/* ===================== */
.featured{padding:18px 0 34px 0}
.featured-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
}
.feature-card{
  background:rgba(255,255,255,.70);
  border:1px solid rgba(0,0,0,.10);
  border-radius:22px;
  overflow:hidden;
  box-shadow: var(--shadow-soft);
}
.feature-media{
  height:190px;
  background:#ddd center/cover no-repeat;
}
.feature-media--group{
  background-image: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.15)), url("/assets/img/inx/group.jpg");
}
.feature-media--fire{
  background-image: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.15)), url("/assets/img/inx/fire.jpg");
}
.feature-body{padding:16px}
.feature-body h2{margin:0 0 8px 0; font-size:22px}
.feature-body p{margin:0 0 12px 0; color:rgba(18,32,51,.78)}
.feature-actions{display:flex; gap:10px; flex-wrap:wrap}

/* ===================== */
/* FOOTER                */
/* ===================== */
.site-footer{
  background:linear-gradient(180deg, #071a33, #051428);
  color:rgba(255,255,255,.86);
  margin-top:22px;
  border-top:1px solid rgba(255,255,255,.10);
}
.footer-inner{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr 1.1fr;
  gap:18px;
  padding:26px 0;
}
.footer-brand{display:flex; align-items:center; gap:12px}
.footer-logo{border-radius:999px}
.footer-title{font-weight:1000; text-transform:uppercase; letter-spacing:.8px}
.footer-subtitle{color:rgba(255,255,255,.72); font-weight:700; font-size:12px; margin-top:2px}
.footer-text{margin:12px 0 0 0; color:rgba(255,255,255,.74)}
.footer-heading{font-weight:1000; text-transform:uppercase; letter-spacing:.7px; margin-bottom:10px}
.footer-links{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px}
.footer-links a{text-decoration:none; color:rgba(255,255,255,.78)}
.footer-links a:hover{color:#fff}
.footer-meta{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px}
.footer-label{font-weight:900; color:#fff}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.10);
  padding:12px 0 14px 0;
}
.footer-bottom-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:rgba(255,255,255,.70);
  font-weight:700;
  font-size:13px;
}
.footer-bottom-links{display:flex; align-items:center; gap:8px}
.footer-bottom-links a{text-decoration:none; color:rgba(255,255,255,.70)}
.footer-bottom-links a:hover{color:#fff}
.dot{opacity:.6}
.footer-disclaimer{margin-top:8px; color:rgba(255,255,255,.62)}

/* ===================== */
/* RESPONSIVE            */
/* ===================== */
@media (max-width: 1100px){
  .cards-grid{grid-template-columns: repeat(2, 1fr)}
  .finder{grid-template-columns: 1fr 1fr; }
  .finder-btn{grid-column:1/-1}
  .upcoming-shell{grid-template-columns: 1fr}
  .up-item{grid-template-columns: 96px 1fr}
  .up-item .btn{grid-column:1/-1}
  .featured-grid{grid-template-columns: 1fr}
  .footer-inner{grid-template-columns: 1fr 1fr}
}

@media (max-width: 820px){
  .brand-name{font-size:22px}
  .hero h1{font-size:42px}
  .nav-toggle{display:inline-flex}
  .site-nav{
    display:none;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding:12px 0 0 0;
  }
  .site-nav.is-open{display:flex}
  .nav-list{flex-direction:column; align-items:stretch}
  .nav-cta{width:100%; justify-content:center}
  .has-dropdown:hover .dropdown{display:none}
  .dropdown{
    position:static;
    display:none;
    box-shadow:none;
    background:rgba(255,255,255,.94);
    margin-top:8px;
  }
  .has-dropdown.is-open .dropdown{display:block}
}

@media (max-width: 520px){
  .hero{min-height:520px}
  .hero-inner{padding:44px 0}
  .hero h1{font-size:36px}
  .cards-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
}

/* ===================== */
/* TRAINING PAGE */
/* ===================== */

/* Training modes */
.training-modes{padding:26px 0 8px 0}
.modes-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.mode-card{
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72));
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  padding:18px;
  box-shadow: var(--shadow-soft);
}
.mode-icon{font-size:26px}
.mode-card h3{margin:10px 0 8px 0; font-size:20px}
.mode-card p{margin:0 0 10px 0; color:rgba(18,32,51,.82)}
.mode-meta{font-weight:900; color:rgba(18,32,51,.72)}

/* Split section */
.training-split{padding:18px 0 18px 0}
.split-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
}
.split-card{
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.70));
  border:1px solid rgba(0,0,0,.10);
  border-radius:22px;
  padding:18px;
  box-shadow: var(--shadow-soft);
  position:relative;
  overflow:hidden;
}
.split-card--rc:before,
.split-card--custom:before{
  content:"";
  position:absolute;
  inset:-120px -120px auto auto;
  width:240px;
  height:240px;
  border-radius:999px;
  opacity:.12;
  background: radial-gradient(circle at 30% 30%, var(--navy), transparent 60%);
}
.split-card--custom:before{
  background: radial-gradient(circle at 30% 30%, var(--gold), transparent 60%);
}
.split-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.7px;
  font-size:12px;
  background:rgba(11,35,66,.14);
  border:1px solid rgba(11,35,66,.30);
  margin-bottom:10px;
  color: var(--navy);
}
.split-badge--gold{
  background: rgba(201,162,77,.26);
  border: 1px solid rgba(201,162,77,.45);
  color: #3b2a07;
}
.split-card h2{margin:0 0 8px 0; font-size:22px}
.split-card p{margin:0 0 12px 0; color:rgba(18,32,51,.82)}
.split-actions{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px}
.split-mini{
  border-top:1px solid rgba(0,0,0,.10);
  padding-top:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mini-row{display:grid; grid-template-columns: 92px 1fr; gap:10px}
.mini-label{font-weight:1000; color:rgba(18,32,51,.78)}
.mini-value{font-weight:800; color:rgba(18,32,51,.72)}

/* Category cards */
.training-categories{padding:14px 0 26px 0}
.cat-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.cat-card{
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72));
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  box-shadow: var(--shadow-soft);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.cat-top{padding:18px}
.cat-top h3{margin:10px 0 8px 0; font-size:20px}
.cat-top p{margin:0; color:rgba(18,32,51,.82)}
.cat-actions{padding:0 18px 18px 18px}
.training-cta-row{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
}

/* FAQ section */
.training-faq{padding:12px 0 34px 0}
.faq-shell{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:16px;
  background:linear-gradient(180deg, rgba(8,26,51,.94), rgba(8,26,51,.84));
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  box-shadow: var(--shadow);
  overflow:hidden;
}
.faq-left{padding:20px; color:#fff}
.faq-left h2{margin:0 0 6px 0; font-size:24px; text-transform:uppercase; letter-spacing:.6px}
.faq-left p{margin:0 0 12px 0; color:rgba(255,255,255,.82); font-weight:800}

.faq-item {
  background: #ffffff;
  border: 1px solid #d9e2ec;
  border-radius: 12px;
  margin-bottom: 12px;
  padding: 14px 16px;
}

.faq-item summary {
  font-weight: 700;
  color: #0b1e33;
  cursor: pointer;
}

.faq-item[open] {
  border-color: #c9a24d; /* your gold accent */
  box-shadow: 0 4px 14px rgba(201, 162, 77, 0.12);
}

.faq-item summary::-webkit-details-marker{display:none}
.faq-body{margin-top:10px; color:rgba(255,255,255,.82); font-weight:700}

.faq-right{padding:20px; display:flex; align-items:stretch}
.faq-card{
  width:100%;
  background: #ffffff;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:16px;
  box-shadow: 0 6px 20px rgba(8, 26, 51, 0.06);
  backdrop-filter: blur(6px);
  color:#fff;
}

/* split + mode cards should inherit normal dark text */
.split-card,
.mode-card{
  color:var(--ink);
}

.faq-card-title{
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.6px;
  margin-bottom:6px;
}
.faq-card p{margin:0 0 12px 0; color:rgba(255,255,255,.84); font-weight:800}
.faq-actions{display:flex; flex-direction:column; gap:10px}
.faq-note{margin-top:12px; color:rgba(255,255,255,.80); font-weight:800}

.faq-right .faq-card {
  background: linear-gradient(180deg, #0b1e33, #132b47);
  color: #ffffff;
}

.faq-right .faq-card p {
  color: rgba(255,255,255,.85);
}

.faq-right .faq-card-title {
  font-size: 20px;
  font-weight: 800;
}

/* Outline buttons on dark cards */
.faq-right .btn-outline{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.30);
  color:#fff;
}
.faq-right .btn-outline:hover{
  background: rgba(255,255,255,.16);
}


/* Responsive */
@media (max-width: 1100px){
  .mini-hero-inner{grid-template-columns: 1fr; }
  .mini-hero-panel{justify-content:flex-start}
  .modes-grid{grid-template-columns: 1fr; }
  .split-grid{grid-template-columns: 1fr; }
  .cat-grid{grid-template-columns: repeat(2, 1fr); }
  .faq-shell{grid-template-columns: 1fr; }
}
@media (max-width: 520px){
  .mini-hero h1{font-size:34px}
  .cat-grid{grid-template-columns: 1fr; }
}


/* =========================== */
/* TRAINING PAGE - FA/CPR/AED */
/* =========================== */

/* Options grid */
.course-hub{ padding: 28px 0 10px 0; }
.option-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
}
.option-card{
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72));
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  padding:18px;
  box-shadow: var(--shadow-soft);
  display:flex;
  flex-direction:column;
  gap:12px;
}
.option-card--featured{
  border-color: rgba(201,162,77,.50);
  box-shadow: 0 14px 30px rgba(0,0,0,.14);
}
.option-top h3{ margin:8px 0 6px 0; font-size:18px; line-height:1.15; }
.option-top p{ margin:0; color:rgba(18,32,51,.80); }

.option-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(11,35,66,.10);
  border:1px solid rgba(11,35,66,.18);
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.6px;
}
.option-badge--gold{
  background:rgba(201,162,77,.18);
  border-color: rgba(201,162,77,.45);
}

.option-points{
  margin:0;
  padding-left:18px;
  color:rgba(18,32,51,.82);
  font-weight:700;
}
.option-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.meta-chip{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.08);
  font-weight:900;
  font-size:11px;
  color:rgba(18,32,51,.75);
  letter-spacing:.2px;
}
.option-actions{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* Modular section */
.modular{ padding: 18px 0 28px 0; }
.modular-shell{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:16px;
  background:linear-gradient(180deg, rgba(8,26,51,.94), rgba(8,26,51,.84));
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  box-shadow: var(--shadow);
  overflow:hidden;
  padding:18px;
}
.modular-copy{ color:#fff; }
.modular-copy h2{ margin:0 0 10px 0; font-size:26px; text-transform:uppercase; letter-spacing:.6px; }
.modular-copy p{ margin:0 0 14px 0; color:rgba(255,255,255,.86); font-weight:700; }

.step-list{ display:flex; flex-direction:column; gap:12px; margin-top:10px; }
.step{
  display:flex;
  gap:12px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  padding:12px;
}
.step-num{
  width:34px; height:34px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:1000;
  color:#1a1206;
  background:linear-gradient(180deg, var(--gold-2), var(--gold));
}
.step-title{ font-weight:1000; }
.step-text{ color:rgba(255,255,255,.82); font-weight:700; margin-top:2px; font-size:13px; }

.modular-actions{ margin-top:14px; display:flex; gap:10px; flex-wrap:wrap; }

.modular-box{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:14px;
  color:rgba(255,255,255,.86);
}
.modular-box-title{
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.6px;
  margin-bottom:8px;
}
.modular-bullets{
  margin:0;
  padding-left:18px;
  display:flex;
  flex-direction:column;
  gap:8px;
  font-weight:700;
}
.modular-divider{
  height:1px;
  background:rgba(255,255,255,.18);
  margin:12px 0;
}
.modular-muted{ margin:0; color:rgba(255,255,255,.82); font-weight:700; }

/* What you'll learn */
.learn{ padding: 10px 0 22px 0; }
.learn-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
}
.learn-card{
  background:rgba(255,255,255,.70);
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  padding:16px;
  box-shadow: var(--shadow-soft);
}
.learn-icon{
  width:44px; height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:rgba(11,35,66,.10);
  border:1px solid rgba(11,35,66,.14);
  margin-bottom:10px;
  font-size:20px;
}
.learn-card h3{ margin:0 0 6px 0; font-size:18px; }
.learn-card p{ margin:0; color:rgba(18,32,51,.78); font-weight:700; }

/* FAQ */
.faq{ padding: 10px 0 34px 0; }
.faq-shell{
  background:linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.60));
  border:1px solid rgba(0,0,0,.10);
  border-radius:22px;
  box-shadow: var(--shadow-soft);
  padding:18px;
}
.faq-head h2{ margin:0 0 6px 0; }
.faq-head p{ margin:0 0 14px 0; color:rgba(18,32,51,.74); font-weight:700; }

.faq-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.faq-item{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  padding:12px 14px;
}
.faq-item summary{
  cursor:pointer;
  font-weight:1000;
  color:rgba(18,32,51,.90);
}
.faq-body{
  margin-top:8px;
  color:rgba(18,32,51,.78);
  font-weight:700;
}
.faq-actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* Responsive */
@media (max-width: 1100px){
  .mini-hero-inner{ grid-template-columns: 1fr; }
  .option-grid{ grid-template-columns: repeat(2, 1fr); }
  .learn-grid{ grid-template-columns: repeat(2, 1fr); }
  .modular-shell{ grid-template-columns: 1fr; }
}
@media (max-width: 520px){
  .mini-hero h1{ font-size:34px; }
  .option-grid{ grid-template-columns: 1fr; }
  .learn-grid{ grid-template-columns: 1fr; }
  .faq-grid{ grid-template-columns: 1fr; }
}


/* ===================== */
/* CERTIFICATIONS PAGE   */
/* ===================== */
.cert-hub{padding:26px 0 10px 0}

.cert-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:16px;
}

.cert-card{
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72));
  border:1px solid rgba(0,0,0,.10);
  border-radius:22px;
  box-shadow: var(--shadow-soft);
  overflow:hidden;
  padding:18px;
}

.cert-card--embed{
  background:linear-gradient(180deg, rgba(8,26,51,.94), rgba(8,26,51,.84));
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
}

.cert-card-head h3{margin:10px 0 6px 0; font-size:22px}
.cert-card-head p{margin:0 0 14px 0; color:rgba(18,32,51,.78); font-weight:700}
.cert-card--embed .cert-card-head p{color:rgba(255,255,255,.82)}

.cert-form{margin-top:8px}
.cert-form-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin-top:12px;
}

.cert-ce,
.training-faq,
.cert-links {
  padding: 60px 0;
  background: linear-gradient(180deg, var(--paper-2), var(--paper));
}

.cert-ce h2,
.training-faq h2,
.cert-links h2 {
  color: #0b1e33; /* deep navy */
  font-weight: 800;
}

.cert-ce p,
.training-faq p,
.faq-body {
  color: #2d3748; /* darker readable gray */
  line-height: 1.6;
}

.cert-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}

.cert-note{
  margin-top:12px;
  background:rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:12px;
  font-weight:700;
  color:rgba(18,32,51,.80);
}

.cert-card--embed .cert-note{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.14);
  color:rgba(255,255,255,.82);
}

/* Embed shell */
.cert-embed{
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  min-height:520px;
  position:relative;
}

.cert-embed-frame{
  width:100%;
  height:520px;
  border:0;
  display:none; /* default to fallback UX */
  background:#fff;
}

.cert-embed-fallback{
  position:absolute;
  inset:0;
  padding:16px;
  display:block;
  color:#fff;
}

.cert-embed-title{
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.6px;
  margin-bottom:6px;
}

.cert-embed-sub{
  color:rgba(255,255,255,.84);
  font-weight:800;
  margin-bottom:14px;
}

/* How it works section spacing */
.cert-steps{padding:14px 0 12px 0}

/* Responsive */
@media (max-width: 1100px){
  .cert-grid{grid-template-columns: 1fr}
  .cert-form-grid{grid-template-columns: 1fr}
}

/* ================================
   CERTIFICATIONS PAGE:
   FORCE ONE UNIFIED PAGE BACKGROUND
   ================================ */

/* Choose ONE background for the whole site/page */
:root{
  --page-bg: var(--paper);   /* try var(--paper-2) if you want lighter */
}

/* Kill the radial gradient and use ONE solid background everywhere */
body{
  background: var(--page-bg) !important;
}

/* Remove section-level background blocks that create “patches” */
.cert-ce,
.training-faq,
.cert-links,
.cert-intro,
.cert-details,
.cert-hub{
  background: transparent !important;
}

/* REPLACE your current .faq-shell override with this */
.faq-shell{
  background: rgba(255,255,255,.62) !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  box-shadow: var(--shadow-soft) !important;
  border-radius: 22px; /* keeps your existing look */
}

/* Optional: make section spacing still feel separated without changing background */
.cert-intro,
.cert-details,
.cert-ce,
.training-faq,
.cert-links{
  padding-top: 46px;
  padding-bottom: 46px;
}


/* =========================
   GROUP & WORKPLACE (HUB)
   ========================= */

.gw-hero-media{
  background:
    linear-gradient(90deg, rgba(6,10,16,.74) 0%, rgba(6,10,16,.30) 55%, rgba(6,10,16,.12) 100%),
    url("/assets/img/inx/group.jpg") center/cover no-repeat;
}

/* Options section */
.gw-options{ padding: 44px 0; }

.gw-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:16px;
}

.gw-card{
  border-radius:22px;
  padding:18px;
  border:1px solid rgba(0,0,0,.10);
  box-shadow: var(--shadow-soft);
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.74));
  position:relative;
  overflow:hidden;
}

.gw-card--navy{
  background: linear-gradient(180deg, rgba(8,26,51,.96), rgba(8,26,51,.88));
  border-color: rgba(255,255,255,.12);
  color:#fff;
}

.gw-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.7px;
  font-size:12px;
  background:rgba(11,35,66,.10);
  border:1px solid rgba(11,35,66,.18);
  margin-bottom:10px;
}

.gw-card--navy .gw-badge{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.18);
}

.gw-badge--gold{
  background: rgba(201,162,77,.18);
  border-color: rgba(201,162,77,.45);
  color:#fff;
}

.gw-card h3{
  margin:8px 0 8px 0;
  font-size:22px;
  line-height:1.15;
}

.gw-card p{
  margin:0 0 12px 0;
  color: rgba(18,32,51,.82);
  font-weight:700;
}

.gw-card--navy p{
  color: rgba(255,255,255,.86);
}

.gw-points{
  margin:0 0 14px 0;
  padding-left:18px;
  display:flex;
  flex-direction:column;
  gap:8px;
  color: rgba(18,32,51,.80);
  font-weight:800;
}

.gw-points--inverse{
  color: rgba(255,255,255,.86);
}

.gw-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.gw-note{
  margin-top:12px;
  padding:12px;
  border-radius:14px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.86);
  font-weight:800;
}

/* Steps section */
.gw-steps{ padding: 44px 0; }

.gw-steps-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:14px;
}

.gw-step{
  background: linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72));
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  padding:14px;
  box-shadow: var(--shadow-soft);
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.gw-step-num{
  width:38px;
  height:38px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:1000;
  color:#1a1206;
  background: linear-gradient(180deg, var(--gold-2), var(--gold));
  flex:0 0 auto;
}

.gw-step-title{ font-weight:1000; }
.gw-step-text{ margin-top:2px; color: rgba(18,32,51,.78); font-weight:700; }

.gw-cta-row{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:16px;
}

/* Industries */
.gw-industries{ padding: 44px 0; }

.gw-industry-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:12px;
}

.gw-chip{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:12px 12px;
  border-radius:999px;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(0,0,0,.10);
  font-weight:900;
  color: rgba(18,32,51,.80);
  box-shadow: 0 8px 18px rgba(0,0,0,.06);
}

/* FAQ section: keep brand look like your other pages */
.gw-faq{ padding: 44px 0; }
.gw-faq-shell{
  background: linear-gradient(180deg, rgba(8,26,51,.94), rgba(8,26,51,.84));
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  box-shadow: var(--shadow);
  overflow:hidden;
}

/* Final CTA */
.gw-final{ padding: 44px 0 24px 0; }

.gw-final-card{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:16px;
  background: linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72));
  border: 1px solid rgba(0,0,0,.10);
  border-radius:22px;
  box-shadow: var(--shadow-soft);
  padding:18px;
  align-items:center;
}

.gw-final-left h2{ margin:0 0 6px 0; font-size:26px; }
.gw-final-left p{ margin:0; color: rgba(18,32,51,.78); font-weight:700; }

.gw-final-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* Responsive */
@media (max-width: 1100px){
  .gw-grid{ grid-template-columns: 1fr; }
  .gw-steps-grid{ grid-template-columns: 1fr; }
  .gw-industry-grid{ grid-template-columns: repeat(2, 1fr); }
  .gw-final-card{ grid-template-columns: 1fr; }
}

@media (max-width: 520px){
  .gw-industry-grid{ grid-template-columns: 1fr; }
}


/* =====================================
   GROUP & WORKPLACE - FAQ TEXT FIX
   ===================================== */

/* Override dark FAQ heading styles ONLY for this page */
.gw-faq .faq-left h2{
  color: var(--navy) !important;
}

.gw-faq .faq-left p{
  color: rgba(18,32,51,.75) !important;
  font-weight: 700;
}

/* Make FAQ accordion summaries darker for contrast */
.gw-faq .faq-item summary{
  color: var(--ink);
  font-weight: 800;
}

/* Make expanded body readable */
.gw-faq .faq-body{
  color: rgba(18,32,51,.80);
}


/* ================================
   ON-SITE TRAINING (PAGE-ONLY CSS)
   Add this near your Certifications styles section
   ================================ */

/* Unified section background feel (uses existing body background) */
.onsite-fit,
.onsite-meaning,
.onsite-steps,
.onsite-setup,
.onsite-compare,
.onsite-final{
  padding: 46px 0;
}

/* BEST FIT */
.fit-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
}
.fit-card{
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72));
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  padding:16px;
  box-shadow: var(--shadow-soft);
}
.fit-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.7px;
  font-size:12px;
  background:rgba(201,162,77,.20);
  border:1px solid rgba(201,162,77,.35);
  color:rgba(18,32,51,.92);
  margin-bottom:10px;
}
.fit-text{margin:0; color:rgba(18,32,51,.78); font-weight:700}
.fit-cta{display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:16px}

/* WHAT IT MEANS */
.meaning-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.meaning-card{
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72));
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  padding:18px;
  box-shadow: var(--shadow-soft);
}
.meaning-card h3{margin:0 0 8px 0; font-size:20px}
.meaning-card p{margin:0; color:rgba(18,32,51,.80); font-weight:700}

.meaning-note{
  margin-top:14px;
  background:rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:14px;
  font-weight:800;
  color:rgba(18,32,51,.82);
}
.meaning-note a{font-weight:1000}

/* STEPS */
.steps-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
}
.step-card{
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72));
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  padding:16px;
  box-shadow: var(--shadow-soft);
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.step-num{
  width:38px; height:38px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:1000;
  color:#1a1206;
  background:linear-gradient(180deg, var(--gold-2), var(--gold));
  flex:0 0 auto;
}
.step-title{font-weight:1000; margin-bottom:4px}
.step-text{color:rgba(18,32,51,.78); font-weight:700; font-size:13px}
.steps-actions{display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:16px}

/* SETUP */
.setup-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.setup-card{
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72));
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  padding:18px;
  box-shadow: var(--shadow-soft);
}
.setup-card h3{margin:0 0 10px 0; font-size:20px}
.setup-card ul{margin:0; padding-left:18px; color:rgba(18,32,51,.80); font-weight:700; display:flex; flex-direction:column; gap:8px}

.setup-note{
  margin-top:14px;
  background:rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:14px;
  font-weight:800;
  color:rgba(18,32,51,.82);
}
.setup-note a{font-weight:1000}

/* COMPARE */
.compare-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
}
.compare-card{
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72));
  border:1px solid rgba(0,0,0,.10);
  border-radius:22px;
  padding:18px;
  box-shadow: var(--shadow-soft);
}
.compare-card--alt{
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.68));
}
.compare-card h3{margin:0 0 10px 0; font-size:22px}
.compare-card ul{margin:0; padding-left:18px; color:rgba(18,32,51,.80); font-weight:800; display:flex; flex-direction:column; gap:8px}
.compare-cta{margin-top:14px}

/* FINAL CTA STRIP */
.final-shell{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:16px;
  background:linear-gradient(180deg, rgba(8,26,51,.94), rgba(8,26,51,.84));
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  box-shadow: var(--shadow);
  overflow:hidden;
  padding:18px;
  color:#fff;
}
.final-copy h2{margin:0 0 8px 0; font-size:26px; text-transform:uppercase; letter-spacing:.6px}
.final-copy p{margin:0; color:rgba(255,255,255,.86); font-weight:700}
.final-actions{display:flex; flex-direction:column; gap:10px; justify-content:center}

/* RESPONSIVE */
@media (max-width: 1100px){
  .fit-grid{grid-template-columns: repeat(2, 1fr)}
  .meaning-grid{grid-template-columns: 1fr}
  .steps-grid{grid-template-columns: repeat(2, 1fr)}
  .setup-grid{grid-template-columns: 1fr}
  .compare-grid{grid-template-columns: 1fr}
  .final-shell{grid-template-columns: 1fr}
}
@media (max-width: 520px){
  .fit-grid{grid-template-columns: 1fr}
  .steps-grid{grid-template-columns: 1fr}
}

.setup-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}