/* Round two: keep the existing teal/blue typography and strengthen only the hierarchy. */
.section-shell-v4 .section-shell-head h1{padding-bottom:13px}.section-shell-v4 .section-shell-head h1::after{width:46px}
.section-shell-v4 .section-tab-bg{background:#f5f8fb;border-top:1px solid #e0e8ee}.section-shell-v4 .section-tabs{gap:6px;min-height:61px;padding-block:10px}
.section-shell-v4 .section-tabs>a,.section-shell-v4 .section-tabs>a:first-child{gap:6px;padding:9px 11px;min-height:38px;border:1px solid transparent;border-radius:8px;color:#425e74;font-size:13px;line-height:1.25}
.section-shell-v4 .section-tabs>a+a::before{display:none}.section-shell-v4 .section-tabs .icon{width:15px;height:15px;color:#597d98}.section-shell-v4 .section-tabs>a:hover{background:white;border-color:#cddde7;color:#245189}
.section-shell-v4 .section-tabs>a[aria-current]{border-color:#b8cfea;background:#e7f0fc;color:#1d4c90;box-shadow:inset 0 -2px #5b85bf;font-weight:760}.section-shell-v4 .section-tabs>a[aria-current] .icon{color:#235d9b}
.overview-v4{padding:28px 0 30px}.overview-grid{display:grid;grid-template-columns:minmax(0,1.23fr) minmax(0,1fr);gap:clamp(18px,4vw,50px);align-items:center}
.overview-v4 .project-copy h2{font-size:clamp(31px,4.2vw,54px)}.overview-v4 .hero-lead{max-width:60ch}.overview-learning{border-top:1px solid #d4e5ea;margin-top:23px;padding-top:17px}.overview-learning h3{font-size:16px}.overview-learning ul{margin:12px 0 0;padding:0;list-style:none;display:flex;gap:8px;flex-wrap:wrap}.overview-learning li{margin:0;display:flex;gap:6px;align-items:center;font-size:12px;color:#31596d;background:#f8fcfd;border:1px solid #d4e5ec;border-radius:7px;padding:5px 7px}.overview-learning li .icon{color:#2c7b78;width:15px;height:15px}
.overview-media{min-width:0}.overview-media>.spread{margin-bottom:8px}.overview-media h3{font-size:15px}.overview-media .hero-graphic{margin-top:10px}.overview-media .hero-graphic img{max-height:252px;width:100%;height:auto;object-fit:contain}
.video-entry-v4{display:block;padding:0;overflow:hidden;box-shadow:0 3px 10px #24485b0c;border-radius:10px}.video-entry-v4 .video-entry-image{display:block;width:100%;height:auto;aspect-ratio:2.08;border-radius:0}.video-entry-v4 .video-entry-image img{object-position:50% 43%}.video-entry-v4 .video-entry-image .play-mark{width:38px;height:38px;inset:50% auto auto 50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #f8ffffbb;background:#163a51b8}.video-entry-v4:hover .play-mark{background:#146e61}.video-entry-v4 .play-mark svg{width:20px}.video-entry-v4 .video-time{position:absolute;right:6px;bottom:5px;color:white;background:#163246d9;padding:2px 5px;border-radius:4px;font-variant-numeric:tabular-nums}.video-entry-v4 .video-caption{display:block;padding:8px 10px}.video-entry-v4 .video-caption b{font-size:14px}
.overview-bottom{display:grid;gap:13px}.overview-bottom .stats{margin-top:17px}.overview-facts{padding:15px 19px;box-shadow:none}.overview-facts h3{font-size:16px}.overview-facts dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 17px;margin:12px 0 0}.overview-facts dl>div{min-width:0;border-top:1px solid #e3edf0;padding-top:6px}.overview-facts dt{font-size:12px;color:var(--muted)}.overview-facts dd{margin:2px 0 0;font-size:13px;font-weight:650}
.experiment-map{padding:19px 22px 22px;border:1px solid #d6e6ed;border-radius:14px;background:linear-gradient(130deg,#f4f9fd,#f9fcfc)}
.experiment-map>.spread{margin-bottom:15px}
.experiment-map-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.experiment-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #dce8ef;border-radius:10px;padding:12px;gap:8px}
.experiment-card h3{font-size:14px;line-height:1.38}
.experiment-card ul{font-size:12px;color:#405e72;margin:0;padding-left:1.15em}
.experiment-card-actions{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:8px;border-top:1px solid #e6eef2}
.experiment-card-actions>span{font-size:12px;font-weight:720;color:#176b60;white-space:nowrap}
.experiment-card-actions small{color:#526b7f}
.experiment-card-actions .text-link{font-size:12px}
.hours-crosswalk{padding-bottom:16px;border-bottom:1px solid #dbe8ed;margin-bottom:16px}.hours-crosswalk h3{margin:0 0 5px}.hours-crosswalk th,.hours-crosswalk td{white-space:normal;min-width:56px}.hours-crosswalk td:last-child a{white-space:nowrap}.stage-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.stage-strip>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:9px 10px;border-radius:8px;background:#f0f6fa;border:1px solid #dbe9f0;font-size:12px}.stage-strip>div.emphasis{background:#e7f5f0;border-color:#c6e4da;color:#156457}.stage-strip strong{font-size:23px;line-height:1.05}.steps-filter{padding:12px;background:#eff5fa;border-radius:8px;margin:12px 0}.steps-filter p{line-height:1.6}.step-module-cell{min-width:129px}.step-module-cell small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.step-number{width:auto;min-width:37px;padding:0 5px}.lesson-heading-v4{border-radius:12px;background:linear-gradient(120deg,#f1f7fc,#eaf6f2);border:1px solid #d4e6ea;padding:16px 19px}.lesson-heading-v4 .text-link,.lesson-heading-v4 .btn{margin-top:0}.lesson-route{margin-top:12px}

/* Shared visual-workstation zones: task strip, stage, data, controls, assistant. */
.pv-lab{padding:17px 0 14px}.pv-top{margin-bottom:13px}.pv-top h1{font-size:clamp(25px,3.1vw,39px);line-height:1.18}.pv-top .crumb{margin-bottom:6px}.pv-top .fine{margin-top:4px}
.pv-steps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;background:#eaf1f5;border:1px solid #d8e6ec;border-radius:10px;padding:6px;margin-bottom:13px}.pv-steps button{min-width:0;display:flex;align-items:center;gap:6px;text-align:left;padding:6px 7px;min-height:36px;border:1px solid transparent;border-radius:7px;background:transparent;font-weight:640;color:#4c677c;font-size:12px}.pv-steps button:hover{background:#f8fbfd}.pv-steps button span{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:6px;background:#dfeaf0;color:#46677f;font-size:10px}.pv-steps .icon{width:13px;height:13px}.pv-steps button.current{background:#fff;border-color:#9bc6ba;color:#125e55;box-shadow:inset 0 -2px #5caa98}.pv-steps button.current span{background:#1c796b;color:#fff}.pv-steps button.complete span{background:#d6eee4;color:#176757}
.pv-lab-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,335px);gap:12px;align-items:start}.pv-lab-grid>*{min-width:0}.pv-lab-main,.pv-side{gap:12px}.pv-side{align-content:start}.pv-lab .card{padding:14px 16px;box-shadow:0 4px 14px #2c4c6510}.pv-surface{overflow:hidden}.pv-scene-heading{gap:7px;align-items:flex-start;margin-bottom:10px}.pv-scene-heading .kicker{margin-bottom:5px;font-size:11px}.pv-scene-heading h2{font-size:clamp(21px,2.4vw,28px)}.pv-scene-heading p{font-size:13px;color:#49677b;margin-top:4px}
.pv-scene-scroll{overflow:auto;border-radius:10px}.pv-scene{position:relative;min-width:490px;background:#eef6f7;border:1px solid #dae8ed;border-radius:10px;overflow:hidden}.pv-scene>svg{width:100%;height:auto}.pv-hotspot{appearance:none;position:absolute;bottom:5%;left:var(--node);transform:translateX(-50%);display:flex;align-items:center;gap:5px;white-space:nowrap;padding:4px 6px;min-height:29px;font-size:12px;font-weight:690;border:1px solid #c4dce7;border-radius:6px;background:#fbfdfe;color:#2a506b;box-shadow:0 1px 3px #45687d16}.pv-hotspot.active,.pv-hotspot:hover{border-color:#71b8a6;background:#edf8f4;color:#155f54}.pv-hotspot span{font-size:9px;font-weight:770;color:#588193}.pv-hotspot .icon{width:13px;height:13px}.pv-bus{stroke:#a4bec9}.pv-flow{stroke:transparent}.pv-scene.energized .pv-bus{stroke:#7ab9ab}.pv-scene.energized .pv-flow{stroke:#137c65;stroke-dasharray:5 15;animation:pv-energy .8s linear infinite}.pv-scene.tripped .pv-bus{stroke:#c56b68;stroke-dasharray:7 5}@keyframes pv-energy{to{stroke-dashoffset:-40}}
.pv-inspector{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;padding:7px 0;font-size:12px;color:#4f687a}.pv-inspector b{color:#1f5770}.pv-meter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.pv-meter{min-width:0;background:#f1f7fa;border:1px solid #e0ebf0;border-radius:7px;padding:6px 7px}.pv-meter span,.pv-meter b{display:block}.pv-meter span{font-size:11px;color:#4e677b}.pv-meter b{font-size:16px;color:#215773;font-variant-numeric:tabular-nums;line-height:1.36;overflow-wrap:anywhere}.pv-meter small{font-size:10px;font-weight:650;color:#3b6c7e}
.pv-terminal{background:#f6fafc;border:1px solid #d6e7ee;border-radius:9px;padding:9px 10px;margin:2px 0 9px}.pv-terminal h3{font-size:15px}.pv-terminal .fine{margin:2px 0 0;font-size:12px}.pv-patchboard{height:112px;position:relative;display:flex;justify-content:space-between;align-items:center;margin:5px 0;border-radius:7px;border:1px solid #e1edf2;background:#fff}.pv-patchboard>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.patch-path{stroke:#c6dce5;stroke-width:2;stroke-dasharray:5 6;fill:none;vector-effect:non-scaling-stroke}.patch-path.joined{stroke-dasharray:none;stroke-width:3}.patch-path.positive{stroke:#bd5b60}.patch-path.negative{stroke:#447cac}.patch-side{position:absolute;left:14.2%;transform:translateX(-50%);display:grid;justify-items:center;gap:8px;top:20px;z-index:1}.patch-side:nth-of-type(2){left:85.8%}.pv-pin{width:35px;height:35px;touch-action:none;border:1px solid #e1c2c2;background:#fbebea;border-radius:50%;color:#9e3e44;font-size:19px;font-weight:760;line-height:1}.pv-pin.n{background:#e9f2fb;border-color:#bccfe4;color:#315d98}.pv-pin:hover,.pv-pin[aria-pressed=true]{box-shadow:0 0 0 3px #83afc970}.patch-preview{z-index:2}.patch-preview path{stroke:#1a8e79;stroke-width:3;fill:none;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}
.pv-event{display:flex;gap:7px;align-items:flex-start;padding:7px 9px;margin-top:9px;background:#e9f6f0;border-radius:7px;color:#215e53;font-size:12px;animation:pv-notify .22s ease-out}.pv-event.warn{background:#fff0ed;color:#8f3639}.pv-event .icon{width:15px;height:15px;margin-top:2px}@keyframes pv-notify{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}
.pv-controls h3{font-size:17px}.pv-controls.stack,.pv-ai.stack{gap:10px}.pv-controls .btn{min-height:35px;font-size:13px;padding:7px 10px}.pv-controls .btn.sm{min-height:27px;padding:4px 8px;font-size:12px}.pv-controls .choice{font-size:13px;line-height:1.6}.pv-compact-check{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:4px 0;border-bottom:1px solid #e6eef1;font-size:12px}.pv-compact-check .icon{color:var(--teal);width:14px;height:14px}.pv-check-group>small{font-weight:650;color:#506b7e}
.pv-range>span{display:flex;justify-content:space-between;gap:5px;align-items:baseline}.pv-range>span b{font-weight:680}.pv-range output{color:#116659;font-weight:730;font-variant-numeric:tabular-nums}.pv-range input[type=range]{height:19px;margin:2px 0}.pv-test-actions{padding-top:9px;border-top:1px solid #e1ecf1}.pv-test-actions p{margin-top:4px}.pv-field select{min-height:34px;padding:5px 8px;font-size:13px}
.pv-ai{background:linear-gradient(150deg,#f4f4fc,#fff 70%);border-color:#d9dcee}.pv-ai>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;color:#494e92;font-weight:750;font-size:15px}.pv-ai>summary::-webkit-details-marker{display:none}.pv-ai>summary::after{content:"＋";margin-left:auto}.pv-ai[open]>summary::after{content:"−"}.pv-ai summary small{display:block;font-size:11px;color:#566984;font-weight:500}.pv-ai-body{border:1px solid #e1e2ee;background:#fff;border-radius:8px;padding:9px;margin-top:9px;font-size:12px;line-height:1.56;color:#415a72}.pv-ai-body>b{color:#4b5193}.pv-ai-body p{margin:4px 0}.pv-ai-body small{color:#2f6a73}.pv-ai-topics{gap:4px;margin:8px 0}.pv-ai-topics .btn{min-height:26px;padding:3px 6px;font-size:11px}.pv-ai>.fine{margin-top:6px;font-size:11px}
.pv-data-card .chart{margin-top:4px}.pv-data-card h3{font-size:17px}.pv-data-card .fine{font-size:12px}.pv-curve-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.pv-curve-pair>div{min-width:0}.pv-curve-pair h4{font-size:12px;color:#3e6077}.pv-curve-pair .chart .legend{font-size:10px;gap:4px 7px;padding:3px 6px 7px}.pv-curve-pair .chart .axis{font-size:14px}.pv-chart-empty{min-height:110px;display:grid;place-content:center;justify-items:center;gap:7px;text-align:center;border-radius:9px;background:#f4f8fa;color:#55748a;font-size:13px}.pv-powerbars{display:grid;gap:5px;padding:6px 0}.pv-powerbars>div{font-size:12px;display:grid;grid-template-columns:142px minmax(0,1fr);align-items:center;gap:7px;color:#3c6479}.pv-powerbars i{display:block;height:9px;width:var(--bar);background:#6da6c4;border-radius:6px;transition:width .25s ease}.pv-powerbars>div:last-child i{background:#5cae98}.pv-raw{align-items:flex-end}
.pv-evidence>ul{padding:0;margin:0;list-style:none;font-size:13px}.pv-evidence>ul li{display:flex;gap:6px;align-items:center;margin:3px 0}.pv-evidence>ul .icon{width:15px;height:15px;color:#408c82}.pv-concept summary span{font-weight:500;font-size:11px;margin-left:5px;color:#5b7486}.pv-concept-options{display:flex;gap:5px;flex-wrap:wrap}.pv-concept-options button{text-align:left}.pv-concept-feedback{padding:8px 10px;border-radius:8px;font-size:13px;animation:pv-notify .28s ease-out}.pv-concept-feedback.correct{color:#176457;background:#e6f5ed}.pv-concept-feedback.retry{color:#7d5318;background:#fff3df}.pv-concept-feedback p{margin-top:2px}.pv-log p{margin:4px 0;font-size:12px}.pv-log time{color:#597484}
.pv-demo-intro{max-width:960px}.pv-demo-intro .card{padding:24px 26px}.pv-demo-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pv-demo-summary>div{display:flex;gap:7px;align-items:flex-start;border:1px solid #d8e8ef;border-radius:8px;background:#f3f8fa;padding:8px 9px;font-size:13px;font-weight:680}.pv-demo-summary b{color:#22786c}.pv-demo-summary small{display:block;color:#4c6d81;font-weight:500}.pv-demo-bar{background:#eff8f6;border-bottom:1px solid #bcdad2;padding:8px 0;position:sticky;top:0;z-index:4}.pv-demo-bar .kicker{margin:0;font-size:10px}.pv-demo-bar h2{font-size:18px}.pv-demo-bar .fine{margin-top:4px}.pv-demo-bar .progress{margin:4px 0 0}.pv-demo-report .report-layout{grid-template-columns:minmax(0,1fr)}.pv-demo-report .report-editor,.pv-demo-report .subhero .flow{display:none}
@media(max-width:1000px){.experiment-map-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pv-lab-grid{grid-template-columns:minmax(0,1fr) 270px}.pv-steps{display:flex;overflow-x:auto}.pv-steps button{flex:none}}
@media(max-width:780px){.overview-grid{grid-template-columns:1fr}.overview-media{max-width:600px}.overview-media .hero-graphic img{max-height:230px}.overview-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}.experiment-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-lab-grid{display:flex;flex-direction:column}.pv-lab-main,.pv-side{display:contents}.pv-surface,.pv-controls,.pv-data-card,.pv-ai,.pv-evidence{width:100%}.pv-surface{order:1}.pv-controls{order:2}.pv-data-card{order:3}.pv-ai{order:4}.pv-evidence{order:5}.pv-demo-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:470px){.section-shell-v4 .section-tabs>a,.section-shell-v4 .section-tabs>a:first-child{padding-inline:7px;font-size:12px}.overview-v4 .project-copy .btn{width:auto}.overview-facts dl,.experiment-map-grid{grid-template-columns:1fr}.overview-media .project-videos{grid-template-columns:repeat(2,minmax(0,1fr))}.video-entry-v4 .video-caption b{font-size:12px}.stage-strip>div{padding:7px}.stage-strip strong{font-size:18px}.pv-lab .card{padding:10px 11px}.pv-curve-pair{grid-template-columns:1fr}.pv-meter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pv-demo-bar{position:static}.pv-demo-summary>div{display:block}.pv-demo-summary b{margin-right:4px}}
@media(prefers-reduced-motion:reduce){.pv-flow,.pv-event,.pv-concept-feedback{animation:none!important}}
@media print{.pv-demo-bar{display:none}.report-paper .pv-curve-pair{display:block}}
.step-module-cell a{display:inline-block;line-height:1.42;padding:2px 0}.step-module-cell>a{font-weight:690}.step-module-cell a:focus-visible{outline-offset:1px}
