/* Episode 12 uses the established editorial shell; every exhibit is scoped. */
.episode-12-article { --e12-red:#B83D4F; --e12-green:#22756B; }
.episode-12-article :is(h1,h2,.article-eyebrow,.article-back,.article-byline,.article-next a) { letter-spacing:0; }
.episode-12-article .article-header h1 { font-size:3.25rem; line-height:1.12; }
.episode-12-article .article-header h1 em,.e12-figure em { font:italic 1.15em/1.1 var(--font-serif); }
.episode-12-article .article-header h1 em { color:var(--blue); }
.episode-12-article .article-summary { font-size:1.4rem; }
.episode-12-article .article-byline { color:#BDD0DB; text-transform:none; font-size:.8rem; }
.episode-12-article .article-byline a { color:inherit; text-decoration:underline; }
.episode-12-article .article-copy > p { font-size:1.075rem; }
.episode-12-article .article-copy > p:first-child { font-size:1.2rem; }
.episode-12-article .article-copy > ul { padding-left:1.35rem; margin:1.1rem 0 1.8rem; }
.episode-12-article .article-copy > ul li { font-size:1.05rem; line-height:1.8; margin:.65rem 0; }
.episode-12-article .article-copy h2 { font-size:2rem; }
.episode-12-article .article-copy a { overflow-wrap:anywhere; }
.episode-12-article .article-rail a { font-size:.8rem; }
.episode-12-article .article-next h2 { font-size:2.4rem; line-height:1.2; }
.episode-12-article .article-next-links a { font-size:1rem; text-transform:none; }
.e12-figure { border-top:2px solid var(--navy); padding-top:1.6rem; margin:3rem 0; color:var(--navy); font-variant-numeric:tabular-nums; scroll-margin-top:90px; }
.e12-figure,.e12-figure * { box-sizing:border-box; letter-spacing:0; }
.e12-figure [hidden] { display:none!important; }
.e12-figure strong { color:inherit; }
.e12-figure > figcaption { font-size:1.9rem; font-weight:600; line-height:1.25; margin:0 0 1.6rem; }
.e12-figure > figcaption em { display:inline; color:var(--splash); font-size:1.35em; }
.e12-kicker { display:block; font:500 .75rem/1.5 var(--font-mono); color:#006AA9; margin-bottom:.8rem; text-transform:uppercase; }
.e12-figure .e12-note { font-size:.85rem; line-height:1.7; margin:1.1rem 0 0; color:#4D6072; }
.e12-flow-summary { font-size:1.05rem; line-height:1.65; margin:-.6rem 0 1.5rem; max-width:38rem; }
.e12-payflows { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.75rem; }
.e12-payflow { --flow-accent:var(--e12-green); min-width:0; display:flex; flex-direction:column; padding:0; margin:0; }
.e12-payflow-owner { --flow-accent:var(--splash); }
.e12-payflow header { border-top:4px solid var(--flow-accent); padding:1.25rem; background:#E5EFEB; min-height:170px; }
.e12-payflow-owner header { background:var(--navy); color:var(--paper); border-color:var(--blue); }
.e12-payflow h3 { font:600 2rem/1.12 var(--font-sans); margin:0; color:inherit; }
.e12-payflow header p { font-size:1rem; line-height:1.45; margin:.8rem 0 0; max-width:17rem; color:#34574F; }
.e12-payflow-owner header p { color:#D1E1EC; }
.e12-flow-source { padding:1.2rem .1rem .4rem; text-align:center; }
.e12-flow-source > span { font-size:.9rem; line-height:1.5; color:#4D6072; display:block; }
.e12-flow-source > strong { font-size:1.4rem; line-height:1.4; display:block; margin-top:.2rem; }
.e12-flow-arrow { height:34px; position:relative; }
.e12-flow-arrow > span { position:absolute; left:50%; transform:translateX(-50%); top:0; height:100%; width:3px; background:var(--flow-accent); }
.e12-flow-arrow > span:after { content:''; position:absolute; bottom:1px; left:-3px; width:9px; height:9px; border-right:3px solid var(--flow-accent); border-bottom:3px solid var(--flow-accent); transform:rotate(45deg); }
.e12-flow-arrow-labeled { height:68px; }
.e12-flow-arrow-labeled b { position:absolute; left:50%; transform:translateX(-50%); top:15px; width:max-content; max-width:100%; padding:.2rem .6rem; background:var(--paper); font:500 .95rem/1.5 var(--font-sans); color:#4D6072; text-align:center; }
.e12-payroll-slip { background:var(--white); border:1px solid #CED8DC; border-top:4px solid var(--flow-accent); padding:1rem; box-shadow:3px 4px 0 #E0E5E4; }
.e12-slip-label { font:500 1rem/1.5 var(--font-sans); color:var(--e12-green); display:block; padding-bottom:.65rem; border-bottom:1px dashed #B8C9D1; }
.e12-payroll-lines,.e12-owner-branches { list-style:none; margin:0; padding:0; }
.e12-payroll-lines li { display:grid; grid-template-columns:14px 1fr; gap:.4rem; padding:.75rem 0; border-bottom:1px solid #DCE3E5; }
.e12-payroll-lines li:last-child { border-bottom:0; padding-bottom:.1rem; }
.e12-payroll-lines li > span { color:var(--e12-red); font:500 1rem/1.5 var(--font-mono); }
.e12-payroll-lines strong,.e12-owner-branches strong { font-size:1rem; line-height:1.45; font-weight:550; display:block; }
.e12-payroll-lines small,.e12-owner-branches small { font-size:.875rem; line-height:1.5; display:block; color:#4D6072; margin-top:.2rem; }
.e12-deposit { padding:1.1rem 1.25rem; background:var(--navy); color:var(--paper); border-left:4px solid var(--blue); }
.e12-deposit-net { border-left-color:#79C9B4; }
.e12-deposit > span { display:block; font:.8rem/1.5 var(--font-mono); color:#C2D7E5; }
.e12-deposit > strong { display:block; font-size:1.9rem; line-height:1.3; margin:.3rem 0; font-weight:550; }
.e12-deposit > small { display:block; font-size:.9rem; line-height:1.5; color:#D1E1EC; }
.e12-owner-branches { padding:.15rem 1rem 0; background:var(--white); border:1px solid #CED8DC; border-top:4px solid var(--flow-accent); }
.e12-owner-branches li { padding:.75rem 0; border-bottom:1px solid #CBD7DC; }
.e12-owner-branches .e12-owner-pay { margin:.25rem -1rem 0; padding:.85rem 1rem; background:#E5EFEB; border-top:2px solid var(--e12-green); border-bottom:0; }
.e12-owner-branches .e12-owner-pay strong { color:var(--e12-green); }
.e12-flow-takeaway { margin:auto 0 0; padding:1.3rem 0 .2rem; font-size:1.2rem; line-height:1.3; font-weight:550; }
.e12-flow-takeaway em { display:block; color:var(--flow-accent); font-size:1.45em; }
.e12-controls:not([hidden]) { display:flex; gap:4px; padding:4px; border:1px solid #96AEBB; margin:1.4rem 0 1.7rem; }
.e12-controls button { flex:1; border:0; padding:.7rem .45rem; min-height:48px; min-width:0; font:500 .95rem/1.4 var(--font-sans); color:var(--navy); background:transparent; cursor:pointer; }
.e12-controls button[aria-pressed="true"] { color:var(--paper); background:var(--navy); }
.e12-controls button:hover { box-shadow:inset 0 -3px var(--blue); }
.e12-figure :is(button,input,summary,a):focus-visible { outline:3px solid var(--splash); outline-offset:4px; }
.e12-income-scene { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr); gap:2rem; align-items:center; padding:1rem 0 .8rem; }
.e12-record { position:relative; padding:1.6rem 1.2rem; min-height:290px; background:#FFF; box-shadow:4px 5px 0 #E0E5E4,0 14px 26px #0A1E3510; border:1px solid #D4DDD9; border-top:5px solid var(--splash); }
.e12-document-label { display:block; font:.8rem/1.6 var(--font-mono); min-height:3.2em; max-width:12rem; }
.e12-record > strong { display:flex; align-items:center; min-height:3.4rem; font-size:2.7rem; font-weight:550; line-height:1.25; margin:.8rem 0; }
.e12-record > strong.is-estimate { font-size:1.9rem; }
.e12-document-rule { display:block; height:18px; border-top:1px solid #C7D4D7; border-bottom:1px solid #C7D4D7; margin:1rem 0; }
.e12-record-status { font-size:.9rem; line-height:1.6; display:block; width:72%; min-height:4.8em; }
.e12-record-foot { display:block; font:.7rem/1.6 var(--font-mono); margin-top:1rem; color:#506676; }
.e12-lens { position:absolute; width:100px; height:100px; object-fit:contain; bottom:43px; right:-14px; transform:rotate(-12deg); filter:drop-shadow(2px 6px 5px #102A3C22); pointer-events:none; }
.e12-income-row { margin-bottom:1.4rem; }
.e12-income-row .e12-bar-track > span { opacity:.55; transition:opacity 180ms ease; }
.e12-income-row.is-selected .e12-bar-track > span { opacity:1; }
.e12-income-row > div:first-child { display:flex; flex-wrap:wrap; gap:.2rem .5rem; justify-content:space-between; align-items:baseline; margin-bottom:.55rem; }
.e12-income-row span { font-size:.8rem; line-height:1.5; }
.e12-income-row strong { font-size:1.05rem; line-height:1.5; }
.e12-bar-track { height:14px; background:#DBE4E7; }
.e12-bar-track > span { display:block; background:var(--splash); height:100%; }
.e12-income-row[data-income-row="perceived"] .e12-bar-track > span { background:#718198; }
.e12-income-row[data-income-row="return"] .e12-bar-track > span { background:var(--navy); }
.e12-income-explanation { font-size:.95rem; line-height:1.65; min-height:6.6em; margin:1.7rem 0 0; padding-left:.9rem; border-left:2px solid var(--blue); }
.e12-timing { background:var(--navy); color:var(--paper); border-color:var(--blue); padding:1.8rem; }
.e12-timing .e12-kicker,.e12-timing > figcaption em { color:var(--blue); }
.e12-timing strong { color:inherit; }
.e12-intro { font-size:1rem; line-height:1.65; margin:0; color:#D3E3ED; }
.e12-timing .e12-controls button { color:var(--paper); }
.e12-timing .e12-controls button[aria-pressed="true"] { color:var(--navy); background:var(--paper); }
.e12-timing :is(button,summary):focus-visible { outline-color:var(--blue); }
.e12-timing-top { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); align-items:center; gap:2rem; margin:1.3rem 0 2rem; }
.e12-invoice { position:relative; aspect-ratio:3/4; width:100%; max-width:230px; margin:auto; }
.e12-invoice img { width:100%; height:100%; object-fit:contain; display:block; filter:drop-shadow(0 12px 9px #0003); }
.e12-invoice > div { position:absolute; inset:25% 12% 13%; color:var(--navy); text-align:center; display:flex; flex-direction:column; align-items:center; }
.e12-invoice span { font:.75rem/1.6 var(--font-mono); }
.e12-invoice strong { display:block; font-size:1.8rem; margin:.5rem 0; font-weight:600; }
.e12-invoice b { display:block; font:500 .75rem/1.5 var(--font-mono); color:#8E293D; border-top:1px solid #BBCBD0; padding-top:.75rem; margin-top:1rem; }
.e12-gap > span { display:block; font-size:.85rem; line-height:1.5; color:#D3E3ED; }
.e12-gap > strong { display:block; font-size:3.5rem; line-height:1.2; color:#92DBC2; margin:.4rem 0 .8rem; font-weight:500; }
.e12-timing.has-gap .e12-gap > strong { color:#FF9EA7; }
.e12-gap > p { font-size:.95rem; line-height:1.7; min-height:6.8em; margin:0 0 .8rem; }
.e12-gap > div { border-top:1px solid #53768E; padding-top:.9rem; display:flex; justify-content:space-between; gap:.7rem; font-size:.85rem; line-height:1.5; }
.e12-gap > div span { color:#D3E3ED; }
.e12-chart-title { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.3rem 1rem; font:.75rem/1.5 var(--font-mono); color:#D3E3ED; margin-bottom:.7rem; }
.e12-chart-assumption { font-size:.8rem; line-height:1.6; color:#C4D8E6; margin:0 0 1.5rem; }
.e12-chart-frame { padding:0 .3rem 2rem 3rem; }
.e12-plot { height:230px; position:relative; }
.e12-cash-chart { width:100%; height:100%; display:block; overflow:visible; }
.e12-cash-chart :is(line,path) { vector-effect:non-scaling-stroke; }
.e12-cash-points { position:absolute; inset:0; pointer-events:none; }
.e12-cash-points i { position:absolute; width:8px; height:8px; transform:translate(-50%,-50%); border:2px solid #4AADDF; border-radius:50%; background:var(--paper); }
.e12-axis-y span { position:absolute; left:-3rem; transform:translateY(-50%); font:.75rem/1.4 var(--font-mono); color:#D3E3ED; }
.e12-axis-x { position:absolute; left:0; right:0; bottom:-1.8rem; display:flex; justify-content:space-between; font:.75rem/1.4 var(--font-mono); color:#D3E3ED; }
.e12-axis-x span:nth-child(2) { position:absolute; left:50%; transform:translateX(-50%); }
.e12-receipt-move { padding:.8rem 0 1.2rem; }
.e12-receipt-move > span { display:block; color:#C4D8E6; font:.75rem/1.5 var(--font-mono); margin-bottom:.7rem; }
.e12-receipt-move > div { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.e12-receipt-move > div span { font-size:.8rem; line-height:1.6; color:#C4D8E6; }
.e12-receipt-move b { display:block; font-size:1rem; color:var(--paper); }
.e12-grid line { stroke:#45667E; stroke-width:1; }
.e12-grid .e12-zero { stroke:#F4A3AA; stroke-dasharray:4 4; }
.e12-cash-chart path { stroke:#7BD0F4; stroke-width:4; stroke-linejoin:round; stroke-linecap:round; }
.e12-cash-chart .e12-negative-path { stroke:#FF9BA6; }
.e12-gap-zone { fill:#FF7A86; opacity:.08; }
.e12-cash-points i.is-negative { border-color:#FF9BA6; background:#FF9BA6; }
.e12-cash-points i.is-ending { width:12px; height:12px; border:3px solid #92DBC2; background:var(--navy); box-shadow:0 0 0 2px var(--navy); }
.e12-chart-label { position:absolute; right:12px; transform:translateY(-100%); margin-top:-6px; padding:2px 4px; font:.875rem/1.45 var(--font-sans); background:var(--navy); color:#92DBC2; white-space:nowrap; }
.e12-low-label { display:none; color:#FFB4BB; }
.e12-timing.has-gap .e12-low-label { display:block; }
.e12-timing-equation { display:grid; grid-template-columns:1fr 1fr; gap:.9rem 1.3rem; padding:1.1rem 0; margin-top:1rem; border-top:1px solid #53768E; border-bottom:1px solid #53768E; }
.e12-timing-equation span { font-size:.8rem; line-height:1.6; color:#D3E3ED; }
.e12-timing-equation b { display:block; font-size:1.15rem; font-weight:550; color:var(--paper); }
.e12-details { margin-top:1.2rem; }
.e12-details summary { cursor:pointer; min-height:44px; font-size:.9rem; padding:.6rem 0; color:#D3E3ED; }
.e12-table { border-collapse:collapse; width:100%; font-size:.85rem; line-height:1.6; }
.e12-table caption { text-align:left; padding:.6rem 0; font-size:.8rem; color:#C4D8E6; }
.e12-table th,.e12-table td { text-align:right; padding:.75rem .3rem; border-bottom:1px solid #53768E; }
.e12-table th:first-child { text-align:left; padding-left:0; }
.e12-timing .e12-note { color:#C4D8E6; }
.e12-news-image { display:block; text-decoration:none!important; margin:1.7rem 0; }
.e12-news-image img { width:100%; height:auto; aspect-ratio:16/9; display:block; }
.e12-news-image > span { display:flex; justify-content:space-between; gap:1rem; font:.75rem/1.6 var(--font-mono); color:#4D6072; padding:.8rem 0; border-bottom:1px solid #BFCED6; }
.e12-timeline { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1rem; list-style:none; padding:0; margin:1.8rem 0; }
.e12-timeline li { border-top:2px solid #91ACBC; padding-top:.8rem; position:relative; }
.e12-timeline li:before { content:''; position:absolute; top:-5px; left:0; width:8px; height:8px; background:var(--splash); border-radius:50%; }
.e12-timeline span { font:.75rem/1.6 var(--font-mono); display:block; color:#4D6072; margin-bottom:.4rem; }
.e12-timeline strong { font-size:1rem; line-height:1.5; display:block; }
.e12-case-money { display:grid; grid-template-columns:1fr 1fr; gap:2rem; padding:1.3rem 0; border-top:1px solid #BFCED6; border-bottom:1px solid #BFCED6; }
.e12-case-money span { display:block; font-size:.85rem; line-height:1.6; min-height:3.2em; }
.e12-case-money strong { display:block; font-size:2.2rem; font-weight:500; color:var(--e12-red); margin-top:.5rem; }
.e12-case-money small { display:block; font-size:.8rem; line-height:1.6; color:#4D6072; margin-top:.4rem; }
.e12-related { border-top:1px solid #A8BEC9; padding-top:1.4rem; margin:2.6rem 0; }
.e12-related > span { font:500 .75rem/1.6 var(--font-mono); color:#4D6072; text-transform:uppercase; }
.e12-related a { display:block; font-size:1rem; line-height:1.6; margin:.7rem 0; }
@media(max-width:720px) {
 .episode-12-article .article-header h1 { font-size:2.4rem; }
 .episode-12-article .article-copy h2 { font-size:1.65rem; }
 .episode-12-article .article-next h2 { font-size:2rem; }
}
@media(max-width:560px) {
 .e12-figure > figcaption { font-size:1.55rem; }
 .e12-payflows { grid-template-columns:1fr; gap:2rem; }
 .e12-payflow header { min-height:0; }
 .e12-flow-takeaway { margin-top:0; }
 .e12-income-scene { grid-template-columns:1fr; gap:1.6rem; }
 .e12-record { min-height:230px; max-width:310px; width:calc(100% - 18px); margin:0 auto; padding:1rem 1.2rem; }
 .e12-document-rule { display:none; }
 .e12-record-status { min-height:3.2em; }
 .e12-income-explanation { min-height:6.6em; }
 .e12-timing { padding:1.4rem 1rem; }
 .e12-timing-top { grid-template-columns:1fr; gap:1.4rem; }
 .e12-invoice { width:100%; max-width:none; aspect-ratio:auto; display:grid; grid-template-columns:64px 1fr; align-items:center; gap:1.1rem; }
 .e12-invoice img { height:90px; }
 .e12-invoice > div { position:static; color:var(--paper); align-items:start; text-align:left; }
 .e12-invoice strong { font-size:1.7rem; margin:.15rem 0; }
 .e12-invoice b { padding:0; margin:.2rem 0 0; border:0; color:#FFB4BB; }
 .e12-gap > strong { font-size:3rem; }
 .e12-gap > p { min-height:6.8em; }
 .e12-controls button { font-size:.85rem; }
 .e12-timeline { grid-template-columns:1fr; gap:0; padding-left:.3rem; }
 .e12-timeline li { border-top:0; border-left:2px solid #91ACBC; padding:0 0 1.2rem 1.1rem; }
 .e12-timeline li:last-child { padding-bottom:0; }
 .e12-timeline li:before { top:4px; left:-5px; }
 .e12-case-money { grid-template-columns:1fr; gap:1.2rem; }
 .e12-case-money span { min-height:0; }
 .e12-case-money > div+div { padding-top:1.2rem; border-top:1px solid #BFCED6; }
 .e12-table { font-size:.75rem; }
 .e12-table th,.e12-table td { padding:.65rem .15rem; }
}
@media(max-width:360px) {
 .e12-record > strong.is-estimate { font-size:1.6rem; }
 .episode-12-article .article-header h1 { font-size:2.05rem; }
 .e12-gap > p { min-height:8.5em; }
 .e12-timing-equation { gap:.8rem; }
 .e12-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .e12-table,.e12-table tbody,.e12-table tr { display:block; }
 .e12-table tr { border-bottom:1px solid #53768E; padding:.6rem 0; }
 .e12-table th,.e12-table td { display:flex; justify-content:space-between; border:0; font-size:.85rem; padding:.3rem 0; }
 .e12-table td:before { content:attr(data-label); color:#C4D8E6; }
}
@media(prefers-reduced-motion:reduce) { .e12-figure * { transition:none!important; animation:none!important; } html { scroll-behavior:auto!important; } }
