.art-head h1 { max-width: 30ch; }
.art-head .lede { max-width: 46rem; }
@media (min-width: 960px) { .art-head .shell { grid-template-columns: minmax(0, 1fr); } }
.art .fig-src, .art .fig-cap { max-width: 42rem; }
.su-bars { list-style: none !important; padding: 0 !important; margin: 0; display: grid; gap: 14px; }
.su-bar { margin: 0 !important; display: grid; gap: .3rem; }
@media (min-width: 760px) { .su-bar { grid-template-columns: 15rem minmax(0, 1fr); align-items: center; gap: 1rem; } }
.su-bar-n { font: 600 .98rem/1.3 var(--display); font-stretch: 90%; color: var(--slate); }
.su-bar-t { display: flex; align-items: center; gap: .6rem; min-height: 30px; }
.su-bar-f { display: block; height: 26px; min-width: 4px; width: calc((100% - 10rem) * var(--w)); background: var(--slate); flex: none; }
.su-bar-v { font-size: .93rem; white-space: nowrap; }
.su-bar.is-now .su-bar-f { background: var(--yellow); box-shadow: inset 0 0 0 2px #c99a26; }
.su-bar.is-now .su-bar-v { font-weight: 700; }
.su-bar.is-core { margin-top: 10px !important; padding-top: 14px; border-top: 1px dashed #9fb0b1; }
.su-bar.is-core .su-bar-f { background: #fff; box-shadow: inset 0 0 0 2px var(--orange); background-image: repeating-linear-gradient(135deg, var(--m-tint) 0 6px, #fff 6px 12px); }
.su-kind { display: inline-block; margin-left: .45rem; padding: .18rem .4rem; background: var(--m-tint); color: #7a4a26; font: 700 .76rem/1 var(--display); letter-spacing: .03em; text-transform: uppercase; vertical-align: .1em; }
.su-viz { display: block; width: 100%; height: auto; overflow: visible; }
.su-phone { max-width: 420px; }
@media (max-width: 699px) { .su-wide { display: none; } }
@media (min-width: 700px) { .su-phone { display: none; } }
.su-viz .su-zone { stroke: none; } .su-viz .z-b { fill: var(--grey); } .su-viz .z-d { fill: #fff8e4; } .su-viz .z-a { fill: var(--grey); }
.su-viz .su-band { fill: var(--yellow); }
.su-viz .su-brk { fill: none; stroke: var(--slate); stroke-width: 1.5; }
.su-viz .su-axis { stroke: var(--slate); stroke-width: 2; } .su-viz .su-tick { stroke: #9fb0b1; stroke-width: 1; } .su-viz .su-tick-w { stroke: var(--slate); stroke-width: 1.5; }
.su-viz .su-mk { stroke: #c25a5e; stroke-width: 1.5; stroke-dasharray: 4 3; } .su-viz .su-mkd { fill: #c25a5e; }
.su-viz .su-zl { font: 700 15px var(--display); font-stretch: 88%; fill: var(--slate); }
.su-viz .su-bt { font: 700 15px var(--display); font-stretch: 88%; fill: #1d2a2b; }
.su-viz .su-dt { font: 600 13px var(--text); fill: #1d2a2b; }
.su-viz .su-ax { font: 500 12.5px var(--text); fill: #53676a; }
.su-viz .su-mt { font: 500 13px var(--text); fill: #8f3d40; }
.su-tbl th[scope="row"] { width: 20%; } .su-tbl td:nth-child(2) { width: 36%; }
.su-fl-start { display: inline-block; margin: 0; padding: .7rem 1rem; background: var(--slate); color: #fff; font: 700 1.05rem/1.25 var(--display); font-stretch: 88%; }
.su-fl { list-style: none !important; padding: 0 !important; margin: 0 0 0 1.2rem; border-left: 2px solid var(--slate); }
.su-fl-b { position: relative; margin: 0 !important; padding: 1.1rem 0 0 1.6rem; display: grid; gap: .45rem; }
.su-fl-b::before { content: ""; position: absolute; left: 0; top: calc(1.1rem + 1.1em); width: 1.2rem; border-top: 2px solid var(--slate); }
.su-fl-if, .su-fl-then { margin: 0; padding: .6rem .8rem; border: 2px solid var(--slate); }
.su-fl-if { font: 700 1rem/1.3 var(--display); font-stretch: 90%; color: var(--slate); background: #fff; }
.su-fl-then { position: relative; margin-left: 1.4rem; background: var(--b-tint); border-color: #c99a26; font-size: .96rem; line-height: 1.4; }
.su-fl-then::before { content: ""; position: absolute; left: -1.4rem; top: -.5rem; width: 1.2rem; height: calc(.5rem + 1.1em); border-left: 2px solid var(--slate); border-bottom: 2px solid var(--slate); }
.su-fl-1 .su-fl-then { background: var(--p-tint); border-color: #c25a5e; }
.su-fl-3 .su-fl-then { background: var(--m-tint); border-color: #d9844a; }
@media (min-width: 900px) {
.su-fl { margin: 0; border-left: 0; border-top: 2px solid var(--slate); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.su-fl-b { padding: 1.4rem 0 0; }
.su-fl-b::before { left: 1.2rem; top: 0; width: 0; height: 1.4rem; border-top: 0; border-left: 2px solid var(--slate); }
.su-fl-then { margin: 1.2rem 0 0; }
.su-fl-then::before { left: 1.2rem; top: -1.2rem; width: 0; height: 1.2rem; border-bottom: 0; }
.su-fl-start { margin-left: 0; }
}
.su-fl-notes { list-style: none !important; padding: .8rem 0 0 !important; margin: 1.2rem 0 0; border-top: 1px dashed #9fb0b1; display: grid; gap: .3rem; }
.su-fl-notes li { margin: 0; font: 600 .95rem/1.35 var(--display); font-stretch: 92%; color: #6b5a4c; }
.su-hk { display: grid; gap: 22px; }
@media (min-width: 860px) { .su-hk { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: start; gap: 32px; } }
.su-hk-paths { list-style: none !important; padding: 0 !important; margin: 0; display: grid; gap: 16px; }
.su-hk-paths li { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) 2.2rem minmax(0, 1fr); align-items: center; gap: 0 .5rem; }
.su-hk-tag { grid-column: 1 / -1; font: 700 .8rem/1 var(--display); letter-spacing: .05em; text-transform: uppercase; color: #53676a; margin-bottom: .4rem; }
.su-hk-who, .su-hk-end { padding: .6rem .75rem; border: 2px solid var(--slate); background: #fff; font-size: .95rem; line-height: 1.35; height: 100%; }
.su-hk-to { height: 2px; background: var(--slate); position: relative; }
.su-hk-to::after { content: ""; position: absolute; right: -1px; top: -5px; border: 6px solid transparent; border-left: 8px solid var(--slate); border-right: 0; }
.su-hk-a .su-hk-end { background: var(--b-tint); border-color: #c99a26; font-weight: 600; }
.su-hk-b .su-hk-to { background: repeating-linear-gradient(90deg, #c25a5e 0 6px, transparent 6px 10px); }
.su-hk-b .su-hk-to::after { border-left-color: #c25a5e; }
.su-hk-b .su-hk-end { background: var(--p-tint); border: 2px dashed #c25a5e; font-weight: 600; }
.su-hk-site { border: 2px solid var(--slate); padding: 14px 16px; background: #fff; }
.su-hk-h { margin: 0 0 .5rem; font: 700 1rem/1.2 var(--display); font-stretch: 88%; color: var(--slate); }
.su-hk-tree, .su-hk-tree ul { list-style: none !important; margin: 0; padding: 0 !important; }
.su-hk-tree > li { margin: 0; font-weight: 600; }
.su-hk-tree ul { margin: .4rem 0 0 .45rem; border-left: 2px solid var(--slate); }
.su-hk-tree ul li { position: relative; margin: 0; padding: .28rem 0 .28rem 1.3rem; font-weight: 400; font-size: .95rem; }
.su-hk-tree ul li::before { content: ""; position: absolute; left: 0; top: 50%; width: 1rem; border-top: 2px solid var(--slate); }
.su-hk-tree .su-inj { color: #7d8a8b; font-style: italic; }
.su-hk-tree .su-inj::before { border-top: 2px dashed #9fb0b1; }
.su-card .st > li.is-next { border-style: solid; background: var(--b-tint); }
.su-url { overflow-wrap: anywhere; line-height: 1.35; }