.sl-fig { margin: 2rem 0; }
.sl-fig figcaption { font-size: .84rem; color: var(--msm-ink-soft); margin-top: .7rem; font-family: var(--msm-font-data); }
.sl-fig p { margin: 0; }
.sl-fig__title {
font-family: var(--msm-font-display); font-variation-settings: "wdth" 116; font-weight: 700;
font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 .9rem !important;
}
.sl-pic img { display: block; width: 100%; height: auto; border-radius: 4px; }
.sl-timeline { padding: 1.1rem 1.1rem 1rem; border: 2px solid var(--msm-ink); border-radius: 8px; background: var(--msm-paper); }
.sl-viz { display: block; width: 100%; height: auto; overflow: visible; margin-bottom: 1.1rem; }
.sl-viz text { font-family: var(--msm-font-data); fill: var(--msm-ink); }
.sl-axis { stroke: var(--msm-ink); stroke-width: 3; }
.sl-dot { fill: var(--msm-harbour); stroke: var(--msm-paper); stroke-width: 3; }
.sl-dot--open { fill: var(--msm-paper); stroke: var(--msm-vermilion); stroke-width: 3; stroke-dasharray: 4 3; }
.sl-dot-n { font-size: 12px; font-weight: 700; fill: var(--msm-paper) !important; }
.sl-dot-n--open { font-size: 10.5px; fill: var(--msm-vermilion-deep) !important; }
.sl-ax-d { font-size: 11.5px; letter-spacing: .02em; fill: var(--msm-ink-soft) !important; }
.sl-plan { fill: var(--msm-sand-wash); stroke: var(--msm-vermilion); stroke-width: 1.5; stroke-dasharray: 6 4; }
.sl-plan-t { font-family: var(--msm-font-display) !important; font-weight: 700; font-size: 15px; fill: var(--msm-vermilion-deep) !important; }
.prose .sl-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.prose .sl-cards > li { margin: 0; }
.prose .sl-card {
position: relative; padding: .8rem .9rem .85rem; border: 1.5px solid var(--msm-harbour); border-radius: 8px;
background: var(--msm-paper); font-size: .92rem; line-height: 1.42; overflow-wrap: break-word;
}
.prose .sl-card::before { content: none; }
.sl-card__n {
display: inline-grid; place-items: center; width: 1.5rem; height: 1.5rem; margin-right: .5rem; border-radius: 50%;
float: left; background: var(--msm-harbour); color: var(--msm-paper); font-family: var(--msm-font-data); font-size: .78rem;
}
.sl-card__when { font-family: var(--msm-font-data); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; color: var(--msm-harbour); }
.sl-card__when { display: block; margin-bottom: .45rem; padding-top: .15rem; }
.prose .sl-card--bill { border: 2px dashed var(--msm-vermilion); }
.sl-card--bill .sl-card__when { color: var(--msm-vermilion-deep); display: block; }
.prose .sl-card--plan { grid-column: 1 / -1; border: 2px dashed var(--msm-vermilion); background: var(--msm-sand-wash); }
.sl-card--plan .sl-card__when { display: block; color: var(--msm-vermilion-deep); }
.prose .sl-card--plan ul { margin: .2rem 0 0; padding-left: 1.1rem; columns: 2; column-gap: 2rem; }
.prose .sl-card--plan li { margin: 0 0 .25rem; break-inside: avoid; }
.sl-wide { display: block; }
@media (max-width: 760px) {
.sl-viz.sl-wide { display: none; }
.prose .sl-cards { grid-template-columns: minmax(0, 1fr); gap: 0; padding-left: 1.3rem; border-left: 2px solid var(--msm-ink); }
.prose .sl-cards > li { margin-bottom: .9rem; }
.prose .sl-card--plan ul { columns: 1; }
}
.sl-table th[scope="row"] { font-weight: 700; text-align: left; vertical-align: top; padding: .62rem .9rem .62rem 0; border-bottom: 1px dashed rgb(154 166 169 / .55); }
.sl-table td { overflow-wrap: break-word; }
.sl-bonds .spec-table-wrap, .sl-ask .spec-table-wrap { margin: 0; }
.sl-foot { margin: .7rem 0 0 !important; padding: .55rem .8rem; border-left: 3px solid var(--msm-dock-yellow); background: var(--msm-sand-wash); font-size: .9rem; }
@media (max-width: 760px) {
.spec-table.sl-table { min-width: 0; }
.sl-table thead { display: none; }
.sl-table, .sl-table tbody, .sl-table tr, .sl-table td, .sl-table th[scope="row"] { display: block; width: 100%; }
.sl-table tr { border: 1.5px solid var(--msm-ink); border-radius: 10px; padding: .7rem 1rem; margin-bottom: 1rem; background: var(--msm-paper); }
.sl-table th[scope="row"] { border: 0; padding: 0 0 .35rem; font-size: 1.02rem; }
.sl-table td { border: 0; padding: .3rem 0; display: grid; grid-template-columns: 5.6rem minmax(0, 1fr); gap: .7rem; }
.sl-table td::before {
content: attr(data-label); font-family: var(--msm-font-data); font-size: .72rem;
letter-spacing: .06em; text-transform: uppercase; color: var(--msm-ink-soft); padding-top: .2em;
}
}
.sl-shaft { padding: 1.1rem 1.2rem 1rem; border: 2px solid var(--msm-ink); border-radius: 8px; background: var(--msm-paper); }
.sl-shaft__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 1.4rem; align-items: start; }
.prose .sl-floors { list-style: none; margin: 0; padding: 0 0 0 2.6rem; position: relative; display: grid; gap: 0; }
.prose .sl-floors::before {
content: ""; position: absolute; left: .55rem; top: 0; bottom: 0; width: 1.5rem;
border: 1.5px dashed var(--msm-ink-soft); border-radius: 2px; background: var(--msm-sand-wash);
}
.prose .sl-floor { margin: 0; position: relative; padding: .75rem 0 .75rem .2rem; border-top: 2px solid var(--msm-ink); display: grid; gap: .15rem; }
.prose .sl-floor::before { content: none; }
.sl-floor__n { font-family: var(--msm-font-data); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--msm-harbour); }
.sl-floor__t { font-size: .95rem; line-height: 1.4; font-weight: 500; }
.prose .sl-floor--top::after {
content: ""; position: absolute; left: -2.15rem; top: .55rem; width: 1.5rem; height: 1.15rem;
background: var(--msm-vermilion); border-radius: 2px; box-shadow: inset 0 -.3rem 0 rgb(0 0 0 / .18);
}
.sl-side { padding: .8rem .95rem; border-left: 3px solid var(--msm-dock-yellow); background: var(--msm-sand-wash); font-size: .93rem; line-height: 1.45; }
@media (max-width: 760px) { .sl-shaft__grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; } }
.sl-chart .sl-fig__title { text-transform: none; letter-spacing: .01em; font-size: .95rem; line-height: 1.4; font-variation-settings: normal; }
.prose .sl-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.prose .sl-bar { margin: 0; padding: 0; display: grid; gap: .3rem; }
.prose .sl-bar::before { content: none; }
.sl-bar__l { font-weight: 600; font-size: .95rem; }
.sl-bar__b { display: block; height: 1.5rem; border-radius: 0 3px 3px 0; background: var(--msm-harbour); }
.prose .sl-bar:last-child .sl-bar__b { background: var(--msm-vermilion); }
.sl-chart { padding: 1.1rem 1.2rem 1rem; border: 2px solid var(--msm-ink); border-radius: 8px; background: var(--msm-paper); }
.sl-check {
padding: 1.3rem 1.4rem 1.1rem; border-radius: 10px;
background: var(--msm-sand-wash) url("/assets/brand/textures/quilt-grain-on-sand.svg");
}
.sl-check .sl-fig__title { text-transform: none; letter-spacing: .01em; font-size: 1rem; }
.prose .sl-check__list { margin: 0; }
.prose .sl-check__list li { padding: 0; margin: 0; border-top: 1px dashed rgb(154 166 169 / .7); }
.prose .sl-check__list li:first-child { border-top: 0; }
.prose .sl-check__list li::before { content: none; }
.sl-check label { display: flex; gap: .75rem; align-items: flex-start; padding: .55rem 0; cursor: pointer; overflow-wrap: break-word; }
.sl-check input { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; margin: .22em 0 0; accent-color: var(--msm-harbour); cursor: pointer; }
.sl-check input:checked + span { color: var(--msm-ink-soft); text-decoration: line-through; text-decoration-color: var(--msm-steel); }
.sl-sum { padding: 1.1rem 1.2rem .4rem; border: 2px solid var(--msm-ink); border-radius: 8px; background: var(--msm-paper); }
.prose .sl-sum__rows { list-style: none; margin: 0; padding: 0; }
.prose .sl-sum__rows li {
margin: 0; padding: .7rem 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, .8fr); gap: .3rem 1.2rem;
border-top: 1px dashed rgb(154 166 169 / .7);
}
.prose .sl-sum__rows li::before { content: none; }
.sl-sum__k { font-weight: 700; font-size: .92rem; line-height: 1.35; }
.sl-sum__v { font-family: var(--msm-font-display); font-variation-settings: "wdth" 108; font-weight: 700; font-size: 1rem; line-height: 1.3; color: var(--msm-harbour); }
.sl-sum__s { font-family: var(--msm-font-data); font-size: .74rem; line-height: 1.4; align-self: start; padding-top: .2rem; }
@media (max-width: 760px) {
.prose .sl-sum__rows li { grid-template-columns: minmax(0, 1fr); }
}
.sl-sources ul li { overflow-wrap: anywhere; }
.sl-sources h2 { margin-top: 0; font-size: 1.3rem; }