/* Frankly — "Beyond the Nudge" bilingual webinar landing page.
   Scoped to .beyond-the-nudge-page; Poppins loaded via theme.css.

   Tokens are declared on the page wrapper, NOT on :root — this page carries the
   shared Nav and Footer, and redefining global token names document-wide would
   leak into both. Only the warm neutrals below are new; every accent colour on
   this page maps onto an existing theme.css token (--fk-teal-*, --fk-red-*,
   --fk-orange-*) and must use it rather than a fresh hex.

   EVERY selector below is a descendant of .beyond-the-nudge-page. There is no
   :root block and no bare element selector: the Nav (including its EN/ES
   language switcher) and the Footer render on this page and must inherit
   nothing from here.

   Breakpoints: 820px and 520px — the pair already used by styles/nav.module.css,
   so the page's columns collapse at the same width the shared chrome does.

   Contrast, measured (WCAG 2.x):
     --bn-cream  on --fk-teal-600 ... 4.57:1  (hero text — AA normal text)
     --fk-orange-600 on --fk-orange-50 ... 5.36:1  (raffle badge — AA)
     --bn-cream  on --fk-red-400  ... 4.55:1  (terracotta CTA — AA)
   Cream at .9 alpha over teal-600 measures 4.06:1 and at .78 it is 3.46:1, both
   short of AA, so hero TEXT is always full --bn-cream. The cream alphas survive
   only where they are not carrying body text over teal: .7 on the outline CTA
   border (3.10:1, clearing the 3:1 floor for a UI boundary — .6 would be
   2.70:1), .16 on the footnote hairline, and .78 on the caption role line,
   which sits on the dark rgba(16,40,39,…) portrait scrim, not on the teal. */

.beyond-the-nudge-page {
  --bn-cream:  #f8f3ea;
  --bn-paper:  #fdfaf4;
  --bn-track:  #efe8da;
  --bn-ink:    #17160f;
  --bn-body:   #514c42;
  --bn-border: #e3dcc9;

  font-family: var(--font-brand);
  color: var(--bn-body);
  background: var(--bn-cream);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

/* ── Shared section scaffolding ───────────────────────────── */

.beyond-the-nudge-page .bn-hero,
.beyond-the-nudge-page .bn-sessions,
.beyond-the-nudge-page .bn-talk,
.beyond-the-nudge-page .bn-speakers,
.beyond-the-nudge-page .bn-quick-facts {
  padding-block: clamp(56px, 7.5vw, 88px);
}

.beyond-the-nudge-page .bn-hero-inner,
.beyond-the-nudge-page .bn-sessions-inner,
.beyond-the-nudge-page .bn-talk-inner,
.beyond-the-nudge-page .bn-speakers-inner,
.beyond-the-nudge-page .bn-quick-facts-inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 56px);
}

/* Grid columns. Grid items default to min-width:auto, so a long word or an
   unbroken URL would otherwise blow out its track. */
.beyond-the-nudge-page .bn-hero-copy,
.beyond-the-nudge-page .bn-talk-main,
.beyond-the-nudge-page .bn-quick-facts-copy {
  min-width: 0;
}

/* Section headings share one scale. */
.beyond-the-nudge-page .bn-sessions-heading,
.beyond-the-nudge-page .bn-talk-heading,
.beyond-the-nudge-page .bn-speakers-heading,
.beyond-the-nudge-page .bn-quick-facts-heading {
  font-size: clamp(28px, 3.2vw, 36px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--bn-ink);
}

/* Eyebrows / labels. */
.beyond-the-nudge-page .bn-sessions-eyebrow,
.beyond-the-nudge-page .bn-quick-facts-eyebrow,
.beyond-the-nudge-page .bn-book-eyebrow {
  font-size: var(--fk-text-xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.beyond-the-nudge-page .bn-sessions-eyebrow,
.beyond-the-nudge-page .bn-quick-facts-eyebrow {
  color: var(--fk-teal-600);
}

/* ═══ 1 · Hero ════════════════════════════════════════════ */

.beyond-the-nudge-page .bn-hero {
  background: var(--fk-teal-600);
  color: var(--bn-cream);
}

.beyond-the-nudge-page .bn-hero-inner {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 56px;
  align-items: center;
}

/* The portrait figure is omitted until an image is uploaded; when it is, the
   copy column is the only child and takes the whole row rather than leaving a
   dead second column. */
.beyond-the-nudge-page .bn-hero-copy:only-child {
  grid-column: 1 / -1;
  max-width: 780px;
}

.beyond-the-nudge-page .bn-hero-eyebrow {
  display: inline-block;
  background: var(--fk-teal-800);
  color: var(--fk-teal-100);
  font-size: var(--fk-text-xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 7px 15px;
  border-radius: var(--fk-r-full);
  margin-bottom: 20px;
}

.beyond-the-nudge-page .bn-hero-title {
  font-size: clamp(38px, 4.4vw, 60px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.02em;
  color: var(--bn-cream);
}

.beyond-the-nudge-page .bn-hero-subhead {
  margin-top: 18px;
  font-size: var(--fk-text-lg);
  font-weight: 500;
  line-height: 1.5;
  color: var(--bn-cream);
  max-width: 46ch;
}

.beyond-the-nudge-page .bn-hero-lede {
  font-size: 16px;
  line-height: 1.65;
  color: var(--bn-cream);
  max-width: 68ch;
}

/* Rich-text container: it is always in the DOM, so guard spacing on :empty
   rather than assuming an editor left content in the field. */
.beyond-the-nudge-page .bn-hero-lede:not(:empty) {
  margin-top: 18px;
}

.beyond-the-nudge-page .bn-hero-lede p + p {
  margin-top: 14px;
}

.beyond-the-nudge-page .bn-hero-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.beyond-the-nudge-page .bn-hero-cta {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  min-height: 44px;
  padding: 13px 26px;
  border: 2px solid transparent;
  border-radius: var(--fk-r-lg);
  text-decoration: none;
  transition:
    background-color var(--fk-dur-short) ease,
    border-color var(--fk-dur-short) ease,
    color var(--fk-dur-short) ease,
    transform var(--fk-dur-short) ease;
}

.beyond-the-nudge-page .bn-hero-cta-label {
  font-size: var(--fk-text-base);
  font-weight: 700;
  letter-spacing: 0.01em;
}

/* Mono is reserved for date strings, durations, and language codes (DESIGN.md);
   the detail line is the session date and time. */
.beyond-the-nudge-page .bn-hero-cta-detail {
  font-family: var(--font-mono);
  font-size: var(--fk-text-sm);
  font-weight: 400;
  letter-spacing: 0.02em;
}

/* English CTA: cream fill on the teal ground. */
.beyond-the-nudge-page .bn-hero-cta--en {
  background: var(--bn-cream);
  color: var(--fk-teal-800);
}

.beyond-the-nudge-page .bn-hero-cta--en .bn-hero-cta-detail {
  color: var(--fk-teal-700);
}

.beyond-the-nudge-page .bn-hero-cta--en:hover {
  background: var(--fk-teal-50);
}

/* Spanish CTA: outline on the teal ground. The .7 cream border measures 3.11:1
   against teal-600, clearing the 3:1 floor for a non-text UI boundary; .6 would
   be 2.70:1 and does not. */
.beyond-the-nudge-page .bn-hero-cta--es {
  background: transparent;
  color: var(--bn-cream);
  border-color: rgba(248, 243, 234, 0.7);
}

/* Hover DARKENS rather than washing the ground lighter: a cream veil at .14
   would drop the cream label from 4.57:1 to 3.56:1, while teal-700 — the token
   reserved for teal hover/pressed — takes it up to 7.75:1. */
.beyond-the-nudge-page .bn-hero-cta--es:hover {
  background: var(--fk-teal-700);
  border-color: var(--bn-cream);
}

.beyond-the-nudge-page .bn-hero-cta:hover {
  transform: translateY(-1px);
}

.beyond-the-nudge-page .bn-hero-cta:active {
  transform: none;
}

.beyond-the-nudge-page .bn-hero-cta:focus-visible {
  outline: 3px solid var(--bn-cream);
  outline-offset: 3px;
}

.beyond-the-nudge-page .bn-hero-footnote {
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid rgba(248, 243, 234, 0.16);
  font-size: var(--fk-text-sm);
  line-height: 1.6;
  color: var(--bn-cream);
  max-width: 52ch;
}

.beyond-the-nudge-page .bn-hero-figure {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: var(--fk-r-2xl);
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(16, 40, 39, 0.3);
}

.beyond-the-nudge-page .bn-hero-portrait {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.beyond-the-nudge-page .bn-hero-caption {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 52px 22px 18px;
  background: linear-gradient(
    to top,
    rgba(16, 40, 39, 0.9),
    rgba(16, 40, 39, 0.62) 45%,
    rgba(16, 40, 39, 0)
  );
  color: var(--bn-cream);
}

.beyond-the-nudge-page .bn-hero-caption-name {
  font-size: 16px;
  font-weight: 700;
}

/* Cream at .78 over the dark scrim, not over the teal ground — well above AA. */
.beyond-the-nudge-page .bn-hero-caption-role {
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(248, 243, 234, 0.78);
}

/* ═══ 2 · Sessions ════════════════════════════════════════ */

.beyond-the-nudge-page .bn-sessions {
  background: var(--bn-cream);
}

.beyond-the-nudge-page .bn-sessions-head {
  max-width: 660px;
  margin-bottom: 36px;
}

.beyond-the-nudge-page .bn-sessions-intro {
  margin-top: 14px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--bn-body);
  max-width: 68ch;
}

/* theme.css styles bare ul/li globally; reset both here. */
.beyond-the-nudge-page .bn-session-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.beyond-the-nudge-page .bn-session-card {
  --bn-accent: var(--fk-teal-600);
  --bn-accent-hover: var(--fk-teal-700);
  --bn-accent-label: var(--bn-cream);

  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0 22px 22px;
  background: var(--bn-paper);
  border: 2px solid var(--bn-ink);
  border-radius: var(--fk-r-2xl);
  overflow: hidden;
}

/* Task 4 emits the accent as data-accent="teal" | "terra" on the card rather
   than as a modifier class; anything not "terra" normalizes to teal, so teal is
   the default above and terracotta is the override. */
.beyond-the-nudge-page .bn-session-card[data-accent="terra"] {
  --bn-accent: var(--fk-red-400);
  --bn-accent-hover: var(--fk-red-500);
  --bn-accent-label: var(--bn-cream);
}

/* Header bar: pulled out to the card edges through the card's own padding. */
.beyond-the-nudge-page .bn-session-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-inline: -22px;
  padding: 12px 22px;
  background: var(--bn-accent);
  color: var(--bn-accent-label);
}

.beyond-the-nudge-page .bn-session-language {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Pushed to the far end with an auto margin rather than space-between, so the
   label still sits right when the language span is absent. */
.beyond-the-nudge-page .bn-session-label {
  margin-inline-start: auto;
  font-size: var(--fk-text-xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.beyond-the-nudge-page .bn-session-date {
  margin-top: 20px;
  font-size: 34px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--bn-ink);
}

.beyond-the-nudge-page .bn-session-time {
  margin-top: 6px;
  font-family: var(--font-mono);
  font-size: var(--fk-text-sm);
  color: var(--bn-body);
}

/* Always in the DOM; grows so the CTA sits on the card floor even when an
   editor clears the field, but contributes no spacing when it is empty. */
.beyond-the-nudge-page .bn-session-presenter {
  flex: 1 1 auto;
  font-size: var(--fk-text-base);
  line-height: 1.6;
  color: var(--bn-body);
}

.beyond-the-nudge-page .bn-session-presenter:not(:empty) {
  margin-top: 16px;
}

.beyond-the-nudge-page .bn-session-presenter p + p {
  margin-top: 12px;
}

.beyond-the-nudge-page .bn-session-badge {
  align-self: flex-start;
  margin-top: 18px;
  padding: 7px 14px;
  background: var(--fk-orange-50);
  color: var(--fk-orange-600);
  border-radius: var(--fk-r-full);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.beyond-the-nudge-page .bn-session-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 22px;
  min-height: 48px;
  padding: 12px 20px;
  background: var(--bn-accent);
  color: var(--bn-accent-label);
  border: 2px solid var(--bn-accent);
  border-radius: var(--fk-r-full);
  font-size: var(--fk-text-base);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition:
    background-color var(--fk-dur-short) ease,
    border-color var(--fk-dur-short) ease,
    transform var(--fk-dur-short) ease;
}

.beyond-the-nudge-page .bn-session-cta:hover {
  background: var(--bn-accent-hover);
  border-color: var(--bn-accent-hover);
  transform: translateY(-1px);
}

.beyond-the-nudge-page .bn-session-cta:active {
  transform: none;
}

.beyond-the-nudge-page .bn-session-cta:focus-visible {
  outline: 3px solid var(--bn-ink);
  outline-offset: 3px;
}

/* ═══ 3 · Talk + book aside ═══════════════════════════════ */

.beyond-the-nudge-page .bn-talk {
  background: var(--bn-paper);
}

.beyond-the-nudge-page .bn-talk-inner {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 56px;
  align-items: start;
}

.beyond-the-nudge-page .bn-talk-body {
  font-size: 16px;
  line-height: 1.65;
  color: var(--bn-body);
  max-width: 68ch;
}

.beyond-the-nudge-page .bn-talk-body:not(:empty) {
  margin-top: 20px;
}

.beyond-the-nudge-page .bn-talk-body p + p {
  margin-top: 16px;
}

.beyond-the-nudge-page .bn-book {
  padding: 28px;
  background: var(--fk-teal-50);
  border-radius: var(--fk-r-2xl);
}

.beyond-the-nudge-page .bn-book-eyebrow {
  color: var(--fk-teal-700);
}

.beyond-the-nudge-page .bn-book-cover {
  width: 96px;
  border-radius: var(--fk-r-md);
  box-shadow: 0 8px 20px rgba(16, 40, 39, 0.18);
  margin-bottom: 18px;
}

.beyond-the-nudge-page .bn-book-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--bn-ink);
}

.beyond-the-nudge-page .bn-book-subtitle {
  margin-top: 4px;
  font-size: var(--fk-text-base);
  font-style: italic;
  color: var(--fk-teal-700);
}

/* The hairline belongs to the body copy, so it disappears with it rather than
   leaving a rule under nothing. */
.beyond-the-nudge-page .bn-book-body {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--fk-teal-200);
  font-size: var(--fk-text-base);
  line-height: 1.65;
  color: var(--bn-body);
}

/* ═══ 4 · Speakers ════════════════════════════════════════ */

.beyond-the-nudge-page .bn-speakers {
  background: var(--bn-cream);
}

.beyond-the-nudge-page .bn-speaker-grid {
  list-style: none;
  margin: 32px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.beyond-the-nudge-page .bn-speaker {
  margin: 0;
  padding: 28px;
  background: var(--bn-paper);
  border: 1px solid var(--bn-border);
  border-radius: var(--fk-r-2xl);
}

/* Styled on the image itself: a speaker with no headshot degrades to a
   text-only card, so :first-child would land on the name instead. */
.beyond-the-nudge-page .bn-speaker-photo {
  width: 112px;
  height: 112px;
  border-radius: var(--fk-r-full);
  object-fit: cover;
  margin-bottom: 18px;
  box-shadow: 0 6px 18px rgba(16, 40, 39, 0.14);
}

.beyond-the-nudge-page .bn-speaker-name {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--bn-ink);
}

.beyond-the-nudge-page .bn-speaker-bio {
  margin-top: 8px;
  font-size: var(--fk-text-base);
  line-height: 1.6;
  color: var(--bn-body);
}

/* ═══ 5 · Bilingual note ══════════════════════════════════ */

.beyond-the-nudge-page .bn-note {
  padding-block: clamp(44px, 5.5vw, 72px);
  background: var(--bn-paper);
  border-top: 1px solid var(--bn-border);
  border-bottom: 1px solid var(--bn-border);
}

.beyond-the-nudge-page .bn-note-inner {
  max-width: 1000px;
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 56px);
  text-align: center;
}

.beyond-the-nudge-page .bn-note-heading {
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 700;
  line-height: 1.3;
  color: var(--bn-ink);
}

.beyond-the-nudge-page .bn-note-body {
  margin-top: 12px;
  margin-inline: auto;
  font-size: 16px;
  line-height: 1.65;
  color: var(--bn-body);
  max-width: 68ch;
}

/* ═══ 6 · Quick facts ═════════════════════════════════════ */

.beyond-the-nudge-page .bn-quick-facts {
  background: var(--bn-cream);
}

.beyond-the-nudge-page .bn-quick-facts-inner {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 48px;
  align-items: start;
}

.beyond-the-nudge-page .bn-quick-facts-intro {
  margin-top: 14px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--bn-body);
  max-width: 68ch;
}

.beyond-the-nudge-page .bn-vanity-url {
  display: inline-block;
  margin-top: 22px;
  padding: 9px 18px;
  background: var(--bn-track);
  border-radius: var(--fk-r-full);
  font-size: var(--fk-text-sm);
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--fk-teal-800);
}

.beyond-the-nudge-page .bn-facts-card {
  padding: 28px;
  background: var(--bn-paper);
  border: 2px solid var(--bn-ink);
  border-radius: var(--fk-r-2xl);
  box-shadow: 0 14px 34px rgba(16, 40, 39, 0.08);
}

.beyond-the-nudge-page .bn-facts-card-title {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--bn-ink);
}

.beyond-the-nudge-page .bn-facts-list {
  margin: 20px 0 0;
  padding: 0;
  border-top: 1px solid var(--bn-border);
}

.beyond-the-nudge-page .bn-facts-row {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 16px;
  padding-block: 14px;
  border-bottom: 1px solid var(--bn-border);
}

.beyond-the-nudge-page .bn-facts-row:last-child {
  border-bottom: 0;
}

.beyond-the-nudge-page .bn-facts-term {
  padding-top: 2px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fk-teal-700);
}

.beyond-the-nudge-page .bn-facts-detail {
  margin: 0;
  font-size: var(--fk-text-base);
  line-height: 1.6;
  color: var(--bn-body);
}

.beyond-the-nudge-page .bn-facts-actions {
  margin-top: 22px;
}

/* ── Copy-button island ──────────────────────────────────── */

.beyond-the-nudge-page .bn-copy {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.beyond-the-nudge-page .bn-copy-button {
  /* Buttons do not inherit the font, as theme.css's .btn comment notes. */
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  min-height: 44px;
  padding: 12px 22px;
  background: var(--bn-ink);
  color: var(--bn-paper);
  border: 2px solid var(--bn-ink);
  border-radius: var(--fk-r-full);
  cursor: pointer;
  transition:
    background-color var(--fk-dur-short) ease,
    color var(--fk-dur-short) ease,
    border-color var(--fk-dur-short) ease;
}

.beyond-the-nudge-page .bn-copy-button:hover {
  background: transparent;
  color: var(--bn-ink);
}

.beyond-the-nudge-page .bn-copy-button[data-copied="true"] {
  background: var(--fk-teal-600);
  border-color: var(--fk-teal-600);
  color: var(--bn-cream);
}

.beyond-the-nudge-page .bn-copy-button:focus-visible {
  outline: 3px solid var(--fk-teal-600);
  outline-offset: 3px;
}

/* The button's own label already flips to the copied text, so showing the live
   region as well would say it twice on screen. Kept in the accessibility tree
   only (same technique as theme.css's .sr-only). */
.beyond-the-nudge-page .bn-copy-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ═══ Responsive — 820px, matching nav.module.css ═════════ */

@media (max-width: 820px) {
  .beyond-the-nudge-page .bn-hero,
  .beyond-the-nudge-page .bn-sessions,
  .beyond-the-nudge-page .bn-talk,
  .beyond-the-nudge-page .bn-speakers,
  .beyond-the-nudge-page .bn-quick-facts {
    padding-block: clamp(48px, 8vw, 64px);
  }

  /* Copy first, portrait beneath it — DOM order already does this. */
  .beyond-the-nudge-page .bn-hero-inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .beyond-the-nudge-page .bn-hero-figure {
    max-width: 380px;
  }

  .beyond-the-nudge-page .bn-session-grid,
  .beyond-the-nudge-page .bn-speaker-grid {
    grid-template-columns: 1fr;
  }

  .beyond-the-nudge-page .bn-talk-inner,
  .beyond-the-nudge-page .bn-quick-facts-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* ═══ Responsive — 520px, matching nav.module.css ═════════ */

@media (max-width: 520px) {
  .beyond-the-nudge-page .bn-hero-ctas {
    flex-direction: column;
    align-items: stretch;
  }

  .beyond-the-nudge-page .bn-session-card {
    padding: 0 18px 18px;
  }

  .beyond-the-nudge-page .bn-session-meta {
    margin-inline: -18px;
    padding-inline: 18px;
  }

  .beyond-the-nudge-page .bn-session-date {
    font-size: 28px;
  }

  .beyond-the-nudge-page .bn-book,
  .beyond-the-nudge-page .bn-speaker,
  .beyond-the-nudge-page .bn-facts-card {
    padding: 22px;
  }

  .beyond-the-nudge-page .bn-speaker-photo {
    width: 88px;
    height: 88px;
  }

  /* 96px term column is too tight next to the body at this width. */
  .beyond-the-nudge-page .bn-facts-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .beyond-the-nudge-page .bn-copy {
    align-items: stretch;
    flex-direction: column;
  }
}

/* ═══ Reduced motion — same convention theme.css uses ═════ */

@media (prefers-reduced-motion: reduce) {
  .beyond-the-nudge-page .bn-hero-cta,
  .beyond-the-nudge-page .bn-session-cta,
  .beyond-the-nudge-page .bn-copy-button {
    transition: none;
  }

  .beyond-the-nudge-page .bn-hero-cta:hover,
  .beyond-the-nudge-page .bn-session-cta:hover {
    transform: none;
  }
}
