/* /solutions/carbon-removal/ — page-only pieces on top of solution.css (tokens from main.css only):
   asset strip (4 cells) · stat drum (#why-now) · asset index, path diagrams and panels (#assets) · stepper legend and
   position counter (#process) · dMRV layer diagram with one-shot packets (#dmrv) · role map (#roles) · rating card
   (#rating-readiness) · fee cards (#fees) · policy table (#policy) · buyers + English summary (#buyers) · CTA list.
   Behaviour: sol-cdr.js. Every piece reads complete without JS; prefers-reduced-motion shows final, static states. */

.sol-cdr .stamp a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.sol-cdr .src-line a:not(.fn){color:inherit;text-underline-offset:3px}
.sol-cdr .dark .dtable tbody th{color:var(--on-night)}
/* a light card inside a dark band gets the light-surface focus ring */
.sol-cdr .dark .buy-check :focus-visible{outline-color:var(--forest)}
.sol-cdr h4{margin:0}
.sol-cdr .chip{white-space:normal;line-height:1.35}
.slot{display:inline-flex;align-self:flex-start;justify-self:start;margin-top:4px;font:500 12px/1 var(--font-mono);padding:6px 8px;border:1px dashed currentColor;border-radius:var(--r-xs);word-spacing:-.25em;color:var(--ink-2)}
.dark .slot{color:var(--on-night-2)}

/* ---------- Hero card: project pipeline ---------- */
.sol-cdr .sol-hero__card .mk-body{gap:9px}
.sol-cdr .pipe > div{padding:8px 0}
.sol-cdr .pipe .mk-meter{display:block;max-width:200px;margin-top:7px}
.sol-cdr .pipe .now span{color:var(--on-night)}
.sol-cdr .pipe em{white-space:nowrap}
.sol-cdr .sol-hero__card .mk-cap{padding-top:4px}

/* ---------- Asset strip under the hero (4 cells → 2×2 below 900px) ---------- */
.asset-strip .sol-std__cell b{font:650 16.5px/1.35 var(--font-sans);letter-spacing:-.012em}
@media (max-width:1100px) and (min-width:900px){.sol-cdr .asset-strip{--cols:4!important}}
@media (max-width:899px){.sol-cdr .asset-strip{--cols:2!important}}
.asset-strip__cap{margin:14px 0 28px;max-width:62em}
.sol-cdr .sol-std__cap .stamp{margin-top:0}

/* ---------- S02: text column + stat drum ---------- */
.why{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px clamp(28px,5vw,88px);align-items:start}
.why__txt .sol-lead{margin-top:22px}
.why__txt .callout{margin-top:26px}
.dark .callout--caution p{color:var(--on-night)}
@media (max-width:1023px){.why{grid-template-columns:minmax(0,1fr)}}

.drum{position:relative;min-width:0}
.drum__top{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-bottom:10px}
.drum__k{display:flex;align-items:center;gap:8px;font:500 12px/1.3 var(--font-mono);color:var(--signal);word-spacing:-.25em}
.drum__k::before{content:"";width:7px;height:7px;background:var(--signal);flex:none}
.drum__ctrl{display:flex;align-items:center;gap:8px}
.drum__pos{font:500 12px/1 var(--font-mono);color:var(--on-night-2);margin-right:6px;word-spacing:-.2em}
.drum__pos b{color:var(--on-night);font-weight:500}
.drum__btn{width:44px;height:44px;border:1px solid rgba(234,242,236,.28);border-radius:var(--r-s);background:rgba(234,242,236,.06);color:var(--on-night);font:500 18px/1 var(--font-sans);cursor:pointer}
.drum__btn:hover{border-color:var(--on-night)}
.drum__btn[aria-disabled="true"]{opacity:.38;cursor:default}
.drum__list{position:relative;list-style:none;margin:0;padding:0;border-top:1px solid rgba(234,242,236,.14)}
.drum__item{position:relative;display:grid;grid-template-columns:minmax(0,12.5rem) minmax(0,1fr);gap:8px 26px;padding:22px 0 22px 20px;border-bottom:1px solid rgba(234,242,236,.14)}
.drum__item::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:3px;background:var(--signal)}
.drum__v b{display:block;font:500 clamp(30px,2.9vw,44px)/1.05 var(--font-mono);letter-spacing:-.035em;color:var(--signal);white-space:nowrap}
.drum__l{font-size:clamp(16px,1.2vw,18px);line-height:1.5;font-weight:600;color:var(--on-night)}
.drum__note{margin-top:8px;font-size:14.5px;line-height:1.65;color:var(--on-night-2)}
.drum__src{margin-top:8px}
@media (max-width:600px){.drum__item{grid-template-columns:minmax(0,1fr);padding-left:16px}}
/* drum mode (JS, ≥1024px, motion allowed): one highlighted row, moved by scrolling or by the ↑ ↓ buttons */
.drum.is-ready .drum__item{cursor:pointer}
.drum.is-ready .drum__item::before{opacity:0;transform:scaleY(.4);transition:opacity .35s var(--ease-out),transform .45s var(--ease-out)}
.drum.is-ready .drum__v b{transform-origin:0 75%;transition:transform .5s var(--ease-out),color .35s}
.drum.is-ready .drum__l{transition:color .35s}
.drum.is-ready .drum__item:not(.is-on) .drum__v b{color:var(--on-night-2);transform:scale(.8)}
.drum.is-ready .drum__item:not(.is-on) .drum__l{color:var(--on-night-2)}
.drum.is-ready .drum__item.is-on::before{opacity:1;transform:none}

.price{margin-top:clamp(18px,2vw,26px)}
.price .num{white-space:nowrap}
.sol-cdr .dtable tbody th{overflow-wrap:break-word;min-width:7.5em}
.signals .sol-sub{margin-bottom:6px}
.sig-list{list-style:none;margin:0;padding:0;display:grid}
.sig-list li{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:8px 20px;align-items:start;padding:16px 0;border-top:1px solid rgba(234,242,236,.14)}
.sig-list li .st{justify-self:start;margin-top:3px}
.sig-list p{font-size:15.5px;line-height:1.75;color:var(--on-night);max-width:52em}
.signals > .src-line{margin-top:6px}
@media (max-width:600px){.sig-list li{grid-template-columns:minmax(0,1fr)}}

/* ---------- S03: sticky asset index + asset blocks ---------- */
.assets{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--gap) clamp(28px,4vw,64px);align-items:start}
.aidx{position:sticky;top:calc(var(--sol-off) + 6px);min-width:0}
.aidx ol{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--rule)}
.aidx a{position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:12px 10px 12px 16px;border-bottom:1px solid var(--rule);color:var(--ink-2);text-decoration:none}
.aidx a b{font-weight:600;font-size:15px;line-height:1.4}
.aidx a .chip{flex:none;white-space:nowrap}
.aidx a:hover{color:var(--ink);background:var(--card)}
.aidx a.is-on{color:var(--ink);background:var(--card)}
.aidx a.is-on::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;background:var(--brand)}
.aidx__note{margin-top:12px;font-size:13px;line-height:1.6;color:var(--ink-2)}
@media (max-width:1023px){
  .assets{grid-template-columns:minmax(0,1fr)}
  .aidx{position:static}
  .aidx ol{display:flex;gap:6px;overflow-x:auto;border:0;padding:0 0 6px;scrollbar-width:thin;overscroll-behavior-x:contain}
  .aidx li{flex:none}
  .aidx a{min-height:44px;padding:8px 12px;border:1px solid var(--rule-2);border-radius:var(--r-s);background:var(--card);white-space:nowrap}
  .aidx a.is-on::before{left:10px;right:10px;top:auto;bottom:-1px;width:auto;height:2px}
  .aidx__note{display:none}
}

.asset{padding:clamp(36px,4vw,56px) 0;border-top:1px solid var(--rule)}
.asset:first-child{padding-top:0;border-top:0}
.asset:last-child{padding-bottom:0}
.asset__head{display:grid;gap:10px;max-width:48em}
.asset__en{font:500 12px/1.3 var(--font-mono);color:var(--forest);letter-spacing:.02em;word-spacing:-.2em}
.asset__head h3{font-size:clamp(26px,2.5vw,36px);line-height:1.22;letter-spacing:-.03em}
.asset__one{font-size:var(--fs-lead);line-height:1.6;color:var(--ink-2)}
.asset__chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:4px 0 0;padding:0}
.asset__chips li{font:500 12px/1.2 var(--font-mono);padding:6px 9px;border:1px solid var(--ink);border-radius:var(--r-xs);background:var(--card);word-spacing:-.2em}
.asset__chips li:first-child{background:var(--brand);border-color:var(--brand);color:#fff}

/* path diagram: nodes in a row with arrows (vertical below 760px); the excluded route is struck through and labelled */
.apath{list-style:none;margin:24px 0 0;padding:16px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:30px;background:var(--paper-2);border-radius:var(--r-m)}
.apath > li{position:relative;display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:58px;padding:9px 10px 9px 26px;border:1.5px solid var(--ink);border-radius:var(--r-s);background:var(--card);font-size:14px;font-weight:600;line-height:1.4}
.apath > li::before{content:"";position:absolute;left:10px;top:50%;width:8px;height:8px;margin-top:-4px;background:var(--sprout)}
.apath > li:not(:last-child)::after{content:"→";position:absolute;left:100%;top:50%;width:30px;transform:translateY(-50%);text-align:center;font:500 17px/1 var(--font-sans);color:var(--ink)}
.apath small{display:block;font-size:12.5px;font-weight:400;color:var(--ink-2);line-height:1.45}
.apath__fork{gap:6px!important}
.apath__fork > span{display:block}
.apath__fork > span + span{padding-top:6px;border-top:1px dashed var(--rule-2)}
.apath__x{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:8px;padding:10px 14px;border:1.5px dashed var(--ink-2);border-radius:var(--r-s);
  background:repeating-linear-gradient(135deg,rgba(67,81,74,.07) 0 6px,transparent 6px 14px);font-size:14px;color:var(--ink-2)}
.apath__xk{font:500 12px/1 var(--font-mono);padding:5px 7px;border:1.5px solid var(--ink-2);border-radius:var(--r-xs);color:var(--ink);background:var(--card)}
.apath__x s{font-weight:600;color:var(--ink);text-decoration-thickness:1.5px}
.apath__why{font-size:13px}
@media (max-width:760px){
  .apath{grid-auto-flow:row;grid-auto-columns:auto;gap:24px}
  .apath > li:not(:last-child)::after{content:"↓";left:0;right:0;top:100%;width:auto;transform:none;line-height:24px}
}
/* one-shot draw-in (JS adds .is-pre, then .is-drawn when the diagram enters the viewport) */
.apath.is-pre > li,.apath.is-pre + .apath__x{opacity:0;transform:translateX(-8px)}
.apath.is-pre.is-drawn > li,.apath.is-pre.is-drawn + .apath__x{opacity:1;transform:none;transition:opacity .4s var(--ease-out),transform .45s var(--ease-out)}
.apath.is-drawn > li:nth-child(2){transition-delay:.1s}
.apath.is-drawn > li:nth-child(3){transition-delay:.2s}
.apath.is-drawn > li:nth-child(4){transition-delay:.3s}
.apath.is-drawn > li:nth-child(5){transition-delay:.4s}
.apath.is-drawn + .apath__x{transition-delay:.45s}
@media print{.apath.is-pre > li,.apath.is-pre + .apath__x{opacity:1!important;transform:none!important}}

.asset__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.apanel{min-width:0;padding:clamp(18px,2vw,26px);background:var(--paper-2);border-radius:var(--r-m)}
.apanel h4,.asset__reg h4,.asset__band h4{display:flex;align-items:center;gap:8px;margin-bottom:12px;font:500 12px/1.3 var(--font-mono);color:var(--forest);word-spacing:-.25em}
.apanel h4::before,.asset__reg h4::before,.asset__band h4::before{content:"";width:7px;height:7px;border:1.5px solid currentColor;transform:rotate(45deg);flex:none}
.apanel > p{font-size:15.5px;line-height:1.75}
.apanel > p + p{margin-top:10px}
.apanel__basis{margin-bottom:10px;font-size:13.5px!important;line-height:1.6!important;color:var(--ink-2)}
.apanel__note{padding-top:10px;border-top:1px solid var(--rule-2);font-size:14.5px!important;color:var(--ink-2)}
.apanel__also{margin-top:12px;font-size:14px!important;line-height:1.65!important;color:var(--ink-2)}
.apanel__also b{display:block;color:var(--ink);font-weight:650;margin-bottom:2px}
.apanel .callout--caution{margin-top:14px;padding:14px 16px}
.apanel .callout--caution p{margin-top:8px;font-size:14.5px}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ticks li{position:relative;padding-left:24px;font-size:15px;line-height:1.65}
.ticks li::before{content:"";position:absolute;left:3px;top:6px;width:11px;height:6px;border-left:1.5px solid var(--forest);border-bottom:1.5px solid var(--forest);transform:rotate(-45deg)}
.ticks--dot li::before{left:4px;top:10px;width:6px;height:6px;border:0;background:var(--sprout);transform:none}
.adata{margin:0;display:grid}
.adata > div{display:grid;grid-template-columns:minmax(0,6.4em) minmax(0,1fr);gap:4px 14px;padding:9px 0;border-top:1px solid var(--rule-2)}
.adata > div:first-child{border-top:0;padding-top:0}
.adata dt{font:500 12px/1.75 var(--font-mono);color:var(--forest);word-spacing:-.25em}
.adata dd{margin:0;font-size:14.5px;line-height:1.65}
@media (max-width:760px){.asset__grid{grid-template-columns:minmax(0,1fr)}}
/* accordion below 900px (sol-cdr.js adds .cdr-acc and turns each panel label into a disclosure button) */
.apanel__tg{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;margin:-12px 0;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.apanel__tg::after{content:"+";font:500 18px/1 var(--font-mono);color:var(--forest)}
.apanel__tg[aria-expanded="true"]::after{content:"−"}
.cdr-acc .asset__grid{gap:8px;grid-template-columns:minmax(0,1fr)}
.cdr-acc .apanel{padding-block:16px}
.cdr-acc .apanel h4{margin-bottom:0}
.cdr-acc .apanel__b{padding-top:14px}
@media (max-width:420px){.adata > div{grid-template-columns:minmax(0,1fr)}}

.asset__reg{margin-top:12px}
.asset__reg h4{margin:20px 0 10px}
.reg td:last-child{min-width:15em}
.reg tbody th{width:19%;min-width:9em}
.reg-more{margin-top:8px}
.reg-more summary{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 14px;border:1px solid var(--rule-2);border-radius:var(--r-s);background:var(--card);font:500 14px/1 var(--font-sans);cursor:pointer;list-style:none}
.reg-more summary::-webkit-details-marker{display:none}
.reg-more summary::after{content:"+";font:500 16px/1 var(--font-mono);color:var(--forest)}
.reg-more[open] summary::after{content:"−"}
.reg-more summary:hover{border-color:var(--ink)}
.reg-more .table-wrap{margin-top:8px}

.asset__band{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px clamp(20px,3vw,40px);margin-top:20px;padding-top:18px;border-top:1px dashed var(--rule-2)}
.asset__band h4{margin-bottom:8px}
.band-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.band-list li{position:relative;padding-left:16px;font-size:14.5px;line-height:1.65;color:var(--ink-2)}
.band-list li::before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;background:var(--forest)}
.asset__band p{font-size:14.5px;line-height:1.65;color:var(--ink-2)}
.asset__band .text-link{display:inline-block;margin-top:12px;font-size:15px}
@media (max-width:760px){.asset__band{grid-template-columns:minmax(0,1fr)}}

/* ---------- S04: legend + position counter beside the stepper ---------- */
.proc{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--gap) clamp(28px,4vw,64px);align-items:start}
.proc__side{position:sticky;top:calc(var(--sol-off) + 6px);display:grid;gap:12px;align-content:start}
.proc__pos{font:500 clamp(30px,2.8vw,42px)/1 var(--font-mono);letter-spacing:-.03em;color:var(--ink);padding-bottom:14px;border-bottom:1px solid var(--rule-2)}
.proc__pos small{font-size:.42em;letter-spacing:0;color:var(--ink-2)}
.proc__k{margin-top:6px;font:500 12px/1.3 var(--font-mono);color:var(--forest);word-spacing:-.25em}
.proc__legend,.proc__nodes{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.proc__legend .role{margin-top:0}
.proc__nodes li{display:flex;align-items:center;gap:10px;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.nd{flex:none;width:18px;height:18px;border:1.5px solid var(--ink);border-radius:3px;background:var(--paper-2)}
.nd--ext{border-style:dashed}
.nd--par{border-radius:50%}
.role--own::before{background:transparent;border:1.5px solid var(--forest)}
.role--buy::before{border-radius:50%;background:var(--sprout)}
.steps__meta dd{display:flex;flex-wrap:wrap;gap:6px}
.steps__meta .role{margin:0;padding:3px 8px 3px 6px;font-size:12.5px;background:var(--paper)}
.proc__cap{margin-top:4px;font-size:14.5px;line-height:1.7;color:var(--ink-2);max-width:52em}
.proc__table{margin-top:20px}
.proc__table summary{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid var(--rule-2);border-radius:var(--r-s);background:var(--card);font:500 14.5px/1 var(--font-sans);cursor:pointer;list-style:none}
.proc__table summary::-webkit-details-marker{display:none}
.proc__table summary::after{content:"+";font:500 16px/1 var(--font-mono);color:var(--forest)}
.proc__table[open] summary::after{content:"−"}
.proc__table summary:hover{border-color:var(--ink)}
.proc__table .table-wrap{margin-top:10px}
#process .sx-foot{margin-top:28px}
@media (max-width:1023px){.proc{grid-template-columns:minmax(0,1fr)}.proc__side{position:static;grid-template-columns:auto minmax(0,1fr);column-gap:24px;align-items:start}.proc__pos{display:none}}
@media (max-width:600px){.proc__side{grid-template-columns:minmax(0,1fr)}}

/* ---------- S05: why digital, layer diagram, custody, requirements ---------- */
.dig{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.dig li{display:grid;gap:10px;align-content:start;padding:clamp(18px,2vw,26px);border:1px solid rgba(234,242,236,.14);border-radius:var(--r-m);background:rgba(234,242,236,.035)}
.dig__k{font:500 12px/1.3 var(--font-mono);color:var(--signal);word-spacing:-.25em}
.dig li p:not(.dig__k){font-size:15.5px;line-height:1.7;color:var(--on-night)}
@media (max-width:760px){.dig{grid-template-columns:minmax(0,1fr)}}

.dm__head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:10px clamp(24px,4vw,64px);align-items:end;margin-bottom:18px}
.dm__head p{font-size:15.5px;line-height:1.7;color:var(--on-night-2);max-width:44em}
.dm-fig{margin:0;padding:clamp(12px,1.8vw,22px);border:1px solid rgba(234,242,236,.14);border-radius:var(--r-m)}
.dm-svg{display:block;width:100%;height:auto;overflow:visible}
.dm-scope{fill:rgba(191,234,98,.025);stroke:rgba(191,234,98,.5);stroke-width:1.5;stroke-dasharray:7 6}
.dm-scope-t{fill:var(--signal);font:500 14px var(--font-mono)}
.dm-ind-t,.dm-wire-t{fill:var(--on-night-2);font:500 13px var(--font-mono)}
.dm-wire{fill:none;stroke:rgba(234,242,236,.5);stroke-width:1.6}
.dm-wire--rec{stroke:var(--signal)}
.dm-wire--opt{stroke-dasharray:5 5}
.dm-ah--raw{fill:rgba(234,242,236,.7)}
.dm-ah--rec{fill:var(--signal)}
.dm-node{cursor:pointer}
.dm-node rect{fill:var(--night-2);stroke:rgba(234,242,236,.4);stroke-width:1.5;transition:stroke .2s,fill .2s}
.dm-node.is-core rect{stroke:var(--signal);stroke-width:2}
.dm-node.is-ext rect{fill:transparent;stroke-dasharray:6 5}
.dm-t{fill:var(--on-night);font:650 17px var(--font-sans);letter-spacing:-.01em}
.dm-s{fill:var(--on-night-2);font:400 14px var(--font-sans)}
.dm-node:hover rect,.dm-node.is-hl rect,.dm-node:focus-visible rect{fill:var(--night-3);stroke:var(--signal);stroke-width:2.5}
.dm-node:focus{outline:none}
.dm-node:focus-visible rect{stroke-width:3.5}
.dm-node.is-pulse rect{stroke-width:4}
.dm-pk--raw{fill:var(--on-night)}
.dm-pk--rec{fill:var(--signal)}
.dm-legend{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px;font:400 12.5px/1.5 var(--font-mono);color:var(--on-night-2);word-spacing:-.2em}
.dm-legend span{display:inline-flex;align-items:center;gap:8px}
.lg{flex:none;width:22px;height:0;border-top:1.6px solid rgba(234,242,236,.6);position:relative}
.lg--raw::after{content:"";position:absolute;left:7px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--on-night)}
.lg--rec{border-top-color:var(--signal)}
.lg--rec::after{content:"";position:absolute;left:7px;top:-5px;width:8px;height:8px;background:var(--signal)}
.lg--ext{height:12px;border:1.5px dashed rgba(234,242,236,.6);border-radius:2px}
.lg--opt{border-top:1.6px dashed var(--signal)}
@media (max-width:899px){.dm-fig,.dm__hint{display:none}.dm__head{grid-template-columns:minmax(0,1fr)}}

.dm-list,.dm-ext{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.dm-list{grid-template-columns:repeat(5,minmax(0,1fr))}
.dm-ext{grid-template-columns:repeat(2,minmax(0,1fr))}
.dm-item{position:relative;padding:16px;border:1px solid rgba(234,242,236,.14);border-radius:var(--r-m);background:rgba(234,242,236,.035);transition:border-color .25s,background-color .25s}
.dm-item.is-core{border-color:rgba(191,234,98,.45)}
.dm-item.is-ext{background:transparent;border-style:dashed;border-color:rgba(234,242,236,.3)}
.dm-item.is-hl,.dm-item:hover{border-color:var(--signal);background:rgba(191,234,98,.06)}
.dm-item.is-hit{animation:sol-hit 1.8s var(--ease-out)}
.dm-item__n{font:500 12px/1.3 var(--font-mono);color:var(--signal);word-spacing:-.25em}
.dm-item h4{margin-top:6px;font-size:16.5px;line-height:1.4;letter-spacing:-.01em}
.dm-item p:not(.dm-item__n){margin-top:8px;font-size:13.5px;line-height:1.6;color:var(--on-night-2)}
.dm-item p b{display:block;color:var(--on-night);font:500 12px/1.4 var(--font-mono);margin-bottom:2px}
@media (max-width:1180px){.dm-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:899px){
  .dm-list{grid-template-columns:minmax(0,1fr);gap:30px}
  .dm-list .dm-item:not(:last-child)::after{content:"↓";position:absolute;left:0;right:0;top:100%;text-align:center;font:500 17px/30px var(--font-sans);color:var(--signal)}
  .dm-ext{margin-top:30px;position:relative}
  .dm-ext::before{content:"↓ 판단은 독립 기관";position:absolute;left:0;right:0;top:-30px;text-align:center;font:500 12px/30px var(--font-mono);color:var(--on-night-2)}
}
@media (max-width:600px){.dm-ext{grid-template-columns:minmax(0,1fr)}}

.custody__rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap) clamp(24px,4vw,56px);margin-top:16px}
.custody__k{font:500 12px/1.3 var(--font-mono);color:var(--signal);word-spacing:-.25em}
.flow{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 30px;align-items:center}
.flow li{position:relative;display:inline-flex;align-items:center;min-height:36px;padding:6px 11px;border:1px solid rgba(234,242,236,.28);border-radius:var(--r-s);font-size:14.5px;line-height:1.35}
.flow li:not(:last-child)::after{content:"→";position:absolute;left:100%;width:30px;text-align:center;color:var(--on-night-2)}
@media (max-width:900px){.custody__rows{grid-template-columns:minmax(0,1fr)}}

.req .num{white-space:nowrap}
.dm-more{align-items:start}
.integ__lead{margin-top:8px;font-size:14.5px;line-height:1.65;color:var(--on-night-2)}
.integ{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.integ li{display:grid;gap:6px;padding:12px 14px;border:1px solid rgba(234,242,236,.16);border-radius:var(--r-s)}
.integ b{justify-self:start;font:500 12px/1.2 var(--font-mono);padding:5px 7px;border:1px solid rgba(191,234,98,.6);border-radius:var(--r-xs);color:var(--signal);font-weight:500;word-spacing:-.2em}
.integ span{font-size:14px;line-height:1.55;color:var(--on-night)}
@media (max-width:600px){.integ{grid-template-columns:minmax(0,1fr)}}
.dm-more .sol-sub{margin-bottom:0}
.dm-more .table-wrap{margin-top:14px}

.dm-end{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gap);align-items:stretch}
.fieldm{padding:clamp(18px,2vw,26px);border:1.5px dashed rgba(234,242,236,.3);border-radius:var(--r-m)}
.fieldm__k{font:500 12px/1.3 var(--font-mono);color:var(--signal)}
.fieldm ul{list-style:none;margin:12px 0 0;padding:0;display:grid}
.fieldm li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(234,242,236,.12);font-size:15px}
.fieldm li span{font:500 12px/1.6 var(--font-mono);color:var(--on-night-2);text-align:right}
.fieldm__note{margin-top:10px;font-size:13.5px;color:var(--on-night-2)}
.dm-how{margin-top:16px!important}
.dm-close{margin-top:clamp(56px,7vw,104px);text-align:center;font-size:clamp(28px,3.4vw,50px);line-height:1.2;letter-spacing:-.035em;font-weight:650;color:var(--on-night);text-wrap:balance}
@media (max-width:900px){.dm-end{grid-template-columns:minmax(0,1fr)}}

/* ---------- S06: role map (HTML boxes and arrows; shape + text carry the meaning, not colour alone) ---------- */
.rmap{margin:0}
.rmap__main{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px}
.rmap__n{position:relative;display:grid;gap:4px;align-content:start;min-width:0;min-height:98px;padding:14px;border:1.5px solid var(--ink);border-radius:var(--r-s);background:var(--card)}
.rmap__n b{font-size:15px;line-height:1.35;font-weight:650}
.rmap__n span{font-size:13px;line-height:1.5;color:var(--ink-2)}
.rmap__n.is-us{background:var(--brand);border-color:var(--brand);color:#fff}
.rmap__n.is-us span{color:var(--mist)}
.rmap__n.is-ind{background:transparent;border-style:dashed;border-color:var(--ink-2)}
.rmap__main > li:not(:last-child)::after{content:"→";position:absolute;left:100%;top:50%;width:30px;transform:translateY(-50%);text-align:center;font:500 18px/1 var(--font-sans);color:var(--ink)}
.rmap__main > li.to-credit::after{content:"⇒";font-size:22px;color:var(--brand)}
.rmap__sub{list-style:none;margin:26px 0 0;padding:22px 0 0;border-top:1px dashed var(--rule-2);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rmap__sub .rmap__n{min-height:0}
.rmap__legend{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px;font:400 12.5px/1.5 var(--font-mono);color:var(--ink-2);word-spacing:-.2em}
.rmap__legend span{display:inline-flex;align-items:center;gap:8px}
.rmap__legend b{font:500 16px/1 var(--font-sans);color:var(--ink)}
.lg-box{flex:none;width:16px;height:12px;border-radius:2px}
.lg-box--us{background:var(--brand)}
.lg-box--ind{border:1.5px dashed var(--ink-2)}
@media (max-width:1180px){
  .rmap__main{grid-template-columns:minmax(0,1fr);gap:30px;max-width:560px}
  .rmap__main > li:not(:last-child)::after{content:"↓";left:0;right:0;top:100%;width:auto;transform:none;line-height:30px}
  .rmap__main > li.to-credit::after{content:"⇓"}
  .rmap__n{min-height:0}
  .rmap__sub{max-width:560px;grid-template-columns:minmax(0,1fr)}
}
.roles td:last-child{color:var(--ink-2)}
.cdr-not{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--gap) clamp(24px,5vw,80px);margin-top:clamp(40px,5vw,72px);padding:clamp(24px,3vw,44px);border-radius:var(--r-m)}
.cdr-not h3{font-size:clamp(22px,2vw,30px);line-height:1.3;letter-spacing:-.022em}
.cdr-not > div > p{margin-top:12px;color:var(--on-night-2);font-size:15px}
.cdr-not .not-list li{color:var(--on-night)}
.cdr-not__cap{margin-top:16px!important;color:var(--on-night-2)}
@media (max-width:900px){.cdr-not{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){.cdr-not .not-list{grid-template-columns:minmax(0,1fr)}}

/* ---------- S07: rating readiness card ---------- */
.rate{padding:clamp(22px,3.2vw,48px);background:var(--paper-2);border-radius:var(--r-m)}
.rate__def{font-size:clamp(19px,1.6vw,24px);line-height:1.6;letter-spacing:-.015em;font-weight:560;max-width:44em;padding-left:18px;border-left:3px solid var(--brand)}
.rate__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);margin-top:clamp(24px,3vw,36px)}
.rate__col{padding:clamp(18px,2vw,28px);border-radius:var(--r-m);background:var(--card)}
.rate__col--out{background:transparent;border:1.5px dashed var(--ink-2)}
.rate__h{font-size:clamp(18px,1.5vw,21px);line-height:1.35;letter-spacing:-.015em;margin-bottom:12px}
.rate__in{list-style:none;margin:0;padding:0;display:grid;counter-reset:ri}
.rate__in li{counter-increment:ri;position:relative;padding:12px 0 12px 38px;border-top:1px solid var(--rule);font-size:15px;line-height:1.7;color:var(--ink-2)}
.rate__in li::before{content:counter(ri,decimal-leading-zero);position:absolute;left:0;top:14px;font:500 12px/1.6 var(--font-mono);color:var(--forest)}
.rate__in b{display:block;color:var(--ink);font-weight:650;font-size:16px}
.rate__out{list-style:none;margin:0;padding:0;display:grid}
.rate__out li{position:relative;padding:12px 0 12px 30px;border-top:1px solid var(--rule-2);font-size:15px;line-height:1.65}
.rate__out li::before{content:"";position:absolute;left:0;top:16px;width:16px;height:16px;border:1.5px solid var(--ink-2);border-radius:2px;
  background:linear-gradient(45deg,transparent 45%,var(--ink-2) 45% 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,var(--ink-2) 45% 55%,transparent 55%)}
.rate__out-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:22px}
.rate__k{font:500 12px/1.3 var(--font-mono);color:var(--forest)}
.rate__out-chips ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.rate__mini{margin-top:clamp(32px,4vw,52px)}
.rate__mini .sol-sub{margin-bottom:14px}
@media (max-width:760px){.rate__cols{grid-template-columns:minmax(0,1fr)}}

/* ---------- S08: fee cards, principles, external costs ---------- */
.fee-grid .deliv__badge{background:var(--brand);color:#fff}
.fee .deliv__dl .is-out dd{font-weight:600}
.fee-cap{margin-top:16px;font-size:14.5px;line-height:1.7;color:var(--ink-2);max-width:56em}
.principles-wrap .nlist{margin-top:0}
@media (max-width:1100px) and (min-width:681px){.fee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- S09: policy table + claim rules ---------- */
.policy-t td ul li{margin-top:6px}
.policy-t td ul li:first-child{margin-top:0}
.policy-t td:last-child{background:rgba(229,234,223,.5)}
.claim-rules{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:18px}
.claim-rules__k{font:500 12px/1.3 var(--font-mono);color:var(--forest)}
.claim-rules ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.laws .dlist li{grid-template-columns:minmax(0,10em) minmax(0,1fr)}
@media (max-width:900px){.laws .dlist li{grid-template-columns:minmax(0,1fr)}}

/* ---------- S10: buyers + English summary ---------- */
.buy{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--gap) clamp(28px,5vw,80px);align-items:start}
.buy__txt .sol-lead{margin-top:20px}
.buy__vals{list-style:none;margin:28px 0 0;padding:0;display:grid}
.buy__vals li{display:grid;gap:6px;padding:18px 0;border-top:1px solid rgba(234,242,236,.14)}
.buy__vals h3{font-size:clamp(18px,1.5vw,21px);line-height:1.4;letter-spacing:-.015em}
.buy__vals p{font-size:15px;line-height:1.7;color:var(--on-night-2)}
.buy-check{padding:clamp(20px,2.4vw,32px);border-radius:var(--r-m);background:var(--mist);color:var(--ink)}
.buy-check h3{font-size:clamp(20px,1.7vw,24px);line-height:1.3;letter-spacing:-.02em}
.buy-check__list{list-style:none;margin:14px 0 0;padding:0;display:grid;counter-reset:bc}
.buy-check__list li{counter-increment:bc;display:grid;grid-template-columns:32px minmax(0,1fr);padding:9px 0;border-top:1px solid rgba(10,42,30,.14);font-size:15px;line-height:1.55}
.buy-check__list li::before{content:counter(bc,decimal-leading-zero);font:500 12px/1.9 var(--font-mono);color:var(--forest)}
.buy-check__cap{margin-top:12px;font-size:13px;line-height:1.6;color:var(--ink-2)}
.buy__ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.buy__fine{margin-top:12px;font-size:13.5px;line-height:1.6;color:var(--on-night-2)}
@media (max-width:900px){.buy{grid-template-columns:minmax(0,1fr)}.buy__ctas .btn{flex:1 1 auto}}
.en-sum{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--gap) clamp(24px,4vw,64px);margin-top:clamp(44px,5vw,80px);padding:clamp(20px,2.8vw,40px);border:1.5px dashed rgba(191,234,98,.5);border-radius:var(--r-m)}
.en-sum__k{font:500 12px/1.3 var(--font-mono);color:var(--signal);letter-spacing:.04em;text-transform:uppercase}
.en-sum h3{margin-top:10px;font-size:clamp(21px,1.9vw,28px);line-height:1.3;letter-spacing:-.02em}
.en-sum__asof{margin-top:10px;font:400 12px/1.5 var(--font-mono);color:var(--on-night-2)}
.en-sum__body p{font-size:15.5px;line-height:1.7;color:var(--on-night);word-break:normal;overflow-wrap:break-word}
.en-sum__body p + p{margin-top:12px}
.en-sum__links{margin-top:18px!important}
@media (max-width:900px){.en-sum{grid-template-columns:minmax(0,1fr)}}

/* ---------- FAQ, insights, update log ---------- */
.faq-more{margin-top:22px;font-size:15px;color:var(--ink-2)}
.faq-more .text-link{margin-left:6px}
.faq__a a:not(.fn){color:var(--brand);font-weight:600;text-underline-offset:3px}
.cdr-upd{padding-block:clamp(56px,6vw,88px)}
.upd{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gap) clamp(24px,5vw,80px);align-items:start}
.upd__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.upd__list li{display:grid;grid-template-columns:minmax(0,7.5em) minmax(0,1fr);gap:6px 24px;padding:16px 0;border-bottom:1px solid var(--rule)}
.upd__list time{font:500 13px/1.7 var(--font-mono);color:var(--forest)}
.upd__list p{font-size:15.5px;line-height:1.7}
.upd .text-link{white-space:nowrap}
@media (max-width:900px){.upd{grid-template-columns:minmax(0,1fr)}}
.sol-cdr .refs__body a.refs__url .sr-only{white-space:nowrap}

/* ---------- S12: closing band "what you get" ---------- */
.sol-cta .cta-get__h{margin:30px auto 0;font:500 12px/1.3 var(--font-mono);color:var(--signal);letter-spacing:.04em;word-spacing:-.25em}
.cta-get{list-style:none;margin:14px auto 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:1000px;text-align:left;counter-reset:cg}
.cta-get li{counter-increment:cg;display:grid;gap:6px;align-content:start;padding:16px 18px;border:1px solid rgba(234,242,236,.18);border-radius:var(--r-m);background:rgba(10,42,30,.72)}
.cta-get li::before{content:counter(cg,decimal-leading-zero);font:500 12px/1 var(--font-mono);color:var(--signal)}
.cta-get b{font-size:16.5px;line-height:1.4;color:var(--on-night)}
.cta-get span{font-size:14px;line-height:1.6;color:var(--on-night-2)}
.sol-cta__fine a{color:var(--on-night);text-underline-offset:3px;margin-left:4px}
@media (max-width:860px){.cta-get{grid-template-columns:minmax(0,1fr)}}

@media (prefers-reduced-motion:reduce){
  .drum__item::before,.drum__v b,.dm-node rect,.dm-item{transition:none!important}
}

/* English edition (2026-10-26) */
@media (max-width:899px){html[lang="en"] .dm-ext::before{content:"↓ Independent bodies decide"}}
/* the arrow after the last step in a wrapped row sits outside the list; English steps wrap differently, so clip it */
html[lang="en"] .flow{overflow:hidden}
