.wp-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.wp-ic { fill: none; stroke: var(--slate); stroke-width: 2; stroke-linejoin: miter; stroke-linecap: butt; }
.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 { max-width: 42rem; }
.fig-tag { display: inline-block; font: 700 .8rem/1 var(--display); font-stretch: 90%; letter-spacing: .04em; text-transform: uppercase; background: var(--b-tint); color: #1d2a2b; padding: .32rem .5rem; margin-right: .55rem; vertical-align: .08em; }
.tbl-fixes th[scope="row"] { width: 42%; font-weight: 600; color: var(--ink); }
.tbl-fixes td { width: 58%; }
.wp-q2 { display: grid; gap: 22px; margin: 0; }
@media (min-width: 700px) { .wp-q2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; } }
.wp-q { margin: 0; padding: .4rem 0 .4rem 1.3rem; border-left: 6px solid var(--yellow); display: flex; flex-direction: column; justify-content: space-between; gap: .8rem; }
.wp-q p { font: 700 clamp(1.2rem, 1.05rem + .7vw, 1.5rem)/1.25 var(--display); font-stretch: 88%; color: var(--slate); margin: 0; }
.wp-q p::before { content: "\201C"; }
.wp-q p::after { content: "\201D"; }
.wp-q cite { font: 600 .95rem/1.3 var(--text); font-style: normal; color: #53676a; }
.wp-q2-line { margin: 1.4rem 0 0; padding-top: 1rem; border-top: 1px solid var(--hair); font: 700 1.3rem/1.25 var(--display); font-stretch: 88%; color: var(--slate); }
.wp-photo { margin: 2.2rem 0 2.4rem; }
.wp-photo img { display: block; width: 100%; max-width: 42rem; height: auto; }
.wp-photo figcaption { font-size: .98rem; margin-top: .8rem; max-width: 42rem; }
.wp-route { display: block; width: 100%; max-width: 440px; height: auto; }
.wp-route .r-card { fill: #fff; stroke: var(--slate); stroke-width: 2; }
.wp-route .r-tile { fill: var(--b-tint); stroke: var(--slate); stroke-width: 2; }
.wp-route .r-badge { fill: var(--slate); }
.wp-route .r-num { font: 700 13px var(--text); fill: #fff; }
.wp-route .r-t { font: 700 14px var(--text); fill: var(--ink); }
.wp-route .r-s { font: 500 13px var(--text); fill: #53676a; }
.wp-route .r-line { stroke: var(--slate); stroke-width: 2.5; fill: none; }
.wp-route .r-head { fill: var(--slate); }
.wp-route .r-back { stroke: #c25a5e; stroke-width: 2.5; stroke-dasharray: 8 6; fill: none; }
.wp-route .r-backhead { fill: #c25a5e; }
.wp-route .r-lab { font: 700 13px var(--text); fill: #8a3f43; }
.wp-chart { display: block; width: 100%; max-width: 460px; height: auto; }
.wp-chart .c-lab { font: 600 13px var(--text); fill: var(--ink); }
.wp-chart .c-bar { fill: var(--slate); }
.wp-chart .c-val { font: 700 16px var(--display); font-stretch: 88%; fill: var(--ink); }
.wp-tl { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.wp-tl li { position: relative; margin: 0; padding: 0 0 1.4rem 2.1rem; }
.wp-tl li::before { content: ""; position: absolute; left: 0; top: .28em; width: 14px; height: 14px; background: var(--slate); }
.wp-tl li::after { content: ""; position: absolute; left: 6px; top: calc(.28em + 16px); bottom: 2px; border-left: 2px solid var(--slate); }
.wp-tl li.wp-next { padding-bottom: 0; }
.wp-tl li.wp-next::before { background: none; width: 13px; height: 13px; border-right: 2px solid var(--slate); border-bottom: 2px solid var(--slate); transform: rotate(45deg); left: 1px; top: .2em; }
.wp-tl li.wp-next::after { display: none; }
.wp-tl li:nth-child(3)::after { border-left-style: dashed; }
.wp-tl-mark { display: block; font: 700 .85rem/1.3 var(--text); color: #53676a; margin-top: .25rem; }
.wp-next .tl-when { color: #8a3f43; }
@media (min-width: 900px) {
.wp-tl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 10.5rem; }
.wp-tl li { padding: 30px 18px 0 0; }
.wp-tl li::before { top: 0; left: 0; }
.wp-tl li::after { top: 6px; left: 16px; right: 0; bottom: auto; border-left: 0; }
.wp-tl li::after { border-top: 2px solid var(--slate); }
.wp-tl li:nth-child(3)::after { border-top-style: dashed; }
.wp-tl li.wp-next::before { left: auto; right: 4px; top: 1px; transform: rotate(45deg); border-bottom: 0; border-top: 2px solid var(--slate); }
.wp-tl li.wp-next::after { display: block; border-top: 2px dashed #c25a5e; left: 0; right: 8px; }
.wp-tl li.wp-next::before { border-color: #c25a5e; }
}
@media (max-width: 899px) { .wp-tl li.wp-next::before { border-color: #c25a5e; } }
.wp-card { border: 2px solid var(--slate); background: #fff; padding: 20px 20px 8px; }
.wp-card .fig-title { margin-bottom: 1.1rem; }
.wp-card ul, .wp-card ol { list-style: none !important; padding: 0 !important; margin: 0; }
.wp-card li { margin: 0; }
.wp-tiles { display: grid; gap: 10px; }
@media (min-width: 560px) { .wp-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.wp-tiles li { border: 2px solid var(--slate); padding: 12px 14px 10px; display: grid; gap: .15rem; align-content: start; }
.wp-big { font: 700 1.75rem/1.1 var(--display); font-stretch: 84%; color: var(--slate); }
.wp-lab { font-weight: 600; font-size: 1rem; }
.wp-mark { font-size: .85rem; color: #53676a; }
.wp-row { border-top: 1px solid var(--hair); margin-top: 18px; padding: 14px 0 14px; }
.wp-sub { font: 700 1.05rem/1.3 var(--display); font-stretch: 90%; color: var(--slate); margin: 0 0 .7rem; display: flex; flex-wrap: wrap; gap: .1rem .8rem; align-items: baseline; }
.wp-sub .wp-mark { font: 500 .85rem/1.3 var(--text); }
.wp-split li { display: flex; gap: .8rem; align-items: center; padding: .3rem 0; }
.wp-n { flex: none; width: 2.4rem; height: 2.4rem; display: grid; place-items: center; background: var(--b-tint); border: 2px solid var(--slate); font: 700 1.25rem/1 var(--display); color: var(--slate); }
.wp-icons { display: grid; grid-template-columns: repeat(auto-fit, minmax(5.6rem, 1fr)); gap: 10px; }
.wp-icons li { display: grid; justify-items: center; gap: .35rem; text-align: center; font-weight: 600; font-size: .95rem; line-height: 1.25; }
.wp-icons svg { width: 44px; height: 44px; display: block; }
.wp-icons .wp-ib { width: 64px; height: 64px; display: grid; place-items: center; background: var(--b-tint); border: 2px solid var(--slate); }