:root {
  --maroon: #7a2f22;
  --orange: #f5820a;
  --pink: #e63a6e;
  --ink: #2a1710;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body {
  width: 100%;
  background: #f6e6cf;
  font-family: 'Poppins', sans-serif;
  overflow-x: hidden;
}

/* ================= HERO / ARCH FRAME ================= */

.hero {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #08090c;
}

.hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: saturate(0.85) contrast(1.05);
}

/* solid brand-colour overlay directly on top of the video, as requested */
.hero-color-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, #10101036 0%, #e0284f54 100%);
}

.hero-scrim {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(58% 52% at 50% 58%, rgba(4, 5, 8, 0.9) 0%, rgba(4, 5, 8, 0.62) 52%, rgba(4, 5, 8, 0.18) 100%),
    linear-gradient(180deg, rgba(3, 4, 7, 0.62) 0%, rgba(3, 4, 7, 0.15) 24%, rgba(3, 4, 7, 0.3) 55%, rgba(3, 4, 7, 0.94) 100%);
}

/* faint drifting light rays for depth */
.hero-rays {
  position: absolute;
  inset: -10% -10% -10% -10%;
  z-index: 2;
  background: conic-gradient(from 200deg at 50% 40%,
      rgba(255, 157, 90, 0.05) 0deg, transparent 30deg,
      rgba(255, 157, 90, 0.05) 60deg, transparent 95deg,
      rgba(255, 157, 90, 0.04) 140deg, transparent 190deg,
      rgba(255, 157, 90, 0.05) 240deg, transparent 300deg);
  animation: rays-spin 60s linear infinite;
  pointer-events: none;
  mix-blend-mode: screen;
}

@keyframes rays-spin {
  to {
    transform: rotate(360deg);
  }
}

/* ---------- FLOATING GLASS NAV ---------- */
.nav-wrap {
  position: relative;
  z-index: 6;
  padding: 24px 28px 0;
}

.nav {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 11px 25px 11px 37px;
  background: rgba(15, 12, 16, 0.42);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 20px 50px -22px rgba(0, 0, 0, 0.6);
}

.nav-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.nav-brand-badge {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.nav-brand-badge span {
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.nav-brand-badge b {
  font-size: 14px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.01em;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 28px;
  list-style: none;
}

.nav-links a {
  color: rgba(255, 255, 255, 0.85);
  font-size: 17px;
  font-weight: 600;
  text-decoration: none;
  position: relative;
  padding: 13px 0;
  transition: color .2s ease;
}

.nav-links a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 1.5px;
  background: linear-gradient(90deg, #ff9d4d, #e0284f);
  transition: width .25s ease;
}

.nav-links a:hover {
  color: #fff;
}

.nav-links a:hover::after {
  width: 100%;
}

.nav-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.nav-partner {
  display: flex;
  align-items: center;
  gap: 9px;
}

.nav-partner span {
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  text-align: right;
  line-height: 1.3;
}

.nav-partner-logo {
  height: 24px;
  padding: 4px 10px;
  background: #fff;
  border-radius: 6px;
  display: flex;
  align-items: center;
  font-size: 10.5px;
  font-weight: 800;
  color: #111;
}

.nav-cta {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.01em;
  padding: 11px 22px;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(120deg, #ff7a3d 0%, #e0284f 100%);
  box-shadow: 0 10px 22px -8px rgba(224, 40, 79, 0.6);
  transition: transform .2s ease, box-shadow .2s ease;
  white-space: nowrap;
}

.nav-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -8px rgba(224, 40, 79, 0.75);
}

@media (max-width:980px) {
  .nav-links {
    display: none;
  }

  .nav-partner span {
    display: none;
  }
}

/* ---------- HAMBURGER ---------- */
.hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 38px;
  height: 38px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  cursor: pointer;
  flex: 0 0 auto;
}

.hamburger span {
  width: 16px;
  height: 1.6px;
  background: #fff;
  border-radius: 2px;
  transition: transform .25s ease, opacity .25s ease;
}

@media (max-width:980px) {
  .hamburger {
    display: flex;
  }
}

/* ---------- MOBILE MENU PANEL ---------- */
.mobile-menu {
  display: none;
  flex-direction: column;
  position: relative;
  z-index: 6;
  max-width: 1400px;
  margin: 10px auto 0;
  padding: 8px 22px 18px;
  background: rgba(15, 12, 16, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 22px;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 20px 44px -20px rgba(0, 0, 0, 0.6);
}

.mobile-menu a {
  color: #fff;
  font-size: 14.5px;
  font-weight: 600;
  text-decoration: none;
  padding: 13px 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.mobile-menu a:last-of-type {
  border-bottom: none;
}

.mobile-menu .nav-cta {
  margin-top: 14px;
  width: 100%;
  text-align: center;
}

.mobile-menu .nav-partner {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  justify-content: flex-start;
}

.mobile-menu .nav-partner span {
  display: block;
}

body.menu-open .mobile-menu {
  display: flex;
}

body.menu-open .hamburger span:nth-child(1) {
  transform: translateY(6.6px) rotate(45deg);
}

body.menu-open .hamburger span:nth-child(2) {
  opacity: 0;
}

body.menu-open .hamburger span:nth-child(3) {
  transform: translateY(-6.6px) rotate(-45deg);
}

/* ---------- CENTER CONTENT ---------- */
.hero-center {
  position: relative;
  z-index: 4;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 36px 24px 56px;
}

.reveal {
  opacity: 0;
  transform: translateY(22px);
  animation: reveal-in .8s cubic-bezier(.16, .8, .3, 1) forwards;
}

.d1 {
  animation-delay: .05s;
}

.d2 {
  animation-delay: .16s;
}

.d3 {
  animation-delay: .27s;
}

.d4 {
  animation-delay: .38s;
}

.d5 {
  animation-delay: .49s;
}

.d6 {
  animation-delay: .6s;
}

@keyframes reveal-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-emblem {
  position: relative;
  width: 120px;
  height: 120px;
  margin-bottom: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-emblem-glow {
  position: absolute;
  inset: -24px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 157, 90, 0.35) 0%, transparent 70%);
  animation: emblem-pulse 3.4s ease-in-out infinite;
}

@keyframes emblem-pulse {

  0%,
  100% {
    opacity: .6;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

.hero-eyebrow-logo {
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 8px;
}

.hero-eyebrow-logo b {
  color: #fff;
}

.hero-wordmark {
  font-family: 'Fraunces', serif;
  font-weight: 600;
  font-style: italic;
  font-size: clamp(36px, 5.6vw, 68px);
  line-height: 1;
  background: linear-gradient(90deg, #ffb066 0%, #e0284f 55%, #b81763 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: 0;
}

.hero-wordmark-main {
  font-weight: 800;
  font-size: clamp(44px, 8vw, 98px);
  line-height: 0.92;
  letter-spacing: -0.01em;
  color: #ffffff;
  text-transform: uppercase;
  text-shadow: 0 8px 40px rgba(0, 0, 0, 0.5);
}

.hero-sub-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 16px 0 24px;
}

.hero-rule {
  width: 52px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #ff9d4d, #e0284f);
}

.hero-year {
  font-weight: 600;
  font-size: clamp(15px, 1.8vw, 20px);
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.88);
}

.hero-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  /* was 30px — the pills this row held were removed, so it adds height for nothing */
  margin-bottom: 0;
}

/* the two leftover dividers in that empty row still occupied 16px */
.rbsa-hero-content .hero-meta-divider {
  display: none;
}

.hero-meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #131212;
  /* background: linear-gradient(90deg, #F0632B, #e0206b); */
  border: 1px solid #e0206b;
  padding: 9px 18px;
  border-radius: 999px;
  backdrop-filter: blur(8px);
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.hero-meta-pill:hover {
  background: rgba(255, 255, 255, 0.13);
  border-color: rgba(255, 157, 90, 0.5);
  transform: translateY(-2px);
}

.hero-meta-pill svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  color: #ff9d5a;
}

/* ===== Speaker Card Image Glow (sunrise effect) ===== */
.spkCardArchBox {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  /* keeps the glow contained to this box only */
}

.spkCardArchBox::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10%;
  width: 160%;
  height: 160%;
  transform: translateX(-50%) scale(0.6);
  background: radial-gradient(circle at center,
      rgba(255, 214, 110, 0.95) 0%,
      rgba(255, 170, 60, 0.75) 25%,
      rgba(255, 140, 40, 0.35) 45%,
      rgba(255, 140, 40, 0) 70%);
  filter: blur(6px);
  opacity: 0;
  z-index: 0;
  transition: opacity 0.6s ease, transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

/* optional rotating sun-rays behind the glow for extra sparkle */
.spkCardArchBox::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20%;
  width: 200%;
  height: 200%;
  transform: translateX(-50%) rotate(0deg) scale(0.5);
  background: conic-gradient(from 0deg,
      rgba(255, 210, 120, 0) 0deg,
      rgba(255, 210, 120, 0.5) 8deg,
      rgba(255, 210, 120, 0) 16deg,
      rgba(255, 210, 120, 0) 40deg,
      rgba(255, 210, 120, 0.5) 48deg,
      rgba(255, 210, 120, 0) 56deg,
      rgba(255, 210, 120, 0) 100deg,
      rgba(255, 210, 120, 0.5) 108deg,
      rgba(255, 210, 120, 0) 116deg,
      rgba(255, 210, 120, 0) 160deg,
      rgba(255, 210, 120, 0.5) 168deg,
      rgba(255, 210, 120, 0) 176deg,
      rgba(255, 210, 120, 0) 220deg,
      rgba(255, 210, 120, 0.5) 228deg,
      rgba(255, 210, 120, 0) 236deg,
      rgba(255, 210, 120, 0) 280deg,
      rgba(255, 210, 120, 0.5) 288deg,
      rgba(255, 210, 120, 0) 296deg,
      rgba(255, 210, 120, 0) 340deg,
      rgba(255, 210, 120, 0.5) 348deg,
      rgba(255, 210, 120, 0) 356deg);
  opacity: 0;
  z-index: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}

.spkCardPhoto {
  position: relative;
  z-index: 1;

  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  /* keeps photo above the glow */
}

.spkCardArchBox:hover .spkCardPhoto {
  transform: scale(1.08);
}

/* trigger on hover of the whole card */
.spkCardWrap:hover .spkCardArchBox::before {
  opacity: 1;
  transform: translateX(-50%) scale(1);
}

.spkCardWrap:hover .spkCardArchBox::after {
  opacity: 1;
  animation: spkSunRayRotate 6s linear infinite;
}

@keyframes spkSunRayRotate {
  from {
    transform: translateX(-50%) rotate(0deg) scale(1);
  }

  to {
    transform: translateX(-50%) rotate(360deg) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .spkCardArchBox::after {
    animation: none !important;
  }
}

.hero-meta-divider {
  width: 1px;
  height: 16px;
  background: rgba(255, 255, 255, 0.22);
}

.hero-tagline {
  font-family: 'Fraunces', serif;
  font-weight: 500;
  font-size: clamp(18px, 2.4vw, 42px);
  line-height: 1.42;
  max-width: 100%;
  color: rgba(255, 255, 255, 0.95);
}

.nav-brand-badge img {
  width: 104px;
}

.hero-tagline .accent {
  color: #ff9d5a;
  /* font-style: italic; */
  background: linear-gradient(90deg, #F0632B, #E0206B);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-family: 'Fraunces';
  font-size: 36px;
}

.caret {
  display: inline-block;
  color: #ff9d5a;
  font-weight: 400;
  animation: caret-blink 0.9s step-end infinite;
}

@keyframes caret-blink {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

.hero-actions {
  margin-top: 34px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.pill-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 6px 6px 6px 26px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13.5px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.pill-btn:hover {
  transform: translateY(-2px);
}

.pill-btn.primary {
  background: #ffffff;
  color: #141010;
  box-shadow: 0 14px 30px -12px rgba(255, 255, 255, 0.4);
}

.pill-btn.ghost {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.4);
  padding: 12px 26px;
  gap: 0;
}

.pill-arrow {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(120deg, #ff7a3d, #e0284f);
}

.pill-arrow svg {
  width: 14px;
  height: 14px;
}

@media (max-width:600px) {
  .nav-wrap {
    padding: 18px 16px 0;
  }

  .nav {
    padding: 10px 10px 10px 16px;
  }

  .hero-actions {
    flex-direction: column;
    width: 100%;
    max-width: 280px;
  }

  .pill-btn {
    width: 100%;
    justify-content: space-between;
  }

  .hero-meta-divider {
    display: none;
  }
}

.scroll-cue {
  position: relative;
  z-index: 5;
  margin: 0 auto 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  color: rgba(255, 255, 255, 0.55);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  animation: cue-bob 2.2s ease-in-out infinite;
}

@keyframes cue-bob {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(6px);
  }
}

/* ---------- PARTNER MARQUEE ---------- */
.partner-strip {
  position: relative;
  z-index: 5;
  background: linear-gradient(90deg, #c87858, #E0206B);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 18px 0;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
}

.partner-track {
  display: flex;
  align-items: center;
  gap: 56px;
  width: max-content;
  animation: partner-scroll 26s linear infinite;
}

@keyframes partner-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

.partner-track span {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgb(255 255 255);
  white-space: nowrap;
}

.hero-center img {
  width: 37%;
}

/* ===== ABOUT SECTION (all classes prefixed "rjabt" — unique to this section) ===== */
.rjabtSection {
  position: relative;
  background: #fffaec;
  padding: 90px 0;
  overflow: hidden;
}

/* faint jaali lattice texture on the section background */
.rjabtTexture {
  position: absolute;
  inset: 0;
  opacity: 0.16;
  pointer-events: none;
  background-image: linear-gradient(45deg, transparent 46%, #c98a4229 46% 54%, transparent 54%), linear-gradient(-45deg, transparent 46%, #c98a421a 46% 54%, transparent 54%);
  background-size: 34px 34px;
}

.rjabtWrap {
  position: relative;
  max-width: 89%;
  margin: 0 auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

/* ---- left: content ---- */
.rjabtTagRow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.rjabtDiamond {
  width: 9px;
  height: 9px;
  background: #E0206B;
  transform: rotate(45deg);
  flex: 0 0 auto;
}

.rjabtEyebrow {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #B5503A;
}

.rjabtHeading {
  font-weight: 600;
  font-size: clamp(30px, 3.6vw, 44px);
  line-height: 1.16;
  color: #5A2A18;
  margin-bottom: 22px;
  font-family: "Fraunces", serif;
}

.rjabtHeading span {
  background: linear-gradient(90deg, #F0632B, #E0206B);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.rjabtLede {
  font-size: 15.5px;
  font-weight: 500;
  color: #8B3A22;
  margin-bottom: 18px;
  line-height: 1.6;
  font-family: 'Poppins';
}

.rjabtBody {
  font-size: 15px;
  color: #000000;
  line-height: 1.75;
  font-family: 'Poppins';
  margin-bottom: 18px;
}

.rjabtBody:last-of-type {
  margin-bottom: 30px;
}

.rjabtStatRow {
  display: flex;
  gap: 34px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}

.rjabtStat {
  border-left: 3px solid #E0206B;
  padding-left: 14px;
}

.rjabtStatNum {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 24px;
  color: #B5503A;
}

.rjabtStatLabel {
  font-size: 12px;
  font-weight: 600;
  color: #8B6A4E;
  margin-top: 2px;
}

.rjabtCta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 30px;
  border-radius: 2px;
  background: linear-gradient(90deg, #F0632B, #E0206B);
  color: #FFF8EC;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.01em;
  text-decoration: none;
  box-shadow: 0 14px 30px rgba(224, 32, 107, 0.28);
  transition: transform .2s ease, box-shadow .2s ease;
}

.rjabtCta:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(224, 32, 107, 0.36);
}

.rjabtCta svg {
  width: 16px;
  height: 16px;
}

/* ---- right: video ---- */
.rjabtMediaCol {
  position: relative;
}

.rjabtMediaFrame {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 26px 60px rgba(90, 42, 24, 0.28);
  border: 6px solid #FBF1DE;
  outline: 2px solid rgba(181, 80, 58, 0.35);
}

.rjabtVideo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rjabtMediaOverlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(90, 25, 10, 0.05) 40%, rgba(50, 14, 6, 0.55) 100%);
  pointer-events: none;
}

.rjabtMediaBadge {
  position: absolute;
  left: 18px;
  bottom: 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(20, 10, 6, 0.55);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 40px;
  padding: 9px 16px 9px 9px;
  color: #FFF8EC;
}

.rjabtMediaBadge .rjabtPlayDot {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(135deg, #F0632B, #E0206B);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.rjabtMediaBadge .rjabtPlayDot svg {
  width: 11px;
  height: 11px;
}

.rjabtMediaBadge span {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* decorative corner accent behind media */
.rjabtMediaCol::before {
  content: "";
  position: absolute;
  top: -22px;
  right: -22px;
  width: 120px;
  height: 120px;
  border: 3px solid #E0206B;
  border-radius: 18px;
  opacity: 0.5;
  z-index: -1;
}

.rjabtMediaCol::after {
  content: "";
  position: absolute;
  bottom: -18px;
  left: -18px;
  width: 90px;
  height: 90px;
  background: #F0632B;
  border-radius: 18px;
  opacity: 0.14;
  z-index: -1;
}

@media (max-width:920px) {
  .rjabtWrap {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .rjabtMediaCol {
    order: -1;
  }

  .rjabtMediaFrame {
    aspect-ratio: 16/10;
    max-width: 520px;
    margin: 0 auto;
  }
}

@media (max-width:520px) {
  .rjabtSection {
    padding: 64px 0;
  }

  .rjabtStatRow {
    gap: 22px;
  }
}

.footer-outer {
  background-color: #a5432f;
  padding: 24px;
}

.footer-card {
  background-color: #070606;
  max-width: 100%;
  border-radius: 50px;
  margin: 0 auto;
  padding: 48px 48px 0 48px;
  overflow: hidden;
  /* brand on the left, the four link columns on the right, bar across the foot */
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(0, 2.2fr);
  column-gap: 56px;
  align-items: start;
}

.footer-top {
  display: block;
}

/* Brand block */
.brand-block {
  max-width: 400px;
}

.brand-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.brand-logo {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #f5ece4;
  border: 2px solid #a5432f;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #a5432f;
  font-size: 20px;
}

.brand-name {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 28px;
  color: #a5432f;
  letter-spacing: 1px;
}

.brand-desc {
  color: #ffffff;
  font-size: 14px;
  line-height: 1.6;
}










/* Links section */
.footer-links {
  display: grid;
  /* the last column holds five social buttons, so it gets extra room */
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.5fr);
  gap: 32px 24px;
  margin-top: 0;
}

.link-col h4 {
  color: #a5432f;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 14px;
}

.link-col a {
  display: block;
  color: #ffffff;
  text-decoration: none;
  font-size: 13px;
  margin-bottom: 10px;
}

.link-col a:hover {
  color: #a5432f;
  text-decoration: underline;
}

.connect-col p {
  color: #5c4a42;
  font-size: 13px;
  margin-bottom: 8px;
}

.social-icons {
  display: flex;
  gap: 10px;
  margin-top: 0;
}

/* the social row carries a Bootstrap .mt-4; keep it in step with the link lists */
.connect-col .social-icons > .d-flex.mt-4 {
  margin-top: 10px;
  /* five buttons must wrap on narrow columns rather than be clipped by the card */
  flex-wrap: wrap;
}

.social-icons,
.connect-col .social-icons > .d-flex {
  min-width: 0;
}

.social-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #a5432f;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 16px;
}

/* Bottom bar */
.footer-bottom {
  grid-column: 1 / -1;
  text-align: center;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  padding: 20px 0;
  margin-top: 44px;
  /* was a cream line that barely showed against the black card */
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

/* Skyline */
.skyline-wrap {
  width: 100%;
  line-height: 0;
  margin-top: -4px;
}

.skyline-wrap svg {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 991.98px) {
  .footer-card {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
    padding: 40px 32px 0 32px;
  }

  .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .brand-block {
    max-width: 560px;
  }
}

@media (max-width: 575.98px) {
  .footer-outer {
    padding: 14px;
  }

  .footer-card {
    border-radius: 28px;
    padding: 32px 22px 0 22px;
  }

  .footer-links {
    gap: 26px 18px;
  }

  .footer-bottom {
    margin-top: 32px;
  }
}

/* ===== SPEAKER CARD (all classes prefixed "spkCard" — unique to this component) ===== */

.spkCardWrap {
  width: 280px;
  margin-bottom: 35px;
}

.spkCardArchBox {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
}

/* photo, clipped to the same jharokha-arch silhouette as the frame asset */
.spkCardPhoto {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #e4cfcf75;
  object-fit: cover;
  object-position: top center;
  clip-path: url(#spkArchClip);
  border-radius: 11px;
}

/* decorative frame graphic sits on top, aligned to the same clip shape */
.spkCardFrameArt {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

/* soft ground shadow under the arch */
.spkCardShadow {
  width: 78%;
  height: 14px;
  margin: 6px auto 0;
  background: radial-gradient(ellipse at center, rgba(90, 42, 24, 0.28), transparent 72%);
}

.spkCardDetails {
  text-align: center;
  margin-top: 18px;
  padding: 0 8px;
}

.spkCardName {
  font-family: 'Marcellus', serif;
  font-weight: 400;
  font-size: 19px;
  color: #5A2A18;
  line-height: 1.3;
}

.spkCardDivider {
  width: 34px;
  height: 2px;
  background: linear-gradient(90deg, #F0632B, #E0206B);
  margin: 10px auto 12px;
}

.spkCardRole {
  font-size: 13.5px;
  font-weight: 700;
  color: #B5503A;
  line-height: 1.45;
  margin-bottom: 6px;
}

.spkCardOrg {
  font-size: 12.5px;
  font-weight: 600;
  color: #8B6A4E;
  line-height: 1.5;
}

.spkCardOrg small {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #C98A42;
  margin-top: 4px;
}

.speakertitle {
  text-align: center;
  padding: 49px;
}

.speakertitle h2 {
  font-size: 43px;
  font-weight: 700;
  text-transform: capitalize;
  font-family: 'Fraunces';
}

section#speakers {
  background: #fffaea;
}

.rjTypeHeadWrap {
  max-width: 800px;
  margin: 0 auto;
}

.rjTypeHeading {
  font-family: 'Marcellus', serif;
  font-weight: 400;
  font-size: clamp(30px, 3.6vw, 44px);
  line-height: 1.16;
  color: #ffffff;
}

.rjTypeGradientText {
  background: linear-gradient(90deg, #F0632B, #E0206B);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.rjTypeCursorBar {
  display: inline-block;
  width: 3px;
  height: 0.85em;
  margin-left: 2px;
  vertical-align: -0.1em;
  background: #E0206B;
  animation: rjTypeBlink 0.85s step-end infinite;
}

@keyframes rjTypeBlink {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}


/* ===== FAQ SECTION (all classes prefixed "rjFaq" — unique to this section) ===== */

.rjFaqSection {
  position: relative;
  background: #FBF1DE;
  padding: 90px 0;
  overflow: hidden;
}

.rjFaqTexture {
  position: absolute;
  inset: 0;
  opacity: 0.12;
  pointer-events: none;
  background-image: linear-gradient(45deg, transparent 46%, #c98a4238 46% 54%, transparent 54%), linear-gradient(-45deg, transparent 46%, #c98a423b 46% 54%, transparent 54%);
  background-size: 34px 34px;
}

.rjFaqWrap {
  position: relative;
  max-width: 64%;
  margin: 0 auto;
  padding: 0 28px;
}

.rjFaqWrap {
  position: relative;
  max-width: 820px;
  margin: 0 auto;
  padding: 0 28px;
}

.rjFaqTagRow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 16px;
}

.rjFaqDiamond {
  width: 9px;
  height: 9px;
  background: #E0206B;
  transform: rotate(45deg);
  flex: 0 0 auto;
}

.rjFaqEyebrow {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #B5503A;
}

.rjFaqHeading {
  font-family: 'Marcellus', serif;
  font-weight: 400;
  font-size: clamp(28px, 3.4vw, 40px);
  line-height: 1.18;
  color: #5A2A18;
  text-align: center;
  margin-bottom: 50px;
}

.rjFaqList {
  border-top: 1px solid rgba(90, 42, 24, 0.14);
}

.rjFaqItem {
  border-bottom: 1px solid rgba(90, 42, 24, 0.14);
}

.rjFaqItem summary {
  cursor: pointer;
  list-style: none;
  padding: 24px 4px;
  display: flex;
  align-items: flex-start;
  gap: 18px;
  font-family: 'Marcellus', serif;
  font-size: 17px;
  color: #5A2A18;
}

.rjFaqItem summary::-webkit-details-marker {
  display: none;
}

.rjFaqNum {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #E0206B;
  flex: 0 0 auto;
  margin-top: 3px;
}

.rjFaqQText {
  flex: 1 1 auto;
}

.rjFaqToggle {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid #B5503A;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-top: 2px;
}

.rjFaqToggle::before,
.rjFaqToggle::after {
  content: "";
  position: absolute;
  background: #B5503A;
  transition: transform .25s ease, opacity .25s ease;
}

.rjFaqToggle::before {
  width: 11px;
  height: 1.6px;
}

.rjFaqToggle::after {
  width: 1.6px;
  height: 11px;
}

.rjFaqItem[open] .rjFaqToggle::after {
  transform: rotate(90deg);
  opacity: 0;
}

.rjFaqAnswer {
  padding: 0 4px 26px 40px;
  font-size: 14.5px;
  color: #6B4A34;
  line-height: 1.75;
  max-width: 680px;
}

.rjFaqClosing {
  margin-top: 56px;
  text-align: center;
}

.rjFaqClosingLine {
  width: 44px;
  height: 2px;
  background: linear-gradient(90deg, #F0632B, #E0206B);
  margin: 0 auto 20px;
}

.rjFaqClosingText {
  font-family: 'Marcellus', serif;
  font-weight: 400;
  font-size: clamp(20px, 2.4vw, 27px);
  color: #5A2A18;
}

.rjFaqClosingText span {
  background: linear-gradient(90deg, #F0632B, #E0206B);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

@media (max-width:560px) {
  .rjFaqSection {
    padding: 64px 0;
  }

  .rjFaqItem summary {
    font-size: 15.5px;
    gap: 12px;
    padding: 20px 2px;
  }

  .rjFaqAnswer {
    padding-left: 26px;
  }
}

/* ===== FOCUS SECTORS — DARK (all classes prefixed "fsD" — unique to this section) ===== */

.fsDSection {
  position: relative;
  background: #f6f2e5;
  background-size: cover;
  padding: 100px 0;
  overflow: hidden;
  background-position: center;
}

/* faint jaali lattice texture */
.fsDTexture {
  position: absolute;
  inset: 0;
  opacity: 0.05;
  pointer-events: none;
  background-size: 40px 40px;
}

.fsDWrap {
  position: relative;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 28px;
}

.fsDHead {
  max-width: 100%;
  margin: 0 auto 56px;
  text-align: center;
}

.fsDTagRow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 16px;
}

.fsDDiamond {
  width: 8px;
  height: 8px;
  background: #E7A33C;
  transform: rotate(45deg);
  flex: 0 0 auto;
}

.fsDEyebrow {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #E7A33C;
}

.fsDHeading {
  font-family: 'Fraunces';
  font-weight: 700;
  font-size: clamp(28px, 3.6vw, 43px);
  line-height: 1.18;
  text-transform: capitalize;
  color: #000000;
}

.fsDHeading span {
  background: linear-gradient(90deg, #F0632B, #E0206B);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.fsDGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.fsDCard {
  position: relative;
  background: linear-gradient(90deg, #fffefe, #ffffff);
  border: 1px solid rgba(244, 235, 217, 0.10);
  border-radius: 16px;
  padding: 34px 28px 30px;
  overflow: hidden;
  transition: transform .3s ease, border-color .3s ease, background .3s ease;
}

/* animated gradient border glow on hover */
.fsDCard::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  padding: 1px;
  background: linear-gradient(135deg, #E7A33C, #E0206B, #2E8F86, #E7A33C);
  background-size: 300% 300%;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity .35s ease;
  animation: fsDBorderMove 6s linear infinite;
  pointer-events: none;
}

@keyframes fsDBorderMove {
  0% {
    background-position: 0% 50%;
  }

  100% {
    background-position: 300% 50%;
  }
}

.fsDCard:hover {
  transform: translateY(-6px);
  background: #fff3e4;
  border-color: transparent;
}

.fsDCard:hover::before {
  opacity: 1;
}

.fsDCardGlow {
  position: absolute;
  top: -40px;
  right: -40px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(231, 163, 60, 0.20), transparent 70%);
  pointer-events: none;
  transition: opacity .3s ease;
  opacity: 0;
}

.fsDCard:hover .fsDCardGlow {
  opacity: 1;
}

.fsDIconRing {
  position: relative;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
}



.fsDIconRing svg {
  width: 24px;
  height: 24px;
}

.fsDCardNum {
  position: absolute;
  top: 30px;
  right: 28px;
  font-size: 40px;
  font-weight: 700;
  font-family: 'Fraunces';
  letter-spacing: 0.05em;
  color: rgb(216 20 108 / 8%);
}

.fsDCardTitle {
  font-family: 'Fraunces';
  font-weight: 400;
  font-size: 22px;
  color: #000;
  margin-bottom: 10px;
  position: relative;
}

.fsDCardDesc {
  font-size: 16px;
  color: #000000;
  line-height: 1.65;
  position: relative;
}

@media (max-width:900px) {
  .fsDGrid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width:560px) {
  .fsDGrid {
    grid-template-columns: 1fr;
  }

  .fsDSection {
    padding: 70px 0;
  }
}

/* ===== WHY ATTEND (all classes prefixed "wyAtd" — unique to this section) ===== */

.wyAtdSection {
  position: relative;
  background: #FBF1DE;
  background-image:
    radial-gradient(ellipse 800px 420px at 90% -5%, rgba(224, 32, 107, 0.10), transparent 60%),
    radial-gradient(ellipse 800px 420px at 5% 105%, rgba(240, 99, 43, 0.10), transparent 60%);
  padding: 100px 0 80px;
  overflow: hidden;
}

.wyAtdWrap {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 28px;
}

.wyAtdHead {
  max-width: 560px;
  margin: 0 auto 70px;
  text-align: center;
}

.wyAtdTagRow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 16px;
}

.wyAtdDiamond {
  width: 8px;
  height: 8px;
  background: #E0206B;
  transform: rotate(45deg);
  flex: 0 0 auto;
}

.wyAtdEyebrow {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #B5503A;
}

.wyAtdHeading {
  font-family: 'Marcellus', serif;
  font-weight: 400;
  font-size: clamp(28px, 3.6vw, 42px);
  line-height: 1.18;
  color: #5A2A18;
}

.wyAtdHeading span {
  background: linear-gradient(90deg, #F0632B, #E0206B);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ---- timeline ---- */
.wyAtdPath {
  position: relative;
}

.wyAtdSpine {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, transparent 0%, rgba(181, 80, 58, 0.35) 4%, rgba(181, 80, 58, 0.35) 96%, transparent 100%);
  z-index: 0;
}

.wyAtdRow {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  padding: 34px 0;
}

.wyAtdSide {
  width: 380px;
  max-width: 42%;
  flex: 0 0 auto;
}

.wyAtdSide.wyAtdSideLeft {
  text-align: right;
}

.wyAtdSide.wyAtdSideRight {
  text-align: left;
}

.wyAtdGhostNum {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 52px;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1.3px rgba(181, 80, 58, 0.30);
  margin-bottom: 6px;
}

.wyAtdCardTitle {
  font-family: 'Marcellus', serif;
  font-weight: 400;
  font-size: 19.5px;
  color: #5A2A18;
  margin-bottom: 9px;
}

.wyAtdCardDesc {
  font-size: 14px;
  color: #6B4A34;
  line-height: 1.68;
}

/* center node */
.wyAtdNode {
  position: relative;
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #FBF1DE;
  border: 2px solid #B5503A;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  box-shadow: 0 0 0 6px #FBF1DE;
}

.wyAtdNode svg {
  width: 24px;
  height: 24px;
}

.wyAtdNode::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(224, 32, 107, 0.4);
  animation: wyAtdPulse 2.4s ease-out infinite;
}

@keyframes wyAtdPulse {
  0% {
    transform: scale(1);
    opacity: 0.7;
  }

  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}

@media (max-width:760px) {
  .wyAtdSpine {
    left: 27px;
  }

  .wyAtdRow {
    justify-content: flex-start;
    gap: 22px;
    padding: 26px 0;
  }

  .wyAtdSide {
    max-width: none;
    width: auto;
    flex: 1 1 auto;
    text-align: left !important;
  }

  .wyAtdSide.wyAtdSideLeft {
    display: none;
  }

  .wyAtdGhostNum {
    font-size: 40px;
  }

  .wyAtdNode {
    width: 44px;
    height: 44px;
    box-shadow: 0 0 0 5px #FBF1DE;
  }

  .wyAtdNode svg {
    width: 19px;
    height: 19px;
  }
}

.gtxHero {
  position: relative;
  width: 100%;
  min-height: 780px;
  overflow: hidden;
  background-color: #e8e5cb;
}

/* background photo, faded out toward the left and bottom */
.gtxBgImg {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-position: right top;
  -webkit-mask-image: linear-gradient(to right, #ffffff7a 0%, rgb(255 252 252) 28%, #ffffff 46%), linear-gradient(to bottom, #ffffff 55%, rgb(255 250 250 / 5%) 72%, #fffbfb 92%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

/* soft pink-to-orange wash behind the text, like the reference */
.gtxColorWash {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgb(255 255 255) 0%, rgb(255 255 255) 30%, rgb(255 254 253 / 96%) 55%, #ffffff 72%);
  mix-blend-mode: multiply;
  pointer-events: none;
}

.gtxContent {
  position: relative;
  z-index: 4;
  max-width: 1440px;
  margin: 0 auto;
  padding: 90px 60px 0;
}

.gtxTitleLine1 {
  color: #e2231a;
  font-size: 62px;
  font-weight: 900;
  letter-spacing: 1px;
  line-height: 1;
  font-family: 'Fraunces';
  background: linear-gradient(90deg, #F0632B, #E0206B);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.gtxTitleLine2 {
  color: #000000;
  font-size: 50px;
  font-weight: 900;
  letter-spacing: 1px;
  line-height: 1.05;
  font-family: 'Fraunces';
  margin-bottom: 34px;
}

.gtxDateRow {
  display: flex;
  align-items: stretch;
  gap: 18px;
}

.gtxDateBar {
  width: 6px;
  background-color: #e2231a;
  border-radius: 2px;
}

.gtxDateText {
  font-size: 30px;
  color: #171515;
  line-height: 1.3;
}

.gtxDateText .gtxCity {
  font-weight: 800;
}

/* giant faint watermark text behind the stats row */
.gtxWatermark {
  position: relative;
  z-index: 1;
  display: flex;
  /* background: #ffffff00; */
  justify-content: center;
  gap: 60px;
  margin-top: 130px;
  color: #ffffff14;
  font-weight: 900;
  font-size: 190px;
  line-height: 1;
  white-space: nowrap;
  user-select: none;
  overflow: hidden;
}

.gtxStatsRow {
  position: relative;
  z-index: 4;
  max-width: 100%;
  margin: -160px auto 0;
  padding: 0 60px 90px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px;
}

.gtxStat {
  text-align: center;
  min-width: 200px;
}

.gtxStatNum {
  font-size: 46px;
  font-weight: 800;
  color: #1a1919;
}

.gtxStatNum .gtxPlus {
  color: #e2231a;
}

.gtxStatLabel {
  font-size: 16px;
  color: #000000;
  font-weight: 500;
  margin-top: 6px;
}

@media (max-width: 900px) {

  .gtxTitleLine1,
  .gtxTitleLine2 {
    font-size: 44px;
  }

  .gtxDateText {
    font-size: 20px;
  }

  .gtxContent {
    padding: 50px 28px 0;
  }

  .gtxWatermark {
    font-size: 90px;
    margin-top: 80px;
  }

  .gtxStatsRow {
    margin-top: -70px;
    padding: 0 24px 60px;
    justify-content: center;
  }

  .gtxStatNum {
    font-size: 32px;
  }

  .gtxHero {
    min-height: 620px;
  }
}


/* ===== KEY PARTICIPANTS GRID (all classes prefixed "kpGrid" — unique to this section) ===== */


.kpGridSection {
  background: #FFFFFF;
  padding: 64px 40px 90px;
}

.kpGridHeadWrap {
  text-align: center;
  max-width: 900px;
  margin: 0 auto 46px;
}

.kpGridHeading {
  font-family: 'Fraunces';
  font-weight: 800;
  font-size: clamp(30px, 4.2vw, 45px);
  line-height: 1.15;
  color: #0E0E0E;
  letter-spacing: -0.01em;
}

.kpGridWrap {
  max-width: 1560px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.kpGridTile {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  background: #111;
  aspect-ratio: 1/1.02;
  cursor: pointer;
}

.kpGridPhoto {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.kpGridTile:hover .kpGridPhoto {
  transform: scale(1.06);
}

/* colored label band at the bottom */
.kpGridLabel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 18px 20px;
  font-weight: 800;
  font-size: 15px;
  line-height: 1.35;
  letter-spacing: 0.01em;
  color: #0E0E0E;
  text-transform: uppercase;
  transition: opacity .3s ease, transform .3s ease;
}

.kpGridLabel.kpGridYellow {
  background: #FFF1CC;
}

.kpGridLabel.kpGridPurple {
  background: #FFF1CC;
}

/* hover scrim + description */
.kpGridScrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 8, 4, 0.15) 0%, rgba(10, 8, 4, 0.88) 62%);
  opacity: 0;
  transition: opacity .35s ease;
  display: flex;
  align-items: flex-end;
  padding: 22px 20px;
}

.kpGridTile:hover .kpGridScrim {
  opacity: 1;
}

.kpGridTile:hover .kpGridLabel {
  opacity: 0;
  transform: translateY(6px);
}

.kpGridDesc {
  color: #FFF8EC;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.6;
  transform: translateY(10px);
  opacity: 0;
  transition: opacity .35s ease .05s, transform .35s ease .05s;
}

.kpGridTile:hover .kpGridDesc {
  transform: translateY(0);
  opacity: 1;
}

.kpGridDescTitle {
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #FFC96B;
  margin-bottom: 6px;
}

@media (max-width:1180px) {
  .kpGridWrap {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width:760px) {
  .kpGridWrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .kpGridSection {
    padding: 48px 20px 64px;
  }
}

@media (max-width:460px) {
  .kpGridWrap {
    grid-template-columns: 1fr;
  }
}

.brand-name img {
  /* was 47% of the brand column, so it grew when the column widened on tablet */
  width: 100%;
  max-width: 190px;
  height: auto;
}


.chief-guest-card {
  position: relative;
  width: 100%;
  height: 420px;
  border-radius: 14px;
  margin-bottom: 30px;
  overflow: hidden;
  display: flex;
  background: linear-gradient(90deg, #F0632B, #E0206B);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

/* decorative gold corner bracket, top-left */
.chief-guest-corner {
  position: absolute;
  top: 22px;
  left: 22px;
  width: 34px;
  height: 34px;
  border-top: 2px solid #C99B3F;
  border-left: 2px solid #C99B3F;
  z-index: 3;
}

.chief-guest-photo-panel {
  width: 300px;
  height: 100%;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  background: #1a4433;
}

.chief-guest-photo-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.chief-guest-placeholder-icon {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(90deg, #ffffff, #ffffffc9);
}

.chief-guest-placeholder-icon svg {
  width: 170px;
  height: 170px;
  fill: rgba(255, 255, 255, 0.35);
  margin-bottom: -6px;
}

.chief-guest-content-panel {
  flex: 1;
  padding: 3rem 2.75rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.chief-guest-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  padding: 8px 22px;
  border: 1px solid #f6f5f2;
  border-radius: 999px;
  margin-bottom: 1.75rem;
}

.chief-guest-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f5f5f3;
}

.chief-guest-badge-text {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 3px;
  color: #ffffff;
}

.chief-guest-name {
  font-size: 32px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 1.75rem;
  line-height: 1.3;
}

.chief-guest-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 1.5rem;
}

.chief-guest-divider-line {
  flex: 1;
  max-width: 260px;
  height: 1px;
  background: rgba(255, 255, 255, 0.25);
}

.chief-guest-divider-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C99B3F;
  flex-shrink: 0;
}

.chief-guest-designation {
  font-size: 15px;
  font-weight: 700;
  color: #F0F0EC;
  margin: 0 0 10px;
  line-height: 1.5;
}

.chief-guest-org {
  font-size: 15px;
  font-weight: 700;
  color: #F0F0EC;
  margin: 0;
}

section#chiefguest {
  background: #f6f2e5;
  padding: 46px;
}


/* ============ TOP ACCENT LINE ============ */
.rbsa-topline {
  height: 4px;
  background: linear-gradient(90deg, #e5384d, #f2a15a, #e5384d);
  width: 100%;
}

/* ============ MAIN HEADER BANNER ============ */
.rbsa-header-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 20px;
  padding: 7px 32px;
  background: #f6ecdd;
  border-bottom: 1px solid #d8c8a8;
}

.rbsa-header-brandgroup {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  min-width: 0;
}

.rbsa-header-logolockup {
  display: flex;
  align-items: center;
  gap: 8px;
}

.rbsa-header-logobox {
  background: #e5384d;
  color: #ffffff;
  font-weight: 800;
  font-size: 15px;
  padding: 4px 7px;
  font-family: 'Playfair Display', serif;
  letter-spacing: .5px;
  flex-shrink: 0;
}

.rbsa-header-logotext {
  font-family: 'Playfair Display', serif;
  line-height: 1.05;
}

.rbsa-header-logotext .rbsa-header-logotext-main {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: .2px;
  color: #20160f;
}

.rbsa-header-logotext .rbsa-header-logotext-sub {
  font-size: 10px;
  letter-spacing: 2px;
  color: #4a3c2e;
  font-family: 'Inter', sans-serif;
}

.rbsa-header-vdivider {
  width: 1px;
  height: 34px;
  background: #d8c8a8;
  flex-shrink: 0;
}

.rbsa-header-eventtitle {
  font-family: 'Inter', sans-serif;
  min-width: 0;
}

.rbsa-header-eventtitle .rbsa-header-eventtitle-name {
  font-size: 15px;
  font-weight: 700;
  color: #20160f;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rbsa-header-eventtitle .rbsa-header-eventtitle-edition {
  font-size: 11px;
  color: #4a3c2e;
}

.rbsa-header-nav {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-left: 6px;
}

.rbsa-header-nav a {
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  color: #4a3c2e;
  padding-bottom: 14px;
}

.rbsa-header-nav a.rbsa-header-nav-active {
  color: #20160f;
  border-bottom: 2px solid #20160f;
}

.rbsa-header-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

/* ============ HEADER EXPRESS INTEREST CTA (animated) ============ */
.rbsa-header-ctabtn {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 20px;
  border-radius: 22px;
  border: none;
  cursor: pointer;
  background: linear-gradient(90deg, #F0632B, #E0206B);
  background-size: 300% 100%;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .4px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 0 0 0 rgba(229, 138, 47, .55), 0 6px 14px rgba(201, 106, 26, .35);
  animation: rbsaCtaGradientShift 4s linear infinite, rbsaCtaPulse 2.4s ease-out infinite;
  transition: transform .2s ease;
}

.rbsa-header-ctabtn:hover {
  transform: translateY(-2px) scale(1.03);
}

.rbsa-header-ctabtn .rbsa-header-ctabtn-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, .7);
  animation: rbsaDotPing 1.6s ease-out infinite;
  flex-shrink: 0;
}

.rbsa-header-ctabtn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -60%;
  width: 40%;
  height: 100%;
  background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, .55) 50%, transparent 100%);
  transform: skewX(-20deg);
  animation: rbsaCtaShine 3s ease-in-out infinite;
}

@keyframes rbsaCtaShine {
  0% {
    left: -60%;
  }

  35% {
    left: 130%;
  }

  100% {
    left: 130%;
  }
}

@keyframes rbsaCtaGradientShift {
  0% {
    background-position: 0% 50%;
  }

  100% {
    background-position: 300% 50%;
  }
}

@keyframes rbsaCtaPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(229, 138, 47, .55), 0 6px 14px rgba(201, 106, 26, .35);
  }

  70% {
    box-shadow: 0 0 0 10px rgba(229, 138, 47, 0), 0 6px 14px rgba(201, 106, 26, .35);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(229, 138, 47, 0), 0 6px 14px rgba(201, 106, 26, .35);
  }
}

@keyframes rbsaDotPing {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, .7);
  }

  70% {
    box-shadow: 0 0 0 6px rgba(255, 255, 255, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}

@media (prefers-reduced-motion: reduce) {

  .rbsa-header-ctabtn,
  .rbsa-header-ctabtn::before,
  .rbsa-header-ctabtn .rbsa-header-ctabtn-dot {
    animation: none;
  }
}

.rbsa-header-loginbtn {
  border: 1px solid #4a3c2e;
  border-radius: 20px;
  padding: 8px 22px;
  font-size: 13px;
  font-weight: 600;
  background: transparent;
  color: #20160f;
  cursor: pointer;
  flex-shrink: 0;
}

/* ============ MOBILE BURGER MENU ============ */
.rbsa-header-burgerbtn {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: transparent;
  border: 1px solid #4a3c2e;
  border-radius: 8px;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0;
}

.rbsa-header-burgerbtn span {
  display: block;
  width: 20px;
  height: 2px;
  background: #20160f;
  border-radius: 2px;
  transition: transform .25s ease, opacity .25s ease;
}

.rbsa-header-burgerbtn.rbsa-burger-open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.rbsa-header-burgerbtn.rbsa-burger-open span:nth-child(2) {
  opacity: 0;
}

.rbsa-header-burgerbtn.rbsa-burger-open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.rbsa-mobile-menu {
  display: none;
  background: #f6ecdd;
  border-bottom: 1px solid #d8c8a8;
  max-height: 0;
  overflow: hidden;
  /* hidden from keyboard/AT while collapsed; revealed only once it opens */
  visibility: hidden;
  transition: max-height .3s ease, visibility 0s linear .3s;
}

.rbsa-mobile-menu.rbsa-mobile-menu-open {
  max-height: 400px;
  visibility: visible;
  transition: max-height .3s ease, visibility 0s;
}

.rbsa-mobile-menu-inner {
  padding: 6px 20px 18px;
}

.rbsa-mobile-menu a {
  display: block;
  padding: 12px 4px;
  font-size: 15px;
  font-weight: 600;
  color: #20160f;
  text-decoration: none;
  border-bottom: 1px solid #e8dcc6;
}

.rbsa-mobile-menu a:last-of-type {
  border-bottom: none;
}

.rbsa-mobile-menu-loginbtn {
  display: block;
  width: 100%;
  margin-top: 14px;
  border: 1px solid #4a3c2e;
  border-radius: 20px;
  padding: 10px 22px;
  font-size: 13px;
  font-weight: 600;
  background: transparent;
  color: #20160f;
  text-align: center;
  cursor: pointer;
}

/* ============ SUB NAVIGATION BAR ============ */
.rbsa-subnav-bar {
  display: flex;
  gap: 28px;
  padding: 12px 32px;
  background: #f6ecdd;
  border-bottom: 1px solid #d8c8a8;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.rbsa-subnav-bar a {
  font-size: 13.5px;
  color: #4a3c2e;
  text-decoration: none;
  font-weight: 500;
}

.rbsa-subnav-bar a.rbsa-subnav-first {
  color: #20160f;
  font-weight: 700;
}

/* ============ HERO SECTION ============ */
.rbsa-hero-section {
  position: relative;
  min-height: 640px;
  overflow: hidden;
}

.rbsa-hero-gridbg {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(4, 1fr);
}

.rbsa-hero-cell {
  position: relative;
  overflow: hidden;
  /* warm tint so a cell is never a stark white square while an image loads */
  background: #efe3d0;
  border: 1px solid rgba(255, 255, 255, .15);
}

.rbsa-hero-cell video,
.rbsa-hero-cell img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 1.2s ease;
}

.rbsa-hero-cell img.rbsa-hero-img-fading {
  opacity: 0;
}

.rbsa-hero-brandword img {
  width: 64%;
}

.rbsa-header-logotext-main img {
  width: 202px;
}

.rbsa-hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 780px 620px at 50% 42%, #f6ecdd 0%, #f6ecdd 30%, rgba(246, 236, 221, .55) 58%, rgba(246, 236, 221, .18) 100%), linear-gradient(180deg, rgba(246, 236, 221, .55) 0%, rgba(246, 236, 221, .15) 20%, rgba(246, 236, 221, .15) 75%, rgba(246, 236, 221, .7) 100%);
  z-index: 2;
}

.rbsa-hero-content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 70px 20px 90px;
}

.rbsa-hero-brandlockup {
  display: block;
  align-items: center;
  gap: 8px;
  /* was 22px — tightened so the CTA row sits closer to the logo */
  margin-bottom: 0;
  flex-wrap: wrap;
  justify-content: center;
}

.rbsa-hero-brandlockup .rbsa-hero-logobox {
  background: #e5384d;
  color: #ffffff;
  font-weight: 800;
  font-size: 13px;
  padding: 3px 6px;
  font-family: 'Playfair Display', serif;
  letter-spacing: .5px;
}

.rbsa-hero-brandlockup .rbsa-hero-brandword {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 14px;
  color: #f6ecdd;
}

/* leftovers from the old horizontal lockup: a 1px hairline and a <br> that
   together added ~46px of empty height under the logo. */
.rbsa-hero-brandlockup .rbsa-hero-brandsep,
.rbsa-hero-brandlockup br {
  display: none;
}

.rbsa-hero-brandlockup .rbsa-hero-brandsep {
  width: 1px;
  height: 22px;
  background: #f6ecdd;
  opacity: .4;
  margin: 0 4px;
}

.rbsa-hero-brandlockup .rbsa-hero-verticals {
  font-size: 10px;
  line-height: 1.2;
  color: #e8dcc6;
  text-align: left;
}

.rbsa-hero-titlemain {
  font-family: 'Playfair Display', serif;
  font-weight: 800;
  font-size: 64px;
  letter-spacing: 1px;
  color: #faf4e8;
  line-height: 1.05;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .35);
}

.rbsa-hero-titlesub {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 34px;
  letter-spacing: 2px;
  color: #faf4e8;
  margin-top: 6px;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .3);
}

.rbsa-hero-tagline {
  font-size: 13px;
  letter-spacing: 3px;
  color: #e8dcc6;
  margin-top: 12px;
  font-weight: 500;
}

.rbsa-hero-rule {
  width: 520px;
  max-width: 80%;
  height: 1px;
  background: #e8dcc6;
  opacity: .4;
  margin: 18px 0;  /* was 34px */
}

.rbsa-hero-trackname {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 46px;
  letter-spacing: 2px;
  color: #faf4e8;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .3);
}

.rbsa-hero-dateloc {
  font-size: 16px;
  margin-top: 26px;
  color: #f6ecdd;
  font-weight: 500;
}

.rbsa-hero-ctarow {
  display: flex;
  gap: 18px;
  margin-top: 16px;  /* was 30px */
  flex-wrap: wrap;
  justify-content: center;
}

.rbsa-hero-btn {
  display: inline-block;
  padding: 15px 34px;
  border-radius: 30px;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 1px;
  text-decoration: none;
  cursor: pointer;
  border: none;
}

.rbsa-hero-btn-fill {
  background: linear-gradient(90deg, #F0632B, #E0206B);
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(201, 106, 26, .35);
}

.rbsa-hero-btn-outline {
  background: #ffffff;
  color: #e0206b;
  border: 1.5px solid #e0206b;
}

/* ============ SOCIAL RAIL ============ */
.rbsa-social-rail {
  position: absolute;
  left: 0;
  top: 220px;
  z-index: 4;
  display: flex;
  flex-direction: column;
}

.rbsa-social-rail a {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  text-decoration: none;
  font-size: 18px;
}

.rbsa-social-rail .rbsa-social-fb {
  background: #1877f2;
}

.rbsa-social-rail .rbsa-social-x {
  background: #111111;
}

.rbsa-social-rail .rbsa-social-li {
  background: #0a66c2;
}


/* ============ RESPONSIVE: TABLET (<=1024px) ============ */
@media (max-width:1024px) {
  .rbsa-header-nav {
    gap: 18px;
  }

  .rbsa-hero-titlemain {
    font-size: 52px;
  }

  .rbsa-hero-titlesub {
    font-size: 28px;
  }

  .rbsa-hero-trackname {
    font-size: 40px;
  }
}

/* ============ RESPONSIVE: SMALL TABLET (<=820px) ============ */
@media (max-width:820px) {
  .rbsa-header-banner {
    padding: 12px 20px;
  }

  .rbsa-header-nav {
    display: none;
  }

  .rbsa-header-loginbtn {
    display: none;
  }

  .rbsa-header-burgerbtn {
    display: flex;
  }

  .rbsa-mobile-menu {
    display: block;
  }

  .rbsa-subnav-bar {
    padding: 10px 20px;
    gap: 20px;
  }

  .rbsa-hero-gridbg {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(5, 1fr);
  }

  .rbsa-social-rail {
    top: auto;
    bottom: 16px;
    left: 12px;
    flex-direction: row;
  }

  .rbsa-social-rail a {
    width: 38px;
    height: 38px;
    font-size: 15px;
  }
}

/* ============ RESPONSIVE: MOBILE (<=600px) ============ */
@media (max-width:600px) {
  .rbsa-header-banner {
    padding: 10px 16px;
  }

  .rbsa-header-logotext .rbsa-header-logotext-main {
    font-size: 15px;
  }

  .rbsa-header-vdivider {
    display: none;
  }

  .rbsa-header-eventtitle {
    display: none;
  }

  .rbsa-header-loginbtn {
    padding: 7px 16px;
    font-size: 12px;
  }

  .rbsa-header-ctabtn {
    padding: 8px 14px;
    font-size: 11.5px;
  }

  .rbsa-subnav-bar {
    padding: 10px 16px;
    gap: 16px;
  }

  .rbsa-subnav-bar a {
    font-size: 12.5px;
  }

  .rbsa-hero-section {
    min-height: 560px;
  }

  .rbsa-hero-content {
    padding: 44px 16px 70px;
  }

  .rbsa-hero-gridbg {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(6, 1fr);
  }

  .rbsa-hero-titlemain {
    font-size: 34px;
    letter-spacing: 0;
  }

  .rbsa-hero-titlesub {
    font-size: 17px;
    letter-spacing: 1px;
  }

  .rbsa-hero-tagline {
    font-size: 10.5px;
    letter-spacing: 2px;
  }

  .rbsa-hero-rule {
    margin: 14px 0;  /* was 22px */
  }

  .rbsa-hero-trackname {
    font-size: 28px;
  }

  .rbsa-hero-dateloc {
    font-size: 14px;
    margin-top: 18px;
  }

  .rbsa-hero-ctarow {
    margin-top: 12px;  /* was 22px */
    gap: 12px;
  }

  .rbsa-hero-btn {
    padding: 13px 22px;
    font-size: 12px;
    width: 100%;
    text-align: center;
  }

  .rbsa-hero-ctarow {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 300px;
  }

  .rbsa-social-rail {
    position: static;
    flex-direction: row;
    justify-content: center;
    margin-top: 10px;
  }
}

/* ============ RESPONSIVE: SMALL MOBILE (<=380px) ============ */
@media (max-width:380px) {
  .rbsa-hero-titlemain {
    font-size: 28px;
  }

  .rbsa-hero-trackname {
    font-size: 24px;
  }

  .rbsa-header-logolockup .rbsa-header-logotext-main {
    font-size: 13px;
  }
}


.reRoomWhySection,
.reRoomWhySection * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.reRoomWhySection {
  font-family: 'Inter', sans-serif;
  background-color: #0A0303;
  background-image:
    repeating-linear-gradient(90deg, rgba(255, 60, 40, 0.05) 0px, rgba(255, 60, 40, 0.05) 1px, transparent 1px, transparent 8px),
    radial-gradient(1200px 500px at 15% 0%, rgba(70, 10, 10, 0.55), transparent 60%);
  padding: 70px 60px 60px;
  position: relative;
  overflow: hidden;
}

.reRoomWhyDiamond {
  width: 36px;
  height: 36px;
  border: 2px solid rgba(255, 255, 255, 0.5);
  transform: rotate(45deg);
  margin-bottom: 26px;
}

.reRoomWhyHeading {
  font-family: 'Archivo Black', sans-serif;
  font-size: 52px;
  line-height: 1.08;
  color: #FFFFFF;
  text-transform: uppercase;
  max-width: 900px;
  font-family: 'Fraunces';
  font-weight: 800;
  font-size: clamp(30px, 4.2vw, 45px);
  text-align: center;
  margin: auto;
}

.reRoomWhyDesc {
  margin-top: 22px;
  font-size: 16px;
  line-height: 1.6;
  color: #D8D0CE;
  max-width: 640px;
}

.reRoomWhyStage {
  position: relative;
  margin-top: 56px;
}

.reRoomWhyViewport {
  overflow: hidden;
  position: relative;
}

.reRoomWhyTrack {
  display: flex;
  gap: 26px;
  transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1);
  will-change: transform;
}

.reRoomWhySlide {
  flex: 0 0 74%;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  min-height: 430px;
  opacity: 0.35;
  filter: blur(2px);
  transition: opacity 0.5s ease, filter 0.5s ease;
}

.reRoomWhySlide.reRoomWhySlideActive {
  opacity: 1;
  filter: blur(0);
}

.reRoomWhyImagePane {
  position: relative;
  display: flex;
  align-items: flex-end;
  padding: 24px;
  overflow: hidden;
  background-color: #1B1414;
}

.reRoomWhyImagePane img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.reRoomWhyImageLabel {
  position: relative;
  z-index: 2;
  color: #FFFFFF;
  font-weight: 600;
  font-size: 17px;
  line-height: 1.3;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
}

.reRoomWhyImageScrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.65) 0%, transparent 55%);
  z-index: 1;
}

.reRoomWhyContentPane {
  background-color: #141212;
  padding: 36px 34px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}

.reRoomWhyNumber {
  color: #E8402C;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 2px;
}

.reRoomWhyTitle {
  color: #FFFFFF;
  font-family: 'Fraunces';
  font-size: 26px;
  text-transform: uppercase;
  line-height: 1.25;
  margin-top: 16px;
}

.reRoomWhyText {
  color: #fffefd;
  font-size: 19px;
  line-height: 1.6;
  margin-top: 16px;
  max-width: 42ch;
}

.reRoomWhyArrow {
  align-self: flex-end;
  width: 44px;
  height: 44px;
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.reRoomWhyArrow svg {
  width: 18px;
  height: 18px;
}

.reRoomWhyNavBtn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(20, 15, 15, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  color: #FFFFFF;
  font-size: 18px;
}

.reRoomWhyNavBtnPrev {
  left: 6px;
}

.reRoomWhyNavBtnNext {
  right: 6px;
}

.reRoomWhyProgress {
  display: flex;
  gap: 8px;
  margin-top: 34px;
}

.reRoomWhyProgressSeg {
  flex: 1;
  height: 4px;
  background: #3A3232;
  border-radius: 2px;
  overflow: hidden;
  cursor: pointer;
}

.reRoomWhyProgressFill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #E8402C, #FF7A45);
}

.reRoomWhyProgressSeg.reRoomWhyProgressDone .reRoomWhyProgressFill {
  width: 100%;
  transition: none;
}

.reRoomWhyProgressSeg.reRoomWhyProgressActive .reRoomWhyProgressFill {
  width: 0%;
  animation: reRoomWhyFillAnim 4.6s linear forwards;
}

@keyframes reRoomWhyFillAnim {
  to {
    width: 100%;
  }
}

@media (max-width: 900px) {
  .reRoomWhyHeading {
    font-size: 34px;
  }

  .reRoomWhySlide {
    flex-basis: 88%;
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .reRoomWhyImagePane {
    min-height: 220px;
  }
}

.social-icons a {
  background: linear-gradient(90deg, #F0632B, #E0206B);
  padding: 9px;
  border-radius: 53px;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  text-align: center;
  align-items: center;
  display: inline-grid;
}

#ourpartner {
  padding: 50px 0;
}

#ourpartner .wrap-titlepartner {
  width: 100%;
  text-align: center;
  margin-bottom: 30px;
}

#ourpartner .wrap-titlepartner h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
}

.wrp-partner-titlem h2 {
  font-size: 52px;
  font-weight: 700;
  text-transform: capitalize;
  font-family: 'Fraunces';
  text-align: center;
  padding-bottom: 45px;
}

#ourpartner .wrp-logos-sep {
  width: 100%;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  box-sizing: border-box;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px;
}

#ourpartner .wrp-logos-sep img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* logo cut nahi hoga */
  object-position: center;
  display: block;
}

/* ============================================================
   EXPRESS INTEREST PAGE (express-interest.html) - prefix "ei-"
   Only used by that page; the header/footer above are shared.
   ============================================================ */
.ei-main {
  background: #fffaec;
}

.ei-section {
  padding: clamp(40px, 6vw, 80px) 0 clamp(56px, 7vw, 96px);
}

.ei-wrap {
  width: 100%;
  max-width: 930px;
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 32px);
}

.ei-head {
  text-align: center;
  margin-bottom: clamp(24px, 3.5vw, 40px);
}

.ei-title {
  margin: 0;
  font-family: 'Fraunces', Georgia, 'Times New Roman', serif;
  font-weight: 700;
  font-size: clamp(30px, 4.6vw, 52px);
  line-height: 1.12;
  color: #5A2A18;
}

.ei-title-rule {
  width: 84px;
  height: 3px;
  margin: 18px auto 0;
  border-radius: 3px;
  background: linear-gradient(90deg, #F0632B, #E0206B);
}

.ei-card {
  /* matches the embedded form's own page background so the frame reads as one panel */
  background: #dcdcdc;
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
  box-shadow: rgba(0, 0, 0, 0.14) 0 18px 38px, rgba(0, 0, 0, 0.10) 0 12px 12px;
}

.ei-card iframe {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

@media (max-width: 575.98px) {
  .ei-card {
    border-radius: 12px;
  }
}


/* ============================================================
   IN-PAGE SECTION NAVIGATION
   The sub-nav and the footer Quick Links jump to section ids.
   ============================================================ */
html {
  scroll-behavior: smooth;
}

[id] {
  scroll-margin-top: 16px;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
