/* Prod copy for the raw summit page: identical to the redesign theme
   event-experience/experience.css except the 6 @font-face aliases are
   removed (nam-mi registers the same LT W05 families site-wide). */
/* =====================================================================
   EVENT EXPERIENCE — bespoke virtual-event landing layout
   (originally the old MLC site's Rethink 2026 Virtual page; now the
   reusable single-event-experience.php template, wdg-nam theme)
   Scoped under .rtx so nothing leaks into the site masthead/footer.

   Brand palette (from MLC brand guide):
     Creators Blue  #0032a0   Bright Blue  #00a9e0
     Electric Teal  #12ddb6   Electric Rose #ee448d
     Grey           #bbbcbc   Light Blue   #cceef9
   Type: Helvetica Neue LT W05 family. The wdg-nam theme registers these
   licensed cuts under DIFFERENT family names ("Neue Helvetica W05" /
   "Neue Helvetica W05 Condensed" in _global.scss) - the LT names below
   never loaded anywhere, so alias them here to the same theme font files.
   ===================================================================== */
.rtx {
  /* ---- palette: theme tokens with the MLC brand hexes as fallbacks, so
     another site adopting this template picks up its own scheme ---- */
  --c-blue:        var(--wdg-color-primary, #0032a0);            /* Creators Blue   */
  --c-blue-deep:   #00226e;   /* deeper layering shade derived from --c-blue (not a scheme token) */
  --c-blue-night:  #001a55;   /* deepest grounding navy derived from --c-blue (not a scheme token) */
  --c-bright:      var(--wdg-color-bright-blue, #00a9e0);        /* Bright Blue */
  --c-teal:        var(--wdg-color-electric-teal, #12ddb6);      /* Electric Teal */
  --c-rose:        var(--wdg-color-electric-rose, #ee448d);      /* Electric Rose */
  --c-grey:        var(--wdg-color-cool-gray, #bbbcbc);          /* Grey */
  --c-lightblue:   var(--wdg-color-bright-blue-xlight, #cceef9); /* Light Blue */

  --ink:           #0a1430;   /* near-navy text on light */
  --ink-soft:      #4a5573;
  --paper:         #f4f8fc;   /* page background for light sections */
  --paper-2:       #ffffff;
  --line:          #e2e8f2;

  /* ---- type ---- */
  --display: "Helvetica Neue LT W05_77 Bd Cn", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --heading: "Helvetica Neue LT W05 65 Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --body:    "Helvetica Neue LT W05 55 Roman", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bold:    "Helvetica Neue LT W05_75 Bold", "Helvetica Neue", Helvetica, Arial, sans-serif; /* non-condensed bold */

  /* ---- gradients ---- */
  --grad-brand: linear-gradient(120deg, var(--c-blue) 0%, var(--c-bright) 100%);
  --grad-pop:   linear-gradient(120deg, var(--c-bright) 0%, var(--c-teal) 100%);
  --grad-rose:  linear-gradient(120deg, #7a1bd1 0%, var(--c-rose) 100%);

  --radius: 18px;
  --radius-sm: 12px;
  --shadow: 0 18px 50px -18px rgba(8, 23, 66, 0.28);
  --shadow-lift: 0 28px 70px -22px rgba(8, 23, 66, 0.42);

  font-family: var(--body);
  color: var(--ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ---- full-bleed: the wdg-nam theme's main#page has no width constraints,
   so the experience naturally spans the viewport. Zero out any incidental
   spacing on the template's ancestors (body class set by
   functions/event-experience.php). ---- */
body.event-experience main#page,
body.event-experience main.main {
  padding: 0 !important;
  margin-top: 0 !important;
  max-width: none !important;
}

/* ---- scoped resets ---- */
.rtx *,
.rtx *::before,
.rtx *::after { box-sizing: border-box; }

.rtx :where(img) { max-width: 100%; height: auto; display: block; }
.rtx :where(a) { color: inherit; text-decoration: none; }
/* sane default icon size — inline SVGs here use a 24x24 viewBox with no width/height */
.rtx :where(svg) { width: 1.15em; height: 1.15em; flex: none; }

/* zero-specificity reset so component classes always win; color is inherited
   (light sections inherit --ink from .rtx; dark sections set their own #fff) */
.rtx :where(h1, h2, h3, h4) {
  font-family: var(--heading);
  line-height: 1.08;
  margin: 0;
}

.rtx__inner { width: min(1200px, 100% - 48px); margin-inline: auto; }

.rtx-eyebrow {
  font-family: var(--heading);
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 0.78rem;
  color: var(--c-bright);
  margin: 0 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.rtx-eyebrow::before {
  content: "";
  width: 28px; height: 2px;
  background: var(--grad-pop);
  display: inline-block;
}

.rtx-section { position: relative; padding: clamp(64px, 8vw, 120px) 0; }
.rtx-section__head { max-width: 760px; margin-bottom: clamp(36px, 5vw, 60px); }
.rtx-section__title {
  font-family: var(--display);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  font-size: clamp(2.2rem, 5.2vw, 4rem);
}
.rtx-section__lead { font-size: clamp(1.05rem, 1.6vw, 1.25rem); color: var(--ink-soft); margin-top: 14px; }

/* ---- buttons ---- */
.rtx-btn {
  --bg: var(--grad-brand);
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--heading);
  font-size: 1rem;
  letter-spacing: 0.02em;
  padding: 16px 30px;
  border-radius: 999px;
  border: 0; cursor: pointer;
  background-image: var(--bg);
  color: #fff;
  position: relative;
  transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s;
  box-shadow: 0 12px 28px -10px rgba(0, 169, 224, .6);
}
.rtx-btn:hover { transform: translateY(-3px); box-shadow: 0 22px 40px -12px rgba(0, 169, 224, .75); }
.rtx-btn--pop { --bg: var(--grad-pop); box-shadow: 0 12px 28px -10px rgba(18, 221, 182, .6); color: #04263b; }
.rtx-btn--rose { --bg: var(--grad-rose); box-shadow: 0 12px 28px -10px rgba(238, 68, 141, .55); }
.rtx-btn--ghost {
  background-image: none;
  background-color: rgba(255,255,255,.06);
  border: 1.5px solid rgba(255,255,255,.55);
  color: #fff;
  box-shadow: none;
  backdrop-filter: blur(4px);
}
.rtx-btn--ghost:hover { background-color: rgba(255,255,255,.14); box-shadow: none; }
.rtx-btn svg { width: 18px; height: 18px; }

/* ---- add-to-calendar dropdown ---- */
.rtx-cal { position: relative; display: inline-block; }
.rtx-cal__caret { font-size: .7em; opacity: .8; margin-left: 2px; }
.rtx-cal__menu {
  position: absolute; top: calc(100% + 10px); left: 0; min-width: 230px; z-index: 25;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-sm);
  box-shadow: var(--shadow-lift); padding: 7px; display: none;
}
.rtx-cal__menu--up { top: auto; bottom: calc(100% + 10px); }
.rtx-cal.is-open .rtx-cal__menu { display: block; animation: rtx-fade .2s ease; }
.rtx-cal__item {
  display: flex; align-items: center; gap: 10px; width: 100%; text-align: left;
  padding: 11px 14px; border: 0; background: transparent; border-radius: 9px;
  font-family: var(--heading); font-size: .95rem; color: var(--ink); cursor: pointer;
}
.rtx-cal__item:hover { background: var(--c-lightblue); color: var(--c-blue); }

/* =====================================================================
   HERO
   ===================================================================== */
.rtx-hero {
  position: relative;
  min-height: 92vh;
  display: flex; flex-direction: column; justify-content: center;
  overflow: hidden;
  color: #fff;
  background: radial-gradient(130% 110% at 75% -12%, #1140b8 0%, var(--c-blue) 48%, #00256e 100%);
  padding: clamp(120px, 16vh, 200px) 0 clamp(80px, 10vh, 130px);
  isolation: isolate;
}
.rtx-hero__media {
  position: absolute; inset: 0; z-index: -3;
  background-size: cover; background-position: center;
  opacity: .16;
  filter: saturate(1.1) contrast(1.05);
  mix-blend-mode: luminosity;
}
.rtx-hero__scrim {
  position: absolute; inset: 0; z-index: -2;
  background: linear-gradient(180deg, rgba(0,26,92,.10) 0%, rgba(0,26,92,.42) 60%, var(--c-blue-deep) 100%);
}
/* animated colour orbs */
.rtx-hero__orb { position: absolute; z-index: -3; border-radius: 50%; filter: blur(60px); opacity: .42; }
.rtx-hero__orb--1 { width: 46vw; height: 46vw; left: -14vw; top: -10vw; background: radial-gradient(circle, rgba(0,169,224,.9), transparent 65%); animation: rtx-float 16s ease-in-out infinite; }
.rtx-hero__orb--2 { width: 38vw; height: 38vw; right: -10vw; top: 6vw; background: radial-gradient(circle, rgba(18,221,182,.8), transparent 65%); animation: rtx-float 20s ease-in-out infinite reverse; }
.rtx-hero__orb--3 { width: 30vw; height: 30vw; right: 18vw; bottom: -12vw; background: radial-gradient(circle, rgba(238,68,141,.7), transparent 65%); animation: rtx-float 24s ease-in-out infinite; }
/* faint engineering grid */
.rtx-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(120% 90% at 50% 20%, #000 30%, transparent 80%);
          mask-image: radial-gradient(120% 90% at 50% 20%, #000 30%, transparent 80%);
}

.rtx-hero__inner { width: min(1180px, 100% - 48px); margin-inline: auto; position: relative; }

.rtx-badge {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--heading);
  text-transform: uppercase; letter-spacing: 0.26em; font-size: .76rem;
  padding: 9px 18px; border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(6px);
  color: #eaf6ff;
}
.rtx-badge .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-teal); box-shadow: 0 0 0 4px rgba(18,221,182,.25); animation: rtx-pulse 2s infinite; }

.rtx-hero__title {
  font-family: var(--display);
  text-transform: uppercase;
  font-size: clamp(3.6rem, 11vw, 8.6rem);
  line-height: .86;
  letter-spacing: -0.01em;
  margin: 22px 0 6px;
  color: #fff;
  text-shadow: 0 8px 60px rgba(0,169,224,.35);
}
.rtx-hero__title .yr {
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text; background-clip: text;
  background-image: var(--grad-pop);
}
.rtx-hero__lockup { display: flex; align-items: baseline; gap: clamp(12px, 2vw, 28px); flex-wrap: wrap; }
/* official "rethink." wordmark in place of the text lockup */
.rtx-hero__title--img { display: block; width: 100%; margin: 16px 0 10px; line-height: 1; }
.rtx-hero__logo { display: block; width: clamp(240px, 42vw, 560px); max-width: 100%; height: auto; filter: drop-shadow(0 12px 34px rgba(0,0,0,.22)); }
.rtx-hero__sub {
  font-family: var(--bold);   /* non-condensed bold */
  font-weight: 700;
  text-transform: none;
  font-size: clamp(1.35rem, 3vw, 2.3rem);
  line-height: 1.12;
  max-width: 20em;        /* two lines; last two words are bound (nbsp) so it breaks after "Transformation" */
  color: #fff;            /* bright white, fully opaque */
  margin: 0;
}
.rtx-hero__tagline { max-width: 56ch; color: #b9c9e6; font-size: clamp(1rem, 1.4vw, 1.18rem); margin: 22px 0 0; }
/* Gradient lead-in for a colon-prefixed event theme ("Skills at Scale: …") */
.rtx-hero__sub-lead {
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text; background-clip: text;
  background-image: var(--grad-pop);
}
/* brand "•••" motif (Electric Teal), sits directly under the subtitle */
.rtx-dots { display: flex; gap: 11px; margin: 20px 0; }
.rtx-dots span { width: 11px; height: 11px; border-radius: 50%; background: var(--c-teal); }

.rtx-hero__meta { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 6px; }
.rtx-pill {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 11px 20px; border-radius: 999px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.18);
  font-family: var(--heading); font-size: .98rem; color: #eaf6ff;
}
.rtx-pill svg { width: 18px; height: 18px; color: var(--c-bright); }

.rtx-hero__cta { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 30px; }

/* countdown */
.rtx-countdown { display: flex; gap: 14px; margin-top: 46px; margin-bottom: 34px; flex-wrap: wrap; justify-content: center; }

/* Post-event line shown where the countdown used to sit */
.rtx-hero__wrap { margin: 40px 0 0; color: #bcd2ef; font-size: 1.05rem; }
.rtx-hero__wrap::before { content: ""; display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--c-bright); margin-right: 10px; vertical-align: 1px; }
.rtx-count {
  min-width: 92px; text-align: center;
  padding: 16px 14px; border-radius: var(--radius-sm);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(8px);
}
.rtx-count__num { font-family: var(--display); font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1; color: #fff; font-variant-numeric: tabular-nums; }
.rtx-count__lbl { display: block; margin-top: 6px; font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: #9fb4d6; }

/* hero stat strip */
.rtx-hero__stats {
  margin-top: clamp(40px, 6vw, 64px);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius);
  overflow: hidden;
}
.rtx-stat { background: rgba(4,17,46,.5); padding: 26px 22px; backdrop-filter: blur(4px); }
.rtx-stat__num { font-family: var(--display); font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1;
  -webkit-text-fill-color: transparent; -webkit-background-clip: text; background-clip: text; background-image: var(--grad-pop); }
.rtx-stat__lbl { color: #c2d2ec; font-size: .92rem; margin-top: 8px; }

.rtx-scrollcue { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.6); font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.rtx-scrollcue span { width: 1px; height: 38px; background: linear-gradient(var(--c-bright), transparent); animation: rtx-cue 1.8s ease-in-out infinite; }

/* =====================================================================
   STICKY IN-PAGE NAV
   ===================================================================== */
.rtx-subnav {
  position: sticky; top: var(--rtx-top, 0px); z-index: 30;
  background: rgba(0, 26, 85, .85);
  backdrop-filter: blur(12px) saturate(1.2);
  border-bottom: 1px solid rgba(255,255,255,.08);
  transform: translateY(-100%);
  transition: transform .4s cubic-bezier(.2,.7,.2,1);
  /* the bar rests transform-hidden and only slides in once stuck, so its
     static layout slot would otherwise read as a blank band between the
     hero and the first section - collapse it (64px inner + 1px border) */
  margin-bottom: -65px;
}
.rtx-subnav.is-stuck { transform: translateY(0); }
.rtx-subnav__inner { width: min(1200px, 100% - 48px); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; height: 64px; }
.rtx-subnav__brand { font-family: var(--display); text-transform: uppercase; letter-spacing: .04em; color: #fff; font-size: 1.15rem; }
.rtx-subnav__brand b { color: var(--c-bright); -webkit-text-fill-color: var(--c-bright); }
.rtx-subnav__logo { height: 24px; width: auto; display: block; }
.rtx-subnav__links { display: flex; gap: 6px; align-items: center; }
.rtx-subnav__links a { font-family: var(--heading); font-size: .92rem; color: #c8d6ef; padding: 9px 14px; border-radius: 999px; transition: color .2s, background .2s; }
.rtx-subnav__links a:hover { color: #fff; background: rgba(255,255,255,.08); }
.rtx-subnav__links a.is-active { color: #04263b; background: var(--c-bright); }
.rtx-subnav__cta { padding: 10px 22px; font-size: .9rem; }
.rtx-subnav__toggle { display: none; }

/* =====================================================================
   ABOUT
   ===================================================================== */
.rtx-about { background: var(--paper); }
.rtx-about__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(36px, 5vw, 72px); align-items: center; }
.rtx-about__title { margin: 0 0 20px; }
.rtx-about__body p { font-size: clamp(1.05rem, 1.5vw, 1.22rem); color: var(--ink-soft); margin: 0 0 18px; }
.rtx-about__body p.lead { font-family: var(--heading); color: var(--ink); font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.35; }
.rtx-feature-cards { display: grid; gap: 16px; }
.rtx-feature {
  position: relative; overflow: hidden;
  padding: 28px 26px 26px; border-radius: var(--radius);
  background: var(--paper-2); border: 1px solid var(--line); box-shadow: var(--shadow);
}
.rtx-feature::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--grad-brand); }
.rtx-feature:nth-child(2)::before { background: var(--grad-pop); }
.rtx-feature:nth-child(3)::before { background: var(--grad-rose); }
.rtx-feature__ico { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: var(--c-lightblue); color: var(--c-blue); margin-bottom: 16px; }
.rtx-feature__ico svg { width: 24px; height: 24px; }
.rtx-feature h3 { font-size: 1.25rem; margin-bottom: 8px; }
.rtx-feature p { color: var(--ink-soft); margin: 0; font-size: 1rem; }

/* testimonial pull-quote card (About) */
.rtx-quote {
  margin: clamp(36px, 5vw, 56px) 0 0; padding: 30px 34px;
  border-radius: var(--radius); background: var(--paper-2);
  border: 1px solid var(--line); box-shadow: var(--shadow);
  position: relative; overflow: hidden;
}
.rtx-quote::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--grad-pop); }
.rtx-quote blockquote { margin: 0; font-family: var(--heading); font-size: clamp(1.1rem, 1.8vw, 1.35rem); line-height: 1.5; color: var(--c-blue); }
.rtx-quote blockquote::before { content: "\201C"; }
.rtx-quote blockquote::after { content: "\201D"; }
.rtx-quote figcaption { margin-top: 14px; color: var(--ink-soft); font-size: .95rem; font-style: italic; }
/* quote nested in the About text column sits tighter under the copy */
.rtx-quote--inline { margin-top: 28px; padding: 26px 28px; }

/* =====================================================================
   FEATURED TOPICS
   ===================================================================== */
.rtx-topics { background: var(--paper-2); }
.rtx-topics__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rtx-topic {
  display: flex; align-items: center; gap: 16px;
  padding: 20px 22px;
  background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-sm);
  font-family: var(--heading); font-size: 1.06rem; color: var(--ink); line-height: 1.35;
  transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, border-color .3s;
}
.rtx-topic:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: #cfe0f3; }
.rtx-topic__ico { width: 46px; height: 46px; flex: none; display: grid; place-items: center; border-radius: 12px; background: var(--c-lightblue); color: var(--c-blue); }
.rtx-topic__ico svg { width: 24px; height: 24px; }

/* =====================================================================
   EXTRA SECTIONS (generic WYSIWYG bands: Venue / Registration / CoC …)
   ===================================================================== */
.rtx-xsec { background: var(--paper-2); }
.rtx-xsec--tint { background: var(--paper); }
.rtx-xsec--navy { background: var(--c-blue-night); color: #fff; position: relative; overflow: hidden; }
.rtx-xsec--navy .rtx-section__title { color: #fff; }
.rtx-xsec__content { max-width: 60rem; font-size: 1.05rem; color: var(--ink-soft); }
.rtx-xsec--navy .rtx-xsec__content { color: #c2d2ec; }
.rtx-xsec__content > :first-child { margin-top: 0; }
.rtx-xsec__content > :last-child { margin-bottom: 0; }
.rtx-xsec__content p { margin: 0 0 1em; }
.rtx-xsec__content h3,
.rtx-xsec__content h4 { font-family: var(--heading); color: var(--ink); margin: 1.6em 0 .5em; line-height: 1.2; }
.rtx-xsec__content h3 { font-size: 1.4rem; }
.rtx-xsec__content h4 { font-size: 1.12rem; }
.rtx-xsec--navy .rtx-xsec__content h3,
.rtx-xsec--navy .rtx-xsec__content h4 { color: #fff; }
.rtx-xsec__content ul,
.rtx-xsec__content ol { margin: 0 0 1.2em; padding-left: 1.3em; }
.rtx-xsec__content li { margin: .35em 0; }
.rtx-xsec__content a { color: var(--c-bright); text-decoration: underline; text-underline-offset: 2px; }
.rtx-xsec__content a:hover { color: var(--c-blue); }
.rtx-xsec--navy .rtx-xsec__content a:hover { color: #fff; }
.rtx-xsec__content strong { color: var(--ink); }
.rtx-xsec--navy .rtx-xsec__content strong { color: #fff; }
.rtx-xsec__content img { border-radius: var(--radius-sm); }
.rtx-xsec__content figure { margin: 0 0 1.2em; }

/* venue header: name + address beside the hotel photo */
.rtx-venue { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(28px, 4vw, 56px); align-items: center; margin: 0 0 1.8em; }
.rtx-venue__name { font-family: var(--heading); font-size: clamp(1.5rem, 2.2vw, 1.9rem); color: var(--ink); margin: 0 0 12px; line-height: 1.15; }
.rtx-xsec__content .rtx-venue__name { margin: 0 0 12px; }
.rtx-venue__addr { font-size: 1.12rem; line-height: 1.55; margin: 0 0 1.1em; }
.rtx-venue__photo { margin: 0; }
.rtx-xsec__content .rtx-venue__photo { margin: 0; }
.rtx-venue__photo img { width: 100%; height: auto; display: block; border-radius: var(--radius); box-shadow: var(--shadow); }
@media (max-width: 760px) {
  .rtx-venue { grid-template-columns: 1fr; }
  .rtx-venue__photo { order: -1; }
}

/* =====================================================================
   AGENDA
   ===================================================================== */
.rtx-agenda { background: linear-gradient(180deg, #eaf3fb 0%, var(--paper) 100%); }
.rtx-agenda__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }

.rtx-daytabs { display: inline-flex; padding: 6px; gap: 6px; background: #fff; border: 1px solid var(--line); border-radius: 999px; box-shadow: var(--shadow); }
.rtx-daytab {
  font-family: var(--heading); font-size: .98rem; color: var(--ink-soft);
  padding: 12px 22px; border-radius: 999px; border: 0; background: transparent; cursor: pointer;
  transition: color .2s; white-space: nowrap;
}
.rtx-daytab small { display: block; font-size: .72rem; color: var(--c-grey); font-family: var(--body); }
.rtx-daytab.is-active { background-image: var(--grad-brand); color: #fff; }
.rtx-daytab.is-active small { color: rgba(255,255,255,.85); }

.rtx-day { display: none; }
.rtx-day.is-active { display: block; animation: rtx-fade .5s ease; }
/* per-day heading shown only in stacked-day mode (see NAM skin) */
.rtx-day__title { display: none; }

/* timeline */
.rtx-timeline { position: relative; margin-left: 6px; }
.rtx-timeline::before {
  content: ""; position: absolute; left: 168px; top: 8px; bottom: 8px; width: 2px;
  background: linear-gradient(var(--c-bright), var(--c-teal));
  opacity: .35;
}
.rtx-ses { position: relative; display: grid; grid-template-columns: 168px 1fr; gap: 28px; padding: 0 0 22px; }
.rtx-ses__time { text-align: right; padding-top: 22px; position: relative; }
.rtx-ses__time time { font-family: var(--display); font-size: 1.15rem; color: var(--c-blue); letter-spacing: .01em; white-space: nowrap; }
.rtx-ses__dot {
  position: absolute; right: -29px; top: 30px; width: 14px; height: 14px; border-radius: 50%;
  background: #fff; border: 3px solid var(--c-bright); box-shadow: 0 0 0 5px rgba(0,169,224,.14); z-index: 1;
}
.rtx-ses__card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 24px 26px; box-shadow: var(--shadow);
  transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, border-color .3s;
}
.rtx-ses__card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); border-color: #cfe0f3; }
.rtx-ses__kicker { display: inline-block; font-family: var(--heading); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--c-bright); margin-bottom: 8px; }
.rtx-ses__title { font-size: clamp(1.15rem, 1.8vw, 1.45rem); color: var(--ink); }
.rtx-ses__desc { color: var(--ink-soft); margin: 10px 0 0; font-size: 1rem; }
.rtx-ses__note { margin: 10px 0 0; font-size: .95rem; color: var(--ink-soft); }
.rtx-ses__note b { color: var(--ink); }
.rtx-ses__people { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.rtx-chip {
  display: inline-flex; align-items: baseline; gap: 8px; max-width: 100%;
  padding: 8px 16px; border-radius: 14px;
  background: var(--c-lightblue); color: var(--c-blue);
  font-size: .92rem;
}
.rtx-chip b { font-family: var(--heading); font-weight: 400; white-space: nowrap; }
.rtx-chip span { color: var(--ink-soft); font-family: var(--body); font-size: .84rem; }

/* break row */
.rtx-ses--break .rtx-ses__card {
  background: transparent; border: 1px dashed #c4d4e8; box-shadow: none;
  display: flex; align-items: center; gap: 12px; color: var(--ink-soft); padding: 14px 22px;
}
.rtx-ses--break .rtx-ses__card:hover { transform: none; }
.rtx-ses--break .rtx-ses__title { font-family: var(--heading); font-size: 1rem; color: var(--ink-soft); text-transform: uppercase; letter-spacing: .12em; }
.rtx-ses--break .rtx-ses__dot { border-color: var(--c-grey); box-shadow: none; }

/* =====================================================================
   SPEAKERS
   ===================================================================== */
.rtx-speakers { background: var(--c-blue-night); color: #fff; overflow: hidden; position: relative; }
.rtx-speakers::before { content:""; position:absolute; inset:0; background: radial-gradient(80% 60% at 90% 0%, rgba(0,169,224,.25), transparent 60%), radial-gradient(60% 50% at 0% 100%, rgba(238,68,141,.18), transparent 60%); pointer-events:none; }
.rtx-speakers .rtx-section__title { color: #fff; }
.rtx-speakers .rtx-section__lead { color: #b9c9e6; }
.rtx-spk-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; position: relative; }
.rtx-spk {
  position: relative; border-radius: var(--radius); overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.1);
  transition: transform .3s cubic-bezier(.2,.7,.2,1), border-color .3s;
}
.rtx-spk:hover { transform: translateY(-6px); border-color: rgba(0,169,224,.6); }
.rtx-spk__photo { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: #0a1f4a; }
.rtx-spk__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.rtx-spk:hover .rtx-spk__photo img { transform: scale(1.06); }
.rtx-spk__photo::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, transparent 45%, rgba(0,18,66,.9) 100%); }
.rtx-spk__ph-fallback { width:100%; height:100%; display:grid; place-items:center; font-family:var(--display); font-size:2.4rem; color:#fff; background-image: var(--grad-brand); }
.rtx-spk__body { padding: 16px 18px 20px; position: relative; }
.rtx-spk__name { font-family: var(--heading); font-size: 1.08rem; color: #fff; }
.rtx-spk__role { color: #a9bcdc; font-size: .86rem; margin-top: 4px; line-height: 1.4; }
.rtx-spk__co { color: var(--c-bright); font-size: .86rem; font-family: var(--heading); margin-top: 6px; }
.rtx-spk__accent { position:absolute; left:0; right:0; top:0; height:3px; background: var(--grad-pop); transform: scaleX(0); transform-origin: left; transition: transform .35s; }
.rtx-spk:hover .rtx-spk__accent { transform: scaleX(1); }
.rtx-spk:nth-child(3n) .rtx-spk__accent { background: var(--grad-rose); }
.rtx-spk:nth-child(3n+1) .rtx-spk__accent { background: var(--grad-brand); }

/* =====================================================================
   SPONSORS
   ===================================================================== */
.rtx-sponsors { background: var(--paper); }
.rtx-sponsors__sub { font-family: var(--heading); text-transform: uppercase; letter-spacing: .18em; font-size: .82rem; color: var(--c-blue); margin: 0 0 22px; display:flex; align-items:center; gap:14px; }
.rtx-sponsors__sub::after { content:""; flex:1; height:1px; background: var(--line); }
.rtx-partners { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 64px; }
.rtx-partner {
  display: grid; place-items: center; padding: 38px 28px; min-height: 150px;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow);
  transition: transform .3s, box-shadow .3s;
}
.rtx-partner:hover { transform: translateY(-5px); box-shadow: var(--shadow-lift); }
.rtx-partner img { max-height: 70px; width: auto; object-fit: contain; }

.rtx-logos { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.rtx-logo {
  display: grid; place-items: center; padding: 24px 18px; min-height: 108px;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-sm);
  transition: transform .3s, box-shadow .3s;
}
.rtx-logo:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.rtx-logo img { max-height: 52px; width: auto; object-fit: contain; filter: grayscale(1); opacity: .72; transition: filter .3s, opacity .3s; }
.rtx-logo:hover img { filter: none; opacity: 1; }

/* ---------- Tiered sponsor cards (logo + description) ---------- */
.rtx-tier { display: grid; gap: 18px; margin-bottom: 56px; }
.rtx-tier:last-child { margin-bottom: 0; }
.rtx-tier__card {
  display: grid; grid-template-columns: 220px 1fr; gap: 26px; align-items: start;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow); padding: 28px 30px;
  transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s;
}
.rtx-tier__card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); }
.rtx-tier__logo { display: grid; place-items: center; padding: 14px; min-height: 96px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; }
.rtx-tier__logo img { max-height: 64px; max-width: 100%; width: auto; object-fit: contain; }
.rtx-tier__body { color: var(--ink-soft); font-size: .98rem; }
.rtx-tier__body p { margin: 0 0 12px; }
.rtx-tier__body p:last-child { margin-bottom: 0; }
.rtx-tier__body a { color: var(--c-bright); text-decoration: underline; text-underline-offset: 2px; }
.rtx-tier__name { font-family: var(--heading); font-size: 1.15rem; color: var(--ink); margin: 0 0 8px; }
.rtx-tier__links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.rtx-tier__links a {
  font-family: var(--heading); font-size: .9rem; color: var(--c-blue);
  padding: 8px 18px; border-radius: 999px; background: var(--c-lightblue);
  text-decoration: none; transition: background .2s, color .2s;
}
.rtx-tier__links a:hover { background: var(--c-blue); color: #fff; }

/* =====================================================================
   FINAL CTA
   ===================================================================== */
.rtx-cta { position: relative; overflow: hidden; color: #fff; padding: clamp(70px, 10vw, 130px) 0; background: radial-gradient(120% 140% at 0% 0%, #103fb0, var(--c-blue-deep) 70%); }
.rtx-cta__orb { position:absolute; border-radius:50%; filter: blur(70px); opacity:.5; z-index:0; }
.rtx-cta__orb--a { width: 40vw; height:40vw; right:-10vw; top:-14vw; background: radial-gradient(circle, rgba(0,169,224,.9), transparent 65%); }
.rtx-cta__orb--b { width: 30vw; height:30vw; left:-8vw; bottom:-12vw; background: radial-gradient(circle, rgba(18,221,182,.8), transparent 65%); }
.rtx-cta__inner { position: relative; z-index:1; text-align: center; }
.rtx-cta__logo { width: clamp(200px, 32vw, 380px); height: auto; margin: 0 auto 22px; filter: drop-shadow(0 12px 34px rgba(0,0,0,.22)); }
.rtx-cta__title { font-family: var(--display); text-transform: uppercase; font-size: clamp(2.4rem, 6vw, 5rem); line-height: .95; color:#fff; }
.rtx-cta__title .yr { -webkit-text-fill-color: transparent; -webkit-background-clip:text; background-clip:text; background-image: var(--grad-pop); }
.rtx-cta__sub { color:#cfe0f6; font-size: clamp(1.05rem,1.6vw,1.3rem); margin: 18px auto 0; max-width: 56ch; }
.rtx-cta__actions { margin-top: 34px; display:flex; gap:16px; justify-content:center; flex-wrap: wrap; }
.rtx-cta__date { margin-top: 22px; font-family: var(--heading); letter-spacing:.08em; color:#9fb4d6; text-transform: uppercase; font-size:.85rem; }

/* =====================================================================
   WATCH LIVE (gated)
   ===================================================================== */
.rtx-live { background: var(--c-blue-night); color: #fff; position: relative; overflow: hidden; }
.rtx-live::before { content:""; position:absolute; inset:0; background: radial-gradient(70% 60% at 85% 0%, rgba(0,169,224,.22), transparent 60%), radial-gradient(60% 50% at 0% 100%, rgba(18,221,182,.14), transparent 60%); pointer-events:none; }
.rtx-live .rtx-section__title { color: #fff; }
.rtx-live .rtx-section__lead { color: #b9c9e6; }
.rtx-live__stage { position: relative; max-width: 980px; margin: 0 auto; }
.rtx-login {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: var(--radius);
  padding: 28px;
  backdrop-filter: blur(6px);
  box-shadow: var(--shadow-lift);
}
.rtx-login__label { display: block; margin: 0 0 16px; color: #cfe0f6; font-family: var(--heading); }
.rtx-login__row { display: flex; gap: 12px; flex-wrap: wrap; }
.rtx-login__input {
  flex: 1 1 220px; min-width: 0;
  padding: 14px 16px; border-radius: 10px;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.08); color: #fff;
  font-family: var(--body); font-size: 1rem;
}
.rtx-login__input::placeholder { color: #9fb4d6; }
.rtx-login__input:focus { outline: none; border-color: var(--c-bright); box-shadow: 0 0 0 3px rgba(0,169,224,.25); }
.rtx-login__btn { flex: 0 0 auto; }
.rtx-login__error { color: #ff9bbf; margin: 14px 0 0; min-height: 1em; font-size: .92rem; }

/* ---------- On-demand session replay gallery ---------- */
.rtx-vod {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 22px;
}
.rtx-vod__card {
  display: block;
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
  cursor: pointer;
  color: inherit;
  font: inherit;
  border-radius: 12px;
}
.rtx-vod__card:focus-visible { outline: 3px solid var(--c-bright); outline-offset: 4px; }
.rtx-vod__thumb {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  overflow: hidden;
  background: #000;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 10px 24px rgba(0,8,28,.35);
}
.rtx-vod__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* YT hqdefault is 4:3 — cover crops the letterbox bars */
  display: block;
  transition: transform .35s ease;
}
.rtx-vod__card:hover .rtx-vod__thumb img,
.rtx-vod__card:focus-visible .rtx-vod__thumb img { transform: scale(1.06); }
.rtx-vod__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(0, 8, 28, .55);
  border: 1px solid rgba(255, 255, 255, .4);
  backdrop-filter: blur(4px);
  color: #fff;
  transition: background .25s ease, transform .25s ease;
}
.rtx-vod__play svg { width: 22px; height: 22px; display: block; margin-left: 3px; }
.rtx-vod__card:hover .rtx-vod__play,
.rtx-vod__card:focus-visible .rtx-vod__play { background: var(--c-bright); transform: translate(-50%, -50%) scale(1.08); }
.rtx-vod__title {
  display: block;
  margin-top: 12px;
  font-size: .92rem;
  line-height: 1.45;
  color: #cfe0f6;
}
.rtx-vod__card:hover .rtx-vod__title { color: #fff; }
@media (max-width: 900px) {
  .rtx-vod { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .rtx-vod { grid-template-columns: 1fr; gap: 22px; }
}
.rtx-live__video {
  position: relative; aspect-ratio: 16 / 9;
  border-radius: var(--radius); overflow: hidden;
  box-shadow: var(--shadow-lift); background: #000;
}
.rtx-live__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* =====================================================================
   VIDEO MODAL
   ===================================================================== */
.rtx-modal { position: fixed; inset: 0; z-index: 9999; display: none; place-items: center; padding: 24px; background: rgba(0,8,28,.85); backdrop-filter: blur(6px); }
.rtx-modal.is-open { display: grid; animation: rtx-fade .3s ease; }
.rtx-modal__frame { width: min(960px, 100%); aspect-ratio: 16/9; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-lift); background:#000; }
.rtx-modal__frame iframe { width: 100%; height: 100%; border: 0; }
.rtx-modal__close { position: absolute; top: 22px; right: 26px; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.08); color:#fff; font-size: 1.4rem; cursor: pointer; }
.rtx-modal__close:hover { background: rgba(255,255,255,.18); }

/* =====================================================================
   SPEAKER BIO MODAL + card affordances
   ===================================================================== */
a.rtx-spk { display: block; text-decoration: none !important; color: inherit; }
.rtx-spk--bio { cursor: pointer; }
.rtx-spk__more {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 12px;
  font-family: var(--heading); font-size: .78rem; letter-spacing: .06em;
  text-transform: uppercase; color: var(--c-teal);
}
.rtx-spk__more::after { content: "\2192"; transition: transform .25s; }
.rtx-spk:hover .rtx-spk__more::after { transform: translateX(4px); }
button.rtx-spk__more--btn { background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }
button.rtx-spk__more--btn:focus-visible { outline: 2px solid var(--c-bright); outline-offset: 3px; border-radius: 2px; }

.rtx-bio-modal { position: fixed; inset: 0; z-index: 9999; display: none; place-items: center; padding: 24px; background: rgba(0,8,28,.85); backdrop-filter: blur(6px); }
.rtx-bio-modal.is-open { display: grid; animation: rtx-fade .3s ease; }
.rtx-bio-modal__panel {
  position: relative; display: flex; flex-direction: column;
  width: min(760px, 100%); max-height: min(84vh, 860px); overflow: hidden;
  background: #fff; color: var(--ink);
  border-radius: var(--radius); box-shadow: var(--shadow-lift);
}
.rtx-bio-modal__close {
  position: absolute; top: 14px; right: 14px; z-index: 2; width: 42px; height: 42px;
  border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--ink);
  font-size: 1.35rem; line-height: 1; cursor: pointer; transition: background .2s, color .2s;
}
.rtx-bio-modal__close:hover { background: var(--c-blue); color: #fff; }
.rtx-bio-modal__head {
  flex: none; display: flex; align-items: center; gap: 18px;
  padding: clamp(22px, 3.6vw, 32px) clamp(22px, 4vw, 40px) 18px;
  border-bottom: 1px solid var(--line);
}
.rtx-bio-modal__photo { flex: none; width: 96px; height: 96px; border-radius: 14px; overflow: hidden; background: var(--c-blue-night); }
.rtx-bio-modal__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rtx-bio-modal__ph-fallback { width: 100%; height: 100%; display: grid; place-items: center; font-family: var(--display); font-size: 1.8rem; color: #fff; background-image: var(--grad-brand); }
.rtx-bio-modal__id { min-width: 0; padding-right: 40px; }
.rtx-bio-modal__name { font-family: var(--heading); font-size: clamp(1.2rem, 2.4vw, 1.45rem); color: var(--c-blue); margin: 0; }
.rtx-bio-modal__role { color: var(--ink-soft); font-size: .95rem; margin-top: 4px; line-height: 1.4; }
.rtx-bio-modal__co { color: var(--c-bright); font-family: var(--heading); font-size: .95rem; margin-top: 4px; }
.rtx-bio-modal__body { overflow-y: auto; padding: 20px clamp(22px, 4vw, 40px) clamp(24px, 3.6vw, 34px); font-size: .98rem; line-height: 1.7; color: var(--ink); }
.rtx-bio-modal__body p { margin: 0 0 1em; }
.rtx-bio-modal__body p:last-child { margin-bottom: 0; }

@media (max-width: 640px) {
  .rtx-bio-modal { padding: 12px; }
  .rtx-bio-modal__panel { max-height: 92vh; }
  .rtx-bio-modal__head { gap: 14px; }
  .rtx-bio-modal__photo { width: 68px; height: 68px; border-radius: 10px; }
  .rtx-bio-modal__close { top: 10px; right: 10px; width: 38px; height: 38px; }
}

/* =====================================================================
   SCROLL REVEAL
   ===================================================================== */
.rtx-reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.rtx-reveal.is-visible { opacity: 1; transform: none; }

/* =====================================================================
   KEYFRAMES
   ===================================================================== */
@keyframes rtx-float { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(3%, 5%) scale(1.08); } }
@keyframes rtx-pulse { 0%,100% { box-shadow: 0 0 0 4px rgba(18,221,182,.25); } 50% { box-shadow: 0 0 0 8px rgba(18,221,182,0); } }
@keyframes rtx-cue { 0%,100% { transform: scaleY(.4); opacity:.4; } 50% { transform: scaleY(1); opacity:1; } }
@keyframes rtx-fade { from { opacity: 0; } to { opacity: 1; } }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width: 1024px) {
  .rtx-spk-grid { grid-template-columns: repeat(3, 1fr); }
  .rtx-partners { grid-template-columns: repeat(2, 1fr); }
  .rtx-logos { grid-template-columns: repeat(4, 1fr); }
  .rtx-about__grid { grid-template-columns: 1fr; }
  .rtx-topics__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .rtx-topics__grid { grid-template-columns: 1fr; }
  .rtx-tier__card { grid-template-columns: 1fr; gap: 18px; }
  .rtx-tier__logo { max-width: 260px; min-height: 78px; }
  /* long day labels/venue sublabels (in-person events) must wrap, not overflow */
  .rtx-daytabs { display: flex; width: 100%; }
  .rtx-daytab { flex: 1 1 0; min-width: 0; white-space: normal; padding: 10px 12px; }
  .rtx-subnav__links { display: none; }
  .rtx-subnav__links.is-open { display: flex; position: absolute; top: 64px; left: 0; right: 0; flex-direction: column; background: rgba(0,26,85,.97); padding: 12px; gap: 4px; }
  .rtx-subnav__toggle { display: inline-grid; place-items:center; width:42px; height:42px; border-radius:10px; border:1px solid rgba(255,255,255,.2); background:transparent; color:#fff; cursor:pointer; }
  .rtx-spk-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .rtx-logos { grid-template-columns: repeat(3, 1fr); }
  .rtx-timeline::before { left: 8px; }
  .rtx-ses { grid-template-columns: 1fr; gap: 6px; }
  .rtx-ses__time { text-align: left; padding: 0 0 0 30px; }
  .rtx-ses__dot { left: 2px; right: auto; top: 6px; }
  .rtx-ses__time time { font-size: 1rem; }
}
@media (max-width: 560px) {
  /* long text brands (e.g. "Manufacturing") clip inside the hero at the
     3.6rem clamp floor - drop the floor on small phones */
  .rtx-hero__title { font-size: clamp(2.3rem, 9.6vw, 3.4rem); }
}
@media (max-width: 480px) {
  .rtx-spk-grid { grid-template-columns: 1fr 1fr; }
  .rtx-partners { grid-template-columns: 1fr 1fr; }
  .rtx-count { min-width: 70px; }
}

@media (prefers-reduced-motion: reduce) {
  .rtx *, .rtx *::before, .rtx *::after { animation: none !important; transition: none !important; }
  .rtx-reveal { opacity: 1; transform: none; }
}

/* =====================================================================
   NAM SITE SKIN — the template root carries .rtx--{site_theme}; on the
   nam scheme swap the MLC electric teal/rose accents for the NAM palette
   (navy stays --wdg-color-primary via --c-blue; bright blue matches the
   NAM secondary already). MLC installs (.rtx--mlc) are untouched.
   ===================================================================== */
.rtx--nam {
  /* secondary accent (year highlight, gradients, card accents) - editors can
     override per event via the Accent Color field (inline --c-teal on the root) */
  --c-teal: var(--wdg-color-yellow, #FFD100);
  --c-rose: var(--wdg-color-secondary, #00a9e0);
  --grad-rose: linear-gradient(120deg, var(--c-blue) 0%, var(--c-bright) 100%);
  /* single-hue sheen: a blue-to-accent gradient would reintroduce green
     midtones, so the pop gradient stays inside the accent family */
  --grad-pop: linear-gradient(120deg, #FFDA33 0%, #FFD100 55%, #E6B800 100%);
}
@supports (color: color-mix(in srgb, red 50%, blue)) {
  /* accent-following version so the editor Accent Color field retints it */
  .rtx--nam {
    --grad-pop: linear-gradient(120deg,
        color-mix(in srgb, var(--c-teal) 78%, white) 0%,
        var(--c-teal) 55%,
        color-mix(in srgb, var(--c-teal) 82%, black) 100%);
  }
}
/* agenda timeline rail: blue-to-accent also mixes green - keep it blue */
.rtx--nam .rtx-timeline::before { background: var(--c-bright); }
/* day pickers on their own row, centered (section title keeps its left row) */
.rtx--nam .rtx-agenda__head > .rtx-section__head { flex: 1 1 100%; }
.rtx--nam .rtx-daytabs { margin-inline: auto; }
/* sponsors intro copy (contact info) under the section header */
.rtx-sponsors__intro { max-width: 54rem; font-size: 1.05rem; color: var(--ink-soft); margin: -14px 0 clamp(32px, 4vw, 48px); }
.rtx-sponsors__intro p { margin: 0 0 1em; }
.rtx-sponsors__intro p:last-child { margin-bottom: 0; }
.rtx-sponsors__intro a { color: var(--c-bright); text-decoration: underline; text-underline-offset: 2px; }
.rtx-sponsors__intro a:hover { color: var(--c-blue); }
.rtx--nam .rtx-dots span { background: var(--wdg-color-bright-blue, #00a9e0); }
/* NAM sections lead with plain H2 headers - no eyebrow kickers */
.rtx--nam .rtx-eyebrow { display: none; }
/* text column reads from the top of the section, not vertically centered */
.rtx--nam .rtx-about__grid { align-items: start; }
/* tighter vertical rhythm - the default 120px paddings doubled up between
   the agenda and the text sections that follow it */
.rtx--nam .rtx-agenda { padding-bottom: clamp(40px, 5vw, 64px); }
.rtx--nam .rtx-xsec { padding: clamp(44px, 5.5vw, 76px) 0; }
/* gb-container treatment: text sections read as a centered column, not
   left-skewed against the full 1200px inner width */
.rtx--nam .rtx-xsec .rtx-section__head,
.rtx--nam .rtx-xsec .rtx-xsec__content { max-width: 54rem; margin-inline: auto; }
/* decorative glows follow the accent; static yellow fallbacks for browsers
   without color-mix */
.rtx--nam .rtx-hero__orb--3 { background: radial-gradient(circle, rgba(255,209,0,.55), transparent 65%); background: radial-gradient(circle, color-mix(in srgb, var(--c-teal) 55%, transparent), transparent 65%); }
.rtx--nam .rtx-speakers::before { background: radial-gradient(80% 60% at 90% 0%, rgba(0,169,224,.25), transparent 60%), radial-gradient(60% 50% at 0% 100%, rgba(255,209,0,.14), transparent 60%); background: radial-gradient(80% 60% at 90% 0%, rgba(0,169,224,.25), transparent 60%), radial-gradient(60% 50% at 0% 100%, color-mix(in srgb, var(--c-teal) 14%, transparent), transparent 60%); }
.rtx--nam .rtx-live::before { background: radial-gradient(70% 60% at 85% 0%, rgba(0,169,224,.22), transparent 60%), radial-gradient(60% 50% at 0% 100%, rgba(255,209,0,.12), transparent 60%); background: radial-gradient(70% 60% at 85% 0%, rgba(0,169,224,.22), transparent 60%), radial-gradient(60% 50% at 0% 100%, color-mix(in srgb, var(--c-teal) 12%, transparent), transparent 60%); }
.rtx--nam .rtx-btn--pop { box-shadow: 0 12px 28px -10px rgba(255,209,0,.5); box-shadow: 0 12px 28px -10px color-mix(in srgb, var(--c-teal) 50%, transparent); }
.rtx--nam .rtx-badge .dot { box-shadow: 0 0 0 4px rgba(255,209,0,.3); animation: rtx-pulse-nam 2s infinite; }
@keyframes rtx-pulse-nam { 0%,100% { box-shadow: 0 0 0 4px rgba(255,209,0,.3); } 50% { box-shadow: 0 0 0 8px rgba(255,209,0,0); } }

/* =====================================================================
   MI SITE SKIN - on the mi scheme swap the MLC electric teal/rose
   accents for MI green (--wdg-color-secondary; navy stays
   --wdg-color-primary via --c-blue). MI's scheme ALSO defines
   --wdg-color-electric-teal/rose, so without this skin the page would
   render the MLC accents. Structural rules mirror the .rtx--nam
   in-person summit treatment (Legal Summit).
   ===================================================================== */
.rtx--mi {
  /* secondary accent (year highlight, gradients, card accents) - editors can
     override per event via the Accent Color field (inline --c-teal on the root) */
  --c-teal: var(--wdg-color-secondary, #5BC500);
  --c-rose: var(--wdg-color-secondary, #5BC500);
  --grad-rose: linear-gradient(120deg, var(--c-blue) 0%, var(--c-bright) 100%);
  /* single-hue sheen built from the MI green ramp (light / base / dark) */
  --grad-pop: linear-gradient(120deg, #9DDC66 0%, #5BC500 55%, #449400 100%);
}
@supports (color: color-mix(in srgb, red 50%, blue)) {
  /* accent-following version so the editor Accent Color field retints it */
  .rtx--mi {
    --grad-pop: linear-gradient(120deg,
        color-mix(in srgb, var(--c-teal) 78%, white) 0%,
        var(--c-teal) 55%,
        color-mix(in srgb, var(--c-teal) 82%, black) 100%);
  }
}
/* agenda timeline rail: blue-to-green mixes muddy midtones - keep it blue */
.rtx--mi .rtx-timeline::before { background: var(--c-bright); }
/* day pickers on their own row, centered (section title keeps its left row).
   The base .rtx-section__head max-width (760px) caps the flex-basis, so three
   narrow day tabs would otherwise fit beside it on the same flex line - lift
   the cap on the flex item and re-cap the text inside instead. */
.rtx--mi .rtx-agenda__head > .rtx-section__head { flex: 1 1 100%; max-width: 100%; }
.rtx--mi .rtx-agenda__head .rtx-section__title,
.rtx--mi .rtx-agenda__head .rtx-section__lead { max-width: 760px; }
.rtx--mi .rtx-daytabs { margin-inline: auto; }
.rtx--mi .rtx-dots span { background: var(--wdg-color-secondary, #5BC500); }
/* MI sections lead with plain H2 headers - no eyebrow kickers */
.rtx--mi .rtx-eyebrow { display: none; }
/* subnav: the Summit wordmark is a squat 2:1 lockup (Rethink's was a wide
   strip), so the base 24px height renders it illegible - a taller bar, a
   bigger mark and larger link type. The dead-band collapse must track the
   bar height (inner + 1px border), and the mobile drawer opens below it. */
.rtx--mi .rtx-subnav { margin-bottom: -81px; }
.rtx--mi .rtx-subnav__inner { height: 80px; }
.rtx--mi .rtx-subnav__logo { height: 60px; }
.rtx--mi .rtx-subnav__links a { font-size: 1.12rem; padding: 10px 16px; }
.rtx--mi .rtx-subnav__cta { font-size: 1rem; }
.rtx--mi .rtx-subnav__links.is-open { top: 80px; }
/* hero: Legal Summit scale (full-screen presence), but with the top padding
   held below the base 200px so the space above the wordmark stays modest -
   the 92vh centering supplies the size, not a dead navy void. */
.rtx--mi .rtx-hero { min-height: 92vh; padding-top: clamp(72px, 10vh, 120px); }
/* hero backdrop: the Summit brand graphic carries the Indianapolis skyline,
   which the base treatment (opacity .16, luminosity blend) reduces to a faint
   texture. Screen-blend it instead: the graphic's flat navy vanishes into the
   radial gradient (keeping the Legal Summit's vivid color depth and orb
   glows), while its lighter skyline structures glow through on the right.
   Scrim stays close to the base vertical wash with a light left bias so the
   text column keeps contrast. */
.rtx--mi .rtx-hero__media {
  opacity: .55;
  mix-blend-mode: screen;
  filter: saturate(1.05);
  background-position: right center;
}
.rtx--mi .rtx-hero__scrim {
  background:
    linear-gradient(97deg, rgba(0,37,110,.5) 0%, rgba(0,37,110,.22) 45%, rgba(0,37,110,0) 72%),
    linear-gradient(180deg, rgba(0,26,92,.08) 0%, rgba(0,26,92,.38) 60%, var(--c-blue-deep) 100%);
}
/* event theme reads as a display headline, not a subhead lost above the
   tagline paragraph (2026-09-03 per MI) - condensed display face at h1-ish
   scale; the colon lead-in span carries the blue-to-green gradient */
.rtx--mi .rtx-hero__sub {
  font-family: var(--display);
  font-size: clamp(1.8rem, 4.4vw, 3.3rem);
  line-height: 1.06;
  max-width: 17em;
  margin-top: 14px;
  text-shadow: 0 6px 40px rgba(0, 25, 80, .45);
}
/* text column reads from the top of the section, not vertically centered */
.rtx--mi .rtx-about__grid { align-items: start; }
/* tighter vertical rhythm - the default 120px paddings doubled up between
   the agenda and the text sections that follow it */
.rtx--mi .rtx-agenda { padding-bottom: clamp(40px, 5vw, 64px); }
.rtx--mi .rtx-xsec { padding: clamp(44px, 5.5vw, 76px) 0; }
/* gb-container treatment: text sections read as a centered column, not
   left-skewed against the full 1200px inner width */
.rtx--mi .rtx-xsec .rtx-section__head,
.rtx--mi .rtx-xsec .rtx-xsec__content { max-width: 54rem; margin-inline: auto; }
/* decorative glows follow the accent; static green fallbacks for browsers
   without color-mix */
.rtx--mi .rtx-hero__orb--3 { background: radial-gradient(circle, rgba(91,197,0,.5), transparent 65%); background: radial-gradient(circle, color-mix(in srgb, var(--c-teal) 55%, transparent), transparent 65%); }
.rtx--mi .rtx-speakers::before { background: radial-gradient(80% 60% at 90% 0%, rgba(0,169,224,.25), transparent 60%), radial-gradient(60% 50% at 0% 100%, rgba(91,197,0,.13), transparent 60%); background: radial-gradient(80% 60% at 90% 0%, rgba(0,169,224,.25), transparent 60%), radial-gradient(60% 50% at 0% 100%, color-mix(in srgb, var(--c-teal) 14%, transparent), transparent 60%); }
.rtx--mi .rtx-live::before { background: radial-gradient(70% 60% at 85% 0%, rgba(0,169,224,.22), transparent 60%), radial-gradient(60% 50% at 0% 100%, rgba(91,197,0,.11), transparent 60%); background: radial-gradient(70% 60% at 85% 0%, rgba(0,169,224,.22), transparent 60%), radial-gradient(60% 50% at 0% 100%, color-mix(in srgb, var(--c-teal) 12%, transparent), transparent 60%); }
.rtx--mi .rtx-btn--pop { box-shadow: 0 12px 28px -10px rgba(91,197,0,.5); box-shadow: 0 12px 28px -10px color-mix(in srgb, var(--c-teal) 50%, transparent); }
.rtx--mi .rtx-badge .dot { box-shadow: 0 0 0 4px rgba(91,197,0,.3); animation: rtx-pulse-mi 2s infinite; }
@keyframes rtx-pulse-mi { 0%,100% { box-shadow: 0 0 0 4px rgba(91,197,0,.3); } 50% { box-shadow: 0 0 0 8px rgba(91,197,0,0); } }
/* MI sponsor tiers are logo walls (entries carry no descriptions, unlike the
   Legal Summit's blurb cards) - lay each tier out as a tile grid instead of
   stacked full-width rows. If a future MI event fills entry descriptions,
   drop this block or scope it per event. */
.rtx--mi .rtx-tier { grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr)); align-items: stretch; }
.rtx--mi .rtx-tier__card { grid-template-columns: 1fr; gap: 12px; padding: 20px; text-align: center; align-items: center; }
.rtx--mi .rtx-tier__logo { width: 100%; }
.rtx--mi .rtx-tier__body { font-size: .95rem; }
.rtx--mi .rtx-tier__name { font-size: 1.02rem; line-height: 1.3; display: grid; place-items: center; min-height: 96px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 14px; color: var(--ink); }
