.soc-strip { max-width: 40rem; margin-top: 1.25rem; }
@media (min-width: 760px) { .soc-compare tbody th { width: 20%; } .soc-compare td { width: 40%; } }
@media (max-width: 760px) {
}
.soc-pair { margin-inline: 0; margin-bottom: 0; }
.soc-pair figcaption { font-size: 1.02rem; color: var(--mw-ink); margin: 0; }
.soc-left .aside { margin-top: clamp(1.5rem, 1rem + 1.5vw, 2.25rem); }
.soc-pair img { width: 100%; height: auto; border-radius: var(--radius); }
.soc-street .card .fit { margin-top: auto; padding-top: 0.9rem; border-top: 1px solid var(--mw-hairline); color: var(--mw-ink); font-weight: 600; }
.soc-plan { margin: 0; background: var(--mw-board); border-bottom: var(--slab) solid var(--mw-olive); padding: clamp(0.9rem, 0.6rem + 1vw, 1.5rem); border-radius: var(--radius) var(--radius) 0 0; }
.soc-plan svg { display: block; width: 100%; height: auto; }
.soc-plan .blk { fill: var(--mw-sheet); }
.soc-plan .drv { fill: var(--mw-board); }
.soc-plan .pth { fill: var(--mw-board-deep); }
.soc-plan .vrg { fill: var(--mw-board); }
.soc-plan .rd { fill: var(--mw-hairline); opacity: 0.35; }
.soc-plan .bnd { stroke: var(--mw-olive); stroke-width: 4; }
.soc-plan .krb { stroke: var(--mw-olive); stroke-width: 2; }
.soc-plan .box { fill: none; stroke: var(--mw-ink); stroke-width: 3; stroke-dasharray: 10 7; }
.soc-plan .lit { fill: var(--mw-ink); }
.soc-plan .dim { stroke: var(--mw-ink); stroke-width: 2; fill: none; }
.soc-plan text { font-family: var(--mw-font-display); font-weight: 500; font-size: 21px; fill: var(--mw-ink); }
.soc-plan text.q { fill: var(--mw-olive-deep); font-weight: 600; font-size: 17px; letter-spacing: 0.06em; }
.soc-week { list-style: none; margin: 0 0 0.75rem; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: var(--slab) solid var(--mw-olive); }
.soc-week li { padding: 0.7rem 0.5rem 0.8rem; border-right: 1px solid var(--mw-hairline); background: var(--mw-sheet); min-width: 0; }
.soc-week li:last-child { border-right: 0; }
.soc-week b { display: block; font-family: var(--mw-font-display); font-weight: 600; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mw-olive-deep); }
.soc-week span { display: block; font-size: 0.92rem; line-height: 1.3; margin-top: 0.25rem; }
.soc-week .off { background: transparent; color: var(--mw-muted); }
.soc-week .on { background: var(--mw-board-deep); }
.soc-week .go { background: var(--mw-ink); color: var(--mw-sheet); }
.soc-week .go b { color: var(--mw-olive-lit); }
@media (max-width: 620px) {
.soc-plan text { font-size: 28px; }
.soc-plan text.q { font-size: 22px; }
.soc-week { grid-template-columns: minmax(0, 1fr); }
.soc-week li { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); align-items: baseline; border-right: 0; border-bottom: 1px solid var(--mw-hairline); padding: 0.55rem 0.75rem; }
.soc-week span { margin-top: 0; }
}