/* NPOComposite — design system (1:1 structure vs SendCutSend, no Elementor) */
:root {
  --npc-red: #cb1217;
  --npc-red-hover: #a80e12;
  --npc-ink: #282c2f;
  --npc-ink-soft: #333333;
  --npc-black: #111111;
  --npc-white: #ffffff;
  --npc-muted: #e3e3e5;
  --npc-gray: #454d55;
  --npc-bg-soft: #f5f5f6;
  --npc-border: #d8d8db;
  --npc-radius: 8px;
  --npc-radius-lg: 16px;
  --npc-container: 1240px;
  --npc-header-h: 72px;
  --npc-font: "Inter Tight", "Golos Text", system-ui, sans-serif;
  --npc-ease: cubic-bezier(.22, 1, .36, 1);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--npc-font);
  color: var(--npc-ink-soft);
  background: var(--npc-white);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4, p { margin: 0; }

.screen-reader-text,
.npc-skip {
  position: absolute;
  left: -9999px;
}
.npc-skip:focus {
  left: 1rem;
  top: 1rem;
  z-index: 10000;
  background: var(--npc-white);
  padding: .75rem 1rem;
}

.npc-container {
  width: min(100% - 2rem, var(--npc-container));
  margin-inline: auto;
}

/* Header */
.npc-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--npc-white);
  border-bottom: 1px solid var(--npc-border);
  overflow: visible;
}
.admin-bar .npc-header { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar .npc-header { top: 46px; }
}

.npc-header__inner {
  width: min(100% - 1.5rem, var(--npc-container));
  margin-inline: auto;
  min-height: var(--npc-header-h);
  display: flex;
  align-items: center;
  gap: 1rem;
}

.npc-logo__mark {
  font-style: italic;
  font-weight: 800;
  font-size: 1.35rem;
  letter-spacing: -.02em;
  color: var(--npc-black);
}

.npc-nav { flex: 1; }
.npc-nav__list {
  display: flex;
  gap: 1.25rem;
  align-items: stretch;
  min-height: var(--npc-header-h);
}
.npc-nav__item {
  display: flex;
  align-items: center;
}
.npc-nav__link {
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--npc-ink);
}
.npc-nav__link:hover { color: var(--npc-red); }
.npc-nav__chev {
  display: inline-block;
  margin-left: .2rem;
  font-size: .7em;
  opacity: .75;
  transform: translateY(-1px);
}

/* Megamenu — без зазора: панель от низа полного li */
.npc-nav__item { position: relative; }
.npc-nav__item--has-sub > .npc-nav__link {
  position: relative;
  z-index: 2;
}
.npc-nav__item--has-sub > .npc-mega {
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  min-width: min(720px, 80vw);
  padding: 1rem;
  margin-top: 0;
  background: var(--npc-white);
  border: 1px solid var(--npc-border);
  border-radius: var(--npc-radius);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .12s ease, visibility .12s ease;
  z-index: 90;
  box-shadow: 0 14px 32px rgba(0,0,0,.12);
}
.npc-nav__item--has-sub > .npc-mega::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -8px;
  height: 8px;
}
.npc-nav__item--has-sub > .npc-mega--list {
  left: 0;
  transform: none;
  min-width: 280px;
  padding: .35rem 0;
  border-radius: 4px;
}
.npc-nav__item--has-sub:hover > .npc-mega,
.npc-nav__item--has-sub:focus-within > .npc-mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.npc-header__tools {
  display: flex;
  align-items: center;
  gap: .6rem;
}

.npc-badge {
  font-size: .7rem;
  font-weight: 600;
  color: var(--npc-gray);
  white-space: nowrap;
}

.npc-search {
  display: flex;
  align-items: center;
  background: var(--npc-bg-soft);
  border-radius: 999px;
  padding: .15rem .15rem .15rem .85rem;
  border: 1px solid transparent;
}
.npc-search:focus-within { border-color: var(--npc-border); }
.npc-search input {
  border: 0;
  background: transparent;
  width: 9rem;
  outline: none;
}
.npc-search button {
  border: 0;
  background: transparent;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  cursor: pointer;
  color: var(--npc-gray);
}

.npc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  border: 0;
  cursor: pointer;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  border-radius: var(--npc-radius);
  padding: .75rem 1rem;
  font-size: .8125rem;
  transition: background .2s var(--npc-ease), transform .2s var(--npc-ease);
}
.npc-btn--primary { background: var(--npc-red); color: var(--npc-white); }
.npc-btn--primary:hover { background: var(--npc-red-hover); }
.npc-btn--dark { background: var(--npc-black); color: var(--npc-white); }
.npc-btn--dark:hover { background: #000; }
.npc-btn--ghost {
  background: transparent;
  color: var(--npc-white);
  border: 1px solid rgba(255,255,255,.35);
}
.npc-btn--lg {
  padding: 1.35rem 2.25rem;
  font-size: 1.15rem;
  border-radius: var(--npc-radius-lg);
}
.npc-btn:focus-visible { outline: 2px solid var(--npc-red); outline-offset: 2px; }

.npc-burger {
  display: none;
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  gap: .35rem;
}
.npc-burger span {
  display: block;
  height: 2px;
  background: var(--npc-black);
  border-radius: 2px;
}

.npc-mobile {
  border-top: 1px solid var(--npc-border);
  background: var(--npc-white);
  padding: 1rem 1.25rem 1.5rem;
}
.npc-mobile a {
  display: block;
  padding: .85rem 0;
  font-weight: 600;
  border-bottom: 1px solid var(--npc-muted);
}

/* Hero */
.npc-hero {
  position: relative;
  min-height: calc(100svh - var(--npc-header-h));
  display: grid;
  place-items: center;
  color: var(--npc-white);
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.72)),
    var(--npc-hero-image, none) center/cover no-repeat,
    radial-gradient(ellipse at 30% 20%, #3a3a3a, #0a0a0a 60%);
}
.npc-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: .5;
  pointer-events: none;
}
.npc-hero__content {
  position: relative;
  z-index: 1;
  width: min(100% - 2rem, 860px);
  text-align: center;
  padding: 3rem 0 4rem;
  animation: npc-rise .8s var(--npc-ease) both;
}
.npc-hero__brand {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  font-style: italic;
  margin-bottom: .75rem;
  letter-spacing: -.02em;
}
.npc-hero h1 {
  font-size: clamp(2rem, 5.5vw, 3.75rem);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -.03em;
  margin-bottom: 1rem;
}
.npc-hero__sub {
  font-size: clamp(1rem, 2vw, 1.25rem);
  opacity: .92;
  margin-bottom: 1.75rem;
}
.npc-hero__hint {
  margin-top: 1.25rem;
  font-size: .95rem;
  opacity: .85;
}
.npc-hero__hint a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@keyframes npc-rise {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}

/* Sections */
.npc-section {
  padding: clamp(3rem, 6vw, 5.5rem) 0;
}
.npc-section--soft { background: var(--npc-bg-soft); }
.npc-section--dark {
  background: var(--npc-black);
  color: var(--npc-white);
}
.npc-section__head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 2.5rem;
}
.npc-section__head h2 {
  font-size: clamp(1.6rem, 3.5vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--npc-black);
  margin-bottom: .75rem;
}
.npc-section--dark .npc-section__head h2 { color: var(--npc-white); }
.npc-section__head p {
  color: var(--npc-gray);
  font-size: 1.05rem;
}
.npc-section--dark .npc-section__head p { color: rgba(255,255,255,.75); }

/* Services grid */
.npc-services {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.npc-service__thumb {
  display: block;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: var(--npc-muted);
}
.npc-service__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.npc-service {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  padding: 1.25rem 1.15rem;
  background: var(--npc-white);
  border: 1px solid var(--npc-border);
  border-radius: var(--npc-radius);
  min-height: 8.5rem;
  transition: border-color .2s, transform .2s var(--npc-ease);
}
.npc-service:hover {
  border-color: var(--npc-red);
  transform: translateY(-2px);
}
.npc-service__title {
  font-weight: 700;
  font-size: 1rem;
  color: var(--npc-black);
}
.npc-service__text {
  font-size: .9rem;
  color: var(--npc-gray);
}
.npc-more {
  display: inline-flex;
  margin-top: 1.75rem;
  font-weight: 700;
  color: var(--npc-red);
}
.npc-center { text-align: center; }

/* Price cards */
.npc-prices {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.npc-price-card {
  background: var(--npc-white);
  border: 1px solid var(--npc-border);
  border-radius: var(--npc-radius);
  padding: 1.35rem;
}
.npc-price-card__title {
  font-size: 1.1rem;
  color: var(--npc-black);
  margin-bottom: .35rem;
}
.npc-price-card__meta {
  font-size: .9rem;
  color: var(--npc-gray);
  margin-bottom: .75rem;
}
.npc-price-card__bulk {
  color: var(--npc-red);
  font-weight: 700;
  font-size: .9rem;
  margin-bottom: .75rem;
}
.npc-price-card__tiers li {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  padding: .45rem 0;
  border-top: 1px solid var(--npc-muted);
  font-size: .95rem;
}
.npc-price-card__qty { color: var(--npc-gray); min-width: 2.5rem; }
.npc-price-card__disc {
  margin-left: auto;
  color: var(--npc-red);
  font-weight: 700;
  font-size: .85rem;
}

/* Materials */
.npc-filters {
  display: grid;
  gap: .85rem;
  margin: 0 auto 1.75rem;
  max-width: 920px;
}
.npc-filter-row {
  display: grid;
  gap: .45rem;
  justify-items: center;
}
.npc-filter-row__label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--npc-gray);
}
.npc-filter-row__chips,
.npc-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  justify-content: center;
}
.npc-chips { margin-bottom: 1.75rem; }
.npc-filter-chip {
  border: 1px solid var(--npc-border);
  background: var(--npc-white);
  border-radius: 999px;
  padding: .45rem .95rem;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  color: var(--npc-ink);
  line-height: 1.2;
}
.npc-filter-chip.is-active,
.npc-filter-chip:hover {
  background: #ececec;
  border-color: #cfcfcf;
  color: var(--npc-black);
}
.npc-filter-chip.is-active {
  background: #e8e8e8;
  font-weight: 700;
}
.npc-filter-empty {
  text-align: center;
  color: var(--npc-gray);
  margin-top: 1rem;
}
.npc-mats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.npc-mat-card {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  padding: 1.1rem 1.15rem 1.15rem;
  border: 1px solid #e6e6e8;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.03);
  transition: border-color .2s, box-shadow .2s, transform .2s var(--npc-ease);
  color: inherit;
  min-width: 0;
}
.npc-mat-card:hover {
  border-color: #d0d0d4;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
  transform: translateY(-1px);
  color: inherit;
}
.npc-mat-card.is-hidden { display: none; }
.npc-mat-card__top {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  min-width: 0;
}
.npc-mat-card__swatch {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  aspect-ratio: 1 / 1;
  border-radius: 8px;
  overflow: hidden;
  background:
    linear-gradient(135deg, #c8c8c8, #8a8a8a 40%, #efefef 41%, #b0b0b0);
}
.npc-mat-card__swatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.npc-mat-card[data-cat="aluminum"] .npc-mat-card__swatch,
.npc-mat-card[data-metal="aluminum"] .npc-mat-card__swatch {
  background: linear-gradient(135deg, #d7dce0, #9aa3ab 45%, #eceff1);
}
.npc-mat-card[data-cat="steel"] .npc-mat-card__swatch,
.npc-mat-card[data-metal="steel"] .npc-mat-card__swatch {
  background: linear-gradient(135deg, #6d7278, #3d4248 50%, #9a9ea3);
}
.npc-mat-card[data-cat="plastics"] .npc-mat-card__swatch {
  background: linear-gradient(135deg, #7ec8e3, #2f8fb0);
}
.npc-mat-card[data-cat="composites"] .npc-mat-card__swatch {
  background: linear-gradient(135deg, #222, #555 40%, #111 41%, #444);
}
.npc-mat-card__info {
  display: grid;
  gap: .2rem;
  min-width: 0;
  padding-top: .1rem;
}
.npc-mat-card__title {
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.25;
  color: var(--npc-black);
}
.npc-mat-card__meta { font-size: .85rem; color: var(--npc-gray); }
.npc-mat-card__process {
  font-size: .86rem;
  color: #6b7280;
  line-height: 1.35;
}
.npc-mat-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
.npc-thk {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.7rem;
  padding: .2rem .55rem;
  border-radius: 6px;
  background: #f1f1f3;
  border: 0;
  font-size: .8rem;
  font-weight: 600;
  color: #333;
}
.npc-thk--more { color: var(--npc-red); background: transparent; }

.npc-type-card {
  border: 1px solid var(--npc-border);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  padding: 0 0 1.1rem;
  display: grid;
  gap: .55rem;
}
.npc-type-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #eee;
}
.npc-type-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.npc-type-card h3,
.npc-type-card p,
.npc-type-card__link {
  padding-left: 1.1rem;
  padding-right: 1.1rem;
}
.npc-type-card h3 { margin-top: .85rem; color: var(--npc-black); }
.npc-type-card p { color: var(--npc-gray); font-size: .92rem; }
.npc-type-card__link {
  color: #3b6ea5;
  font-weight: 700;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.npc-ask-robots {
  padding-top: .5rem;
  padding-bottom: .5rem;
}
.npc-ask-robots__title {
  text-align: center;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  color: var(--npc-black);
  margin: 0 auto 1rem;
  max-width: 40rem;
  line-height: 1.35;
}
.npc-ask-robots__form {
  display: flex;
  max-width: 720px;
  margin: 0 auto;
  border: 1px solid var(--npc-border);
  border-radius: 999px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 6px 20px rgba(0,0,0,.04);
}
.npc-ask-robots__form input {
  flex: 1;
  border: 0;
  padding: .95rem 1.25rem;
  outline: none;
  min-width: 0;
}
.npc-ask-robots__form .npc-btn {
  border-radius: 0;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
}
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

.npc-eyebrow {
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--npc-red);
  margin-bottom: .5rem;
}
.npc-mats-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1.5rem;
}
.npc-mats-intro > article:not(.npc-type-card) {
  padding: 1.25rem;
  border: 1px solid var(--npc-border);
  border-radius: var(--npc-radius);
  background: var(--npc-white);
}
.npc-mats-intro h3 {
  font-size: 1.1rem;
  color: var(--npc-black);
  margin-bottom: .4rem;
}
.npc-mats-intro p { color: var(--npc-gray); font-size: .95rem; }

.npc-guide-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.npc-guide-card {
  display: grid;
  gap: .4rem;
  padding: 1.25rem;
  border: 1px solid var(--npc-border);
  border-radius: var(--npc-radius);
  background: var(--npc-white);
  transition: border-color .2s, transform .2s var(--npc-ease);
}
.npc-guide-card:hover {
  border-color: var(--npc-red);
  transform: translateY(-2px);
}
.npc-guide-card h3 {
  font-size: 1.05rem;
  color: var(--npc-black);
}
.npc-guide-card p { font-size: .9rem; color: var(--npc-gray); }

.npc-cut-sizes { margin-top: 1.5rem; }
.npc-cut-sizes h2 {
  font-size: 1.1rem;
  color: var(--npc-black);
  margin-bottom: .75rem;
}
.npc-cut-sizes__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
}
.npc-cut-size {
  padding: .9rem 1rem;
  border: 1px solid var(--npc-border);
  border-radius: var(--npc-radius);
  background: var(--npc-bg-soft);
  display: grid;
  gap: .25rem;
}
.npc-cut-size__label {
  font-size: .75rem;
  font-weight: 700;
  color: var(--npc-gray);
  text-transform: uppercase;
}
.npc-cut-size a {
  font-size: .85rem;
  font-weight: 700;
  color: var(--npc-red);
}
.npc-mat-hero__media {
  height: 280px !important;
  border-radius: 12px;
}
.npc-h4 {
  margin: 1.25rem 0 .5rem;
  color: var(--npc-black);
  font-size: 1rem;
}
.npc-sku-line {
  color: var(--npc-gray);
  margin-bottom: .75rem;
}
.npc-svc-spec-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .35rem .75rem;
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
}
.npc-svc-spec-list li {
  padding: .45rem .65rem;
  border: 1px solid var(--npc-border);
  border-radius: 6px;
  background: var(--npc-white);
  font-size: .9rem;
}
.npc-quality-box {
  margin-top: 1.5rem;
  padding: 1.25rem;
  border-left: 3px solid var(--npc-red);
  background: var(--npc-white);
  border-radius: 0 var(--npc-radius) var(--npc-radius) 0;
}
.npc-quality-box h3 { margin-bottom: .4rem; color: var(--npc-black); }
.npc-longcopy { color: var(--npc-gray); line-height: 1.65; }
.npc-longcopy p { margin-bottom: .9rem; }
.npc-subnav a.is-active { color: var(--npc-red); font-weight: 700; }

.npc-mega__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .5rem;
}
.npc-mega--list .npc-mega__grid {
  display: block;
  grid-template-columns: none;
}
.npc-mega__item {
  display: grid;
  gap: .15rem;
  padding: .7rem .75rem;
  border-radius: 6px;
}
.npc-mega--list .npc-mega__item {
  display: block;
  padding: .55rem 1.15rem;
  border-radius: 0;
}
.npc-mega--list .npc-mega__item strong {
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 700;
}
.npc-mega--list .npc-mega__item span { display: none; }
.npc-mega--list .npc-mega__item.is-accent strong { color: var(--npc-red); }
.npc-mega__item:hover { background: var(--npc-bg-soft); }
.npc-mega__item strong {
  color: var(--npc-black);
  font-size: .92rem;
}
.npc-mega__item span {
  color: var(--npc-gray);
  font-size: .8rem;
  line-height: 1.35;
}

.npc-resource-list {
  display: grid;
  gap: .65rem;
}
.npc-resource-list a {
  display: block;
  padding: 1rem 1.15rem;
  border: 1px solid var(--npc-border);
  border-radius: var(--npc-radius);
  background: var(--npc-white);
}
.npc-resource-list a:hover { border-color: var(--npc-red); }
.npc-resource-list strong { display: block; color: var(--npc-black); margin-bottom: .2rem; }
.npc-resource-list span { color: var(--npc-gray); font-size: .9rem; }


/* CTA band */
.npc-cta-band {
  display: grid;
  gap: 1rem;
  justify-items: center;
  text-align: center;
}
.npc-cta-band h2 {
  font-size: clamp(1.6rem, 3vw, 2.25rem);
  color: inherit;
}

/* Rush */
.npc-rush {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 2rem;
  align-items: center;
}
.npc-rush__list {
  display: grid;
  gap: .75rem;
}
.npc-rush__list li {
  padding: 1rem 1.15rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--npc-radius);
}
.npc-rush__list strong { display: block; margin-bottom: .25rem; }

/* Values */
.npc-values {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.npc-value h3 {
  font-size: 1.05rem;
  margin-bottom: .5rem;
  color: var(--npc-black);
}
.npc-value p { color: var(--npc-gray); font-size: .95rem; }

/* FAQ */
.npc-faq { display: grid; gap: .65rem; max-width: 820px; margin-inline: auto; }
.npc-faq details {
  border: 1px solid var(--npc-border);
  border-radius: var(--npc-radius);
  padding: 1rem 1.15rem;
  background: var(--npc-white);
}
.npc-faq summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--npc-black);
}
.npc-faq p { margin-top: .75rem; color: var(--npc-gray); }

/* Dual CTA */
.npc-dual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.npc-dual__card {
  display: grid;
  gap: .75rem;
  padding: 1.75rem;
  border: 1px solid var(--npc-border);
  border-radius: var(--npc-radius-lg);
  background: var(--npc-white);
}
.npc-dual__card h3 { font-size: 1.35rem; color: var(--npc-black); }
.npc-dual__card p { color: var(--npc-gray); }

/* Page hero light */
.npc-page-hero {
  padding: clamp(2.5rem, 5vw, 4rem) 0 2rem;
}
.npc-page-hero h1 {
  font-size: clamp(1.8rem, 4vw, 2.75rem);
  letter-spacing: -.02em;
  color: var(--npc-black);
  margin-bottom: .75rem;
}
.npc-page-hero p { max-width: 640px; color: var(--npc-gray); font-size: 1.05rem; }

.npc-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
}
.npc-upload-mock {
  border: 2px dashed #7eb6ff;
  border-radius: var(--npc-radius-lg);
  padding: 2rem 1.5rem;
  text-align: center;
  background: #f8fbff;
}
.npc-upload-mock__formats {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  justify-content: center;
  margin-bottom: 1rem;
}
.npc-upload-mock__formats span {
  font-size: .75rem;
  font-weight: 700;
  color: var(--npc-gray);
  background: var(--npc-muted);
  padding: .25rem .5rem;
  border-radius: 4px;
}

/* Material single */
.npc-subnav {
  border-bottom: 1px solid var(--npc-border);
  background: var(--npc-bg-soft);
}
.npc-subnav__inner {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  padding: .85rem 0;
}
.npc-subnav--materials,
.npc-subnav--materials .npc-subnav__inner {
  overflow: visible;
}
.npc-subnav--materials .npc-subnav__inner {
  overflow-x: visible;
  overflow-y: visible;
}
.npc-subnav a {
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  white-space: nowrap;
  color: var(--npc-gray);
}
.npc-subnav a:hover { color: var(--npc-red); }

.npc-mat-hero-band {
  background:
    radial-gradient(1200px 400px at 70% 20%, rgba(255,255,255,.06), transparent 55%),
    linear-gradient(135deg, #141414 0%, #1c1c1c 45%, #101010 100%);
  color: #fff;
}
.npc-mat-hero {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 2rem;
  padding: 2.75rem 0 2.5rem;
  align-items: center;
}
.npc-mat-hero__copy h1 {
  color: #fff;
  font-size: clamp(1.75rem, 3.2vw, 2.6rem);
  line-height: 1.15;
  margin: 0 0 .25rem;
}
.npc-mat-hero__form {
  display: block;
  font-size: .55em;
  font-weight: 600;
  opacity: .72;
  margin-top: .35rem;
}
.npc-mat-hero__media {
  height: 320px !important;
  border-radius: 12px;
  overflow: hidden;
  background: #2a2a2a;
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
}
.npc-mat-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.npc-facts {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 1.25rem 0 1.5rem;
}
.npc-fact {
  padding: .85rem 1.1rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  min-width: 8.5rem;
  backdrop-filter: blur(4px);
}
.npc-fact strong { display: block; font-size: 1.15rem; color: #fff; }
.npc-fact span { font-size: .8rem; color: rgba(255,255,255,.7); }

/* Materials archive — SCS look */
.npc-subnav--materials {
  background: #fff;
  border-bottom: 1px solid var(--npc-border);
  position: relative;
  z-index: 25;
}
.npc-subnav--materials .npc-subnav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  min-height: 48px;
}
.npc-subnav__cats {
  display: flex;
  align-items: stretch;
  gap: .15rem 1.5rem;
  flex-wrap: wrap;
}
.npc-cat-dd {
  position: relative;
}
.npc-cat-dd__trigger {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  color: #444;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: .85rem 0;
}
.npc-cat-dd__trigger span {
  font-size: .65em;
  opacity: .7;
}
.npc-cat-dd:hover > .npc-cat-dd__trigger,
.npc-cat-dd.is-active > .npc-cat-dd__trigger,
.npc-cat-dd:focus-within > .npc-cat-dd__trigger {
  color: #3b6ea5;
}
.npc-cat-dd__panel {
  position: absolute;
  left: 0;
  top: calc(100% - 2px);
  min-width: 280px;
  max-height: min(70vh, 520px);
  overflow-x: hidden;
  overflow-y: auto;
  padding: .5rem 0;
  background: #fff;
  border: 1px solid var(--npc-border);
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 80;
  scrollbar-width: thin;
}
.npc-cat-dd:hover > .npc-cat-dd__panel,
.npc-cat-dd:focus-within > .npc-cat-dd__panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.npc-cat-dd__panel a {
  display: block;
  padding: .55rem 1.1rem;
  color: #222;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}
.npc-cat-dd__panel a:hover {
  background: var(--npc-bg-soft);
  color: #3b6ea5;
}
.npc-subnav__suggest {
  margin-left: auto;
  color: #3b6ea5 !important;
  font-size: .72rem !important;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}
.npc-subnav--materials a span {
  font-size: .65em;
  margin-left: .15rem;
  opacity: .7;
}
.npc-subnav--materials a:hover,
.npc-subnav--materials a.is-active {
  color: #3b6ea5;
}

/* Services archive — SCS /services/ */
.npc-svc-hero {
  position: relative;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.45) 55%, rgba(0,0,0,.25) 100%),
    var(--npc-svc-hero-bg) center / cover no-repeat;
  padding: clamp(3.5rem, 8vw, 6.5rem) 0;
}
.npc-svc-hero__inner { max-width: 720px; }
.npc-svc-hero h1 {
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  line-height: 1.1;
  color: #fff;
  margin: 0 0 1rem;
}
.npc-svc-hero__lead {
  color: rgba(255,255,255,.88);
  font-size: 1.05rem;
  line-height: 1.55;
  max-width: 560px;
}
.npc-svc-hero__lead a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 700;
}
.npc-svc-hero__cta { margin-top: 1.75rem; }
.npc-svc-anchors {
  background: #fff;
  border-bottom: 1px solid var(--npc-border);
  position: sticky;
  top: var(--npc-header-h);
  z-index: 20;
}
.npc-svc-anchors__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .75rem 1.75rem;
  padding: .95rem 0;
}
.npc-svc-anchors a {
  color: #3b6ea5;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.npc-svc-anchors a:hover { color: var(--npc-red); }
.npc-svc-block__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 2rem;
}
.npc-svc-block__head h2 {
  font-size: clamp(1.45rem, 2.8vw, 2rem);
  margin-bottom: .65rem;
}
.npc-svc-block__head p { color: var(--npc-gray); }
.npc-link-arrow {
  display: inline-block;
  margin-top: .75rem;
  color: #3b6ea5;
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.npc-svc-tiles {
  display: grid;
  gap: 1.25rem;
}
.npc-svc-tiles--3 { grid-template-columns: repeat(3, 1fr); }
.npc-svc-tiles--4 { grid-template-columns: repeat(4, 1fr); }
.npc-svc-tile {
  display: flex;
  flex-direction: column;
  background: #f3f3f3;
  border-radius: 12px;
  overflow: hidden;
  color: inherit;
  transition: transform .15s ease, box-shadow .15s ease;
}
.npc-svc-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
.npc-svc-tile__media {
  display: block;
  aspect-ratio: 4 / 3;
  background: #e8e8e8;
  overflow: hidden;
}
.npc-svc-tile__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.npc-svc-tile__body {
  display: grid;
  gap: .35rem;
  padding: 1.1rem 1.15rem 1.25rem;
}
.npc-svc-tile__kicker {
  color: var(--npc-gray);
  font-size: .78rem;
}
.npc-svc-tile__title {
  font-size: 1.05rem;
  color: var(--npc-black);
}
.npc-svc-tile__text {
  color: var(--npc-gray);
  font-size: .9rem;
  line-height: 1.45;
}
.npc-svc-feature {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 2rem;
  align-items: center;
  color: inherit;
}
.npc-svc-feature--reverse .npc-svc-feature__media { order: 2; }
.npc-svc-feature__media {
  display: block;
  border-radius: 12px;
  overflow: hidden;
  background: #e8e8e8;
  min-height: 240px;
}
.npc-svc-feature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.npc-svc-feature__body h2 {
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  margin-bottom: .75rem;
}
.npc-svc-feature__body p {
  color: var(--npc-gray);
  font-size: 1.05rem;
  line-height: 1.55;
}
.npc-svc-upload {
  background: #111;
  color: #fff;
  text-align: center;
}
.npc-svc-upload__inner { max-width: 640px; margin: 0 auto; }
.npc-svc-upload h2 {
  color: #fff;
  font-size: clamp(1.6rem, 3vw, 2.25rem);
  margin-bottom: .75rem;
}
.npc-svc-upload p { color: rgba(255,255,255,.75); margin-bottom: 1.5rem; }
.npc-svc-mat-strip {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem .85rem;
  justify-content: center;
}
.npc-svc-mat-strip a {
  padding: .45rem .8rem;
  border: 1px solid var(--npc-border);
  border-radius: 999px;
  background: #fff;
  font-size: .85rem;
  color: var(--npc-black);
}
.npc-svc-mat-strip a:hover { border-color: #3b6ea5; color: #3b6ea5; }
.npc-svc-mat-strip__more {
  border-color: transparent !important;
  color: #3b6ea5 !important;
  font-weight: 700;
}
.npc-resource-list--grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
}

.npc-mats-hero-scs {
  padding: 2.5rem 0 1.5rem;
  background: #fff;
}
.npc-mats-hero-scs__title {
  text-align: center;
  font-size: clamp(1.7rem, 3.2vw, 2.45rem);
  line-height: 1.2;
  color: var(--npc-black);
  max-width: 18ch;
  margin: 0 auto 2rem;
  font-weight: 800;
}
.npc-mats-hero-scs__row {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 2.5rem;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}
.npc-mats-hero-scs__visual img {
  width: 100%;
  height: auto;
  display: block;
}
.npc-mats-hero-scs__lead {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--npc-black);
  margin-bottom: .75rem;
}
.npc-mats-hero-scs__copy p {
  color: var(--npc-gray);
  line-height: 1.55;
  max-width: 36rem;
}
.npc-mats-hero-scs__cta { margin-top: 1.35rem; }

.npc-mats-overview { padding-top: 1rem; }
.npc-mats-overview__title {
  text-align: center;
  font-size: clamp(1.55rem, 2.6vw, 2.1rem);
  color: var(--npc-black);
  margin: 0 0 1.75rem;
  font-weight: 800;
}

.npc-filters--scs {
  margin-bottom: 2rem;
  text-align: center;
}
.npc-filters__units {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  padding: .2rem;
  margin: 0 auto 1rem;
  background: #ececec;
  border-radius: 999px;
}
.npc-filters__units button {
  border: 0;
  background: transparent;
  padding: .45rem 1.1rem;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
  color: #666;
  cursor: pointer;
}
.npc-filters__units button.is-active {
  background: #fff;
  color: #111;
  box-shadow: 0 1px 3px rgba(0,0,0,.12);
}
.npc-filters__byrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.npc-filters__by {
  font-size: .9rem;
  color: #444;
  margin: 0;
}
.npc-filters__select {
  min-width: 12rem;
  padding: .45rem .7rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  font-size: .9rem;
}
.npc-filters--scs .npc-filter-row {
  margin-bottom: .55rem;
  justify-content: center;
}
.npc-filters--scs .npc-filter-row[hidden] { display: none !important; }
.npc-filters--scs .npc-filter-row__chips {
  justify-content: center;
}
.npc-filters--scs .npc-filter-chip {
  background: #e9e9e9;
  border-color: transparent;
  color: #333;
  padding: .45rem 1rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  border-radius: 999px;
}
.npc-filters--scs .npc-filter-chip.is-active {
  background: #111;
  border-color: #111;
  color: #fff;
  font-weight: 800;
}
.npc-filters--scs .npc-filter-chip:hover {
  background: #dcdcdc;
  border-color: transparent;
  color: #111;
}
.npc-filters--scs .npc-filter-chip.is-active:hover {
  background: #222;
  color: #fff;
}

.npc-mats-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-top: 0;
}
.npc-type-card {
  border: 1px solid #e5e5e7;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  padding: 0 0 1.15rem;
  display: grid;
  gap: .55rem;
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
}
.npc-type-card__media {
  aspect-ratio: 768 / 520;
  overflow: hidden;
  background: #eee;
}
.npc-type-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.npc-type-card h3,
.npc-type-card p,
.npc-type-card__link {
  padding-left: 1.2rem;
  padding-right: 1.2rem;
}
.npc-type-card h3 {
  margin-top: .9rem;
  margin-bottom: 0;
  color: var(--npc-black);
  font-size: 1.15rem;
}
.npc-type-card p {
  color: var(--npc-gray);
  font-size: .92rem;
  margin: 0;
}
.npc-type-card__link {
  color: #3b6ea5;
  font-weight: 700;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-top: .25rem;
}
.npc-type-card__link:hover { color: var(--npc-red); }

.npc-ask-robots {
  padding: 1.5rem 0 2rem;
}
.npc-ask-robots__title {
  text-align: center;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  color: var(--npc-black);
  margin: 0 auto 1.1rem;
  max-width: 42rem;
  line-height: 1.35;
  font-weight: 800;
}
.npc-ask-robots__form {
  display: flex;
  max-width: 720px;
  margin: 0 auto;
  border: 1px solid #d8d8db;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.npc-ask-robots__form input {
  flex: 1;
  border: 0;
  padding: .95rem 1.15rem;
  outline: none;
  min-width: 0;
  font-size: 1rem;
}
.npc-ask-robots__form .npc-btn {
  border-radius: 0;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-weight: 800;
}

@media (max-width: 900px) {
  .npc-mats-hero-scs__row,
  .npc-mats-intro,
  .npc-svc-feature,
  .npc-svc-tiles--3,
  .npc-svc-tiles--4,
  .npc-resource-list--grid { grid-template-columns: 1fr; }
  .npc-svc-feature--reverse .npc-svc-feature__media { order: 0; }
  .npc-mats-hero-scs__title { max-width: none; }
  .npc-subnav__suggest { width: 100%; text-align: center; margin-left: 0; }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .npc-svc-tiles--4 { grid-template-columns: repeat(2, 1fr); }
  .npc-resource-list--grid { grid-template-columns: repeat(2, 1fr); }
}

.npc-page-anchors {
  position: sticky;
  top: 0;
  z-index: 25;
  background: #fff;
  border-bottom: 1px solid var(--npc-border);
}
.admin-bar .npc-page-anchors { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar .npc-page-anchors { top: 46px; }
}
.npc-page-anchors__inner {
  display: flex;
  gap: 1.35rem;
  justify-content: center;
  overflow-x: auto;
  padding: .85rem 0;
}
.npc-page-anchors a {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #3b6ea5 !important;
  white-space: nowrap;
}
.npc-page-anchors a:hover { color: var(--npc-red) !important; }

.npc-mat-section-title {
  text-align: center;
  color: var(--npc-black);
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  margin: 0 auto 1.5rem;
  max-width: 46rem;
  line-height: 1.25;
}
.npc-mat-section-title--left { text-align: left; margin-left: 0; }

.npc-quicklook {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  align-items: stretch;
}
.npc-ql-card {
  background: #fff;
  border: 1px solid var(--npc-border);
  border-radius: 14px;
  padding: 1.25rem 1.35rem 1.1rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.04);
}
.npc-ql-card__eyebrow {
  margin: 0 0 .85rem;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--npc-gray);
  font-weight: 700;
}
.npc-ql-card__meta {
  margin: -.4rem 0 .85rem;
  font-size: .85rem;
  color: var(--npc-gray);
}
.npc-ql-card__footer {
  margin: 1rem 0 0;
  font-size: .92rem;
  font-weight: 700;
}
.npc-ql-card__footer a { color: #3b6ea5; }

.npc-cut-diagram {
  position: relative;
  height: 140px;
  margin-bottom: 1rem;
  background: linear-gradient(180deg, #f7f7f7, #efefef);
  border-radius: 10px;
  overflow: hidden;
}
.npc-cut-diagram__c,
.npc-cut-diagram__b,
.npc-cut-diagram__a {
  position: absolute;
  display: grid;
  place-items: center;
  font-weight: 800;
  color: #555;
  border-radius: 4px;
}
.npc-cut-diagram__c {
  inset: 12px 18px 12px 18px;
  border: 2px dashed #bbb;
  background: transparent;
}
.npc-cut-diagram__b {
  left: 18%;
  top: 22%;
  width: 48%;
  height: 52%;
  background: #d9d9d9;
}
.npc-cut-diagram__a {
  left: 18%;
  bottom: 18%;
  width: 14%;
  height: 18%;
  background: #fff;
  border: 1px solid #aaa;
  font-size: .75rem;
}

.npc-cut-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .65rem;
}
.npc-cut-list li {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
  font-size: .95rem;
  color: var(--npc-black);
}
.npc-chip-btn {
  display: inline-flex;
  align-items: center;
  padding: .35rem .7rem;
  border-radius: 999px;
  background: #ececec;
  color: var(--npc-black);
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
}
.npc-chip-btn:hover { background: #e0e0e0; color: var(--npc-black); }

.npc-thk-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}
.npc-thk-chip {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  padding: .55rem .7rem;
  border: 1px solid var(--npc-border);
  border-radius: 8px;
  background: #f7f7f7;
  color: var(--npc-black);
  font-weight: 700;
  font-size: .9rem;
}
.npc-thk-chip:hover {
  border-color: var(--npc-red);
  color: var(--npc-black);
}
.npc-thk-chip__alt {
  font-weight: 500;
  color: var(--npc-gray);
  font-size: .82rem;
}

.npc-mat-services {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.npc-mat-svc {
  display: grid;
  gap: .45rem;
  padding: 1rem;
  background: #f2f2f2;
  border-radius: 12px;
  color: var(--npc-black);
  transition: transform .2s var(--npc-ease), background .2s;
}
.npc-mat-svc:hover {
  transform: translateY(-2px);
  background: #ebebeb;
  color: var(--npc-black);
}
.npc-mat-svc__thumb {
  display: block;
  aspect-ratio: 16/10;
  border-radius: 8px;
  overflow: hidden;
  background: #ddd;
}
.npc-mat-svc__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.npc-mat-svc__title {
  font-weight: 800;
  font-size: 1.05rem;
}
.npc-mat-svc__text {
  font-size: .9rem;
  color: var(--npc-gray);
  line-height: 1.45;
}
.npc-mat-svc__arrow {
  color: #3b6ea5;
  font-weight: 800;
  margin-top: .15rem;
}

.npc-svc-accordions {
  display: grid;
  gap: .5rem;
  margin-bottom: 1rem;
}
.npc-svc-acc {
  border: 1px solid var(--npc-border);
  border-radius: 8px;
  background: #fff;
  padding: .15rem .85rem .35rem;
}
.npc-svc-acc > summary {
  cursor: pointer;
  font-weight: 700;
  padding: .7rem 0;
  color: var(--npc-black);
  list-style: none;
}
.npc-svc-acc > summary::-webkit-details-marker { display: none; }
.npc-svc-acc > summary::after {
  content: '+';
  float: right;
  color: var(--npc-gray);
}
.npc-svc-acc[open] > summary::after { content: '−'; }
.npc-svc-acc__empty {
  color: var(--npc-gray);
  font-size: .92rem;
  padding-bottom: .6rem;
}
.npc-svc-acc--details { margin-top: .75rem; }

.npc-about-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 2rem;
  align-items: start;
}
.npc-feature-chart {
  background: #fff;
  border: 1px solid var(--npc-border);
  border-radius: 12px;
  padding: 1.1rem 1.2rem;
}
.npc-feature-chart h3 {
  margin: 0 0 1rem;
  font-size: 1rem;
  color: var(--npc-black);
}
.npc-feature-chart ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .65rem;
}
.npc-feature-chart li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .75rem;
  align-items: center;
  font-size: .88rem;
  color: var(--npc-black);
}
.npc-bars {
  display: inline-flex;
  gap: 3px;
}
.npc-bars i {
  width: 10px;
  height: 14px;
  border-radius: 2px;
  background: #ddd;
  display: block;
}
.npc-bars i.is-on { background: var(--npc-red); }

.npc-apps-list {
  margin: 0 0 1.5rem;
  padding-left: 1.15rem;
  color: var(--npc-gray);
  line-height: 1.6;
}
.npc-apps-list li { margin-bottom: .4rem; }

.npc-guarantee-box {
  margin-top: 1rem;
  padding: 1.25rem;
  border: 1px solid var(--npc-border);
  border-radius: var(--npc-radius);
  background: var(--npc-bg-soft);
}
.npc-guarantee-box h3 { margin-bottom: .4rem; color: var(--npc-black); }

.npc-cta-band--split {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
}
.npc-cta-band__actions {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
}
.npc-btn--ghost {
  background: transparent;
  border: 2px solid var(--npc-black);
  color: var(--npc-black);
}
.npc-btn--ghost:hover {
  background: var(--npc-black);
  color: #fff;
}

body.npc-unit-inch [data-mm] { display: none !important; }
body.npc-unit-mm [data-inch] { display: none !important; }

.npc-unit-toggle {
  display: inline-flex;
  border: 1px solid var(--npc-border);
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 1rem;
}
.npc-unit-toggle button {
  border: 0;
  background: transparent;
  padding: .55rem 1rem;
  cursor: pointer;
  font-weight: 700;
}
.npc-unit-toggle button.is-active {
  background: var(--npc-black);
  color: var(--npc-white);
}

.npc-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: 1.25rem;
}
.npc-tabs button {
  border: 1px solid var(--npc-border);
  background: var(--npc-white);
  padding: .5rem .85rem;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.npc-tabs button.is-active {
  background: var(--npc-red);
  border-color: var(--npc-red);
  color: #fff;
}

.npc-spec-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .92rem;
}
.npc-spec-table th,
.npc-spec-table td {
  border-bottom: 1px solid var(--npc-muted);
  padding: .65rem .4rem;
  text-align: left;
}
.npc-spec-table th { width: 45%; color: var(--npc-gray); font-weight: 600; }

/* Footer */
.npc-footer {
  background: #16181a;
  color: rgba(255,255,255,.82);
  padding-top: 3.5rem;
}
.npc-footer__grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1.2fr;
  gap: 2rem;
  padding-bottom: 2.5rem;
}
.npc-footer__brand {
  font-style: italic;
  font-weight: 800;
  font-size: 1.4rem;
  color: #fff;
  margin-bottom: .75rem;
}
.npc-footer__title {
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #fff;
  margin-bottom: 1rem;
}
.npc-footer__links { display: grid; gap: .55rem; }
.npc-footer__links a:hover { color: #fff; }
.npc-footer__mail {
  display: inline-block;
  margin: 1rem 0;
  color: #fff;
  font-weight: 600;
}
.npc-social { display: flex; gap: .85rem; }
.npc-reminder label {
  display: block;
  font-size: .85rem;
  margin-bottom: .5rem;
}
.npc-reminder__row {
  display: flex;
  gap: .4rem;
}
.npc-reminder input {
  flex: 1;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.06);
  color: #fff;
  border-radius: var(--npc-radius);
  padding: .7rem .85rem;
}
.npc-reminder__note {
  margin-top: .5rem;
  font-size: .75rem;
  opacity: .7;
}
.npc-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.1);
  padding: 1.1rem 0;
}
.npc-footer__bottom-inner {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  font-size: .85rem;
}
.npc-footer__fx { opacity: .75; max-width: 42rem; }

.npc-note {
  font-size: .85rem;
  color: var(--npc-gray);
  text-align: center;
  margin-top: 1.5rem;
}

/* Reviews */
.npc-reviews {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.npc-review {
  padding: 1.25rem;
  border: 1px solid var(--npc-border);
  border-radius: var(--npc-radius);
  background: var(--npc-white);
}
.npc-review__stars { color: #f5a623; letter-spacing: .1em; margin-bottom: .5rem; }
.npc-review p { color: var(--npc-ink); font-size: .95rem; }
.npc-review__author {
  margin-top: .85rem;
  font-size: .85rem;
  color: var(--npc-gray);
  font-weight: 600;
}

/* App shell */
.npc-app {
  min-height: 100svh;
  background: #fff;
}
.npc-app__top {
  background: var(--npc-black);
  color: #fff;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.25rem;
}
.npc-app__logo { font-style: italic; font-weight: 800; font-size: 1.25rem; }
.npc-app__login {
  color: #fff;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: .85rem;
}
.npc-app__body {
  width: min(100% - 2rem, 920px);
  margin: 2.5rem auto 4rem;
}
.npc-dropzone {
  border: 2px dashed #7eb6ff;
  border-radius: var(--npc-radius-lg);
  padding: 3rem 1.5rem;
  text-align: center;
  background: #f8fbff;
}
.npc-dropzone h1 {
  font-size: clamp(1.4rem, 3vw, 2rem);
  color: var(--npc-black);
  margin: 1rem 0 .5rem;
}
.npc-dropzone__or { margin: .75rem 0; color: var(--npc-gray); }
.npc-dropzone__safe {
  margin-top: 1.25rem;
  font-size: .85rem;
  color: var(--npc-gray);
}
.npc-app-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 2rem;
}
.npc-app-card {
  border: 1px solid var(--npc-border);
  border-radius: var(--npc-radius);
  padding: 1.35rem;
  display: grid;
  gap: .75rem;
}
.npc-app-card h2 { font-size: 1.1rem; color: var(--npc-black); }
.npc-app-card p { color: var(--npc-gray); font-size: .92rem; }
.npc-app-card .npc-btn {
  background: var(--npc-muted);
  color: var(--npc-black);
  text-transform: uppercase;
}
.npc-app-card .npc-btn:hover { background: #d0d0d3; }

/* Modal */
.npc-modal[hidden] { display: none !important; }
.npc-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  background: rgba(0,0,0,.45);
  padding: 1rem;
}
.npc-modal__dialog {
  width: min(100%, 820px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  max-height: min(90svh, 560px);
}
.npc-modal__form {
  padding: 2rem 1.5rem;
}
.npc-modal__form h2 {
  text-align: center;
  margin-bottom: 1.25rem;
  color: var(--npc-black);
}
.npc-field {
  display: grid;
  gap: .35rem;
  margin-bottom: .85rem;
}
.npc-field input {
  border: 1px solid var(--npc-border);
  border-radius: 6px;
  padding: .75rem .85rem;
}
.npc-modal__promo {
  background: #1c1f22;
  color: #fff;
  padding: 2rem 1.5rem;
  position: relative;
}
.npc-modal__close {
  position: absolute;
  top: .75rem;
  right: .75rem;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 1.5rem;
  cursor: pointer;
}

/* Responsive */
@media (max-width: 1100px) {
  .npc-services,
  .npc-mats { grid-template-columns: repeat(2, 1fr); }
  .npc-values { grid-template-columns: repeat(2, 1fr); }
  .npc-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
  .npc-nav,
  .npc-badge,
  .npc-search { display: none; }
  .npc-burger { display: inline-flex; }
  .npc-prices,
  .npc-reviews,
  .npc-app-cards,
  .npc-dual,
  .npc-split,
  .npc-rush,
  .npc-mat-hero,
  .npc-quicklook,
  .npc-about-grid,
  .npc-modal__dialog { grid-template-columns: 1fr; }
  .npc-services,
  .npc-mat-services,
  .npc-mats { grid-template-columns: repeat(2, 1fr); }
  .npc-guide-cards,
  .npc-mats-intro,
  .npc-cut-sizes__grid,
  .npc-svc-spec-list,
  .npc-mega__grid { grid-template-columns: 1fr 1fr; }
  .npc-header__tools .npc-btn--dark { display: none; }
}

@media (max-width: 560px) {
  .npc-services,
  .npc-mat-services,
  .npc-mats,
  .npc-values,
  .npc-footer__grid,
  .npc-guide-cards,
  .npc-mats-intro,
  .npc-cut-sizes__grid,
  .npc-svc-spec-list,
  .npc-thk-grid,
  .npc-mega__grid { grid-template-columns: 1fr; }
  .npc-btn--lg { width: 100%; }
  .npc-reminder__row { flex-direction: column; }
  .npc-header__inner { gap: .5rem; }
}

/* Resource / size chart pages */
.npc-svc-single-hero {
  background:
    radial-gradient(900px 360px at 80% 0%, rgba(255,255,255,.06), transparent 55%),
    linear-gradient(135deg, #141414 0%, #1b1b1b 50%, #0f0f0f 100%);
  color: #fff;
  padding: clamp(2.5rem, 6vw, 4.5rem) 0;
}
.npc-svc-single-hero__grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 2rem;
  align-items: center;
}
.npc-svc-single-hero h1 {
  color: #fff;
  font-size: clamp(1.9rem, 4vw, 3rem);
  line-height: 1.1;
  margin-bottom: .85rem;
}
.npc-svc-single-hero__lead {
  color: rgba(255,255,255,.82);
  font-size: 1.05rem;
  max-width: 34rem;
  margin-bottom: 1.25rem;
}
.npc-svc-single-hero__cta { margin-top: 1.5rem; }
.npc-svc-single-hero__media {
  border-radius: 12px;
  overflow: hidden;
  background: #222;
  min-height: 240px;
}
.npc-svc-single-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.npc-svc-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.npc-svc-stat {
  padding: 1.25rem;
  border: 1px solid var(--npc-border);
  border-radius: 10px;
  background: #fff;
}
.npc-svc-stat h3 {
  font-size: 1.05rem;
  margin-bottom: .45rem;
}
.npc-svc-stat p {
  color: var(--npc-gray);
  font-size: .92rem;
  margin-bottom: .75rem;
}
.npc-svc-stat a {
  color: #3b6ea5;
  font-weight: 700;
  font-size: .88rem;
}
.npc-svc-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.npc-svc-benefit {
  padding: 1.35rem;
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--npc-border);
}
.npc-svc-benefit h3 { margin-bottom: .45rem; }
.npc-svc-benefit p { color: var(--npc-gray); line-height: 1.5; }
.npc-svc-look-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: .85rem;
}
.npc-svc-look {
  display: grid;
  gap: .55rem;
  color: inherit;
}
.npc-svc-look__media {
  aspect-ratio: 4/3;
  border-radius: 10px;
  overflow: hidden;
  background: #e8e8e8;
}
.npc-svc-look__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.npc-svc-look strong {
  font-size: .92rem;
}
.npc-bullet {
  margin: 1rem 0 0;
  padding-left: 1.2rem;
  list-style: disc;
  color: var(--npc-gray);
  line-height: 1.6;
}
.npc-bullet li { margin-bottom: .55rem; }
.npc-center { text-align: center; }
@media (max-width: 900px) {
  .npc-svc-single-hero__grid,
  .npc-svc-stat-grid,
  .npc-svc-benefit-grid,
  .npc-svc-look-grid { grid-template-columns: 1fr; }
}

.npc-page-hero--compact .npc-filters__units {
  margin-top: 1rem;
}
.npc-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--npc-border);
  border-radius: 8px;
  background: #fff;
}
.npc-size-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
}
.npc-size-table th,
.npc-size-table td {
  padding: .7rem .85rem;
  border-bottom: 1px solid var(--npc-border);
  text-align: left;
  vertical-align: top;
}
.npc-size-table th {
  background: #f7f7f7;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  white-space: nowrap;
}
.npc-size-table tr:last-child td { border-bottom: 0; }
.npc-size-table a { color: #3b6ea5; font-weight: 600; }
.npc-svc-anchors--inline {
  position: static;
  border: 0;
  background: transparent;
  margin-top: 1rem;
}
.npc-svc-anchors--inline .npc-svc-anchors__inner {
  justify-content: flex-start;
  padding: 0;
  gap: .55rem .9rem;
  flex-wrap: wrap;
}
.npc-svc-anchors--inline a { font-size: .72rem; }
.npc-guide-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem;
  margin-bottom: 2rem;
}
.npc-guides-hero {
  padding: 2.5rem 0 0.5rem;
  text-align: center;
}
.npc-guides-hero h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: .65rem;
}
.npc-guides-hero__lead {
  color: var(--npc-gray);
  font-size: 1.1rem;
  max-width: 36rem;
  margin: 0 auto .85rem;
}
.npc-guides-hero__ask {
  color: #555;
  font-size: .95rem;
}
.npc-guides-hero__ask a {
  color: #3b6ea5;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.npc-guides-hub { padding-top: 1.25rem; }
.npc-guide-rows {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .85rem 1.25rem;
}
.npc-guide-row {
  display: grid;
  grid-template-columns: 72px 1fr 28px;
  align-items: center;
  gap: .85rem;
  min-height: 88px;
  padding: .65rem .9rem .65rem .65rem;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  background: #fff;
  color: inherit;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.npc-guide-row:hover {
  border-color: #cfcfcf;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
.npc-guide-row.is-hidden { display: none; }
.npc-guide-row__thumb {
  width: 72px;
  height: 72px;
  border-radius: 8px;
  overflow: hidden;
  background: #f0f0f0;
  display: grid;
  place-items: center;
}
.npc-guide-row__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.npc-guide-row__thumb--icon {
  background: #f7f7f7;
  border: 1px solid #ebebeb;
}
.npc-guide-row__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #111;
  line-height: 1.25;
}
.npc-guide-row__arrow {
  color: #3b6ea5;
  font-size: 1.25rem;
  font-weight: 700;
  justify-self: end;
}
.npc-guide-ico {
  width: 34px;
  height: 34px;
  display: block;
  background: center / contain no-repeat;
  opacity: .85;
}
.npc-guide-ico--bend { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23333' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M4 18V6h6v12M14 6h6v12h-6'/%3E%3C/svg%3E"); }
.npc-guide-ico--calc { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23333' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M8 8h8M8 12h8M8 16h4'/%3E%3C/svg%3E"); }
.npc-guide-ico--drill { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23333' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M8 4h8v4H8zM10 8v12M14 8v12'/%3E%3C/svg%3E"); }
.npc-guide-ico--gauge { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23333' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M4 16l6-10 4 6 2-3 4 7'/%3E%3C/svg%3E"); }
.npc-guide-ico--nut { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23333' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l7 4v10l-7 4-7-4V7l7-4z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.npc-guide-ico--ruler { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23333' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M4 8h16v8H4zM8 8v3M12 8v3M16 8v3'/%3E%3C/svg%3E"); }
.npc-guide-ico--angle { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23333' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V6h4v10h12v4H4z'/%3E%3C/svg%3E"); }
.npc-guide-ico--stack { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23333' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M4 16l8 4 8-4M4 12l8 4 8-4M4 8l8 4 8-4-8-4-8 4z'/%3E%3C/svg%3E"); }
.npc-guide-ico--file { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23333' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h7l5 5v13H7z'/%3E%3Cpath d='M14 3v5h5'/%3E%3C/svg%3E"); }
.npc-guide-ico--market { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23333' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v18M8 7h5a3 3 0 010 6H9a3 3 0 000 6h7'/%3E%3C/svg%3E"); }
.npc-guide-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.15rem;
}
.npc-guide-tile {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--npc-border);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  color: inherit;
  transition: transform .15s ease, box-shadow .15s ease;
}
.npc-guide-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
.npc-guide-tile.is-hidden { display: none; }
.npc-guide-tile__media {
  display: block;
  aspect-ratio: 16 / 10;
  background: #ececec;
  overflow: hidden;
}
.npc-guide-tile__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.npc-guide-tile__media--empty {
  background: linear-gradient(135deg, #f0f0f0, #e2e2e2 45%, #d8d8d8);
}
.npc-guide-tile__body {
  display: grid;
  gap: .35rem;
  padding: 1rem 1.1rem 1.2rem;
}
.npc-guide-tile__body strong {
  color: var(--npc-black);
  font-size: 1.05rem;
}
.npc-guide-tile__body span {
  color: var(--npc-gray);
  font-size: .9rem;
  line-height: 1.45;
}
.npc-guide-cards--select {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 900px) {
  .npc-guide-grid,
  .npc-guide-cards--select,
  .npc-guide-rows { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* ─── Interactive Pricing (pricing page) ─── */
.npc-pricing-interactive { margin-top: 1.5rem; }
.npc-pricing-tabs {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  margin-bottom: 1.2rem;
}
.npc-pricing-tab {
  padding: .55rem 1.1rem;
  border: 1px solid var(--npc-border, #ddd);
  border-radius: 999px;
  background: #fff;
  color: var(--npc-dark, #333);
  font-size: .88rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .18s ease;
}
.npc-pricing-tab:hover { border-color: var(--npc-red, #c00); color: var(--npc-red, #c00); }
.npc-pricing-tab.is-active {
  background: var(--npc-red, #c00);
  border-color: var(--npc-red, #c00);
  color: #fff;
}
.npc-pricing-panels { position: relative; }
.npc-pricing-panel {
  display: none;
  background: var(--npc-white, #fff);
  border: 1px solid var(--npc-border, #eee);
  border-radius: 12px;
  padding: 1.2rem 1.4rem;
}
.npc-pricing-panel.is-active { display: block; }
.npc-pricing-meta {
  color: var(--npc-gray, #888);
  font-size: .88rem;
  margin-bottom: 1rem;
}
.npc-pricing-bars { display: grid; gap: .65rem; }
.npc-pricing-bar-row {
  display: grid;
  grid-template-columns: 56px 1fr auto auto;
  align-items: center;
  gap: .6rem;
}
.npc-pricing-qty {
  font-size: .82rem;
  color: var(--npc-gray, #888);
  text-align: right;
}
.npc-pricing-bar-track {
  height: 22px;
  background: var(--npc-light, #f3f4f6);
  border-radius: 6px;
  overflow: hidden;
}
.npc-pricing-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--npc-red, #c00), #e55);
  border-radius: 6px;
  transition: width .35s ease;
}
.npc-pricing-price {
  font-weight: 600;
  font-size: .92rem;
  color: var(--npc-black, #111);
  white-space: nowrap;
}
.npc-pricing-badge {
  font-size: .76rem;
  font-weight: 600;
  color: #16a34a;
  background: #dcfce7;
  padding: .15rem .45rem;
  border-radius: 4px;
  white-space: nowrap;
}
@media (max-width: 600px) {
  .npc-pricing-bar-row { grid-template-columns: 44px 1fr auto; }
  .npc-pricing-badge { display: none; }
}
.npc-center { text-align: center; }
.npc-cta-row { display: flex; gap: .8rem; justify-content: center; flex-wrap: wrap; }
