/* Alma's public entry family is one composition: warm context, one dark living
   canvas, and only the action required by the current state. */
:root {
  color-scheme: light;
  --entry-paper: #eae2d2;
  --entry-paper-light: #f6f0e4;
  --entry-surface: #fffcf6;
  --entry-ink: #2a251e;
  --entry-stage: #1b1814;
  --entry-stage-soft: #29251f;
  --entry-muted: #655c4e;
  --entry-quiet: #8a7e6b;
  --entry-green: #2f6b4f;
  --entry-green-light: #9fc9ae;
  --entry-warm: #c7843d;
  --entry-red: #8a3b32;
  --entry-line: rgba(42, 37, 30, .14);
  --entry-stage-line: rgba(246, 240, 228, .16);
  --entry-shadow: 0 44px 92px -54px rgba(37, 31, 24, .82);
}

html { background: var(--entry-paper-light); }
body[data-alma-entry] {
  min-height: 100svh;
  margin: 0;
  overflow-x: hidden;
  background:
    radial-gradient(80% 62% at 52% 0, #fffaf0 0, var(--entry-paper) 76%);
  color: var(--entry-ink);
  font-family: "Hanken Grotesk", system-ui, sans-serif;
}
body[data-alma-entry] * { box-sizing: border-box; }
body[data-alma-entry] :where(button, input, textarea, select) { font: inherit; }
body[data-alma-entry] :where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid rgba(47, 107, 79, .48);
  outline-offset: 3px;
}
body[data-alma-entry] [hidden],
body[data-alma-entry] .hidden { display: none !important; }

/* Shared frame */
.entry-shell,
body[data-alma-entry="access"] .shell,
body[data-alma-entry="account"] .page {
  width: min(1480px, calc(100% - 72px));
  min-height: 100svh;
  margin-inline: auto;
}
.entry-shell,
body[data-alma-entry="account"] .page {
  display: grid;
  grid-template-rows: auto 1fr auto;
}
.entry-header,
body[data-alma-entry="access"] .top,
body[data-alma-entry="account"] .topbar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  min-height: 92px;
}
.entry-brand,
body[data-alma-entry="access"] .brand,
body[data-alma-entry="account"] .brand-link {
  color: var(--entry-ink);
  font: 600 31px/1 "Newsreader", Georgia, serif;
  text-decoration: none;
}
body[data-alma-entry="account"] .brand h1 { margin: 0; font: inherit; }
.entry-brand-mark { margin-right: 9px; color: var(--entry-green); font-family: Georgia, serif; }
.entry-nav { display: flex; align-items: center; justify-content: center; gap: 30px; }
.entry-nav a,
.entry-actions a,
body[data-alma-entry="access"] .signin,
body[data-alma-entry="account"] .nav-pill {
  color: var(--entry-muted);
  font-size: 13px;
  text-decoration: none;
  text-underline-offset: 4px;
}
.entry-nav a[aria-current="page"] { color: var(--entry-ink); font-weight: 700; }
.entry-actions,
body[data-alma-entry="account"] .nav-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
}
.entry-button,
.entry-canvas .button,
body[data-alma-entry="access"] button,
body[data-alma-entry="access"] .button,
body[data-alma-entry="account"] .cta-btn {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--entry-green-light);
  border-radius: 999px;
  padding: 12px 20px;
  background: var(--entry-green-light);
  color: #173221;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.entry-button:hover,
body[data-alma-entry="access"] button:hover,
body[data-alma-entry="account"] .cta-btn:hover {
  transform: translateY(-1px);
  background: #b6d9c1;
}
.entry-button--quiet,
body[data-alma-entry="access"] button.secondary,
body[data-alma-entry="access"] .button.secondary {
  border-color: var(--entry-stage-line);
  background: transparent;
  color: var(--entry-paper-light);
}
.entry-button--ink,
.entry-actions a.entry-button--ink { border-color: var(--entry-stage); background: var(--entry-stage); color: var(--entry-paper-light); }
.entry-button--ink:hover { border-color: #343027; background: #343027; }

.entry-layout,
body[data-alma-entry="access"] .layout,
body[data-alma-entry="account"] .card-container {
  display: grid;
  grid-template-columns: minmax(300px, .68fr) minmax(620px, 1.32fr);
  align-items: center;
  gap: clamp(48px, 7vw, 120px);
  padding: 18px 0 46px;
}
.entry-context,
body[data-alma-entry="access"] .intro,
body[data-alma-entry="account"] .auth-intro,
body[data-alma-entry="account"] .account-context {
  align-self: center;
}
.entry-eyebrow,
body[data-alma-entry="access"] .eyebrow,
body[data-alma-entry="account"] .auth-kicker,
body[data-alma-entry="account"] .account-context small {
  display: block;
  margin: 0 0 18px;
  color: var(--entry-green);
  font: 700 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .15em;
}
.entry-context h1,
body[data-alma-entry="access"] .intro h1,
body[data-alma-entry="account"] .auth-intro h2,
body[data-alma-entry="account"] .account-context h2 {
  max-width: 9ch;
  margin: 0;
  font: 500 clamp(58px, 5.9vw, 92px)/.91 "Newsreader", Georgia, serif;
  letter-spacing: -.047em;
}
.entry-context h1 em,
body[data-alma-entry="access"] .intro h1 em { color: var(--entry-green); font-weight: 500; }
body[data-entry-view="enterprise"] .entry-context h1 {
  max-width: 11ch;
  font-size: clamp(54px, 4.65vw, 72px);
  line-height: .94;
}
.entry-context-copy,
body[data-alma-entry="access"] .intro > p:not(.eyebrow):not(.privacy-note),
body[data-alma-entry="account"] .auth-intro > p:not(.auth-kicker),
body[data-alma-entry="account"] .account-context p {
  max-width: 36ch;
  margin: 27px 0 0;
  color: var(--entry-muted);
  font-size: 16px;
  line-height: 1.62;
}
.entry-context-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 29px; }
.entry-trust,
body[data-alma-entry="access"] .privacy-note,
body[data-alma-entry="account"] .auth-trust {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 27px 0 0;
  color: var(--entry-green);
  font: 700 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .1em;
}
.entry-trust::before,
body[data-alma-entry="access"] .privacy-note::before,
body[data-alma-entry="account"] .auth-trust::before {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--entry-green);
  box-shadow: 0 0 0 5px rgba(47, 107, 79, .1);
  content: "";
}

.entry-canvas,
body[data-alma-entry="access"] .stage,
body[data-alma-entry="account"] .card {
  position: relative;
  min-width: 0;
  min-height: min(760px, calc(100svh - 146px));
  overflow: hidden;
  border: 1px solid rgba(246, 240, 228, .1);
  border-radius: 30px;
  background:
    radial-gradient(circle at 72% 18%, rgba(159, 201, 174, .18), transparent 31%),
    radial-gradient(circle at 3% 100%, rgba(47, 107, 79, .28), transparent 28%),
    linear-gradient(145deg, #29251f, #171411 79%);
  color: var(--entry-paper-light);
  box-shadow: var(--entry-shadow);
}
.entry-canvas { display: grid; grid-template-rows: auto 1fr auto; padding: 28px 30px 24px; }
/* Causal public and audience story. Geometry is measured against the 1536x1024
   owner-approved composition; every connector has an object, packet and state
   consequence. */
body[data-alma-entry="story"] .entry-shell {
  width: min(1432px, calc(100% - 104px));
  display: block;
}
body[data-alma-entry="story"] .entry-header { min-height: 100px; }
body[data-alma-entry="story"] .entry-nav a,
body[data-alma-entry="story"] .entry-actions a { font-size: 14px; }
body[data-alma-entry="story"] .entry-layout {
  grid-template-columns: minmax(420px, 1fr) 54vw;
  align-items: start;
  gap: clamp(58px, 5vw, 80px);
  padding: 20px 0 0;
}
body[data-alma-entry="story"] .entry-context {
  align-self: start;
  width: min(100%, 500px);
  padding-top: 65px;
}
body[data-alma-entry="story"] .entry-context h1 {
  max-width: none;
  font-size: clamp(62px, 4.95vw, 76px);
  line-height: .98;
  letter-spacing: -.043em;
}
body[data-entry-view="public"] .entry-context h1 { font-size: 90px; line-height: .94; }
body[data-entry-view="enterprise"] .entry-context h1 { font-size: 50px; line-height: 1.02; }
body[data-alma-entry="access"] .intro h1 {
  max-width: 500px;
  font-size: 54px;
  line-height: .98;
}
body[data-alma-entry="account"] .auth-intro h2,
body[data-alma-entry="account"] .account-context h2 {
  max-width: 500px;
  font-size: 56px;
  line-height: .98;
}
body[data-alma-entry="story"] .entry-context-copy {
  max-width: 43ch;
  margin-top: 28px;
  font-size: 18px;
  line-height: 1.6;
}
body[data-alma-entry="story"] .entry-context-actions { margin-top: 28px; }
body[data-alma-entry="story"] .entry-trust { margin-top: 24px; font-size: 9px; }
body[data-alma-entry="story"] .entry-canvas {
  display: block;
  width: 54vw;
  height: 620px;
  min-height: 620px;
  padding: 0;
  border-radius: 28px;
  background:
    radial-gradient(circle at 56% 38%, rgba(73, 124, 93, .16), transparent 25%),
    radial-gradient(circle at 2% 100%, rgba(47, 107, 79, .2), transparent 31%),
    linear-gradient(145deg, #28251f, #171511 82%);
}
.entry-canvas-head {
  position: absolute;
  z-index: 10;
  top: 25px;
  left: 31px;
  right: 31px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 22px;
  color: #d4c9b8;
  font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .13em;
}
.entry-canvas-head i {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--entry-green-light);
  box-shadow: 0 0 0 4px rgba(159, 201, 174, .09), 0 0 14px rgba(159, 201, 174, .42);
}
.entry-replay {
  border: 0;
  border-bottom: 1px solid rgba(246, 240, 228, .32);
  padding: 5px 0;
  background: transparent;
  color: var(--entry-green-light);
  font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .08em;
  cursor: pointer;
}
.entry-story-board { position: absolute; inset: 0; }
.entry-signal-list {
  position: absolute;
  z-index: 4;
  top: 68px;
  left: 31px;
  display: grid;
  width: 238px;
  gap: 12px;
}
.entry-signal {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  align-items: center;
  gap: 11px;
  height: 78px;
  border: 1px solid var(--entry-stage-line);
  border-radius: 15px;
  padding: 11px 12px;
  background: linear-gradient(135deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .025));
  box-shadow: inset 0 1px rgba(255, 255, 255, .025);
  opacity: .58;
  transform: translateX(-7px);
  transition: opacity .32s ease, transform .32s ease, border-color .32s ease, background .32s ease;
}
.entry-signal.is-seen { opacity: .9; transform: none; }
.entry-signal.is-active {
  opacity: 1;
  transform: translateX(4px);
  border-color: rgba(159, 201, 174, .58);
  background: linear-gradient(135deg, rgba(86, 132, 103, .22), rgba(255, 255, 255, .035));
}
.entry-signal--warm.is-active { border-color: rgba(215, 145, 72, .66); }
.entry-signal-icon {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgba(159, 201, 174, .2);
  border-radius: 11px;
  color: var(--entry-green-light);
  font-size: 16px;
}
.entry-signal--warm .entry-signal-icon { color: #df9c55; }
.entry-signal p { margin: 0; }
.entry-signal small,
.entry-decision small,
.entry-secondary small {
  display: block;
  color: #aaa091;
  font: 700 9px/1.1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .11em;
}
.entry-signal strong { display: block; margin-top: 6px; font-size: 14px; line-height: 1.2; }
.entry-signal time { align-self: start; color: #aaa091; font-size: 9px; }
.entry-routes {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.entry-routes path {
  fill: none;
  stroke: rgba(159, 201, 174, .68);
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-dasharray: 3 4;
  opacity: .44;
  transition: opacity .3s ease, stroke-width .3s ease;
}
.entry-routes path.warm { stroke: rgba(215, 145, 72, .82); }
.entry-routes path.is-fed { opacity: .94; stroke-width: 1.8; }
.entry-routes .entry-route-out { stroke-dasharray: none; }
.entry-routes .entry-route-secondary { stroke-dasharray: 2 6; opacity: .32; }
.entry-packet {
  position: absolute;
  z-index: 6;
  display: block;
  width: 13px;
  height: 13px;
  border: 3px solid rgba(240, 255, 244, .84);
  border-radius: 50%;
  background: var(--entry-green-light);
  box-shadow: 0 0 0 5px rgba(159, 201, 174, .11), 0 0 17px 5px rgba(159, 201, 174, .7);
  opacity: 0;
}
.entry-packet--1 { left: 262px; top: 100px; offset-path: path("M 0 0 C 92 0 77 114 188 120"); }
.entry-packet--2 { left: 262px; top: 190px; offset-path: path("M 0 0 C 92 0 82 33 188 36"); background: #d99249; box-shadow: 0 0 0 5px rgba(217, 146, 73, .1), 0 0 17px 5px rgba(217, 146, 73, .66); }
.entry-packet--3 { left: 262px; top: 280px; offset-path: path("M 0 0 C 92 0 84 -47 188 -48"); }
.entry-packet--4 { left: 262px; top: 370px; offset-path: path("M 0 0 C 97 0 96 -126 188 -126"); }
body[data-entry-view="public"] .entry-packet--2 {
  background: var(--entry-green-light);
  box-shadow: 0 0 0 5px rgba(159, 201, 174, .11), 0 0 17px 5px rgba(159, 201, 174, .7);
}
body[data-entry-view="public"] .entry-packet--3 {
  background: #d99249;
  box-shadow: 0 0 0 5px rgba(217, 146, 73, .1), 0 0 17px 5px rgba(217, 146, 73, .66);
}
.entry-canvas[data-step="1"] .entry-packet--1,
.entry-canvas[data-step="3"] .entry-packet--2,
.entry-canvas[data-step="5"] .entry-packet--3,
.entry-canvas[data-step="7"] .entry-packet--4 {
  animation: entry-packet-travel .54s cubic-bezier(.55, .02, .22, 1) both;
}
.entry-core-system {
  position: absolute;
  z-index: 5;
  top: 165px;
  left: 394px;
  width: 136px;
  height: 151px;
  color: white;
}
.entry-core-ring,
.entry-core-lens {
  position: absolute;
  left: 50%;
  top: 48%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.entry-core-ring--outer {
  width: 136px;
  height: 136px;
  border: 1px solid rgba(159, 201, 174, .12);
  box-shadow: inset 0 0 35px rgba(159, 201, 174, .03);
}
.entry-core-ring--middle {
  width: 106px;
  height: 106px;
  border: 1px solid rgba(159, 201, 174, .22);
}
.entry-core-lens {
  display: grid;
  width: 78px;
  height: 78px;
  place-items: center;
  border: 1px solid rgba(205, 241, 216, .8);
  background: radial-gradient(circle at 43% 35%, rgba(212, 246, 223, .76), rgba(78, 132, 98, .56) 38%, rgba(20, 27, 22, .94) 74%);
  box-shadow: 0 0 0 11px rgba(159, 201, 174, .04), 0 0 36px rgba(159, 201, 174, .44), inset 0 0 22px rgba(236, 255, 242, .28);
  transition: box-shadow .28s ease, transform .28s ease;
}
.entry-core-lens b { font: 500 35px/1 Georgia, serif; }
.entry-core-system > small {
  position: absolute;
  left: 50%;
  bottom: -2px;
  width: 130px;
  transform: translateX(-50%);
  color: #aaa091;
  font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .1em;
  text-align: center;
}
.entry-core-system.is-responding .entry-core-lens {
  box-shadow: 0 0 0 16px rgba(159, 201, 174, .1), 0 0 55px 12px rgba(159, 201, 174, .64), inset 0 0 28px rgba(241, 255, 245, .56);
  transform: translate(-50%, -50%) scale(1.08);
}
.entry-secondary {
  position: absolute;
  z-index: 4;
  top: 394px;
  left: 320px;
  width: 180px;
  min-height: 72px;
  border: 1px solid rgba(159, 201, 174, .34);
  border-radius: 13px;
  padding: 12px 14px;
  background: linear-gradient(135deg, rgba(73, 124, 93, .54), rgba(37, 50, 41, .86));
  box-shadow: 0 14px 32px rgba(0, 0, 0, .2), -22px 14px 48px rgba(100, 157, 119, .1);
  opacity: 0;
  transform: translate(-18px, 16px) rotate(3deg);
  transition: opacity .48s ease, transform .48s ease;
}
.entry-secondary small { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #c7ddce; }
.entry-secondary small time { color: #aab9ad; font: inherit; letter-spacing: 0; white-space: nowrap; }
.entry-secondary strong { display: block; margin-top: 7px; font-size: 13px; line-height: 1.25; }
.entry-secondary span { display: block; margin-top: 5px; color: #c6bdaf; font-size: 10px; line-height: 1.35; }
.entry-canvas[data-phase="resolve"] .entry-secondary { opacity: 1; transform: rotate(3deg); }
.entry-decision-ready {
  position: absolute;
  z-index: 5;
  top: 143px;
  right: 31px;
  display: flex;
  align-items: center;
  width: 205px;
  margin: 0;
  gap: 8px;
  color: #b9d7c3;
  font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
  opacity: 0;
  transform: translateX(18px);
  transition: opacity .52s ease, transform .52s ease;
}
.entry-decision-ready i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #79ad8b;
  box-shadow: 0 0 0 4px rgba(121, 173, 139, .1);
}
.entry-decision {
  position: absolute;
  z-index: 5;
  top: 170px;
  right: 31px;
  width: 205px;
  min-height: 245px;
  border-radius: 19px;
  padding: 21px 19px;
  background: var(--entry-paper-light);
  color: var(--entry-ink);
  box-shadow: 0 20px 50px rgba(0, 0, 0, .24);
  opacity: 0;
  transform: translateX(18px);
  transition: opacity .52s ease, transform .52s ease;
}
.entry-decision small { color: #9f5c2e; }
.entry-decision h2 { margin: 13px 0 10px; font: 500 31px/1 "Newsreader", Georgia, serif; }
.entry-decision p { margin: 0; color: var(--entry-muted); font-size: 14px; line-height: 1.42; }
.entry-decision dl { margin: 15px 0 0; border-top: 1px solid var(--entry-line); }
.entry-decision dl div { display: flex; justify-content: space-between; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--entry-line); font-size: 9px; }
.entry-decision dt { color: var(--entry-quiet); }
.entry-decision dd { margin: 0; font-weight: 800; text-align: right; }
.entry-decision a { display: flex; align-items: center; justify-content: space-between; margin-top: 13px; color: #9f5c2e; font-size: 11px; font-weight: 800; text-decoration: none; }
.entry-decision--next h2 { font-size: 25px; line-height: 1.05; white-space: nowrap; }
.entry-decision-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  border-bottom: 1px solid var(--entry-line);
  padding-bottom: 15px;
  color: var(--entry-quiet);
  font-size: 9px;
}
.entry-decision-meta span { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.entry-decision-meta svg { width: 11px; height: 11px; }
.entry-decision-meta > i { width: 3px; height: 3px; border-radius: 50%; background: var(--entry-quiet); }
.entry-canvas[data-phase="resolve"] .entry-decision,
.entry-canvas[data-phase="resolve"] .entry-decision-ready { opacity: 1; transform: none; }
.entry-timeline {
  position: absolute;
  z-index: 6;
  left: 31px;
  right: 31px;
  top: 516px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  color: #d1c7b7;
  font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .08em;
}
.entry-timeline-track {
  position: relative;
  height: 2px;
  background: rgba(246, 240, 228, .2);
}
.entry-timeline-track::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--scene-progress, 0%);
  background: var(--entry-green-light);
  box-shadow: 0 0 10px rgba(159, 201, 174, .5);
  transition: width .48s cubic-bezier(.2, .8, .2, 1);
  content: "";
}
.entry-timeline-track i {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: var(--scene-progress, 0%);
  width: 20px;
  height: 20px;
  border: 3px solid #b7d8c2;
  border-radius: 50%;
  background: #437158;
  box-shadow: 0 0 18px rgba(159, 201, 174, .35);
  transform: translate(-50%, -50%);
  transition: left .48s cubic-bezier(.2, .8, .2, 1);
}
.entry-timeline-track b {
  position: relative;
  display: inline-block;
  top: -4px;
  width: 4px;
  height: 4px;
  margin-left: calc(12.5% - 6px);
  border: 1px solid #aaa091;
  border-radius: 50%;
  background: #26231e;
}
.entry-state-legend {
  position: absolute;
  z-index: 6;
  left: 94px;
  right: 94px;
  top: 541px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.entry-state-legend span {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(246, 240, 228, .14);
  border-radius: 999px;
  padding: 8px 13px;
  color: #c2b8aa;
  font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .08em;
}
.entry-state-legend i { width: 7px; height: 7px; border-radius: 50%; background: #847b6e; }
.entry-state-legend [data-legend="market"] i { background: #bd7438; box-shadow: 0 0 0 4px rgba(189, 116, 56, .1); }
.entry-canvas[data-phase="resolve"] .entry-state-legend [data-legend="decision"] { border-color: rgba(159, 201, 174, .4); color: #dff0e4; }
.entry-canvas[data-phase="resolve"] .entry-state-legend [data-legend="decision"] i,
.entry-state-legend [data-legend="direction"] i { background: #79ad8b; box-shadow: 0 0 0 4px rgba(121, 173, 139, .1); }

/* The Alma Way is the full-width state rail below the proposition/canvas row. */
.entry-way {
  display: grid;
  grid-template-columns: 178px repeat(4, 1fr);
  min-height: 174px;
  margin-top: 64px;
  border: 1px solid var(--entry-line);
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255, 252, 246, .18);
}
.entry-way > p {
  margin: 0;
  padding: 35px 24px;
  color: var(--entry-ink);
  font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .14em;
}
.entry-way article {
  position: relative;
  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: center;
  gap: 13px;
  border-left: 1px solid var(--entry-line);
  padding: 27px 20px 22px;
}
.entry-way article.active { box-shadow: inset 0 0 0 2px var(--entry-green); }
.entry-way article > span {
  position: absolute;
  top: 19px;
  left: 20px;
  color: var(--entry-ink);
  font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
}
.entry-way article > i { color: var(--entry-green); font: normal 27px/1 Georgia, serif; text-align: center; }
.entry-way article h2 { margin: 0; font: 500 29px/1 "Newsreader", Georgia, serif; }
.entry-way article p { margin: 10px 0 0; color: var(--entry-muted); font-size: 14px; line-height: 1.42; }

@keyframes entry-packet-travel {
  0% { opacity: 0; offset-distance: 0%; transform: scale(.55); }
  14% { opacity: 1; }
  78% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; offset-distance: 100%; transform: scale(.45); }
}

/* Pricing is a state in the canvas, not a card catalogue. */
body[data-alma-entry="offer"] .entry-canvas-head {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  min-height: 34px;
}
.entry-offer-canvas {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  align-content: stretch;
}
.entry-offer-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 14px;
  border: 1px solid var(--entry-stage-line);
  border-radius: 999px;
  padding: 4px;
}
.entry-offer-tabs button {
  min-height: 42px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #aaa092;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.entry-offer-tabs button[aria-selected="true"] { background: rgba(159, 201, 174, .2); color: var(--entry-paper-light); }
.entry-offer-panels { display: grid; align-items: center; }
.entry-offer {
  display: none;
  grid-template-columns: minmax(170px, .7fr) minmax(280px, 1.3fr);
  align-items: center;
  gap: clamp(30px, 5vw, 64px);
  padding: 36px clamp(10px, 3vw, 34px);
}
.entry-offer.active { display: grid; }
.entry-offer-kicker { color: var(--entry-green-light); font: 700 9px/1 ui-monospace, monospace; letter-spacing: .13em; }
.entry-offer h2 { margin: 17px 0 8px; font: 500 48px/.95 "Newsreader", Georgia, serif; }
.entry-offer-price { color: var(--entry-paper-light); font: 500 54px/1 "Newsreader", Georgia, serif; }
.entry-offer-price span { color: #aca293; font: 700 11px/1 "Hanken Grotesk", sans-serif; }
.entry-offer-facts { margin: 0; border-top: 1px solid var(--entry-stage-line); }
.entry-offer-facts div { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid var(--entry-stage-line); }
.entry-offer-facts dt { color: #aaa092; font-size: 12px; }
.entry-offer-facts dd { margin: 0; font-size: 12px; font-weight: 800; text-align: right; }
.entry-offer .entry-button { margin-top: 22px; }
.entry-offer-truth { margin: 0; padding: 14px 0 2px; border-top: 1px solid var(--entry-stage-line); color: #aaa092; font-size: 11px; line-height: 1.45; }

/* Access state machine */
body[data-alma-entry="access"] .top { display: flex; justify-content: space-between; }
body[data-alma-entry="access"] .brand { display: inline-flex; align-items: center; min-height: 44px; }
body[data-alma-entry="access"] .header-actions { display: flex; align-items: center; gap: 20px; }
body[data-alma-entry="access"] .back-link { display: inline-flex; align-items: center; min-height: 44px; gap: 7px; }
body[data-alma-entry="access"] .back-link-icon { width: 14px; height: 14px; flex: none; }
body[data-alma-entry="access"] .top .signin {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  border: 1px solid var(--entry-line);
  border-radius: 999px;
  padding: 0 20px;
  color: var(--entry-ink);
  font-weight: 700;
}
body[data-alma-entry="access"] .layout { min-height: calc(100svh - 92px); }
body[data-alma-entry="access"] .progress { display: grid; gap: 0; margin: 29px 0 0; padding: 0; list-style: none; }
body[data-alma-entry="access"] .progress li {
  position: relative;
  display: grid;
  grid-template-columns: 25px auto;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  color: var(--entry-quiet);
  font-size: 12px;
}
body[data-alma-entry="access"] .progress li:not(:last-child)::after {
  position: absolute;
  top: 41px;
  bottom: -17px;
  left: 12px;
  width: 1px;
  background: var(--entry-line);
  content: "";
}
body[data-alma-entry="access"] .progress b {
  display: block;
  width: 10px;
  height: 10px;
  justify-self: center;
  align-self: center;
  border: 1px solid var(--entry-line);
  border-radius: 50%;
  background: transparent;
}
body[data-alma-entry="access"] .progress li.active { color: var(--entry-ink); font-weight: 800; }
body[data-alma-entry="access"] .progress li.active b {
  border-color: var(--entry-green);
  background: var(--entry-green);
  box-shadow: 0 0 0 5px rgba(47, 107, 79, .1);
}
body[data-alma-entry="access"] .stage {
  display: grid;
  align-content: center;
  min-height: min(830px, calc(100svh - 132px));
  padding: clamp(32px, 5vw, 70px);
}
body[data-alma-entry="access"] .state { display: none; width: min(100%, 720px); margin: auto; }
body[data-alma-entry="access"] .state.active { display: block; }
body[data-alma-entry="access"] .state h2 {
  margin: 0 0 12px;
  font: 500 clamp(40px, 4vw, 61px)/.96 "Newsreader", Georgia, serif;
  letter-spacing: -.04em;
}
body[data-alma-entry="access"] .stage-step { margin: 0 0 18px; color: var(--entry-green-light); font: 700 9px/1 ui-monospace, monospace; letter-spacing: .15em; }
body[data-alma-entry="access"] .state-copy,
body[data-alma-entry="access"] .note { max-width: 54ch; color: #c9c0af; font-size: 13px; line-height: 1.55; }
body[data-alma-entry="access"] .segment-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 38px;
  border: 1px solid var(--entry-stage-line);
  border-radius: 999px;
  padding: 4px;
}
body[data-alma-entry="access"] .segment-tabs button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 0;
  border-radius: 999px;
  padding: 10px;
  background: transparent;
  color: #aaa092;
}
body[data-alma-entry="access"] .segment-icon { width: 15px; height: 15px; flex: none; }
body[data-alma-entry="access"] .segment-tabs button[aria-pressed="true"] { background: rgba(159, 201, 174, .2); color: white; }
body[data-alma-entry="access"] form { display: grid; gap: 15px; margin-top: 25px; }
body[data-alma-entry="access"] label,
body[data-alma-entry="account"] .form-group { display: grid; gap: 7px; }
body[data-alma-entry="access"] label,
body[data-alma-entry="account"] .form-group label {
  color: #d9d1c3;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}
body[data-alma-entry="access"] input,
body[data-alma-entry="access"] textarea,
body[data-alma-entry="access"] select,
body[data-alma-entry="account"] .form-input {
  width: 100%;
  border: 1px solid rgba(246, 240, 228, .21);
  border-radius: 11px;
  padding: 13px 14px;
  background: rgba(255, 255, 255, .07);
  color: var(--entry-paper-light);
}
body[data-alma-entry="access"] textarea { min-height: 92px; resize: vertical; }
body[data-alma-entry="access"] select option { color: var(--entry-ink); }
body[data-alma-entry="access"] .type-select { display: none; }
body[data-alma-entry="access"] .email-field { position: relative; }
body[data-alma-entry="access"] .access-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  padding: 0;
  white-space: nowrap;
}
body[data-alma-entry="access"] .email-field .field-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  display: grid;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  color: var(--entry-green-light);
  pointer-events: none;
}
body[data-alma-entry="access"] .email-field input { padding-left: 42px; }
body[data-alma-entry="access"] .intent-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
body[data-alma-entry="access"] .intent {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 124px;
  border: 1px solid var(--entry-stage-line);
  border-radius: 14px;
  padding: 16px;
  background: rgba(255, 255, 255, .035);
  color: #d8d0c2;
  text-align: left;
}
body[data-alma-entry="access"] .intent[aria-pressed="true"] { border-color: var(--entry-green-light); background: rgba(159, 201, 174, .15); color: white; }
body[data-alma-entry="access"] .intent-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: rgba(159, 201, 174, .18);
  color: var(--entry-green-light);
}
body[data-alma-entry="access"] .intent-icon svg { width: 17px; height: 17px; }
body[data-alma-entry="access"] .intent-title { color: var(--entry-paper-light); font: 700 15px/1.3 "Hanken Grotesk", sans-serif; letter-spacing: 0; }
body[data-alma-entry="access"] .intent-desc { font-size: 12px; line-height: 1.4; }
body[data-alma-entry="access"] .row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
body[data-alma-entry="access"] .request-panel { display: grid; gap: 12px; }
body[data-alma-entry="access"] .request-panel-note,
body[data-alma-entry="access"] .request-copy { margin: 0; color: #c9c0af; font-size: 12px; line-height: 1.5; }
body[data-alma-entry="access"] .status { min-height: 1.3em; color: var(--entry-green-light); font-size: 12px; }
body[data-alma-entry="access"] .status.error { color: #f0aaa1; }
/* Primary forward action is cream/paper in the approved mock. Scoped to the
   id (and the runtime's own [data-access-continue]/[data-access-next] proxy
   buttons that initAccessProgress swaps in front of #requestButton during
   the direction/identity steps) so the shared body[data-alma-entry="access"]
   button rule — also used by the segment tabs and intent buttons — stays
   untouched, and the JS that creates those proxies is never edited. */
body[data-alma-entry="access"] #requestButton,
body[data-alma-entry="access"] [data-access-continue],
body[data-alma-entry="access"] [data-access-next] {
  border-color: var(--entry-paper-light);
  background: var(--entry-paper-light);
  color: var(--entry-ink);
}
body[data-alma-entry="access"] #requestButton:hover,
body[data-alma-entry="access"] [data-access-continue]:hover,
body[data-alma-entry="access"] [data-access-next]:hover {
  background: var(--entry-surface);
  border-color: var(--entry-surface);
}
body[data-alma-entry="access"] .access-alt-action { margin: 2px 0 0; text-align: center; }
body[data-alma-entry="access"] .access-alt-action a {
  display: inline-block;
  padding: 14px 2px;
  color: var(--entry-green-light);
  text-underline-offset: 3px;
}
body[data-alma-entry="access"] .signal,
body[data-alma-entry="account"] .status-mark {
  display: grid;
  width: 44px;
  height: 44px;
  margin-bottom: 17px;
  place-items: center;
  border-radius: 50%;
  background: var(--entry-green-light);
  color: #173221;
  font-weight: 900;
}
body[data-alma-entry="access"] .review-card { display: grid; gap: 10px; margin-top: 23px; padding: 18px; border: 1px solid var(--entry-stage-line); border-radius: 15px; background: rgba(255, 255, 255, .045); }
body[data-alma-entry="access"] .review-card p { margin: 0; }
body[data-alma-entry="access"] .review-meta { display: grid; gap: 6px; color: #c9c0af; font-size: 12px; line-height: 1.4; }
body[data-alma-entry="access"] .actions,
.access-step-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }

/* The shared runtime turns the existing real request form into one-question
   presentation without changing its controls, names or submit authority. */
body[data-alma-entry="access"] .access-runtime-ready [data-access-question] { display: none; }
body[data-alma-entry="access"] .access-runtime-ready [data-access-question].is-active { display: grid; }
body[data-alma-entry="access"] .access-runtime-ready .request-panel-note { display: none; }
body[data-alma-entry="access"] .access-runtime-ready .request-details { display: contents; }
body[data-alma-entry="access"] .access-runtime-ready .request-panel { display: contents; }
body[data-alma-entry="access"] .access-runtime-ready[data-access-phase="direction"] .candidate-context,
body[data-alma-entry="access"] .access-runtime-ready[data-access-phase="direction"] .name-field,
body[data-alma-entry="access"] .access-runtime-ready[data-access-phase="direction"] .request-details,
body[data-alma-entry="access"] .access-runtime-ready[data-access-phase="direction"] #requestButton,
body[data-alma-entry="access"] .access-runtime-ready[data-access-phase="direction"] #requestStatus,
body[data-alma-entry="access"] .access-runtime-ready[data-access-phase="identity"] #requestIntents,
body[data-alma-entry="access"] .access-runtime-ready[data-access-phase="identity"] [data-access-email-label] {
  display: none !important;
}
body[data-alma-entry="access"] .access-runtime-ready[data-access-phase="direction"] [data-access-continue] { display: inline-flex; width: 100%; }
body[data-alma-entry="access"] .access-runtime-ready[data-access-phase="identity"] [data-access-continue] { display: none; }
body[data-alma-entry="access"] .access-runtime-ready #requestButton { width: 100%; }
body[data-alma-entry="access"] .access-runtime-ready #requestButton[data-final-question="false"] { display: none; }

body[data-alma-entry="access"] .activation-runtime-ready[data-activation-phase="code"] #activationAccountFields,
body[data-alma-entry="access"] .activation-runtime-ready[data-activation-phase="code"] #activateButton { display: none !important; }
body[data-alma-entry="access"] .activation-runtime-ready[data-activation-phase="account"] [data-activation-continue] { display: none; }
body[data-alma-entry="access"] .activation-runtime-ready[data-activation-phase="account"] #activateButton { width: 100%; }

/* Account/auth/recovery are the same canvas with their original controllers. */
body[data-alma-entry="account"] .topbar { display: flex; justify-content: space-between; }
body[data-alma-entry="account"] .card-container {
  min-height: calc(100svh - 150px);
  align-items: start;
  padding-top: 58px;
}
body[data-alma-entry="account"] .card {
  display: flex;
  flex-direction: column;
  gap: 23px;
  min-height: 480px;
  padding: clamp(35px, 5vw, 58px);
}
body[data-alma-entry="account"] .card::before {
  position: absolute;
  inset: 0 auto auto 0;
  width: 42%;
  height: 3px;
  background: linear-gradient(90deg, var(--entry-green-light), transparent);
  content: "";
}
body[data-alma-entry="account"] .card-title {
  margin: 0;
  color: var(--entry-paper-light);
  font: 500 clamp(39px, 3.8vw, 55px)/.97 "Newsreader", Georgia, serif;
  letter-spacing: -.035em;
  text-align: left;
}
body[data-alma-entry="account"] .card-note { max-width: 50ch; margin: -9px 0 0; color: #c9c0af; font-size: 13px; line-height: 1.55; text-align: left; }
body[data-alma-entry="account"] .tabs { display: flex; gap: 24px; border-bottom: 1px solid var(--entry-stage-line); }
body[data-alma-entry="account"] .tab {
  border: 0;
  border-bottom: 2px solid transparent;
  padding: 0 0 13px;
  background: transparent;
  color: #aaa092;
  font: 700 10px/1 ui-monospace, monospace;
  letter-spacing: .1em;
  cursor: pointer;
}
body[data-alma-entry="account"] .tab.active { border-color: var(--entry-green-light); color: var(--entry-paper-light); }
body[data-alma-entry="account"] form,
body[data-alma-entry="account"] .form-stack { display: grid; gap: 16px; }
body[data-alma-entry="account"] .form-input::placeholder { color: #948b7d; }
body[data-alma-entry="account"] .cta-btn { width: 100%; }
body[data-alma-entry="account"] .cta-link { display: block; text-decoration: none; }
body[data-alma-entry="account"] .terms-note { margin: 0; color: #aaa092; font-size: 12px; line-height: 1.5; text-align: center; }
body[data-alma-entry="account"] .terms-note a { color: var(--entry-paper-light); text-underline-offset: 3px; }
body[data-alma-entry="account"] .turnstile-slot { display: flex; justify-content: center; min-height: 65px; }
body[data-alma-entry="account"] .status-mark.error { background: #e4ada6; color: #541d17; }
body[data-alma-entry="account"] .toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  z-index: 100;
  max-width: min(90vw, 560px);
  transform: translateX(-50%);
  border: 1px solid var(--entry-stage-line);
  border-radius: 999px;
  padding: 11px 18px;
  background: var(--entry-stage);
  color: var(--entry-paper-light);
  box-shadow: 0 20px 45px -25px rgba(42, 37, 30, .85);
  font-size: 12px;
}
body[data-alma-entry="account"] .card[data-mode="signup"] { animation: entry-state-in .3s ease; }

/* Quiet legal/privacy boundary */
.entry-footer,
body[data-alma-entry="account"] .footer {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid var(--entry-line);
  padding: 19px 0 24px;
  color: var(--entry-quiet);
  font-size: 11px;
}
body[data-alma-entry="account"] .footer {
  display: block;
  text-align: center;
}
.entry-footer a,
body[data-alma-entry="account"] .footer-link {
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
@keyframes entry-state-in {
  from { opacity: .35; transform: translateY(7px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 1040px) {
  .entry-header { grid-template-columns: 1fr auto; }
  .entry-nav { display: none; }
  .entry-layout,
  body[data-alma-entry="access"] .layout,
  body[data-alma-entry="account"] .card-container {
    grid-template-columns: minmax(250px, .65fr) minmax(520px, 1.35fr);
    gap: 38px;
  }
  .entry-story-board { grid-template-columns: minmax(175px, 215px) 120px minmax(165px, 205px); gap: 15px; }
}

@media (max-width: 800px) {
  .entry-shell,
  body[data-alma-entry="access"] .shell,
  body[data-alma-entry="account"] .page { width: min(100% - 32px, 620px); }
  .entry-header,
  body[data-alma-entry="access"] .top,
  body[data-alma-entry="account"] .topbar { min-height: 72px; }
  .entry-actions > a:first-child { display: none; }
  body[data-alma-entry="access"] .back-link { display: none; }
  .entry-layout,
  body[data-alma-entry="access"] .layout,
  body[data-alma-entry="account"] .card-container {
    grid-template-columns: 1fr;
    gap: 26px;
    min-height: 0;
    padding: 16px 0 32px;
  }
  .entry-context h1,
  body[data-alma-entry="access"] .intro h1,
  body[data-alma-entry="account"] .auth-intro h2,
  body[data-alma-entry="account"] .account-context h2 { max-width: 12ch; font-size: clamp(46px, 14vw, 66px); }
  .entry-context-copy,
  body[data-alma-entry="access"] .intro > p:not(.eyebrow):not(.privacy-note),
  body[data-alma-entry="account"] .auth-intro > p:not(.auth-kicker),
  body[data-alma-entry="account"] .account-context p { margin-top: 16px; font-size: 14px; line-height: 1.5; }
  .entry-context-actions { margin-top: 20px; }
  .entry-trust,
  body[data-alma-entry="access"] .privacy-note,
  body[data-alma-entry="account"] .auth-trust { margin-top: 17px; }
  .entry-canvas,
  body[data-alma-entry="access"] .stage,
  body[data-alma-entry="account"] .card { min-height: 0; border-radius: 23px; }
  .entry-canvas { padding: 20px 17px 17px; }
  .entry-story-board {
    grid-template-columns: 1fr;
    gap: 13px;
    min-height: 0;
  }
  .entry-signal-list { gap: 8px; }
  .entry-signal { min-height: 58px; grid-template-columns: 28px 1fr; padding: 8px; }
  .entry-signal-icon { width: 28px; height: 28px; }
  .entry-signal time { display: none; }
  .entry-signal strong { font-size: 9px; }
  .entry-core {
    position: relative;
    right: auto;
    bottom: auto;
    place-self: center;
    width: 76px;
    height: 76px;
    margin: 5px 0;
    font-size: 32px;
  }
  .entry-connectors { display: none; }
  .entry-decision { min-height: 0; padding: 21px 18px; }
  .entry-decision h2 { font-size: 23px; }
  .entry-decision dl { display: none; }
  .entry-way { grid-template-columns: 1fr 1fr; }
  .entry-way div:nth-child(3) { border-left: 0; border-top: 1px solid var(--entry-stage-line); }
  .entry-way div:nth-child(4) { border-top: 1px solid var(--entry-stage-line); }
  .entry-offer-tabs { grid-template-columns: 1fr; border-radius: 18px; }
  .entry-offer { grid-template-columns: 1fr; gap: 24px; padding: 28px 4px; }
  .entry-offer h2 { font-size: 39px; }
  .entry-offer-price { font-size: 46px; }
  body[data-alma-entry="access"] .progress { display: flex; gap: 13px; }
  body[data-alma-entry="access"] .progress li { min-height: 25px; grid-template-columns: 23px auto; gap: 6px; font-size: 10px; }
  body[data-alma-entry="access"] .progress li::after { display: none; }
  body[data-alma-entry="access"] .progress b { width: 10px; height: 10px; }
  body[data-alma-entry="access"] .stage { padding: 25px 18px; }
  body[data-alma-entry="access"] .segment-tabs { margin-bottom: 24px; }
  body[data-alma-entry="access"] .intent-grid { grid-template-columns: 1fr; }
  body[data-alma-entry="access"] .intent { min-height: 88px; }
  body[data-alma-entry="access"] .row { grid-template-columns: 1fr; }
  body[data-alma-entry="account"] .card { gap: 19px; min-height: 0; padding: 27px 20px; }
  body[data-alma-entry="account"] .card-title { font-size: 39px; }
  .entry-footer,
  body[data-alma-entry="account"] .footer { flex-direction: column; text-align: center; }
}

@media (max-width: 430px) {
  .entry-shell,
  body[data-alma-entry="access"] .shell,
  body[data-alma-entry="account"] .page { width: min(100% - 24px, 420px); }
  .entry-brand,
  body[data-alma-entry="access"] .brand,
  body[data-alma-entry="account"] .brand-link { font-size: 27px; }
  .entry-actions .entry-button { min-height: 40px; padding: 10px 13px; font-size: 10px; }
  .entry-context h1,
  body[data-alma-entry="account"] .auth-intro h2,
  body[data-alma-entry="account"] .account-context h2 { font-size: 45px; }
  body[data-alma-entry="access"] .intro h1 {
    max-width: none;
    font-size: 40px;
    line-height: .98;
  }
  .entry-story-board { min-height: 0; }
  .entry-decision { min-height: 0; }
  body[data-alma-entry="access"] .segment-tabs button { font-size: 10px; }
}

@media (min-width: 801px) and (max-width: 1250px) {
  body[data-alma-entry="story"] .entry-shell { width: min(826px, calc(100% - 48px)); }
  body[data-alma-entry="story"] .entry-header { grid-template-columns: 1fr auto; }
  body[data-alma-entry="story"] .entry-nav { display: none; }
  body[data-alma-entry="story"] .entry-layout { grid-template-columns: 1fr; gap: 0; }
  body[data-alma-entry="story"] .entry-context { width: min(100%, 620px); padding-top: 32px; }
  body[data-alma-entry="story"] .entry-canvas { width: 100%; margin-top: 36px; }
  body[data-alma-entry="story"] .entry-way {
    grid-template-columns: 128px repeat(4, 1fr);
    margin-top: 42px;
  }
  body[data-alma-entry="story"] .entry-way > p { padding-inline: 16px; }
  body[data-alma-entry="story"] .entry-way article { grid-template-columns: 30px 1fr; gap: 8px; padding-inline: 13px; }
  body[data-alma-entry="story"] .entry-way article h2 { font-size: 22px; }
  body[data-alma-entry="story"] .entry-way article p { font-size: 14px; }
}

@media (max-width: 800px) {
  body[data-alma-entry="story"] .entry-shell { width: min(100% - 24px, 620px); }
  /* The public payoff card must land inside the first viewport (measured at
     390x844) without a scroll, so this breakpoint's vertical rhythm is kept
     as tight as the content allows: shorter container heights and margins
     throughout, plus a smaller reactor graphic. No element is removed and no
     copy changes -- only the spacing and the reactor's drawn size. */
  body[data-alma-entry="story"] .entry-header { min-height: 50px; }
  body[data-alma-entry="story"] .entry-layout {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 6px 0 0;
  }
  body[data-alma-entry="story"] .entry-context { width: 100%; padding-top: 4px; }
  body[data-alma-entry="story"] .entry-context h1 { max-width: none; font-size: clamp(45px, 12.3vw, 60px); line-height: .98; }
  body[data-entry-view="enterprise"] .entry-context h1 { font-size: clamp(36px, 9.7vw, 47px); line-height: 1.04; }
  body[data-alma-entry="story"] .entry-context-copy { max-width: 37ch; margin-top: 14px; font-size: 15px; line-height: 1.55; }
  body[data-alma-entry="story"] .entry-context-actions { margin-top: 14px; }
  body[data-alma-entry="story"] .entry-trust { margin-top: 18px; font-size: 10px; line-height: 1.35; }
  body[data-alma-entry="story"] .entry-canvas {
    width: 100%;
    height: 700px;
    min-height: 700px;
    margin-top: 8px;
    padding: 0;
    border-radius: 24px;
  }
  body[data-alma-entry="story"] .entry-canvas-head,
  body[data-alma-entry="story"] .entry-replay { font-size: 10px; }
  body[data-alma-entry="story"] .entry-canvas-head { top: 20px; left: 17px; right: 17px; }
  body[data-alma-entry="story"] .entry-signal-list { top: 16px; left: 16px; width: calc(100% - 32px); gap: 6px; }
  body[data-alma-entry="story"] .entry-signal {
    grid-template-columns: 28px 1fr auto;
    gap: 8px;
    width: 100%;
    height: 42px;
    min-height: 42px;
    padding: 6px 8px;
  }
  body[data-alma-entry="story"] .entry-signal-icon { width: 28px; height: 28px; font-size: 12px; }
  body[data-alma-entry="story"] .entry-signal small { font-size: 9px; }
  body[data-alma-entry="story"] .entry-signal strong { margin-top: 2px; font-size: 12px; }
  body[data-alma-entry="story"] .entry-signal time { display: block; font-size: 9px; }
  body[data-alma-entry="story"] .entry-routes,
  body[data-alma-entry="story"] .entry-packet { display: none; }
  body[data-alma-entry="story"] .entry-core-system {
    top: 212px;
    left: calc(50% - 43px);
    width: 86px;
    height: 94px;
  }
  body[data-alma-entry="story"] .entry-core-system > small { top: -16px; bottom: auto; font-size: 9px; }
  body[data-alma-entry="story"] .entry-core-ring--outer { width: 86px; height: 86px; }
  body[data-alma-entry="story"] .entry-core-ring--middle { width: 66px; height: 66px; }
  body[data-alma-entry="story"] .entry-core-lens { width: 48px; height: 48px; }
  body[data-alma-entry="story"] .entry-core-lens svg { width: 22px; height: 13px; }
  body[data-alma-entry="story"] .entry-secondary {
    top: 314px;
    left: 16px;
    width: 200px;
    min-height: 64px;
    padding: 10px 12px;
  }
  body[data-alma-entry="story"] .entry-secondary small,
  body[data-alma-entry="story"] .entry-decision small { font-size: 10px; }
  body[data-alma-entry="story"] .entry-decision-ready { display: none; }
  body[data-alma-entry="story"] .entry-decision {
    top: 412px;
    left: 16px;
    right: 16px;
    width: auto;
    min-height: 170px;
    padding: 15px 14px;
  }
  body[data-alma-entry="story"] .entry-decision h2 { margin: 9px 0 7px; font-size: 26px; }
  body[data-alma-entry="story"] .entry-decision--next h2 { font-size: 24px; white-space: normal; }
  body[data-alma-entry="story"] .entry-decision p { font-size: 14px; }
  body[data-alma-entry="story"] .entry-decision dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  body[data-alma-entry="story"] .entry-decision dl div { display: grid; align-content: start; gap: 4px; }
  body[data-alma-entry="story"] .entry-decision dd { text-align: left; }
  body[data-alma-entry="story"] .entry-decision-meta { margin-top: 10px; padding-bottom: 10px; }
  body[data-alma-entry="story"] .entry-timeline { top: 623px; left: 16px; right: 16px; gap: 8px; font-size: 10px; }
  body[data-alma-entry="story"] .entry-state-legend { top: 645px; left: 16px; right: 16px; gap: 5px; }
  body[data-alma-entry="story"] .entry-state-legend span { gap: 5px; padding: 6px 6px; font-size: 10px; letter-spacing: 0; }
  body[data-alma-entry="story"] .entry-way {
    grid-template-columns: 1fr;
    margin-top: 32px;
    min-height: 0;
  }
  body[data-alma-entry="story"] .entry-way > p { padding: 22px; }
  body[data-alma-entry="story"] .entry-way article { min-height: 118px; border-top: 1px solid var(--entry-line); border-left: 0; padding: 27px 22px 18px; }
  body[data-alma-entry="story"] .entry-way article > span { font-size: 10px; }
  body[data-alma-entry="story"] .entry-way article h2 { font-size: 26px; }
  body[data-alma-entry="story"] .entry-footer { margin-top: 28px; }
}

/* ---------------------------------------------------------------------------
   Landing refinements — the causal scene, executed precisely: drawn brand
   mark, measured connectors (see layoutStoryRoutes), line icons instead of
   glyphs, no meta-narration, calmer process rail. Scoped to the public
   landing only. */
.entry-brand svg.entry-brand-mark {
  width: 32px;
  height: 18px;
  margin-right: 10px;
  vertical-align: -1px;
  fill: none;
  stroke: var(--entry-green);
  stroke-width: 2.4;
}
body[data-entry-view="public"] .entry-shell {
  width: min(1560px, calc(100% - clamp(72px, 6.8vw, 136px)));
}
body[data-entry-view="public"] .entry-layout {
  grid-template-columns: minmax(420px, 500px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(64px, 6vw, 104px);
  padding-top: clamp(22px, 2.4vw, 38px);
}
body[data-entry-view="public"] .entry-context {
  width: min(100%, 500px);
  padding-top: 0;
}
body[data-entry-view="public"] .entry-context h1 {
  font-size: clamp(78px, 5.55vw, 92px);
  line-height: .96;
}
body[data-entry-view="public"] .entry-context-copy { margin-top: clamp(26px, 2vw, 34px); }
body[data-entry-view="public"] .entry-context-actions { margin-top: clamp(27px, 2vw, 34px); }
body[data-entry-view="public"] .entry-canvas {
  width: 100%;
  max-width: 968px;
  justify-self: end;
  container-name: entry-scene;
  container-type: inline-size;
}
.entry-signal-icon svg { width: 16px; height: 16px; }
.entry-core-lens svg { color: #eafff0; }
body[data-entry-view="public"] .entry-core-lens {
  box-shadow: 0 0 0 9px rgba(159, 201, 174, .04), 0 0 26px rgba(159, 201, 174, .32), inset 0 0 18px rgba(236, 255, 242, .22);
}
body[data-entry-view="public"] .entry-core-system.is-responding .entry-core-lens {
  box-shadow: 0 0 0 13px rgba(159, 201, 174, .08), 0 0 40px 8px rgba(159, 201, 174, .48), inset 0 0 22px rgba(241, 255, 245, .44);
}
.entry-canvas[data-phase="evidence"] .entry-secondary,
.entry-canvas[data-phase="resolve"] .entry-secondary { opacity: 1; }
body[data-entry-view="public"] .entry-secondary--flat,
body[data-entry-view="public"] .entry-canvas[data-phase="evidence"] .entry-secondary--flat,
body[data-entry-view="public"] .entry-canvas[data-phase="resolve"] .entry-secondary--flat {
  transform: none;
}

/* Public motion is timed to reach its payoff fast, not slow: each signal is
   still readable before it is absorbed, but the outcome must rest inside the
   window a visitor actually stays for. Every duration below is paired to the
   matching beat in alma-entry.js's publicTiming object. */
body[data-entry-view="public"] .entry-signal {
  transform: none;
  transition:
    opacity 220ms cubic-bezier(.22, .72, .22, 1),
    border-color 220ms ease,
    background 220ms ease;
}
body[data-entry-view="public"] .entry-signal.is-active,
body[data-entry-view="public"] .entry-signal.is-seen {
  transform: none;
}
body[data-entry-view="public"] .entry-routes path {
  transition: opacity 220ms ease, stroke-width 220ms ease;
}
body[data-entry-view="public"] .entry-routes .entry-route-secondary { opacity: 0; }
body[data-entry-view="public"] .entry-routes .entry-route-secondary.is-fed { opacity: .94; }
body[data-entry-view="public"] .entry-core-lens {
  transition: box-shadow 300ms ease, transform 300ms cubic-bezier(.2, .8, .2, 1);
}
body[data-entry-view="public"] .entry-canvas[data-step="1"] .entry-packet--1,
body[data-entry-view="public"] .entry-canvas[data-step="3"] .entry-packet--2,
body[data-entry-view="public"] .entry-canvas[data-step="5"] .entry-packet--3,
body[data-entry-view="public"] .entry-canvas[data-step="7"] .entry-packet--4 {
  animation-duration: 380ms;
}
body[data-entry-view="public"] .entry-secondary {
  transform: none;
  transition: opacity 240ms ease;
}
body[data-entry-view="public"] .entry-decision,
body[data-entry-view="public"] .entry-decision-ready {
  transition: opacity 280ms ease, transform 280ms cubic-bezier(.2, .8, .2, 1);
}
body[data-entry-view="public"] .entry-timeline-track::before,
body[data-entry-view="public"] .entry-timeline-track i {
  transition-duration: 280ms;
}

@media (min-width: 801px) {
  body[data-entry-view="public"] .entry-core-system {
    left: clamp(275px, calc(75cqw - 220px), 394px);
  }

  @container entry-scene (max-width: 800px) {
    body[data-entry-view="public"] .entry-secondary {
      top: 420px;
      left: calc(50% - 90px);
    }
    body[data-entry-view="public"] .entry-timeline { top: 530px; }
    body[data-entry-view="public"] .entry-state-legend { top: 558px; }
  }
}

/* The landing's process rail follows the owner-approved composition: each
   step has its own drawn mark, while Listen is the current, living state. */
.entry-way--mock {
  grid-template-columns: 178px repeat(4, minmax(0, 1fr));
  height: 174px;
  min-height: 174px;
  overflow: visible;
}
.entry-way--mock > p {
  padding: 35px 24px;
  font-size: 9px;
}
.entry-way--mock article {
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  align-content: center;
  align-items: start;
  column-gap: 15px;
  row-gap: 0;
  min-width: 0;
  min-height: 0;
  padding: 27px 22px 20px;
  box-shadow: none;
}
.entry-way--mock article.active {
  align-self: stretch;
  margin-block: 18px;
  border: 1.5px solid var(--entry-green);
  border-radius: 13px;
  padding: 21px 20px 15px;
  background: rgba(255, 252, 246, .42);
  box-shadow: 0 10px 25px -20px rgba(47, 107, 79, .74);
}
.entry-way--mock article.active::after {
  position: absolute;
  z-index: 2;
  top: -12px;
  right: -12px;
  width: 24px;
  height: 24px;
  border: 1px solid rgba(42, 37, 30, .32);
  border-radius: 50%;
  background: var(--entry-paper-light);
  box-shadow: 0 2px 7px rgba(42, 37, 30, .16);
  content: "";
}
.entry-way--mock article.active::before {
  position: absolute;
  z-index: 3;
  top: -5px;
  right: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--entry-green);
  content: "";
}
.entry-way--mock article > span {
  position: static;
  grid-column: 1;
  grid-row: 1;
  margin-top: 3px;
  color: var(--entry-quiet);
  font: 700 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
}
.entry-way--mock article.active > span { color: var(--entry-green); }
.entry-way--mock .entry-way-icon {
  grid-column: 1;
  grid-row: 2;
  width: 36px;
  height: 36px;
  margin-top: 13px;
  color: var(--entry-ink);
}
.entry-way--mock .entry-way-icon--listen { color: var(--entry-green); }
.entry-way--mock .entry-way-icon--act path { stroke: var(--entry-green); }
.entry-way--mock article > div {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-width: 0;
}
.entry-way--mock article h2 { font-size: 29px; }
.entry-way--mock article.active h2 { color: var(--entry-green); }
.entry-way--mock article p { margin-top: 9px; font-size: 13px; line-height: 1.42; }

@media (min-width: 1321px) {
  body[data-entry-view="public"] .entry-context { align-self: center; }
}

@media (max-width: 800px) {
  body[data-entry-view="public"] .entry-shell { width: min(620px, calc(100% - 24px)); }
  body[data-entry-view="public"] .entry-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding-top: 6px;
  }
  body[data-entry-view="public"] .entry-context { width: 100%; }
  body[data-entry-view="public"] .entry-context h1 { font-size: clamp(45px, 12.3vw, 60px); }
  body[data-entry-view="public"] .entry-context-copy { margin-top: 14px; }
  body[data-entry-view="public"] .entry-context-actions { margin-top: 14px; }
  /* The restored legend closes the mobile scene beneath the timeline. The
     canvas height and every internal top offset below are kept just tall
     enough to hold the resolved layout (see the no-collisions test) while
     landing the decision card inside the first viewport at 390x844. */
  body[data-entry-view="public"] .entry-canvas {
    width: 100%;
    height: 700px;
    min-height: 700px;
    justify-self: stretch;
  }
  body[data-entry-view="public"] .entry-signal-list { top: 16px; }
  body[data-entry-view="public"] .entry-decision { top: 412px; }
  body[data-entry-view="public"] .entry-timeline { gap: 8px; }
}

@media (min-width: 801px) and (max-width: 1320px) {
  body[data-entry-view="public"] .entry-shell { width: min(826px, calc(100% - 48px)); }
  body[data-entry-view="public"] .entry-header { grid-template-columns: 1fr auto; }
  body[data-entry-view="public"] .entry-nav { display: none; }
  body[data-entry-view="public"] .entry-layout {
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 18px;
  }
  body[data-entry-view="public"] .entry-context { width: min(100%, 650px); }
  body[data-entry-view="public"] .entry-context h1 { font-size: clamp(72px, 8vw, 84px); }
  body[data-entry-view="public"] .entry-canvas {
    width: 100%;
    max-width: none;
    margin-top: clamp(38px, 5vw, 54px);
  }
  body[data-entry-view="public"] .entry-way { margin-top: clamp(42px, 5vw, 58px); }
}

@media (min-width: 801px) and (max-width: 1320px) {
  body[data-entry-view="public"] .entry-way--mock {
    grid-template-columns: 112px repeat(4, minmax(0, 1fr));
  }
  body[data-entry-view="public"] .entry-way--mock > p { padding-inline: 14px; }
  body[data-entry-view="public"] .entry-way--mock article {
    grid-template-columns: 29px minmax(0, 1fr);
    column-gap: 9px;
    padding: 29px 12px 19px;
  }
  body[data-entry-view="public"] .entry-way--mock article.active {
    margin-block: 18px;
    padding: 17px 11px 12px;
  }
  body[data-entry-view="public"] .entry-way--mock article.active::after {
    right: -10px;
    width: 21px;
    height: 21px;
  }
  body[data-entry-view="public"] .entry-way--mock article.active::before { right: -3px; }
  body[data-entry-view="public"] .entry-way--mock .entry-way-icon {
    width: 29px;
    height: 29px;
    margin-top: 12px;
  }
  body[data-entry-view="public"] .entry-way--mock article h2 { font-size: clamp(18px, 2.2vw, 22px); }
  body[data-entry-view="public"] .entry-way--mock article p {
    margin-top: 8px;
    font-size: 11px;
    line-height: 1.42;
  }
}

@media (max-width: 800px) {
  body[data-entry-view="public"] .entry-way--mock {
    display: block;
    height: auto;
    min-height: 0;
    overflow: hidden;
  }
  body[data-entry-view="public"] .entry-way--mock > p { padding: 22px; }
  body[data-entry-view="public"] .entry-way--mock article {
    grid-template-columns: 38px minmax(0, 1fr);
    min-height: 126px;
    border-top: 1px solid var(--entry-line);
    border-left: 0;
    padding: 25px 22px 20px;
  }
  body[data-entry-view="public"] .entry-way--mock article.active {
    min-height: 132px;
    margin: 12px;
    border: 1.5px solid var(--entry-green);
    padding: 24px 20px 18px;
  }
  body[data-entry-view="public"] .entry-way--mock article.active::after {
    top: -10px;
    right: -10px;
    width: 22px;
    height: 22px;
  }
  body[data-entry-view="public"] .entry-way--mock article.active::before {
    top: -4px;
    right: -4px;
  }
  body[data-entry-view="public"] .entry-way--mock .entry-way-icon {
    width: 34px;
    height: 34px;
    margin-top: 12px;
  }
  body[data-entry-view="public"] .entry-way--mock article h2 { font-size: 27px; }
  body[data-entry-view="public"] .entry-way--mock article p { font-size: 13px; }
}

@media (min-width: 1800px) {
  body[data-entry-view="public"] .entry-layout { grid-template-columns: 500px minmax(0, 1fr); }
  body[data-entry-view="public"] .entry-canvas { height: 650px; min-height: 650px; }
  body[data-entry-view="public"] .entry-way { margin-top: 72px; }
}

@media (prefers-reduced-motion: reduce) {
  body[data-alma-entry] *,
  body[data-alma-entry] *::before,
  body[data-alma-entry] *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

@media (forced-colors: active) {
  .entry-canvas,
  body[data-alma-entry="access"] .stage,
  body[data-alma-entry="account"] .card,
  .entry-signal,
  .entry-decision,
  body[data-alma-entry] input,
  body[data-alma-entry] textarea,
  body[data-alma-entry] button { border: 1px solid CanvasText; }
  .entry-canvas,
  body[data-alma-entry="access"] .stage,
  body[data-alma-entry="account"] .card { background: Canvas; color: CanvasText; }
  .entry-decision,
  body[data-alma-entry] input,
  body[data-alma-entry] textarea { background: Canvas; color: CanvasText; }
}

/* Audience conversion pages
   -------------------------------------------------------------------------
   These pages share Alma's frame but not the public landing's story scene.
   Every rule is scoped so the landing keeps its exact composition. */
body[data-alma-entry="audience"] .audience-shell {
  width: min(1500px, calc(100% - 64px));
}
body[data-alma-entry="audience"] .audience-layout {
  display: grid;
  grid-template-columns: minmax(320px, .62fr) minmax(760px, 1.38fr);
  align-items: center;
  gap: clamp(42px, 4vw, 70px);
  padding: 22px 0 54px;
}
.audience-context {
  max-width: 480px;
}
.audience-context h1 {
  max-width: 10.5ch;
  margin: 0;
  font: 500 clamp(56px, 4.7vw, 76px)/.94 "Newsreader", Georgia, serif;
  letter-spacing: -.046em;
}
.audience-context h1 em {
  color: var(--entry-green);
  font-weight: 500;
}
.audience-context > p:last-child {
  max-width: 39ch;
  margin: 26px 0 0;
  color: var(--entry-muted);
  font-size: 16px;
  line-height: 1.62;
}
.audience-conversion {
  display: grid;
  grid-template-columns: minmax(310px, .84fr) minmax(390px, 1.16fr);
  gap: 20px;
  min-width: 0;
  min-height: 700px;
  border: 1px solid rgba(246, 240, 228, .12);
  border-radius: 30px;
  padding: 22px;
  background:
    radial-gradient(circle at 92% 5%, rgba(159, 201, 174, .16), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(47, 107, 79, .25), transparent 29%),
    linear-gradient(145deg, #29251f, #171411 79%);
  color: var(--entry-paper-light);
  box-shadow: var(--entry-shadow);
}
.audience-collector,
.audience-preview {
  min-width: 0;
  border: 1px solid var(--entry-stage-line);
  border-radius: 20px;
}
.audience-collector {
  display: grid;
  align-content: center;
  padding: clamp(22px, 2.25vw, 34px);
  background: rgba(255, 255, 255, .035);
}
.audience-collector [data-collector-fields] {
  display: grid;
  gap: 14px;
}
.audience-panel-label {
  margin: 0;
  color: var(--entry-green-light);
  font: 700 9px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .14em;
}
.audience-collector fieldset {
  min-width: 0;
  margin: 0;
  border: 0;
  padding: 0;
}
.audience-collector legend {
  width: 100%;
  margin: 12px 0 16px;
  padding: 0;
  color: var(--entry-paper-light);
  font: 500 clamp(28px, 2.25vw, 38px)/1 "Newsreader", Georgia, serif;
  letter-spacing: -.025em;
}
.audience-choice-list {
  display: grid;
  gap: 8px;
}
.audience-choice {
  position: relative;
  display: block;
  cursor: pointer;
}
.audience-choice input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.audience-choice > span {
  display: grid;
  gap: 3px;
  min-height: 59px;
  align-content: center;
  border: 1px solid var(--entry-stage-line);
  border-radius: 12px;
  padding: 10px 13px 10px 39px;
  background: rgba(255, 255, 255, .025);
  transition: border-color .18s ease, background .18s ease;
}
.audience-choice > span::before {
  position: absolute;
  top: 50%;
  left: 14px;
  width: 12px;
  height: 12px;
  transform: translateY(-50%);
  border: 1px solid #81796d;
  border-radius: 50%;
  content: "";
}
.audience-choice:has(input:checked) > span {
  border-color: var(--entry-green-light);
  background: rgba(159, 201, 174, .13);
}
.audience-choice:has(input:checked) > span::before {
  border: 4px solid var(--entry-green-light);
  background: #173221;
}
.audience-choice:focus-within > span {
  outline: 3px solid rgba(159, 201, 174, .42);
  outline-offset: 2px;
}
.audience-choice strong {
  color: #f7f1e6;
  font-size: 12px;
  line-height: 1.25;
}
.audience-choice small {
  color: #aea597;
  font-size: 10px;
  line-height: 1.35;
}
.audience-collector > div > label,
.audience-field-row label {
  display: grid;
  gap: 6px;
  color: #d8d0c2;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .035em;
}
.audience-collector label > span {
  color: #91887b;
  font-weight: 500;
}
.audience-collector input:not([type="radio"]) {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(246, 240, 228, .2);
  border-radius: 10px;
  padding: 12px 13px;
  background: rgba(255, 255, 255, .06);
  color: var(--entry-paper-light);
}
.audience-collector input::placeholder {
  color: #8f877b;
  opacity: 1;
}
.audience-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.audience-submit {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--entry-green-light);
  border-radius: 999px;
  padding: 12px 20px;
  background: var(--entry-green-light);
  color: #173221;
  font-weight: 800;
  cursor: pointer;
}
.audience-submit:disabled {
  cursor: wait;
  opacity: .62;
}
.audience-form-status {
  min-height: 1.4em;
  margin: 0;
  color: var(--entry-green-light);
  font-size: 11px;
  line-height: 1.4;
}
.audience-form-status.is-error {
  color: #f0aaa1;
}
.audience-form-success {
  align-self: center;
}
.audience-form-success h2 {
  margin: 16px 0 9px;
  color: var(--entry-paper-light);
  font: 500 clamp(38px, 3vw, 50px)/.98 "Newsreader", Georgia, serif;
}
.audience-form-success > p:last-child {
  max-width: 32ch;
  margin: 0;
  color: #c9c0af;
  font-size: 13px;
  line-height: 1.55;
}
.audience-collector .turnstile-slot,
body[data-alma-entry="access"] .turnstile-slot {
  display: flex;
  min-height: 65px;
  align-items: center;
  justify-content: center;
}

.audience-preview {
  display: grid;
  align-content: start;
  padding: clamp(22px, 2.35vw, 36px);
  background: var(--entry-paper-light);
  color: var(--entry-ink);
}
.preview-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 23px;
  border-bottom: 1px solid var(--entry-line);
}
.preview-header .audience-panel-label,
.audience-preview .audience-panel-label {
  color: var(--entry-green);
}
.preview-header h2 {
  margin: 8px 0 3px;
  font: 500 clamp(32px, 2.65vw, 43px)/.98 "Newsreader", Georgia, serif;
  letter-spacing: -.035em;
}
.preview-header > div > p:last-child {
  margin: 0;
  color: var(--entry-muted);
  font-size: 12px;
}
.preview-state {
  flex: 0 0 auto;
  border: 1px solid rgba(47, 107, 79, .28);
  border-radius: 999px;
  padding: 7px 9px;
  color: var(--entry-green);
  font: 700 8px/1 ui-monospace, monospace;
  letter-spacing: .08em;
}
.preview-next {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  border-radius: 13px;
  padding: 15px 17px;
  background: var(--entry-stage);
  color: var(--entry-paper-light);
}
.preview-next div {
  display: grid;
  gap: 4px;
}
.preview-next small {
  color: var(--entry-green-light);
  font: 700 8px/1 ui-monospace, monospace;
  letter-spacing: .12em;
}
.preview-next strong {
  font-size: 11px;
  line-height: 1.35;
}
.preview-next > span {
  color: var(--entry-green-light);
  font-size: 22px;
}

/* The professional preview reads as one role brief with one clear unknown. */
.professional-why {
  margin: 24px 0 12px;
  border: 1px solid rgba(47, 107, 79, .22);
  border-radius: 10px;
  padding: 11px 13px;
  background: rgba(47, 107, 79, .045);
}
.professional-why > p:last-child {
  margin: 8px 0 0;
  font: 500 19px/1.25 "Newsreader", Georgia, serif;
}
.professional-brief-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 19px;
}
.professional-brief-grid section {
  min-height: 105px;
  border: 1px solid var(--entry-line);
  border-radius: 13px;
  padding: 14px;
}
.professional-brief-grid strong {
  display: block;
  margin-top: 11px;
  font-size: 11px;
  line-height: 1.42;
}
.preview-question {
  background: rgba(199, 132, 61, .08);
}
.preview-question .audience-panel-label,
.preview-question small {
  color: #9c5a20;
}

/* The agency preview is an operating mandate, not a consent narrative. */
.agency-outcome,
.enterprise-outcome {
  margin: 21px 0 13px;
  border-radius: 14px;
  padding: 17px;
  background: rgba(47, 107, 79, .08);
}
.agency-outcome strong,
.enterprise-outcome strong {
  display: block;
  margin-top: 9px;
  font: 500 20px/1.2 "Newsreader", Georgia, serif;
}
.agency-facts {
  display: grid;
  gap: 8px;
  margin-bottom: 17px;
}
.agency-facts section {
  display: grid;
  grid-template-columns: 90px 1fr;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  border: 1px solid var(--entry-line);
  border-radius: 11px;
  padding: 10px 12px;
}
.agency-facts small {
  color: var(--entry-green);
  font: 700 8px/1.25 ui-monospace, monospace;
  letter-spacing: .08em;
}
.agency-facts strong {
  font-size: 11px;
  line-height: 1.36;
}
.agency-trust-state {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 15px 2px 0;
  color: var(--entry-quiet);
  font: 700 8px/1 ui-monospace, monospace;
  letter-spacing: .08em;
}
.agency-trust-state span {
  width: 7px;
  height: 7px;
  border: 1px solid var(--entry-quiet);
  border-radius: 50%;
}

/* The enterprise preview is a bounded review record. */
.enterprise-review-list {
  display: grid;
  gap: 0;
  margin: 0 0 17px;
}
.enterprise-review-list div {
  display: grid;
  grid-template-columns: minmax(105px, .7fr) minmax(125px, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  border-bottom: 1px solid var(--entry-line);
}
.enterprise-review-list dt {
  font-size: 10px;
  font-weight: 700;
}
.enterprise-review-list dd {
  margin: 0;
  color: var(--entry-muted);
  font-size: 10px;
  line-height: 1.35;
}
.review-status {
  border-radius: 999px;
  padding: 5px 7px;
  background: rgba(42, 37, 30, .08);
  color: var(--entry-muted);
  font: 700 7px/1 ui-monospace, monospace;
  letter-spacing: .08em;
}
.review-status--known {
  background: rgba(47, 107, 79, .12);
  color: var(--entry-green);
}
.review-status--open {
  background: rgba(199, 132, 61, .15);
  color: #9c5a20;
}

@media (max-width: 1320px) {
  body[data-alma-entry="audience"] .audience-shell {
    width: min(100% - 48px, 1040px);
  }
  body[data-alma-entry="audience"] .audience-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .audience-context {
    max-width: 760px;
    padding-top: 22px;
  }
  .audience-context h1 {
    max-width: 13ch;
    font-size: clamp(55px, 7.2vw, 76px);
  }
  .audience-context > p:last-child {
    max-width: 50ch;
  }
}

@media (max-width: 800px) {
  body[data-alma-entry="audience"] .audience-shell {
    width: min(100% - 24px, 620px);
  }
  body[data-alma-entry="audience"] .entry-header {
    grid-template-columns: 1fr auto;
    min-height: 72px;
  }
  body[data-alma-entry="audience"] .entry-nav {
    display: none;
  }
  body[data-alma-entry="audience"] .audience-layout {
    gap: 24px;
    padding: 16px 0 36px;
  }
  .audience-context {
    padding-top: 10px;
  }
  .audience-context h1 {
    max-width: 13ch;
    font-size: clamp(45px, 12vw, 62px);
  }
  .audience-context > p:last-child {
    margin-top: 19px;
    font-size: 15px;
  }
  .audience-conversion {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .audience-collector,
  .audience-preview {
    min-height: 0;
  }
  .audience-preview {
    min-height: 560px;
  }
}

@media (max-width: 480px) {
  body[data-alma-entry="audience"] .audience-shell {
    width: min(100% - 20px, 420px);
  }
  body[data-alma-entry="audience"] .entry-actions > a:first-child {
    display: none;
  }
  body[data-alma-entry="audience"] .entry-actions .entry-button {
    min-height: 39px;
    padding: 9px 12px;
    font-size: 9px;
  }
  .audience-context h1 {
    font-size: 43px;
  }
  .audience-conversion {
    gap: 12px;
    border-radius: 22px;
    padding: 11px;
  }
  .audience-collector,
  .audience-preview {
    border-radius: 15px;
    padding: 20px 15px;
  }
  .audience-collector legend {
    font-size: 28px;
  }
  .audience-field-row,
  .professional-brief-grid {
    grid-template-columns: 1fr;
  }
  .audience-choice > span {
    min-height: 56px;
  }
  .audience-preview {
    min-height: 0;
  }
  .preview-header {
    display: grid;
  }
  .preview-state {
    justify-self: start;
  }
  .agency-facts section {
    grid-template-columns: 76px 1fr;
  }
  .enterprise-review-list div {
    grid-template-columns: 1fr auto;
    padding: 11px 0;
  }
  .enterprise-review-list dd {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (forced-colors: active) {
  .audience-conversion,
  .audience-collector,
  .audience-preview,
  .audience-choice > span {
    border: 1px solid CanvasText;
  }
  .audience-conversion,
  .audience-collector,
  .audience-preview {
    background: Canvas;
    color: CanvasText;
  }
}

/* Qualified audience pages: one orderly request form beside a recognisable
   product workspace. These overrides stay out of the public landing. */
body[data-alma-entry="audience"] .audience-layout {
  grid-template-columns: minmax(310px, 380px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(42px, 4vw, 64px);
  padding-top: 42px;
}
body[data-alma-entry="audience"] .audience-context {
  display: grid;
  align-self: start;
  gap: 0;
  max-width: 380px;
  padding-top: 50px;
}
body[data-alma-entry="audience"] .audience-context .entry-eyebrow {
  margin-bottom: 22px;
}
body[data-alma-entry="audience"] .audience-context h1 {
  max-width: 9.8ch;
  font-size: clamp(54px, 4.2vw, 70px);
  line-height: .96;
}
body[data-alma-entry="audience"] .audience-context > p:last-child {
  max-width: 36ch;
  margin-top: 30px;
  font-size: 16px;
  line-height: 1.58;
}
body[data-alma-entry="audience"] .audience-conversion {
  grid-template-columns: minmax(340px, .74fr) minmax(500px, 1.26fr);
  gap: 16px;
  min-height: 830px;
  padding: 16px;
}
body[data-alma-entry="audience"] .audience-collector {
  align-content: start;
  padding: 27px 24px;
}
body[data-alma-entry="audience"] .audience-collector [data-collector-fields] {
  gap: 12px;
}
body[data-alma-entry="audience"] .audience-collector legend {
  margin: 10px 0 13px;
  font-size: clamp(28px, 2vw, 34px);
}
body[data-alma-entry="audience"] .audience-choice-list {
  gap: 7px;
}
body[data-alma-entry="audience"] .audience-choice > span {
  min-height: 53px;
}
body[data-alma-entry="audience"] .audience-collector input:not([type="radio"]),
body[data-alma-entry="audience"] .audience-collector textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(246, 240, 228, .2);
  border-radius: 10px;
  padding: 11px 12px;
  background: rgba(255, 255, 255, .06);
  color: var(--entry-paper-light);
  resize: vertical;
}
body[data-alma-entry="audience"] .audience-collector textarea {
  min-height: 76px;
  max-height: 160px;
  line-height: 1.45;
}
body[data-alma-entry="audience"] .audience-collector textarea::placeholder {
  color: #8f877b;
  opacity: 1;
}

.product-workspace {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-width: 0;
  min-height: 796px;
  overflow: hidden;
  border: 1px solid rgba(42, 37, 30, .16);
  border-radius: 20px;
  background: #f8f3e9;
  color: var(--entry-ink);
  box-shadow: 0 24px 54px -40px rgba(0, 0, 0, .75);
}
.workspace-topbar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  border-bottom: 1px solid var(--entry-line);
  padding: 9px 13px;
}
.workspace-product,
.workspace-private {
  color: var(--entry-green);
  font: 700 8px/1 ui-monospace, monospace;
  letter-spacing: .08em;
}
.workspace-product span {
  display: inline-grid;
  width: 21px;
  height: 21px;
  margin-right: 6px;
  place-items: center;
  border-radius: 7px;
  background: var(--entry-stage);
  color: var(--entry-green-light);
  font-size: 14px;
}
.workspace-private {
  justify-self: end;
  color: var(--entry-quiet);
}
.workspace-topbar nav {
  display: flex;
  align-items: center;
  gap: 3px;
  border: 1px solid var(--entry-line);
  border-radius: 999px;
  padding: 3px;
  color: var(--entry-muted);
  font-size: 7px;
  line-height: 1;
}
.workspace-topbar nav > * {
  border-radius: 999px;
  padding: 7px 10px;
  white-space: nowrap;
}
.workspace-topbar nav strong {
  background: var(--entry-stage);
  color: var(--entry-paper-light);
}
.workspace-kicker {
  margin: 0;
  color: var(--entry-green);
  font: 700 7px/1.25 ui-monospace, monospace;
  letter-spacing: .12em;
}
.workspace-subtitle {
  margin: 6px 0 0;
  color: var(--entry-muted);
  font: 500 11px/1.35 "Newsreader", Georgia, serif;
}
.workspace-composer {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  margin: 10px;
  border: 1px solid var(--entry-line);
  border-radius: 999px;
  padding: 9px 11px 9px 17px;
  background: rgba(255, 252, 246, .94);
  color: var(--entry-quiet);
  font-size: 9px;
  box-shadow: 0 12px 30px -24px rgba(42, 37, 30, .8);
}
.workspace-composer strong {
  display: grid;
  min-width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--entry-stage);
  color: var(--entry-paper-light);
  font-size: 9px;
}

/* Professional Today workspace */
.professional-dashboard {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr) 122px;
  min-width: 0;
}
.signal-stream,
.why-now {
  min-width: 0;
  padding: 20px 12px;
}
.signal-stream {
  border-right: 1px solid var(--entry-line);
}
.signal-stream ol,
.mandate-rail ol,
.role-rail ol {
  display: grid;
  gap: 8px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.signal-stream li {
  position: relative;
  display: grid;
  gap: 2px;
  min-height: 76px;
  border-left: 1px solid var(--entry-line);
  padding: 2px 3px 9px 13px;
}
.signal-stream li::before {
  position: absolute;
  top: 3px;
  left: -4px;
  width: 7px;
  height: 7px;
  border: 1px solid var(--entry-quiet);
  border-radius: 50%;
  background: #f8f3e9;
  content: "";
}
.signal-stream li.is-current::before {
  border-color: var(--entry-green);
  background: var(--entry-green);
  box-shadow: 0 0 0 4px rgba(47, 107, 79, .12);
}
.signal-stream time {
  color: var(--entry-quiet);
  font-size: 7px;
}
.signal-stream strong {
  margin-top: 5px;
  font-size: 8px;
  line-height: 1.2;
}
.signal-stream span {
  color: var(--entry-muted);
  font-size: 7px;
  line-height: 1.35;
}
.professional-decision {
  min-width: 0;
  padding: 28px 18px 20px;
}
.professional-decision > h2 {
  margin: 10px 0 20px;
  font: 500 clamp(28px, 2.15vw, 38px)/.94 "Newsreader", Georgia, serif;
  letter-spacing: -.035em;
}
.next-decision {
  border: 1px solid var(--entry-line);
  border-radius: 13px;
  padding: 16px;
  background: rgba(255, 252, 246, .65);
  box-shadow: 0 20px 36px -34px rgba(42, 37, 30, .7);
}
.next-decision h3 {
  margin: 8px 0 5px;
  font: 500 18px/1.1 "Newsreader", Georgia, serif;
}
.next-decision h3 span {
  color: var(--entry-muted);
}
.next-decision > p:not(.workspace-kicker) {
  margin: 0;
  color: var(--entry-muted);
  font-size: 8px;
}
.decision-actions {
  display: flex;
  gap: 7px;
  margin-top: 13px;
}
.decision-actions > * {
  border: 1px solid var(--entry-line);
  border-radius: 999px;
  padding: 8px 11px;
  font-size: 7px;
}
.decision-actions strong {
  border-color: var(--entry-stage);
  background: var(--entry-stage);
  color: var(--entry-paper-light);
}
.alma-working {
  display: grid;
  gap: 7px;
  margin-top: 20px;
}
.alma-working > div {
  display: grid;
  grid-template-columns: 27px 1fr;
  gap: 1px 8px;
  align-items: center;
  min-height: 54px;
  border-bottom: 1px solid var(--entry-line);
  padding: 8px 4px;
}
.alma-working > div > strong {
  font-size: 8px;
}
.alma-working > div > small {
  grid-column: 2;
  color: var(--entry-muted);
  font-size: 7px;
}
.work-pulse {
  grid-row: 1 / 3;
  width: 27px;
  height: 27px;
  border: 5px solid rgba(47, 107, 79, .14);
  border-radius: 50%;
  background: var(--entry-green-light);
  box-shadow: inset 0 0 0 1px var(--entry-green);
}
.work-pulse--warm {
  background: #ddbb8f;
  box-shadow: inset 0 0 0 1px var(--entry-warm);
}
.why-now {
  border-left: 1px solid var(--entry-line);
}
.why-now > h3 {
  margin: 0 0 18px;
  font: 500 17px/1 "Newsreader", Georgia, serif;
}
.why-now section {
  border-bottom: 1px solid var(--entry-line);
  padding: 0 0 18px;
  margin-bottom: 18px;
}
.why-now section > strong {
  display: block;
  margin-top: 9px;
  font: 500 10px/1.35 "Newsreader", Georgia, serif;
}

/* Agency mandate workspace */
.agency-dashboard {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) 132px;
  min-width: 0;
}
.mandate-rail,
.role-rail {
  min-width: 0;
  border-right: 1px solid var(--entry-line);
  padding: 21px 10px;
}
.mandate-rail > h3,
.decision-context > h3,
.review-owners > h3 {
  margin: 0;
  font: 500 16px/1 "Newsreader", Georgia, serif;
}
.mandate-rail li,
.role-rail li {
  display: grid;
  gap: 5px;
  min-height: 83px;
  border: 1px solid var(--entry-line);
  border-radius: 9px;
  padding: 11px 9px;
}
.mandate-rail li.is-current,
.role-rail li.is-current {
  border-color: rgba(47, 107, 79, .38);
  background: rgba(47, 107, 79, .055);
  box-shadow: inset 0 0 0 1px rgba(47, 107, 79, .06);
}
.mandate-rail li strong,
.role-rail li strong {
  font: 500 10px/1.15 "Newsreader", Georgia, serif;
}
.mandate-rail li span,
.role-rail li span {
  color: var(--entry-muted);
  font-size: 7px;
  line-height: 1.3;
}
.mandate-rail li small,
.role-rail li small {
  margin-top: auto;
  color: var(--entry-green);
  font: 700 6px/1 ui-monospace, monospace;
  letter-spacing: .08em;
}
.mandate-decision,
.enterprise-decision {
  min-width: 0;
  padding: 26px 16px 18px;
}
.mandate-decision > h2 {
  max-width: 13ch;
  margin: 9px 0 0;
  font: 500 clamp(24px, 1.9vw, 32px)/.98 "Newsreader", Georgia, serif;
  letter-spacing: -.03em;
}
.mandate-synthesis {
  display: grid;
  grid-template-columns: 1fr 38px 1.1fr;
  grid-template-rows: 1fr 1fr;
  gap: 8px;
  min-height: 290px;
  margin-top: 17px;
  border-radius: 14px;
  padding: 14px;
  background:
    radial-gradient(circle at 50% 50%, rgba(159, 201, 174, .18), transparent 22%),
    var(--entry-stage);
  color: var(--entry-paper-light);
}
.mandate-input {
  display: grid;
  align-content: center;
  gap: 8px;
  min-width: 0;
  border-bottom: 1px solid var(--entry-stage-line);
  padding: 10px 2px;
}
.mandate-input:nth-of-type(3) {
  grid-column: 1;
  grid-row: 2;
  border-bottom: 0;
}
.mandate-input strong {
  color: #d8d0c2;
  font-size: 8px;
  line-height: 1.4;
}
.mandate-core {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 7px solid rgba(159, 201, 174, .18);
  border-radius: 50%;
  background: var(--entry-green-light);
  color: var(--entry-green);
  font: 500 16px/1 Georgia, serif;
}
.mandate-action {
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  display: grid;
  gap: 9px;
  border-radius: 11px;
  padding: 14px 12px;
  background: var(--entry-paper-light);
  color: var(--entry-ink);
}
.mandate-action h3 {
  margin: 0 0 2px;
  font: 500 16px/1.06 "Newsreader", Georgia, serif;
}
.mandate-action > strong,
.mandate-action > span {
  border-radius: 999px;
  padding: 8px;
  text-align: center;
  font-size: 7px;
}
.mandate-action > strong {
  background: var(--entry-green);
  color: var(--entry-paper-light);
}
.mandate-action > span {
  border: 1px solid var(--entry-line);
}
.open-questions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-top: 13px;
}
.open-questions p {
  grid-column: 1 / -1;
  margin: 0;
  font: 500 11px/1 "Newsreader", Georgia, serif;
}
.open-questions span {
  border: 1px solid var(--entry-line);
  border-radius: 8px;
  padding: 9px 6px;
  color: var(--entry-muted);
  font-size: 7px;
  text-align: center;
}
.decision-context {
  min-width: 0;
  border-left: 1px solid var(--entry-line);
  padding: 21px 12px;
}
.decision-context section {
  border-bottom: 1px solid var(--entry-line);
  padding: 18px 0;
}
.decision-context section > strong {
  font: 500 10px/1.2 "Newsreader", Georgia, serif;
}
.decision-context section > p {
  margin: 7px 0 10px;
  color: var(--entry-muted);
  font-size: 7px;
  line-height: 1.45;
}
.decision-context section > span,
.evidence-table small {
  border-radius: 4px;
  padding: 4px 5px;
  background: rgba(42, 37, 30, .08);
  color: var(--entry-muted);
  font: 700 6px/1 ui-monospace, monospace;
  letter-spacing: .08em;
}
.decision-context .is-clear,
.evidence-table .is-clear {
  background: rgba(47, 107, 79, .13);
  color: var(--entry-green);
}
.decision-context .is-open,
.evidence-table .is-open {
  background: rgba(199, 132, 61, .15);
  color: #9c5a20;
}

/* Enterprise decision workspace */
.enterprise-dashboard {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) 132px;
  min-width: 0;
}
.role-rail {
  padding-top: 23px;
}
.enterprise-decision > h2 {
  margin: 8px 0 0;
  font: 500 clamp(27px, 2vw, 35px)/1 "Newsreader", Georgia, serif;
}
.role-outcome {
  display: grid;
  gap: 8px;
  margin-top: 18px;
  border: 1px solid rgba(47, 107, 79, .24);
  border-radius: 9px;
  padding: 12px 13px;
  background: rgba(47, 107, 79, .045);
}
.role-outcome > strong {
  font: 500 17px/1.15 "Newsreader", Georgia, serif;
}
.role-outcome > span {
  color: var(--entry-quiet);
  font: 700 6px/1 ui-monospace, monospace;
  letter-spacing: .08em;
}
.evidence-table {
  display: grid;
  margin-top: 17px;
  border-top: 1px solid var(--entry-line);
}
.evidence-table > div {
  display: grid;
  grid-template-columns: .85fr 1.15fr auto;
  gap: 8px;
  align-items: center;
  min-height: 58px;
  border-bottom: 1px solid var(--entry-line);
}
.evidence-table strong {
  font-size: 8px;
  line-height: 1.25;
}
.evidence-table span {
  color: var(--entry-muted);
  font-size: 7px;
  line-height: 1.35;
}
.review-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 17px;
  border-radius: 10px;
  padding: 13px;
  background: var(--entry-stage);
  color: var(--entry-paper-light);
}
.review-action div {
  display: grid;
  gap: 6px;
}
.review-action div > strong {
  font: 500 13px/1.2 "Newsreader", Georgia, serif;
}
.review-action > span {
  color: var(--entry-green-light);
  font: 700 7px/1 ui-monospace, monospace;
}
.review-owners {
  min-width: 0;
  border-left: 1px solid var(--entry-line);
  padding: 21px 12px;
}
.review-owners section {
  display: grid;
  grid-template-columns: 27px 1fr;
  gap: 8px;
  align-items: center;
  margin-top: 17px;
}
.review-owners section > span {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border-radius: 50%;
  background: rgba(47, 107, 79, .12);
  color: var(--entry-green);
  font-size: 7px;
  font-weight: 700;
}
.review-owners section div {
  display: grid;
  gap: 2px;
}
.review-owners section strong {
  font-size: 8px;
}
.review-owners section small {
  color: var(--entry-muted);
  font-size: 7px;
}
.review-owners hr {
  margin: 20px 0;
  border: 0;
  border-top: 1px solid var(--entry-line);
}
.review-owners > strong {
  display: block;
  margin-top: 9px;
  font: 500 11px/1.35 "Newsreader", Georgia, serif;
}

@media (max-width: 1320px) {
  body[data-alma-entry="audience"] .audience-layout {
    grid-template-columns: 1fr;
    gap: 34px;
    padding-top: 24px;
  }
  body[data-alma-entry="audience"] .audience-context {
    max-width: 760px;
    padding-top: 18px;
  }
  body[data-alma-entry="audience"] .audience-context h1 {
    max-width: 12ch;
    font-size: clamp(55px, 7.2vw, 76px);
  }
  body[data-alma-entry="audience"] .audience-context > p:last-child {
    max-width: 48ch;
    margin-top: 25px;
  }
  body[data-alma-entry="audience"] .audience-conversion {
    grid-template-columns: minmax(335px, .72fr) minmax(0, 1.28fr);
  }
}

@media (max-width: 1000px) {
  body[data-alma-entry="audience"] .audience-layout {
    gap: 25px;
    padding-top: 15px;
  }
  body[data-alma-entry="audience"] .audience-context {
    padding-top: 12px;
  }
  body[data-alma-entry="audience"] .audience-context .entry-eyebrow {
    margin-bottom: 18px;
  }
  body[data-alma-entry="audience"] .audience-context h1 {
    max-width: 12ch;
    font-size: clamp(45px, 11vw, 62px);
  }
  body[data-alma-entry="audience"] .audience-context > p:last-child {
    margin-top: 21px;
  }
  body[data-alma-entry="audience"] .audience-conversion {
    grid-template-columns: 1fr;
    min-height: 0;
    margin-top: 20px;
  }
  body[data-alma-entry="audience"] .product-workspace {
    order: 1;
    min-height: 0;
    aspect-ratio: 1.55 / 1;
  }
  body[data-alma-entry="audience"] .audience-cta-intro {
    order: 2;
    margin-top: 24px;
  }
  body[data-alma-entry="audience"] .audience-collector {
    order: 3;
  }
}

@media (max-width: 600px) {
  .workspace-topbar {
    grid-template-columns: 1fr auto;
  }
  .workspace-private {
    display: none;
  }
  .workspace-topbar nav {
    justify-self: end;
  }
  .workspace-topbar nav span {
    display: none;
  }
  .professional-dashboard,
  .agency-dashboard,
  .enterprise-dashboard {
    grid-template-columns: 1fr;
  }
  .signal-stream,
  .mandate-rail,
  .role-rail {
    border-right: 0;
    border-bottom: 1px solid var(--entry-line);
    padding: 18px 14px 12px;
  }
  .signal-stream ol {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 12px;
  }
  .signal-stream li {
    min-height: 64px;
  }
  .professional-decision,
  .mandate-decision,
  .enterprise-decision {
    padding: 23px 15px 18px;
  }
  .why-now,
  .decision-context,
  .review-owners {
    border-top: 1px solid var(--entry-line);
    border-left: 0;
    padding: 19px 15px;
  }
  .why-now {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .why-now > h3 {
    grid-column: 1 / -1;
    margin-bottom: 2px;
  }
  .why-now section {
    margin: 0;
    border: 0;
    padding: 0;
  }
  .mandate-rail ol,
  .role-rail ol {
    grid-template-columns: repeat(3, 1fr);
  }
  .decision-context {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .decision-context > h3 {
    grid-column: 1 / -1;
  }
  .decision-context section {
    border: 0;
    padding: 0;
  }
  .review-owners {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .review-owners > h3,
  .review-owners > hr,
  .review-owners > p,
  .review-owners > strong {
    grid-column: 1 / -1;
  }
  .review-owners section {
    margin: 0;
  }
  .review-owners hr {
    width: 100%;
    margin: 3px 0;
  }
}

@media (max-width: 480px) {
  body[data-alma-entry="audience"] .audience-context h1 {
    font-size: 42px;
    line-height: .98;
  }
  body[data-alma-entry="audience"] .audience-context > p:last-child {
    font-size: 14px;
  }
  body[data-alma-entry="audience"] .audience-collector {
    padding: 21px 16px;
  }
  .product-workspace {
    min-height: 0;
    aspect-ratio: auto;
    border-radius: 15px;
  }
  .signal-stream ol,
  .mandate-rail ol,
  .role-rail ol {
    grid-template-columns: 1fr;
  }
  .signal-stream li:not(.is-current),
  .mandate-rail li:not(.is-current),
  .role-rail li:not(.is-current) {
    display: none;
  }
  .signal-stream li {
    min-height: 58px;
  }
  .why-now,
  .decision-context {
    grid-template-columns: 1fr;
  }
  .professional-decision > h2 {
    font-size: 32px;
  }
  .mandate-synthesis {
    grid-template-columns: 1fr 36px;
    grid-template-rows: auto auto auto;
  }
  .mandate-input {
    grid-column: 1;
  }
  .mandate-input:nth-of-type(3) {
    grid-row: 2;
  }
  .mandate-core {
    grid-column: 2;
    grid-row: 1 / 3;
  }
  .mandate-action {
    grid-column: 1 / -1;
    grid-row: 3;
  }
  .open-questions {
    grid-template-columns: 1fr;
  }
  .evidence-table > div {
    grid-template-columns: 1fr auto;
    padding: 10px 0;
  }
  .evidence-table span {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

/* Audience hero and conversion CTA
   -------------------------------------------------------------------------
   The product earns attention beside the audience promise. The qualification
   collector then turns that interest into one clear, full-width next step. */
@media (min-width: 1001px) {
  body[data-alma-entry="audience"] .audience-shell {
    width: min(1500px, calc(100% - 64px));
  }
  body[data-alma-entry="audience"] .audience-layout {
    grid-template-columns: clamp(328px, 28.8vw, 450px) minmax(0, 900px);
    grid-template-rows: auto auto auto;
    justify-content: space-between;
    column-gap: clamp(30px, 2.8vw, 46px);
    row-gap: 0;
    padding: 24px 0 56px;
  }
  body[data-alma-entry="audience"] .audience-context {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    max-width: 450px;
    padding-top: 0;
  }
  body[data-alma-entry="audience"] .audience-context .entry-eyebrow {
    margin-bottom: 52px;
  }
  body[data-alma-entry="audience"] .audience-context h1 {
    max-width: 12.3ch;
    font-size: clamp(50px, 4.15vw, 60px);
    line-height: .96;
  }
  body[data-alma-entry="audience"] .audience-context > p:last-child {
    max-width: 44ch;
    margin-top: 52px;
    font-size: 15px;
  }
  body[data-alma-entry="audience"] .audience-conversion {
    display: contents;
  }
  body[data-alma-entry="audience"] .audience-collector {
    grid-column: 1 / -1;
    grid-row: 3;
    align-self: start;
    justify-self: center;
    width: min(820px, 100%);
    min-height: 0;
    border-color: rgba(246, 240, 228, .14);
    border-radius: 26px;
    padding: clamp(24px, 2.4vw, 34px);
    background:
      radial-gradient(circle at 92% 5%, rgba(159, 201, 174, .16), transparent 30%),
      radial-gradient(circle at 0 100%, rgba(47, 107, 79, .25), transparent 29%),
      linear-gradient(145deg, #29251f, #171411 79%);
    box-shadow: var(--entry-shadow);
  }
  body[data-alma-entry="audience"] .audience-cta-intro {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: center;
    width: min(820px, 100%);
    margin: clamp(52px, 5vw, 72px) 0 20px;
  }
  body[data-alma-entry="audience"] .audience-collector [data-collector-fields] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(18px, 2.6vw, 34px);
    row-gap: 14px;
    width: 100%;
  }
  body[data-alma-entry="audience"] .audience-panel-label,
  body[data-alma-entry="audience"] .audience-collector fieldset,
  body[data-alma-entry="audience"] .audience-collector > div > label:has(textarea),
  body[data-alma-entry="audience"] .audience-collector .turnstile-slot,
  body[data-alma-entry="audience"] .audience-submit,
  body[data-alma-entry="audience"] .audience-form-status {
    grid-column: 1 / -1;
  }
  body[data-alma-entry="audience"] .audience-conversion--professional .audience-field-row,
  body[data-alma-entry="audience"] .audience-conversion--agency .audience-field-row:nth-of-type(2) {
    grid-column: 1 / -1;
  }
  body[data-alma-entry="audience"] .audience-choice-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  body[data-alma-entry="audience"] .audience-choice > span {
    min-height: 76px;
    padding: 12px 12px 12px 38px;
  }
  body[data-alma-entry="audience"] .audience-choice strong {
    font-size: 13px;
  }
  body[data-alma-entry="audience"] .audience-choice small {
    font-size: 10px;
  }
  body[data-alma-entry="audience"] .audience-collector > div > label,
  body[data-alma-entry="audience"] .audience-field-row label {
    font-size: 11px;
  }
  body[data-alma-entry="audience"] .audience-collector input:not([type="radio"]) {
    min-height: 44px;
  }
  body[data-alma-entry="audience"] .audience-collector textarea {
    min-height: 84px;
  }
  body[data-alma-entry="audience"] .product-workspace {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    justify-self: end;
    width: 100%;
    min-height: 0;
    aspect-ratio: 1.55 / 1;
    border-radius: 24px;
  }
  body[data-alma-entry="audience"] .workspace-topbar {
    min-height: 50px;
    padding: 8px 15px;
  }
  body[data-alma-entry="audience"] .workspace-product,
  body[data-alma-entry="audience"] .workspace-private {
    font-size: 8px;
  }
  body[data-alma-entry="audience"] .workspace-product span {
    width: 23px;
    height: 23px;
    margin-right: 6px;
    font-size: 15px;
  }
  body[data-alma-entry="audience"] .workspace-topbar nav {
    gap: 5px;
    padding: 4px;
    font-size: 8px;
  }
  body[data-alma-entry="audience"] .workspace-topbar nav > * {
    padding: 7px 11px;
  }
  body[data-alma-entry="audience"] .workspace-kicker {
    font-size: 7px;
  }
  body[data-alma-entry="audience"] .workspace-subtitle {
    margin-top: 6px;
    font-size: 11px;
  }
  body[data-alma-entry="audience"] .workspace-composer {
    min-height: 48px;
    margin: 9px 12px 12px;
    padding: 8px 9px 8px 16px;
    font-size: 9px;
  }
  body[data-alma-entry="audience"] .workspace-composer strong {
    min-width: 32px;
    height: 32px;
    font-size: 8px;
  }

  /* The proportions and type scale below follow the supplied full-screen
     product references instead of the former sidebar thumbnail scale. */
  body[data-alma-entry="audience"] .professional-dashboard {
    grid-template-columns:
      clamp(150px, 21%, 190px)
      minmax(0, 1fr)
      clamp(155px, 20%, 180px);
  }
  body[data-alma-entry="audience"] .signal-stream,
  body[data-alma-entry="audience"] .why-now {
    padding: clamp(18px, 1.8vw, 26px) clamp(12px, 1.4vw, 20px);
  }
  body[data-alma-entry="audience"] .signal-stream ol {
    gap: 8px;
    margin-top: 16px;
  }
  body[data-alma-entry="audience"] .signal-stream li {
    min-height: 66px;
    padding: 3px 5px 9px 16px;
  }
  body[data-alma-entry="audience"] .signal-stream li::before {
    left: -6px;
    width: 11px;
    height: 11px;
  }
  body[data-alma-entry="audience"] .signal-stream time {
    font-size: 7px;
  }
  body[data-alma-entry="audience"] .signal-stream strong {
    margin-top: 5px;
    font-size: 9px;
  }
  body[data-alma-entry="audience"] .signal-stream span {
    font-size: 7px;
  }
  body[data-alma-entry="audience"] .professional-decision {
    padding: clamp(22px, 2vw, 30px) clamp(17px, 1.8vw, 27px) 18px;
  }
  body[data-alma-entry="audience"] .professional-decision > h2 {
    margin: 9px 0 18px;
    font-size: clamp(30px, 2.6vw, 38px);
  }
  body[data-alma-entry="audience"] .next-decision {
    padding: clamp(14px, 1.4vw, 20px);
  }
  body[data-alma-entry="audience"] .next-decision h3 {
    margin: 8px 0 6px;
    font-size: clamp(17px, 1.5vw, 22px);
  }
  body[data-alma-entry="audience"] .next-decision > p:not(.workspace-kicker) {
    font-size: 8px;
  }
  body[data-alma-entry="audience"] .decision-actions {
    gap: 10px;
    margin-top: 12px;
  }
  body[data-alma-entry="audience"] .decision-actions > * {
    padding: 8px 12px;
    font-size: 8px;
  }
  body[data-alma-entry="audience"] .alma-working {
    gap: 6px;
    margin-top: 10px;
  }
  body[data-alma-entry="audience"] .alma-working > div {
    grid-template-columns: 38px 1fr;
    gap: 2px 12px;
    min-height: 40px;
    padding: 6px 4px;
  }
  body[data-alma-entry="audience"] .alma-working > div > strong {
    font-size: 9px;
  }
  body[data-alma-entry="audience"] .alma-working > div > small {
    font-size: 7px;
  }
  body[data-alma-entry="audience"] .work-pulse {
    width: 30px;
    height: 30px;
    border-width: 5px;
  }
  body[data-alma-entry="audience"] .why-now > h3 {
    margin-bottom: 18px;
    font-size: 18px;
  }
  body[data-alma-entry="audience"] .why-now section {
    margin-bottom: 17px;
    padding-bottom: 17px;
  }
  body[data-alma-entry="audience"] .why-now section > strong {
    margin-top: 8px;
    font-size: 10px;
  }

  body[data-alma-entry="audience"] .agency-dashboard,
  body[data-alma-entry="audience"] .enterprise-dashboard {
    grid-template-columns:
      clamp(155px, 21%, 190px)
      minmax(0, 1fr)
      clamp(150px, 19%, 175px);
  }
  body[data-alma-entry="audience"] .mandate-rail,
  body[data-alma-entry="audience"] .role-rail {
    padding: clamp(18px, 1.7vw, 24px) clamp(10px, 1.2vw, 16px);
  }
  body[data-alma-entry="audience"] .mandate-rail > h3,
  body[data-alma-entry="audience"] .decision-context > h3,
  body[data-alma-entry="audience"] .review-owners > h3 {
    font-size: 16px;
  }
  body[data-alma-entry="audience"] .mandate-rail ol,
  body[data-alma-entry="audience"] .role-rail ol {
    gap: 8px;
    margin-top: 16px;
  }
  body[data-alma-entry="audience"] .mandate-rail li,
  body[data-alma-entry="audience"] .role-rail li {
    min-height: 70px;
    border-radius: 9px;
    padding: 10px 9px;
  }
  body[data-alma-entry="audience"] .mandate-rail li strong,
  body[data-alma-entry="audience"] .role-rail li strong {
    font-size: 10px;
  }
  body[data-alma-entry="audience"] .mandate-rail li span,
  body[data-alma-entry="audience"] .role-rail li span {
    font-size: 7px;
  }
  body[data-alma-entry="audience"] .mandate-rail li small,
  body[data-alma-entry="audience"] .role-rail li small {
    font-size: 6px;
  }
  body[data-alma-entry="audience"] .mandate-decision,
  body[data-alma-entry="audience"] .enterprise-decision {
    padding: clamp(18px, 1.7vw, 24px) clamp(14px, 1.5vw, 21px) 14px;
  }
  body[data-alma-entry="audience"] .mandate-decision > h2 {
    margin-top: 8px;
    font-size: clamp(26px, 2.4vw, 34px);
  }
  body[data-alma-entry="audience"] .mandate-synthesis {
    grid-template-columns: 1fr 44px 1.1fr;
    min-height: 180px;
    margin-top: 14px;
    border-radius: 13px;
    padding: 13px;
  }
  body[data-alma-entry="audience"] .mandate-input {
    gap: 7px;
    padding: 8px 2px;
  }
  body[data-alma-entry="audience"] .mandate-input strong {
    font-size: 8px;
  }
  body[data-alma-entry="audience"] .mandate-core {
    width: 42px;
    height: 42px;
    border-width: 7px;
    font-size: 17px;
  }
  body[data-alma-entry="audience"] .mandate-action {
    gap: 8px;
    border-radius: 10px;
    padding: 12px 10px;
  }
  body[data-alma-entry="audience"] .mandate-action h3 {
    font-size: clamp(15px, 1.35vw, 19px);
  }
  body[data-alma-entry="audience"] .mandate-action > strong,
  body[data-alma-entry="audience"] .mandate-action > span {
    padding: 7px;
    font-size: 7px;
  }
  body[data-alma-entry="audience"] .open-questions {
    gap: 6px;
    margin-top: 11px;
  }
  body[data-alma-entry="audience"] .open-questions p {
    font-size: 10px;
  }
  body[data-alma-entry="audience"] .open-questions span {
    padding: 7px 5px;
    font-size: 7px;
  }
  body[data-alma-entry="audience"] .decision-context,
  body[data-alma-entry="audience"] .review-owners {
    padding: clamp(18px, 1.7vw, 24px) clamp(11px, 1.2vw, 16px);
  }
  body[data-alma-entry="audience"] .decision-context section {
    padding: 14px 0;
  }
  body[data-alma-entry="audience"] .decision-context section > strong {
    font-size: 10px;
  }
  body[data-alma-entry="audience"] .decision-context section > p {
    margin: 7px 0 9px;
    font-size: 7px;
  }
  body[data-alma-entry="audience"] .decision-context section > span,
  body[data-alma-entry="audience"] .evidence-table small {
    padding: 4px 5px;
    font-size: 6px;
  }

  body[data-alma-entry="audience"] .enterprise-decision > h2 {
    margin-top: 7px;
    font-size: clamp(28px, 2.5vw, 36px);
  }
  body[data-alma-entry="audience"] .role-outcome {
    gap: 7px;
    margin-top: 14px;
    padding: 11px 13px;
  }
  body[data-alma-entry="audience"] .role-outcome > strong {
    font-size: clamp(15px, 1.35vw, 19px);
  }
  body[data-alma-entry="audience"] .role-outcome > span {
    font-size: 6px;
  }
  body[data-alma-entry="audience"] .evidence-table {
    margin-top: 13px;
  }
  body[data-alma-entry="audience"] .evidence-table > div {
    min-height: 36px;
  }
  body[data-alma-entry="audience"] .evidence-table strong {
    font-size: 8px;
  }
  body[data-alma-entry="audience"] .evidence-table span {
    font-size: 7px;
  }
  body[data-alma-entry="audience"] .review-action {
    margin-top: 8px;
    padding: 8px 11px;
  }
  body[data-alma-entry="audience"] .review-action div > strong {
    font-size: 12px;
  }
  body[data-alma-entry="audience"] .review-action > span {
    font-size: 7px;
  }
  body[data-alma-entry="audience"] .review-owners section {
    grid-template-columns: 28px 1fr;
    gap: 8px;
    margin-top: 15px;
  }
  body[data-alma-entry="audience"] .review-owners section > span {
    width: 28px;
    height: 28px;
    font-size: 7px;
  }
  body[data-alma-entry="audience"] .review-owners section strong {
    font-size: 8px;
  }
  body[data-alma-entry="audience"] .review-owners section small {
    font-size: 7px;
  }
  body[data-alma-entry="audience"] .review-owners hr {
    margin: 17px 0;
  }
  body[data-alma-entry="audience"] .review-owners > strong {
    margin-top: 9px;
    font-size: 11px;
  }
}

/* Quiet audience request form
   -------------------------------------------------------------------------
   The product remains the visual hook. The request itself is a compact,
   warm-neutral panel with familiar controls and one restrained action. */
body[data-alma-entry="audience"] .audience-conversion {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--entry-ink);
  box-shadow: none;
}
body[data-alma-entry="audience"] .audience-cta-intro {
  display: grid;
  gap: 9px;
  width: min(820px, 100%);
  margin-inline: auto;
  text-align: center;
  justify-items: center;
}
body[data-alma-entry="audience"] .audience-cta-intro h2 {
  max-width: 18ch;
  margin: 0 auto;
  font: 500 clamp(34px, 3.2vw, 48px)/1 "Newsreader", Georgia, serif;
  letter-spacing: -.035em;
}
body[data-alma-entry="audience"] .audience-reveal-button {
  margin-top: 12px;
  min-height: 44px;
  border: 1px solid var(--entry-ink);
  border-radius: 999px;
  padding: 11px 24px;
  background: var(--entry-ink);
  color: #fffaf0;
  font: 700 14px/1 "Hanken Grotesk", system-ui, sans-serif;
  cursor: pointer;
}
body[data-alma-entry="audience"] .audience-reveal-button:hover {
  transform: translateY(-1px);
}
body[data-alma-entry="audience"] .audience-reveal-button:focus-visible {
  outline: 3px solid rgba(47, 107, 79, .34);
  outline-offset: 3px;
}
body[data-alma-entry="audience"] .audience-collector {
  width: min(820px, 100%);
  border: 1px solid rgba(42, 37, 30, .16);
  border-radius: 14px;
  padding: clamp(22px, 2.4vw, 30px);
  background: #f4eee3;
  color: var(--entry-ink);
  box-shadow: none;
}
body[data-alma-entry="audience"] .audience-collector[hidden],
body[data-alma-entry="audience"] .audience-reveal-button[hidden] {
  display: none !important;
}
body[data-alma-entry="audience"] .audience-collector [data-collector-fields] {
  gap: 11px;
}
body[data-alma-entry="audience"] .audience-panel-label {
  color: #554d42;
}
body[data-alma-entry="audience"] .audience-collector legend.audience-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  padding: 0;
  white-space: nowrap;
}
body[data-alma-entry="audience"] .audience-collector legend {
  color: var(--entry-ink);
  font-size: clamp(27px, 2vw, 34px);
}
body[data-alma-entry="audience"] .audience-choice-list {
  gap: 8px;
}
body[data-alma-entry="audience"] .audience-choice > span {
  min-height: 62px;
  border-color: rgba(42, 37, 30, .2);
  border-radius: 8px;
  background: rgba(255, 252, 245, .7);
}
body[data-alma-entry="audience"] .audience-choice > span::before {
  border-color: #746c60;
}
body[data-alma-entry="audience"] .audience-choice:has(input:checked) > span {
  border-color: rgba(47, 107, 79, .62);
  background: rgba(47, 107, 79, .075);
  box-shadow: inset 0 0 0 1px rgba(47, 107, 79, .08);
}
body[data-alma-entry="audience"] .audience-choice:has(input:checked) > span::before {
  border-color: var(--entry-green);
  background: var(--entry-green);
}
body[data-alma-entry="audience"] .audience-choice:focus-within > span {
  outline-color: rgba(47, 107, 79, .48);
}
body[data-alma-entry="audience"] .audience-choice strong {
  color: var(--entry-ink);
}
body[data-alma-entry="audience"] .audience-choice small {
  color: #675f54;
}
body[data-alma-entry="audience"] .audience-collector > div > label,
body[data-alma-entry="audience"] .audience-field-row label {
  color: #302b25;
}
body[data-alma-entry="audience"] .audience-collector label > span {
  color: #625a50;
}
body[data-alma-entry="audience"] .audience-collector input:not([type="radio"]),
body[data-alma-entry="audience"] .audience-collector textarea {
  border-color: rgba(42, 37, 30, .2);
  border-radius: 7px;
  background: #fffdf8;
  color: var(--entry-ink);
}
body[data-alma-entry="audience"] .audience-collector input::placeholder,
body[data-alma-entry="audience"] .audience-collector textarea::placeholder {
  color: #7a7165;
}
body[data-alma-entry="audience"] .audience-collector input:not([type="radio"]):focus-visible,
body[data-alma-entry="audience"] .audience-collector textarea:focus-visible {
  border-color: var(--entry-green);
  outline: 2px solid rgba(47, 107, 79, .24);
  outline-offset: 1px;
}
body[data-alma-entry="audience"] .audience-submit {
  justify-self: start;
  width: auto;
  min-width: 138px;
  min-height: 42px;
  border-color: var(--entry-ink);
  border-radius: 7px;
  padding: 10px 22px;
  background: var(--entry-ink);
  color: #fffaf0;
}
body[data-alma-entry="audience"] .audience-submit:focus-visible {
  outline: 3px solid rgba(47, 107, 79, .38);
  outline-offset: 3px;
}
body[data-alma-entry="audience"] .audience-form-status {
  color: var(--entry-green);
}
body[data-alma-entry="audience"] .audience-form-status.is-error {
  color: #a13b34;
}
body[data-alma-entry="audience"] .audience-form-success h2 {
  color: var(--entry-ink);
}
body[data-alma-entry="audience"] .audience-form-success > p:last-child {
  color: #625a50;
}

@media (min-width: 1001px) {
  body[data-alma-entry="audience"] .audience-collector {
    width: min(820px, 100%);
    border-color: rgba(42, 37, 30, .16);
    border-radius: 14px;
    padding: clamp(22px, 2.2vw, 30px);
    background: #f4eee3;
    box-shadow: none;
  }
  body[data-alma-entry="audience"] .audience-collector [data-collector-fields] {
    column-gap: clamp(16px, 2vw, 26px);
    row-gap: 11px;
  }
  body[data-alma-entry="audience"] .audience-choice > span {
    min-height: 62px;
  }
  body[data-alma-entry="audience"] .audience-collector textarea {
    min-height: 76px;
  }
}

@media (max-width: 480px) {
  body[data-alma-entry="audience"] .audience-collector {
    border-radius: 12px;
    padding: 20px 16px;
  }
  body[data-alma-entry="audience"] .audience-submit {
    min-width: 128px;
  }
}

@media (forced-colors: active) {
  body[data-alma-entry="audience"] .audience-collector,
  body[data-alma-entry="audience"] .audience-choice > span,
  body[data-alma-entry="audience"] .audience-collector input:not([type="radio"]),
  body[data-alma-entry="audience"] .audience-collector textarea,
  body[data-alma-entry="audience"] .audience-submit {
    border: 1px solid CanvasText;
    background: Canvas;
    color: CanvasText;
  }
}

/* ================================================================
   Landing refinement layer — public entry pages that load this file (LP-REFINE-1)
   Appended at EOF and scoped to body[data-alma-entry="story"] so it
   never intermixes with the sub-landing rules under active render/UI
   iteration, and touches none of the contract-tested comment slice.
   Additive polish: restored two-colour brand mark, press feedback,
   paper grain, one-time hero entrance. All motion collapses to the
   resting state under the global reduced-motion guard above.
   ================================================================ */
:root { --lp-ease-out: cubic-bezier(.23, 1, .32, 1); }

/* Brand mark: the original two crossing waveforms — "your voice and
   Alma meeting" — in a unison of two core colours. Green + warm read
   on the light header; the file's green + cream is kept for dark
   surfaces such as the scene core-lens. Coloured here, not inline. */
.entry-brand-mark {
  width: 34px;
  height: 20px;
  vertical-align: middle;
  overflow: visible;
  opacity: .82;
}
.entry-brand-mark .wv-a { stroke: var(--entry-green); }
.entry-brand-mark .wv-b { stroke: var(--entry-warm); }
.brand-link { display: inline-flex; align-items: center; gap: 9px; }
.brand-link h1 { margin: 0; }
/* Same mark at the scene core, on the dark lens: the file's own
   green-light + cream, which read against the deep centre. */
body[data-alma-entry="story"] .entry-core-lens .wv-a { stroke: var(--entry-green-light); }
body[data-alma-entry="story"] .entry-core-lens .wv-b { stroke: #f6f0e4; }

/* Press feedback — every pressable surface acknowledges the tap; the
   hover lift is gated to real pointers so touch never sticks. */
.entry-button {
  transition: transform .16s var(--lp-ease-out), background .2s ease, border-color .2s ease;
}
.entry-button:active,
.entry-brand:active,
a.brand:active,
.brand-link:active { transform: scale(.97); }
.entry-brand,
.entry-nav a,
.entry-actions a,
.entry-decision a,
a.brand,
.brand-link { transition: transform .16s var(--lp-ease-out), color .2s ease, opacity .2s ease; }
.entry-nav a:active,
.entry-actions a:active,
.entry-decision a:active { transform: scale(.96); }
@media (hover: none) {
  .entry-button:hover { transform: none; }
}

/* Paper grain — a faint editorial tooth over the parchment. Fixed and
   non-interactive; imperceptible over the dark canvas. Tunable via
   opacity below. */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 60;
  pointer-events: none;
  opacity: .14;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='lpg'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23lpg)'/%3E%3C/svg%3E");
  background-size: 120px 120px;
}

/* One-time hero entrance: the context rail rises and settles on arrival. */
@keyframes lp-hero-rise {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}
body[data-alma-entry="story"] .entry-context > * {
  animation: lp-hero-rise .62s var(--lp-ease-out) both;
}
body[data-alma-entry="story"] .entry-context h1 { animation-delay: .04s; }
body[data-alma-entry="story"] .entry-context-copy { animation-delay: .16s; }
body[data-alma-entry="story"] .entry-context-actions { animation-delay: .26s; }
