/* Compositions built from SystemRail, CutCorner, SignalNode and EngineeringIndex. */
body { font-feature-settings:"ss01"; }
.page-shell { position:relative; }
.container { position:relative; }
.section,.case-chapter { padding-block:var(--section-padding); }
.section-kicker { position:relative; display:flex; align-items:center; gap:24px; border:0; padding-bottom:20px; }
.system-rail { display:block; height:1px; background:var(--line); position:relative; flex:1; min-width:32px; }
.system-rail::before { content:""; position:absolute; left:0; width:calc(var(--progress,0) * 100%); height:1px; background:var(--signal); }
.signal-node { position:absolute; width:7px; height:7px; background:var(--signal); left:calc(var(--progress,0) * (100% - 7px)); top:-3px; }
.system-rail .signal-node { transition:left var(--standard,260ms) var(--easing); }
.section-heading { max-width:22ch; }
.section-lede { font-size:var(--type-body-l); }
.site-header { border:0; }
.header-inner { min-height:72px; }
:root { --header-height:72px; }
.site-nav { gap:clamp(14px,2vw,28px); }
.site-nav a { font-size:var(--type-meta); position:relative; min-height:44px; display:inline-flex; align-items:center; gap:7px; }
.site-nav a[aria-current]::after { content:""; width:5px; height:5px; background:var(--signal); position:absolute; bottom:0; left:0; }
.brand-mark { font-family:var(--font-display); font-weight:600; }
.brand-mark span { color:var(--ink); }
.header-progress { margin:0; height:1px; background:var(--line); }
.header-progress .signal-node { top:-2px; height:5px; }
.topic-progress { position:absolute; top:100%; inset-inline:0; display:flex; align-items:center; gap:16px; min-height:32px; padding:6px max(var(--gutter,20px),calc((100% - 1440px)/2)); background:var(--background); border-bottom:1px solid var(--line); opacity:0; visibility:hidden; pointer-events:none; font:400 var(--type-meta)/1.4 var(--font-mono); color:var(--secondary); }
.topic-progress.is-visible { opacity:1; visibility:visible; }
.topic-progress-label { max-width:40%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.topic-progress-percent { min-width:4ch; text-align:right; font-variant-numeric:tabular-nums; }
.topic-progress .system-rail { height:2px; }
.topic-progress .system-rail::before { width:100%; height:2px; transform:scaleX(var(--progress,0)); transform-origin:left; }
.topic-progress .signal-node { display:none; }
html { scroll-padding-top:calc(var(--header-height) + 48px); }
.button.primary { height:46px; border-radius:4px; border:1px solid var(--ink); background:var(--ink); color:var(--background); position:relative; overflow:hidden; transition:transform var(--normal) var(--easing); }
.button.primary::after { content:"→"; margin-left:16px; transition:transform var(--normal) var(--easing); }
.button.primary:hover { transform:translateY(-2px); }
.button.primary:hover::after { transform:translateX(4px); }
.button:not(.primary),.text-link,.case-back { border-radius:0; transition:color var(--micro) var(--easing),border-color var(--micro) var(--easing),transform var(--normal) var(--easing); }
.text-link:hover { transform:translateX(3px); }
.hero { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:28px var(--gutter); align-items:start; padding-block:clamp(32px,4vw,64px) 64px; }
.hero-heading { grid-column:1/-1; border-bottom:1px solid var(--line); padding-bottom:28px; position:relative; }
.hero-index { font-size:var(--type-meta); margin-bottom:20px; }
.hero h1 { font-family:var(--font-display); font-size:var(--type-display); font-weight:500; line-height:1.02; letter-spacing:-.045em; margin:0 0 30px -.055em; white-space:nowrap; }
.hero-role { font:400 var(--type-meta)/1.7 var(--font-mono); margin-left:33.333%; max-width:65ch; }
.hero-copy { grid-column:5/-1; grid-row:2; max-width:58ch; }
.hero-intro { font-size:var(--type-body-l); color:var(--ink); max-width:40ch; }
.hero-thought { color:var(--secondary); margin-top:24px; font-size:var(--type-body); }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:32px; }
.hero-actions .primary { width:100%; }
.hero-visual { grid-column:1/span 3; grid-row:2; margin:16px 0 0; position:relative; max-width:224px; }
.hero-visual::before { content:""; position:absolute; height:1px; width:100%; left:0; top:-16px; background:var(--line); }
.profile-portrait-image { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:50% 35%; }
.portrait-frame { width:100%; aspect-ratio:4/5; overflow:hidden; flex:none; }
.portrait-frame > .profile-portrait-image { height:100%; transform:scale(1.12); transform-origin:50% 35%; }
.profile-portrait-meta { padding-top:16px; border-left:1px solid var(--line); padding-left:12px; display:flex; flex-direction:column; font:400 var(--type-meta)/1.6 var(--font-mono); color:var(--secondary); }
.profile-portrait-meta strong { font-weight:400; }
.trajectory-content { border-left:1px solid var(--line); padding-left:clamp(24px,4vw,64px); }
.trajectory-content::before { background:var(--line); }
.trajectory-step.is-reading .trajectory-content::before { background:var(--signal); }
.trajectory-step.is-reading .trajectory-content { border-left-color:var(--signal); }
.trajectory-step:nth-child(even) .trajectory-content { padding-right:8.333%; }
.project { position:relative; padding:clamp(28px,4vw,64px); border:1px solid var(--line); margin-bottom:clamp(24px,4vw,64px); background:var(--surface); gap:32px var(--gutter); clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%); }
.project::before { content:""; position:absolute; top:0; left:0; height:2px; width:calc(var(--progress,0)*100%); background:var(--signal); }
.project-copy h3 { font-family:var(--font-display); font-size:var(--type-h3); }
.project-copy>p:not(.mono-label) { max-width:60ch; }
.project-metric strong,.result-number { font-family:var(--font-display); font-size:var(--type-metric); font-weight:500; font-variant-numeric:tabular-nums; letter-spacing:-.045em; }
.project-metric span,.result-number small { max-width:100%; }
.project:has(.architecture) .project-evidence { padding-left:24px; border-left:1px solid var(--line); }
.project:nth-child(even) { margin-left:8.333%; }
.architecture { --cut:12px; }
.architecture-viewport { border-bottom:1px solid var(--line); }
.architecture-node { fill:var(--surface); stroke:var(--secondary); stroke-opacity:.55; }
.architecture-connector { stroke:var(--secondary); }
.architecture.is-focused .architecture-connector { stroke:var(--signal); }
.architecture.is-focused .architecture-connector { stroke-dasharray:8 4; animation:signal-travel var(--major) var(--easing) both; }
@keyframes signal-travel { from { stroke-dashoffset:24; } to { stroke-dashoffset:0; } }
.architecture-number { fill:var(--secondary); }
.architecture .is-selected .architecture-number { fill:var(--accent); }
.architecture-copy { padding-left:20px; border-left:2px solid var(--signal); min-height:3.4em; }
.architecture-mobile { display:none; list-style:none; margin:0; }
.architecture-label { font-weight:400; }
.diagram-controls,.flow-switch,.spc-controls { position:relative; }
.selector-marker { position:absolute; left:var(--marker-x,0px); width:var(--marker-width,0px); height:2px; bottom:-1px; background:var(--signal); transition:left var(--normal) var(--easing),width var(--normal) var(--easing); pointer-events:none; }
.diagram-controls button,.flow-switch button,.spc-controls button { border-bottom-color:transparent!important; }
.diagram-node { rx:6px; fill:var(--surface); }
.diagram-node.emphasis { stroke:var(--signal); stroke-width:1.5px; }
.chart-note { border:1px solid var(--line); border-left:2px solid var(--signal); padding:12px 16px; background:var(--surface); margin-top:16px; font:400 var(--type-meta)/1.6 var(--font-mono); min-height:4.5em; }
.chart-point { cursor:crosshair; outline:none; }
.chart-point:focus-visible { stroke:var(--ink); stroke-width:2px; }
.depth-grid { grid-template-columns:7fr 5fr; gap:clamp(24px,4vw,64px); }
.depth-editorial { padding:clamp(24px,3vw,48px); background:var(--surface); border:1px solid var(--line); clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%); }
.depth-note { border-top:0; border-left:1px solid var(--line); padding:20px 0 20px 24px; transition:transform var(--normal) var(--easing); }
.depth-note:hover { transform:translateX(4px); }
.legacy-panel { padding-top:32px; }
.stack-detail { background:var(--surface); padding:24px; border:1px solid var(--line); border-top:2px solid var(--signal); top:100px; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%); }
.stack-detail .system-rail { margin:0 0 24px; }
.tool-button { transition:padding-left var(--normal) var(--easing),color var(--micro) var(--easing); }

.tool-button[aria-pressed="true"] { border-left:2px solid var(--signal); padding-left:12px; }
.case-hero { padding-block:clamp(40px,6vw,96px); }
.case-hero h1 { font-size:var(--type-h1); line-height:1.12; max-width:24ch; }
.case-hero-aside { padding:32px; background:var(--surface); border-top:1.5px solid var(--signal); align-self:end; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%); }
.case-process-rail { display:flex; flex-wrap:wrap; gap:0 24px; padding:0 var(--side); background:var(--background); border-block:1px solid var(--line); position:sticky; top:calc(var(--header-height) + 33px); z-index:9; }
.case-process-rail a { display:flex; align-items:center; gap:8px; min-height:46px; white-space:nowrap; font:400 var(--type-meta) var(--font-mono); border-bottom:2px solid transparent; }
.case-process-rail a[aria-current] { border-bottom-color:var(--signal); color:var(--accent); }
html:has(.case-process-rail) { scroll-padding-top:calc(var(--header-height) + 104px); }
.chapter-evidence { padding-left:24px; border-left:1px solid var(--line); }
.decision-card { background:var(--surface); border:1px solid var(--line); padding:24px; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%); transition:transform var(--normal) var(--easing); }

.case-result { align-items:center; }
.case-result .result-number { padding:32px 32px 32px 0; border-right:1px solid var(--line); }
.closing { grid-template-columns:7fr 4fr; border-top:1.5px solid var(--signal); }
.closing-copy h2 { font-size:var(--type-h2); }
.closing-link { min-height:72px; }
.closing-link strong { font-family:var(--font-display); font-size:var(--type-h3); }
.site-footer { background:var(--surface); }
.footer-inner { align-items:center; }
@media (max-width:1100px) {
  .hero { grid-template-columns:repeat(8,minmax(0,1fr)); }
  .hero-visual { grid-column:1/span 2; }
  .hero-copy { grid-column:3/-1; }
  .hero-role { margin-left:25%; }
  .header-actions { gap:16px; }
  .site-nav { gap:14px; }
  .project:nth-child(even) { margin-left:4%; }
  .depth-grid { grid-template-columns:1.2fr 1fr; gap:24px; }
}
@media (max-width:860px) {
  :root { --header-height:64px; }
  .header-inner { min-height:64px; }
  .case-process-rail { top:calc(var(--header-height) + 33px); }
  .hero-copy { grid-column:4/-1; }
  .hero-visual { grid-column:1/span 3; }
  .hero-role { margin-left:0; }
  .stack-detail { top:auto; }
  .project:nth-child(even) { margin-left:0; }
  .case-hero-aside { padding:24px; }
  .case-result .result-number { border-right:0; border-bottom:1px solid var(--line); }
}
@media (max-width:1000px) {
  .architecture-viewport { display:none; }
  .architecture-mobile { display:grid; grid-template-columns:24px 1fr; position:relative; padding:12px 0; }
  .architecture-mobile::before { content:""; position:absolute; left:7px; top:24px; bottom:24px; width:1px; background:var(--line); }
  .mobile-node { grid-column:2; padding:16px; margin-bottom:16px; position:relative; background:var(--surface); border:1px solid var(--line); clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%); }
  .mobile-node::before { content:attr(data-step); display:block; font:400 var(--type-meta) var(--font-mono); color:var(--secondary); margin-bottom:8px; }
  .mobile-node strong { font:500 var(--type-small) var(--font-mono); }
  .mobile-node p { margin-top:8px; color:var(--secondary); }
  .mobile-node.is-selected { border-color:var(--signal); border-left-width:3px; }
  .mobile-node::after { content:"↓"; display:block; margin-top:8px; color:var(--secondary); }
  .mobile-node:last-child::after { content:"↳"; }
  .architecture.has-overflow .architecture-scroll-hint { display:none; }
  .architecture .diagram-controls { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr)); gap:0 16px; overflow:visible; }
  .architecture .diagram-controls button { white-space:normal; text-align:left; min-width:0; min-height:44px; line-height:1.5; }
  .architecture .diagram-controls button[aria-pressed="true"] { box-shadow:inset 0 -2px var(--signal); }
  .architecture .diagram-controls .selector-marker { display:none; }
  .architecture-mobile { grid-template-columns:24px repeat(2,minmax(0,1fr)); gap:0 16px; }
  .mobile-node { grid-column:2/-1; }
  .case-process-rail { position:relative; top:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
  .case-process-rail a { white-space:normal; min-width:0; line-height:1.5; padding-block:10px; }
  html:has(.case-process-rail) { scroll-padding-top:calc(var(--header-height) + 48px); }
}
@media (max-width:700px) {
  .depth-grid { grid-template-columns:1fr; }
  .depth-editorial { grid-row:auto; padding:24px; }
}
html { scroll-behavior:smooth; }
.mobile-node { transition:border-color var(--normal) var(--easing),background-color var(--normal) var(--easing); }

@media (max-width:600px) {
  .hero { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 16px; padding-block:40px 64px; }
  .hero-heading { padding-bottom:24px; }
  .hero h1 { white-space:normal; max-width:unset; margin-bottom:24px; }
  .hero-role { max-width:34ch; }
  .hero-copy { grid-column:1/-1; grid-row:2; }
  .hero-visual { grid-column:1/-1; grid-row:3; margin:8px 0 0; max-width:none; }
  .profile-portrait { display:flex; align-items:center; gap:20px; max-width:none; }
  .profile-portrait-image { aspect-ratio:4/5; width:80px; flex:none; }
  .portrait-frame { width:80px; }
  .profile-portrait-meta { padding-left:8px; }
  .hero-intro { max-width:unset; }
  .section-kicker { gap:12px; }
  .trajectory-content { padding:0; }
  .trajectory-step:nth-child(even) .trajectory-content { padding-right:0; }
  .project { padding:24px 16px; }
  .project:has(.architecture) .project-evidence { padding:0 0 0 16px; }
  .case-process-rail { gap:0 20px; }
  .closing { grid-template-columns:1fr; }
  .closing .section-kicker { margin-bottom:24px; }
  .chapter-evidence { padding-left:16px; }
  .case-decision-grid { gap:16px; }
}
/* Reasoning is one compact sequence, separate from the hero's reading column. */
.reasoning-instrument { grid-column:1/-1; grid-row:3; min-width:0; padding-top:16px; border-top:1px solid var(--line); }
.instrument-header { display:flex; align-items:center; justify-content:space-between; gap:16px; font:400 var(--type-meta)/1.5 var(--font-mono); color:var(--secondary); }
.instrument-pause { min-width:44px; min-height:44px; padding:8px 12px; border:1px solid var(--line); font:400 var(--type-meta)/1.5 var(--font-mono); }
.reasoning-track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); position:relative; padding:0; margin:12px 0; }
.reasoning-track::before { content:""; position:absolute; height:1px; background:var(--line); top:0; left:12.5%; right:12.5%; }
.reasoning-track::after { content:""; position:absolute; height:1px; background:var(--signal); top:0; left:12.5%; width:calc(var(--stage-progress,0)*75%); transition:width var(--major) var(--easing); }
.reasoning-track > .signal-node { left:calc(var(--signal-x,0px) - 3px); top:-3px; z-index:1; transition:left var(--major) var(--easing),top var(--major) var(--easing); }
.reasoning-step { position:relative; min-width:0; min-height:44px; padding:14px 4px 8px; border:0; text-align:center; white-space:nowrap; font:400 var(--type-flow)/1.5 var(--font-mono); color:var(--secondary); transition:color var(--micro) var(--easing),background-color var(--normal) var(--easing); }
.reasoning-step::before { content:""; position:absolute; width:5px; height:5px; background:var(--line); top:-2px; left:calc(50% - 2px); }
.reasoning-step[aria-pressed="true"],.reasoning-step:hover,.reasoning-step:focus-visible { color:var(--accent); background:var(--surface); }
.reasoning-copy { max-width:65ch; min-height:3.4em; font-size:var(--type-small); color:var(--secondary); }
.hero-intro,.case-hero-summary { max-width:52ch; }
.section-lede,.chapter-copy > p,.result-copy > p { max-width:68ch; }
.hero-actions .primary { width:auto; }
/* Chart labels retain physical type size while the plotted geometry scales. */
.spc-scroll { max-width:480px; margin-inline:auto; overflow:visible; }
.spc-diagram .diagram-label { font-size:calc(var(--diagram-label) / var(--svg-scale,1)); }
.spc-diagram .diagram-label.small { font-size:calc(var(--diagram-small) / var(--svg-scale,1)); }
.spc-diagram .diagram-label.tiny { font-size:calc(var(--diagram-tiny) / var(--svg-scale,1)); }
.spc-scroll:has(.spc-decision[aria-hidden="false"]) .spc-diagram { display:none; }
.spc-decision { display:grid; grid-template-columns:1fr 1.5fr; gap:20px 28px; padding-block:12px; font:400 var(--type-small)/1.6 var(--font-mono); }
.spc-decision { position:relative; }
.spc-decision::before { content:""; position:absolute; width:1px; left:calc((100% - 28px)/2.5 + 14px); top:24px; bottom:24px; background:var(--secondary); }
.decision-question { align-self:center; grid-row:1/span 2; padding:16px; border:1px solid var(--secondary); position:relative; }
.decision-question::after { content:""; position:absolute; left:100%; top:50%; width:28px; height:1px; background:var(--secondary); }
.decision-branch { position:relative; padding:12px 16px; border-left:1px solid var(--secondary); background:var(--surface); }
.decision-branch::before { content:""; position:absolute; width:14px; height:1px; left:-15px; top:50%; background:var(--secondary); }
.decision-branch > span { display:block; color:var(--secondary); font-size:var(--type-meta); margin-bottom:4px; }
.decision-positive { border-left-color:var(--signal); }
.decision-next { border-top:1px solid var(--line); margin-top:16px; padding-top:12px; }
.decision-next::before { content:"↓"; display:block; color:var(--accent); margin-bottom:8px; }
.spc-panel[aria-hidden="false"],[data-flow-panel][aria-hidden="false"],.architecture .is-selected { animation:state-reveal var(--normal) var(--easing); }
.ready .hero-heading,.ready .case-hero-copy { animation:state-reveal var(--major) var(--easing); }
@keyframes state-reveal { from { opacity:.3; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
.project,.decision-card,.mobile-node { transition:border-color var(--normal) var(--easing),background-color var(--normal) var(--easing),transform var(--normal) var(--easing); }
.project:focus-within,.project:hover { border-color:var(--secondary); }
.site-nav a,.case-process-rail a,.instrument-pause { transition:color var(--micro) var(--easing),background-color var(--normal) var(--easing); }
.instrument-pause:hover { background:var(--elevated); }
@media (max-width:600px) {
  .reasoning-instrument { grid-row:4; display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; }
  .instrument-header { grid-column:1/-1; }
  .reasoning-track { grid-template-columns:1fr; grid-column:1; margin:0; padding-left:12px; }
  .reasoning-track::before { top:22px; bottom:22px; left:2px; width:1px; height:auto; right:auto; }
  .reasoning-track::after { top:22px; left:2px; width:1px; height:calc(var(--stage-progress,0)*(100% - 44px)); transition:height var(--major) var(--easing); }
  .reasoning-track > .signal-node { left:-1px; top:calc(var(--signal-y,22px) - 3px); }
  .reasoning-step { text-align:left; padding:10px 8px; }
  .reasoning-step::before { top:calc(50% - 2px); left:-12px; }
  .reasoning-copy { align-self:center; margin:0; }
  .spc-decision { grid-template-columns:1fr; gap:16px; }
  .spc-decision::before,.decision-branch::before { display:none; }
  .decision-question { grid-row:auto; }
  .decision-question::after { display:none; }
  .decision-branch { margin-left:16px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .button.primary:hover,.decision-card:hover,.depth-note:hover,.text-link:hover { transform:none; }
}

/* Shared tours use the existing quiet label scale and native controls. */
.guided-toggle { display:block; min-height:44px; margin:8px 0 0 auto; padding:8px 12px; border:1px solid var(--line); color:var(--secondary); font:400 var(--type-meta)/1.5 var(--font-mono); }
.guided-toggle:hover,.guided-toggle:focus-visible { color:var(--accent); border-color:currentColor; }
@keyframes guided-signal { 0%,100% { opacity:1; } 50% { opacity:.35; } }
[data-activity="idle"] .guided-signal .selector-marker,
[data-activity="idle"] .guided-signal .mobile-node.is-selected::before,
[data-activity="idle"] .guided-signal .reasoning-track > .signal-node { animation:guided-signal 900ms ease-out 1; }
img, picture, svg, canvas, [data-protected-media] { -webkit-user-drag:none; -webkit-touch-callout:none; user-select:none; }
/* Alternate states share geometry so a tour cannot displace the reading position. */
.guided-panels,.spc-scroll { display:grid; }
.guided-panels > [data-flow-panel],.spc-scroll > .spc-diagram,.spc-scroll > .spc-decision { grid-area:1/1; min-width:0; }
.guided-panels > [data-flow-panel][hidden] { display:block!important; visibility:hidden; pointer-events:none; }
.spc-decision[aria-hidden="true"] { display:grid; visibility:hidden; pointer-events:none; }
.spc-scroll:has(.spc-decision[aria-hidden="false"]) .spc-diagram { display:block; visibility:hidden; pointer-events:none; }
.chart-note[hidden] { display:block!important; visibility:hidden; }
.guided-feedback { margin-top:8px; min-width:0; color:var(--secondary); font:400 var(--type-meta)/1.5 var(--font-mono); }
.guided-status { display:block; height:3em; overflow:hidden; }
.guided-countdown { display:block; height:2px; background:var(--line); overflow:hidden; margin-top:4px; }
.guided-countdown > i { display:block; width:100%; height:100%; background:var(--signal); transform-origin:left; animation:guided-countdown var(--guided-duration) linear both; }
@keyframes guided-countdown { from { transform:scaleX(0); } to { transform:scaleX(1); } }
.guided-feedback[data-state="playing"] .guided-status { color:var(--accent); }
.guided-feedback[data-state="complete"] .guided-countdown { visibility:hidden; }
.instrument-header .guided-feedback { flex-basis:100%; margin-top:0; }
.instrument-header { flex-wrap:wrap; }

/* Case dossier: constraints, implementation and evidence interpretation. */
.chapter-copy h3 { font-size:var(--type-body-l); margin:28px 0 12px; }
.chapter-evidence > .mono-label { grid-column:1/-1; margin-bottom:0; }
.topic-progress { padding-inline:max(var(--side),calc((100% - var(--max))/2)); }
.case-process-rail { padding-inline:max(var(--side),calc((100% - var(--max))/2)); }
@media(max-width:860px) {
  .case-result .result-number { padding:0 0 24px; max-width:none; }
  .case-result .result-number small { border-top:0; margin-top:12px; padding-top:0; }
}
.case-implementation { margin-top:48px; padding-top:32px; border-top:1px solid var(--line); }
.case-implementation>h3 { font-size:var(--type-h3); margin-bottom:24px; }
.case-implementation ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding:0; list-style:none; counter-reset:implementation; }
.case-implementation li { counter-increment:implementation; padding-left:20px; border-left:1px solid var(--line); }
.case-implementation li::before { content:counter(implementation,decimal-leading-zero); display:block; color:var(--accent); font:400 var(--type-meta)/1.5 var(--font-mono); margin-bottom:16px; }
.case-implementation strong { display:block; margin-bottom:12px; font-weight:500; }
.case-implementation p,.case-verification p { color:var(--secondary); max-width:75ch; }
.case-verification { margin-top:48px; border-top:1px solid var(--line); padding-top:32px; }
.case-verification>h2 { font-size:var(--type-h3); margin-bottom:16px; }
.verification-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:28px; }
.verification-grid>div { padding:24px; background:var(--surface); border-left:2px solid var(--line); }
.verification-grid h3 { font-size:var(--type-body-l); margin-bottom:12px; }
.verification-grid p { font-size:var(--type-small); }
.decision-card>h3 { margin-top:24px; }
@media(max-width:700px) { .case-implementation ol,.verification-grid { grid-template-columns:1fr; gap:24px; } .verification-grid>div { padding:20px; } }
.tool-evidence-link { display:block; width:fit-content; margin-top:16px; padding-block:10px; color:var(--accent); text-underline-offset:5px; }
.architecture-loop-note { font:400 var(--type-small)/1.6 var(--font-sans); color:var(--secondary); padding:12px 16px; border-left:2px solid var(--accent); margin-block:16px; }
.decision-pattern { border-top:1px solid var(--line); padding-top:16px; margin-top:20px; font:400 var(--type-small)/1.8 var(--font-sans); color:var(--ink); }
.toolkit-provenance { display:flex; flex-wrap:wrap; gap:12px 28px; margin-bottom:40px; border-block:1px solid var(--line); padding-block:12px; }
.toolkit-provenance a { padding-block:12px; font-size:var(--type-small); text-underline-offset:5px; }
