/* Readable labels shared by responsive and all fixed-resolution canvases. */
/* In reading view, the exercise follows the same 01 → 02 → 03 sequence. */
.deck-page .exercise-prompts.reveal { opacity: 1; transform: none; }
.js-ready .deck-page .exercise-prompts.reveal > p { opacity: 0; translate: 0 18px; transition: opacity .6s ease, translate .6s ease; }
.js-ready .deck-page .exercise-prompts.reveal > p:nth-child(2) { transition-delay: .2s; }
.js-ready .deck-page .exercise-prompts.reveal > p:nth-child(3) { transition-delay: .4s; }
.js-ready .deck-page .exercise-prompts.reveal.visible > p { opacity: 1; translate: none; }
.motion-paused .deck-page .exercise-prompts.reveal > p { opacity: 1; translate: none; transition: none; }
@media (prefers-reduced-motion: reduce) {
  .js-ready .deck-page .exercise-prompts.reveal > p { opacity: 1; translate: none; transition: none; }
}
.task-river button > span { font-size: 15px; font-weight: 500; }
.pattern-tabs button > span:first-child { font-size: 15px; font-weight: 500; }
#pattern-eyebrow { font-size: 14px; line-height: 1.5; letter-spacing: .08em; }
.pattern-description .example > span { font-size: 13px; line-height: 1.5; letter-spacing: .08em; }
#task-direction { font-size: 14px; line-height: 1.5; letter-spacing: .08em; }
.deck-body .redistribution-takeaway > span { font-size: 16px; line-height: 1.55; max-width: 380px; }
.timeline button > span { font-size: 13px; letter-spacing: .1em; }
.deck-body .question-pair .micro,
.deck-body .judgment-flow .micro,
.deck-body .path-steps .micro,
.maturity-stair article > span { font-size: 15px; font-weight: 500; }
.maturity-axis { font-size: 14px; letter-spacing: .06em; }
.foundation-detail-page .foundation-editorial article > span { font-size: 14px; letter-spacing: .08em; }
.program-photo-page .slide-kicker > span:first-child,
.program-photo-page .reading-kicker > span:first-child { font-size: 14px; }
.information-story .source-islands .micro { font-size: 13px; letter-spacing: .09em; }
.cracks-grid blockquote > span { font-size: 13px; letter-spacing: .1em; }
.concerns summary > span { font-size: 15px; font-weight: 600; min-width: 22px; }
.agent-detail > .micro { font-size: 14px; }
.agent-detail .model-note { font-size: 12px; margin: 17px 0 12px; color: var(--aqua); letter-spacing: .08em; }
.deck-body .human-evolution .micro { font-size: 14px; letter-spacing: .08em; }
.deck-body .circle-team-caption { font-size: 15px; line-height: 1.5; max-width: 480px; }
.deck-body .stagnation-questions p { font-size: 34px; line-height: 1.3; }
.stagnation-questions p > span { font-size: 18px; font-weight: 500; }

/* Foundations rise one whole tier at a time, including its associated logos. */
.journey-slide.scene-build .foundation-stack > .scene-item {
  translate: 0 calc((1 - var(--item-reveal, 1)) * 26px);
}
.deck-page .reading-foundation:not(.reading-built) > * { opacity: 0; translate: 0 20px; }
.deck-page .reading-foundation.reading-built > * {
  animation: reading-foundation-rise .65s ease both;
  animation-delay: calc(var(--foundation-order) * .18s);
}
@keyframes reading-foundation-rise { from { opacity: 0; translate: 0 20px; } to { opacity: 1; translate: 0 0; } }
.motion-paused .deck-page .reading-foundation > * { opacity: 1; translate: none; animation: none; }
@media (prefers-reduced-motion: reduce) {
  .deck-page .reading-foundation > * { opacity: 1; translate: none; animation: none; }
}

/* A compact title gives the demo more of the available screen. */
.journey-slide.demo-page { padding-inline: clamp(28px, 4vw, 64px); }
.journey-slide.demo-page .slide-inner { gap: 12px; }
.demo-page .slide-heading h2 { font-size: clamp(30px, 3.2vw, 44px); }
.demo-page .slide-heading h2 br { display: none; }
.demo-page .slide-heading h2 em:before { content: ' '; }
.demo-page .slide-kicker { padding-bottom: 10px; }
.demo-player figcaption { min-height: 30px; padding: 6px 14px; font-size: 10px; }
.journey-slide.demo-page .demo-player { width: min(100%, calc((100cqh - 30px) * 16 / 9)); }

/* The caseworker account stays complete, with room for a side photograph. */
.frontline-story { grid-template-columns: .62fr 1.38fr; gap: 40px; align-items: stretch; }
.frontline-story .story-photo { height: 390px; min-height: 0; }
.frontline-story .live-story > span.micro { font-size: 14px; margin: 0 0 16px; letter-spacing: .09em; }
.frontline-story .caseworker-quote { margin: 0; font-size: inherit; }
.frontline-story .caseworker-quote p { font-size: 22px; line-height: 1.4; margin: 0 0 15px; }
.frontline-story .caseworker-quote p:last-child { margin-bottom: 0; }
.frontline-story .caseworker-quote strong { color: var(--aqua); font-weight: 600; }

/* Both sides converge on authority: Job → Identity → Authority ← Manager ← Record. */
.boundaries-page .slide-heading, .boundaries-page .reading-heading { display: block; }
.boundaries-page .slide-heading h2 { font-size: clamp(36px, 3.8vw, 54px); }
.boundaries-page .slide-heading > p, .boundaries-page .reading-heading > p { max-width: 920px; margin-top: 12px; }
.boundaries-page .deck-body { gap: 19px; }
.risk-exposure { display: grid; grid-template-columns: 1fr 20px 1fr; gap: 12px; align-items: center; color: #387c70; margin-bottom: 13px; }
.risk-exposure > span { display: flex; gap: 12px; align-items: center; font-size: 11px; letter-spacing: .09em; }
.risk-exposure > span:last-child { justify-content: flex-end; }
.risk-exposure i { flex: 1; display: flex; align-items: center; font-style: normal; font-size: 20px; }
.risk-exposure > span:first-child i:before, .risk-exposure > span:last-child i:after { content: ''; flex: 1; border-top: 1px solid #387c7060; }
.risk-exposure b { text-align: center; font-size: 8px; font-weight: 400; }
.boundaries-page .passport-ribbon { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 32px; padding: 0 0 18px; }
.boundaries-page .passport-ribbon > span { position: relative; gap: 10px; padding: 15px 0 0; border-top: 2px solid #438e7c60; }
.boundaries-page .passport-ribbon b { font-size: 18px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.boundaries-page .passport-ribbon small { font-size: 15px; line-height: 1.4; letter-spacing: 0; }
.boundaries-page .passport-ribbon .authority-facet { border-top-color: #247f76; }
.boundaries-page .authority-facet b { color: #216e64; }
.boundary-link { position: absolute; top: 12px; right: -25px; font-style: normal; font-size: 22px; color: #387c70; }
.passport-ribbon > span:nth-child(n+4) .boundary-link { right: auto; left: -26px; }
.boundaries-page .delegation-boundaries { gap: 45px; }
.boundaries-page .delegation-boundaries h3 { font-size: 26px; }
.boundaries-page .delegation-boundaries li { font-size: 14px; }

/* Spark has larger editorial type; its product recording remains intact. */
.spark-page .slide-kicker > span:first-child, .spark-page .reading-kicker > span:first-child { font-size: 12px; }
.spark-page .slide-heading h2 { font-size: clamp(46px, 5.1vw, 74px); }
.spark-page .spark-feature h3 { font-size: 30px; }
.spark-page .spark-feature p { font-size: 17px; line-height: 1.5; }
.spark-page .spark-feature figcaption { font-size: 10px; line-height: 1.4; }
.spark-page .spark-playback { font-size: 11px; }

@media (min-width: 980px) and (max-height: 800px) {
  .data-team-page .agent-circle-diagram { max-width: 340px; }
  .question-page .slide-heading h2 { font-size: 64px; }
  .spark-page .spark-feature { grid-template-columns: .95fr 1.3fr; gap: 35px; }
  .frontline-photo-page .slide-heading h2 { font-size: 39px; }
  .frontline-photo-page .slide-inner { gap: 18px; }
  .frontline-story .caseworker-quote p { font-size: 21px; line-height: 1.38; margin-bottom: 12px; }
  .frontline-story .story-photo { height: 360px; min-height: 0; }
  .boundaries-page .slide-heading h2 { font-size: 39px; }
  .boundaries-page .slide-inner { gap: 17px; }
  .boundaries-page .slide-heading > p { margin-top: 8px; font-size: 14px; }
  .boundaries-page .deck-body { gap: 13px; }
  .boundaries-page .passport-ribbon { gap: 30px; padding-bottom: 15px; }
  .boundaries-page .passport-ribbon b { font-size: 17px; }
  .boundaries-page .passport-ribbon small { font-size: 14px; }
  .boundaries-page .delegation-boundaries { padding-top: 0; }
  .boundaries-page .delegation-boundaries h3 { margin-bottom: 12px; font-size: 25px; }
  .boundaries-page .delegation-boundaries li { font-size: 13px; }
  .spark-page .slide-heading h2 { font-size: 48px; }
  .spark-page .spark-feature h3 { font-size: 27px; }
  .spark-page .spark-feature p { font-size: 16px; }
}
@media (max-width: 979px) {
  .frontline-story { grid-template-columns: 1fr; gap: 28px; }
  .frontline-story .story-photo { height: 240px; min-height: 0; }
  .frontline-story .caseworker-quote p { font-size: 21px; line-height: 1.4; }
  .boundaries-page .passport-ribbon { gap: 22px; }
  .boundaries-page .passport-ribbon b { font-size: 13px; }
  .boundaries-page .passport-ribbon small { font-size: 12px; }
  .boundary-link { right: -20px; font-size: 19px; }
  .passport-ribbon > span:nth-child(n+4) .boundary-link { left: -20px; }
  .risk-exposure > span { font-size: 9px; letter-spacing: .035em; gap: 6px; }
  .risk-exposure { gap: 6px; }
  .deck-body .stagnation-questions p { font-size: 32px; }
  .spark-page .spark-feature { gap: 28px; }
  .spark-page .spark-feature h3 { font-size: 28px; }
  .spark-page .spark-feature p { font-size: 16px; }
}
@media (max-width: 599px) {
  .timeline button > span { font-size: 11px; letter-spacing: .035em; }
  .maturity-axis { font-size: 12px; letter-spacing: .025em; gap: 18px; }
  .frontline-story .caseworker-quote p { font-size: 20px; }
  .boundaries-page .role-boundary-diagram { overflow-x: auto; padding-bottom: 12px; }
  .boundaries-page .passport-ribbon, .boundaries-page .risk-exposure { min-width: 720px; }
  .boundaries-page .passport-ribbon b { font-size: 16px; }
  .boundaries-page .passport-ribbon small { font-size: 14px; }
  .boundaries-page .risk-exposure > span { font-size: 11px; }
  .deck-body .stagnation-questions p { font-size: 29px; }
  .spark-page .spark-feature > div { display: block; }
  .spark-page .spark-feature p { margin-top: 15px; }
}
