/*
      Gattison speaker page v4
      Goal: align with existing Icon Element site system.
      This file intentionally uses the same root variables, nav markup,
      card treatments, rounded CTA language, typography rhythm, and GSAP/parallax
      behavior found across index.html, /services/, /contact/, etc.
    */

    :root {
      --navbar-height: 120px;
      --speaker-gray: #161616;
      --speaker-gray-2: #1c1c1c;
      --speaker-border: rgba(201, 169, 110, 0.16);
      --speaker-border-strong: rgba(201, 169, 110, 0.32);
      --speaker-muted: rgba(248, 248, 248, 0.58);
      --speaker-soft: rgba(248, 248, 248, 0.78);
      --speaker-gold-dim: rgba(201, 169, 110, 0.10);
    }

    html { scroll-behavior: smooth; }

    body {
      padding-top: var(--navbar-height, 120px);
      background: var(--bg, #0a0a0a);
      color: var(--text, #f5f5f5);
      font-family: var(--font-title);
      line-height: 1.7;
      overflow-x: hidden;
    }

    /* Keep the standard site nav but add a text fallback for the logo in this standalone file. */
    .logo a { display: inline-flex; align-items: center; text-decoration: none; }
    .logo-fallback {
      display: none;
      color: var(--gold, #C9A96E);
      font-family: var(--font-title);
      font-weight: 900;
      font-size: 1rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    /* Page namespace */
    .speaker-page {
      background:
        radial-gradient(ellipse 70% 38% at 50% 0%, rgba(201,169,110,0.055) 0%, transparent 68%),
        var(--bg, #0a0a0a);
      color: var(--text, #f5f5f5);
      position: relative;
      isolation: isolate;
      overflow: clip;
    }

    .speaker-page * { box-sizing: border-box; }
    .speaker-page img,
    .speaker-page video { display: block; max-width: 100%; }
    .speaker-page a { color: inherit; text-decoration: none; }
    .speaker-page h1,
    .speaker-page h2,
    .speaker-page h3 {
      opacity: 1 !important;
      font-family: var(--font-title);
      font-weight: 900;
      letter-spacing: -0.03em;
      line-height: 1.08;
      color: var(--text, #f8f8f8);
    }

    .speaker-container {
      width: min(1360px, calc(100% - clamp(2rem, 7vw, 7rem)));
      margin: 0 auto;
    }

    .speaker-section {
      position: relative;
      padding: clamp(6rem, 12vh, 12rem) 0;
    }

    .speaker-section.compact {
      padding: clamp(4.5rem, 8vh, 8rem) 0;
    }

    .speaker-eyebrow {
      display: inline-block;
      font-family: var(--font-body);
      font-size: 0.74rem;
      font-weight: 700;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: var(--gold, #C9A96E);
      opacity: 0.72;
      margin-bottom: 1.1rem;
    }

    .gold-text,
    .speaker-gradient {
      background: linear-gradient(90deg, var(--gold, #C9A96E), #e8c88a, var(--gold-dark, #B8860B));
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }

    .speaker-kicker-line {
      width: 80px;
      height: 2px;
      background: linear-gradient(90deg, var(--gold, #C9A96E), transparent);
      margin: 1.15rem 0 0;
    }

    /* Website-aligned CTA styles copied from the services/contact system. */
    .speaker-cta-row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 1.1rem;
    }

    .cta-primary,
    .cta-secondary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 50px;
      padding: 1rem 2.55rem;
      border-radius: 50px;
      font-family: var(--font-title);
      font-size: 1rem;
      font-weight: 700;
      text-decoration: none;
      transition: all 0.4s ease;
      cursor: pointer;
      line-height: 1.1;
      white-space: nowrap;
    }

    .cta-primary {
      background: linear-gradient(90deg, var(--gold, #C9A96E), var(--gold-dark, #B8860B));
      color: #000;
      border: 1px solid transparent;
      box-shadow: 0 12px 48px rgba(201,169,110,0.22);
    }

    .cta-primary:hover,
    .cta-primary:focus-visible {
      transform: translateY(-4px);
      box-shadow: 0 22px 72px rgba(201,169,110,0.38);
      outline: none;
    }

    .cta-secondary {
      background: transparent;
      color: var(--gold, #C9A96E);
      border: 1px solid rgba(201,169,110,0.35);
    }

    .cta-secondary:hover,
    .cta-secondary:focus-visible {
      transform: translateY(-4px);
      background: rgba(201, 169, 110, 0.12);
      border-color: var(--gold, #C9A96E);
      outline: none;
    }

    /* Parallax helpers */
    [data-parallax] {
      transform: translate3d(0, var(--parallax-y, 0px), 0);
      will-change: transform;
    }

    .parallax-bg {
      transform: translate3d(0, var(--parallax-y, 0px), 0) scale(1.08);
      will-change: transform;
    }

    /* HERO */
    .speaker-hero {
      position: relative !important;
      top: auto !important;
      height: auto !important;
      min-height: calc(100svh - var(--navbar-height, 120px));
      display: grid;
      align-items: center;
      overflow: hidden;
      background: #0a0a0a;
      border-bottom: 1px solid var(--speaker-border);
    }

    .speaker-hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(10,10,10,0.98) 0%, rgba(10,10,10,0.88) 42%, rgba(10,10,10,0.38) 100%),
        radial-gradient(ellipse 60% 52% at 73% 20%, rgba(201,169,110,0.12), transparent 66%);
      z-index: 2;
      pointer-events: none;
    }

    .speaker-hero::after {
      content: '';
      position: absolute;
      top: -12%;
      left: 58%;
      z-index: 4;
      width: 1px;
      height: 125%;
      background: linear-gradient(180deg, transparent, rgba(201,169,110,0.95), transparent);
      transform: rotate(10deg);
      pointer-events: none;
    }

    .hero-bg-image {
      position: absolute;
      inset: -9% -4% -12% 38%;
      z-index: 1;
      opacity: .96;
    }

    .hero-bg-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      filter: grayscale(1) brightness(.68) contrast(1.12);
    }

    .hero-city-wash {
      position: absolute;
      inset: auto 0 0 0;
      height: 58%;
      z-index: 3;
      background:
        linear-gradient(180deg, transparent, rgba(10,10,10,0.98)),
        radial-gradient(ellipse at 45% 70%, rgba(201,169,110,0.08), transparent 44%);
      pointer-events: none;
    }

    .speaker-hero-inner {
      position: relative;
      z-index: 5;
      min-height: inherit;
      display: grid;
      grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.82fr);
      align-items: center;
      gap: clamp(2rem, 5vw, 5.5rem);
      padding: clamp(5rem, 10vh, 8rem) 0;
    }

    .speaker-hero-copy {
      max-width: 760px;
      padding-top: 1rem;
    }

    .speaker-hero h1 {
      font-size: clamp(3.6rem, 8vw, 8.2rem);
      line-height: .95;
      margin: .3rem 0 1.25rem;
    }

    .speaker-hero .hero-subhead {
      max-width: 630px;
      font-family: var(--font-title);
      font-size: clamp(1.35rem, 2.5vw, 2.15rem);
      line-height: 1.22;
      color: var(--gold, #C9A96E);
      margin-bottom: 1.2rem;
    }

    .speaker-hero .hero-copy {
      max-width: 620px;
      font-size: clamp(1.05rem, 1.3vw, 1.2rem);
      line-height: 1.75;
      color: rgba(248,248,248,0.72);
      margin-bottom: 2.4rem;
    }

    .hero-side-card {
      align-self: end;
      justify-self: end;
      width: min(360px, 100%);
      padding: 1.8rem;
      border: 1px solid rgba(201,169,110,0.18);
      border-radius: 16px;
      background: rgba(12, 12, 14, .48);
      backdrop-filter: blur(12px);
      box-shadow: 0 20px 70px rgba(0,0,0,.35);
    }

    .hero-side-card p {
      color: rgba(248,248,248,.68);
      font-size: .98rem;
      line-height: 1.75;
      margin-top: .8rem;
    }

    .hero-gold-corner {
      position: absolute;
      right: -2rem;
      bottom: 3rem;
      z-index: 5;
      width: 230px;
      height: 230px;
      border-right: 1px solid var(--gold, #C9A96E);
      border-bottom: 1px solid var(--gold, #C9A96E);
      transform: skew(-19deg);
      opacity: .68;
      pointer-events: none;
    }

    .hero-gold-corner::before {
      content: '';
      position: absolute;
      inset: 24px -18px -18px 24px;
      border-right: 1px solid var(--gold, #C9A96E);
      border-bottom: 1px solid var(--gold, #C9A96E);
    }

    /* Site-like section headers */
    .speaker-section-header {
      text-align: center;
      max-width: 920px;
      margin: 0 auto clamp(3rem, 6vw, 5rem);
    }

    .speaker-section-header h2 {
      font-size: clamp(2.6rem, 5.8vw, 5rem);
      margin: .35rem 0 1rem;
    }

    .speaker-section-header p {
      max-width: 760px;
      margin: 0 auto;
      color: var(--speaker-muted);
      font-size: clamp(1.05rem, 2vw, 1.24rem);
      line-height: 1.78;
    }

    /* VIDEO + STATS */
    .insight-section {
      background:
        radial-gradient(ellipse 70% 55% at 50% 0%, rgba(201,169,110,.055), transparent 65%),
        #0a0a0a;
      border-bottom: 1px solid var(--speaker-border);
    }

    .video-frame {
      width: min(1120px, 100%);
      margin: 0 auto;
      position: relative;
      overflow: hidden;
      border-radius: 16px;
      border: 1px solid rgba(201,169,110,0.20);
      background: #000;
      box-shadow: 0 24px 72px rgba(0,0,0,0.5);
    }

    .video-frame::before {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background: radial-gradient(circle at 50% 42%, transparent 0 30%, rgba(0,0,0,.18) 65%);
    }

    .video-frame video {
      width: 100%;
      aspect-ratio: 16 / 9;
      object-fit: cover;
      background: #000;
      filter: brightness(.88) contrast(1.06);
    }

    .video-play-overlay {
      position: absolute;
      inset: 0;
      z-index: 2;
      display: grid;
      place-items: center;
      pointer-events: none;
      transition: opacity .28s ease;
    }

    .video-frame.is-playing .video-play-overlay { opacity: 0; }

    .play-circle {
      width: clamp(72px, 8vw, 102px);
      height: clamp(72px, 8vw, 102px);
      border-radius: 50%;
      border: 1px solid rgba(232,200,138,.7);
      display: grid;
      place-items: center;
      background: rgba(10,10,10,.7);
      color: #e8c88a;
      box-shadow: 0 10px 45px rgba(0,0,0,.48);
      backdrop-filter: blur(6px);
    }

    .play-circle::before {
      content: '';
      margin-left: 6px;
      border-left: 23px solid currentColor;
      border-top: 15px solid transparent;
      border-bottom: 15px solid transparent;
    }

    .stat-grid {
      width: min(1120px, 100%);
      margin: clamp(1.8rem, 4vw, 3rem) auto 1.3rem;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.35rem;
    }

    .stat-card,
    .research-panel,
    .outcome-card,
    .offer-card,
    .enhancements,
    .about-wrap,
    .testimonial-card,
    .calendar-shell,
    .form-card {
      background: rgba(22, 22, 22, .78);
      border: 1px solid rgba(201,169,110,0.14);
      border-radius: 16px;
      backdrop-filter: blur(10px);
      box-shadow: 0 12px 48px rgba(0,0,0,.28);
    }

    .stat-card {
      min-height: 160px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 2rem 1.35rem;
      text-align: center;
      transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
    }

    .stat-card:hover {
      transform: translateY(-8px);
      border-color: rgba(201,169,110,0.42);
      box-shadow: 0 20px 50px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.04);
    }

    .stat-value {
      font-size: clamp(2.8rem, 5vw, 4.7rem);
      font-weight: 900;
      line-height: 1;
      letter-spacing: -0.04em;
      background: linear-gradient(90deg, var(--gold, #C9A96E), #e8c88a, var(--gold-dark, #B8860B));
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }

    .stat-label {
      margin-top: .85rem;
      color: rgba(248,248,248,.66);
      font-size: .96rem;
      line-height: 1.45;
    }

    .index-note {
      width: min(760px, 100%);
      margin: clamp(1.8rem, 3vw, 2.6rem) auto 0;
      text-align: center;
      color: rgba(248,248,248,.86);
      font-family: var(--font-title);
      font-size: clamp(1.35rem, 2.5vw, 2.15rem);
      font-weight: 900;
      letter-spacing: -0.02em;
      line-height: 1.2;
    }

    .index-note::before {
      content: '';
      display: block;
      width: 74px;
      height: 2px;
      margin: 0 auto 1rem;
      background: linear-gradient(90deg, transparent, var(--gold, #C9A96E), transparent);
    }

    /* RESEARCH */
    .research-panel {
      max-width: 1120px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 84px 1fr;
      align-items: start;
      gap: clamp(1.4rem, 3vw, 2.6rem);
      padding: clamp(2.2rem, 5vw, 4.2rem);
      background:
        radial-gradient(circle at 14% 18%, rgba(201,169,110,.08), transparent 20rem),
        rgba(22,22,22,.78);
    }

    .research-icon,
    .enhancement-icon,
    .outcome-icon {
      width: 64px;
      height: 64px;
      display: grid;
      place-items: center;
      color: #e8c88a;
      border: 1px solid rgba(201,169,110,.48);
      border-radius: 50%;
      background: rgba(201,169,110,.07);
      flex-shrink: 0;
    }

    .research-copy h2 {
      font-size: clamp(2.25rem, 4.6vw, 4.1rem);
      margin-bottom: 1.1rem;
    }

    .research-copy p {
      max-width: 780px;
      color: var(--speaker-soft);
      margin-bottom: 1rem;
      font-size: clamp(1rem, 1.4vw, 1.12rem);
      line-height: 1.85;
    }

    .research-copy p:last-of-type { margin-bottom: 0; }
    .research-copy .cta-primary { margin-top: 1.4rem; }
    .research-cta { align-self: end; }

    /* OUTCOMES */
    .outcomes {
      background: #0e0e0e;
      border-top: 1px solid var(--speaker-border);
      border-bottom: 1px solid var(--speaker-border);
    }

    .outcomes-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.4rem;
      align-items: stretch;
    }

    .outcome-card {
      min-height: 330px;
      display: grid;
      grid-template-rows: auto auto minmax(4.85rem, auto) minmax(5.25rem, auto) 1fr auto;
      align-content: start;
      gap: 1.05rem;
      padding: clamp(2rem, 3vw, 2.5rem);
      transition: transform .35s ease, border-color .35s ease, background .35s ease, box-shadow .35s ease;
    }

    .outcome-card:hover {
      transform: translateY(-8px);
      border-color: rgba(201,169,110,0.38);
      background: #1a1a1a;
      box-shadow: 0 24px 64px rgba(0,0,0,.34);
    }

    .outcome-num {
      font-family: var(--font-body);
      font-size: .76rem;
      font-weight: 800;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--gold, #C9A96E);
      opacity: .72;
    }

    .outcome-card h3 {
      font-size: clamp(1.45rem, 2.5vw, 2.05rem);
      margin: .1rem 0 0;
      min-height: 2.2em;
    }

    .outcome-card p {
      color: rgba(248,248,248,.7);
      font-size: 1rem;
      line-height: 1.6;
    }

    .outcome-card p strong {
      color: var(--text, #f8f8f8);
      font-weight: 800;
    }

    .outcome-preview {
      margin-bottom: .2rem;
      min-height: 5.25rem;
    }

    .outcome-ellipsis {
      color: var(--gold, #C9A96E);
      font-weight: 900;
      letter-spacing: .08em;
      white-space: nowrap;
    }

    .outcome-card.is-expanded .outcome-ellipsis {
      display: none;
    }

    .outcome-more {
      display: grid;
      gap: .85rem;
      overflow: hidden;
      max-height: 0;
      opacity: 0;
      transition: max-height .42s ease, opacity .28s ease, margin-top .28s ease;
    }

    .outcome-card.is-expanded .outcome-more {
      max-height: 520px;
      opacity: 1;
      margin-top: .15rem;
    }

    .outcome-toggle {
      align-self: end;
      margin-top: 1rem;
      width: fit-content;
      padding: .72rem 1.1rem;
      border: 1px solid rgba(201,169,110,.34);
      border-radius: 999px;
      background: transparent;
      color: var(--gold, #C9A96E);
      font-family: var(--font-body);
      font-size: .75rem;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
      cursor: pointer;
      transition: transform .25s ease, border-color .25s ease, background .25s ease;
    }

    .outcome-toggle:hover,
    .outcome-toggle:focus-visible {
      transform: translateY(-2px);
      border-color: rgba(201,169,110,.68);
      background: rgba(201,169,110,.08);
      outline: none;
    }

    .outcome-card.is-expanded .outcome-toggle {
      background: rgba(201,169,110,.1);
      border-color: rgba(201,169,110,.55);
    }

    /* OFFERS */
    .offers-section {
      background:
        radial-gradient(ellipse 70% 42% at 50% 0%, rgba(201,169,110,.05), transparent 68%),
        #0a0a0a;
    }

    .offer-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.6rem;
      align-items: stretch;
    }

    .offer-card {
      position: relative;
      display: flex;
      flex-direction: column;
      padding: clamp(2.25rem, 3vw, 3.2rem);
      padding-top: clamp(2.65rem, 3.5vw, 3.6rem);
      min-height: 520px;
      transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
      overflow: hidden;
    }

    .offer-card::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 50% 0%, rgba(201,169,110,.07), transparent 50%);
      opacity: 0;
      transition: opacity .35s ease;
      pointer-events: none;
    }

    .offer-card:hover,
    .offer-card.featured {
      border-color: rgba(201,169,110,.42);
      box-shadow: 0 24px 70px rgba(0,0,0,.42);
    }

    .offer-card:hover { transform: translateY(-10px); }
    .offer-card:hover::before,
    .offer-card.featured::before { opacity: 1; }

    .offer-label {
      font-family: var(--font-body);
      color: var(--gold, #C9A96E);
      font-size: .86rem;
      font-weight: 900;
      letter-spacing: .18em;
      text-transform: uppercase;
      opacity: .95;
      margin-bottom: .9rem;
    }

    .offer-badge {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      padding: .45rem 1.3rem;
      border-radius: 0 0 12px 12px;
      background: linear-gradient(90deg, var(--gold, #C9A96E), var(--gold-dark, #B8860B));
      color: #050505;
      font-family: var(--font-body);
      font-size: .68rem;
      font-weight: 900;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .offer-card.featured { transform: translateY(-12px); }
    .offer-card.featured:hover { transform: translateY(-18px); }
    .offer-card.featured h3 { margin-top: 0; }

    .offer-card h3 {
      font-size: clamp(1.65rem, 2.6vw, 2.3rem);
      margin-bottom: .9rem;
      min-height: 2.65em;
      display: flex;
      align-items: flex-end;
    }

    .price {
      font-size: clamp(2.05rem, 3.1vw, 3rem);
      line-height: 1;
      color: var(--gold, #C9A96E);
      margin-bottom: .8rem;
      letter-spacing: -0.04em;
      white-space: nowrap;
    }

    .pricing-note {
      width: min(780px, 100%);
      margin: 1.25rem auto 0;
      text-align: center;
      color: rgba(248,248,248,.58);
      font-family: var(--font-body);
      font-size: .92rem;
      line-height: 1.55;
    }

    .offer-meta {
      color: rgba(248,248,248,.72);
      font-size: .98rem;
      line-height: 1.45;
      margin-bottom: 1.5rem;
      min-height: 3.1em;
      display: flex;
      align-items: flex-start;
    }

    .offer-card ul {
      list-style: none;
      padding: 0;
      margin: 1rem 0 2rem;
      color: rgba(248,248,248,.65);
      font-size: .95rem;
      line-height: 1.65;
      min-height: 8.4em;
    }

    .offer-card li { display: flex; gap: .7rem; margin-bottom: .65rem; }
    .offer-card li::before { content: '•'; color: var(--gold, #C9A96E); }
    .offer-card .cta-secondary,
    .offer-card .cta-primary { margin-top: auto; width: 100%; }

    .enhancements {
      margin-top: 1.8rem;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1px;
      overflow: hidden;
      background: rgba(201,169,110,.16);
    }

    .enhancements-heading {
      grid-column: 1 / -1;
      background: #111;
      color: var(--gold, #C9A96E);
      padding: 1rem 1.4rem 0;
      font-family: var(--font-body);
      font-size: .74rem;
      font-weight: 800;
      letter-spacing: .22em;
      text-transform: uppercase;
      text-align: center;
      opacity: .75;
    }

    .enhancement-item {
      display: grid;
      grid-template-columns: 64px 1fr;
      gap: 1.2rem;
      align-items: start;
      padding: clamp(1.6rem, 3vw, 2.4rem);
      background: #111;
    }

    .enhancement-item h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); margin-bottom: .6rem; }
    .enhancement-item p { color: rgba(248,248,248,.66); font-size: .96rem; line-height: 1.68; }

    /* ABOUT */
    .about-section { background: #0e0e0e; border-top: 1px solid var(--speaker-border); border-bottom: 1px solid var(--speaker-border); }

    .about-wrap {
      display: grid;
      grid-template-columns: minmax(240px, 0.42fr) minmax(0, 1fr);
      gap: clamp(2rem, 5vw, 5rem);
      align-items: stretch;
      overflow: hidden;
    }

    .about-image {
      min-height: clamp(420px, 45vw, 640px);
      height: 100%;
      align-self: stretch;
      overflow: hidden;
      background: #050505;
      position: relative;
    }

    .about-image::after {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(90deg, rgba(5,5,5,.08), transparent 42%, rgba(5,5,5,.16)),
        radial-gradient(circle at 50% 18%, transparent 0 44%, rgba(0,0,0,.22) 100%);
    }

    .about-image img {
      width: 100%;
      height: 100%;
      min-height: 100%;
      object-fit: cover;
      object-position: center center;
      filter: none;
      transform: none;
      transform-origin: center center;
      will-change: auto;
    }

    .about-copy { padding: clamp(2rem, 5vw, 4rem) clamp(2rem, 5vw, 4.5rem) clamp(2rem, 5vw, 4rem) 0; }
    .about-copy h2 { font-size: clamp(2.35rem, 5vw, 4rem); margin-bottom: 1.1rem; }
    .about-copy p { color: var(--speaker-soft); font-size: clamp(1.05rem, 1.6vw, 1.22rem); line-height: 1.85; max-width: 760px; }
    .about-copy p + p { margin-top: 1.45rem; }

    /* TESTIMONIALS */
    .testimonials-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 1.4rem;
      max-width: 980px;
      margin: 0 auto;
    }

    .testimonial-card {
      padding: clamp(1.8rem, 3vw, 3rem);
      min-height: 250px;
    }

    .testimonial-card.field-quote {
      position: relative;
      overflow: hidden;
      border-color: rgba(201,169,110,0.22);
      background:
        radial-gradient(circle at 8% 0%, rgba(201,169,110,.08), transparent 18rem),
        rgba(22,22,22,.78);
    }

    .testimonial-card.field-quote::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, rgba(201,169,110,.8), transparent);
      pointer-events: none;
    }

    .quote-mark {
      color: var(--gold, #C9A96E);
      font-family: var(--font-title);
      font-size: 3rem;
      line-height: .8;
    }

    .testimonial-card blockquote {
      margin: .7rem 0 1.6rem;
      color: rgba(248,248,248,.78);
      font-size: clamp(1.02rem, 1.6vw, 1.2rem);
      line-height: 1.74;
    }

    .field-quote blockquote p {
      display: block;
      margin: 0 !important;
    }

    .field-quote blockquote p + p {
      margin-top: 1.35rem !important;
    }

    .testimonial-name { color: var(--gold, #C9A96E); font-weight: 700; }
    .testimonial-role { color: rgba(248,248,248,.48); font-size: .9rem; line-height: 1.45; margin-top: .25rem; }

    /* BOOKING */
    .booking-section { background: #0a0a0a; }

    .booking-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(340px, .72fr);
      gap: clamp(1.2rem, 3vw, 2rem);
      align-items: start;
      max-width: 1180px;
      margin: 0 auto;
    }

    .booking-panel {
      background:
        radial-gradient(circle at 20% 0%, rgba(201,169,110,.08), transparent 20rem),
        rgba(22,22,22,.78);
      border: 1px solid rgba(201,169,110,0.14);
      border-radius: 16px;
      backdrop-filter: blur(10px);
      box-shadow: 0 12px 48px rgba(0,0,0,.28);
      overflow: hidden;
    }

    .booking-panel-inner { padding: clamp(1.5rem, 3vw, 2.35rem); }

    .booking-panel h3 {
      font-size: clamp(1.45rem, 2.2vw, 2rem);
      margin-bottom: .5rem;
    }

    .booking-panel p {
      color: rgba(248,248,248,.58);
      line-height: 1.65;
    }

    .booking-form {
      display: grid;
      gap: 1rem;
      margin-top: 1.35rem;
    }

    .field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

    .field {
      display: grid;
      gap: .45rem;
    }

    .field.full { grid-column: 1 / -1; }

    .field label,
    .consent-row span {
      font-family: var(--font-body);
      color: rgba(248,248,248,.72);
      font-size: .78rem;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .booking-form input,
    .booking-form select,
    .booking-form textarea {
      width: 100%;
      padding: 1rem 1.05rem;
      border: 1px solid rgba(201,169,110,.16);
      border-radius: 10px;
      background: #101010;
      color: var(--text, #f8f8f8);
      font-family: var(--font-body);
      font-size: 1rem;
      transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
    }

    .booking-form select {
      appearance: none;
      background-image:
        linear-gradient(45deg, transparent 50%, rgba(201,169,110,.8) 50%),
        linear-gradient(135deg, rgba(201,169,110,.8) 50%, transparent 50%);
      background-position:
        calc(100% - 18px) calc(50% - 3px),
        calc(100% - 12px) calc(50% - 3px);
      background-size: 6px 6px, 6px 6px;
      background-repeat: no-repeat;
      padding-right: 2.55rem;
    }

    .booking-form textarea { min-height: 132px; resize: vertical; }
    .booking-form input::placeholder,
    .booking-form textarea::placeholder { color: rgba(248,248,248,.34); }

    .booking-form input:focus,
    .booking-form select:focus,
    .booking-form textarea:focus {
      outline: none;
      border-color: rgba(201,169,110,.55);
      box-shadow: 0 0 0 3px rgba(201,169,110,.08);
      background: #121212;
    }

    .slot-panel {
      position: sticky;
      top: calc(var(--navbar-height, 120px) + 1.2rem);
    }

    .slot-summary {
      margin-top: 1rem;
      padding: 1rem 1.1rem;
      border: 1px solid rgba(201,169,110,.16);
      border-radius: 12px;
      background: rgba(201,169,110,.06);
      color: rgba(248,248,248,.68);
      font-size: .94rem;
      line-height: 1.55;
    }

    .slot-loader,
    .slot-empty {
      margin-top: 1.3rem;
      padding: 1.1rem;
      border-radius: 12px;
      background: rgba(255,255,255,.035);
      color: rgba(248,248,248,.6);
      font-family: var(--font-body);
      font-size: .95rem;
      line-height: 1.55;
    }

    .slot-days {
      display: grid;
      gap: 1rem;
      margin-top: 1.4rem;
      max-height: 620px;
      overflow: auto;
      padding-right: .35rem;
      scrollbar-color: rgba(201,169,110,.38) rgba(255,255,255,.04);
    }

    .slot-day {
      border: 1px solid rgba(201,169,110,.13);
      border-radius: 14px;
      background: rgba(10,10,10,.42);
      padding: 1rem;
    }

    .slot-day-title {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 1rem;
      color: var(--gold, #C9A96E);
      font-family: var(--font-body);
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .14em;
      text-transform: uppercase;
      margin-bottom: .75rem;
    }

    .slot-day-count {
      color: rgba(248,248,248,.42);
      font-weight: 700;
      letter-spacing: .06em;
      white-space: nowrap;
    }

    .slot-buttons {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: .65rem;
    }

    .slot-button {
      min-height: 42px;
      padding: .75rem .8rem;
      border: 1px solid rgba(201,169,110,.26);
      border-radius: 999px;
      background: transparent;
      color: rgba(248,248,248,.8);
      font-family: var(--font-body);
      font-size: .92rem;
      font-weight: 800;
      cursor: pointer;
      transition: transform .25s ease, border-color .25s ease, color .25s ease, background .25s ease;
    }

    .slot-button:hover,
    .slot-button:focus-visible {
      transform: translateY(-2px);
      border-color: rgba(201,169,110,.6);
      color: var(--gold, #C9A96E);
      outline: none;
    }

    .slot-button.is-selected {
      background: linear-gradient(90deg, var(--gold, #C9A96E), var(--gold-dark, #B8860B));
      border-color: transparent;
      color: #050505;
      box-shadow: 0 10px 32px rgba(201,169,110,.22);
    }

    .selected-slot-card {
      display: none;
      margin-top: 1.2rem;
      padding: 1rem 1.1rem;
      border: 1px solid rgba(201,169,110,.3);
      border-radius: 12px;
      background: rgba(201,169,110,.08);
      color: rgba(248,248,248,.72);
      font-size: .96rem;
      line-height: 1.55;
    }

    .selected-slot-card strong { color: var(--gold, #C9A96E); }

    .consent-row {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: .8rem;
      align-items: start;
      padding: 1rem;
      border: 1px solid rgba(201,169,110,.12);
      border-radius: 12px;
      background: rgba(255,255,255,.025);
    }

    .consent-row input {
      width: 18px;
      height: 18px;
      margin-top: .15rem;
      accent-color: var(--gold, #C9A96E);
    }

    .consent-row p {
      margin-top: .35rem;
      font-size: .88rem;
      color: rgba(248,248,248,.5);
    }

    .booking-submit-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      align-items: center;
      margin-top: .4rem;
    }

    .booking-submit-row button { border: none; }

    .booking-submit-row .cta-primary[disabled] {
      cursor: not-allowed;
      opacity: .55;
      transform: none;
      box-shadow: none;
    }

    .booking-message {
      display: none;
      padding: 1rem 1.1rem;
      border-radius: 12px;
      font-family: var(--font-body);
      font-size: .95rem;
      line-height: 1.55;
    }

    .booking-message.is-visible { display: block; }
    .booking-message.success {
      border: 1px solid rgba(90, 210, 150, .28);
      background: rgba(90, 210, 150, .08);
      color: rgba(230,255,242,.9);
    }
    .booking-message.error {
      border: 1px solid rgba(255, 120, 120, .28);
      background: rgba(255, 120, 120, .08);
      color: rgba(255,235,235,.92);
    }

    .booking-small-note {
      color: rgba(248,248,248,.45);
      font-family: var(--font-body);
      font-size: .86rem;
      line-height: 1.55;
    }
    /* SPEAKER ASSETS */
    .assets-section {
      padding-top: 0;
      background: #0a0a0a;
    }

    .assets-bar {
      max-width: 980px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 1.5rem;
      align-items: center;
      padding: clamp(1.6rem, 3vw, 2.2rem);
      background: rgba(22,22,22,.78);
      border: 1px solid rgba(201,169,110,0.14);
      border-radius: 16px;
      box-shadow: 0 12px 48px rgba(0,0,0,.28);
    }

    .assets-bar h2 {
      font-size: clamp(1.55rem, 2.4vw, 2.25rem);
      margin-bottom: .45rem;
    }

    .assets-bar p {
      color: rgba(248,248,248,.6);
      max-width: 680px;
    }

    /* FOOTER */
    .speaker-footer {
      border-top: 1px solid var(--speaker-border);
      padding: 2rem 0;
      background: #080808;
    }

    .footer-grid {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      flex-wrap: wrap;
      color: rgba(248,248,248,.56);
      font-size: .95rem;
    }

    .footer-grid strong { color: var(--gold, #C9A96E); letter-spacing: .12em; text-transform: uppercase; }
    .footer-links { display: flex; flex-wrap: wrap; gap: 1.2rem; }
    .footer-links a { color: rgba(248,248,248,.58); transition: color .25s ease; }
    .footer-links a:hover { color: var(--gold, #C9A96E); }

    /* FAQ for AEO/SEO; visually hidden but crawlable. */
    .seo-faq {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }

    @media (max-width: 1180px) {
      .speaker-hero-inner { grid-template-columns: 1fr; min-height: auto; }
      .hero-bg-image { inset: 39% -12% -8% 14%; opacity: .56; }
      .speaker-hero::after { left: auto; right: 16%; }
      .hero-side-card { justify-self: start; width: min(520px, 100%); }
      .stat-grid { grid-template-columns: repeat(2, 1fr); }
      .outcomes-grid { grid-template-columns: repeat(2, 1fr); }
      .outcome-card { grid-template-rows: auto; }
      .outcome-preview { min-height: 0; }
      .offer-grid { grid-template-columns: 1fr; }
      .offer-card.featured { transform: none; }
      .offer-card.featured:hover { transform: translateY(-10px); }
      .booking-grid { grid-template-columns: 1fr; }
      .calendar-intro { grid-template-columns: 1fr; align-items: start; }
      .calendar-fields-note { max-width: 100%; }
      .assets-bar { grid-template-columns: 1fr; }
    }

    @media (max-width: 900px) {
      .research-panel { grid-template-columns: 1fr; }
      .research-cta { align-self: start; }
      .enhancements { grid-template-columns: 1fr; }
      .about-wrap { grid-template-columns: 1fr; }
      .about-copy { padding: 0 clamp(1.6rem, 5vw, 2.5rem) clamp(2rem, 5vw, 3rem); }
      .about-image { min-height: 420px; height: 420px; }
      .testimonials-grid { grid-template-columns: 1fr; }
    }

    @media (max-width: 640px) {
      body { padding-top: 92px; }
      .speaker-container { width: min(100% - 2rem, 1360px); }
      .speaker-hero { min-height: auto; }
      .speaker-hero-inner { padding: 4rem 0 4.5rem; }
      .speaker-hero h1 { font-size: clamp(3.2rem, 17vw, 5rem); }
      .speaker-cta-row { align-items: stretch; flex-direction: column; }
      .cta-primary, .cta-secondary { width: 100%; }
      .hero-side-card { display: none; }
      .hero-bg-image { inset: 48% -38% -10% 7%; opacity: .42; }
      .hero-gold-corner { width: 150px; height: 150px; right: -3rem; bottom: 2rem; }
      .speaker-section { padding: 4.8rem 0; }
      .stat-grid, .outcomes-grid, .field-grid { grid-template-columns: 1fr; }
      .stat-card { min-height: 138px; }
      .offer-card { min-height: auto; }
      .enhancement-item { grid-template-columns: 1fr; }
      .calendar-embed, .calendar-embed iframe { min-height: 480px; height: 480px; }
    }

    @media (prefers-reduced-motion: reduce) {
      [data-parallax], .parallax-bg, .about-image img { transform: none !important; }
      *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
    }


/* ==========================================================================\n   MISTRUST IS EXPENSIVE — HOMEPAGE VISUAL ALIGNMENT\n   Shared navigation and footer remain controlled by style-new.css.\n   ========================================================================== */

:root {
  --navbar-height: var(--header-height);
  --speaker-gray: #101010;
  --speaker-gray-2: #151515;
  --speaker-border: rgba(201, 162, 74, 0.18);
  --speaker-border-strong: rgba(201, 162, 74, 0.42);
  --speaker-muted: rgba(245, 241, 232, 0.62);
  --speaker-soft: rgba(245, 241, 232, 0.78);
  --speaker-gold-dim: rgba(201, 162, 74, 0.10);
}

body {
  padding-top: var(--header-height);
  background:
    radial-gradient(circle at 15% 0%, rgba(201, 162, 74, 0.08), transparent 34rem),
    radial-gradient(circle at 88% 12%, rgba(201, 162, 74, 0.055), transparent 30rem),
    var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  line-height: 1.6;
}

/* Preserve the homepage header exactly. */
.site-header .nav-container {
  height: var(--header-height);
}

.site-header .site-logo {
  height: 72px;
}

.site-header .nav-container.is-scrolled {
  height: 84px;
}

.site-header .nav-container.is-scrolled .site-logo {
  height: 58px;
}

.speaker-page {
  background:
    radial-gradient(circle at 12% 0%, rgba(201, 162, 74, 0.07), transparent 32rem),
    radial-gradient(circle at 88% 18%, rgba(242, 210, 122, 0.035), transparent 28rem),
    linear-gradient(180deg, #090909 0%, #0d0d0d 46%, #080808 100%);
  color: var(--text);
}

.speaker-page h1,
.speaker-page h2,
.speaker-page h3 {
  font-family: var(--font-title);
  font-weight: 700;
  letter-spacing: -0.035em;
  color: var(--text);
}

.speaker-page p,
.speaker-page li,
.speaker-page label,
.speaker-page input,
.speaker-page select,
.speaker-page textarea,
.speaker-page button {
  font-family: var(--font-body);
}

.speaker-container {
  width: min(100%, var(--max-width));
  padding-inline: clamp(1.25rem, 6vw, 6rem);
}

.speaker-section {
  padding: clamp(5rem, 9vw, 8rem) 0;
}

.speaker-section.compact {
  padding: clamp(4rem, 7vw, 6rem) 0;
}

.speaker-eyebrow {
  color: var(--gold-light);
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  opacity: 1;
}

.gold-text,
.speaker-gradient,
.stat-value {
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Hero: retain the portrait composition while matching the new editorial system. */
.speaker-hero {
  min-height: calc(88vh - var(--header-height));
  border-bottom: 1px solid rgba(201, 162, 74, 0.12);
  background: #080808;
}

.speaker-hero::before {
  background:
    linear-gradient(90deg, rgba(3,3,3,0.98) 0%, rgba(5,5,5,0.91) 40%, rgba(8,8,8,0.42) 100%),
    linear-gradient(180deg, rgba(5,5,5,0.14) 0%, rgba(10,10,10,0.26) 58%, rgba(10,10,10,0.92) 100%),
    radial-gradient(circle at 23% 26%, rgba(201,162,74,0.18), transparent 24rem);
}

.speaker-hero::after {
  background: linear-gradient(180deg, transparent, rgba(201, 162, 74, 0.62), transparent);
  opacity: 0.72;
}

.speaker-hero-inner {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.62fr);
  gap: clamp(2rem, 5vw, 5rem);
  padding: clamp(3.5rem, 7vw, 6rem) 0 clamp(5rem, 9vw, 8rem);
}

.speaker-hero-copy {
  max-width: 780px;
}

.hero-eyebrow {
  margin-bottom: 0.9rem;
}

.speaker-hero h1 {
  max-width: 820px;
  margin: 0 0 1.2rem;
  padding-bottom: 0.08em;
  font-size: clamp(3.4rem, 7vw, 6.6rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
  color: var(--text);
}

.speaker-hero .hero-subhead {
  max-width: 700px;
  color: var(--gold-light);
  font-family: var(--font-subtitle);
  font-size: clamp(1.25rem, 2.25vw, 1.9rem);
  line-height: 1.28;
}

.speaker-hero .hero-copy {
  max-width: 690px;
  color: rgba(245, 241, 232, 0.82);
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  line-height: 1.72;
}

.hero-side-card,
.video-frame,
.stat-card,
.research-panel,
.outcome-card,
.offer-card,
.enhancements,
.about-wrap,
.testimonial-card,
.calendar-shell,
.form-card,
.booking-panel,
.assets-bar {
  border-color: rgba(201, 162, 74, 0.18);
  border-radius: 24px;
  background:
    radial-gradient(circle at 10% 0%, rgba(201, 162, 74, 0.07), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,0.048), rgba(255,255,255,0.022));
  box-shadow: 0 20px 58px rgba(0, 0, 0, 0.26);
}

.hero-side-card {
  padding: clamp(1.5rem, 2.5vw, 2rem);
}

.hero-gold-corner {
  opacity: 0.46;
}

/* Use the homepage's button language across every MIE action. */
.speaker-page .button {
  min-height: 54px;
  padding: 0.98rem 1.45rem;
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.015em;
}

.speaker-page .button-primary {
  color: #090909;
  background: var(--gold-gradient);
  border: 0;
  box-shadow: 0 16px 42px rgba(201, 162, 74, 0.25);
}

.speaker-page .button-secondary {
  color: var(--gold-light);
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(201, 162, 74, 0.38);
}

.speaker-page .button:hover,
.stat-card:hover,
.outcome-card:hover,
.offer-card:hover {
  transform: translateY(-4px);
}

/* Editorial section headings now follow the homepage's left-aligned rhythm. */
.speaker-section-header {
  max-width: 980px;
  margin: 0 0 clamp(2.6rem, 5vw, 4.25rem);
  text-align: left;
}

.speaker-section-header h2,
.research-copy h2,
.about-copy h2 {
  margin: 0.25rem 0 1rem;
  font-size: clamp(2.66rem, 4.95vw, 6rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
  color: var(--text);
}

.speaker-section-header p {
  max-width: 820px;
  margin: 0;
  color: var(--text-muted);
  font-size: clamp(1.03rem, 1.55vw, 1.2rem);
  line-height: 1.75;
}

.insight-section,
.outcomes,
.about-section,
.booking-section,
.assets-section {
  background:
    radial-gradient(circle at 16% 0%, rgba(201, 162, 74, 0.055), transparent 28rem),
    linear-gradient(180deg, #090909 0%, #0d0d0d 50%, #080808 100%);
  border-color: rgba(201, 162, 74, 0.11);
}

.video-frame {
  overflow: hidden;
}

.stat-grid {
  gap: 1rem;
}

.stat-card {
  min-height: 180px;
  padding: clamp(1.5rem, 3vw, 2.15rem);
}

.stat-card:hover,
.outcome-card:hover,
.offer-card:hover {
  border-color: rgba(201, 162, 74, 0.46);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.32);
}

.stat-value {
  font-family: var(--font-title);
  font-weight: 700;
}

.stat-label {
  color: rgba(245, 241, 232, 0.72);
  line-height: 1.55;
}

.index-note {
  width: min(860px, 100%);
  margin-left: 0;
  text-align: left;
  color: var(--text);
  font-family: var(--font-title);
  font-weight: 700;
}

.index-note::before {
  margin-left: 0;
  background: linear-gradient(90deg, var(--gold-light), transparent);
}

.research-panel {
  max-width: none;
  padding: clamp(2rem, 4.5vw, 3.6rem);
}

.research-icon,
.enhancement-icon,
.outcome-icon {
  color: var(--gold-light);
  border-color: rgba(201, 162, 74, 0.38);
  background: rgba(201, 162, 74, 0.08);
}

.research-copy p,
.outcome-card p,
.offer-meta,
.offer-card ul,
.enhancement-item p,
.about-copy p,
.testimonial-card blockquote,
.booking-panel p,
.assets-bar p {
  color: var(--text-muted);
}

.outcomes-grid,
.offer-grid {
  gap: clamp(1rem, 2vw, 1.35rem);
}

.outcome-card,
.offer-card {
  padding: clamp(1.6rem, 3vw, 2.4rem);
}

.outcome-card h3,
.offer-card h3,
.booking-panel h3,
.assets-bar h2 {
  font-family: var(--font-title);
  font-weight: 700;
}

.outcome-num,
.offer-label,
.offer-badge,
.enhancements-heading,
.outcome-toggle {
  font-family: var(--font-body);
  color: var(--gold-light);
}

.outcome-toggle {
  border-color: rgba(201, 162, 74, 0.34);
}

.offer-card.featured,
.offer-card.featured:hover {
  transform: none;
}

.offer-card.featured {
  border-color: rgba(201, 162, 74, 0.5);
  background:
    radial-gradient(circle at 50% 0%, rgba(201, 162, 74, 0.12), transparent 22rem),
    linear-gradient(180deg, rgba(255,255,255,0.058), rgba(255,255,255,0.024));
}

.price {
  color: var(--gold-light);
  font-family: var(--font-title);
  font-weight: 700;
}

.about-wrap {
  overflow: hidden;
}

.about-copy {
  padding: clamp(2rem, 5vw, 4rem) clamp(2rem, 5vw, 4.5rem) clamp(2rem, 5vw, 4rem) 0;
}

.testimonials-grid {
  max-width: none;
}

.testimonial-card.field-quote {
  border-color: rgba(201, 162, 74, 0.2);
  background:
    radial-gradient(circle at 8% 0%, rgba(201, 162, 74, 0.09), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02));
}

.testimonial-name {
  color: var(--gold-light);
}

.booking-grid {
  max-width: none;
}

.booking-panel-inner {
  padding: clamp(1.5rem, 3vw, 2.35rem);
}

.booking-form input,
.booking-form select,
.booking-form textarea {
  color: var(--text);
  background: rgba(10, 10, 10, 0.52);
  border-color: rgba(201, 162, 74, 0.22);
  border-radius: 14px;
}

.booking-form input:focus,
.booking-form select:focus,
.booking-form textarea:focus {
  border-color: rgba(242, 210, 122, 0.72);
  box-shadow: 0 0 0 3px rgba(201, 162, 74, 0.10);
}

.assets-bar {
  max-width: none;
}

/* The same footer system as the homepage. */
.site-footer .footer-inner {
  width: min(100%, var(--max-width));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 0.8fr;
  gap: 2rem;
}

.site-footer .footer-links,
.site-footer .footer-socials {
  display: grid;
  gap: 0.7rem;
  align-content: start;
}

.site-footer .footer-links a,
.site-footer .footer-socials a {
  color: rgba(245, 241, 232, 0.78);
}

@media (max-width: 980px) {
  .site-header .nav-container {
    height: var(--header-height);
  }

  .site-header .site-logo {
    height: 58px;
  }

  .speaker-hero {
    min-height: auto;
  }

  .speaker-hero-inner {
    grid-template-columns: 1fr;
  }

  .speaker-section-header h2,
  .research-copy h2,
  .about-copy h2 {
    font-size: clamp(2.6rem, 8vw, 4.5rem);
  }

  .site-footer .footer-inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  body {
    padding-top: var(--header-height);
  }

  .site-header .site-logo {
    height: 52px;
  }

  .speaker-container {
    width: 100%;
    padding-inline: 1.25rem;
  }

  .speaker-hero-inner {
    padding: 3.25rem 0 5rem;
  }

  .speaker-hero h1 {
    font-size: clamp(3.1rem, 14.5vw, 5.1rem);
    line-height: 1.04;
  }

  .speaker-section,
  .speaker-section.compact {
    padding: 4.5rem 0;
  }

  .speaker-section-header {
    margin-bottom: 2.5rem;
  }

  .speaker-section-header h2,
  .research-copy h2,
  .about-copy h2 {
    font-size: clamp(2.5rem, 12vw, 3.8rem);
  }

  .hero-side-card {
    display: none;
  }

  .speaker-page .button {
    width: 100%;
  }

  .about-copy {
    padding: 0 1.5rem 2rem;
  }

  .site-footer .footer-inner {
    grid-template-columns: 1fr;
  }
}

/* Final mobile hero restraint. */
@media (max-width: 680px) {
  .speaker-hero-inner {
    padding: 3.25rem 1.25rem 5rem;
  }

  .speaker-hero::after,
  .hero-gold-corner {
    display: none;
  }
}

/* ================================================================
   MIE FEEDBACK PASS V2
   Homepage-aligned eyebrows/actions + contact-form-aligned booking UI
   ================================================================ */

/* Make Gattison materially more visible without changing the crop. */
.hero-bg-image {
  opacity: 1;
}

.hero-bg-image img {
  filter: grayscale(0.35) brightness(1.20) contrast(1.04);
}

.speaker-hero::before {
  background:
    linear-gradient(90deg, rgba(3,3,3,0.98) 0%, rgba(5,5,5,0.90) 38%, rgba(8,8,8,0.22) 72%, rgba(8,8,8,0.12) 100%),
    linear-gradient(180deg, rgba(5,5,5,0.08) 0%, rgba(10,10,10,0.18) 58%, rgba(10,10,10,0.84) 100%),
    radial-gradient(circle at 23% 26%, rgba(201,162,74,0.18), transparent 24rem);
}

/* Use the homepage eyebrow treatment everywhere on this page. */
.speaker-eyebrow {
  display: inline-block;
  color: transparent !important;
  background: linear-gradient(90deg, #c9a96e 0%, #e8c88a 52%, #b8860b 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: var(--font-body);
  font-size: 0.75rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  opacity: 1;
}

/* Hero actions use the homepage hero-button dimensions. */
.speaker-page .hero-button {
  min-height: 64px;
  padding: 1.12rem 1.85rem;
  font-size: clamp(1.02rem, 1.35vw, 1.15rem);
  letter-spacing: 0.018em;
}

/* Read-more controls now use the same secondary-button language. */
.speaker-page .outcome-toggle {
  align-self: end;
  width: fit-content;
  min-height: 54px;
  margin-top: 1rem;
  padding: 0.98rem 1.45rem;
  color: var(--gold-light);
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(201,162,74,0.38);
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.015em;
  text-transform: none;
}

.speaker-page .outcome-toggle:hover,
.speaker-page .outcome-toggle:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(201,162,74,0.75);
  background: rgba(255,255,255,0.025);
  box-shadow: 0 16px 40px rgba(0,0,0,0.28);
}

/* Pricing was removed; tighten the tier-card rhythm around duration and scope. */
.offer-card {
  min-height: 455px;
}

.offer-card h3 {
  min-height: 2.4em;
  margin-bottom: 0.8rem;
}

.offer-meta {
  min-height: 2.8em;
  margin-bottom: 1.35rem;
  color: rgba(245,241,232,0.78);
  font-size: 1rem;
  line-height: 1.5;
}

.offer-card ul {
  margin-top: 0.6rem;
}

/* Contact-page form typography, controls, consent, and submit button. */
.booking-panel {
  border: 1px solid rgba(201,162,74,0.22);
  border-radius: 28px;
  background:
    radial-gradient(circle at 0 0, rgba(201,162,74,0.10), transparent 22rem),
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.022));
  box-shadow: 0 24px 70px rgba(0,0,0,0.42);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.booking-panel h3 {
  margin: 0 0 0.85rem;
  font-family: var(--font-title);
  font-size: clamp(1.65rem, 3vw, 2.55rem);
  line-height: 1.08;
  letter-spacing: -0.026em;
}

.booking-panel > .booking-panel-inner > p,
.booking-panel-inner > p {
  color: var(--text-muted);
  font-size: 0.96rem;
  line-height: 1.65;
}

.booking-form {
  gap: 1rem;
  margin-top: 1.35rem;
}

.booking-form .field {
  display: block;
}

.booking-form .field label {
  display: block;
  margin-bottom: 0.5rem;
  color: rgba(245,241,232,0.78);
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
}

.booking-form .required {
  color: var(--gold-light);
}

.booking-form .optional-label {
  color: var(--text-dim);
  font-weight: 500;
}

.booking-form input,
.booking-form select,
.booking-form textarea {
  width: 100%;
  padding: 1rem 1.08rem;
  border: 1px solid rgba(201,162,74,0.18);
  border-radius: 14px;
  background: rgba(10,10,10,0.38);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.4;
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.booking-form input::placeholder,
.booking-form textarea::placeholder {
  color: rgba(245,241,232,0.34);
}

.booking-form input:focus,
.booking-form select:focus,
.booking-form textarea:focus {
  outline: none;
  border-color: rgba(242,210,122,0.58);
  background: rgba(10,10,10,0.48);
  box-shadow: 0 0 0 3px rgba(201,162,74,0.10);
}

.slot-panel {
  top: calc(var(--header-height) + 1.25rem);
}

.consent {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: start;
  width: 100%;
  margin: 0.15rem 0 1.15rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text-muted);
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.6;
  text-transform: none;
}

.consent input {
  width: 18px;
  height: 18px;
  margin-top: 0.2rem;
  accent-color: var(--gold);
}

.consent span {
  color: var(--text-muted);
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.6;
  text-transform: none;
}

.consent a {
  color: var(--gold-light);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  transition: color 0.2s ease;
}

.consent a:hover,
.consent a:focus-visible {
  color: #fff;
}

.primary-button {
  min-height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.7rem;
  border: 0;
  border-radius: 999px;
  color: #0d0d0d;
  background: linear-gradient(90deg, #c9a96e 0%, #e8c88a 52%, #b8860b 100%);
  box-shadow: 0 12px 30px rgba(201,169,110,0.24);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.05rem, 1.3vw, 1.22rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.1;
  transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease;
}

.primary-button:hover,
.primary-button:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 18px 46px rgba(201,169,110,0.34);
  outline: none;
}

.primary-button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
  transform: none;
  box-shadow: none;
}

@media (max-width: 980px) {
  .hero-bg-image {
    opacity: 0.88;
  }

  .hero-bg-image img {
    filter: grayscale(0.28) brightness(1.18) contrast(1.03);
  }
}

@media (max-width: 680px) {
  .hero-bg-image {
    opacity: 0.78;
  }

  .hero-bg-image img {
    filter: grayscale(0.22) brightness(1.16) contrast(1.02);
  }

  .speaker-page .outcome-toggle,
  .primary-button {
    width: 100%;
  }

  .booking-panel {
    border-radius: 22px;
  }
}



/* ==================================================================
   MIE FEEDBACK PASS V3
   Exact homepage CTA language + exact contact-form composition
   ================================================================== */

/* All page CTAs now use the final homepage hero-button system exactly. */
.speaker-page .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 64px !important;
  padding: 1.12rem 1.85rem !important;
  border-radius: 999px !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.12rem, 1.35vw, 1.28rem) !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.075em !important;
  -webkit-text-stroke: 0.22px currentColor !important;
  text-shadow: 0.22px 0 currentColor !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease, color .25s ease !important;
}

.speaker-page .button-primary {
  color: #0f0f12 !important;
  background: linear-gradient(90deg, #c9a96e 0%, #e8c88a 52%, #b8860b 100%) !important;
  border: 1px solid transparent !important;
  box-shadow: 0 12px 30px rgba(201, 169, 110, 0.24) !important;
}

.speaker-page .button-secondary {
  color: var(--gold-light) !important;
  background: transparent !important;
  border: 1px solid rgba(201, 162, 74, 0.72) !important;
  box-shadow: none !important;
}

.speaker-page .button-primary:hover,
.speaker-page .button-primary:focus-visible,
.speaker-page .button-secondary:hover,
.speaker-page .button-secondary:focus-visible {
  color: #0f0f12 !important;
  background: linear-gradient(90deg, #c9a96e 0%, #e8c88a 52%, #b8860b 100%) !important;
  border-color: transparent !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 30px rgba(201, 169, 110, 0.28) !important;
  outline: none !important;
}

/* Create the requested breathing room before Discuss the Keynote. */
.research-copy > .button {
  margin-top: 1.55rem !important;
}

/* Read More controls match the homepage secondary hero button. */
.speaker-page .outcome-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-height: 64px !important;
  padding: 1.12rem 1.85rem !important;
  border: 1px solid rgba(201, 162, 74, 0.72) !important;
  border-radius: 999px !important;
  color: var(--gold-light) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.05rem, 1.25vw, 1.18rem) !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.075em !important;
  text-transform: none !important;
  -webkit-text-stroke: 0.22px currentColor !important;
  text-shadow: 0.22px 0 currentColor !important;
}

.speaker-page .outcome-toggle:hover,
.speaker-page .outcome-toggle:focus-visible,
.speaker-page .outcome-card.is-expanded .outcome-toggle {
  color: #0f0f12 !important;
  background: linear-gradient(90deg, #c9a96e 0%, #e8c88a 52%, #b8860b 100%) !important;
  border-color: transparent !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 30px rgba(201, 169, 110, 0.28) !important;
  outline: none !important;
}

/* Contact-page booking composition. */
.mie-booking-layout {
  display: block !important;
  margin: 0 !important;
}

.mie-booking-main {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, .72fr);
  gap: 1.3rem;
  align-items: start;
}

.mie-form-card,
.mie-slot-card,
.mie-submit-card {
  position: relative;
  border: 1px solid rgba(201, 162, 74, 0.22);
  border-radius: 28px;
  background:
    radial-gradient(circle at 0 0, rgba(201, 162, 74, 0.10), transparent 22rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.022));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.mie-form-card {
  padding: clamp(1.35rem, 3vw, 2.35rem);
  overflow: hidden;
}

.mie-form-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, rgba(242, 210, 122, 0.9), rgba(201, 162, 74, 0.2));
  opacity: 0.8;
}

.mie-form-section {
  position: relative;
  z-index: 1;
  padding-bottom: clamp(1.35rem, 2.3vw, 1.9rem);
  margin-bottom: clamp(1.35rem, 2.3vw, 1.9rem);
  border-bottom: 1px solid rgba(201, 162, 74, 0.14);
}

.mie-form-section:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}

.mie-section-label {
  display: block;
  margin-bottom: 0.55rem;
  color: var(--gold-light);
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.mie-form-section h3,
.mie-slot-card h3 {
  margin: 0 0 0.85rem;
  color: var(--text);
  font-family: var(--font-title);
  font-size: clamp(1.65rem, 3vw, 2.55rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.026em;
}

.mie-section-help,
.mie-slot-card > p {
  margin: -0.25rem 0 1.1rem;
  color: var(--text-muted);
  font-family: var(--font-body);
  font-size: 0.96rem;
  line-height: 1.65;
}

.mie-booking-layout .field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.mie-booking-layout .field {
  min-width: 0;
}

.mie-booking-layout .field.full {
  grid-column: 1 / -1;
}

.mie-booking-layout .field label {
  display: block;
  margin-bottom: 0.5rem;
  color: rgba(245, 241, 232, 0.78);
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.4;
}

.mie-booking-layout .field input,
.mie-booking-layout .field select,
.mie-booking-layout .field textarea {
  width: 100%;
  padding: 1rem 1.08rem;
  border: 1px solid rgba(201, 162, 74, 0.18);
  border-radius: 14px;
  background: rgba(10, 10, 10, 0.38);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.4;
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.mie-booking-layout .field select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(201, 162, 74, 0.8) 50%),
    linear-gradient(135deg, rgba(201, 162, 74, 0.8) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px;
  background-repeat: no-repeat;
  padding-right: 2.5rem;
}

.mie-booking-layout .field textarea {
  min-height: 145px;
  resize: vertical;
}

.mie-booking-layout .field input::placeholder,
.mie-booking-layout .field textarea::placeholder {
  color: rgba(245, 241, 232, 0.34);
}

.mie-booking-layout .field input:focus,
.mie-booking-layout .field select:focus,
.mie-booking-layout .field textarea:focus {
  outline: none;
  border-color: rgba(242, 210, 122, 0.58);
  background-color: rgba(10, 10, 10, 0.48);
  box-shadow: 0 0 0 3px rgba(201, 162, 74, 0.10);
}

.mie-option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.mie-option {
  position: relative;
}

.mie-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.mie-option label {
  min-height: 62px;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(201, 162, 74, 0.18);
  border-radius: 16px;
  background: rgba(10, 10, 10, 0.28);
  color: rgba(245, 241, 232, 0.78);
  font-family: var(--font-body);
  font-size: 0.94rem;
  line-height: 1.35;
  cursor: pointer;
  transition: transform .25s ease, border-color .25s ease, background .25s ease, color .25s ease;
}

.mie-option label:hover {
  transform: translateY(-2px);
  border-color: rgba(201, 162, 74, 0.48);
  color: #fff;
  background: rgba(201, 162, 74, 0.08);
}

.mie-option-dot {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid rgba(242, 210, 122, 0.45);
  border-radius: 999px;
}

.mie-option-dot::after {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--gold-light);
  opacity: 0;
}

.mie-option input:checked + label {
  border-color: rgba(242, 210, 122, 0.78);
  color: var(--text);
  background: rgba(201, 162, 74, 0.08);
}

.mie-option input:checked + label .mie-option-dot::after {
  opacity: 1;
}

.mie-option input:focus-visible + label {
  outline: 2px solid rgba(242, 210, 122, 0.65);
  outline-offset: 3px;
}

.mie-slot-card {
  position: sticky;
  top: calc(var(--header-height) + 1.25rem);
  align-self: start;
  padding: clamp(1.35rem, 2.6vw, 2rem);
  max-height: calc(100svh - var(--header-height) - 2.5rem);
  overflow: hidden;
}

.mie-slot-card .slot-days {
  max-height: min(500px, calc(100svh - var(--header-height) - 18rem));
  overflow-y: auto;
}

.mie-submit-card {
  margin-top: 1.3rem;
  padding: clamp(1.25rem, 2.5vw, 1.8rem);
}

.mie-submit-card .consent {
  margin: 0 0 1.15rem;
}

.mie-submit-card .booking-submit-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

.mie-submit-card .booking-small-note {
  max-width: 500px;
  margin: 0;
  color: var(--text-dim);
  font-family: var(--font-body);
  font-size: 0.92rem;
  line-height: 1.55;
}

/* The submit control is an exact match to /contact/'s primary button. */
.mie-submit-card .primary-button {
  min-height: 60px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1rem 1.7rem !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #0d0d0d !important;
  background: linear-gradient(90deg, #c9a96e 0%, #e8c88a 52%, #b8860b 100%) !important;
  box-shadow: 0 12px 30px rgba(201, 169, 110, 0.24) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.05rem, 1.3vw, 1.22rem) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.06em !important;
  transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease !important;
}

.mie-submit-card .primary-button:hover,
.mie-submit-card .primary-button:focus-visible {
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 46px rgba(201, 169, 110, 0.34) !important;
  outline: none !important;
}

@media (max-width: 980px) {
  .mie-booking-main {
    grid-template-columns: 1fr;
  }

  .mie-slot-card {
    position: relative;
    top: auto;
    max-height: none;
  }

  .mie-slot-card .slot-days {
    max-height: 520px;
  }
}

@media (max-width: 680px) {
  .speaker-page .button,
  .speaker-page .outcome-toggle,
  .mie-submit-card .primary-button {
    width: 100% !important;
  }

  .mie-form-card,
  .mie-slot-card,
  .mie-submit-card {
    border-radius: 22px;
  }

  .mie-booking-layout .field-grid,
  .mie-option-grid {
    grid-template-columns: 1fr;
  }

  .mie-submit-card .booking-submit-row {
    align-items: stretch;
    text-align: center;
  }

  .mie-submit-card .booking-small-note {
    margin: 0 auto;
  }
}

/* FEEDBACK V4 — shared sectors, custom dark selects, and multi-select offerings */
.mie-form-card {
  overflow: visible;
}

.mie-custom-select {
  position: relative;
  z-index: 5;
}

.mie-custom-select.is-open {
  z-index: 80;
}

.mie-native-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.mie-custom-select-trigger {
  width: 100%;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.08rem;
  border: 1px solid rgba(201, 162, 74, 0.22);
  border-radius: 14px;
  color: var(--text);
  background: rgba(10, 10, 10, 0.42);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.4;
  text-align: left;
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.mie-custom-select-trigger:hover,
.mie-custom-select.is-open .mie-custom-select-trigger,
.mie-custom-select.has-value .mie-custom-select-trigger {
  border-color: rgba(242, 210, 122, 0.55);
  background: rgba(10, 10, 10, 0.56);
}

.mie-custom-select-trigger:focus-visible {
  outline: none;
  border-color: rgba(242, 210, 122, 0.72);
  box-shadow: 0 0 0 3px rgba(201, 162, 74, 0.12);
}

.mie-custom-select.is-invalid .mie-custom-select-trigger {
  border-color: rgba(255, 120, 120, 0.72);
  box-shadow: 0 0 0 3px rgba(255, 120, 120, 0.08);
}

.mie-custom-select-chevron {
  width: .72rem;
  height: .72rem;
  flex: 0 0 auto;
  border-right: 2px solid var(--gold-light);
  border-bottom: 2px solid var(--gold-light);
  transform: rotate(45deg) translateY(-2px);
  transition: transform .2s ease;
}

.mie-custom-select.is-open .mie-custom-select-chevron {
  transform: rotate(225deg) translate(-2px, -2px);
}

.mie-custom-select-menu {
  position: absolute;
  top: calc(100% + .55rem);
  left: 0;
  right: 0;
  z-index: 100;
  max-height: 310px;
  overflow-y: auto;
  padding: .55rem;
  border: 1px solid rgba(201, 162, 74, 0.30);
  border-radius: 16px;
  background:
    radial-gradient(circle at 0 0, rgba(201, 162, 74, 0.08), transparent 15rem),
    rgba(12, 12, 12, 0.985);
  box-shadow: 0 24px 58px rgba(0, 0, 0, 0.62);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  scrollbar-width: thin;
  scrollbar-color: rgba(201, 162, 74, 0.55) rgba(255, 255, 255, 0.03);
}

.mie-custom-select-menu[hidden] {
  display: none !important;
}

.mie-custom-select-menu button {
  width: 100%;
  display: block;
  padding: .82rem .9rem;
  border: 0;
  border-radius: 11px;
  color: rgba(245, 241, 232, 0.80);
  background: transparent;
  font-family: var(--font-body);
  font-size: .96rem;
  line-height: 1.35;
  text-align: left;
  transition: color .18s ease, background .18s ease;
}

.mie-custom-select-menu button:hover,
.mie-custom-select-menu button:focus-visible,
.mie-custom-select-menu button[aria-selected="true"] {
  outline: none;
  color: #fff;
  background: rgba(201, 162, 74, 0.13);
}

.mie-multi-select-help {
  margin-top: -.2rem;
  margin-bottom: 1rem;
}

.mie-option-check {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid rgba(242, 210, 122, 0.55);
  border-radius: 5px;
  background: rgba(10, 10, 10, 0.18);
  transition: border-color .2s ease, background .2s ease;
}

.mie-option-check::after {
  content: "";
  width: 8px;
  height: 4px;
  border-left: 2px solid #090909;
  border-bottom: 2px solid #090909;
  transform: rotate(-45deg) translateY(-1px);
  opacity: 0;
}

.mie-option-multi input:checked + label .mie-option-check {
  border-color: transparent;
  background: var(--gold-light);
}

.mie-option-multi input:checked + label .mie-option-check::after {
  opacity: 1;
}

.mie-inline-error {
  margin: .85rem 0 0;
  color: #ffd6d6;
  font-family: var(--font-body);
  font-size: .9rem;
  line-height: 1.45;
}

@media (max-width: 680px) {
  .mie-custom-select-menu {
    max-height: 280px;
  }
}

/* ==================================================================
   MIE FEEDBACK PASS V5
   Tier alignment, subtler portrait, and one-sheet placement
   ================================================================== */

/* Keep the portrait present, but let it sit farther behind the copy. */
.speaker-page .hero-bg-image {
  opacity: 0.88 !important;
}

/* The one-sheet now functions as a concise pre-booking resource. */
.booking-one-sheet {
  width: min(100%, 1180px);
  margin: 0 auto clamp(1.3rem, 2.5vw, 2rem);
}

.booking-one-sheet .assets-bar {
  max-width: none;
  margin: 0;
}

/* Align tier labels, titles, durations, scope lists, and CTAs row by row. */
@media (min-width: 1181px) {
  .speaker-page .offer-grid {
    align-items: stretch;
  }

  .speaker-page .offer-card {
    display: grid !important;
    grid-template-rows:
      auto
      minmax(6.15rem, auto)
      minmax(4.35rem, auto)
      1fr
      auto;
    align-content: stretch;
    height: 100%;
  }

  .speaker-page .offer-card .offer-label {
    align-self: start;
    margin: 0 0 1.35rem;
  }

  .speaker-page .offer-card h3 {
    display: block !important;
    align-self: start;
    min-height: 0 !important;
    margin: 0 !important;
  }

  .speaker-page .offer-card .offer-meta {
    display: block !important;
    align-self: start;
    min-height: 0 !important;
    margin: 0 !important;
    padding-top: 0.7rem;
  }

  .speaker-page .offer-card ul {
    align-self: start;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 1.2rem 0 1.8rem;
  }

  .speaker-page .offer-card > .button {
    align-self: end;
    width: 100% !important;
    margin-top: 0 !important;
  }
}

@media (max-width: 980px) {
  .speaker-page .hero-bg-image {
    opacity: 0.78 !important;
  }
}

@media (max-width: 680px) {
  .speaker-page .hero-bg-image {
    opacity: 0.68 !important;
  }

  .booking-one-sheet {
    margin-bottom: 1.25rem;
  }
}



/* ==================================================================
   MIE FEEDBACK PASS V6
   Booking order, solid dropdowns, conditional sector, and tier rhythm
   ================================================================== */

/* The one-sheet is the first element in the booking section. */
.booking-one-sheet {
  margin: 0 auto clamp(3rem, 5vw, 4.75rem) !important;
}

.booking-section-header {
  margin-bottom: clamp(2.4rem, 5vw, 4rem) !important;
}

/* Keep the dropdown fully opaque over the form content beneath it. */
.mie-custom-select-menu {
  isolation: isolate;
  opacity: 1 !important;
  background: #0b0b0b !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow:
    0 26px 64px rgba(0, 0, 0, 0.82),
    inset 0 1px 0 rgba(242, 210, 122, 0.06) !important;
}

.mie-custom-select-menu button {
  background: #0b0b0b;
}

.mie-custom-select-menu button:hover,
.mie-custom-select-menu button:focus-visible,
.mie-custom-select-menu button[aria-selected="true"] {
  background: #211d14 !important;
}

/* Conditional Other-sector field follows the shared booking-form pattern. */
.mie-conditional-field {
  margin-top: 1rem;
}

.mie-conditional-field[hidden] {
  display: none !important;
}

/* A selected Not sure yet option visibly and functionally locks specifics. */
.mie-option.is-disabled label,
.mie-option input:disabled + label {
  cursor: not-allowed;
  opacity: 0.42;
  transform: none !important;
  border-color: rgba(201, 162, 74, 0.10);
  background: rgba(10, 10, 10, 0.18);
}

/* Keep durations directly under titles, while lists and buttons stay aligned. */
.offer-heading-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.offer-heading-group h3 {
  margin-bottom: 0 !important;
}

.offer-heading-group .offer-meta {
  margin-top: 0.65rem !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
}

@media (min-width: 1181px) {
  .speaker-page .offer-card {
    grid-template-rows:
      auto
      minmax(9.75rem, auto)
      1fr
      auto !important;
  }

  .speaker-page .offer-heading-group {
    min-height: 9.75rem;
    align-self: stretch;
  }

  .speaker-page .offer-card ul {
    padding-top: 1rem !important;
  }
}

@media (max-width: 680px) {
  .booking-one-sheet {
    margin-bottom: 2.5rem !important;
  }
}


/* ==================================================================
   MIE FEEDBACK PASS V12
   Explicit featured testimonial layout
   ================================================================== */
.testimonials-grid.field-quotes {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.35rem) !important;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  align-items: stretch;
}

.testimonials-grid.field-quotes .testimonial-featured {
  grid-column: 1 / -1 !important;
}

.testimonials-grid.field-quotes .testimonial-card {
  width: 100%;
  height: 100%;
}

@media (max-width: 680px) {
  .testimonials-grid.field-quotes {
    grid-template-columns: 1fr !important;
  }

  .testimonials-grid.field-quotes .testimonial-featured {
    grid-column: auto !important;
  }
}


/* ==================================================================
   MIE FEEDBACK PASS V13
   Use the homepage testimonial structure and positional layout exactly.
   The long Malynda quote is the second card in the HTML, which the
   homepage system promotes to the full-width first row.
   ================================================================== */
.speaker-page .mie-testimonial-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.35rem) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  align-items: stretch !important;
}

.speaker-page .mie-testimonial-grid .testimonial-card {
  min-width: 0 !important;
  min-height: auto !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: clamp(1.6rem, 3vw, 2.2rem) !important;
  border: 1px solid rgba(201, 162, 74, 0.16) !important;
  border-radius: var(--radius-md, 18px) !important;
  background: rgba(255, 255, 255, 0.028) !important;
  overflow: visible !important;
  box-shadow: none !important;
  order: 0 !important;
  grid-column: auto !important;
}

/* Homepage featured-quote rule: the second card is promoted above the others. */
.speaker-page .mie-testimonial-grid .testimonial-card:nth-child(2) {
  grid-column: 1 / -1 !important;
  order: -1 !important;
  padding: clamp(2rem, 4vw, 3rem) !important;
  border-color: rgba(201, 162, 74, 0.28) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(201, 162, 74, 0.12), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.024)) !important;
}

.speaker-page .mie-testimonial-grid .testimonial-card::before,
.speaker-page .mie-testimonial-grid .testimonial-card::after {
  display: none !important;
  content: none !important;
}

.speaker-page .mie-testimonial-grid .testimonial-card blockquote {
  max-width: none !important;
  margin: 0 !important;
  color: rgba(245, 241, 232, 0.86) !important;
  font-family: var(--font-subtitle, Georgia, "Times New Roman", serif) !important;
  font-size: clamp(0.875rem, 1.2vw, 1.25rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}

.speaker-page .mie-testimonial-grid .testimonial-card:nth-child(2) blockquote {
  max-width: 980px !important;
  font-size: clamp(0.875rem, 1.2vw, 1.25rem) !important;
  line-height: 1.52 !important;
}

.speaker-page .mie-testimonial-grid .testimonial-card figcaption {
  margin-top: 1.4rem !important;
  color: var(--gold, #c9a24a) !important;
  font-family: var(--font-body, Aptos, "Segoe UI", Arial, sans-serif) !important;
  font-size: 0.96rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

.speaker-page .mie-testimonial-grid .testimonial-card:nth-child(2) figcaption {
  margin-top: 1.6rem !important;
}

@media (max-width: 680px) {
  .speaker-page .mie-testimonial-grid {
    grid-template-columns: 1fr !important;
  }

  .speaker-page .mie-testimonial-grid .testimonial-card,
  .speaker-page .mie-testimonial-grid .testimonial-card:nth-child(2) {
    grid-column: auto !important;
    order: 0 !important;
  }
}

/* ==================================================================
   MIE FEEDBACK PASS V14
   Compact tier rhythm and homepage testimonial hover treatment
   ================================================================== */

/* Keep the tier cards equal in height, but place any flexible space
   below the bullet list instead of between the duration and the list. */
@media (min-width: 1181px) {
  .speaker-page .offer-grid {
    align-items: stretch !important;
  }

  .speaker-page .offer-card {
    display: grid !important;
    grid-template-rows: auto auto auto 1fr auto !important;
    align-content: stretch !important;
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(2rem, 2.55vw, 2.65rem) !important;
    padding-top: clamp(2.5rem, 3vw, 3.15rem) !important;
  }

  .speaker-page .offer-card.featured {
    padding-top: clamp(2.9rem, 3.35vw, 3.45rem) !important;
  }

  .speaker-page .offer-card .offer-label {
    margin: 0 0 1.25rem !important;
  }

  .speaker-page .offer-heading-group {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    align-self: start !important;
  }

  .speaker-page .offer-heading-group h3 {
    min-height: 0 !important;
    margin: 0 !important;
  }

  .speaker-page .offer-heading-group .offer-meta {
    min-height: 0 !important;
    margin: 0.42rem 0 0 !important;
    padding: 0 !important;
  }

  .speaker-page .offer-card ul {
    grid-row: 3 !important;
    align-self: start !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 1.35rem 0 0.55rem !important;
  }

  .speaker-page .offer-card > .button {
    grid-row: 5 !important;
    align-self: end !important;
    margin-top: 1.15rem !important;
  }
}

/* Restore the same hover sheen and lift used by homepage testimonials. */
.speaker-page .mie-testimonial-grid .testimonial-card {
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 20px 58px rgba(0, 0, 0, 0.24) !important;
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease !important;
}

.speaker-page .mie-testimonial-grid .testimonial-card::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(201, 162, 74, 0.12), transparent 18rem),
    linear-gradient(135deg, rgba(201, 162, 74, 0.08), transparent 42%) !important;
  opacity: 0 !important;
  transition: opacity 0.25s ease !important;
  pointer-events: none !important;
}

.speaker-page .mie-testimonial-grid .testimonial-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(201, 162, 74, 0.48) !important;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.32) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.025)) !important;
}

.speaker-page .mie-testimonial-grid .testimonial-card:hover::before {
  opacity: 1 !important;
}

.speaker-page .mie-testimonial-grid .testimonial-card blockquote,
.speaker-page .mie-testimonial-grid .testimonial-card figcaption {
  position: relative !important;
  z-index: 1 !important;
}

@media (prefers-reduced-motion: reduce) {
  .speaker-page .mie-testimonial-grid .testimonial-card:hover {
    transform: none !important;
  }
}

/* MIE PORTRAIT FRAME V46 — widen the frame without changing the portrait's proportions. */
@media (min-width: 981px) {
  .about-wrap {
    grid-template-columns: minmax(340px, 0.56fr) minmax(0, 1fr);
    gap: clamp(2rem, 4vw, 4rem);
  }
}

/* ==================================================================
   MIE FEEDBACK PASS V48
   Reliable download, opaque dropdown stacking, scheduler reach,
   shared confirmation styling, and rounded form accent
   ================================================================== */

/* Keep the active dropdown section above every section that follows it. */
.mie-form-section.select-menu-open {
  z-index: 140 !important;
}

.mie-custom-select-menu {
  z-index: 200 !important;
  opacity: 1 !important;
  background-color: #0b0b0b !important;
  background-image: none !important;
  mix-blend-mode: normal !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: translateZ(0);
}

.mie-custom-select-menu button {
  background-color: #0b0b0b !important;
}

/* The scheduler card owns one scroll region and leaves breathing room below
   the final date/slot row, so the last option can always be reached. */
.mie-slot-card {
  display: flex !important;
  flex-direction: column;
  min-height: 0;
  overflow: hidden !important;
}

.mie-slot-card .slot-days {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none !important;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding-right: 0.5rem;
  padding-bottom: 1.25rem;
  scroll-padding-bottom: 1.25rem;
}

.mie-slot-card .slot-day:last-child {
  margin-bottom: 0.25rem;
}

/* Match the Book a Call status bar exactly. */
.mie-submit-card .booking-message,
.mie-submit-card .form-message {
  display: none;
  width: 100%;
  margin-top: 1rem;
  padding: 1rem 1.1rem;
  border-radius: 13px;
  font-family: var(--font-body);
  font-size: 0.94rem;
  line-height: 1.55;
}

.mie-submit-card .booking-message.is-visible,
.mie-submit-card .form-message.is-visible {
  display: block;
}

.mie-submit-card .booking-message.success,
.mie-submit-card .form-message.success {
  border: 1px solid rgba(90, 210, 150, 0.30);
  background: rgba(90, 210, 150, 0.08);
  color: #e8fff2;
}

.mie-submit-card .booking-message.error,
.mie-submit-card .form-message.error {
  border: 1px solid rgba(255, 120, 120, 0.30);
  background: rgba(255, 120, 120, 0.08);
  color: #ffe8e8;
}

/* The card must stay overflow-visible for dropdowns, so shorten the accent
   itself rather than relying on the rounded card to clip it. */
.mie-form-card::before {
  inset: 22px auto 22px 0 !important;
  border-radius: 999px;
}

@media (max-width: 980px) {
  .mie-slot-card {
    max-height: min(720px, calc(100svh - 1.5rem)) !important;
  }
}

@media (max-width: 680px) {
  .mie-slot-card {
    max-height: min(680px, calc(100svh - 1rem)) !important;
  }

  .mie-form-card::before {
    inset: 18px auto 18px 0 !important;
  }
}


/* ==================================================================
   MIE FEEDBACK PASS V49
   Body-level opaque dropdown and Book-a-Call privacy-note alignment
   ================================================================== */

/* The menu is portaled to <body> while open. This removes it from every
   transformed/backdrop-filtered form stacking context and guarantees that
   later form sections cannot appear through or above it. */
.mie-custom-select-menu.is-portal {
  position: fixed !important;
  z-index: 2147483647 !important;
  right: auto !important;
  margin: 0 !important;
  opacity: 1 !important;
  isolation: isolate;
  background: #0b0b0b !important;
  background-color: #0b0b0b !important;
  background-image: none !important;
  mix-blend-mode: normal !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.82) !important;
}

.mie-custom-select-menu.is-portal::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: #0b0b0b;
}

.mie-custom-select-menu.is-portal button {
  background: #0b0b0b !important;
}

.mie-custom-select-menu.is-portal button:hover,
.mie-custom-select-menu.is-portal button:focus-visible,
.mie-custom-select-menu.is-portal button[aria-selected="true"] {
  background: #241f16 !important;
}

/* Exact visual treatment used by the Book a Call form. */
.mie-submit-card .booking-small-note,
.mie-submit-card .submit-note {
  max-width: 500px;
  margin: 0;
  color: var(--text-dim);
  font-family: var(--font-body);
  font-size: 0.92rem;
  line-height: 1.6;
  text-align: left;
}

.mie-submit-card .booking-small-note a,
.mie-submit-card .submit-note a {
  color: var(--gold-light);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  transition: color 0.2s ease;
}

.mie-submit-card .booking-small-note a:hover,
.mie-submit-card .booking-small-note a:focus-visible,
.mie-submit-card .submit-note a:hover,
.mie-submit-card .submit-note a:focus-visible {
  color: #ffffff;
}

@media (max-width: 680px) {
  .mie-submit-card .booking-small-note,
  .mie-submit-card .submit-note {
    margin: 0 auto;
    text-align: center;
  }
}


/* ==================================================================
   MISTRUST IS EXPENSIVE — POSITIONING UPDATE V50
   New editorial sections, five-stat evidence grid, visible FAQ,
   and keynote-specific information architecture.
   ================================================================== */

/* Hero logistics */
.keynote-logistics ul {
  display: grid;
  gap: 0;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}

.keynote-logistics li {
  display: grid;
  gap: 0.15rem;
  padding: 0.9rem 0;
  border-bottom: 1px solid rgba(201, 162, 74, 0.14);
}

.keynote-logistics li:last-child { border-bottom: 0; }
.keynote-logistics strong { color: var(--text); font-family: var(--font-title); font-size: 1.12rem; line-height: 1.2; }
.keynote-logistics span { color: var(--text-muted); font-family: var(--font-body); font-size: 0.9rem; line-height: 1.45; }

/* Shared surfaces for the new sections */
.positioning-section,
.performance-section,
.strategic-misreads,
.shift-section,
.decision-outcomes,
.audience-section,
.voices-section,
.one-sheet-section,
.faq-section {
  position: relative;
  border-bottom: 1px solid rgba(201, 162, 74, 0.10);
}

.positioning-section,
.strategic-misreads,
.decision-outcomes,
.voices-section,
.faq-section {
  background:
    radial-gradient(circle at 12% 0%, rgba(201, 162, 74, 0.055), transparent 28rem),
    linear-gradient(180deg, #090909 0%, #0d0d0d 52%, #090909 100%);
}

.performance-section,
.shift-section,
.audience-section,
.one-sheet-section,
.index-section {
  background:
    radial-gradient(circle at 88% 8%, rgba(201, 162, 74, 0.045), transparent 26rem),
    #0a0a0a;
}

/* Leadership misread */
.premise-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.78fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}

.premise-copy h2,
.audience-copy h2 {
  margin: 0.25rem 0 1.2rem;
  max-width: 760px;
  font-size: clamp(2.8rem, 5.6vw, 6rem);
  line-height: 1.02;
}

.premise-copy p,
.audience-copy p {
  max-width: 760px;
  color: var(--text-muted);
  font-size: clamp(1.03rem, 1.4vw, 1.18rem);
  line-height: 1.78;
}

.premise-copy p + p { margin-top: 1rem; }

.premise-statement {
  margin: 0;
  padding: clamp(2rem, 4vw, 3.25rem);
  border: 1px solid rgba(201, 162, 74, 0.30);
  border-radius: 28px;
  background:
    radial-gradient(circle at 0 0, rgba(201, 162, 74, 0.13), transparent 20rem),
    linear-gradient(180deg, rgba(255,255,255,0.052), rgba(255,255,255,0.022));
  box-shadow: 0 24px 70px rgba(0,0,0,0.34);
}

.premise-statement span,
.premise-statement strong {
  display: block;
  font-family: var(--font-title);
  font-size: clamp(1.75rem, 3.5vw, 3.2rem);
  line-height: 1.12;
  letter-spacing: -0.03em;
}

.premise-statement span { color: rgba(245,241,232,0.68); }
.premise-statement strong { margin-top: 0.5rem; color: var(--gold-light); }

/* Performance cards */
.performance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.3rem);
}

.performance-card,
.misread-card,
.decision-outcome,
.shift-compare,
.pillar-grid article {
  position: relative;
  padding: clamp(1.55rem, 3vw, 2.25rem);
  border: 1px solid rgba(201, 162, 74, 0.16);
  border-radius: 22px;
  background:
    radial-gradient(circle at 0 0, rgba(201, 162, 74, 0.065), transparent 17rem),
    linear-gradient(180deg, rgba(255,255,255,0.042), rgba(255,255,255,0.018));
  box-shadow: 0 18px 50px rgba(0,0,0,0.22);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.performance-card:hover,
.misread-card:hover,
.decision-outcome:hover,
.shift-compare:hover,
.pillar-grid article:hover {
  transform: translateY(-5px);
  border-color: rgba(201, 162, 74, 0.45);
  box-shadow: 0 26px 68px rgba(0,0,0,0.30);
}

.performance-card > span,
.decision-outcome > span,
.misread-number {
  display: inline-block;
  margin-bottom: 1.35rem;
  color: var(--gold-light);
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.18em;
}

.performance-card h3,
.misread-card h3,
.decision-outcome h3,
.shift-compare h3 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.45rem, 2.5vw, 2.1rem);
  line-height: 1.12;
}

.performance-card p,
.misread-card p,
.decision-outcome p,
.shift-compare p,
.pillar-grid p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.98rem;
  line-height: 1.62;
}

/* Five-stat evidence grid */
.index-section { border-bottom: 1px solid rgba(201, 162, 74, 0.10); }
.stat-grid-five {
  width: 100%;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: stretch;
}
.stat-grid-five .stat-card { grid-column: span 2; }
.stat-grid-five .stat-card:nth-child(4) { grid-column: 2 / span 2; }
.stat-grid-five .stat-card:nth-child(5) { grid-column: 4 / span 2; }

.index-interpretation {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1rem, 3vw, 2rem);
  margin-top: clamp(1.5rem, 3vw, 2.4rem);
  padding: clamp(1.4rem, 3vw, 2rem);
  border-left: 3px solid var(--gold-light);
  background: linear-gradient(90deg, rgba(201,162,74,0.09), transparent 88%);
}
.index-interpretation p { margin: 0; color: rgba(245,241,232,0.78); line-height: 1.7; }
.index-interpretation strong { color: var(--text); }

/* Strategic misreads */
.misread-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.35rem);
}
.misread-card h3 { color: var(--gold-light); }

/* Strategic shift */
.shift-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1rem, 2vw, 1.35rem);
}
.shift-compare > span {
  display: block;
  margin-bottom: 1rem;
  color: var(--gold-light);
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.shift-compare-featured {
  border-color: rgba(201, 162, 74, 0.46);
  background:
    radial-gradient(circle at 0 0, rgba(201, 162, 74, 0.13), transparent 20rem),
    linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.022));
}

.pillar-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.35rem);
  margin-top: clamp(1rem, 2vw, 1.35rem);
}
.pillar-grid article > span {
  display: block;
  margin-bottom: 0.65rem;
  color: var(--gold-light);
  font-family: var(--font-title);
  font-size: 1.45rem;
  font-weight: 700;
}

.keynote-bridge {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem 1.3rem;
  align-items: center;
  margin-top: clamp(1.4rem, 3vw, 2rem);
  padding: clamp(1.35rem, 3vw, 1.9rem);
  border: 1px solid rgba(201, 162, 74, 0.22);
  border-radius: 20px;
  background: rgba(201, 162, 74, 0.055);
}
.keynote-bridge strong { color: var(--gold-light); font-family: var(--font-title); font-size: 1.25rem; }
.keynote-bridge span { color: var(--text-muted); line-height: 1.65; }

/* Decision outcomes */
.decision-outcomes-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.35rem);
}

/* Offers */
.offer-best-for {
  min-height: 7.2rem;
  margin: 0 0 0.3rem;
  color: rgba(245,241,232,0.68);
  font-size: 0.94rem;
  line-height: 1.58;
}
.offer-best-for strong { color: var(--text); }
.offer-card ul { min-height: 11.5rem; }

/* Audience */
.audience-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.8fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}
.audience-conditions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1.4rem;
}
.audience-conditions span,
.audience-tags span {
  display: inline-flex;
  align-items: center;
  padding: 0.72rem 0.9rem;
  border: 1px solid rgba(201,162,74,0.22);
  border-radius: 999px;
  color: rgba(245,241,232,0.78);
  background: rgba(255,255,255,0.025);
  font-size: 0.86rem;
  line-height: 1.25;
}
.audience-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  padding: clamp(1.5rem, 3vw, 2rem);
  border: 1px solid rgba(201,162,74,0.18);
  border-radius: 26px;
  background:
    radial-gradient(circle at 0 0, rgba(201,162,74,0.09), transparent 20rem),
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018));
}
.audience-tags span { color: var(--gold-light); }

/* One sheet */
.one-sheet-section .assets-bar {
  width: 100%;
  max-width: none;
}

/* Visible FAQ — no hidden SEO-only content */
.faq-list {
  display: grid;
  gap: 0.9rem;
  max-width: 1040px;
}
.faq-list details {
  border: 1px solid rgba(201,162,74,0.18);
  border-radius: 18px;
  background: rgba(255,255,255,0.025);
  overflow: hidden;
}
.faq-list summary {
  position: relative;
  padding: 1.25rem 3.5rem 1.25rem 1.35rem;
  color: var(--text);
  font-family: var(--font-title);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 700;
  line-height: 1.3;
  cursor: pointer;
  list-style: none;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after {
  content: "+";
  position: absolute;
  right: 1.35rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gold-light);
  font-family: var(--font-body);
  font-size: 1.35rem;
}
.faq-list details[open] summary::after { content: "–"; }
.faq-list details p {
  margin: 0;
  padding: 0 1.35rem 1.35rem;
  max-width: 880px;
  color: var(--text-muted);
  font-size: 1rem;
  line-height: 1.7;
}

/* Booking follows the one-sheet as a distinct section. */
.booking-section { border-bottom: 1px solid rgba(201,162,74,0.10); }

@media (max-width: 1180px) {
  .performance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat-grid-five { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat-grid-five .stat-card,
  .stat-grid-five .stat-card:nth-child(4),
  .stat-grid-five .stat-card:nth-child(5) { grid-column: auto; }
  .stat-grid-five .stat-card:last-child { grid-column: 1 / -1; }
  .offer-best-for,
  .offer-card ul { min-height: 0; }
}

@media (max-width: 980px) {
  .premise-layout,
  .audience-layout,
  .shift-grid,
  .index-interpretation { grid-template-columns: 1fr; }
  .misread-grid,
  .pillar-grid { grid-template-columns: 1fr; }
  .keynote-bridge { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .performance-grid,
  .decision-outcomes-grid,
  .stat-grid-five { grid-template-columns: 1fr; }
  .stat-grid-five .stat-card:last-child { grid-column: auto; }
  .premise-copy h2,
  .audience-copy h2 { font-size: clamp(2.5rem, 12vw, 3.9rem); }
  .premise-statement { border-radius: 22px; }
  .audience-tags { border-radius: 22px; }
  .keynote-logistics { display: none; }
}


/* ==================================================================
   MIE FEEDBACK PASS V51
   Transcript revision: tighter hero logistics, reordered narrative,
   non-sequential cards, number-only stat reveals, aligned offer cards,
   and shared FAQ-page accordion behavior.
   ================================================================== */

/* Compact the hero logistics card so it reveals more of the portrait. */
.speaker-page .keynote-logistics {
  width: min(320px, 100%);
  padding: 1.2rem 1.3rem !important;
}

.speaker-page .keynote-logistics .speaker-eyebrow {
  margin-bottom: 0.35rem;
}

.speaker-page .keynote-logistics ul {
  margin-top: 0.3rem;
}

.speaker-page .keynote-logistics li {
  gap: 0.05rem;
  padding: 0.55rem 0;
}

.speaker-page .keynote-logistics strong {
  font-size: 1rem;
  line-height: 1.12;
}

.speaker-page .keynote-logistics span {
  font-size: 0.82rem;
  line-height: 1.25;
}

/* Performance and outcome cards are categories, not steps. */
.speaker-page .performance-card,
.speaker-page .decision-outcome {
  display: grid;
  grid-template-rows: minmax(2.55rem, auto) 1fr;
  align-content: start;
}

.speaker-page .performance-card h3,
.speaker-page .decision-outcome h3 {
  align-self: start;
  margin-top: 0;
}

/* The three misreads align title and copy row-by-row without sequence numbers. */
@media (min-width: 981px) {
  .speaker-page .misread-grid {
    align-items: stretch;
  }

  .speaker-page .misread-card {
    display: grid;
    grid-template-rows: minmax(4.25rem, auto) 1fr;
    align-content: start;
  }

  .speaker-page .misread-card h3 {
    align-self: start;
    margin: 0;
  }

  .speaker-page .misread-card p {
    align-self: start;
    margin: 0;
  }
}

/* Stat cards are already present; only percentages fade up in order. */
.has-js .speaker-page [data-stat-reveal] {
  opacity: 0;
  transform: translate3d(0, 12px, 0);
}

.speaker-page [data-stat-reveal] {
  transition: opacity 0.62s ease, transform 0.62s cubic-bezier(.2,.75,.2,1);
  will-change: opacity, transform;
}

.speaker-page [data-stat-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.speaker-page .index-interpretation {
  display: block;
  margin-top: clamp(1.5rem, 3vw, 2.4rem);
  padding: 0;
  border: 0;
  background: none;
}

.speaker-page .public-sector-note {
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid rgba(201, 162, 74, 0.2);
  border-left: 3px solid var(--gold-light);
  border-radius: 0 22px 22px 0;
  background:
    radial-gradient(circle at 0 0, rgba(201, 162, 74, 0.10), transparent 20rem),
    linear-gradient(90deg, rgba(201, 162, 74, 0.075), rgba(255,255,255,0.018));
}

.speaker-page .public-sector-note > span {
  display: block;
  margin-bottom: 0.65rem;
  color: var(--gold-light);
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.speaker-page .public-sector-note p {
  max-width: 92ch;
  margin: 0;
  color: rgba(245, 241, 232, 0.78);
  line-height: 1.72;
}

.speaker-page .mie-stat-source {
  margin: 0.8rem 0 0;
  color: rgba(245, 241, 232, 0.46);
  font-family: var(--font-body);
  font-size: 0.82rem;
  line-height: 1.5;
}

/* Offer cards align duration, bullets, Best for, and CTA horizontally. */
@media (min-width: 1181px) {
  .speaker-page .offer-card {
    display: grid !important;
    grid-template-rows:
      auto
      minmax(8.8rem, auto)
      minmax(12.75rem, auto)
      minmax(9.4rem, auto)
      auto !important;
    align-content: stretch !important;
    height: 100% !important;
  }

  .speaker-page .offer-card .offer-label {
    grid-row: 1;
  }

  .speaker-page .offer-heading-group {
    grid-row: 2;
    min-height: 0 !important;
    height: auto !important;
  }

  .speaker-page .offer-card ul {
    grid-row: 3 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 1.1rem 0 1rem !important;
  }

  .speaker-page .offer-best-for {
    grid-row: 4;
    min-height: 0 !important;
    margin: 0 !important;
    padding-top: 0.65rem;
  }

  .speaker-page .offer-card > .button {
    grid-row: 5 !important;
    align-self: end !important;
  }
}

/* Optional enhancements use typography, not decorative placeholder icons. */
.speaker-page .enhancement-item {
  grid-template-columns: 1fr !important;
}

/* Shared FAQ-page visual and interaction system. */
.speaker-page .mie-faq-accordion {
  display: grid;
  gap: 0.85rem;
  width: min(100%, 1080px);
}

.speaker-page .faq-item {
  position: relative;
  border: 1px solid rgba(201, 162, 74, 0.16);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.042), rgba(255, 255, 255, 0.018));
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.20);
  overflow: hidden;
  transition: height 0.42s ease, transform 0.24s ease, border-color 0.24s ease, background 0.24s ease, box-shadow 0.24s ease;
}

.speaker-page .faq-item::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 10% 0%, rgba(201, 162, 74, 0.10), transparent 22rem),
    linear-gradient(135deg, rgba(242, 210, 122, 0.035), transparent 44%);
  opacity: 0;
  transition: opacity 0.24s ease;
}

.speaker-page .faq-item:hover,
.speaker-page .faq-item[open] {
  border-color: rgba(201, 162, 74, 0.40);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.024));
  box-shadow: 0 24px 62px rgba(0, 0, 0, 0.27);
}

.speaker-page .faq-item:hover::before,
.speaker-page .faq-item[open]::before {
  opacity: 1;
}

.speaker-page .faq-item summary {
  position: relative;
  z-index: 1;
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: clamp(1.15rem, 2vw, 1.55rem) clamp(1.2rem, 2.5vw, 1.75rem);
  cursor: pointer;
  list-style: none;
}

.speaker-page .faq-item summary::-webkit-details-marker { display: none; }

.speaker-page .faq-item summary:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: -4px;
  border-radius: 20px;
}

.speaker-page .faq-question {
  max-width: 54ch;
  color: rgba(245, 241, 232, 0.94);
  font-family: var(--font-title);
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  line-height: 1.12;
  letter-spacing: -0.018em;
  font-weight: 700;
}

.speaker-page .faq-toggle {
  flex: 0 0 2.35rem;
  width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid rgba(201, 162, 74, 0.30);
  border-radius: 999px;
  background: rgba(201, 162, 74, 0.06);
}

.speaker-page .faq-toggle span {
  position: absolute;
  width: 0.85rem;
  height: 1px;
  background: var(--gold-light);
  transition: transform 0.24s ease, opacity 0.24s ease;
}

.speaker-page .faq-toggle span:nth-child(2) { transform: rotate(90deg); }
.speaker-page .faq-item[open] .faq-toggle span:nth-child(2) { transform: rotate(0deg); opacity: 0; }

.speaker-page .faq-answer {
  position: relative;
  z-index: 1;
  padding: 0 clamp(1.2rem, 2.5vw, 1.75rem) clamp(1.4rem, 2.6vw, 2rem);
  border-top: 1px solid rgba(201, 162, 74, 0.10);
}

.speaker-page .faq-answer > *:first-child { margin-top: 1.35rem; }

.speaker-page .faq-answer p,
.speaker-page .faq-answer li {
  color: rgba(245, 241, 232, 0.75);
  font-size: clamp(0.98rem, 1.12vw, 1.07rem);
  line-height: 1.72;
}

.speaker-page .faq-answer p { max-width: 78ch; }
.speaker-page .faq-answer p + p { margin-top: 0.9rem; }

.speaker-page .faq-direct-answer {
  color: rgba(245, 241, 232, 0.96) !important;
  font-family: var(--font-subtitle);
  font-size: clamp(1.08rem, 1.45vw, 1.22rem) !important;
  font-weight: 700;
}

.speaker-page .faq-answer a {
  color: var(--gold-light);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.speaker-page .faq-item.is-animating {
  transition: height 0.42s cubic-bezier(.2,.75,.2,1), border-color 0.24s ease, background 0.24s ease, box-shadow 0.24s ease;
}

@media (max-width: 680px) {
  .speaker-page .public-sector-note { border-radius: 0 18px 18px 0; }
  .speaker-page .faq-item { border-radius: 18px; }
  .speaker-page .faq-item summary { min-height: 76px; }
  .speaker-page .faq-question { font-size: clamp(1.2rem, 6vw, 1.5rem); }
}

@media (prefers-reduced-motion: reduce) {
  .has-js .speaker-page [data-stat-reveal] {
    opacity: 1;
    transform: none;
  }
}


/* ==================================================================
   MIE FEEDBACK PASS V52
   Faster decision path, exact CTA anchors, trust-intelligence framing,
   actual-video lead-in, and corrected desktop card alignment.
   ================================================================== */

/* The two hero actions now land with the requested eyebrow visible below the fixed header. */
.speaker-page #offers-anchor,
.speaker-page #booking-anchor {
  scroll-margin-top: calc(var(--header-height, 104px) + 1.15rem);
}

/* Formats now appear immediately after the hero, so the buyer can reach the offer first. */
.speaker-page #offers {
  border-bottom: 1px solid rgba(201, 162, 74, 0.11);
}

/* The actual film is a brand-and-delivery piece, not a dated keynote preview. */
.speaker-page #video .speaker-section-header p {
  max-width: 900px;
}

/* Make the LA research feel like the trust-intelligence foundation of the keynote. */
.speaker-page #la-evidence .speaker-section-header {
  max-width: 1080px;
}

.speaker-page #la-evidence .speaker-section-header p {
  max-width: 900px;
}

.speaker-page .public-sector-note {
  padding: clamp(1.65rem, 3.2vw, 2.35rem) !important;
}

.speaker-page .public-sector-note > h3 {
  margin: 0 0 0.75rem;
  color: var(--gold-light);
  font-family: var(--font-title);
  font-size: clamp(1.55rem, 2.35vw, 2.25rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.speaker-page .public-sector-note p {
  max-width: 88ch;
}

/* Keep the explanatory sentence together on wide screens, as requested. */
@media (min-width: 1181px) {
  .speaker-page #strategic-misreads .speaker-section-header {
    max-width: 1220px;
  }

  .speaker-page #strategic-misreads .speaker-section-header p {
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
  }

  /* Each title receives the same two-line row; every body paragraph begins together. */
  .speaker-page #strategic-misreads .misread-card {
    display: grid !important;
    grid-template-rows: 6.15rem 1fr !important;
    align-content: start !important;
    padding: clamp(2.35rem, 3vw, 2.85rem) !important;
  }

  .speaker-page #strategic-misreads .misread-card h3 {
    align-self: start !important;
    min-height: 0 !important;
    margin: 0 !important;
    line-height: 1.16 !important;
  }

  .speaker-page #strategic-misreads .misread-card p {
    align-self: start !important;
    margin: 0 !important;
    padding-top: 0.75rem !important;
  }

  /* Lock the offer-card content into shared horizontal rows. */
  .speaker-page #offers .offer-card {
    display: grid !important;
    grid-template-rows: 2.2rem 9.15rem 14.75rem 12.75rem auto !important;
    align-content: stretch !important;
    height: 100% !important;
  }

  .speaker-page #offers .offer-card .offer-label {
    grid-row: 1 !important;
    align-self: start !important;
    margin: 0 !important;
  }

  .speaker-page #offers .offer-heading-group {
    grid-row: 2 !important;
    display: grid !important;
    grid-template-rows: 5.1rem auto !important;
    align-content: start !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding-top: 1rem !important;
  }

  .speaker-page #offers .offer-heading-group h3 {
    align-self: start !important;
    margin: 0 !important;
    min-height: 0 !important;
  }

  .speaker-page #offers .offer-heading-group .offer-meta {
    align-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
  }

  .speaker-page #offers .offer-card ul {
    grid-row: 3 !important;
    align-self: start !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 1rem 0 0.75rem !important;
  }

  .speaker-page #offers .offer-best-for {
    grid-row: 4 !important;
    align-self: start !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding-top: 0.85rem !important;
  }

  .speaker-page #offers .offer-card > .button {
    grid-row: 5 !important;
    align-self: end !important;
    width: 100% !important;
    margin-top: 1rem !important;
  }
}

@media (max-width: 1180px) {
  .speaker-page #strategic-misreads .speaker-section-header p {
    white-space: normal;
  }
}

@media (max-width: 680px) {
  .speaker-page #offers-anchor,
  .speaker-page #booking-anchor {
    scroll-margin-top: calc(var(--header-height, 92px) + 0.75rem);
  }
}


/* ==================================================================
   MIE FEEDBACK PASS V53
   Exact offer-row alignment, visible stat cascade, contextual CTAs,
   eyebrow-target scrolling, FAQ CTA, and FAQ answer-type parity.
   ================================================================== */

/* Make inline eyebrow anchors reliable scroll targets. */
.speaker-page .speaker-eyebrow[id] {
  display: block;
  width: fit-content;
  scroll-margin-top: calc(var(--header-height, 104px) + 18px);
}

/* Contextual booking actions inside the requested content sections. */
.speaker-page .section-booking-cta-row {
  display: flex;
  align-items: center;
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.speaker-page #video .section-booking-cta-row {
  width: min(1120px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.speaker-page #strategic-shift .section-booking-cta-row {
  margin-top: clamp(1.4rem, 2.5vw, 1.9rem);
}

.speaker-page #about .section-booking-cta-row {
  margin-top: 1.8rem;
}

/* A strong, clearly perceptible five-number cascade. Cards remain fixed. */
.has-js .speaker-page .stat-grid-five [data-stat-reveal],
.has-js .speaker-page .stat-grid-five [data-stat-reveal].is-visible {
  opacity: 0;
  transform: translate3d(0, 22px, 0) scale(0.94);
  filter: blur(7px);
}

.has-js .speaker-page .stat-grid-five.stats-revealed .stat-card:nth-child(1) [data-stat-reveal] {
  animation: mieStatCascade 0.82s cubic-bezier(.16,.82,.22,1) 0.04s forwards;
}
.has-js .speaker-page .stat-grid-five.stats-revealed .stat-card:nth-child(2) [data-stat-reveal] {
  animation: mieStatCascade 0.82s cubic-bezier(.16,.82,.22,1) 0.20s forwards;
}
.has-js .speaker-page .stat-grid-five.stats-revealed .stat-card:nth-child(3) [data-stat-reveal] {
  animation: mieStatCascade 0.82s cubic-bezier(.16,.82,.22,1) 0.36s forwards;
}
.has-js .speaker-page .stat-grid-five.stats-revealed .stat-card:nth-child(4) [data-stat-reveal] {
  animation: mieStatCascade 0.82s cubic-bezier(.16,.82,.22,1) 0.52s forwards;
}
.has-js .speaker-page .stat-grid-five.stats-revealed .stat-card:nth-child(5) [data-stat-reveal] {
  animation: mieStatCascade 0.82s cubic-bezier(.16,.82,.22,1) 0.68s forwards;
}

@keyframes mieStatCascade {
  0% {
    opacity: 0;
    transform: translate3d(0, 22px, 0) scale(0.94);
    filter: blur(7px);
    text-shadow: none;
  }
  65% {
    opacity: 1;
    filter: blur(0);
    text-shadow: 0 0 30px rgba(242, 210, 122, 0.18);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
    text-shadow: 0 0 0 rgba(242, 210, 122, 0);
  }
}

/* Desktop offer cards: every semantic element occupies the exact same row. */
@media (min-width: 1181px) {
  .speaker-page #offers .offer-grid {
    align-items: stretch !important;
  }

  .speaker-page #offers .offer-card,
  .speaker-page #offers .offer-card.featured {
    display: grid !important;
    grid-template-rows:
      2.25rem
      6.65rem
      5.35rem
      15.75rem
      12.75rem
      auto !important;
    align-content: stretch !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 3.55rem clamp(2.45rem, 2.8vw, 3rem) 2.65rem !important;
    transform: none !important;
  }

  .speaker-page #offers .offer-card:hover,
  .speaker-page #offers .offer-card.featured:hover {
    transform: translateY(-6px) !important;
  }

  .speaker-page #offers .offer-label {
    grid-row: 1 !important;
    align-self: start !important;
    margin: 0 !important;
  }

  .speaker-page #offers .offer-heading-group {
    display: contents !important;
  }

  .speaker-page #offers .offer-heading-group h3 {
    grid-row: 2 !important;
    align-self: start !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding-top: 0.8rem !important;
  }

  .speaker-page #offers .offer-heading-group .offer-meta {
    grid-row: 3 !important;
    align-self: start !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .speaker-page #offers .offer-card ul {
    grid-row: 4 !important;
    align-self: start !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0.9rem 0 0.7rem !important;
  }

  .speaker-page #offers .offer-best-for {
    grid-row: 5 !important;
    align-self: start !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0.8rem 0 0 !important;
  }

  .speaker-page #offers .offer-card > .button {
    grid-row: 6 !important;
    align-self: end !important;
    width: 100% !important;
    margin: 0 !important;
  }
}

/* Match the main JoinIconElement FAQ answer typography exactly and prevent
   speaker-page/global rules from changing it. */
.speaker-page .mie-faq-accordion .faq-answer p,
.speaker-page .mie-faq-accordion .faq-answer li {
  color: rgba(245, 241, 232, 0.75) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(0.98rem, 1.12vw, 1.07rem) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.72 !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}

.speaker-page .mie-faq-accordion .faq-answer p {
  max-width: 78ch !important;
}

.speaker-page .mie-faq-accordion .faq-answer p + p,
.speaker-page .mie-faq-accordion .faq-answer ul + p,
.speaker-page .mie-faq-accordion .faq-answer ol + p,
.speaker-page .mie-faq-accordion .faq-answer div + p {
  margin-top: 0.9rem !important;
}

.speaker-page .mie-faq-accordion .faq-direct-answer {
  color: rgba(245, 241, 232, 0.96) !important;
  font-family: var(--font-subtitle) !important;
  font-size: clamp(1.08rem, 1.45vw, 1.22rem) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.72 !important;
}

@media (max-width: 680px) {
  .speaker-page .section-booking-cta-row,
  .speaker-page .section-booking-cta-row .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .has-js .speaker-page .stat-grid-five [data-stat-reveal],
  .has-js .speaker-page .stat-grid-five [data-stat-reveal].is-visible,
  .has-js .speaker-page .stat-grid-five.stats-revealed [data-stat-reveal] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
  }
}

/* Final specificity correction: the direct-answer line must override the
   regular FAQ paragraph rule exactly as it does on the primary FAQ page. */
.speaker-page .mie-faq-accordion .faq-answer .faq-direct-answer {
  color: rgba(245, 241, 232, 0.96) !important;
  font-family: var(--font-subtitle) !important;
  font-size: clamp(1.08rem, 1.45vw, 1.22rem) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.72 !important;
}


/* ==================================================================
   MIE FEEDBACK PASS V54
   Gold contextual CTAs and video CTA placement above the reel.
   ================================================================== */

/* These two high-intent section actions should read as primary actions
   immediately, rather than only becoming gold on hover. */
.speaker-page #video .section-booking-cta,
.speaker-page #strategic-shift .section-booking-cta {
  color: #0f0f12 !important;
  background: linear-gradient(90deg, #c9a96e 0%, #e8c88a 52%, #b8860b 100%) !important;
  border: 1px solid transparent !important;
  box-shadow: 0 12px 30px rgba(201, 169, 110, 0.24) !important;
}

.speaker-page #video .section-booking-cta:hover,
.speaker-page #video .section-booking-cta:focus-visible,
.speaker-page #strategic-shift .section-booking-cta:hover,
.speaker-page #strategic-shift .section-booking-cta:focus-visible {
  color: #0f0f12 !important;
  background: linear-gradient(90deg, #d4b777 0%, #f0d494 52%, #c69a22 100%) !important;
  border-color: transparent !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 46px rgba(201, 169, 110, 0.34) !important;
}

/* Place the video CTA directly beneath the explanatory copy, while
   keeping it visually connected to the reel that follows. */
.speaker-page #video .video-intro-cta-row {
  width: min(1120px, 100%);
  justify-content: flex-start;
  margin: clamp(-1.9rem, -2.6vw, -1.15rem) auto clamp(2rem, 4vw, 3.15rem);
  padding-top: 0.1rem;
}

.speaker-page #video .video-intro-cta-row .button {
  width: auto !important;
  min-width: min(100%, 28rem);
}

@media (max-width: 680px) {
  .speaker-page #video .video-intro-cta-row {
    margin-top: -0.8rem;
    margin-bottom: 1.75rem;
  }

  .speaker-page #video .video-intro-cta-row .button {
    width: 100% !important;
    min-width: 0;
  }
}


/* ==================================================================
   MIE FEEDBACK PASS V55
   Stable section targets for fixed-header scrolling.
   ================================================================== */

/* These zero-height anchors live outside the animated headings.
   Targeting the eyebrow itself caused GSAP's reveal transform to change
   its final position after the browser had already calculated the jump. */
.section-scroll-anchor {
  display: block;
  width: 100%;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
}

/* ==================================================================
   MIE FEEDBACK PASS V56
   Center the two gold contextual keynote CTAs.
   ================================================================== */
.speaker-page #video .video-intro-cta-row,
.speaker-page #strategic-shift .section-booking-cta-row {
  justify-content: center !important;
}


/* ==================================================================
   MIE FEEDBACK PASS V57
   Move the Gattison CTA beneath the speaking reel.
   ================================================================== */
.speaker-page #video .video-intro-cta-row {
  width: min(1120px, 100%);
  justify-content: center !important;
  margin: clamp(2rem, 4vw, 3rem) auto 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 680px) {
  .speaker-page #video .video-intro-cta-row {
    margin-top: 1.6rem !important;
    margin-bottom: 0 !important;
  }
}
