/* Drivant editorial shell v15 */
:root{--serif:"Iowan Old Style","Charter","Source Serif Pro",Georgia,serif;--hair:#1a1e23;--rule:#2a3038}
body.ed{font-size:18px;line-height:1.65}
.ed h1,.ed h2{font-family:var(--serif);font-weight:400;letter-spacing:-.012em}
.ed h1{font-size:clamp(40px,5.4vw,70px);line-height:1.05;max-width:18ch}
.ed h1 em{font-style:italic;color:var(--acc)}
.ed h2{font-size:clamp(28px,3.2vw,40px);line-height:1.14;max-width:24ch}
.ed .card{border-radius:4px}
.ed .btn{border-radius:4px}
.ed .topbar{border-bottom:1px solid var(--hair)}
.ed nav{padding:18px 0}
.ed .crumb{font-size:13px;color:var(--mute);padding:26px 0 0}
.ed .crumb a{text-decoration:none;color:var(--mute)}.ed .crumb a:hover{color:var(--fg)}
.ed .chap{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;padding:64px 0 60px;border-bottom:1px solid var(--hair)}
.ed .meta{font-size:13px;color:var(--mute);border-top:1px solid var(--rule);padding-top:14px;align-self:start}
.ed .meta span{display:block;line-height:1.75}.ed .meta .mb{color:var(--fg);font-weight:500}
.ed .dek{font-size:21px;color:#c3c8ce;max-width:58ch;margin-top:26px;line-height:1.55}
.ed .body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;padding:48px 0}
.ed .body>*{min-width:0}
.ed .toc{position:sticky;top:24px;align-self:start;font-size:14px}
.ed .toc p{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.ed .toc a{display:block;text-decoration:none;color:var(--mute);padding:7px 0 7px 14px;border-left:1px solid var(--rule)}
.ed .toc a:hover,.ed .toc a.on{color:var(--fg);border-left-color:var(--acc)}
.ed .art>section{padding:0 0 72px}
.ed .art h2{margin-bottom:20px}
.ed .sn{font:500 12px/1 Inter,sans-serif;letter-spacing:.14em;color:var(--acc);display:block;margin-bottom:14px;padding-top:18px;border-top:1px solid var(--hair)}
.ed .art p.t{max-width:64ch;color:#c9ced4}
.ed .auth{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:center;border-bottom:1px solid var(--hair);padding:0 0 22px;margin:0 0 48px}
.ed .auth img{width:56px;height:56px;border-radius:50%;object-fit:cover;filter:grayscale(1)}
.ed .auth p{font-size:14px;color:var(--mute);margin:0}.ed .auth b{color:var(--fg);font-weight:500}
/* T2 lens */
.ed .lens{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid var(--rule);margin-top:22px}
.ed .lens div{padding:22px 18px 0 0;border-right:1px solid var(--hair);margin-right:18px}
.ed .lens div:last-child{border-right:0}
.ed .lens b{font-family:var(--serif);font-weight:400;font-size:44px;display:block;line-height:1}
.ed .lens h3{font-size:15px;margin:14px 0 6px}.ed .lens p{font-size:14px;color:var(--mute)}
/* T3 ledger / tables */
.ed .ledger{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;margin-top:22px;font-size:15px}
.ed .ledger th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);text-align:left;font-weight:500;padding:0 14px 10px 0;border-bottom:1px solid var(--rule);vertical-align:bottom}
.ed .ledger td{padding:14px 14px 14px 0;border-bottom:1px solid var(--hair);vertical-align:top;color:#c9ced4}
.ed .ledger td:first-child{color:var(--fg);font-weight:500}
.ed .bar{display:inline-block;height:6px;background:var(--acc);border-radius:3px;vertical-align:middle;margin-right:8px;max-width:120px}
.ed .bar.w{background:#5b636d}
.ed .note{font-size:13px;color:var(--mute);margin-top:12px}
/* T4 split */
.ed .split{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);border-radius:4px;margin-top:22px}
.ed .split>div{padding:26px}.ed .split>div+div{border-left:1px solid var(--rule)}
.ed .split h3{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:500;margin-bottom:12px}
.ed .split .after h3{color:var(--acc)}.ed .split p,.ed .split li{font-size:16px;color:#c9ced4}
.ed .split ul{list-style:none;padding:0}.ed .split li{padding:6px 0;border-bottom:1px solid var(--hair)}
/* T5 checks */
.ed .checks{counter-reset:k;margin-top:18px;list-style:none;padding:0;max-width:68ch}
.ed .checks li{counter-increment:k;display:grid;grid-template-columns:48px 1fr;padding:15px 0;border-bottom:1px solid var(--hair);font-size:17px}
.ed .checks li:before{content:counter(k,decimal-leading-zero);font:500 13px/1.9 Inter,sans-serif;color:var(--acc)}
/* T6 margin prose */
.ed .marg{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:40px;padding:18px 0;border-bottom:1px solid var(--hair)}
.ed .marg h3{font-size:18px;margin-bottom:6px}.ed .marg p{color:#c9ced4;max-width:62ch;font-size:17px}
.ed .marg aside{font-size:14px;color:var(--mute);border-top:1px solid var(--acc);padding-top:10px;align-self:start}
.ed .marg aside b{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);font-weight:500;margin-bottom:4px}
/* T7 tradeoffs */
.ed .trd{width:100%;border-collapse:collapse;margin-top:22px}
.ed .trd th{font-family:var(--serif);font-weight:400;font-size:20px;text-align:left;padding:18px 24px 18px 0;border-bottom:1px solid var(--hair);vertical-align:top;width:34%}
.ed .trd td{padding:18px 0;border-bottom:1px solid var(--hair);color:#c9ced4;font-size:16px}
/* T8 definitions */
.ed .defs{display:grid;grid-template-columns:160px 1fr 1fr;margin-top:22px;border-top:1px solid var(--rule)}
.ed .defs>div{padding:14px 16px 14px 0;border-bottom:1px solid var(--hair);font-size:15px;color:#c9ced4}
.ed .defs .h{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.ed .defs .k{color:var(--fg);font-weight:500}
.ed .defs .x{color:#e8a0a6}
/* T9 timeline */
.ed .tl{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin-top:30px;position:relative}
.ed .tl:before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--rule)}
.ed .tl div{position:relative;padding:28px 18px 0 0}
.ed .tl div:before{content:"";position:absolute;top:2px;left:0;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--acc)}
.ed .tl b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);font-weight:500;margin-bottom:6px}
.ed .tl h3{font-size:16px}.ed .tl p{font-size:14px;color:var(--mute)}
/* T10 matrix */
.ed .mx{display:grid;grid-template-columns:28px 1fr 1fr;grid-template-rows:1fr 1fr 28px;gap:0;margin-top:26px;max-width:760px}
.ed .mx .q{border:1px solid var(--hair);padding:22px;min-height:170px}
.ed .mx .q.hot{background:#12160c;border-color:#3d4a1a}.ed .mx .q b{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-weight:500;display:block;margin-bottom:8px}
.ed .mx .q.hot b{color:var(--acc)}.ed .mx .q h3{font-family:var(--serif);font-weight:400;font-size:22px;margin-bottom:6px}.ed .mx .q p{font-size:14px;color:var(--mute)}
.ed .mx .ax{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;justify-content:center}
.ed .mx .ay{writing-mode:vertical-rl;transform:rotate(180deg)}
/* T11 annotated case */
.ed .ann{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:40px;margin-top:20px}
.ed .ann .tx{font-family:var(--serif);font-size:21px;line-height:1.55;color:var(--fg)}
.ed .ann sup{color:var(--acc);font:600 11px Inter,sans-serif;margin-left:2px}
.ed .ann ol{list-style:none;padding:0;counter-reset:a;font-size:14px;color:var(--mute)}
.ed .ann li{counter-increment:a;padding:10px 0 10px 26px;position:relative;border-bottom:1px solid var(--hair)}
.ed .ann li:before{content:counter(a);position:absolute;left:0;color:var(--acc);font-weight:600}
.ed .tagx{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-top:10px}
/* T12 quote */
.ed .aq{border-left:2px solid var(--acc);padding:4px 0 4px 28px}
.ed .aq p{font-family:var(--serif);font-size:clamp(26px,3vw,36px);line-height:1.25;max-width:28ch;color:var(--fg)}
.ed .aq span{display:block;margin-top:14px;font-size:13px;color:var(--mute)}
/* misc */
.ed .measure{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--acc);margin-top:22px}
.ed .measure div{padding:20px 20px 0 0}.ed .measure b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);font-weight:500;margin-bottom:8px}.ed .measure p{font-size:15px;color:#c9ced4}
.ed .inl{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:#12160c;border:1px solid #3d4a1a;border-radius:4px;padding:22px 26px;margin:0 0 72px}
.ed .inl p{margin:0;font-size:16px;max-width:54ch;color:#c9ced4}.ed .inl b{color:var(--fg)}
.ed .art details{border-bottom:1px solid var(--hair)}
.ed .rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid var(--rule);margin-top:20px}
.ed .rel a{padding:16px 18px 16px 0;border-bottom:1px solid var(--hair);text-decoration:none;font-size:15px;color:var(--mute)}.ed .rel a b{display:block;color:var(--fg);font-weight:500}
.ed .rel a:hover b{color:var(--acc)}
.ed .endcta{border-top:1px solid var(--rule);padding:60px 0;display:flex;justify-content:space-between;align-items:end;gap:40px;flex-wrap:wrap}
.ed .endcta h2{max-width:22ch}
.ed a.tl2{color:var(--mute);margin-left:18px;text-decoration:none;background-image:linear-gradient(var(--acc),var(--acc));background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .25s}
.ed a.tl2:hover{background-size:100% 1px;color:var(--fg)}
.ed .fig{border-radius:4px}
.ed .figsec{padding:0}
.ed .heroed{padding:72px 0 64px;border-bottom:1px solid var(--hair)}
.ed .guar2{display:flex;gap:12px;align-items:baseline;border-top:1px solid var(--acc);padding-top:12px;margin-top:28px;font-size:15px;color:#c9ced4;max-width:60ch}
.ed .guar2 b{color:var(--acc);font-weight:600;white-space:nowrap}
.ed .bignum{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));border-top:1px solid var(--rule);margin-top:24px}
.ed .bignum div{padding:22px 20px 0 0}.ed .bignum b{font-family:var(--serif);font-weight:400;font-size:52px;line-height:1;display:block}
.ed .bignum p{font-size:14px;color:var(--mute);margin-top:8px}
.ed .memo{background:#f4f1ea;color:#1b1d20;border-radius:2px;padding:48px 56px;max-width:760px;font-family:var(--serif);font-size:18px;line-height:1.6;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.ed .memo h3{font-family:var(--serif);font-size:28px;font-weight:400;margin:6px 0 18px;letter-spacing:-.01em}
.ed .memo .hd{font:500 11px/1.6 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#6a6f76;border-bottom:1px solid #d6d1c6;padding-bottom:12px}
.ed .memo p{margin:0 0 14px}.ed .memo b{font-weight:600}
.ed .memo .sig{font-style:italic}
/* footer */
.ed footer.v{border-top:1px solid var(--hair);padding:56px 0 40px;font-size:14px;color:var(--mute);background:none}
.ed footer.v .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.ed footer.v h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg);font-weight:500;margin-bottom:14px}
.ed footer.v a{display:block;text-decoration:none;color:var(--mute);padding:4px 0}.ed footer.v a:hover{color:var(--fg)}
.ed footer.v .legal{margin-top:40px;font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
@media(max-width:900px){.ed .chap,.ed .body{grid-template-columns:minmax(0,1fr);gap:22px}.ed .body>.sp{display:none}.ed .toc{display:none}.ed .marg,.ed .ann{grid-template-columns:minmax(0,1fr);gap:14px}.ed footer.v .cols{grid-template-columns:1fr 1fr}.ed .chap{padding:40px 0}.ed .split{grid-template-columns:minmax(0,1fr)}.ed .split>div+div{border-left:0;border-top:1px solid var(--rule)}}
@media(max-width:640px){.ed .lens{grid-template-columns:1fr}.ed .lens div{border-right:0;margin-right:0;padding-bottom:16px;border-bottom:1px solid var(--hair)}.ed .measure{grid-template-columns:1fr}.ed .tl{grid-auto-flow:row}.ed .tl:before{left:5px;right:auto;top:0;bottom:0;width:1px;height:auto}.ed .tl div{padding:0 0 22px 28px}.ed .tl div:before{top:4px}.ed .defs{grid-template-columns:1fr 1fr}.ed .defs .k{grid-column:1/-1;padding-bottom:4px;border-bottom:0}.ed .defs .hk{display:none}.ed .mx{grid-template-columns:1fr;grid-template-rows:auto}.ed .mx .ax{display:none}.ed .mx .q{min-height:0}.ed .ledger{font-size:13px}.ed .ledger .hm{display:none}.ed .bar{max-width:44px}.ed .trd th{width:auto;display:block;border-bottom:0;padding-bottom:4px}.ed .trd td{display:block;padding-top:0}.ed .memo{padding:28px 22px;font-size:16px}.ed .bignum b{font-size:40px}.ed a.tl2{margin-left:0;display:inline-block;margin-top:12px}}
@media(prefers-reduced-motion:reduce){.ed a.tl2{transition:none}}
.ed .price .card{min-width:0}@media(max-width:640px){.ed .price{display:grid;grid-template-columns:minmax(0,1fr)}}
.ed .chap .meta{display:flex;flex-direction:column;gap:0}
@media(max-width:640px){.ed .dd.pf{display:none}.ed table.stack thead{display:none}.ed table.stack,.ed table.stack tbody,.ed table.stack tr,.ed table.stack td{display:block;width:100%}.ed table.stack tr{padding:14px 0;border-bottom:1px solid var(--rule)}.ed table.stack td{border:0;padding:3px 0}.ed table.stack td:first-child{font-size:16px;padding-bottom:6px}.ed table.stack td[data-l]:before{content:attr(data-l);display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-top:6px}}
