/* ============================================================
   CLOSING CALL TO ACTION
   ============================================================ */
.wlc-closing { background: #24262b; padding: 96px 0; text-align: center; }
.wlc-closing-inner { max-width: 1040px; margin: 0 auto; padding: 0 32px; }
.wlc-closing-h2 {
  font-family: var(--font-display-stack, "Fraunces", serif);
  font-weight: 500;
  font-size: clamp(26px, 3.4vw, 44px);
  line-height: 1.2;
  color: #edf1f0;
  margin: 0 auto;
  text-align: center;
  max-width: 100%;
}
@media (min-width: 1024px) { .wlc-closing-h2 { white-space: nowrap; } }
.wlc-closing-underline {
  display: block;
  width: 64px;
  height: 4px;
  background: #edbf2a;
  border-radius: 2px;
  margin: 22px auto 0;
}
.wlc-closing-sub {
  font-family: var(--font-body-stack, "Archivo", sans-serif);
  font-size: 17px;
  line-height: 1.6;
  color: rgba(237, 241, 240, 0.78);
  margin: 24px auto 0;
  max-width: 52ch;
}
.wlc-closing-btns { display: flex; align-items: center; gap: 16px; justify-content: center; flex-wrap: wrap; margin-top: 36px; }
.wlc-closing-btn-primary {
  background: #edbf2a;
  color: #24262b;
  font-weight: 700;
}
.wlc-closing-btn-primary:hover { background: #f4cc3f; }
.wlc-closing-btn-outline {
  border: 1.5px solid rgba(237, 241, 240, 0.5);
  color: #edf1f0;
  background: transparent;
}
.wlc-closing-btn-outline:hover { border-color: #edbf2a; color: #edbf2a; }
.wlc-closing-email {
  display: inline-block;
  margin-top: 28px;
  font-family: var(--font-body-stack, "Archivo", sans-serif);
  font-size: 16px;
  font-weight: 600;
  color: #92d3d2;
  letter-spacing: 0.02em;
  transition: opacity 0.2s ease;
}
.wlc-closing-email:hover { opacity: 0.75; }
@media (max-width: 760px) {
  .wlc-closing { padding: 64px 0; }
  .wlc-closing-h2 { white-space: normal; }
  .wlc-closing-btns { flex-direction: column; align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
  .wlc-closing-btn-primary,
  .wlc-closing-btn-outline,
  .wlc-closing-email { transition: none; }
}

/* ============================================================
   RESET & ROOT
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --charcoal: #2b2e34;
  --yellow:   #edbf2a;
  --lavender: #92d3d2;
  --teal:     #92d3d2;
  --offwhite: #edf1f0;
  --serif:    'Fraunces', Georgia, serif;
  --sans:     'Archivo', system-ui, sans-serif;
}
html { scroll-behavior: smooth; }
body {
  font-family: var(--sans);
  color: var(--charcoal);
  background: #fff;
  font-size: 18px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }

/* ── SITE WIDTH ──
   Cap the entire site at 1280px centered.
   Full-bleed sections (video, marquee, dark bands) break
   out to full width naturally since they're 100% width children. */
.site-frame {
  max-width: 1280px;
  margin: 0 auto;
}

/* Inner content padding for sections that need horizontal breathing room */
.nav,
.split-text,
.celebs,
.services,
.keynotes-section,
.testimonials,
.page-hero,
.page-section,
.about-content,
.footer {
  max-width: 1280px;
  /* padding already set per-section; this just caps them */
}


/* ── INNER CONTENT CAP ──
   Used inside full-bleed sections to cap content width
   while letting the background color extend edge-to-edge */
.inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 56px;
}
/* These sections ARE full-bleed edge-to-edge regardless of site-frame:
   video-hero, marquee-wrap, trusted, cornell-section,
   positioning, kit-bar, footer-cta — leave them at 100% width.
   Their inner content is already padded to 56px sides. */

/* ============================================================
   PAGE SYSTEM — show/hide pages
   ============================================================ */
.page { display: none; }
.page.active { display: block; }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn-primary {
  display: inline-block; background: var(--charcoal); color: #fff;
  font-family: var(--sans); font-size: 12px; font-weight: 500;
  letter-spacing: 0.09em; text-transform: uppercase;
  padding: 14px 28px; border-radius: 2px; border: none; cursor: pointer;
  transition: opacity 0.2s;
}
.btn-primary:hover { opacity: 0.85; }
.btn-yellow {
  display: inline-block; background: var(--yellow); color: var(--charcoal);
  font-family: var(--sans); font-size: 12px; font-weight: 500;
  letter-spacing: 0.09em; text-transform: uppercase;
  padding: 14px 28px; border-radius: 2px; border: none; cursor: pointer;
  transition: opacity 0.2s;
}
.btn-yellow:hover { opacity: 0.88; }
.btn-outline {
  display: inline-block; border: 1.5px solid var(--charcoal); color: var(--charcoal);
  font-family: var(--sans); font-size: 12px; font-weight: 500;
  letter-spacing: 0.09em; text-transform: uppercase;
  padding: 13px 26px; border-radius: 2px; background: transparent; cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.btn-outline:hover { background: var(--charcoal); color: #fff; }
.btn-outline-white {
  display: inline-block; border: 1.5px solid rgba(255,255,255,0.65); color: #fff;
  font-family: var(--sans); font-size: 12px; font-weight: 500;
  letter-spacing: 0.09em; text-transform: uppercase;
  padding: 13px 26px; border-radius: 2px; background: transparent; cursor: pointer;
}
.btn-kit-outline {
  display: inline-block; border: 1.5px solid #2b2e34; color: #edf1f0; background: #2b2e34;
  font-family: var(--sans); font-size: 12px; font-weight: 500;
  letter-spacing: 0.09em; text-transform: uppercase;
  padding: 13px 26px; border-radius: 2px; background: transparent; cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.btn-kit-outline:hover { background: #24262b; color: #edf1f0; }

/* ============================================================
   NAV
   ============================================================ */
.nav {
  position: sticky; top: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 56px; background: #fff; border-bottom: 1px solid #e8e8e8;
  max-width: 100%;
}
.nav-brand { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.nav-medallion {
  width: 38px; height: 38px; border-radius: 50%; background: var(--yellow);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif); font-size: 20px; color: var(--charcoal); flex-shrink: 0;
}
.nav-wordmark { font-family: var(--serif); font-size: 22px; letter-spacing: 0.02em; color: var(--charcoal); line-height: 1.1; }
.nav-wordmark span { display: block; font-family: var(--sans); font-size: 11px; font-weight: 300; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.6; }
.nav-links { display: flex; gap: 32px; }
.nav-links a { font-size: 12px; font-weight: 400; letter-spacing: 0.08em; text-transform: uppercase; color: var(--charcoal); opacity: 0.7; cursor: pointer; transition: opacity 0.2s; }
.nav-links a:hover, .nav-links a.active { opacity: 1; }

/* ============================================================
   VIDEO HERO
   ============================================================ */
.video-hero {
  position: relative; width: 100%; height: 560px;
  overflow: hidden; display: flex; align-items: center; justify-content: center;
}
.video-hero-fallback { position: absolute; inset: 0; background: linear-gradient(160deg,#111315 0%,#232629 50%,#1c1f24 100%); z-index: 0; }
.video-hero video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; }
.video-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.35); z-index: 1; }
.hero-text-scrim {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 60% at 50% 45%,
              rgba(43,46,52,0.72) 0%,
              rgba(43,46,52,0.45) 45%,
              rgba(43,46,52,0) 75%);
  z-index: 1;
  pointer-events: none;
}
.video-text { position: relative; z-index: 2; text-align: center; padding: 0 48px; }
.video-h1 { font-family: var(--serif); font-size: clamp(36px, 5vw, 58px); line-height: 1.1; color: rgba(255, 255, 255, 0.85); font-style: italic; margin-bottom: 20px; text-shadow: 0 2px 24px rgba(0,0,0,0.35); }
.video-h1-rotator {
  font-family: 'Dancing Script', 'Brush Script MT', cursive;
  color: #edbf2a;
  font-style: normal;
  font-weight: 700;
  font-size: 1.35em;
  display: inline-block;
  min-width: 3ch;
  opacity: 1;
  transition: opacity 350ms ease;
  vertical-align: baseline;
  line-height: 1;
  text-shadow: 0 2px 18px rgba(0,0,0,0.4);
}

/* ── HIGHLIGHT TREATMENT ── */
/* Uses box-shadow instead of padding for vertical fill
   so the box height matches the text cap-height exactly,
   never bleeds into adjacent lines regardless of font size */
.hl, .hl-dark, .hl-teal, .hl-lav {
  display: inline;
  background-repeat: no-repeat;
  background-size: 100% 1em;
  background-position: 0 0.08em;
  padding: 0 0.14em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  font-style: normal;
}
.hl      { background-image: linear-gradient(#edbf2a, #edbf2a); color: #2b2e34; }
.hl-dark { background-image: linear-gradient(#2b2e34, #2b2e34); color: #ffffff; }
.hl-teal { background-image: linear-gradient(#92d3d2, #92d3d2); color: #2b2e34; }
.hl-lav  { background-image: none; background: none; color: #edbf2a; padding: 0; }
.video-sub { font-size: 13px; color: var(--yellow); letter-spacing: 0.25em; text-transform: uppercase; font-weight: 700; }
.video-sub span { opacity: 0.4; margin: 0 14px; }
.video-scroll { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); z-index: 2; width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.35); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5); font-size: 14px; }

/* ============================================================
   THEATRE MARQUEE (bulb border)
   ============================================================ */
.theatre-marquee {
  position: relative;
  background: #1a1c20;
  overflow: hidden;
  padding: 0 56px;
}
.marquee-bulbs {
  height: 14px;
  background-image: radial-gradient(circle at center,
                    #ffe9a8 0%, #edbf2a 35%, transparent 55%);
  background-size: 1.4em 1.4em;
  background-repeat: repeat-x;
  background-position: center center;
  filter: drop-shadow(0 0 3px rgba(237,191,42,0.6));
}
.marquee-star {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  filter: drop-shadow(0 0 6px rgba(237,191,42,0.7));
  z-index: 2;
}
.marquee-star-left  { left: 14px; }
.marquee-star-right { right: 14px; }
.marquee-viewport { overflow: hidden; white-space: nowrap; }
.marquee-track-new {
  display: inline-block;
  padding: 14px 0;
  animation: marquee-scroll-new 36s linear infinite;
  will-change: transform;
}
.marquee-track-new:hover { animation-play-state: paused; }
@keyframes marquee-scroll-new {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.mq-phrase {
  font-family: var(--serif);
  font-style: italic;
  font-size: 17px;
  letter-spacing: 0.02em;
  padding: 0 22px;
}
.mq-sep { color: rgba(255,255,255,0.35); font-size: 15px; padding: 0 4px; }
.mq-lav  { color: #92d3d2; }
.mq-teal { color: #92d3d2; }
.mq-gold { color: #edbf2a; }
.mq-mag  { color: #920178; }

/* ============================================================
   WAVE DIVIDER
   ============================================================ */
.wave-divider {
  position: relative;
  width: 100%;
  height: 160px;
  overflow: hidden;
  background: #1a1c20;
  line-height: 0;
}
.wave-svg { width: 100%; height: 100%; display: block; }
.wave-brush {
  position: absolute;
  left: 50%;
  bottom: 18%;
  transform: translateX(-50%);
  width: 60%;
  max-width: 720px;
  height: auto;
  opacity: 0.9;
  pointer-events: none;
  mix-blend-mode: screen;
}

/* ============================================================
   SPLIT HERO
   ============================================================ */
.split-hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 520px; }
.split-text { padding: 72px 56px; display: flex; flex-direction: column; justify-content: center; }
.split-eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--teal); font-weight: 500; margin-bottom: 18px; }
.split-h2 { font-family: var(--serif); font-size: clamp(32px, 4vw, 48px); line-height: 1.34; color: var(--charcoal); margin-bottom: 22px; }
.split-h2 em { font-style: italic; }
/* Prevent browser default yellow on <mark> and keep our styling */
mark { background: none; color: inherit; }
.split-body { font-size: 17px; color: #555; line-height: 1.8; margin-bottom: 36px; max-width: 420px; }
.split-btns { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.split-image { background: var(--offwhite); display: flex; align-items: flex-end; justify-content: center; position: relative; overflow: hidden; }
.split-image img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.split-image-ph { width: 240px; height: 420px; background: var(--lavender); border-radius: 4px 4px 0 0; display: flex; align-items: center; justify-content: center; font-size: 13px; color: #7a6a90; text-align: center; line-height: 1.5; padding: 14px; }
.split-bar { position: absolute; bottom: 0; left: 0; right: 0; height: 5px; background: var(--yellow); }

/* ============================================================
   TRUSTED BY
   ============================================================ */
.trusted { background: var(--charcoal); padding: 52px 0; text-align: center; }
.trusted-inner { max-width: 1280px; margin: 0 auto; padding: 0 56px; }
.trusted-label { font-size: 12px; text-transform: uppercase; letter-spacing: 0.2em; color: rgba(255,255,255,0.38); margin-bottom: 26px; }
.trusted-grid { display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; max-width: 960px; margin: 0 auto; }
.trusted-logo { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.1); padding: 7px 15px; border-radius: 2px; font-size: 13px; color: rgba(255,255,255,0.7); letter-spacing: 0.03em; transition: background 0.2s; }
.trusted-logo:hover { background: rgba(255,255,255,0.13); }

/* ============================================================
   SECTION UTILITIES
   ============================================================ */
.section-label { font-size: 14px; text-transform: uppercase; letter-spacing: 0.13em; color: #920178; font-weight: 600; margin-bottom: 12px; }
.section-h2 { font-family: var(--serif); font-size: clamp(28px, 3.5vw, 40px); line-height: 1.3; color: var(--charcoal); margin-bottom: 12px; }
.section-sub { font-size: 17px; color: #555; line-height: 1.8; margin-bottom: 36px; max-width: 620px; }

/* ============================================================
   CELEBS TO CEOS
   ============================================================ */
.celebs { background: var(--offwhite); padding: 80px 56px; }
.celebs-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.celeb-card { border-radius: 3px; overflow: hidden; background: #fff; }
.celeb-ph { height: 170px; display: flex; align-items: center; justify-content: center; font-size: 11px; color: rgba(255,255,255,0.15); letter-spacing: 0.05em; }
.celeb-ph img { width: 100%; height: 100%; object-fit: cover; }
.celeb-caption { padding: 12px 14px 14px; font-size: 13px; color: var(--charcoal); font-weight: 500; line-height: 1.4; }
.celeb-caption span { display: block; font-weight: 400; color: #888; font-size: 12px; margin-top: 3px; }

/* ============================================================
   CORNELL
   ============================================================ */
.cornell-section { display: grid; grid-template-columns: 1fr 1fr; }
.cornell-left { background: var(--yellow); padding: 64px 56px; display: flex; flex-direction: column; justify-content: center; }
.cornell-eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: 0.13em; color: rgba(0,0,0,0.45); margin-bottom: 14px; }
.cornell-h3 { font-family: var(--serif); font-size: clamp(24px, 2.8vw, 32px); line-height: 1.2; color: var(--charcoal); margin-bottom: 16px; }
.cornell-body { font-size: 16px; color: #4a3c00; line-height: 1.8; }
.cornell-right { background: var(--charcoal); padding: 64px 56px; display: flex; flex-direction: column; justify-content: center; gap: 28px; }
.cornell-stat-name { font-family: var(--serif); font-size: 30px; color: var(--yellow); margin-bottom: 8px; }
.cornell-stat-label { font-size: 14px; color: #aaa; line-height: 1.7; }
.cornell-audience { font-size: 14px; color: var(--teal); line-height: 1.8; }

/* ============================================================
   POSITIONING
   ============================================================ */
.positioning-bg { background: var(--charcoal); }
.positioning { padding: 80px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; max-width: 1280px; margin: 0 auto; padding-left: 56px; padding-right: 56px; }
.pos-quote { font-family: var(--serif); font-size: clamp(20px, 2.2vw, 26px); line-height: 1.5; font-style: italic; color: #fff; }
.pos-quote span { color: var(--yellow); }
.pos-cred { margin-top: 26px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.1); font-size: 12px; color: var(--teal); letter-spacing: 0.07em; text-transform: uppercase; }
.pos-body { font-size: 16px; line-height: 1.9; color: #ccc; }

/* ============================================================
   SERVICES
   ============================================================ */
.services { padding: 80px 56px; }
.emcee-feature { position: relative; background: var(--charcoal); border-radius: 3px; padding: 48px; margin-bottom: 18px; display: grid; grid-template-columns: 1fr clamp(300px, 32%, 380px); gap: 32px; align-items: stretch; overflow: hidden; min-height: 520px; }
.emcee-feature > div:not(.emcee-feature-num):not(.emcee-figure-col) { align-self: center; }
.emcee-feature-num { font-family: var(--serif); font-size: 44px; color: rgba(255,255,255,0.10); position: absolute; top: 16px; right: 20px; line-height: 1; user-select: none; z-index: 2; }
.emcee-figure-col { position: relative; margin-right: 56px; }

.emcee-video { position: absolute; inset: 0; height: 100%; width: 100%; border-radius: 6px; overflow: hidden; }
.emcee-video video { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; border-radius: 6px; border: 0; display: block; opacity: 0; transform: translateY(20px); animation: emceeFigureIn 0.9s cubic-bezier(0.22,1,0.36,1) 0.15s forwards; }
.emcee-glow { position: absolute; inset: -6%; z-index: 0; z-index: 0; border-radius: 50%; background: radial-gradient(ellipse at center, rgba(237,191,42,0.10) 0%, rgba(146,1,120,0.08) 55%, rgba(146,1,120,0) 78%); filter: blur(60px); pointer-events: none; }
@keyframes emceeFigureIn { to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .emcee-video video { animation: none; opacity: 1; transform: none; } }
.emcee-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.13em; color: var(--yellow); margin-bottom: 10px; }
.emcee-title { font-family: var(--serif); font-size: 30px; color: #fff; margin-bottom: 14px; }
.emcee-desc { font-size: 16px; color: #ccc; line-height: 1.8; max-width: 560px; }
.emcee-num { font-family: var(--serif); font-size: 90px; color: rgba(255,255,255,0.05); line-height: 1; user-select: none; }
@media (max-width: 1023px) { .emcee-feature { grid-template-columns: 1fr; min-height: 0; } .emcee-video, .emcee-figure-col { display: none; } }
.service-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.service-card { border: 1px solid #e4e4e4; border-radius: 3px; padding: 32px 28px; position: relative; overflow: hidden; }
.service-card-num { font-family: var(--serif); font-size: 44px; color: #f2f2f2; position: absolute; top: 16px; right: 20px; line-height: 1; user-select: none; }
.service-card-title { font-size: 16px; font-weight: 500; color: var(--charcoal); margin-bottom: 10px; }
.service-card-desc { font-size: 15px; color: #666; line-height: 1.75; }
.service-tag { display: inline-block; margin-top: 16px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; padding: 4px 10px; background: var(--offwhite); color: #666; border-radius: 2px; }

/* ============================================================
   KEYNOTES
   ============================================================ */
.keynotes-section { background: var(--offwhite); padding: 80px 56px; }
.keynote-item { background: #fff; border-radius: 3px; padding: 28px 30px; margin-bottom: 14px; display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: start; border-left: 3px solid transparent; }
.keynote-item.broadway  { border-left-color: var(--yellow); }
.keynote-item.broadcast { border-left-color: var(--teal); }
.keynote-item.executive { border-left-color: var(--magenta, #920178); }
.keynote-title { font-family: var(--serif); font-size: 19px; color: var(--charcoal); margin-bottom: 8px; }
.keynote-sub { font-size: 15px; color: #666; line-height: 1.75; }
.keynote-badge { font-size: 11px; padding: 5px 12px; border-radius: 2px; text-transform: uppercase; letter-spacing: 0.06em; white-space: nowrap; display: inline-block; margin-top: 2px; }
.badge-broadway  { background: var(--yellow);   color: var(--charcoal); }
.badge-broadcast { background: var(--teal);     color: var(--charcoal); }
.badge-new       { background: var(--charcoal); color: #fff; }
.keynotes-cta { margin-top: 36px; text-align: center; }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testimonials { padding: 80px 56px; background: #fff; }
.testi-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 36px; }
.testi-card { background: var(--offwhite); padding: 30px; border-radius: 3px; }
.testi-quote { font-size: 16px; line-height: 1.8; color: #444; font-style: italic; margin-bottom: 18px; }
.testi-attr { font-size: 12px; text-transform: uppercase; letter-spacing: 0.07em; color: #888; font-weight: 500; }

/* ============================================================
   ABOUT STRIP
   ============================================================ */
.about-strip { display: grid; grid-template-columns: 1fr 1fr; }
.about-content { background: var(--charcoal); padding: 72px 56px; display: flex; flex-direction: column; justify-content: center; }
.about-h3 { font-family: var(--serif); font-size: clamp(24px, 2.5vw, 32px); color: #fff; margin-bottom: 20px; line-height: 1.25; }
.about-p { font-size: 16px; line-height: 1.85; color: #bbb; margin-bottom: 16px; }
.about-link { font-size: 12px; color: var(--yellow); text-transform: uppercase; letter-spacing: 0.09em; margin-top: 8px; display: inline-block; cursor: pointer; }
.about-image { background: var(--teal); display: flex; align-items: center; justify-content: center; min-height: 360px; overflow: hidden; }
.about-image img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.about-image-ph { font-size: 13px; color: rgba(0,0,0,0.3); text-align: center; padding: 24px; letter-spacing: 0.04em; line-height: 1.6; }

/* ============================================================
   SPEAKER KIT BAR
   ============================================================ */
.kit-bar { background: var(--yellow); padding: 30px 0; }
.kit-bar-inner { max-width: 1280px; margin: 0 auto; padding: 0 56px; display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
@media (max-width: 760px) { .kit-bar-inner { flex-direction: column; align-items: flex-start; gap: 20px; } }
.kit-bar-text { font-size: 17px; color: var(--charcoal); font-weight: 500; }
.kit-bar-sub { font-size: 14px; color: #5a4a00; margin-top: 4px; }

/* ============================================================
   FOOTER CTA
   ============================================================ */
.footer-cta { background: var(--charcoal); padding: 90px 0; text-align: center; }
.footer-cta-h2 { font-family: var(--serif); font-size: clamp(26px, 3vw, 40px); color: #fff; margin-bottom: 14px; font-style: italic; }
.footer-cta-sub { font-size: 16px; color: #aaa; line-height: 1.8; margin-bottom: 36px; max-width: 540px; margin-left: auto; margin-right: auto; }
.footer-cta-btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 26px; }
.footer-email-link { font-size: 14px; color: var(--teal); }

/* ============================================================
   MODAL CONTACT FORM
   ============================================================ */
.modal-backdrop {
  display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.65);
  z-index: 1000; align-items: center; justify-content: center; padding: 24px;
}
.modal-backdrop.open { display: flex; }
.modal-box {
  background: var(--charcoal); border-radius: 4px; padding: 48px 44px;
  max-width: 580px; width: 100%; max-height: 90vh; overflow-y: auto;
  position: relative;
}
.modal-close {
  position: absolute; top: 18px; right: 22px; background: none; border: none;
  color: rgba(255,255,255,0.5); font-size: 22px; cursor: pointer; line-height: 1;
}
.modal-close:hover { color: #fff; }
.modal-h3 { font-family: var(--serif); font-size: 26px; color: #fff; margin-bottom: 28px; font-style: italic; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.form-group { display: flex; flex-direction: column; gap: 7px; margin-bottom: 16px; }
.form-group label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.09em; color: rgba(255,255,255,0.5); }
.form-group input, .form-group select, .form-group textarea {
  background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.15);
  border-radius: 2px; padding: 12px 15px; font-family: var(--sans); font-size: 15px;
  color: #fff; outline: none; transition: border-color 0.2s;
}
.form-group input::placeholder, .form-group textarea::placeholder { color: rgba(255,255,255,0.28); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--yellow); }
.form-group select option { background: var(--charcoal); }
.form-group textarea { min-height: 110px; resize: vertical; }

/* ============================================================
   FOOTER
   ============================================================ */
.footer { background: var(--charcoal); border-top: 1px solid rgba(255,255,255,0.08); padding: 30px 0; }
.footer-inner { max-width: 1280px; margin: 0 auto; padding: 0 56px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.footer-logo { font-family: var(--serif); font-size: 18px; color: #fff; cursor: pointer; }
.footer-links { display: flex; gap: 24px; }
.footer-links a { font-size: 12px; color: #aaa; text-transform: uppercase; letter-spacing: 0.07em; cursor: pointer; transition: color 0.2s; }
.footer-links a:hover { color: #fff; }
.footer-domain { font-size: 13px; color: var(--teal); }

/* ============================================================
   INTERIOR PAGE SHARED STYLES
   ============================================================ */
.page-hero { background: var(--charcoal); padding: 64px 56px 40px; text-align: center; }
.page-hero-eyebrow { font-size: 14px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--teal); font-weight: 600; margin-bottom: 16px; }
.page-hero-h1 { font-family: var(--serif); font-size: clamp(36px, 5vw, 60px); color: #fff; line-height: 1.34; font-style: italic; margin-bottom: 20px; }
.page-hero-sub { font-size: 18px; color: rgba(255,255,255,0.7); max-width: 600px; margin: 0 auto; line-height: 1.8; }
.page-section { padding: 80px 56px; }
.page-section.bg-off { background: var(--offwhite); }
.page-section.bg-dark { background: var(--charcoal); }
.page-section.bg-yellow { background: var(--yellow); }
.interior-h2 { font-family: var(--serif); font-size: clamp(28px, 3vw, 40px); color: var(--charcoal); margin-bottom: 16px; line-height: 1.2; }
.interior-h2.light { color: #fff; }
.interior-p { font-size: 17px; color: #555; line-height: 1.85; margin-bottom: 20px; max-width: 680px; }
.interior-p.light { color: #ccc; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.two-col-text {}
.two-col-image { background: var(--offwhite); min-height: 380px; border-radius: 3px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.two-col-image img { width: 100%; height: 100%; object-fit: cover; }
.two-col-image-ph { font-size: 13px; color: #aaa; text-align: center; padding: 20px; line-height: 1.6; }

/* ABOUT PAGE */
.bio-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.bio-image { position: relative; }
.bio-image img { width: 100%; border-radius: 3px; }
.bio-image-ph { width: 100%; aspect-ratio: 3/4; background: var(--lavender); border-radius: 3px; display: flex; align-items: center; justify-content: center; font-size: 13px; color: #7a6a90; text-align: center; padding: 20px; line-height: 1.6; }
.credential-row { display: flex; flex-direction: column; gap: 20px; margin-top: 32px; }
.credential-item { display: flex; gap: 16px; align-items: flex-start; padding: 20px 24px; background: var(--offwhite); border-radius: 3px; border-left: 3px solid var(--yellow); }
.credential-icon { font-size: 22px; flex-shrink: 0; margin-top: 2px; }
.credential-title { font-size: 15px; font-weight: 500; color: var(--charcoal); margin-bottom: 4px; }
.credential-desc { font-size: 14px; color: #666; line-height: 1.7; }

/* EMCEE PAGE */
.emcee-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 32px; }
.stat-card { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); padding: 32px 28px; border-radius: 3px; text-align: center; }
.stat-num { font-family: var(--serif); font-size: 48px; color: var(--yellow); line-height: 1; margin-bottom: 8px; }
.stat-label { font-size: 13px; color: #aaa; line-height: 1.5; text-transform: uppercase; letter-spacing: 0.06em; }
.celeb-grid-large { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 0; }

/* KEYNOTES PAGE */
.keynote-full { background: #fff; border-radius: 3px; padding: 36px 40px; margin-bottom: 20px; border-left: 4px solid transparent; }
.keynote-full.broadway  { border-left-color: var(--yellow); }
.keynote-full.broadcast { border-left-color: var(--teal); }
.keynote-full.executive { border-left-color: var(--lavender); }
.keynote-full-title { font-family: var(--serif); font-size: 24px; color: var(--charcoal); margin-bottom: 10px; }
.keynote-full-body { font-size: 16px; color: #555; line-height: 1.85; margin-bottom: 18px; }
.takeaway-list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.takeaway-list li { font-size: 15px; color: #555; line-height: 1.7; padding-left: 20px; position: relative; }
.takeaway-list li::before { content: '—'; position: absolute; left: 0; color: var(--teal); font-weight: 500; }
.keynote-tag-row { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.keynote-tag { font-size: 11px; text-transform: uppercase; letter-spacing: 0.07em; padding: 5px 12px; border-radius: 2px; font-weight: 500; }
.tag-yellow { background: var(--yellow); color: var(--charcoal); }
.tag-teal   { background: var(--teal); color: var(--charcoal); }
.tag-lav    { background: var(--lavender); color: #5a3a7a; }
.tag-dark   { background: var(--charcoal); color: #fff; }

/* KEYNOTES PAGE — visual redesign */
.keynote-hero-photo { position: relative; height: 420px; padding: 0 56px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; overflow: hidden; background-size: cover; background-position: center; }
.keynote-hero-photo::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,0.55); z-index: 0; }
.keynote-hero-photo > * { position: relative; z-index: 1; }
.keynote-hero-photo .page-hero-sub { color: rgba(255,255,255,0.85); }

.reel-band { background: var(--charcoal); padding: 64px 24px; }
.reel-band-inner { max-width: 900px; margin: 0 auto; text-align: center; }
.reel-label { font-size: 12px; text-transform: uppercase; letter-spacing: 0.2em; color: var(--teal); font-weight: 500; margin-bottom: 24px; }
.reel-wrap { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 4px; border: 1px solid rgba(255,255,255,0.1); }
.reel-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.keynote-split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin-bottom: 56px; }
.keynote-split.reverse .keynote-split-media { order: 2; }
.keynote-split-media { min-height: 380px; border-radius: 3px; overflow: hidden; background: var(--offwhite); display: flex; align-items: center; justify-content: center; }
.keynote-split-media img, .keynote-split-media video { width: 100%; height: 100%; object-fit: cover; display: block; }
.keynote-split-media-ph { font-size: 13px; color: #999; padding: 24px; text-align: center; letter-spacing: 0.05em; line-height: 1.6; }
.keynote-split-text { padding: 0; }
.keynote-split-text .keynote-tag-row { margin-top: 0; margin-bottom: 14px; }
.keynote-split-text .keynote-full-title { margin-bottom: 14px; }
.keynote-split-text .ideal-for { font-size: 15px; font-weight: 500; color: var(--charcoal); margin: 20px 0 8px; }
.keynote-split-text .ideal-for-body { font-size: 15px; color: #555; line-height: 1.75; }

.keynote-details { margin-top: 22px; border-top: 1px solid #e6e6e6; padding-top: 16px; }
.keynote-details > summary { list-style: none; cursor: pointer; font-size: 12px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--teal); font-weight: 600; display: inline-flex; align-items: center; gap: 8px; }
.keynote-details > summary::-webkit-details-marker { display: none; }
.keynote-details > summary::after { content: '›'; display: inline-block; transform: rotate(90deg); font-size: 18px; line-height: 1; transition: transform 0.2s; }
.keynote-details[open] > summary::after { transform: rotate(270deg); }
.keynote-details-body { padding-top: 16px; }
.keynote-details-body p { font-size: 15px; color: #555; line-height: 1.8; margin-bottom: 14px; }
.keynote-details-body .takeaway-heading { font-size: 15px; font-weight: 500; color: var(--charcoal); margin: 16px 0 12px; }

@media (max-width: 960px) {
  .keynote-split { grid-template-columns: 1fr; gap: 24px; margin-bottom: 40px; }
  .keynote-split.reverse .keynote-split-media { order: 0; }
  .keynote-split-media { min-height: 260px; }
  .keynote-hero-photo { padding: 0 24px; height: 360px; }
  .reel-band { padding: 48px 20px; }
}

/* RESOURCES PAGE */
.resources-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 0; }
.resource-card { background: #fff; border: 1px solid #e4e4e4; border-radius: 3px; padding: 32px 28px; display: flex; flex-direction: column; }
.resource-icon { font-size: 28px; margin-bottom: 14px; }
.resource-title { font-family: var(--serif); font-size: 20px; color: var(--charcoal); margin-bottom: 10px; }
.resource-desc { font-size: 15px; color: #666; line-height: 1.75; flex: 1; margin-bottom: 20px; }
.press-list { display: flex; flex-direction: column; gap: 16px; }
.press-item { padding: 22px 26px; background: var(--offwhite); border-radius: 3px; }
.press-name { font-size: 14px; font-weight: 500; color: var(--charcoal); margin-bottom: 4px; }
.press-desc { font-size: 14px; color: #777; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 960px) {
  .nav { padding: 14px 24px; }
  .nav-links { display: none; }
  .video-hero { height: 380px; }
  .split-hero, .cornell-section, .positioning, .two-col, .bio-grid, .about-strip { grid-template-columns: 1fr; }
  .split-text, .cornell-left, .cornell-right, .positioning, .about-content, .page-hero, .page-section { padding-left: 24px; padding-right: 24px; }
  .services, .keynotes-section, .testimonials, .celebs, .trusted, .kit-bar, .footer-cta, .footer { padding-left: 24px; padding-right: 24px; }
  .service-cards, .testi-grid, .celebs-grid, .emcee-stats, .resources-grid, .celeb-grid-large { grid-template-columns: 1fr; }
  .emcee-feature { grid-template-columns: 1fr; }
  .emcee-num { display: none; }
  .form-row { grid-template-columns: 1fr; }
  .nav-wordmark { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .marquee-track { animation: none; }
  .marquee-track-new { animation: none; }
}
@media (max-width: 960px) {
  .theatre-marquee { padding: 0 32px; }
  .marquee-star { width: 20px; height: 20px; }
  .mq-phrase { font-size: 14px; padding: 0 14px; }
  .wave-divider { height: 110px; }
  .wave-brush { width: 80%; }
  .video-h1-rotator { font-size: 1.25em; }
}

/* ================= SHARED NAV (v2) ================= */
.wlc-nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:13px 40px;background:var(--offwhite,#edf1f0);border-bottom:1px solid rgba(43,46,52,0.09);}
.wlc-logo{display:flex;align-items:center;gap:11px;text-decoration:none;}
.wlc-logo-badge{width:38px;height:38px;border-radius:50%;background:#edbf2a;color:#920178;font-family:var(--serif,'Fraunces',Georgia,serif);font-weight:600;font-size:21px;display:flex;align-items:center;justify-content:center;line-height:1;flex:none;}
.wlc-logo-word{display:flex;flex-direction:column;line-height:1;}
.wlc-logo-word b{font-family:var(--serif,'Fraunces',Georgia,serif);font-weight:600;font-size:17px;letter-spacing:0.02em;color:#2b2e34;}
.wlc-logo-word em{font-style:normal;font-family:var(--sans,'Archivo',Arial,sans-serif);font-weight:600;font-size:9px;letter-spacing:0.22em;color:#6b6e76;margin-top:3px;}
.wlc-nav-links{display:flex;gap:30px;}
.wlc-nav-links a{font-family:var(--sans,'Archivo',Arial,sans-serif);font-weight:600;font-size:12.5px;letter-spacing:0.12em;text-transform:uppercase;color:#2b2e34;text-decoration:none;transition:color .2s;}
.wlc-nav-links a:hover,.wlc-nav-links a.active{color:#920178;}
.wlc-nav-cta{display:flex;align-items:center;gap:11px;}
.btn-nav{font-family:var(--sans,'Archivo',Arial,sans-serif);font-weight:600;font-size:11.5px;letter-spacing:0.1em;text-transform:uppercase;padding:11px 17px;text-decoration:none;border-radius:2px;transition:background .2s,border-color .2s,color .2s;white-space:nowrap;cursor:pointer;background:none;}
.btn-nav.ghost{color:#2b2e34;border:1px solid rgba(43,46,52,0.38);}
.btn-nav.ghost:hover{border-color:#2b2e34;}
.btn-nav.solid{background:#edbf2a;color:#24262b;border:1px solid #edbf2a;}
.btn-nav.solid:hover{background:#f4cc3f;}

/* ================= SHARED FOOTER (v2) ================= */
.wlc-footer{background:#2b2e34;color:#edf1f0;border-top:3px solid #edbf2a;padding:56px 40px 38px;}
.wlc-footer-inner{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px;}
.wlc-footer-brand{display:flex;flex-direction:column;gap:14px;max-width:300px;}
.wlc-footer-badge-row{display:flex;align-items:center;gap:11px;}
.wlc-footer-name{font-family:var(--serif,'Fraunces',Georgia,serif);font-weight:500;font-size:20px;color:#edf1f0;line-height:1;}
.wlc-footer-tag{font-size:13px;color:#9a9da4;letter-spacing:0.02em;line-height:1.5;}
.wlc-footer-tag .np{white-space:nowrap;}
.wlc-footer-cols{display:flex;gap:56px;flex-wrap:wrap;}
.wlc-footer-col h5{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:#7f838c;margin-bottom:15px;font-weight:600;font-family:var(--sans,'Archivo',Arial,sans-serif);}
.wlc-footer-col a,.wlc-footer-col button{display:block;color:rgba(237,241,240,0.82);text-decoration:none;font-size:14px;margin-bottom:10px;transition:color .2s;background:none;border:0;padding:0;text-align:left;font-family:inherit;cursor:pointer;}
.wlc-footer-col a:hover,.wlc-footer-col button:hover{color:#edbf2a;}
.wlc-footer-bottom{max-width:1120px;margin:40px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,0.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;color:#7f838c;}

.wlc-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:38px;padding:0 9px;background:none;border:1px solid rgba(43,46,52,0.20);border-radius:4px;cursor:pointer;}
.wlc-burger span{display:block;height:2px;width:100%;background:#2b2e34;transition:transform .25s ease,opacity .2s ease;}
.wlc-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.wlc-burger.is-open span:nth-child(2){opacity:0;}
.wlc-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.wlc-mobile-menu{display:none;}

@media (max-width:860px){
  .wlc-nav{padding:12px 20px;}
  .wlc-nav-links{display:none;}
  .btn-nav.ghost{display:none;}
  .wlc-burger{display:flex;}
  .wlc-mobile-menu{position:absolute;top:100%;left:0;right:0;display:block;background:var(--offwhite,#edf1f0);border-bottom:1px solid rgba(43,46,52,0.12);padding:18px 20px 26px;box-shadow:0 18px 30px rgba(20,21,24,0.10);}
  .wlc-mobile-menu[hidden]{display:none;}
  .wlc-mobile-menu nav{display:flex;flex-direction:column;}
  .wlc-mobile-menu nav a{font-family:var(--sans,'Archivo',Arial,sans-serif);font-weight:600;font-size:14px;letter-spacing:0.12em;text-transform:uppercase;color:#2b2e34;text-decoration:none;padding:14px 0;border-bottom:1px solid rgba(43,46,52,0.09);}
  .wlc-mobile-menu nav a.active{color:#920178;}
  .wlc-mobile-kit{display:block;margin-top:18px;text-align:center;font-family:var(--sans,'Archivo',Arial,sans-serif);font-weight:600;font-size:12.5px;letter-spacing:0.12em;text-transform:uppercase;color:#2b2e34;text-decoration:none;border:1px solid rgba(43,46,52,0.28);padding:13px 16px;}
  .wlc-footer{padding-left:22px;padding-right:22px;}
}

/* ================= HOME HERO (v2) ================= */
.wlc-hero{position:relative;min-height:calc(100vh - 66px);display:flex;align-items:center;background:#24262b;color:#edf1f0;overflow:hidden;}
.wlc-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;}
.wlc-hero-scrim{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg, rgba(20,21,24,0.52) 0%, rgba(20,21,24,0.30) 44%, rgba(20,21,24,0.08) 100%),
  radial-gradient(120% 100% at 82% 30%, rgba(237,191,42,0.10), rgba(237,191,42,0) 55%);}
.wlc-hero-inner{position:relative;z-index:2;width:100%;padding:80px clamp(32px,5vw,96px);}
.wlc-hero-copy{max-width:860px;text-align:left;}
.wlc-kicker{display:inline-block;background:rgba(146,1,120,0.80);backdrop-filter:blur(3px);color:#edf1f0;font-family:var(--sans,'Archivo',Arial,sans-serif);font-weight:600;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;padding:8px 15px;}
.wlc-hero-h1{font-family:var(--serif,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:0.99;margin:22px 0 0;color:rgba(237,241,240,0.93);text-shadow:0 2px 26px rgba(0,0,0,0.5),0 1px 3px rgba(0,0,0,0.4);}
.wlc-hero-h1 .line{display:block;font-size:clamp(38px,5.2vw,64px);white-space:nowrap;}
.wlc-hero-h1 .gold{color:rgba(237,191,42,0.95);}
.wlc-stack{margin:32px 0 0;max-width:380px;}
.wlc-stack-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;margin:0 0 9px;}
.wlc-stack-track{height:4px;border-radius:2px;overflow:hidden;background:rgba(255,255,255,0.10);}
.wlc-stack-fill{position:relative;overflow:hidden;height:100%;width:100%;transform:scaleX(0);transform-origin:left center;animation:wlcStackDraw .7s cubic-bezier(0.34,1.28,0.64,1) forwards;}
.wlc-l1 .wlc-stack-fill{background:#edbf2a;animation-delay:.35s;}
.wlc-l2 .wlc-stack-fill{background:#edf1f0;animation-delay:.52s;}
.wlc-l3 .wlc-stack-fill{background:#920178;animation-delay:.69s;}
@keyframes wlcStackDraw{to{transform:scaleX(1);}}
.wlc-stack-fill::after{content:"";position:absolute;top:0;left:0;height:100%;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.7),transparent);transform:translateX(-160%);}
.wlc-l1 .wlc-stack-fill::after{animation:wlcStackScan 3.4s ease-in-out 1.6s infinite;}
.wlc-l2 .wlc-stack-fill::after{animation:wlcStackScan 3.4s ease-in-out 1.85s infinite;}
.wlc-l3 .wlc-stack-fill::after{animation:wlcStackScan 3.4s ease-in-out 2.1s infinite;background:linear-gradient(90deg,transparent,rgba(207,191,226,0.85),transparent);}
@keyframes wlcStackScan{0%{transform:translateX(-160%);}40%{transform:translateX(340%);}100%{transform:translateX(340%);}}
.wlc-stack-label{font-family:var(--sans,'Archivo',Arial,sans-serif);font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:rgba(237,241,240,0.7);}
.wlc-ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:32px 0 0;}
.wlc-btn{font-family:var(--sans,'Archivo',Arial,sans-serif);font-weight:600;font-size:14px;letter-spacing:0.04em;padding:15px 26px;border-radius:2px;cursor:pointer;text-decoration:none;display:inline-block;border:1px solid transparent;transition:transform .25s cubic-bezier(0.34,1.28,0.64,1),background .25s,color .25s,border-color .25s;}
.wlc-btn-primary{background:rgba(237,191,42,0.90);color:#24262b;backdrop-filter:blur(2px);}
.wlc-btn-primary:hover{transform:translateY(-2px);background:#f4cc3f;}
.wlc-btn-ghost{border-color:rgba(237,241,240,0.55);color:#edf1f0;background:rgba(20,21,24,0.26);backdrop-filter:blur(2px);}
.wlc-btn-ghost:hover{transform:translateY(-2px);border-color:#edbf2a;color:#edbf2a;}
@media (max-width:860px){
  .wlc-hero-inner{padding:64px 22px;}
  .wlc-hero-h1 .line{white-space:normal;}
}
@media (prefers-reduced-motion:reduce){
  .wlc-stack-fill{transform:scaleX(1) !important;animation:none !important;}
  .wlc-stack-fill::after{animation:none !important;}
}

/* ============================================================
   BROADWAY TICKER (under hero)
   ============================================================ */
.wlc-ticker {
  position: relative;
  background: #2b2e34;
  overflow: hidden;
  padding: 10px 0;
}
.wlc-ticker-bulbs {
  height: 9px;
  background-image: radial-gradient(
    circle at center,
    rgba(237, 191, 42, 0.85) 1.5px,
    rgba(237, 191, 42, 0) 2.4px
  );
  background-size: 20px 9px;
  background-repeat: repeat-x;
  background-position: center;
  opacity: 0.5;
  animation: bulbTwinkle 2.8s ease-in-out infinite;
}
.wlc-ticker-bulbs.is-bottom { animation-delay: 1.4s; }
@keyframes bulbTwinkle {
  0%, 100% { opacity: 0.38; }
  50%      { opacity: 0.66; }
}
.wlc-ticker-viewport { overflow: hidden; white-space: nowrap; padding: 13px 0; }
.wlc-ticker-track {
  display: inline-block;
  animation: wlcTickerScroll 42s linear infinite;
  will-change: transform;
}
.wlc-ticker-viewport:hover .wlc-ticker-track { animation-play-state: paused; }
@keyframes wlcTickerScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.wlc-tick {
  font-family: var(--font-body-stack, "Archivo", sans-serif);
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  padding: 0 26px;
}
.wlc-tick-gold { color: #edbf2a; }
.wlc-tick-off  { color: #edf1f0; }
.wlc-tick-lav  { color: #920178; }
.wlc-tick-teal { color: #92d3d2; }
.wlc-tick-sep  {
  color: #edbf2a;
  font-size: 5px;
  vertical-align: middle;
}
@media (prefers-reduced-motion: reduce) {
  .wlc-ticker-track { animation: none !important; }
  .wlc-ticker-bulbs { animation: none !important; opacity: 0.5; }
}

/* ============================================================
   ONE RARE COMBINATION
   ============================================================ */
.wlc-rare { background: #edf1f0; padding: 96px 0; }
.wlc-rare-inner { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.wlc-rare-top {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 64px;
  align-items: center;
}
.wlc-rare-figure { position: relative; }
.wlc-rare-figure img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 18px;
  display: block;
}
.wlc-rare-bracket {
  position: absolute;
  top: -14px;
  left: -14px;
  width: 96px;
  height: 96px;
  border-top: 5px solid #edbf2a;
  border-left: 5px solid #edbf2a;
  border-top-left-radius: 18px;
  z-index: 2;
}
.wlc-rare-eyebrow {
  display: block;
  font-family: var(--font-body-stack, "Archivo", sans-serif);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 12px;
  font-weight: 600;
  color: #920178;
  margin-bottom: 18px;
}
.wlc-rare-h2 {
  font-family: var(--font-display-stack, "Fraunces", serif);
  font-weight: 500;
  color: #2b2e34;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.18;
  margin: 0;
}
.wlc-rare-h2 .line { display: block; }
.wlc-rare-divider { display: flex; gap: 8px; margin-top: 28px; }
.wlc-rare-divider .seg { height: 4px; width: 56px; border-radius: 2px; }
.wlc-rare-divider .seg-gold { background: #edbf2a; }
.wlc-rare-divider .seg-charcoal { background: #2b2e34; }
.wlc-rare-divider .seg-magenta { background: #920178; }
.wlc-rare-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 72px;
}
.wlc-rare-col { border-top: 1px solid rgba(43,46,52,0.35); padding-top: 22px; }
.wlc-rare-tag {
  display: block;
  font-family: var(--font-body-stack, "Archivo", sans-serif);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 11px;
  font-weight: 600;
  color: #2b2e34;
  opacity: 0.7;
  margin-bottom: 12px;
}
.wlc-rare-sub {
  font-family: var(--font-display-stack, "Fraunces", serif);
  font-weight: 500;
  font-size: 24px;
  line-height: 1.25;
  color: #2b2e34;
  margin: 0 0 14px;
}
.wlc-rare-body {
  font-family: var(--font-body-stack, "Archivo", sans-serif);
  font-size: 16px;
  line-height: 1.65;
  color: rgba(43,46,52,0.82);
  margin: 0;
}
.wlc-rare-body .np { white-space: nowrap; }
@media (max-width: 900px) {
  .wlc-rare { padding: 64px 0; }
  .wlc-rare-top { grid-template-columns: 1fr; gap: 36px; }
  .wlc-rare-cols { grid-template-columns: 1fr; gap: 32px; margin-top: 48px; }
}

/* ============================================================
   ON THE MAINSTAGE
   ============================================================ */
.wlc-mainstage { background: #24262b; padding: 96px 0; }
.wlc-mainstage-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 64px;
  align-items: center;
}
.wlc-mainstage-copy { order: 1; }
.wlc-mainstage-figure { position: relative; order: 2; }
.wlc-mainstage-figure img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 18px;
  display: block;
}
.wlc-mainstage-bracket {
  position: absolute;
  top: -14px;
  right: -14px;
  width: 96px;
  height: 96px;
  border-top: 5px solid #edbf2a;
  border-right: 5px solid #edbf2a;
  border-top-right-radius: 18px;
  z-index: 2;
}
.wlc-mainstage-eyebrow {
  display: block;
  font-family: var(--font-body-stack, "Archivo", sans-serif);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 12px;
  font-weight: 600;
  color: #edbf2a;
  margin-bottom: 18px;
}
.wlc-mainstage-h2 {
  font-family: var(--font-display-stack, "Fraunces", serif);
  font-weight: 500;
  color: #edf1f0;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.18;
  margin: 0;
}
.wlc-mainstage-divider { display: flex; gap: 8px; margin-top: 28px; }
.wlc-mainstage-divider .seg { height: 4px; width: 56px; border-radius: 2px; }
.wlc-mainstage-divider .seg-gold { background: #edbf2a; }
.wlc-mainstage-divider .seg-light { background: #edf1f0; }
.wlc-mainstage-divider .seg-magenta { background: #920178; }
.wlc-mainstage-body {
  font-family: var(--font-body-stack, "Archivo", sans-serif);
  font-size: 17px;
  line-height: 1.6;
  color: rgba(237, 241, 240, 0.82);
  margin: 24px 0 0;
  max-width: 52ch;
}
@media (max-width: 900px) {
  .wlc-mainstage { padding: 64px 0; }
  .wlc-mainstage-inner { grid-template-columns: 1fr; gap: 36px; }
  .wlc-mainstage-bracket { width: 72px; height: 72px; }
}

/* ============================================================
   TRUSTED ON STAGE BY — LOGO WALL
   ============================================================ */
.wlc-logos { background: #2b2e34; padding: 80px 0; }
.wlc-logos-inner { max-width: 1100px; margin: 0 auto; padding: 0 32px; text-align: center; }
.wlc-logos-label {
  display: block;
  font-family: var(--font-body-stack, "Archivo", sans-serif);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 12px;
  font-weight: 600;
  color: rgba(237, 241, 240, 0.55);
  margin-bottom: 40px;
}
.wlc-marquee { overflow: hidden; width: 100%; }
.wlc-marquee + .wlc-marquee { margin-top: 40px; }
.wlc-marquee-track {
  display: flex;
  align-items: center;
  gap: 64px;
  width: max-content;
  will-change: transform;
}
.wlc-marquee:hover .wlc-marquee-track { animation-play-state: paused; }
@media (prefers-reduced-motion: no-preference) {
  .wlc-marquee-left { animation: wlc-scroll-left 40s linear infinite; }
  .wlc-marquee-right { animation: wlc-scroll-right 40s linear infinite; }
}
@media (prefers-reduced-motion: reduce) {
  .wlc-marquee { overflow-x: auto; }
  .wlc-marquee-track { animation: none; }
}
@keyframes wlc-scroll-left {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes wlc-scroll-right {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}
.wlc-logo-slot {
  flex: 0 0 auto;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  opacity: 0.75;
  transition: opacity 0.3s ease;
}
.wlc-logo-slot:hover { opacity: 1; }
.wlc-logo-img {
  max-height: 38px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  filter: grayscale(1) brightness(0) invert(1);
}
.wlc-logo-text {
  font-family: var(--font-body-stack, "Archivo", sans-serif);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #edf1f0;
  line-height: 1.25;
}
.wlc-logos-credit {
  margin: 40px 0 0;
  font-family: var(--font-body-stack, "Archivo", sans-serif);
  font-size: 14px;
  color: rgba(237, 241, 240, 0.45);
}
/* ============================================================
   ON THE MAINSTAGE
   ============================================================ */
.wlc-mainstage { background: #24262b; padding: 96px 0; }
.wlc-mainstage-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 64px;
  align-items: center;
}
.wlc-mainstage-copy { order: 1; }
.wlc-mainstage-figure { position: relative; order: 2; }
.wlc-mainstage-figure img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 18px;
  display: block;
}
.wlc-mainstage-bracket {
  position: absolute;
  top: -14px;
  right: -14px;
  width: 96px;
  height: 96px;
  border-top: 5px solid #edbf2a;
  border-right: 5px solid #edbf2a;
  border-top-right-radius: 18px;
  z-index: 2;
}
.wlc-mainstage-eyebrow {
  display: block;
  font-family: var(--font-body-stack, "Archivo", sans-serif);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 12px;
  font-weight: 600;
  color: #edbf2a;
  margin-bottom: 18px;
}
.wlc-mainstage-h2 {
  font-family: var(--font-display-stack, "Fraunces", serif);
  font-weight: 500;
  color: #edf1f0;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.18;
  margin: 0;
}
.wlc-mainstage-divider { display: flex; gap: 8px; margin-top: 28px; }
.wlc-mainstage-divider .seg { height: 4px; width: 56px; border-radius: 2px; }
.wlc-mainstage-divider .seg-gold { background: #edbf2a; }
.wlc-mainstage-divider .seg-light { background: #edf1f0; }
.wlc-mainstage-divider .seg-magenta { background: #920178; }
.wlc-mainstage-body {
  font-family: var(--font-body-stack, "Archivo", sans-serif);
  font-size: 17px;
  line-height: 1.6;
  color: rgba(237, 241, 240, 0.82);
  margin: 24px 0 0;
  max-width: 52ch;
}
@media (max-width: 900px) {
  .wlc-mainstage { padding: 64px 0; }
  .wlc-mainstage-inner { grid-template-columns: 1fr; gap: 36px; }
  .wlc-mainstage-bracket { width: 72px; height: 72px; }
}

/* Celebs section CTA row */
.celebs-cta { display: flex; gap: 16px; justify-content: center; align-items: center; flex-wrap: wrap; margin-top: 40px; }
.celebs-cta .wlc-btn { font-size: 14px; }
.celebs-cta .wlc-btn-outline-dark { border: 1.5px solid #2b2e34; color: #2b2e34; background: transparent; }
.celebs-cta .wlc-btn-outline-dark:hover { background: #2b2e34; color: #edf1f0; }
@media (max-width: 760px) { .celebs-cta { flex-direction: column; align-items: center; } }

/* Manifesto quote spans full width */
.positioning { grid-template-columns: 1fr; }
.pos-quote { max-width: none; }

/* Closing CTA button variants must win over base .wlc-btn border */
.wlc-btn.wlc-closing-btn-outline { border: 1.5px solid rgba(237,241,240,0.5); color: #edf1f0; background: transparent; }
.wlc-btn.wlc-closing-btn-outline:hover { border-color: #edbf2a; color: #edbf2a; background: transparent; }

/* ---- Before the boardroom (archival row) ---- */
.pos-cred { margin-top: 0; margin-bottom: 18px; padding-top: 0; border-top: none; font-family: var(--sans); font-size: 12px; color: var(--yellow); letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; }
.archival { background: #edf1f0; padding: 88px 24px; }
.archival-inner { max-width: 1180px; margin: 0 auto; }
.archival-eyebrow { font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #920178; }
.archival-h2 { font-family: var(--serif); font-size: clamp(30px, 4vw, 46px); line-height: 1.15; color: #2b2e34; margin-top: 14px; }
.archival-divider { display: flex; gap: 8px; margin-top: 22px; }
.archival-divider .seg { height: 4px; width: 56px; border-radius: 2px; }
.archival-divider .seg-gold { background: #edbf2a; }
.archival-divider .seg-charcoal { background: #2b2e34; }
.archival-divider .seg-magenta { background: #920178; }
.archival-p { font-family: var(--sans); font-size: 17px; line-height: 1.6; color: #2b2e34; max-width: 760px; margin-top: 22px; }
.archival-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 22px; margin-top: 44px; align-items: start; }
.archival-tile { margin: 0; }
.archival-tile-wide { grid-column: span 2; }
.archival-media { height: 220px; border-radius: 10px; overflow: hidden; background: #dfe5e4; box-shadow: 0 6px 18px rgba(43,46,52,0.12); }
.archival-media img, .archival-media video { width: 100%; height: 100%; object-fit: cover; display: block; }
.archival-caption { font-family: var(--sans); font-size: 12.5px; line-height: 1.45; color: #6b7076; margin-top: 10px; }
@media (max-width: 1024px) {
  .archival-row { grid-template-columns: repeat(2, 1fr); }
  .archival-tile-wide { grid-column: span 2; }
  .archival-media { height: 200px; }
}
@media (max-width: 640px) {
  .archival { padding: 64px 20px; }
  .archival-media { height: 150px; }
  .archival-tile-wide .archival-media { height: 230px; }
}

/* ===== /emcee hero ===== */
.em-hero{position:relative;min-height:72vh;display:flex;align-items:center;background:#24262b;color:var(--offwhite,#edf1f0);overflow:hidden;}
.em-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.em-hero-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(36,38,43,0.70) 0%,rgba(36,38,43,0.40) 50%,rgba(36,38,43,0.12) 100%);}
.em-hero-inner{position:relative;z-index:2;width:100%;padding:96px clamp(32px,6vw,96px);}
.em-hero-copy{max-width:700px;text-align:left;}
.em-hero-eyebrow{display:inline-block;background:rgba(146,1,120,0.72);color:var(--offwhite,#edf1f0);font-family:var(--body,'Archivo',sans-serif);font-weight:600;font-size:11.5px;letter-spacing:0.2em;text-transform:uppercase;padding:8px 14px;border-radius:2px;}
.em-hero-h1{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.06;margin:22px 0 0;color:rgba(237,241,240,0.92);text-shadow:0 2px 26px rgba(0,0,0,0.5),0 1px 3px rgba(0,0,0,0.4);}
.em-hero-h1 .line{display:block;font-size:clamp(36px,5vw,62px);}
.em-hero-h1 .gold{color:rgba(237,191,42,0.95);}
.em-hero-body{margin:22px 0 0;max-width:620px;font-size:17px;line-height:1.6;color:rgba(237,241,240,0.86);}
.em-hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
.em-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--body,'Archivo',sans-serif);font-weight:600;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;padding:15px 26px;border-radius:2px;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .3s var(--ease,cubic-bezier(0.2,0.8,0.2,1)),background .3s,color .3s;}
.em-btn-primary{background:var(--yellow,#edbf2a);color:#24262b;}
.em-btn-ghost{background:rgba(237,241,240,0.06);border-color:rgba(237,241,240,0.45);color:var(--offwhite,#edf1f0);}
.em-btn:hover{transform:translateY(-2px);}
.em-rise{opacity:0;transform:translateY(22px);animation:emRise .8s cubic-bezier(0.2,0.8,0.2,1) forwards;}
.em-rise.em-s2{animation-delay:.12s;}
.em-rise.em-s3{animation-delay:.24s;}
.em-rise.em-s4{animation-delay:.36s;}
@keyframes emRise{to{opacity:1;transform:none;}}
@media (max-width:640px){
  .em-hero-inner{padding:72px 22px;}
}
@media (prefers-reduced-motion:reduce){
  .em-rise{opacity:1;transform:none;animation:none;}
  .em-btn:hover{transform:none;}
}

/* ===== /emcee discipline split blocks ===== */
.em-split{display:grid;grid-template-columns:1fr 1fr;min-height:560px;}
.em-split-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,88px);}
.em-split-media{position:relative;overflow:hidden;}
.em-split-media img{width:100%;height:100%;object-fit:cover;display:block;}
.em-split-light{background:var(--offwhite,#edf1f0);color:#2b2e34;}
.em-split-dark{background:#24262b;color:var(--offwhite,#edf1f0);}
.em-split-tag{font-family:var(--body,'Archivo',sans-serif);font-weight:700;font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;}
.em-split-light .em-split-tag{color:var(--magenta,#920178);}
.em-split-dark .em-split-tag{color:var(--yellow,#edbf2a);}
.em-split-h2{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.15;font-size:clamp(28px,3.4vw,44px);margin:18px 0 0;max-width:16ch;}
.em-split-p{margin:20px 0 0;font-size:17px;line-height:1.65;max-width:52ch;}
.em-split-dark .em-split-p{color:rgba(237,241,240,0.84);}
.em-split-list{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;max-width:52ch;}
.em-split-list li{position:relative;padding-left:22px;font-size:15.5px;line-height:1.55;}
.em-split-list li::before{content:"";position:absolute;left:0;top:0.68em;width:11px;height:2px;}
.em-split-light .em-split-list li::before{background:var(--magenta,#920178);}
.em-split-dark .em-split-list li::before{background:var(--yellow,#edbf2a);}
.em-split-dark .em-split-list li{color:rgba(237,241,240,0.86);}
@media (max-width:900px){
  .em-split{grid-template-columns:1fr;min-height:0;}
  .em-split-media{order:-1;height:340px;}
  .em-split-copy{padding:48px 22px;}
}

/* ===== Emcee gallery ===== */
.em-gallery{background:var(--off-white,#edf1f0);padding:clamp(64px,7vw,104px) clamp(24px,6vw,88px);}
.em-gallery-tag{display:inline-block;font-family:var(--body,'Archivo',sans-serif);font-weight:700;font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--magenta,#920178);}
.em-gallery-h2{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.15;font-size:clamp(28px,3.4vw,44px);margin:14px 0 0;color:#2b2e34;}
.em-gallery-divider{display:flex;gap:8px;margin:22px 0 40px;}
.em-gallery-divider .seg{height:4px;width:56px;border-radius:2px;}
.em-gallery-divider .seg-gold{background:#edbf2a;}
.em-gallery-divider .seg-charcoal{background:#2b2e34;}
.em-gallery-divider .seg-magenta{background:#920178;}
.em-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.em-gallery-tile{position:relative;margin:0;aspect-ratio:4/3;border-radius:5px;overflow:hidden;}
.em-gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(var(--zoom,1));transform-origin:center;transition:transform .6s ease;}
.em-gallery-tile:hover img{transform:scale(calc(var(--zoom,1) * 1.04));}
.em-gallery-tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;color:#edf1f0;font-family:var(--body,'Archivo',sans-serif);font-size:12px;font-weight:600;letter-spacing:0.09em;background:linear-gradient(to top,rgba(0,0,0,0.72),rgba(0,0,0,0));}
@media (prefers-reduced-motion:reduce){.em-gallery-tile img{transition:none;}.em-gallery-tile:hover img{transform:scale(var(--zoom,1));}}
@media (max-width:900px){.em-gallery-grid{grid-template-columns:1fr;}}


/* ===== Emcee formats ===== */
.em-formats{background:var(--stage-charcoal,#24262b);padding:clamp(64px,7vw,104px) clamp(24px,6vw,88px);}
.em-formats-tag{display:inline-block;font-family:var(--body,'Archivo',sans-serif);font-weight:700;font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--yellow,#edbf2a);}
.em-formats-h2{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.15;font-size:clamp(28px,3.4vw,44px);margin:14px 0 0;color:#edf1f0;}
.em-formats-divider{display:flex;gap:8px;margin:22px 0 40px;}
.em-formats-divider .seg{height:4px;width:56px;border-radius:2px;}
.em-formats-divider .seg-gold{background:#edbf2a;}
.em-formats-divider .seg-light{background:#edf1f0;}
.em-formats-divider .seg-magenta{background:#920178;}
.em-formats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,0.10);border:1px solid rgba(255,255,255,0.10);}
.em-formats-cell{background:var(--stage-charcoal,#24262b);padding:28px;transition:background .3s ease;}
.em-formats-cell:hover{background:rgba(255,255,255,0.045);}
.em-formats-h3{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;font-size:20px;line-height:1.2;margin:0 0 10px;color:#edf1f0;}
.em-formats-p{font-family:var(--body,'Archivo',sans-serif);font-size:14.5px;line-height:1.6;margin:0;color:rgba(237,241,240,0.72);}
@media (max-width:900px){.em-formats-grid{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){.em-formats-cell{transition:none;}}

/* ===== Emcee pharma ===== */
.em-pharma{background:var(--off-white,#edf1f0);padding:clamp(64px,7vw,104px) clamp(24px,6vw,88px);display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.em-pharma-tag{display:inline-block;font-family:var(--body,'Archivo',sans-serif);font-weight:700;font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--magenta,#920178);}
.em-pharma-h2{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.15;font-size:clamp(28px,3.4vw,44px);margin:14px 0 20px;color:#2b2e34;}
.em-pharma-p{font-family:var(--body,'Archivo',sans-serif);font-size:16px;line-height:1.7;color:rgba(43,46,52,0.86);margin:0 0 16px;}
.em-pharma-muted{font-family:var(--body,'Archivo',sans-serif);font-size:14px;line-height:1.65;color:rgba(43,46,52,0.6);margin:0 0 26px;}
.em-pharma-pills{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0;}
.em-pharma-pills li{font-family:var(--body,'Archivo',sans-serif);font-size:12.5px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:#2b2e34;border:1px solid rgba(43,46,52,0.35);border-radius:999px;padding:8px 16px;}
.em-pharma-media img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:6px;box-shadow:0 24px 60px -24px rgba(43,46,52,0.45);display:block;}
@media (max-width:900px){.em-pharma{grid-template-columns:1fr;gap:36px;}}

/* ===== Emcee: Producer testimonials ===== */
.em-testi{background:var(--stage-charcoal,#24262b);padding:clamp(64px,7vw,104px) clamp(24px,6vw,88px);}
.em-testi-tag{display:inline-block;font-family:var(--body,'Archivo',sans-serif);font-weight:700;font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--yellow,#edbf2a);}
.em-testi-h2{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.15;font-size:clamp(28px,3.4vw,44px);margin:14px 0 0;color:#edf1f0;}
.em-testi-divider{display:flex;gap:8px;margin:22px 0 40px;}
.em-testi-divider .seg{height:4px;width:56px;border-radius:2px;}
.em-testi-divider .seg-gold{background:#edbf2a;}
.em-testi-divider .seg-light{background:#edf1f0;}
.em-testi-divider .seg-magenta{background:#920178;}
.em-testi-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.em-testi-card{background:rgba(255,255,255,0.05);border-left:3px solid var(--yellow,#edbf2a);padding:28px;margin:0;border-radius:4px;}
.em-testi-card-full{grid-column:1 / -1;}
.em-testi-quote{font-family:var(--display,'Fraunces',Georgia,serif);font-style:italic;font-weight:400;font-size:17.5px;line-height:1.55;color:#edf1f0;margin:0;}
.em-testi-attr{font-family:var(--body,'Archivo',sans-serif);font-weight:600;font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal,#92d3d2);margin:18px 0 0;}
@media (max-width:900px){.em-testi-grid{grid-template-columns:1fr;}}

/* ===== Emcee: Closing CTA ===== */
.em-close{background:var(--stage-charcoal,#24262b);padding:clamp(72px,8vw,120px) clamp(24px,6vw,88px) clamp(88px,9vw,132px);text-align:center;display:flex;flex-direction:column;align-items:center;}
.em-close-h2{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.18;font-size:clamp(28px,3.6vw,46px);color:#edf1f0;margin:0;}
.em-close-underline{display:block;width:120px;height:6px;background:var(--yellow,#edbf2a);border-radius:3px;margin:24px 0 0;}
.em-close-sub{font-family:var(--body,'Archivo',sans-serif);font-size:16px;line-height:1.7;color:rgba(237,241,240,0.72);max-width:640px;margin:28px 0 0;}
.em-close-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:36px;}

/* ===== Telescoping heading reveal ===== */
.tel .tel-mask{display:block;overflow:hidden;}
.tel .tel-line{display:block;transform:translateY(105%);transition:transform .85s cubic-bezier(0.16,1,0.3,1);}
.tel.in .tel-line{transform:translateY(0);}
@media (prefers-reduced-motion:reduce){
  .tel .tel-line{transform:none!important;transition:none!important;}
}

/* ===== /keynotes hero ===== */
.kn-hero{position:relative;min-height:70vh;display:flex;align-items:center;background:#24262b;color:var(--offwhite,#edf1f0);overflow:hidden;}
.kn-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;}
.kn-hero-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(36,38,43,0.74) 0%,rgba(36,38,43,0.44) 50%,rgba(36,38,43,0.14) 100%);}
.kn-hero-inner{position:relative;z-index:2;width:100%;padding:96px clamp(32px,6vw,96px);}
.kn-hero-copy{max-width:700px;text-align:left;}
.kn-hero-quote{border-left:3px solid var(--yellow,#edbf2a);padding-left:18px;margin:0 0 28px;max-width:44ch;}
.kn-hero-quote p{font-family:var(--display,'Fraunces',Georgia,serif);font-style:italic;font-size:19px;line-height:1.35;color:var(--offwhite,#edf1f0);text-shadow:0 2px 14px rgba(0,0,0,0.55);margin:0;text-wrap:balance;}
.kn-hero-quote cite{display:block;margin-top:10px;font-family:var(--body,'Archivo',sans-serif);font-style:normal;font-weight:600;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--yellow,#edbf2a);text-shadow:0 2px 12px rgba(0,0,0,0.55);}
.kn-hero-eyebrow{display:inline-block;background:rgba(146,1,120,0.72);color:var(--offwhite,#edf1f0);font-family:var(--body,'Archivo',sans-serif);font-weight:600;font-size:11.5px;letter-spacing:0.2em;text-transform:uppercase;padding:8px 14px;border-radius:2px;}
.kn-hero-h1{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.06;margin:22px 0 0;color:rgba(237,241,240,0.94);text-shadow:0 2px 26px rgba(0,0,0,0.5),0 1px 3px rgba(0,0,0,0.4);}
.kn-hero-h1 .tel-line{font-size:clamp(36px,5vw,62px);padding-bottom:.06em;}
.kn-hero-h1 .gold{color:var(--yellow,#edbf2a);}
.kn-hero-body{margin:22px 0 0;max-width:620px;font-size:17px;line-height:1.6;color:rgba(237,241,240,0.88);text-shadow:0 1px 10px rgba(0,0,0,0.4);}
.kn-hero-arenas { display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0 0;font-family:var(--body,'Archivo',sans-serif);font-weight:600;font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--teal,#92d3d2);text-shadow:0 1px 10px rgba(0,0,0,0.4); }
.kn-hero-arenas .kn-arena-sep { color:rgba(146,211,210,0.5);letter-spacing:0; }
.kn-hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
.kn-btn-play{gap:10px;}
.kn-play{display:inline-block;width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent currentColor;}
@media (max-width:640px){
  .kn-hero-inner{padding:72px 22px;}
}

/* ---- Keynotes client logo marquee ---- */
.kn-marquee{background:var(--charcoal,#2b2e34);padding:38px 0;overflow:hidden;}
.kn-marquee-label{display:block;text-align:center;font-family:var(--body,'Archivo',sans-serif);font-size:11.5px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:rgba(237,241,240,0.45);margin-bottom:26px;}
.kn-marquee-row{overflow:hidden;}
.kn-marquee-row + .kn-marquee-row{margin-top:22px;}
.kn-marquee-track{display:flex;align-items:center;gap:56px;width:max-content;will-change:transform;}
.kn-marquee-track-ltr{animation:kn-marquee-left 46s linear infinite;}
.kn-marquee-track-rtl{animation:kn-marquee-right 52s linear infinite;}
.kn-marquee:hover .kn-marquee-track{animation-play-state:paused;}
.kn-marquee-item{display:flex;align-items:center;flex:0 0 auto;}
.kn-marquee-logo{max-height:34px;width:auto;filter:grayscale(1) brightness(0) invert(1);opacity:0.62;transition:opacity 0.3s ease;}
.kn-marquee-item:hover .kn-marquee-logo{opacity:1;}
.kn-marquee-text{font-family:var(--body,'Archivo',sans-serif);font-size:15px;font-weight:600;letter-spacing:0.08em;color:var(--offwhite,#edf1f0);opacity:0.62;}
@keyframes kn-marquee-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes kn-marquee-right{from{transform:translateX(-50%);}to{transform:translateX(0);}}
@media (prefers-reduced-motion: reduce){
  .kn-marquee-track,.kn-marquee-track-ltr,.kn-marquee-track-rtl{animation:none !important;}
}

/* ---- Keynotes value proposition ---- */
.kn-vp{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:640px;background:var(--offwhite,#edf1f0);border-top-left-radius:80px;border-top-right-radius:80px;overflow:hidden;}
.kn-vp-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 88% 8%, rgba(237,191,42,0.16), rgba(237,191,42,0) 62%);}
.kn-vp-media{position:relative;overflow:hidden;}
.kn-vp-video{width:100%;height:100%;display:block;object-fit:cover;object-position:center 38%;}
.kn-vp { min-height: 0; align-items: center; }
.kn-vp-media { display: flex; align-items: center; justify-content: center; height: auto; overflow: visible; }
.kn-vp-video { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; object-position: center; background: #000; border-radius: 4px; }
.kn-vp-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:92px clamp(32px,5vw,84px);}
.kn-vp-h2{font-family:var(--display,'Fraunces',serif);font-size:clamp(34px,3.6vw,52px);line-height:1.14;color:var(--charcoal,#2b2e34);margin:0 0 22px;}
.kn-vp-h2 .magenta{color:var(--magenta,#920178);font-style:normal;}
.kn-vp-body{font-family:var(--body,'Archivo',sans-serif);font-size:17px;line-height:1.7;color:rgba(43,46,52,0.82);max-width:56ch;margin:0 0 32px;}
.kn-vp .em-btn-dark{align-self:flex-start;background:var(--charcoal,#2b2e34);color:var(--offwhite,#edf1f0);border:1px solid var(--charcoal,#2b2e34);}
.kn-vp .kn-play-dark{border-left-color:var(--offwhite,#edf1f0);}

/* ===== Keynotes: Statistics band ===== */
.kn-stats{background:#d8ecec;color:var(--charcoal,#2b2e34);padding:clamp(72px,8vw,120px) clamp(24px,6vw,88px) clamp(72px,8vw,112px);border-bottom-left-radius:80px;border-bottom-right-radius:80px;}
.kn-stats-inner{max-width:1180px;margin:0 auto;}
.kn-stats-tag{display:inline-block;font-family:var(--body,'Archivo',sans-serif);font-weight:700;font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--magenta,#920178);margin-bottom:14px;}
.kn-stats-h2{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.15;font-size:clamp(30px,3.6vw,48px);margin:0 0 26px;color:var(--charcoal,#2b2e34);}
.kn-stats-divider{display:flex;gap:6px;margin:0 0 48px;}
.kn-stats-divider .seg{height:4px;width:64px;border-radius:2px;}
.kn-stats-divider .seg-yellow{background:var(--yellow,#edbf2a);}
.kn-stats-divider .seg-charcoal{background:var(--charcoal,#2b2e34);}
.kn-stats-divider .seg-teal{background:var(--teal,#92d3d2);}
.kn-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(32px,4vw,64px);text-align:center;}
.kn-stats-figure{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:600;font-size:clamp(44px,6vw,72px);line-height:1;color:var(--magenta,#920178);}
.kn-stats-rule{width:64px;height:4px;border-radius:2px;background:var(--teal,#92d3d2);margin:18px auto 18px;}
.kn-stats-statement{font-family:var(--body,'Archivo',sans-serif);font-size:16.5px;font-weight:500;line-height:1.55;color:var(--charcoal,#2b2e34);max-width:26ch;margin:0 auto 16px;}
.kn-stats-source{font-family:var(--body,'Archivo',sans-serif);font-weight:600;font-size:11.5px;letter-spacing:0.13em;text-transform:uppercase;color:rgba(43,46,52,0.55);}
@media (max-width:900px){.kn-stats{border-bottom-left-radius:40px;border-bottom-right-radius:40px;}.kn-stats-grid{grid-template-columns:1fr;gap:40px;}}

/* ===== Keynotes: Expertise section ===== */
.kn-exp{background:var(--offwhite,#edf1f0);padding:clamp(72px,8vw,120px) clamp(24px,6vw,88px);}
.kn-exp-inner{max-width:1180px;margin:0 auto;}
.kn-exp-tag{display:inline-block;font-family:var(--body,'Archivo',sans-serif);font-weight:700;font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--magenta,#920178);margin-bottom:14px;}
.kn-exp-h2{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.15;font-size:clamp(30px,3.6vw,48px);margin:0 0 20px;color:var(--charcoal,#2b2e34);}
.kn-exp-body{font-family:var(--body,'Archivo',sans-serif);font-size:17px;line-height:1.7;color:rgba(43,46,52,0.82);max-width:60ch;margin:0 0 26px;}
.kn-exp-divider{display:flex;gap:6px;margin:0 0 44px;}
.kn-exp-divider .seg{height:4px;width:64px;border-radius:2px;}
.kn-exp-divider .seg-yellow{background:var(--yellow,#edbf2a);}
.kn-exp-divider .seg-charcoal{background:var(--charcoal,#2b2e34);}
.kn-exp-divider .seg-teal{background:var(--teal,#92d3d2);}
.kn-exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,52px);}
.kn-exp-col{border-top:2px solid var(--teal,#92d3d2);padding-top:20px;}
.kn-exp-label{display:block;font-family:var(--body,'Archivo',sans-serif);font-weight:600;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--charcoal,#2b2e34);margin-bottom:12px;}
.kn-exp-text{font-family:var(--body,'Archivo',sans-serif);font-size:15.5px;line-height:1.65;color:rgba(43,46,52,0.78);margin:0;}
@media (max-width:900px){.kn-exp-grid{grid-template-columns:1fr;gap:28px;}}
@media (max-width: 900px){
  .kn-vp{grid-template-columns:1fr;min-height:0;border-top-left-radius:40px;border-top-right-radius:40px;}
  .kn-vp-media{height:340px;}
  .kn-vp-copy{padding:56px clamp(24px,6vw,40px);}
}

/* ===== Keynotes: four keynote blocks ===== */
.kn-block{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,5vw,72px);min-height:600px;padding:clamp(48px,6vw,88px) clamp(32px,5vw,72px);}
.kn-block .kn-block-media{order:2;}
.kn-block .kn-block-copy{order:1;}
.kn-block-reverse .kn-block-media{order:1;}
.kn-block-reverse .kn-block-copy{order:2;}
.kn-block-media{width:100%;}
.kn-block-img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:8px;box-shadow:0 24px 60px rgba(43,46,52,0.18);}
.kn-block-copy{max-width:640px;}
.kn-block-eyebrow{display:block;font-family:var(--body,'Archivo',sans-serif);font-weight:700;font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--magenta,#920178);margin-bottom:14px;}
.kn-block-h2{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.14;font-size:clamp(28px,3.2vw,44px);color:var(--charcoal,#2b2e34);margin:0 0 20px;}
.kn-block-lede{font-family:var(--body,'Archivo',sans-serif);font-size:17px;line-height:1.7;color:rgba(43,46,52,0.82);margin:0 0 28px;}
.kn-block-sub{font-family:var(--body,'Archivo',sans-serif);font-weight:700;font-size:11.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--charcoal,#2b2e34);margin:0 0 14px;}
.kn-block-list{list-style:none;margin:0 0 26px;padding:0;}
.kn-block-list li{position:relative;padding-left:22px;font-family:var(--body,'Archivo',sans-serif);font-size:15.5px;line-height:1.6;color:rgba(43,46,52,0.82);margin-bottom:12px;}
.kn-block-list li::before{content:"";position:absolute;left:0;top:0.65em;width:11px;height:2px;background:var(--charcoal,#2b2e34);opacity:0.55;}
.kn-block-ideal{font-family:var(--body,'Archivo',sans-serif);font-size:14px;line-height:1.6;color:rgba(43,46,52,0.72);margin:0;}
.kn-block-ideal strong{color:var(--charcoal,#2b2e34);font-weight:700;}
.kn-block-btn{display:inline-flex;align-items:center;gap:10px;margin-top:26px;padding:13px 24px;border-radius:2px;background:var(--magenta,#920178);color:#fff;font-family:var(--body,'Archivo',sans-serif);font-weight:600;font-size:14px;letter-spacing:0.04em;text-decoration:none;transition:opacity .25s ease;}
.kn-block-btn:hover{opacity:0.88;}
@media (max-width:900px){
  .kn-block{grid-template-columns:1fr;min-height:0;}
  .kn-block .kn-block-media,.kn-block-reverse .kn-block-media{order:1;}
  .kn-block .kn-block-copy,.kn-block-reverse .kn-block-copy{order:2;}
}

/* ── Keynotes: differentiator + mid-page CTA ───────────────────────── */
.kn-diff{background:var(--offwhite,#f7f5ef);padding:clamp(72px,8vw,120px) clamp(24px,6vw,88px);}
.kn-diff-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.kn-diff-tag{display:inline-block;font-family:var(--body,'Archivo',sans-serif);font-weight:700;font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--magenta,#920178);margin-bottom:14px;}
.kn-diff-h2{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.15;font-size:clamp(30px,3.6vw,48px);margin:0 0 20px;color:var(--charcoal,#2b2e34);}
.kn-diff-body{font-family:var(--body,'Archivo',sans-serif);font-size:17px;line-height:1.7;color:rgba(43,46,52,0.82);max-width:58ch;margin:0 0 24px;}
.kn-diff-list{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:12px;}
.kn-diff-list li{position:relative;padding-left:26px;font-family:var(--body,'Archivo',sans-serif);font-size:15.5px;line-height:1.6;color:rgba(43,46,52,0.82);}
.kn-diff-list li::before{content:"";position:absolute;left:0;top:0.7em;width:14px;height:2px;background:var(--teal,#92d3d2);}
.kn-diff-btns{display:flex;flex-wrap:wrap;gap:14px;}
.kn-diff-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--body,'Archivo',sans-serif);font-weight:600;font-size:14px;letter-spacing:0.02em;padding:14px 26px;border-radius:4px;cursor:pointer;text-decoration:none;transition:transform .2s ease,opacity .2s ease;}
.kn-diff-btn:hover{transform:translateY(-2px);}
.kn-diff-btn-solid{background:var(--charcoal,#2b2e34);color:var(--offwhite,#f7f5ef);border:1px solid var(--charcoal,#2b2e34);}
.kn-diff-btn-outline{background:transparent;color:var(--charcoal,#2b2e34);border:1px solid rgba(43,46,52,0.5);}
.kn-diff-media{width:100%;}
.kn-diff-video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:6px;box-shadow:0 24px 60px rgba(43,46,52,0.18);background:#2b2e34;}
.kn-midcta{background:var(--offwhite,#f7f5ef);padding:72px clamp(24px,6vw,88px);}
.kn-midcta-card{max-width:1180px;margin:0 auto;background:var(--charcoal,#2b2e34);border-radius:10px;padding:52px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;}
.kn-midcta-h2{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.2;font-size:clamp(26px,3vw,38px);color:var(--offwhite,#f7f5ef);margin:0;max-width:26ch;}
.kn-midcta-btn{font-family:var(--body,'Archivo',sans-serif);font-weight:700;font-size:14px;letter-spacing:0.02em;padding:16px 30px;border-radius:4px;border:none;cursor:pointer;background:var(--yellow,#edbf2a);color:var(--charcoal,#2b2e34);transition:transform .2s ease;}
.kn-midcta-btn:hover{transform:translateY(-2px);}
@media (max-width:800px){.kn-diff-inner{grid-template-columns:1fr;gap:40px;}.kn-midcta-card{grid-template-columns:1fr;padding:36px;}}

/* ── Keynotes: formats grid ────────────────────────────────────────── */
.kn-fmt{background:var(--offwhite,#f7f5ef);padding:clamp(72px,8vw,112px) clamp(24px,6vw,88px);}
.kn-fmt-inner{max-width:1180px;margin:0 auto;}
.kn-fmt-tag{display:inline-block;font-family:var(--body,'Archivo',sans-serif);font-weight:700;font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--magenta,#920178);margin-bottom:14px;}
.kn-fmt-h2{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.15;font-size:clamp(30px,3.6vw,48px);margin:0 0 26px;color:var(--charcoal,#2b2e34);}
.kn-fmt-divider{display:flex;gap:6px;margin:0 0 44px;}
.kn-fmt-divider .seg{height:4px;width:64px;border-radius:2px;}
.kn-fmt-divider .seg-yellow{background:var(--yellow,#edbf2a);}
.kn-fmt-divider .seg-charcoal{background:var(--charcoal,#2b2e34);}
.kn-fmt-divider .seg-teal{background:var(--teal,#92d3d2);}
.kn-fmt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(43,46,52,0.14);border:1px solid rgba(43,46,52,0.14);border-top:4px solid var(--teal,#92d3d2);}
.kn-fmt-cell{background:var(--offwhite,#f7f5ef);padding:28px;transition:background .2s ease;}
.kn-fmt-cell:hover{background:#e4e8e7;}
.kn-fmt-name{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;font-size:20px;line-height:1.25;color:var(--charcoal,#2b2e34);margin:0 0 10px;}
.kn-fmt-text{font-family:var(--body,'Archivo',sans-serif);font-size:14.5px;line-height:1.6;color:rgba(43,46,52,0.78);margin:0;}
@media (max-width:800px){.kn-fmt-grid{grid-template-columns:1fr;}}

/* ── Keynotes: testimonials ────────────────────────────────────────── */
.kn-tst{background:#e2e6e5;padding:clamp(72px,8vw,112px) clamp(24px,6vw,88px);border-top-left-radius:80px;border-top-right-radius:80px;}
.kn-tst-inner{max-width:1180px;margin:0 auto;}
.kn-tst-tag{display:inline-block;font-family:var(--body,'Archivo',sans-serif);font-weight:700;font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--magenta,#920178);margin-bottom:14px;}
.kn-tst-h2{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.15;font-size:clamp(30px,3.6vw,48px);margin:0 0 26px;color:var(--charcoal,#2b2e34);}
.kn-tst-divider{display:flex;gap:6px;margin:0 0 44px;}
.kn-tst-divider .seg{height:4px;width:64px;border-radius:2px;}
.kn-tst-divider .seg-yellow{background:var(--yellow,#edbf2a);}
.kn-tst-divider .seg-charcoal{background:var(--charcoal,#2b2e34);}
.kn-tst-divider .seg-teal{background:var(--teal,#92d3d2);}
.kn-tst-masonry{columns:3;column-gap:22px;}
.kn-tst-card{break-inside:avoid;background:#fff;border-left:3px solid var(--magenta,#920178);padding:26px;margin:0 0 22px;box-shadow:0 10px 30px rgba(43,46,52,0.08);}
.kn-tst-card.alt{border-left-color:var(--teal,#92d3d2);}
.kn-tst-quote{font-family:var(--display,'Fraunces',Georgia,serif);font-style:italic;font-size:17px;line-height:1.5;color:var(--charcoal,#2b2e34);margin:0;}
.kn-tst-who{font-family:var(--body,'Archivo',sans-serif);font-style:normal;font-weight:600;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--magenta,#920178);margin-top:16px;}
.kn-tst-card.alt .kn-tst-who{color:#2f7f7e;}
@media (max-width:900px){.kn-tst{border-top-left-radius:40px;border-top-right-radius:40px;columns:1;}.kn-tst-masonry{columns:1;}}

/* ── Keynotes: closing CTA ─────────────────────────────────────────── */
.kn-close{position:relative;background:var(--charcoal,#2b2e34);padding:clamp(76px,8vw,120px) clamp(24px,6vw,88px);text-align:center;overflow:hidden;}
.kn-close-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 12%, rgba(237,191,42,0.16), rgba(237,191,42,0) 62%);}
.kn-close-inner{position:relative;max-width:760px;margin:0 auto;}
.kn-close-h2{font-family:var(--display,'Fraunces',Georgia,serif);font-weight:500;letter-spacing:-0.015em;line-height:1.15;font-size:clamp(32px,4vw,52px);color:var(--offwhite,#f7f5ef);margin:0;}
.kn-close-underline{display:block;width:120px;height:6px;background:var(--teal,#92d3d2);margin:22px auto 24px;}
.kn-close-body{font-family:var(--body,'Archivo',sans-serif);font-size:17px;line-height:1.7;color:rgba(247,245,239,0.78);margin:0 auto 32px;max-width:58ch;}
.kn-close-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.kn-close-btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--body,'Archivo',sans-serif);font-weight:600;font-size:14px;padding:15px 28px;border-radius:4px;cursor:pointer;text-decoration:none;transition:transform .2s ease;}
.kn-close-btn:hover{transform:translateY(-2px);}
.kn-close-btn-yellow{background:var(--yellow,#edbf2a);color:var(--charcoal,#2b2e34);border:1px solid var(--yellow,#edbf2a);}
.kn-close-btn-outline{background:rgba(247,245,239,0.06);color:var(--offwhite,#f7f5ef);border:1px solid rgba(247,245,239,0.4);}

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

.proof-band {
  position: relative;
  width: 100%;
  min-height: 60vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: var(--offwhite);
  background: var(--charcoal);
}
.proof-band__bg { position: absolute; inset: 0; z-index: 0; }
.proof-band__bg img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 32%;
  display: block;
}
.proof-band__bg::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(20,15,30,0.82) 0%, rgba(20,15,30,0.50) 55%, rgba(20,15,30,0.12) 100%);
}
.proof-band__inner {
  position: relative; z-index: 2;
  width: 100%; max-width: 1160px; margin: 0 auto; padding: 0 28px;
}
.proof-band__kicker {
  margin: 0 0 1.1rem;
  font-family: var(--sans);
  font-size: 14px; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--teal);
}
.proof-band__quote {
  margin: 0;
  font-family: var(--serif); font-weight: 500;
  font-size: clamp(1.6rem, 3.4vw, 2.7rem);
  line-height: 1.18; max-width: 22ch;
}
.proof-band__cite {
  margin: 1.3rem 0 0;
  font-family: var(--sans);
  font-size: 0.95rem; letter-spacing: 0.02em; opacity: 0.9;
}
.proof-band__cite span { color: var(--yellow); font-weight: 600; }
@media (max-width: 720px) {
  .proof-band { min-height: 56vh; }
  .proof-band__bg::after {
    background: linear-gradient(180deg, rgba(20,15,30,0.40) 0%, rgba(20,15,30,0.85) 100%);
  }
}

.proof-band__quote .proof-band__hl { color: var(--yellow); }

.rise { opacity: 0; transform: translateY(30px); transition: opacity 0.75s cubic-bezier(0.22,0.7,0.2,1), transform 0.75s cubic-bezier(0.22,0.7,0.2,1); }
.rise.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .rise { opacity: 1 !important; transform: none !important; transition: none !important; } }
.rare { position: relative; overflow: hidden; padding: 7rem 0 6rem; color: var(--offwhite); background: radial-gradient(140% 80% at 50% -10%, #34313a 0%, var(--charcoal) 55%); }
.rare-wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.rare .bulbs { display: flex; gap: 14px; justify-content: center; margin-bottom: 2rem; }
.rare .bulbs i { width: 9px; height: 9px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 10px 2px rgba(237,191,42,0.65), 0 0 22px 6px rgba(237,191,42,0.25); }
.rare .bulbs i:nth-child(even) { opacity: 0.55; }
.rare .rc-head { text-align: center; max-width: 60ch; margin: 0 auto 3.5rem; }
.rare .rc-eyebrow { font-size: 0.74rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--teal); margin: 0 0 1.2rem; }
.rare h2 { font-family: var(--serif); font-weight: 600; line-height: 1.04; letter-spacing: -0.01em; font-size: clamp(2.2rem, 5vw, 3.7rem); margin: 0; }
.rare h2 .g { color: var(--yellow); } .rare h2 .t { color: var(--teal); } .rare h2 .l { color: #cfbfe2; }
.rare .rc-sub { margin: 1.5rem auto 0; font-size: 1.12rem; color: #c9ccd2; max-width: 54ch; }
.rare .rc-rooms { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 1rem; }
.rare .rc-room { background: #33373f; border: 1px solid rgba(237,241,240,0.09); border-radius: 3px; overflow: hidden; display: flex; flex-direction: column; }
.rare .rc-accent { height: 3px; width: 100%; }
.rare .rc-room.bw .rc-accent { background: var(--yellow); } .rare .rc-room.bc .rc-accent { background: var(--teal); } .rare .rc-room.br .rc-accent { background: var(--lavender); }
.rare .rc-ph { aspect-ratio: 3 / 4; overflow: hidden; background: #f4f4f4; }
.rare .rc-ph img { width: 100%; height: 100%; object-fit: cover; display: block; object-position: center 22%; }
.rare .rc-room.bc .rc-ph img { object-position: center 30%; } .rare .rc-room.br .rc-ph img { object-position: center 35%; }
.rare .rc-body { padding: 1.5rem 1.5rem 1.7rem; }
.rare .rc-rowtag { display: flex; align-items: center; gap: 0.7rem; margin-bottom: 0.7rem; }
.rare .rc-num { font-family: var(--serif); font-size: 1.05rem; font-weight: 600; }
.rare .rc-tag { font-size: 0.66rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; }
.rare .rc-room.bw .rc-num, .rare .rc-room.bw .rc-tag { color: var(--yellow); }
.rare .rc-room.bc .rc-num, .rare .rc-room.bc .rc-tag { color: var(--teal); }
.rare .rc-room.br .rc-num, .rare .rc-room.br .rc-tag { color: #cfbfe2; }
.rare .rc-room h3 { font-family: var(--serif); font-size: 1.75rem; font-weight: 600; margin: 0 0 0.6rem; line-height: 1; color: var(--offwhite); }
.rare .rc-room p { font-size: 0.97rem; color: #c4c7cd; margin: 0; }
.rare .rc-payoff { text-align: center; margin-top: 3.8rem; }
.rare .rc-line { font-family: var(--serif); font-size: clamp(1.5rem, 2.8vw, 2.15rem); font-weight: 500; max-width: 24ch; margin: 0 auto 1.8rem; line-height: 1.22; }
.rare .rc-cta { display: inline-block; background: var(--yellow); color: var(--charcoal); font-weight: 600; font-size: 0.95rem; padding: 0.9rem 1.8rem; border-radius: 3px; text-decoration: none; transition: transform 0.15s ease; }
.rare .rc-cta:hover { transform: translateY(-2px); }
@media (max-width: 860px) { .rare .rc-rooms { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; } .rare { padding: 5rem 0 4.5rem; } }

.testi-hl { color: var(--yellow); font-weight: 600; }

/* ============================================================
   ARCHIVE COLLAGE  ·  "From Broadway to broadcasting."
   Paste into public/site.css. Everything is scoped under .arch
   (and arch- prefixed) so nothing collides with the rest of the
   page. Uses existing :root tokens; the monospace label font is a
   self-contained system stack, so no new font import is needed.
   ============================================================ */

.arch {
  position: relative;
  overflow: hidden;
  padding: 5rem 0 4rem;
  color: var(--offwhite);
  background: radial-gradient(120% 90% at 50% 4%, #37343d 0%, var(--charcoal) 62%);
  --am: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.arch-wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }

.arch-head { text-align: center; max-width: 60ch; margin: 0 auto 1.4rem; }
.arch-eyebrow { font-size: 0.74rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--teal); margin: 0 0 1rem; }
.arch h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(2.3rem, 5.4vw, 4rem); line-height: 1.02; letter-spacing: -0.01em; margin: 0; }
.arch h2 .b { color: var(--yellow); }
.arch-sub { margin: 1rem auto 0; font-size: 1.08rem; color: #c9ccd2; max-width: 40ch; }
.arch-credits { margin: 1.4rem auto 0; max-width: 72ch; font-family: var(--am); font-size: 0.7rem; letter-spacing: 0.08em; color: #9fa3a9; line-height: 2; }

.arch-zones { position: relative; max-width: 1180px; margin: 0.5rem auto 0; padding: 0 22px; }
.arch-zlab { position: absolute; top: -4px; font-family: var(--am); font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; opacity: 0.6; }
.arch-zlab.l { left: 30px; color: var(--yellow); }
.arch-zlab.r { right: 30px; color: var(--teal); }

.arch-stage { position: relative; width: 100%; height: min(76vh, 720px); margin-top: 1.4rem; }
.arch-chip {
  position: absolute; margin: 0; background: #fff; padding: 8px 8px 6px; border-radius: 2px;
  box-shadow: 0 26px 46px -22px rgba(0, 0, 0, 0.7);
  opacity: 0;
  transform: translate(var(--fx), var(--fy)) rotate(calc(var(--r) - 7deg)) scale(0.86);
  transition: opacity 0.7s ease, transform 0.85s cubic-bezier(0.2, 0.85, 0.25, 1);
  transition-delay: var(--d);
}
.arch-stage.in .arch-chip { opacity: 1; transform: translate(0, 0) rotate(var(--r)) scale(1); }
.arch-chip img { display: block; width: 100%; height: auto; border-radius: 1px; }
.arch-chip figcaption { font-family: var(--am); font-size: 0.58rem; letter-spacing: 0.03em; color: #3a3d44; padding: 0.4rem 2px 0.1rem; text-align: center; line-height: 1.3; }
.arch-chip:hover {
  z-index: 40 !important;
  transform: translate(0, -8px) rotate(0deg) scale(1.05);
  box-shadow: 0 34px 60px -20px rgba(0, 0, 0, 0.85);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.arch-chip.reel .videobox { position: relative; aspect-ratio: 4 / 3; border-radius: 1px; overflow: hidden; background: #000; }
.arch-chip.reel video { width: 100%; height: 100%; object-fit: cover; display: block; }
.arch-chip.reel .vtag { position: absolute; top: 8px; left: 8px; font-family: var(--am); font-size: 0.54rem; letter-spacing: 0.12em; color: #fff; background: rgba(200, 20, 20, 0.85); padding: 0.18rem 0.42rem; border-radius: 2px; }

.arch-foot { margin-top: 1.6rem; text-align: center; font-family: var(--serif); font-size: 1.25rem; color: #e6e8ec; }

@media (max-width: 760px) {
  .arch-stage { height: auto; display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
  .arch-chip { position: static !important; width: 44% !important; transform: none; opacity: 0; translate: 0 24px; }
  .arch-stage.in .arch-chip { opacity: 1; translate: 0 0; transform: none; }
  .arch-chip:hover { transform: none; }
  .arch-zlab { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .arch-chip { opacity: 1; transform: translate(0, 0) rotate(var(--r)) scale(1); transition: none; }
}

.em-feature{background:#2b2e34;color:#edf1f0;padding:clamp(76px,10vw,136px) 24px;text-align:center;position:relative;overflow:hidden}
.em-feature-mark{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:clamp(140px,22vw,260px);line-height:.62;color:#edbf2a;opacity:.15;position:absolute;top:.18em;left:50%;transform:translateX(-50%);pointer-events:none;user-select:none;z-index:0}
.em-feature-inner{position:relative;z-index:1;max-width:900px;margin:0 auto}
.em-feature-tag{display:inline-block;font-family:"Archivo",system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#92d3d2;margin-bottom:26px}
.em-feature-quote{font-family:"Fraunces",Georgia,serif;font-weight:500;font-size:clamp(27px,4.1vw,50px);line-height:1.16;letter-spacing:-.01em;margin:0}
.em-feature-quote .gold{color:#edbf2a}
.em-feature-rule{display:block;width:52px;height:3px;border-radius:3px;background:#edbf2a;margin:32px auto 0}
.em-feature-attr{font-family:"Archivo",system-ui,sans-serif;font-size:15px;font-weight:600;letter-spacing:.02em;color:#edf1f0;margin:26px 0 0}
.em-feature-sub{font-family:"Archivo",system-ui,sans-serif;font-size:13px;letter-spacing:.01em;color:rgba(237,241,240,.60);margin:8px 0 0}

.kn-diff-disc{padding:0 32px;}
.kn-diff-disc .kn-exp-grid{margin-top:24px;}

.kn-midcta { background: var(--charcoal, #2b2e34); }

.kn-midcta-card { background: transparent; border-radius: 0; padding: 0; }

.kn-diff-disc { max-width: 1180px; margin: 52px auto 0; }

.kn-goodco { background: var(--offwhite, #edf1f0); padding: clamp(64px,7vw,104px) clamp(24px,6vw,88px); }
.kn-goodco-inner { max-width: 1180px; margin: 0 auto; }
.kn-goodco-label { text-align: center; font-family: var(--display,'Fraunces',Georgia,serif); font-weight: 500; font-size: clamp(24px,3vw,36px); color: var(--charcoal,#2b2e34); margin: 0 0 clamp(40px,5vw,64px); }
.kn-goodco-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: clamp(28px,3.5vw,52px) clamp(24px,3vw,40px); align-items: center; justify-items: center; }
.kn-goodco-cell { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; }
.kn-goodco-logo { max-height: 40px; max-width: 140px; width: auto; object-fit: contain; filter: brightness(0); opacity: 0.58; transition: opacity .25s ease; }
.kn-goodco-cell:hover .kn-goodco-logo { opacity: 0.9; }
.kn-goodco-text { font-family: var(--body,'Archivo',sans-serif); font-weight: 600; font-size: 15px; letter-spacing: 0.04em; color: rgba(43,46,52,0.66); text-align: center; }
@media (max-width: 900px) { .kn-goodco-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 520px) { .kn-goodco-grid { grid-template-columns: repeat(2, 1fr); } }

/* ===== Keynotes: color rhythm, floating curves, motion ===== */

.kn-diff  { background: #edf1f0; }
.kn-fmt   { background: #edf1f0; }
.kn-tst   { background: #c3e4e4; }
.kn-stats { background: #c3e4e4; }

/* Enlighten. Inspire. Transform: flat top */
.kn-vp { border-top-left-radius: 0; border-top-right-radius: 0; }

/* Monday CTA: teal beat between the dark keynotes and the light logo grid */
.kn-midcta { background: #c3e4e4; }
.kn-midcta-h2 { color: var(--charcoal, #2b2e34); text-wrap: balance; max-width: 34ch; }

/* Keynote topics: light type on the soft graphite gradient; photos lift off the dark */
.kn-block-num { display:block; font-family:var(--display,'Fraunces',Georgia,serif); font-weight:600; font-style:italic; font-size:clamp(52px,6vw,84px); line-height:.9; letter-spacing:-.02em; color:var(--yellow,#edbf2a); margin:0 0 14px; }
.kn-block-eyebrow { color: var(--teal, #92d3d2); }
.kn-block-h2 { color: var(--offwhite, #edf1f0); }
.kn-block-lede { color: rgba(237,241,240,0.85); }
.kn-block-sub { color: rgba(237,241,240,0.9); }
.kn-block-list li { color: rgba(237,241,240,0.82); }
.kn-block-list li::before { background: var(--teal, #92d3d2); opacity: 1; }
.kn-block-ideal { color: rgba(237,241,240,0.66); }
.kn-block-ideal strong { color: var(--offwhite, #edf1f0); }
.kn-block-img { box-shadow: 0 30px 70px -12px rgba(0,0,0,0.6); transition: transform .5s cubic-bezier(0.22,0.7,0.2,1), box-shadow .5s ease; }
.kn-block-media:hover .kn-block-img { transform: translateY(-6px); box-shadow: 0 42px 90px -14px rgba(0,0,0,0.72); }

/* The only two curved sections: Testimonials and Stats. */
.kn-tst,
.kn-stats {
  position: relative;
  z-index: 3;
  margin-top: -56px;
  border-top-left-radius: clamp(44px, 6vw, 76px);
  border-top-right-radius: clamp(44px, 6vw, 76px);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  padding-top: clamp(88px, 9vw, 136px);
  box-shadow: 0 -16px 44px -8px rgba(43,46,52,0.30),
              0 22px 54px -14px rgba(43,46,52,0.20);
}

/* Scroll reveal */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s cubic-bezier(0.22,0.7,0.2,1), transform .8s cubic-bezier(0.22,0.7,0.2,1); }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1 !important; transform: none !important; transition: none !important; } }

@media (max-width: 640px) {
  .kn-tst, .kn-stats {
    margin-top: -30px;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    padding-top: clamp(64px, 12vw, 96px);
  }
}

/* ---- Resources page (scoped) ---- */
.res-hero { background: #24262b; padding: 56px 56px 52px; display: flex; align-items: center; gap: 36px; }
.res-hero-text { flex: 1; }
.res-hero-eyebrow { font-size: 13px; text-transform: uppercase; letter-spacing: 0.14em; color: #92d3d2; font-weight: 600; margin-bottom: 16px; }
.res-hero-h1 { font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: clamp(30px, 4vw, 42px); color: #fff; line-height: 1.25; margin-bottom: 18px; }
.res-hero-sub { font-size: 15px; line-height: 1.8; color: rgba(255,255,255,0.72); max-width: 460px; }
.res-hero-photo { width: 190px; flex-shrink: 0; }
.res-hero-photo img { width: 100%; height: 240px; object-fit: cover; object-position: center 20%; border-radius: 6px; border: 2px solid #edbf2a; display: block; }

.res-section { padding: 44px 56px; }
.res-kit { background: #edf1f0; }
.res-watch { background: #fff; border-top: 0.5px solid #e4e4e4; border-bottom: 0.5px solid #e4e4e4; }
.res-assets { background: #edf1f0; }
.res-label { font-size: 13px; text-transform: uppercase; letter-spacing: 0.14em; color: #920178; font-weight: 600; margin-bottom: 8px; }
.res-h2 { font-family: 'Fraunces', Georgia, serif; font-size: clamp(22px, 3vw, 28px); color: #24262b; margin-bottom: 24px; }

.res-rows { display: flex; flex-direction: column; }
.res-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; border-bottom: 0.5px solid #d9dddc; }
.res-row:last-child { border-bottom: none; }
.res-rowtext { flex: 1; }
.res-rowtitle { font-family: 'Fraunces', Georgia, serif; font-size: 18px; color: #24262b; margin-bottom: 4px; }
.res-rowdesc { font-size: 14px; color: #6a6d72; line-height: 1.6; }
a.res-dl { background: #920178; color: #fff; font-size: 13px; font-weight: 500; padding: 12px 22px; border-radius: 4px; white-space: nowrap; text-decoration: none; display: inline-block; transition: opacity .2s ease; }
a.res-dl:hover { opacity: 0.88; color: #fff; }

.res-watch-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 20px; }
.res-watch-card { border: 0.5px solid #e4e4e4; border-radius: 4px; padding: 24px; text-decoration: none; display: block; transition: border-color .2s ease; }
.res-watch-card:hover { border-color: #24262b; }
.res-play { width: 36px; height: 36px; border-radius: 50%; background: #24262b; margin-bottom: 14px; position: relative; }
.res-play::after { content: ""; position: absolute; top: 50%; left: 54%; transform: translate(-50%,-50%); border-style: solid; border-width: 6px 0 6px 10px; border-color: transparent transparent transparent #edbf2a; }
.res-watch-title { font-family: 'Fraunces', Georgia, serif; font-size: 17px; color: #24262b; margin-bottom: 4px; }
.res-watch-desc { font-size: 13px; color: #6a6d72; line-height: 1.6; }

.res-assets-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 20px; }
.res-asset-card { background: #fff; border: 0.5px solid #e4e4e4; border-radius: 4px; padding: 24px; display: flex; flex-direction: column; }
.res-asset-title { font-family: 'Fraunces', Georgia, serif; font-size: 16px; color: #24262b; margin-bottom: 4px; }
.res-asset-desc { font-size: 13px; color: #6a6d72; line-height: 1.6; flex: 1; margin-bottom: 18px; }
.res-asset-btn { border: 0.5px solid #24262b; color: #24262b; font-size: 13px; font-weight: 500; padding: 10px 16px; border-radius: 4px; text-align: center; text-decoration: none; display: inline-block; transition: background .2s ease, color .2s ease; }
.res-asset-btn:hover { background: #24262b; color: #fff; }

.res-booking { margin-top: 18px; font-size: 13px; color: #888; line-height: 1.6; }

@media (max-width: 720px) {
  .res-hero { flex-direction: column; padding: 40px 28px; text-align: center; }
  .res-hero-photo { width: 160px; }
  .res-section { padding: 36px 28px; }
  .res-row { flex-direction: column; align-items: flex-start; gap: 14px; }
  .res-watch-grid, .res-assets-grid { grid-template-columns: 1fr; }
}

.res-asset-icon { width: 42px; height: 42px; border-radius: 8px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.res-asset-icon svg { width: 20px; height: 20px; }
.res-icon-teal { background: #92d3d2; color: #0f6e56; }
.res-icon-lav { background: #cfbfe2; color: #3c3489; }
.res-icon-gold { background: #edbf2a; color: #633806; }

.res-assets-grid { max-width: 760px; margin-left: auto; margin-right: auto; gap: 20px; }
.res-asset-card { padding: 26px 24px 28px; }
.res-asset-icon { margin-bottom: 18px; }
.res-asset-title { margin-bottom: 6px; line-height: 1.25; }
.res-asset-desc { margin-bottom: 22px; }
.res-watch-grid { max-width: 760px; margin-left: auto; margin-right: auto; }

/* ---- Resources: unified content column (final) ---- */
.res-hero { justify-content: center; column-gap: 40px; }
.res-hero .res-hero-text { flex: 0 1 560px; }

.res-kit .res-label,
.res-kit .res-h2,
.res-rows,
.res-watch .res-label,
.res-watch-grid,
.res-assets .res-label,
.res-assets-grid {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

/* Resources: bold category titles */
.res-rowtitle, .res-watch-title, .res-asset-title { font-weight: 600; }

/* ---- Resources: video testimonials ---- */
.res-testi { background: #fff; border-top: 0.5px solid #e4e4e4; border-bottom: 0.5px solid #e4e4e4; }
.res-testi .res-label,
.res-testi .res-h2,
.res-testi-sub,
.res-testi-grid,
.res-testi-foot { max-width: 920px; margin-left: auto; margin-right: auto; }
.res-testi-sub { font-size: 15px; color: #6a6d72; line-height: 1.7; margin-top: 4px; margin-bottom: 4px; }
.res-testi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 24px; }
.res-testi-card { background: #24262b; border-radius: 4px; overflow: hidden; aspect-ratio: 9 / 16; }
.res-testi-video { width: 100%; height: 100%; object-fit: cover; display: block; background: #24262b; }
.res-testi-foot { font-size: 13px; color: #888; text-align: center; margin-top: 22px; }
@media (max-width: 720px) { .res-testi-grid { grid-template-columns: 1fr 1fr; } }

/* ---- About page (scoped) ---- */
.ab-framed { border: 6px solid #fff; box-shadow: 0 10px 30px rgba(0,0,0,.14); }
.ab-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 36px; max-width: 900px; }
.ab-pair-item { margin: 0; }
.ab-pair-item img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 4px; display: block; }
.ab-caption { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; color: #920178; margin-top: 12px; }
.ab-subhead { font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 24px; color: #2b2e34; margin: 28px 0 10px; line-height: 1.3; }
.ab-list { list-style: none; padding: 0; margin: 0; max-width: 680px; }
.ab-list li { position: relative; padding-left: 22px; font-size: 17px; color: #555; line-height: 1.85; margin-bottom: 12px; }
.ab-list li::before { content: ""; position: absolute; left: 0; top: 12px; width: 8px; height: 8px; border-radius: 50%; background: #edbf2a; }
.ab-quote { background: linear-gradient(135deg,#f6ead0,#f3e6bf 45%,#efe9d6); padding: 90px 56px; text-align: center; }
.ab-quote-inner { max-width: 900px; margin: 0 auto; }
.ab-quote-inner p { font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: clamp(19px, 2.1vw, 26px); line-height: 1.65; color: #2b2e34; margin-bottom: 22px; }
.ab-signature { font-family: 'Dancing Script', cursive; font-size: 40px; color: #920178; margin-top: 28px; }
@media (max-width: 760px) {
  .ab-pair { grid-template-columns: 1fr; }
  .ab-quote { padding: 64px 24px; }
}

/* ---- About page (scoped warm treatment) ---- */
.about-page { background: #fdfbf7; }
.about-page .page-hero {
  background: linear-gradient(180deg,#f7efe1 0%,#fdf9f2 100%);
  padding: 96px 32px 84px;
  text-align: center;
}
.about-page .ab-hero-inner { max-width: 760px; margin: 0 auto; }
.about-page .page-hero-eyebrow {
  color: #920178; text-transform: uppercase; letter-spacing: .2em;
  font-size: 13px; font-weight: 600; margin-bottom: 24px;
}
.about-page .page-hero-h1 {
  color: #2b2e34; font-style: italic; font-weight: 400;
  font-size: clamp(46px,7vw,80px); line-height: 1.04; letter-spacing: -.01em; margin-bottom: 30px;
}
.about-page .page-hero-h1 .hl {
  background: none; -webkit-text-fill-color: currentColor; color: #2b2e34;
  font-style: normal; font-weight: 500; display: inline-block;
  border-bottom: 4px solid #edbf2a; padding: 0 0 2px; box-shadow: none;
}
.about-page .page-hero-sub { color: #5a5d63; max-width: 600px; margin: 0 auto; font-size: 19px; }

.about-page .page-section.bg-off { background: #f4ede1; max-width: 100%; padding: 0; }
.about-page .ab-career-inner { max-width: 880px; margin: 0 auto; padding: 84px 32px; }
.about-page .ab-career-inner .interior-p { max-width: none; }
.about-page .ab-career-inner .ab-pair { max-width: 100%; gap: 22px; margin-top: 36px; }

.about-page .ab-personal { align-items: stretch; }
.about-page .ab-personal .bio-image,
.about-page .ab-personal .bio-image img { height: 100%; }
.about-page .ab-personal .bio-image img { width: 100%; object-fit: cover; object-position: center; display: block; }

@media (max-width: 860px) {
  .about-page .ab-personal .bio-image,
  .about-page .ab-personal .bio-image img { height: auto; }
  .about-page .ab-personal .bio-image img { aspect-ratio: 4 / 5; }
  .about-page .ab-career-inner { padding: 64px 24px; }
}

/* Emcee closing headline: keep on one line */
.em-close-h2{font-size:clamp(22px,3vw,40px);white-space:nowrap;}
@media (max-width:700px){.em-close-h2{white-space:normal;font-size:clamp(24px,6vw,32px);}}
