/* ══════════════════════════════════════════════════════════════
   WCAG 2.1 AA contrast overrides.
   Loaded last so these win against earlier rules and inline styles.
   All colours pre-verified against their real rendered backgrounds.
   ══════════════════════════════════════════════════════════════ */

/* Section eyebrow labels — brand teal failed on white + light-grey bgs */
.section-label { color: #006670 !important; }

/* Programmes helper block sits on #f5f7fa — darken brand text */
.programmes-helper a,
.programmes-helper strong { color: #006670 !important; }

/* AI L4 programme — module numbers (2979ff failed 3.98:1 on white) */
.module-num { color: #1b4db0 !important; }

/* AI L4 — EPA / Assessment badges (teal and green on pale tints) */
.epa-badge.mandatory { color: #067a3c !important; }
.epa-badge.additional { color: #006670 !important; }
.epa-sub-text { color: #475569 !important; }

/* AI L4 — assessment-outcome numbers on pale teal cards */
.ao-number { color: #006670 !important; }

/* AI L4 — partners section subtitle had opacity: 0.7 which depressed
   the effective colour to #7b8695 (3.44:1). Restore full opacity. */
.partners-subtitle { color: #475569 !important; opacity: 1 !important; }

/* AI L4 — benefits intro paragraph set via CSS rule, not inline */
.benefits-header p { color: #475569 !important; }

/* .section-subtitle applies opacity:0.8 which eats contrast on any
   inner link — give the link full opacity and a darker green */
.section-subtitle a { opacity: 1 !important; color: #0c5d2e !important; }

/* Any inline style that references the teal brand variable as TEXT
   resolves to #00bcd4 (fails on any background near white) */
[style*="color:var(--teal)"],
[style*="color: var(--teal)"],
[style*="color:var(--cyan)"],
[style*="color: var(--cyan)"] { color: #006670 !important; }

/* Footer (background #0a1929) — site-wide, inline link colours fail.
   Bump text-brand inline foregrounds to a lighter teal that passes.
   Also tag the footer column with an explicit bg-color so axe-core's
   background detection walks up correctly (it otherwise occasionally
   reads the body's white bg through transparent ancestors). */
.footer-col { background-color: #0a1929 !important; }
footer a[style*="color:#006670"],
footer a[style*="color: #006670"],
.footer-col a[style*="color:#006670"],
.footer-col a[style*="color: #006670"],
footer a[style*="color:#00838f"],
footer a[style*="color: #00838f"] { color: #5eead4 !important; }

/* Footer copyright (color: rgba(255,255,255,0.35) = ~3.2:1 on dark) */
.footer-bottom p { color: rgba(255, 255, 255, 0.72) !important; }

/* Privacy-policy consent link sits on the white form card. axe-core can
   misdetect the card background through the nested inline-styled DIV,
   so pin an explicit white bg on the link itself — axe uses the element's
   own opaque background when present, which gives it the right reference
   (real user contrast is #00545a on #ffffff = 9:1). */
label[for="privacyConsent"] { background-color: #ffffff !important; }
label[for="privacyConsent"] a {
  color: #00545a !important;
  background-color: #ffffff !important;
  text-decoration: underline !important;
}

/* Orange step-label on white (f57f17 = 2.64:1 on #fff) */
[style*="color:#f57f17"],
[style*="color: #f57f17"] { color: #b45309 !important; }

/* Slate-500 (#64748b) is borderline on coloured-tint card backgrounds
   — bump to slate-600 for comfortable 6:1+ everywhere */
[style*="color:#64748b"],
[style*="color: #64748b"] { color: #475569 !important; }

/* ══════════════════════════════════════════════════════════════
   AI LEADERSHIP UNIT — premium hero (homepage)
   Loaded after main.min.css so these rules win the cascade.
   ══════════════════════════════════════════════════════════════ */
.ai-unit-section {
  background:
    radial-gradient(ellipse 80% 60% at 18% 0%, rgba(94,234,212,0.10) 0%, transparent 55%),
    radial-gradient(ellipse 60% 80% at 100% 100%, rgba(13,148,136,0.18) 0%, transparent 55%),
    linear-gradient(180deg, #061322 0%, #0a1f3a 65%, #0d2a4a 100%) !important;
  padding: 88px 40px 96px !important;
  position: relative;
  overflow: hidden;
}
.ai-unit-section::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
  opacity: 0.55;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%);
}
.ai-unit-grid {
  max-width: 1180px; margin: 0 auto; position: relative; z-index: 1;
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 56px;
  align-items: start;
}
.ai-unit-content { max-width: 620px; }
.ai-unit-badge {
  display: inline-flex; align-items: center; gap: 9px;
  background: rgba(94,234,212,0.10);
  color: #5eead4 !important;
  font-size: 11.5px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase;
  padding: 8px 16px 8px 14px; border-radius: 999px;
  border: 1px solid rgba(94,234,212,0.28);
  margin-bottom: 24px;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.ai-unit-badge__pulse {
  width: 8px; height: 8px; border-radius: 50%;
  background: #5eead4;
  box-shadow: 0 0 0 0 rgba(94,234,212,0.6);
  animation: aiUnitPulse 2.4s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes aiUnitPulse {
  0%   { box-shadow: 0 0 0 0 rgba(94,234,212,0.55); }
  70%  { box-shadow: 0 0 0 10px rgba(94,234,212,0); }
  100% { box-shadow: 0 0 0 0 rgba(94,234,212,0); }
}
.ai-unit-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(2rem, 4vw, 2.85rem);
  font-weight: 700; color: #ffffff !important; margin: 0 0 18px;
  line-height: 1.1; letter-spacing: -0.02em;
}
.ai-unit-title__accent {
  background: linear-gradient(135deg, #99f6e4 0%, #5eead4 50%, #2dd4bf 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-style: normal;
}
.ai-unit-desc {
  color: rgba(226,232,240,0.78) !important; font-size: 1.05rem; line-height: 1.65;
  margin: 0 0 32px; max-width: 560px;
}
.ai-unit-stats {
  display: grid; grid-template-columns: repeat(3, 1fr);
  margin: 0 0 32px;
  background: linear-gradient(135deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px; padding: 20px 8px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}
.ai-unit-stat {
  text-align: left; padding: 4px 18px;
  border-left: 1px solid rgba(255,255,255,0.08);
}
.ai-unit-stat:first-child { border-left: none; }
.ai-unit-stat__num {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(1.7rem, 2.8vw, 2.2rem); font-weight: 700; line-height: 1;
  background: linear-gradient(135deg, #ffffff 0%, #5eead4 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  letter-spacing: -0.02em;
}
.ai-unit-stat__unit {
  font-size: 0.55em; font-weight: 600; margin-left: 2px;
  -webkit-text-fill-color: rgba(94,234,212,0.85);
}
.ai-unit-stat__label {
  font-size: 11.5px; color: rgba(226,232,240,0.55) !important;
  margin-top: 8px; line-height: 1.4; font-weight: 500; letter-spacing: 0.2px;
}
.ai-unit-outcomes {
  list-style: none; padding: 0; margin: 0 0 32px;
  display: flex; flex-direction: column; gap: 12px;
}
.ai-unit-outcomes li {
  display: flex; align-items: flex-start; gap: 12px;
  color: rgba(241,245,249,0.88) !important; font-size: 0.97rem; line-height: 1.5;
}
.ai-unit-tick {
  width: 22px !important; height: 22px !important; flex-shrink: 0;
  color: #5eead4;
  background: rgba(94,234,212,0.12);
  border: 1px solid rgba(94,234,212,0.32);
  border-radius: 50%; padding: 3px; margin-top: 1px;
  box-sizing: border-box;
}
.ai-unit-actions {
  display: flex; align-items: center; flex-wrap: wrap; gap: 18px;
}
.ai-unit-cta-primary {
  display: inline-flex; align-items: center; gap: 10px;
  background: linear-gradient(135deg, #2dd4bf 0%, #14b8a6 60%, #0d9488 100%);
  color: #042f2e !important;
  padding: 16px 28px; border-radius: 12px;
  font-weight: 700; font-size: 15px; text-decoration: none;
  letter-spacing: 0.2px;
  box-shadow: 0 12px 32px -8px rgba(20,184,166,0.55), 0 4px 14px rgba(0,0,0,0.3),
              inset 0 1px 0 rgba(255,255,255,0.2);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  border: 1px solid rgba(94,234,212,0.4);
}
.ai-unit-cta-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px -8px rgba(20,184,166,0.65), 0 6px 18px rgba(0,0,0,0.35),
              inset 0 1px 0 rgba(255,255,255,0.25);
}
.ai-unit-cta-arrow { transition: transform 0.25s ease; display: inline-block; }
.ai-unit-cta-primary:hover .ai-unit-cta-arrow { transform: translateX(4px); }
.ai-unit-cta-secondary {
  display: inline-flex; align-items: center; gap: 6px;
  color: #5eead4 !important; font-weight: 600; font-size: 14px;
  text-decoration: none; padding: 10px 4px;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.ai-unit-cta-secondary:hover {
  color: #ffffff !important; border-bottom-color: rgba(94,234,212,0.6);
}

/* Pyramid card */
.ai-unit-card {
  background: linear-gradient(135deg, rgba(255,255,255,0.06) 0%, rgba(94,234,212,0.04) 100%);
  border: 1px solid rgba(94,234,212,0.18);
  border-radius: 18px; padding: 28px;
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
  box-shadow: 0 24px 60px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.06);
  position: relative;
}
.ai-unit-card::after {
  content: '';
  position: absolute; inset: 0; pointer-events: none; border-radius: 18px;
  background: radial-gradient(circle at 100% 0%, rgba(94,234,212,0.12) 0%, transparent 50%);
}
.ai-unit-card__head { margin-bottom: 18px; position: relative; z-index: 1; }
.ai-unit-card__eyebrow {
  font-size: 10.5px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  color: rgba(94,234,212,0.85); margin-bottom: 6px;
}
.ai-unit-card__title {
  color: #ffffff !important; font-family: 'Space Grotesk', sans-serif;
  font-size: 1.18rem; font-weight: 700; margin: 0; letter-spacing: -0.01em;
}
.ai-ladder { display: flex; flex-direction: column; gap: 4px; position: relative; z-index: 1; }
.ai-ladder::before {
  content: ''; position: absolute;
  left: 19px; top: 22px; bottom: 22px; width: 1px;
  background: linear-gradient(180deg, rgba(94,234,212,0.45) 0%, rgba(94,234,212,0.05) 100%);
}
.ai-ladder-item {
  display: grid; grid-template-columns: 28px 1fr 14px;
  align-items: center; gap: 12px;
  padding: 11px 14px 11px 7px;
  border-radius: 10px; text-decoration: none;
  color: rgba(226,232,240,0.78) !important;
  transition: all 0.2s ease;
  position: relative;
}
.ai-ladder-item:hover {
  background: rgba(255,255,255,0.04);
  color: #ffffff !important; transform: translateX(2px);
}
.ai-ladder-item--active {
  background: linear-gradient(135deg, rgba(94,234,212,0.16) 0%, rgba(20,184,166,0.08) 100%);
  border: 1px solid rgba(94,234,212,0.35);
  padding: 10px 13px 10px 6px;
  box-shadow: inset 0 0 0 1px rgba(94,234,212,0.05), 0 4px 14px rgba(20,184,166,0.18);
}
.ai-ladder-item--active:hover {
  background: linear-gradient(135deg, rgba(94,234,212,0.22) 0%, rgba(20,184,166,0.12) 100%);
  transform: none;
}
.ai-ladder-tier {
  width: 28px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700; font-family: 'Space Grotesk', sans-serif;
  color: rgba(226,232,240,0.55);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 50%; position: relative; z-index: 1; letter-spacing: 0.5px;
}
.ai-ladder-item--active .ai-ladder-tier {
  background: linear-gradient(135deg, #5eead4, #14b8a6);
  color: #042f2e; border-color: rgba(94,234,212,0.6);
  box-shadow: 0 0 14px rgba(94,234,212,0.4);
}
.ai-ladder-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ai-ladder-name { font-size: 13.5px; font-weight: 600; color: inherit; }
.ai-ladder-item--active .ai-ladder-name { color: #ffffff; }
.ai-ladder-meta {
  font-size: 11px; color: rgba(226,232,240,0.45); letter-spacing: 0.1px;
}
.ai-ladder-item--active .ai-ladder-meta { color: rgba(94,234,212,0.9); }
.ai-ladder-arrow {
  font-size: 14px; color: rgba(255,255,255,0.25);
  transition: transform 0.2s ease, color 0.2s ease;
}
.ai-ladder-item:hover .ai-ladder-arrow { color: rgba(94,234,212,0.9); transform: translateX(3px); }
.ai-ladder-item--active .ai-ladder-arrow { color: #5eead4; }
.ai-unit-card__foot {
  margin-top: 20px; padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-size: 11.5px; color: rgba(226,232,240,0.55);
  text-align: center; letter-spacing: 0.4px; text-transform: uppercase; font-weight: 600;
  position: relative; z-index: 1;
}
@media (max-width: 900px) {
  .ai-unit-section { padding: 56px 22px 64px !important; }
  .ai-unit-grid { grid-template-columns: 1fr; gap: 36px; }
  .ai-unit-content { max-width: none; }
  .ai-unit-card { max-width: none; }
}
@media (max-width: 560px) {
  .ai-unit-stats { padding: 16px 4px; }
  .ai-unit-stat { padding: 4px 10px; text-align: center; border-left: none; border-top: 1px solid rgba(255,255,255,0.06); }
  .ai-unit-stat:first-child { border-top: none; }
  .ai-unit-actions { width: 100%; gap: 10px; }
  .ai-unit-cta-primary { width: 100%; justify-content: center; }
  .ai-unit-cta-secondary { width: 100%; justify-content: center; padding-top: 4px; padding-bottom: 8px; }
  .ai-unit-title { font-size: 1.95rem; }
}

/* ══════════════════════════════════════════════════════════════
   PROMO VIDEO — premium frame with eyebrow + dual CTA
   ══════════════════════════════════════════════════════════════ */
.promo-video-section {
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(94,234,212,0.06) 0%, transparent 60%),
    linear-gradient(180deg, #050d1a 0%, #081a2e 100%) !important;
  padding: 88px 24px 96px !important;
  position: relative;
}
.promo-video-inner { max-width: 980px; margin: 0 auto; text-align: center; }
.promo-video-eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 11.5px; font-weight: 700; letter-spacing: 1.6px;
  text-transform: uppercase; color: #5eead4 !important;
  background: rgba(94,234,212,0.10);
  border: 1px solid rgba(94,234,212,0.28);
  padding: 7px 14px; border-radius: 999px;
  margin-bottom: 22px;
}
.promo-video-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #5eead4;
  box-shadow: 0 0 10px rgba(94,234,212,0.7);
  flex-shrink: 0;
}
.promo-video-title {
  color: #ffffff !important;
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(1.7rem, 3.2vw, 2.5rem) !important;
  font-weight: 700 !important; line-height: 1.15;
  letter-spacing: -0.02em; margin: 0 0 14px !important;
}
.promo-video-lede {
  color: rgba(226,232,240,0.72) !important;
  font-size: clamp(0.98rem, 1.4vw, 1.08rem);
  line-height: 1.6; max-width: 640px;
  margin: 0 auto 36px !important;
}
.promo-video-frame {
  position: relative; border-radius: 16px; overflow: hidden;
  box-shadow:
    0 30px 80px rgba(0,0,0,0.55),
    0 0 0 1px rgba(94,234,212,0.18),
    0 0 60px rgba(20,184,166,0.10);
  background: #0a1929;
  aspect-ratio: 16 / 9;
  max-width: 920px; margin: 0 auto;
}
.promo-video-frame::before {
  content: '';
  position: absolute; inset: 0;
  border-radius: 16px;
  padding: 1px;
  background: linear-gradient(135deg, rgba(94,234,212,0.4), rgba(20,184,166,0.05) 40%, rgba(94,234,212,0.3));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
}
.promo-video-frame video {
  width: 100% !important; height: 100% !important;
  display: block; object-fit: cover; position: relative; z-index: 0;
  background: #0a1929;
}
.promo-video-actions {
  display: flex; align-items: center; justify-content: center;
  flex-wrap: wrap; gap: 18px; margin-top: 32px;
}
.promo-video-cta-primary {
  display: inline-flex; align-items: center; gap: 10px;
  background: linear-gradient(135deg, #2dd4bf 0%, #14b8a6 60%, #0d9488 100%);
  color: #042f2e !important;
  padding: 15px 26px; border-radius: 12px;
  font-weight: 700; font-size: 14.5px; text-decoration: none;
  letter-spacing: 0.2px;
  box-shadow: 0 12px 32px -8px rgba(20,184,166,0.55), 0 4px 14px rgba(0,0,0,0.3),
              inset 0 1px 0 rgba(255,255,255,0.2);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  border: 1px solid rgba(94,234,212,0.4);
}
.promo-video-cta-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px -8px rgba(20,184,166,0.65), 0 6px 18px rgba(0,0,0,0.35),
              inset 0 1px 0 rgba(255,255,255,0.25);
}
.promo-video-cta-arrow { transition: transform 0.25s ease; display: inline-block; }
.promo-video-cta-primary:hover .promo-video-cta-arrow { transform: translateX(4px); }
.promo-video-cta-secondary {
  display: inline-flex; align-items: center; gap: 6px;
  color: #5eead4 !important; font-weight: 600; font-size: 14px;
  text-decoration: none; padding: 10px 4px;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.promo-video-cta-secondary:hover {
  color: #ffffff !important; border-bottom-color: rgba(94,234,212,0.6);
}
@media (max-width: 700px) {
  .promo-video-section { padding: 60px 18px 72px !important; }
  .promo-video-actions { width: 100%; }
  .promo-video-cta-primary { width: 100%; justify-content: center; }
  .promo-video-cta-secondary { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════════════════════════════════
   FOOTER — premium polish (accred, links, NEW chip, newsletter)
   ══════════════════════════════════════════════════════════════ */

/* Wrap accreditations with a subtle eyebrow label */
.footer-accred-wrap {
  margin-bottom: 48px;
}
.footer-accred-eyebrow {
  text-align: center;
  font-size: 10.5px; font-weight: 700; letter-spacing: 1.8px;
  text-transform: uppercase;
  color: rgba(94,234,212,0.7);
  margin-bottom: 16px;
}
/* Refined accred card — softer than the harsh white slab */
.footer-accred-wrap .footer-accred {
  display: flex !important;
  align-items: center; justify-content: center;
  gap: 38px !important; flex-wrap: wrap;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  border-radius: 16px !important;
  padding: 28px 40px !important;
  margin-bottom: 0 !important;
  border: 1px solid rgba(94,234,212,0.12);
  box-shadow:
    0 20px 48px rgba(0,0,0,0.35),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
}
.footer-accred-wrap .footer-accred img {
  height: 46px !important; width: auto !important;
  opacity: 0.92 !important;
  filter: saturate(0.95);
  transition: transform 0.25s ease, opacity 0.25s ease;
  max-width: 130px; object-fit: contain;
}
.footer-accred-wrap .footer-accred img:hover {
  opacity: 1 !important;
  transform: translateY(-2px);
}
@media (max-width: 1024px) {
  .footer-accred-wrap .footer-accred { gap: 24px !important; padding: 22px 24px !important; }
  .footer-accred-wrap .footer-accred img { height: 38px !important; }
}
@media (max-width: 560px) {
  .footer-accred-wrap .footer-accred { gap: 18px !important; padding: 18px 16px !important; }
  .footer-accred-wrap .footer-accred img { height: 32px !important; }
}

/* Footer link colours — calmer + better contrast */
.footer-col a {
  color: rgba(226,232,240,0.62) !important;
  font-size: 13.5px !important;
  padding: 4px 0 !important;
  transition: color 0.2s ease, transform 0.2s ease;
}
.footer-col a:hover {
  color: #5eead4 !important;
  transform: translateX(2px);
}

/* Featured links (was bright blue/green NEW) — refined teal */
.footer-link-featured {
  color: #ffffff !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center; gap: 8px; flex-wrap: wrap;
}
.footer-link-featured:hover { color: #5eead4 !important; }
.footer-chip-new {
  display: inline-flex; align-items: center;
  font-size: 9.5px; font-weight: 800; letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #042f2e;
  background: linear-gradient(135deg, #5eead4 0%, #14b8a6 100%);
  padding: 2px 7px; border-radius: 999px;
  line-height: 1.4;
  box-shadow: 0 2px 8px rgba(20,184,166,0.35);
}

/* "View all programmes" — pill-style CTA */
.footer-link-viewall {
  display: inline-flex !important;
  align-items: center; gap: 6px;
  margin-top: 14px !important;
  padding: 8px 14px !important;
  background: rgba(94,234,212,0.08);
  border: 1px solid rgba(94,234,212,0.25);
  border-radius: 8px;
  color: #5eead4 !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
  width: fit-content;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.footer-link-viewall:hover {
  background: rgba(94,234,212,0.14) !important;
  border-color: rgba(94,234,212,0.5) !important;
  color: #5eead4 !important;
  transform: none;
}

/* Footer column headings — slightly bolder + more space */
.footer-col h3,
.footer-col h4 {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase;
  color: rgba(94,234,212,0.85) !important;
  margin: 0 0 18px !important;
}

/* Brand copy — slightly stronger */
.footer-brand p {
  color: rgba(226,232,240,0.68) !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
}

/* Phone tap-to-call — make it pop a touch */
.tap-to-call {
  color: rgba(255,255,255,0.85) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}
.tap-to-call:hover { color: #5eead4 !important; }
.footer-email-link { color: rgba(226,232,240,0.55) !important; }
.footer-email-link:hover { color: #5eead4 !important; }

/* Newsletter — more elegant */
.footer-newsletter {
  background: linear-gradient(135deg, rgba(94,234,212,0.06) 0%, rgba(255,255,255,0.02) 100%) !important;
  border: 1px solid rgba(94,234,212,0.15) !important;
  border-radius: 16px !important;
  padding: 28px 32px !important;
  margin-bottom: 32px !important;
  position: relative;
  overflow: hidden;
}
.footer-newsletter::after {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at 100% 0%, rgba(94,234,212,0.08) 0%, transparent 50%);
}
.footer-newsletter-copy h4 {
  color: #ffffff !important;
  font-size: 13px !important;
  letter-spacing: 1.2px !important;
  margin: 0 0 8px !important;
  text-transform: uppercase;
}
.footer-newsletter-copy p {
  color: rgba(226,232,240,0.62) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}
.footer-newsletter-form input[type="email"] {
  background: rgba(0,0,0,0.25) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  padding: 13px 16px !important;
  font-size: 14px !important;
}
.footer-newsletter-form input[type="email"]:focus {
  border-color: rgba(94,234,212,0.55) !important;
  background: rgba(0,0,0,0.35) !important;
  box-shadow: 0 0 0 3px rgba(94,234,212,0.12);
}
.footer-newsletter-form input[type="email"]::placeholder {
  color: rgba(226,232,240,0.35) !important;
}
.footer-newsletter-form button {
  background: linear-gradient(135deg, #2dd4bf 0%, #14b8a6 100%) !important;
  color: #042f2e !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  padding: 13px 22px !important;
  letter-spacing: 0.3px;
  box-shadow: 0 6px 18px -4px rgba(20,184,166,0.5);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.footer-newsletter-form button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px -4px rgba(20,184,166,0.6) !important;
}

/* Footer divider + bottom line */
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  padding-top: 22px !important;
}
.footer-bottom p {
  color: rgba(226,232,240,0.45) !important;
  font-size: 12px !important;
}

/* The whole footer gets a hairline gradient top line for polish */
.footer {
  position: relative;
}
.footer::before {
  content: '';
  position: absolute; left: 0; right: 0; top: 0; height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(94,234,212,0.35) 50%, transparent 100%);
}
