/*!
Theme Name:  Kadence Child — Gold Coast Physio
Theme URI:   https://goldcoastphysio.com
Description: Gold Coast Physio child theme for Kadence
Author:      Ahmed Bilal / BBit Studio
Template:    kadence
Version:     1.0.8
License:     GNU General Public License v2 or later
Text Domain: kadence-child
*/

/* ============================================================
   GOLD COAST PHYSIO v2 — Design Token System
   ============================================================ */
:root {

  /* ── Navy ramp ─────────────────────────────────────────── */
  --navy-900: #0D1730;
  --navy-800: #14213D;
  --navy-700: #1D3461;
  --navy-600: #27508F;
  --navy-500: #3A6FB8;

  /* ── Metallic gold ramp ─────────────────────────────────── */
  --gold-700: #A17C3F;
  --gold-600: #B8904C;
  --gold-500: #C6A15B;
  --gold-400: #DCB878;
  --gold-300: #E8C77E;
  --gold-200: #F6E3B4;
  --gold-100: #FBF2DC;

  /* ── Light surfaces ─────────────────────────────────────── */
  --bone:  #F5F1E8;
  --cream: #FDFBF6;

  /* ── Ink / text ─────────────────────────────────────────── */
  --ink:      #1A2438;
  --ink-soft: #42506B;
  --ink-mute: #6B7690;

  /* ── Gradients ──────────────────────────────────────────── */
  --g-gold:     linear-gradient(120deg, #A17C3F 0%, #C6A15B 28%, #F6E3B4 52%, #C6A15B 76%, #A17C3F 100%);
  --g-gold-btn: linear-gradient(160deg, #E8C77E 0%, #C6A15B 45%, #A9803E 100%);
  --g-navy:     linear-gradient(155deg, #1D3461 0%, #14213D 55%, #0D1730 100%);
  --g-royal:    linear-gradient(135deg, #27508F 0%, #1D3461 60%, #14213D 100%);
  --g-page:     linear-gradient(180deg, #FDFBF6 0%, #F5F1E8 100%);
  --g-sky:      linear-gradient(180deg, #FFFFFF 0%, #EEF3FB 55%, #F5F1E8 100%);

  /* ── Shadows ────────────────────────────────────────────── */
  --shadow-lg:   0 30px 60px -18px rgba(13,23,48,.28);
  --shadow-md:   0 18px 40px -12px rgba(13,23,48,.22);
  --shadow-sm:   0 8px 24px -6px  rgba(13,23,48,.16);
  --shadow-gold: 0 14px 36px -8px rgba(161,124,63,.55);

  /* ── Border radii ───────────────────────────────────────── */
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-pill: 999px;

  /* ── Layout ─────────────────────────────────────────────── */
  --wrap: 1200px;

  /* ── Typography ─────────────────────────────────────────── */
  --gc-font-heading: 'Fraunces', Georgia, serif;
  --gc-font-body:    'Manrope', 'Inter', 'Helvetica Neue', Arial, sans-serif;

  /* ── Legacy aliases — backward compat with existing templates ── */
  --gc-champagne:        var(--gold-500);
  --gc-champagne-dark:   var(--gold-700);
  --gc-champagne-deeper: #8f6520;
  --gc-champagne-light:  var(--gold-400);
  --gc-champagne-pale:   var(--bone);
  --gc-navy-deep:        var(--navy-900);
  --gc-navy:             var(--navy-800);
  --gc-navy-mid:         var(--navy-700);
  --gc-navy-light:       var(--navy-600);
  --gc-navy-pale:        #e8f0f8;
  --gc-charcoal:         var(--ink);
  --gc-gray:             var(--ink-soft);
  --gc-gray-light:       var(--ink-mute);
  --gc-silver:           #d6d8dc;
  --gc-gray-line:        #e5e7eb;
  --gc-body-bg:          var(--cream);
  --gc-card-bg:          var(--cream);
  --gc-off-white:        var(--bone);
  --gc-white:            #ffffff;
  --gc-dark-bg:          var(--navy-900);
  --gc-text-muted: var(--gc-gray-light); /* alias */

  /* ── Kadence palette overrides ──────────────────────────── */
  --global-palette1: var(--navy-800);
  --global-palette2: var(--gold-500);
  --global-palette3: var(--ink);
  --global-palette4: var(--ink-soft);
  --global-palette5: var(--ink-mute);
  --global-palette6: #e5e7eb;
  --global-palette7: var(--bone);
  --global-palette8: #ffffff;
  --global-palette9: var(--navy-900);

  /* ── Spacing (legacy) ───────────────────────────────────── */
  --gc-section-py:    80px;
  --gc-section-py-sm: 48px;
  --gc-container-max: var(--wrap);
  --gc-radius:        var(--r-sm);
  --gc-radius-lg:     var(--r-lg);
}

/* ============================================================
   GLOBAL RESETS & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--gc-font-body);
  color: var(--gc-gray);
  background: var(--gc-body-bg);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--gc-font-heading);
  color: var(--gc-charcoal);
  line-height: 1.2;
}

a { color: var(--gc-navy); text-decoration: none; }
a:hover { color: var(--gc-champagne); }

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

/* Gold accent span — wrap words in <span class="gc-accent"> */
.gc-accent { color: var(--gc-champagne); background: var(--g-gold);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gc-sheen 6s linear infinite; line-height: 1.2}

/* ── Eyebrow label — used on every section ───────────────────────────── */
.gc-section-eyebrow,
.eyebrow {
  color: #cfa247;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 2.7px;
  font-size: 12px;
  margin-bottom: 10px;
  display: block;
}
/* On dark/navy sections eyebrow inherits the lighter gold */
.gc-section--navy .gc-section-eyebrow,
.gc-section--dark .gc-section-eyebrow,
[class*="navy"] .gc-section-eyebrow,
[class*="navy"] .eyebrow {
  color: #e7c66a;
}
/* Special eyebrow for champagne-gold sections that need white for legibility */
.champagne-gold-section-eyebrow {
  color: #fff !important;
}

/* Section wrapper utility */
.gc-section {
  padding: var(--gc-section-py) 0;
}
.gc-section--dark {
  background: var(--gc-navy);
  color: var(--gc-white);
}
.gc-section--navy-deep {
  background: var(--gc-navy-deep);
  color: var(--gc-white);
}
.gc-section--off-white {
  background: var(--gc-off-white);
}
.gc-section--champagne-pale {
  background: var(--gc-champagne-pale);
}

.gc-container {
  max-width: var(--gc-container-max);
  margin-inline: auto;
  padding-inline: 24px;
}

/* Gold underline decoration used under section headlines */
.gc-headline-decorated {
  position: relative;
  display: inline-block;
  padding-bottom: 12px;
  margin-bottom: 24px;
}
.gc-headline-decorated::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: var(--gc-champagne);
  border-radius: 2px;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.gc-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 15px 30px;
  border-radius: var(--r-pill);
  font-family: var(--gc-font-body);
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: .01em;
  cursor: pointer;
  border: 2px solid transparent;
  transition: transform .25s ease, box-shadow .25s ease, background .2s;
  text-decoration: none;
  overflow: hidden;
  position: relative;
}
.gc-btn:hover { transform: translateY(-2px); }
/* Primary gold — gradient fill */
.gc-btn--gold {
  background: var(--g-gold-btn);
  background-size: 220% auto;
  color: var(--navy-900);
  box-shadow: var(--shadow-gold), inset 0 1px 0 rgba(255,255,255,.65);
}
.gc-btn--gold:hover {
  background-position: right center;
  color: var(--navy-900);
  box-shadow: var(--shadow-gold), 0 6px 20px rgba(161,124,63,.45);
}
/* Navy solid */
.gc-btn--navy {
  background: var(--navy-800);
  color: #fff;
  border-color: var(--navy-800);
}
.gc-btn--navy:hover {
  background: var(--navy-700);
  border-color: var(--navy-700);
}
/* Dark outline (used in hero alongside gold) */
.gc-btn--outline-dark {
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(8px);
  color: #fff;
  border: 2px solid rgba(255,255,255,.28);
}
.gc-btn--outline-dark:hover {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.55);
}
/* Gold outline */
.gc-btn--outline-gold {
  background: transparent;
  color: var(--gold-700);
  border: 2px solid var(--gold-500);
}
.gc-btn--outline-gold:hover {
  background: var(--gold-100);
  color: var(--gold-700);
}
.gc-btn--outline-gold:hover {
  background: var(--gc-champagne);
  color: var(--gc-navy);
}

/* ============================================================
   CUSTOM SITE HEADER  (gc_render_header() in functions.php)
   ============================================================ */

/* Outer header bar — exact mockup navy, sticky */
/* Force override Kadence inline customizer CSS */
header { background: none !important; }

.gc-site-header,
.gc-site-header.gc-site-header--sticky {
  background: linear-gradient(to right, var(--gc-navy) 10%, #fff 90%) !important; /* white background — force over Kadence inline CSS */
  position: sticky !important;
  top: 0;
  z-index: 999;
  width: 100%;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08), 0 1px 0 rgba(16,49,90,0.1);
}

/* Inner flex row */
.gc-header-inner {
  display: flex;
  align-items: center;
  height: 74px;
  gap: 0;
}

/* ---- Logo ---- */
.gc-header-logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  margin-right: auto;      /* push nav + CTA to the right */
  text-decoration: none;
}
.gc-header-logo img {
  height: 55px;
  width: auto;
  display: block;
}
.gc-logo-text {
  font-family: var(--gc-font-heading);
  font-size: 1.3rem;
  color: var(--gc-navy);   /* navy on bone background */
  letter-spacing: 0.01em;
}
.gc-logo-text strong {
  color: var(--gc-champagne-dark);
}

/* ---- Primary nav ---- */
.gc-primary-nav {
  display: flex;
  align-items: center;
  margin-right: clamp(12px, 1.5vw, 24px); /* responsive gap before CTA */
  min-width: 0;    /* allow nav to shrink inside flex parent */
}
.gc-nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: nowrap;
}
.gc-nav-menu li {
  position: relative;
}
.gc-nav-menu > li > a {
  display: block;
  /* clamp: fluid nav padding that tightens as viewport narrows */
  padding: 8px clamp(7px, 0.7vw, 11px);
  font-family: var(--gc-font-body);
  font-size: clamp(0.82rem, 0.95vw, 0.9rem);
  font-weight: 600;
  color: white;   /* navy text on bone background */
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s;
  border-bottom: 2px solid transparent;
}
.gc-nav-menu > li > a:hover,
.gc-nav-menu > li.current-menu-item > a,
.gc-nav-menu > li.current-menu-ancestor > a {
  color: var(--gc-navy) !important;
  border-bottom-color: var(--gc-champagne-dark);
}

/* ---- Desktop sub-menu ---- */
.gc-nav-menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #ffffff;
  border-top: 2px solid var(--gc-champagne-dark);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  border-radius: 0 0 8px 8px;
  list-style: none;
  margin: 0;
  padding: 8px 0;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}
.gc-nav-menu li:hover > .sub-menu,
.gc-nav-menu li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.gc-nav-menu .sub-menu a {
  display: block;
  padding: 10px 20px;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--gc-navy);
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
}
.gc-nav-menu .sub-menu a:hover {
  background: rgba(16,49,90,0.06);
  color: var(--gc-champagne-dark);
}

/* ---- Header CTA ---- */
.gc-header-cta {
  flex-shrink: 0;     /* CTA must never be clipped */
  white-space: nowrap;
  padding: 10px clamp(14px, 1.2vw, 20px);
  font-size: 0.875rem;
}

/* Mobile-only CTA (inside nav dropdown) — hidden on desktop */
.gc-mobile-cta { display: none; }

/* ---- Mobile hamburger ---- */
.gc-mobile-toggle {
  display: none;         /* hidden on desktop */
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  margin-left: 12px;
  flex-shrink: 0;
}
.gc-hamburger {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 24px;
}
.gc-hamburger span {
  display: block;
  height: 2px;
  background: var(--gc-navy);   /* navy bars on bone background */
  border-radius: 2px;
  transition: transform 0.25s, opacity 0.25s;
  transform-origin: center;
}
/* Animate to X when open */
.gc-nav-open .gc-hamburger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.gc-nav-open .gc-hamburger span:nth-child(2) { opacity: 0; }
.gc-nav-open .gc-hamburger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---- Mobile nav dropdown ---- */
@media (max-width: 1280px) {
  .gc-mobile-toggle { display: flex; }
  .gc-header-cta    { display: none; }  /* show inside mobile menu instead */
  .gc-primary-nav {
    position: absolute;
    top: 74px;
    left: 0;
    right: 0;
    background: #ffffff;
    border-top: 1px solid rgba(16,49,90,0.12);
    margin: 0;
    padding: 16px 0 24px;
    display: none;
    flex-direction: column;
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
    z-index: 998;
  }
  .gc-nav-open .gc-primary-nav { display: flex; }
  .gc-nav-menu {
    flex-direction: column;
    gap: 0;
    width: 100%;
  }
  .gc-nav-menu > li > a {
    padding: 14px 24px;
    font-size: 1rem;
    border-bottom: none;
    border-left: 3px solid transparent;
    color: var(--gc-navy); /* mobile dropdown panel is white — must override the white desktop nav-link color */
  }
  .gc-nav-menu > li > a:hover,
  .gc-nav-menu > li.current-menu-item > a {
    border-left-color: var(--gc-champagne-dark);
    background: rgba(16,49,90,0.06);
    color: var(--gc-navy);
  }
  /* Mobile sub-menu — inline below parent */
  .gc-nav-menu .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border-top: none;
    border-left: 3px solid var(--gc-champagne-dark);
    border-radius: 0;
    margin: 0 0 0 24px;
    padding: 4px 0;
    background: #ffffff;
  }
  .gc-nav-menu .sub-menu a {
    padding: 10px 20px;
    font-size: 0.9rem;
    color: var(--gc-navy);
  }
  /* Show CTA inside mobile dropdown */
  .gc-primary-nav::after {
    content: '';  /* CTA is added via the mobile-cta helper class */
  }
  .gc-mobile-cta {
    display: block !important;
    margin: 16px 24px 0;
    text-align: center;
  }
}

/* Breadcrumb */
.gc-breadcrumb {
  background: var(--bone);
  padding: 10px 0;
  font-size: 0.875rem;
  color: rgba(255,255,255,0.7);
}
.gc-breadcrumb a { color: rgba(255,255,255,0.7); }
.gc-breadcrumb a:hover { color: var(--gc-champagne); }
.gc-breadcrumb .sep { margin-inline: 8px; color: var(--gc-champagne); }
.gc-breadcrumb .current { color: var(--gc-white); }

/* ============================================================
   KADENCE FOOTER OVERRIDES
   ============================================================ */
#colophon,
.site-footer {
  background: linear-gradient(180deg, var(--gc-navy) 0%, #0d2549 60%, var(--gc-navy-deep) 100%) !important;
  color: var(--gc-white) !important;
}
.site-footer a { color: rgba(255,255,255,0.75); }
.site-footer a:hover { color: var(--gc-champagne); }

/* Legal links row — sits between footer grid and copyright bar */
.gc-footer-legal-row {
  background: rgba(0,0,0,0.25);
  border-top: 1px solid rgba(205,163,94,0.15);
  padding: 14px 0;
}
.gc-footer-legal-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 16px;
  font-size: 0.78rem;
  color: rgba(255,255,255,0.5);
}
.gc-footer-legal-links a {
  color: rgba(255,255,255,0.55);
  text-decoration: none;
  transition: color 0.2s;
}
.gc-footer-legal-links a:hover { color: var(--gc-champagne); }
.gc-footer-legal-links span[aria-hidden] { opacity: 0.3; }

.gc-footer-bottom {
  background: linear-gradient(90deg, #04090f 0%, var(--gc-navy-deep) 50%, #04090f 100%);
  padding: 14px 0;
  font-size: 0.8rem;
  color: rgba(255,255,255,0.5);
}
.gc-footer-bottom a { color: rgba(255,255,255,0.5); }
.gc-footer-bottom a:hover { color: var(--gc-champagne); }

/* ============================================================
   HERO SLIDER
   ============================================================ */
.gc-hero-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  /* Must set height on the container — Swiper uses this for slide sizing */
  height: clamp(640px, calc(100vh - 74px), 860px);
}
.gc-hero-slider .swiper-wrapper {
  height: 100%;
}
.gc-hero-slider .swiper-slide {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  /* Fallback gradient when no bg image/video */
  background: linear-gradient(135deg, var(--gc-navy-deep) 0%, #1a4470 60%, var(--gc-navy-mid) 100%);
}
/* Ensure container fills the full slide width */
.gc-hero-slider .gc-container {
  width: 100%;
  position: relative;
  z-index: 2;
}
/* Background image layer */
.gc-slide-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;
}
/* Background video layer */
.gc-slide-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.gc-slide-video video,
.gc-slide-video iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
/* Overlay — use rgba so opacity is baked in, avoids stacking-context issues */
.gc-slide-overlay {
  position: absolute;
  inset: 0;
  /* --ov is set per-slide via inline style (driven by ACF overlay_opacity field).
     Default is 0.75. The gradient is darker on the left (text side) and fades
     toward the right so the background photo peeks through on the image side. */
  --ov: 0.75;
  background: linear-gradient(
    105deg,
    rgba(3, 12, 26, calc(var(--ov) + 0.18)) 0%,    /* near-black on text side */
    rgba(10, 31, 56, var(--ov))              40%,   /* brand navy mid-frame */
    rgba(10, 31, 56, calc(var(--ov) - 0.30)) 100%   /* lighter on photo side */
  );
  z-index: 1;
}
/* Content */
.gc-slide-content {
  position: relative;
  z-index: 3;
  color: var(--gc-white);
  max-width: 640px;
  padding: 64px 0;
}

/* Eyebrow label above headline */
.gc-slide-eyebrow {
  display: inline-block;
  font-family: var(--gc-font-body);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gc-champagne);
  margin-bottom: 18px;
}

.gc-slide-content h1 {
  font-size: clamp(2.6rem, 5.5vw, 4rem);
  font-weight: 700;
  color: var(--gc-white);
  margin-bottom: 20px;
  line-height: 1.1;
  letter-spacing: -0.01em;
}
.gc-slide-content .gc-slide-sub {
  font-size: 1.1rem;
  line-height: 1.75;
  color: rgba(255,255,255,0.82);
  margin-bottom: 28px;
  max-width: 520px;
}

/* Service pills — horizontal bullet-separated list */
.gc-slide-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin-bottom: 36px;
}
.gc-slide-pills span {
  font-size: 0.82rem;
  font-weight: 500;
  color: rgba(255,255,255,0.7);
  padding: 0 12px;
  white-space: nowrap;
}
.gc-slide-pills span:first-child { padding-left: 0; }
.gc-slide-pills span + span {
  border-left: 1px solid rgba(205,163,94,0.45);
}
/* Swiper nav dots — must sit above overlay */
.gc-hero-slider .swiper-pagination {
  z-index: 10;
}
.gc-hero-slider .swiper-pagination-bullet {
  background: rgba(255,255,255,0.5);
  opacity: 1;
  transition: background 0.2s;
  width: 10px;
  height: 10px;
}
.gc-hero-slider .swiper-pagination-bullet-active {
  background: var(--gc-champagne);
  width: 28px;
  border-radius: 5px;
}

/* ============================================================
   IMAGE PLACEHOLDER (renders when no real image uploaded)
   ============================================================ */
.gc-img-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(145deg, var(--gc-navy-deep) 0%, #1a4470 60%, #205080 100%);
  color: rgba(205,163,94,.45);
  font-size: 2.8rem;
  min-height: inherit;
}
.gc-img-placeholder__label {
  font-family: var(--gc-font-body);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(205,163,94,.35);
}

/* ============================================================
   STATS BAR
   ============================================================ */
.gc-stats-bar {
  background: linear-gradient(135deg, var(--gc-navy-deep) 0%, var(--gc-navy) 55%, #162f57 100%);
  padding: 32px 0;
}
.gc-stats-bar__inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.gc-stat-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 24px;
  border-right: 1px solid rgba(255,255,255,0.12);
}
.gc-stat-item:last-child { border-right: none; }
.gc-stat-icon {
  font-size: 1.8rem;
  color: var(--gc-champagne);
  flex-shrink: 0;
}
.gc-stat-icon svg { width: 36px; height: 36px; fill: var(--gc-champagne); }
.gc-stat-number {
  font-family: var(--gc-font-heading);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gc-white);
  line-height: 1;
}
.gc-stat-label {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--gc-white);
  line-height: 1.2;
}
.gc-stat-sublabel {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.6);
}

/* ============================================================
   SERVICES GRID (Homepage 3-up cards)
   ============================================================ */
.gc-services-grid {
  padding: var(--gc-section-py) 0;
}
.gc-services-grid__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.gc-service-card {
  background: var(--gc-card-bg);
  border: 1px solid var(--gc-gray-line);
  border-radius: var(--gc-radius-lg);
  overflow: hidden;
  transition: box-shadow 0.25s, transform 0.25s;
}
.gc-service-card:hover {
  box-shadow: 0 12px 40px rgba(16,49,90,0.12);
  transform: translateY(-4px);
}
.gc-service-card__img {
  position: relative;
  aspect-ratio: 3/2;
  overflow: hidden;
  background: var(--gc-navy-deep); /* shows if img/placeholder fails to fill */
}
.gc-service-card__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
}
.gc-service-card:hover .gc-service-card__img img {
  transform: scale(1.04);
}
.gc-service-card__icon {
  position: absolute;
  bottom: -20px;
  left: 20px;
  width: 44px; height: 44px;
  background: var(--gc-navy);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gc-champagne);
  font-size: 1.2rem;
  z-index: 2;
  border: 3px solid var(--gc-white);
}
.gc-service-card__body {
  padding: 36px 24px 24px;
}
.gc-service-card__body h3 {
  font-size: 1.2rem;
  margin-bottom: 10px;
}
.gc-service-card__body p {
  font-size: 0.92rem;
  line-height: 1.6;
  color: var(--gc-gray);
  margin-bottom: 16px;
}
.gc-learn-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--gc-champagne);
}
.gc-learn-more:hover { color: var(--gc-champagne-dark); gap: 10px; }

/* ============================================================
   EXPERTISE SECTION
   ============================================================ */
.gc-expertise {
  padding: var(--gc-section-py) 0;
  background: var(--gc-body-bg);
}
.gc-expertise__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.gc-expertise__eyebrow {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gc-champagne);
  margin-bottom: 12px;
}
.gc-expertise__left h2 {
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  margin-bottom: 16px;
}
.gc-expertise__left p {
  color: var(--gc-gray);
  line-height: 1.7;
  margin-bottom: 32px;
}
.gc-therapy-icons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.gc-therapy-icon-item {
  text-align: center;
}
.gc-therapy-icon-item .icon {
  font-size: 2rem;
  color: var(--gc-champagne);
  margin-bottom: 8px;
}
.gc-therapy-icon-item h4 { font-size: 0.95rem; margin-bottom: 4px; }
.gc-therapy-icon-item p { font-size: 0.82rem; color: var(--gc-gray-light); }

.gc-expertise__right {
  position: relative;
}
.gc-expertise__right img {
  border-radius: var(--gc-radius-lg);
  width: 100%;
}
.gc-expertise-overlay-card {
  position: absolute;
  bottom: -20px;
  right: -20px;
  background: var(--gc-navy);
  color: var(--gc-white);
  border-radius: var(--gc-radius);
  padding: 24px;
  max-width: 260px;
  box-shadow: 0 8px 32px rgba(10,31,56,0.3);
}
.gc-expertise-overlay-card .badge {
  width: 36px; height: 36px;
  background: var(--gc-champagne);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}
.gc-expertise-overlay-card h4 {
  color: var(--gc-white);
  font-size: 1rem;
  margin-bottom: 8px;
}
.gc-expertise-overlay-card p {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.75);
  line-height: 1.5;
}

/* ============================================================
   PARTNER BANNER
   ============================================================ */
.gc-partner-banner {
  background: linear-gradient(120deg, #060e1b 0%, var(--gc-navy-deep) 45%, #122848 100%);
  padding: 40px 0;
}
.gc-partner-banner__inner {
  display: flex;
  align-items: center;
  gap: 40px;
}
.gc-partner-banner__logo {
  flex-shrink: 0;
}
.gc-partner-banner__logo img {
  max-height: 70px;
  width: auto;
}
.gc-partner-banner__text { flex: 1; }
.gc-partner-banner__text h3 {
  color: var(--gc-champagne);
  font-size: 1.2rem;
  margin-bottom: 6px;
}
.gc-partner-banner__text p {
  color: rgba(255,255,255,0.8);
  font-size: 0.92rem;
  line-height: 1.6;
}
.gc-partner-banner__cta { flex-shrink: 0; }

/* ============================================================
   WHY CHOOSE SECTION
   ============================================================ */
.gc-why-choose {
  background: var(--gc-body-bg);
  padding: var(--gc-section-py) 0;
  text-align: center;
}
.gc-why-choose__eyebrow {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gc-champagne);
  margin-bottom: 12px;
}
.gc-why-choose h2 {
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  margin-bottom: 48px;
}
.gc-features-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px;
}
.gc-feature-item { text-align: center; }
.gc-feature-item .icon {
  font-size: 2rem;
  color: var(--gc-champagne);
  margin-bottom: 10px;
}
.gc-feature-item h4 { font-size: 0.95rem; margin-bottom: 6px; }
.gc-feature-item p  { font-size: 0.82rem; color: var(--gc-gray-light); }

/* ============================================================
   CTA STRIP
   ============================================================ */
.gc-cta-strip {
  background: linear-gradient(135deg, var(--gc-champagne-light) 0%, var(--gc-champagne) 40%, var(--gc-champagne-dark) 80%, var(--gc-champagne-deeper) 100%);
  padding: 64px 0;
}
.gc-cta-strip__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.gc-cta-strip__text h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--gc-navy);
  margin-bottom: 10px;
}
.gc-cta-strip__text p {
  color: rgba(10,31,56,0.75);
  font-size: 1rem;
  line-height: 1.6;
  max-width: 500px;
}

/* ============================================================
   INNER PAGE — HERO (unified full-width style, matches home page slider)
   ============================================================ */
.gc-inner-hero {
  position: relative;
  height: clamp(520px, 65vh, 740px);   /* slightly shorter than homepage slider */
  overflow: hidden;
  display: flex;
  align-items: center;
  /* Fallback gradient when no image is uploaded */
  background: linear-gradient(135deg, var(--gc-navy-deep) 0%, #1a4470 60%, var(--gc-navy-mid) 100%);
}
/* Make container fill full width (same as .gc-hero-slider .gc-container) */
.gc-inner-hero__container {
  width: 100%;
  position: relative;
  z-index: 2;
}
/* Trust badges row */
.gc-trust-badges {
  display: flex;
  gap: 28px;
  margin-top: 24px;
}
.gc-trust-badge {
  display: flex;
  align-items: center;
  gap: 8px;
}
.gc-trust-badge .badge-icon {
  color: var(--gc-champagne);
  font-size: 1.3rem;
}
.gc-trust-badge .badge-text {
  display: flex;
  flex-direction: column;
}
.gc-trust-badge .badge-text strong {
  font-size: 0.85rem;
  color: var(--gc-white);
  line-height: 1.2;
}
.gc-trust-badge .badge-text span {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.65);
}

/* ============================================================
   INNER PAGE — THERAPY TYPE CARDS
   ============================================================ */
.gc-therapy-types {
  padding: var(--gc-section-py) 0;
  background: var(--gc-body-bg);
  text-align: center;
}
.gc-therapy-types h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  margin-bottom: 40px;
}
.gc-therapy-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  text-align: left;
}
.gc-therapy-card {
  background: var(--gc-card-bg);
  border: 1px solid var(--gc-gray-line);
  border-radius: var(--gc-radius-lg);
  padding: 28px;
}
.gc-therapy-card__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.gc-therapy-card__icon {
  width: 56px; height: 56px;
  background: var(--gc-navy);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.gc-therapy-card__icon svg,
.gc-therapy-card__icon img { width: 28px; height: 28px; }
.gc-therapy-card h3 { font-size: 1.1rem; margin: 0; }
.gc-therapy-card__desc {
  font-size: 0.9rem;
  color: var(--gc-gray);
  line-height: 1.6;
  margin-bottom: 20px;
}
.gc-therapy-checklist {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.gc-therapy-checklist li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.88rem;
  color: var(--gc-gray);
}
.gc-therapy-checklist li::before {
  content: '✓';
  color: var(--gc-champagne);
  font-weight: 700;
  flex-shrink: 0;
}

/* ============================================================
   INNER PAGE — SPLIT BENEFITS
   ============================================================ */
.gc-split-benefits {
  padding: var(--gc-section-py) 0;
  background: var(--gc-body-bg);
}
.gc-split-benefits__headers {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.gc-split-tab {
  padding: 24px 32px;
  text-align: center;
}
.gc-split-tab h3 {
  font-size: 1.15rem;
  margin: 0;
  padding-bottom: 12px;
  position: relative;
  display: inline-block;
}
.gc-split-tab h3::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 48px;
  height: 3px;
  background: var(--gc-champagne);
  border-radius: 2px;
}
.gc-split-tab--navy  { background: var(--gc-navy); }
.gc-split-tab--navy h3  { color: var(--gc-white); }
.gc-split-tab--gold  { background: var(--gc-champagne); }
.gc-split-tab--gold h3  { color: var(--gc-navy); }
.gc-split-tab--gold h3::after { background: var(--gc-navy); }

.gc-split-benefits__grids {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--gc-gray-line);
}
.gc-split-col {
  padding: 36px 32px;
}
.gc-split-col:first-child {
  border-right: 1px solid var(--gc-gray-line);
}
.gc-benefit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 20px 16px;
  text-align: center;
}
.gc-benefit-item .icon {
  font-size: 1.8rem;
  color: var(--gc-champagne);
  margin-bottom: 8px;
}
.gc-benefit-item h4 { font-size: 0.85rem; margin-bottom: 4px; font-weight: 600; }
.gc-benefit-item p  { font-size: 0.75rem; color: var(--gc-gray-light); }

/* ============================================================
   INNER PAGE — TESTIMONIALS
   ============================================================ */
.gc-testimonials {
  padding: var(--gc-section-py) 0;
  background: var(--gc-body-bg);
  text-align: center;
}
.gc-testimonials h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  margin-bottom: 40px;
}
.gc-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  text-align: left;
}
.gc-testimonial-card {
  background: var(--gc-card-bg);
  border: 1px solid var(--gc-gray-line);
  border-radius: var(--gc-radius-lg);
  padding: 28px;
}
.gc-stars {
  color: var(--gc-champagne);
  font-size: 1.1rem;
  margin-bottom: 14px;
  letter-spacing: 2px;
}
.gc-testimonial-card blockquote {
  font-size: 0.92rem;
  line-height: 1.7;
  color: var(--gc-gray);
  margin: 0 0 16px;
  font-style: italic;
}
.gc-testimonial-card cite {
  font-style: normal;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--gc-charcoal);
  display: block;
}
.gc-testimonial-card .location {
  font-size: 0.78rem;
  color: var(--gc-gray-light);
}

/* ============================================================
   INNER STATS BAR (5-col variant)
   ============================================================ */
.gc-stats-bar--5col .gc-stats-bar__inner {
  grid-template-columns: repeat(5, 1fr);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .gc-features-grid { grid-template-columns: repeat(3, 1fr); }
  .gc-benefit-grid  { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  :root { --gc-section-py: var(--gc-section-py-sm); }

  .gc-stats-bar__inner,
  .gc-stats-bar--5col .gc-stats-bar__inner {
    grid-template-columns: repeat(2, 1fr);
  }
  .gc-stat-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.12); }

  .gc-services-grid__inner { grid-template-columns: 1fr; }
  .gc-expertise__inner     { grid-template-columns: 1fr; }
  .gc-expertise-overlay-card { position: static; max-width: 100%; margin-top: 20px; }
  .gc-partner-banner__inner { flex-direction: column; text-align: center; }
  .gc-features-grid { grid-template-columns: repeat(2, 1fr); }
  .gc-cta-strip__inner { flex-direction: column; text-align: center; }

  .gc-inner-hero { height: clamp(480px, 75vh, 640px); }
  .gc-trust-badges { flex-wrap: wrap; gap: 16px; }

  .gc-therapy-cards { grid-template-columns: 1fr; }
  .gc-split-benefits__headers,
  .gc-split-benefits__grids { grid-template-columns: 1fr; }
  .gc-split-col:first-child { border-right: none; border-bottom: 1px solid var(--gc-gray-line); }
  .gc-benefit-grid  { grid-template-columns: repeat(2, 1fr); }
  .gc-testimonial-grid { grid-template-columns: 1fr; }
}

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

/* Strip Kadence default colours from its own header/footer elements ONLY.
   #masthead is intentionally excluded — it carries our gc-site-header navy. */
header.site-header,
.site-header,
#colophon,
.site-footer,
footer.site-footer {
  background: none !important;
}

.gc-footer {
  background: linear-gradient(180deg, var(--gc-navy) 0%, #0d2549 60%, var(--gc-navy-deep) 100%) !important;
  color: var(--gc-white);
}

/* --- Main footer grid --- */
.gc-footer-main {
  padding: 72px 0 56px;
}

.gc-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1.4fr 1.2fr 1.5fr;
  gap: 40px 48px;
  align-items: start;
}

/* --- Brand column --- */
.gc-footer-logo-link img { height: 42px; width: auto; }
.gc-footer-logo-text {
  font-family: var(--gc-font-heading);
  font-size: 1.3rem;
  color: var(--gc-white);
  text-decoration: none;
}
.gc-footer-logo-text strong { color: var(--gc-champagne); }
.gc-footer-tagline {
  margin-top: 18px;
  font-size: 0.88rem;
  line-height: 1.65;
  color: rgba(255,255,255,0.65);
  max-width: 300px;
}

/* Social icons */
.gc-footer-social {
  display: flex;
  gap: 12px;
  margin-top: 22px;
}
.gc-footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.7);
  transition: background 0.2s, color 0.2s;
  text-decoration: none;
}
.gc-footer-social a:hover {
  background: var(--gc-champagne);
  color: var(--gc-navy-deep);
}

/* --- Nav columns heading --- */
.gc-footer-heading {
  font-family: var(--gc-font-heading);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--gc-champagne);
  margin: 0 0 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(205,163,94,0.25);
}

/* --- Nav links --- */
.gc-footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gc-footer-links li {
  margin-bottom: 9px;
}
.gc-footer-links a {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.65);
  text-decoration: none;
  transition: color 0.2s;
}
.gc-footer-links a:hover {
  color: var(--gc-champagne);
}

/* --- Contact column --- */
.gc-footer-contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gc-footer-contact-list li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-bottom: 12px;
  font-size: 0.875rem;
  color: rgba(255,255,255,0.65);
}
.gc-footer-contact-list a {
  color: rgba(255,255,255,0.65);
  text-decoration: none;
  transition: color 0.2s;
}
.gc-footer-contact-list a:hover { color: var(--gc-champagne); }

/* contact icons via CSS counter */
.gc-fc-phone::before  { content: '📞'; margin-top:1px; flex-shrink:0; }
.gc-fc-email::before  { content: '✉'; margin-top:1px; flex-shrink:0; }
.gc-fc-web::before    { content: '🌐'; margin-top:1px; flex-shrink:0; }
.gc-fc-address::before { content: '📍'; margin-top:1px; flex-shrink:0; }

/* --- Bottom bar --- */
.gc-footer-bottom {
  background: linear-gradient(90deg, #04090f 0%, var(--gc-navy-deep) 50%, #04090f 100%);
  border-top: 1px solid rgba(205,163,94,0.15);
  padding: 16px 0;
  font-size: 0.8rem;
  color: rgba(255,255,255,0.45);
}
.gc-footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.gc-footer-credit {
  font-size: 0.82rem;
  color: rgba(255,255,255,.55);
  white-space: nowrap;
}
.gc-footer-credit__link {
  color: rgba(255,255,255,.82) !important;
  text-decoration: none;
  transition: color .2s;
}
.gc-footer-credit__link:hover {
  color: var(--gc-champagne, #cda35e) !important;
  text-decoration: underline;
}
.gc-footer-credit__link strong {
  font-weight: 700;
}
.gc-footer-legal {
  display: flex;
  align-items: center;
  gap: 10px;
}
.gc-footer-legal a {
  color: rgba(255,255,255,0.45);
  text-decoration: none;
  transition: color 0.2s;
}
.gc-footer-legal a:hover { color: var(--gc-champagne); }
.gc-footer-legal span { color: rgba(255,255,255,0.2); }

/* Responsive footer */
@media (max-width: 1024px) {
  .gc-footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .gc-footer-brand { grid-column: 1 / -1; }
  .gc-footer-tagline { max-width: 100%; }
}

@media (max-width: 600px) {
  .gc-footer-grid { grid-template-columns: 1fr; }
  .gc-footer-main { padding: 48px 0 40px; }
  .gc-footer-bottom-inner { flex-direction: column; text-align: center; }
}

/* ============================================================
   NEW BLOCKS — Competitive Analysis Update (2026)
   ============================================================ */

/* --- Outline-white button (CTA strip secondary) ------------ */
.gc-btn--outline-white {
  background: transparent;
  border: 2px solid rgba(255,255,255,0.6);
  color: #fff;
  padding: 13px 26px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.gc-btn--outline-white:hover,
.gc-btn--outline-white:focus-visible {
  background: rgba(255,255,255,0.12);
  border-color: #fff;
  color: #fff;
}
.gc-cta-strip__action { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

/* --- Reusable Insurance Bar (template-parts/blocks/insurance-bar.php) -- */
.gc-insurance-bar {
  background: linear-gradient(135deg, #0a1f38 0%, #10315a 50%, #1a4a7e 100%);
  padding: 20px 0;
}
.gc-insurance-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.gc-insurance-bar__text {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.gc-insurance-bar__icon {
  font-size: 2rem;
  line-height: 1;
  flex-shrink: 0;
}
.gc-insurance-bar__text strong {
  color: #fff;
  font-size: 1.05rem;
  display: block;
  margin-bottom: 2px;
}
.gc-insurance-bar__text span {
  color: rgba(255,255,255,.75);
  font-size: 0.92rem;
}
@media (max-width: 640px) {
  .gc-insurance-bar__inner { flex-direction: column; align-items: flex-start; }
  .gc-insurance-bar__inner .gc-btn { width: 100%; text-align: center; justify-content: center; }
}

/* --- Professional Associations Bar -------------------------------- */
.gc-assoc-bar {
  background: #ffffff;
  border-top: 1px solid rgba(0,0,0,0.07);
  border-bottom: 1px solid rgba(0,0,0,0.07);
  padding: 28px 0;
  width: 100%;
  display: block;
  text-align: center;
}
.gc-assoc-bar .gc-container {
  text-align: center;
}
.gc-assoc-bar__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #9ca3af;
  margin: 0 0 16px;
  text-align: center;
}
.gc-assoc-bar__logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
  flex-wrap: wrap;
  width: 100%;
}
.gc-assoc-bar__logo {
  height: 120px;
  width: auto;
  max-width: 200px;
  object-fit: contain;
  filter: grayscale(15%);
  opacity: 0.85;
  transition: opacity .2s, filter .2s;
  display: block;
}
.gc-assoc-bar__logo:nth-child(3) {
  height: 80px;
}
.gc-assoc-bar__logo:hover {
  opacity: 1;
  filter: grayscale(0%);
}
@media (max-width: 600px) {
  .gc-assoc-bar__logos { gap: 28px; }
  .gc-assoc-bar__logo  { height: 42px; }
}

/* --- Insurance Section ------------------------------------- */
.gc-insurance { text-align: center; }
.gc-insurance__header { margin-bottom: 36px; }
.gc-insurance__sub {
  color: var(--gc-text-muted, #666);
  font-size: 1rem;
  margin-top: 8px;
}
.gc-insurance__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 20px;
  margin-bottom: 28px;
}
.gc-insurance__item {
  background: #fff;
  border: 1px solid #e8e3dd;
  border-radius: 8px;
  padding: 14px 22px;
  min-width: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  transition: box-shadow 0.2s;
}
.gc-insurance__item:hover { box-shadow: 0 4px 12px rgba(26,58,92,0.12); }
.gc-insurance__name {
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--gc-navy-deep);
  white-space: nowrap;
}
.gc-insurance__note {
  font-size: 0.875rem;
  color: var(--gc-text-muted, #666);
  margin-top: 0;
}
.gc-insurance__note a {
  color: var(--gc-teal);
  text-decoration: underline;
  margin-left: 4px;
}

/* --- Service Areas ----------------------------------------- */
.gc-service-areas { background: var(--gc-navy-deep); color: #fff; }
.gc-service-areas__header { text-align: center; margin-bottom: 40px; }
.gc-service-areas__eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gc-champagne);
  margin-bottom: 10px;
}
.gc-service-areas .gc-headline-decorated { color: #fff; }
.gc-service-areas .gc-headline-decorated::after { background: var(--gc-champagne); }
.gc-service-areas__body {
  color: rgba(255,255,255,0.7);
  font-size: 0.975rem;
  max-width: 560px;
  margin: 12px auto 0;
}
.gc-service-areas__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 36px;
}
.gc-area-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 10px;
  padding: 24px 20px;
  text-align: center;
  transition: background 0.2s, border-color 0.2s;
}
.gc-area-card:hover {
  background: rgba(201,168,76,0.08);
  border-color: var(--gc-champagne);
}
.gc-area-card__icon {
  font-size: 1.8rem;
  margin-bottom: 10px;
  display: block;
}
.gc-area-card__name {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 4px;
}
.gc-area-card__desc {
  font-size: 0.8rem;
  color: rgba(255,255,255,0.55);
  margin: 0;
}
.gc-service-areas__cta { text-align: center; }

@media (max-width: 768px) {
  .gc-service-areas__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .gc-service-areas__grid { grid-template-columns: 1fr; }
}

/* --- Quick Inquiry Form ------------------------------------ */
.gc-inquiry-form { background: var(--gc-navy-deep); color: #fff; }
.gc-section--navy { background: var(--gc-navy-deep); color: #fff; }
.gc-inquiry-form__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
.gc-inquiry-form__text h2 {
  color: #fff;
  font-size: 1.8rem;
  margin-bottom: 12px;
}
.gc-inquiry-form__text p {
  color: rgba(255,255,255,0.7);
  font-size: 0.975rem;
  line-height: 1.65;
  margin-bottom: 20px;
}
.gc-inquiry-form__trust {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.gc-inquiry-form__trust li {
  color: var(--gc-champagne);
  font-size: 0.875rem;
  font-weight: 600;
}
.gc-inquiry-form__form-wrap {
  background: #fff;
  border-radius: 12px;
  padding: 32px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.25);
}
.gc-eval-form { display: flex; flex-direction: column; gap: 16px; }
.gc-form-row { display: flex; gap: 14px; }
.gc-form-row--2col > .gc-form-group { flex: 1; }
.gc-form-group { display: flex; flex-direction: column; gap: 6px; }
.gc-form-group label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--gc-navy-deep);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.gc-form-group label span { color: var(--gc-gold); }
.gc-form-group input,
.gc-form-group select,
.gc-form-group textarea {
  border: 1.5px solid #d8d2cc;
  border-radius: 6px;
  padding: 10px 13px;
  font-size: 0.9rem;
  color: #222;
  background: #faf9f7;
  transition: border-color 0.2s;
  font-family: inherit;
  width: 100%;
  box-sizing: border-box;
}
.gc-form-group input:focus,
.gc-form-group select:focus,
.gc-form-group textarea:focus {
  outline: none;
  border-color: var(--gc-teal);
  background: #fff;
}
.gc-btn--full { width: 100%; justify-content: center; text-align: center; }
.gc-form-privacy {
  font-size: 0.75rem;
  color: #888;
  text-align: center;
  margin: 4px 0 0;
}
.gc-form-privacy a { color: var(--gc-teal); }

/* Form notices */
.gc-form-notice {
  border-radius: 6px;
  padding: 12px 16px;
  font-size: 0.875rem;
  margin-bottom: 16px;
}
.gc-form-notice--success { background: #ecfdf5; border: 1px solid #6ee7b7; color: #065f46; }
.gc-form-notice--error   { background: #fef2f2; border: 1px solid #fca5a5; color: #991b1b; }

@media (max-width: 900px) {
  .gc-inquiry-form__inner { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 540px) {
  .gc-form-row--2col { flex-direction: column; }
  .gc-inquiry-form__form-wrap { padding: 20px; }
}

/* ==========================================================================
   NEW PAGE BLOCKS — Outpatient, Mobile, Locations, Careers, Contact
   ========================================================================== */

/* ── How It Works ─────────────────────────────────────────────────────────── */
.gc-how-it-works { background: #fff; }
.gc-how-it-works__header { text-align: center; max-width: 640px; margin: 0 auto 3rem; }
.gc-how-it-works__subline { color: var(--gc-body-text, #4a5568); margin-top: .75rem; }
.gc-how-it-works__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.gc-step {
  text-align: center;
  padding: 2rem 1.5rem;
  border: 1px solid #e8ecf0;
  border-radius: 12px;
  position: relative;
}
.gc-step__num {
  font-size: 3rem;
  font-weight: 700;
  color: var(--gc-gold);
  line-height: 1;
  margin-bottom: .5rem;
  opacity: .35;
}
.gc-step__icon { font-size: 2rem; margin-bottom: .75rem; }
.gc-step__title { font-size: 1.1rem; font-weight: 600; color: var(--gc-navy-deep); margin-bottom: .5rem; }
.gc-step__desc  { font-size: .9rem; color: #4a5568; line-height: 1.6; }
@media (max-width: 768px) {
  .gc-how-it-works__steps { grid-template-columns: 1fr; gap: 1.25rem; }
}

/* ── Conditions Grid ──────────────────────────────────────────────────────── */
.gc-conditions__header { text-align: center; max-width: 640px; margin: 0 auto 2.5rem; }
.gc-conditions__subline { color: #4a5568; margin-top: .75rem; }
.gc-conditions__grid {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: center;
  margin-bottom: 2rem;
}
.gc-condition-tag {
  background: #EEF2F7;
  color: var(--gc-navy-deep);
  border-radius: 999px;
  padding: .45rem 1.1rem;
  font-size: .88rem;
  font-weight: 500;
  border: 1px solid #d0dae8;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.gc-conditions__note {
  text-align: center;
  font-size: .9rem;
  color: #4a5568;
  margin-top: 1rem;
}
.gc-conditions__note a { color: var(--gc-navy-deep); font-weight: 500; }

/* ── Who It's For (Mobile page) ───────────────────────────────────────────── */
.gc-who-its-for__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.gc-who-its-for__list {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 2rem;
}
.gc-who-its-for__list li {
  padding: .6rem 0 .6rem 1.75rem;
  position: relative;
  border-bottom: 1px solid #e8ecf0;
  font-size: .95rem;
  color: #2d3748;
}
.gc-who-its-for__list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--gc-gold);
  font-weight: 700;
}
.gc-who-its-for__image img {
  width: 100%;
  border-radius: 12px;
  object-fit: cover;
  max-height: 460px;
}
@media (max-width: 900px) {
  .gc-who-its-for__inner { grid-template-columns: 1fr; gap: 2rem; }
  .gc-who-its-for__image { order: -1; }
}

/* ── Locations Grid ────────────────────────────────────────────────────────── */
.gc-locations__header { text-align: center; max-width: 640px; margin: 0 auto 2.5rem; }
.gc-locations__subline { color: #4a5568; margin-top: .75rem; }
.gc-locations__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.gc-location-card {
  background: #fff;
  border: 1px solid #e0e7ef;
  border-radius: 12px;
  padding: 1.75rem 1.5rem;
  transition: box-shadow .2s, transform .2s;
}
.gc-location-card:hover { box-shadow: 0 8px 24px rgba(26,58,92,.1); transform: translateY(-2px); }
.gc-location-card__icon { font-size: 1.75rem; margin-bottom: .75rem; }
.gc-location-card__name { font-size: 1rem; font-weight: 600; color: var(--gc-navy-deep); margin-bottom: .5rem; line-height: 1.3; }
.gc-location-card__address a,
.gc-location-card__phone a {
  font-size: .88rem;
  color: #4a5568;
  text-decoration: none;
  line-height: 1.5;
  display: block;
}
.gc-location-card__address a:hover,
.gc-location-card__phone a:hover { color: var(--gc-navy-deep); text-decoration: underline; }
.gc-location-card__services {
  display: inline-block;
  margin-top: .75rem;
  background: #EEF2F7;
  color: var(--gc-navy-deep);
  font-size: .8rem;
  font-weight: 600;
  padding: .25rem .75rem;
  border-radius: 999px;
}
@media (max-width: 900px) { .gc-locations__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px) { .gc-locations__grid { grid-template-columns: 1fr; } }

/* ── Partnership Intro (Locations page) ───────────────────────────────────── */
.gc-partnership-intro__features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.gc-partnership-intro .gc-feature-item { display: flex; flex-direction: column; gap: .6rem; align-items: flex-start; }
.gc-partnership-intro .gc-feature-icon { font-size: 1.6rem; }
.gc-partnership-intro .gc-feature-item strong { display: block; font-size: 1rem; color: var(--gc-navy-deep); }
.gc-partnership-intro .gc-feature-item p { font-size: .9rem; color: #4a5568; margin: 0; line-height: 1.6; }
@media (max-width: 900px) {
  .gc-partnership-intro__features { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .gc-partnership-intro__features { grid-template-columns: 1fr; }
}

/* ── Partner CTA (Locations page) ─────────────────────────────────────────── */
.gc-partner-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
  flex-wrap: wrap;
}
.gc-partner-cta__text { flex: 1; min-width: 280px; }
.gc-partner-cta__text h2 { margin: .5rem 0 1rem; font-size: 1.75rem; }
.gc-partner-cta__actions { display: flex; flex-direction: column; gap: 1rem; flex-shrink: 0; }

/* ── Careers ──────────────────────────────────────────────────────────────── */
.gc-why-join__header { text-align: center; max-width: 640px; margin: 0 auto 2.5rem; }
.gc-perks-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.gc-perk-item {
  background: #fff;
  border: 1px solid #e0e7ef;
  border-radius: 12px;
  padding: 1.5rem 1.25rem;
  text-align: center;
}
.gc-perk-icon { font-size: 2rem; margin-bottom: .75rem; }
.gc-perk-item h4 { font-size: .95rem; font-weight: 600; color: var(--gc-navy-deep); margin-bottom: .5rem; }
.gc-perk-item p  { font-size: .85rem; color: #4a5568; line-height: 1.5; margin: 0; }
@media (max-width: 900px) { .gc-perks-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .gc-perks-grid { grid-template-columns: 1fr; } }

.gc-open-positions { background: var(--gc-body-bg, #f9fafb); }
.gc-open-positions__header { text-align: center; max-width: 640px; margin: 0 auto 2.5rem; }
.gc-jobs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.gc-job-card {
  background: #fff;
  border: 1px solid #e0e7ef;
  border-radius: 12px;
  padding: 1.75rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.gc-job-card__meta { display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; }
.gc-job-type {
  background: var(--gc-gold);
  color: #fff;
  font-size: .75rem;
  font-weight: 600;
  padding: .2rem .65rem;
  border-radius: 999px;
}
.gc-job-loc { font-size: .8rem; color: #4a5568; display: flex; align-items: center; gap: .25rem; }
.gc-job-card__title { font-size: 1.05rem; font-weight: 600; color: var(--gc-navy-deep); margin: 0; }
.gc-job-card__desc  { font-size: .88rem; color: #4a5568; line-height: 1.6; flex: 1; margin: 0; }
.gc-btn--sm { padding: .55rem 1.25rem; font-size: .85rem; }
@media (max-width: 900px) { .gc-jobs-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px) { .gc-jobs-grid { grid-template-columns: 1fr; } }

/* ── Contact Page ─────────────────────────────────────────────────────────── */
.gc-contact-layout { background: #fff; }
.gc-contact-layout__inner {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 4rem;
  align-items: flex-start;
}
.gc-contact-info h2 { font-size: 1.6rem; color: var(--gc-navy-deep); margin: .5rem 0 1.5rem; }
.gc-contact-info__list { list-style: none; padding: 0; margin: 0 0 1.5rem; }
.gc-contact-info__list li {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1rem 0;
  border-bottom: 1px solid #e8ecf0;
}
.gc-ci-icon { font-size: 1.25rem; flex-shrink: 0; margin-top: .1rem; }
.gc-contact-info__list li div { display: flex; flex-direction: column; gap: .2rem; }
.gc-contact-info__list li strong { font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; color: #888; }
.gc-contact-info__list li a,
.gc-contact-info__list li span { font-size: .95rem; color: #2d3748; text-decoration: none; line-height: 1.5; }
.gc-contact-info__list li a:hover { color: var(--gc-navy-deep); text-decoration: underline; }
.gc-contact-info__note {
  background: #EEF2F7;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  font-size: .88rem;
  color: #4a5568;
  margin-bottom: 1.5rem;
}
.gc-contact-info__links { display: flex; flex-direction: column; gap: .75rem; }
.gc-contact-link {
  color: var(--gc-navy-deep);
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.gc-contact-link:hover { text-decoration: underline; }
.gc-contact-form-wrap {
  background: #f8faff;
  border: 1px solid #dce6f2;
  border-radius: 12px;
  padding: 2.5rem;
}
.gc-contact-form-wrap h3 { font-size: 1.25rem; color: var(--gc-navy-deep); margin-bottom: 1.5rem; }
@media (max-width: 900px) {
  .gc-contact-layout__inner { grid-template-columns: 1fr; gap: 2.5rem; }
}

/* ── Inquiry Form — Light variant (homepage) ──────────────────────────────── */
.gc-inquiry-form--light {
  background: var(--gc-body-bg);
  color: var(--gc-navy-deep);
  border-top: 4px solid var(--gc-champagne);
  border-bottom: 4px solid var(--gc-champagne);
}
.gc-inquiry-form--light .gc-section-eyebrow {
  color: var(--gc-gold);
}
.gc-inquiry-form--light .gc-inquiry-form__text h2 {
  color: var(--gc-navy-deep);
}
.gc-inquiry-form--light .gc-inquiry-form__text p {
  color: #4a5568;
}
.gc-inquiry-form--light .gc-inquiry-form__trust {
  border-top: 1px solid #e0e7ef;
}
.gc-inquiry-form--light .gc-inquiry-form__trust li {
  color: var(--gc-champagne);
}
.gc-inquiry-form--light .gc-inquiry-form__trust li::before {
  color: var(--gc-champagne);
}
.gc-inquiry-form--light .gc-inquiry-form__form-wrap {
  background: #f4f7fb;
  border: 1px solid #d0dae8;
  box-shadow: 0 4px 24px rgba(26,58,92,.08);
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */

/* ── Our Story ────────────────────────────────────────────────────────────── */
.gc-our-story__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}
.gc-our-story__text p { color: #4a5568; line-height: 1.8; margin-bottom: 1rem; }
.gc-our-story__image { position: relative; }
.gc-our-story__image img { width: 100%; border-radius: 12px; object-fit: cover; max-height: 460px; }
.gc-our-story__badge {
  position: absolute;
  bottom: -1.5rem;
  left: -1.5rem;
  background: var(--gc-gold);
  color: #fff;
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  text-align: center;
  box-shadow: 0 8px 24px rgba(201,168,76,.35);
}
.gc-our-story__badge-num { display: block; font-size: 2rem; font-weight: 700; line-height: 1; }
.gc-our-story__badge-lbl { display: block; font-size: .78rem; line-height: 1.3; margin-top: .35rem; opacity: .9; }
@media (max-width: 900px) {
  .gc-our-story__inner { grid-template-columns: 1fr; gap: 3rem; }
  .gc-our-story__image { margin-top: 2rem; }
  .gc-our-story__badge { bottom: -1rem; left: 1rem; }
}

/* ── Values ───────────────────────────────────────────────────────────────── */
.gc-values__header { text-align: center; max-width: 680px; margin: 0 auto 3rem; }
.gc-values__mission-stmt {
  font-size: 1.15rem;
  font-style: italic;
  color: var(--gc-navy-deep);
  border-left: 4px solid var(--gc-gold);
  padding-left: 1.25rem;
  margin-top: 1.5rem;
  text-align: left;
  line-height: 1.7;
}
.gc-values__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.gc-value-item {
  text-align: center;
  padding: 2rem 1.5rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e0e7ef;
}
.gc-value-icon { font-size: 2.25rem; margin-bottom: .75rem; }
.gc-value-item h3 { font-size: 1rem; font-weight: 600; color: var(--gc-navy-deep); margin-bottom: .5rem; }
.gc-value-item p  { font-size: .88rem; color: #4a5568; line-height: 1.6; margin: 0; }
@media (max-width: 900px) { .gc-values__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .gc-values__grid { grid-template-columns: 1fr; } }

/* ── Team ─────────────────────────────────────────────────────────────────── */
.gc-team__group { margin-bottom: 4rem; }
.gc-team__group:last-child { margin-bottom: 0; }
.gc-team__group--staff { padding-top: 3rem; border-top: 1px solid #e8ecf0; }
.gc-team__group-header { text-align: center; max-width: 580px; margin: 0 auto 2.5rem; }

/* 3-col grid — centered when fewer than 3 cards */
.gc-team__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.gc-team__grid--centered {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}
.gc-team__grid--centered .gc-team-card { width: calc(33.33% - 1.5rem); max-width: 320px; }

.gc-team-card {
  background: #fff;
  border: 1px solid #e0e7ef;
  border-radius: 14px;
  padding: 2rem 1.5rem;
  text-align: center;
  transition: box-shadow .2s, transform .2s;
}
.gc-team-card:hover { box-shadow: 0 10px 30px rgba(26,58,92,.1); transform: translateY(-3px); }
.gc-team-card__photo-wrap {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 1.25rem;
  border: 3px solid var(--gc-gold);
}
.gc-team-card__photo-wrap img { width: 100%; height: 100%; object-fit: cover; }
.gc-team-card__name  { font-size: 1rem; font-weight: 700; color: var(--gc-navy-deep); margin-bottom: .25rem; }
.gc-team-card__title { font-size: .82rem; color: var(--gc-gold); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .75rem; }
.gc-team-card__bio   { font-size: .87rem; color: #4a5568; line-height: 1.6; margin: 0; }
.gc-team-card--staff .gc-team-card__photo-wrap { width: 100px; height: 100px; }

@media (max-width: 900px) {
  .gc-team__grid { grid-template-columns: repeat(2, 1fr); }
  .gc-team__grid--centered .gc-team-card { width: calc(50% - 1rem); }
}
@media (max-width: 540px) {
  .gc-team__grid { grid-template-columns: 1fr; }
  .gc-team__grid--centered .gc-team-card { width: 100%; max-width: 100%; }
}

/* ── Accreditations ───────────────────────────────────────────────────────── */
.gc-accreditations__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.gc-accreditations__badges {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.gc-cred-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: #fff;
  border: 1px solid #e0e7ef;
  border-radius: 10px;
  padding: 1.25rem .75rem;
  gap: .5rem;
}
.gc-cred-badge__icon { font-size: 1.5rem; }
.gc-cred-badge__label { font-size: .82rem; font-weight: 500; color: var(--gc-navy-deep); line-height: 1.3; }
@media (max-width: 900px) {
  .gc-accreditations__inner { grid-template-columns: 1fr; gap: 2rem; }
  .gc-accreditations__badges { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 480px) {
  .gc-accreditations__badges { grid-template-columns: repeat(2, 1fr); }
}

/* ── Careers apply form ───────────────────────────────────────────────────── */
.gc-careers-apply__inner {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 4rem;
  align-items: flex-start;
}
@media (max-width: 900px) {
  .gc-careers-apply__inner { grid-template-columns: 1fr; gap: 2.5rem; }
}
/* Highlight animation on pre-selected dropdown */
@keyframes gc-field-flash {
  0%,100% { border-color: #d0dae8; }
  50%      { border-color: var(--gc-gold); box-shadow: 0 0 0 3px rgba(201,168,76,.25); }
}
.gc-field-highlight { animation: gc-field-flash .5s ease 3; }

/* ==========================================================================
   NAV DROPDOWN — Services submenu
   ========================================================================== */
.gc-nav-menu .gc-has-children { position: relative; }

/* Arrow indicator */
.gc-nav-arrow { font-size: .65em; margin-left: .3rem; display: inline-block; transition: transform .2s; vertical-align: middle; }
.gc-has-children:hover .gc-nav-arrow,
.gc-has-children:focus-within .gc-nav-arrow { transform: rotate(180deg); }

/* Submenu panel */
.gc-sub-menu {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  background: white;
  border-radius: 8px;
  min-width: 220px;
  padding: .5rem 0;
  box-shadow: 0 8px 30px rgba(10,31,56,.18);
  border: 1px solid #e0e7ef;
  z-index: 1001;
  list-style: none;
  margin: 0;
}
.gc-has-children:hover .gc-sub-menu,
.gc-has-children:focus-within .gc-sub-menu { display: block; }

.gc-sub-menu li a {
  display: block;
  padding: .65rem 1.25rem;
  font-size: .88rem;
  color: var(--gc-navy-deep);
  font-weight: 500;
  white-space: nowrap;
  transition: background .15s, color .15s;
  text-decoration: none;
}
.gc-sub-menu li a:hover,
.gc-sub-menu li.current-menu-item a {
  background: var(--gc-navy-700);
  color: var(--gc-champagne-light);
}

/* Mobile: show submenu as stacked list inside mobile nav — same white bg /
   navy text as the desktop dropdown, not the old dark/translucent style. */
@media (max-width: 900px) {
  .gc-sub-menu {
    display: none !important; /* controlled by JS toggle below */
    position: static;
    box-shadow: none;
    border: none;
    background: #ffffff;
    border-radius: 0;
    padding: 0;
    margin: 0;
    min-width: 0;
    width: 100%;
  }
  .gc-has-children.is-open .gc-sub-menu { display: block !important; }
  .gc-sub-menu li a {
    color: var(--gc-navy-deep);
    padding: .6rem 1.75rem;
    font-size: .9rem;
    border-bottom: 1px solid rgba(16,49,90,0.08);
  }
  .gc-sub-menu li a:hover { background: rgba(16,49,90,0.06); color: var(--gc-navy-deep); }
  .gc-nav-parent { cursor: pointer; }
}

/* ============================================================
   TOPBAR ANNOUNCEMENT STRIP
   ============================================================ */
.gc-topbar {
  background: var(--gc-navy-deep);
  color: rgba(255,255,255,.85);
  text-align: center;
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: .04em;
  padding: .55rem 1rem;
  line-height: 1.4;
}
.gc-topbar a { color: var(--gc-champagne-light); text-decoration: underline; }
.gc-topbar a:hover { color: #fff; }

/* ============================================================
   STICKY HEADER — rules consolidated into .gc-site-header above
   ============================================================ */
/* (no duplicate block — background + sticky handled by .gc-site-header selector) */

/* ============================================================
   HERO — 60/40 LAYOUT
   ============================================================ */
.gc-hero {
  background: var(--gc-champagne-pale);
  overflow: hidden;
}
.gc-hero__inner {
  display: flex;
  align-items: stretch;
  min-height: 580px;
  max-width: var(--gc-container-max);
  margin: 0 auto;
}
.gc-hero__left {
  flex: 0 0 60%;
  max-width: 60%;
  padding: 72px 56px 72px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.gc-hero__right {
  flex: 0 0 46%;
  max-width: 46%;
  position: relative;
  min-height: 500px;
  border-radius: 36px;
  overflow: hidden;
  border: 1px solid rgba(231, 198, 106, .42);
  box-shadow: 0 24px 60px rgba(3, 22, 44, .18);
  align-self: stretch;
  /* Brand gradient shows when no WP image is assigned */
  background: linear-gradient(145deg, #10315a 0%, #1a4a78 55%, #cda35e 100%);
}
/* Gradient overlay — bottom fade matching mockup */
.gc-hero__right::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(6, 26, 50, .62), transparent 42%);
  pointer-events: none;
  z-index: 1;
}
/* Media wrapper fills the entire right column */
.gc-hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.gc-hero__right img,
.gc-hero__right video,
.gc-hero__right iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gc-hero__eyebrow {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gc-champagne-dark);
  margin-bottom: .9rem;
}
.gc-hero__heading {
  font-family: var(--gc-font-heading);
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1.15;
  color: var(--gc-charcoal);
  margin: 0 0 .6rem;
}
.gc-hero__heading .accent {
  color: var(--gc-champagne-dark);
}
.gc-hero__sub {
  font-size: 1.15rem;
  color: var(--gold-200);
  margin: 0 0 .75rem;
  line-height: 1.4;
  font-size: 1.2rem !important;
}
.gc-hero__desc {
  font-size: .97rem;
  color: var(--gc-gray);
  line-height: 1.7;
  max-width: 520px;
  margin: 0 0 1.75rem;
}
.gc-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-bottom: 2rem;
}
.gc-hero__cards {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.gc-hero__card {
  background: #fff;
  border: 1px solid var(--gc-silver);
  border-radius: var(--gc-radius);
  padding: .6rem 1rem;
  display: flex;
  align-items: center;
  gap: .6rem;
  font-size: .82rem;
}
.gc-hero__card-icon { font-size: 1.1rem; }
.gc-hero__card-title { font-weight: 700; color: var(--gc-charcoal); display: block; line-height: 1.2; }
.gc-hero__card-text  { color: var(--gc-gray-light); font-size: .78rem; }
/* Sticky note badge — matches mockup .hero-stamp */
.gc-hero__sticky-note {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  z-index: 2;
  padding: 20px;
  border-radius: 22px;
  background: rgba(255, 250, 242, .92);
  color: var(--gc-navy-deep);
  box-shadow: 0 18px 46px rgba(0, 0, 0, .24);
}
.gc-hero__sticky-note strong { display: block; font-size: 1.1rem; margin-bottom: 4px; color: var(--gc-navy-deep); }
.gc-hero__sticky-note span   { font-size: .875rem; color: var(--gc-gray); }
@media (max-width: 860px) {
  .gc-hero__inner { flex-direction: column; min-height: auto; }
  .gc-hero__left  { flex: none; max-width: 100%; padding: 48px 20px 32px; }
  .gc-hero__right {
    flex: none;
    max-width: 100%;
    min-height: 300px;
    border-radius: 20px;
    margin: 0 20px 32px;
  }
  .gc-hero__sticky-note { display: none; }
}

/* ============================================================
   SECTION HELPERS
   ============================================================ */
.gc-section-header--center { text-align: center; margin-bottom: 2.5rem; }
.gc-section-header--center h2 { margin: .4rem 0 .6rem; }


/* ============================================================
   PATHWAYS BLOCK
   ============================================================ */
.gc-pathways { background: var(--gc-white); }
.gc-pathways__grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1.25rem;
}
.gc-pathway-card {
  border-radius: var(--gc-radius-lg);
  padding: 2rem 1.5rem;
  text-align: center;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  transition: transform .2s, box-shadow .2s;
}
.gc-pathway-card:hover { transform: translateY(-4px); box-shadow: 0 8px 32px rgba(0,0,0,.1); }
.gc-pathway-card__icon { font-size: 2.2rem; }
.gc-pathway-card__label { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.gc-pathway-card__title { font-size: 1.1rem; font-weight: 700; font-family: var(--gc-font-heading); line-height: 1.2; }
.gc-pathway-card__sub   { font-size: .85rem; line-height: 1.5; }
.gc-pathway-card__cta   { font-size: .82rem; font-weight: 600; margin-top: auto; }
/* Colour variants */
.gc-pathway-card--navy  { background: var(--gc-navy); }
.gc-pathway-card--navy  .gc-pathway-card__label,
.gc-pathway-card--navy  .gc-pathway-card__title { color: #fff; }
.gc-pathway-card--navy  .gc-pathway-card__sub   { color: rgba(255,255,255,.75); }
.gc-pathway-card--navy  .gc-pathway-card__cta   { color: var(--gc-champagne-light); }
.gc-pathway-card--gold  { background: var(--gc-champagne-pale); border: 1px solid var(--gc-champagne-light); }
.gc-pathway-card--gold  .gc-pathway-card__label { color: var(--gc-champagne-dark); }
.gc-pathway-card--gold  .gc-pathway-card__title { color: var(--gc-charcoal); }
.gc-pathway-card--gold  .gc-pathway-card__sub   { color: var(--gc-gray); }
.gc-pathway-card--gold  .gc-pathway-card__cta   { color: var(--gc-champagne-dark); }
.gc-pathway-card--teal  { background: #e8f4f8; border: 1px solid #b8dce8; }
.gc-pathway-card--teal  .gc-pathway-card__label { color: #1a6880; }
.gc-pathway-card--teal  .gc-pathway-card__title { color: var(--gc-charcoal); }
.gc-pathway-card--teal  .gc-pathway-card__sub   { color: var(--gc-gray); }
.gc-pathway-card--teal  .gc-pathway-card__cta   { color: #1a6880; }
.gc-pathway-card--cream { background: #f9f5ef; border: 1px solid #e8dccf; }
.gc-pathway-card--cream .gc-pathway-card__label { color: var(--gc-champagne-dark); }
.gc-pathway-card--cream .gc-pathway-card__title { color: var(--gc-charcoal); }
.gc-pathway-card--cream .gc-pathway-card__sub   { color: var(--gc-gray); }
.gc-pathway-card--cream .gc-pathway-card__cta   { color: var(--gc-champagne-dark); }
@media (max-width: 860px) {
  .gc-pathways__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .gc-pathways__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   SCREENING PROMO BLOCK
   ============================================================ */
.gc-screening-promo { background: var(--gc-champagne-pale); }
.gc-screening-promo__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.gc-screening-promo__image { position: relative; border-radius: var(--gc-radius-lg); overflow: hidden; }
.gc-screening-promo__image img { width: 100%; display: block; border-radius: var(--gc-radius-lg); }
.gc-screening-promo__badge {
  position: absolute;
  top: 20px; right: 20px;
  background: var(--gc-champagne);
  color: var(--gc-navy-deep);
  font-size: .8rem;
  font-weight: 700;
  padding: .6rem 1rem;
  border-radius: 100px;
  text-transform: uppercase;
  letter-spacing: .06em;
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
}
@media (max-width: 860px) {
  .gc-screening-promo__inner { grid-template-columns: 1fr; }
  .gc-screening-promo__image { order: -1; }
}

/* ============================================================
   SIGNATURE PROGRAMS — HOMEPAGE BLOCK
   ============================================================ */
.gc-signature-programs { background: var(--gc-navy); }
.gc-programs-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.5rem;
  margin-top: 2rem;
}
.gc-program-card {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--gc-radius-lg);
  padding: 1.75rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  transition: background .2s;
}

.gc-program-card__header { display: flex; align-items: center; gap: .75rem; margin-bottom: .25rem; }
.gc-program-card__number { position: absolute;
    top: 14px;
    right: 20px;
    font-family: 'Fraunces', serif;
    font-size: 3rem;
    font-weight: 600;
    background: var(--g-gold);
    background-size: 220% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    opacity: .5;
    animation: sheen 8s linear infinite;}
.gc-program-card__icon   {
  width: 150px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4.5rem;
  line-height: 1;
  border-radius: 24px;
  background: rgba(207,162,71,.14);
  border: 1px solid rgba(207,162,71,.28);
  margin-bottom: 8px;
  flex-shrink: 0;
}
@media (max-width: 640px) {
  .gc-program-card__icon { width: 110px; height: 110px; font-size: 3.4rem; border-radius: 20px; }
}
.gc-program-card__icon--img {
  padding: 0;
  overflow: hidden;
  background: rgba(207,162,71,.14);
}
.gc-program-card__icon--img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gc-program-card__name   { font-weight: 700; font-size: 1.5rem !important; color: #fff; margin: 0; }
.gc-program-card__tagline{ font-size: .78rem; color: var(--gc-champagne-light); font-weight: 600; text-transform: uppercase; letter-spacing: .07em; margin: 0; }
.gc-program-card__desc   { font-size: .88rem; color: rgba(255,255,255,.75); line-height: 1.6; margin: .25rem 0 0; }
/* Full-page program grid (on /programs/) */
.gc-programs-grid--full  { grid-template-columns: repeat(2,1fr); }
.gc-program-card--full   { background: rgba(255,255,255,.07); }

/* ── Programs page only: icon floats right, text wraps; number sits left of the title ── */
.gc-program-card--full {
  display: flow-root; /* contains the float (replaces flex from base rule) */
}
.gc-program-card--full .gc-program-card__header {
  float: right;
  margin: 0 0 16px 20px;
}
.gc-program-card--full .gc-program-card__title-row {
  display: flex;
  align-items: baseline;
  gap: .6rem;
}
.gc-program-card--full .gc-program-card__number {
  position: static; /* was absolute — now sits in-flow beside the title */
  flex-shrink: 0;
}
.gc-program-card--full .gc-program-card__name    { margin-top: 0; }
.gc-program-card--full .gc-program-card__tagline { margin-top: .5rem; }
.gc-program-card--full .gc-program-card__desc    { margin-top: .5rem; }
.gc-program-card--full .gc-program-card__services{ clear: both; margin-top: 1rem; }
@media (max-width: 640px) {
  .gc-program-card--full .gc-program-card__header {
    margin: 0 0 12px 14px; /* keep float: right on mobile too — smaller icon (110px) still leaves room to wrap */
  }
}
.gc-program-card__services { list-style: none; padding: 0; margin: .75rem 0 0; }
.gc-program-card__services li {
  font-size: .84rem;
  color: var(--gc-navy);
  padding: .3rem 0 .3rem 1.2rem;
  border-top: 1px solid rgba(255,255,255,.08);
  position: relative;
}
.gc-program-card__services li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--gc-champagne);
  font-size: .78rem;
}
@media (max-width: 860px) {
  .gc-programs-grid,
  .gc-programs-grid--full { grid-template-columns: 1fr; }
}

/* ============================================================
   STUDENT STRIP — HOMEPAGE BLOCK
   ============================================================ */
.gc-student-strip { background: var(--gc-champagne-pale); }
.gc-student-strip__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}
.gc-disciplines-bar { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.gc-discipline-badge {
  background: var(--gc-navy);
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  padding: .35rem .9rem;
  border-radius: 100px;
  letter-spacing: .04em;
}
.gc-discipline-badge--large { font-size: .85rem; padding: .5rem 1.2rem; }
.gc-student-features { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .75rem; }
.gc-student-feature  { display: flex; align-items: flex-start; gap: .75rem; }
.gc-student-feature__icon { font-size: 1.4rem; flex-shrink: 0; }
.gc-student-feature strong { font-size: .95rem; color: var(--gc-charcoal); display: block; margin-bottom: .15rem; }
.gc-student-feature p { font-size: .88rem; color: var(--gc-gray); margin: 0; line-height: 1.5; }
@media (max-width: 860px) {
  .gc-student-strip__inner { grid-template-columns: 1fr; }
}

/* ============================================================
   STUDENT PROGRAM PAGE — FEATURE CARDS
   ============================================================ */
.gc-student-features__grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1.5rem;
  margin-top: 2rem;
}
.gc-student-feature-card {
  background: var(--gc-card-bg);
  border: 1px solid var(--gc-gray-line);
  border-radius: var(--gc-radius-lg);
  padding: 1.75rem 1.5rem;
}
.gc-student-feature-card__icon { font-size: 2rem; display: block; margin-bottom: .75rem; }
.gc-student-feature-card h3 { font-size: 1.05rem; color: var(--gc-charcoal); margin: 0 0 .5rem; }
.gc-student-feature-card p  { font-size: .9rem; color: var(--gc-gray); margin: 0; line-height: 1.6; }
@media (max-width: 640px) {
  .gc-student-features__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   JOBS PREVIEW BLOCK
   ============================================================ */
.gc-jobs-preview { background: var(--gc-white); }
.gc-jobs-preview__grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.25rem;
  margin-bottom: 2.5rem;
}
.gc-job-card {
  background: var(--gc-card-bg);
  border: 1px solid var(--gc-gray-line);
  border-radius: var(--gc-radius-lg);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.gc-job-card__meta { display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; margin-bottom: .25rem; }
.gc-job-badge {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .25rem .7rem;
  border-radius: 100px;
  background: var(--gc-navy-pale);
  color: var(--gc-navy);
}
.gc-job-badge--open     { background: #e8f5ee; color: #1a6b3a; }
.gc-job-badge--ft       { background: var(--gc-navy-pale); color: var(--gc-navy); }
.gc-job-badge--prn      { background: var(--gc-champagne-pale); color: var(--gc-champagne-dark); }
.gc-job-card__title { font-size: 1rem; font-weight: 700; color: var(--gc-charcoal); margin: 0; }
.gc-job-card__meta-row { font-size: .8rem; color: var(--gc-gray-light); }
.gc-job-card__desc  { font-size: .87rem; color: var(--gc-gray); line-height: 1.55; flex: 1; }
@media (max-width: 860px) {
  .gc-jobs-preview__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   THERAPIST SPOTLIGHT CAROUSEL (REC #10)
   ============================================================ */
.gc-spotlight {
  background: var(--gc-navy-pale);
  border-radius: var(--gc-radius-lg);
  padding: 2rem 1.5rem;
  overflow: hidden;
  position: relative;
}
.gc-spotlight__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; }
.gc-spotlight__track-wrap { overflow: hidden; }
.gc-spotlight__track {
  display: flex;
  gap: 1.25rem;
  transition: transform .35s ease;
}
.gc-spotlight-card {
  flex: 0 0 calc(25% - 1rem);
  background: #fff;
  border-radius: var(--gc-radius);
  padding: 1.25rem;
  text-align: center;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.gc-spotlight-card__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--gc-navy-pale);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  margin: 0 auto .75rem;
}
.gc-spotlight-card__name  { font-weight: 700; font-size: .95rem; color: var(--gc-charcoal); margin: 0 0 .2rem; }
.gc-spotlight-card__role  { font-size: .8rem; color: var(--gc-navy); font-weight: 600; margin: 0 0 .5rem; }
.gc-spotlight-card__quote { font-size: .82rem; color: var(--gc-gray); font-style: italic; line-height: 1.5; margin: 0; }
.gc-spotlight__nav { display: flex; gap: .5rem; }
.gc-spotlight__btn {
  background: var(--gc-navy);
  border: none;
  color: #fff;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
}
.gc-spotlight__btn:hover { background: var(--gc-champagne-dark); }
@media (max-width: 860px) {
  .gc-spotlight-card { flex: 0 0 calc(50% - .7rem); }
}
@media (max-width: 540px) {
  .gc-spotlight-card { flex: 0 0 100%; }
}

/* ============================================================
   PARTNER BANNER — UPDATED
   ============================================================ */
.gc-partner-points-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1.25rem;
  margin-top: 2rem;
}
.gc-partner-point-card {
  background: var(--gc-white);
  border: 1px solid var(--gc-gray-line);
  border-radius: var(--gc-radius-lg);
  padding: 1.5rem;
}
.gc-partner-point-card__header { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.gc-partner-point-card__num    { font-size: .75rem; font-weight: 800; color: var(--gc-champagne-dark); letter-spacing: .08em; }
.gc-partner-point-card__icon   { font-size: 1.4rem; }
.gc-partner-point-card h3 { font-size: 1rem; font-weight: 700; color: var(--gc-charcoal); margin: 0 0 .5rem; }
.gc-partner-point-card p  { font-size: .87rem; color: var(--gc-gray); margin: 0; line-height: 1.6; }
/* Navy background variant (partner-banner block) */
.gc-partner-banner .gc-partner-point-card {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.12);
}
.gc-partner-banner .gc-partner-point-card__num { color: var(--gc-champagne-light); }
.gc-partner-banner .gc-partner-point-card h3   { color: #fff; }
.gc-partner-banner .gc-partner-point-card p    { color: rgba(255,255,255,.75); }
@media (max-width: 860px) {
  .gc-partner-points-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .gc-partner-points-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   PARTNER PAGE — OPERATOR VALUE 4-COL
   ============================================================ */
.gc-operator-value { }
.gc-features-grid--4col {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1.25rem;
  margin-top: 2rem;
}
.gc-feature-item--card {
  background: var(--gc-card-bg);
  border: 1px solid var(--gc-gray-line);
  border-radius: var(--gc-radius-lg);
  padding: 1.5rem;
}
.gc-feature-item--card .icon { font-size: 1.8rem; margin-bottom: .75rem; }
.gc-feature-item--card h4   { font-size: .97rem; font-weight: 700; color: var(--gc-charcoal); margin: 0 0 .5rem; }
.gc-feature-item--card p    { font-size: .87rem; color: var(--gc-gray); margin: 0; line-height: 1.6; }
@media (max-width: 1000px) {
  .gc-features-grid--4col { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .gc-features-grid--4col { grid-template-columns: 1fr; }
}

/* ============================================================
   PARTNERSHIP BROCHURE PLACEHOLDER (REC #11)
   ============================================================ */
.gc-brochure-cta { }
.gc-brochure-cta .gc-btn--outline-dark {
  border: 2px solid var(--gc-charcoal);
  color: var(--gc-charcoal);
  background: transparent;
  border-radius: 100px;
  padding: .75rem 2rem;
}

/* ============================================================
   PARTNERSHIP & STUDENT FORM SECTIONS
   ============================================================ */
.gc-partnership-form-section,
.gc-student-form-section { background: var(--gc-white); }

/* Text inside the left panel must be dark on these white-background sections */
.gc-partnership-form-section .gc-inquiry-form__text h2,
.gc-student-form-section    .gc-inquiry-form__text h2 {
  color: var(--gc-navy-deep);
}
.gc-partnership-form-section .gc-inquiry-form__text p,
.gc-student-form-section    .gc-inquiry-form__text p {
  color: var(--gc-body-text, #374151);
}
.gc-partnership-form-section .gc-inquiry-form__text a,
.gc-student-form-section    .gc-inquiry-form__text a {
  color: var(--gc-navy-deep);
}
.gc-partnership-form-section .gc-section-eyebrow,
.gc-student-form-section    .gc-section-eyebrow {
  color: var(--gc-gold);
}
.gc-partnership-form-section .gc-inquiry-form__trust li,
.gc-student-form-section    .gc-inquiry-form__trust li {
  color: var(--gc-navy-deep);
}

/* ============================================================
   WHATSAPP FLOATING BUTTON (REC #8)
   ============================================================ */
.gc-whatsapp-btn {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: .6rem;
  background: var(--g-gold-btn);
  background-size: 220% auto;
  color: var(--navy-900);
  border-radius: 100px;
  padding: .7rem 1.2rem .7rem .9rem;
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: var(--shadow-gold), inset 0 1px 0 rgba(255,255,255,.65);
  transition: background-position .25s, transform .2s, box-shadow .2s;
}
.gc-whatsapp-btn:hover {
  background-position: right center;
  transform: translateY(-2px);
  box-shadow: var(--shadow-gold), 0 8px 32px rgba(161,124,63,.45);
  color: var(--navy-900);
}
.gc-whatsapp-btn svg { color: var(--navy-900); }
.gc-whatsapp-btn svg { width: 22px; height: 22px; flex-shrink: 0; }
/* Label — always visible inline text on the pill (not a hover-only tooltip). */
.gc-whatsapp-btn__label {
  font-size: .88rem;
  font-weight: 700;
  white-space: nowrap;
  line-height: 1;
}
@media (max-width: 540px) {
  .gc-whatsapp-btn {
    width: 52px !important;
    height: 52px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    justify-content: center !important;
    gap: 0 !important;
    bottom: 20px !important;
    right: 16px !important;
  }
  .gc-whatsapp-btn__label { display: none !important; }
}

/* ============================================================
   PAGE PRELOADER — GC logo pulse, fades on window.load
   ============================================================ */
#gc-preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity .55s ease, visibility .55s;
}
#gc-preloader.gc-preloader--done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.gc-preloader__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}
/* Site logo image — breathe animation */
.gc-preloader__logo {
  max-width: 180px;
  height: auto;
  animation: gc-preloader-breathe 1.8s ease-in-out infinite;
}
/* Text fallback when no logo image exists */
.gc-preloader__text {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gc-navy-deep, #061a32);
  letter-spacing: .04em;
  animation: gc-preloader-breathe 1.8s ease-in-out infinite;
}
/* Thin gold progress bar */
.gc-preloader__bar {
  width: 120px;
  height: 3px;
  background: rgba(187,151,65,.2);
  border-radius: 99px;
  overflow: hidden;
}
.gc-preloader__fill {
  height: 100%;
  background: var(--gc-gold, #bb9741);
  border-radius: 99px;
  animation: gc-preloader-bar 1.8s ease-in-out infinite;
}
@keyframes gc-preloader-breathe {
  0%, 100% { opacity: 1;   transform: scale(1); }
  50%       { opacity: .35; transform: scale(.94); }
}
@keyframes gc-preloader-bar {
  0%   { width: 0%;   margin-left: 0; }
  50%  { width: 80%;  margin-left: 0; }
  100% { width: 0%;   margin-left: 100%; }
}

/* ============================================================
   SCROLL-DEPTH INQUIRY DIALOG (REC #6)
   Uses opacity/visibility transition — avoids display:none
   flash that caused the white-screen repaint bug.
   ============================================================ */
.gc-scroll-inquiry {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;          /* always flex — visibility controls hide/show */
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s ease, visibility .3s;
  /* Pre-warm the GPU compositor so blur never flashes on first show */
  will-change: opacity;
}
.gc-scroll-inquiry.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.gc-scroll-inquiry__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10,31,56,.65);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.gc-scroll-inquiry__panel {
  position: relative;
  z-index: 1;
  background: var(--gc-white);
  border-radius: var(--gc-radius-lg);
  padding: 2.5rem 2rem;
  max-width: 520px;
  width: calc(100% - 2rem);
  box-shadow: 0 24px 80px rgba(0,0,0,.25);
  max-height: 90vh;
  overflow-y: auto;
  transform: translateY(10px);
  transition: transform .3s ease;
}
.gc-scroll-inquiry.is-visible .gc-scroll-inquiry__panel {
  transform: translateY(0);
}
.gc-scroll-inquiry__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.3rem;
  color: var(--gc-gray-light);
  line-height: 1;
  padding: .25rem;
}
.gc-scroll-inquiry__close:hover { color: var(--gc-charcoal); }
@media (max-width: 540px) {
  .gc-scroll-inquiry__panel { padding: 2rem 1.25rem; }
}

/* ============================================================
   SERVICE DETAIL PAGES (PT / OT / SLP)
   ============================================================ */
.gc-service-detail {}
.gc-service-detail__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}
.gc-service-detail__image img {
  width: 100%;
  border-radius: var(--gc-radius-lg);
  display: block;
}
.gc-how-it-works {}
.gc-steps-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1.25rem;
  margin-top: 1.5rem;
}
.gc-step-card {
  background: var(--gc-card-bg);
  border: 1px solid var(--gc-gray-line);
  border-radius: var(--gc-radius-lg);
  padding: 1.5rem;
  position: relative;
}
.gc-step-card__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--gc-navy);
  color: #fff;
  font-size: .9rem;
  font-weight: 800;
  margin-bottom: 1rem;
}
.gc-step-card h3 { font-size: .97rem; font-weight: 700; color: var(--gc-charcoal); margin: 0 0 .5rem; }
.gc-step-card p  { font-size: .87rem; color: var(--gc-gray); margin: 0; line-height: 1.6; }
@media (max-width: 860px) {
  .gc-service-detail__inner { grid-template-columns: 1fr; }
  .gc-steps-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .gc-steps-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   CAREERS PAGE
   ============================================================ */
.gc-perks-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1.25rem;
  margin-top: 2rem;
}
.gc-perk-item {
  background: var(--gc-card-bg);
  border: 1px solid var(--gc-gray-line);
  border-radius: var(--gc-radius-lg);
  padding: 1.5rem;
  text-align: center;
}
.gc-perk-icon { font-size: 2rem; margin-bottom: .75rem; }
.gc-perk-item h4 { font-size: .95rem; font-weight: 700; color: var(--gc-charcoal); margin: 0 0 .4rem; }
.gc-perk-item p  { font-size: .85rem; color: var(--gc-gray); margin: 0; line-height: 1.5; }
.gc-jobs-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.25rem;
  margin-top: 1.5rem;
}
.gc-careers-apply__inner {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 3rem;
  align-items: start;
}
/* File upload styling */
.gc-form-group--file label { display: block; margin-bottom: .5rem; }
.gc-form-hint { display: block; font-size: .76rem; color: var(--gc-gray-light); font-weight: 400; margin-top: .15rem; }
.gc-form-group--file input[type="file"] {
  width: 100%;
  padding: .6rem .9rem;
  border: 2px dashed var(--gc-silver);
  border-radius: var(--gc-radius);
  background: var(--gc-champagne-pale);
  font-size: .88rem;
  cursor: pointer;
  transition: border-color .2s;
}
.gc-form-group--file input[type="file"]:focus,
.gc-form-group--file input[type="file"]:hover { border-color: var(--gc-champagne); outline: none; }
@media (max-width: 860px) {
  .gc-perks-grid  { grid-template-columns: 1fr 1fr; }
  .gc-jobs-grid   { grid-template-columns: 1fr; }
  .gc-careers-apply__inner { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .gc-perks-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   SERVICES GRID — 6-COLUMN EXPANDED
   ============================================================ */
.gc-services-grid__inner--6col {
  grid-template-columns: repeat(3,1fr);
}
@media (max-width: 860px) {
  .gc-services-grid__inner--6col { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .gc-services-grid__inner--6col { grid-template-columns: 1fr; }
}

/* Expansion announcement banner */
.gc-expansion-banner {
  background: var(--gc-navy-pale);
  border-left: 4px solid var(--gc-champagne);
  border-radius: 0 var(--gc-radius) var(--gc-radius) 0;
  padding: 1rem 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin-top: 2rem;
}
.gc-expansion-banner__icon { font-size: 1.2rem; flex-shrink: 0; margin-top: .1rem; }
.gc-expansion-banner p { margin: 0; font-size: .9rem; color: var(--gc-gray); line-height: 1.5; }
.gc-expansion-banner a { color: var(--gc-navy); font-weight: 600; }
.gc-expansion-banner a:hover { color: var(--gc-champagne-dark); }

/* ============================================================
   MORE LOCATIONS + IMAPS
   ============================================================ */
.gc-more-locations {}
.gc-more-locations__heading {
  font-family: var(--gc-font-heading);
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  color: var(--gc-charcoal);
}
.gc-imaps-wrapper svg { width: 100%; height: auto; display: block; }

/* ── Hiring States Map layout ─────────────────────────────────────────── */
.gc-hiring-map-layout {
    display: flex;
    gap: 2rem;
    align-items: center;
    flex-wrap: wrap;
}
.gc-hiring-map-panel {
    position: relative;
    flex: 1 1 480px;
    min-width: 0;
}
#gc-michigan-map {
    width: 100%;
    height: 440px;
}
.gc-map-watermark {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: 110px;
    opacity: 0.12;
    pointer-events: none;
    z-index: 10;
    filter: grayscale(1);
}
.gc-hiring-legend {
    flex: 0 0 220px;
    min-width: 180px;
    background: var(--gc-white);
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(16,49,90,.10);
    padding: 1.5rem;
    border: 1px solid rgba(16,49,90,.08);
}
.gc-hiring-legend h3 {
    margin: .25rem 0 1rem;
    font-size: 1.1rem;
    color: var(--gc-navy);
}
.gc-map-legend-key {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1rem;
    font-size: .82rem;
    color: #4a5568;
}
.gc-map-legend-swatch {
    display: inline-block;
    width: 18px;
    height: 14px;
    background: var(--gc-navy);
    border-radius: 3px;
    flex-shrink: 0;
}
.gc-map-legend-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1.25rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.gc-map-legend-list li {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: .9rem;
    font-weight: 600;
    color: var(--gc-navy);
}
.gc-map-legend-abbr {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 22px;
    background: var(--gc-navy);
    color: #fff;
    border-radius: 4px;
    font-size: .7rem;
    font-weight: 700;
    flex-shrink: 0;
    letter-spacing: .03em;
}
.gc-map-legend-note {
    font-size: .78rem;
    color: #6b7280;
    margin-bottom: 1rem;
    line-height: 1.5;
}
/* ── Fallback layout when the amCharts CDN fails to load ─────────────────
   Applied via JS (class "gc-map-failed" on .gc-hiring-map-layout). Hides
   the broken/blank map panel entirely and lets the legend expand to a
   full-width, horizontally-wrapping state list instead of staying pinned
   in its normal narrow 220px sidebar column. ──────────────────────────── */
.gc-hiring-map-layout.gc-map-failed .gc-hiring-map-panel {
    display: none;
}
.gc-hiring-map-layout.gc-map-failed .gc-hiring-legend {
    flex: 1 1 100%;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}
.gc-hiring-map-layout.gc-map-failed .gc-map-legend-key {
    justify-content: center;
}
.gc-hiring-map-layout.gc-map-failed .gc-map-legend-list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: .6rem 1.25rem;
}
.gc-hiring-map-layout.gc-map-failed .gc-map-legend-list li {
    flex: 0 0 auto;
}

@media (max-width: 700px) {
    .gc-hiring-map-layout { flex-direction: column; }
    .gc-hiring-legend { flex: none; width: 100%; }
    #gc-michigan-map { height: 280px; }
}

/* ============================================================
   SITEMAP PAGE
   ============================================================ */
.gc-sitemap {}
.gc-sitemap__header { text-align: center; max-width: 640px; margin: 0 auto 3rem; }
.gc-sitemap__header h1 { font-family: var(--gc-font-heading); color: var(--gc-charcoal); margin: .5rem 0 .75rem; }
.gc-sitemap__grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 2rem;
}
.gc-sitemap__section {}
.gc-sitemap__section--wide { grid-column: 1 / -1; }
.gc-sitemap__section-title {
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gc-champagne-dark);
  border-bottom: 2px solid var(--gc-champagne-light);
  padding-bottom: .5rem;
  margin-bottom: 1rem;
}
.gc-sitemap__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .4rem; }
.gc-sitemap__list li a {
  color: var(--gc-navy);
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
  transition: color .15s;
  padding-left: .9rem;
  position: relative;
}
.gc-sitemap__list li a::before {
  content: '→';
  position: absolute;
  left: 0;
  font-size: .72rem;
  color: var(--gc-champagne);
  top: .15em;
}
.gc-sitemap__list li a:hover { color: var(--gc-champagne-dark); }
.gc-sitemap__list--inline { flex-direction: row; flex-wrap: wrap; gap: .75rem; }
.gc-sitemap__list--inline li a { display: flex; flex-direction: column; gap: .15rem; }
.gc-sitemap__date { font-size: .74rem; color: var(--gc-gray-light); padding-left: .9rem; }
@media (max-width: 860px) {
  .gc-sitemap__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .gc-sitemap__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   PROGRAMS SCREENING SECTION ON /programs/
   ============================================================ */
.gc-programs-screening { }
.gc-programs-screening .gc-service-detail__inner { align-items: center; }

/* ============================================================
   STUDENT DISCIPLINES SECTION
   ============================================================ */
.gc-student-disciplines { }

/* ============================================================
   QUICK INQUIRY FORM — updated trust signals colour
   ============================================================ */
.gc-inquiry-form__trust li { color: var(--gc-gray); }

/* ============================================================
   SECTION UTILITY — missing aliases
   ============================================================ */
.gc-section--cream { background: var(--gc-champagne-pale); } /* alias used in screening-promo */

/* ============================================================
   SCREENING PROMO — fix class mismatches (PHP vs CSS)
   ============================================================ */
/* The PHP block uses __content (text) + __visual (image side) inside __inner grid */
.gc-screening-promo__content { /* left text column — inherits grid cell */ }

.gc-screening-promo__lead {
  font-size: 1rem;
  color: var(--gc-charcoal);
  line-height: 1.7;
  margin: .75rem 0 0;
}

.gc-check-list {
  list-style: none;
  padding: 0;
  margin: 1.25rem 0 0;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.gc-check-list li {
  display: flex;
  gap: .55rem;
  align-items: flex-start;
  font-size: .92rem;
  color: var(--gc-charcoal);
  line-height: 1.5;
}
.gc-check-list li::before {
  content: "✓";
  color: var(--gc-champagne-dark, #b8892a);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: .05em;
}

.gc-screening-promo__actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 2rem;
}

/* Visual (right) column */
.gc-screening-promo__visual { position: relative; }

.gc-screening-promo__badge-wrap {
  position: relative;
  border-radius: var(--gc-radius-lg, 20px);
  overflow: hidden;
}
.gc-screening-promo__badge-wrap img {
  width: 100%;
  display: block;
  border-radius: var(--gc-radius-lg, 20px);
}

/* Override old pill badge → card-style overlay */
.gc-screening-promo__badge {
  position: absolute;
  bottom: 20px;
  right: 20px;
  background: rgba(255, 250, 242, .94);
  color: var(--gc-navy-deep);
  padding: 14px 18px;
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(0,0,0,.2);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
  min-width: 120px;
  font-size: .8rem;
  font-weight: 600;
}
.gc-screening-promo__badge-icon {
  font-size: 1.8rem;
  display: block;
  margin-bottom: 2px;
}
.gc-screening-promo__badge strong {
  display: block;
  font-size: .88rem;
  color: var(--gc-navy-deep);
}
.gc-screening-promo__badge span {
  font-size: .76rem;
  color: var(--gc-gray);
}

/* ============================================================
   GOLD COAST CORE SERVICES — new section layout
   ============================================================ */
.gc-core-services { background: var(--gc-white); }

/* 2-col section header: titles left, desc right */
.gc-services-section-head {
  display: flex;
  align-items: flex-end;
  gap: 2.5rem;
  margin-bottom: 2.5rem;
}
.gc-services-section-head__titles { flex: 1; }
.gc-services-section-head__titles .gc-section-eyebrow { margin-bottom: .5rem; }
.gc-services-section-head__titles h2 {
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  color: var(--gc-navy-deep);
  margin: 0;
  line-height: 1.25;
}
.gc-services-section-head__desc {
  flex: 0 0 38%;
  max-width: 38%;
  font-size: .95rem;
  color: var(--gc-gray);
  line-height: 1.65;
  margin: 0;
  padding-bottom: .25rem;
}

/* Services layout: image panel left (.82fr) + card grid right (1.18fr) */
.gc-services-layout {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 30px;
  align-items: start;
}

/* Image panel */
.gc-services-layout__image {
  position: relative;
  border-radius: var(--gc-radius-lg, 20px);
  overflow: hidden;
  min-height: 420px;
  background: var(--gc-champagne-pale);
}
.gc-services-layout__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: absolute;
  inset: 0;
}
.gc-services-layout__image-placeholder {
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, #10315a 0%, #1a4a78 55%, #cda35e 100%);
  opacity: 1;
}
.gc-services-layout__caption {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 20px 22px;
  background: linear-gradient(0deg, rgba(6,26,50,.76) 0%, transparent 100%);
  color: #fff;
  font-size: .84rem;
  font-weight: 500;
  line-height: 1.5;
}
.gc-services-layout__caption strong {
  display: block;
  font-size: .9rem;
  font-weight: 700;
  margin-bottom: 2px;
}

/* 3 × 2 service card grid */
.gc-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-content: start;
}

/* Individual core service card */
.gc-core-service-card {
  background: var(--gc-white);
  border: 1px solid var(--gc-line, #e8e4dc);
  border-radius: var(--gc-radius, 16px);
  padding: 22px 20px 20px;
  box-shadow: 0 16px 40px rgba(3,22,44,.07);
  transition: box-shadow .22s, transform .22s;
}
.gc-core-service-card:hover {
  box-shadow: 0 24px 56px rgba(3,22,44,.13);
  transform: translateY(-3px);
}
.gc-core-service-card__icon {
  width: 54px;
  height: 54px;
  background: var(--gc-champagne, #cda35e);
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 800;
  color: var(--gc-navy-deep);
  letter-spacing: -.01em;
  margin-bottom: 14px;
  flex-shrink: 0;
}
.gc-core-service-card__kicker {
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--gc-champagne-dark, #b8892a);
  margin: 0 0 5px;
}
.gc-core-service-card h3 {
  font-size: .97rem;
  font-weight: 700;
  color: var(--gc-navy-deep);
  margin: 0 0 8px;
  line-height: 1.3;
}
.gc-core-service-card p {
  font-size: .84rem;
  color: var(--gc-gray);
  line-height: 1.6;
  margin: 0;
}

/* Responsive */
@media (max-width: 1024px) {
  .gc-services-section-head { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .gc-services-section-head__desc { flex: none; max-width: 100%; }
  .gc-services-layout { grid-template-columns: 1fr; }
  .gc-services-layout__image { min-height: 260px; }
  .gc-service-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 680px) {
  .gc-service-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 420px) {
  .gc-service-grid { grid-template-columns: 1fr; }
}
.gc-inquiry-form__trust li::before { color: var(--gc-champagne-dark); }

/* ====================================================================
   HOMEPAGE REBUILD — CSS matching mockup exactly (appended v1.0.3)
   All variables mirror the mockup :root tokens mapped to our theme.
   ==================================================================== */

/* -- Mockup tokens as local aliases -- */
:root {
  --mk-navy:   #061a32;
  --mk-navy2:  #0a2849;
  --mk-gold:   #cfa247;
  --mk-gold2:  #e7c66a;
  --mk-cream:  #fbf6ea;
  --mk-paper:  #fffdf7;
  --mk-ink:    #10223b;
  --mk-muted:  #637186;
  --mk-line:   rgba(207,162,71,.32);
  --mk-shadow: 0 24px 70px rgba(2,17,36,.22);
  --mk-radius: 26px;
}

/* -- Section background utilities matching mockup -- */
.gc-section--white-bg  { background: #fff; }
.gc-section--cream-bg  { background: var(--mk-cream); }
.gc-section--navy-bg   {
  background: linear-gradient(135deg, #061a32, #092845);
  color: #fff;
}

/* -- Section padding (all rewritten blocks use gc-container) -- */
.gc-jobs-section,
.gc-partners-section,
.gc-operator-section,
.gc-students-section,
.gc-programs-section {
  padding: 72px 0;
}

/* ── Section head 2-col (used in services, partners, operator, programs) ── */
.gc-section-head-2col {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  margin-bottom: 34px;
}
.gc-section-head-2col h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(36px, 4.4vw, 58px);
  line-height: .98;
  letter-spacing: -1.4px;
  margin: .3rem 0 0;
  color: var(--mk-navy);
}
.gc-section-head-2col > div { flex: 1; }
.gc-section-head-2col > p  {
  flex: 0 0 38%;
  max-width: 38%;
  font-size: 17px;
  color: var(--mk-muted);
  margin: 0;
  padding-bottom: .25rem;
}
@media (max-width: 860px) {
  .gc-section-head-2col { flex-direction: column; align-items: flex-start; }
  .gc-section-head-2col > p { flex: none; max-width: 100%; }
}

/* -- Gold accent inline (h2 span) -- */
.gc-accent-gold { color: var(--mk-gold2); display: block; line-height: 1.5}

/* ── Path cards (used in pathways + operator sections) ── */
.gc-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 20px;
}
.gc-path-card {
  background: var(--mk-paper);
  border: 1px solid var(--mk-line);
  border-radius: var(--mk-radius);
  padding: 26px;
  box-shadow: 0 16px 40px rgba(3,22,44,.08);
}
.gc-path-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: rgba(207,162,71,.14);
  display: grid;
  place-items: center;
  color: var(--mk-gold);
  font-size: 28px;
  margin-bottom: 18px;
  border: 1px solid rgba(207,162,71,.28);
}
.gc-path-card h3 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 22px;
  color: var(--mk-navy);
  margin: 0 0 8px;
}
.gc-path-card p {
  color: var(--mk-muted);
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
}
@media (max-width: 1050px) { .gc-grid-4 { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px)  { .gc-grid-4 { grid-template-columns: 1fr; } }

/* ── Feature card (used in partner list, student points) ── */
.gc-feature-card {
  background: var(--mk-paper);
  border: 1px solid var(--mk-line);
  border-radius: var(--mk-radius);
  padding: 22px;
  box-shadow: 0 16px 40px rgba(3,22,44,.08);
}
.gc-feature-card h3 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 18px;
  color: var(--mk-navy);
  margin: 0 0 8px;
}
.gc-feature-card h3 b { color: var(--mk-gold); font-style: normal; margin-right: 6px; }
.gc-feature-card p { color: var(--mk-muted); margin: 0; font-size: 14px; line-height: 1.6; }

/* ── PARTNERS SECTION ── */
.gc-partner-block {
  display: grid;
  grid-template-columns: 1fr .8fr;
  gap: 28px;
  align-items: stretch;
}
.gc-partner-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
/* (dark location-card override removed — using the light card defined earlier) */
@media (max-width: 1050px) {
  .gc-partner-block  { grid-template-columns: 1fr; }
  .gc-partner-list   { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) { .gc-partner-list { grid-template-columns: 1fr; } }

/* ── STUDENTS SECTION ── */
.gc-student-band {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 34px;
  align-items: center;
}
.gc-student-photo img {
  border-radius: 32px;
  box-shadow: var(--mk-shadow);
  border: 1px solid var(--mk-line);
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  min-height: 380px;
}
.gc-student-content h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(30px, 3.8vw, 52px);
  line-height: 1;
  letter-spacing: -1px;
  color: var(--mk-navy);
  margin: .5rem 0 .75rem;
}
.gc-student-content > p { color: var(--mk-muted); font-size: 16px; margin: 0 0 1.5rem; }
.gc-student-points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 1050px) { .gc-student-band { grid-template-columns: 1fr; } }
@media (max-width: 600px)  { .gc-student-points { grid-template-columns: 1fr; } }

/* ── PROGRAMS SECTION ── */
.gc-announcement {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: start;
}
.gc-announcement-card {
  background: #fff;
  border: 1px solid var(--mk-line);
  border-radius: 32px;
  padding: 34px;
  box-shadow: 0 18px 46px rgba(3,22,44,.1);
}
.gc-announcement-card h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(34px, 4vw, 60px);
  line-height: .96;
  letter-spacing: -1.4px;
  color: var(--mk-navy);
  margin: .5rem 0 .75rem;
}
.gc-announcement-card p { color: var(--mk-muted); font-size: 15px; }
.gc-gold-strip {
  display: flex;
  align-items: center;
  gap: 16px;
  background: linear-gradient(135deg, var(--mk-gold), var(--mk-gold2));
  color: #061a32;
  font-weight: 800;
  border-radius: 20px;
  padding: 14px 18px;
  margin: 18px 0;
  font-size: 14px;
  line-height: 1.4;
}
.gc-programs-col {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.gc-program-row-card {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: var(--mk-paper);
  border: 1px solid var(--mk-line);
  border-radius: 20px;
  padding: 18px 22px;
  box-shadow: 0 8px 24px rgba(3,22,44,.07);
}
.gc-program-num {
  min-width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--mk-navy);
  color: var(--mk-gold2);
  font-weight: 800;
  font-size: 13px;
  flex-shrink: 0;
}
.gc-program-row-card h3 {
  font-size: 16px;
  font-weight: 700;
  color: var(--mk-navy);
  margin: 0 0 2px;
}
.gc-program-tagline {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--mk-gold);
  font-weight: 700;
  margin: 0 0 6px;
}
.gc-program-row-card p:last-child {
  color: var(--mk-muted);
  font-size: 13px;
  margin: 0;
  line-height: 1.5;
}
@media (max-width: 1050px) { .gc-announcement { grid-template-columns: 1fr; } }

/* ── JOBS SECTION ── */
.gc-career-hero {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 30px;
  align-items: center;
  margin-bottom: 40px;
}
.gc-career-copy h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(44px, 6vw, 82px);
  line-height: .9;
  letter-spacing: -2px;
  margin: .5rem 0 .75rem;
  color: #fff;
}
.gc-career-lead {
  font-size: 20px;
  color: rgba(255,255,255,.9);
  margin: 0 0 12px;
}
.gc-career-copy > p:last-of-type { color: rgba(255,255,255,.75); font-size: 15px; }
.gc-career-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.gc-career-photo {
  border-radius: 34px;
  overflow: hidden;
  border: 1px solid rgba(231,198,106,.35);
  box-shadow: var(--mk-shadow);
}
.gc-career-photo img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
}

/* Jobs 2-col grid */
.gc-jobs-grid-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 34px;
}
.gc-job-card-dark {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(231,198,106,.32);
  border-radius: var(--mk-radius);
  padding: 24px 26px;
}
.gc-job-card-dark h3 {
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 19px;
  margin: 0 0 6px;
}
.gc-job-card-dark p {
  color: rgba(255,255,255,.72);
  font-size: 14px;
  margin: 0;
  line-height: 1.5;
}
.gc-job-card-dark a {
  flex: none;
  color: var(--mk-gold2);
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 800;
  white-space: nowrap;
  font-size: 14px;
  transition: opacity .2s;
}
.gc-job-card-dark a:hover { opacity: .85; }

/* Benefits row */
.gc-benefit-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 18px;
}
.gc-benefit {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(231,198,106,.28);
  border-radius: 22px;
  padding: 20px;
  font-size: 14px;
  color: rgba(255,255,255,.82);
  line-height: 1.5;
}
.gc-benefit strong {
  color: var(--mk-gold2);
  display: block;
  margin-bottom: 6px;
  font-size: 15px;
}

/* Outline-white button (used in jobs section) */
.gc-btn--outline-white {
  color: #fff;
  border: 1.5px solid rgba(231,198,106,.58);
  background: transparent;
  border-radius: 999px;
  padding: 13px 22px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  transition: .2s;
}
.gc-btn--outline-white:hover {
  background: rgba(255,255,255,.08);
  color: var(--mk-gold2);
}

@media (max-width: 1050px) {
  .gc-career-hero      { grid-template-columns: 1fr; }
  .gc-jobs-grid-2col   { grid-template-columns: 1fr; }
  .gc-benefit-row      { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 600px) {
  .gc-benefit-row { grid-template-columns: 1fr; }
}

/* ====================================================================
   HOMEPAGE FIX PASS v1.0.4
   - Hero: navy gradient bg matching mockup, white text
   - Pathways: desc alias for sub
   - Services: cream bg
   ==================================================================== */

/* Hero — override to navy gradient (mockup style) */
.gc-hero {
  background: linear-gradient(135deg, #061a32 0%, #0a2849 60%, #10315a 100%) !important;
  overflow: hidden;
}
.gc-hero__left {
  padding: 80px 56px 80px 0;
}
.gc-hero__eyebrow {
  color: var(--mk-gold2) !important;
}
.gc-hero__heading {
  font-size: clamp(2rem, 5vw, 4rem) !important;
  line-height: 1 !important;
  letter-spacing: -2px !important;
  color: #fff !important;
}
.gc-hero__heading .accent {
  color: var(--mk-gold2) !important;
  display: block;
}

.gc-hero__desc {
  color: rgba(255,255,255,.75) !important;
}
/* Cards on hero — dark glass style */
.gc-hero__cards {
  gap: 12px;
  margin-top: .5rem;
}
.gc-hero__card {
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(231,198,106,.34) !important;
  border-radius: 18px !important;
  color: #fff;
}
.gc-hero__card-icon { font-size: 1rem !important; }
.gc-hero__card-title { color: var(--mk-gold2) !important; font-size: .8rem !important; }
.gc-hero__card-text  { color: rgba(255,255,255,.7) !important; }

/* Primary CTA button overrides for dark hero bg */
.gc-hero__ctas .gc-btn--primary {
  background: var(--mk-gold) !important;
  color: #061a32 !important;
  border: none !important;
}
.gc-hero__ctas .gc-btn--secondary {
  color: #fff !important;
  border-color: rgba(255,255,255,.45) !important;
  background: transparent !important;
}
.gc-hero__ctas .gc-btn--secondary:hover {
  background: rgba(255,255,255,.1) !important;
}
.gc-hero__ctas .gc-btn--ghost {
  color: var(--mk-gold2) !important;
  text-decoration: underline;
  background: transparent !important;
  border: none !important;
  
}

/* Pathway card desc alias (PHP uses __desc, CSS had __sub) */
.gc-pathway-card__desc {
  font-size: .88rem;
  line-height: 1.6;
  color: inherit;
  opacity: .82;
  margin: .4rem 0 0;
}
.gc-pathway-card--navy  .gc-pathway-card__desc { color: rgba(255,255,255,.75); opacity: 1; }
.gc-pathway-card--gold  .gc-pathway-card__desc { color: var(--gc-gray); }
.gc-pathway-card--teal  .gc-pathway-card__desc { color: var(--gc-gray); }
.gc-pathway-card--cream .gc-pathway-card__desc { color: var(--gc-gray); }

/* Services section — cream bg matching mockup section 3 */
.gc-core-services {
  background: var(--mk-cream) !important;
}
.gc-services-section-head h2 {
  color: var(--mk-navy) !important;
}
.gc-services-section-head__desc {
  color: var(--mk-muted) !important;
}
/* Service card updated for cream bg section */
.gc-core-service-card {
  background: #fff !important;
  border: 1px solid var(--mk-line) !important;
}
.gc-core-service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px rgba(3,22,44,.12) !important;
}
.gc-core-service-card__icon {
  background: rgba(207,162,71,.12) !important;
  border: 1px solid rgba(207,162,71,.3) !important;
  color: var(--mk-gold) !important;
}
.gc-core-service-card h3 { color: var(--mk-navy) !important; }
.gc-core-service-card p  { color: var(--mk-muted) !important; }
.gc-core-service-card__kicker { color: var(--mk-gold) !important; }

/* Pathways section bg fix */
.gc-pathways {
  background: #fff !important;
}

/* ── Jobs section navy background ── */
.gc-jobs-section {
  background: linear-gradient(135deg, #061a32 0%, #092845 60%, #0d3660 100%);
  color: #fff;
}
/* eyebrow inside navy sections */
.gc-jobs-section .eyebrow {
  color: var(--mk-gold2) !important;
}

/* ── Outline-dark button (used on cream/white sections) ── */
.gc-btn--outline-dark {
  background: transparent;
  color: var(--mk-navy);
  border: 1.5px solid rgba(6,26,50,.42);
  border-radius: 999px;
  padding: 11px 20px;
  font-weight: 700;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  transition: .2s;
}
.gc-btn--outline-dark:hover {
  background: var(--mk-navy);
  color: #fff;
}

/* Career photo placeholder when no featured image set */
.gc-career-photo:not(:has(img)) {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(231,198,106,.3);
  min-height: 360px;
  display: grid;
  place-items: center;
}

/* Section head 2-col — h2 color for white/cream sections */
.gc-section--white-bg .gc-section-head-2col h2,
.gc-section--cream-bg .gc-section-head-2col h2 {
  color: var(--mk-navy);
}

/* gc-section padding (overrides old .gc-section if needed) */
.gc-programs-section { padding: 80px 0; }
.gc-partners-section { padding: 80px 0; }
.gc-operator-section { padding: 80px 0; }
.gc-students-section { padding: 80px 0; }

/* ====================================================================
   MOCKUP EXACT MATCH — v1.0.5
   Every value comes from gold_coast_physio_website_partner_focused.html
   These rules sit last and override everything above via cascade.
   ==================================================================== */

/* ── Body & base typography matching mockup exactly ── */
body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  background: #fffaf2 !important;
  color: #10223b !important;
  line-height: 1.55 !important;
}

/* ── Headings: Georgia serif, tight tracking ── */
h1, h2, h3, h4,
.gc-hero__heading,
.gc-section-head-2col h2,
.gc-services-section-head__titles h2,
.gc-announcement-card h2,
.gc-career-copy h2,
.gc-student-content h2,
.gc-path-card h3,
.gc-feature-card h3,
.gc-core-service-card h3,
.gc-program-row-card h3 {
  font-family: Georgia, 'Times New Roman', serif !important;
  /*letter-spacing: -1.4px !important;*/
}

/* ── Eyebrow / labels — weight 950 ── */
.gc-section-eyebrow,
.eyebrow,
.gc-core-service-card__kicker,
.gc-pathway-card__label,
.gc-program-tagline {
  font-weight: 950 !important;
  letter-spacing: 2.7px !important;
  font-size: 13px !important;
  color: var(--mk-gold2) !important;
}

/* ── Buttons — exactly matching mockup .btn classes ── */
.gc-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  padding: 13px 22px !important;
  font-weight: 950 !important;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
  border: 1px solid transparent !important;
  transition: .2s ease !important;
  cursor: pointer !important;
  font-size: 15px !important;
  text-decoration: none !important;
  line-height: 1 !important;
}
.gc-btn:hover { transform: translateY(-2px) !important; }

/* Gold gradient button — mockup .btn.gold */
.gc-btn--gold,
.gc-btn--primary {
  background: linear-gradient(135deg, #cfa247, #e7c66a) !important;
  color: #061a32 !important;
  border-color: transparent !important;
  box-shadow: 0 14px 28px rgba(207,162,71,.3) !important;
}
.gc-btn--gold:hover,
.gc-btn--primary:hover {
  background: linear-gradient(135deg, #e7c66a, #cfa247) !important;
  color: #061a32 !important;
  box-shadow: 0 18px 34px rgba(207,162,71,.4) !important;
}

/* Navy button — mockup .btn.navy */
.gc-btn--navy,
.gc-btn--secondary {
  background: #061a32 !important;
  color: #fff !important;
  border-color: rgba(231,198,106,.4) !important;
}

/* Outline button — mockup .btn.outline */
.gc-btn--outline,
.gc-btn--outline-white,
.gc-btn--ghost {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(231,198,106,.58) !important;
}
.gc-btn--outline:hover,
.gc-btn--outline-white:hover { background: rgba(255,255,255,.08) !important; }

/* Outline dark (on light sections) */
.gc-btn--outline-dark {
  background: transparent !important;
  color: #061a32 !important;
  border: 1.5px solid rgba(6,26,50,.35) !important;
}
.gc-btn--outline-dark:hover { background: #061a32 !important; color: #fff !important; }

/* ── Hero — exact mockup gradient & dimensions ── */
.gc-hero {
  background: radial-gradient(circle at 82% 12%, rgba(231,198,106,.16), transparent 30%),
              linear-gradient(120deg, #061a32 0%, #082747 62%, #071d35 100%) !important;
  color: #fff !important;
}
.gc-hero__inner {
  display: grid !important;
  grid-template-columns: 1.05fr .95fr !important;
  gap: 46px !important;
  align-items: center !important;
  min-height: 680px !important;
  padding: 74px 0 !important;
  max-width: none !important;
  margin: 0 !important;
}
.gc-hero__left {
  flex: none !important;
  max-width: none !important;
  padding: 0 !important;
}
.gc-hero__heading {
  font-size: clamp(2rem, 5vw, 4rem) !important;
  line-height: .9 !important;
  margin: 0 0 22px !important;
  letter-spacing: -1.4px !important;
  color: #fff !important;
}
.gc-hero__heading .accent {
  color: var(--mk-gold2) !important;
  display: block !important;
}
.gc-hero__sub {
  font-size: 23px !important;
  max-width: 680px !important;
  margin: 0 0 18px !important;
}
.gc-hero__desc {
  color: rgba(255,255,255,.78) !important;
  font-size: 17px !important;
  max-width: 670px !important;
}
.gc-hero__ctas { margin: 30px 0 32px !important; gap: 14px !important; }

/* Hero badges — exactly matching .hero-badges in mockup */
.gc-hero__cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 12px !important;
  max-width: 750px !important;
  flex-wrap: unset !important;
}
.gc-hero__card {
  border: 1px solid rgba(231,198,106,.34) !important;
  border-radius: 18px !important;
  padding: 16px !important;
  background: rgba(255,255,255,.06) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1) !important;
  display: block !important;
}
.gc-hero__card-icon { display: none !important; } /* mockup badge uses b tag for big title */
.gc-hero__card-title {
  color: var(--mk-gold2) !important;
  display: block !important;
  font-size: 20px !important;
  font-weight: 950 !important;
  margin-bottom: 4px !important;
}
.gc-hero__card-text {
  color: rgba(255,255,255,.75) !important;
  font-size: 13px !important;
  display: block !important;
}

/* Hero right photo — exact mockup .hero-photo */
.gc-hero__right {
  min-height: 500px !important;
  border-radius: 36px !important;
  border: 1px solid rgba(231,198,106,.42) !important;
  box-shadow: 0 24px 70px rgba(2,17,36,.22) !important;
  background: linear-gradient(135deg, #0a2849, #10315a) !important; /* shown only if no image */
  position: relative !important;
  overflow: hidden !important;
}
.gc-hero__right img,
.gc-hero__right video {
  width: 100% !important;
  height: 100% !important;
  min-height: 500px !important;
  object-fit: cover !important;
  position: absolute !important;
  inset: 0 !important;
}

/* ── Section padding — mockup uses 72px 5vw not fixed containers ── */
.gc-hero .gc-container,
.gc-hero > .gc-container {
  padding-left: 5vw !important;
  padding-right: 5vw !important;
  max-width: none !important;
}
section.gc-section,
.gc-pathways,
.gc-core-services,
.gc-programs-section,
.gc-partners-section,
.gc-operator-section,
.gc-students-section,
.gc-jobs-section {
  padding: 72px 5vw !important;
}
section.gc-section .gc-container,
.gc-pathways .gc-container,
.gc-core-services .gc-container,
.gc-programs-section .gc-container,
.gc-partners-section .gc-container,
.gc-operator-section .gc-container,
.gc-students-section .gc-container,
.gc-jobs-section .gc-container {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

/* ── Section head h2 — exact mockup size ── */
.gc-section-head-2col h2,
.gc-services-section-head__titles h2 {
  font-size: clamp(36px, 4.4vw, 62px) !important;
  line-height: .98 !important;
  margin: 0 !important;
}

/* ── Path / feature cards — exact mockup .path-card ── */
.gc-path-card {
  background: #fff !important;
  border: 1px solid rgba(207,162,71,.32) !important;
  border-radius: 26px !important;
  padding: 26px !important;
  box-shadow: 0 16px 40px rgba(3,22,44,.08) !important;
}
.gc-path-card h3 {
  font-size: 24px !important;
  color: #061a32 !important;
  margin: 0 0 8px !important;
}
.gc-path-card p { color: #637186 !important; margin: 0 !important; }
.gc-path-icon {
  width: 58px !important;
  height: 58px !important;
  border-radius: 18px !important;
  background: rgba(207,162,71,.14) !important;
  font-size: 30px !important;
  border: 1px solid rgba(207,162,71,.28) !important;
  margin-bottom: 18px !important;
}

/* ── Service cards — mockup .service-card ── */
.gc-core-service-card {
  background: #fff !important;
  border: 1px solid rgba(207,162,71,.32) !important;
  border-radius: 26px !important;
  padding: 26px !important;
  box-shadow: 0 16px 40px rgba(3,22,44,.08) !important;
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
}
.gc-core-service-card h3 { font-size: 22px !important; color: #061a32 !important; }
.gc-core-service-card p  { color: #637186 !important; }
.gc-core-service-card__icon {
  font-size: 18px !important;
  font-weight: 950 !important;
}

/* ── Announcement card h2 ── */
.gc-announcement-card h2 {
  font-size: clamp(40px, 4.4vw, 70px) !important;
  line-height: .96 !important;
  color: #061a32 !important;
  margin: 0 0 18px !important;
}

/* ── Programs: 3-col in mockup ── */
.gc-programs-col {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 18px !important;
  margin-top: 24px !important;
}
.gc-program-row-card {
  display: flex !important;
  gap: 16px !important;
  align-items: flex-start !important;
  background: #fff !important;
  padding: 20px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(207,162,71,.32) !important;
  box-shadow: 0 16px 40px rgba(3,22,44,.08) !important;
}
.gc-program-num {
  min-width: 42px !important;
  height: 42px !important;
  font-weight: 950 !important;
  font-size: 13px !important;
}

/* ── Gold strip (announcement) ── */
.gc-gold-strip {
  font-weight: 950 !important;
  border-radius: 20px !important;
  padding: 16px 18px !important;
  margin: 22px 0 !important;
}

/* ── Jobs section — exact mockup ── */
.gc-career-copy h2 {
  font-size: clamp(46px, 6vw, 86px) !important;
  line-height: .9 !important;
  margin: 0 0 20px !important;
}
.gc-career-photo img {
  height: 520px !important;
  object-fit: cover !important;
}
.gc-job-card-dark h3 { font-size: 21px !important; }
.gc-job-card-dark a  { font-weight: 950 !important; }
.gc-benefit strong   { font-size: 14px !important; font-weight: 950 !important; }

/* ── Feature cards (partner list, student points) ── */
.gc-feature-card {
  background: #fff !important;
  border: 1px solid rgba(207,162,71,.32) !important;
  border-radius: 26px !important;
  padding: 22px !important;
  box-shadow: 0 16px 40px rgba(3,22,44,.08) !important;
}
.gc-feature-card h3 { font-size: 20px !important; color: #061a32 !important; }
.gc-feature-card h3 b { color: var(--mk-gold) !important; }
.gc-feature-card p   { color: #637186 !important; }

/* ── Pathway cards — weight 950 labels ── */
.gc-pathway-card__label { font-weight: 950 !important; }
.gc-pathway-card__title { font-size: 22px !important; font-weight: 700 !important; }
.gc-pathway-card__cta   { font-weight: 950 !important; margin-top: auto !important; display: block !important; padding-top: 16px !important; }

/* ── Inner page breadcrumb ── */
.gc-breadcrumb {
  
  padding: 10px 5vw;
  font-size: 13px;
  color: #637186;
  border-bottom: 1px solid rgba(207,162,71,.18);
}
.gc-breadcrumb a { color: #061a32; font-weight: 700; }
.gc-breadcrumb a:hover { color: var(--mk-gold); }
.gc-breadcrumb .sep { margin: 0 6px; color: rgba(207,162,71,.6); }
.gc-breadcrumb .current { color: #637186; }

/* ── Service detail page inner sections ── */
.gc-service-detail { padding: 72px 5vw; }
.gc-service-detail .gc-container { max-width: none; padding: 0; }
.gc-service-detail__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.gc-service-detail__text h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(32px, 3.8vw, 52px);
  line-height: 1;
  letter-spacing: -1px;
  color: #061a32;
  margin: .5rem 0 1rem;
}
.gc-service-detail__text p { color: #637186; font-size: 16px; }
.gc-check-list {
  list-style: none;
  padding: 0;
  margin: 1.25rem 0 0;
  display: grid;
  gap: 10px;
}
.gc-service-detail ul li, .gc-service-detail__text ul li {
	color: var(--navy-800);
}
.gc-check-list li {
  padding-left: 1.6rem;
  position: relative;
  color: #10223b;
  font-size: 15px;
}
.gc-check-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--mk-gold);
  font-weight: 950;
}
.gc-service-detail__image img {
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(3,22,44,.14);
  width: 100%;
  object-fit: cover;
}
.gc-how-it-works { background: var(--mk-cream); padding: 72px 5vw; }
.gc-how-it-works .gc-container { max-width: none; padding: 0; }
.gc-how-it-works h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(28px,3vw,44px);
  color: #061a32;
  margin: .5rem 0 2rem;
}
.gc-steps-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 20px;
}
.gc-step-card {
  background: #fff;
  border: 1px solid rgba(207,162,71,.32);
  border-radius: 26px;
  padding: 26px;
  box-shadow: 0 16px 40px rgba(3,22,44,.08);
}
.gc-step-card__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #061a32;
  color: var(--mk-gold2);
  font-weight: 950;
  font-size: 14px;
  margin-bottom: 16px;
}
.gc-step-card h3 { font-size: 18px; color: #061a32; margin: 0 0 8px; }
.gc-step-card p  { color: #637186; font-size: 14px; margin: 0; }

/* ── Responsive: 1050px breakpoint matching mockup exactly ── */
@media (max-width: 1050px) {
  .gc-hero__inner          { grid-template-columns: 1fr !important; }
  .gc-hero__right          { min-height: 360px !important; border-radius: 24px !important; }
  .gc-hero__right img,
  .gc-hero__right video    { min-height: 360px !important; }
  .gc-services-layout,
  .gc-announcement,
  .gc-student-band,
  .gc-career-hero,
  .gc-partner-block        { grid-template-columns: 1fr !important; }
  .gc-grid-4,
  .gc-benefit-row          { grid-template-columns: repeat(2,1fr) !important; }
  .gc-service-grid,
  .gc-programs-col         { grid-template-columns: 1fr 1fr !important; }
  .gc-steps-grid           { grid-template-columns: 1fr 1fr; }
  .gc-service-detail__inner { grid-template-columns: 1fr; }
}

/* ── 700px breakpoint ── */
@media (max-width: 700px) {
  .gc-hero__cards         { grid-template-columns: 1fr !important; }
  .gc-grid-4,
  .gc-benefit-row,
  .gc-service-grid,
  .gc-programs-col,
  .gc-student-points,
  .gc-partner-list,
  .gc-steps-grid          { grid-template-columns: 1fr !important; }
  section.gc-section,
  .gc-pathways,
  .gc-core-services,
  .gc-programs-section,
  .gc-partners-section,
  .gc-operator-section,
  .gc-students-section,
  .gc-jobs-section,
  .gc-service-detail,
  .gc-how-it-works        { padding: 54px 5vw !important; }
  .gc-career-copy h2      { font-size: 52px !important; }
  .gc-career-photo img    { height: 360px !important; }
  .gc-section-head-2col   { display: block !important; }
}

/* ====================================================================
   v1.0.6 — REGRESSION FIXES
   1. Double header button (gc-btn display:inline-flex !important beat display:none)
   2. Hero right portrait (align-self:stretch never overridden)
   3. Program tagline overflow in 3-col grid
   ==================================================================== */

/* ── FIX 1: double "Partner With Us" — beat the .gc-btn !important ── */
.gc-mobile-cta               { display: none !important; }
@media (max-width: 1280px) {
  .gc-mobile-cta             { display: flex !important; }
  .gc-header-cta             { display: none !important; }
  /* mobile toggle visible */
  .gc-mobile-toggle          { display: flex !important; }
}

/* ── FIX 2: hero right panel — prevent portrait, match mockup proportions ── */
.gc-hero__right {
  /* Remove the old align-self:stretch behaviour so height = natural min-height */
  align-self: center !important;
  /* Cap height so it can't grow taller than ~600px even with tall left col */
  max-height: 600px !important;
  min-height: 500px !important;
  /* Width fills the grid column — nothing extra needed here */
}
/* Ensure images / video still fill the (now bounded) right box */
.gc-hero__right img,
.gc-hero__right video,
.gc-hero__media {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* ── FIX 2b: Hero secondary CTA invisible on dark bg — use outline style ── */
.gc-hero__ctas .gc-btn--secondary,
.gc-hero__ctas .gc-btn--navy {
  background: transparent !important;
  color: #fff !important;
  border: 1.5px solid rgba(231,198,106,.55) !important;
  box-shadow: none !important;
}
.gc-hero__ctas .gc-btn--secondary:hover,
.gc-hero__ctas .gc-btn--navy:hover {
  background: rgba(255,255,255,.1) !important;
  color: var(--mk-gold2) !important;
}

/* ── FIX 3: program tagline overflow in 3-col cards ── */
.gc-program-row-card {
  overflow: hidden !important;
}
/* Inside the program card (3-col context), tagline needs smaller treatment */
.gc-programs-col .gc-program-tagline {
  font-size: 10px !important;
  letter-spacing: 1.2px !important;
  word-break: break-word !important;
  hyphens: auto !important;
  line-height: 1.4 !important;
  margin-bottom: 6px !important;
}
.gc-programs-col .gc-program-row-card h3 {
  font-size: 14px !important;
  line-height: 1.3 !important;
  margin-bottom: 4px !important;
}
.gc-programs-col .gc-program-row-card p:last-child {
  font-size: 12px !important;
  line-height: 1.5 !important;
}
/* Limit the number circle size in 3-col */
.gc-programs-col .gc-program-num {
  min-width: 34px !important;
  height: 34px !important;
  font-size: 11px !important;
}

/* ── FIX 4: hero badge cards layout match mockup exactly ── */
.gc-hero__cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 12px !important;
  flex-wrap: unset !important;
  width: 100% !important;
  max-width: none !important;
}
.gc-hero__card {
  display: block !important;
  width: auto !important;
}

/* ── FIX 5: services-layout image placeholder — brand gradient not dark void ── */
.gc-services-layout__image-placeholder {
  background: linear-gradient(145deg, #061a32 0%, #0d3660 55%, #cda35e 100%) !important;
  opacity: 1 !important;
  border-radius: 34px !important;
  min-height: 420px !important;
}
.gc-services-layout__image {
  position: relative !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  min-height: 420px !important;
}
.gc-services-layout__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 34px !important;
}

/* ── FIX 6: gc-section padding (guarantee fluid 5vw, not fixed container) ── */
.gc-programs-section,
.gc-partners-section,
.gc-operator-section,
.gc-students-section,
.gc-jobs-section,
.gc-core-services {
  box-sizing: border-box !important;
}

/* ── v1.0.6b: remove max-width constraint on hero right column ── */
.gc-hero__right {
  max-width: none !important;
  width: 100% !important;
}

/* ====================================================================
   v1.0.7 — Homepage 9-fix batch
   ==================================================================== */

/* ── Fix 1: Hero CTA buttons — button 2 & 3 visible on dark navy bg ── */
.gc-hero .gc-btn--outline-dark {
  background: transparent !important;
  color: #fff !important;
  border: 1.5px solid rgba(207,162,71,.6) !important;
  box-shadow: none !important;
}
.gc-hero .gc-btn--outline-dark:hover {
  background: rgba(207,162,71,.15) !important;
  border-color: var(--gc-gold, #cfa247) !important;
}
.gc-hero .gc-btn--ghost {
  background: transparent !important;
  color: rgba(255,255,255,.82) !important;
  border: 2px solid rgba(255,255,255,.32) !important;
  /* inherit padding + font-size from .gc-btn so size matches CTA1 and CTA2 */
}
.gc-hero .gc-btn--ghost:hover {
  color: #fff !important;
  border-color: rgba(255,255,255,.65) !important;
  background: rgba(255,255,255,.08) !important;
}
.gc-hero__ctas {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  margin-top: 2rem !important;
  margin-bottom: 1.75rem !important;
}

/* ── Fix 2: Hero info cards — 3 badge cards below CTAs ── */
.gc-hero__cards {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: .5rem !important;
}
.gc-hero__card {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(207,162,71,.28) !important;
  border-radius: 12px !important;
  padding: 10px 16px !important;
  min-width: 160px !important;
  flex: 1 1 160px !important;
}
.gc-hero__card strong {
  display: block !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  color: var(--gc-gold, #cfa247) !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}
.gc-hero__card span {
  display: block !important;
  font-size: .72rem !important;
  color: rgba(255,255,255,.65) !important;
  line-height: 1.3 !important;
  margin-top: 2px !important;
}
.gc-hero__card-icon {
  font-size: 1.1rem !important;
  flex-shrink: 0 !important;
}

/* ── Fix 3: Pathways — "Choose your pathway" mockup style ── */
.gc-pathways {
  background: #fff !important;
  padding: 72px 5vw !important;
}
.gc-pathways .gc-section-header--center {
  text-align: center !important;
  margin-bottom: 48px !important;
}
.gc-pathways .gc-section-eyebrow {
  color: var(--gc-gold, #cfa247) !important;
}
.gc-pathways__grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
}
@media (max-width: 1024px) { .gc-pathways__grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 640px)  { .gc-pathways__grid { grid-template-columns: 1fr !important; } }

.gc-pathway-card {
  display: flex !important;
  flex-direction: column !important;
  padding: 32px 28px !important;
  border-radius: 20px !important;
  border: 1.5px solid rgba(6,26,50,.1) !important;
  background: #fff !important;
  text-decoration: none !important;
  transition: transform .2s, box-shadow .2s !important;
}
.gc-pathway-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 40px rgba(6,26,50,.12) !important;
}
.gc-pathway-card--navy  { background: #061a32 !important; color: #fff !important; border-color: #061a32 !important; }
.gc-pathway-card--gold  { background: #cfa247 !important; color: #fff !important; border-color: #cfa247 !important; }
.gc-pathway-card--teal  { background: #0d7a7a !important; color: #fff !important; border-color: #0d7a7a !important; }
.gc-pathway-card--cream { background: #fbf6ea !important; color: #061a32 !important; border-color: rgba(6,26,50,.1) !important; }

.gc-pathway-card__icon {
  font-size: 2rem !important;
  margin-bottom: 16px !important;
  display: block !important;
}
.gc-pathway-card__label {
  font-size: .68rem !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  opacity: .65 !important;
  margin: 0 0 8px !important;
}
.gc-pathway-card__title {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin: 0 0 12px !important;
}
.gc-pathway-card__desc {
  font-size: .85rem !important;
  line-height: 1.6 !important;
  opacity: .8 !important;
  flex: 1 !important;
  margin: 0 0 20px !important;
}
.gc-pathway-card__cta {
  font-size: .8rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-bottom: 1.5px solid currentColor !important;
  padding-bottom: 2px !important;
  align-self: flex-start !important;
  opacity: .9 !important;
}

/* ── Fix 5: Programs section — add heading block above programs grid ── */
.gc-programs-header {
  margin-bottom: 36px !important;
}
.gc-programs-header .eyebrow,
.gc-programs-header .gc-section-eyebrow {
  color: var(--gc-gold, #cfa247) !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  font-size: .72rem !important;
  display: block !important;
  margin-bottom: 10px !important;
}
.gc-programs-header h2 {
  font-size: clamp(1.5rem, 3vw, 2.2rem) !important;
  font-weight: 900 !important;
  color: #061a32 !important;
  max-width: 600px !important;
  line-height: 1.2 !important;
}

/* Programs section 2-col: announcement left, image+programs right */
.gc-announcement {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: stretch !important; /* both columns match the card height */
}
.gc-announcement-image {
  position: relative !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  min-height: 300px !important;
  background: linear-gradient(135deg,#061a32,#10315a) !important;
  display: flex !important;
  align-items: center !important;    /* vertically centre the image */
  justify-content: center !important;
}
.gc-announcement-image img {
  width: 100% !important;
  height: auto !important;           /* natural aspect ratio */
  max-height: 100% !important;       /* never overflow the container */
  object-fit: contain !important;    /* show full image, no cropping */
  display: block !important;
}
@media (max-width: 768px) {
  .gc-announcement { grid-template-columns: 1fr !important; }
}

/* ── Fix 8: Jobs Apply button links ── */
.gc-job-apply-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* ── Fix 9: Partner • Refer • Apply contact section ── */
.gc-contact-section {
  background: #fff !important;
  padding: 80px 5vw !important;
}
.gc-contact-wrap {
  display: grid !important;
  grid-template-columns: 1.1fr .9fr !important;
  gap: 48px !important;
  align-items: start !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}
@media (max-width: 768px) { .gc-contact-wrap { grid-template-columns: 1fr !important; } }

.gc-contact-card {
  padding: 44px 40px !important;
  border-radius: 24px !important;
}
.gc-contact-card--dark {
  background: #061a32 !important;
  color: #fff !important;
}
.gc-contact-card--light {
  background: #fbf6ea !important;
  color: #061a32 !important;
  border: 1.5px solid rgba(207,162,71,.28) !important;
}
.gc-contact-card .gc-section-eyebrow {
  color: #cfa247 !important;
  margin-bottom: 18px !important;
}
.gc-contact-card--dark h2 {
  color: #fff !important;
  font-size: clamp(1.4rem,3vw,2rem) !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  margin-bottom: 16px !important;
}
.gc-contact-card--dark p {
  color: rgba(255,255,255,.75) !important;
  line-height: 1.7 !important;
  margin-bottom: 24px !important;
}
.gc-email-box {
  display: inline-block !important;
  background: rgba(207,162,71,.15) !important;
  border: 1px solid rgba(207,162,71,.4) !important;
  color: #cfa247 !important;
  padding: 10px 20px !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  font-size: .9rem !important;
  letter-spacing: .02em !important;
}
.gc-contact-card--light h3 {
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  margin-bottom: 20px !important;
  color: #061a32 !important;
}
.gc-inquiry-form label {
  display: block !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  margin-bottom: 6px !important;
  color: #061a32 !important;
}
.gc-inquiry-form select,
.gc-inquiry-form input[type="text"],
.gc-inquiry-form input[type="email"],
.gc-inquiry-form textarea {
  width: 100% !important;
  padding: 11px 14px !important;
  border: 1.5px solid rgba(6,26,50,.15) !important;
  border-radius: 10px !important;
  font-size: .9rem !important;
  font-family: inherit !important;
  background: #fff !important;
  color: #061a32 !important;
  margin-bottom: 16px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.gc-inquiry-form select:focus,
.gc-inquiry-form input:focus,
.gc-inquiry-form textarea:focus {
  outline: none !important;
  border-color: #cfa247 !important;
  box-shadow: 0 0 0 3px rgba(207,162,71,.18) !important;
}
.gc-inquiry-form .gc-btn {
  width: 100% !important;
  justify-content: center !important;
  margin-top: 4px !important;
}

/* ============================================================
   v1.0.8 — 7-FIX BATCH: pathway cards, services image,
   programs header, contact section (matches HTML mockup)
   ============================================================ */

/* ── FIX 1: Pathway cards — ALL same white/paper card (mockup: no colour variants) ── */
.gc-pathway-card--navy,
.gc-pathway-card--gold,
.gc-pathway-card--teal,
.gc-pathway-card--cream {
  background : #fffdf7 !important;
  color      : #10223b !important;
  border     : 1px solid rgba(207,162,71,.32) !important;
  box-shadow : 0 16px 40px rgba(3,22,44,.08) !important;
}
/* Icon container — gold-tinted square (matches mockup .icon) */
.gc-pathway-card__icon {
  width         : 58px !important;
  height        : 58px !important;
  border-radius : 18px !important;
  background    : rgba(207,162,71,.14) !important;
  border        : 1px solid rgba(207,162,71,.28) !important;
  color         : #cfa247 !important;
  display       : grid !important;
  place-items   : center !important;
  font-size     : 30px !important;
  margin-bottom : 18px !important;
}
/* Text colours — all dark (mockup: h3 navy, p muted, link navy) */
.gc-pathway-card--navy .gc-pathway-card__label,
.gc-pathway-card--gold .gc-pathway-card__label,
.gc-pathway-card--teal .gc-pathway-card__label,
.gc-pathway-card--cream .gc-pathway-card__label { color: #cfa247 !important; opacity: 1 !important; }

.gc-pathway-card--navy .gc-pathway-card__title,
.gc-pathway-card--gold .gc-pathway-card__title,
.gc-pathway-card--teal .gc-pathway-card__title,
.gc-pathway-card--cream .gc-pathway-card__title { color: #061a32 !important; font-size: 24px !important; }

.gc-pathway-card--navy .gc-pathway-card__desc,
.gc-pathway-card--gold .gc-pathway-card__desc,
.gc-pathway-card--teal .gc-pathway-card__desc,
.gc-pathway-card--cream .gc-pathway-card__desc { color: #637186 !important; opacity: 1 !important; }

.gc-pathway-card--navy .gc-pathway-card__cta,
.gc-pathway-card--gold .gc-pathway-card__cta,
.gc-pathway-card--teal .gc-pathway-card__cta,
.gc-pathway-card--cream .gc-pathway-card__cta { color: #061a32 !important; border-bottom-color: rgba(6,26,50,.3) !important; opacity: 1 !important; }

/* ── FIX 2: Inner page heroes not updated — check upload; no code fix needed ── */
/* (server-side: ensure all 5 page-{slug}.php files are uploaded) */

/* ── FIX 3: Services section image — stretch to full grid height (mockup: align-items:stretch) ── */
.gc-services-layout {
  align-items : stretch !important;
}
.gc-services-layout__image {
  min-height  : 100% !important;
  height      : 100% !important;
}
.gc-services-layout__image img {
  height      : 100% !important;
  min-height  : 480px !important;
  object-fit  : cover !important;
}

/* ── FIX 4: Programs header — centred, full mockup font sizes ── */
.gc-programs-header {
  text-align  : center !important;
  max-width   : 980px !important;
  margin      : 64px auto 36px !important;
}
.gc-programs-header .gc-section-eyebrow {
  font-size     : 13px !important;
  letter-spacing: 2.7px !important;
  display       : block !important;
  margin-bottom : 14px !important;
}
.gc-programs-header h2 {
  font-size  : clamp(36px, 4.4vw, 62px) !important;
  max-width  : none !important;
  text-align : center !important;
}

/* ── FIX 5 + 6 + 7: Contact section — matches mockup (white section, both cards paper bg) ── */

/* Outer section: white background, standard section padding */
.gc-contact-section {
  background : #fff !important;
  padding    : 80px 5vw !important;
}

/* Grid: 1fr .8fr — wider left card (matches mockup .contact-wrap) */
.gc-contact-wrap {
  grid-template-columns : 1fr .8fr !important;
  gap                   : 28px !important;
  max-width             : 1100px !important;
}

/* BOTH cards: paper background, gold border — NOT dark navy (mockup) */
.gc-contact-card--dark,
.gc-contact-card--light {
  background    : #fffdf7 !important;
  color         : #10223b !important;
  border        : 1px solid rgba(207,162,71,.32) !important;
  box-shadow    : 0 16px 40px rgba(3,22,44,.08) !important;
  padding       : 34px 38px !important;
}

/* Left card eyebrow stays gold */
.gc-contact-card--dark .gc-section-eyebrow,
.gc-contact-card--light .gc-section-eyebrow {
  color : #e7c66a !important;
}

/* Left card h2 — large navy (mockup: font-size:46px; color:var(--navy)) */
.gc-contact-card--dark h2 {
  font-size   : clamp(2rem, 4vw, 46px) !important;
  color       : #061a32 !important;
  font-weight : 900 !important;
  line-height : 1.0 !important;
  margin-bottom : 18px !important;
}
.gc-contact-card--dark p {
  color         : #637186 !important;
  font-size     : 17px !important;
  line-height   : 1.7 !important;
  margin-bottom : 28px !important;
}

/* Email box — gold gradient pill, large text (matches mockup .email-box) */
.gc-email-box {
  display       : block !important;
  background    : linear-gradient(135deg, #cfa247, #e7c66a) !important;
  border        : none !important;
  border-radius : 22px !important;
  padding       : 22px 26px !important;
  color         : #061a32 !important;
  font-size     : clamp(1rem, 2vw, 22px) !important;
  font-weight   : 950 !important;
  word-break    : break-word !important;
  letter-spacing: .01em !important;
}

/* Right card: override inquiry form background (gc-inquiry-form has navy from earlier block) */
.gc-contact-card--light .gc-inquiry-form,
.gc-contact-card--light form {
  background : transparent !important;
  color      : #061a32 !important;
}
.gc-contact-card--light h3 {
  font-size     : 1.2rem !important;
  color         : #061a32 !important;
  font-weight   : 900 !important;
  margin-bottom : 20px !important;
}
/* Form field colours (ensure readable on paper bg) */
.gc-contact-card--light .gc-inquiry-form label {
  color : #061a32 !important;
}
.gc-contact-card--light .gc-inquiry-form select,
.gc-contact-card--light .gc-inquiry-form input,
.gc-contact-card--light .gc-inquiry-form textarea {
  background : #fff !important;
  color      : #061a32 !important;
  border     : 1.5px solid rgba(207,162,71,.4) !important;
}

/* ── v1.0.9 — Native PHP Forms ──────────────────────────────────────── */
/* Honeypot: completely hidden from human view */
.gc-nf-hp {
  position : absolute;
  left     : -9999px;
  top      : -9999px;
  opacity  : 0;
  height   : 0;
  overflow : hidden;
  pointer-events : none;
}

/* Form wrapper */
.gc-native-form {
  display        : flex;
  flex-direction : column;
  gap            : 18px;
}

/* Field groups */
.gc-nf-row {
  display : grid;
  grid-template-columns : 1fr 1fr;
  gap     : 16px;
}
@media (max-width:540px) {
  .gc-nf-row { grid-template-columns : 1fr; }
}
.gc-nf-field {
  display        : flex;
  flex-direction : column;
  gap            : 6px;
}

/* Labels */
.gc-native-form label {
  font-size   : 13px;
  font-weight : 600;
  color       : #061a32;
  letter-spacing : .4px;
}
.gc-native-form label .req { color:#c0392b; margin-left:2px; }
.gc-nf-optional { font-weight:400; color:#888; font-size:12px; }

/* Inputs, selects, textareas */
.gc-native-form input[type="text"],
.gc-native-form input[type="email"],
.gc-native-form input[type="tel"],
.gc-native-form select,
.gc-native-form textarea {
  width            : 100%;
  padding          : 12px 14px;
  font-size        : 15px;
  font-family      : inherit;
  background       : #fff;
  color            : #10223b;
  border           : 1.5px solid rgba(207,162,71,.38);
  border-radius    : 10px;
  transition       : border-color .2s, box-shadow .2s;
  outline          : none;
  box-sizing       : border-box;
}
.gc-native-form input:focus,
.gc-native-form select:focus,
.gc-native-form textarea:focus {
  border-color : #cfa247;
  box-shadow   : 0 0 0 3px rgba(207,162,71,.18);
}
.gc-native-form textarea { min-height:110px; resize:vertical; }

/* File inputs */
.gc-native-form input[type="file"] {
  padding    : 8px 10px;
  font-size  : 13px;
  cursor     : pointer;
  background : #faf6ee;
  border-radius : 8px;
}
.gc-nf-hint {
  font-size : 11px;
  color     : #999;
  margin-top: -2px;
}

/* Submit button */
.gc-nf-submit {
  align-self    : flex-start;
  margin-top    : 6px;
  font-size     : 16px;
  padding       : 14px 32px;
}

/* Error message */
.gc-form-err-msg {
  background    : #fef2f2;
  border        : 1px solid #fca5a5;
  color         : #b91c1c;
  border-radius : 8px;
  padding       : 12px 16px;
  font-size     : 14px;
  margin-bottom : 8px;
}

/* Success state */
.gc-form-success {
  background    : #f0fdf4;
  border        : 1.5px solid #86efac;
  border-radius : 14px;
  padding       : 32px 28px;
  text-align    : center;
}
.gc-form-success__icon { font-size:2.4rem; display:block; margin-bottom:10px; }
.gc-form-success h3    { color:#166534; font-size:1.4rem; margin:0 0 8px; }
.gc-form-success p     { color:#166534; margin:0; }

/* ── Services Listing Page — Card Grid ──────────────────────────────────────
   Used by page-services.php (replaces old gc-services-layout image+icon grid)
   ─────────────────────────────────────────────────────────────────────────── */
.gc-service-listing-section {
  padding: var(--gc-section-v, 80px) 0;
  background: var(--gc-cream, #f9f6f0);
}

.gc-service-listing-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 56px;
}
.gc-service-listing-header h2 {
  font-size: clamp(1.8rem, 3.2vw, 2.8rem);
  color: var(--gc-navy-deep, #061a32);
  margin: 8px 0 16px;
}
.gc-service-listing-header__desc {
  font-size: 1.05rem;
  color: var(--gc-gray, #637186);
  line-height: 1.7;
  margin: 0;
}

/* 3-col grid — 2 on tablet, 1 on mobile */
.gc-service-listing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 48px;
}
@media (max-width: 900px) {
  .gc-service-listing-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 560px) {
  .gc-service-listing-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* Card — full anchor, no underline */
.gc-service-listing-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: var(--gc-radius-lg, 18px);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(207,162,71,.18);
  box-shadow: 0 4px 18px rgba(6,26,50,.07);
  transition: transform .22s ease, box-shadow .22s ease;
}
.gc-service-listing-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(6,26,50,.13);
  text-decoration: none;
}

/* Image area — fixed 220px height, no layout shift */
.gc-service-listing-card__img {
  width: 100%;
  height: 220px;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--gc-navy, #0d3660);
  position: relative;
}
.gc-service-listing-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
Object-position: 0px 0px;
}
.gc-service-listing-card:hover .gc-service-listing-card__img img {
  transform: scale(1.04);
}

/* Placeholder shown when no featured image */
.gc-service-listing-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gc-navy, #0d3660);
}
.gc-service-listing-card__placeholder span {
  font-size: 2.6rem;
  font-weight: 900;
  color: rgba(255,255,255,.75);
  letter-spacing: -.03em;
  font-family: Georgia, serif;
  user-select: none;
}

/* Card body */
.gc-service-listing-card__body {
  padding: 24px 26px 26px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.gc-service-listing-card__cat {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gc-champagne-dark, #b08b36);
  margin: 0 0 8px;
}
.gc-service-listing-card__title {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--gc-navy-deep, #061a32);
  margin: 0 0 10px;
  line-height: 1.25;
}
.gc-service-listing-card__desc {
  font-size: .9rem;
  color: var(--gc-gray, #637186);
  line-height: 1.65;
  margin: 0 0 auto;
}
.gc-service-listing-card__cta {
  display: inline-block;
  margin-top: 18px;
  font-size: .88rem;
  font-weight: 700;
  color: var(--gc-champagne-dark, #b08b36);
  letter-spacing: .02em;
  transition: color .2s, letter-spacing .2s;
}
.gc-service-listing-card:hover .gc-service-listing-card__cta {
  color: var(--gc-navy-deep, #061a32);
  letter-spacing: .06em;
}

/* ============================================================
   GOLD COAST PHYSIO v2 — SITE-WIDE COMPONENT OVERRIDES
   All new visual patterns from the v2 mockup.
   Applied globally so every page inherits from one place.
   ============================================================ */

/* ── Google Font: Fraunces (variable) ── */
/* Loaded via wp_enqueue_style in functions.php */

/* ── Heading font update ────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--gc-font-heading); /* now Fraunces */
  font-variation-settings: 'opsz' 72;
  color: var(--ink);
  line-height: 1.18;
}
h1 { font-size: clamp(2.4rem, 5vw, 3.8rem); font-weight: 700; }
h2 { font-size: clamp(1.75rem, 3.5vw, 2.6rem); font-weight: 700; }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.55rem); font-weight: 600; }
body {
  font-family: var(--gc-font-body);
  color: var(--ink-soft);
  background: var(--cream);
}

/* ── Topbar — gold gradient ─────────────────────────────── */
.gc-topbar {
  background: var(--g-gold) !important;
  background-size: 220% auto !important;
  color: var(--navy-900) !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  font-size: .82rem !important;
  text-align: center;
  padding: 9px 16px !important;
  box-shadow: inset 0 -1px 0 rgba(120,84,26,.3);
}
.gc-topbar__text { color: var(--navy-900) !important; }

/* ── Header / Nav — cream glass ─────────────────────────── */
.gc-site-header {
  background: rgba(253,251,246,.88) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(198,161,91,.28) !important;
  box-shadow: 0 10px 30px -18px rgba(13,23,48,.22) !important;
}
.gc-header-inner { max-width: var(--wrap); }

/* Nav links inherit ink color */
.gc-primary-nav a,
.gc-primary-nav .menu-item > a {
  color: white;
  font-weight: 700;
  font-size: .93rem;
  letter-spacing: .01em;
}
.gc-primary-nav a:hover,
.gc-primary-nav .menu-item > a:hover { color: var(--gold-700) !important; }

/* Header CTA pill */
.gc-header-cta,
.gc-btn.gc-btn--gold.gc-header-cta {
  border-radius: var(--r-pill) !important;
  background: var(--g-gold-btn) !important;
  background-size: 200% auto !important;
  color: var(--navy-900) !important;
  padding: 11px 26px !important;
  font-weight: 800 !important;
  box-shadow: var(--shadow-gold) !important;
  transition: background-position .4s ease, box-shadow .25s !important;
}
.gc-header-cta:hover { background-position: right center !important; }

/* ── Photo frame — gold gradient border ─────────────────── */
/* Wrap any img with <div class="gc-photo-frame"> */
.gc-photo-frame {
  position: relative;
  border-radius: var(--r-xl);
  padding: 6px;
  background: var(--g-gold);
  background-size: 200% auto;
  box-shadow: var(--shadow-lg);
  animation: gc-sheen 9s linear infinite;
}
.gc-photo-frame img {
  border-radius: calc(var(--r-xl) - 6px);
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@keyframes gc-sheen {
  0%   { background-position: 0% center; }
  100% { background-position: 200% center; }
}
/* Static variant (no animation) */
.gc-photo-frame--static { animation: none; background-position: 0% center; }

/* ── Section background classes ─────────────────────────── */
.gc-section--sky {
  background: var(--g-sky);
}
.gc-section--bone {
  background: var(--bone);
}
.gc-section--cream {
  background: var(--cream);
}
.gc-section--navy,
.gc-section--dark {
  background: var(--g-navy);
  color: #fff;
}
.gc-section--navy h1, .gc-section--navy h2, .gc-section--navy h3,
.gc-section--dark  h1, .gc-section--dark  h2, .gc-section--dark  h3 {
  color: #fff;
}
.gc-section--royal {
  background: var(--g-royal);
  color: #fff;
  overflow: hidden;
  position: relative;
}

/* ── Section utility ─────────────────────────────────────── */
.gc-section-pad { padding: 84px 0; }
.gc-section-pad--sm { padding: 56px 0; }

/* ── Hero (v2) ───────────────────────────────────────────── */
.gc-hero-v2 {
  background: var(--g-navy);
  color: #fff;
  overflow: hidden;
  position: relative;
}
/* Ambient aura orbs */
.gc-hero-v2 .gc-aura {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  opacity: .85;
  pointer-events: none;
}
.gc-hero-v2 .gc-aura--gold {
  width: 560px; height: 560px;
  top: -180px; right: -120px;
  background: radial-gradient(circle, rgba(198,161,91,.5), transparent 65%);
  animation: gc-float 11s ease-in-out infinite;
}
.gc-hero-v2 .gc-aura--blue {
  width: 520px; height: 520px;
  bottom: -220px; left: -140px;
  background: radial-gradient(circle, rgba(58,111,184,.55), transparent 65%);
  animation: gc-float 13s ease-in-out infinite reverse;
}
@keyframes gc-float { 50% { transform: translateY(-26px); } }

.gc-hero-v2__grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 56px;
  align-items: center;
  padding: 84px 0 70px;
  position: relative;
  z-index: 2;
}
.gc-hero-v2__eyebrow {
  color: var(--gold-300);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.gc-hero-v2__eyebrow::before {
  content: '';
  display: inline-block;
  width: 28px; height: 2px;
  background: var(--gold-400);
  border-radius: 2px;
}
.gc-hero-v2 h1 { color: #fff; margin: 0 0 8px; }
.gc-hero-v2__sub {
  font-family: var(--gc-font-heading);
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  font-variation-settings: 'opsz' 48;
  color: var(--gold-300);
  margin: 0 0 20px;
  line-height: 1.35;
}
.gc-hero-v2__desc {
  font-size: 1.03rem;
  color: rgba(255,255,255,.82);
  line-height: 1.7;
  margin: 0 0 32px;
  max-width: 520px;
}
.gc-hero-v2__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-bottom: 10px;
}
/* Inline text link CTA (3rd option) */
.gc-hero-v2__link-cta {
  color: var(--gold-300);
  font-size: .9rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .2s;
}
.gc-hero-v2__link-cta:hover { color: var(--gold-200); }

/* Visual side */
.gc-hero-v2__visual { position: relative; }
.gc-hero-v2__frame-wrap {
  position: relative;
  z-index: 1;
}
/* Floating stat chip */
.gc-hero-v2__chip {
  position: absolute;
  z-index: 3;
  background: rgba(253,251,246,.92);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(198,161,91,.35);
  border-radius: var(--r-md);
  padding: 10px 16px;
  box-shadow: var(--shadow-md);
}
.gc-hero-v2__chip strong {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--navy-800);
  display: block;
  line-height: 1;
}
.gc-hero-v2__chip span {
  font-size: .7rem;
  font-weight: 600;
  color: var(--ink-mute);
  text-transform: uppercase;
  letter-spacing: .08em;
}

/* ── Hero stats row ─────────────────────────────────────── */
.gc-hero-stats {
  background: var(--navy-900);
  padding: 28px 0;
  border-top: 1px solid rgba(255,255,255,.06);
}
.gc-hero-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 0 24px;
}
.gc-hero-stats__item {
  text-align: center;
  padding: 8px 16px;
  border-right: 1px solid rgba(255,255,255,.1);
}
.gc-hero-stats__item:last-child { border-right: none; }
.gc-hero-stats__num {
  display: block;
  font-family: var(--gc-font-heading);
  font-size: 1.8rem;
  font-weight: 700;
  font-variation-settings: 'opsz' 72;
  color: var(--gold-400);
  line-height: 1;
  margin-bottom: 4px;
}
.gc-hero-stats__label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
}

/* ── Pathway cards (Choose your pathway section) ─────────── */
.gc-pathway-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 48px;
}
.gc-pathway-card {
  background: #fff;
  border: 1px solid rgba(198,161,91,.22);
  border-radius: var(--r-lg);
  padding: 28px 24px 26px;
  box-shadow: var(--shadow-sm);
  transition: transform .25s ease, box-shadow .25s ease;
  display: flex;
  flex-direction: column;
  gap: 14px;
  text-decoration: none;
  color: inherit;
}
.gc-pathway-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-md);
  border-color: rgba(198,161,91,.5);
}
.gc-pathway-card__icon {
  width: 48px; height: 48px;
  border-radius: var(--r-sm);
  background: var(--g-royal);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
}
/* Photo variant — used when a Pathway Card post has a Featured Image set */
.gc-pathway-card--photo {
  padding: 0 0 26px;
}
.gc-pathway-card__ph {
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: var(--r-lg) var(--r-lg) 0 0;
}
.gc-pathway-card__ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}
.gc-pathway-card--photo:hover .gc-pathway-card__ph img {
  transform: scale(1.04);
}
.gc-pathway-card--photo .gc-pathway-card__eyebrow,
.gc-pathway-card--photo .gc-pathway-card__title,
.gc-pathway-card--photo .gc-pathway-card__desc,
.gc-pathway-card--photo .gc-pathway-card__cta {
  padding-inline: 24px;
}
.gc-pathway-card__eyebrow {
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-700);
}
.gc-pathway-card__title {
  font-family: var(--gc-font-heading);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0;
  line-height: 1.25;
}
.gc-pathway-card__desc {
  font-size: .9rem;
  color: var(--ink-mute);
  line-height: 1.6;
  flex: 1;
}
.gc-pathway-card__cta {
  font-size: .85rem;
  font-weight: 800;
  color: var(--navy-700);
  letter-spacing: .02em;
}

/* ── Unify Pathway Card text alignment across all variants (icon / photo /
   color) — earlier revisions of this component left conflicting alignment
   rules scattered through the file; this final block guarantees every card
   renders left-aligned regardless of which older rule would otherwise win. ── */
.gc-pathway-card,
.gc-pathway-card__eyebrow,
.gc-pathway-card__title,
.gc-pathway-card__desc,
.gc-pathway-card__cta {
  text-align: left !important;
}
.gc-pathway-card__cta {
  display: inline-flex !important;
  align-self: flex-start !important;
  align-items: center !important;
  margin-right: auto !important;
  margin-left: 0 !important;
}

/* ── Screenings band (royal gradient) ────────────────────── */
.gc-band {
  background: var(--g-royal);
  color: #fff;
  overflow: hidden;
  position: relative;
}
.gc-band h2, .gc-band h3 { color: #fff; }
.gc-band .gc-section-eyebrow { color: var(--gold-300); }
.gc-band p { color: rgba(255,255,255,.82); }
/* Aura for band */
.gc-band__aura {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  pointer-events: none;
  width: 480px; height: 480px;
  top: -160px; left: -120px;
  background: radial-gradient(circle, rgba(198,161,91,.45), transparent 65%);
}

/* Checklist items inside band */
.gc-check-list { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 12px; }
.gc-check-list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: .95rem;
  color: rgba(255,255,255,.88);
}
.gc-check-list li::before {
  content: '✓';
  flex-shrink: 0;
  font-size: .85rem;
  font-weight: 800;
  color: var(--gold-300);
  margin-top: 1px;
}

/* ── Partner type cards ──────────────────────────────────── */
.gc-partner-card {
  display: flex;
  gap: 16px;
  padding: 20px 22px;
  border-radius: var(--r-md);
  background: linear-gradient(170deg, #fff, #FBF6EA);
  border: 1px solid rgba(198,161,91,.24);
  box-shadow: var(--shadow-sm);
  margin-bottom: 14px;
  transition: transform .2s, box-shadow .2s;
}
.gc-partner-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.gc-partner-card__num {
  font-family: var(--gc-font-heading);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--gold-600);
  flex-shrink: 0;
  width: 28px;
  line-height: 1;
  padding-top: 2px;
}
.gc-partner-card__content h4 {
  font-size: 1rem;
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 5px;
  line-height: 1.2;
}
.gc-partner-card__content p {
  font-size: .88rem;
  color: var(--ink-mute);
  margin: 0;
  line-height: 1.55;
}

/* ── Specialty program cards ─────────────────────────────── */
.gc-program-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 48px;
}
.gc-program-card {
  background: #fff;
  border: 1px solid rgba(198,161,91,.2);
  border-radius: var(--r-lg);
  padding: 28px 24px;
  box-shadow: var(--shadow-sm);
  transition: transform .25s, box-shadow .25s;
  position: relative;
  overflow: hidden;
}
.gc-program-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--g-gold);
}
.gc-program-card:hover { transform: translateY(-4px); }
.gc-program-card__num {
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold-700);
  margin-bottom: 8px;
}
.gc-program-card__name {
  font-family: var(--gc-font-heading);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 4px;
}
.gc-program-card__tag {
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--gold-700);
  background: var(--gold-100);
  border-radius: 999px;
  padding: 3px 10px;
  display: inline-block;
  margin-bottom: 12px;
}
.gc-program-card__desc {
  font-size: .88rem;
  color: var(--ink-mute);
  line-height: 1.6;
}

/* ── Programs page: dark gc-band section — restore glass card look ──────────
   The generic .gc-program-card above sets background:#fff for the homepage
   (sky section). Inside .gc-signature-programs (gc-band / navy) we need the
   original glassmorphism card: translucent white on dark royal-blue gradient.
   Two-class specificity (0-2-0) beats the single-class rule above (0-1-0).
   ─────────────────────────────────────────────────────────────────────────── */
.gc-signature-programs .gc-program-card {
  background  : rgba(255,255,255,.08);
  border      : 1px solid rgba(255,255,255,.14);
  box-shadow  : none;
}
.gc-signature-programs .gc-program-card::before {
  display: none; /* hide the gold top-bar accent used on white cards */
}
/* Text colors for dark-card variants are inherited from .gc-band h3/p rules,
   but __tagline (not p/h3) and services li need explicit overrides */
.gc-signature-programs .gc-program-card__tagline {
  color: var(--gold-300);
}
.gc-signature-programs .gc-program-card__services li {
  color: rgba(255,255,255,.80);
}
.gc-signature-programs .gc-program-card__services li::before {
  color: var(--gold-300);
}

/* ── Floating chat button ────────────────────────────────── */
.gc-chat-float {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: var(--g-gold-btn);
  background-size: 200% auto;
  color: var(--navy-900);
  font-weight: 800;
  font-size: .88rem;
  padding: 13px 22px;
  border-radius: var(--r-pill);
  box-shadow: var(--shadow-gold), 0 8px 32px rgba(13,23,48,.25);
  text-decoration: none;
  transition: transform .25s, box-shadow .25s;
  animation: gc-float 4s ease-in-out infinite;
}
.gc-chat-float:hover {
  transform: translateY(-3px);
  color: var(--navy-900);
  background-position: right center;
}
.gc-chat-float svg { width: 16px; height: 16px; }

/* ── Eyebrow (v2 style) ──────────────────────────────────── */
.gc-eyebrow-v2 {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold-700);
  display: block;
  margin-bottom: 12px;
}
.gc-section--navy .gc-eyebrow-v2,
.gc-section--royal .gc-eyebrow-v2,
.gc-band .gc-eyebrow-v2,
.gc-hero-v2 .gc-eyebrow-v2 { color: var(--gold-300); }

/* ── Section heading centered layout ────────────────────── */
.gc-section-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 52px;
}
.gc-section-head p {
  font-size: 1.05rem;
  color: var(--ink-mute);
  line-height: 1.72;
  margin-top: 14px;
}

/* ── Responsive — v2 ────────────────────────────────────── */
@media (max-width: 1024px) {
  .gc-hero-v2__grid   { grid-template-columns: 1fr; gap: 40px; padding: 64px 0 48px; }
  .gc-hero-v2__visual { display: none; }
  .gc-pathway-grid    { grid-template-columns: repeat(2, 1fr); }
  .gc-program-grid    { grid-template-columns: repeat(2, 1fr); }
  .gc-hero-stats__grid { grid-template-columns: repeat(2, 1fr); gap: 0; }
  .gc-hero-stats__item:nth-child(2) { border-right: none; }
  .gc-hero-stats__item { border-bottom: 1px solid rgba(255,255,255,.1); }
  .gc-hero-stats__item:nth-child(3),
  .gc-hero-stats__item:nth-child(4) { border-bottom: none; }
}
@media (max-width: 640px) {
  .gc-pathway-grid  { grid-template-columns: 1fr; }
  .gc-program-grid  { grid-template-columns: 1fr; }
  .gc-hero-stats__grid { grid-template-columns: repeat(2, 1fr); }
  .gc-section-pad   { padding: 56px 0; }
  .gc-hero-v2__ctas { flex-direction: column; align-items: flex-start; }
  .gc-chat-float    { bottom: 16px; right: 16px; padding: 11px 18px; font-size: .82rem; }
}

/* ============================================================
   HOMEPAGE v2 — .gc-core-service-card PHOTO VARIANT
   When a service page has a featured image, it sits edge-to-edge
   at the top of the v2 card (above kicker/title/desc).
   ============================================================ */
.gc-core-service-card {
  display: flex;
  flex-direction: column;
  overflow: hidden; /* needed so photo bleeds to edges */
  padding: 0;       /* photo cards have no top padding; body padding added below */
}
/* Text body — add padding only when card has content below photo or icon */
.gc-core-service-card__photo ~ .gc-core-service-card__kicker,
.gc-core-service-card__photo ~ h3,
.gc-core-service-card__photo ~ p,
.gc-core-service-card__icon ~ .gc-core-service-card__kicker,
.gc-core-service-card__icon ~ h3,
.gc-core-service-card__icon ~ p {
  padding-left: 20px;
  padding-right: 20px;
}
.gc-core-service-card__icon {
  margin: 22px 20px 14px; /* restore margin so icon variant still looks right */
}
/* Photo area — edge-to-edge, fixed height */
.gc-core-service-card__photo {
  width: 100%;
  height: 130px;
  flex-shrink: 0;
  overflow: hidden;
}
.gc-core-service-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}
.gc-core-service-card:hover .gc-core-service-card__photo img {
  transform: scale(1.04);
}
/* Kicker / title / desc stay in the original style, just need spacing */
.gc-core-service-card__kicker {
  margin-top: 14px;
}
.gc-core-service-card h3 {
  padding-left: 20px;
  padding-right: 20px;
}
.gc-core-service-card p:last-child {
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
}

/* ── Override: .gc-service-grid inside .gc-services-layout stays 3 cols ── */
.gc-services-layout .gc-service-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 640px) {
  .gc-services-layout .gc-service-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── Old rule referencing .gc-service-listing-grid kept for other pages ── */
/* ============================================================
   (old) SERVICE LISTING GRID INSIDE .gc-services-layout
   ============================================================ */
.gc-services-layout .gc-service-listing-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}
.gc-services-layout .gc-service-listing-card__img {
  height: 130px; /* slightly shorter to fit 3-col inside narrower column */
}
@media (max-width: 1024px) {
  /* Once layout stacks, the grid goes full-width — let normal rules take over */
  .gc-services-layout .gc-service-listing-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 640px) {
  .gc-services-layout .gc-service-listing-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ============================================================
   HOMEPAGE v2 — SECTION HEAD SPLIT VARIANT
   Used in Services, Partners (eyebrow+h2 left / desc right)
   ============================================================ */
.gc-section-head--split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px 48px;
  align-items: start;
  margin-bottom: 40px;
}
.gc-section-head--split h2 { margin-bottom: 0; }
@media (max-width: 820px) {
  .gc-section-head--split { grid-template-columns: 1fr; }
}

/* ============================================================
   HOMEPAGE v2 — PARTNER LOCATION CARD
   Dark navy card with image on top + Michigan footprint copy
   ============================================================ */
.gc-partner-location-card {
  background: var(--navy-800);
  border-radius: var(--r-xl);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-md);
}
.gc-partner-location-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}
.gc-partner-location-card__body {
  padding: 28px 26px 30px;
  color: #fff;
  display: flex;
  flex-direction: column;
}
.gc-partner-location-card__body .gc-eyebrow-v2 {
  color: var(--gold-300);
  margin-bottom: 12px;
}
.gc-partner-location-card__body h3 {
  font-size: clamp(1rem, 2.2vw, 1.25rem);
  font-weight: 700;
  color: #fff;
  margin: 0 0 12px;
  line-height: 1.35;
}
.gc-partner-location-card__body p {
  font-size: .88rem;
  color: rgba(255,255,255,.75);
  line-height: 1.65;
  margin: 0;
}

/* ── feature items inside .gc-partner-list ── */
.gc-feature-item {
  background: #fff;
  border: 1px solid rgba(198,161,91,.18);
  border-radius: var(--r-lg);
  padding: 22px 20px;
  box-shadow: var(--shadow-sm);
}
.gc-feature-item h3 {
  font-size: .96rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 8px;
  line-height: 1.3;
}
.gc-feature-item h3 b {
  color: var(--gold-600);
  font-weight: 800;
  margin-right: 6px;
}
.gc-feature-item p {
  font-size: .85rem;
  color: var(--ink-mute);
  line-height: 1.65;
  margin: 0;
}

/* ── .gc-pathway-card--static (non-link variant for operator outcomes) ── */
.gc-pathway-card--static {
  cursor: default;
  text-decoration: none;
}
.gc-pathway-card--static:hover {
  transform: translateY(-2px);
}

/* ============================================================
   HOMEPAGE v2 — VISUALS SECTION
   2-col grid of campaign preview cards
   ============================================================ */
.gc-visuals-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.gc-visual-card {
  background: #fff;
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid rgba(198,161,91,.2);
  box-shadow: var(--shadow-sm);
  transition: box-shadow .22s, transform .22s;
}
.gc-visual-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}
.gc-visual-card img {
  width: 100%;
  height: 280px;
  object-fit: contain;
  object-position: center;
  display: block;
  background: var(--navy-800);
}
.gc-visual-card__body {
  padding: 20px 24px 24px;
}
.gc-visual-card__body h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 8px;
  font-family: var(--gc-font-heading);
}
.gc-visual-card__body p {
  font-size: .875rem;
  color: var(--ink-mute);
  line-height: 1.65;
  margin: 0;
}
@media (max-width: 640px) {
  .gc-visuals-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   MICHELLE MOCKUP v2 COMPONENTS
   ============================================================ */

/* ── Topbar — gold shimmer announcement strip ──────────────── */
.gc-topbar {
  background: var(--g-gold);
  background-size: 220% auto;
  animation: gc-sheen 12s linear infinite;
  color: var(--navy-900);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-align: center;
  padding: 9px 16px;
  box-shadow: inset 0 -1px 0 rgba(120,84,26,.3);
}
.gc-topbar a {
  color: var(--navy-800);
  text-decoration: underline;
  text-decoration-color: rgba(13,23,48,.3);
}

/* ── Scroll reveal ─────────────────────────────────────────── */
.gc-rv {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .7s ease, transform .7s ease;
}
.gc-rv.gc-in {
  opacity: 1;
  transform: none;
}
/* Users who prefer reduced motion see it immediately */
@media (prefers-reduced-motion: reduce) {
  .gc-rv { opacity: 1; transform: none; transition: none; }
}

/* ── .photo-frame — animated gold border (mockup class name) ─ */
/* Alias: same as .gc-photo-frame but using exact mockup class  */
.photo-frame {
  position: relative;
  border-radius: var(--r-xl);
  padding: 6px;
  background: var(--g-gold);
  background-size: 200% auto;
  box-shadow: var(--shadow-lg);
  animation: gc-sheen 9s linear infinite;
}
.photo-frame img {
  border-radius: calc(var(--r-xl) - 6px);
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── Service card v2 (.svc) layout ────────────────────────── */
.gc-svc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.gc-svc {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-radius: var(--r-lg);
  background: #fff;
  box-shadow: var(--shadow-sm);
  border: 1px solid rgba(198,161,91,.15);
  transition: box-shadow .22s, transform .22s;
  text-decoration: none;
  color: inherit;
}
.gc-svc:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-4px);
}
/* Photo card variant */
.gc-svc__ph {
  height: 210px;
  position: relative;
  overflow: hidden;
}
.gc-svc__ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
	object-position: 0px 0px;
}
.gc-svc:hover .gc-svc__ph img { transform: scale(1.04); }
.gc-svc__ph::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(13,23,48,.55));
  pointer-events: none;
}
.gc-svc__chip {
  position: absolute;
  left: 16px;
  bottom: 14px;
  z-index: 2;
  background: rgba(253,251,246,.92);
  color: var(--navy-800);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 5px 12px;
  border-radius: 999px;
  backdrop-filter: blur(4px);
}
/* Icon-tile card variant (no photo) */
.gc-svc__top {
  height: 210px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  background: var(--g-navy);
  border-radius: var(--r-lg) var(--r-lg) 0 0;
}
.gc-svc__icon-tile {
  width: 56px;
  height: 56px;
  border-radius: var(--r-sm);
  background: rgba(198,161,91,.15);
  border: 1px solid rgba(198,161,91,.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  color: var(--gold-300);
}
.gc-svc__icon-tile--gold { color: var(--gold-400); }
.gc-svc__chip--light {
  background: rgba(198,161,91,.18);
  color: var(--gold-200);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 5px 14px;
  border-radius: 999px;
  border: 1px solid rgba(198,161,91,.25);
}
/* Card body (shared) */
.gc-svc__body {
  padding: 22px 24px 26px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.gc-svc__body h3 {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--ink);
  margin: 0;
  font-family: var(--gc-font-heading);
}
.gc-svc__body p {
  font-size: .88rem;
  color: var(--ink-mute);
  line-height: 1.65;
  margin: 0;
}

/* ── Partners grid (v2) ─────────────────────────────────────── */
.gc-part-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 56px;
  align-items: start;
}
.gc-pt-list {
  /*display: flex;
  flex-direction: column;
  gap: 22px;
  margin-top: 28px;*/
display: grid;
    gap: 14px;
    margin-top: 26px;
}
.gc-pt {
  /*display: flex;*/
  /*gap: 18px;*/
  /*align-items: flex-start;*/
	display: flex;
    gap: 16px;
    padding: 20px 22px;
    border-radius: var(--r-md);
    background: linear-gradient(170deg, #fff, #FBF6EA);
    border: 1px solid rgba(198, 161, 91, .24);
    box-shadow: var(--shadow-md);
}
.gc-pt__num {
  /*flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--g-gold-btn);
  color: var(--navy-900);
  font-weight: 800;
  font-size: .8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;*/
font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: 1.05rem;
    background: var(--g-gold);
    background-size: 220% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: sheen 8s linear infinite;
    min-width: 34px;
}
.gc-pt h4 {
  margin: 0 0 5px;
  font-size: 1rem;
  font-weight: 800;
  color: var(--ink);
  font-family: var(--gc-font-heading);
}
.gc-pt p {
  margin: 0;
  font-size: .88rem;
  color: var(--ink-mute);
  line-height: 1.6;
}

/* ── Students strip (.stu) ─────────────────────────────────── */
.gc-stu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  padding: 32px 40px;
  border-radius: var(--r-lg);
  background: #fff;
  border: 1px solid rgba(198,161,91,.2);
  box-shadow: var(--shadow-sm);
}
.gc-stu__content { flex: 1; }
.gc-stu__content .gc-eyebrow-v2 { margin-bottom: 6px; display: block; }
.gc-stu__content h3 {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--ink);
  margin: 6px 0 8px;
  font-family: var(--gc-font-heading);
}
.gc-stu__content p {
  font-size: .9rem;
  color: var(--ink-mute);
  line-height: 1.65;
  margin: 0;
}
.gc-stu > a { flex-shrink: 0; }

/* ── Screenings check items ────────────────────────────────── */
.gc-check {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px 0;
  border-bottom: 1px solid rgba(198,161,91,.2);
}
.gc-check:last-child { border-bottom: none; }
.gc-check b {
  color: var(--gold-300);
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 1px;
}
.gc-check span {
  color: rgba(255,255,255,.82);
  font-size: .9rem;
  line-height: 1.6;
}
.gc-band-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 54px;
  align-items: center;
}

/* .gc-wa (old homepage-only floating button) removed — the site-wide
   .gc-whatsapp-btn in functions.php now covers this on every page. */

/* ── Sheen text effect ─────────────────────────────────────── */
.gc-sheen-text {
  background: var(--g-gold);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gc-sheen 6s linear infinite;
}

/* ── Responsive: v2 components ─────────────────────────────── */
@media (max-width: 900px) {
  .gc-svc-grid { grid-template-columns: repeat(2, 1fr); }
  .gc-part-grid { grid-template-columns: 1fr; gap: 36px; }
  .gc-band-grid { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 640px) {
  .gc-svc-grid { grid-template-columns: 1fr; }
  .gc-stu {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
    gap: 24px;
  }
}
.gc-btn-glass {
	background: rgba(255, 255, 255, .14);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .35);
    backdrop-filter: blur(10px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25);
}

.gc-btn-glass:hover {
	color: var(--gold-200);
}
.gc-btn-line-gold {

    font-weight: 800;
    border-bottom: 2px solid var(--gold-500);
    border-radius: 0;
    padding: 2px 0;
}

.cl {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    border-radius: var(--r-md);
    background: linear-gradient(170deg, #fff, #FBF6EA);
    border: 1px solid rgba(198, 161, 91, .25);
    font-weight: 700;
    color: var(--navy-800);
    box-shadow: var(--shadow-md);
    transition: transform .25s;
}
.con-links {
    display: grid;
    gap: 12px;
    margin-top: 26px;
}
.glass-d {
    background: linear-gradient(165deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .04));
    /*border: 1px solid rgba(255, 255, 255, .22);*/
    backdrop-filter: blur(14px);
    /*border-radius: var(--r-lg);*/
    /*box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22);*/
}
/* ============================================================
   JOB MODULE v2 — Pills, Search, State Groups, Apply Info
   ============================================================ */

/* ── Job card pills / tags ────────────────────────────────── */
.gc-job-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0 0;
}
.gc-job-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    line-height: 1.4;
    white-space: nowrap;
}
.gc-job-pill--type   { background: #e8f0fb; color: #1a4480; }
.gc-job-pill--prn    { background: #fef3c7; color: #92400e; }
.gc-job-pill--resp   { background: #f0fdf4; color: #166534; }
.gc-job-pill--loctype{ background: #f5f3ff; color: #5b21b6; }

/* ── Job card location line ───────────────────────────────── */
.gc-job-card__loc {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: .82rem;
    color: var(--navy-600, #3b567a);
    margin: 10px 0 0;
    font-weight: 500;
}
.gc-job-card__loc svg,
.gc-job-card__loc .gc-loc-icon { flex-shrink: 0; }

/* ── Homepage dark-card location ─────────────────────────── */
.gc-job-card-dark .gc-job-card__loc {
    color: rgba(255,255,255,.7);
}
.gc-job-card-dark .gc-job-pills { margin-top: 6px; }
.gc-job-card-dark .gc-job-pill--type    { background: rgba(255,255,255,.12); color: rgba(255,255,255,.9); }
.gc-job-card-dark .gc-job-pill--prn     { background: rgba(205,163,94,.25);  color: #f5d48e; }
.gc-job-card-dark .gc-job-pill--resp    { background: rgba(255,255,255,.08); color: rgba(255,255,255,.8); }
.gc-job-card-dark .gc-job-pill--loctype { background: rgba(255,255,255,.08); color: rgba(255,255,255,.8); }

/* ── Job search form ──────────────────────────────────────── */
.gc-job-search {
    background: #fff;
    border: 1px solid rgba(198,161,91,.3);
    border-radius: var(--r-md, 10px);
    padding: 20px 24px;
    margin-bottom: 40px;
    box-shadow: 0 2px 12px rgba(16,49,90,.06);
}
.gc-job-search__form {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
}
.gc-job-search__field {
    flex: 1 1 180px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.gc-job-search__field label {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--navy-700, #10315a);
}
.gc-job-search__field select,
.gc-job-search__field input {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: .9rem;
    background: #fafafa;
    color: #1f2937;
    appearance: auto;
}
.gc-job-search__field select:focus,
.gc-job-search__field input:focus {
    outline: 2px solid var(--gold-500, #cda35e);
    border-color: transparent;
}
.gc-job-search__actions {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    flex-shrink: 0;
}
.gc-job-search__btn {
    padding: 9px 20px;
    border-radius: 6px;
    font-size: .9rem;
    font-weight: 700;
    cursor: pointer;
    border: none;
    transition: background .2s, opacity .2s;
}
.gc-job-search__btn--search {
    background: var(--navy-800, #10315a);
    color: #fff;
}
.gc-job-search__btn--search:hover { background: #1a4a7a; }
.gc-job-search__btn--reset {
    background: transparent;
    color: var(--navy-700, #10315a);
    border: 1px solid #d1d5db;
}
.gc-job-search__btn--reset:hover { background: #f3f4f6; }
.gc-job-search__count {
    font-size: .85rem;
    color: #6b7280;
    margin-top: 12px;
}

/* ── State group headers ──────────────────────────────────── */
.gc-state-group {
    margin-bottom: 40px;
}
.gc-state-group__header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(16,49,90,.08);
}
.gc-state-group__name {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--navy-800, #10315a);
    margin: 0;
}
.gc-state-group__count {
    font-size: .78rem;
    background: rgba(16,49,90,.08);
    color: var(--navy-700, #10315a);
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 700;
}
.gc-state-group--hidden { display: none; }

/* ── No results message ───────────────────────────────────── */
.gc-jobs-no-results {
    display: none;
    text-align: center;
    padding: 40px 20px;
    color: #6b7280;
    font-size: .95rem;
}
.gc-jobs-no-results.visible { display: block; }

/* ── Job Info panel in apply form ────────────────────────── */
.gc-apply-job-info {
    display: none;
    background: linear-gradient(135deg, #f0f6ff, #fafbfc);
    border: 1px solid rgba(16,49,90,.15);
    border-left: 4px solid var(--gold-500, #cda35e);
    border-radius: 8px;
    padding: 18px 20px;
    margin-bottom: 24px;
}
.gc-apply-job-info.visible { display: block; }
.gc-apply-job-info__title {
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #6b7280;
    margin: 0 0 8px;
}
.gc-apply-job-info__role {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--navy-800, #10315a);
    margin: 0 0 10px;
}
.gc-apply-job-info__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    font-size: .82rem;
    color: #374151;
}
.gc-apply-job-info__meta span { display: flex; align-items: center; gap: 4px; }
.gc-apply-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .82rem;
    font-weight: 700;
    color: var(--navy-700, #10315a);
    background: none;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    padding: 6px 14px;
    cursor: pointer;
    text-decoration: none;
    margin-bottom: 18px;
    transition: background .15s;
}
.gc-apply-back-btn:hover { background: #f3f4f6; color: inherit; }

/* ── Mobile: search form stacks vertically ────────────────── */
@media (max-width: 700px) {
    .gc-job-search__form    { flex-direction: column; }
    .gc-job-search__field   { flex: 1 1 100%; }
    .gc-job-search__actions { width: 100%; }
    .gc-job-search__btn     { flex: 1; text-align: center; }
}

/* ============================================================
   LEGAL PAGES — isolated styles (do not reuse elsewhere)
   These classes are scoped only to legal/policy page templates.
   ============================================================ */

/* ── Legal page gradient page-title banner ────────────────── */
.gc-legal-banner {
    background: linear-gradient(135deg, #0a1f38 0%, #10315a 45%, #1a4a7e 100%);
    padding: 64px 0 48px;
    position: relative;
    overflow: hidden;
}
.gc-legal-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 80% 60% at 60% 50%, rgba(198,161,91,.12) 0%, transparent 70%);
    pointer-events: none;
}
.gc-legal-banner__inner {
    position: relative;
    z-index: 1;
    max-width: 860px;
}
.gc-legal-banner__eyebrow {
    display: inline-block;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gc-champagne, #cda35e);
    margin-bottom: 12px;
}
.gc-legal-banner h1 {
    font-size: clamp(1.75rem, 4vw, 2.6rem);
    font-weight: 900;
    color: #fff;
    margin: 0 0 16px;
    line-height: 1.15;
}
.gc-legal-banner p {
    color: rgba(255,255,255,.75);
    font-size: 1rem;
    line-height: 1.65;
    max-width: 640px;
    margin: 0;
}

/* ── Legal page content wrapper ───────────────────────────── */
.gc-legal-body {
    background: #fff;
    padding: 60px 0 80px;
}
.gc-legal-body__inner {
    max-width: 860px;
    margin: 0 auto;
    line-height: 1.8;
    color: #2d3748;
}
.gc-legal-body__inner h2 {
    font-size: 1.4rem;
    color: var(--gc-navy, #10315a);
    margin-top: 2.5rem;
    margin-bottom: .5rem;
}
.gc-legal-body__inner h3 {
    font-size: 1.05rem;
    color: var(--gc-navy, #10315a);
    margin-top: 1.5rem;
    margin-bottom: .4rem;
}
.gc-legal-body__inner p {
    color: #4a5568;
    margin-bottom: 1rem;
}

/* ── gc-legal-list — bullet list for legal pages only ────────
   Deliberately separate from gc-check-list to avoid affecting
   other pages (service pages, about page, etc.)
   ──────────────────────────────────────────────────────────── */
.gc-legal-list {
    list-style: none;
    padding: 0;
    margin: 1rem 0 1.25rem;
    display: flex;
    flex-direction: column;
    gap: .55rem;
}
.gc-legal-list li {
    display: flex;
    gap: .6rem;
    align-items: flex-start;
    font-size: .93rem;
    color: #4a5568;          /* explicit dark colour — never inherits white */
    line-height: 1.55;
}
.gc-legal-list li::before {
    content: "✓";
    color: var(--gc-champagne-dark, #b8892a);
    font-weight: 800;
    flex-shrink: 0;
    margin-top: .05em;
}

/* ── Insurance coverage — step cards inside navy band ────────
   .gc-band forces h3/p to #fff which makes text invisible on
   the white card background. This modifier restores dark text.
   Applied only to the insurance coverage "Before Treatment" band.
   ──────────────────────────────────────────────────────────── */
.gc-step-card--on-band {
    background: rgba(255,255,255,.96);
    border-color: rgba(255,255,255,.2);
}
.gc-step-card--on-band h3 {
    color: #0d2549 !important;   /* dark navy — overrides .gc-band h3 { color:#fff } */
}
.gc-step-card--on-band p {
    color: #4a5568 !important;   /* mid-grey — overrides .gc-band p { color:rgba(255,255,255,.82) } */
}
