/* =========================================================================
   Sterile Fill-Finish & Supply Chain Summit for ADCs - Zurich 2027
   Global stylesheet
   ---------------------------------------------------------------------------
   1. Design tokens
   2. Reset & base
   3. Layout helpers
   4. Buttons
   5. Site header / navigation
   6. Hero
   7. Site footer
   8. Responsive
   ========================================================================= */

/* ------------------------------------------------------------------ */
/* 1. Design tokens                                                    */
/* ------------------------------------------------------------------ */
:root {
  /* Brand palette */
  --navy-950: #050e18;
  --navy-900: #071522;
  --navy-800: #0b1f33;
  --navy-700: #103049;
  --navy-600: #17415f;

  --teal-400: #2dd4bf;
  --teal-300: #5eead4;
  --gold-400: #c9a96a;
  --gold-300: #ddc493;

  --paper: #f6f8fb;
  --paper-2: #ffffff;
  --ink: #0b1f33;
  --ink-soft: #3d4f60;
  --muted: #6b7a8a;

  --line-dark: rgba(255, 255, 255, 0.12);
  --line-light: rgba(11, 31, 51, 0.10);

  /* Typography */
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-display: "Fraunces", Georgia, "Times New Roman", serif;

  /* Spacing / shape */
  --container: 1180px;
  --radius-sm: 8px;
  --radius: 14px;
  --radius-lg: 22px;

  --shadow-sm: 0 2px 8px rgba(5, 14, 24, 0.10);
  --shadow-md: 0 18px 40px -18px rgba(5, 14, 24, 0.45);
  --shadow-glow: 0 10px 30px -8px rgba(45, 212, 191, 0.45);

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ------------------------------------------------------------------ */
/* 2. Reset & base                                                     */
/* ------------------------------------------------------------------ */
*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, svg { display: block; max-width: 100%; }

a { color: inherit; text-decoration: none; }

h1, h2, h3, h4 { margin: 0; line-height: 1.12; font-weight: 600; }

ul { margin: 0; padding: 0; list-style: none; }

:focus-visible {
  outline: 2px solid var(--teal-300);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ------------------------------------------------------------------ */
/* 3. Layout helpers                                                   */
/* ------------------------------------------------------------------ */
.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 40px);
}

/* ------------------------------------------------------------------ */
/* 4. Buttons                                                          */
/* ------------------------------------------------------------------ */
.btn {
  --btn-pad-y: 0.85em;
  --btn-pad-x: 1.5em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55em;
  padding: var(--btn-pad-y) var(--btn-pad-x);
  font-family: var(--font-body);
  font-size: 0.98rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  transition: transform 0.2s var(--ease), background 0.2s var(--ease),
    box-shadow 0.2s var(--ease), border-color 0.2s var(--ease), color 0.2s var(--ease);
  white-space: nowrap;
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn:disabled, .btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; box-shadow: none; filter: grayscale(.25); }
.btn:disabled:hover, .btn[aria-disabled="true"]:hover { transform: none; box-shadow: none; }

.page-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }

.btn__icon { width: 1.05em; height: 1.05em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.btn--sm { --btn-pad-y: 0.6em; --btn-pad-x: 1.15em; font-size: 0.88rem; }
.btn--lg { --btn-pad-y: 1.05em; --btn-pad-x: 1.9em; font-size: 1.02rem; }

.btn--primary {
  background: linear-gradient(135deg, var(--teal-400), var(--teal-300));
  color: var(--navy-950);
  box-shadow: var(--shadow-glow);
}
.btn--primary:hover {
  box-shadow: 0 14px 34px -8px rgba(45, 212, 191, 0.6);
  color: var(--navy-950);
}

.btn--ghost {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.35);
}
.btn--ghost:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.6);
}

.btn--dark {
  background: var(--navy-800);
  color: #fff;
  border-color: var(--line-light);
}
.btn--dark:hover {
  background: var(--navy-700);
  color: #fff;
}

/* ------------------------------------------------------------------ */
/* 5. Site header / navigation                                         */
/* ------------------------------------------------------------------ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(5, 14, 24, 0.94);
  backdrop-filter: saturate(140%) blur(14px);
  border-bottom: 1px solid var(--line-dark);
  box-shadow: 0 1px 20px -12px rgba(5, 14, 24, 0.4);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 72px;
  gap: 24px;
}

.brand { display: inline-flex; align-items: center; }
.brand__logo { display: block; height: 38px; width: auto; flex: none; }
.site-header .brand__logo { filter: grayscale(1) brightness(0) invert(1); }

.nav { display: flex; align-items: center; gap: 28px; }
.nav__link {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.95rem;
  font-weight: 500;
  position: relative;
  padding-block: 4px;
  transition: color 0.2s var(--ease);
}
.nav__link::after {
  content: "";
  position: absolute;
  left: 0; bottom: -2px;
  width: 0; height: 2px;
  background: var(--teal-400);
  transition: width 0.25s var(--ease);
}
.nav__link:hover { color: #fff; }
.nav__link:hover::after { width: 100%; }
.nav__cta { margin-left: 6px; }

/* Mobile burger (CSS-only) */
.nav-burger { display: none; }
.nav-burger__bar,
.nav-burger__bar::before,
.nav-burger__bar::after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: transform 0.25s var(--ease), opacity 0.2s var(--ease);
}
.nav-burger__bar::before { transform: translateY(-7px); }
.nav-burger__bar::after { transform: translateY(5px); }

/* ------------------------------------------------------------------ */
/* 6. Hero                                                             */
/* ------------------------------------------------------------------ */
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(120% 130% at 15% 0%, var(--navy-800) 0%, var(--navy-900) 45%, var(--navy-950) 100%);
  color: #fff;
  padding-block: clamp(58px, 8vw, 96px);
}
.hero__bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.06) 1px, transparent 0);
  background-size: 26px 26px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,0.9), transparent 75%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.9), transparent 75%);
}
.hero__glow {
  position: absolute;
  z-index: -1;
  top: -18%;
  right: -8%;
  width: 620px;
  height: 620px;
  max-width: 80vw;
  background: radial-gradient(circle, rgba(45, 212, 191, 0.28), transparent 62%);
  filter: blur(8px);
  pointer-events: none;
}

.hero__inner { max-width: 1040px; }

.hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px;
  padding: 8px 16px 8px 12px;
  border: 1px solid var(--line-dark);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.82);
}
.hero__kicker-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--teal-400);
  box-shadow: 0 0 0 4px rgba(45, 212, 191, 0.2);
  flex: none;
}

.hero__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2.5rem, 5vw, 4.1rem);
  letter-spacing: -0.01em;
  line-height: 1.04;
  margin-bottom: 18px;
}

.hero__tagline {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.15rem, 2.6vw, 1.7rem);
  line-height: 1.25;
  color: var(--teal-300);
  margin: 0 0 18px;
  max-width: 700px;
}

.hero__sub {
  max-width: 760px;
  font-size: clamp(1rem, 1.7vw, 1.18rem);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
  margin-bottom: 30px;
}

.hero__meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: 28px;
  border: 1px solid var(--line-dark);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--line-dark);
}
.hero__meta-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 17px 20px;
  background: rgba(255, 255, 255, 0.02);
}
.hero__meta-icon {
  width: 22px; height: 22px;
  margin-bottom: 6px;
  fill: none;
  stroke: var(--teal-300);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hero__meta-label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--teal-300);
}
.hero__meta-value {
  font-size: 0.98rem;
  font-weight: 600;
  color: #fff;
}

.hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 26px;
}

.hero__proof {
  font-size: 0.92rem;
  color: rgba(255, 255, 255, 0.62);
  margin: 0;
  max-width: 620px;
}
.hero__proof strong { color: var(--gold-300); font-weight: 700; }

/* ------------------------------------------------------------------ */
/* 7. Site footer                                                      */
/* ------------------------------------------------------------------ */
.site-footer {
  background: var(--navy-950);
  color: rgba(255, 255, 255, 0.7);
  padding-top: 64px;
}
.site-footer a { color: rgba(255, 255, 255, 0.7); transition: color 0.2s var(--ease); }
.site-footer a:hover { color: var(--teal-300); }

.site-footer__grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
  gap: 40px;
  padding-bottom: 48px;
}
.site-footer__brand { max-width: 320px; }
.site-footer__logo {
  display: inline-flex;
  align-items: center;
  background: transparent;
  padding: 0;
  border-radius: 0;
  margin-bottom: 18px;
}
.brand__logo--footer { height: 38px; width: auto; filter: grayscale(1) brightness(0) invert(1); }
.site-footer__tagline { font-size: 0.92rem; line-height: 1.6; margin: 0; }
.site-footer__tagline strong { color: #fff; font-weight: 700; }

.site-footer__col { display: flex; flex-direction: column; gap: 10px; }
.site-footer__title {
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 4px;
}
.site-footer__col a { font-size: 0.94rem; }
.site-footer__meta { font-size: 0.9rem; margin: 4px 0 0; line-height: 1.5; }

.site-footer__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding-block: 24px;
  border-top: 1px solid var(--line-dark);
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
}
.site-footer__legal { display: flex; gap: 20px; margin: 0; }

/* ------------------------------------------------------------------ */
/* 8. Interior page hero                                               */
/* ------------------------------------------------------------------ */
.page-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(120% 130% at 15% 0%, var(--navy-800) 0%, var(--navy-900) 50%, var(--navy-950) 100%);
  color: #fff;
  padding-block: clamp(56px, 9vw, 92px);
}
.page-hero__inner { max-width: 820px; }
.page-hero__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2.1rem, 5vw, 3.5rem);
  letter-spacing: -0.01em;
  line-height: 1.06;
  margin-bottom: 18px;
}
.page-hero__sub {
  max-width: 640px;
  font-size: clamp(1rem, 2vw, 1.2rem);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
  margin: 0 0 34px;
}
.page-hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.page-hero__stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 16px 22px;
  min-width: 150px;
  border: 1px solid var(--line-dark);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.03);
}
.page-hero__stat strong {
  font-family: var(--font-display);
  font-size: 1.7rem;
  font-weight: 600;
  color: var(--teal-300);
}
.page-hero__stat span {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.7);
}

/* ------------------------------------------------------------------ */
/* 9. Generic content sections                                         */
/* ------------------------------------------------------------------ */
.section { padding-block: clamp(38px, 5vw, 64px); }
.section--alt { background: var(--paper-2); border-block: 1px solid var(--line-light); }

.section__eyebrow {
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--teal-400);
  margin: 0 0 12px;
}
.section__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.7rem, 3.4vw, 2.5rem);
  letter-spacing: -0.01em;
  max-width: 640px;
  margin-bottom: 8px;
}
.lead { font-size: 1.1rem; color: var(--ink-soft); }
.section p { color: var(--ink-soft); }

/* ------------------------------------------------------------------ */
/* 10. Agenda                                                          */
/* ------------------------------------------------------------------ */
.agenda { padding-block: clamp(48px, 7vw, 84px); background: var(--paper); }

.agenda-tabs__radio { position: absolute; opacity: 0; pointer-events: none; }

.agenda-tabs__nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 40px;
}
.agenda-tab {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 18px 22px;
  border: 1px solid var(--line-light);
  border-radius: var(--radius);
  background: var(--paper-2);
  cursor: pointer;
  transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease), transform 0.2s var(--ease);
}
.agenda-tab:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.agenda-tab__day {
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}
.agenda-tab__theme { font-weight: 600; font-size: 1.02rem; color: var(--ink); }

/* Active tab + panel toggling (CSS-only) */
#agenda-day-1:checked ~ .agenda-tabs__nav .agenda-tab:nth-child(1),
#agenda-day-2:checked ~ .agenda-tabs__nav .agenda-tab:nth-child(2),
#agenda-day-3:checked ~ .agenda-tabs__nav .agenda-tab:nth-child(3) {
  border-color: var(--teal-400);
  box-shadow: 0 0 0 1px var(--teal-400), var(--shadow-sm);
  background: linear-gradient(180deg, rgba(45, 212, 191, 0.08), var(--paper-2));
}
#agenda-day-1:checked ~ .agenda-tabs__nav .agenda-tab:nth-child(1) .agenda-tab__day,
#agenda-day-2:checked ~ .agenda-tabs__nav .agenda-tab:nth-child(2) .agenda-tab__day,
#agenda-day-3:checked ~ .agenda-tabs__nav .agenda-tab:nth-child(3) .agenda-tab__day { color: var(--navy-700); }

.agenda-panel { display: none; }
#agenda-day-1:checked ~ #agenda-panel-1,
#agenda-day-2:checked ~ #agenda-panel-2,
#agenda-day-3:checked ~ #agenda-panel-3 { display: block; }

.agenda-panel__head { margin-bottom: 28px; }
.agenda-panel__eyebrow {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--teal-400);
  margin: 0 0 8px;
}
.agenda-panel__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.45rem, 3vw, 2.1rem);
  max-width: 760px;
}

/* Timeline */
.timeline { display: flex; flex-direction: column; }
.ag {
  position: relative;
  display: grid;
  grid-template-columns: 74px 24px 1fr;
  gap: 0 18px;
  align-items: start;
}
.ag__time {
  grid-column: 1;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: 0.94rem;
  color: var(--navy-700);
  padding-top: 16px;
}
.ag__marker {
  grid-column: 2;
  justify-self: center;
  position: relative;
  z-index: 1;
  width: 14px; height: 14px;
  margin-top: 20px;
  border-radius: 50%;
  background: var(--paper-2);
  border: 2px solid var(--muted);
}
.ag__body { grid-column: 3; }
/* connecting line - absolutely positioned so it never consumes a grid cell */
.ag::before {
  content: "";
  position: absolute;
  left: 103px;      /* centre of the 24px marker column */
  top: 27px;        /* marker centre: margin-top 20 + radius 7 */
  bottom: -27px;    /* reach down to the next marker's centre */
  width: 2px;
  background: var(--line-light);
}
.ag:last-child::before { display: none; }

.ag__body {
  padding: 12px 0 24px;
  min-width: 0;
}
.ag__tag {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 8px;
  background: var(--navy-800);
  color: #fff;
}
.ag__title { font-size: 1.1rem; font-weight: 600; line-height: 1.3; }
.ag__desc { margin: 6px 0 0; font-size: 0.95rem; color: var(--ink-soft); }
.ag__note { font-weight: 500; color: var(--muted); font-size: 0.9em; }

/* Session-type accents */
.ag--keynote .ag__marker { border-color: var(--teal-400); background: var(--teal-400); }
.ag--keynote .ag__tag { background: linear-gradient(135deg, var(--teal-400), var(--teal-300)); color: var(--navy-950); }
.ag--panel .ag__marker { border-color: var(--gold-400); }
.ag--panel .ag__tag { background: var(--gold-400); color: var(--navy-950); }
.ag--case .ag__marker { border-color: var(--navy-600); }
.ag--case .ag__tag { background: var(--navy-700); }
.ag--network .ag__marker { border-color: var(--teal-300); }
.ag--network .ag__tag { background: rgba(45, 212, 191, 0.16); color: var(--navy-700); }
.ag--admin .ag__tag { background: transparent; color: var(--muted); border: 1px solid var(--line-light); }
.ag--admin .ag__title { font-weight: 500; color: var(--ink-soft); }

/* Agenda / venue CTA strip */
.agenda-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 56px;
  padding: clamp(28px, 4vw, 44px);
  border-radius: var(--radius-lg);
  background: radial-gradient(120% 160% at 100% 0%, var(--navy-700), var(--navy-950));
  color: #fff;
  box-shadow: var(--shadow-md);
}
.agenda-cta__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.4rem, 2.6vw, 1.9rem);
  max-width: 520px;
}
.agenda-cta__sub { margin: 10px 0 0; color: rgba(255, 255, 255, 0.72); max-width: 520px; }
.agenda-cta__actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* ------------------------------------------------------------------ */
/* 11. Venue                                                           */
/* ------------------------------------------------------------------ */
.venue-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: clamp(32px, 5vw, 64px);
  align-items: start;
}
.venue-copy .lead { margin-bottom: 20px; }

.feature-list { display: flex; flex-direction: column; gap: 18px; margin-top: 28px; }
.feature { display: grid; grid-template-columns: 40px 1fr; gap: 16px; align-items: start; }
.feature__icon {
  width: 40px; height: 40px;
  padding: 9px;
  border-radius: 11px;
  background: rgba(45, 212, 191, 0.12);
  fill: none;
  stroke: var(--navy-700);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.feature strong { display: block; color: var(--ink); font-size: 1rem; }
.feature span { color: var(--ink-soft); font-size: 0.95rem; }

.venue-card {
  position: sticky;
  top: 96px;
  padding: 30px;
  border-radius: var(--radius-lg);
  background: var(--paper-2);
  border: 1px solid var(--line-light);
  box-shadow: var(--shadow-md);
}
.venue-card__eyebrow {
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}
.venue-card__rate { display: flex; align-items: baseline; gap: 6px; margin: 12px 0 4px; }
.venue-card__amount { font-family: var(--font-display); font-weight: 600; font-size: 2.6rem; color: var(--ink); }
.venue-card__per { font-weight: 600; color: var(--muted); }
.venue-card__note { margin: 0 0 20px; font-size: 0.9rem; color: var(--ink-soft); }
.venue-card__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px 0;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
  margin-bottom: 22px;
}
.venue-card__list li {
  position: relative;
  padding-left: 28px;
  font-size: 0.94rem;
  color: var(--ink-soft);
}
.venue-card__list li::before {
  content: "";
  position: absolute;
  left: 0; top: 3px;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: rgba(45, 212, 191, 0.16);
  box-shadow: inset 0 0 0 2px var(--teal-400);
}
.venue-card__cta { width: 100%; }
.venue-card__fine { margin: 16px 0 0; font-size: 0.8rem; color: var(--muted); line-height: 1.5; }

.travel-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 36px;
}
.travel {
  padding: 26px;
  border-radius: var(--radius);
  background: var(--paper);
  border: 1px solid var(--line-light);
}
.section--alt .travel { background: var(--paper); }
.travel__icon {
  width: 42px; height: 42px;
  padding: 9px;
  margin-bottom: 16px;
  border-radius: 11px;
  background: var(--navy-800);
  fill: none;
  stroke: var(--teal-300);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.travel__title { font-family: var(--font-display); font-weight: 600; font-size: 1.2rem; margin-bottom: 8px; }
.travel p { margin: 0; font-size: 0.95rem; color: var(--ink-soft); }

/* ------------------------------------------------------------------ */
/* 12. About page                                                      */
/* ------------------------------------------------------------------ */
#about { scroll-margin-top: 88px; } /* clear the sticky header on anchor jump */

.prose { max-width: 760px; }
.prose .section__title { margin-bottom: 18px; }
.prose p { margin: 0 0 18px; }
.prose p:last-child { margin-bottom: 0; }
.prose strong { color: var(--ink); font-weight: 700; }

/* Three manufacturing streams */
.executive { position: relative; overflow: hidden; background: linear-gradient(180deg, #fff 0%, #f1f6f7 100%); }
.executive::after { content: ""; position: absolute; top: 80px; right: -120px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(45,212,191,.12), transparent 68%); pointer-events: none; }
.executive__intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .75fr); column-gap: clamp(40px, 7vw, 90px); max-width: var(--container); }
.executive__intro .section__eyebrow, .executive__intro .section__title { grid-column: 1 / -1; max-width: 850px; }
.executive__intro .section__title { margin-bottom: 34px; }
.executive__copy { max-width: 700px; }.executive__copy p { color: var(--ink-soft); }.executive__copy .lead { color: var(--ink); font-size: 1.04rem; }
.market-stat { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: 28px; border: 1px solid rgba(45,212,191,.28); border-radius: var(--radius-lg); background: var(--navy-900); color: #fff; box-shadow: var(--shadow-md); }.market-stat strong { color: var(--teal-300); font-family: var(--font-display); font-size: clamp(2.7rem, 5vw, 4.4rem); line-height: 1; }.market-stat span { max-width: 220px; margin-top: 12px; color: rgba(255,255,255,.68); font-size: .78rem; font-weight: 700; line-height: 1.45; text-transform: uppercase; letter-spacing: .05em; }
.executive .streams { position: relative; margin-top: 44px; gap: 0; padding: 0; border: 1px solid var(--line-light); border-radius: var(--radius-lg); overflow: hidden; background: #fff; box-shadow: 0 24px 55px -45px rgba(5,14,24,.75); }
.executive .stream { min-height: 190px; padding: 30px; border: 0; border-radius: 0; box-shadow: none; background: #fff; }.executive .stream + .stream { border-left: 1px solid var(--line-light); }.executive .stream::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 4px; background: currentColor; opacity: .55; }.executive .stream--mab { color: #557a24; }.executive .stream--hpapi { color: #9c7c39; }.executive .stream--linker { color: #3d92b5; }.executive .stream__title { color: var(--ink); font-family: var(--font-display); font-size: 1.25rem; }.executive .stream__desc { color: var(--ink-soft); }
.executive .callout { display: grid; grid-template-columns: 230px 1fr; gap: 34px; margin-top: 28px; padding: 34px; border: 1px solid rgba(201,169,106,.32); border-radius: var(--radius-lg); background: linear-gradient(125deg, var(--navy-900), var(--navy-800)); }.executive .callout__stat { display: flex; align-items: center; padding-right: 32px; border-right: 1px solid rgba(255,255,255,.12); font-size: clamp(2.3rem, 4vw, 3.6rem); line-height: .95; }.executive .callout__text { max-width: 760px; }
.streams {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}
.stream {
  position: relative;
  padding: 26px 24px 24px;
  border-radius: var(--radius);
  background: var(--paper-2);
  border: 1px solid var(--line-light);
  border-top: 3px solid var(--muted);
}
.stream--mab { border-top-color: #6f9a37; }
.stream--hpapi { border-top-color: var(--gold-400); }
.stream--linker { border-top-color: #5cb8da; }
.stream__num {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--muted);
}
.stream__title { font-size: 1.15rem; font-weight: 600; margin: 6px 0 8px; }
.stream__desc { font-size: 0.95rem; color: var(--ink-soft); margin: 0; }

/* Big stat callout */
.callout {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 36px;
  margin: 36px 0 0;
  padding: 32px clamp(24px, 4vw, 40px);
  border-radius: var(--radius-lg);
  background: radial-gradient(120% 180% at 0% 0%, var(--navy-700), var(--navy-950));
  color: #fff;
}
/* Scoped so the generic `.section p` colour rule can't override these */
.callout .callout__stat {
  flex: none;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2rem, 4.4vw, 2.9rem);
  color: var(--teal-300);
  margin: 0;
  line-height: 1.05;
}
.callout .callout__text {
  flex: 1 1 340px;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.02rem;
}
.callout .callout__text strong { color: #fff; }

/* Bottleneck convergence funnel */
.section__intro { max-width: 700px; font-size: 1.08rem; line-height: 1.6; color: var(--ink-soft); margin: 16px 0 0; }

.funnel { display: flex; flex-direction: column; align-items: center; margin-top: 44px; text-align: center; }
.bottleneck-section { background: #eef3f5; }.bottleneck-section .section__title { max-width: 760px; }.bottleneck-section .section__intro { max-width: 780px; }
.bottleneck-section .funnel { display: grid; grid-template-columns: minmax(0, 1fr) 70px minmax(260px, .72fr) 70px minmax(230px, .62fr); align-items: stretch; gap: 0; margin-top: 40px; padding: 28px; border: 1px solid var(--line-light); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); text-align: left; }
.bottleneck-section .funnel__streams { grid-template-columns: 1fr; gap: 10px; max-width: none; }.bottleneck-section .fstream { display: grid; grid-template-columns: 42px 1fr; grid-template-rows: auto auto; gap: 0 12px; align-items: center; padding: 15px; border-top: 0; border-left: 3px solid; box-shadow: none; text-align: left; }.bottleneck-section .fstream__icon { grid-row: 1 / 3; width: 42px; height: 42px; }.bottleneck-section .fstream h3 { margin: 0; }.bottleneck-section .fstream p { margin-top: 2px; }
.bottleneck-section .funnel__merge { width: 70px; height: 100%; }.bottleneck-section .funnel__lines { display: none; }.bottleneck-section .funnel__merge::before { content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background: var(--navy-600); opacity: .35; }.bottleneck-section .funnel__risk { top: 50%; padding: 5px 8px; transform: translate(-50%,-50%) rotate(-90deg); }.bottleneck-section .funnel__tip { top: 50%; right: 3px; bottom: auto; left: auto; transform: translateY(-50%) rotate(-45deg); }
.bottleneck-section .funnel__squeeze { align-self: stretch; }.bottleneck-section .funnel__pinch { display: none; }.bottleneck-section .squeeze { width: 100%; justify-content: center; padding: 24px; text-align: center; }.bottleneck-section .funnel__drop { width: 70px; height: auto; }.bottleneck-section .funnel__drop span { width: 100%; height: 1px; }.bottleneck-section .funnel__drop span::after { right: 0; bottom: 50%; left: auto; transform: translateY(50%) rotate(-45deg); }.bottleneck-section .funnel__outcome { align-self: stretch; justify-content: center; padding: 24px; text-align: center; }

/* Stage 1 - three converging streams */
.funnel__streams { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; width: 100%; max-width: 840px; }
.fstream {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 26px 18px;
  border-radius: var(--radius);
  background: var(--paper);
  border: 1px solid var(--line-light);
  border-top: 3px solid var(--muted);
  box-shadow: var(--shadow-sm);
}
.fstream__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; }
.fstream__icon svg { width: 26px; height: 26px; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fstream h3 { font-size: 1.05rem; font-weight: 600; margin: 2px 0 0; }
.fstream p { font-size: 0.85rem; color: var(--ink-soft); margin: 0; }
.fstream--mab { border-top-color: #6f9a37; }
.fstream--mab .fstream__icon { background: rgba(111, 154, 55, 0.14); }
.fstream--mab .fstream__icon svg { stroke: #557a24; }
.fstream--hpapi { border-top-color: var(--gold-400); }
.fstream--hpapi .fstream__icon { background: rgba(201, 169, 106, 0.20); }
.fstream--hpapi .fstream__icon svg { stroke: #9c7c39; }
.fstream--linker { border-top-color: #5cb8da; }
.fstream--linker .fstream__icon { background: rgba(92, 184, 218, 0.16); }
.fstream--linker .fstream__icon svg { stroke: #3d92b5; }

/* Converging connector lines */
.funnel__merge { position: relative; width: 100%; max-width: 840px; height: 66px; }
.funnel__lines { display: block; width: 100%; height: 100%; }
.funnel__lines path { fill: none; stroke: var(--navy-600); stroke-width: 1.6; opacity: 0.5; vector-effect: non-scaling-stroke; }
.funnel__risk {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  background: var(--paper-2);
  border: 1px solid var(--line-light);
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 5px 13px;
  border-radius: 999px;
  white-space: nowrap;
}
.funnel__tip {
  position: absolute;
  left: 50%; bottom: -5px;
  transform: translateX(-50%) rotate(45deg);
  width: 11px; height: 11px;
  border-right: 2px solid var(--navy-600);
  border-bottom: 2px solid var(--navy-600);
  opacity: 0.6;
}

/* Stage 2 - the choke point, flanked by pressure chevrons */
.funnel__squeeze { display: flex; align-items: center; justify-content: center; gap: 10px; }
.funnel__pinch { color: var(--gold-400); display: grid; place-items: center; animation: pinch 1.8s var(--ease) infinite; }
.funnel__pinch:last-child { animation-name: pinch-r; }
.funnel__pinch svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
@keyframes pinch { 0%, 100% { transform: translateX(0); opacity: 0.5; } 50% { transform: translateX(4px); opacity: 1; } }
@keyframes pinch-r { 0%, 100% { transform: translateX(0); opacity: 0.5; } 50% { transform: translateX(-4px); opacity: 1; } }

.squeeze {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  padding: 24px clamp(28px, 5vw, 48px);
  border-radius: var(--radius);
  background: linear-gradient(180deg, var(--navy-800), var(--navy-950));
  border: 1px solid var(--navy-700);
  color: #fff;
  box-shadow: var(--shadow-md);
}
.squeeze__eyebrow { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-300); }
.squeeze__title { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.35rem, 2.8vw, 1.8rem); }
.squeeze__badge {
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 999px;
  background: rgba(201, 169, 106, 0.18);
  border: 1px solid rgba(201, 169, 106, 0.35);
  color: var(--gold-300);
}

/* Connector down to the resolution */
.funnel__drop { position: relative; height: 46px; display: grid; place-items: center; }
.funnel__drop span { width: 2px; height: 100%; background: linear-gradient(var(--navy-600), var(--teal-400)); position: relative; }
.funnel__drop span::after {
  content: "";
  position: absolute; left: 50%; bottom: -1px;
  width: 10px; height: 10px;
  border-right: 2px solid var(--teal-400);
  border-bottom: 2px solid var(--teal-400);
  transform: translateX(-50%) rotate(45deg);
}

/* Stage 3 - expanded, resolved outcome */
.funnel__outcome {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 26px clamp(34px, 6vw, 60px);
  border-radius: var(--radius);
  background: linear-gradient(135deg, var(--teal-400), var(--teal-300));
  color: var(--navy-950);
  box-shadow: var(--shadow-glow);
}
.outcome__check { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(5, 14, 24, 0.14); margin-bottom: 2px; }
.outcome__check svg { width: 22px; height: 22px; fill: none; stroke: var(--navy-950); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.outcome__title { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.4rem, 2.8vw, 1.9rem); }
.outcome__sub { font-weight: 600; font-size: 0.95rem; color: rgba(5, 14, 24, 0.72); }

/* Core pillars */
.marketplace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); gap: clamp(45px, 8vw, 100px); align-items: center; }.marketplace__copy .section__title { max-width: 700px; }.marketplace__copy > p { max-width: 720px; color: var(--ink-soft); }.marketplace__copy .lead { color: var(--ink); font-size: 1.08rem; }.marketplace__panel { position: relative; padding: 36px; border-radius: var(--radius-lg); background: linear-gradient(145deg, var(--navy-800), var(--navy-950)); color: #fff; box-shadow: var(--shadow-md); }.marketplace__place { display: block; margin-bottom: 12px; color: var(--teal-300); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.marketplace__panel > strong { display: block; max-width: 320px; font-family: var(--font-display); font-size: 1.8rem; line-height: 1.15; }.marketplace__panel ul { display: grid; gap: 10px; margin: 24px 0; }.marketplace__panel li { position: relative; padding-left: 20px; color: rgba(255,255,255,.72); font-size: .88rem; }.marketplace__panel li::before { content: ""; position: absolute; top: .55em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--teal-400); }
.pillars-section { background: #f3f6f8; }.pillars-section .section__title { max-width: 760px; }
.pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 40px;
}
.pillar {
  display: flex;
  flex-direction: column;
  padding: 30px 28px;
  border-radius: var(--radius);
  background: var(--paper-2);
  border: 1px solid var(--line-light);
}
.pillars-section .pillar { position: relative; min-height: 100%; padding: 0 28px 28px; overflow: hidden; border-radius: var(--radius-lg); box-shadow: 0 16px 35px -32px rgba(5,14,24,.8); }.pillars-section .pillar::before { content: ""; display: block; height: 5px; margin: 0 -28px 26px; background: linear-gradient(90deg, var(--teal-400), var(--navy-600)); }.pillars-section .pillar__num { position: absolute; top: 18px; right: 20px; width: auto; height: auto; margin: 0; background: transparent; color: rgba(11,31,51,.12); font-size: 3.2rem; }.pillars-section .pillar__title { max-width: 85%; min-height: 3.1em; font-family: var(--font-display); font-size: 1.25rem; }.pillars-section .pillar__desc { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 6; font-size: .88rem; line-height: 1.55; }.pillar__topics { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; padding-top: 22px; }.pillar__topics li { padding: 5px 9px; border-radius: 999px; background: rgba(45,212,191,.1); color: var(--navy-700); font-size: .68rem; font-weight: 700; }
.pillar__num {
  display: grid;
  place-items: center;
  width: 44px; height: 44px;
  margin-bottom: 18px;
  border-radius: 12px;
  background: var(--navy-800);
  color: var(--teal-300);
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 600;
}
.pillar__title { font-size: 1.18rem; font-weight: 600; line-height: 1.25; margin-bottom: 12px; }
.pillar__desc { font-size: 0.95rem; color: var(--ink-soft); margin: 0; }

/* ------------------------------------------------------------------ */
/* 13. Key metrics & audience focus                                    */
/* ------------------------------------------------------------------ */
.section__eyebrow--light { color: var(--teal-300); }
.section__title--light { color: #fff; }

/* Dark "by the numbers" band */
.stat-band {
  background: radial-gradient(120% 130% at 15% 0%, var(--navy-800), var(--navy-950));
  color: #fff;
}
.stat-band .section__title { color: #fff; }
.metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 40px;
  border: 1px solid var(--line-dark);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--line-dark);
}
.metric {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 34px 28px;
  background: rgba(255, 255, 255, 0.02);
}
.metric__num {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2.3rem, 4.6vw, 3.3rem);
  line-height: 1;
  color: var(--teal-300);
}
.metric__label { font-weight: 700; font-size: 1.02rem; color: #fff; }
.metric__desc { font-size: 0.9rem; line-height: 1.5; color: rgba(255, 255, 255, 0.62); }

/* Who will you meet - donut + job functions */
.audience-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(32px, 5vw, 60px);
  margin-top: 44px;
  align-items: center;
}
.audience-chart { display: flex; flex-direction: column; align-items: center; gap: 26px; }
.donut { position: relative; width: min(260px, 72vw); }
.donut__svg { width: 100%; height: auto; }
.donut__track { fill: none; stroke: var(--line-light); stroke-width: 4.5; }
.donut__seg {
  fill: none;
  stroke-width: 4.5;
  stroke-linecap: butt;
  transition: stroke-dasharray 0.9s var(--ease);
}
.donut__center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: none;
}
.donut__center strong {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 2rem;
  line-height: 1;
  color: var(--ink);
}
.donut__center span { font-size: 0.76rem; color: var(--muted); max-width: 110px; margin-top: 5px; }

.donut-legend { display: flex; flex-direction: column; gap: 12px; width: 100%; max-width: 340px; }
.donut-legend li { display: flex; align-items: baseline; gap: 10px; font-size: 0.92rem; color: var(--ink-soft); }
.donut-legend strong { color: var(--ink); font-weight: 700; }
.dot { width: 12px; height: 12px; border-radius: 50%; flex: none; position: relative; top: 2px; }
.dot--teal { background: var(--teal-400); }
.dot--navy { background: var(--navy-600); }
.dot--gold { background: var(--gold-400); }

.audience-titles__head {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.45rem;
  margin-bottom: 10px;
}
.audience-titles__intro { color: var(--ink-soft); margin: 0 0 22px; }
.check-list { display: flex; flex-direction: column; gap: 14px; }
.check-list.check-list--2col { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 28px; }
@media (max-width: 560px) { .check-list.check-list--2col { grid-template-columns: 1fr; } }
.check { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; }
.check__icon {
  width: 32px; height: 32px;
  padding: 6px;
  border-radius: 9px;
  background: rgba(45, 212, 191, 0.14);
  fill: none;
  stroke: var(--navy-700);
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.check span { font-weight: 600; color: var(--ink); padding-top: 4px; }

/* Networking ecosystem banner */
.net-banner {
  display: flex;
  gap: clamp(18px, 3vw, 32px);
  align-items: flex-start;
  padding: clamp(28px, 4vw, 46px);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, rgba(45, 212, 191, 0.16), rgba(23, 65, 95, 0.08));
  border: 1px solid rgba(45, 212, 191, 0.32);
}
.net-banner__icon { font-size: 2.6rem; line-height: 1; flex: none; }
.net-banner__eyebrow {
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--navy-600);
  margin: 0 0 8px;
}
.net-banner__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.5rem, 3vw, 2.05rem);
  margin-bottom: 12px;
}
.net-banner__text { color: var(--ink-soft); max-width: 660px; margin: 0 0 22px; }

/* ------------------------------------------------------------------ */
/* 14. Registration / pricing                                          */
/* ------------------------------------------------------------------ */
.reg-deadline {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 26px 0 0;
  padding: 9px 16px;
  border: 1px solid var(--line-dark);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.82);
}
.reg-deadline svg { width: 18px; height: 18px; fill: none; stroke: var(--teal-300); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.reg-deadline strong { color: #fff; }

.early-bird-banner { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; width: 100%; margin: -14px 0 22px; padding: 16px 18px; overflow: hidden; border: 1px solid #f3d38e; border-radius: var(--radius); background: linear-gradient(110deg, #fff7df 0%, #f6d88f 100%); color: var(--navy-950); box-shadow: 0 15px 38px -16px rgba(201,169,106,.85); transition: transform .2s var(--ease), box-shadow .2s var(--ease); }
.early-bird-banner::after { content: ""; position: absolute; top: -42px; right: 80px; width: 130px; height: 130px; border-radius: 50%; background: rgba(255,255,255,.28); pointer-events: none; }
.early-bird-banner:hover { transform: translateY(-3px); box-shadow: 0 20px 44px -15px rgba(201,169,106,1); }
.early-bird-banner__flag { position: relative; z-index: 1; padding: 7px 11px; border-radius: 999px; background: var(--navy-900); color: var(--gold-300); font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.early-bird-banner__copy { position: relative; z-index: 1; display: flex; flex-direction: column; min-width: 0; }.early-bird-banner__copy strong { font-size: 1rem; }.early-bird-banner__copy small { margin-top: 2px; color: rgba(5,14,24,.65); font-size: .77rem; }.early-bird-banner__action { position: relative; z-index: 1; padding: 8px 11px; border-radius: 999px; background: rgba(5,14,24,.09); color: var(--navy-900); font-size: .8rem; font-weight: 800; white-space: nowrap; }

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px;
  align-items: start;
}
.price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 36px 32px;
  border-radius: var(--radius-lg);
  background: var(--paper-2);
  border: 1px solid var(--line-light);
  box-shadow: var(--shadow-sm);
}
.price-card--primary {
  border-color: var(--teal-400);
  box-shadow: 0 0 0 1px var(--teal-400), var(--shadow-md);
  background: linear-gradient(180deg, rgba(45, 212, 191, 0.07), var(--paper-2) 220px);
}
.price-card__badge {
  position: absolute;
  top: -13px;
  left: 32px;
  padding: 6px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--teal-400), var(--teal-300));
  color: var(--navy-950);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: var(--shadow-glow);
}
.price-card__eyebrow {
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 6px;
}
.price-card__name { font-family: var(--font-display); font-weight: 600; font-size: 1.55rem; line-height: 1.15; margin-bottom: 10px; }
.price-card__for { font-size: 0.92rem; line-height: 1.55; color: var(--ink-soft); margin: 0 0 24px; }

.price-card__pricing {
  padding: 22px 0;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
  margin-bottom: 24px;
}
.price-card__rate-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--navy-600);
}
.price-card__amount {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 2.9rem;
  line-height: 1.05;
  color: var(--ink);
  margin: 6px 0 0;
}
.price-card__cur { font-family: var(--font-body); font-size: 1rem; font-weight: 700; color: var(--muted); }
.price-card__ebtag {
  display: inline-block;
  margin-top: 12px;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(45, 212, 191, 0.16);
  color: #0c6b60;
  font-size: 0.76rem;
  font-weight: 700;
}
.price-card__standard { margin: 14px 0 0; font-size: 0.9rem; color: var(--muted); }
.price-card__standard strong { color: var(--ink-soft); font-weight: 700; }

.price-card__perks-label {
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 16px;
}
.perks { display: flex; flex-direction: column; gap: 13px; margin-bottom: 28px; }
.perk { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; font-size: 0.94rem; line-height: 1.5; color: var(--ink-soft); }
.perk__i { width: 22px; height: 22px; flex: none; border-radius: 6px; background: rgba(45, 212, 191, 0.16); display: grid; place-items: center; margin-top: 1px; }
.perk__i svg { width: 14px; height: 14px; fill: none; stroke: var(--navy-700); stroke-width: 2.8; stroke-linecap: round; stroke-linejoin: round; }

.price-card__cta { margin-top: auto; width: 100%; }

.reg-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  justify-content: center;
  margin-top: 34px;
}
.reg-notes li { display: inline-flex; align-items: center; gap: 8px; font-size: 0.9rem; color: var(--ink-soft); }
.reg-notes svg { width: 16px; height: 16px; fill: none; stroke: var(--teal-400); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }

.registration-form-wrap { max-width: 900px; margin-inline: auto; }
.registration-form-section[hidden] { display: none; }
.registration-form-section { scroll-margin-top: 72px; }
.registration-loader { min-height: 180px; display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--ink-soft); font-weight: 700; }
.registration-loader__spinner { width: 28px; height: 28px; border: 3px solid rgba(11, 31, 51, 0.15); border-top-color: var(--teal-400); border-radius: 50%; animation: registration-spin 0.7s linear infinite; }
.registration-form-section.is-loading .registration-form-wrap { display: none; }
.registration-form-section:not(.is-loading) .registration-loader { display: none; }
@keyframes registration-spin { to { transform: rotate(360deg); } }
.registration-form__intro { max-width: 660px; margin-bottom: 30px; }
.registration-form__intro h2 { font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 12px; }
.registration-form__intro p:last-child { color: var(--ink-soft); margin: 0; }
.form-back-link { display: inline-block; margin-bottom: 18px; color: var(--teal-500, #0c6b60); font-size: 0.9rem; font-weight: 700; }
.registration-progress { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 560px; margin: 0 auto 30px; padding: 0; list-style: none; }
.registration-progress li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 7px; color: var(--muted); font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; }
.registration-progress li::before { content: ""; position: absolute; z-index: 0; top: 15px; right: 50%; width: 100%; height: 2px; background: var(--line-light); }
.registration-progress li:first-child::before { display: none; }
.registration-progress span { position: relative; z-index: 1; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #fff; border: 2px solid var(--line-light); }
.registration-progress .is-complete span, .registration-progress .is-current span { color: var(--navy-900); border-color: var(--teal-400); background: var(--teal-300); }
.registration-progress .is-complete::before, .registration-progress .is-current::before { background: var(--teal-400); }
.ticket-summary { display: grid; grid-template-columns: 1.2fr 1fr; gap: 20px 32px; align-items: center; margin-bottom: 22px; padding: 24px 28px; border-radius: var(--radius); background: var(--navy-900); color: #fff; }
.ticket-summary__label { margin: 0 0 3px; color: var(--teal-300); font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; }
.ticket-summary h2 { font-family: var(--font-display); font-size: 1.45rem; }
.ticket-summary dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0; }
.ticket-summary dl div { min-width: 0; }.ticket-summary dt { color: rgba(255,255,255,.6); font-size: .7rem; text-transform: uppercase; }.ticket-summary dd { margin: 3px 0 0; font-size: .82rem; font-weight: 700; }
.ticket-summary > p { grid-column: 1 / -1; margin: 0; color: rgba(255,255,255,.65); font-size: .78rem; }
.application-notice { margin-bottom: 30px; padding: 16px 18px; border-left: 3px solid var(--gold-400); background: rgba(201,169,106,.1); color: var(--ink-soft); font-size: .9rem; }
.conditional-field { margin-top: 20px; }
.paypal-payment-note { display: flex; flex-direction: column; gap: 3px; margin-top: 22px; padding: 16px 18px; border: 1px solid #c7d2fe; border-radius: var(--radius-sm); background: #f5f7ff; color: var(--ink-soft); font-size: .9rem; }.paypal-payment-note strong { color: #003087; }
.paypal-trust { margin: 24px 0 18px; padding: 18px 20px; border: 1px solid #d7dde8; border-radius: var(--radius); background: #f8faff; }
.payment-summary { margin: 26px 0 18px; padding: 22px 24px; border: 2px solid var(--navy-800); border-radius: var(--radius); background: #fff; }
.payment-summary__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--line-light); }.payment-summary__heading h2 { font-family: var(--font-display); font-size: 1.35rem; }.payment-summary__heading span { color: var(--muted); font-size: .75rem; font-weight: 800; letter-spacing: .08em; }
.payment-summary dl { margin: 0; }.payment-summary dl div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--line-light); }.payment-summary dt { color: var(--ink-soft); }.payment-summary dd { margin: 0; text-align: right; font-weight: 700; }.payment-summary__total { align-items: baseline; border-bottom: 0 !important; padding-bottom: 4px !important; }.payment-summary__total dt { color: var(--ink); font-weight: 800; }.payment-summary__total dd { color: var(--navy-800); font-family: var(--font-display); font-size: 1.8rem; }.payment-summary > p { margin: 8px 0 0; color: var(--muted); font-size: .78rem; }
.paypal-trust__title { display: flex; align-items: center; gap: 10px; color: #003087; }
.paypal-wordmark { color: #003087; font-family: Arial, sans-serif; font-size: 1.15rem; font-style: italic; font-weight: 900; letter-spacing: -.05em; }
.paypal-mark { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 7px; background: linear-gradient(135deg, #003087 0 50%, #009cde 50%); color: #fff; font-family: Arial, sans-serif; font-size: 1.25rem; font-style: italic; font-weight: 900; line-height: 1; box-shadow: 0 2px 5px rgba(0,48,135,.18); }
.paypal-mark--button { width: 25px; height: 25px; border-radius: 6px; font-size: 1rem; }
.paypal-cards { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 10px; }
.card-brand { display: inline-flex; align-items: center; justify-content: center; min-width: 70px; height: 42px; padding: 7px 10px; border: 1px solid #d7dde8; border-radius: 6px; background: #fff; }
.card-brand img { display: block; width: auto; max-width: 52px; height: 24px; object-fit: contain; }
.paypal-trust p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.paypal-button { background: #ffc439; border-color: #ffc439; color: #111; }.paypal-button:hover { background: #f4b728; border-color: #f4b728; }
.registration-review { padding: clamp(24px, 5vw, 42px); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-md); scroll-margin-top: 90px; }
.registration-review h2 { font-family: var(--font-display); font-size: 2rem; margin-bottom: 22px; }.review-list { margin: 0; }.review-list div { display: grid; grid-template-columns: minmax(150px, .7fr) 1.3fr; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--line-light); }.review-list dt { color: var(--muted); font-size: .82rem; font-weight: 700; }.review-list dd { margin: 0; overflow-wrap: anywhere; }.review-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.registration-help { margin-top: 24px; padding: 22px 26px; border: 1px solid var(--line-light); border-radius: var(--radius); background: var(--paper-2); }.registration-help h2 { font-family: var(--font-display); font-size: 1.25rem; }.registration-help p { margin: 7px 0 0; color: var(--ink-soft); }.registration-help a { color: var(--teal-500, #0c6b60); font-weight: 700; text-decoration: underline; }
.registration-form { padding: clamp(24px, 5vw, 42px); background: var(--paper-2); border: 1px solid var(--line-light); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.registration-form fieldset { min-width: 0; margin: 0 0 30px; padding: 0 0 30px; border: 0; border-bottom: 1px solid var(--line-light); }
.registration-form legend { width: 100%; margin-bottom: 18px; font-family: var(--font-display); font-size: 1.3rem; font-weight: 600; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.form-optional { color: var(--muted); font-size: .76rem; font-weight: 500; }
.registration-form .form-subgroup { margin: 0 0 24px; padding: 0; border: 0; }.registration-form .form-subgroup legend { margin-bottom: 14px; font-family: var(--font-body); font-size: .9rem; font-weight: 700; }.form-check-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 18px; }.form-check-grid label { display: flex; align-items: flex-start; gap: 9px; padding: 11px 12px; border: 1px solid var(--line-light); border-radius: var(--radius-sm); background: var(--paper); color: var(--ink-soft); font-size: .84rem; cursor: pointer; }.form-check-grid input { flex: 0 0 auto; margin-top: 2px; accent-color: var(--teal-500,#0c6b60); }
.registration-includes { margin: 28px 0 20px; padding: 24px; border: 1px solid rgba(27,176,160,.28); border-radius: var(--radius); background: linear-gradient(145deg,#f4fbfa,#fff); }.registration-includes h2 { margin-top: 3px; font-family: var(--font-display); font-size: 1.45rem; }.registration-includes ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 18px; margin-top: 18px; }.registration-includes li { position: relative; padding-left: 23px; color: var(--ink-soft); font-size: .84rem; font-weight: 650; }.registration-includes li::before { content: ""; position: absolute; top: 3px; left: 0; width: 15px; height: 15px; border-radius: 50%; background: var(--teal-400); }.registration-includes li::after { content: ""; position: absolute; top: 6px; left: 4px; width: 7px; height: 4px; border-bottom: 2px solid var(--navy-900); border-left: 2px solid var(--navy-900); transform: rotate(-45deg); }
.coupon-entry { display: grid; grid-template-columns: 1fr minmax(280px,.75fr); gap: 20px; align-items: end; margin: 28px 0 20px; padding: 22px 24px; border: 1px solid var(--line-light); border-radius: var(--radius); background: var(--paper); }.coupon-entry h2 { margin: 2px 0 4px; font-family: var(--font-display); font-size: 1.3rem; }.coupon-entry p { margin: 0; color: var(--muted); font-size: .78rem; }.coupon-entry__controls { display: flex; gap: 8px; }.coupon-entry__controls input { min-width: 0; flex: 1; padding: 11px 12px; border: 1px solid var(--line-light); border-radius: var(--radius-sm); text-transform: uppercase; }.coupon-entry__status { grid-column: 1/-1; font-weight: 700; }.coupon-entry__status.is-success { color: var(--teal-500,#0c6b60); }.coupon-entry__status.is-error { color: #b53d4a; }
.form-field--full { grid-column: 1 / -1; }
.form-field { display: flex; flex-direction: column; gap: 7px; }
.form-field label { font-size: 0.88rem; font-weight: 700; color: var(--ink); }
.form-field label span, .form-check label span { color: #b42318; }
.form-field input, .form-field select, .form-field textarea { width: 100%; padding: 12px 14px; border: 1px solid rgba(11, 31, 51, 0.22); border-radius: var(--radius-sm); background: #fff; color: var(--ink); font: inherit; font-size: 0.95rem; transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease); }
.form-field textarea { resize: vertical; min-height: 110px; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { outline: 0; border-color: var(--teal-400); box-shadow: 0 0 0 3px rgba(45, 212, 191, 0.18); }
.form-check { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; margin: 0 0 14px; }
.form-check input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--navy-700); }
.form-check label { color: var(--ink-soft); font-size: 0.9rem; line-height: 1.55; }
.form-check--spaced { margin-top: 22px; }
.form-check a { color: var(--teal-500, #0c6b60); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.registration-form__submit { margin-top: 16px; }
.registration-form__note, .registration-form__status { color: var(--muted); font-size: 0.82rem; margin: 12px 0 0; }
.registration-form__status { color: var(--teal-500, #0c6b60); font-weight: 700; }

.reg-info { max-width: 1000px; margin-inline: auto; }
.reg-info__heading { max-width: 680px; margin-bottom: 30px; }
.reg-info__heading h2 { font-family: var(--font-display); font-weight: 600; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.12; margin-bottom: 12px; }
.reg-info__heading p:last-child { color: var(--ink-soft); margin: 0; }
.reg-info__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.reg-info__card { padding: 28px; border: 1px solid var(--line-light); border-radius: var(--radius-lg); background: var(--paper-2); box-shadow: var(--shadow-sm); }
.reg-info__card h3 { font-family: var(--font-display); font-weight: 600; font-size: 1.35rem; margin-bottom: 12px; }
.reg-info__card p { color: var(--ink-soft); font-size: 0.94rem; line-height: 1.65; margin: 0 0 12px; }
.reg-info__card a, .reg-info__consent a { color: var(--teal-500, #0c6b60); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.reg-info__consent { margin: 22px 0 0; padding: 18px 20px; border-left: 3px solid var(--teal-400); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: rgba(45, 212, 191, 0.08); color: var(--ink-soft); font-size: 0.92rem; line-height: 1.6; }

/* ------------------------------------------------------------------ */
/* 15. Legal pages (privacy / terms)                                   */
/* ------------------------------------------------------------------ */
.legal { max-width: 820px; }
.legal__intro { font-size: 1.08rem; line-height: 1.65; color: var(--ink-soft); margin: 0 0 32px; }

.legal__toc {
  padding: 24px 26px;
  margin: 0 0 44px;
  border: 1px solid var(--line-light);
  border-radius: var(--radius);
  background: var(--paper-2);
}
.legal__toc h2 {
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 14px;
}
.legal__toc ol {
  list-style: none;
  margin: 0;
  padding: 0;
  columns: 2;
  column-gap: 32px;
}
.legal__toc li { margin-bottom: 9px; break-inside: avoid; counter-increment: toc; }
.legal__toc a {
  display: flex;
  gap: 10px;
  font-size: 0.92rem;
  color: var(--ink-soft);
  transition: color 0.2s var(--ease);
}
.legal__toc a::before { content: counter(toc) "."; color: var(--teal-500, #0c6b60); font-weight: 700; font-variant-numeric: tabular-nums; }
.legal__toc a:hover { color: var(--teal-500, #0c6b60); }
.legal__toc ol { counter-reset: toc; }

.legal__section { padding-top: 8px; scroll-margin-top: 88px; }
.legal__section + .legal__section { margin-top: 34px; }
.legal__section h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.2;
  margin-bottom: 12px;
  display: flex;
  gap: 12px;
  align-items: baseline;
}
.legal__section h2 .legal__num { color: var(--teal-500, #0c6b60); font-size: 1.05rem; font-weight: 700; }
.legal__section h3 { font-size: 1.02rem; font-weight: 700; color: var(--ink); margin: 20px 0 8px; }
.legal__section p { color: var(--ink-soft); margin: 0 0 14px; }
.legal__section ul { list-style: disc; padding-left: 1.3em; margin: 0 0 14px; }
.legal__section li { color: var(--ink-soft); margin-bottom: 8px; }
.legal__section a { color: var(--teal-500, #0c6b60); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.legal__section strong { color: var(--ink); }

.legal__contact {
  margin-top: 40px;
  padding: 26px 28px;
  border-radius: var(--radius);
  background: var(--navy-900);
  color: rgba(255, 255, 255, 0.8);
}
.legal__contact h2 { font-family: var(--font-display); font-weight: 600; font-size: 1.25rem; color: #fff; margin-bottom: 10px; }
.legal__contact p { margin: 0 0 6px; }
.legal__contact a { color: var(--teal-300); font-weight: 600; }
.empty-state { max-width: 760px; padding: clamp(30px, 6vw, 64px); border-left: 3px solid var(--teal-400); background: var(--paper-2); box-shadow: var(--shadow-sm); }.empty-state h2 { margin-bottom: 12px; font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem); }.empty-state > p:not(.section__eyebrow) { max-width: 620px; margin: 0 0 24px; color: var(--ink-soft); }
.modal[hidden] { display: none; }.modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; }.modal__backdrop { position: absolute; inset: 0; background: rgba(5,14,24,.78); backdrop-filter: blur(6px); }.modal__dialog { position: relative; width: min(100%, 820px); max-height: min(90vh, 900px); overflow-y: auto; padding: clamp(26px, 5vw, 44px); border-radius: var(--radius-lg); background: var(--paper-2); box-shadow: 0 30px 80px rgba(0,0,0,.4); }.modal__dialog h2 { margin-bottom: 10px; font-family: var(--font-display); font-size: clamp(2rem, 4vw, 2.8rem); }.modal__intro { margin: 0 0 28px; color: var(--ink-soft); }.modal__close { position: absolute; top: 16px; right: 18px; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line-light); border-radius: 50%; background: var(--paper); color: var(--ink); font-size: 1.7rem; line-height: 1; cursor: pointer; }.modal__dialog .form-grid { margin-bottom: 24px; }.modal-open { overflow: hidden; }

.modal__dialog .form-field small { color: var(--muted); font-size: .74rem; line-height: 1.4; }
.modal__dialog input[type="file"] { padding: 9px; background: var(--paper); }
.modal__dialog input[type="file"]::file-selector-button { margin-right: 10px; padding: 8px 11px; border: 0; border-radius: 6px; background: var(--navy-800); color: #fff; font: inherit; font-size: .78rem; font-weight: 700; cursor: pointer; }
.speaker-status { display: flex; align-items: center; gap: 9px; width: fit-content; margin: 22px 0; color: rgba(255,255,255,.72); font-size: .82rem; font-weight: 700; }.speaker-status span { width: 9px; height: 9px; border-radius: 50%; background: var(--gold-400); box-shadow: 0 0 0 5px rgba(201,169,106,.15); }
.faculty-preview__intro { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.7fr); gap: clamp(36px,7vw,90px); align-items: end; }.faculty-preview__intro .section__title { margin: 0; }.faculty-preview__intro > p { margin: 0; color: var(--ink-soft); }
.faculty-placeholder { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; margin-top: 42px; padding: 28px 32px; border: 1px solid var(--line-light); border-radius: var(--radius-lg); background: linear-gradient(135deg,#fff,#f2f6f7); box-shadow: var(--shadow-sm); }.faculty-placeholder__profiles { display: flex; padding-left: 16px; }.faculty-placeholder__profiles span { display: grid; place-items: center; width: 54px; height: 54px; margin-left: -16px; border: 3px solid #fff; border-radius: 50%; background: var(--navy-800); color: var(--teal-300); font-size: .68rem; font-weight: 800; }.faculty-placeholder strong { font-family: var(--font-display); font-size: 1.25rem; }.faculty-placeholder p { margin: 5px 0 0; color: var(--ink-soft); font-size: .86rem; }.faculty-placeholder__tag { padding: 7px 11px; border-radius: 999px; background: rgba(45,212,191,.12); color: var(--teal-500,#0c6b60); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.speaker-expertise__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 38px; }.speaker-expertise__grid article { padding: 26px 22px; border-radius: var(--radius); background: #fff; border: 1px solid var(--line-light); }.speaker-expertise__grid article > span { color: var(--teal-500,#0c6b60); font-size: .68rem; font-weight: 800; letter-spacing: .1em; }.speaker-expertise__grid h3 { min-height: 2.4em; margin: 18px 0 9px; font-family: var(--font-display); font-size: 1.12rem; }.speaker-expertise__grid p { margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.55; }
.speaker-invite__inner { display: grid; grid-template-columns: minmax(0,1fr) 380px; gap: clamp(44px,8vw,100px); align-items: center; }.speaker-invite h2 { margin-bottom: 14px; font-family: var(--font-display); font-size: clamp(2rem,4vw,3rem); }.speaker-invite__inner > div:first-child > p:last-child { color: var(--ink-soft); }.speaker-invite__criteria { padding: 30px; border-radius: var(--radius-lg); background: var(--navy-900); color: #fff; }.speaker-invite__criteria > strong { font-family: var(--font-display); font-size: 1.2rem; }.speaker-invite__criteria ul { display: grid; gap: 9px; margin: 20px 0 24px; }.speaker-invite__criteria li { position: relative; padding-left: 20px; color: rgba(255,255,255,.7); font-size: .84rem; }.speaker-invite__criteria li::before { content: "✓"; position: absolute; left: 0; color: var(--teal-300); font-weight: 800; }
.prospectus-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }.prospectus-overview__grid { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: clamp(40px,8vw,100px); align-items: center; }.prospectus-overview__grid > div > p { color: var(--ink-soft); }.prospectus-value { padding: 34px; border-radius: var(--radius-lg); background: var(--navy-900); color: #fff; box-shadow: var(--shadow-md); }.prospectus-value > span { color: var(--teal-300); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.prospectus-value > strong { display: block; margin: 8px 0; font-family: var(--font-display); font-size: 4.5rem; line-height: 1; }.prospectus-value > p { color: rgba(255,255,255,.65); font-size: .88rem; }.prospectus-value dl { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 24px 0 0; padding-top: 22px; border-top: 1px solid var(--line-dark); }.prospectus-value dt { color: var(--gold-300); font-size: 1.4rem; font-weight: 800; }.prospectus-value dd { margin: 2px 0 0; color: rgba(255,255,255,.62); font-size: .72rem; }
.buyer-profile { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 38px; }.buyer-profile article { padding: 28px; border-radius: var(--radius-lg); background: #fff; border: 1px solid var(--line-light); }.buyer-profile strong { color: var(--teal-500,#0c6b60); font-family: var(--font-display); font-size: 2.8rem; }.buyer-profile h3 { margin: 8px 0; font-size: 1.05rem; }.buyer-profile p { margin: 0; color: var(--ink-soft); font-size: .86rem; }
.sponsor-tiers { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 38px; align-items: stretch; }.sponsor-tier { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line-light); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }.sponsor-tier__top { padding: 28px; background: #edf2f4; }.sponsor-tier--lead .sponsor-tier__top { background: var(--navy-900); color: #fff; }.sponsor-tier--platinum .sponsor-tier__top { background: #dfe7ec; }.sponsor-tier__top > span { color: var(--teal-500,#0c6b60); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.sponsor-tier--lead .sponsor-tier__top > span { color: var(--teal-300); }.sponsor-tier__top h3 { min-height: 2.4em; margin: 10px 0 18px; font-family: var(--font-display); font-size: 1.35rem; }.sponsor-tier__top strong { font-family: var(--font-display); font-size: 2rem; }.sponsor-tier__top small { font-family: var(--font-body); font-size: .7rem; }.sponsor-tier > ul { display: grid; gap: 11px; padding: 26px 28px; }.sponsor-tier > ul li { position: relative; padding-left: 20px; color: var(--ink-soft); font-size: .84rem; }.sponsor-tier > ul li::before { content: "✓"; position: absolute; left: 0; color: var(--teal-500,#0c6b60); font-weight: 800; }.sponsor-tier > .btn { margin: auto 28px 28px; }
.sponsor-addons { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 38px; }.sponsor-addons article { padding: 28px; border-top: 4px solid var(--gold-400); border-radius: var(--radius); background: #fff; }.sponsor-addons article > span { padding: 5px 9px; border-radius: 999px; background: rgba(201,169,106,.16); color: #806323; font-size: .66rem; font-weight: 800; text-transform: uppercase; }.sponsor-addons article > strong { float: right; color: var(--navy-700); }.sponsor-addons h3 { clear: both; padding-top: 24px; font-family: var(--font-display); font-size: 1.25rem; }.sponsor-addons p { margin-bottom: 0; color: var(--ink-soft); font-size: .86rem; }
.venue-marketplace { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: clamp(40px,8vw,100px); align-items: center; }.venue-marketplace > div > p { color: var(--ink-soft); }.venue-marketplace aside { padding: 30px; border-radius: var(--radius-lg); background: #eef3f5; }.venue-marketplace aside > span { color: var(--teal-500,#0c6b60); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.venue-marketplace aside ul { display: grid; gap: 12px; margin-top: 18px; }.venue-marketplace aside li { padding-bottom: 12px; border-bottom: 1px solid var(--line-light); font-weight: 700; font-size: .88rem; }
.prospectus-cta { background: var(--navy-950); color: #fff; }.prospectus-cta__inner { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }.prospectus-cta h2 { margin-bottom: 12px; font-family: var(--font-display); font-size: clamp(2rem,4vw,3rem); }.prospectus-cta p { max-width: 760px; color: rgba(255,255,255,.68); }.prospectus-cta__inner > div:last-child { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }.prospectus-cta__inner > div:last-child > a:not(.btn) { color: var(--teal-300); font-weight: 700; }.prospectus-cta__inner > div:last-child > span { color: rgba(255,255,255,.55); font-size: .78rem; }

/* ===== Sponsor page 2027 additions ===== */
.prospectus-hero__meta { margin-top: 14px; color: rgba(255,255,255,.62); font-size: .9rem; font-weight: 600; }

/* Event metrics card (replaces the $3M figure) */
.spo-metrics { padding: 34px; border-radius: var(--radius-lg); background: var(--navy-900); color: #fff; box-shadow: var(--shadow-md); }
.spo-metrics__label { color: var(--teal-300); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.spo-metrics dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 20px 0 0; background: var(--line-dark); border: 1px solid var(--line-dark); border-radius: var(--radius); overflow: hidden; }
.spo-metrics dl > div { padding: 22px 20px; background: var(--navy-900); }
.spo-metrics dt { font-family: var(--font-display); font-size: 2.4rem; line-height: 1; color: #fff; }
.spo-metrics dd { margin: 8px 0 0; color: var(--gold-300); font-size: .76rem; font-weight: 700; letter-spacing: .02em; }

/* Why partner - icon cards */
.spo-why { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin-top: 40px; }
.spo-why article { padding: 28px; border: 1px solid var(--line-light); border-radius: var(--radius); background: var(--paper-2); transition: transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease); }
.spo-why article:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: rgba(45,212,191,.5); }
.spo-why__icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: rgba(45,212,191,.12); margin-bottom: 18px; }
.spo-why__icon svg { width: 24px; height: 24px; fill: none; stroke: var(--navy-700); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.spo-why h3 { font-family: var(--font-display); font-weight: 600; font-size: 1.12rem; margin-bottom: 8px; }
.spo-why article p { margin: 0; color: var(--ink-soft); font-size: .86rem; line-height: 1.55; }

/* Business partnering band (dark) */
.spo-partnering { background: radial-gradient(120% 130% at 12% 0%, var(--navy-800), var(--navy-950)); color: #fff; }
.spo-partnering .section__title { color: #fff; margin-bottom: 14px; }
.spo-partnering__lead { max-width: 730px; color: rgba(255,255,255,.72); font-size: 1.08rem; line-height: 1.6; margin: 0 0 34px; }
.spo-partnering__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5,1fr); gap: 16px; }
.spo-partnering__grid li { padding: 24px 20px; border: 1px solid var(--line-dark); border-radius: var(--radius); background: rgba(255,255,255,.03); }
.spo-pi { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; background: rgba(45,212,191,.14); margin-bottom: 16px; }
.spo-pi svg { width: 22px; height: 22px; fill: none; stroke: var(--teal-300); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.spo-partnering__grid strong { display: block; color: #fff; font-size: .95rem; font-family: var(--font-display); font-weight: 600; margin-bottom: 5px; }
.spo-partnering__grid p { margin: 0; color: rgba(255,255,255,.6); font-size: .78rem; line-height: 1.45; }
.spo-partnering__note { display: flex; align-items: center; gap: 12px; margin: 28px 0 0; color: rgba(255,255,255,.72); font-size: .92rem; font-weight: 500; }
.spo-partnering__note svg { flex: none; width: 20px; height: 20px; fill: none; stroke: var(--teal-300); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* Sponsor categories - chips */
.spo-cats { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin: 34px 0 0; padding: 0; }
.spo-cats li { padding: 12px 18px; border: 1px solid var(--line-light); border-radius: 999px; background: #fff; color: var(--navy-700); font-weight: 700; font-size: .9rem; transition: border-color .2s var(--ease), color .2s var(--ease); }
.spo-cats li:hover { border-color: var(--teal-400); color: #0c6b60; }

/* Deliverables comparison table */
.spo-compare-wrap { margin-top: 38px; overflow-x: auto; border: 1px solid var(--line-light); border-radius: var(--radius-lg); }
.spo-compare { width: 100%; min-width: 640px; border-collapse: collapse; background: #fff; }
.spo-compare th, .spo-compare td { padding: 15px 20px; text-align: left; border-bottom: 1px solid var(--line-light); font-size: .88rem; }
.spo-compare thead th { background: var(--navy-900); color: #fff; font-family: var(--font-display); font-weight: 600; }
.spo-compare tbody th { font-weight: 700; color: var(--ink); }
.spo-compare tbody td { color: var(--ink-soft); }
.spo-compare tbody tr:nth-child(even) { background: var(--paper-2); }
.spo-compare tbody tr:last-child th, .spo-compare tbody tr:last-child td { border-bottom: none; }
.spo-compare .is-yes { color: #0c6b60; font-weight: 700; }
.spo-compare .is-no { color: var(--muted); }

@media (max-width: 1000px) { .spo-why { grid-template-columns: repeat(2,1fr); } .spo-partnering__grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 620px) { .spo-why { grid-template-columns: 1fr; } .spo-partnering__grid { grid-template-columns: 1fr; } }

.sponsors-preview { background: #fff; }
.sponsors-preview__inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.75fr); gap: clamp(40px,8vw,100px); align-items: center; }
.sponsors-preview__copy > p:not(.section__eyebrow) { max-width: 700px; margin: 0 0 24px; color: var(--ink-soft); }
.sponsors-preview__placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 280px; padding: 36px; border: 1px dashed rgba(11,31,51,.22); border-radius: var(--radius-lg); background: linear-gradient(145deg,#f5f8fa,#eef4f4); text-align: center; }
.sponsors-preview__mark { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 18px; border-radius: 50%; background: var(--navy-900); color: var(--teal-300); font-size: 2rem; }
.sponsors-preview__placeholder strong { font-family: var(--font-display); font-size: 1.35rem; }
.sponsors-preview__placeholder span { margin-top: 7px; color: var(--muted); font-size: .84rem; }
.sponsors-preview__expected { padding: 32px 34px; border: 1px solid var(--line-light); border-radius: var(--radius-lg); background: linear-gradient(145deg,#f5f8fa,#eef4f4); box-shadow: var(--shadow-sm); }
.sponsors-preview__label { display: block; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.expected-list { list-style: none; margin: 0; padding: 0; }
.expected-list li { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-top: 1px solid var(--line-light); font-weight: 600; color: var(--ink); }
.expected-list li:first-child { border-top: none; }
.expected-list li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--teal-400); flex: none; }
.payment-process { display: grid; grid-template-columns: 1.2fr repeat(3,1fr); gap: 18px; margin-top: 24px; padding: 24px; border: 1px solid var(--line-light); border-radius: var(--radius); background: #fff; }.payment-process h2 { align-self: center; font-family: var(--font-display); font-size: 1.25rem; }.payment-process > div { display: grid; grid-template-columns: 28px 1fr; gap: 9px; }.payment-process > div > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--navy-900); color: var(--teal-300); font-size: .7rem; font-weight: 800; }.payment-process p { margin: 0; color: var(--ink-soft); font-size: .76rem; }.payment-process p strong { display: block; color: var(--ink); font-size: .8rem; }.payment-process a { color: var(--teal-500,#0c6b60); font-weight: 700; }
.payment-result { min-height: 70vh; background: #eef3f5; }.payment-result__card { max-width: 820px; padding: clamp(30px,6vw,60px); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-md); }.payment-result__icon { display: grid; place-items: center; width: 62px; height: 62px; margin-bottom: 24px; border-radius: 50%; color: #fff; font-size: 1.8rem; font-weight: 800; }.payment-result__icon--success { background: #16856f; }.payment-result__icon--failed { background: #b42318; }.payment-result h1 { font-family: var(--font-display); font-size: clamp(2.2rem,5vw,3.6rem); }.payment-result__lead { color: var(--ink-soft); font-size: 1.02rem; }.payment-reference { display: grid; grid-template-columns: repeat(3,1fr); margin: 30px 0; border: 1px solid var(--line-light); border-radius: var(--radius); overflow: hidden; }.payment-reference div { padding: 18px; }.payment-reference div + div { border-left: 1px solid var(--line-light); }.payment-reference dt { color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }.payment-reference dd { margin: 5px 0 0; overflow-wrap: anywhere; font-weight: 800; }.status-success { color: #16856f; }.status-failed { color: #b42318; }.payment-result__info { margin-top: 26px; }.payment-result__info h2 { font-family: var(--font-display); font-size: 1.25rem; }.payment-result__info ul { list-style: disc; margin: 12px 0 0; padding-left: 20px; color: var(--ink-soft); }.payment-result__info li { margin-bottom: 7px; }.payment-result__info a { color: var(--teal-500,#0c6b60); font-weight: 700; }.payment-result__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.venue-announcement-status { display: flex; align-items: center; gap: 10px; width: fit-content; margin: 24px 0 0; color: rgba(255,255,255,.72); font-size: .84rem; font-weight: 700; }.venue-announcement-status span { width: 9px; height: 9px; border-radius: 50%; background: var(--gold-400); box-shadow: 0 0 0 5px rgba(201,169,106,.15); }.venue-coming-soon { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: clamp(40px,8vw,100px); align-items: center; }.venue-coming-soon > div > p { max-width: 720px; color: var(--ink-soft); }.venue-expectations { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 30px; }.venue-expectations article { padding: 20px; border: 1px solid var(--line-light); border-radius: var(--radius); background: #fff; }.venue-expectations article strong { font-size: .9rem; }.venue-expectations article p { margin: 7px 0 0; color: var(--ink-soft); font-size: .78rem; }.venue-coming-soon aside { padding: 34px; border-radius: var(--radius-lg); background: var(--navy-900); color: #fff; box-shadow: var(--shadow-md); }.venue-coming-soon__label { color: var(--teal-300); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.venue-coming-soon aside > strong { display: block; margin: 10px 0; font-family: var(--font-display); font-size: 2rem; }.venue-coming-soon aside p { color: rgba(255,255,255,.65); font-size: .86rem; }.venue-next-steps { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }.venue-next-steps ul { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.venue-next-steps li { display: flex; align-items: center; gap: 12px; padding: 16px; border-radius: var(--radius-sm); background: #fff; font-size: .84rem; font-weight: 700; }.venue-next-steps li span { color: var(--teal-500,#0c6b60); font-size: .68rem; }

.about-page-grid { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: clamp(40px,8vw,100px); align-items: center; }
.about-page-main > p { color: var(--ink-soft); }.about-page-main .lead { color: var(--ink); font-size: 1.08rem; }.about-page-emphasis { padding: 16px 18px; border-left: 3px solid var(--teal-400); background: rgba(45,212,191,.08); color: var(--ink) !important; font-weight: 700; }
.about-page-aside, .about-page-cta { padding: 34px; border-radius: var(--radius-lg); background: var(--navy-900); color: #fff; box-shadow: var(--shadow-md); }.about-page-aside strong, .about-page-cta strong { display: block; font-family: var(--font-display); font-size: 1.6rem; }.about-page-aside p, .about-page-cta p { color: rgba(255,255,255,.66); }
.about-page-prose { max-width: 980px; }.about-scope { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }.about-scope span { padding: 8px 12px; border: 1px solid var(--line-light); border-radius: 999px; background: #fff; color: var(--navy-700); font-size: .76rem; font-weight: 700; }
.about-page-dark { background: radial-gradient(100% 140% at 10% 0%,var(--navy-800),var(--navy-950)); color: #fff; }.about-page-dark h2 { margin-bottom: 16px; font-family: var(--font-display); font-size: clamp(2.2rem,4vw,3.3rem); }.about-page-dark .about-page-main > p { color: rgba(255,255,255,.68); }.about-page-connections { display: grid; gap: 10px; }.about-page-connections span { padding: 18px; border: 1px solid var(--line-dark); border-radius: var(--radius); background: rgba(255,255,255,.05); color: var(--teal-300); font-weight: 700; text-align: center; }
.about-formats { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 36px; }.about-formats article { padding: 23px; border-left: 3px solid var(--teal-400); background: #f3f7f8; }.about-formats strong { font-family: var(--font-display); font-size: 1.08rem; }.about-formats p { margin: 7px 0 0; color: var(--ink-soft); font-size: .8rem; }.about-page-cta > span { color: var(--teal-300); font-size: .72rem; font-weight: 800; text-transform: uppercase; }.about-page-cta > strong { margin-top: 8px; }

/* ===== About - redesigned editorial section (.abx) ===== */
/* Movement 1 - editorial split opening */
.abx__head { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(30px, 6vw, 80px); align-items: start; }
.abx__title { font-family: var(--font-display); font-weight: 600; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.08; letter-spacing: -0.01em; margin-top: 6px; }
.abx .abx__lead { font-size: 1.18rem; line-height: 1.6; color: var(--ink); margin: 0 0 18px; }
.abx .abx__body { color: var(--ink-soft); margin: 0; line-height: 1.65; }

/* Movement 2 - lifecycle rail (numbered bordered grid) */
.abx-lifecycle { margin-top: clamp(46px, 7vw, 84px); }
.abx .abx-lifecycle__label { display: flex; align-items: center; gap: 12px; font-size: 0.76rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--navy-700); margin: 0 0 22px; }
.abx-lifecycle__label span { width: 26px; height: 2px; background: var(--teal-400); flex: none; }
.abx-lifecycle__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; border: 1px solid var(--line-light); border-radius: var(--radius); overflow: hidden; background: var(--line-light); }
.abx-stage { display: flex; flex-direction: column; gap: 8px; padding: 22px 20px; background: var(--paper-2); transition: background .2s var(--ease); }
.abx-stage:hover { background: #fff; }
.abx-stage__num { font-family: var(--font-display); font-weight: 600; font-size: 1.05rem; color: #0c6b60; }
.abx-stage__name { font-size: 0.95rem; font-weight: 600; color: var(--ink); line-height: 1.25; }

/* Movement 3 - statement panel (dark) */
.abx-quote { position: relative; margin: clamp(46px, 7vw, 84px) 0; padding: clamp(40px, 6vw, 72px) clamp(28px, 5vw, 64px); border-radius: var(--radius-lg); background: radial-gradient(120% 140% at 15% 0%, var(--navy-800), var(--navy-950)); color: #fff; overflow: hidden; }
.abx-quote__mark { position: absolute; top: 0.05em; left: 0.24em; font-family: var(--font-display); font-size: 10rem; line-height: 1; color: rgba(45, 212, 191, 0.16); pointer-events: none; }
.abx .abx-quote__lead { position: relative; max-width: 920px; font-family: var(--font-display); font-weight: 500; font-size: clamp(1.5rem, 3.2vw, 2.4rem); line-height: 1.28; color: #fff; margin: 0 0 20px; }
.abx .abx-quote__body { position: relative; max-width: 720px; color: rgba(255, 255, 255, 0.72); margin: 0; line-height: 1.65; }

/* Movement 4 - numbered formats grid */
.abx-formats__head { max-width: 640px; margin-bottom: 30px; }
.abx-formats__title { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.5rem, 2.8vw, 2rem); margin-bottom: 8px; }
.abx .abx-formats__intro { color: var(--ink-soft); margin: 0; }
.abx-formats__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line-light); border-radius: var(--radius); overflow: hidden; background: var(--line-light); }
.abx-format { padding: 28px 26px; background: var(--paper-2); transition: background .2s var(--ease); }
.abx-format:hover { background: #fff; }
.abx-format__num { font-family: var(--font-display); font-weight: 600; font-size: 0.95rem; letter-spacing: 0.05em; color: #0c6b60; }
.abx-format__name { font-family: var(--font-display); font-weight: 600; font-size: 1.18rem; color: var(--ink); margin: 8px 0; }
.abx .abx-format p { margin: 0; font-size: 0.92rem; color: var(--ink-soft); line-height: 1.55; }

/* Movement 5 - closing statement + CTA */
.abx-close { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: clamp(32px, 5vw, 64px); align-items: center; margin-top: clamp(46px, 7vw, 84px); }
.abx .abx-close__kicker { font-size: 0.76rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #0c6b60; margin: 0 0 12px; }
.abx .abx-close__text { font-size: 1.12rem; line-height: 1.6; color: var(--ink); margin: 0; }
.abx-cta { padding: 34px; border-radius: var(--radius-lg); background: radial-gradient(120% 160% at 100% 0%, var(--navy-700), var(--navy-950)); color: #fff; box-shadow: var(--shadow-md); }
.abx-cta__place { display: inline-flex; align-items: center; gap: 8px; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--teal-300); }
.abx-cta__place svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.abx-cta__date { display: block; font-family: var(--font-display); font-weight: 600; font-size: 1.7rem; color: #fff; margin: 10px 0 14px; }
.abx .abx-cta__text { color: rgba(255, 255, 255, 0.72); margin: 0 0 22px; line-height: 1.6; }
.abx-cta .btn { width: 100%; }

@media (max-width: 900px) {
  .abx__head { grid-template-columns: 1fr; gap: 18px; }
  .abx-lifecycle__grid { grid-template-columns: repeat(3, 1fr); }
  .abx-formats__grid { grid-template-columns: repeat(2, 1fr); }
  .abx-close { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .abx-lifecycle__grid { grid-template-columns: repeat(2, 1fr); }
  .abx-formats__grid { grid-template-columns: 1fr; }
}

/* Business Partnering - the differentiator */
.partnering { background: radial-gradient(120% 130% at 12% 0%, var(--navy-800), var(--navy-950)); color: #fff; }
.partnering__head { max-width: 730px; margin-bottom: 40px; }
.partnering__head .section__title { color: #fff; margin-bottom: 16px; }
.partnering__lead { font-size: 1.12rem; line-height: 1.6; color: rgba(255,255,255,.72); margin: 0; }

.partner-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.partner-feature {
  padding: 28px;
  border: 1px solid var(--line-dark);
  border-radius: var(--radius);
  background: rgba(255,255,255,.03);
  transition: transform .2s var(--ease), border-color .2s var(--ease);
}
.partner-feature:hover { transform: translateY(-3px); border-color: rgba(45,212,191,.4); }
.partner-feature__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; background: rgba(45,212,191,.14); margin-bottom: 18px; }
.partner-feature__icon svg { width: 24px; height: 24px; fill: none; stroke: var(--teal-300); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.partner-feature h3 { font-family: var(--font-display); font-weight: 600; font-size: 1.2rem; color: #fff; margin-bottom: 8px; }
.partner-feature p { margin: 0; font-size: .92rem; line-height: 1.55; color: rgba(255,255,255,.66); }

.partner-flow { margin-top: 20px; padding: 28px clamp(22px,3vw,34px); border: 1px solid var(--line-dark); border-radius: var(--radius-lg); background: rgba(255,255,255,.03); }
.partner-flow__label { font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--teal-300); margin: 0 0 20px; }
.partner-flow__steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.pstep { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; }
.pstep__num { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg,var(--teal-400),var(--teal-300)); color: var(--navy-950); font-family: var(--font-display); font-weight: 700; }
.pstep strong { display: block; color: #fff; font-size: 1rem; margin-bottom: 4px; }
.pstep p { margin: 0; font-size: .88rem; color: rgba(255,255,255,.62); line-height: 1.5; }

.partner-cta {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 24px; margin-top: 20px;
  padding: clamp(24px,3vw,32px) clamp(26px,4vw,40px);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, rgba(45,212,191,.16), rgba(23,65,95,.12));
  border: 1px solid rgba(45,212,191,.3);
}
.partner-cta strong { display: block; font-family: var(--font-display); font-weight: 600; font-size: clamp(1.3rem,2.4vw,1.7rem); color: #fff; }
.partner-cta p { margin: 6px 0 0; color: rgba(255,255,255,.72); }

@media (max-width: 900px) {
  .partner-grid { grid-template-columns: repeat(2,1fr); }
  .partner-flow__steps { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .partner-grid { grid-template-columns: 1fr; }
  .partner-cta { flex-direction: column; align-items: flex-start; }
  .partner-cta .btn { width: 100%; }
}

/* Featured Topics grid */
.topics { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 40px; }
.topic {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  border-radius: var(--radius);
  background: var(--paper-2);
  border: 1px solid var(--line-light);
  transition: transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);
}
.topic:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: rgba(45,212,191,.5); }
.topic__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: rgba(45,212,191,.12); }
.topic__icon svg { width: 24px; height: 24px; fill: none; stroke: var(--navy-700); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.topic__name { font-size: 1rem; font-weight: 600; color: var(--ink); line-height: 1.3; }

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

/* ===== Executive Program (agenda) ===== */
.xp-radio { position: absolute; opacity: 0; pointer-events: none; }

.xp-tabs__nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 22px; }
.xp-tab { display: flex; flex-direction: column; gap: 5px; padding: 18px 22px; border: 1px solid var(--line-light); border-radius: var(--radius); background: var(--paper-2); cursor: pointer; transition: transform .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease); }
.xp-tab:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.xp-tab__day { font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.xp-tab__theme { font-family: var(--font-display); font-weight: 600; font-size: 1.05rem; color: var(--ink); }
#xp1:checked ~ .xp-tabs__nav .xp-tab:nth-child(1),
#xp2:checked ~ .xp-tabs__nav .xp-tab:nth-child(2),
#xp3:checked ~ .xp-tabs__nav .xp-tab:nth-child(3) { background: var(--navy-900); border-color: var(--navy-900); box-shadow: var(--shadow-md); }
#xp1:checked ~ .xp-tabs__nav .xp-tab:nth-child(1) .xp-tab__theme,
#xp2:checked ~ .xp-tabs__nav .xp-tab:nth-child(2) .xp-tab__theme,
#xp3:checked ~ .xp-tabs__nav .xp-tab:nth-child(3) .xp-tab__theme { color: #fff; }
#xp1:checked ~ .xp-tabs__nav .xp-tab:nth-child(1) .xp-tab__day,
#xp2:checked ~ .xp-tabs__nav .xp-tab:nth-child(2) .xp-tab__day,
#xp3:checked ~ .xp-tabs__nav .xp-tab:nth-child(3) .xp-tab__day { color: var(--teal-300); }

.xp .xp-note { display: flex; align-items: center; gap: 10px; margin: 0 0 clamp(30px,5vw,46px); font-size: .88rem; color: var(--muted); }
.xp-note span { width: 22px; height: 2px; background: var(--teal-400); flex: none; }

.xp-panel { display: none; }
#xp1:checked ~ #xpp1, #xp2:checked ~ #xpp2, #xp3:checked ~ #xpp3 { display: block; }

.xp-day { display: grid; grid-template-columns: 300px 1fr; gap: clamp(32px, 5vw, 64px); align-items: start; }
.xp-day__aside { position: sticky; top: 96px; }
.xp-day__num { display: inline-block; font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #0c6b60; margin-bottom: 12px; }
.xp-day__theme { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.15; margin-bottom: 14px; }
.xp .xp-day__note { color: var(--ink-soft); line-height: 1.6; margin: 0 0 22px; }

.xp-flow { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.xp-card { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; padding: 20px 24px; border: 1px solid var(--line-light); border-left: 3px solid var(--muted); border-radius: var(--radius); background: var(--paper-2); transition: transform .2s var(--ease), box-shadow .2s var(--ease); }
.xp-card:hover { transform: translateX(4px); box-shadow: var(--shadow-sm); }
.xp-card__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; flex: none; }
.xp-card__icon svg { width: 23px; height: 23px; fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.xp-card__body { min-width: 0; }
.xp-card__tag { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 6px; }
.xp-card__title { font-family: var(--font-display); font-weight: 600; font-size: 1.14rem; line-height: 1.3; color: var(--ink); }
.xp-card--keynote { border-left-color: var(--teal-400); }
.xp-card--keynote .xp-card__icon { background: rgba(45,212,191,.14); }
.xp-card--keynote .xp-card__icon svg { stroke: #0c6b60; }
.xp-card--keynote .xp-card__tag { color: #0c6b60; }
.xp-card--keynote .xp-card__title { font-size: 1.3rem; }
.xp-card--panel { border-left-color: var(--gold-400); }
.xp-card--panel .xp-card__icon { background: rgba(201,169,106,.18); }
.xp-card--panel .xp-card__icon svg { stroke: #9c7c39; }
.xp-card--panel .xp-card__tag { color: #9c7c39; }
.xp-card--panel .xp-card__title { font-size: 1.24rem; }
.xp-card--session { border-left-color: var(--navy-600); }
.xp-card--session .xp-card__icon { background: rgba(23,65,95,.10); }
.xp-card--session .xp-card__icon svg { stroke: var(--navy-700); }
/* Headline session - the daily Executive Industry Panel */
.xp-card--headline { border-color: var(--navy-700); border-left-color: var(--gold-400); background: radial-gradient(120% 180% at 0% 0%, var(--navy-800), var(--navy-950)); }
.xp-card--headline .xp-card__icon { background: rgba(201,169,106,.18); }
.xp-card--headline .xp-card__icon svg { stroke: var(--gold-300); }
.xp-card--headline .xp-card__tag { color: var(--gold-300); }
.xp-card--headline .xp-card__title { color: #fff; font-size: 1.32rem; }

.xp-band { display: flex; align-items: center; gap: 15px; padding: 18px 26px; border-radius: var(--radius); }
.xp-band__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 11px; flex: none; }
.xp-band__icon svg { width: 21px; height: 21px; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.xp-band__label { font-family: var(--font-display); font-weight: 600; font-size: 1.12rem; }
.xp-band--moment { background: rgba(45,212,191,.09); border: 1px solid rgba(45,212,191,.24); }
.xp-band--moment .xp-band__icon { background: rgba(45,212,191,.16); }
.xp-band--moment .xp-band__icon svg { stroke: #0c6b60; }
.xp-band--moment .xp-band__label { color: var(--navy-800); }
.xp-band--social { background: radial-gradient(120% 180% at 0% 0%, var(--navy-700), var(--navy-950)); color: #fff; }
.xp-band--social .xp-band__icon { background: rgba(201,169,106,.2); }
.xp-band--social .xp-band__icon svg { stroke: var(--gold-300); }
.xp-band--social .xp-band__label { color: #fff; }
.xp-band--featured { padding: 20px 22px; border: 1px solid rgba(45,212,191,.35); background: linear-gradient(110deg,var(--navy-900),var(--navy-800)); color: #fff; box-shadow: var(--shadow-md); }
.xp-band--featured .xp-band__icon { background: rgba(45,212,191,.13); }
.xp-band--featured .xp-band__icon svg { stroke: var(--teal-300); }
.xp-band--featured > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.xp-band--featured strong { font-family: var(--font-display); font-size: 1.08rem; }
.xp-band--featured small { color: rgba(255,255,255,.6); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }

@media (max-width: 900px) {
  .xp-tabs__nav { grid-template-columns: 1fr; }
  .xp-day { grid-template-columns: 1fr; }
  .xp-day__aside { position: static; }
}

.registration-hero__curation { max-width: 720px; margin: 22px 0 0; padding: 12px 16px; border-left: 3px solid var(--gold-400); background: rgba(255,255,255,.05); color: rgba(255,255,255,.78); font-size: .86rem; }
.registration-audiences__grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; margin-top: 38px; }.registration-audiences__grid article { display: flex; flex-direction: column; padding: 32px; border: 1px solid var(--line-light); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }.registration-audiences__grid article:last-child { background: linear-gradient(145deg,#fff,#eef4f4); }.registration-audiences__label { color: var(--teal-500,#0c6b60); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.registration-audiences__grid h3 { margin: 10px 0 20px; font-family: var(--font-display); font-size: 1.45rem; }.registration-audiences__grid .btn { align-self: flex-start; margin-top: auto; }.registration-checks { display: grid; gap: 11px; margin-bottom: 26px; }.registration-checks li { position: relative; padding-left: 21px; color: var(--ink-soft); font-size: .88rem; }.registration-checks li::before { content: ""; position: absolute; top: .55em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--teal-400); }
.pass-inclusions__grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; margin-top: 38px; }.pass-inclusions__grid article { display: flex; flex-direction: column; gap: 13px; min-height: 145px; padding: 20px; border: 1px solid var(--line-light); border-radius: var(--radius); background: #fff; }.pass-inclusions__grid svg { width: 26px; height: 26px; fill: none; stroke: var(--teal-500,#0c6b60); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }.pass-inclusions__grid span { color: var(--ink-soft); font-size: .8rem; font-weight: 700; }
.curation-panel { display: grid; grid-template-columns: 1fr 320px; gap: 50px; align-items: center; padding: clamp(30px,5vw,50px); border-radius: var(--radius-lg); background: radial-gradient(100% 160% at 0 0,var(--navy-700),var(--navy-950)); color: #fff; box-shadow: var(--shadow-md); }.curation-panel--audiences { margin-top: 24px; padding: clamp(24px,4vw,38px); }.curation-panel h3 { margin: 0 0 10px; font-family: var(--font-display); font-size: clamp(1.65rem,3vw,2.25rem); }.curation-panel p:not(.section__eyebrow) { color: rgba(255,255,255,.7); }.curation-panel ul { display: grid; gap: 10px; }.curation-panel li { padding: 13px 15px; border: 1px solid var(--line-dark); border-radius: var(--radius-sm); background: rgba(255,255,255,.05); color: var(--teal-300); font-size: .82rem; font-weight: 700; }
.registration-pricing .pricing-grid { align-items: stretch; margin-top: 36px; }.registration-pricing .price-card { scroll-margin-top: 90px; }.price-card__badge--dark { background: linear-gradient(135deg,var(--navy-700),var(--navy-900)); color: #fff; }.registration-pricing .reg-notes { justify-content: flex-start; max-width: 1000px; margin-inline: auto; }.group-registration-link { margin: 20px 0 0; text-align: center; }.group-registration-link a { color: var(--teal-500,#0c6b60); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.registration-pricing .price-card__eyebrow { display: none; }
.pricing-payment-note { max-width: 760px; margin: 22px auto 0; padding: 13px 16px; border-left: 3px solid var(--gold-400); background: rgba(201,169,106,.1); color: var(--ink-soft); font-size: .84rem; text-align: left; }
.pass-comparison__scroll { margin-top: 34px; overflow-x: auto; border: 1px solid var(--line-light); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }.pass-comparison table { width: 100%; min-width: 760px; border-collapse: collapse; }.pass-comparison th,.pass-comparison td { padding: 16px 20px; border-bottom: 1px solid var(--line-light); text-align: left; font-size: .84rem; }.pass-comparison thead th { background: var(--navy-900); color: #fff; font-size: .76rem; text-transform: uppercase; letter-spacing: .05em; }.pass-comparison tbody th { width: 42%; color: var(--ink); }.pass-comparison tbody td { color: var(--ink-soft); }.pass-comparison tbody tr:last-child th,.pass-comparison tbody tr:last-child td { border-bottom: 0; }.comparison-yes,.comparison-no { display: inline-flex; align-items: center; gap: 7px; }.comparison-yes svg,.comparison-no svg { width: 17px; height: 17px; fill: none; stroke-width: 2.4; stroke-linecap: round; }.comparison-yes svg { stroke: var(--teal-500,#0c6b60); }.comparison-no svg { stroke: var(--muted); }.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.organizations-represented__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: 36px; }.organizations-represented__grid span { display: flex; align-items: center; min-height: 88px; padding: 18px; border: 1px solid var(--line-light); border-radius: var(--radius); background: linear-gradient(145deg,#fff,#f3f7f8); color: var(--navy-700); font-size: .8rem; font-weight: 700; }
.registration-faq__list { display: grid; gap: 10px; max-width: 940px; margin-top: 34px; }.registration-faq details { border: 1px solid var(--line-light); border-radius: var(--radius); background: #fff; }.registration-faq summary { position: relative; padding: 19px 52px 19px 22px; color: var(--ink); font-weight: 700; cursor: pointer; list-style: none; }.registration-faq summary::-webkit-details-marker { display: none; }.registration-faq summary::after { content: "+"; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); color: var(--teal-500,#0c6b60); font-size: 1.35rem; }.registration-faq details[open] summary::after { content: "-"; }.registration-faq details p { margin: 0; padding: 0 22px 20px; color: var(--ink-soft); font-size: .9rem; }

/* ------------------------------------------------------------------ */
/* 16. Responsive                                                      */
/* ------------------------------------------------------------------ */
@media (max-width: 900px) {
  .pass-inclusions__grid { grid-template-columns: repeat(2,1fr); }.curation-panel { grid-template-columns: 1fr; }.organizations-represented__grid { grid-template-columns: repeat(2,1fr); }
  .about-page-grid { grid-template-columns: 1fr; }.about-page-aside, .about-page-cta { max-width: 600px; }.about-formats { grid-template-columns: repeat(2,1fr); }
  .payment-process { grid-template-columns: 1fr; }.payment-reference { grid-template-columns: 1fr; }.payment-reference div + div { border-top: 1px solid var(--line-light); border-left: 0; }
  .venue-coming-soon, .venue-next-steps { grid-template-columns: 1fr; }.venue-expectations { grid-template-columns: 1fr; }.venue-coming-soon aside { max-width: 600px; }
  .faculty-preview__intro, .speaker-invite__inner { grid-template-columns: 1fr; }.speaker-expertise__grid { grid-template-columns: repeat(2,1fr); }
  .sponsors-preview__inner { grid-template-columns: 1fr; }
  .sponsors-preview__placeholder { max-width: 600px; }
  .prospectus-overview__grid, .venue-marketplace, .prospectus-cta__inner { grid-template-columns: 1fr; }.buyer-profile, .sponsor-tiers, .sponsor-addons { grid-template-columns: 1fr; }.prospectus-value, .venue-marketplace aside { max-width: 600px; }
  .bottleneck-section .funnel { grid-template-columns: 1fr; gap: 14px; }.bottleneck-section .funnel__merge, .bottleneck-section .funnel__drop { display: none; }.marketplace { grid-template-columns: 1fr; gap: 32px; }
  .executive__intro { grid-template-columns: 1fr; }.executive__copy { max-width: none; }.market-stat { margin-top: 24px; }.executive .callout { grid-template-columns: 1fr; }.executive .callout__stat { padding: 0 0 20px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .hero__meta { grid-template-columns: repeat(2, 1fr); }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .site-footer__brand { grid-column: 1 / -1; max-width: none; }

  .venue-grid { grid-template-columns: 1fr; }
  .venue-card { position: static; }
  .travel-grid { grid-template-columns: 1fr; }
  .agenda-tabs__nav { grid-template-columns: 1fr; }

  .streams { grid-template-columns: 1fr; }
  .pillars { grid-template-columns: 1fr; }
  .callout { flex-direction: column; align-items: flex-start; gap: 16px; }

  .metrics { grid-template-columns: repeat(2, 1fr); }
  .audience-grid { grid-template-columns: 1fr; }
  .net-banner { flex-direction: column; }

  .pricing-grid { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; gap: 34px; }
}

@media (max-width: 760px) {
  .registration-audiences__grid { grid-template-columns: 1fr; }.pass-inclusions__grid,.organizations-represented__grid { grid-template-columns: 1fr; }.pass-comparison__scroll { border-radius: var(--radius); }
  .about-formats { grid-template-columns: 1fr; }
  .venue-next-steps ul { grid-template-columns: 1fr; }
  .faculty-placeholder { grid-template-columns: 1fr; }.faculty-placeholder__tag { width: fit-content; }.speaker-expertise__grid { grid-template-columns: 1fr; }
  .executive .streams { gap: 0; }.executive .stream + .stream { border-top: 1px solid var(--line-light); border-left: 0; }
  /* Collapsible nav */
  .nav-burger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px; height: 44px;
    cursor: pointer;
  }
  .nav {
    position: absolute;
    top: 72px; left: 0; right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding: 16px clamp(20px, 5vw, 40px) 24px;
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid var(--line-light);
    box-shadow: var(--shadow-md);
    transform: translateY(-12px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s var(--ease), transform 0.2s var(--ease), visibility 0.2s;
  }
  .nav__link { padding: 12px 4px; border-bottom: 1px solid var(--line-light); color: var(--ink-soft); }
  .nav__link:hover { color: var(--ink); }
  .legal__toc ol { columns: 1; }
  .reg-info__grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .form-check-grid, .registration-includes ul { grid-template-columns: 1fr; }
  .coupon-entry { grid-template-columns: 1fr; }.coupon-entry__status { grid-column: auto; }
  .form-field--full { grid-column: auto; }
  .ticket-summary { grid-template-columns: 1fr; }.ticket-summary dl { grid-template-columns: 1fr; }.ticket-summary > p { grid-column: auto; }.review-list div { grid-template-columns: 1fr; gap: 2px; }
  .nav__link::after { display: none; }
  .nav__cta { margin: 12px 0 0; text-align: center; }

  .nav-toggle:checked ~ .nav {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
  }
  .nav-toggle:checked ~ .nav-burger .nav-burger__bar { background: transparent; }
  .nav-toggle:checked ~ .nav-burger .nav-burger__bar::before { transform: rotate(45deg); }
  .nav-toggle:checked ~ .nav-burger .nav-burger__bar::after { transform: rotate(-45deg); }
}

@media (max-width: 520px) {
  .early-bird-banner { grid-template-columns: 1fr auto; gap: 10px 14px; margin-top: -10px; }.early-bird-banner__flag { width: fit-content; }.early-bird-banner__copy { grid-column: 1 / -1; grid-row: 2; }.early-bird-banner__action { grid-column: 2; grid-row: 1; }
  .hero__meta { grid-template-columns: 1fr; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .hero__cta .btn { width: 100%; }
  .brand__sub { display: none; }

  .page-hero__stat { flex: 1 1 100%; }
  .ag { grid-template-columns: 56px 20px 1fr; gap: 0 12px; }
  .ag__time { font-size: 0.85rem; }
  .ag::before { left: 78px; } /* recentre line for the narrower marker column */
  .agenda-cta__actions .btn { width: 100%; }
  .metrics { grid-template-columns: 1fr; }

  /* Funnel stacks vertically; swap converging lines for a simple centre rail */
  .funnel__streams { grid-template-columns: 1fr; gap: 12px; }
  .funnel__lines, .funnel__tip { display: none; }
  .funnel__merge {
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 12px 0;
  }
  .funnel__risk { position: static; transform: none; }
  .funnel__merge::before, .funnel__merge::after { content: ""; width: 2px; height: 16px; background: var(--line-light); }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

@media print {
  @page { size: A4; margin: 14mm; }
  html { font-size: 10pt; }
  body { background: #fff; color: #111; }
  .site-header, .site-footer, [data-download-sponsor], .prospectus-hero__actions, .hero__bg, .hero__glow { display: none !important; }
  .page-hero, .prospectus-cta { padding: 18mm 0; background: #071522 !important; color: #fff !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .section { padding: 12mm 0; break-inside: avoid; }
  .sponsor-tier, .sponsor-addons article, .buyer-profile article, .prospectus-value, .venue-marketplace aside { break-inside: avoid; box-shadow: none; }
  .sponsor-tiers, .sponsor-addons, .buyer-profile { gap: 4mm; }
  .btn { display: none !important; }
  a { text-decoration: none; }
}
.billing-fields[hidden]{display:none!important}
.receipt-header{display:flex;align-items:center;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line-light)}.receipt-header img{width:150px;height:auto}.receipt-header h1{margin:3px 0}.receipt-header p{margin:0;color:var(--ink-soft)}.receipt-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.receipt-details section{padding:22px;border:1px solid var(--line-light);border-radius:var(--radius);background:#f8fafb}.receipt-details section:last-child{grid-column:1/-1}.receipt-details h2{margin:0 0 16px;font-family:var(--font-display);font-size:1.25rem}.receipt-details dl{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.receipt-details dl div{padding:10px 0;border-bottom:1px solid var(--line-light)}.receipt-details dt{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.receipt-details dd{margin:4px 0 0;overflow-wrap:anywhere;font-weight:700}.receipt-details dd small{display:block;margin-top:3px;color:var(--muted);font-weight:600}.receipt-total{font-size:1.08rem}.receipt-total dd{color:var(--teal-700)}
@media(max-width:680px){.receipt-header{align-items:flex-start;flex-direction:column}.receipt-details{grid-template-columns:1fr}.receipt-details section:last-child{grid-column:auto}.receipt-details dl{grid-template-columns:1fr}}
@media print{body{background:#fff}.site-header,.site-footer,.payment-result__actions,.payment-result__info{display:none!important}.payment-result{padding:0;background:#fff}.payment-result__card{max-width:none;padding:20px;box-shadow:none}.receipt-details{grid-template-columns:1fr 1fr}.receipt-details section{break-inside:avoid;background:#fff}.receipt-header img{width:130px}@page{size:A4;margin:14mm}}
