/* Readability contract: text and surfaces are owned together here.
   First named layer intentionally outranks legacy unlayered !important rules.
   Avoid changing foreground independently when adding a new surface. */
@layer sn-readability;
@layer sn-readability {
  .legacy-content {--read-ink:#17382b;--read-copy:#354f43;--read-muted:#4c6659;--read-paper:#ffffff;--read-soft:#edf5f0;--read-link:#00664d;--read-action:#a51f2c}
  .legacy-content :is(table,thead,tbody,tr){background:var(--read-paper)!important;color:var(--read-copy)!important}
  .legacy-content :is(th,td){color:var(--read-copy)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content th{background:var(--read-soft)!important;color:var(--read-ink)!important}
  .legacy-content td{background:var(--read-paper)!important}
  .legacy-content :is(th,td) :is(a,b,strong,span,small,p){color:inherit!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content :is(th,td) a{color:var(--read-link)!important;text-decoration:underline;text-underline-offset:3px}
  .legacy-content :is(.sn-answer,.sn-evidence,.sn-physical-proof,.sn-media-enrichment,.sn-media-gallery,.new-sp-panel,.new-sp-spec-table,.legal-card,.pu-cpu-quote,.ssd-specs,.sn-brand-signature aside,.sx-hero-facts article,.sn-cpu-config aside){background:var(--read-paper)!important;color:var(--read-copy)!important}
  .legacy-content :is(.sn-answer,.sn-evidence,.sn-physical-proof,.sn-media-enrichment,.sn-media-gallery,.new-sp-panel,.new-sp-spec-table,.legal-card,.pu-cpu-quote,.ssd-specs,.sn-brand-signature aside,.sx-hero-facts article,.sn-cpu-config aside) :is(h2,h3,h4,p,span,small,b,strong,li,dt,dd,figcaption){color:var(--read-copy)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content :is(.new-sp-spec-row,.new-sp-kv,.new-sp-tag){background:var(--read-soft)!important;color:var(--read-ink)!important}
  .legacy-content :is(.sn-answer,.sn-evidence,.legal-card,.new-sp-panel,.pu-cpu-quote) a:not(.btn){color:var(--read-link)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content :is(.net-breadcrumb,.new-sp-crumbs,.ssd-breadcrumb,.ind-crumb){background:var(--read-paper)!important;color:var(--read-muted)!important}
  .legacy-content :is(.net-breadcrumb,.new-sp-crumbs,.ssd-breadcrumb,.ind-crumb) :is(a,span){color:var(--read-link)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content :is(.new-sp-list,.sx-check-list){background:var(--read-soft)!important;color:var(--read-copy)!important}
  .legacy-content :is(.new-sp-list,.sx-check-list) li{color:var(--read-copy)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content .plx-label,.legacy-content .pl-number,.legacy-content .sn-relation-card__type{color:var(--read-muted)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content .sn-ai-section>header>p,.legacy-content .sn-ai-section.sn-ai-source>div>p,.legacy-content .ssd-section>header>p{color:#99202d!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content :is(.sn-cpu-badges span,.sx-brand-lockup span){background:var(--read-soft)!important;color:var(--read-ink)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content .sn-rack-plan__steps>li>span{color:#005f59!important}
  .legacy-content .sn-cpu-band.sn-cpu-sources>header>p{color:#dbece4!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content :is(.sn-home-hero__facts,.sn-home-operations .sn-home-heading){color:var(--read-copy)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content :is(.sn-home-hero__facts,.sn-home-operations .sn-home-heading) :is(h2,p,li,span,strong){color:var(--read-copy)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content.sn-page-home :is(.sn-home-product__body>span,.sn-home-ssd__body>span,.sn-home-category__body small,.sn-home-netapp dt){color:#00664d!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content.sn-page-home .sn-home-heading--light>p{color:var(--read-copy)!important}
  .legacy-content.sn-page-home .sn-home-timeline article>div{background:var(--read-paper)!important}
  .legacy-content.sn-page-home .sn-home-timeline article>div :is(p,h3,span,small){color:var(--read-copy)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content.sn-page-home .sn-ai-news :is(.sn-ai-news__sources a,.sn-ai-news__read,.sn-ai-news__more a){color:var(--read-link)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content .contact-hero .eyebrow,.legacy-content .section-head p{color:var(--read-muted)!important;-webkit-text-fill-color:currentColor!important}
  /* Primary actions have a paired foreground even inside a colored hero. */
  .legacy-content :is(.sn-server-actions .sn-button,.sn-ai-actions .btn,.new-sp-panel .btn,.ssd-primary,.ssd-cta>a,.sx-primary-action,.sx-band-cta a,.storage-configurator .sx-secondary-action,.sn-home-button--primary){background:var(--read-action)!important;color:#fff!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content :is(.net-secondary,.lenovo-part-action.secondary,.sn-cpu-actions a){background:var(--read-paper)!important;color:var(--read-link)!important;-webkit-text-fill-color:currentColor!important;border-color:#9cbca9!important}
  .legacy-content .ssd-cta{background:var(--read-soft)!important;color:var(--read-copy)!important}
  .legacy-content .ssd-cta :is(h2,p){color:var(--read-ink)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content .procure-main>p{background:var(--read-paper)!important;color:var(--read-copy)!important;padding:14px 18px;border-radius:6px}

  /* Nested cards must inherit the same surface contract as their panel. */
  .legacy-content :is(.new-sp-order article,.new-sp-variant,.new-sp-trust>div,.sn-media-gallery figcaption){background:var(--read-soft)!important;color:var(--read-copy)!important}
  .legacy-content :is(.new-sp-order article,.new-sp-variant,.new-sp-trust>div) :is(h3,p,li,b,span){color:var(--read-copy)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content .sx-hero-copy h1{color:var(--read-ink)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content :is(.sx-cta-layout p,.ssd-cta span,.procure-main>p a){color:var(--read-link)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content :is(.pu-cpu-page,.pl-source-hero,.pu-cpu-quote) li>a{color:var(--read-link)!important}
  .legacy-content :is(.pd-link-map figcaption,.pd-board-integration small,.pd-main small,#sn-product-depth small,.nn-primary-pn small){color:var(--read-muted)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content :is(.nn-engineering-v2,.nn-bom,.nv-engineering)>header>p{color:#99202d!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content :is(.nn-ai-fabric-v2,.nv-performance-context)>div>p{color:#d9eee4!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content .nn-bom article>strong,.legacy-content .nn-source article>strong{color:#99202d!important}
  .legacy-content.sn-page-home .sn-home-export-logistics__routes b{color:var(--read-ink)!important;-webkit-text-fill-color:currentColor!important}
  .legacy-content.sn-page-home .sn-home-category small{color:var(--read-link)!important;-webkit-text-fill-color:currentColor!important}
}

/* Full-catalog audit: component surfaces and their foregrounds remain paired. */
@layer sn-readability {
 .legacy-content :is(.pd-backplane-bays,.pd-coolant-loop,.pd-distribution-map,.pd-rf-signal,.pd-removable-dock) figcaption {color:#425b4e!important;-webkit-text-fill-color:currentColor!important}
 .legacy-content .new-sp-variant em {color:#00664d!important;-webkit-text-fill-color:currentColor!important}
 .legacy-content .sn-route-hero.nd-hero {background:#edf5f0!important;color:#17382b!important}
 .legacy-content .sn-route-hero.nd-hero>div>p {color:#425b4e!important;-webkit-text-fill-color:currentColor!important}
 .legacy-content .sn-route-hero.nd-hero>div>h1 {color:#17382b!important;-webkit-text-fill-color:currentColor!important}
 .legacy-content .sn-route-hero.nd-hero>div>p:first-child {color:#a51f2c!important}
 .legacy-content .sn-route-hero.nd-hero a.sn-motion-action {background:#a51f2c!important;color:#fff!important;-webkit-text-fill-color:currentColor!important;border-color:#a51f2c!important}
 .legacy-content .sn-route-hero.nd-hero a.sn-motion-action+a.sn-motion-action {background:#fff!important;color:#00664d!important;border-color:#b5cabe!important}
 .legacy-content .sr-hero-index {background:#edf5f0!important;color:#425b4e!important;-webkit-text-fill-color:currentColor!important}
 .legacy-content .pu-cpu-actions :is(a.sn-button,a.sx-secondary-action),.legacy-content .cta-panel a.btn {background:#a51f2c!important;color:#fff!important;-webkit-text-fill-color:currentColor!important}
 .legacy-content .sn-home-guide-grid small {color:#00664d!important;-webkit-text-fill-color:currentColor!important}
 .legacy-content .price-band b,.legacy-content .scope-grid h3,.legacy-content .hero-copy .crumb a {color:#00664d!important;-webkit-text-fill-color:currentColor!important}
 .legacy-content .pd-rack-project footer {background:#edf5f0!important;color:#17382b!important}
 .legacy-content .pd-rack-project footer :is(li,p,span,strong) {color:#17382b!important;-webkit-text-fill-color:currentColor!important}
 .legacy-content .sx-node-platform small {background:#edf5f0!important;color:#a51f2c!important;-webkit-text-fill-color:currentColor!important}
 .legacy-content .pl-source-hero .new-sp-main>p {color:#425b4e!important;-webkit-text-fill-color:currentColor!important}
}
@layer sn-readability {
 .legacy-content .nn-topology article>strong {color:#a51f2c!important;-webkit-text-fill-color:currentColor!important}
 .legacy-content #pu-cpu-sources {background:#fff!important;color:#17382b!important}
 .legacy-content #pu-cpu-sources :is(a,p,li,h2,h3) {color:#00664d!important;-webkit-text-fill-color:currentColor!important}
}
@layer sn-readability {
 .legacy-content .iv-heading .iv-eyebrow {background:#edf5f0!important;color:#00664d!important;-webkit-text-fill-color:currentColor!important}
 .legacy-content .pd-rack-project footer h5 {color:#17382b!important;-webkit-text-fill-color:currentColor!important}
}
