/* ==========================================================================
   OSTEN sub pages — every page except the front page.
   Load order: osten-base.css (reset · tokens) → osten-frame.css (header · footer) → this file.
   Every class here starts with sp- (shared) or pdp- (product detail). Nothing here targets og- (home)
   or legacy classes, so this file can be read top to bottom without cascade surprises.
   Sections
     1. layout · type        2. page head · breadcrumb · sub nav   3. buttons · badges · chips
     4. section title        5. product card · grid               6. tables · notes
     7. prose (editor content)  8. FAQ accordion                  9. forms · quote
    10. CTA band            11. product detail (pdp-)             12. shipping block
    13. hub cards · doc layout  14. listing · industry · blog      15. tools (size finder)
    16. states (search · 404 · empty)  17. responsive
   ========================================================================== */

/* 1. layout · type ------------------------------------------------------ */
.sp{display:block;padding-bottom:0}
.sp-inner{width:100%;max-width:var(--os-outer);margin:0 auto;padding:0 var(--os-pad)}
.sp-narrow{max-width:900px;margin:0 auto}
.sp-sec{padding:80px 0}
.sp-sec + .sp-sec{padding-top:0}
.sp-sec--gray{background:var(--os-bg);padding:80px 0}
.sp-sec--gray + .sp-sec{padding-top:80px}
.sp-sec.sp-sec--gray{padding-top:80px;padding-bottom:80px}
.sp-sec--first{padding-top:48px}
.sp-sec--last{padding-bottom:96px}
.sp-mt16{margin-top:16px}.sp-mt24{margin-top:24px}.sp-mt40{margin-top:40px}.sp-mt56{margin-top:56px}.sp-mb40{margin-bottom:40px}
.sp-narrow-l{max-width:900px}
.sp-h1{font-size:32px;line-height:44px;font-weight:700;letter-spacing:-.6px;color:var(--os-ink)}
.sp-h2{font-size:24px;line-height:32px;font-weight:700;letter-spacing:-.5px;color:var(--os-ink)}
.sp-h3{font-size:19px;line-height:26px;font-weight:600;letter-spacing:-.4px;color:var(--os-ink)}
.mono,.num{font-variant-numeric:tabular-nums}
.sp-ico{flex:none;display:block}

/* 2. page head · breadcrumb · sub nav ----------------------------------- */
.sp-bc{padding:14px 0 0}
.sp-bc .location ol{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none}
.sp-bc .location li{display:flex;align-items:center;font-size:13px;line-height:20px;color:var(--os-sub)}
.sp-bc .location li+li:before{content:"";width:6px;height:6px;margin:0 10px 0 8px;border-top:1.2px solid #A6ABB2;border-right:1.2px solid #A6ABB2;transform:rotate(45deg)}
.sp-bc .location a{color:var(--os-sub)}
.sp-bc .location a:hover{color:var(--os-ink);text-decoration:underline;text-underline-offset:3px}
.sp-bc .location [aria-current]{color:var(--os-ink)}
.sp-head{border-bottom:1px solid var(--os-line2)}
.sp-head-body{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:48px 0 40px}
.sp-head-txt{max-width:820px}
.sp-eyebrow{font-size:14px;line-height:20px;font-weight:600;color:var(--os-sub);margin-bottom:8px}
.sp-head-desc{margin-top:12px;font-size:16px;line-height:26px;color:var(--os-sub);word-break:keep-all}
.sp-head-act{display:flex;gap:8px;flex:none}
.sp-subnav{margin-top:-8px}
.sp-subnav ul{display:flex;gap:32px;overflow-x:auto;scrollbar-width:none}
.sp-subnav ul::-webkit-scrollbar{display:none}
.sp-subnav a{position:relative;display:block;padding:14px 0 16px;font-size:16px;line-height:22px;color:var(--os-sub);white-space:nowrap}
.sp-subnav a:hover{color:var(--os-ink)}
.sp-subnav a[aria-current]{color:var(--os-ink);font-weight:600}
.sp-subnav a[aria-current]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--os-ink)}
.sp-head.has-subnav .sp-head-body{padding-bottom:32px}

/* 3. buttons · badges · chips ------------------------------------------- */
.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:48px;padding:0 22px;border-radius:var(--os-r-box);border:1px solid var(--os-line);background:#fff;color:var(--os-ink);font-size:16px;line-height:22px;font-weight:600;letter-spacing:-.2px;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}
.sp-btn:hover{border-color:#B9BEC5}
.sp-btn--solid{background:var(--os-ink);border-color:var(--os-ink);color:#fff}
.sp-btn--solid:hover{background:#2B2D31;border-color:#2B2D31}
.sp-btn--lg{height:56px;padding:0 26px}
.sp-btn--sm{height:40px;padding:0 16px;font-size:14px;border-radius:10px}
.sp-btn--block{display:flex;width:100%}
.sp-badges{display:flex;flex-wrap:wrap;gap:6px}
.sp-badge{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:4px;background:var(--os-bg);color:#4B5058;font-size:12px;line-height:16px;font-weight:500;white-space:nowrap}
.sp-badge--line{background:#fff;border:1px solid var(--os-red);color:var(--os-red)}
.sp-badge--dark{background:var(--os-ink);color:#fff}
.sp-badge--red{background:var(--os-red);color:#fff;font-weight:600}
.sp-price del{display:block;font-size:13px;line-height:18px;color:var(--os-mute)}
.pdp-size-box del{font-size:12px;line-height:14px;color:var(--os-mute)}
.sp-chips{display:flex;flex-wrap:wrap;gap:8px}
.sp-chip{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:50px;border:1px solid var(--os-line);background:#fff;font-size:15px;line-height:20px;color:var(--os-ink);white-space:nowrap}
.sp-chip:hover{border-color:#B9BEC5}
.sp-chip[aria-current],.sp-chip.is-on{background:var(--os-ink);border-color:var(--os-ink);color:#fff;font-weight:600}
.sp-chip em{font-style:normal;margin-left:6px;color:inherit;opacity:.6;font-weight:400}

/* 4. section title ------------------------------------------------------ */
.sp-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
.sp-title-sub{margin-top:8px;font-size:16px;line-height:22px;color:var(--os-sub)}
.sp-more{display:inline-flex;align-items:center;gap:2px;flex:none;font-size:14px;line-height:20px;font-weight:500;color:var(--os-ink)}
.sp-more:hover{text-decoration:underline;text-underline-offset:3px}

/* 5. product card · grid ------------------------------------------------ */
.sp-pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.sp-pgrid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sp-pcard>a{display:flex;flex-direction:column;height:100%;border-radius:var(--os-r-card);background:#fff;box-shadow:var(--os-shadow);overflow:hidden;transition:box-shadow .2s}
.sp-pcard>a:hover{box-shadow:0 8px 24px rgba(33,39,49,.10),0 0 1px rgba(33,39,49,.28)}
.sp-pcard-img{position:relative;display:block;aspect-ratio:1;background:var(--os-bg);overflow:hidden}
.sp-pcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.sp-pcard>a:hover .sp-pcard-img img{transform:scale(1.03)}
.sp-rank{position:absolute;left:16px;top:16px;z-index:1;display:grid;place-items:center;width:28px;height:28px;border-radius:4px;background:var(--os-ink);color:#fff;font-size:13px;font-weight:600}
.sp-pcard-body{display:flex;flex-direction:column;gap:6px;padding:20px 24px 26px}
.sp-pcard-name{margin-top:6px;font-size:17px;line-height:24px;font-weight:600;letter-spacing:-.3px;color:var(--os-ink)}
.sp-pcard-spec{font-size:14px;line-height:20px;color:#4B5058}
.sp-pcard-code{font-size:13px;line-height:18px;color:var(--os-sub)}
.sp-pcard-hint{font-size:14px;line-height:21px;color:#4B5058;word-break:keep-all}
.sp-price{margin-top:8px;font-size:16px;line-height:26px;color:var(--os-red)}
.sp-price em{font-style:normal;margin-right:6px}
.sp-price b{font-size:19px;font-weight:600;letter-spacing:-.4px}

/* 6. tables · notes ----------------------------------------------------- */
.sp-table-wrap{overflow-x:auto;border-top:2px solid var(--os-ink)}
.sp-table{width:100%;border-collapse:collapse;font-size:15px;line-height:22px}
.sp-table caption{text-align:left}
.sp-table th,.sp-table td{padding:16px 20px;border-bottom:1px solid var(--os-line2);text-align:left;vertical-align:middle;word-break:keep-all}
.sp-table thead th{background:var(--os-bg2);font-size:14px;font-weight:600;color:#4B5058;white-space:nowrap}
.sp-table tbody th{font-weight:600;color:var(--os-ink)}
.sp-table tbody th a:hover{text-decoration:underline;text-underline-offset:3px}
.sp-table .num{text-align:right;white-space:nowrap}
.sp-table .num b{font-weight:600;color:var(--os-ink)}
.sp-table tbody tr:hover td,.sp-table tbody tr:hover th{background:#FBFBFC}
.sp-table--center td,.sp-table--center thead th:not(:first-child){text-align:center}
.sp-table--center .num{text-align:center}
.sp-note{margin-top:14px;font-size:14px;line-height:22px;color:var(--os-sub);word-break:keep-all}

/* 7. prose (editor content) --------------------------------------------- */
.sp-prose{font-size:16px;line-height:28px;color:var(--os-text);word-break:keep-all}
.sp-prose>*+*{margin-top:16px}
.sp-prose h2{margin-top:56px;font-size:24px;line-height:32px;font-weight:700;letter-spacing:-.5px;color:var(--os-ink)}
.sp-prose h3{margin-top:36px;font-size:19px;line-height:26px;font-weight:600;letter-spacing:-.4px;color:var(--os-ink)}
.sp-prose>h2:first-child,.sp-prose>h3:first-child{margin-top:0}
.sp-prose h2+*,.sp-prose h3+*{margin-top:12px}
.sp-prose a{color:var(--os-ink);text-decoration:underline;text-decoration-color:#B9BEC5;text-underline-offset:3px}
.sp-prose a:hover{text-decoration-color:var(--os-ink)}
.sp-prose b,.sp-prose strong{font-weight:600;color:var(--os-ink)}
.sp-prose ul,.sp-prose ol{padding-left:0;list-style:none}
.sp-prose li{position:relative;padding-left:18px}
.sp-prose li+li{margin-top:8px}
.sp-prose ul>li:before{content:"";position:absolute;left:4px;top:12px;width:5px;height:5px;border-radius:50%;background:#9A9FA7}
.sp-prose ol{counter-reset:li}
.sp-prose ol>li{padding-left:30px;counter-increment:li}
.sp-prose ol>li:before{content:counter(li);position:absolute;left:0;top:3px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--os-bg);font-size:12px;line-height:1;font-weight:600;color:var(--os-ink)}
.sp-prose .tbl-wrap{overflow-x:auto;border-top:2px solid var(--os-ink)}
.sp-prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:22px}
.sp-prose th,.sp-prose td{padding:14px 16px;border-bottom:1px solid var(--os-line2);text-align:left;word-break:keep-all}
.sp-prose thead th{background:var(--os-bg2);font-size:14px;font-weight:600;color:#4B5058}
.sp-prose tbody th{font-weight:600;color:var(--os-ink)}
.sp-prose .skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.sp-prose figure{margin:32px 0}
.sp-prose img{border-radius:var(--os-r-box)}
.sp-prose blockquote{margin:24px 0;padding:20px 24px;border-left:3px solid var(--os-ink);background:var(--os-bg2);border-radius:0 var(--os-r-box) var(--os-r-box) 0}
.sp-lead{font-size:18px;line-height:30px;color:var(--os-text);word-break:keep-all}

/* 8. FAQ accordion ------------------------------------------------------ */
.sp-faq{border-top:2px solid var(--os-ink)}
.sp-faq-item{border-bottom:1px solid var(--os-line2)}
.sp-faq-item>summary{display:flex;align-items:center;gap:14px;padding:22px 8px;cursor:pointer;list-style:none}
.sp-faq-item>summary::-webkit-details-marker{display:none}
.sp-faq-q{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--os-bg);font-size:14px;font-weight:700;color:var(--os-ink)}
.sp-faq-t{flex:1;font-size:17px;line-height:24px;font-weight:500;color:var(--os-ink);letter-spacing:-.3px}
.sp-faq-item>summary .sp-ico{color:#6E737B;transition:transform .2s}
.sp-faq-item[open]>summary .sp-ico{transform:rotate(180deg)}
.sp-faq-item>summary:hover .sp-faq-t{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#C6CAD0}
.sp-faq-a{padding:0 8px 24px 50px;font-size:15px;line-height:26px;color:#4B5058;word-break:keep-all}
.sp-faq-a p+p{margin-top:8px}
.sp-faq-item.is-hidden{display:none}

/* 9. forms · quote ------------------------------------------------------ */
.sp-quote{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:start}
.sp-quote.is-compact{grid-template-columns:minmax(0,1fr)}
.sp-form{padding:40px;border-radius:var(--os-r-card);background:#fff;box-shadow:var(--os-shadow)}
.sp-fs{margin:0;padding:0;border:0}
.sp-fs+.sp-fs{margin-top:36px}
.sp-fs legend{padding:0;margin-bottom:16px;font-size:18px;line-height:26px;font-weight:600;color:var(--os-ink)}
.sp-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}
.sp-field{display:flex;flex-direction:column;gap:8px}
.sp-field--full{grid-column:1 / -1}
.sp-field label{font-size:14px;line-height:20px;font-weight:500;color:#4B5058}
.sp-field label em{font-style:normal;font-weight:400;color:var(--os-mute);margin-left:4px}
.sp-field label b{color:var(--os-red);font-weight:600}
.sp-field input,.sp-field textarea,.sp-select select{width:100%;height:52px;padding:0 16px;border:1px solid var(--os-line);border-radius:var(--os-r-box);background:#fff;font-size:16px;line-height:24px;color:var(--os-ink);transition:border-color .15s,box-shadow .15s}
.sp-field textarea{height:auto;min-height:120px;padding:14px 16px;resize:vertical}
.sp-field input::placeholder,.sp-field textarea::placeholder{color:#A6ABB2}
.sp-field input:focus,.sp-field textarea:focus,.sp-select select:focus{outline:0;border-color:var(--os-ink);box-shadow:0 0 0 3px rgba(17,17,17,.08)}
.sp-select{position:relative;display:block}
.sp-select select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer}
.sp-select:after{content:"";position:absolute;right:20px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:1.6px solid #6E737B;border-bottom:1.6px solid #6E737B;transform:rotate(45deg);pointer-events:none}
.sp-agree{position:relative;display:flex;align-items:flex-start;gap:10px;margin:28px 0 20px;font-size:15px;line-height:22px;color:#4B5058;cursor:pointer}
.sp-agree input{position:absolute;opacity:0;width:22px;height:22px;margin:0}
.sp-agree-box{display:grid;place-items:center;flex:none;width:22px;height:22px;border:1.5px solid #B9BEC5;border-radius:6px;background:#fff;color:transparent;transition:.15s}
.sp-agree input:checked+.sp-agree-box{background:var(--os-ink);border-color:var(--os-ink);color:#fff}
.sp-agree input:focus-visible+.sp-agree-box{outline:2px solid var(--os-ink);outline-offset:2px}
.sp-agree a{color:var(--os-ink);text-decoration:underline;text-underline-offset:3px}
.sp-agree b{font-weight:500;color:var(--os-red)}
.sp-form-foot{margin-top:12px;text-align:center;font-size:13px;line-height:18px;color:var(--os-sub)}
.sp-form-pick{display:flex;gap:16px;align-items:flex-start;margin-bottom:32px;padding:18px 20px;border-radius:var(--os-r-box);background:var(--os-bg)}
.sp-form-pick-l{flex:none;font-size:14px;line-height:22px;font-weight:600;color:#4B5058}
.sp-form-pick-v{font-size:15px;line-height:22px;color:var(--os-ink)}
.sp-form-pick-v b{display:block;font-weight:600}
.sp-form-pick-v span{display:block;margin-top:2px;color:#4B5058}
.sp-alert{display:flex;align-items:center;gap:8px;margin-bottom:24px;padding:14px 16px;border-radius:var(--os-r-box);background:#FFF1F1;color:var(--os-red);font-size:15px;line-height:22px}
.sp-alert--ok{background:#EDF8F1;color:var(--os-ok)}
.sp-quote-side{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px}
.sp-vsteps{padding:28px;border-radius:var(--os-r-card);background:var(--os-bg)}
.sp-vsteps li{position:relative;padding-left:48px}
.sp-vsteps li+li{margin-top:24px}
.sp-vsteps li+li:before{content:"";position:absolute;left:15px;top:-22px;width:2px;height:18px;background:#D6D9DE}
.sp-vsteps span{position:absolute;left:0;top:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--os-ink);color:#fff;font-size:12px;font-weight:600}
.sp-vsteps b{display:block;font-size:16px;line-height:22px;font-weight:600;color:var(--os-ink)}
.sp-vsteps p{margin-top:4px;font-size:14px;line-height:20px;color:#4B5058;word-break:keep-all}
.sp-contact{padding:24px 28px;border-radius:var(--os-r-card);border:1px solid var(--os-line)}
.sp-contact-l{font-size:14px;line-height:20px;color:var(--os-sub)}
.sp-contact-tel{display:block;margin-top:4px;font-size:22px;line-height:30px;font-weight:700;color:var(--os-ink)}
.sp-contact-h{margin-top:6px;font-size:13px;line-height:20px;color:var(--os-sub)}

/* 10. CTA band ---------------------------------------------------------- */
.sp-cta{margin-top:80px;background:var(--os-bg)}
.sp-cta .sp-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:48px;padding-bottom:48px}
.sp-cta h2{font-size:24px;line-height:32px;font-weight:700;letter-spacing:-.5px;color:var(--os-ink)}
.sp-cta p{margin-top:8px;font-size:16px;line-height:24px;color:var(--os-sub);word-break:keep-all}
.sp-cta-act{display:flex;align-items:center;gap:8px;flex:none}
.sp-cta-tel{display:inline-flex;align-items:center;gap:6px;margin-left:12px;font-size:18px;font-weight:700;color:var(--os-ink)}

/* 11. product detail (pdp-) --------------------------------------------- */
.sp-pdp .sp-bc{padding-bottom:0}
.pdp-top{display:grid;grid-template-columns:660px minmax(0,560px);justify-content:space-between;gap:40px;padding-top:32px;padding-bottom:80px}
.pdp-gallery{position:sticky;top:24px;align-self:start}
.pdp-shot{border-radius:var(--os-r-card);overflow:hidden;background:var(--os-bg);aspect-ratio:1}
.pdp-shot img{width:100%;height:100%;object-fit:cover}
.pdp-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:16px;scrollbar-width:none}
.pdp-thumbs::-webkit-scrollbar{display:none}
.pdp-thumb{display:block;width:100%;aspect-ratio:1;border-radius:var(--os-r-box);overflow:hidden;border:1px solid var(--os-line);background:var(--os-bg);transition:border-color .15s}
.pdp-thumb img{width:100%;height:100%;object-fit:cover}
.pdp-thumb[aria-pressed=true]{border:2px solid var(--os-ink)}
.pdp-shot-note{margin-top:12px;font-size:13px;line-height:18px;color:var(--os-mute)}
.pdp-meta{display:flex;flex-wrap:wrap;gap:6px}
.pdp-name{margin-top:14px;font-size:28px;line-height:38px;font-weight:600;letter-spacing:-.5px;color:var(--os-ink)}
.pdp-code{display:flex;gap:8px;margin-top:8px;font-size:14px;line-height:20px;color:var(--os-sub)}
.pdp-code b{font-weight:500;color:#4B5058;font-variant-numeric:tabular-nums}
.pdp-keys{display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px;border-top:1px solid var(--os-ink);border-bottom:1px solid var(--os-line2)}
.pdp-keys li{padding:16px 0 16px 16px}
.pdp-keys li+li{border-left:1px solid var(--os-line2)}
.pdp-keys li:first-child{padding-left:0}
.pdp-keys span{display:block;font-size:13px;line-height:18px;color:var(--os-sub)}
.pdp-keys b{display:block;margin-top:4px;font-size:15px;line-height:22px;font-weight:600;color:var(--os-ink);font-variant-numeric:tabular-nums;word-break:keep-all}
.pdp-cfg{margin-top:8px}
.pdp-opt{margin:0;padding:28px 0 0;border:0;min-width:0}
.pdp-opt>legend{float:left;width:100%}
.pdp-opt>legend+*{clear:both}
.pdp-opt-tit{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;padding:0;margin-bottom:12px;font-size:16px;line-height:22px;font-weight:600;color:var(--os-ink)}
.pdp-opt-val{font-size:14px;line-height:20px;font-weight:400;color:var(--os-sub)}
.pdp-size{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pdp-size-item{position:relative;display:block;cursor:pointer}
.pdp-size-item input,.pdp-chip input{position:absolute;opacity:0;width:1px;height:1px}
.pdp-size-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:76px;border:1px solid var(--os-line);border-radius:var(--os-r-box);background:#fff;transition:border-color .15s,box-shadow .15s}
.pdp-size-box b{font-size:18px;line-height:24px;font-weight:600;color:var(--os-ink);font-variant-numeric:tabular-nums}
.pdp-size-box small{margin-left:2px;font-size:13px;font-weight:500;color:var(--os-sub)}
.pdp-size-box em{font-style:normal;font-size:13px;line-height:18px;color:var(--os-sub);font-variant-numeric:tabular-nums}
.pdp-size-item:hover .pdp-size-box{border-color:#9A9FA7}
.pdp-size-item input:checked+.pdp-size-box{border-color:var(--os-ink);box-shadow:inset 0 0 0 1px var(--os-ink)}
.pdp-size-item input:checked+.pdp-size-box em{color:var(--os-ink);font-weight:500}
.pdp-size-item input:focus-visible+.pdp-size-box,.pdp-chip input:focus-visible+span{outline:2px solid var(--os-ink);outline-offset:2px}
.pdp-chips{display:flex;flex-wrap:wrap;gap:8px}
.pdp-chip{position:relative;cursor:pointer}
.pdp-chip>span{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 12px;border:1px solid var(--os-line);border-radius:50px;background:#fff;font-size:15px;line-height:20px;color:var(--os-ink);transition:border-color .15s,box-shadow .15s}
.pdp-chip>span small{font-size:13px;color:var(--os-sub)}
.pdp-chip:hover>span{border-color:#9A9FA7}
.pdp-chip input:checked+span{border-color:var(--os-ink);box-shadow:inset 0 0 0 1px var(--os-ink);font-weight:600}
.pdp-dot{display:block;width:20px;height:20px;border-radius:50%;background:var(--dot);box-shadow:inset 0 0 0 1px rgba(0,0,0,.14)}
.pdp-dot--glow{box-shadow:inset 0 0 0 1px rgba(0,0,0,.10),0 0 0 3px color-mix(in srgb,var(--dot) 45%,transparent)}
.pdp-adds-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}
.pdp-adds-head .pdp-opt-tit{margin:0;width:auto}
.pdp-link{font-size:14px;line-height:20px;color:var(--os-sub);text-decoration:underline;text-underline-offset:3px}
.pdp-link:hover{color:var(--os-ink)}
.pdp-acc{border:1px solid var(--os-line);border-radius:var(--os-r-box);background:#fff;transition:border-color .15s}
.pdp-acc+.pdp-acc{margin-top:8px}
.pdp-acc[open]{border-color:#B9BEC5}
.pdp-acc>summary{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 18px 0 20px;cursor:pointer;list-style:none;border-radius:var(--os-r-box)}
.pdp-acc>summary::-webkit-details-marker{display:none}
.pdp-acc>summary:focus-visible{outline:2px solid var(--os-ink);outline-offset:2px}
.pdp-acc-name{display:flex;align-items:center;gap:8px;font-size:16px;line-height:22px;font-weight:600;color:var(--os-ink)}
.pdp-acc-name em{font-style:normal;font-size:13px;font-weight:400;color:var(--os-mute)}
.pdp-acc-sum{flex:1;min-width:0;text-align:right;font-size:14px;line-height:20px;color:var(--os-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdp-acc-sum.is-on{color:var(--os-ink);font-weight:500}
.pdp-acc>summary .sp-ico{color:#6E737B;transition:transform .2s}
.pdp-acc[open]>summary .sp-ico{transform:rotate(180deg)}
.pdp-acc-body{padding:0 8px 8px;border-top:1px solid var(--os-line2)}
.pdp-acc-note{display:flex;align-items:center;gap:6px;margin:12px 12px 4px;font-size:13px;line-height:18px;color:var(--os-sub)}
.pdp-add-list li+li{border-top:1px solid var(--os-line2)}
.pdp-add{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 12px;border-radius:10px;cursor:pointer;transition:background-color .12s}
.pdp-add:hover{background:var(--os-bg2)}
.pdp-add input{position:absolute;opacity:0;width:1px;height:1px}
.pdp-add-mark{display:grid;place-items:center;width:22px;height:22px;border:1.5px solid #B9BEC5;border-radius:6px;background:#fff;color:transparent;transition:.15s}
.pdp-add.is-one .pdp-add-mark{border-radius:50%}
.pdp-add input:checked~.pdp-add-mark{background:var(--os-ink);border-color:var(--os-ink);color:#fff}
.pdp-add input:focus-visible~.pdp-add-mark{outline:2px solid var(--os-ink);outline-offset:2px}
.pdp-add-txt{min-width:0}
.pdp-add-txt b{display:block;font-size:15px;line-height:22px;font-weight:500;color:var(--os-ink);word-break:keep-all}
.pdp-add-txt em{display:block;margin-top:2px;font-style:normal;font-size:13px;line-height:18px;color:var(--os-sub);word-break:keep-all}
.pdp-add-price{justify-self:end;font-size:15px;line-height:22px;font-weight:600;color:var(--os-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.pdp-add input:checked~.pdp-add-txt b{font-weight:600}
.pdp-sum{margin-top:28px;padding:24px;border-radius:var(--os-r-card);background:var(--os-bg)}
.pdp-sum dl{margin:0}
.pdp-sum-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0}
.pdp-sum-row dt{flex:none;font-size:15px;line-height:22px;color:#4B5058}
.pdp-sum-row dt em{font-style:normal;margin-left:4px;color:var(--os-ink);font-weight:600}
.pdp-sum-row dd{display:flex;align-items:baseline;justify-content:flex-end;flex-wrap:wrap;gap:4px 12px;margin:0;text-align:right}
.pdp-sum-row dd span{font-size:14px;line-height:22px;color:var(--os-sub)}
.pdp-sum-row dd b{min-width:96px;font-size:15px;line-height:22px;font-weight:600;color:var(--os-ink);font-variant-numeric:tabular-nums}
.pdp-sum-adds dd{flex-direction:column;align-items:flex-end}
.pdp-sum-adds ul{display:flex;flex-direction:column;gap:6px;width:100%}
.pdp-sum-adds li{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:14px;line-height:20px;color:#4B5058}
.pdp-sum-adds li i{font-style:normal;min-width:84px;font-variant-numeric:tabular-nums;color:var(--os-ink)}
.pdp-sum-adds li button{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#E3E6EA;color:#4B5058}
.pdp-sum-adds li button:hover{background:#D0D4DA;color:var(--os-ink)}
.pdp-total{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding-top:18px;border-top:1px solid #DDE0E4}
.pdp-qty{display:flex;align-items:center;height:40px;border:1px solid var(--os-line);border-radius:10px;background:#fff}
.pdp-qty button{display:grid;place-items:center;width:40px;height:38px;color:var(--os-ink)}
.pdp-qty button:disabled{color:#C6CAD0}
.pdp-qty output{min-width:28px;text-align:center;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.pdp-total-v{display:flex;align-items:baseline;gap:12px}
.pdp-total-v span{font-size:15px;line-height:22px;font-weight:500;color:var(--os-ink)}
.pdp-total-v strong{font-size:17px;font-weight:600;color:var(--os-ink)}
.pdp-total-v strong b{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.pdp-buy{display:flex;gap:8px;margin-top:16px}
.pdp-buy .sp-btn{flex:none}
.pdp-buy .pdp-quote{flex:1}
.pdp-buy-note{margin-top:10px;font-size:13px;line-height:18px;color:var(--os-sub)}
.pdp-ship{display:flex;gap:18px;margin-top:28px;padding:22px 24px;border-radius:var(--os-r-card);border:1px solid var(--os-line2)}
.pdp-ship-ico{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:50%;background:var(--os-bg);color:var(--os-ink)}
.pdp-ship-tit{font-size:15px;line-height:22px;font-weight:600;color:var(--os-ink)}
.pdp-ship-txt{margin-top:4px;font-size:14px;line-height:21px;color:#4B5058;word-break:keep-all}
.pdp-ship-tags{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:10px}
.pdp-ship-tags span{display:inline-flex;align-items:center;height:24px;padding:0 8px;border:1px solid var(--os-line);border-radius:6px;font-size:12px;color:#4B5058}
.pdp-ship-tags em{font-style:normal;font-size:12px;color:var(--os-sub);margin-left:2px}
.pdp-tabs{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--os-line)}
.pdp-tabs ul{display:flex;gap:36px;overflow-x:auto;scrollbar-width:none}
.pdp-tabs ul::-webkit-scrollbar{display:none}
.pdp-tabs a{position:relative;display:block;padding:18px 0 17px;font-size:17px;line-height:24px;font-weight:500;color:var(--os-sub);white-space:nowrap}
.pdp-tabs a:hover{color:var(--os-ink)}
.pdp-tabs a[aria-current]{color:var(--os-ink);font-weight:600}
.pdp-tabs a[aria-current]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--os-ink)}
.pdp-sec{padding:72px 0 0;scroll-margin-top:60px}
.pdp-lead{max-width:900px;font-size:18px;line-height:31px;color:var(--os-text);word-break:keep-all}
.pdp-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.pdp-facts li{display:flex;flex-direction:column;gap:6px;padding:28px;border-radius:var(--os-r-card);background:var(--os-bg)}
.pdp-facts .sp-ico{margin-bottom:10px;color:var(--os-ink)}
.pdp-facts span{font-size:14px;line-height:20px;color:var(--os-sub)}
.pdp-facts b{font-size:18px;line-height:26px;font-weight:600;color:var(--os-ink);word-break:keep-all}
.pdp-photos{display:grid;grid-template-columns:1fr 1.333fr;gap:16px;margin-top:16px}
.pdp-photos figure{margin:0;border-radius:var(--os-r-card);overflow:hidden;background:var(--os-bg)}
.pdp-photos img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.pdp-photos figure+figure img{aspect-ratio:16/12}
.pdp-prose{margin-top:40px;max-width:900px}
.pdp-detail{position:relative;max-width:860px;margin:48px auto 0}
.pdp-detail-in{overflow:hidden;max-height:2400px}
.pdp-detail.is-open .pdp-detail-in{max-height:none}
.pdp-detail-in img{display:block;width:100%;height:auto;margin:0}
.pdp-detail:not(.is-open):after{content:"";position:absolute;left:0;right:0;bottom:72px;height:200px;background:linear-gradient(rgba(255,255,255,0),#fff);pointer-events:none}
.pdp-detail-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:56px;margin-top:16px;border:1px solid var(--os-ink);border-radius:12px;background:#fff;font-size:16px;font-weight:600;color:var(--os-ink);cursor:pointer}
.pdp-detail-more:hover{background:var(--os-bg)}
.pdp-detail.is-open .pdp-detail-more .sp-ico{transform:rotate(180deg)}
.pdp-spec{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;margin-top:40px}
.pdp-spec div{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--os-line2)}
.pdp-spec dt{flex:none;width:120px;font-size:15px;line-height:22px;color:var(--os-sub)}
.pdp-spec dd{margin:0;font-size:15px;line-height:22px;font-weight:500;color:var(--os-ink);font-variant-numeric:tabular-nums;word-break:keep-all}
.pdp-pricegrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.pdp-pricebox{padding:24px;border-radius:var(--os-r-card);border:1px solid var(--os-line2)}
.pdp-pricebox h3{font-size:16px;line-height:22px;font-weight:600;color:var(--os-ink);padding-bottom:14px;border-bottom:1px solid var(--os-ink)}
.pdp-pricebox li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--os-line2);font-size:14px;line-height:20px}
.pdp-pricebox li:last-child{border-bottom:0;padding-bottom:0}
.pdp-pricebox li span{color:#4B5058;word-break:keep-all}
.pdp-pricebox li b{flex:none;text-align:right;font-weight:600;color:var(--os-ink);font-variant-numeric:tabular-nums}
.pdp-pricebox li b i{font-style:normal;font-weight:400;color:var(--os-mute);margin-right:6px}
.pdp-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.97);box-shadow:var(--os-shadow-up);backdrop-filter:saturate(1.2) blur(6px);transform:translateY(110%);transition:transform .25s ease;visibility:hidden}
.pdp-bar.is-on{transform:none;visibility:visible}
.pdp-bar .sp-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:80px}
.pdp-bar-l{display:flex;align-items:center;gap:14px;min-width:0}
.pdp-bar-l img{width:56px;height:56px;border-radius:10px;object-fit:cover;background:var(--os-bg)}
.pdp-bar-l b{display:block;font-size:16px;line-height:22px;font-weight:600;color:var(--os-ink)}
.pdp-bar-l span{display:block;font-size:13px;line-height:18px;color:var(--os-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}
.pdp-bar-r{display:flex;align-items:center;gap:24px;flex:none}
.pdp-bar-r p{display:flex;align-items:baseline;gap:10px}
.pdp-bar-r p span{font-size:14px;color:var(--os-sub)}
.pdp-bar-r strong{font-size:15px;font-weight:600}
.pdp-bar-r strong b{font-size:22px;font-weight:700;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.pdp-bar .sp-btn{min-width:160px}
body.has-pdp-bar .sp-cta{padding-bottom:80px}

/* 12. shipping block ---------------------------------------------------- */
.sp-ship-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;padding:36px 40px;border-radius:var(--os-r-card);background:var(--os-ink);color:#fff}
.sp-ship-hero-ico{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.1)}
.sp-ship-hero-tit{font-size:26px;line-height:34px;font-weight:700;letter-spacing:-.6px}
.sp-ship-hero-txt{margin-top:6px;font-size:15px;line-height:24px;color:rgba(255,255,255,.72);word-break:keep-all;max-width:560px}
.sp-checks{display:grid;gap:8px;padding-left:28px;border-left:1px solid rgba(255,255,255,.16)}
.sp-checks li{display:flex;align-items:center;gap:8px;font-size:14px;line-height:20px;color:rgba(255,255,255,.9);white-space:nowrap}
.sp-checks .sp-ico{color:#7FD6A3}
.sp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;counter-reset:none}
.sp-steps li{position:relative;padding:28px;border-radius:var(--os-r-card);background:var(--os-bg)}
.sp-step-n{display:block;font-size:13px;line-height:18px;font-weight:700;color:var(--os-sub);letter-spacing:.5px}
.sp-steps b{display:block;margin-top:10px;font-size:18px;line-height:26px;font-weight:600;color:var(--os-ink)}
.sp-steps p{margin-top:6px;font-size:15px;line-height:24px;color:#4B5058;word-break:keep-all}
.sp-extras{margin-top:40px}
.sp-extras-tit{font-size:18px;line-height:26px;font-weight:600;color:var(--os-ink);margin-bottom:16px}
.sp-extras ul{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sp-extras li{display:flex;flex-direction:column;padding:24px;border-radius:var(--os-r-card);border:1px solid var(--os-line2)}
.sp-extras-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--os-bg);color:var(--os-ink);margin-bottom:14px}
.sp-extras b{font-size:16px;line-height:22px;font-weight:600;color:var(--os-ink)}
.sp-extras p{flex:1;margin-top:6px;font-size:14px;line-height:21px;color:#4B5058;word-break:keep-all}
.sp-extras-price{margin-top:14px;font-size:14px;line-height:20px;font-weight:600;color:var(--os-ink)}

/* 13. hub cards · doc layout -------------------------------------------- */
.sp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sp-cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sp-cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-lcard{position:relative;display:flex;flex-direction:column;min-height:220px;padding:32px;border-radius:var(--os-r-card);background:#fff;box-shadow:var(--os-shadow);transition:box-shadow .2s,transform .2s}
.sp-lcard:hover{box-shadow:0 8px 24px rgba(33,39,49,.10),0 0 1px rgba(33,39,49,.28)}
.sp-lcard-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--os-bg);color:var(--os-ink)}
.sp-lcard-tit{margin-top:24px;font-size:19px;line-height:26px;font-weight:600;letter-spacing:-.4px;color:var(--os-ink)}
.sp-lcard-txt{margin-top:8px;flex:1;font-size:15px;line-height:24px;color:#4B5058;word-break:keep-all}
.sp-lcard-go{display:inline-flex;align-items:center;gap:2px;margin-top:20px;font-size:14px;line-height:20px;font-weight:600;color:var(--os-ink)}
.sp-lcard--gray{background:var(--os-bg);box-shadow:none}
.sp-lcard--gray:hover{box-shadow:none;background:#EDEFF2}
.sp-lcard--gray .sp-lcard-ico{background:#fff}
.sp-doc{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;align-items:start}
.sp-doc-main{min-width:0}
.sp-doc-side{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px}
.sp-toc{padding:24px;border-radius:var(--os-r-card);background:var(--os-bg)}
.sp-toc b{display:block;font-size:14px;line-height:20px;font-weight:600;color:var(--os-ink);margin-bottom:12px}
.sp-toc ol{display:flex;flex-direction:column;gap:2px}
.sp-toc a{display:block;padding:6px 0;font-size:14px;line-height:20px;color:#4B5058}
.sp-toc a:hover,.sp-toc a.is-on{color:var(--os-ink);font-weight:600}
.sp-info{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sp-info li{padding:28px;border-radius:var(--os-r-card);background:var(--os-bg)}
.sp-sec--gray .sp-info li,.sp-sec--gray .sp-numcard,.sp-sec--gray .sp-lcard--gray{background:#fff}
.sp-info .sp-ico{color:var(--os-ink);margin-bottom:16px}
.sp-info b{display:block;font-size:17px;line-height:24px;font-weight:600;color:var(--os-ink)}
.sp-info p{margin-top:6px;font-size:15px;line-height:24px;color:#4B5058;word-break:keep-all}
.sp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.sp-split-img{border-radius:var(--os-r-card);overflow:hidden;background:var(--os-bg)}
.sp-split-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.sp-kpis{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--os-ink);border-bottom:1px solid var(--os-line2)}
.sp-kpis li{padding:28px 24px}
.sp-kpis li+li{border-left:1px solid var(--os-line2)}
.sp-kpis b{display:block;font-size:28px;line-height:36px;font-weight:700;letter-spacing:-.6px;color:var(--os-ink)}
.sp-kpis span{display:block;margin-top:6px;font-size:14px;line-height:20px;color:var(--os-sub);word-break:keep-all}
.sp-search{position:relative;max-width:560px}
.sp-search input{width:100%;height:56px;padding:0 56px 0 20px;border:1px solid var(--os-line);border-radius:var(--os-r-box);font-size:16px}
.sp-search input:focus{outline:0;border-color:var(--os-ink);box-shadow:0 0 0 3px rgba(17,17,17,.08)}
.sp-search .sp-ico{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:#6E737B;pointer-events:none}
.sp-empty{padding:72px 24px;text-align:center;border-radius:var(--os-r-card);background:var(--os-bg)}
.sp-empty .sp-ico{margin:0 auto 16px;color:#9A9FA7}
.sp-empty b{display:block;font-size:18px;line-height:26px;font-weight:600;color:var(--os-ink)}
.sp-empty p{margin-top:8px;font-size:15px;line-height:24px;color:var(--os-sub);word-break:keep-all}
.sp-empty .sp-chips{justify-content:center;margin-top:24px}

.sp-lcard--static:hover{box-shadow:var(--os-shadow)}
.sp-lcard--gray.sp-lcard--static:hover{background:var(--os-bg)}
.sp-lcard--static .sp-lcard-go:hover{text-decoration:underline;text-underline-offset:3px}
.sp-lcard--mini{min-height:0;padding:22px 24px}
.sp-lcard--mini .sp-lcard-tit{margin-top:14px;font-size:16px;line-height:22px}
.sp-lcard--mini .sp-lcard-go{margin-top:8px}
.sp-lcard-txt.sp-prose{flex:1}
.sp-prose--sm{font-size:15px;line-height:25px}
.sp-prose--sm>*+*{margin-top:10px}
.sp-numcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sp-numcard{position:relative;display:flex;flex-direction:column;gap:12px;padding:32px;border-radius:var(--os-r-card);background:var(--os-bg)}
.sp-numcard-n{font-size:28px;line-height:32px;font-weight:700;letter-spacing:-.5px;color:#C3C7CD;font-variant-numeric:tabular-nums}
.sp-numcard-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#fff;color:var(--os-ink)}
.sp-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;border-radius:var(--os-r-card);border:1px solid var(--os-line)}
.sp-banner b{display:block;font-size:18px;line-height:26px;font-weight:600;color:var(--os-ink)}
.sp-banner p{margin-top:6px;font-size:15px;line-height:24px;color:#4B5058;word-break:keep-all}
.sp-statement{max-width:960px;font-size:24px;line-height:38px;font-weight:500;letter-spacing:-.5px;color:var(--os-ink);word-break:keep-all}
.sp-split--top{align-items:start}
.sp-split--rev>figure{order:-1}
.sp-doc--rev{grid-template-columns:minmax(0,1fr) 380px}
.sp-doc-lead{margin-bottom:40px}
.sp-docsecs{border-top:2px solid var(--os-ink)}
.sp-docsec{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;padding:32px 0;border-bottom:1px solid var(--os-line2);scroll-margin-top:24px}
.sp-docsec-t{font-size:18px;line-height:26px;font-weight:600;letter-spacing:-.3px;color:var(--os-ink);word-break:keep-all}
.sp-docsec .sp-prose{font-size:16px;line-height:28px}
.sp-faqbar{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}
.sp-faq-cat{flex:none;font-size:13px;line-height:18px;color:var(--os-mute)}
.sp-result-ph{display:grid;place-items:center;width:100%;height:100%;color:#9A9FA7}
.sp-post-body{display:block}

/* 14. listing · industry · blog ----------------------------------------- */
.sp-listbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.sp-count{font-size:15px;line-height:22px;color:var(--os-sub)}
.sp-count b{color:var(--os-ink);font-weight:600}
.sp-hero{position:relative;border-radius:var(--os-r-card);overflow:hidden;background:var(--os-bg)}
.sp-hero img{width:100%;height:auto;aspect-ratio:1760/500;object-fit:cover}
.sp-hero-txt{position:absolute;left:56px;top:50%;transform:translateY(-50%);max-width:330px}
.sp-hero-txt p{font-size:15px;line-height:22px;font-weight:600;color:#4B5058}
.sp-hero-txt strong{display:block;margin-top:8px;font-size:28px;line-height:38px;font-weight:700;letter-spacing:-.7px;color:var(--os-ink);word-break:keep-all}
.sp-hero-txt span{display:block;margin-top:12px;font-size:16px;line-height:25px;color:#33363B;word-break:keep-all}
.sp-structs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sp-struct{display:flex;gap:20px;align-items:center;padding:20px;border-radius:var(--os-r-card);background:#fff;box-shadow:var(--os-shadow);transition:box-shadow .2s}
.sp-struct:hover{box-shadow:0 8px 24px rgba(33,39,49,.10),0 0 1px rgba(33,39,49,.28)}
.sp-struct img{flex:none;width:104px;height:104px;border-radius:12px;object-fit:cover;background:var(--os-bg)}
.sp-struct b{display:block;font-size:17px;line-height:24px;font-weight:600;color:var(--os-ink)}
.sp-struct p{margin-top:4px;font-size:14px;line-height:21px;color:#4B5058;word-break:keep-all}
.sp-struct span{display:inline-flex;margin-top:8px;font-size:13px;color:var(--os-sub)}
.sp-plan{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sp-plan li{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:var(--os-r-card);border:1px dashed #C6CAD0}
.sp-plan b{font-size:16px;font-weight:600;color:var(--os-ink)}
.sp-plan span{font-size:13px;color:var(--os-sub)}
.sp-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
.sp-post>a{display:flex;flex-direction:column;height:100%}
.sp-post-img{display:block;aspect-ratio:16/9;border-radius:var(--os-r-card);overflow:hidden;background:var(--os-bg)}
.sp-post-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.sp-post>a:hover .sp-post-img img{transform:scale(1.03)}
.sp-post-cat{display:block;margin-top:18px;font-size:13px;line-height:18px;font-weight:600;color:var(--os-sub)}
.sp-post-tit{display:block;margin-top:6px;font-size:19px;line-height:27px;font-weight:600;letter-spacing:-.4px;color:var(--os-ink);word-break:keep-all}
.sp-post>a:hover .sp-post-tit{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#C6CAD0}
.sp-post-ex{display:-webkit-box;margin-top:8px;font-size:15px;line-height:24px;color:#4B5058;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all}
.sp-post-date{display:block;margin-top:12px;font-size:13px;line-height:18px;color:var(--os-mute)}
.sp-post--feature{grid-column:1 / -1}
.sp-post--feature>a{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}
.sp-post--feature .sp-post-img{aspect-ratio:16/9}
.sp-post--feature .sp-post-tit{font-size:28px;line-height:38px;letter-spacing:-.6px}
.sp-post--feature .sp-post-ex{-webkit-line-clamp:3;font-size:16px;line-height:26px}
.sp-results{border-top:2px solid var(--os-ink)}
.sp-result>a{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;align-items:center;padding:24px 8px;border-bottom:1px solid var(--os-line2)}
.sp-result>a:hover .sp-result-tit{text-decoration:underline;text-underline-offset:4px}
.sp-result-img{aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--os-bg)}
.sp-result-img img{width:100%;height:100%;object-fit:cover}
.sp-result-type{font-size:13px;line-height:18px;font-weight:600;color:var(--os-sub)}
.sp-result-tit{display:block;margin-top:4px;font-size:18px;line-height:26px;font-weight:600;color:var(--os-ink)}
.sp-result-ex{display:block;margin-top:6px;font-size:14px;line-height:22px;color:#4B5058;word-break:keep-all}
.sp-pager{display:flex;justify-content:center;gap:4px;margin-top:48px}
.sp-pager .page-numbers{display:grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border-radius:10px;font-size:15px;color:#4B5058}
.sp-pager .page-numbers:hover{background:var(--os-bg)}
.sp-pager .page-numbers.current{background:var(--os-ink);color:#fff;font-weight:600}
.sp-article{max-width:760px;margin:0 auto}
.sp-article-head{padding:48px 0 32px;text-align:left}
.sp-article-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:16px;font-size:14px;line-height:20px;color:var(--os-sub)}
.sp-article-img{margin:0 auto 48px;max-width:1080px;border-radius:var(--os-r-card);overflow:hidden;background:var(--os-bg)}
.sp-article-img img{width:100%;aspect-ratio:16/9;object-fit:cover}
.sp-article-wrap{display:grid;grid-template-columns:minmax(0,760px) 240px;justify-content:center;gap:64px;align-items:start}
.sp-article-wrap .sp-toc{position:sticky;top:24px;background:none;padding:0 0 0 20px;border-left:1px solid var(--os-line)}
.sp-article .sp-prose{font-size:17px;line-height:30px}
.sp-article .sp-lead{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid var(--os-line2)}
.sp-toc--inline{display:none;margin:0 0 40px}
.sp-toc--inline summary{cursor:pointer;font-size:15px;line-height:22px;font-weight:600;color:var(--os-ink)}
.sp-toc--inline ol{margin-top:12px;padding-left:18px;list-style:decimal}
.sp-toc--inline li{font-size:15px;line-height:22px;color:#4B5058}
.sp-author{margin-top:48px;padding:20px 0 0;border-top:1px solid var(--os-line2)}
.sp-author b{display:block;font-size:14px;line-height:20px;font-weight:600;color:var(--os-ink)}
.sp-author p{margin-top:4px;font-size:14px;line-height:22px;color:var(--os-sub)}
.sp-article-cta{margin-top:40px;padding:32px;border-radius:var(--os-r-card);background:var(--os-bg)}
.sp-article-cta b{display:block;font-size:19px;line-height:26px;font-weight:600;color:var(--os-ink)}
.sp-article-cta p{margin-top:6px;font-size:15px;line-height:24px;color:#4B5058}
.sp-article-cta div{display:flex;gap:8px;margin-top:18px}

/* 15. tools (size finder) — markup from osten-core [osten_fit_finder]; buttons · drawing · panel are rendered by osten-tools.js -- */
.sp .tool{padding:40px;border-radius:var(--os-r-card);background:#fff;box-shadow:var(--os-shadow)}
.sp .tool-kicker{font-size:13px;line-height:18px;font-weight:700;letter-spacing:.6px;color:var(--os-sub)}
.sp .tool-tit{margin-top:6px;font-size:24px;line-height:32px;font-weight:700;letter-spacing:-.5px;color:var(--os-ink)}
.sp .fit-step{padding:28px 0;border-bottom:1px solid var(--os-line2)}
.sp .fit-q{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:17px;line-height:24px;font-weight:600;color:var(--os-ink)}
.sp .fit-q b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--os-ink);color:#fff;font-size:13px;font-weight:600}
.sp .ind-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.sp .itab{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border-radius:50px;border:1px solid var(--os-line);background:#fff;font-size:14px;color:var(--os-ink)}
.sp .itab:hover{border-color:#9A9FA7}
.sp .itab.on{background:var(--os-ink);border-color:var(--os-ink);color:#fff;font-weight:600}
.sp .itab.soon{color:var(--os-sub);border-style:dashed}
.sp .itab span{padding:1px 6px;border-radius:50px;background:var(--os-bg);font-size:11px;font-weight:600;color:var(--os-sub)}
.sp .itab.soon.on{background:#4B5058;border-color:#4B5058;border-style:solid;color:#fff}
.sp .itab.soon.on span{background:rgba(255,255,255,.2);color:#fff}
.sp .pick-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sp .pick{display:block;width:100%;padding:20px;border:1px solid var(--os-line);border-radius:var(--os-r-box);background:#fff;text-align:left;transition:border-color .15s,box-shadow .15s}
.sp .pick:hover{border-color:#9A9FA7}
.sp .pick.on{border-color:var(--os-ink);box-shadow:inset 0 0 0 1px var(--os-ink)}
.sp .pick .pn{display:flex;align-items:center;gap:6px;font-size:16px;line-height:22px;font-weight:600;color:var(--os-ink)}
.sp .pick .ph{display:block;margin-top:6px;font-size:14px;line-height:21px;color:#4B5058;word-break:keep-all}
.sp .pick.soon{cursor:default;border-style:dashed;background:var(--os-bg2)}
.sp .pick.soon .pn{color:var(--os-sub)}
.sp .pick.soon .pn i{font-style:normal;padding:1px 6px;border-radius:50px;background:var(--os-bg);font-size:11px;font-weight:600}
.sp .fit-soon:empty{display:none}
.sp .fit-soon{margin-top:12px}
.sp .soon-cta{display:flex;align-items:center;justify-content:center;height:48px;margin-top:12px;border-radius:var(--os-r-box);background:var(--os-ink);color:#fff;font-size:15px;font-weight:600}
.sp .mrow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.sp .mfield{display:flex;flex-direction:column;gap:8px}
.sp .ml{font-size:14px;line-height:20px;font-weight:600;color:var(--os-ink)}
.sp .ml em{display:block;font-style:normal;font-weight:400;font-size:12px;line-height:18px;color:var(--os-sub)}
.sp .mi{display:flex;align-items:center;height:52px;border:1px solid var(--os-line);border-radius:var(--os-r-box);background:#fff;overflow:hidden}
.sp .mi:focus-within{border-color:var(--os-ink);box-shadow:0 0 0 3px rgba(17,17,17,.08)}
.sp .mi input{flex:1;min-width:0;height:100%;border:0;padding:0 4px;text-align:center;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--os-ink);background:none;-moz-appearance:textfield}
.sp .mi input::-webkit-outer-spin-button,.sp .mi input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sp .mi input:focus{outline:0}
.sp .mi i{font-style:normal;font-size:13px;color:var(--os-sub);padding-right:4px}
.sp .mstep{flex:none;width:40px;height:100%;font-size:18px;color:#4B5058}
.sp .mstep:hover{background:var(--os-bg2);color:var(--os-ink)}
.sp .width-chips{display:flex;flex-wrap:wrap;gap:8px}
.sp .wchip{display:flex;align-items:center;gap:8px;height:48px;padding:0 18px;border:1px solid var(--os-line);border-radius:var(--os-r-box);background:#fff;font-size:16px;font-weight:600;color:var(--os-ink);font-variant-numeric:tabular-nums}
.sp .wchip:hover{border-color:#9A9FA7}
.sp .wchip.on{background:var(--os-ink);border-color:var(--os-ink);color:#fff}
.sp .wchip i{flex:none;width:8px;height:8px;border-radius:50%;background:#C6CAD0}
.sp .wchip.ok i{background:var(--os-ok)}
.sp .wchip.carry i{background:#E0A100}
.sp .wchip.no i{background:var(--os-red)}
.sp .wchip em{font-style:normal;font-size:13px;font-weight:400;color:var(--os-sub)}
.sp .wchip.on em{color:rgba(255,255,255,.72)}
.sp .fit-out{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;margin-top:28px}
.sp .fit-canvas{padding:20px;border-radius:var(--os-r-card);background:var(--os-bg2);border:1px solid var(--os-line2)}
.sp .fit-canvas svg{display:block;width:100%;height:auto}
.sp .c-slot{fill:#fff;stroke:#D6D9DE;stroke-width:1.5}
.sp .c-floor{stroke:var(--os-ink);stroke-width:2}
.sp .c-ceil{stroke:#B9BEC5;stroke-width:1;stroke-dasharray:5 4}
.sp .c-prd{fill:#33363B}
.sp .c-prd.over{fill:var(--os-red)}
.sp .c-prdlab{fill:#fff;font-size:13px;font-weight:600;text-anchor:middle}
.sp .c-dim{stroke:var(--os-point);stroke-width:1}
.sp .c-dimlab{fill:var(--os-point);font-size:11px;font-weight:600;text-anchor:middle;font-variant-numeric:tabular-nums}
.sp .c-dimlab.left{text-anchor:start}
.sp .c-lab{fill:var(--os-sub);font-size:11px}
.sp .c-depth{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:13px;color:#4B5058}
.sp .c-depth .lab{flex:none;font-weight:600;color:var(--os-ink)}
.sp .c-depth .bar{flex:1;height:8px;border-radius:4px;background:#E3E6EA;overflow:hidden}
.sp .c-depth .bar i{display:block;height:100%;background:#33363B}
.sp .c-depth .bar i.over{background:var(--os-red)}
.sp .c-depth .v{flex:none;font-variant-numeric:tabular-nums}
.sp .c-depth .v b{color:var(--os-red)}
.sp .fit-panel{padding:24px;border-radius:var(--os-r-card);background:var(--os-bg)}
.sp .fp-name{font-size:17px;line-height:24px;font-weight:600;color:var(--os-ink)}
.sp .fp-name a:hover{text-decoration:underline;text-underline-offset:3px}
.sp .fp-name span{display:block;margin-top:4px;font-size:13px;line-height:18px;font-weight:400;color:var(--os-sub)}
.sp .fp-verdict{margin-top:16px;padding:14px 16px;border-radius:10px;background:#fff;font-size:14px;line-height:22px;color:#4B5058;word-break:keep-all}
.sp .fp-verdict.ok{color:var(--os-ok)}
.sp .fp-verdict.warn{color:#8A6500}
.sp .fp-verdict.no{color:var(--os-red)}
.sp .fp-verdict b{font-weight:600}
.sp .fp-rows{margin-top:12px}
.sp .fp-rows li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #E3E6EA;font-size:14px;line-height:20px}
.sp .fp-rows li:last-child{border-bottom:0}
.sp .fp-rows span{color:#4B5058}
.sp .fp-rows b{font-weight:600;color:var(--os-ink);font-variant-numeric:tabular-nums;text-align:right}
.sp .fp-rows b.bad{color:var(--os-red)}
.sp .fp-rows b.warn{color:#8A6500}
.sp .fp-cta{display:flex;align-items:center;justify-content:center;height:48px;margin-top:16px;border-radius:var(--os-r-box);background:var(--os-ink);color:#fff;font-size:15px;font-weight:600}
.sp .fp-cta:hover{background:#2B2D31}
.sp .fit-panel .tool-warn{margin-top:12px}
.sp .fit-rule{margin-top:16px;font-size:13px;line-height:20px;color:var(--os-sub)}
.sp .tool-warn{margin-top:10px;padding:12px 14px;border-radius:10px;background:#FFF8E6;font-size:13px;line-height:20px;color:#7A5A00}
.sp .tool-warn b{font-weight:600}

/* 16. states ------------------------------------------------------------ */
.sp-404{padding:120px 0 40px;text-align:center}
.sp-404 .sp-404-code{margin:0;font-size:96px;line-height:1;font-weight:800;letter-spacing:-4px;color:#E3E6EA}
.sp-404 .sp-h1{margin-top:16px}
.sp-404 p{margin-top:12px;font-size:16px;line-height:26px;color:var(--os-sub)}
.sp-404 .sp-search{margin:32px auto 0}
.sp-404 .sp-chips{justify-content:center;margin-top:24px}
.sp-top{position:fixed;right:24px;bottom:24px;z-index:55;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(17,17,17,.14);color:var(--os-ink);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;transform:translateY(8px)}
.sp-top.is-on{opacity:1;visibility:visible;transform:none}
body.has-pdp-bar .sp-top{bottom:104px}

/* 17. responsive -------------------------------------------------------- */
@media (max-width:1439px){
  .pdp-top{grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:48px}
  .pdp-pricegrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1100px){
  :root{--os-pad:32px}
  .sp-pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sp-pgrid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pdp-top{grid-template-columns:minmax(0,1fr);gap:40px}
  .pdp-gallery{position:static}
  .pdp-thumbs{grid-template-columns:repeat(6,72px)}
  .pdp-facts{grid-template-columns:repeat(2,1fr)}
  .sp-doc{grid-template-columns:minmax(0,1fr)}
  .sp-doc--rev{grid-template-columns:minmax(0,1fr)}
  .sp-docsec{grid-template-columns:1fr;gap:12px}
  .sp-doc-side{position:static}
  .sp-quote{grid-template-columns:minmax(0,1fr)}
  .sp-quote-side{position:static}
  .sp-cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-extras ul{grid-template-columns:repeat(2,1fr)}
  .sp-ship-hero{grid-template-columns:auto minmax(0,1fr)}
  .sp-checks{grid-column:1 / -1;padding-left:0;border-left:0;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);grid-template-columns:repeat(2,1fr)}
  .sp-article-wrap{grid-template-columns:minmax(0,760px)}
  .sp-article-wrap .sp-toc{display:none}
  .sp-article .sp-toc--inline{display:block}
  .sp-cta .sp-inner{flex-direction:column;align-items:flex-start}
  .sp .mrow{grid-template-columns:repeat(2,1fr)}
  .sp .fit-out{grid-template-columns:minmax(0,1fr)}
  .sp-plan{grid-template-columns:repeat(2,1fr)}
  .sp-kpis{grid-template-columns:repeat(2,1fr)}
  .sp-kpis li:nth-child(3){border-left:0}
  .sp-kpis li:nth-child(n+3){border-top:1px solid var(--os-line2)}
}
@media (max-width:760px){
  :root{--os-pad:20px}
  .sp-sec,.sp-sec--gray{padding:56px 0}
  .sp-sec--gray + .sp-sec{padding-top:56px}
  .sp-sec--first{padding-top:32px}
  .sp-numcards{grid-template-columns:1fr}
  .sp-numcard{padding:24px}
  .sp-banner{flex-direction:column;align-items:flex-start;padding:24px}
  .sp-banner .sp-btn{width:100%}
  .sp-statement{font-size:19px;line-height:30px}
  .sp-docsec{padding:24px 0}
  .sp-faq-cat{display:none}
  .sp-h1{font-size:26px;line-height:36px}
  .sp-h2{font-size:21px;line-height:29px}
  .sp-head-body{flex-direction:column;align-items:flex-start;gap:20px;padding:32px 0 28px}
  .sp-head-desc{font-size:15px;line-height:24px}
  .sp-subnav ul{gap:24px}
  .sp-subnav a{font-size:15px}
  .sp-title{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:24px}
  .sp-title-sub{font-size:15px}
  .sp-pgrid,.sp-pgrid--3{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .sp-pcard-body{padding:14px 14px 18px;gap:4px}
  .sp-pcard-name{font-size:15px;line-height:22px}
  .sp-pcard-spec{font-size:12px;line-height:18px}
  .sp-pcard .sp-badges .sp-badge:not(.sp-badge--line){display:none}
  .sp-price{font-size:13px}
  .sp-price b{font-size:16px}
  .sp-table th,.sp-table td{padding:12px 8px;font-size:13px;line-height:19px}
  .sp-table thead th{font-size:12px}
  .pdp-top{padding-top:16px;padding-bottom:56px;gap:24px}
  .pdp-shot{border-radius:12px;margin:0 calc(var(--os-pad) * -1);border-radius:0}
  .pdp-thumbs{grid-template-columns:repeat(6,56px);gap:8px;overflow-x:auto}
  .pdp-name{font-size:23px;line-height:32px}
  .pdp-keys{grid-template-columns:1fr}
  .pdp-keys li,.pdp-keys li:first-child{display:flex;justify-content:space-between;padding:12px 0}
  .pdp-keys li+li{border-left:0;border-top:1px solid var(--os-line2)}
  .pdp-keys b{margin-top:0;text-align:right}
  .pdp-size-box{height:68px}
  .pdp-size-box b{font-size:16px}
  .pdp-add{grid-template-columns:22px minmax(0,1fr);gap:4px 12px}
  .pdp-add-price{grid-column:2;justify-self:start;font-size:14px}
  .pdp-total{flex-direction:column-reverse;align-items:stretch}
  .pdp-sum-row dd{flex-wrap:nowrap;gap:8px}
  .pdp-sum-row dd span{font-size:13px;white-space:nowrap}
  .pdp-sum-row dd b{min-width:0;white-space:nowrap}
  .pdp-total-v{justify-content:space-between}
  .pdp-total-v strong b{font-size:24px}
  .pdp-qty{align-self:flex-start}
  .pdp-buy{flex-wrap:wrap}
  .pdp-buy .pdp-quote{flex-basis:100%;order:-1}
  .pdp-buy .sp-btn--line{flex:1}
  .pdp-ship{padding:18px;gap:14px}
  .pdp-ship-ico{width:44px;height:44px}
  .pdp-tabs ul{gap:24px}
  .pdp-tabs a{font-size:15px;padding:14px 0 13px}
  .pdp-sec{padding-top:56px}
  .pdp-lead{font-size:16px;line-height:27px}
  .pdp-facts{gap:8px;margin-top:24px}
  .pdp-facts li{padding:20px}
  .pdp-facts b{font-size:15px;line-height:22px}
  .pdp-photos{grid-template-columns:1fr}
  .pdp-spec{grid-template-columns:1fr}
  .pdp-spec dt{width:96px}
  .pdp-pricegrid{grid-template-columns:1fr}
  .pdp-bar .sp-inner{height:72px;gap:12px}
  .pdp-bar-l img,.pdp-bar-l span{display:none}
  .pdp-bar-l b{font-size:14px}
  .pdp-bar-r{gap:12px}
  .pdp-bar-r p{flex-direction:column;gap:0;align-items:flex-end}
  .pdp-bar-r p span{display:none}
  .pdp-bar-r strong b{font-size:18px}
  .pdp-bar .sp-btn{min-width:0;height:48px;padding:0 18px}
  .sp-ship-hero{grid-template-columns:1fr;padding:28px 24px;gap:16px}
  .sp-ship-hero-ico{width:56px;height:56px}
  .sp-ship-hero-tit{font-size:22px;line-height:30px}
  .sp-checks{grid-template-columns:1fr}
  .sp-checks li{white-space:normal}
  .sp-steps,.sp-extras ul{grid-template-columns:1fr}
  .sp-steps li,.sp-extras li{padding:22px}
  .sp-cards,.sp-cards--4,.sp-cards--2,.sp-info{grid-template-columns:1fr}
  .sp-lcard{min-height:0;padding:24px}
  .sp-lcard-tit{margin-top:16px}
  .sp-split{grid-template-columns:1fr;gap:24px}
  .sp-form{padding:24px 20px}
  .sp-fields{grid-template-columns:1fr}
  .sp-cta{margin-top:56px}
  .sp-cta .sp-inner{padding-top:36px;padding-bottom:36px}
  .sp-cta h2{font-size:20px;line-height:28px}
  .sp-cta-act{flex-wrap:wrap;width:100%}
  .sp-cta-act .sp-btn{flex:1}
  .sp-cta-tel{margin:8px 0 0}
  .sp-faq-item>summary{padding:18px 4px;gap:12px}
  .sp-faq-t{font-size:15px;line-height:22px}
  .sp-faq-a{padding:0 4px 20px 44px;font-size:14px;line-height:24px}
  .sp-structs{grid-template-columns:1fr}
  .sp-hero img{aspect-ratio:auto;height:200px;object-position:right center}
  .sp-hero-txt{position:static;transform:none;max-width:none;padding:20px 20px 24px}
  .sp-hero-txt strong{margin-top:4px;font-size:20px;line-height:28px}
  .sp-hero-txt p{font-size:13px}
  .sp-table .hide-m{display:none}
  .sp-hero-txt span{display:none}
  .sp-posts{grid-template-columns:1fr;gap:32px}
  .sp-post--feature>a{grid-template-columns:1fr;gap:0}
  .sp-post--feature .sp-post-tit{font-size:21px;line-height:29px}
  .sp-result>a{grid-template-columns:80px minmax(0,1fr);gap:16px;padding:18px 4px}
  .sp-article-head{padding:32px 0 24px}
  .sp-article-img{margin-bottom:32px;border-radius:0;margin-left:calc(var(--os-pad) * -1);margin-right:calc(var(--os-pad) * -1)}
  .sp-article .sp-prose{font-size:16px;line-height:28px}
  .sp .tool{padding:24px 20px}
  .sp .pick-cards{grid-template-columns:1fr}
  .sp .mrow{grid-template-columns:1fr 1fr;gap:10px}
  .sp .wchip{flex:1;justify-content:center;padding:0 10px}
  .sp-plan,.sp-kpis{grid-template-columns:1fr}
  .sp-kpis li+li{border-left:0;border-top:1px solid var(--os-line2)}
  .sp-404{padding-top:72px}
  .sp-404 .sp-404-code{font-size:72px}
  .sp-top{right:16px;bottom:16px;width:44px;height:44px}
  body.has-pdp-bar .sp-top{bottom:88px}
}
@media (prefers-reduced-motion:reduce){
  .sp-pcard-img img,.sp-post-img img,.pdp-bar,.sp-top{transition:none}
}
