/*
  Reversible 2027 blue-spectrum palette study.
  Remove this stylesheet link from index.html to return to the prior theme.

  Palette roles:
  midnight = structure, royal = primary action, sky = signal,
  ice = reading surfaces, powder = rules and quiet ornament.
*/
:root {
  --ink: #17345d;
  --black: #081a33;
  --panel: #123a67;
  --paper: #f3f7fc;
  --paper-2: #ffffff;
  --muted: #58708f;
  --line: rgba(23, 52, 93, 0.15);
  --gold: #2468c9;
  --gold-soft: #b9dcff;
  --bronze: #6aaef0;
  --teal: #43bdd7;
  --green: #387fc7;
  --violet: #245aa5;
  --paper-raised: #fbfdff;
  --charcoal: #0d2948;
  --line-soft: rgba(39, 91, 151, 0.16);
  --gold-deep: #245aa5;
  --gold-pale: #c8e3ff;
  --shadow: 0 24px 80px rgba(17, 55, 96, 0.13);
  --shadow-soft: 0 24px 70px rgba(17, 55, 96, 0.09);
  --sphere-orange: #f0521c;
  --sphere-orange-deep: #b83c18;
  --sphere-teal: #0d5266;
  --sphere-navy: #08283a;
  --accent-orange: #d94d1c;
  --accent-orange-light: #ff9564;
  --accent-orange-dark: #a93a16;
}

body {
  background:
    radial-gradient(circle at 10% 8%, rgba(67, 189, 215, 0.1), transparent 25%),
    radial-gradient(circle at 88% 18%, rgba(36, 104, 201, 0.09), transparent 24%),
    var(--paper);
}

::selection { background: #8fc8ff; color: #081a33; }

/* Carry the Forum's clear blue/cyan signal into existing accents, while
   retaining gold for the programme's premium moments and calls to action. */
.section-kicker,
.eyebrow,
.speaker-tab[aria-selected="true"] .speaker-tab-label,
.speaker-tab[aria-selected="true"] .speaker-tab-index { color: #245aa5; }

.section-kicker::before,
.eyebrow::before,
.speaker-tab[aria-selected="true"]::after { background: #43bdd7; }

.site-header { border-color: rgba(21, 54, 96, 0.12); }

.site-header[data-elevated="true"] {
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 30px rgba(18, 45, 80, 0.1);
}

.nav a:hover,
.nav a:focus-visible { color: #245aa5; }

.speaker-tab[aria-selected="true"] {
  border-color: rgba(36, 90, 165, 0.28);
  background: #e8f3ff;
}

.sponsorship-tier.is-featured,
.sponsorship-tier.featured {
  box-shadow: 0 22px 56px rgba(36, 90, 165, 0.12);
}

/* Shade study: ink navy for structure, clear blue for links, mist blue for
   reading surfaces, and cyan as a small signal beside the retained gold. */
.site-header,
.site-header[data-elevated="true"] {
  background: rgba(248, 251, 255, 0.97);
  color: var(--ink);
  border-color: rgba(21, 54, 96, 0.14);
}

.brand strong,
.brand small,
.nav { color: #4f6888; }

.nav a,
.nav a.nav-highlight {
  color: #0b3260 !important;
  font-weight: 700;
  opacity: 1;
  text-shadow: none !important;
}

.nav a:hover,
.nav a.is-active,
.nav-highlight,
.engagement-paths span,
.engagement-paths b,
.event-intro .eyebrow,
.event-intro-notes span,
.timeline time,
.timeline span { color: #245aa5; }

.nav a::after { background: linear-gradient(90deg, #43bdd7, #2468c9); }

.nav .nav-highlight { color: #174f91 !important; }

.nav {
  border-color: rgba(36, 104, 201, 0.16);
  background: rgba(221, 237, 252, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.hero { background-color: #081a33; }
.hero::before {
  background:
    linear-gradient(90deg, rgba(5, 19, 39, 0.95) 0%, rgba(8, 39, 74, 0.83) 43%, rgba(20, 72, 121, 0.34) 76%, rgba(33, 108, 165, 0.14) 100%),
    linear-gradient(0deg, rgba(5, 19, 39, 0.58), transparent 50%);
}

.ticker,
.inside,
.footer { background-color: #0d2948; }
.ticker { border-color: rgba(144, 183, 220, 0.18); }

.engagement-paths,
.event-details,
.engine,
.programme,
.attendance,
.theme-section,
.partners,
.enquiry { background-color: #f3f7fc; }

.engagement-paths { border-color: rgba(21, 54, 96, 0.14); }
.engagement-paths a { border-color: rgba(21, 54, 96, 0.16); }
.event-intro-notes article,
.engine-grid article,
.feature-grid article,
.feature-grid article:nth-child(2) {
  background-color: #fbfdff;
  border-color: rgba(36, 104, 201, 0.2);
}
.timeline,
.timeline article { border-color: rgba(36, 104, 201, 0.22); }
.event-intro .intro-rule { background: linear-gradient(90deg, #245aa5, #43bdd7); }

.hero-text-link,
.city-register-link { text-decoration-color: #43bdd7; }
.city-register-link { border-top-color: rgba(67, 189, 215, 0.5); }

/* Translate the editorial template's gold accents into a blue spectrum. */
.hero-badge,
.hero-theme,
.hero-text-link,
.city-register-link,
.speaker-section .inside-stack article > span,
.minister-video .recap-content .eyebrow,
.archive-signals strong,
.registration-modal-intro .eyebrow { color: #b9dcff; }

.hero-badge,
.hero-text-link { border-color: #43bdd7; }

.button,
.nav-cta,
.interest-form button,
.registration-modal-submit,
.tier-enquire {
  border-color: #2468c9;
  background: #2468c9;
  color: #ffffff;
  box-shadow: 0 8px 24px rgba(36, 104, 201, 0.2);
}

.hero .button.primary,
.closing-stage .button.primary,
.sponsorship-packages .tier-enquire,
.sponsor-tier-platinum .tier-enquire {
  border-color: #2468c9;
  background: linear-gradient(115deg, #3184dc, #245aa5);
  color: #ffffff;
  box-shadow: 0 6px 0 #173f78, 0 12px 30px rgba(36, 104, 201, 0.22);
}

.hero-bg {
  border-color: rgba(67, 189, 215, 0.38);
  box-shadow: 0 28px 70px rgba(5, 25, 49, 0.34);
  image-rendering: auto;
}

/* Reference-inspired cropped spheres: one upper-right, one lower-left. */
.hero .hero-organism {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: auto;
  height: auto;
  aspect-ratio: auto;
  overflow: hidden;
  opacity: 1;
  filter: none;
  pointer-events: none;
  transform: none;
}

.hero .hero-organism::before,
.hero .hero-organism::after {
  position: absolute;
  inset: auto;
  border: 0;
  border-radius: 50%;
  mask-image: none;
  animation: none;
  content: "";
}

.hero .hero-organism::before {
  top: clamp(-240px, -15vw, -120px);
  right: clamp(-130px, -7vw, -60px);
  width: clamp(330px, 34vw, 590px);
  aspect-ratio: 1;
  background:
    radial-gradient(circle at 72% 32%, #f0521c 0%, rgba(229, 77, 24, 0.96) 27%, rgba(75, 58, 54, 0.82) 49%, rgba(27, 87, 123, 0.72) 73%, #08283a 100%);
  box-shadow:
    inset 46px -28px 82px rgba(2, 20, 36, 0.58),
    -24px 38px 90px rgba(67, 189, 215, 0.13),
    0 0 80px rgba(240, 82, 28, 0.16);
}

.hero .hero-organism::after {
  bottom: clamp(-310px, -20vw, -170px);
  left: clamp(-250px, -13vw, -125px);
  width: clamp(390px, 39vw, 680px);
  aspect-ratio: 1;
  background:
    radial-gradient(circle at 68% 24%, #f15a20 0%, rgba(230, 70, 18, 0.97) 26%, rgba(111, 52, 31, 0.88) 49%, rgba(13, 57, 73, 0.96) 72%, #08283a 100%);
  box-shadow:
    inset -58px 42px 94px rgba(3, 29, 45, 0.7),
    38px -30px 100px rgba(240, 82, 28, 0.14),
    0 0 90px rgba(67, 189, 215, 0.1);
}

.hero .hero-organism span { display: none; }

/* Carry the hero sphere palette into the site's ornamental circles. */
.event-intro::before,
.event-intro::after,
.programme::before,
.sponsorship-packages::after,
.minister-video::after {
  border: 0;
  background:
    radial-gradient(circle at 68% 26%,
      var(--sphere-orange) 0%,
      var(--sphere-orange-deep) 30%,
      rgba(53, 67, 65, 0.9) 51%,
      var(--sphere-teal) 73%,
      var(--sphere-navy) 100%);
  box-shadow:
    inset -18px 16px 34px rgba(3, 25, 40, 0.48),
    18px -14px 44px rgba(240, 82, 28, 0.1);
  animation: none;
}

.event-intro::before { opacity: 0.22; }

.event-intro::after {
  opacity: 0.58;
  filter: none;
}

.city-card::before { display: none; }

.programme::before {
  opacity: 0.18;
  box-shadow:
    inset -34px 28px 62px rgba(3, 25, 40, 0.48),
    24px -18px 70px rgba(240, 82, 28, 0.08);
}

.sponsorship-packages::after {
  opacity: 0.14;
  box-shadow:
    inset -42px 32px 72px rgba(3, 25, 40, 0.5),
    26px -20px 76px rgba(240, 82, 28, 0.08);
}

.minister-video::after {
  opacity: 0.32;
  box-shadow:
    inset -42px 34px 78px rgba(3, 25, 40, 0.58),
    28px -22px 82px rgba(240, 82, 28, 0.1);
}

.button:hover,
.nav-cta:hover,
.interest-form button:hover,
.tier-enquire:hover {
  border-color: #194f9a;
  background: #194f9a;
}

.engagement-paths,
.event-details,
.programme,
.attendance,
.theme-section,
.partners,
.enquiry,
.sponsorship-packages {
  background-image:
    radial-gradient(circle at 92% 8%, rgba(67, 189, 215, 0.08), transparent 24%),
    linear-gradient(135deg, #fbfdff, #edf5fd);
}

.programme .timeline article:nth-child(2),
.sponsor-tier-gold {
  background: linear-gradient(145deg, #eef7ff, #cfe7ff);
}

.programme .timeline article:nth-child(4),
.sponsor-tier-platinum,
.registration-modal-intro {
  background-image:
    radial-gradient(circle at 100% 0, rgba(67, 189, 215, 0.18), transparent 38%),
    linear-gradient(145deg, #123a67, #081a33);
}

.speaker-section,
.minister-video {
  background-image:
    radial-gradient(circle at 12% 14%, rgba(67, 189, 215, 0.16), transparent 27%),
    radial-gradient(circle at 90% 84%, rgba(36, 104, 201, 0.2), transparent 25%),
    linear-gradient(135deg, #081a33, #123a67);
}

/* Reversible auditorium-photo trial for the closing call-to-action. */
.closing-stage {
  background-image:
    linear-gradient(90deg, rgba(5, 24, 48, 0.94) 0%, rgba(9, 46, 84, 0.76) 48%, rgba(18, 75, 126, 0.34) 100%),
    url("assets/closing-stage-auditorium.jpg");
  background-size: cover;
  background-position: center 57%;
}

.closing-stage::before { background: none; }

.event-intro .eyebrow,
.event-intro-notes span,
.engagement-paths span,
.engagement-paths b,
.programme .timeline article span,
.programme .timeline article time,
.sponsorship-packages .section-intro .eyebrow { color: #245aa5; }

/* Register to attend: dark editorial field with flat, clearly ruled choices. */
.attendance {
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 12%, rgba(67, 189, 215, 0.17), transparent 29%),
    radial-gradient(circle at 8% 90%, rgba(36, 104, 201, 0.2), transparent 31%),
    linear-gradient(118deg, #06182f 0%, #0b3158 58%, #0d416f 100%);
  color: #ffffff;
}

.attendance::after { color: rgba(185, 220, 255, 0.055); }

.attendance > div:not(.hex-field),
.attendance .event-choice-card { position: relative; z-index: 1; }

.attendance > div .eyebrow,
.attendance .event-choice-card > span,
.attendance .event-choice em,
.attendance .event-choice-note { color: #8fd8eb !important; }

.attendance > div h2,
.attendance .event-choice-card h3,
.attendance .event-choice strong { color: #ffffff; }

.attendance > div > p,
.attendance .event-choice-card > p,
.attendance .event-choice small { color: rgba(229, 242, 255, 0.78); }

.attendance > div h2 {
  max-width: 690px;
  margin-block: 18px 24px;
}

.attendance > div > p {
  max-width: 650px;
  font-size: 17px;
  line-height: 1.78;
}

.attendance .hex-field span {
  border-color: rgba(67, 189, 215, 0.2);
  background: linear-gradient(135deg, rgba(67, 189, 215, 0.06), transparent);
  animation: none;
}

.attendance .event-choice-card {
  padding: clamp(30px, 4vw, 54px);
  border: 1px solid rgba(143, 216, 235, 0.28);
  border-radius: 2px;
  background: rgba(4, 22, 43, 0.48);
  box-shadow: none;
  backdrop-filter: blur(8px);
}

.attendance .event-choice-card > span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.attendance .event-choice-list {
  gap: 0;
  margin-top: 30px;
  border-top: 1px solid rgba(143, 216, 235, 0.24);
}

.attendance .event-choice {
  min-height: 92px;
  padding: 20px 4px;
  border: 0;
  border-bottom: 1px solid rgba(143, 216, 235, 0.24);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.attendance .event-choice:hover,
.attendance .event-choice:focus-visible {
  padding-inline: 12px;
  border-color: #43bdd7;
  background: rgba(67, 189, 215, 0.08);
  box-shadow: none;
  transform: none;
}

.attendance .event-choice-index {
  border-color: rgba(143, 216, 235, 0.58);
  background: transparent;
  color: #b9dcff !important;
}

.attendance .event-choice-note { margin-top: 22px !important; }

:is(.engagement-paths a, .hero-text-link, .city-register-link, .tier-enquire):focus-visible {
  outline-color: #43bdd7;
}

@media (max-width: 800px) {
  .hero::before {
    background: linear-gradient(90deg, rgba(5, 19, 39, 0.95), rgba(18, 63, 105, 0.66)),
      linear-gradient(0deg, rgba(5, 19, 39, 0.6), transparent 50%);
  }
}

@media (max-width: 1180px) {
  .nav {
    display: flex;
    width: 100%;
    flex-basis: 100%;
    overflow-x: auto;
    padding: 7px 4px;
    white-space: nowrap;
    scrollbar-width: thin;
  }

  .nav a { flex: 0 0 auto; }
}

/* Reversible full-bleed hero image study.
   The existing image remains in the markup, but behaves as the section's
   background rather than as a separate framed media panel. */
.hero {
  grid-template-columns: minmax(0, 1fr);
}

.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  max-width: none;
  height: 100%;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center 54%;
  filter: saturate(0.94) brightness(0.92) contrast(1.04);
  box-shadow: none;
}

.hero::before {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(5, 19, 39, 0.96) 0%, rgba(5, 24, 46, 0.9) 38%, rgba(7, 31, 58, 0.68) 62%, rgba(7, 31, 58, 0.42) 100%),
    linear-gradient(0deg, rgba(5, 19, 39, 0.7), transparent 58%);
}

.hero .hero-organism { z-index: 2; }

.hero-copy {
  grid-column: 1;
  grid-row: 1;
  z-index: 3;
  max-width: 650px;
}

@media (max-width: 800px) {
  .hero {
    min-height: calc(100svh - 72px);
  }

  .hero-bg {
    grid-column: 1;
    grid-row: 1;
    object-position: 58% center;
  }
}
