/* Room-first typography and quieter layouts for the technical half. */
.editorial .slide-head { max-width: 90%; }
.editorial h2 { font-size: clamp(36px, 4vw, 77px); line-height: 1.04; margin-bottom: 0; }
.editorial .slide-body { min-height: 0; }
.section-label { display: block; font: 700 clamp(12px, .95vw, 18px)/1.3 var(--ui); text-transform: uppercase; letter-spacing: .1em; color: var(--orange); }
.editorial p, .editorial .connector-risk span, .editorial .problem-item span, .editorial .missing-check span { font-family: var(--ui); font-size: clamp(17px, 1.45vw, 28px); line-height: 1.35; }
.editorial .slide-foot { font-family: var(--ui); }
.editorial .problem-core { padding: 2.5vw; box-shadow: none; }
.editorial .problem-core strong { font-size: clamp(28px, 2.55vw, 49px); }
.editorial .tool-problem { column-gap: 4vw; row-gap: 1.6vw; }
.editorial .problem-list { gap: 1vw; }
.editorial .problem-item { padding-bottom: .8vw; }
.editorial .problem-item strong { font-size: clamp(23px, 1.9vw, 36px); }
.editorial .problem-mcp { font-size: clamp(17px, 1.4vw, 27px); box-shadow: none; }
.policy-solution { display: flex; flex-direction: column; justify-content: center; gap: 3vw; }
.policy-summary { max-width: 950px; }
.policy-summary p { font-size: clamp(24px, 2.25vw, 43px); margin: 1vw 0 0; }
.policy-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5vw; }
.policy-actions > div { border-top: 4px solid var(--orange); padding-top: 1.5vw; }
.policy-actions b { display: block; font: 700 1.3vw var(--ui); color: var(--orange); margin-bottom: 1vw; }
.policy-actions strong { display: block; font: 700 clamp(24px, 2vw, 38px)/1.12 var(--heading); }
.policy-actions p { margin: 1vw 0 0; color: #dbe5ef; }
.news-item { box-shadow: none; padding: 1.8vw 2vw; }
.news-item strong { font-size: clamp(24px, 2vw, 38px); line-height: 1.15; }
.news-item p { margin: 1vw 0 0; color: #53657c; }
.impact-costs { padding: 2.5vw; }
.impact-costs li { font-size: clamp(22px, 1.8vw, 34px); }
.vendor-simple { display: flex; flex-direction: column; justify-content: center; gap: 1.5vw; }
.vendor-question { display: grid; grid-template-columns: 5vw 1fr; gap: 1.5vw; border-bottom: 1px solid #cbd4df; padding-bottom: 1.5vw; }
.vendor-question b { color: var(--orange); font: 700 2.5vw var(--heading); }
.vendor-question strong { font: 700 clamp(27px, 2.5vw, 48px)/1.1 var(--heading); }
.vendor-question p { margin: .7vw 0 0; max-width: 70ch; }
.takeaway { border-left: 5px solid var(--orange); padding: 1vw 1.5vw; font: 700 clamp(19px, 1.65vw, 32px)/1.3 var(--ui); background: rgba(120,140,170,.1); }
.vendor-simple .takeaway { margin: 0; }
.connector-risks { row-gap: 2vw; }
.connector-risk strong { font-size: clamp(25px, 2.05vw, 40px); }
.connector-warning { font-size: clamp(20px, 1.6vw, 31px); }
.editorial .code-control { font-size: clamp(18px, 1.5vw, 29px); box-shadow: none; }
.personal-case { display: grid; grid-template-columns: 1.35fr 1fr; align-content: center; gap: 3vw; }
.personal-story { padding-right: 1vw; }
.personal-story blockquote { margin: 1.5vw 0; font: 700 clamp(28px, 2.7vw, 52px)/1.12 var(--heading); letter-spacing: -.025em; }
.personal-story p { color: #dbe5ef; }
.supporting-case { border-left: 1px solid #53698f; padding-left: 2.5vw; }
.supporting-case strong { display: block; font: 700 clamp(26px, 2.2vw, 42px)/1.1 var(--heading); margin: 1.5vw 0; }
.supporting-case p { color: #dbe5ef; }
.personal-case .takeaway { grid-column: 1/-1; }
.right-question { padding: 1.2vw 0; }
.right-question span { font: 400 clamp(22px, 1.95vw, 37px)/1.3 var(--ui); }
.checklist-preview { margin: 1.2vw 0; border-top: 1px solid #cbd4df; border-bottom: 1px solid #cbd4df; padding: 1vw 0; display: grid; gap: .7vw; font: 600 clamp(19px, 1.55vw, 30px)/1.25 var(--ui); }
.editorial .cta-box { padding: 2.4vw; }
.editorial .cta-box h3 { font-size: clamp(32px, 3vw, 57px); }
.editorial .cta-box .pack-caption { font-size: clamp(16px, 1.25vw, 24px); }
.editorial .resource-qr { margin-top: 1vw; padding-top: 1vw; }
.cu-layout { display: grid; grid-template-columns: 1.8fr 1fr; gap: 3vw; align-items: center; }
.cu-player { color: var(--navy); font-family: var(--ui); border-radius: 12px; overflow: hidden; background: #f5f7fa; box-shadow: 0 20px 50px #0003; }
.cu-bar { display:flex; justify-content:space-between; align-items:center; padding: .9vw 1.2vw; background:#e5eaf0; font-size:clamp(13px,1vw,20px); }
.cu-label { padding:.25vw .6vw; background:white; border-radius:4px; }
.cu-desktop { height: 26vw; max-height: 500px; position:relative; overflow:hidden; }
.cu-screen { position:absolute; inset:0; display:none; }
.cu-prompt { padding: 3vw; align-content:center; }
.cu-prompt .section-label, .cu-login .section-label, .cu-record .section-label, .cu-confirm .section-label { color:var(--blue); }
.editorial .cu-prompt p { font-size:clamp(24px,2.1vw,40px); font-weight:600; margin:1vw 0; }
.cu-task { padding:1vw; background:#e4ebe9; color:var(--teal); font-size:1.2vw; }
.cu-login { place-items:center; }
.cu-login-card { width:70%; padding:2vw; background:white; border:1px solid #dce3ed; }
.cu-login h3, .cu-confirm h3 { margin:1vw 0; font-size:2.5vw; }
.cu-action { display:inline-block; background:var(--navy); color:white; border-radius:5px; padding:.8vw 1.2vw; font:600 1.15vw var(--ui); }
.cu-portal { grid-template-columns: 21% 1fr; }
.cu-nav { background:#e7edf4; display:flex; flex-direction:column; gap:1.2vw; padding:1.4vw .8vw; font-size:1.1vw; }
.cu-nav strong { font-size:1.5vw; margin-bottom:1vw; }
.cu-nav strong span { display:block; font-weight:400; }
.cu-nav > span { padding:.5vw; }
.cu-nav .selected { background:white; border-radius:4px; color:var(--blue); }
.cu-work { padding:1.5vw; min-width:0; }
.cu-work-head h3 { font-size:1.9vw; margin:0 0 .4vw; }
.cu-work-head > span { color:#56667c; font-size:.95vw; }
.cu-search { border:1px solid #bbc8d9; background:white; padding:.8vw; display:flex; justify-content:space-between; margin:1.2vw 0; font-size:1.2vw; color:#5c6b7d; }
.cu-row { display:grid; grid-template-columns:1.65fr 1fr .45fr; gap:.5vw; padding:.85vw .6vw; border-bottom:1px solid #dde3ec; font-size:1.05vw; }
.cu-table-head { font-weight:600; background:#edf1f5; }
.cu-record { display:none; padding-top:1.5vw; }
.cu-record h3 { font-size:2.2vw; margin:1vw 0; }
.cu-record .section-label { font-size:.85vw; }
.cu-metrics { display:flex; gap:1.5vw; margin:1.3vw 0 1.8vw; }
.cu-metrics small { display:block; font-size:1vw; }
.cu-metrics strong { font-size:1.65vw; }
.cu-confirm { display:none; position:absolute; inset:2.8vw 3vw; padding:2vw; background:white; border-top:5px solid var(--orange); box-shadow:0 0 0 100vw #071a2d77; z-index:2; }
.cu-action.muted { background:#e8edf3; color:#5a6880; }
.cu-cursor { position:absolute; left:0; top:0; width:2vw; height:2.5vw; filter:drop-shadow(1px 2px 2px #0006); z-index:3; pointer-events:none; opacity:0; transition:left 1s ease-in-out, top 1s ease-in-out; }
.cu-cursor.clicking { transform:scale(.8); }
.cu-controls { display:flex; align-items:center; gap:.6vw; background:white; padding:.6vw; font-size:.9vw; }
.cu-controls button { border:1px solid #c5cfdd; background:#f3f6fa; color:var(--navy); border-radius:4px; padding:.45vw .65vw; cursor:pointer; font:600 .95vw var(--ui); }
#cuStatus { flex:1; padding-left:.5vw; }
#cuTime { font-variant-numeric:tabular-nums; }
.cu-progress { height:4px; background:#dbe3ed; }
.cu-progress span { display:block; height:100%; width:0; background:var(--orange); }
[data-step="prompt"] .cu-prompt { display:grid; }
[data-step="login"] .cu-login { display:grid; }
.cu-player:is([data-step="search"],[data-step="results"],[data-step="record"],[data-step="export"],[data-step="confirm"]) .cu-portal { display:grid; }
.cu-player:is([data-step="results"],[data-step="record"],[data-step="export"],[data-step="confirm"]) .cu-other { display:none; }
.cu-player:is([data-step="record"],[data-step="export"],[data-step="confirm"]) .cu-table,
.cu-player:is([data-step="record"],[data-step="export"],[data-step="confirm"]) .cu-search { display:none; }
.cu-player:is([data-step="record"],[data-step="export"],[data-step="confirm"]) .cu-record { display:block; }
[data-step="confirm"] .cu-confirm { display:block; }
.cu-message h3 { font-size:clamp(27px,2.5vw,48px); line-height:1.1; margin:1vw 0; }
.cu-message > p { color:#dbe5ef; }
.cu-limit { border-top:3px solid var(--orange); margin-top:2vw; padding-top:1.5vw; }
.cu-limit strong { font:700 1.75vw var(--heading); }
.cu-limit p { margin:.7vw 0 0; color:#dbe5ef; }
@media (prefers-reduced-motion: reduce) { .cu-cursor { transition:none; } }

/* Closing: one compact recap, followed by one invitation. */
.risk-summary { display:flex; flex-direction:column; justify-content:center; gap:0; }
.summary-row { display:grid; grid-template-columns:3vw 27% 1fr; gap:1.4vw; align-items:center; padding:1.25vw 0; border-bottom:1px solid #ffffff30; }
.summary-row > b { color:var(--orange); font:700 1.4vw var(--ui); }
.summary-row > strong { font:700 1.75vw/1.2 var(--heading); }
.editorial .summary-row > p { font:400 1.5vw/1.35 var(--ui); margin:0; color:#e8eef7; }
.editorial .summary-owner { margin:1.4vw 0 0; font:600 1.5vw/1.3 var(--ui); color:var(--orange); }
.expert-cta { display:grid; grid-template-columns:1.35fr 1fr; gap:5vw; align-items:center; }
.expert-copy h3 { font:700 3vw/1.1 var(--heading); margin:0; }
.editorial .expert-role { color:var(--orange); margin:.5vw 0 1.5vw; font-size:1.6vw; }
.editorial .expert-copy > p { max-width:34vw; }
.expert-services { margin-top:2vw; display:flex; gap:3vw; }
.expert-services p { margin:0; }
.expert-services strong { display:block; font:700 1.8vw var(--heading); }
.expert-services span { display:block; max-width:16vw; font:400 1.3vw/1.4 var(--ui); margin-top:.6vw; color:#cad8e8; }
.expert-action { text-align:center; }
.expert-action img { display:block; width:14vw; height:14vw; margin:0 auto 1.2vw; background:white; padding:.5vw; }
.expert-action > strong { font:700 2vw/1.2 var(--heading); color:var(--orange); }
.editorial .expert-action p { font:400 1.4vw/1.4 var(--ui); margin:.7vw 0; }
.expert-action > span { color:#cad8e8; font:400 1vw var(--ui); }
