.bl-wrap{max-width:1400px;margin:0 auto;background:var(--color-surface);padding:var(--page-pad-top) 0 var(--page-pad-bottom)}.so-inner{max-width:1080px;margin:0 auto;padding:0 48px}.so-crumbs{font-size:.9rem;color:var(--color-muted);padding-top:20px}.so-crumbs a{color:var(--color-brand-text);text-decoration:none}.so-crumbs a:hover{text-decoration:underline}.bl-head h1{margin:0 0 .35rem;color:var(--color-ink);padding:40px 0 10px;font-weight:300}.bl-head p{margin:0 0 .6rem;color:var(--color-muted-2);max-width:80ch;line-height:1.6}.so-dates{color:var(--color-muted)!important;font-size:.9rem;margin:0 0 1.5rem!important}.so-hero{margin:.5rem 0 2rem}.so-hero img{width:100%;height:auto;display:block}.so-body h2{color:var(--color-link-alt);font-weight:400;font-size:1.65rem;margin:2.4rem 0 .7rem}.so-body h3{color:var(--color-ink);font-weight:600;font-size:1.15rem;margin:1.6rem 0 .5rem}.so-body p{color:var(--color-text-soft);line-height:1.75;margin:0 0 1rem;max-width:78ch}.so-body ul,.so-body ol{color:var(--color-text-soft);line-height:1.7;margin:0 0 1.2rem;padding-left:1.4rem;max-width:78ch}.so-body li{margin:0 0 .5rem}.so-body li strong{color:var(--color-ink)}.so-body a{color:var(--color-link-alt);font-weight:600;text-decoration:none}.so-body a:hover{text-decoration:underline}.so-body figure{margin:1.6rem 0}.so-body figure img{width:100%;height:auto;display:block}.so-body figcaption{color:var(--color-muted);font-size:.85rem;margin-top:.5rem}.so-tldr{background:var(--color-review-bg);border-left:10px solid var(--color-review-accent);padding:1.5rem 1.8rem;margin:0 0 2rem;max-width:none}.so-tldr p,.so-tldr ul{color:var(--color-ink)}.so-tldr>p:first-child{font-weight:700;margin-bottom:.6rem}.so-notice{background:var(--color-surface-2);border:1px solid var(--color-border);border-left:6px solid var(--color-brand);padding:1.1rem 1.4rem;margin:0 0 1.6rem}.so-notice p{margin:0;color:var(--color-ink)}.so-benefits{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;max-width:none}.so-benefits li{padding:1.3rem 1.4rem;background:var(--color-surface-2);border:1px solid var(--color-border);border-top:4px solid var(--color-button);margin:0}.so-benefits strong{display:block;color:var(--color-ink);margin-bottom:.4rem}.so-benefits p{font-size:.93rem;margin:0}.so-imgs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.6rem 0}.so-imgs img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:3 / 2}@media(max-width:700px){.so-imgs{grid-template-columns:1fr}}.so-related{margin:3.5rem 0 0;padding-top:2rem;border-top:1px solid var(--color-border)}.so-related h2{color:var(--color-ink);font-weight:400;font-size:1.4rem;margin:0 0 1rem}.so-rel-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.so-rel-grid a{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1.1rem 1.2rem;background:var(--color-surface-2);border:1px solid var(--color-border);text-decoration:none;transition:border-color .15s ease}.so-rel-grid a:hover{border-color:var(--color-brand)}.so-rel-grid strong{color:var(--color-link-alt);font-weight:600}.so-rel-grid span{color:var(--color-muted-2);font-size:.88rem;line-height:1.5}.so-cta{margin:2.5rem 0 0;padding:2rem 2.2rem;background:var(--color-review-bg);border-left:10px solid var(--color-review-accent);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem}.so-cta h2{margin:0 0 .4rem;color:var(--color-ink);font-weight:400;font-size:1.35rem}.so-cta p{margin:0;color:var(--color-text-soft);max-width:60ch;line-height:1.6}.so-cta-actions{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}.so-cta-btn{display:inline-block;background:var(--color-button);color:#fff;font-weight:600;padding:.85rem 1.7rem;text-decoration:none;white-space:nowrap}.so-cta-btn:hover{filter:brightness(1.08)}.so-cta-tel{color:var(--color-ink);font-weight:700;text-decoration:none;white-space:nowrap}.so-cta-tel:hover{text-decoration:underline}@media(max-width:760px){.bl-wrap{padding:var(--space-lg) 0 3rem}.so-inner{padding:0 18px}}
