/* Consistent, stationary button surfaces across reference and new components. */
body .btn-animate-chars, body .narrative-button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transform: none;
  color: #fff;
  background: var(--narrative-blue);
  border: 1px solid transparent;
  transition: border-color 250ms ease;
}
body .btn-animate-chars:not(.is-secondary),
body .btn-animate-chars:not(.is-secondary) .btn-animate-chars__text,
body .narrative-button:not(.secondary) { color: #fff; }
body .btn-animate-chars .btn-animate-chars__bg { display: none; }
body .btn-animate-chars::before, body .narrative-button::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  background: var(--narrative-red);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 450ms cubic-bezier(.22,.68,0,1);
}
body .btn-animate-chars:not(.is-secondary), body .narrative-button:not(.secondary) { background-clip: padding-box; }
body .btn-animate-chars:not(.is-secondary):hover, body .narrative-button:not(.secondary):hover { border-color: transparent; box-shadow: none; }
body .btn-animate-chars:not(.is-secondary):hover:not(:focus-visible), body .narrative-button:not(.secondary):hover:not(:focus-visible) { outline: none; }
body .btn-animate-chars:hover, body .narrative-button:hover { background-color: var(--narrative-blue); transform: none; }
body .btn-animate-chars:hover::before, body .narrative-button:hover::before,
body .btn-animate-chars:focus-visible::before, body .narrative-button:focus-visible::before { transform: scaleX(1); }
body .btn-animate-chars [data-button-animate-chars] span { text-shadow: none; transform: none; transition: none; }
body .btn-animate-chars.is-secondary, body .narrative-button.secondary {
  background: #fff;
  color: #000;
  border: 1px solid transparent;
}
body .btn-animate-chars.is-secondary .btn-animate-chars__text { color: #000; }
body .btn-animate-chars.is-secondary::before, body .narrative-button.secondary::before { display: none; }
body .btn-animate-chars.is-secondary:hover, body .narrative-button.secondary:hover,
body .btn-animate-chars.is-secondary:focus-visible, body .narrative-button.secondary:focus-visible { border-color: #000; background: #fff; }
body .nav-banner, body .nav-banner a, body .nav-banner_close, body [background-color="red"],
body .narrative-case-art { color: #fff; }
body .narrative-case-art.yellow { color: var(--narrative-ink); }

/* The supplied wordmark, with its own proportions and no substitute font. */
.nav-logo .narrative-logo { display: block; width: 155px; height: auto; }
.narrative-footer-wordmark { display: block; width: min(100%, 620px); font-size: inherit; }
.narrative-footer-wordmark .narrative-logo { display: block; width: 100%; height: auto; }
footer[background-color="neutral-500"] .narrative-logo { filter: brightness(0) invert(1); }
.masthead-mark_media .narrative-lettermark { position: absolute; z-index: 1; height: 120%; width: auto; left: 15%; top: 10%; transform: rotate(-8deg); }

/* A short shared front door; the detailed story lives on the audience pages. */
.audience-home main { min-height: calc(100svh - 135px); }
.audience-home .audience-hero {
  padding: calc(var(--nav-height, 102px) + clamp(3rem, 7vw, 7rem)) 1.5rem 4rem;
  text-align: center;
}
.audience-hero h1 { max-width: 66rem; margin: 0 auto 1.5rem; font-size: clamp(2.7rem, 4.4vw, 4.5rem); line-height: 1.08; letter-spacing: -.03em; text-wrap: balance; }
.audience-hero .audience-subtitle { max-width: 760px; margin: 0 auto; font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.6; }
.audience-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem; margin-top: 2.4rem; }
.audience-actions .narrative-button { min-height: 52px; padding: .9rem 1.65rem; min-width: 250px; font-weight: 500; }
.audience-home .audience-actions .narrative-button { width: 310px; }
.audience-book-link { display: inline-block; margin-top: 1.4rem; font-size: .9rem; text-underline-offset: 4px; }
.partner-proof { min-width: 0; max-width: 100%; padding: 1.75rem var(--_responsive---padding-horizontal--md) 2.5rem; }
.partner-proof-heading { display: flex; align-items: center; justify-content: center; gap: .6rem; margin-bottom: 1.25rem; }
.partner-proof p { margin: 0; font-size: .875rem; color: #545454; }
.partner-marquee { overflow: hidden; width: 100%; mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); }
.partner-track { display: flex; width: max-content; animation: partner-scroll 54s linear infinite; }
.partner-logos { display: flex; flex: none; align-items: center; gap: 2.55rem; width: max-content; max-width: none; margin: 0; padding: .5rem 2.55rem .5rem 0; list-style: none; }
.partner-logos li { display: flex; flex: none; align-items: center; justify-content: center; width: 95px; height: 29px; margin: 0; }
.partner-logos img { display: block; width: auto; height: 22px; max-width: 95px; object-fit: contain; }
.partner-logos [data-partner="andreessen-horowitz"] img { height: 27px; width: 80px; }
.partner-logos [data-partner="stan"] img { height: 25.5px; }
.partner-logos [data-partner="mark-manson"] { width: 148px; }
.partner-logos [data-partner="mark-manson"] img { width: 148px; max-width: 148px; height: auto; }
.partner-logos .partner-person { width: 133px; gap: .5rem; }
.partner-logos .partner-avatar { position: relative; display: block; flex: none; width: 25.5px; height: 25.5px; border-radius: 50%; overflow: hidden; }
.partner-logos .partner-avatar img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.partner-logos .partner-name { font-family: Arial, sans-serif; color: #171717; font-size: 12px; font-weight: 700; text-transform: uppercase; white-space: nowrap; }
.partner-logos [data-partner="maggie-in-data"] { width: 148px; }
.partner-logos [data-partner="maggie-in-data"] .partner-avatar img { position: absolute; width: 220%; height: 220%; left: -60%; top: -11%; }
.partner-logos [data-partner="david-bayer"] { width: 116px; }
.partner-logos .partner-person-logo { width: 55px; max-width: 55px; height: 31px; object-fit: cover; mix-blend-mode: multiply; }
.audience-company .masthead-mark_copy > div { width: 100%; min-width: 0; }
.masthead-mark_copy .partner-proof { width: 100%; margin-top: 2rem; padding: 0; }
.masthead-mark_copy .partner-proof-heading { justify-content: space-between; }
@keyframes partner-scroll { to { transform: translateX(-50%); } }
.home-proof { display: flex; justify-content: center; gap: clamp(2rem, 8vw, 8rem); padding: 2rem 1.5rem .75rem; border-top: 1px solid #dedede; margin: 0 auto; max-width: 1120px; text-align: center; }
.home-proof strong { font-family: var(--font--primary-family); font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; display: block; font-weight: 400; }
.home-proof span { font-size: .875rem; }
.home-proof-caption { text-align: center; font-size: .875rem; color: #545454; padding: 0 1.5rem 2.5rem; }
.compact-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2rem; padding: 2rem var(--_responsive---padding-horizontal--md); border-top: 1px solid #dedede; }
.compact-footer .narrative-logo { width: 130px; height: auto; }
.compact-footer nav { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.compact-footer a, .compact-footer small { font-size: .875rem; }
.company-actions { justify-content: flex-start; }
.company-actions .narrative-button { min-width: 160px; }

/* Both company routes share one team and give the show a clear home. */
.show-paths { padding: 5rem var(--_responsive---padding-horizontal--md); border-top: 1px solid #d7d7d7; }
.show-paths-intro { display: grid; grid-template-columns: 1fr 1fr; column-gap: 4rem; align-items: end; }
.show-paths-intro .label-sm { grid-column: 1 / -1; margin-bottom: 1.5rem; }
.show-paths h2 { font-size: clamp(2.3rem, 4vw, 4rem); line-height: 1.1; margin: 0; }
.show-paths-intro > p { max-width: 28rem; margin-bottom: .25rem; font-size: 1.1rem; }
.show-paths-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 3rem; }
.show-paths-grid article { display: flex; flex-direction: column; align-items: flex-start; padding: 2.25rem; background: #fff; border: 1px solid #d7d7d7; }
.show-paths-grid article:last-child { background: var(--narrative-ice); }
.show-path-label { display: flex; align-items: center; gap: 1rem; font-size: .875rem; margin-bottom: 2rem; }
.show-path-label > span:first-child { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; color: #fff; background: var(--narrative-blue); }
.show-paths h3 { font-size: clamp(2rem, 2.6vw, 2.8rem); line-height: 1.12; max-width: 25rem; }
.show-paths-grid p { max-width: 36rem; }
.show-paths-grid .show-sponsor-line { color: #545454; font-size: .875rem; padding: .75rem 0; }
.show-paths-grid a { margin-top: auto; padding-top: 1.5rem; text-decoration: underline; text-underline-offset: .25em; }
.sponsored-scope-note { margin-top: 3rem; max-width: 46rem; border-top: 1px solid #c9c9c9; padding-top: 1.5rem; }
.sponsored-scope-note a { text-decoration: underline; text-underline-offset: .2em; }

/* Creator page: expertise, historical proof, practical scope, and a conversation. */
.creator-hero { padding: calc(var(--nav-height,102px) + 5rem) var(--_responsive---padding-horizontal--md) 5rem; }
.creator-hero > div { max-width: 1000px; }
.creator-hero h1 { font-size: clamp(2.8rem, 5.5vw, 5.4rem); line-height: 1.08; max-width: 980px; margin: 1rem 0 1.5rem; }
.creator-hero p { max-width: 700px; font-size: 1.1rem; }
.creator-hero .creator-subtitle { font-size: clamp(1.3rem, 2vw, 1.6rem); margin-bottom: 1.25rem; }
.creator-shows { padding: 4rem var(--_responsive---padding-horizontal--md); background: var(--narrative-ice); }
.creator-shows h2 { font-size: clamp(2.1rem, 3.5vw, 3.5rem); line-height: 1.12; margin-top: 1.25rem; }
.creator-shows p { max-width: 46rem; margin-bottom: 2rem; }
#booking-calendar { scroll-margin-top: calc(var(--nav-height, 102px) + 1rem); }
.creator-case { display: grid; grid-template-columns: 1fr 1.35fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; background: var(--narrative-ice); padding: 5rem var(--_responsive---padding-horizontal--md); }
.creator-case img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; align-self: center; }
.creator-case h2 { font-size: clamp(2.2rem, 3.5vw, 3.5rem); line-height: 1.1; }
.creator-case-stats { display: flex; flex-wrap: wrap; gap: 2rem; margin: 2rem 0 1rem; }
.creator-case-stats strong { font-size: clamp(1.8rem, 2.5vw, 2.8rem); font-family: var(--font--primary-family); display: block; font-weight: 400; }
.creator-case-stats span, .historical-caption { font-size: .875rem; }
.creator-case .narrative-button { margin-top: 1rem; }
.creator-services, .creator-fit, .creator-booking { padding: 5rem var(--_responsive---padding-horizontal--md); }
.creator-services h2, .creator-fit h2, .creator-booking h2 { font-size: clamp(2.1rem, 3.5vw, 3.5rem); line-height: 1.12; }
.creator-service-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 2.5rem; border-top: 1px solid; }
.creator-service-grid article { padding: 2rem 1.75rem 1rem; border-left: 1px solid; }
.creator-service-grid article:first-child { padding-left: 0; border-left: 0; }
.creator-service-grid h3 { font-size: 1.8rem; line-height: 1.12; margin-bottom: 1rem; }
.creator-fit { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; background: #fff; }
.creator-booking { text-align: center; background: var(--narrative-deep); color: #fff; }
.creator-booking p { margin: 0 auto 2rem; }
@media(max-width: 1100px) {
  .menu-button { display: flex; }
  .nav-center { display: none !important; }
  .nav-center.is-narrative-open { display: block !important; opacity: 1 !important; visibility: visible !important; position: absolute; left: 0; right: 0; top: 100%; height: auto; max-height: calc(100dvh - var(--nav-height)); overflow: auto; transform: none !important; background: var(--narrative-grey, #f5f5f5); padding: 1.5rem; border-bottom: 1px solid #232424; }
  .nav-center.is-narrative-open .nav-center__list { display: flex; flex-direction: column; align-items: stretch; gap: 1rem; padding-top: 0; height: auto; overflow: visible; }
  .nav-center.is-narrative-open .nav-link { width: 100%; justify-content: flex-start; padding: .65rem .5rem; font-size: 1.125rem; }
  .nav-center.is-narrative-open .nav-link__label { font-size: inherit; }
  .nav-center.is-narrative-open .nav-dropdown[data-open="true"] { position: static !important; padding: 1rem 0; }
  .nav-center.is-narrative-open .nav-dropdown__content { display: grid; grid-template-columns: 1fr !important; gap: .25rem; }
  .nav-center.is-narrative-open .nav-dropdown__link { padding: 1rem; min-height: 0; aspect-ratio: auto; height: auto; }
  .nav-center.is-narrative-open .nav-dropdown__link-inner { position: static; }
  .nav-center.is-narrative-open .nav-dropdown_link-icon-wrap { display: none; }
}
@media(max-width: 991px) {
  .nav-logo .narrative-logo { width: 125px; }
  .audience-home .audience-hero { padding-top: calc(var(--nav-height,102px) + 3rem); }
  .creator-case { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .creator-service-grid { grid-template-columns: 1fr 1fr; }
  .creator-service-grid article:nth-child(3) { border-left: 0; padding-left: 0; }
}
@media(max-width: 767px) {
  .nav-logo .narrative-logo { width: 116px; }
  .audience-home .audience-hero { padding-bottom: 2rem; }
  .audience-hero h1 { font-size: clamp(2.6rem, 9.5vw, 4rem); }
  .audience-actions { gap: .75rem; }
  .audience-actions .narrative-button, .audience-home .audience-actions .narrative-button { width: 100%; max-width: 360px; min-width: 0; }
  .partner-logos { gap: 1.7rem; padding-right: 1.7rem; }
  .partner-proof-heading { gap: .25rem; }
  .partner-proof p { line-height: 1.5; }
  .home-proof { gap: 1.25rem; }
  .home-proof strong { font-size: 2rem; }
  .compact-footer { justify-content: center; text-align: center; }
  .compact-footer nav { justify-content: center; gap: 1rem; }
  .creator-hero { padding-top: calc(var(--nav-height,102px) + 3rem); }
  .creator-case, .creator-fit { grid-template-columns: 1fr; }
  .creator-case img { max-width: 500px; }
  .creator-services, .creator-fit, .creator-booking, .creator-case { padding-top: 3rem; padding-bottom: 3rem; }
  .show-paths { padding-top: 3rem; padding-bottom: 3rem; }
  .show-paths-intro, .show-paths-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .show-paths-intro .label-sm { margin-bottom: 0; }
  .show-paths-grid { margin-top: 2rem; }
  .show-paths-grid article { padding: 1.5rem; }
  .show-path-label { margin-bottom: 1.25rem; }
  .creator-service-grid { grid-template-columns: 1fr; }
  .creator-service-grid article { border-left: 0; padding: 1.5rem 0; border-bottom: 1px solid #ccc; }
}
@media(prefers-reduced-motion:reduce) {
  body .btn-animate-chars::before, body .narrative-button::before { transition: none; }
  .partner-track { animation: none; transform: none; }
  .partner-marquee { overflow-x: auto; mask-image: none; }
  .partner-logos[aria-hidden="true"] { display: none; }
}
