/*
 Theme Name:   GCLA Child
 Theme URI:    https://gcla.ugc.edu.gh
 Description:  University of Gold Coast Leadership Academy. Child theme for Divi.
               Leadership education, executive development, and professional
               recognition in collaboration with the CMI Leadership Academy,
               United Kingdom. Building Leaders for the Nations.
 Author:       University of Gold Coast Leadership Academy
 Author URI:   https://gcla.ugc.edu.gh
 Template:     Divi
 Version:      1.0.0
*/

/* ============================================================
   GCLA DESIGN TOKENS - Chartered Emerald & Champagne
   A corporate, institutional, university-grade palette.
   Clean, generous, and Montserrat throughout. Iconography: Lucide.
   Note: the --wine* variables carry the emerald brand values and the
   --brass* variables carry the champagne accent values. The variable
   names are kept stable across the theme and page layouts.
   ============================================================ */

:root {
  /* Brand core - chartered emerald */
  --wine:           #0B3D2E;   /* primary signature - chartered emerald */
  --wine-mid:       #14543E;   /* mid tone - gradients, secondary panels */
  --wine-deep:      #072A20;   /* darkest - footer, deep bands */
  --wine-tint:      #0F4734;   /* hover / elevated surfaces on dark */

  /* Accent - champagne gold */
  --brass:          #C2A14D;   /* accent champagne gold */
  --brass-lt:       #D8BE7E;   /* lighter champagne - hover */
  --brass-dk:       #A8862F;   /* deeper champagne - borders / text on light */

  /* Warm neutrals */
  --ivory:          #F6F1E7;   /* warm panel */
  --ivory-deep:     #ECE4D3;   /* deeper warm panel */

  /* Text */
  --ink:            #1A1F1C;   /* near-black warm body text */
  --ink-soft:       #4C544E;   /* muted body text */
  --ink-faint:      #7A817C;   /* captions / meta */

  /* Lines */
  --line:           #DDD4C0;   /* hairline on light surfaces */
  --line-soft:      #ECE4D3;   /* faint hairline */
  --line-dark:      rgba(255,255,255,0.14); /* hairline on dark surfaces */

  --white:          #FFFFFF;

  /* Programme tier accents (tonal, within the wine/brass family) */
  --tier-one:       #1F7A57;   /* warmer wine - foundational */
  --tier-two:       #14543E;   /* core wine - operational */
  --tier-three:     #0B3D2E;   /* deepest wine - executive */

  /* Typography - Montserrat globally */
  --font-display:   'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body:      'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* Shadows - soft, corporate */
  --shadow-sm:      0 2px 10px rgba(7,42,32,0.06);
  --shadow-md:      0 14px 40px rgba(7,42,32,0.10);
  --shadow-lg:      0 28px 66px rgba(7,42,32,0.16);

  /* Rhythm */
  --ease:           cubic-bezier(0.22, 1, 0.36, 1);
  --radius:         4px;
  --radius-lg:      8px;
}

/* ============================================================
   GLOBAL BASE
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  letter-spacing: -0.005em;
}

img { max-width: 100%; height: auto; display: block; }

/* ============================================================
   TYPOGRAPHY
   ============================================================ */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.et_pb_text p,
.et_pb_text li,
.et_pb_text td {
  font-family: var(--font-body);
  line-height: 1.72;
}

/* ============================================================
   GLOBAL FONT OVERRIDE - force Montserrat everywhere, including
   inline font-family declarations and Divi module font settings
   baked into the page layouts. Icon glyphs are left untouched.
   ============================================================ */
html body,
html body h1, html body h2, html body h3,
html body h4, html body h5, html body h6,
html body p, html body a, html body li, html body blockquote,
html body input, html body textarea, html body select, html body button,
html body .et_pb_module,
html body .et_pb_module h1, html body .et_pb_module h2, html body .et_pb_module h3,
html body .et_pb_module h4, html body .et_pb_module h5, html body .et_pb_module h6,
html body .et_pb_text, html body .et_pb_text p, html body .et_pb_text li,
html body .et_pb_button,
html body #et-top-navigation .nav li a,
html body [style*="Fraunces"],
html body [style*="Source Sans"],
html body [style*="Playfair"] {
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
}

/* Eyebrow / kicker label - the signature GCLA label motif */
.gcla-eyebrow,
.et_pb_text .gcla-eyebrow {
  display: inline-block;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--brass) !important;
  margin: 0 0 18px !important;
  position: relative;
}
.gcla-section-ivory .gcla-eyebrow,
.gcla-section-white .gcla-eyebrow { color: var(--brass-dk) !important; }

/* Editorial lede / conviction text */
.gcla-lede,
.et_pb_text .gcla-lede {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: clamp(1.2rem, 2vw, 1.55rem) !important;
  line-height: 1.5 !important;
  letter-spacing: -0.015em;
}

/* Brass hairline rule - refined divider */
.gcla-rule {
  width: 58px;
  height: 3px;
  background: var(--brass);
  border: 0;
  margin: 0 0 26px;
  border-radius: 2px;
}
.gcla-rule--center { margin-left: auto; margin-right: auto; }

/* ============================================================
   DIVI CORE FIXES
   ============================================================ */

.et_fixed_nav #page-container,
.et_fixed_nav #main-content { padding-top: 0 !important; }

.et_pb_section:first-of-type { margin-top: 0 !important; }
.et_pb_row { border-bottom: none !important; }

.et_pb_button {
  font-family: var(--font-body) !important;
  letter-spacing: 0.03em !important;
  border-radius: var(--radius) !important;
  transition: background 0.22s var(--ease), color 0.22s var(--ease), border-color 0.22s var(--ease), transform 0.18s var(--ease), box-shadow 0.22s var(--ease) !important;
}

/* ============================================================
   NAVIGATION - clean white bar, wine text, brass accents
   Corporate and light for a university institution.
   ============================================================ */

#main-header,
.et-fixed-header {
  background-color: var(--white) !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: 0 1px 0 rgba(26,31,28,0.04) !important;
  transition: box-shadow 0.25s var(--ease), background-color 0.25s var(--ease) !important;
}
.et-fixed-header {
  box-shadow: 0 8px 30px rgba(7,42,32,0.10) !important;
  border-bottom-color: var(--line) !important;
}

#logo { max-height: 60px; }

/* Desktop nav links */
#main-header .nav li a,
#et-top-navigation .nav li a {
  color: var(--ink) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.01em !important;
  position: relative;
  transition: color 0.2s var(--ease) !important;
}

/* Underline grows from the left */
#main-header .nav li a::after,
#et-top-navigation .nav li a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--brass);
  transition: width 0.28s var(--ease);
  pointer-events: none;
}
#main-header .nav li a:hover::after,
#main-header .nav li.current-menu-item > a::after,
#main-header .nav li.current-menu-ancestor > a::after,
#et-top-navigation .nav li a:hover::after,
#et-top-navigation .nav li.current-menu-item > a::after,
#et-top-navigation .nav li.current-menu-ancestor > a::after { width: 100%; }

#main-header .nav li a:hover,
#main-header .nav li.current-menu-item > a,
#main-header .nav li.current-menu-ancestor > a,
#et-top-navigation .nav li a:hover,
#et-top-navigation .nav li.current-menu-item > a,
#et-top-navigation .nav li.current-menu-ancestor > a { color: var(--wine) !important; }

#main-header .nav li.menu-item-has-children > a::after,
#et-top-navigation .nav li.menu-item-has-children > a::after { display: none !important; }

/* "Apply" / conversion item - wine pill CTA in the nav */
#main-header .nav li a[href*="apply"],
#main-header .nav li a[href*="enquire"],
#et-top-navigation .nav li a[href*="apply"],
#et-top-navigation .nav li a[href*="enquire"] {
  background: var(--wine) !important;
  color: var(--white) !important;
  padding: 9px 20px !important;
  border-radius: var(--radius) !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin-left: 14px !important;
  box-shadow: 0 2px 12px rgba(11,61,46,0.24) !important;
  transition: background 0.2s var(--ease), box-shadow 0.2s var(--ease), transform 0.15s var(--ease) !important;
}
#main-header .nav li a[href*="apply"]:hover,
#main-header .nav li a[href*="enquire"]:hover,
#et-top-navigation .nav li a[href*="apply"]:hover,
#et-top-navigation .nav li a[href*="enquire"]:hover {
  background: var(--wine-mid) !important;
  color: var(--white) !important;
  box-shadow: 0 8px 22px rgba(11,61,46,0.34) !important;
  transform: translateY(-1px) !important;
}
#main-header .nav li a[href*="apply"]::after,
#main-header .nav li a[href*="enquire"]::after,
#et-top-navigation .nav li a[href*="apply"]::after,
#et-top-navigation .nav li a[href*="enquire"]::after { display: none !important; }

/* Dropdown panel */
#main-header .nav li > ul.sub-menu,
#et-top-navigation .nav li > ul.sub-menu {
  background: var(--white) !important;
  border-top: 2px solid var(--brass) !important;
  box-shadow: var(--shadow-md) !important;
  border-radius: 0 0 var(--radius) var(--radius) !important;
}
#main-header .nav li > ul.sub-menu li a,
#et-top-navigation .nav li > ul.sub-menu li a {
  color: var(--ink-soft) !important;
  background: transparent !important;
  border-left: 3px solid transparent !important;
  font-weight: 600 !important;
  transition: color 0.15s, background 0.15s, border-left-color 0.15s !important;
}
#main-header .nav li > ul.sub-menu li a:hover,
#et-top-navigation .nav li > ul.sub-menu li a:hover {
  color: var(--wine) !important;
  background: var(--ivory) !important;
  border-left-color: var(--brass) !important;
}
#main-header .nav li > ul.sub-menu li a::after,
#et-top-navigation .nav li > ul.sub-menu li a::after { display: none !important; }

/* ============================================================
   BUTTONS
   ============================================================ */

/* Wine solid (primary CTA) */
.et_pb_button.gcla-btn-wine,
.gcla-btn-wine .et_pb_button {
  background-color: var(--wine) !important;
  color: var(--white) !important;
  border: 1px solid var(--wine) !important;
  border-radius: var(--radius) !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  font-size: 0.8rem !important;
  padding: 15px 34px !important;
  box-shadow: 0 4px 16px rgba(11,61,46,0.20) !important;
}
.et_pb_button.gcla-btn-wine:hover,
.gcla-btn-wine .et_pb_button:hover {
  background-color: var(--wine-mid) !important;
  border-color: var(--wine-mid) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 24px rgba(11,61,46,0.28) !important;
}

/* Brass solid */
.et_pb_button.gcla-btn-brass,
.gcla-btn-brass .et_pb_button {
  background-color: var(--brass) !important;
  color: var(--wine-deep) !important;
  border: 1px solid var(--brass) !important;
  border-radius: var(--radius) !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  font-size: 0.8rem !important;
  padding: 15px 34px !important;
}
.et_pb_button.gcla-btn-brass:hover,
.gcla-btn-brass .et_pb_button:hover {
  background-color: var(--brass-lt) !important;
  border-color: var(--brass-lt) !important;
  transform: translateY(-1px) !important;
}

/* Ghost / outline on dark */
.et_pb_button.gcla-btn-ghost,
.gcla-btn-ghost .et_pb_button {
  background-color: transparent !important;
  color: var(--white) !important;
  border: 1px solid rgba(255,255,255,0.45) !important;
  border-radius: var(--radius) !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  font-size: 0.8rem !important;
  padding: 15px 34px !important;
}
.et_pb_button.gcla-btn-ghost:hover,
.gcla-btn-ghost .et_pb_button:hover {
  background-color: var(--white) !important;
  color: var(--wine) !important;
  border-color: var(--white) !important;
}

/* Outline on light */
.et_pb_button.gcla-btn-outline,
.gcla-btn-outline .et_pb_button {
  background-color: transparent !important;
  color: var(--wine) !important;
  border: 1px solid var(--wine) !important;
  border-radius: var(--radius) !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  font-size: 0.8rem !important;
  padding: 15px 34px !important;
}
.et_pb_button.gcla-btn-outline:hover,
.gcla-btn-outline .et_pb_button:hover {
  background-color: var(--wine) !important;
  color: var(--white) !important;
}

/* ============================================================
   SECTION SURFACES
   ============================================================ */

.gcla-section-wine  { background-color: var(--wine) !important; }
.gcla-section-deep  { background-color: var(--wine-deep) !important; }
.gcla-section-ivory { background-color: var(--ivory) !important; }
.gcla-section-ivory-deep { background-color: var(--ivory-deep) !important; }
.gcla-section-white { background-color: var(--white) !important; }

.gcla-section-wine h1, .gcla-section-wine h2, .gcla-section-wine h3,
.gcla-section-wine h4, .gcla-section-wine p, .gcla-section-wine li,
.gcla-section-deep h1, .gcla-section-deep h2, .gcla-section-deep h3,
.gcla-section-deep h4, .gcla-section-deep p, .gcla-section-deep li {
  color: var(--white) !important;
}

.gcla-seam { border-top: 1px solid var(--line) !important; }
.gcla-seam-gold { border-top: 2px solid var(--brass) !important; }

/* ============================================================
   HERO
   ============================================================ */

.gcla-hero {
  background-color: var(--wine);
  position: relative;
  overflow: hidden;
}
/* faint concentric brass motif behind hero text */
.gcla-hero::after {
  content: '';
  position: absolute;
  right: -140px;
  top: 50%;
  transform: translateY(-50%);
  width: 540px;
  height: 540px;
  border: 1px solid rgba(194,161,77,0.16);
  border-radius: 50%;
  box-shadow: inset 0 0 0 44px rgba(194,161,77,0.05);
  pointer-events: none;
}
.gcla-hero::before {
  content: '';
  position: absolute;
  right: -50px;
  top: 50%;
  transform: translateY(-50%);
  width: 360px;
  height: 360px;
  border: 1px solid rgba(194,161,77,0.10);
  border-radius: 50%;
  pointer-events: none;
}
.gcla-hero__kicker {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--brass-lt);
}

/* ============================================================
   PARTNERSHIP LOCKUP STRIP - UGC x CMI
   ============================================================ */

.gcla-partner-strip {
  background: var(--ivory-deep);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 30px 0;
  text-align: center;
}
.gcla-partner-strip .gcla-partner-label {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 14px;
}
.gcla-partner-lockup {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  flex-wrap: wrap;
}
.gcla-partner-lockup .gcla-partner-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.02rem;
  color: var(--wine);
}
.gcla-partner-lockup .gcla-partner-x {
  color: var(--brass-dk);
  font-size: 1.05rem;
}

/* ============================================================
   PILLAR / FEATURE CARDS - corporate, hairline, brass corner
   ============================================================ */

.gcla-card,
.et_pb_blurb.gcla-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 38px 34px !important;
  height: 100%;
  position: relative;
  transition: box-shadow 0.28s var(--ease), transform 0.28s var(--ease), border-color 0.28s var(--ease);
  overflow: hidden;
}
.gcla-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 44px; height: 44px;
  border-top: 2px solid var(--brass);
  border-left: 2px solid var(--brass);
  opacity: 0;
  transition: opacity 0.25s var(--ease);
}
.gcla-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
  border-color: var(--brass);
}
.gcla-card:hover::before { opacity: 1; }
.gcla-card .et_pb_blurb_container,
.gcla-card .et_pb_main_blurb_image { text-align: left !important; }
.gcla-section-ivory .gcla-card { border-color: var(--line); }

/* ============================================================
   PATHWAY TIER BLOCKS (signature ladder) - Roman numerals
   ============================================================ */

.gcla-tier {
  display: flex;
  gap: 28px;
  align-items: flex-start;
  background: var(--white);
  border: 1px solid var(--line);
  border-left: 4px solid var(--brass);
  border-radius: var(--radius);
  padding: 34px 36px;
  margin-bottom: 22px;
  transition: box-shadow 0.28s var(--ease), transform 0.2s var(--ease);
}
.gcla-tier:hover { box-shadow: var(--shadow-md); transform: translateX(4px); }
.gcla-tier__num {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
  color: var(--brass);
  flex-shrink: 0;
  min-width: 62px;
  letter-spacing: 0.02em;
}
.gcla-tier__body { flex: 1; }
.gcla-tier__eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brass-dk);
  margin-bottom: 6px;
}
.gcla-tier__title {
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--wine);
  margin-bottom: 10px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.gcla-tier__desc {
  font-family: var(--font-body);
  color: var(--ink-soft);
  font-size: 0.98rem;
  line-height: 1.66;
  margin-bottom: 16px;
}
.gcla-tier__meta { display: flex; gap: 26px; flex-wrap: wrap; margin-bottom: 16px; }
.gcla-tier__meta span { font-family: var(--font-body); font-size: 0.82rem; color: var(--ink-faint); }
.gcla-tier__meta strong {
  display: block;
  font-family: var(--font-display);
  font-size: 1rem;
  color: var(--wine);
  font-weight: 700;
}
.gcla-tier__link {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--wine);
  text-decoration: none;
  border-bottom: 2px solid var(--brass);
  padding-bottom: 3px;
  transition: color 0.15s, border-color 0.15s;
}
.gcla-tier__link:hover { color: var(--brass-dk); }
.gcla-tier--one   { border-left-color: var(--tier-one); }
.gcla-tier--two   { border-left-color: var(--tier-two); }
.gcla-tier--three { border-left-color: var(--tier-three); }

.gcla-tier__ic {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--wine);
  color: var(--brass-lt);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
  box-shadow: 0 8px 22px rgba(11,61,46,0.22);
  transition: transform 0.4s var(--ease);
}
.gcla-tier:hover .gcla-tier__ic { transform: rotate(-7deg) scale(1.05); }
.gcla-tier__meta span [data-lucide] { color: var(--brass-dk); font-size: 1rem; margin-right: 6px; }

/* ============================================================
   PROGRAMME / LEVEL HERO META BAR
   ============================================================ */

.gcla-meta-bar {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  border: 1px solid var(--line-dark);
  border-radius: var(--radius);
  overflow: hidden;
  margin-top: 28px;
}
.gcla-meta-bar__item { flex: 1 1 160px; padding: 20px 26px; border-right: 1px solid var(--line-dark); }
.gcla-meta-bar__item:last-child { border-right: none; }
.gcla-meta-bar__label {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brass-lt);
  margin-bottom: 6px;
}
.gcla-meta-bar__value {
  font-family: var(--font-display);
  font-size: 1.12rem;
  font-weight: 700;
  color: var(--white);
}
.gcla-meta-bar__label [data-lucide] { font-size: 0.95rem; margin-right: 6px; vertical-align: -0.1em; }

/* ============================================================
   STAT BLOCKS
   ============================================================ */

.gcla-stat { text-align: center; padding: 14px 18px; }
.gcla-stat__num {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 4vw, 3.1rem);
  font-weight: 700;
  color: var(--brass-lt);
  line-height: 1;
  margin-bottom: 10px;
  letter-spacing: -0.03em;
}
.gcla-stat__label {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: rgba(255,255,255,0.78);
  letter-spacing: 0.01em;
}
.gcla-stat__ic { color: var(--brass-lt); font-size: 1.6rem; margin-bottom: 12px; display: flex; justify-content: center; }
.gcla-section-ivory .gcla-stat__label { color: var(--ink-soft); }
.gcla-section-ivory .gcla-stat__num,
.gcla-section-ivory .gcla-stat__ic { color: var(--brass-dk); }

/* ============================================================
   CONVICTION BAND
   ============================================================ */

.gcla-conviction { background: var(--wine-deep); padding: 90px 8%; text-align: center; position: relative; }
.gcla-conviction::before {
  content: '\201C';
  font-family: var(--font-display);
  font-size: 5.5rem;
  color: rgba(194,161,77,0.34);
  line-height: 0.5;
  display: block;
  margin-bottom: 8px;
}
.gcla-conviction p,
.gcla-conviction .et_pb_text_inner {
  font-family: var(--font-display) !important;
  font-weight: 500;
  font-size: clamp(1.4rem, 2.6vw, 2rem) !important;
  color: var(--ivory) !important;
  line-height: 1.48 !important;
  letter-spacing: -0.015em;
  max-width: 920px;
  margin: 0 auto !important;
}

/* ============================================================
   BENEFIT ITEMS
   ============================================================ */

.gcla-benefit,
.et_pb_blurb.gcla-benefit {
  background: var(--white);
  border-bottom: 1px solid var(--line);
  padding: 30px 8px !important;
  height: 100%;
  transition: background 0.2s var(--ease);
}
.gcla-benefit__title,
.gcla-benefit .et_pb_module_header {
  font-family: var(--font-display) !important;
  font-size: 1.12rem !important;
  font-weight: 700 !important;
  color: var(--wine) !important;
  margin-bottom: 10px !important;
  position: relative;
  padding-left: 22px;
  letter-spacing: -0.01em;
}
.gcla-benefit__title::before,
.gcla-benefit .et_pb_module_header::before {
  content: '';
  position: absolute;
  left: 0; top: 0.5em;
  width: 10px; height: 10px;
  border: 2px solid var(--brass);
  transform: rotate(45deg);
}
.gcla-benefit__desc,
.gcla-benefit .et_pb_blurb_description {
  font-family: var(--font-body) !important;
  color: var(--ink-soft) !important;
  font-size: 0.95rem !important;
  line-height: 1.66 !important;
  padding-left: 22px;
}

/* ============================================================
   RECOGNITION / CHARTERED LADDER CARDS
   ============================================================ */

.gcla-recognition {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 34px 30px;
  height: 100%;
  position: relative;
  border-top: 3px solid var(--brass);
}
.gcla-recognition__ic { color: var(--brass-dk); font-size: 1.7rem; margin-bottom: 16px; display: block; }
.gcla-recognition__rank {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brass-dk);
  margin-bottom: 8px;
}
.gcla-recognition__title {
  font-family: var(--font-display);
  font-size: 1.24rem;
  font-weight: 700;
  color: var(--wine);
  margin-bottom: 12px;
  line-height: 1.2;
  letter-spacing: -0.015em;
}
.gcla-recognition__desc { font-family: var(--font-body); font-size: 0.95rem; color: var(--ink-soft); line-height: 1.66; }

/* ============================================================
   ORGANISATION / AUDIENCE CHIPS
   ============================================================ */

.gcla-org-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.gcla-org-chip {
  background: var(--white);
  border: 1px solid var(--line);
  border-left: 3px solid var(--brass);
  border-radius: var(--radius);
  padding: 16px 18px;
  font-family: var(--font-body);
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 11px;
  transition: border-color 0.18s var(--ease), box-shadow 0.18s var(--ease), transform 0.18s var(--ease);
}
.gcla-org-chip:hover { border-left-color: var(--brass-dk); box-shadow: var(--shadow-sm); transform: translateY(-2px); }
.gcla-org-chip [data-lucide] { color: var(--brass-dk); font-size: 1.1rem; }

/* ============================================================
   STEP PROCESS
   ============================================================ */

.gcla-steps { counter-reset: gcla-step; }
.gcla-step {
  display: flex;
  gap: 28px;
  padding: 30px 0;
  border-bottom: 1px solid var(--line);
  align-items: flex-start;
}
.gcla-step:last-child { border-bottom: none; }
.gcla-step__num {
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--white);
  background: var(--wine);
  width: 56px; height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 2px solid var(--brass);
}
.gcla-step__title { font-family: var(--font-display); font-size: 1.22rem; font-weight: 700; color: var(--wine); margin-bottom: 8px; letter-spacing: -0.015em; }
.gcla-step__desc { font-family: var(--font-body); color: var(--ink-soft); line-height: 1.66; font-size: 0.98rem; }
.gcla-step__ic { color: var(--brass-dk); font-size: 1.15rem; margin-left: 10px; vertical-align: -0.1em; }

/* ============================================================
   FAQ - Divi toggles, GCLA styled
   ============================================================ */

.gcla-faq .et_pb_toggle {
  background: var(--white) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  margin-bottom: 14px !important;
  padding: 6px 8px !important;
  transition: box-shadow 0.2s var(--ease), border-color 0.2s var(--ease) !important;
}
.gcla-faq .et_pb_toggle.et_pb_toggle_open { border-color: var(--brass) !important; box-shadow: var(--shadow-sm) !important; }
.gcla-faq .et_pb_toggle_title {
  font-family: var(--font-display) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--wine) !important;
  padding: 14px 50px 14px 16px !important;
  letter-spacing: -0.01em;
}
.gcla-faq .et_pb_toggle_content { font-family: var(--font-body) !important; color: var(--ink-soft) !important; font-size: 0.98rem !important; line-height: 1.7 !important; padding: 0 16px 16px !important; }
.gcla-faq .et_pb_toggle_title:before { color: var(--brass-dk) !important; font-size: 22px !important; right: 16px !important; }
.gcla-faq .et_pb_toggle_title [data-lucide] { color: var(--brass-dk); font-size: 1.05rem; margin-right: 9px; vertical-align: -0.1em; }

/* ============================================================
   CTA BAND
   ============================================================ */

.gcla-cta-band { background: var(--wine); position: relative; overflow: hidden; }
.gcla-cta-band::after {
  content: '';
  position: absolute;
  left: 50%; top: -160px;
  transform: translateX(-50%);
  width: 640px; height: 640px;
  border: 1px solid rgba(194,161,77,0.15);
  border-radius: 50%;
  pointer-events: none;
}

/* ============================================================
   FORM PAGE WRAPPER + WPForms styling
   ============================================================ */

.gcla-form-wrap {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 3px solid var(--brass);
  border-radius: var(--radius);
  padding: 14px 8px;
  box-shadow: var(--shadow-sm);
}
.gcla-form-note {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: var(--ink-faint);
  line-height: 1.6;
  border-left: 3px solid var(--brass);
  padding: 4px 0 4px 18px;
  margin-bottom: 8px;
}
.wpforms-container .wpforms-field-label { font-family: var(--font-body) !important; color: var(--ink) !important; font-weight: 600 !important; }
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container input[type=url],
.wpforms-container select,
.wpforms-container textarea {
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  font-family: var(--font-body) !important;
  transition: border-color 0.15s var(--ease), box-shadow 0.15s var(--ease) !important;
}
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
  border-color: var(--brass) !important;
  box-shadow: 0 0 0 3px rgba(194,161,77,0.16) !important;
  outline: none !important;
}
.wpforms-container button[type=submit],
.wpforms-submit {
  background-color: var(--wine) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: var(--radius) !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  transition: background 0.2s var(--ease), transform 0.15s var(--ease) !important;
}
.wpforms-container button[type=submit]:hover,
.wpforms-submit:hover { background-color: var(--wine-mid) !important; transform: translateY(-1px) !important; }

/* ============================================================
   BREADCRUMB
   ============================================================ */

.gcla-breadcrumb { font-family: var(--font-body); font-size: 0.82rem; color: rgba(255,255,255,0.6); margin-bottom: 16px; letter-spacing: 0.01em; }
.gcla-breadcrumb a { color: rgba(255,255,255,0.82); text-decoration: none; }
.gcla-breadcrumb a:hover { color: var(--brass-lt); }
.gcla-breadcrumb span { color: rgba(255,255,255,0.4); margin: 0 8px; }

/* ============================================================
   FOOTER
   ============================================================ */

#footer-widgets,
.footer-widget { background-color: var(--wine-deep) !important; }
#footer-info {
  background-color: var(--wine-deep) !important;
  color: rgba(255,255,255,0.55) !important;
  font-family: var(--font-body);
  font-size: 0.84rem;
  border-top: 1px solid rgba(194,161,77,0.2);
}
.footer-widget h4,
.footer-widget .widget-title {
  font-family: var(--font-display);
  color: var(--white) !important;
  font-size: 1.02rem;
  font-weight: 700;
  border-bottom: 1px solid rgba(194,161,77,0.35);
  padding-bottom: 12px;
  margin-bottom: 18px;
  letter-spacing: -0.01em;
}
.footer-widget p,
.footer-widget a,
.footer-widget li { color: rgba(255,255,255,0.68) !important; font-family: var(--font-body); font-size: 0.9rem; line-height: 1.8; }
.footer-widget a:hover { color: var(--brass-lt) !important; text-decoration: none; }
.et_pb_social_media_follow li a.icon { background-color: rgba(255,255,255,0.08) !important; transition: background-color 0.2s; }
.et_pb_social_media_follow li a.icon:hover { background-color: var(--brass) !important; }

/* ============================================================
   GENERIC PAGE HERO (interior pages)
   ============================================================ */

.gcla-page-hero {
  background-color: var(--wine);
  padding: 96px 0 64px;
  position: relative;
  overflow: hidden;
}
.gcla-page-hero::after {
  content: '';
  position: absolute;
  right: -90px; top: -90px;
  width: 320px; height: 320px;
  border: 1px solid rgba(194,161,77,0.15);
  border-radius: 50%;
  pointer-events: none;
}
.gcla-page-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.5vw, 3.1rem);
  font-weight: 700;
  color: var(--white);
  line-height: 1.08;
  margin-bottom: 16px;
  letter-spacing: -0.025em;
}

/* ============================================================
   LUCIDE ICONS - base sizing & inline behaviour
   ============================================================ */

[data-lucide] {
  width: 1em;
  height: 1em;
  stroke-width: 1.7;
  display: inline-block;
  vertical-align: -0.14em;
  flex-shrink: 0;
}

/* FEATURE ITEM GRID - icon + title + text */
.gcla-fgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.gcla-fitem {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 26px;
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease), border-color 0.3s var(--ease);
}
.gcla-fitem:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--brass); }
.gcla-fitem__ic {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(194,161,77,0.13);
  color: var(--brass-dk);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  flex-shrink: 0;
}
.gcla-fitem__body h3 {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--wine);
  font-size: 1.1rem;
  line-height: 1.25;
  margin-bottom: 7px;
  letter-spacing: -0.015em;
}
.gcla-fitem__body p { font-family: var(--font-body); color: var(--ink-soft); font-size: 0.94rem; line-height: 1.6; margin: 0; }

/* compact list variant */
.gcla-flist .gcla-fitem { border: none; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; padding: 22px 4px; }
.gcla-flist .gcla-fitem:hover { transform: none; box-shadow: none; }
.gcla-flist .gcla-fitem:last-child { border-bottom: none; }

/* CONTACT DETAIL ROWS */
.gcla-contact-row { display: flex; gap: 14px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid var(--line); }
.gcla-contact-row:last-child { border-bottom: none; }
.gcla-contact-row__ic {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(194,161,77,0.13);
  color: var(--brass-dk);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.15rem; flex-shrink: 0;
}
.gcla-contact-row__label { font-family: var(--font-body); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: 3px; }
.gcla-contact-row__value { font-family: var(--font-body); font-size: 1rem; color: var(--ink); }
.gcla-contact-row__value a { color: var(--brass-dk); text-decoration: none; }

/* HERO NOTE WITH ICON */
.gcla-hero-note { display: inline-flex; align-items: center; gap: 11px; color: rgba(255,255,255,0.82); }
.gcla-hero-note [data-lucide] { color: var(--brass-lt); font-size: 1.25rem; }

/* DECORATIVE DIVIDER */
.gcla-divider { display: flex; align-items: center; justify-content: center; gap: 14px; color: var(--brass); margin: 0 auto; }
.gcla-divider::before, .gcla-divider::after { content: ''; width: 56px; height: 1px; background: var(--line); }
.gcla-divider [data-lucide] { font-size: 1.05rem; color: var(--brass-dk); }

/* button inline icon nudge */
.et_pb_button [data-lucide] { font-size: 1em; margin-left: 8px; vertical-align: -0.12em; }

/* ============================================================
   PROGRAMME DETAIL PAGES - promise, at-a-glance, checklist, journey
   ============================================================ */

.gcla-promise {
  background: rgba(194,161,77,0.08);
  border-left: 3px solid var(--brass);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 24px 30px;
  margin-top: 30px;
}
.gcla-promise__label { display: block; font-family: var(--font-body); font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--brass-dk); margin-bottom: 8px; }
.gcla-promise p { margin: 0; color: var(--ink); font-size: 1rem; line-height: 1.74; }
.gcla-section-wine .gcla-promise, .gcla-cta-band .gcla-promise { background: rgba(255,255,255,0.07); }
.gcla-section-wine .gcla-promise p { color: var(--ivory); }

.gcla-glance { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.gcla-glance__row { display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--line); }
.gcla-glance__row:last-child { border-bottom: none; }
.gcla-glance__key {
  flex: 0 0 230px;
  background: var(--ivory);
  padding: 18px 24px;
  font-family: var(--font-body);
  font-weight: 700; font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--wine);
}
.gcla-glance__val { flex: 1 1 320px; padding: 18px 24px; color: var(--ink-soft); font-size: 1rem; line-height: 1.6; }

.gcla-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.gcla-checklist--two { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px 34px; }
.gcla-checklist li { position: relative; padding-left: 34px; color: var(--ink-soft); font-size: 1rem; line-height: 1.65; }
.gcla-checklist li::before {
  content: ""; position: absolute; left: 0; top: 1px;
  width: 21px; height: 21px; border-radius: 50%;
  background-color: rgba(194,161,77,0.15);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23A8862F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center;
}
.gcla-section-wine .gcla-checklist li { color: var(--ivory); }
.gcla-section-wine .gcla-checklist li::before { background-color: rgba(194,161,77,0.24); }

.gcla-journey { display: grid; gap: 12px; margin-top: 10px; }
.gcla-journey__item {
  display: grid; grid-template-columns: 92px 1fr;
  border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden;
  background: var(--white);
  transition: border-color 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.gcla-journey__item:hover { border-color: var(--brass); box-shadow: var(--shadow-sm); }
.gcla-journey__stage {
  background: var(--wine);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 16px 8px; text-align: center; line-height: 1.05;
}
.gcla-journey__stage span { font-family: var(--font-body); font-weight: 700; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.6); }
.gcla-journey__stage strong { font-family: var(--font-display); font-weight: 700; font-size: 1.5rem; color: var(--brass-lt); }
.gcla-journey__body { padding: 16px 22px; }
.gcla-journey__title { font-family: var(--font-display); font-weight: 700; color: var(--wine); font-size: 1.04rem; line-height: 1.2; margin-bottom: 5px; letter-spacing: -0.015em; }
.gcla-journey__focus { color: var(--ink-soft); font-size: 0.92rem; line-height: 1.55; margin: 0 0 7px; }
.gcla-journey__output { font-size: 0.8rem; font-weight: 600; color: var(--brass-dk); }
.gcla-journey__output span { color: var(--ink-faint); font-weight: 400; }

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 980px) {
  .gcla-conviction { padding: 64px 6%; }
  .gcla-tier { flex-direction: column; gap: 14px; }
  .gcla-tier:hover { transform: none; }
  .gcla-tier__num { font-size: 2.1rem; }
  .gcla-meta-bar__item { flex: 1 1 50%; }
}
@media (max-width: 767px) {
  .gcla-card { padding: 28px 24px !important; }
  .gcla-step { gap: 18px; }
  .gcla-step__num { width: 48px; height: 48px; font-size: 1.2rem; }
  #logo { max-height: 48px; }
  .gcla-meta-bar__item { flex: 1 1 100%; border-right: none; border-bottom: 1px solid var(--line-dark); }
  .gcla-meta-bar__item:last-child { border-bottom: none; }
  .gcla-glance__key { flex-basis: 100%; }
  .gcla-journey__item { grid-template-columns: 1fr; }
  .gcla-journey__stage { flex-direction: row; gap: 8px; padding: 10px 14px; justify-content: flex-start; }
  .gcla-journey__stage strong { font-size: 1.15rem; }
}

/* ============================================================
   ACCESSIBILITY
   ============================================================ */

:focus-visible { outline: 3px solid var(--brass); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; top: -100%; left: 0; background: var(--brass); color: var(--wine-deep); font-weight: 700; padding: 12px 24px; z-index: 99999; transition: top 0.15s; }
.skip-link:focus { top: 0; }

/* ============================================================
   MOBILE NAV - Divi native menu, GCLA styled
   ============================================================ */

@media (min-width: 981px) { .mobile_menu_bar { display: none !important; } }
@media (max-width: 980px) {
  #et_mobile_nav_menu .et_mobile_menu,
  #et_mobile_nav_menu .et_mobile_menu .sub-menu {
    background-color: var(--white) !important;
    border-color: var(--brass) !important;
  }
  #et_mobile_nav_menu .et_mobile_menu li a {
    color: var(--ink) !important;
    border-left: 3px solid transparent !important;
    font-weight: 600 !important;
    transition: color 0.15s, background 0.15s, border-left-color 0.15s !important;
  }
  #et_mobile_nav_menu .et_mobile_menu li a:hover,
  #et_mobile_nav_menu .et_mobile_menu li.current-menu-item > a {
    color: var(--wine) !important;
    background: var(--ivory) !important;
    border-left-color: var(--brass) !important;
  }
}

/* ============================================================
   FONT-DISPLAY SWAP
   ============================================================ */

@font-face { font-family: 'Montserrat'; font-display: swap; }
