/* ==========================================================
   BEYOND THE UNIFORM – AFRICA SUMMIT
   Hero / Banner Redesign Custom Stylesheet
   Brand palette: #060e06 (dark bg) | #2e8b3d (brand green) | #3aaa52 (light green) | #ffffff
   ========================================================== */


/* ---- CSS Custom Properties (Brand Tokens) ---- */
:root {
  --btu-green:        #063a20;
  --btu-green-brand:  #0b4d2c;
  --btu-green-light:  #166534;
  --btu-green-dark:   #042213;
  --btu-gold:         #d48806;
  --btu-gold-hover:   #b86e00;
  --btu-gold-light:   #f59e0b;
  --btu-black:        #0a0f0c;
  --btu-dark:         #0d1510;
  --btu-dark-2:       #111b15;
  --btu-dark-3:       #18261e;
  --btu-charcoal:     #111827;
  --btu-charcoal-2:   #1f2937;
  --btu-slate:        #4b5563;
  --btu-cream:        #faf8f4;
  --btu-white:        #ffffff;
  --btu-gray:         #d1d5db;
  --btu-gray-light:   #f3f4f6;
  --btu-text-dark:    #111827;
  --btu-text-muted:   #4b5563;
  --btu-utility-bg:   #08140d;
  --btu-nav-bg:       #ffffff;
  --btu-nav-shadow:   0 2px 20px rgba(0,0,0,0.06);
  --btu-transition:   all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --btu-font-head:    'Outfit', sans-serif;
  --btu-font-body:    'Outfit', sans-serif;
}

/* ================================================================
   1. UTILITY TOP BAR
   ================================================================ */
.header-utility-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1001;
  background: var(--btu-utility-bg);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 7px 0;
  transition: var(--btu-transition);
}

.utility-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.utility-left {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.utility-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  color: rgba(255,255,255,0.82);
  text-decoration: none;
  transition: color 0.25s;
  font-family: var(--btu-font-body);
  white-space: nowrap;
}

.utility-item i {
  font-size: 11px;
  color: var(--btu-gold-light);
}

a.utility-item:hover {
  color: var(--btu-gold-light);
}

.utility-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

.utility-follow-label {
  font-size: 12px;
  color: rgba(255,255,255,0.55);
  font-family: var(--btu-font-body);
  white-space: nowrap;
}

.utility-socials {
  display: flex;
  align-items: center;
  gap: 6px;
}

.util-social {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(255,255,255,0.07);
  color: rgba(255,255,255,0.80);
  font-size: 11px;
  text-decoration: none;
  transition: var(--btu-transition);
  border: 1px solid rgba(255,255,255,0.12);
}

.util-social:hover {
  background: var(--btu-green);
  color: #fff;
  border-color: var(--btu-green);
  transform: translateY(-1px);
}

/* ================================================================
   2. MAIN NAVBAR
   ================================================================ */
.main-header {
  position: fixed;
  top: 38px; /* below utility bar */
  left: 0;
  width: 100%;
  z-index: 1000;
  transition: var(--btu-transition);
}

.main-header .main-box {
  background: var(--btu-nav-bg);
  box-shadow: var(--btu-nav-shadow);
  padding: 0;
  transition: var(--btu-transition);
}

.nav-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 96px;
}

/* Logo */
.logo-box {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 6px 0;
}

.logo-box a {
  display: flex;
  align-items: center;
}

.logo-box img {
  height: 80px;
  max-height: 84px;
  width: auto;
  display: block;
  object-fit: contain;
  transition: var(--btu-transition);
}

/* Main Menu — centered */
.main-header .main-menu {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.main-header .navigation {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-header .navigation > li {
  position: relative;
  float: none;
  margin-left: 0;
}

.main-header .navigation > li > a {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #062814;
  padding: 10px 14px;
  text-decoration: none;
  transition: color 0.25s;
  position: relative;
  white-space: nowrap;
  font-family: var(--btu-font-body);
  letter-spacing: 0.03em;
}

.main-header .navigation > li > a::after {
  content: '';
  position: absolute;
  bottom: 0px;
  left: 14px;
  right: 14px;
  height: 3px;
  background: var(--btu-gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
  border-radius: 2px;
}

.main-header .navigation > li.current > a,
.main-header .navigation > li:hover > a {
  color: #062814 !important;
}

.main-header .navigation > li.current > a::after,
.main-header .navigation > li:hover > a::after {
  transform: scaleX(1);
}

.nav-caret {
  font-size: 10px;
  transition: transform 0.25s;
}

.main-header .navigation > li:hover > a .nav-caret {
  transform: rotate(180deg);
}

/* Dropdown menus */
.main-header .navigation > li > ul {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 200px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.15);
  padding: 8px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.25s ease;
  z-index: 999;
  border-top: 3px solid var(--btu-green);
  list-style: none;
}

.main-header .navigation > li:hover > ul {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.main-header .navigation > li > ul > li > a {
  display: block;
  font-size: 13.5px;
  font-weight: 400;
  color: #2c3e2c;
  padding: 9px 20px;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
  font-family: var(--btu-font-body);
}

.main-header .navigation > li > ul > li > a:hover {
  background: rgba(46,139,61,0.08);
  color: var(--btu-green);
}

/* Nav Right Actions */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

/* Search button */
.search-box-outer {
  position: relative;
}

.search-box-btn {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #1a2e1a !important;
  font-size: 15px;
  cursor: pointer;
  transition: var(--btu-transition);
  background: transparent;
  border: 1px solid transparent;
}

.search-box-btn:hover {
  background: rgba(46,139,61,0.10);
  color: var(--btu-green) !important;
  border-color: rgba(46,139,61,0.20);
}

.search-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 280px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.15);
  padding: 12px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.25s ease;
  z-index: 999;
}

.search-dropdown.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.search-dropdown form {
  display: flex;
  gap: 6px;
}

.search-dropdown input {
  flex: 1;
  border: 1.5px solid #e0e8e0;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 13px;
  font-family: var(--btu-font-body);
  color: #222;
  outline: none;
  transition: border-color 0.2s;
}

.search-dropdown input:focus {
  border-color: var(--btu-green);
}

.search-dropdown button {
  background: var(--btu-green);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 13px;
  transition: background 0.2s;
}

.search-dropdown button:hover {
  background: var(--btu-green-dark);
}

/* Cart */
.nav-cart-btn,
.cart-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: #062814 !important;
  font-size: 17px;
  text-decoration: none;
  transition: var(--btu-transition);
  background: transparent;
  border: 1px solid transparent;
}

.nav-cart-btn:hover,
.cart-btn:hover {
  background: rgba(6, 40, 20, 0.08);
  color: var(--btu-gold) !important;
}

.cart-badge {
  position: absolute;
  top: -1px;
  right: -1px;
  background: #062814;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--btu-font-body);
  line-height: 1;
  border: 1.5px solid #fff;
}

/* Get Tickets button (Gold Nav Button) */
.btn-get-tickets {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: #c88214;
  background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
  color: #ffffff !important;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 11px 22px;
  border-radius: 8px;
  text-decoration: none;
  transition: var(--btu-transition);
  font-family: var(--btu-font-body);
  white-space: nowrap;
  box-shadow: 0 4px 15px rgba(200, 130, 20, 0.35);
  border: none;
}

.btn-get-tickets:hover {
  background: linear-gradient(135deg, #b45309 0%, #92400e 100%);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(200, 130, 20, 0.45);
  color: #ffffff !important;
}

/* Fixed (scrolled) header state - Always white background & dark text matching top of page */
.main-header.fixed-header {
  top: 0 !important;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08) !important;
  background-color: #ffffff !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.main-header.fixed-header .main-box {
  padding: 0 !important;
  background-color: #ffffff !important;
}

/* Nav links in sticky/scrolled state — dark text on white, same as top of page */
.main-header.fixed-header .navigation > li > a {
  color: #062814 !important;
}

.main-header.fixed-header .navigation > li.current > a,
.main-header.fixed-header .navigation > li:hover > a {
  color: #062814 !important;
}

.main-header.fixed-header .navigation > li > a::after {
  background: var(--btu-gold) !important;
}

.main-header.fixed-header .navigation > li.current > a::after,
.main-header.fixed-header .navigation > li:hover > a::after {
  transform: scaleX(1) !important;
}

.main-header.fixed-header .navigation > li > a .nav-caret {
  color: #062814 !important;
}

.main-header.fixed-header .navigation > li.current > a .nav-caret,
.main-header.fixed-header .navigation > li:hover > a .nav-caret {
  color: #062814 !important;
}

.header-utility-bar.hidden {
  transform: translateY(-100%);
}

/* ================================================================
   3. HERO SECTION (LIGHT SPLIT LAYOUT)
   ================================================================ */
.hero-split-section {
  position: relative;
  margin-top: 114px; /* below utility bar (38px) + nav (76px) */
  background: #ffffff;
  overflow: hidden;
  padding: 30px 0 60px;
}

.hero-split-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1480px;
  margin: 0 auto;
  padding-left: clamp(20px, 4.5vw, 65px);
  padding-right: 0; /* Right photo extends flush to viewport edge */
  gap: 20px;
}

/* ---- Left Column (Content ~45%) ---- */
.hero-left-col {
  flex: 0 0 46%;
  max-width: 46%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 20px 20px 0;
  z-index: 5;
}

.hero-left-inner {
  max-width: 580px;
}

/* Eyebrow Tag */
.hero-eyebrow-tag {
  font-family: var(--btu-font-body);
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--btu-gold);
  margin-bottom: 16px;
  display: inline-block;
}

.eyebrow-mobile {
  display: none !important;
}

.hero-mobile-subheading {
  display: none !important;
}

.hero-mobile-meta {
  display: none !important;
}

.btn-arrow-right {
  display: none !important;
}

/* Headline */
.hero-split-title {
  font-family: var(--btu-font-head);
  font-size: clamp(32px, 3.2vw, 48px);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin-bottom: 18px;
  display: flex;
  flex-direction: column;
}

.title-line-dark {
  color: #062814;
  white-space: nowrap;
}

.title-line-gold {
  color: var(--btu-gold);
  margin-top: 2px;
  white-space: nowrap;
}

.title-underline-accent {
  display: block;
  width: 130px;
  height: 3.5px;
  background: var(--btu-gold);
  border-radius: 2px;
  margin-top: 14px;
}

/* Subtext in Dark Gray */
.hero-split-desc {
  font-family: var(--btu-font-body);
  font-size: 18px;
  line-height: 1.65;
  color: #475569;
  margin-bottom: 30px;
  max-width: 480px;
}

/* CTA Buttons */
.hero-split-buttons {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* Solid Dark Green Get Tickets */
.btn-hero-tickets {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #d88300, #bf6f00);
  color: #ffffff !important;
  font-family: var(--btu-font-body);
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 13px 26px;
  border-radius: 8px;
  text-decoration: none;
  transition: var(--btu-transition);
  box-shadow: 0 4px 18px rgba(212, 136, 6, 0.35);
  border: none;
  white-space: nowrap;
}

.btn-hero-tickets:hover {
  background: linear-gradient(135deg, #ea9000, #cf7900);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(212, 136, 6, 0.45);
  color: #ffffff !important;
}

.btn-hero-tickets i {
  font-size: 14px;
  color: #ffffff;
}

/* Secondary Action: Watch Trailer (Desktop) */
.btn-hero-trailer {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #ffffff;
  color: #062814 !important;
  font-family: var(--btu-font-body);
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 12px 22px;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: 0 2px 12px rgba(6, 40, 20, 0.06);
  border: 1.5px solid #d48806;
  white-space: nowrap;
}

.btn-hero-trailer:hover {
  background: #fef9ef;
  border-color: #b45309;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(212, 136, 6, 0.20);
  color: #062814 !important;
}

.trailer-play-icon {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #d48806;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10.5px;
  padding-left: 2px;
  flex-shrink: 0;
  transition: all 0.25s ease;
}

.btn-hero-trailer:hover .trailer-play-icon {
  background: #b45309;
  transform: scale(1.08);
}

.hero-countdown-pill {
  display: none !important;
}

/* ---- Right Column (Photo & Overlapping Info Bar ~55%) ---- */
.hero-right-col {
  flex: 0 0 55%;
  max-width: 55%;
  position: relative;
  display: flex;
  align-items: center;
}

.hero-stage-visual {
  position: relative;
  width: 100%;
  height: 520px;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  overflow: hidden;
  box-shadow: -10px 15px 40px rgba(0, 0, 0, 0.08);
}

.hero-stage-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
  display: block;
  filter: brightness(1.08) contrast(1.06) saturate(1.10);
  transition: filter 0.4s ease;
}

/* Soft gradient fade on left edge blending into white background */
.hero-stage-fade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    #ffffff 0%,
    rgba(255, 255, 255, 0.96) 8%,
    rgba(255, 255, 255, 0.60) 22%,
    rgba(255, 255, 255, 0.15) 40%,
    rgba(255, 255, 255, 0) 55%
  );
  pointer-events: none;
  z-index: 2;
}

/* Floating Overlapping Dark Green Info Bar */
.hero-floating-info-bar {
  position: absolute;
  bottom: 22px;
  right: 24px;
  z-index: 4;
  background: rgba(4, 26, 12, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  padding: 14px 22px;
  display: flex;
  align-items: center;
  gap: 22px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.50);
  max-width: calc(100% - 36px);
}

.info-bar-block {
  display: flex;
  align-items: center;
  gap: 12px;
}

.info-bar-badge {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(200, 130, 20, 0.18);
  border: 1px solid rgba(200, 130, 20, 0.45);
  color: #eab308;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
}

.info-bar-details {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.info-bar-primary {
  font-family: var(--btu-font-body);
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  white-space: nowrap;
}

.info-bar-secondary {
  font-family: var(--btu-font-body);
  font-size: 11.5px;
  font-weight: 400;
  color: #a7f3d0;
  white-space: nowrap;
}

/* ================================================================
   4. COUNTDOWN BAR (EDITORIAL DESIGN WITH AFRICA WATERMARKS & WAVE)
   ================================================================ */
.countdown-bar-wrapper {
  position: relative;
  z-index: 10;
  margin-top: -30px;
  padding: 0 24px 16px;
  background: transparent;
}

.countdown-card-container {
  max-width: 1060px;
  margin: 0 auto;
  width: 100%;
}

.countdown-card-box {
  position: relative;
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 14px 44px rgba(6, 40, 20, 0.08), 0 4px 16px rgba(0, 0, 0, 0.03);
  border: 1.5px solid #edf4ed;
  overflow: hidden;
  padding: 18px 30px 0;
  text-align: center;
}

/* Watermarks */
.countdown-watermark-africa {
  position: absolute;
  top: 2px;
  left: -15px;
  width: 260px;
  height: 280px;
  pointer-events: none;
  z-index: 1;
  user-select: none;
}

.countdown-watermark-africa svg {
  width: 100%;
  height: 100%;
}

.countdown-watermark-pattern {
  position: absolute;
  top: 6px;
  right: -15px;
  width: 200px;
  height: 200px;
  pointer-events: none;
  z-index: 1;
  user-select: none;
}

.countdown-watermark-pattern svg {
  width: 100%;
  height: 100%;
}

.countdown-card-content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Eyebrow Header */
.countdown-header-top {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 4px;
  width: 100%;
  max-width: 560px;
}

.countdown-top-line {
  flex: 1;
  height: 1.5px;
  background: linear-gradient(90deg, transparent, #d48806, transparent);
  max-width: 80px;
}

.countdown-top-label {
  font-family: var(--btu-font-body);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: #062814;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Serif Headline */
.countdown-serif-heading {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(28px, 3vw, 35px);
  font-weight: 800;
  color: #062814;
  margin: 0 0 3px;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.countdown-subtext {
  font-family: var(--btu-font-body);
  font-size: 13.5px;
  color: #526655;
  margin: 0 0 13px;
  max-width: 580px;
  line-height: 1.38;
  font-weight: 450;
}

/* Center Wrapper (Tiles + Tagline) */
.countdown-center-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 12px;
  width: 100%;
}

.countdown-tiles-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* Individual Tiles (Condensed sizing matching mockup) */
.countdown-box-tile {
  background: #ffffff;
  border: 1.5px solid #e2ece2;
  border-radius: 14px;
  padding: 9px 13px 8px;
  min-width: 88px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 4px 14px rgba(6, 40, 20, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.9);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  position: relative;
}

.countdown-box-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(6, 40, 20, 0.08);
  border-color: #cbdccb;
}

.countdown-tile-icon-badge {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #eef4ee;
  color: #062814;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  margin-bottom: 3px;
  border: 1px solid rgba(6, 40, 20, 0.08);
}

.countdown-tile-number {
  font-family: var(--btu-font-head);
  font-size: clamp(26px, 2.5vw, 32px);
  font-weight: 900;
  color: #062814;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
  margin-bottom: 2px;
}

.countdown-tile-label {
  font-family: var(--btu-font-body);
  font-size: 9px;
  font-weight: 800;
  color: #556658;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.countdown-tile-gold-bar {
  width: 16px;
  height: 2px;
  background: #d48806;
  border-radius: 2px;
  display: block;
}

/* Dual Dot Colon Separator */
.countdown-tile-colon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 1px;
}

.colon-dot {
  width: 3.5px;
  height: 3.5px;
  border-radius: 50%;
  background: #d48806;
}

/* Right-Side Tagline */
.countdown-tagline-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  margin-left: 4px;
}

.countdown-tagline-text {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 16.5px;
  font-weight: 600;
  color: #062814;
  line-height: 1.22;
  margin-bottom: 4px;
}

.countdown-tagline-text span {
  display: block;
}

.countdown-tagline-gold-line {
  width: 32px;
  height: 2px;
  background: #d48806;
  border-radius: 2px;
  display: block;
}

/* Info Pill Bar (Gold dividers matching mockup) */
.countdown-info-pill-bar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: #f7f6f2;
  border: 1px solid #e6ebe3;
  border-radius: 50px;
  padding: 6px 18px;
  margin-bottom: 10px;
  max-width: 92%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}

.countdown-pill-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--btu-font-body);
  font-size: 11.5px;
  font-weight: 700;
  color: #1e3a24;
  white-space: nowrap;
}

.pill-item-icon {
  color: #062814;
  font-size: 12px;
}

.countdown-pill-divider {
  width: 1px;
  height: 13px;
  background: #d48806;
}

/* Centered CTA Button (Overlaps snugly into wave dip with NO gap) */
.countdown-cta-wrap {
  position: relative;
  z-index: 5;
  margin-bottom: 0;
}

.btn-countdown-tickets {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
  color: #ffffff !important;
  font-family: var(--btu-font-body);
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 9px 28px;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(212, 136, 6, 0.40);
  transition: all 0.25s ease;
  border: none;
  cursor: pointer;
}

.btn-countdown-tickets:hover {
  background: linear-gradient(135deg, #b45309 0%, #92400e 100%);
  transform: translateY(-2px);
  box-shadow: 0 7px 22px rgba(212, 136, 6, 0.50);
  color: #ffffff !important;
}

.btn-countdown-tickets i {
  transition: transform 0.25s ease;
  font-size: 12px;
}

.btn-countdown-tickets:hover i {
  transform: translateX(4px);
}

/* Bottom Wave (Pulls up underneath button, button nestles into the dip) */
.countdown-bottom-wave {
  position: relative;
  width: 100%;
  height: 52px;
  line-height: 0;
  overflow: hidden;
  margin-top: -24px;
  z-index: 2;
}

.countdown-bottom-wave svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* ================================================================
   6B. INFINITE SCROLLING MARQUEE TICKER
   ================================================================ */
.marquee-ticker-section {
  position: relative;
  background: linear-gradient(90deg, #060e06 0%, #0d2814 50%, #060e06 100%);
  border-top: 1.5px solid rgba(46, 139, 61, 0.35);
  border-bottom: 1.5px solid rgba(46, 139, 61, 0.35);
  padding: 16px 0;
  overflow: hidden;
  user-select: none;
  z-index: 4;
}

.marquee-ticker-section::before,
.marquee-ticker-section::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100px;
  z-index: 2;
  pointer-events: none;
}

.marquee-ticker-section::before {
  left: 0;
  background: linear-gradient(90deg, #060e06 0%, transparent 100%);
}

.marquee-ticker-section::after {
  right: 0;
  background: linear-gradient(270deg, #060e06 0%, transparent 100%);
}

.marquee-track {
  display: flex;
  width: max-content;
  animation: marqueeContinuous 30s linear infinite;
  will-change: transform;
}

.marquee-ticker-section:hover .marquee-track {
  animation-play-state: paused;
}

.marquee-content {
  display: flex;
  align-items: center;
  gap: 40px;
  padding-right: 40px;
  white-space: nowrap;
}

.marquee-item {
  font-family: var(--btu-font-head);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  transition: color 0.25s ease;
}

.marquee-item:hover {
  color: var(--btu-green-light);
}

.marquee-star {
  color: var(--btu-gold);
  font-size: 14px;
  display: inline-block;
  text-shadow: 0 0 10px rgba(229, 169, 59, 0.5);
}

@keyframes marqueeContinuous {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* ================================================================
   7. BRAND OVERRIDES FOR COMING SOON & SEARCH MODAL
   ================================================================ */

/* Override coming soon countdown to match brand green instead of pink */
.coming-soon-section .outer-box {
  margin-top: 40px !important;
  background: linear-gradient(135deg, #1e6128 0%, #0d1a0d 100%) !important;
  border-radius: 12px;
  border: 1px solid rgba(46,139,61,0.30);
  box-shadow: 0 10px 40px rgba(0,0,0,0.20) !important;
}

/* Override Search Popup with Brand Dark Green */
.search-popup {
  background: rgba(6, 14, 6, 0.96) !important;
}

.search-popup .search-form fieldset input[type="submit"] {
  background: var(--btu-green) !important;
  border-radius: 6px;
}

.search-popup .search-form fieldset input[type="submit"]:hover {
  background: var(--btu-green-dark) !important;
}

.search-popup .recent-searches li a:hover {
  color: var(--btu-green-light) !important;
  border-color: var(--btu-green-light) !important;
}

/* ================================================================
   8. RESPONSIVE BREAKPOINTS
   ================================================================ */

/* ================================================================
   8. MOBILE NAVIGATION DRAWER & RESPONSIVE BREAKPOINTS
   ================================================================ */

/* Hide mobile header actions on desktop */
.mobile-header-actions {
  display: none;
  align-items: center;
  gap: 12px;
}

.mobile-header-cart-btn {
  position: relative;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(46,139,61,0.10);
  border: 1px solid rgba(46,139,61,0.25);
  color: var(--btu-green-light) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  text-decoration: none;
}

.mobile-cart-badge {
  position: absolute;
  top: 1px;
  right: 1px;
  background: var(--btu-green);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Single Mobile Hamburger Button */
.mobile-hamburger-btn {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #f1f5f1;
  border: 1.5px solid rgba(6, 40, 20, 0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  cursor: pointer;
  padding: 0;
  transition: all 0.25s ease;
}

.mobile-hamburger-btn:hover {
  background: #062814;
  border-color: #062814;
}

.hamburger-line {
  width: 18px;
  height: 2px;
  background: #062814;
  border-radius: 2px;
  transition: all 0.25s ease;
}

.mobile-hamburger-btn:hover .hamburger-line {
  background: #ffffff;
}

/* Hide legacy togglers to prevent duplicate icons */
.mobile-nav-toggler,
.navbar-toggler {
  display: none !important;
}

/* Off-Canvas Mobile Navigation Drawer - Always White Background */
.mobile-nav-drawer {
  position: fixed;
  inset: 0;
  z-index: 999999;
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0.3s ease;
}

.mobile-nav-drawer.open {
  visibility: visible;
  pointer-events: auto;
}

.mobile-nav-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity 0.35s ease;
}

.mobile-nav-drawer.open .mobile-nav-backdrop {
  opacity: 1;
}

.mobile-nav-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 320px;
  max-width: 86vw;
  background: #ffffff;
  border-left: 1px solid rgba(6, 40, 20, 0.12);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: -8px 0 36px rgba(0, 0, 0, 0.15);
  z-index: 2;
  overflow-y: auto;
}

.mobile-nav-drawer.open .mobile-nav-panel {
  transform: translateX(0);
}

.mobile-nav-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid #edf2ed;
  background: #ffffff;
}

.mobile-nav-logo img {
  height: 42px;
  width: auto;
  display: block;
}

.mobile-nav-close-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f1f5f1;
  border: 1px solid rgba(6, 40, 20, 0.12);
  color: #062814;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.25s ease;
}

.mobile-nav-close-btn:hover {
  background: #062814;
  border-color: #062814;
  color: #ffffff;
  transform: rotate(90deg);
}

.mobile-nav-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  background: #ffffff;
}

.mobile-nav-list {
  list-style: none;
  padding: 16px 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.mobile-nav-link {
  display: flex;
  align-items: center;
  position: relative;
  padding: 13px 24px;
  font-size: 15px;
  font-weight: 700;
  color: #062814;
  text-decoration: none;
  border-left: 4px solid transparent;
  transition: all 0.25s ease;
  font-family: var(--btu-font-body);
  letter-spacing: 0.02em;
}

.mobile-nav-link:hover {
  color: var(--btu-gold);
  border-left-color: var(--btu-gold);
  background: rgba(196, 122, 6, 0.06);
}

/* Active link in mobile drawer ("HOME" or current page) */
.mobile-nav-list li.current > .mobile-nav-link {
  color: #b45309;
  border-left-color: #d97706;
  background: rgba(217, 119, 6, 0.08);
  font-weight: 800;
}

.mobile-nav-list li.current > .mobile-nav-link::after {
  content: '';
  position: absolute;
  bottom: 8px;
  left: 24px;
  width: 36px;
  height: 2.5px;
  background: #d97706;
  border-radius: 2px;
}

/* Mobile Dropdown Submenus */
.mobile-dropdown-item {
  position: relative;
}

.mobile-dropdown-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mobile-dropdown-header .mobile-nav-link {
  flex: 1;
}

.mobile-submenu-toggle {
  width: 36px;
  height: 36px;
  background: transparent;
  border: none;
  color: #062814;
  font-size: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 14px;
  transition: transform 0.25s ease;
}

.mobile-dropdown-item.open .mobile-submenu-toggle {
  transform: rotate(180deg);
}

.mobile-submenu {
  list-style: none;
  padding: 4px 0 8px 36px;
  margin: 0;
  display: none;
  background: #f8faf8;
  border-left: 2px solid rgba(46,139,61,0.25);
  margin-left: 24px;
}

.mobile-dropdown-item.open .mobile-submenu {
  display: block;
}

.mobile-submenu li a {
  display: block;
  padding: 8px 16px;
  font-size: 13.5px;
  color: #475569;
  text-decoration: none;
  transition: color 0.2s;
  font-family: var(--btu-font-body);
}

.mobile-submenu li a:hover {
  color: var(--btu-gold);
}

/* Mobile Drawer Bottom */
.mobile-drawer-bottom {
  padding: 24px 20px;
  margin-top: auto;
  border-top: 1px solid #edf2ed;
  background: #fafbfa;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.btn-mobile-drawer-tickets {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
  color: #ffffff !important;
  padding: 14px 20px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 4px 16px rgba(200, 130, 20, 0.40);
  font-family: var(--btu-font-body);
  transition: all 0.25s ease;
}

.btn-mobile-drawer-tickets:hover {
  background: linear-gradient(135deg, #b45309 0%, #92400e 100%);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(200, 130, 20, 0.50);
  color: #ffffff !important;
}

.mobile-drawer-socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.mobile-drawer-socials a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid rgba(6, 40, 20, 0.15);
  color: #062814 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  transition: all 0.25s ease;
}

.mobile-drawer-socials a:hover {
  background: #062814;
  border-color: #062814;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(6, 40, 20, 0.25);
}

/* ================================================================
   RESPONSIVE BREAKPOINTS (Desktop -> Tablet -> Mobile)
   ================================================================ */

/* ================================================================
   RESPONSIVE BREAKPOINTS (Desktop -> Tablet -> Mobile)
   ================================================================ */

/* Large Tablets & Small Laptops (<= 1199px) */
@media (max-width: 1199px) {
  .hero-split-layout {
    gap: 15px;
    padding-left: 24px;
  }
  .hero-left-col {
    flex: 0 0 48%;
    max-width: 48%;
    padding-right: 10px;
  }
  .hero-right-col {
    flex: 0 0 52%;
    max-width: 52%;
  }
  .hero-stage-visual {
    height: 480px;
  }
  .hero-floating-info-bar {
    gap: 14px;
    padding: 12px 16px;
    bottom: 16px;
    right: 16px;
  }
  .info-bar-primary {
    font-size: 12px;
  }
  .info-bar-secondary {
    font-size: 10.5px;
  }
}

/* Tablets & Mobile (<= 991px) */
@media (max-width: 991px) {
  .main-menu,
  .nav-actions {
    display: none !important;
  }
  .mobile-header-actions {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .mobile-cart-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #062814 !important;
    font-size: 19px;
    text-decoration: none;
  }
  .mobile-cart-btn .cart-badge {
    position: absolute;
    top: -8px;
    right: -10px;
    background: #062814;
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid #ffffff;
  }
  .mobile-hamburger-btn .hamburger-line {
    background: #062814 !important;
  }
  .utility-item.utility-venue {
    display: none;
  }
  .nav-container {
    height: 80px;
    min-height: 80px;
  }
  .logo-box img {
    height: 72px;
  }
}

/* Mobile Devices (<= 768px) */
@media (max-width: 768px) {
  .header-utility-bar {
    display: none;
  }
  .main-header {
    top: 0 !important;
    position: fixed !important;
    background: #ffffff !important;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.06) !important;
    border-bottom: 1px solid #f1f5f1 !important;
  }
  .main-header .main-box {
    background: #ffffff !important;
  }
  .mobile-header-actions {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .mobile-cart-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #062814 !important;
    font-size: 19px;
    text-decoration: none;
  }
  .mobile-cart-btn .cart-badge {
    position: absolute;
    top: -8px;
    right: -10px;
    background: #062814;
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid #ffffff;
  }
  .mobile-hamburger-btn .hamburger-line {
    background: #062814 !important;
  }
  .nav-container {
    height: 70px;
    min-height: 70px;
    padding: 0 16px;
  }
  .logo-box img {
    height: 56px;
    width: auto;
  }

  /* Full-bleed Photo Hero Background */
  .hero-split-section {
    position: relative;
    margin-top: 70px;
    padding: 24px 0 54px;
    background-image: linear-gradient(180deg, rgba(255,255,255,.76) 0%, rgba(255,255,255,.88) 46%, rgba(255,255,255,.96) 100%), url('../images/main-slider/hero1.jpeg?v=2') !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    overflow: hidden;
  }

  /* Soft Gradient Scrim behind text overlay */
  .hero-split-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to right,
      rgba(255, 255, 255, 0.96) 0%,
      rgba(255, 255, 255, 0.92) 46%,
      rgba(255, 255, 255, 0.60) 72%,
      rgba(255, 255, 255, 0.12) 100%
    );
    pointer-events: none;
    z-index: 1;
  }

  .hero-split-layout {
    position: relative;
    z-index: 2;
    padding: 0 18px;
    gap: 0;
    flex-direction: column;
  }

  .hero-left-col {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0;
    text-align: left;
    z-index: 2;
  }

  .hero-left-inner {
    max-width: 100%;
  }

  .eyebrow-desktop {
    display: none !important;
  }

  .eyebrow-mobile {
    display: inline !important;
    font-family: var(--btu-font-body);
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: #1e3a29;
    text-transform: uppercase;
    margin-bottom: 8px;
  }

  .hero-split-title {
    font-size: clamp(34px, 8.8vw, 42px);
    line-height: 1.05;
    margin-bottom: 4px;
  }

  .title-line-dark {
    color: #062814;
  }

  .title-line-gold {
    color: #d48806;
  }

  .hero-mobile-subheading {
    display: block !important;
    font-family: var(--btu-font-head);
    font-size: 16.5px;
    font-weight: 900;
    letter-spacing: 0.08em;
    color: #1e293b;
    text-transform: uppercase;
    margin-top: 4px;
    margin-bottom: 8px;
  }

  .title-underline-accent {
    width: 50px;
    height: 3px;
    background: #d48806;
    margin-top: 0;
    margin-bottom: 16px;
    border-radius: 2px;
  }

  .hero-split-desc {
    font-size: 14px;
    line-height: 1.55;
    color: #334155;
    margin-bottom: 20px;
    max-width: 290px;
    font-weight: 450;
  }

  /* Mobile Meta Rows (Date & Venue) */
  .hero-mobile-meta {
    display: flex !important;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 22px;
  }

  .mobile-meta-item {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .mobile-meta-icon {
    font-size: 20px;
    color: #062814;
    width: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .mobile-meta-text {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
  }

  .mobile-meta-primary {
    font-family: var(--btu-font-body);
    font-size: 14px;
    font-weight: 800;
    color: #062814;
  }

  .mobile-meta-secondary {
    font-family: var(--btu-font-body);
    font-size: 11.5px;
    font-weight: 500;
    color: #475569;
  }

  /* Mobile Stacked Buttons */
  .hero-split-buttons {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    width: 100%;
    margin-bottom: 8px;
  }

  .btn-hero-tickets {
    width: 100%;
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    background: #d48806 !important;
    border: none !important;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.05em;
    padding: 14px 20px;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(212, 136, 6, 0.35);
  }

  .btn-hero-tickets i:first-child {
    font-size: 16px;
    color: #ffffff;
  }

  .btn-arrow-right {
    display: inline-block !important;
    margin-left: auto;
  flex-shrink: 0;
    font-size: 14px;
    color: #ffffff;
  }

  .btn-hero-trailer {
    width: 100%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #ffffff !important;
    border: 1.5px solid #d48806 !important;
    color: #062814 !important;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 12px 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(6, 40, 20, 0.06);
  }

  .trailer-play-icon {
    width: 26px;
    height: 26px;
    background: #ffffff;
    color: #062814;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    padding-left: 2px;
    flex-shrink: 0;
  }

  .hero-countdown-pill {
    display: none !important;
  }

  /* Hide right column since background image is full-bleed */
  .hero-right-col {
    display: none !important;
  }

  /* Countdown Section on Mobile (Editorial Design) */
  .countdown-bar-wrapper {
    position: relative;
    z-index: 5;
    margin-top: -26px;
    padding: 0 14px 16px;
    display: block !important;
  }

  .countdown-card-box {
    padding: 20px 14px 0;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(6, 40, 20, 0.08);
  }

  .countdown-watermark-africa {
    width: 190px;
    height: 210px;
    opacity: 0.55;
  }

  .countdown-watermark-pattern {
    width: 150px;
    height: 150px;
    opacity: 0.55;
  }

  .countdown-header-top {
    gap: 8px;
    margin-bottom: 5px;
  }

  .countdown-top-line {
    max-width: 36px;
  }

  .countdown-top-label {
    font-size: 9.5px;
    letter-spacing: 0.10em;
  }

  .countdown-serif-heading {
    font-size: 25px;
    margin-bottom: 4px;
  }

  .countdown-subtext {
    font-size: 12.5px;
    margin-bottom: 14px;
    line-height: 1.35;
  }

  .countdown-center-wrapper {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 12px;
  }

  .countdown-tiles-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    width: 100%;
    max-width: 300px;
  }

  .countdown-tile-colon {
    display: none;
  }

  .countdown-box-tile {
    min-width: 0;
    padding: 10px 8px 8px;
    border-radius: 12px;
  }

  .countdown-tile-icon-badge {
    width: 28px;
    height: 28px;
    font-size: 12px;
    margin-bottom: 4px;
  }

  .countdown-tile-number {
    font-size: 24px;
  }

  .countdown-tile-label {
    font-size: 8.5px;
  }

  .countdown-tagline-col {
    align-items: center;
    text-align: center;
    margin-left: 0;
  }

  .countdown-tagline-text {
    font-size: 15.5px;
    margin-bottom: 3px;
  }

  .countdown-info-pill-bar {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 12px;
    margin-bottom: 12px;
  }

  .countdown-pill-divider {
    display: none;
  }

  .countdown-pill-item {
    font-size: 12px;
    white-space: normal;
    text-align: left;
  }

  .countdown-cta-wrap {
    position: relative;
    z-index: 5;
    margin-bottom: 0;
  }

  .btn-countdown-tickets {
    width: 100%;
    max-width: 260px;
    padding: 10px 22px;
    font-size: 13px;
  }

  .countdown-bottom-wave {
    height: 44px;
    margin-top: -18px;
    position: relative;
    z-index: 2;
  }

  .summit-stats-row-wrapper {
    padding: 24px 16px;
  }
  .summit-stats-container {
    flex-direction: column;
    gap: 14px;
  }
  .summit-stat-item {
    flex: 1 1 100%;
    width: 100%;
    padding: 6px 0;
  }

  /* Marquee ticker on mobile */
  .marquee-ticker-section {
    padding: 12px 0;
  }
  .marquee-ticker-section::before,
  .marquee-ticker-section::after {
    width: 40px;
  }
  .marquee-item {
    font-size: 13px;
    gap: 8px;
    letter-spacing: 0.06em;
  }
  .marquee-content {
    gap: 24px;
    padding-right: 24px;
  }
  .marquee-track {
    animation-duration: 22s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .marquee-track {
    animation: none;
    overflow-x: auto;
  }
}



/* ================================================================
   9. ABOUT THE SUMMIT SECTION (REDESIGN)
   ================================================================ */
.about-summit-section {
  position: relative;
  background-color: #f7f7f5;
  padding: 95px 0 85px;
  overflow: hidden;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

/* ----------------------------------------------------------------
   PART 1: HERO SPLIT
   ---------------------------------------------------------------- */
.about-hero-split {
  position: relative;
  display: grid;
  grid-template-columns: 1.14fr 0.86fr;
  gap: 48px;
  align-items: center;
  margin-bottom: 44px;
}

/* Africa Continent Watermark Behind Left Column */
.about-hero-africa-bg {
  position: absolute;
  top: -15px;
  left: 220px;
  width: 320px;
  height: 360px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 700" fill="%232e8b3d"><path d="M280,30 C340,35 390,70 410,120 C425,160 480,180 510,230 C540,280 500,340 470,390 C440,440 400,480 370,540 C340,600 310,650 280,680 C260,650 230,590 220,530 C200,460 170,410 140,360 C110,310 70,270 90,220 C110,170 160,180 200,140 C230,100 240,40 280,30 Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.08;
  pointer-events: none;
  z-index: 0;
}

.about-hero-left {
  position: relative;
  z-index: 1;
  padding-right: 8px;
}

/* Eyebrow Label */
.about-eyebrow-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.about-eyebrow-dash {
  width: 24px;
  height: 2.5px;
  background: #d97706;
  border-radius: 2px;
  display: inline-block;
}

.about-eyebrow-text {
  font-family: var(--btu-font-body);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #d97706;
  text-transform: uppercase;
  line-height: 1;
}

/* Main Title */
.about-hero-title {
  font-family: var(--btu-font-head);
  font-size: clamp(34px, 4.2vw, 52px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.02em;
  color: #060e06;
  text-transform: uppercase;
  margin: 0 0 12px;
}

.about-title-line {
  display: block;
}

/* Subheading */
.about-hero-subheading {
  font-family: var(--btu-font-body);
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 700;
  color: #faaC1D;
  line-height: 1.3;
  margin: 0 0 20px;
}

/* Paragraphs */
.about-hero-description p {
  font-family: var(--btu-font-body);
  font-size: 18px;
  line-height: 1.74;
  color: #3f4e41;
  margin-bottom: 16px;
}

/* Action CTAs */
.about-hero-actions {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-top: 26px;
}

.btn-about-story {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #05240e;
  color: #ffffff !important;
  font-family: var(--btu-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 13px 28px;
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(5, 36, 14, 0.22);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
}

.btn-about-story:hover {
  background: #0b421a;
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(5, 36, 14, 0.32);
}

.btn-about-watch {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #060e06 !important;
  text-decoration: none;
  transition: all 0.3s ease;
}

.play-icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid #faaC1D;
  color: #faaC1D;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  padding-left: 2px;
  transition: all 0.3s ease;
}

.play-text {
  font-family: var(--btu-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #060e06;
}

.btn-about-watch:hover .play-icon-wrap {
  background: #faaC1D;
  color: #ffffff;
  transform: scale(1.08);
  box-shadow: 0 4px 16px rgba(250, 172, 29, 0.40);
}

.btn-about-watch:hover .play-text {
  color: #faaC1D;
}

/* Right Column: Photo & Quote Card */
.about-hero-right {
  position: relative;
}

.about-photo-frame {
  position: relative;
  padding: 12px 0 0 12px;
}

.about-photo-gold-border {
  position: absolute;
  top: 0;
  left: 0;
  right: 28px;
  bottom: 28px;
  border-top: 3.5px solid #faaC1D;
  border-left: 3.5px solid #faaC1D;
  border-top-left-radius: 24px;
  pointer-events: none;
  z-index: 0;
}

.about-photo-img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
  display: block;
  position: relative;
  z-index: 1;
}

.about-quote-card {
  position: absolute;
  bottom: -24px;
  right: -12px;
  width: clamp(280px, 72%, 350px);
  background: #05240e;
  border-radius: 16px;
  padding: 20px 22px 18px;
  box-shadow: 0 16px 36px rgba(5, 36, 14, 0.38);
  border: 1px solid rgba(46, 139, 61, 0.30);
  z-index: 2;
}

.about-quote-icon {
  color: #faaC1D;
  font-size: 26px;
  line-height: 1;
  margin-bottom: 8px;
}

.about-quote-text {
  font-family: var(--btu-font-body);
  font-style: italic;
  font-size: 13.5px;
  line-height: 1.55;
  color: #ffffff;
  margin: 0 0 10px;
  font-weight: 400;
}

.about-quote-divider {
  width: 38px;
  height: 2px;
  background: #faaC1D;
  margin-bottom: 8px;
  border-radius: 1px;
}

.about-quote-attribution {
  font-family: var(--btu-font-body);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.10em;
  color: rgba(255, 255, 255, 0.85);
  text-transform: uppercase;
}

/* ----------------------------------------------------------------
   PART 2: STATS ROW
   ---------------------------------------------------------------- */
.about-stats-strip {
  background: #ffffff;
  border-radius: 18px;
  padding: 26px 36px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.05);
  margin-bottom: 38px;
}

.about-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: center;
}

.about-stat-col {
  display: flex;
  align-items: center;
  gap: 16px;
}

.about-stat-icon-circle {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.about-stat-col:hover .about-stat-icon-circle {
  transform: scale(1.08);
}

.stat-badge-green {
  background: #eef6f0;
  color: #0b3d19;
  border: 1.5px solid rgba(11, 61, 25, 0.20);
}

.stat-badge-gold {
  background: #fdf8ed;
  color: #d97706;
  border: 1.5px solid rgba(217, 119, 6, 0.25);
}

.about-stat-content {
  display: flex;
  flex-direction: column;
}

.about-stat-number {
  font-family: var(--btu-font-head);
  font-size: 26px;
  font-weight: 800;
  color: #060e06;
  line-height: 1.1;
  margin-bottom: 3px;
  letter-spacing: -0.01em;
}

.about-stat-label {
  font-family: var(--btu-font-body);
  font-size: 12px;
  font-weight: 500;
  color: #556658;
  line-height: 1.35;
}

/* ----------------------------------------------------------------
   PART 3: MISSION / VISION / VALUES
   ---------------------------------------------------------------- */
.about-mvv-wrapper {
  background: #eef4ee;
  border-radius: 20px;
  padding: 30px 32px;
  margin-bottom: 38px;
}

.about-mvv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}

.about-mvv-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 26px 24px 28px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(0, 0, 0, 0.04);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.about-mvv-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(5, 36, 14, 0.10);
  border-color: rgba(46, 139, 61, 0.20);
}

.mvv-card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}

.mvv-icon-badge {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.about-mvv-card:hover .mvv-icon-badge {
  transform: scale(1.08);
}

.badge-light-green {
  background: #dcf2e1;
  color: #166534;
}

.badge-gold {
  background: #fef3c7;
  color: #b45309;
}

.badge-dark-green {
  background: #05240e;
  color: #4ade80;
}

.mvv-card-title {
  font-family: var(--btu-font-head);
  font-size: 18px;
  font-weight: 800;
  color: #060e06;
  margin: 0;
}

.mvv-card-desc {
  font-family: var(--btu-font-body);
  font-size: 18px;
  line-height: 1.65;
  color: #445547;
  margin: 0;
}

.mvv-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mvv-checklist li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--btu-font-body);
  font-size: 18px;
  font-weight: 600;
  color: #1a2a1d;
}

.mvv-checklist li i {
  color: #16a34a;
  font-size: 15px;
}

/* ----------------------------------------------------------------
   PART 4: OUR COMMITMENT BANNER
   ---------------------------------------------------------------- */
.about-commitment-banner {
  position: relative;
  background: linear-gradient(135deg, #041f0b 0%, #072a11 50%, #051e0c 100%);
  border-radius: 20px;
  padding: 34px 40px;
  overflow: hidden;
  box-shadow: 0 16px 44px rgba(4, 31, 11, 0.30);
  border: 1px solid rgba(46, 139, 61, 0.30);
}

/* Large Africa Silhouette Background on Right */
.commitment-africa-shape {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 320px;
  height: 360px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 700" fill="%232e8b3d"><path d="M280,30 C340,35 390,70 410,120 C425,160 480,180 510,230 C540,280 500,340 470,390 C440,440 400,480 370,540 C340,600 310,650 280,680 C260,650 230,590 220,530 C200,460 170,410 140,360 C110,310 70,270 90,220 C110,170 160,180 200,140 C230,100 240,40 280,30 Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.16;
  pointer-events: none;
  z-index: 0;
}

.commitment-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 38px;
  align-items: center;
}

.commitment-img-wrap {
  width: 100%;
}

.commitment-hotel-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: block;
}

.commitment-content-col {
  padding-right: 10px;
}

.commitment-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.commitment-dash {
  width: 22px;
  height: 2.5px;
  background: #faaC1D;
  border-radius: 2px;
  display: inline-block;
}

.commitment-eyebrow-text {
  font-family: var(--btu-font-body);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #faaC1D;
  text-transform: uppercase;
  line-height: 1;
}

.commitment-heading {
  font-family: var(--btu-font-head);
  font-size: clamp(23px, 2.6vw, 33px);
  font-weight: 800;
  color: #ffffff;
  line-height: 1.22;
  margin: 0 0 12px;
  letter-spacing: -0.01em;
}

.commitment-desc {
  font-family: var(--btu-font-body);
  font-size: 14px;
  line-height: 1.68;
  color: rgba(255, 255, 255, 0.86);
  margin: 0;
}

/* ----------------------------------------------------------------
   RESPONSIVE LAYOUTS (MOBILE & TABLET VERTICAL STACKING)
   ---------------------------------------------------------------- */
@media (max-width: 1100px) {
  .about-hero-split {
    gap: 32px;
  }
  .about-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .about-mvv-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 991px) {
  .about-hero-split {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .about-hero-left {
    padding-right: 0;
  }

  .about-photo-img {
    height: 320px;
  }

  .about-quote-card {
    position: relative;
    bottom: auto;
    right: auto;
    width: 100%;
    margin-top: 16px;
    box-shadow: 0 10px 24px rgba(5, 36, 14, 0.25);
  }

  .commitment-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .commitment-hotel-img {
    height: 200px;
  }
}

@media (max-width: 640px) {
  .about-summit-section {
    padding: 60px 0 50px;
  }

  .about-hero-title {
    font-size: 30px;
  }

  .about-hero-subheading {
    font-size: 18px;
  }

  .about-hero-actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .about-stats-strip {
    padding: 20px 18px;
  }

  .about-stats-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .about-mvv-wrapper {
    padding: 20px 16px;
  }

  .about-commitment-banner {
    padding: 24px 20px;
  }
}


/* ================================================================
   12. SPEAKERS SECTION (UPGRADED: TALL PHOTOS, LINKEDIN BADGE, TAGLINES, CAROUSEL)
   ================================================================ */
.speakers-summit-section {
  position: relative;
  background-color: #ffffff;
  padding: 95px 0 90px;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

/* ----------------------------------------------------------------
   HEADER BLOCK (SPLIT: TEXT + AUDIENCE QUOTE OVERLAY)
   ---------------------------------------------------------------- */
.speakers-header-block {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 48px;
  align-items: center;
  margin-bottom: 38px;
}

.speakers-header-left {
  position: relative;
}

.speakers-eyebrow-label {
  margin-bottom: 10px;
}

.speakers-eyebrow-text {
  font-family: var(--btu-font-body);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.10em;
  color: #060e06;
  text-transform: uppercase;
  line-height: 1;
}

.speakers-main-heading {
  font-family: var(--btu-font-head);
  font-size: clamp(38px, 4.2vw, 56px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  text-transform: none;
}

.speakers-title-dark {
  color: #060e06;
}

.speakers-title-gold {
  color: #faaC1D;
  margin-left: 6px;
}

.speakers-intro-desc {
  font-family: var(--btu-font-body);
  font-size: 18px;
  line-height: 1.74;
  color: #4a5a4d;
  max-width: 580px;
  margin-bottom: 18px;
}

.speakers-heading-accent {
  width: 52px;
  height: 3px;
  background: #faaC1D;
  border-radius: 2px;
}

/* Right Side: Audience Photo Backdrop with Quote */
.speakers-header-right {
  position: relative;
}

.speakers-quote-banner {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  padding: 34px 36px;
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url('../images/resource/speakers-audience-bg.jpg') center center / cover no-repeat;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.speakers-quote-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.93) 0%, rgba(255, 255, 255, 0.85) 50%, rgba(255, 255, 255, 0.90) 100%);
  z-index: 1;
}

.speakers-quote-africa-shape {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 220px;
  height: 250px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 700" fill="%232e8b3d"><path d="M280,30 C340,35 390,70 410,120 C425,160 480,180 510,230 C540,280 500,340 470,390 C440,440 400,480 370,540 C340,600 310,650 280,680 C260,650 230,590 220,530 C200,460 170,410 140,360 C110,310 70,270 90,220 C110,170 160,180 200,140 C230,100 240,40 280,30 Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.12;
  z-index: 2;
  pointer-events: none;
}

.speakers-quote-content {
  position: relative;
  z-index: 3;
  text-align: center;
  max-width: 360px;
  margin: 0 auto;
}

.speakers-gold-quote-icon {
  color: #faaC1D;
  font-size: 26px;
  line-height: 1;
  margin-bottom: 10px;
}

.speakers-quote-text {
  font-family: var(--btu-font-body);
  font-style: italic;
  font-size: 14.5px;
  line-height: 1.55;
  color: #1a291d;
  font-weight: 500;
  margin: 0 0 12px;
}

.speakers-quote-divider {
  width: 32px;
  height: 2px;
  background: #faaC1D;
  margin: 0 auto 8px;
  border-radius: 1px;
}

.speakers-quote-author {
  font-family: var(--btu-font-body);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #060e06;
  text-transform: uppercase;
}

/* ----------------------------------------------------------------
   FILTER TABS & VIEW ALL ROW
   ---------------------------------------------------------------- */
.speakers-tabs-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 36px;
  flex-wrap: nowrap;
}

.speakers-tabs-scroller {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  flex-shrink: 0;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.speakers-tabs-scroller::-webkit-scrollbar {
  display: none;
}

.speaker-tab-pill {
  background: #ffffff;
  color: #334437;
  border: 1.5px solid #d4dfd6;
  padding: 7px 13px;
  border-radius: 999px;
  font-family: var(--btu-font-body);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
  outline: none;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  flex-shrink: 0;
}

.speaker-tab-pill i {
  font-size: 12px;
  color: #16a34a;
  transition: color 0.25s ease;
}

.speaker-tab-pill:hover {
  background: #f4f8f4;
  border-color: #05240e;
  color: #05240e;
  transform: translateY(-1px);
}

.speaker-tab-pill.active {
  background: #16a34a !important;
  color: #ffffff !important;
  border-color: #16a34a !important;
  box-shadow: 0 4px 14px rgba(22, 163, 74, 0.30);
}

.speaker-tab-pill.active i {
  color: #ffffff !important;
}

/* "View All Speakers" Pill in Tab Row */
.speakers-tab-view-all-wrap {
  margin-left: auto;
  flex-shrink: 0;
}

.btn-tab-view-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  color: #060e06;
  border: 1.5px solid #d4dfd6;
  padding: 7px 15px;
  white-space: nowrap;
  font-size: 12px;
  border-radius: 999px;
  font-family: var(--btu-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
  outline: none;
}

.btn-tab-view-all i {
  font-size: 12px;
  transition: transform 0.25s ease;
}

.btn-tab-view-all:hover {
  border-color: #05240e;
  color: #05240e;
  background: #f8faf8;
  transform: translateY(-1px);
}

.btn-tab-view-all:hover i {
  transform: translateX(3px);
}

.btn-tab-view-all.active {
  background: #05240e;
  color: #ffffff;
  border-color: #05240e;
  box-shadow: 0 4px 14px rgba(5, 36, 14, 0.25);
}

/* ----------------------------------------------------------------
   CAROUSEL CONTAINER & ARROWS
   ---------------------------------------------------------------- */
.speakers-carousel-container {
  position: relative;
  margin-bottom: 48px;
}

.speaker-carousel-arrow {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #ffffff;
  border: 1.5px solid #eef3ee;
  color: #060e06;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  transition: all 0.25s ease;
  outline: none;
}

.speaker-carousel-arrow:hover {
  background: #05240e;
  color: #ffffff;
  border-color: #05240e;
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 6px 22px rgba(5, 36, 14, 0.25);
}

.speaker-arrow-prev {
  left: -24px;
}

.speaker-arrow-next {
  right: -24px;
}

.speakers-track-viewport {
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 8px 4px 16px;
}

.speakers-track-viewport::-webkit-scrollbar {
  display: none;
}

/* ----------------------------------------------------------------
   3-COLUMN CARDS WITH TALLER PHOTOS (~70-75% HEIGHT)
   ---------------------------------------------------------------- */
/* Carousel Mode (1-row horizontal track) */
.speakers-grid-wrap.speakers-carousel-mode {
  display: flex;
  gap: 28px;
  transition: all 0.3s ease;
}

.speakers-grid-wrap.speakers-carousel-mode .speaker-profile-card {
  flex: 0 0 calc((100% - 56px) / 3);
  min-width: calc((100% - 56px) / 3);
  scroll-snap-align: start;
}

/* Expanded Grid Mode (Multi-row 3 columns) */
.speakers-grid-wrap.speakers-expanded-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.speakers-grid-wrap.speakers-expanded-grid .speaker-profile-card {
  flex: none;
  width: 100%;
}

/* Card Styling */
.speaker-profile-card {
  background: #ffffff;
  border: 1px solid #eef3ee;
  border-radius: 20px;
  padding: 12px 12px 20px;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  transition: opacity 0.25s ease, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease;
  opacity: 1;
  transform: translateY(0);
}

.speaker-profile-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(5, 36, 14, 0.12);
  border-color: rgba(46, 139, 61, 0.28);
}

/* Locked Aspect Ratio (4 / 5) for Consistent Sizing Across Viewports */
.speaker-profile-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.speaker-avatar-wrap {
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  margin-bottom: 16px;
  background: #f0f4f0;
}

.speaker-avatar-img,
.speaker-card-photo {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.4s ease;
  display: block;
}

.speaker-profile-card:hover .speaker-avatar-img,
.speaker-profile-card:hover .speaker-card-photo {
  transform: scale(1.04);
}

/* Overlapping Green LinkedIn Badge */
.speaker-linkedin-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #16a34a;
  color: #ffffff !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13.5px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.22);
  z-index: 5;
  text-decoration: none;
  transition: all 0.25s ease;
}

.speaker-linkedin-badge:hover {
  background: #15803d;
  transform: scale(1.14);
  box-shadow: 0 6px 14px rgba(22, 163, 74, 0.45);
}

/* Meta Information */
.speaker-meta-info {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  text-align: left;
  padding: 0 4px;
}

.speaker-full-name {
  font-family: var(--btu-font-head);
  font-size: 18px;
  font-weight: 800;
  color: #060e06;
  line-height: 1.25;
  margin: 0 0 5px;
  letter-spacing: -0.01em;
}

.speaker-role-text {
  font-family: var(--btu-font-body);
  font-size: 15px;
  font-weight: 700;
  color: #16a34a;
  line-height: 1.4;
  margin: 0 0 6px;
  min-height: 2.8em;
}

.speaker-tagline-text {
  font-family: var(--btu-font-body);
  font-size: 15px;
  line-height: 1.45;
  color: #64748b;
  margin: 0;
  min-height: 2.9em;
}

/* ----------------------------------------------------------------
   BOTTOM CTA BANNER (FULL-WIDTH DARK GREEN)
   ---------------------------------------------------------------- */
.speakers-bottom-cta {
  position: relative;
  background: linear-gradient(135deg, #041f0b 0%, #072a11 50%, #051e0c 100%);
  border-radius: 20px;
  padding: 34px 44px;
  overflow: hidden;
  box-shadow: 0 16px 44px rgba(4, 31, 11, 0.28);
  border: 1px solid rgba(46, 139, 61, 0.30);
}

.speakers-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  position: relative;
  z-index: 1;
}

.speakers-cta-badge {
  font-family: var(--btu-font-body);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #faaC1D;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.speakers-cta-heading {
  font-family: var(--btu-font-head);
  font-size: clamp(24px, 2.8vw, 34px);
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 8px;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.speakers-cta-gold {
  color: #faaC1D;
}

.speakers-cta-subtext {
  font-family: var(--btu-font-body);
  font-size: 13.5px;
  color: rgba(255, 255, 255, 0.78);
  margin: 0;
  line-height: 1.5;
}

.speakers-cta-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
}

.btn-speakers-ticket {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #faaC1D;
  color: #060e06 !important;
  font-family: var(--btu-font-body);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 14px 28px;
  border-radius: 6px;
  box-shadow: 0 6px 20px rgba(250, 172, 29, 0.35);
  transition: all 0.3s ease;
  text-decoration: none;
}

.btn-speakers-ticket:hover {
  background: #e59a10;
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(250, 172, 29, 0.48);
}

.ticket-emoji {
  font-size: 15px;
}

.speakers-ticket-note {
  font-family: var(--btu-font-body);
  font-size: 15px;
  color: rgba(255, 255, 255, 0.65);
}

/* ----------------------------------------------------------------
   SPEAKERS SECTION RESPONSIVE
   ---------------------------------------------------------------- */
@media (max-width: 1200px) {
  .speaker-arrow-prev { left: -14px; }
  .speaker-arrow-next { right: -14px; }
}

@media (max-width: 991px) {
  .speakers-header-block {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .speakers-grid-wrap.speakers-carousel-mode .speaker-profile-card {
    flex: 0 0 calc((100% - 20px) / 2);
    min-width: calc((100% - 20px) / 2);
  }

  .speakers-grid-wrap.speakers-expanded-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .speakers-cta-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
  }

  .speakers-cta-right {
    align-items: flex-start;
    width: 100%;
  }
}

@media (max-width: 768px) {
  .speakers-tabs-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }

  .speakers-tabs-scroller {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
  }

  .speaker-tab-pill {
    white-space: nowrap;
    flex-shrink: 0;
  }

  .speakers-tab-view-all-wrap {
    margin-left: 0;
    width: 100%;
  }

  .btn-tab-view-all {
    width: 100%;
    justify-content: center;
  }

  .speakers-grid-wrap.speakers-carousel-mode .speaker-profile-card {
    flex: 0 0 calc((100% - 20px) / 2);
    min-width: calc((100% - 20px) / 2);
  }

  .speakers-grid-wrap.speakers-expanded-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }

  .speaker-carousel-arrow {
    display: flex;
  }
}

@media (max-width: 576px) {
  .speakers-grid-wrap.speakers-carousel-mode .speaker-profile-card {
    flex: 0 0 100%;
    min-width: 100%;
    max-width: 380px;
    margin: 0 auto;
  }

  .speakers-grid-wrap.speakers-expanded-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    max-width: 380px;
    margin: 0 auto;
  }

  .speaker-carousel-arrow {
    display: none !important;
  }
}

@media (max-width: 500px) {
  .speakers-summit-section {
    padding: 60px 0 50px;
  }

  .speakers-main-heading {
    font-size: 32px;
  }

  .speakers-bottom-cta {
    padding: 24px 20px;
  }
}


/* ================================================================
   15. SUMMIT SCHEDULE SECTION (UPGRADED TABBED TIMELINE DESIGN)
   ================================================================ */
.schedule-summit-section {
  position: relative;
  background-color: #fafbfa;
  padding: 95px 0 90px;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

/* ----------------------------------------------------------------
   HEADER BLOCK (SPLIT LAYOUT: TEXT & INFO BADGES + STAGE PHOTO)
   ---------------------------------------------------------------- */
.schedule-header-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 48px;
  align-items: center;
  margin-bottom: 38px;
}

.schedule-header-left {
  position: relative;
}

.schedule-label-eyebrow {
  margin-bottom: 10px;
}

.schedule-label-orange {
  font-family: var(--btu-font-body);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.10em;
  color: #d97706;
  text-transform: uppercase;
  line-height: 1;
}

.schedule-main-title {
  font-family: var(--btu-font-head);
  font-size: clamp(38px, 4.2vw, 54px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
}

.schedule-title-dark {
  color: #060e06;
}

.schedule-title-gold {
  color: #faaC1D;
  margin-left: 6px;
}

.schedule-main-desc {
  font-family: var(--btu-font-body);
  font-size: 18px;
  line-height: 1.74;
  color: #4a5a4d;
  max-width: 580px;
  margin-bottom: 24px;
}

/* Row of 3 Info Badges */
.schedule-info-badges-row {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.schedule-badge-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.schedule-badge-circle {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #eef7f0;
  color: #16a34a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
}

.schedule-badge-meta {
  display: flex;
  flex-direction: column;
}

.schedule-badge-primary {
  font-family: var(--btu-font-body);
  font-size: 13px;
  font-weight: 800;
  color: #060e06;
  line-height: 1.25;
}

.schedule-badge-sub {
  font-family: var(--btu-font-body);
  font-size: 11.5px;
  color: #64748b;
  font-weight: 500;
  line-height: 1.25;
}

/* Right Side: Stage/Podium Photo with Quote & Africa Silhouette */
.schedule-header-right {
  position: relative;
}

.schedule-stage-banner-card {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  height: 220px;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.06);
  display: flex;
  align-items: center;
}

.schedule-stage-bg {
  position: absolute;
  inset: 0;
  background: url('../images/resource/schedule-stage-banner.jpg') right center / cover no-repeat;
  z-index: 1;
}

.schedule-stage-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.94) 34%, rgba(255, 255, 255, 0.50) 65%, rgba(0, 0, 0, 0.05) 100%);
  z-index: 2;
}

.schedule-africa-shape {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 190px;
  height: 210px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 700" fill="%232e8b3d"><path d="M280,30 C340,35 390,70 410,120 C425,160 480,180 510,230 C540,280 500,340 470,390 C440,440 400,480 370,540 C340,600 310,650 280,680 C260,650 230,590 220,530 C200,460 170,410 140,360 C110,310 70,270 90,220 C110,170 160,180 200,140 C230,100 240,40 280,30 Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.12;
  z-index: 3;
  pointer-events: none;
}

.schedule-stage-quote-box {
  position: relative;
  z-index: 4;
  padding-left: 36px;
  max-width: 270px;
}

.schedule-stage-quote-text {
  font-family: var(--btu-font-body);
  font-style: italic;
  font-size: 16.5px;
  line-height: 1.45;
  color: #1a291d;
  font-weight: 600;
  margin: 0 0 10px;
}

.schedule-quote-gold-line {
  width: 36px;
  height: 2.5px;
  background: #faaC1D;
  border-radius: 2px;
}

/* ----------------------------------------------------------------
   DAY SELECTOR TABS & DOWNLOAD BUTTON BAR
   ---------------------------------------------------------------- */
.schedule-controls-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}

.schedule-day-tabs-group {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.schedule-day-tab-btn {
  background: #ffffff;
  color: #060e06;
  border: 1.5px solid #d4dfd6;
  padding: 9px 24px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
  outline: none;
  text-align: left;
}

.schedule-tab-icon {
  font-size: 17px;
  color: #16a34a;
  transition: color 0.25s ease;
}

.schedule-tab-text-wrap {
  display: flex;
  flex-direction: column;
}

.schedule-tab-day-title {
  font-family: var(--btu-font-body);
  font-size: 13.5px;
  font-weight: 800;
  display: block;
  line-height: 1.25;
}

.schedule-tab-day-date {
  font-family: var(--btu-font-body);
  font-size: 11px;
  opacity: 0.75;
  display: block;
  line-height: 1.25;
  font-weight: 500;
}

.schedule-day-tab-btn:hover {
  background: #f4f8f4;
  border-color: #05240e;
  transform: translateY(-1px);
}

.schedule-day-tab-btn.active {
  background: #05240e !important;
  color: #ffffff !important;
  border-color: #05240e !important;
  box-shadow: 0 6px 20px rgba(5, 36, 14, 0.25);
}

.schedule-day-tab-btn.active .schedule-tab-icon {
  color: #ffffff !important;
}

.schedule-day-tab-btn.active .schedule-tab-day-date {
  opacity: 0.90;
}

/* Right-Aligned Download Full Schedule (PDF) Button */
.schedule-download-wrap {
  margin-left: auto;
}

.btn-schedule-download {
  background: #eef7f0;
  color: #05240e !important;
  border: 1.5px solid #c9e6d0;
  padding: 10px 22px;
  border-radius: 12px;
  font-family: var(--btu-font-body);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.25s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}

.btn-schedule-download i {
  font-size: 13px;
  color: #16a34a;
}

.btn-schedule-download:hover {
  background: #e2f2e5;
  border-color: #16a34a;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(22, 163, 74, 0.15);
}

/* ----------------------------------------------------------------
   SCHEDULE TIMELINE WHITE CARD
   ---------------------------------------------------------------- */
.schedule-timeline-main-card {
  background: #ffffff;
  border: 1px solid #eef3ee;
  border-radius: 22px;
  padding: 36px 40px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
  margin-bottom: 36px;
}

.schedule-day-timeline-panel {
  display: none;
}

.schedule-day-timeline-panel.active {
  display: block;
}

/* Top Row: Day Label, Heading, Right-Aligned Theme Pill */
.schedule-panel-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #f0f4f0;
  flex-wrap: wrap;
}

.schedule-panel-date-col {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.schedule-panel-day-tag {
  font-family: var(--btu-font-body);
  color: #faaC1D;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.schedule-panel-full-date {
  font-family: var(--btu-font-head);
  font-size: 22px;
  font-weight: 800;
  color: #060e06;
  margin: 0;
  letter-spacing: -0.01em;
}

.schedule-panel-theme-badge {
  background: #fef7ec;
  border: 1px solid #f9e2ba;
  color: #78350f;
  font-family: var(--btu-font-body);
  font-size: 12.5px;
  font-weight: 700;
  padding: 7px 20px;
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(120, 53, 15, 0.04);
}

/* Timeline Session Rows */
.schedule-timeline-list {
  display: flex;
  flex-direction: column;
}

.schedule-timeline-row {
  display: grid;
  grid-template-columns: 110px 24px 44px 1fr;
  gap: 18px;
  align-items: flex-start;
  padding: 16px 0;
  border-bottom: 1px solid #f4f7f4;
  position: relative;
  transition: background-color 0.2s ease;
}

.schedule-timeline-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.schedule-timeline-row:hover {
  background-color: #fafdfa;
  border-radius: 8px;
}

/* Time Column */
.schedule-time-col {
  padding-top: 7px;
}

.schedule-time-text {
  font-family: var(--btu-font-head);
  font-size: 13.5px;
  font-weight: 800;
  color: #05240e;
  white-space: nowrap;
  letter-spacing: -0.01em;
}

/* Connecting Dot & Vertical Line */
.schedule-marker-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  position: relative;
  padding-top: 14px;
}

.schedule-timeline-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #16a34a;
  flex-shrink: 0;
  z-index: 2;
  box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.15);
}

.schedule-timeline-line {
  position: absolute;
  top: 18px;
  bottom: -18px;
  width: 1.5px;
  background: #e2ece3;
  z-index: 1;
}

.schedule-timeline-row:last-child .schedule-timeline-line {
  display: none;
}

/* Circular Icon Badge */
.schedule-icon-col {
  padding-top: 0;
}

.schedule-session-icon-circle {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}

.schedule-session-icon-circle.icon-green {
  background: #eef7f0;
  color: #16a34a;
  box-shadow: 0 2px 6px rgba(22, 163, 74, 0.08);
}

.schedule-session-icon-circle.icon-gold {
  background: #fef3c7;
  color: #d97706;
  box-shadow: 0 3px 10px rgba(217, 119, 6, 0.22);
}

/* Session Details */
.schedule-details-col {
  padding-top: 4px;
}

.schedule-session-title {
  font-family: var(--btu-font-head);
  font-size: 18px;
  font-weight: 800;
  color: #060e06;
  margin: 0 0 4px;
  line-height: 1.35;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.schedule-keynote-tag {
  font-family: var(--btu-font-body);
  font-size: 10px;
  font-weight: 800;
  background: #fef3c7;
  color: #b45309;
  padding: 2px 7px;
  border-radius: 4px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.schedule-session-desc {
  font-family: var(--btu-font-body);
  font-size: 13.5px;
  color: #64748b;
  margin: 0;
  line-height: 1.5;
}

/* Keynote Row Subtle Accent */
.schedule-timeline-row.is-keynote-session {
  background-color: #fffdf9;
  border-radius: 12px;
  padding-left: 8px;
  padding-right: 8px;
}

/* ----------------------------------------------------------------
   BOTTOM FULL-WIDTH BAR (LIGHT GREEN BACKGROUND)
   ---------------------------------------------------------------- */
.schedule-bottom-banner {
  background: #f0f6f1;
  border: 1px solid #dce8df;
  border-radius: 20px;
  padding: 24px 38px;
  margin-top: 10px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02);
}

.schedule-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}

.schedule-bottom-meta-col {
  display: flex;
  align-items: center;
  gap: 36px;
  flex-wrap: wrap;
}

.schedule-bottom-meta-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.schedule-bottom-icon-badge {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #e2f0e4;
  color: #16a34a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}

.schedule-bottom-meta-text {
  display: flex;
  flex-direction: column;
}

.schedule-bottom-meta-text strong {
  font-family: var(--btu-font-body);
  font-size: 18px;
  font-weight: 800;
  color: #060e06;
  line-height: 1.25;
}

.schedule-bottom-meta-text span {
  font-family: var(--btu-font-body);
  font-size: 12px;
  color: #64748b;
  line-height: 1.25;
}

.schedule-bottom-cta-col {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.btn-schedule-gold-ticket {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #d97706;
  color: #ffffff !important;
  font-family: var(--btu-font-body);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 13px 26px;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(217, 119, 6, 0.30);
  transition: all 0.25s ease;
  text-decoration: none;
}

.btn-schedule-gold-ticket:hover {
  background: #b45309;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(217, 119, 6, 0.40);
}

.btn-schedule-gold-ticket i {
  font-size: 12px;
  transition: transform 0.25s ease;
}

.btn-schedule-gold-ticket:hover i {
  transform: translateX(3px);
}

.schedule-bottom-tagline {
  display: flex;
  align-items: center;
  gap: 10px;
}

.schedule-bottom-gold-dash {
  width: 24px;
  height: 2px;
  background: #faaC1D;
  border-radius: 1px;
}

.schedule-bottom-tag-text {
  font-family: var(--btu-font-body);
  font-size: 13px;
  font-style: italic;
  color: #4a5a4d;
  font-weight: 600;
}

/* ================================================================
   16. SCHEDULE RESPONSIVE BREAKPOINTS
   ================================================================ */
@media (max-width: 991px) {
  .schedule-header-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .schedule-stage-banner-card {
    height: 190px;
  }

  .schedule-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
  }

  .schedule-bottom-cta-col {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 768px) {
  .schedule-controls-row {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }

  .schedule-download-wrap {
    margin-left: 0;
    width: 100%;
  }

  .btn-schedule-download {
    width: 100%;
    justify-content: center;
  }

  .schedule-timeline-main-card {
    padding: 26px 20px;
  }

  .schedule-panel-top-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .schedule-timeline-row {
    grid-template-columns: 100px 20px 38px 1fr;
    gap: 12px;
  }

  .schedule-session-icon-circle {
    width: 34px;
    height: 34px;
    font-size: 13px;
  }

  .schedule-bottom-meta-col {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}

@media (max-width: 576px) {
  .schedule-summit-section {
    padding: 60px 0 50px;
  }

  .schedule-main-title {
    font-size: 32px;
  }

  .schedule-info-badges-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .schedule-day-tabs-group {
    width: 100%;
    flex-direction: column;
  }

  .schedule-day-tab-btn {
    width: 100%;
    justify-content: flex-start;
  }

  .schedule-timeline-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 14px 0;
  }

  .schedule-marker-col {
    display: none;
  }

  .schedule-time-col {
    padding-top: 0;
  }

  .schedule-time-text {
    display: inline-block;
    background: #eef7f0;
    color: #05240e;
    padding: 3px 9px;
    border-radius: 6px;
    font-size: 12px;
  }

  .schedule-icon-col {
    display: inline-block;
    float: left;
    margin-right: 10px;
    margin-bottom: 4px;
  }

  .schedule-bottom-banner {
    padding: 20px 18px;
  }
}


/* ================================================================
   17. FOOTER SECTION & NEWSLETTER BAR
   ================================================================ */
.btu-site-footer {
  position: relative;
  background-color: #fbfdfa;
  padding-top: 50px;
}

/* Newsletter Bar */
.newsletter-bar-wrapper {
  padding-bottom: 50px;
  position: relative;
  z-index: 10;
}

.newsletter-card {
  background: #ffffff;
  border: 1.5px solid #e2ece2;
  border-radius: 22px;
  padding: 28px 36px;
  box-shadow: 0 10px 32px rgba(46,139,61,0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.nl-left-col {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1.2;
}

.nl-icon-badge {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #e8f5e9;
  border: 1.5px solid rgba(46,139,61,0.2);
  color: var(--btu-green);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(46,139,61,0.1);
}

.nl-text-content {
  display: flex;
  flex-direction: column;
}

.nl-title {
  font-size: 16.5px;
  font-weight: 800;
  color: #111c11;
  font-family: var(--btu-font-body);
  margin: 0 0 4px;
  line-height: 1.25;
}

.text-brand-green {
  color: var(--btu-green);
}

.nl-desc {
  font-size: 12px;
  line-height: 1.45;
  color: #6a7c6a;
  font-family: var(--btu-font-body);
  margin: 0;
  max-width: 330px;
}

.nl-middle-col {
  flex: 1.35;
}

.nl-input-group {
  display: flex;
  align-items: center;
  background: #f6faf6;
  border: 1.5px solid #d4e2d4;
  border-radius: 50px;
  padding: 4px 4px 4px 18px;
  position: relative;
  transition: all 0.25s;
}

.nl-input-group:focus-within {
  border-color: var(--btu-green);
  box-shadow: 0 0 0 3px rgba(46,139,61,0.15);
  background: #ffffff;
}

.nl-field-icon {
  color: #7a8e7a;
  font-size: 14px;
  margin-right: 10px;
}

.nl-input {
  border: none;
  background: transparent;
  outline: none;
  font-size: 13px;
  font-family: var(--btu-font-body);
  color: #111c11;
  flex: 1;
  min-width: 140px;
}

.nl-input::placeholder {
  color: #8c9e8c;
}

.btn-nl-submit {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--btu-green);
  color: #ffffff;
  border: none;
  border-radius: 50px;
  padding: 10px 22px;
  font-size: 13px;
  font-weight: 600;
  font-family: var(--btu-font-body);
  cursor: pointer;
  transition: all 0.25s;
  white-space: nowrap;
}

.btn-nl-submit:hover {
  background: var(--btu-green-dark);
  transform: scale(1.02);
}

.btn-nl-submit i {
  font-size: 11px;
  transition: transform 0.25s;
}

.btn-nl-submit:hover i {
  transform: translateX(3px);
}

.nl-feedback-msg {
  font-size: 12px;
  margin-top: 6px;
  padding-left: 14px;
  font-family: var(--btu-font-body);
}

.nl-right-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  flex-shrink: 0;
}

.nl-social-label {
  font-size: 11.5px;
  font-weight: 700;
  color: #111c11;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-family: var(--btu-font-body);
}

.nl-social-icons {
  display: flex;
  align-items: center;
  gap: 8px;
}

.nl-social-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #07150a;
  color: #ffffff !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  text-decoration: none;
  transition: all 0.25s;
}

.nl-social-btn:hover {
  background: var(--btu-green);
  transform: translateY(-2px);
}

/* Main Dark Footer Body */
.main-footer-body {
  background: #07150a;
  color: #a2b4a2;
  padding: 80px 0 32px;
  position: relative;
  border-top: 1px solid rgba(46,139,61,0.25);
}

.footer-columns-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.85fr 1.25fr 1.3fr;
  gap: 44px;
  margin-bottom: 56px;
}

/* Headings */
.footer-heading-wrap {
  margin-bottom: 22px;
}

.footer-heading {
  font-size: 13px;
  font-weight: 800;
  color: var(--btu-green);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: var(--btu-font-body);
  margin: 0 0 6px;
}

.footer-heading-line {
  width: 32px;
  height: 2.5px;
  background: var(--btu-green);
  border-radius: 2px;
}

/* Column 1: Brand */
.footer-brand-logo {
  margin-bottom: 18px;
}

.footer-logo-img {
  max-height: 84px;
  width: auto;
  display: block;
}

.footer-brand-desc {
  font-size: 16px;
  line-height: 1.65;
  color: #8fa38f;
  font-family: var(--btu-font-body);
  margin-bottom: 22px;
}

.footer-contact-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.contact-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 13px;
  color: #cbd6cb;
  line-height: 1.45;
  font-family: var(--btu-font-body);
}

.contact-icon {
  color: var(--btu-green);
  font-size: 14px;
  margin-top: 3px;
  flex-shrink: 0;
}

.contact-link {
  color: #cbd6cb;
  text-decoration: none;
  transition: color 0.25s;
}

.contact-link:hover {
  color: var(--btu-green);
}

/* Column 2: Quick Links */
.footer-links-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-links-list a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #cbd6cb;
  text-decoration: none;
  transition: all 0.25s;
  font-family: var(--btu-font-body);
}

.link-chevron {
  font-size: 9px;
  color: #e5a93b;
  transition: transform 0.25s;
}

.footer-links-list a:hover {
  color: var(--btu-green);
  transform: translateX(4px);
}

.footer-links-list a:hover .link-chevron {
  transform: translateX(2px);
}

/* Column 3: Event Details */
.event-details-rows {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.event-detail-item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.event-icon-box {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  border: 1.5px solid rgba(46,139,61,0.40);
  background: rgba(46,139,61,0.06);
  color: var(--btu-green);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
}

.event-detail-info {
  display: flex;
  flex-direction: column;
}

.detail-primary {
  font-size: 13.5px;
  font-weight: 700;
  color: #ffffff;
  font-family: var(--btu-font-body);
  line-height: 1.25;
}

.detail-secondary {
  font-size: 12px;
  color: #8fa38f;
  margin-top: 2px;
  line-height: 1.30;
  font-family: var(--btu-font-body);
}

.event-item-divider {
  height: 1px;
  background: rgba(255,255,255,0.07);
  width: 100%;
}

/* Column 4: Contact Form */
.footer-contact-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-input,
.footer-textarea {
  width: 100%;
  background: #030b04;
  border: 1.5px solid rgba(46,139,61,0.35);
  border-radius: 8px;
  padding: 9px 14px;
  font-size: 12.5px;
  color: #ffffff;
  font-family: var(--btu-font-body);
  outline: none;
  transition: all 0.25s;
  box-sizing: border-box;
}

.footer-input::placeholder,
.footer-textarea::placeholder {
  color: #556b55;
}

.footer-input:focus,
.footer-textarea:focus {
  border-color: var(--btu-green);
  box-shadow: 0 0 0 3px rgba(46,139,61,0.18);
  background: #051006;
}

.footer-textarea {
  resize: vertical;
  min-height: 72px;
}

.btn-footer-send {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--btu-green);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  padding: 10px;
  font-size: 13px;
  font-weight: 600;
  font-family: var(--btu-font-body);
  cursor: pointer;
  transition: all 0.25s;
}

.btn-footer-send:hover {
  background: var(--btu-green-dark);
  transform: scale(1.01);
}

.btn-footer-send i {
  font-size: 12px;
  transition: transform 0.25s;
}

.btn-footer-send:hover i {
  transform: translateX(3px);
}

.fc-feedback-msg {
  font-size: 12px;
  margin-top: 4px;
  padding: 6px 10px;
  border-radius: 6px;
  font-family: var(--btu-font-body);
}

/* Partners Strip */
.footer-partners-strip {
  margin-bottom: 40px;
}

.partners-header-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}

.partners-line {
  flex: 1;
  height: 1px;
  background: rgba(46,139,61,0.30);
}

.partners-title {
  font-size: 12px;
  font-weight: 800;
  color: var(--btu-green);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0;
  white-space: nowrap;
  font-family: var(--btu-font-body);
}

.partners-logos-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.partner-logo-item {
  opacity: 0.85;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.partner-logo-item:hover {
  opacity: 1;
  transform: translateY(-2px);
}

.partner-svg {
  height: 28px;
  width: auto;
  max-width: 140px;
}

/* Bottom Bar */
.footer-bottom-bar {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.copyright-text {
  font-size: 12px;
  color: #7a8e7a;
  margin: 0;
  font-family: var(--btu-font-body);
}

.legal-links-list {
  display: flex;
  align-items: center;
  gap: 18px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.legal-links-list a {
  font-size: 12px;
  color: #8fa38f;
  text-decoration: none;
  transition: color 0.25s;
  font-family: var(--btu-font-body);
}

.legal-links-list a:hover {
  color: var(--btu-green);
}

.footer-bottom-right {
  display: flex;
  align-items: center;
  gap: 18px;
}

.payments-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}

.payments-label {
  font-size: 11.5px;
  color: #7a8e7a;
  font-family: var(--btu-font-body);
  white-space: nowrap;
}

.payment-badges-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pay-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  padding: 2px 7px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 4px;
  box-sizing: border-box;
}

.momo-box {
  display: flex;
  flex-direction: column;
  line-height: 1;
  font-size: 7.5px;
  font-weight: 800;
  color: #ffcc00;
  text-align: center;
}

.footer-scroll-top-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--btu-green);
  color: #ffffff !important;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px rgba(46,139,61,0.35);
  flex-shrink: 0;
}

.footer-scroll-top-btn:hover {
  background: var(--btu-green-dark);
  transform: translateY(-3px) scale(1.08);
}

/* ================================================================
   18. FOOTER RESPONSIVE BREAKPOINTS
   ================================================================ */
@media (max-width: 1200px) {
  .footer-columns-grid {
    grid-template-columns: 1.2fr 0.8fr 1.1fr 1.2fr;
    gap: 30px;
  }
}

@media (max-width: 991px) {
  .newsletter-card {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    padding: 24px 22px;
  }
  .nl-right-col {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .footer-columns-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
  .partners-logos-row {
    justify-content: center;
    gap: 20px 30px;
  }
  .footer-bottom-bar {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
  }
  .footer-bottom-right {
    flex-direction: column;
    gap: 12px;
  }
}

@media (max-width: 640px) {
  .newsletter-card {
    padding: 20px 16px;
  }
  .nl-left-col {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .nl-input-group {
    flex-direction: column;
    border-radius: 14px;
    padding: 8px 12px;
    gap: 8px;
    align-items: stretch;
  }
  .nl-field-icon {
    display: none;
  }
  .btn-nl-submit {
    justify-content: center;
    border-radius: 10px;
  }
  .footer-columns-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .footer-col {
    text-align: left;
  }
  .partners-logos-row {
    gap: 16px 24px;
  }
  .legal-links-list {
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 14px;
  }
}


/* ==========================================================================
   SECTION 17: WHAT TO EXPECT
   ========================================================================== */
.what-to-expect-section {
  background-color: #fafbfa;
  padding: 90px 0 85px;
  position: relative;
  overflow: hidden;
  border-top: 1px solid #f1f5f9;
}

.expect-header-grid {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  margin-bottom: 50px;
}

.expect-header-left {
  max-width: 660px;
}

.expect-eyebrow-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.expect-eyebrow-line {
  display: inline-block;
  width: 28px;
  height: 2px;
  background: #ea580c;
}

.expect-label-orange {
  font-size: 13px;
  font-weight: 700;
  color: #ea580c;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.expect-main-title {
  font-size: 42px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 16px;
  letter-spacing: -0.5px;
}

.expect-title-dark {
  color: #0b1c11;
}

.expect-title-gold {
  color: #d97706;
  margin-left: 6px;
}

.expect-main-desc {
  font-size: 18px;
  line-height: 1.7;
  color: #4b5563;
  margin: 0;
}

.expect-header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  min-width: 340px;
}

.expect-quote-container {
  position: relative;
  padding: 10px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.expect-africa-silhouette {
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  width: 250px;
  height: 250px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 700" fill="%232e8b3d"><path d="M280,30 C340,35 390,70 410,120 C425,160 480,180 510,230 C540,280 500,340 470,390 C440,440 400,480 370,540 C340,600 310,650 280,680 C260,650 230,590 220,530 C200,460 170,410 140,360 C110,310 70,270 90,220 C110,170 160,180 200,140 C230,100 240,40 280,30 Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.10;
  pointer-events: none;
  z-index: 1;
}

.expect-quote-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.expect-gold-quote-mark {
  font-size: 50px;
  font-family: Georgia, serif;
  color: #d97706;
  line-height: 1;
  margin-bottom: 4px;
}

.expect-quote-text {
  font-size: 17px;
  font-style: italic;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.45;
  margin: 0 0 10px;
}

.expect-quote-gold-line {
  width: 48px;
  height: 2px;
  background: #d97706;
  margin: 0 auto;
}

/* 5 Feature Cards */
.expect-cards-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 22px;
}

.expect-card-item {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 34px 20px 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.expect-card-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 32px rgba(5, 36, 14, 0.1);
  border-color: rgba(217, 119, 6, 0.35);
}

.expect-card-icon-circle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 22px;
  transition: transform 0.3s ease;
  flex-shrink: 0;
}

.expect-card-item:hover .expect-card-icon-circle {
  transform: scale(1.1);
}

.expect-card-icon-circle.circle-green {
  background: #05240e;
  color: #ffffff;
}

.expect-card-icon-circle.circle-gold {
  background: #d97706;
  color: #ffffff;
}

.expect-card-title {
  font-size: 17px;
  font-weight: 700;
  color: #0b1c11;
  margin: 0 0 12px;
  line-height: 1.35;
}

.expect-card-desc {
  font-size: 18px;
  line-height: 1.6;
  color: #6b7280;
  margin: 0;
}


/* ==========================================================================
   SECTION 18: UPCOMING EVENTS
   ========================================================================== */
.upcoming-events-section {
  background-color: #f2f7f3;
  padding: 90px 0 90px;
  position: relative;
  overflow: hidden;
}

.events-header-grid {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 30px;
  margin-bottom: 45px;
}

.events-header-left {
  max-width: 650px;
}

.events-eyebrow-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.events-eyebrow-line {
  display: inline-block;
  width: 28px;
  height: 2px;
  background: #ea580c;
}

.events-label-orange {
  font-size: 13px;
  font-weight: 700;
  color: #ea580c;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.events-main-title {
  font-size: 42px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 14px;
  letter-spacing: -0.5px;
}

.events-title-dark {
  color: #05240e;
}

.events-title-gold {
  color: #d97706;
  margin-left: 6px;
}

.events-main-desc {
  font-size: 18px;
  line-height: 1.65;
  color: #4b5563;
  margin: 0;
}

.events-header-right {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.btn-events-view-all {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 28px;
  border: 1.5px solid #d97706;
  border-radius: 8px;
  color: #d97706;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  text-decoration: none;
  background: transparent;
  transition: all 0.25s ease;
}

.btn-events-view-all:hover {
  background: #d97706;
  color: #ffffff;
}

/* Carousel Outer Container */
.events-carousel-container {
  position: relative;
  width: 100%;
}

.events-carousel-arrow {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: absolute;
  top: 48%;
  transform: translateY(-50%);
  z-index: 10;
  color: #0b1c11;
  transition: all 0.25s ease;
}

.events-arrow-prev {
  left: -23px;
}

.events-arrow-next {
  right: -23px;
}

.events-carousel-arrow:hover {
  background: #05240e;
  color: #ffffff;
  border-color: #05240e;
  transform: translateY(-50%) scale(1.06);
}

.events-track-viewport {
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  width: 100%;
}

.events-track-viewport::-webkit-scrollbar {
  display: none;
}

.events-cards-track {
  display: flex;
  gap: 24px;
}

/* Event Card Item */
.event-card-item {
  flex: 0 0 calc((100% - 48px) / 3);
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  border: 1px solid #e5e7eb;
  min-width: 300px;
}

.event-card-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(5, 36, 14, 0.12);
  border-color: rgba(217, 119, 6, 0.35);
}

.event-card-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #05240e;
}

.event-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.5s ease;
  display: block;
}

.event-card-item:hover .event-card-img {
  transform: scale(1.05);
}

.event-date-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  border-radius: 8px;
  padding: 6px 14px 8px;
  text-align: center;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  min-width: 64px;
}

.event-date-badge.date-green {
  background: #05240e;
}

.event-date-badge.date-gold {
  background: #d97706;
}

.event-date-day {
  font-size: 18px;
  font-weight: 800;
  line-height: 1.1;
}

.event-date-sub {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  margin-top: 2px;
}

.event-card-body {
  padding: 24px 22px 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.event-card-title {
  font-size: 18px;
  font-weight: 800;
  color: #0b1c11;
  line-height: 1.35;
  margin: 0 0 10px;
}

.event-card-location {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: #4b5563;
  font-weight: 600;
  margin-bottom: 12px;
}

.event-card-location i {
  color: #05240e;
}

.event-card-desc {
  font-size: 18px;
  line-height: 1.6;
  color: #6b7280;
  margin: 0 0 22px;
  flex-grow: 1;
}

.event-card-action {
  margin-top: auto;
  padding-top: 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.event-photo-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  cursor: pointer;
}

.event-img-zoom-hint {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  background: rgba(11, 28, 17, 0.75);
  backdrop-filter: blur(4px);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  opacity: 0;
  transform: scale(0.85);
  transition: all 0.25s ease;
  pointer-events: none;
}

.event-card-item:hover .event-img-zoom-hint {
  opacity: 1;
  transform: scale(1);
}

.btn-event-whatsapp {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 15px;
  background: #25d366;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.5px;
  border-radius: 6px;
  text-decoration: none;
  text-transform: uppercase;
  transition: all 0.25s ease;
  box-shadow: 0 3px 10px rgba(37, 211, 102, 0.25);
}

.btn-event-whatsapp:hover {
  background: #1ebc59;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(37, 211, 102, 0.35);
}

.link-event-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 800;
  color: #0b1c11;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: all 0.2s ease;
}

.link-event-more:hover {
  color: #d97706;
  transform: translateX(3px);
}

.btn-event-ticket {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 22px;
  background: #d97706;
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  border-radius: 8px;
  text-decoration: none;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  transition: all 0.25s ease;
  box-shadow: 0 4px 12px rgba(217, 119, 6, 0.25);
}

.btn-event-ticket:hover {
  background: #b45309;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(217, 119, 6, 0.35);
  color: #ffffff;
}

.events-carousel-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 32px;
}

.event-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #94a3b8;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: all 0.25s ease;
}

.event-dot.active {
  background: #05240e;
  width: 24px;
  border-radius: 12px;
}


/* ==========================================================================
   SECTION 19: WHY ATTEND
   ========================================================================== */
.why-attend-section {
  background-color: #041f0b;
  background-image: radial-gradient(circle at 10% 20%, rgba(46, 139, 61, 0.15) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(217, 119, 6, 0.08) 0%, transparent 40%);
  color: #ffffff;
  position: relative;
  overflow: hidden;
}

.why-attend-outer {
  position: relative;
  width: 100%;
}

.why-attend-grid {
  display: grid;
  grid-template-columns: minmax(0, 720px) 1fr;
  position: relative;
  z-index: 5;
}

.why-attend-left-col {
  padding: 90px 40px 90px 0;
}

.why-attend-eyebrow-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.why-attend-eyebrow-line {
  display: inline-block;
  width: 28px;
  height: 2px;
  background: #d97706;
}

.why-attend-label-orange {
  font-size: 13px;
  font-weight: 700;
  color: #d97706;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.why-attend-main-title {
  font-size: 42px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 16px;
  letter-spacing: -0.5px;
}

.why-title-white {
  color: #ffffff;
}

.why-title-gold {
  color: #d97706;
  margin-left: 6px;
}

.why-attend-main-desc {
  font-size: 18px;
  line-height: 1.7;
  color: #cbd5e1;
  margin: 0 0 38px;
  max-width: 640px;
}

/* 4 Feature Items Row with Separators */
.why-attend-features-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 44px;
}

.why-attend-feature-item {
  padding: 0 14px 0 0;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.why-attend-feature-item:last-child {
  border-right: none;
}

.why-attend-icon-circle {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  margin-bottom: 14px;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.why-attend-feature-item:hover .why-attend-icon-circle {
  transform: scale(1.1);
}

.why-attend-icon-circle.circle-white {
  background: #ffffff;
  color: #041f0b;
}

.why-attend-icon-circle.circle-gold {
  background: #d97706;
  color: #ffffff;
}

.why-attend-feature-title {
  font-size: 16.5px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 6px;
}

.why-attend-feature-desc {
  font-size: 18px;
  line-height: 1.5;
  color: #94a3b8;
  margin: 0;
}

.why-attend-cta-row {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}

.btn-why-attend-ticket {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 32px;
  background: #d97706;
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  border-radius: 8px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  box-shadow: 0 4px 16px rgba(217, 119, 6, 0.35);
  transition: all 0.25s ease;
}

.btn-why-attend-ticket:hover {
  background: #b45309;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(217, 119, 6, 0.45);
  color: #ffffff;
}

.why-attend-tagline-wrap {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.why-attend-script-text {
  font-style: italic;
  font-family: Georgia, serif;
  font-size: 18px;
  color: #e2e8f0;
}

.why-attend-gold-line {
  display: inline-block;
  width: 42px;
  height: 1.5px;
  background: #d97706;
}

/* Listener Photo Bleeding to Right Edge */
.why-attend-bleed-photo-wrap {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 44%;
  z-index: 2;
  overflow: hidden;
}

.why-attend-photo-blend {
  position: absolute;
  top: 0;
  left: 0;
  width: 38%;
  height: 100%;
  background: linear-gradient(to right, #041f0b 0%, rgba(4, 31, 11, 0) 100%);
  z-index: 3;
  pointer-events: none;
}

.why-attend-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}


/* ==========================================================================
   RESPONSIVE STYLES FOR SECTIONS 17, 18, 19
   ========================================================================== */
@media (max-width: 1200px) {
  .expect-cards-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .event-card-item {
    flex: 0 0 calc((100% - 24px) / 2);
  }
  .events-arrow-prev {
    left: -14px;
  }
  .events-arrow-next {
    right: -14px;
  }
  .why-attend-bleed-photo-wrap {
    width: 40%;
  }
  .why-attend-left-col {
    padding-right: 24px;
  }
}

@media (max-width: 991px) {
  .expect-header-grid {
    flex-direction: column;
    gap: 24px;
  }
  .expect-header-right {
    justify-content: flex-start;
  }
  .expect-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .events-header-grid {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  
  .why-attend-grid {
    grid-template-columns: 1fr;
  }
  .why-attend-left-col {
    padding: 70px 0 40px;
  }
  .why-attend-features-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .why-attend-feature-item {
    border-right: none;
  }
  .why-attend-bleed-photo-wrap {
    position: relative;
    width: 100%;
    height: 420px;
  }
  .why-attend-photo-blend {
    width: 100%;
    height: 40%;
    background: linear-gradient(to bottom, #041f0b 0%, rgba(4, 31, 11, 0) 100%);
  }
}

@media (max-width: 768px) {
  .what-to-expect-section,
  .upcoming-events-section {
    padding: 60px 0;
  }
  .expect-main-title,
  .events-main-title,
  .why-attend-main-title {
    font-size: 32px;
  }
  .expect-cards-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .event-card-item {
    flex: 0 0 100%;
  }
  .events-carousel-arrow {
    display: none;
  }
  
  .why-attend-left-col {
    padding: 50px 0 36px;
  }
  .why-attend-features-row {
    grid-template-columns: 1fr;
  }
  .why-attend-cta-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }
  .why-attend-bleed-photo-wrap {
    height: 320px;
  }
}

@media (max-width: 480px) {
  .expect-main-title,
  .events-main-title,
  .why-attend-main-title {
    font-size: 27px;
  }
  .expect-card-item {
    padding: 24px 18px;
  }
  .event-card-body {
    padding: 18px;
  }
}


/* ==========================================================================
   SECTION 20: TESTIMONIALS & BOTTOM CTA BANNER
   ========================================================================== */
.testimonials-section {
  background-color: #fafbfa;
  padding: 95px 0 95px;
  position: relative;
  overflow: hidden;
  border-top: 1px solid #f1f5f9;
}

/* 1. Header Grid */
.testimonials-header-grid {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  margin-bottom: 52px;
}

.testimonials-header-left {
  max-width: 640px;
}

.testimonials-eyebrow-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.testimonials-eyebrow-line {
  display: inline-block;
  width: 28px;
  height: 2px;
  background: #ea580c;
}

.testimonials-label-orange {
  font-size: 13px;
  font-weight: 700;
  color: #ea580c;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.testimonials-main-title {
  font-size: 42px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 16px;
  letter-spacing: -0.5px;
}

.testi-title-dark {
  color: #0b1c11;
}

.testi-title-gold {
  color: #d97706;
  margin-left: 6px;
}

.testimonials-main-desc {
  font-size: 18px;
  line-height: 1.7;
  color: #4b5563;
  margin: 0;
}

/* Right Header Block with Quote, Africa Silhouette & Bleed Listener */
.testimonials-header-right {
  position: relative;
  min-width: 380px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.testimonials-quote-wrap {
  position: relative;
  padding: 16px 20px;
  min-height: 140px;
  display: flex;
  align-items: center;
  width: 100%;
}

.testimonials-africa-silhouette {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 220px;
  height: 220px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 700" fill="%232e8b3d"><path d="M280,30 C340,35 390,70 410,120 C425,160 480,180 510,230 C540,280 500,340 470,390 C440,440 400,480 370,540 C340,600 310,650 280,680 C260,650 230,590 220,530 C200,460 170,410 140,360 C110,310 70,270 90,220 C110,170 160,180 200,140 C230,100 240,40 280,30 Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.10;
  pointer-events: none;
  z-index: 1;
}

.testimonials-listener-bg {
  position: absolute;
  right: -20px;
  top: -30px;
  bottom: -30px;
  width: 230px;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}

.testi-listener-fade {
  position: absolute;
  top: 0;
  left: 0;
  width: 70%;
  height: 100%;
  background: linear-gradient(to right, #fafbfa 15%, rgba(250, 251, 250, 0) 100%);
  z-index: 2;
}

.testi-listener-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  opacity: 0.42;
}

.testimonials-quote-inner {
  position: relative;
  z-index: 3;
  max-width: 300px;
  text-align: left;
}

.testi-gold-quote-mark {
  font-size: 52px;
  font-family: Georgia, serif;
  color: #d97706;
  line-height: 1;
  margin-bottom: 2px;
}

.testi-quote-text {
  font-size: 15.5px;
  font-style: italic;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.5;
  margin: 0 0 10px;
}

.testi-quote-gold-line {
  width: 44px;
  height: 2px;
  background: #d97706;
}

/* 2. Testimonial Carousel Block */
.testimonials-carousel-container {
  position: relative;
  width: 100%;
  margin-bottom: 65px;
}

.testi-carousel-arrow {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: absolute;
  top: 48%;
  transform: translateY(-50%);
  z-index: 10;
  color: #0b1c11;
  transition: all 0.25s ease;
}

.testi-arrow-prev {
  left: -23px;
}

.testi-arrow-next {
  right: -23px;
}

.testi-carousel-arrow:hover {
  background: #05240e;
  color: #ffffff;
  border-color: #05240e;
  transform: translateY(-50%) scale(1.06);
}

.testi-track-viewport {
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  width: 100%;
}

.testi-track-viewport::-webkit-scrollbar {
  display: none;
}

.testi-cards-track {
  display: flex;
  gap: 24px;
}

/* Testimonial Card Item */
.testimonial-card-item {
  flex: 0 0 calc((100% - 48px) / 3);
  background: #ffffff;
  border-radius: 18px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
  padding: 32px 28px 26px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  min-width: 300px;
}

.testimonial-card-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(5, 36, 14, 0.1);
  border-color: rgba(217, 119, 6, 0.35);
}

.testi-card-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.testi-card-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: #e5e7eb;
  border: 2px solid #f3f4f6;
}

.testi-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.testi-card-stars {
  display: flex;
  gap: 4px;
  color: #d97706;
  font-size: 15px;
}

.testi-card-quote {
  font-size: 18px;
  line-height: 1.65;
  color: #4b5563;
  margin: 0 0 24px;
  flex-grow: 1;
}

.testi-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
  margin-top: auto;
}

.testi-author-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  z-index: 2;
}

.testi-author-name {
  font-size: 17px;
  font-weight: 800;
  color: #0b1c11;
  margin: 0 0 2px;
  line-height: 1.25;
}

.testi-author-role {
  font-size: 13px;
  color: #6b7280;
  font-weight: 600;
  margin: 0;
}

.testi-author-location {
  font-size: 12.5px;
  color: #9ca3af;
  margin: 0;
}

.testi-watermark-quote {
  font-size: 72px;
  font-family: Georgia, serif;
  color: #f1f5f9;
  line-height: 0.7;
  position: absolute;
  right: -4px;
  bottom: -8px;
  pointer-events: none;
  user-select: none;
  transition: color 0.3s ease;
  z-index: 1;
}

.testimonial-card-item:hover .testi-watermark-quote {
  color: rgba(217, 119, 6, 0.12);
}

.testi-carousel-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 32px;
}

.testi-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #cbd5e1;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: all 0.25s ease;
}

.testi-dot.active {
  background: #05240e;
  width: 26px;
  border-radius: 12px;
}

/* 3. Bottom CTA Banner */
.testimonials-cta-banner {
  background-color: #041f0b;
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 8px 30px rgba(4, 31, 11, 0.15);
}

.testi-banner-inner {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  align-items: stretch;
  min-height: 240px;
}

.testi-banner-left {
  padding: 44px 36px 44px 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 3;
  position: relative;
}

.testi-banner-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.testi-banner-line {
  display: inline-block;
  width: 24px;
  height: 2px;
  background: #ea580c;
}

.testi-banner-label-orange {
  font-size: 12.5px;
  font-weight: 700;
  color: #ea580c;
  text-transform: uppercase;
  letter-spacing: 1.4px;
}

.testi-banner-title {
  font-size: 35px;
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 10px;
  letter-spacing: -0.5px;
}

.banner-title-white {
  color: #ffffff;
}

.banner-title-gold {
  color: #d97706;
  margin-left: 5px;
}

.testi-banner-desc {
  font-size: 15px;
  color: #94a3b8;
  margin: 0 0 24px;
}

.testi-banner-action {
  display: flex;
  align-items: center;
}

.btn-testi-ticket {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 30px;
  background: #d97706;
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  border-radius: 8px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  box-shadow: 0 4px 16px rgba(217, 119, 6, 0.35);
  transition: all 0.25s ease;
}

.btn-testi-ticket:hover {
  background: #b45309;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(217, 119, 6, 0.45);
  color: #ffffff;
}

.testi-banner-right {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.testi-banner-tagline-col {
  display: flex;
  align-items: center;
  gap: 18px;
  position: absolute;
  left: 28px;
  z-index: 4;
}

.testi-banner-v-divider {
  width: 1.5px;
  height: 85px;
  background: rgba(255, 255, 255, 0.25);
  flex-shrink: 0;
}

.testi-banner-tagline-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.testi-banner-script {
  font-style: italic;
  font-family: Georgia, serif;
  font-size: 18px;
  color: #e2e8f0;
  line-height: 1.35;
  margin-bottom: 6px;
}

.testi-banner-gold-line {
  display: inline-block;
  width: 36px;
  height: 2px;
  background: #d97706;
}

.testi-banner-photo-wrap {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.testi-banner-blend {
  position: absolute;
  top: 0;
  left: 0;
  width: 55%;
  height: 100%;
  background: linear-gradient(to right, #041f0b 20%, rgba(4, 31, 11, 0) 100%);
  z-index: 2;
  pointer-events: none;
}

.testi-banner-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
  display: block;
}


/* ==========================================================================
   RESPONSIVE STYLES FOR SECTION 20 (TESTIMONIALS)
   ========================================================================== */
@media (max-width: 1200px) {
  .testimonial-card-item {
    flex: 0 0 calc((100% - 24px) / 2);
  }
  .testi-arrow-prev {
    left: -14px;
  }
  .testi-arrow-next {
    right: -14px;
  }
  .testi-banner-inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 991px) {
  .testimonials-header-grid {
    flex-direction: column;
    gap: 24px;
  }
  .testimonials-header-right {
    justify-content: flex-start;
    min-width: auto;
  }
  .testi-banner-inner {
    grid-template-columns: 1fr;
  }
  .testi-banner-left {
    padding: 40px 24px 30px;
  }
  .testi-banner-right {
    height: 240px;
  }
  .testi-banner-tagline-col {
    left: 24px;
  }
  .testi-banner-blend {
    width: 100%;
    height: 35%;
    background: linear-gradient(to bottom, #041f0b 0%, rgba(4, 31, 11, 0) 100%);
  }
}

@media (max-width: 768px) {
  .testimonials-section {
    padding: 60px 0;
  }
  .testimonials-main-title {
    font-size: 32px;
  }
  .testimonial-card-item {
    flex: 0 0 100%;
  }
  .testi-carousel-arrow {
    display: none;
  }
  .testi-banner-title {
    font-size: 28px;
  }
  .testi-banner-tagline-col {
    display: none;
  }
}

@media (max-width: 480px) {
  .testimonials-main-title {
    font-size: 27px;
  }
  .testi-banner-title {
    font-size: 24px;
  }
  .testimonial-card-item {
    padding: 24px 20px;
  }
}


/* ==========================================================================
   SECTION 21: SITE FOOTER REDESIGN (4-COLUMN WITH GALLERY & SKYLINE)
   ========================================================================== */
.btu-site-footer-v2 {
  background-color: #fafbfa;
  position: relative;
  overflow: hidden;
  border-top: 1px solid #f1f5f9;
}

.footer-top-body {
  padding: 90px 0 0;
  position: relative;
}

/* Faint Africa Silhouette Watermark Upper Right */
.footer-africa-shape {
  position: absolute;
  right: 0;
  top: 15px;
  width: 320px;
  height: 320px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 700" fill="%232e8b3d"><path d="M280,30 C340,35 390,70 410,120 C425,160 480,180 510,230 C540,280 500,340 470,390 C440,440 400,480 370,540 C340,600 310,650 280,680 C260,650 230,590 220,530 C200,460 170,410 140,360 C110,310 70,270 90,220 C110,170 160,180 200,140 C230,100 240,40 280,30 Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.08;
  pointer-events: none;
  z-index: 1;
}

/* 4-Column Grid */
.footer-columns-grid-v2 {
  display: grid;
  grid-template-columns: 1.55fr 0.8fr 1.15fr 1.35fr;
  gap: 36px;
  position: relative;
  z-index: 3;
  padding-bottom: 60px;
}

/* Common Header Box */
.footer-head-box {
  margin-bottom: 22px;
}

.footer-col-title {
  font-size: 20px;
  font-weight: 800;
  color: #0b1c11;
  margin: 0 0 8px;
  line-height: 1.2;
}

.footer-head-gold-line {
  width: 32px;
  height: 2px;
  background: #d97706;
}

/* Column 1: Brand */
.footer-brand-logo-wrap {
  margin-bottom: 20px;
  display: inline-block;
}

.footer-brand-logo-img {
  max-height: 130px;
  width: auto;
  object-fit: contain;
  display: block;
}

.footer-brand-line {
  width: 32px;
  height: 2px;
  background: #ea580c;
  margin-bottom: 14px;
}

.footer-brand-title {
  font-size: 24px;
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 14px;
  letter-spacing: -0.4px;
}

.fb-dark {
  color: #05240e;
}

.fb-gold {
  color: #d97706;
}

.footer-brand-p {
  font-family: var(--btu-font-body);
  font-size: 18px;
  line-height: 1.65;
  color: #4b5563;
  margin: 0 0 20px;
  max-width: 440px;
}

.footer-social-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.footer-social-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid #0b1c11;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0b1c11;
  font-size: 14px;
  text-decoration: none;
  background: transparent;
  transition: all 0.25s ease;
}

.footer-social-btn:hover {
  background: #05240e;
  color: #ffffff;
  border-color: #05240e;
  transform: translateY(-2px);
}

.footer-brand-divider {
  width: 44px;
  height: 1.5px;
  background: #ea580c;
  margin-bottom: 14px;
}

.footer-brand-script {
  font-style: italic;
  font-family: Georgia, serif;
  font-size: 18px;
  color: #374151;
  letter-spacing: 0.2px;
}

/* Column 2: Quick Links */
.footer-nav-list-v2 {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-nav-link-v2 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 600;
  color: #374151;
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
  padding: 3px 0;
  width: auto;
}

.footer-nav-link-v2:hover {
  color: #d97706;
  transform: translateX(4px);
}

.link-chevron-icon {
  font-size: 11px;
  color: #05240e;
  transition: transform 0.2s ease, color 0.2s ease;
}

.footer-nav-link-v2:hover .link-chevron-icon {
  color: #d97706;
  transform: translateX(2px);
}

/* Column 3: Get in Touch */
.footer-contact-items-v2 {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer-contact-row-v2 {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.contact-badge-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #e8f3ea;
  color: #05240e;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
  margin-top: 2px;
  transition: all 0.25s ease;
}

.footer-contact-row-v2:hover .contact-badge-circle {
  transform: scale(1.08);
  background: #05240e;
  color: #ffffff;
}

.contact-text-box {
  font-size: 18px;
  line-height: 1.55;
  color: #374151;
}

.contact-interactive-link {
  color: #374151;
  font-weight: 600;
  font-size: 18px;
  text-decoration: none;
  transition: color 0.2s ease;
}

.contact-interactive-link:hover {
  color: #d97706;
}

.contact-static-text {
  font-weight: 600;
  font-size: 18px;
  color: #374151;
}

/* Column 4: Newsletter + Gallery */
.footer-newsletter-box {
  margin-bottom: 28px;
}

.footer-newsletter-p {
  font-size: 18px;
  line-height: 1.55;
  color: #4b5563;
  margin: 0 0 16px;
}

.newsletter-input-group-v2 {
  display: flex;
  align-items: stretch;
  border: 1.5px solid #d1d5db;
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff;
  transition: all 0.2s ease;
  margin-bottom: 12px;
}

.newsletter-input-group-v2:focus-within {
  border-color: #d97706;
  box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);
}

.nl-input-v2 {
  flex-grow: 1;
  border: none;
  padding: 11px 14px;
  font-size: 18px;
  outline: none;
  background: transparent;
  color: #1f2937;
}

.btn-nl-subscribe-v2 {
  background: #d97706;
  color: #ffffff;
  border: none;
  padding: 0 18px;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: background 0.2s ease;
}

.btn-nl-subscribe-v2:hover {
  background: #b45309;
}

.nl-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  color: #4b5563;
  cursor: pointer;
  user-select: none;
  line-height: 1.4;
}

.nl-checkbox {
  margin-top: 2px;
  accent-color: #05240e;
}

.nl-feedback-msg-v2 {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 600;
}

/* Gallery Block */
.footer-gallery-head-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.link-gallery-view-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 700;
  color: #0b1c11;
  text-decoration: none;
  transition: color 0.2s ease;
}

.link-gallery-view-more:hover {
  color: #d97706;
}

.footer-gallery-grid-v2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.footer-gallery-thumb {
  aspect-ratio: 4 / 3;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  display: block;
  background: #e5e7eb;
}

.footer-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  display: block;
}

.footer-gallery-thumb:hover img {
  transform: scale(1.08);
}

.thumb-overlay {
  position: absolute;
  inset: 0;
  background: rgba(5, 36, 14, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  opacity: 0;
  transition: opacity 0.25s ease;
  font-size: 14px;
}

.footer-gallery-thumb:hover .thumb-overlay {
  opacity: 1;
}

/* Accra Skyline Panorama Silhouette */
.footer-skyline-panorama-wrap {
  width: 100%;
  height: 110px;
  overflow: hidden;
  position: relative;
  z-index: 2;
  margin-top: -30px;
  pointer-events: none;
}

.footer-skyline-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  opacity: 0.24;
  display: block;
}

/* Bottom Bar */
.footer-bottom-bar-v2 {
  background-color: #041f0b;
  padding: 22px 0;
  color: #ffffff;
  position: relative;
  z-index: 5;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.bottom-bar-content-v2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.bottom-copyright-p {
  font-size: 13px;
  color: #94a3b8;
  margin: 0;
}

.bottom-legal-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.bottom-legal-links li a {
  font-size: 13px;
  color: #cbd5e1;
  text-decoration: none;
  transition: color 0.2s ease;
}

.bottom-legal-links li a:hover {
  color: #d97706;
}

.legal-pipe {
  color: rgba(255, 255, 255, 0.2);
  font-size: 12px;
}

.bottom-script-wrap {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.bottom-script-gold-line {
  width: 44px;
  height: 1.5px;
  background: #d97706;
  display: inline-block;
}

.bottom-script-text {
  font-style: italic;
  font-family: Georgia, serif;
  font-size: 16px;
  color: #e2e8f0;
  letter-spacing: 0.3px;
}


/* ==========================================================================
   RESPONSIVE STYLES FOR SECTION 21 (FOOTER REDESIGN)
   ========================================================================== */
@media (max-width: 1200px) {
  .footer-columns-grid-v2 {
    grid-template-columns: 1.4fr 0.8fr 1.1fr 1.3fr;
    gap: 28px;
  }
}

@media (max-width: 991px) {
  .footer-columns-grid-v2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 30px;
  }
  .bottom-bar-content-v2 {
    flex-direction: column;
    text-align: center;
    gap: 14px;
  }
}

@media (max-width: 768px) {
  .footer-top-body {
    padding: 60px 0 0;
  }
  .footer-columns-grid-v2 {
    grid-template-columns: 1fr;
    gap: 36px;
    padding-bottom: 40px;
  }
  .footer-skyline-panorama-wrap {
    height: 80px;
    margin-top: 0;
  }
  .bottom-legal-links {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 10px;
  }
}

@media (max-width: 480px) {
  .footer-gallery-grid-v2 {
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
  }
  .newsletter-input-group-v2 {
    flex-direction: column;
  }
  .btn-nl-subscribe-v2 {
    padding: 12px;
    justify-content: center;
  }
}


/* ================================================================
   10. SIGNATURE TUNE FLOATING AUDIO PLAYER
   ================================================================ */
.summit-anthem-player {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.anthem-toggle-btn {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #faaC1D;
  background: linear-gradient(135deg, #fbb024 0%, #faaC1D 50%, #d97706 100%);
  border: 2px solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.22), 0 2px 8px rgba(250, 172, 29, 0.45);
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: #062814;
  outline: none;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s ease, background 0.3s ease;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.anthem-toggle-btn:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.28), 0 4px 12px rgba(250, 172, 29, 0.60);
  background: linear-gradient(135deg, #fcd34d 0%, #fbbf24 50%, #d97706 100%);
}

.anthem-toggle-btn:focus-visible {
  outline: 3px solid #062814;
  outline-offset: 3px;
}

/* Pulsing outer ring to draw gentle attention when idle */
.anthem-pulse-ring {
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  border: 2px solid #faaC1D;
  opacity: 0;
  pointer-events: none;
  animation: anthemPulseRing 2.8s infinite cubic-bezier(0.25, 0.1, 0.25, 1);
}

.anthem-toggle-btn.playing .anthem-pulse-ring {
  border-color: #3aaa52;
  animation: anthemPulseRingPlay 2s infinite ease-out;
}

@keyframes anthemPulseRing {
  0% {
    transform: scale(0.92);
    opacity: 0.85;
  }
  50% {
    opacity: 0.35;
  }
  100% {
    transform: scale(1.48);
    opacity: 0;
  }
}

@keyframes anthemPulseRingPlay {
  0% {
    transform: scale(0.96);
    opacity: 0.7;
  }
  100% {
    transform: scale(1.35);
    opacity: 0;
  }
}

/* Icons inside the button */
.anthem-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.anthem-icon-idle {
  color: #062814;
  font-size: 19px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}

.anthem-toggle-btn:hover .anthem-icon-idle {
  transform: rotate(8deg) scale(1.05);
}

/* Playing state: Equalizer Animation */
.anthem-icon-playing {
  display: none;
  align-items: flex-end;
  justify-content: center;
  gap: 3px;
  height: 18px;
  width: 20px;
}

.anthem-toggle-btn.playing .anthem-icon-idle {
  display: none;
}

.anthem-toggle-btn.playing .anthem-icon-playing {
  display: flex;
}

.eq-bar {
  width: 3px;
  background: #062814;
  border-radius: 2px;
}

.eq-bar-1 { height: 10px; animation: eqBounce1 0.65s infinite ease-in-out alternate; }
.eq-bar-2 { height: 16px; animation: eqBounce2 0.45s infinite ease-in-out alternate; }
.eq-bar-3 { height: 8px;  animation: eqBounce3 0.75s infinite ease-in-out alternate; }
.eq-bar-4 { height: 14px; animation: eqBounce4 0.52s infinite ease-in-out alternate; }

@keyframes eqBounce1 { 0% { height: 6px; } 100% { height: 18px; } }
@keyframes eqBounce2 { 0% { height: 18px; } 100% { height: 7px; } }
@keyframes eqBounce3 { 0% { height: 5px; } 100% { height: 16px; } }
@keyframes eqBounce4 { 0% { height: 15px; } 100% { height: 6px; } }

/* Tooltip on hover / tap */
.anthem-tooltip {
  position: absolute;
  right: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%) translateX(6px);
  white-space: nowrap;
  background: #062814;
  color: #ffffff;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  font-family: var(--btu-font-body);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  opacity: 0;
  pointer-events: none;
  transition: all 0.22s ease;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.anthem-tooltip::after {
  content: '';
  position: absolute;
  top: 50%;
  right: -5px;
  transform: translateY(-50%);
  border-width: 5px 0 5px 5px;
  border-style: solid;
  border-color: transparent transparent transparent #062814;
}

.summit-anthem-player:hover .anthem-tooltip,
.anthem-toggle-btn:focus-visible ~ .anthem-tooltip,
.anthem-toggle-btn:hover ~ .anthem-tooltip {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .summit-anthem-player {
    bottom: 18px;
    right: 18px;
  }
  .anthem-toggle-btn {
    width: 48px;
    height: 48px;
  }
  .anthem-icon-idle {
    font-size: 17px;
  }
}

/* ================================================================
   BTU 2026 HOMEPAGE HERO — PAN-AFRICAN REDESIGN
   Uses the project's existing photography and logo assets.
   ================================================================ */
:root {
  --btu-font-head: 'Outfit', sans-serif;
  --btu-font-body: 'Outfit', sans-serif;
  --btu-cream: #fffaf0;
  --btu-red: #c62828;
  --btu-blue: #123b63;
}

.btu-home-hero {
  margin-top: 172px;
  padding: 24px 0 42px;
  background: linear-gradient(120deg, #fffdf8 0%, #ffffff 54%, #fff7e9 100%);
  position: relative;
}

.btu-hero-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1540px;
  margin: 0 auto;
  padding: 0 clamp(20px, 3.5vw, 60px);
  gap: 24px;
  position: relative;
  z-index: 2;
}

.btu-hero-copy-col {
  flex: 0 0 46%;
  max-width: 46%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btu-hero-copy {
  width: 100%;
  max-width: 580px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.btu-hero-kicker {
  display: none;
}
.btu-kicker-line { width: 42px; height: 3px; background: #d48806; border-radius: 99px; }

.btu-main-title {
  margin: 0 0 10px;
  font-family: 'Outfit', sans-serif;
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.045em;
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
}
.btu-title-line { display: block; text-align: center; width: 100%; }
.btu-title-green { color: #073822; font-size: clamp(54px, 5.8vw, 90px); }
.btu-title-gold { color: #cf7b00; font-size: clamp(50px, 5.4vw, 84px); }
.btu-title-small {
  color: #073822;
  font-size: clamp(25px, 2.7vw, 42px);
  letter-spacing: .20em;
  line-height: 1.08;
  margin-top: 8px;
  text-align: center;
}

.btu-tagline-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 14px 0 14px;
  color: #19384d;
  font-size: 17px;
  font-weight: 600;
  width: 100%;
  text-align: center;
}
.btu-tagline-rule { width: 50px; height: 2px; background: #d48806; }

.btu-presented-by {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 2px auto 20px;
  padding-left: 0;
  text-align: center;
}
.btu-presented-label {
  color: #6a7680;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin-bottom: 6px;
  text-align: center;
}
.btu-abbey-logo {
  display: block;
  width: min(320px, 88%);
  max-width: 320px;
  height: auto;
  margin: 0 auto;
}

.btu-hero-description {
  display: none;
}

.btu-hero-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  margin: 0 auto 24px;
}
.btu-button-arrow { display: inline-block !important; margin-left: 5px; font-size: 11px !important; color: #fff !important; }

.btu-hero-benefits {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  width: 100%;
  margin-top: 6px;
  border-top: 1px solid #eadfca;
  padding-top: 16px;
}
.btu-hero-benefits > div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 10px;
  border-right: 1px solid #e5d8bd;
  text-align: left;
}
.btu-hero-benefits > div:first-child { padding-left: 0; }
.btu-hero-benefits > div:last-child { border-right: 0; }
.btu-hero-benefits i { color: #d48806; font-size: 20px; flex-shrink: 0; }
.btu-hero-benefits span {
  color: #183529;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.22;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.btu-hero-visual-col { flex-basis: 55%; max-width: 55%; }
.btu-hero-visual { height: 590px; border-radius: 28px 0 0 28px; box-shadow: -18px 20px 55px rgba(0,0,0,.13); }
.btu-hero-image { object-position: center center; filter: brightness(1.03) contrast(1.05) saturate(1.14); }
.btu-hero-image-tint { position:absolute; inset:0; background:linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.66) 10%, rgba(255,255,255,.08) 30%, rgba(0,0,0,0) 50%); z-index:2; pointer-events:none; }
.btu-africa-ribbon { position:absolute; left:0; right:0; bottom:112px; z-index:4; display:flex; justify-content:center; flex-wrap:wrap; gap:0; background:linear-gradient(90deg, rgba(6,40,20,.96), rgba(14,63,37,.94)); box-shadow:0 8px 24px rgba(0,0,0,.18); }
.btu-africa-ribbon span { color:#fff; font-size:9px; font-weight:800; letter-spacing:.08em; padding:8px 12px; border-right:1px solid rgba(255,255,255,.2); }
.btu-africa-ribbon span:nth-child(2n){ color:#ffd166; }
.btu-hero-info { right: 24px; bottom: 20px; max-width: calc(100% - 48px); background: rgba(3, 45, 23, .96); border-color: rgba(226,170,55,.35); }
.btu-hero-info .info-bar-secondary { color:#d7eadf; }
.btu-hero-info .info-bar-badge { background:rgba(212,136,6,.18); color:#ffd166; border-color:rgba(212,136,6,.48); }

.btu-hero-pattern { position:absolute; pointer-events:none; opacity:.7; }
.btu-hero-pattern-left { left:-90px; bottom:-60px; width:280px; height:180px; background: repeating-linear-gradient(45deg, transparent 0 13px, rgba(198,40,40,.22) 14px 17px, transparent 18px 29px), repeating-linear-gradient(-45deg, transparent 0 16px, rgba(212,136,6,.25) 17px 20px, transparent 21px 34px); transform:skewX(-14deg); }
.btu-hero-pattern-right { right:-120px; top:80px; width:280px; height:260px; background: repeating-linear-gradient(45deg, transparent 0 16px, rgba(212,136,6,.18) 17px 20px, transparent 21px 34px), repeating-linear-gradient(-45deg, transparent 0 18px, rgba(198,40,40,.15) 19px 22px, transparent 23px 38px); }

@media (max-width: 1200px) {
  .btu-home-hero { margin-top: 168px; }
  .btu-title-green { font-size: clamp(50px, 5.6vw, 75px); }
  .btu-title-gold { font-size: clamp(47px, 5.3vw, 70px); }
  .btu-title-small { font-size: 25px; }
  .btu-hero-benefits span { font-size: 8.5px; }
  .btu-hero-info { gap: 12px; padding: 12px 14px; }
  .btu-hero-info .info-bar-primary { font-size: 10px; }
  .btu-hero-info .info-bar-secondary { font-size: 9px; }
}

@media (max-width: 1100px) and (min-width: 901px) {
  .btu-home-hero { margin-top: 150px; }
}

@media (max-width: 900px) {
  .btu-home-hero { margin-top: 126px; padding: 24px 0 34px; }
  .btu-hero-layout { flex-direction: column; padding: 0 20px; }
  .btu-hero-copy-col, .btu-hero-visual-col { flex: 0 0 100%; max-width:100%; width:100%; }
  .btu-hero-copy { max-width: 760px; margin:0 auto; }
  .btu-title-green { font-size: clamp(48px, 10vw, 74px); }
  .btu-title-gold { font-size: clamp(44px, 9.4vw, 69px); }
  .btu-title-small { font-size: clamp(22px, 4.2vw, 32px); }
  .btu-hero-visual { height: 470px; border-radius: 22px; }
}

@media (max-width: 600px) {
  .btu-home-hero { padding-top: 12px; }
  .btu-hero-kicker { font-size:10px; letter-spacing:.1em; }
  .btu-kicker-line { width:28px; }
  .btu-presented-by { padding-left:0; display:flex; flex-direction:column; align-items:center; width:100%; margin: 6px auto 18px; text-align:center; }
  .btu-presented-label { display:block; margin-bottom:5px; font-size:9.5px; text-align:center; }
  .btu-abbey-logo { width:min(260px, 88%); height:auto; margin:0 auto; }
  .btu-hero-description { font-size:14px; }
  .btu-hero-buttons { width:100%; }
  .btn-hero-tickets, .btn-hero-trailer { flex:1; justify-content:center; padding-left:12px; padding-right:12px; }
  .btu-hero-benefits { grid-template-columns:repeat(2,1fr); row-gap:14px; }
  .btu-hero-benefits > div { border-right:0; padding:0 7px; }
  .btu-hero-benefits > div:nth-child(odd){ padding-left:0; }
  .btu-hero-visual { height:420px; }
  .btu-africa-ribbon { bottom:105px; }
  .btu-africa-ribbon span { font-size:7px; padding:6px 7px; }
  .btu-hero-info { position:absolute; left:12px; right:12px; bottom:12px; max-width:none; display:grid; grid-template-columns:1fr; gap:7px; padding:10px 12px; }
  .btu-hero-info .info-bar-block { gap:8px; }
  .btu-hero-info .info-bar-badge { width:28px; height:28px; font-size:11px; }
  .btu-hero-info .info-bar-primary { font-size:10px; }
  .btu-hero-info .info-bar-secondary { font-size:8.5px; }
}

/* BTU header brand scale — larger summit logo */
.logo-box img { height: 118px; max-height: 124px; }
.nav-container { min-height: 104px; }
.main-header { top: 39px; }
.main-header .navigation > li > a { font-family:'Outfit',sans-serif; font-size:16px; font-weight:650; letter-spacing:.01em; }
.btn-get-tickets { font-family:'Outfit',sans-serif; border-radius:10px; padding:14px 25px; font-size:14px; }
@media (max-width: 1100px) and (min-width: 901px) {
  .logo-box img { height:100px; }
  .nav-container { min-height:96px; }
  .main-header .navigation > li > a { font-size:14px; padding-left:9px; padding-right:9px; }
}
@media (max-width: 900px) {
  .nav-container { min-height:80px; height:80px; }
  .logo-box img { height:72px; max-height:76px; }
}

/* ================================================================
   BTU HOMEPAGE ABOUT V2
   Pan-African, light and colourful; mobile-first responsive layout.
   ================================================================ */
.btu-home-about {
  position: relative;
  overflow: hidden;
  background: #fbfaf6;
  padding: 82px 0 76px;
  border-top: 1px solid rgba(6,40,20,.06);
}
.btu-home-about .auto-container { position: relative; z-index: 2; }
.btu-home-about-pattern {
  position: absolute;
  width: 170px;
  height: 170px;
  opacity: .8;
  pointer-events: none;
  background: repeating-linear-gradient(45deg, transparent 0 13px, rgba(218,39,36,.8) 13px 18px, rgba(250,172,29,.85) 18px 23px, rgba(0,91,46,.85) 23px 28px, transparent 28px 40px);
  mask-image: linear-gradient(135deg, #000 0 65%, transparent 100%);
  -webkit-mask-image: linear-gradient(135deg, #000 0 65%, transparent 100%);
}
.btu-pattern-left { left: -85px; top: 35px; transform: rotate(20deg); }
.btu-pattern-right { right: -85px; bottom: 15px; transform: rotate(200deg); }
.btu-about-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(440px, .98fr);
  gap: 58px;
  align-items: center;
}
.btu-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: #c77b00;
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.btu-section-kicker span { width: 34px; height: 3px; background: #d38a08; border-radius: 10px; display: inline-block; }
.btu-about-copy h2 {
  margin: 0 0 20px;
  color: #111827;
  font-family: var(--btu-font-heading, 'Outfit', sans-serif);
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1.04;
  letter-spacing: -1.6px;
  font-weight: 800;
}
.btu-about-copy h2 strong { color: #c97900; font-weight: 800; }
.btu-about-lead { max-width: 650px; margin: 0 0 14px; color: #1f2937; font-size: 18px; line-height: 1.7; font-weight: 500; }
.btu-about-supporting { max-width: 650px; margin: 0 0 26px; color: #4b5563; font-size: 17px; line-height: 1.72; }
.btu-about-more {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 15px 23px; border-radius: 8px;
  background: #d98a00; color: #fff !important; text-decoration: none !important;
  font-size: 14px; font-weight: 800; box-shadow: 0 12px 25px rgba(180,111,0,.18);
  transition: transform .2s ease, background .2s ease;
}
.btu-about-more:hover { transform: translateY(-2px); background: #b97000; }
.btu-about-visual { position: relative; min-height: 480px; }
.btu-about-main-image { position: absolute; inset: 0 25px 30px 0; border-radius: 22px; overflow: hidden; box-shadow: 0 25px 60px rgba(0,0,0,.12); }
.btu-about-main-image::after { content:''; position:absolute; inset:0; background: linear-gradient(180deg, transparent 58%, rgba(10,15,12,.28)); }
.btu-about-main-image img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.btu-about-image-accent { position:absolute; right:0; bottom:0; width:42%; height:42%; border-radius:18px 0 22px 0; background: linear-gradient(135deg,#0a1510,#0b4d2c); border:8px solid #fbfaf6; z-index:-1; }
.btu-about-quote { position:absolute; right:-8px; bottom:16px; width:min(320px,72%); padding:23px 25px; background:#0f1712; color:#fff; border-radius:15px; box-shadow:0 20px 45px rgba(0,0,0,.22); border: 1px solid rgba(217,164,55,.2); }
.btu-quote-mark { color:#f4aa1c; font-size:44px; line-height:.6; font-family:Georgia,serif; }
.btu-about-quote p { margin:10px 0 13px; font-size:15px; line-height:1.55; font-weight:500; }
.btu-quote-line { width:38px; height:2px; background:#f4aa1c; margin-bottom:9px; }
.btu-about-quote > span:last-child { color:#f4aa1c; font-size:10px; letter-spacing:1.4px; font-weight:800; }
.btu-about-stats { display:grid; grid-template-columns:repeat(4,1fr); margin:56px 0 58px; padding:22px 8px; background:#fff; border:1px solid #e9e8df; border-radius:15px; box-shadow:0 12px 30px rgba(0,0,0,.04); }
.btu-about-stat { display:flex; align-items:center; gap:14px; padding:6px 25px; border-right:1px solid #e8e9e3; }
.btu-about-stat:last-child { border-right:0; }
.btu-about-stat-icon { width:48px; height:48px; flex:0 0 48px; border-radius:50%; display:grid; place-items:center; font-size:19px; }
.btu-about-stat-icon.green { background:#edf6ef; color:#0b6b3e; }
.btu-about-stat-icon.gold { background:#fff2d8; color:#c77b00; }
.btu-about-stat strong { display:block; color:#111827; font-size:25px; line-height:1.05; font-weight:850; }
.btu-about-stat span { display:block; color:#4b5563; font-size:15px; line-height:1.35; margin-top:4px; }
.btu-about-highlights { position:relative; }
.btu-about-highlight-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:25px; }
.btu-about-highlight-heading .btu-section-kicker { margin-bottom:0; }
.btu-about-highlight-heading h3 { margin:0; color:#111827; font-size:30px; line-height:1.1; font-weight:800; }
.btu-about-highlight-heading h3 strong { color:#c97900; }
.btu-about-highlight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.btu-about-highlight-card { position:relative; background:#fff; border:1px solid #e7e8e2; border-radius:15px; overflow:hidden; box-shadow:0 12px 30px rgba(0,0,0,.04); padding-bottom:23px; }
.btu-highlight-image { height:205px; overflow:hidden; }
.btu-highlight-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.btu-about-highlight-card:hover .btu-highlight-image img { transform:scale(1.035); }
.btu-highlight-icon { width:48px; height:48px; border-radius:50%; display:grid; place-items:center; color:#fff; border:4px solid #fff; margin:-24px 0 10px 22px; position:relative; z-index:2; box-shadow:0 4px 12px rgba(0,0,0,.1); }
.btu-highlight-icon.green { background:#0b6b3e; }
.btu-highlight-icon.gold { background:#d88a00; }
.btu-highlight-icon.red { background:#b9292e; }
.btu-about-highlight-card h4 { margin:0 22px 7px; color:#111827; font-size:19px; font-weight:800; }
.btu-about-highlight-card p { margin:0 22px; color:#4b5563; font-size:17px; line-height:1.6; }
@media (max-width: 991px) {
  .btu-home-about { padding:65px 0; }
  .btu-about-intro { grid-template-columns:1fr; gap:38px; }
  .btu-about-visual { min-height:440px; max-width:720px; width:100%; }
  .btu-about-stats { grid-template-columns:repeat(2,1fr); }
  .btu-about-stat:nth-child(2) { border-right:0; }
  .btu-about-stat:nth-child(-n+2) { border-bottom:1px solid #e8e9e3; padding-bottom:18px; }
  .btu-about-stat:nth-child(n+3) { padding-top:18px; }
}
@media (max-width: 767px) {
  .btu-home-about { padding:54px 0 50px; }
  .btu-about-copy h2 { font-size:34px; letter-spacing:-.8px; }
  .btu-about-lead { font-size:15px; }
  .btu-about-supporting { font-size:14px; }
  .btu-about-visual { min-height:360px; }
  .btu-about-main-image { inset:0 10px 28px 0; border-radius:16px; }
  .btu-about-quote { right:0; bottom:0; width:78%; padding:17px 18px; border-radius:12px; }
  .btu-about-quote p { font-size:13px; }
  .btu-about-stats { margin:40px 0 45px; grid-template-columns:1fr 1fr; padding:10px; }
  .btu-about-stat { gap:9px; padding:13px 9px; }
  .btu-about-stat-icon { width:40px; height:40px; flex-basis:40px; font-size:16px; }
  .btu-about-stat strong { font-size:19px; }
  .btu-about-stat span { font-size:10px; }
  .btu-about-highlight-heading { display:block; }
  .btu-about-highlight-heading h3 { margin-top:14px; font-size:25px; }
  .btu-about-highlight-grid { grid-template-columns:1fr; gap:18px; }
  .btu-highlight-image { height:190px; }
  .btu-about-more { width:100%; justify-content:center; }
}

/* ================================================================
   BTU MOBILE EXPERIENCE V1
   Mobile-first polish for the homepage header, hero and About section.
   ================================================================ */
@media (max-width: 767px) {
  html, body { overflow-x: hidden; }

  /* Compact mobile utility bar */
  .header-utility-bar {
    display: flex !important;
    height: 34px;
    padding: 0;
    position: relative;
    z-index: 1002;
    background: #08140d;
  }
  .utility-container {
    width: 100%;
    padding: 0 14px;
    justify-content: space-between;
    gap: 8px;
  }
  .utility-left { width: 100%; gap: 0; justify-content: space-between; flex-wrap: nowrap; }
  .utility-item { font-size: 10.5px; gap: 5px; }
  .utility-item i { font-size: 10px; }
  #utility-email { display: none; }
  #utility-phone { display: flex; }
  #utility-phone span { display: inline; }
  .utility-venue { display: flex !important; margin-left: auto; max-width: 58%; overflow: hidden; text-overflow: ellipsis; }
  .utility-venue span { overflow: hidden; text-overflow: ellipsis; }
  .utility-right { display: none; }

  /* Fixed white mobile header */
  .main-header {
    top: 34px !important;
    height: 72px;
    position: fixed !important;
  }
  .main-header .main-box { height: 72px; }
  .nav-container {
    height: 72px !important;
    min-height: 72px !important;
    padding: 0 14px !important;
  }
  .logo-box { padding: 0; }
  .logo-box img {
    height: 68px !important;
    max-height: 70px !important;
    width: auto;
  }
  .mobile-header-actions { gap: 0; }
  .mobile-hamburger-btn {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #dfe8df;
    box-shadow: 0 4px 14px rgba(6,40,20,.07);
  }
  .hamburger-line { width: 20px; height: 2.5px; }

  /* Mobile hero: visual first, then readable copy */
  .btu-home-hero {
    margin-top: 106px !important;
    padding: 0 0 34px !important;
    background: #fffaf1;
  }
  .btu-hero-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
    max-width: 100%;
  }
  .btu-hero-visual-col {
    order: 1;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }
  .btu-hero-copy-col {
    order: 2;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    padding: 0 18px;
  }
  .btu-hero-visual {
    height: 500px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden;
  }
  .btu-hero-image {
    object-position: 58% center !important;
    filter: brightness(.82) contrast(1.06) saturate(1.12) !important;
  }
  .btu-hero-image-tint {
    background: linear-gradient(180deg, rgba(2,28,17,.05) 18%, rgba(2,28,17,.12) 42%, rgba(2,28,17,.78) 100%) !important;
  }
  .btu-africa-ribbon {
    bottom: 116px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    overflow: hidden;
    justify-content: center;
    flex-wrap: nowrap !important;
    opacity: .98;
  }
  .btu-africa-ribbon span {
    font-size: 6.5px !important;
    padding: 6px 6px !important;
    white-space: nowrap;
  }
  .btu-hero-info {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 5px !important;
    padding: 10px 8px !important;
    border-radius: 14px !important;
    max-width: none !important;
  }
  .btu-hero-info .info-bar-block {
    min-width: 0;
    gap: 6px !important;
    align-items: center;
  }
  .btu-hero-info .info-bar-badge {
    width: 29px !important;
    height: 29px !important;
    min-width: 29px;
    font-size: 10px !important;
  }
  .btu-hero-info .info-bar-primary {
    font-size: 8.5px !important;
    line-height: 1.2;
  }
  .btu-hero-info .info-bar-secondary {
    font-size: 7.5px !important;
    line-height: 1.25;
  }

  .btu-hero-copy {
    max-width: none !important;
    margin: 0 !important;
    padding: 28px 0 0;
  }
  .btu-hero-kicker {
    margin: 0 0 10px !important;
    font-size: 9px !important;
    letter-spacing: .095em !important;
  }
  .btu-kicker-line { width: 24px !important; }
  .btu-main-title { margin-bottom: 13px !important; }
  .btu-title-green,
  .btu-title-gold {
    font-size: clamp(39px, 11.5vw, 54px) !important;
    line-height: .92 !important;
    letter-spacing: -.035em !important;
  }
  .btu-title-small {
    font-size: clamp(21px, 6.2vw, 29px) !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    margin-top: 7px !important;
  }
  .btu-tagline-row {
    font-size: 13px !important;
    gap: 8px !important;
    margin-bottom: 18px !important;
  }
  .btu-tagline-rule { width: 22px !important; }
  .btu-presented-by {
    padding-left: 0 !important;
    margin-bottom: 18px !important;
  }
  .btu-presented-label { font-size: 9px !important; letter-spacing: .14em !important; }
  .btu-presented-by strong { font-size: 19px !important; }
  .btu-presented-sub { font-size: 8px !important; }
  .btu-hero-description {
    font-size: 14px !important;
    line-height: 1.58 !important;
    margin-bottom: 20px !important;
  }
  .btu-hero-buttons {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .btn-hero-tickets,
  .btn-hero-trailer {
    width: 100% !important;
    min-height: 50px;
    justify-content: center !important;
    padding: 13px 16px !important;
    font-size: 12px !important;
    border-radius: 10px !important;
  }
  .btu-hero-benefits {
    margin-top: 25px !important;
    padding: 15px 0 !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 4px !important;
    border-top: 1px solid #eadfc9;
    border-bottom: 1px solid #eadfc9;
  }
  .btu-hero-benefits > div {
    padding: 0 4px !important;
    gap: 5px !important;
    flex-direction: column;
    text-align: center;
  }
  .btu-hero-benefits i { font-size: 17px !important; }
  .btu-hero-benefits span { font-size: 7px !important; line-height: 1.25 !important; }

  /* About section */
  .btu-home-about {
    padding: 52px 0 48px !important;
  }
  .btu-home-about .auto-container { padding: 0 18px !important; }
  .btu-about-intro {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
  }
  .btu-about-copy h2 {
    font-size: clamp(31px, 9vw, 40px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
    margin-bottom: 16px !important;
  }
  .btu-about-lead { font-size: 15px !important; line-height: 1.65 !important; }
  .btu-about-supporting { font-size: 13.5px !important; line-height: 1.65 !important; }
  .btu-about-more {
    width: 100% !important;
    min-height: 50px;
    justify-content: center !important;
    font-size: 12px !important;
    border-radius: 10px !important;
  }
  .btu-about-visual {
    min-height: 350px !important;
    width: 100%;
  }
  .btu-about-main-image {
    inset: 0 12px 34px 0 !important;
    border-radius: 17px !important;
  }
  .btu-about-quote {
    right: 0 !important;
    bottom: 0 !important;
    width: 78% !important;
    padding: 16px !important;
    border-radius: 12px !important;
  }
  .btu-about-quote p { font-size: 12.5px !important; line-height: 1.45 !important; }
  .btu-about-stats {
    margin: 38px 0 42px !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0 !important;
    padding: 8px !important;
    border-radius: 14px !important;
  }
  .btu-about-stat {
    min-width: 0;
    gap: 8px !important;
    padding: 13px 8px !important;
  }
  .btu-about-stat:nth-child(2) { border-right: 0 !important; }
  .btu-about-stat:nth-child(odd) { border-right: 1px solid #e8e9e3 !important; }
  .btu-about-stat:nth-child(-n+2) { border-bottom: 1px solid #e8e9e3 !important; }
  .btu-about-stat:nth-child(n+3) { padding-top: 15px !important; }
  .btu-about-stat-icon { width: 38px !important; height: 38px !important; flex-basis: 38px !important; font-size: 15px !important; }
  .btu-about-stat strong { font-size: 18px !important; }
  .btu-about-stat span { font-size: 9px !important; }
  .btu-about-highlight-heading { display: block !important; margin-bottom: 20px !important; }
  .btu-about-highlight-heading h3 { margin-top: 12px !important; font-size: 24px !important; line-height: 1.1 !important; }
  .btu-about-highlight-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .btu-highlight-image { height: 185px !important; }
  .btu-about-highlight-card h4 { font-size: 18px !important; }
  .btu-about-highlight-card p { font-size: 13px !important; }

  /* Mobile drawer */
  .mobile-nav-panel { width: min(340px, 90vw) !important; }
  .mobile-nav-logo img { height: 55px !important; }
  .mobile-nav-header { padding: 14px 18px !important; }
  .mobile-nav-list { padding: 10px 0 !important; }
  .mobile-nav-link { padding: 14px 22px !important; font-size: 14px !important; }
}

@media (max-width: 430px) {
  .utility-item { font-size: 9.5px; }
  .utility-venue { max-width: 56%; }
  .logo-box img { height: 63px !important; }
  .btu-hero-visual { height: 470px !important; }
  .btu-hero-info .info-bar-primary { font-size: 8px !important; }
  .btu-hero-info .info-bar-secondary { font-size: 7px !important; }
  .btu-title-green, .btu-title-gold { font-size: 38px !important; }
  .btu-title-small { font-size: 20px !important; }
  .btu-hero-benefits span { font-size: 6.5px !important; }
}

/* ==================== BTU MOBILE HERO V2 ==================== */
@media (max-width: 600px) {
  .btu-home-hero {
    background-image: linear-gradient(180deg, rgba(255,255,255,.70) 0%, rgba(255,255,255,.86) 43%, rgba(255,255,255,.97) 100%), url('../images/main-slider/hero1.jpeg?v=2') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  .btu-hero-image-tint { display:none !important; }
  .btu-hero-copy { padding-top: 18px; }
}

@media (max-width: 380px) {
  .btu-abbey-logo { width: 235px; }
  .btu-main-title .btu-title-line { letter-spacing: -0.035em; }
}


/* ================================================================
   BTU SPEAKERS V2 — PAN-AFRICAN, CLEAN & RESPONSIVE
   Added as a final override so the existing component remains intact.
   ================================================================ */
.speakers-summit-section{
  background: #ffffff;
  padding: 92px 0 76px;
  position: relative;
  overflow: hidden;
  border-top: 1px solid #f3f4f6;
}
.speakers-summit-section:before{
  content:"";position:absolute;top:0;right:-140px;width:360px;height:360px;
  background:radial-gradient(circle,rgba(250,172,29,.10),rgba(250,172,29,0) 68%);
  pointer-events:none;
}
.speakers-header-block{position:relative;z-index:1;align-items:end;}
.speakers-eyebrow-label{margin-bottom:13px;}
.speakers-eyebrow-text{color:#c77800!important;letter-spacing:.16em;font-weight:800;font-size:12px;}
.speakers-main-heading{font-size:clamp(38px,4.2vw,62px)!important;line-height:1.03!important;margin-bottom:18px!important;}
.speakers-title-dark{color:#111827!important;}
.speakers-title-gold{color:#c77800!important;}
.speakers-intro-desc{max-width:720px;color:#4b5563!important;font-size:18px!important;line-height:1.75!important;}
.speakers-heading-accent{width:74px!important;height:4px!important;background:linear-gradient(90deg,#0b4d2c,#d68a00)!important;border-radius:99px!important;margin-top:22px!important;}
.speakers-header-right{align-self:stretch;}
.speakers-quote-banner{min-height:250px!important;border-radius:26px!important;border:1px solid rgba(217,164,55,.2)!important;box-shadow:0 18px 50px rgba(0,0,0,.12)!important;background:#0f1712!important;}
.speakers-quote-banner:before{background:linear-gradient(90deg,rgba(15,23,18,.95),rgba(15,23,18,.70))!important;}
.speakers-gold-quote-icon{color:#f5ad1c!important;}
.speakers-quote-text{font-size:23px!important;line-height:1.35!important;color:#fff!important;}
.speakers-quote-author{color:#f5ad1c!important;letter-spacing:.12em;}
.speakers-tabs-nav{margin-top:42px!important;margin-bottom:24px!important;}
.speaker-tab-pill{color:#1f2937!important;border-color:#e5e7eb!important;background:#fff!important;}
.speaker-tab-pill.active{background:#0b4d2c!important;border-color:#0b4d2c!important;box-shadow:0 7px 18px rgba(11,77,44,.22)!important;color:#fff!important;}
.btn-tab-view-all{border-color:#c77800!important;color:#1f2937!important;}
.btn-tab-view-all:hover{background:#c77800!important;color:#fff!important;border-color:#c77800!important;}
.speaker-carousel-arrow{border-color:#e5e7eb!important;color:#1f2937!important;}
.speaker-carousel-arrow:hover{background:#c77800!important;border-color:#c77800!important;color:#fff!important;}
.speaker-profile-card{border:1px solid #e5e7eb!important;border-radius:22px!important;padding:10px 10px 22px!important;box-shadow:0 10px 30px rgba(0,0,0,.04)!important;background:#fff!important;}
.speaker-profile-card:hover{border-color:rgba(199,120,0,.45)!important;box-shadow:0 18px 40px rgba(0,0,0,.09)!important;}
.speaker-avatar-wrap{border-radius:17px!important;margin-bottom:17px!important;background:#f9fafb!important;}
.speaker-linkedin-badge{background:#0b4d2c!important;}
.speaker-linkedin-badge:hover{background:#c77800!important;}
.speaker-full-name{color:#111827!important;font-size:20px!important;font-weight:800!important;}
.speaker-role-text{color:#c77800!important;font-weight:700!important;}
.speaker-tagline-text{color:#6b7280!important;}
.speakers-bottom-cta{background:linear-gradient(135deg,#0d1712,#15241c)!important;border:1px solid rgba(217,164,55,.25)!important;border-radius:22px!important;box-shadow:0 18px 45px rgba(0,0,0,.16)!important;}
.btn-speakers-ticket{background:#d48806!important;color:#fff!important;}

@media(max-width:576px){
  .speakers-summit-section{padding:64px 0 54px!important;}
  .speakers-main-heading{font-size:34px!important;line-height:1.08!important;}
  .speakers-intro-desc{font-size:14.5px!important;line-height:1.7!important;}
  .speakers-header-right{display:none!important;}
  .speakers-tabs-nav{margin-top:28px!important;}
  .speakers-tabs-scroller{padding-bottom:4px!important;}
  .speaker-tab-pill{font-size:11px!important;padding:8px 12px!important;}
  .speakers-carousel-container{margin-top:4px!important;}
  .speakers-track-viewport{padding:5px 0 15px!important;}
  .speakers-grid-wrap.speakers-carousel-mode .speaker-profile-card{flex:0 0 100%!important;min-width:100%!important;max-width:none!important;margin:0!important;}
  .speaker-avatar-wrap{aspect-ratio:4/4.7!important;}
  .speaker-full-name{font-size:20px!important;}
  .speaker-role-text{font-size:13px!important;}
  .speaker-tagline-text{font-size:12px!important;}
  .speakers-bottom-cta{padding:26px 22px!important;margin-top:12px!important;}
  .speakers-cta-heading{font-size:26px!important;}
  .speakers-cta-right{align-items:stretch!important;}
  .btn-speakers-ticket{justify-content:center!important;width:100%!important;}
}

/* ================================================================
   BTU SCHEDULE V2 — CLEAN TWO-DAY PROGRAMME
   ================================================================ */
.schedule-v2 {
  background: #faf8f4;
  padding: 92px 0 86px;
  border-top: 1px solid #f3f4f6;
}
.schedule-v2-heading { max-width: 790px; margin: 0 auto 30px; text-align: center; }
.schedule-v2-eyebrow {
  display: inline-block; margin-bottom: 9px; color: #c57a00; font-size: 12px;
  font-weight: 800; letter-spacing: .19em; text-transform: uppercase;
}
.schedule-v2-heading h2 {
  margin: 0; color: #111827; font-family: var(--btu-font-head); font-size: clamp(36px,4.2vw,52px);
  line-height: 1.05; font-weight: 800; letter-spacing: -.025em;
}
.schedule-v2-heading p {
  max-width: 690px; margin: 14px auto 0; color: #4b5563; font-size: 17px; line-height: 1.7;
}
.schedule-v2-tabs-row { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.schedule-v2-tabs { display:flex; gap:12px; flex-wrap:wrap; }
.schedule-v2-tab {
  min-width: 205px; padding: 13px 18px; border:1px solid #e5e7eb; border-radius:14px; background:#fff;
  color:#1f2937; text-align:left; cursor:pointer; transition:.2s ease; font-family:var(--btu-font-body);
}
.schedule-v2-tab-kicker { display:block; color:#6b7280; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; margin-bottom:3px; }
.schedule-v2-tab strong { font-size:14px; font-weight:800; }
.schedule-v2-tab:hover { border-color:#c57a00; transform:translateY(-1px); }
.schedule-v2-tab.active { background:#0b4d2c; border-color:#0b4d2c; color:#fff; box-shadow:0 8px 20px rgba(11,77,44,.18); }
.schedule-v2-tab.active .schedule-v2-tab-kicker { color:#e0a532; }
.schedule-v2-download {
  display:inline-flex; align-items:center; gap:8px; border:1px solid #e5e7eb; border-radius:12px; padding:11px 15px;
  background:#fff; color:#1f2937 !important; font-size:12px; font-weight:800; text-decoration:none;
}
.schedule-v2-download i { color:#c57a00; }
.schedule-v2-panel {
  background:#fff; border:1px solid #e5e7eb; border-radius:22px; overflow:hidden; box-shadow:0 10px 32px rgba(0,0,0,.04);
}
.schedule-v2-panel[hidden] { display:none; }
.schedule-v2-panel-head {
  display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 28px;
  background:#0f1712; color:#fff; border-bottom:1px solid rgba(217,164,55,.2);
}
.schedule-v2-panel-head > div:first-child > span { color:#e0a532; font-size:11px; font-weight:800; letter-spacing:.14em; }
.schedule-v2-panel-head h3 { margin:4px 0 0; color:#fff; font-size:20px; font-weight:800; }
.schedule-v2-theme { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-radius:999px; padding:9px 14px; color:#f4f0e6; font-size:11px; font-weight:700; }
.schedule-v2-theme i { color:#e0a532; margin-right:5px; }
.schedule-v2-list { padding:8px 28px 20px; }
.schedule-v2-item {
  display:grid; grid-template-columns:110px 22px 42px minmax(0,1fr); gap:17px; align-items:start; position:relative;
  padding:17px 0; border-bottom:1px solid #f3f4f6;
}
.schedule-v2-item:last-child { border-bottom:0; }
.schedule-v2-time { padding-top:7px; color:#111827; font-size:13px; font-weight:800; line-height:1.35; }
.schedule-v2-marker { position:relative; min-height:42px; display:flex; justify-content:center; }
.schedule-v2-marker:before { content:""; position:absolute; top:0; bottom:-34px; width:1px; background:#e5e7eb; }
.schedule-v2-item:last-child .schedule-v2-marker:before { display:none; }
.schedule-v2-marker span { width:10px; height:10px; border-radius:50%; background:#0b4d2c; border:3px solid #edf6ef; margin-top:6px; position:relative; z-index:1; }
.schedule-v2-icon { width:42px; height:42px; border-radius:12px; background:#edf6ef; color:#0b4d2c; display:flex; align-items:center; justify-content:center; font-size:15px; }
.schedule-v2-icon.gold { background:#fff4dc; color:#c57a00; }
.schedule-v2-title-line { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.schedule-v2-content h4 { margin:3px 0 4px; color:#111827; font-size:16px; font-weight:800; }
.schedule-v2-content p { margin:0; color:#4b5563; font-size:13px; line-height:1.55; }
.schedule-v2-type { padding:5px 9px; border-radius:999px; background:#f3f4f6; color:#4b5563; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.schedule-v2-item.featured { background:linear-gradient(90deg,#fffdf7 0%,#fff 70%); border-radius:10px; padding-left:10px; padding-right:10px; }
.schedule-v2-note { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:18px; padding:16px 18px; background:#f9fafb; border:1px solid #e5e7eb; border-radius:14px; }
.schedule-v2-note > div { display:flex; align-items:center; gap:9px; color:#4b5563; font-size:15px; }
.schedule-v2-note > div i { color:#0b4d2c; }
.schedule-v2-cta { display:inline-flex; align-items:center; gap:10px; padding:11px 16px; border-radius:10px; background:#d48806; color:#fff !important; text-decoration:none; font-size:11px; font-weight:800; white-space:nowrap; }
.schedule-v2-cta i { font-size:10px; }
@media (max-width: 900px) {
  .schedule-v2-tabs-row { align-items:flex-start; flex-direction:column; }
  .schedule-v2-download { align-self:flex-start; }
}
@media (max-width: 680px) {
  .schedule-v2 { padding:65px 0 60px; }
  .schedule-v2-heading { text-align:left; margin-bottom:22px; }
  .schedule-v2-heading h2 { font-size:32px; }
  .schedule-v2-heading p { font-size:14px; line-height:1.65; }
  .schedule-v2-tabs { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .schedule-v2-tab { min-width:0; padding:11px 12px; }
  .schedule-v2-tab strong { font-size:12px; }
  .schedule-v2-panel { border-radius:17px; }
  .schedule-v2-panel-head { padding:17px 15px; display:block; }
  .schedule-v2-panel-head h3 { font-size:16px; }
  .schedule-v2-theme { display:inline-block; margin-top:12px; font-size:10px; }
  .schedule-v2-list { padding:5px 13px 13px; }
  .schedule-v2-item { grid-template-columns:73px 16px 36px minmax(0,1fr); gap:8px; padding:15px 0; }
  .schedule-v2-time { font-size:11px; }
  .schedule-v2-icon { width:36px; height:36px; border-radius:10px; font-size:13px; }
  .schedule-v2-marker { min-height:36px; }
  .schedule-v2-content h4 { font-size:13px; margin-top:2px; }
  .schedule-v2-content p { font-size:11px; line-height:1.45; }
  .schedule-v2-type { font-size:8px; padding:4px 7px; }
  .schedule-v2-note { display:block; padding:13px; }
  .schedule-v2-note > div { line-height:1.45; }
  .schedule-v2-cta { width:100%; justify-content:center; margin-top:11px; }
}


/* BTU Homepage — Why Attend + What to Expect (merged from latest build) */
.btu-why-expect-section {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  color: #111827;
  padding: 88px 0 0;
  border-top: 1px solid #f3f4f6;
}

.btu-why-expect-pattern,
.btu-expect-pattern {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .25;
  background-image:
    linear-gradient(135deg, rgba(217,119,6,.035) 25%, transparent 25%),
    linear-gradient(315deg, rgba(11,77,44,.025) 25%, transparent 25%);
  background-size: 56px 56px;
}

.btu-why-top {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  align-items: center;
  gap: 64px;
  margin-bottom: 46px;
}

.btu-why-copy { max-width: 720px; }

.btu-section-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.btu-section-eyebrow span {
  width: 44px;
  height: 3px;
  border-radius: 10px;
  background: #d88908;
}
.btu-section-eyebrow strong {
  color: #c97800;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 2px;
  font-weight: 800;
}

.btu-why-copy h2 {
  margin: 0 0 20px;
  color: #111827;
  font-size: clamp(40px, 4.2vw, 64px);
  line-height: 1.03;
  letter-spacing: -1.8px;
  font-weight: 800;
}
.btu-why-copy h2 em {
  color: #d88908;
  font-style: normal;
}
.btu-why-copy > p {
  max-width: 690px;
  margin: 0;
  color: #4b5563;
  font-size: 17px;
  line-height: 1.8;
}

.btu-why-image {
  position: relative;
  min-height: 360px;
  border-radius: 28px;
  overflow: visible;
}
.btu-why-image img {
  display: block;
  width: 100%;
  height: 380px;
  object-fit: cover;
  object-position: center 30%;
  border-radius: 28px;
  box-shadow: 0 24px 55px rgba(0,0,0,.12);
}
.btu-image-accent {
  position: absolute;
  width: 110px;
  height: 110px;
  right: -18px;
  bottom: -20px;
  border-radius: 22px;
  background: #d88908;
  z-index: -1;
}

.btu-why-cards {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  padding-bottom: 78px;
}
.btu-why-card {
  min-height: 164px;
  display: flex;
  gap: 17px;
  align-items: flex-start;
  padding: 25px 21px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,.04);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.btu-why-card:hover {
  transform: translateY(-5px);
  border-color: rgba(216,137,8,.45);
  box-shadow: 0 18px 35px rgba(0,0,0,.08);
}
.btu-why-icon {
  width: 52px;
  height: 52px;
  min-width: 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 19px;
}
.btu-why-icon.is-green { background: #0b4d2c; }
.btu-why-icon.is-gold { background: #d88908; }
.btu-why-card h3 {
  margin: 2px 0 7px;
  color: #111827;
  font-size: 19px;
  font-weight: 800;
}
.btu-why-card p {
  margin: 0;
  color: #4b5563;
  font-size: 18px;
  line-height: 1.65;
}

.btu-expect-band {
  position: relative;
  overflow: hidden;
  background: #0d1510;
  color: #fff;
  padding: 64px 0 66px;
  border-top: 1px solid rgba(217,164,55,.2);
  border-bottom: 1px solid rgba(217,164,55,.2);
}
.btu-expect-band::before,
.btu-expect-band::after {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  border: 1px solid rgba(216,137,8,.18);
  transform: rotate(45deg);
  pointer-events: none;
}
.btu-expect-band::before { left: -150px; bottom: -120px; }
.btu-expect-band::after { right: -150px; top: -120px; }
.btu-expect-heading,
.btu-expect-items { position: relative; z-index: 2; }
.btu-section-eyebrow-light strong { color: #f0a41c; }
.btu-section-eyebrow-light span { background: #f0a41c; }
.btu-expect-heading h2 {
  margin: 0 0 8px;
  font-size: clamp(31px, 3.2vw, 45px);
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -.8px;
}
.btu-expect-heading h2 em { color: #f0a41c; font-style: normal; }
.btu-expect-heading p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 16px;
}
.btu-expect-items {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  align-items: stretch;
  margin-top: 38px;
}
.btu-expect-item {
  text-align: center;
  padding: 0 18px;
}
.btu-expect-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 16px;
  border: 2px solid #d88908;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #f0a41c;
  font-size: 25px;
  background: rgba(255,255,255,.025);
}
.btu-expect-item:nth-of-type(odd) .btu-expect-icon { border-color: #2d9b58; color: #5bcf82; }
.btu-expect-item h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: .8px;
  font-weight: 800;
}
.btu-expect-item p {
  margin: 0 auto;
  max-width: 185px;
  color: rgba(255,255,255,.70);
  font-size: 16px;
  line-height: 1.55;
}
.btu-expect-divider {
  width: 1px;
  height: 70px;
  align-self: center;
  background: linear-gradient(to bottom, transparent, rgba(216,137,8,.8), transparent);
}

@media (max-width: 1100px) {
  .btu-why-top { gap: 38px; }
  .btu-why-cards { grid-template-columns: repeat(2, 1fr); }
  .btu-expect-items { grid-template-columns: repeat(5, 1fr); }
  .btu-expect-divider { display: none; }
}
@media (max-width: 991px) {
  .btu-why-expect-section { padding-top: 70px; }
  .btu-why-top { grid-template-columns: 1fr; }
  .btu-why-image { max-width: 700px; width: 100%; }
  .btu-expect-items { grid-template-columns: repeat(3, 1fr); row-gap: 36px; }
}
@media (max-width: 680px) {
  .btu-why-expect-section { padding-top: 58px; }
  .btu-why-top { gap: 30px; margin-bottom: 32px; }
  .btu-why-copy h2 { font-size: 38px; letter-spacing: -1px; }
  .btu-why-copy > p { font-size: 15px; line-height: 1.7; }
  .btu-why-image img { height: 290px; border-radius: 20px; }
  .btu-image-accent { width: 70px; height: 70px; right: -8px; bottom: -10px; border-radius: 14px; }
  .btu-why-cards { grid-template-columns: 1fr; padding-bottom: 58px; }
  .btu-why-card { min-height: 0; padding: 20px; }
  .btu-expect-band { padding: 52px 0 54px; }
  .btu-expect-items { grid-template-columns: 1fr; row-gap: 28px; margin-top: 30px; }
  .btu-expect-item { display: grid; grid-template-columns: 64px 1fr; column-gap: 16px; text-align: left; align-items: center; padding: 0; }
  .btu-expect-icon { width: 64px; height: 64px; margin: 0; grid-row: span 2; }
  .btu-expect-item h3 { margin: 0 0 3px; }
  .btu-expect-item p { max-width: none; margin: 0; }
}


/* ==========================================================================\n   BTU HOMEPAGE — SPONSORS & PARTNERS\n   ========================================================================== */
.btu-sponsors-section {
  position: relative;
  padding: 78px 0 72px;
  background: #fff;
  border-top: 1px solid #edf1ed;
  overflow: hidden;
}

.btu-sponsors-heading {
  max-width: 760px;
  margin: 0 auto 38px;
  text-align: center;
}

.btu-sponsors-heading .btu-section-eyebrow {
  justify-content: center;
  margin-bottom: 12px;
}

.btu-sponsors-heading h2 {
  margin: 0 0 12px;
  color: #111827;
  font-size: 38px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -.5px;
}

.btu-sponsors-heading h2 em {
  color: #d8890b;
  font-style: normal;
}

.btu-sponsors-heading p {
  max-width: 680px;
  margin: 0 auto;
  color: #4b5563;
  font-size: 16px;
  line-height: 1.7;
}

.btu-sponsors-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 24px;
  max-width: 1080px;
  margin: 0 auto;
}

.btu-sponsor-logo {
  flex: 0 1 360px;
  width: 100%;
  max-width: 400px;
  min-height: 128px;
  padding: 24px 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,.03);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.btu-sponsor-logo:hover {
  transform: translateY(-4px);
  border-color: #d1d5db;
  box-shadow: 0 14px 32px rgba(0,0,0,.07);
}

.btu-sponsor-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

.btu-sponsor-logo img {
  display: block;
  width: auto;
  max-width: 260px;
  max-height: 72px;
  object-fit: contain;
  transition: transform .25s ease;
}

.btu-sponsor-logo:hover img {
  transform: scale(1.02);
}

.btu-sponsors-note {
  margin: 24px auto 0;
  max-width: 720px;
  text-align: center;
  color: #8a938d;
  font-size: 13px;
  line-height: 1.6;
}

@media (max-width: 767px) {
  .btu-sponsors-section { padding: 54px 0 48px; }
  .btu-sponsors-heading { margin-bottom: 24px; }
  .btu-sponsors-heading h2 { font-size: 28px; }
  .btu-sponsors-heading p { font-size: 14px; }
  .btu-sponsors-grid { gap: 14px; }
  .btu-sponsor-logo { flex: 0 1 100%; max-width: 320px; min-height: 98px; padding: 18px 24px; border-radius: 12px; }
  .btu-sponsor-logo img { max-width: 210px; max-height: 54px; }
}


/* =========================================================
   BTU FINAL CTA — HOMEPAGE CLOSING SECTION
   ========================================================= */
.btu-final-cta {
  position: relative;
  overflow: hidden;
  background: #0d1510;
  color: #fff;
  padding: 92px 0 88px;
  isolation: isolate;
  border-top: 1px solid rgba(217,164,55,.18);
}

.btu-final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 30%, rgba(214,166,72,.14), transparent 30%),
    radial-gradient(circle at 88% 70%, rgba(255,255,255,.05), transparent 28%);
  pointer-events: none;
}

.btu-final-cta-pattern {
  position: absolute;
  width: 520px;
  height: 520px;
  right: -180px;
  top: -220px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  box-shadow:
    0 0 0 55px rgba(255,255,255,.02),
    0 0 0 110px rgba(255,255,255,.015),
    0 0 0 165px rgba(255,255,255,.01);
  pointer-events: none;
}

.btu-final-cta-inner {
  position: relative;
  z-index: 1;
}

.btu-final-cta-content {
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
}

.btu-final-cta-eyebrow {
  display: inline-block;
  margin-bottom: 19px;
  color: #d8a63b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.5;
}

.btu-final-cta h2 {
  margin: 0;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-size: clamp(42px, 5.2vw, 72px);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.035em;
}

.btu-final-cta h2 span {
  color: #d8a63b;
}

.btu-final-cta-content > p {
  max-width: 700px;
  margin: 25px auto 0;
  color: rgba(255,255,255,.82);
  font-size: 17px;
  line-height: 1.75;
}

.btu-final-cta-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin-top: 34px;
  flex-wrap: wrap;
}

.btu-final-cta-primary,
.btu-final-cta-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 7px;
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.btu-final-cta-primary {
  background: #d48806;
  color: #fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.25);
}

.btu-final-cta-primary:hover {
  transform: translateY(-2px);
  background: #ea9812;
  color: #fff;
  box-shadow: 0 16px 34px rgba(212,136,6,.35);
}

.btu-final-cta-secondary {
  color: #fff;
  border: 1px solid rgba(255,255,255,.38);
  background: rgba(255,255,255,.035);
}

.btu-final-cta-secondary:hover {
  transform: translateY(-2px);
  color: #fff;
  border-color: rgba(255,255,255,.7);
  background: rgba(255,255,255,.09);
}

.btu-final-cta-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  margin-top: 29px;
  color: rgba(255,255,255,.62);
  font-size: 12px;
  line-height: 1.5;
  flex-wrap: wrap;
}

.btu-final-cta-meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.btu-final-cta-meta i {
  color: #d8a63b;
  font-size: 12px;
}

@media (max-width: 767px) {
  .btu-final-cta { padding: 70px 0 66px; }
  .btu-final-cta-pattern { width: 360px; height: 360px; right: -190px; top: -150px; }
  .btu-final-cta-eyebrow { font-size: 10px; letter-spacing: .12em; }
  .btu-final-cta h2 { font-size: 42px; }
  .btu-final-cta-content > p { font-size: 15px; line-height: 1.65; margin-top: 20px; }
  .btu-final-cta-actions { margin-top: 27px; flex-direction: column; }
  .btu-final-cta-primary,
  .btu-final-cta-secondary { width: 100%; max-width: 320px; min-height: 52px; }
  .btu-final-cta-meta { flex-direction: column; gap: 9px; margin-top: 24px; }
}

/* ==========================================================================
   SECTION 22: PREMIUM FINAL FOOTER
   ========================================================================== */
.btu-premium-footer{position:relative;background:#0a110c;color:#f3f4f6;overflow:hidden;border-top:1px solid rgba(217,164,55,.35)}
.btu-footer-main{position:relative;padding:82px 0 68px;background:linear-gradient(135deg,#08100c 0%,#0d1712 60%,#0a120d 100%)}
.btu-footer-main:before{content:"";position:absolute;inset:0;opacity:.06;background-image:linear-gradient(45deg,transparent 48%,rgba(255,255,255,.16) 49%,transparent 51%),linear-gradient(-45deg,transparent 48%,rgba(255,255,255,.08) 49%,transparent 51%);background-size:74px 74px;pointer-events:none}
.btu-footer-main:after{content:"";position:absolute;right:-120px;top:-170px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(217,164,55,.14),transparent 68%);pointer-events:none}
.btu-footer-wave{position:absolute;z-index:4;left:-3%;top:-1px;width:106%;height:62px;background:#ffffff;clip-path:ellipse(57% 70% at 50% 0%);border-bottom:4px solid #d8a63b}
.btu-footer-grid{position:relative;z-index:5;display:grid;grid-template-columns:1.45fr .82fr 1.2fr 1.05fr;gap:48px}
.btu-footer-logo-link{display:inline-block}.btu-footer-logo{display:block;width:auto;max-width:135px;height:auto;max-height:120px;object-fit:contain}
.btu-footer-brand-rule{width:58px;height:3px;background:#d9a437;margin:20px 0 14px}.btu-footer-motto{margin:0 0 20px;color:#e1ad3e;font-size:18px;font-style:italic;font-weight:600}.btu-footer-description{max-width:430px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.85;margin:0}
.btu-footer-socials{display:flex;gap:13px;margin-top:27px}.btu-footer-socials a{width:46px;height:46px;border:1px solid #c9952d;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;transition:.25s ease}.btu-footer-socials a:hover{background:#d9a437;color:#061a12;transform:translateY(-2px)}
.btu-footer-heading{font-size:17px;line-height:1.2;text-transform:uppercase;letter-spacing:2.2px;font-weight:800;color:#fff}.btu-footer-heading-line{width:38px;height:3px;background:#d9a437;margin:13px 0 23px}.btu-footer-links{list-style:none;padding:0;margin:0}.btu-footer-links li{margin:0 0 13px}.btu-footer-links a{color:rgba(255,255,255,.82);text-decoration:none;font-size:15px;transition:.2s ease}.btu-footer-links a:before{content:"›";color:#d9a437;margin-right:9px}.btu-footer-links a:hover{color:#e0ad3e}
.btu-footer-detail{display:flex;gap:14px;margin-bottom:22px}.btu-footer-detail-icon,.btu-footer-contact-icon{flex:0 0 45px;width:45px;height:45px;border:1px solid #d9a437;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#e0ad3e;font-size:17px}.btu-footer-detail strong{display:block;color:#fff;font-size:15px;margin:0 0 5px}.btu-footer-detail span:not(.btu-footer-detail-icon){display:block;color:rgba(255,255,255,.72);font-size:14px;line-height:1.5}
.btu-footer-register-btn{display:inline-flex;align-items:center;gap:15px;margin-top:3px;padding:15px 23px;background:#d9a437;color:#071a11;text-decoration:none;text-transform:uppercase;font-size:13px;font-weight:900;letter-spacing:.3px;border-radius:6px;box-shadow:0 8px 25px rgba(0,0,0,.2);transition:.25s ease}.btu-footer-register-btn:hover{background:#f0c25e;color:#071a11;transform:translateY(-2px)}
.btu-footer-contact-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px;color:rgba(255,255,255,.82);font-size:14px;line-height:1.65}.btu-footer-contact-item a,.btu-footer-contact-item>span:last-child{color:inherit;text-decoration:none;padding-top:8px}.btu-footer-contact-item a:hover{color:#e0ad3e}.btu-footer-contact-item small{color:rgba(255,255,255,.58);font-size:12px}
.btu-footer-bottom{position:relative;z-index:6;border-top:1px solid rgba(255,255,255,.10);background:#060b08}.btu-footer-bottom-inner{min-height:84px;display:grid;grid-template-columns:1.15fr 1.35fr auto;align-items:center;gap:25px}.btu-footer-bottom p{margin:0;color:rgba(255,255,255,.68);font-size:13px}.btu-footer-legal{display:flex;justify-content:center;align-items:center;gap:13px;flex-wrap:wrap}.btu-footer-legal a,.btu-footer-legal span{font-size:13px;color:rgba(255,255,255,.72);text-decoration:none}.btu-footer-legal a:hover{color:#e0ad3e}.btu-footer-payments{display:flex;align-items:center;gap:15px;justify-content:flex-end}.btu-payment-visa{font-size:18px;font-weight:900;font-style:italic}.btu-payment-mastercard{position:relative;width:42px;height:24px;display:inline-block}.btu-payment-mastercard b{position:absolute;width:23px;height:23px;border-radius:50%;top:0}.btu-payment-mastercard b:first-child{left:0;background:#e53b32}.btu-payment-mastercard b:last-child{right:0;background:#f4a41c;mix-blend-mode:screen}.btu-payment-paystack{font-size:14px;font-weight:800;letter-spacing:-.4px}
@media(max-width:1100px){.btu-footer-grid{grid-template-columns:1.3fr .8fr 1fr 1fr;gap:28px}.btu-footer-bottom-inner{grid-template-columns:1fr;justify-items:center;padding:20px 0}.btu-footer-bottom p{order:3}.btu-footer-payments{justify-content:center}}
@media(max-width:767px){.btu-footer-wave{height:42px}.btu-footer-main{padding:65px 0 48px}.btu-footer-grid{grid-template-columns:1fr;gap:42px}.btu-footer-logo{max-width:245px}.btu-footer-description{max-width:none}.btu-footer-heading{font-size:16px}.btu-footer-bottom-inner{gap:16px;text-align:center}.btu-footer-legal{gap:8px}.btu-footer-payments{margin-bottom:3px}.btu-footer-register-btn{width:100%;justify-content:center}.btu-footer-socials a{width:43px;height:43px}}
