/* v10: one controlled processing rail, powered by versioned marking skills. */
.nav {display:none!important}
.route-vector>svg {display:block;width:100%;height:auto}
.engine-vector {margin-top:24px}
.engine-vector>svg {display:block;width:100%;height:auto;max-height:570px}
.engine-vector-credits {display:flex;justify-content:center;align-items:center;gap:40px;margin-top:18px;color:var(--muted);font-size:16px}
.engine-vector-credits span {display:flex;align-items:center;gap:10px}
.engine-vector-credits img {width:24px;height:24px;object-fit:contain}
.visual-foundations .foundation-visual {height:240px;margin:28px 0 26px;display:flex;align-items:center;justify-content:center}
.visual-foundations .eval-visual {flex-direction:column;gap:22px}
.foundation-thinkactuary {display:flex;align-items:center;gap:14px}
.foundation-thinkactuary img {width:52px;height:54px;object-fit:contain}
.foundation-thinkactuary strong {font-size:29px;letter-spacing:-.04em}
.eval-review {font-size:27px;color:var(--assa-blue);font-weight:700}
.eval-records {font-size:17px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}
.visual-foundations .provider-grid {display:grid;grid-template-columns:repeat(6,1fr);gap:22px 12px;align-content:center}
.provider-grid>div {grid-column:span 2;display:flex;align-items:center;flex-direction:column;gap:12px}
.provider-grid>div:nth-child(4) {grid-column:2 / span 2}
.provider-grid img {width:43px;height:43px;object-fit:contain}
.provider-grid strong {font-size:18px;font-weight:400;color:var(--ink)}
.visual-foundations .harness-brands {gap:32px}
.harness-brands>div {display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;flex:1}
.harness-brands img {width:55px;height:55px;object-fit:contain}
.harness-brands strong {font-size:25px}
.visual-foundations .harness-brands span {border:0;padding:0;font-size:17px;color:var(--muted);line-height:1.4}
.skill-file {height:55px;display:grid;place-items:center;border:1px solid #a4c0c0;border-radius:4px;font-size:17px;padding:0 10px;color:var(--assa-blue);background:#edf4f3}
.visual-foundations>div>p {font-size:23px;line-height:1.45;text-align:center}
/* Connect the stage labels, rather than their supporting descriptions. */
@media(min-width:821px) {
  #v9-problem .v9-flow>li:not(:last-child)::after,
  #v9-pilot .v9-flow>li:not(:last-child)::after,
  #v9-platform .v9-flow>li:not(:last-child)::after {top:39px}
}
#v9-models .v6-body {margin-top:50px}
.gpt-capability-source {display:flex;align-items:center;justify-content:center;gap:24px;height:100px}
.gpt-capability-source img {width:72px;height:72px;object-fit:contain}
.gpt-capability-source strong {display:block;font-size:36px;line-height:1.2;color:var(--ink)}
.gpt-capability-source span {display:block;margin-top:5px;font-size:18px;color:var(--muted)}
.gpt-arena-rating {border-left:1px solid var(--line);padding-left:28px;margin-left:10px}
.gpt-arena-rating strong {color:var(--assa-blue)}
.gpt-arena-rating small {font-size:20px;font-weight:400}
.gpt-capability-links {display:block;width:100%;height:70px;margin-top:12px;color:var(--assa-blue)}
#v9-models .v6-columns.three {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
#v9-models .v6-columns>div {display:block;padding:30px 0 24px;border:0;border-top:2px solid var(--assa-gold);border-radius:0;background:transparent;min-height:170px;text-align:center}
#v9-models .v6-columns h3 {font-size:29px;line-height:1.2;min-height:35px;margin:0 0 22px}
#v9-models .v6-columns p {font-size:25px;line-height:1.45;margin:0}
#v9-models .v6-callout {margin-top:38px}
#v9-current-engine .lede {margin-top:18px}
.v10-pipeline {margin-top:22px}
.pipeline-io {display:flex;justify-content:space-between;padding:0 42px 16px;color:var(--ink-2);font-size:20px}
.pipeline-io span {display:flex;align-items:center;gap:18px}
.pipeline-io b {font-size:30px;color:var(--assa-blue)}
.pipeline-housing {position:relative;border:1px solid #c7dedd;border-radius:26px;background:linear-gradient(120deg,#f1f8f7,#e4f1ef 52%,#f6faf9);box-shadow:0 12px 45px -25px #4faaa788,inset 0 1px 0 #fff;padding:26px 26px 30px}
.pipeline-name {display:block;font-size:14px;letter-spacing:.19em;color:var(--assa-teal);font-weight:700;margin-left:16px}
.pipeline-nodes {position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;list-style:none;padding:0;margin:22px 0 0;text-align:center}
.pipeline-nodes li {position:relative;padding:0 8px}
.pipeline-step {position:absolute;top:-3px;left:calc(50% - 72px);font-size:15px;color:var(--assa-blue);font-weight:700}
.pipeline-icon {display:grid;place-items:center;position:relative;margin:0 auto 20px;width:58px;height:58px;border-radius:50%;background:var(--assa-deep);color:#c7eeea;box-shadow:0 0 0 7px #edf7f5,0 0 24px #81c4bf40}
.pipeline-icon svg {width:30px;height:30px}
#v9-current-engine .pipeline-nodes h3 {font-size:28px;line-height:1.2;margin:0 0 10px;color:var(--ink)}
#v9-current-engine .pipeline-nodes p {font-size:21px;line-height:1.3;margin:0;color:var(--muted)}
.pipeline-rail {position:absolute;top:93px;left:13.8%;right:13.8%;height:2px;background:#91b8b6}
.pipeline-rail i {position:absolute;width:9px;height:9px;border-radius:50%;background:#4aafaa;top:-3.5px;left:48%;box-shadow:0 0 12px 4px #6bcec56b}
.is-active .pipeline-rail i {animation:engine-travel 7s linear infinite}
@keyframes engine-travel {from {left:0}to {left:100%}}
.pipeline-intelligence {position:relative;margin:34px auto 0;width:78%;border-top:1px solid #79a8a7;text-align:center;padding-top:16px}
.skill-feed {position:absolute;width:1px;height:34px;background:#79a8a7;top:-35px}
.skill-feed::before {content:'';position:absolute;top:-1px;left:-4px;border-left:4.5px solid transparent;border-right:4.5px solid transparent;border-bottom:7px solid var(--assa-teal)}
.feed-mark {left:34%}.feed-audit {right:34%}
#v9-current-engine .pipeline-intelligence h3 {font-size:25px;color:var(--assa-teal);margin:0 0 12px}
#v9-current-engine .pipeline-intelligence p {font-size:22px;margin:0;color:var(--ink)}
.pipeline-intelligence p span {color:var(--assa-gold);padding:0 18px}
.pipeline-evidence {font-size:17px;color:var(--muted);margin-top:12px}
.pipeline-bottom {margin-top:18px;display:flex;align-items:center;justify-content:center;gap:28px;border-top:1px solid var(--line);padding-top:16px}
#v9-current-engine .pipeline-bottom p {font-size:20px;max-width:650px;color:var(--ink-2);margin:0}
.pipeline-credits {display:flex;gap:24px;color:var(--muted);font-size:15px;white-space:nowrap}
.pipeline-credits span {display:flex;align-items:center;gap:9px}
.pipeline-credits img {height:23px;width:23px;object-fit:contain}
@media(prefers-reduced-motion:reduce) {.is-active .pipeline-rail i {animation:none}}
@media print {.pipeline-rail i {animation:none!important}}

/* A three-step improvement cycle with two distinct development levers. */
#v9-improvement-loop .v6-body {margin-top:46px}
.learning-stages {list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:76px;padding:0;margin:0}
.learning-stages li {position:relative;border-top:2px solid var(--assa-gold);padding-top:22px}
.learning-number {display:block;color:var(--assa-blue);font-size:18px;font-weight:700;letter-spacing:.08em;margin-bottom:18px}
#v9-improvement-loop .learning-stages h3 {font-size:30px;margin:0 0 22px}
#v9-improvement-loop .learning-stages p {font-size:24px;line-height:1.45;margin:0 0 14px}
.learning-stages li:not(:last-child)::after {content:'→';position:absolute;right:-76px;width:76px;text-align:center;top:83px;transform:translateY(-50%);line-height:1;font-size:44px;color:var(--assa-blue)}
.learning-return {width:100%;height:90px;display:block;color:var(--assa-blue);margin-top:8px;overflow:visible}
.learning-return text {font-family:inherit;font-size:20px;fill:var(--assa-blue)}
.learning-principle {display:flex;align-items:baseline;gap:22px;border-top:1px solid var(--line);padding-top:22px;margin-top:20px;font-size:22px;color:var(--ink-2)}
.learning-principle strong {white-space:nowrap}
#v9-improvement-loop .learning-governance {margin:16px 0 0;font-size:19px;color:var(--muted)}

/* v10 polish: one set of rules for kickers, callouts, arrows and key figures across the deck. */
@media screen and (min-width:821px) {
  /* Statement slides lead with a kicker, so the statement carries the slide. */
  #v9-problem .title,#v9-progress .title {font-size:20px;line-height:1.3;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--assa-gold)}
  #v9-progress .title {color:#c9ad86}
  #v9-problem .v6-body,#v9-progress .v6-body {margin-top:30px}

  /* Callouts share one size; dense slides keep clear of the convention mark. */
  .v6-slide .v6-callout {font-size:22px;line-height:1.4}
  #v9-reference .v6-callout,#v9-operations .v6-callout {padding-right:250px;text-wrap:pretty}
  #v9-reference .v6-callout {margin-top:20px}

  /* Flow arrows: one weight, size and colour. */
  #v9-problem .v9-flow>li:not(:last-child)::after,#v9-pilot .v9-flow>li:not(:last-child)::after,#v9-platform .v9-flow>li:not(:last-child)::after,#v9-grader .v9-flow>li:not(:last-child)::after {font-size:40px;font-weight:400;line-height:1;color:var(--assa-blue)}
  #v9-problem .v9-flow>li:not(:last-child)::after,#v9-pilot .v9-flow>li:not(:last-child)::after,#v9-platform .v9-flow>li:not(:last-child)::after {top:36px}

  /* Key figures use the same blue as the other headline numbers. */
  .v9-scale strong,.route-saving strong {color:var(--assa-blue)}

  /* Harness brands align from the top, so icons and names share a baseline. */
  .visual-foundations .harness-brands {align-items:flex-start;padding-top:38px}
  .harness-brands img {margin-bottom:0}

  /* Grader: a lighter engine module, lifting the product row clear of the convention mark. */
  #v9-grader .v9-flow>li {min-height:160px}
  #v9-grader .v9-engine {min-height:160px;border-radius:6px}
  #v9-grader .v9-flow {margin-bottom:24px}
  #v9-grader .v9-product {margin-top:18px;padding-top:18px}
  .grader-address {border-radius:6px}

  /* Chart annotations breathe below their bars. */
  #v9-operations .v9-rating+.v6-small {margin-top:14px}
  .v9-rating>div {border-radius:3px}
  .marker-means-chart {height:260px}
  .marker-means-chart .marker-axis {fill:var(--muted);font-size:15px}
  .marker-means-legend {font-size:18px}
}

/* v10 polish, pass two: a single type scale, rule motif and rhythm for the whole pack. */
@media screen and (min-width:821px) {
  /* Kickers: gold dash + spaced capitals, echoing the callout marker. */
  #v9-problem .title::before,#v9-progress .title::before,#v6-18 .v6-kicker::before {content:"";display:inline-block;width:22px;height:3px;margin:0 14px 5px 0;background:currentColor;vertical-align:middle}
  #v6-18 .v6-kicker {font-size:17px!important;line-height:1.3!important;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--assa-gold)!important;margin:0 0 22px!important}
  #v6-18 .v6-columns>div:last-child>.v6-kicker {margin-bottom:26px!important}
  #v6-18 .v6-wim {margin-top:0}
  #v6-18 .v6-names {margin-top:0}

  /* One body start line beneath the title block. */
  #v9-pilot .v6-body,#v9-platform .v6-body {margin-top:40px}
  #v9-pilot .v9-flow,#v9-platform .v9-flow {margin-top:0}

  /* Column groups open on a gold rule, as on the three-column slides. */
  #v9-problem .v9-flow,#v9-pilot .v9-flow,#v9-platform .v9-flow {border-top:0;padding-top:0}
  #v9-problem .v9-flow>li,#v9-pilot .v9-flow>li,#v9-platform .v9-flow>li {border-top:2px solid var(--assa-gold);padding-top:26px}
  #v9-problem .v9-flow>li:not(:last-child)::after,#v9-pilot .v9-flow>li:not(:last-child)::after,#v9-platform .v9-flow>li:not(:last-child)::after {top:40px}

  /* Section headings: one size and colour. */
  #v9-models .v6-columns h3,.rebuild-foundations h3,.marker-qa-layout h3,#v9-result .v6-columns h3,#v9-acceptance .v6-columns h3,.grader-introduction h3,#v9-operations .v9-observations h3,#v6-16 .beta-comparison-ratings h3,#v9-next .v6-columns h3,#v6-18 h3 {font-size:27px!important;line-height:1.2;letter-spacing:-.025em;color:var(--ink)}
  #v6-16 .beta-comparison-context h3 {font-size:25px;color:var(--ink)}
  #v9-next .v6-columns h3,.v9-progress-grid h3 {color:#d2e5e3!important}
  .v9-progress-grid h3 {font-size:29px!important}

  /* Footnotes: one size. */
  .v6-slide .v6-body .v6-small,#v9-beta-routes .route-pricing+.v6-small,.grader-introduction .v6-small,#v9-operations .v9-observations .v6-small {font-size:17px!important;line-height:1.45!important}

  /* Closing dark slides: the body settles into the space beneath the title. */
  #v9-questions .content {display:flex;flex-direction:column}
  #v9-questions .v6-body {margin-top:auto!important;margin-bottom:auto}
  #v9-questions .v6-body {padding-bottom:40px}
  .slide-dark .assa-template-brand {border-radius:4px}

  /* Charts: the newer series always uses the ASSA teal. */
  .score-dist-bars i {background:var(--assa-teal)}
  .score-distribution.legacy i {background:var(--assa-gold)}
  #v9-support .expected-improvement span {font-size:72px;font-weight:400}

  /* Callouts: slide-specific sizes yield to the shared one. */
  #v9-support .v6-callout,#v9-operations .v6-callout,#v6-16 .v6-callout,#v9-beta-routes .v6-callout,#v9-next .v6-callout,#v9-pilot .v6-callout,#v9-models .v6-callout {font-size:22px}

  /* Dark slides carry the same gold rule over their column groups. */
  .v9-progress-grid>div,#v9-next .v6-columns>div,.v9-close>div {border-top:2px solid rgba(168,137,97,.85)}
  #v9-beta-routes .route-pricing+.v6-small {padding-right:250px;text-wrap:pretty}
}

/* v10 polish, pass three: fewer rules; the bottom line becomes a quiet tinted panel. */
@media screen and (min-width:821px) {
  /* Labels stand on their own, without leading dashes. */
  #v9-problem .title::before,#v9-progress .title::before,#v6-18 .v6-kicker::before {content:none}

  /* Flows on the opening slides sit without extra rules. */
  #v9-problem .v9-flow>li,#v9-pilot .v9-flow>li,#v9-platform .v9-flow>li {border-top:0;padding-top:0}
  #v9-problem .v9-flow>li:not(:last-child)::after,#v9-pilot .v9-flow>li:not(:last-child)::after,#v9-platform .v9-flow>li:not(:last-child)::after {top:14px}
  #v9-problem .v9-flow {margin-top:64px}

  /* Bottom line: a tinted panel that hugs its text. */
  .v6-slide .v6-callout,#v9-support .v6-callout,#v9-operations .v6-callout,#v6-16 .v6-callout,#v9-beta-routes .v6-callout,#v9-next .v6-callout,#v9-pilot .v6-callout,#v9-models .v6-callout,#v9-reference .v6-callout {width:fit-content;max-width:100%;margin-top:26px;padding:15px 24px;border:0;border-radius:8px;background:#e6efee;color:var(--ink);font-size:22px;line-height:1.4;font-weight:700;letter-spacing:-.01em}
  .v6-slide .v6-callout::before {content:none}
  .v6-slide.slide-dark .v6-callout,#v9-next .v6-callout {background:rgba(255,255,255,.08);color:#fff}
  #v9-reference .v6-callout,#v9-operations .v6-callout {max-width:calc(100% - 250px);padding-right:24px;text-wrap:pretty}
  #v9-reference .v6-callout,#v9-operations .v6-callout,#v6-16 .v6-callout {margin-top:18px}
  #v9-pilot .v9-flow,#v9-platform .v9-flow {border-bottom:0;padding-bottom:0;margin-bottom:30px}
}

/* Slide 3: one headline result, with the pilot size as its basis. */
.v9-pilot-result {display:grid;grid-template-columns:auto auto;justify-content:start;align-items:end;gap:0 72px;margin-top:24px}
.v9-pilot-hero {display:flex;align-items:flex-end;gap:32px}
.v9-pilot-hero strong {font-size:148px;line-height:.9;letter-spacing:-.04em;color:var(--assa-blue)}
.v9-pilot-hero span {max-width:360px;padding-bottom:12px;font-size:26px;line-height:1.3;font-weight:600;color:var(--ink-2)}
.v9-pilot-basis {padding:4px 0 12px 44px;border-left:2px solid var(--line)}
.v9-pilot-basis strong {display:block;font-size:64px;line-height:1;color:var(--assa-gold)}
.v9-pilot-basis span {display:block;margin-top:8px;font-size:23px;color:var(--muted)}
@media screen and (min-width:821px) {
  #v9-pilot .v6-callout {margin-top:60px}
}
@media (max-width:820px) {
  .v9-pilot-result {grid-template-columns:1fr;gap:28px}
  .v9-pilot-hero {flex-direction:column;align-items:flex-start;gap:12px}
  .v9-pilot-hero strong {font-size:96px}
  .v9-pilot-basis {padding:0;border-left:0}
}


/* Slides 17 and 18: fill the frame; the key content anchors the lower half. */
.v9-progress-grid .v9-shift-from {color:#8fb0b1;font-weight:400}
.v9-progress-grid .v9-shift-arrow {color:var(--assa-gold);font-weight:400}
.v9-progress-grid .v9-shift-to {color:#fff}
@media screen and (min-width:821px) {
  #v9-progress .v6-body,#v9-next .v6-body {flex:1;display:flex;flex-direction:column;padding-bottom:36px}
  #v9-progress .v6-body {margin-top:34px}
  #v9-progress .v9-progress-statement {max-width:1250px;font-size:70px!important;line-height:1.1!important;letter-spacing:-.045em;margin:0!important}
  #v9-progress .v9-progress-grid {margin-top:auto;gap:64px}
  #v9-progress .v9-progress-grid>div {padding-top:30px}
  #v9-progress .v9-progress-grid h3 {display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:6px 14px;margin-bottom:22px;font-size:27px!important;line-height:1.1}
  #v9-progress .v9-progress-grid .v9-shift-to {grid-column:1/-1;font-size:62px;letter-spacing:-.04em;line-height:1}
  #v9-progress .v9-progress-grid p {max-width:470px;font-size:24px;line-height:1.45;color:#d2e5e3}

  #v9-next .v6-columns {flex:1;margin-top:40px;gap:40px;counter-reset:next-step}
  #v9-next .v6-columns>div {display:flex;flex-direction:column;padding:34px 40px 38px;border:0;border-top:2px solid rgba(168,137,97,.85);border-radius:0 0 14px 14px;background:rgba(255,255,255,.05);counter-increment:next-step}
  #v9-next .v6-columns>div::before {content:counter(next-step,decimal-leading-zero);font-size:64px;font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--assa-gold)}
  #v9-next .v6-columns h3 {margin:30px 0 16px;font-size:34px!important;color:#fff!important}
  #v9-next .v6-columns p {max-width:640px;margin:0;font-size:26px;line-height:1.45;color:#d2e5e3}
  #v9-next .v6-callout {margin-top:30px}
}

/* PDF export omits the presenter cue. */
html.pdf-capture .slide .shell::after {display:none!important}

/* Slide 13: four observation cards. */
@media screen and (min-width:821px) {
  #v9-operations .v9-observations {grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:36px}
  #v9-operations .timing-pair {display:grid;grid-template-columns:1fr 1fr;gap:12px}
  #v9-operations .review-timing>p {margin:8px 0 16px}
  #v9-operations .timing-legend {font-size:17px;font-weight:700;margin:0 0 12px}
  #v9-operations .timing-measure h4 {font-size:20px;line-height:1.3;margin:0 0 7px;color:var(--ink)}
  #v9-operations .timing-values {font-size:34px;line-height:1.2}
  #v9-operations .timing-values strong:first-child {color:var(--assa-gold)}
  #v9-operations .timing-values strong:last-child {color:var(--teal,#285c64)}
  #v9-operations .timing-values strong span {font-size:22px}
  #v9-operations .timing-samples {font-size:15px;line-height:1.4;color:var(--muted);margin-top:5px}
  #v9-operations .timing-measure .v6-small {margin:9px 0 0}
  #v9-operations .timing-measure+.timing-measure {margin-top:14px;padding-top:13px;border-top:1px solid #d6dfe0}
}

/* Slide 2: a large problem statement above, the student's journey anchored below. */
@media screen and (min-width:821px) {
  #v9-problem .v6-body {flex:1;display:flex;flex-direction:column;margin-top:44px;padding-bottom:36px}
  #v9-problem .v9-statement {max-width:1250px;font-size:84px!important;line-height:1.08!important;letter-spacing:-.045em;margin:0!important}
  #v9-problem .v9-flow {margin:auto 0 0;padding-top:0;border-top:0}
  #v9-problem .v9-flow>li {min-height:0;padding:30px 0 0;border-top:2px solid var(--assa-gold)}
  #v9-problem .v9-flow>li>strong {min-height:0;font-size:30px}
  #v9-problem .v9-flow>li>span {min-height:0;margin-top:14px;font-size:24px;line-height:1.4}
  #v9-problem .v9-flow>li:not(:last-child)::after {top:58px}
}

/* Slide 3: method across the top, the headline result anchored below. */
@media screen and (min-width:821px) {
  #v9-pilot .v6-body {flex:1;display:flex;flex-direction:column;margin-top:48px;padding-bottom:36px}
  #v9-pilot .v9-flow {margin:0}
  #v9-pilot .v9-flow>li {min-height:0;padding:28px 0 0;border-top:2px solid var(--assa-gold)}
  #v9-pilot .v9-flow>li>strong {min-height:0;font-size:28px}
  #v9-pilot .v9-flow>li>span {min-height:0;margin-top:12px;font-size:23px}
  #v9-pilot .v9-flow>li:not(:last-child)::after {top:52px}
  #v9-pilot .v9-pilot-result {margin-top:auto;gap:0 80px}
  #v9-pilot .v9-pilot-hero {gap:36px}
  #v9-pilot .v9-pilot-hero strong {font-size:190px}
  #v9-pilot .v9-pilot-hero span {max-width:340px;padding-bottom:22px;font-size:30px}
  #v9-pilot .v9-pilot-basis {padding:6px 0 22px 48px}
  #v9-pilot .v9-pilot-basis strong {font-size:80px}
  #v9-pilot .v9-pilot-basis span {font-size:25px}
  #v9-pilot .v6-callout {margin-top:44px}
}
