.os-living{margin:40px 0;padding-top:8px}.os-living .sub{max-width:62ch}
.os-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:20px 0}
.os-card{border:1px solid #e3ded4;border-radius:14px;padding:18px 18px 14px;background:#fff;display:flex;flex-direction:column}
.os-card h3{margin:0 0 6px;font-size:1.05rem}.os-card p{margin:0 0 10px;line-height:1.5}
.os-head{font-weight:600;font-size:1.05rem}.os-src{margin-top:auto!important;font-size:.8rem;color:#5c5a55;border-top:1px solid #eee;padding-top:8px}
.os-src a{color:inherit}.os-dash dd{line-height:1.45}
.os-table{width:100%;border-collapse:collapse;margin:12px 0}.os-table th,.os-table td{text-align:left;padding:8px;border-bottom:1px solid #e3ded4}
.os-check{list-style:none;padding:0}.os-check li{padding:12px 0 12px 36px;border-bottom:1px solid #eee;position:relative;line-height:1.5}
.os-check li:before{content:"";position:absolute;left:4px;top:15px;width:18px;height:18px;border:2px solid #1f4d3a;border-radius:4px}
@media(max-width:600px){.os-grid{grid-template-columns:1fr}.os-table{font-size:.9rem}}
@media print{.os-card{break-inside:avoid}}
/* Gridfix 7 Nov 2026: fixed column counts so 8 cards fill every row (3+3+2 wide at 3 columns). */
@media screen and (min-width:640px){.os-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense}}
@media screen and (min-width:1001px){.os-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.os-grid>.os-card:last-child:nth-child(3n+2){grid-column:span 2}.os-grid>.os-card:last-child:nth-child(3n+1){grid-column:1 / -1}}
@media screen and (min-width:640px) and (max-width:1000px){.os-grid>.os-card:last-child:nth-child(odd){grid-column:1 / -1}}
