/* Final scoped fixes for the current index review screenshots. */

.pv-hero-suite-section{
  min-height:calc(100svh - 2px)!important;
  padding-top:clamp(118px,13svh,154px)!important;
  padding-bottom:clamp(30px,5svh,56px)!important;
}

/* r128 stability pass: card anchors, contact fallback, legal destinations */
.pv-card-link {
  color: inherit;
  text-decoration: none;
}

.pv-card-link:focus-visible,
.pv-family-card:focus-visible,
.pv-cap4-card:focus-visible,
.pv-news-card-v2:focus-visible,
.pv-news-featured-v2:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}

.pv-contact-error {
  margin: 14px 0 0;
  color: color-mix(in oklch, #ef4444 78%, var(--fg));
  font-size: 13px;
  line-height: 1.45;
}

.pv-contact-error a {
  color: inherit;
  font-weight: 700;
}

.pv-contact-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.pv-policy-page {
  min-height: 100vh;
  padding: clamp(132px, 15vw, 190px) var(--pad-x) clamp(80px, 10vw, 140px);
  background:
    radial-gradient(circle at 84% 18%, color-mix(in oklch, var(--accent) 15%, transparent), transparent 34%),
    var(--bg);
}

.pv-policy-shell {
  width: min(880px, 100%);
  margin: 0 auto;
}

.pv-policy-back {
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--fg-dim);
  font: 700 12px/1 var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.pv-policy-shell h1 {
  max-width: 780px;
  margin: 14px 0 20px;
  font-family: var(--font-display);
  font-size: clamp(44px, 7vw, 92px);
  line-height: .96;
  letter-spacing: -.05em;
}

.pv-policy-shell > p {
  max-width: 660px;
  margin: 0 0 42px;
  color: var(--fg-dim);
  font-size: clamp(17px, 1.6vw, 22px);
  line-height: 1.5;
}

.pv-policy-list {
  border-top: 1px solid var(--line);
  margin-bottom: 34px;
}

.pv-policy-row {
  display: grid;
  grid-template-columns: minmax(120px, .32fr) minmax(0, 1fr);
  gap: 24px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}

.pv-policy-row span {
  color: var(--fg-mute);
  font: 700 12px/1.2 var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pv-policy-row strong {
  color: var(--fg);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 500;
}

@media (max-width: 700px) {
  .pv-policy-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* -- v20260506-13: product family info CTA -- */
.pv-family-body .pv-family-info-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:max-content!important;
  min-height:32px!important;
  margin-top:12px!important;
  padding:0 13px!important;
  border:1px solid color-mix(in oklab, oklch(62% 0.22 296) 56%, transparent)!important;
  border-radius:999px!important;
  background:color-mix(in oklab, oklch(62% 0.22 296) 9%, transparent)!important;
  color:oklch(56% 0.23 296)!important;
  box-shadow:0 10px 28px color-mix(in oklab, oklch(62% 0.22 296) 14%, transparent)!important;
  font-family:var(--font-mono, ui-monospace, Menlo, monospace)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    border-color .28s ease,
    background .28s ease,
    color .28s ease,
    box-shadow .28s ease!important;
}

.pv-family-body .pv-family-info-btn span{
  display:inline-grid!important;
  place-items:center!important;
  width:16px!important;
  height:16px!important;
  border-radius:50%!important;
  background:oklch(62% 0.22 296)!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
  letter-spacing:0!important;
  transform:translateY(-.5px)!important;
}

.pv-family-card:hover .pv-family-info-btn,
.pv-family-body .pv-family-info-btn:focus-visible{
  transform:translateY(-2px)!important;
  border-color:oklch(62% 0.22 296)!important;
  background:color-mix(in oklab, oklch(62% 0.22 296) 16%, transparent)!important;
  color:oklch(49% 0.25 296)!important;
  box-shadow:0 14px 34px color-mix(in oklab, oklch(62% 0.22 296) 24%, transparent)!important;
}

html[data-theme="dark"] .pv-family-body .pv-family-info-btn,
body[data-theme="dark"] .pv-family-body .pv-family-info-btn{
  color:oklch(78% 0.17 296)!important;
  background:color-mix(in oklab, oklch(62% 0.22 296) 14%, transparent)!important;
  border-color:color-mix(in oklab, oklch(78% 0.17 296) 46%, transparent)!important;
}

/* v20260506-14-final: product cards must win the cascade */
.pv-product-list-section .pv-catalog-list {
  gap: clamp(24px, 3vw, 34px) !important;
}

.pv-product-list-section .pv-catalog-card {
  --catalog-line: color-mix(in oklab, var(--fg, #111) 12%, transparent);
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(340px, 34%) minmax(0, 1fr) minmax(250px, 285px) !important;
  min-height: clamp(340px, 29vw, 390px) !important;
  overflow: visible !important;
  border: 1px solid var(--catalog-line) !important;
  border-radius: 30px !important;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--surface, #fff) 98%, var(--accent, #8b5cf6) 2%),
    color-mix(in oklab, var(--bg, #f6f2ea) 80%, var(--surface, #fff) 20%)) !important;
  box-shadow: 0 28px 80px color-mix(in oklab, #000 9%, transparent), inset 0 1px 0 rgba(255,255,255,.62) !important;
  transition: transform .48s cubic-bezier(.2,.82,.2,1), border-color .48s ease, box-shadow .48s ease, background .48s ease !important;
}

.pv-product-list-section .pv-catalog-card::before {
  content: "" !important;
  position: absolute !important;
  left: 28px !important;
  right: 28px !important;
  top: -1px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent, color-mix(in oklab, var(--accent, #8b5cf6) 66%, transparent), transparent) !important;
  opacity: .72 !important;
  pointer-events: none !important;
}

.pv-product-list-section .pv-catalog-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 1px !important;
  border-radius: 29px !important;
  background: radial-gradient(circle at 18% 18%, color-mix(in oklab, var(--accent, #8b5cf6) 10%, transparent), transparent 31%) !important;
  opacity: .55 !important;
  pointer-events: none !important;
}

.pv-product-list-section .pv-catalog-card:hover {
  transform: translateY(-7px) !important;
  border-color: color-mix(in oklab, var(--accent, #8b5cf6) 42%, var(--catalog-line)) !important;
  box-shadow: 0 34px 96px color-mix(in oklab, #000 14%, transparent), 0 0 0 1px color-mix(in oklab, var(--accent, #8b5cf6) 16%, transparent), inset 0 1px 0 rgba(255,255,255,.78) !important;
}

.pv-product-list-section .pv-catalog-media,
.pv-product-list-section .pv-catalog-copy,
.pv-product-list-section .pv-catalog-specs {
  position: relative !important;
  z-index: 1 !important;
}

.pv-product-list-section .pv-catalog-media {
  min-height: clamp(340px, 29vw, 390px) !important;
  padding: clamp(26px, 3.2vw, 44px) clamp(22px, 2.8vw, 36px) !important;
  overflow: visible !important;
  border-right: 1px solid var(--catalog-line) !important;
  border-radius: 30px 0 0 30px !important;
  background:
    radial-gradient(ellipse 84% 55% at 52% 68%, color-mix(in oklab, var(--accent, #8b5cf6) 24%, transparent), transparent 69%),
    linear-gradient(90deg, color-mix(in oklab, var(--fg, #111) 4%, transparent) 1px, transparent 1px),
    linear-gradient(180deg, color-mix(in oklab, var(--fg, #111) 4%, transparent) 1px, transparent 1px),
    linear-gradient(180deg, color-mix(in oklab, var(--bg, #f6f2ea) 72%, white), color-mix(in oklab, var(--surface, #fff) 82%, var(--bg, #f6f2ea))) !important;
  background-size: auto, 34px 34px, 34px 34px, auto !important;
}

.pv-product-list-section .pv-catalog-media::before {
  content: "" !important;
  position: absolute !important;
  left: 16% !important;
  right: 16% !important;
  bottom: clamp(30px, 3vw, 42px) !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: radial-gradient(ellipse at center, rgba(0,0,0,.24), transparent 67%) !important;
  filter: blur(8px) !important;
  opacity: .72 !important;
  pointer-events: none !important;
}

.pv-product-list-section .pv-catalog-media::after {
  left: 17% !important;
  right: 17% !important;
  bottom: clamp(38px, 3.5vw, 52px) !important;
  opacity: .62 !important;
}

.pv-product-list-section .pv-catalog-media img {
  width: min(98%, 380px) !important;
  max-height: clamp(250px, 24vw, 320px) !important;
  object-fit: contain !important;
  filter: drop-shadow(0 28px 38px rgba(0,0,0,.34)) !important;
  transition: transform .48s cubic-bezier(.2,.82,.2,1), filter .48s ease !important;
}

.pv-product-list-section .pv-catalog-card:hover .pv-catalog-media img {
  transform: translateY(-8px) scale(1.035) !important;
  filter: drop-shadow(0 34px 52px rgba(0,0,0,.42)) !important;
}

.pv-product-list-section .pv-catalog-copy {
  justify-content: center !important;
  padding: clamp(30px, 3.4vw, 48px) clamp(30px, 3.8vw, 54px) !important;
}

.pv-product-list-section .pv-catalog-kicker {
  display: inline-flex !important;
  width: max-content !important;
  margin-bottom: 14px !important;
  padding-bottom: 9px !important;
  border-bottom: 1px solid color-mix(in oklab, var(--accent, #8b5cf6) 44%, transparent) !important;
  color: color-mix(in oklab, var(--accent, #8b5cf6) 82%, var(--fg, #111)) !important;
}

.pv-product-list-section .pv-catalog-copy h3 {
  max-width: 11ch !important;
  margin-bottom: 14px !important;
  font-size: clamp(32px, 3.2vw, 46px) !important;
  line-height: .98 !important;
}

.pv-product-list-section .pv-catalog-copy p {
  max-width: 52ch !important;
  font-size: clamp(14px, 1.08vw, 16px) !important;
  line-height: 1.58 !important;
}

.pv-product-list-section .pv-catalog-tags {
  gap: 9px 16px !important;
  margin-top: 24px !important;
}

.pv-product-list-section .pv-catalog-tags span {
  color: color-mix(in oklab, var(--fg, #111) 62%, transparent) !important;
}

.pv-product-list-section .pv-catalog-tags span::before {
  width: 4px !important;
  height: 4px !important;
}

.pv-product-list-section .pv-catalog-specs {
  justify-content: center !important;
  gap: 24px !important;
  padding: clamp(26px, 2.8vw, 38px) !important;
  border-left: 1px solid var(--catalog-line) !important;
  border-radius: 0 30px 30px 0 !important;
  background: linear-gradient(180deg, color-mix(in oklab, var(--fg, #111) 4%, transparent), color-mix(in oklab, var(--accent, #8b5cf6) 6%, transparent)) !important;
}

.pv-product-list-section .pv-catalog-spec-grid {
  gap: 0 !important;
  border-top: 1px solid color-mix(in oklab, var(--fg, #111) 12%, transparent) !important;
}

.pv-product-list-section .pv-catalog-stat {
  padding: 17px 0 18px !important;
  border-bottom: 1px solid color-mix(in oklab, var(--fg, #111) 12%, transparent) !important;
}

.pv-product-list-section .pv-catalog-stat strong {
  font-size: clamp(24px, 2.35vw, 34px) !important;
  letter-spacing: -.045em !important;
}

.pv-product-list-section .pv-catalog-stat span {
  margin-top: 8px !important;
  color: color-mix(in oklab, var(--fg, #111) 50%, transparent) !important;
}

.pv-product-list-section .pv-catalog-link {
  min-height: 44px !important;
  margin-top: 0 !important;
  padding: 0 2px !important;
  border-top: 0 !important;
  border-bottom: 1px solid color-mix(in oklab, var(--fg, #111) 16%, transparent) !important;
}

html[data-theme="dark"] .pv-product-list-section .pv-catalog-card,
body[data-theme="dark"] .pv-product-list-section .pv-catalog-card {
  --catalog-line: rgba(255,255,255,.13);
  background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.028)) !important;
  box-shadow: 0 28px 86px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

html[data-theme="dark"] .pv-product-list-section .pv-catalog-media,
body[data-theme="dark"] .pv-product-list-section .pv-catalog-media {
  background:
    radial-gradient(ellipse 84% 55% at 52% 68%, rgba(139,92,246,.28), transparent 69%),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025)) !important;
  background-size: auto, 34px 34px, 34px 34px, auto !important;
}

html[data-theme="dark"] .pv-product-list-section .pv-catalog-specs,
body[data-theme="dark"] .pv-product-list-section .pv-catalog-specs {
  background: linear-gradient(180deg, rgba(255,255,255,.052), rgba(139,92,246,.07)) !important;
}

html[data-theme="dark"] .pv-product-list-section .pv-catalog-stat,
body[data-theme="dark"] .pv-product-list-section .pv-catalog-stat,
html[data-theme="dark"] .pv-product-list-section .pv-catalog-spec-grid,
body[data-theme="dark"] .pv-product-list-section .pv-catalog-spec-grid {
  border-color: rgba(255,255,255,.13) !important;
}

@media (max-width: 1120px) {
  .pv-product-list-section .pv-catalog-card {
    grid-template-columns: minmax(280px, 38%) minmax(0, 1fr) !important;
  }

  .pv-product-list-section .pv-catalog-specs {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    border-left: 0 !important;
    border-top: 1px solid var(--catalog-line) !important;
    border-radius: 0 0 30px 30px !important;
  }

  .pv-product-list-section .pv-catalog-spec-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    border-top: 0 !important;
    gap: 18px !important;
  }

  .pv-product-list-section .pv-catalog-stat {
    border-bottom: 0 !important;
    border-right: 1px solid color-mix(in oklab, var(--fg, #111) 12%, transparent) !important;
    padding: 0 18px 0 0 !important;
  }
}

@media (max-width: 720px) {
  .pv-product-list-section .pv-catalog-card {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    border-radius: 24px !important;
  }

  .pv-product-list-section .pv-catalog-media {
    min-height: 280px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--catalog-line) !important;
    border-radius: 24px 24px 0 0 !important;
  }

  .pv-product-list-section .pv-catalog-media img {
    max-height: 235px !important;
  }

  .pv-product-list-section .pv-catalog-copy {
    padding: 26px !important;
  }

  .pv-product-list-section .pv-catalog-copy h3 {
    max-width: 100% !important;
  }

  .pv-product-list-section .pv-catalog-specs {
    display: block !important;
    border-left: 0 !important;
    border-radius: 0 0 24px 24px !important;
  }

  .pv-product-list-section .pv-catalog-spec-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    border-top: 1px solid color-mix(in oklab, var(--fg, #111) 12%, transparent) !important;
  }

  .pv-product-list-section .pv-catalog-stat {
    border-right: 0 !important;
    border-bottom: 1px solid color-mix(in oklab, var(--fg, #111) 12%, transparent) !important;
    padding: 16px 0 !important;
  }
}

/* v20260506-14: premium product catalog cards */
.pv-product-list-section .pv-catalog-list {
  gap: clamp(24px, 3vw, 34px) !important;
}

.pv-product-list-section .pv-catalog-card {
  --catalog-line: color-mix(in oklab, var(--fg, #111) 12%, transparent);
  --catalog-soft: color-mix(in oklab, var(--surface, #fff) 92%, var(--accent, #8b5cf6) 5%);
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(340px, 34%) minmax(0, 1fr) minmax(250px, 285px) !important;
  min-height: clamp(340px, 29vw, 390px) !important;
  overflow: visible !important;
  border: 1px solid var(--catalog-line) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(135deg,
      color-mix(in oklab, var(--surface, #fff) 98%, var(--accent, #8b5cf6) 2%),
      color-mix(in oklab, var(--bg, #f6f2ea) 80%, var(--surface, #fff) 20%)) !important;
  box-shadow:
    0 28px 80px color-mix(in oklab, #000 9%, transparent),
    inset 0 1px 0 rgba(255,255,255,.62) !important;
  transition:
    transform .48s cubic-bezier(.2,.82,.2,1),
    border-color .48s ease,
    box-shadow .48s ease,
    background .48s ease !important;
}

.pv-product-list-section .pv-catalog-card::before {
  content: "" !important;
  position: absolute !important;
  left: 28px !important;
  right: 28px !important;
  top: -1px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent, color-mix(in oklab, var(--accent, #8b5cf6) 66%, transparent), transparent) !important;
  opacity: .72 !important;
  pointer-events: none !important;
}

.pv-product-list-section .pv-catalog-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 1px !important;
  border-radius: 29px !important;
  background:
    linear-gradient(90deg, transparent 0 74%, color-mix(in oklab, var(--accent, #8b5cf6) 7%, transparent) 100%),
    radial-gradient(circle at 18% 18%, color-mix(in oklab, var(--accent, #8b5cf6) 10%, transparent), transparent 31%) !important;
  opacity: .65 !important;
  pointer-events: none !important;
}

.pv-product-list-section .pv-catalog-card:hover {
  transform: translateY(-7px) !important;
  border-color: color-mix(in oklab, var(--accent, #8b5cf6) 42%, var(--catalog-line)) !important;
  box-shadow:
    0 34px 96px color-mix(in oklab, #000 14%, transparent),
    0 0 0 1px color-mix(in oklab, var(--accent, #8b5cf6) 16%, transparent),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
}

.pv-product-list-section .pv-catalog-media {
  min-height: clamp(340px, 29vw, 390px) !important;
  padding: clamp(26px, 3.2vw, 44px) clamp(22px, 2.8vw, 36px) !important;
  overflow: visible !important;
  border-right: 1px solid var(--catalog-line) !important;
  border-radius: 30px 0 0 30px !important;
  background:
    radial-gradient(ellipse 84% 55% at 52% 68%, color-mix(in oklab, var(--accent, #8b5cf6) 24%, transparent), transparent 69%),
    linear-gradient(90deg, color-mix(in oklab, var(--fg, #111) 4%, transparent) 1px, transparent 1px),
    linear-gradient(180deg, color-mix(in oklab, var(--fg, #111) 4%, transparent) 1px, transparent 1px),
    linear-gradient(180deg, color-mix(in oklab, var(--bg, #f6f2ea) 72%, white), color-mix(in oklab, var(--surface, #fff) 82%, var(--bg, #f6f2ea))) !important;
  background-size: auto, 34px 34px, 34px 34px, auto !important;
}

.pv-product-list-section .pv-catalog-media::before {
  content: "" !important;
  position: absolute !important;
  left: 16% !important;
  right: 16% !important;
  bottom: clamp(30px, 3vw, 42px) !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: radial-gradient(ellipse at center, rgba(0,0,0,.24), transparent 67%) !important;
  filter: blur(8px) !important;
  opacity: .72 !important;
  pointer-events: none !important;
}

.pv-product-list-section .pv-catalog-media::after {
  left: 17% !important;
  right: 17% !important;
  bottom: clamp(38px, 3.5vw, 52px) !important;
  opacity: .62 !important;
}

.pv-product-list-section .pv-catalog-media img {
  width: min(98%, 380px) !important;
  max-height: clamp(250px, 24vw, 320px) !important;
  object-fit: contain !important;
  filter: drop-shadow(0 28px 38px rgba(0,0,0,.34)) !important;
}

.pv-product-list-section .pv-catalog-card:hover .pv-catalog-media img {
  transform: translateY(-8px) scale(1.035) !important;
  filter: drop-shadow(0 34px 52px rgba(0,0,0,.42)) !important;
}

.pv-product-list-section .pv-catalog-copy,
.pv-product-list-section .pv-catalog-specs,
.pv-product-list-section .pv-catalog-media {
  position: relative !important;
  z-index: 1 !important;
}

.pv-product-list-section .pv-catalog-copy {
  justify-content: center !important;
  padding: clamp(30px, 3.4vw, 48px) clamp(30px, 3.8vw, 54px) !important;
}

.pv-product-list-section .pv-catalog-kicker {
  display: inline-flex !important;
  align-items: center !important;
  width: max-content !important;
  margin-bottom: 14px !important;
  padding-bottom: 9px !important;
  border-bottom: 1px solid color-mix(in oklab, var(--accent, #8b5cf6) 44%, transparent) !important;
  color: color-mix(in oklab, var(--accent, #8b5cf6) 82%, var(--fg, #111)) !important;
}

.pv-product-list-section .pv-catalog-copy h3 {
  max-width: 11ch !important;
  margin-bottom: 14px !important;
  font-size: clamp(32px, 3.2vw, 46px) !important;
  line-height: .98 !important;
}

.pv-product-list-section .pv-catalog-copy p {
  max-width: 52ch !important;
  font-size: clamp(14px, 1.08vw, 16px) !important;
  line-height: 1.58 !important;
}

.pv-product-list-section .pv-catalog-tags {
  gap: 9px 16px !important;
  margin-top: 24px !important;
}

.pv-product-list-section .pv-catalog-tags span {
  color: color-mix(in oklab, var(--fg, #111) 62%, transparent) !important;
}

.pv-product-list-section .pv-catalog-tags span::before {
  width: 4px !important;
  height: 4px !important;
}

.pv-product-list-section .pv-catalog-specs {
  justify-content: center !important;
  gap: 24px !important;
  padding: clamp(26px, 2.8vw, 38px) !important;
  border-left: 1px solid var(--catalog-line) !important;
  border-radius: 0 30px 30px 0 !important;
  background:
    linear-gradient(180deg,
      color-mix(in oklab, var(--fg, #111) 4%, transparent),
      color-mix(in oklab, var(--accent, #8b5cf6) 6%, transparent)) !important;
}

.pv-product-list-section .pv-catalog-spec-grid {
  gap: 0 !important;
  border-top: 1px solid color-mix(in oklab, var(--fg, #111) 12%, transparent) !important;
}

.pv-product-list-section .pv-catalog-stat {
  padding: 17px 0 18px !important;
  border-bottom: 1px solid color-mix(in oklab, var(--fg, #111) 12%, transparent) !important;
}

.pv-product-list-section .pv-catalog-stat strong {
  font-size: clamp(24px, 2.35vw, 34px) !important;
  letter-spacing: -.045em !important;
}

.pv-product-list-section .pv-catalog-stat span {
  margin-top: 8px !important;
  color: color-mix(in oklab, var(--fg, #111) 50%, transparent) !important;
}

.pv-product-list-section .pv-catalog-link {
  min-height: 44px !important;
  margin-top: 0 !important;
  padding: 0 2px !important;
  border-top: 0 !important;
  border-bottom: 1px solid color-mix(in oklab, var(--fg, #111) 16%, transparent) !important;
}

html[data-theme="dark"] .pv-product-list-section .pv-catalog-card,
body[data-theme="dark"] .pv-product-list-section .pv-catalog-card {
  --catalog-line: rgba(255,255,255,.13);
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.028)) !important;
  box-shadow: 0 28px 86px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

html[data-theme="dark"] .pv-product-list-section .pv-catalog-media,
body[data-theme="dark"] .pv-product-list-section .pv-catalog-media {
  background:
    radial-gradient(ellipse 84% 55% at 52% 68%, rgba(139,92,246,.28), transparent 69%),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025)) !important;
  background-size: auto, 34px 34px, 34px 34px, auto !important;
}

html[data-theme="dark"] .pv-product-list-section .pv-catalog-specs,
body[data-theme="dark"] .pv-product-list-section .pv-catalog-specs {
  background:
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(139,92,246,.07)) !important;
}

html[data-theme="dark"] .pv-product-list-section .pv-catalog-stat,
body[data-theme="dark"] .pv-product-list-section .pv-catalog-stat,
html[data-theme="dark"] .pv-product-list-section .pv-catalog-spec-grid,
body[data-theme="dark"] .pv-product-list-section .pv-catalog-spec-grid {
  border-color: rgba(255,255,255,.13) !important;
}

html[data-theme="dark"] .pv-product-list-section .pv-catalog-tags span,
body[data-theme="dark"] .pv-product-list-section .pv-catalog-tags span,
html[data-theme="dark"] .pv-product-list-section .pv-catalog-copy p,
body[data-theme="dark"] .pv-product-list-section .pv-catalog-copy p {
  color: rgba(255,255,255,.68) !important;
}

html[data-theme="dark"] .pv-product-list-section .pv-catalog-stat span,
body[data-theme="dark"] .pv-product-list-section .pv-catalog-stat span {
  color: rgba(255,255,255,.48) !important;
}

@media (max-width: 1120px) {
  .pv-product-list-section .pv-catalog-card {
    grid-template-columns: minmax(280px, 38%) minmax(0, 1fr) !important;
  }

  .pv-product-list-section .pv-catalog-specs {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    border-left: 0 !important;
    border-top: 1px solid var(--catalog-line) !important;
    border-radius: 0 0 30px 30px !important;
  }

  .pv-product-list-section .pv-catalog-spec-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    border-top: 0 !important;
    gap: 18px !important;
  }

  .pv-product-list-section .pv-catalog-stat {
    border-bottom: 0 !important;
    border-right: 1px solid color-mix(in oklab, var(--fg, #111) 12%, transparent) !important;
    padding: 0 18px 0 0 !important;
  }
}

@media (max-width: 720px) {
  .pv-product-list-section .pv-catalog-card {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    border-radius: 24px !important;
  }

  .pv-product-list-section .pv-catalog-media {
    min-height: 280px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--catalog-line) !important;
    border-radius: 24px 24px 0 0 !important;
  }

  .pv-product-list-section .pv-catalog-media img {
    max-height: 235px !important;
  }

  .pv-product-list-section .pv-catalog-copy {
    padding: 26px !important;
  }

  .pv-product-list-section .pv-catalog-copy h3 {
    max-width: 100% !important;
  }

  .pv-product-list-section .pv-catalog-specs {
    display: block !important;
    border-left: 0 !important;
    border-radius: 0 0 24px 24px !important;
  }

  .pv-product-list-section .pv-catalog-spec-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    border-top: 1px solid color-mix(in oklab, var(--fg, #111) 12%, transparent) !important;
  }

  .pv-product-list-section .pv-catalog-stat {
    border-right: 0 !important;
    border-bottom: 1px solid color-mix(in oklab, var(--fg, #111) 12%, transparent) !important;
    padding: 16px 0 !important;
  }
}

.pv-hero-suite-copy{
  transform:translateY(8px)!important;
}

.pv-index-kicker{
  margin-bottom:clamp(16px,2.2vh,24px)!important;
  color:rgba(17,17,19,.55)!important;
}

html[data-theme="dark"] .pv-index-kicker,
body[data-theme="dark"] .pv-index-kicker{
  color:rgba(255,255,255,.58)!important;
}

.pv-hero-suite-copy .pv-index-title{
  font-size:clamp(72px,10.6vw,154px)!important;
  line-height:.84!important;
  letter-spacing:-.082em!important;
}

.pv-hero-suite-copy .pv-index-lead{
  margin-top:clamp(18px,2.4vh,26px)!important;
  max-width:760px!important;
}

.pv-hero-suite{
  margin-top:clamp(18px,3.2vh,34px)!important;
}

.pv-hero-stage{
  min-height:clamp(250px,30svh,350px)!important;
}

.pv-hero-image-label{
  left:50%!important;
  right:auto!important;
  top:clamp(10px,1.8vh,18px)!important;
  bottom:auto!important;
  transform:translateX(-50%)!important;
  width:max-content!important;
  max-width:min(360px,78vw)!important;
  min-height:0!important;
  padding:9px 15px!important;
  border-radius:999px!important;
  background:rgba(13,14,20,.76)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:rgba(255,255,255,.88)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.12)!important;
  backdrop-filter:blur(18px)!important;
}

.pv-hero-image-label span,
.pv-hero-image-label b,
.pv-hero-image-label em{
  color:inherit!important;
}

.pv-hero-image-label span{
  opacity:.62!important;
}

.pv-hero-image-label em{
  opacity:.72!important;
}

.pv-hero-indicators{
  left:50%!important;
  right:auto!important;
  bottom:clamp(12px,2.2vh,22px)!important;
  transform:translateX(-50%)!important;
  justify-content:center!important;
}

.pv-hero-indicator{
  background:rgba(10,10,12,.28)!important;
  border-color:rgba(20,20,24,.20)!important;
}

html[data-theme="dark"] .pv-hero-indicator,
body[data-theme="dark"] .pv-hero-indicator{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.22)!important;
}

.pv-hero-indicator.is-active{
  background:#19191d!important;
  border-color:#19191d!important;
}

html[data-theme="dark"] .pv-hero-indicator.is-active,
body[data-theme="dark"] .pv-hero-indicator.is-active{
  background:#fff!important;
  border-color:#fff!important;
}

.pv-products-section{
  min-height:100svh!important;
  padding:clamp(50px,7vh,72px) clamp(22px,4vw,56px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

.pv-products-head{
  max-width:min(1020px,100%)!important;
  margin:0 auto clamp(24px,4vh,38px)!important;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr)!important;
  align-items:end!important;
  gap:clamp(26px,5vw,84px)!important;
}

.pv-products-head .h-eyebrow{
  margin-bottom:10px!important;
}

.pv-products-head h2{
  font-size:clamp(48px,6vw,78px)!important;
  line-height:.88!important;
  letter-spacing:-.07em!important;
  max-width:560px!important;
}

.pv-products-head p{
  align-self:end!important;
  max-width:430px!important;
  font-size:14px!important;
  line-height:1.45!important;
  margin:0 0 8px!important;
}

.pv-products-grid{
  max-width:1080px!important;
  gap:clamp(14px,2vw,22px)!important;
}

.pv-product-card{
  border-radius:14px!important;
  min-height:0!important;
}

.pv-product-image{
  height:clamp(205px,27vh,270px)!important;
  border-radius:14px 14px 0 0!important;
}

.pv-product-image img{
  max-width:78%!important;
  max-height:78%!important;
}

.pv-product-body{
  padding:clamp(20px,2.5vw,30px)!important;
}

.pv-product-body .h-eyebrow{
  margin-bottom:8px!important;
  font-size:9px!important;
}

.pv-product-body h3{
  font-size:clamp(27px,2.8vw,36px)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  margin-bottom:12px!important;
}

.pv-product-body p{
  font-size:13px!important;
  line-height:1.45!important;
  min-height:56px!important;
  margin-bottom:18px!important;
}

.pv-product-stats{
  gap:8px!important;
  margin-bottom:18px!important;
}

.pv-product-stats span{
  padding:8px 9px!important;
}

.pv-product-stats b{
  font-size:12px!important;
}

.pv-product-stats em{
  font-size:9px!important;
}

.pv-product-body button{
  min-height:38px!important;
  padding:0 16px!important;
  font-size:12px!important;
}

/* ── v-r1: HERO TITLE — smaller so everything fits in viewport ── */
.pv-hero-suite-copy .pv-index-title{
  font-size:clamp(44px,6.8vw,96px)!important;
  line-height:.92!important;
  letter-spacing:-.072em!important;
}

/* ── v-r1: ASSET HEADER — move to bottom so it never covers the image ── */
.particle-header.asset-header,
.asset-header{
  top:auto!important;
  bottom:12px!important;
  left:20px!important;
  right:auto!important;
}
.asset-header b{
  font-size:clamp(13px,1.1vw,16px)!important;
}
.asset-header span{
  font-size:9px!important;
}

/* ── v-r1: ASSET STAGE — no bottom clip ── */
.asset-sculpture,
.cinema-visual,
.cinema-stage{
  overflow:visible!important;
}
.asset-stage{
  overflow:visible!important;
  padding-bottom:50px!important;
}

/* ── v-r1: PRODUCT CARDS — shorter, no boxes inside boxes ── */
.pv-product-image{
  height:clamp(130px,16vh,175px)!important;
}
.pv-product-image img{
  max-width:66%!important;
  max-height:66%!important;
}
.pv-product-body{
  padding:clamp(14px,1.8vw,20px)!important;
}
.pv-product-body h3{
  font-size:clamp(20px,2vw,26px)!important;
  margin-bottom:6px!important;
}
.pv-product-body p{
  font-size:12px!important;
  line-height:1.45!important;
  min-height:0!important;
  margin-bottom:10px!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.pv-product-stats{
  gap:16px!important;
  margin-bottom:12px!important;
  flex-wrap:nowrap!important;
}
.pv-product-stats span{
  padding:0!important;
  background:none!important;
  border:none!important;
  border-radius:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:2px!important;
}
.pv-product-stats b{
  font-size:13px!important;
  font-weight:600!important;
  color:var(--fg)!important;
  font-family:var(--font-mono)!important;
  letter-spacing:-.01em!important;
}
.pv-product-stats em{
  font-size:9px!important;
  font-style:normal!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
  color:var(--fg-mute)!important;
}
.pv-product-body button{
  min-height:34px!important;
  padding:0 14px!important;
  font-size:11px!important;
}

/* ── NAV MINIMAL CONTROLS (v-r2) ── */
.nav-right{
  gap:0!important;
  align-items:center!important;
}

/* Base control */
.nav-ctrl{
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:32px;
  padding:0 10px;
  background:none;
  border:none;
  cursor:pointer;
  font-family:var(--font-mono,inherit);
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:inherit;
  opacity:.75;
  transition:opacity 160ms;
  white-space:nowrap;
  text-decoration:none;
}
.nav-ctrl:hover{ opacity:1; }

/* Language trigger */
.nav-ctrl-lang{
  gap:4px;
}
.nav-ctrl-chevron{
  width:8px!important;
  height:8px!important;
  opacity:.55;
  transition:transform 180ms;
}
.nav-lang-minimal.is-open .nav-ctrl-chevron{
  transform:rotate(180deg);
}

/* Language dropdown */
.nav-lang-minimal{
  position:relative;
}
.nav-lang-dropdown{
  position:absolute;
  top:calc(100% + 6px);
  right:0;
  min-width:120px;
  background:var(--bg-soft,#111);
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  padding:6px;
  box-shadow:0 12px 32px rgba(0,0,0,.28);
  backdrop-filter:blur(18px);
  opacity:0;
  pointer-events:none;
  transform:translateY(-4px);
  transition:opacity 160ms,transform 160ms;
  z-index:9999;
}
.nav-lang-minimal.is-open .nav-lang-dropdown{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
html[data-theme="light"] .nav-lang-dropdown,
body[data-theme="light"] .nav-lang-dropdown{
  background:rgba(250,250,248,.96);
  border-color:rgba(0,0,0,.1);
}
.nav-lang-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
}
.nav-lang-opt{
  display:block;
  padding:7px 10px;
  background:none;
  border:none;
  border-radius:8px;
  font-family:var(--font-mono,inherit);
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:inherit;
  opacity:.6;
  cursor:pointer;
  text-align:center;
  transition:opacity 120ms,background 120ms;
}
.nav-lang-opt:hover{ opacity:1; background:rgba(255,255,255,.06); }
.nav-lang-opt.is-active{ opacity:1; font-weight:700; }
html[data-theme="light"] .nav-lang-opt:hover,
body[data-theme="light"] .nav-lang-opt:hover{ background:rgba(0,0,0,.05); }

/* Theme toggle */
.nav-ctrl-theme{
  padding:0 8px;
}

/* Contact */
.nav-ctrl-contact{
  padding:0 12px;
  border-left:none;
  font-family:var(--font-body,inherit);
  text-transform:none;
  letter-spacing:0;
  font-size:13px;
  opacity:.8;
}
.nav-ctrl-contact:hover{ opacity:1; }

/* Light mode overrides */
html[data-theme="light"] .nav-ctrl,
body[data-theme="light"] .nav-ctrl{
  color:var(--fg,#111);
}

/* Hide legacy nav-pill if it still renders */
.nav-pill{ display:none!important; }

/* ── HERO LABEL: fade-in al cambiar solución ── */
@keyframes heroLabelEnter{
  from{ opacity:0; transform:translateX(-50%) translateY(4px); }
  to{   opacity:1; transform:translateX(-50%) translateY(0); }
}
.pv-hero-label-enter{
  animation:heroLabelEnter .32s ease both;
}

/* ── ASSET CAPTION: tag debajo de la imagen, nunca encima (v-r2) ── */
.asset-sculpture{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
.asset-stage{
  position:relative!important;
  overflow:visible!important;
  padding-bottom:0!important;
  flex:1!important;
  width:100%!important;
}
/* Ocultar el viejo asset-header que estaba dentro */
.asset-header,
.particle-header.asset-header{
  display:none!important;
}
.asset-caption{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 18px;
  margin-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
  width:100%;
  box-sizing:border-box;
}
.asset-caption-kicker{
  font-family:var(--font-mono,monospace);
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.35);
  white-space:nowrap;
}
.asset-caption::before{
  content:'';
  display:block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--accent,#a78bfa);
  flex-shrink:0;
  box-shadow:0 0 6px var(--accent,#a78bfa);
}
.asset-caption-title{
  font-family:var(--font-mono,monospace);
  font-size:11px;
  font-weight:600;
  letter-spacing:.04em;
  color:rgba(255,255,255,.7);
  white-space:nowrap;
}

/* ── HERO: quitar corte lila y borde duro (v-r2) ── */
.pv-index-hero{
  border-bottom:none!important;
}
/* Suavizar el glow lila para que no forme banda visible */
.pv-index-glow{
  background:radial-gradient(ellipse 60% 24% at 50% 88%, rgba(120,80,220,.07), transparent 70%)!important;
  opacity:.6!important;
}
/* Fade limpio hacia el siguiente bloque */
.pv-hero-suite-section::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:clamp(60px,8vh,100px);
  background:linear-gradient(to bottom, transparent, var(--bg, #06070a));
  pointer-events:none;
  z-index:3;
}
html[data-theme="light"] .pv-hero-suite-section::after,
body[data-theme="light"] .pv-hero-suite-section::after{
  background:linear-gradient(to bottom, transparent, var(--bg, #f8f6f1));
}
/* El grid-glow lila también se atenúa */
.pv-index-grid-glow{
  opacity:.12!important;
}

@media(max-width:960px){
  .pv-hero-suite-section{
    min-height:auto!important;
    padding-top:112px!important;
  }

  .pv-hero-suite-copy .pv-index-title{
    font-size:clamp(42px,13vw,76px)!important;
  }

  .pv-products-section{
    min-height:auto!important;
  }

  .pv-products-head{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }

  .pv-products-grid{
    grid-template-columns:1fr!important;
  }
}

/* ── PRODUCT CARDS: limpieza total (v-r2) ── */
/* Imagen más alta, sin corte */
.pv-product-image{
  height:clamp(180px,22vh,240px)!important;
  background:var(--bg-soft,#111)!important;
  border-radius:12px 12px 0 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.pv-product-image img{
  max-width:72%!important;
  max-height:80%!important;
  object-fit:contain!important;
}

/* Body: compacto, sin ruido */
.pv-product-body{
  padding:18px 20px 20px!important;
}
.pv-product-body h3{
  font-size:clamp(22px,2.2vw,28px)!important;
  line-height:.95!important;
  letter-spacing:-.05em!important;
  margin-bottom:8px!important;
}
.pv-product-body p{
  font-size:12px!important;
  line-height:1.5!important;
  color:var(--fg-dim)!important;
  margin-bottom:14px!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:0!important;
}

/* Stats: sin caja gris — métricas limpias */
.pv-product-stats{
  display:flex!important;
  gap:20px!important;
  margin-bottom:16px!important;
  flex-wrap:nowrap!important;
}
.pv-product-stats span{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
  padding:0!important;
  background:none!important;
  border:none!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.pv-product-stats b{
  font-family:var(--font-mono)!important;
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:-.01em!important;
  color:var(--fg)!important;
  background:none!important;
  border:none!important;
  padding:0!important;
}
.pv-product-stats em{
  font-size:9px!important;
  font-style:normal!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
  color:var(--fg-mute)!important;
  font-family:var(--font-mono)!important;
}

/* Botón de la card */
.pv-product-body button{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  height:32px!important;
  padding:0 14px!important;
  background:none!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-family:var(--font-mono)!important;
  letter-spacing:.04em!important;
  color:var(--fg)!important;
  cursor:pointer!important;
  transition:border-color 160ms,color 160ms!important;
}
.pv-product-body button:hover{
  border-color:var(--accent)!important;
  color:var(--accent)!important;
}
html[data-theme="light"] .pv-product-body button,
body[data-theme="light"] .pv-product-body button{
  border-color:rgba(0,0,0,.15)!important;
  color:var(--fg)!important;
}

/* -- v-r3: Sculpture tag right-side dock + product cards reset -- */
.asset-sculpture{
  position:relative!important;
  min-height:clamp(420px,62vh,620px)!important;
  padding:0 116px 0 0!important;
  overflow:visible!important;
}
.asset-stage{
  min-height:clamp(400px,58vh,600px)!important;
  width:100%!important;
  overflow:visible!important;
  padding:0!important;
}
.asset-object{
  max-width:none!important;
  max-height:none!important;
  width:auto!important;
  height:clamp(360px,56vh,590px)!important;
  object-fit:contain!important;
  filter:drop-shadow(0 46px 62px rgba(0,0,0,.42))!important;
}
.asset-container .asset-object,
.asset-charger .asset-object{
  height:clamp(390px,60vh,620px)!important;
}
.asset-bolt .asset-object{
  height:clamp(360px,56vh,580px)!important;
}
.asset-globe .asset-object{
  height:clamp(350px,54vh,570px)!important;
}
.asset-caption{
  position:absolute!important;
  top:50%!important;
  right:18px!important;
  bottom:auto!important;
  left:auto!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:5px!important;
  width:82px!important;
  min-height:142px!important;
  margin:0!important;
  padding:0 0 0 14px!important;
  border-top:0!important;
  border-left:1px solid rgba(255,255,255,.16)!important;
  background:transparent!important;
  box-shadow:none!important;
  pointer-events:none!important;
}
.asset-caption::before{
  position:absolute!important;
  left:-3px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:5px!important;
  height:28px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 0 16px rgba(167,139,250,.26)!important;
}
.asset-caption-kicker{
  color:rgba(255,255,255,.42)!important;
  font-size:8px!important;
  line-height:1.25!important;
  letter-spacing:.14em!important;
  white-space:normal!important;
}
.asset-caption-title{
  color:rgba(255,255,255,.86)!important;
  font-size:12px!important;
  line-height:1.15!important;
  letter-spacing:.01em!important;
  white-space:normal!important;
}

.pv-products-section{
  min-height:auto!important;
  padding:clamp(48px,7vh,76px) clamp(22px,4vw,56px)!important;
}
.pv-products-head{
  margin-bottom:clamp(20px,3vh,30px)!important;
}
.pv-products-grid{
  max-width:1120px!important;
  align-items:stretch!important;
  gap:18px!important;
}
.pv-product-card{
  display:grid!important;
  grid-template-rows:170px auto!important;
  min-height:0!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
.pv-product-image{
  height:170px!important;
  min-height:170px!important;
  padding:0!important;
  border-radius:16px 16px 0 0!important;
  overflow:visible!important;
  background:
    radial-gradient(ellipse 70% 42% at 50% 86%, rgba(167,139,250,.14), transparent 68%),
    rgba(255,255,255,.035)!important;
}
.pv-product-image img{
  width:auto!important;
  height:190px!important;
  max-width:106%!important;
  max-height:none!important;
  object-fit:contain!important;
  transform:translateY(16px)!important;
}
.pv-product-body{
  padding:16px 18px 18px!important;
}
.pv-product-body .h-eyebrow{
  margin-bottom:6px!important;
  opacity:.62!important;
  text-decoration:none!important;
  border:0!important;
}
.pv-product-body h3{
  font-size:clamp(21px,2.1vw,28px)!important;
  line-height:1!important;
  margin:0 0 8px!important;
  text-decoration:none!important;
}
.pv-product-body p{
  display:block!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
  min-height:0!important;
  margin:0 0 13px!important;
  font-size:12.5px!important;
  line-height:1.45!important;
  color:var(--fg-dim,rgba(255,255,255,.68))!important;
  text-decoration:none!important;
}
.pv-product-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0 0 14px!important;
}
.pv-product-meta span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:20px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--fg-mute,rgba(255,255,255,.52))!important;
  font-family:var(--font-mono,monospace)!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}
.pv-product-meta span:not(:last-child)::after{
  content:'';
  width:3px;
  height:3px;
  margin-left:7px;
  border-radius:50%;
  background:currentColor;
  opacity:.45;
}
.pv-product-stats,
.pv-product-stats span,
.pv-product-stats b,
.pv-product-stats em{
  display:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
.pv-product-card *,
.pv-product-card *::before,
.pv-product-card *::after{
  text-decoration:none!important;
}

@media(max-width:980px){
  .asset-sculpture{
    padding-right:0!important;
  }
  .asset-caption{
    right:16px!important;
    top:auto!important;
    bottom:20px!important;
    transform:none!important;
    min-height:0!important;
    width:auto!important;
    max-width:120px!important;
  }
  .pv-product-card{
    grid-template-rows:190px auto!important;
  }
  .pv-product-image{
    height:190px!important;
  }
}

/* v04 - stuck-area rebuild: hero meta + product family cards */
.pv-hero-suite{
  width:min(760px,92vw)!important;
  margin:clamp(10px,2svh,22px) auto 0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 112px!important;
  gap:clamp(18px,3vw,32px)!important;
  align-items:end!important;
}

.pv-hero-stage{
  grid-column:1!important;
  min-height:clamp(220px,28svh,330px)!important;
  overflow:visible!important;
}

.pv-hero-solution-img{
  max-height:100%!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}

.pv-hero-side-meta{
  grid-column:2!important;
  align-self:end!important;
  justify-self:start!important;
  width:112px!important;
  padding:0 0 18px 16px!important;
  border-left:1px solid rgba(20,20,24,.16)!important;
  background:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  color:rgba(18,18,22,.88)!important;
  display:grid!important;
  gap:7px!important;
  text-align:left!important;
  pointer-events:none!important;
}

html[data-theme="dark"] .pv-hero-side-meta,
body[data-theme="dark"] .pv-hero-side-meta{
  border-left-color:rgba(255,255,255,.16)!important;
  color:rgba(255,255,255,.86)!important;
}

.pv-hero-side-meta span{
  font-family:var(--font-mono)!important;
  font-size:10px!important;
  line-height:1!important;
  color:inherit!important;
  opacity:.42!important;
}

.pv-hero-side-meta b{
  max-width:90px!important;
  font-size:13px!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  color:inherit!important;
}

.pv-hero-side-meta em{
  max-width:88px!important;
  font-family:var(--font-mono)!important;
  font-size:9px!important;
  line-height:1.25!important;
  font-style:normal!important;
  color:inherit!important;
  opacity:.48!important;
}

.pv-index-btn-primary span{
  min-width:0!important;
}

.pv-products-section{
  min-height:auto!important;
  padding:clamp(46px,7svh,74px) clamp(22px,4vw,56px)!important;
}

.pv-products-head{
  max-width:1120px!important;
  margin:0 auto clamp(22px,4svh,34px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(260px,.55fr)!important;
  gap:clamp(24px,5vw,72px)!important;
  align-items:end!important;
}

.pv-products-head h2{
  font-size:clamp(40px,5.4vw,72px)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  max-width:590px!important;
}

.pv-products-head p{
  max-width:390px!important;
  font-size:14px!important;
  line-height:1.5!important;
  margin:0 0 8px!important;
}

.pv-family-grid{
  width:min(1120px,100%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}

.pv-family-card{
  position:relative!important;
  min-width:0!important;
  height:320px!important;
  display:grid!important;
  grid-template-rows:176px 1fr!important;
  overflow:hidden!important;
  cursor:pointer!important;
  border-radius:16px!important;
  border:1px solid rgba(18,18,22,.10)!important;
  background:
    radial-gradient(ellipse 70% 36% at 50% 78%,rgba(139,92,246,.12),transparent 70%),
    rgba(255,255,255,.74)!important;
  box-shadow:0 18px 45px rgba(18,18,22,.08)!important;
  transition:transform .22s var(--ease-out),border-color .22s var(--ease-out),box-shadow .22s var(--ease-out)!important;
}

.pv-family-card:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(139,92,246,.22)!important;
  box-shadow:0 24px 64px rgba(18,18,22,.12)!important;
}

html[data-theme="dark"] .pv-family-card,
body[data-theme="dark"] .pv-family-card{
  border-color:rgba(255,255,255,.12)!important;
  background:
    radial-gradient(ellipse 72% 36% at 50% 78%,rgba(139,92,246,.16),transparent 70%),
    rgba(255,255,255,.045)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.28)!important;
}

.pv-family-image{
  position:relative!important;
  min-width:0!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  padding:16px 14px 0!important;
  overflow:visible!important;
}

.pv-family-image::after{
  content:""!important;
  position:absolute!important;
  left:18%!important;
  right:18%!important;
  bottom:10px!important;
  height:20px!important;
  border-radius:50%!important;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.18),transparent 72%)!important;
  filter:blur(8px)!important;
  opacity:.76!important;
}

.pv-family-image img{
  position:relative!important;
  z-index:1!important;
  width:auto!important;
  height:168px!important;
  max-width:88%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.18))!important;
}

.pv-family-body{
  min-width:0!important;
  padding:14px 18px 17px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
}

.pv-family-body .h-eyebrow{
  margin:0 0 7px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:rgba(139,92,246,.78)!important;
  font-size:9px!important;
  line-height:1!important;
  letter-spacing:.17em!important;
  text-decoration:none!important;
}

.pv-family-body h3{
  margin:0 0 7px!important;
  padding:0!important;
  color:var(--fg)!important;
  font-size:clamp(27px,2.7vw,36px)!important;
  line-height:.92!important;
  letter-spacing:-.055em!important;
  text-decoration:none!important;
  white-space:normal!important;
}

.pv-family-body p{
  margin:0 0 10px!important;
  max-width:100%!important;
  color:var(--muted)!important;
  font-size:13px!important;
  line-height:1.35!important;
  white-space:normal!important;
  overflow:visible!important;
  display:block!important;
  text-decoration:none!important;
  background:none!important;
  border:0!important;
}

.pv-family-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px 12px!important;
  margin:auto 0 12px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
}

.pv-family-meta span{
  display:inline!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  color:var(--muted)!important;
  opacity:.72!important;
  font-family:var(--font-mono)!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  text-decoration:none!important;
}

.pv-family-body button{
  padding:0!important;
  min-height:0!important;
  height:auto!important;
  border:0!important;
  background:none!important;
  color:var(--fg)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
}

.pv-family-body button::after{
  content:" ->"!important;
  color:rgba(139,92,246,.8)!important;
}

.pv-family-card *,
.pv-family-card *::before,
.pv-family-card *::after{
  text-decoration:none!important;
}

@media(max-width:980px){
  .pv-hero-suite{
    grid-template-columns:1fr!important;
  }
  .pv-hero-side-meta{
    grid-column:1!important;
    justify-self:center!important;
    width:auto!important;
    display:flex!important;
    align-items:center!important;
    padding:0!important;
    border-left:0!important;
    gap:10px!important;
  }
  .pv-family-grid{
    grid-template-columns:1fr!important;
  }
  .pv-family-card{
    height:auto!important;
    grid-template-rows:190px auto!important;
  }
}

/* -- v-r4: clean hero label + product cards rebuild -- */
.pv-hero-suite{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 118px!important;
  align-items:center!important;
  gap:16px!important;
}
.pv-hero-stage{
  min-height:clamp(250px,34vw,430px)!important;
  height:clamp(250px,34vw,430px)!important;
  overflow:visible!important;
}
.pv-hero-solution-img{
  max-height:clamp(235px,32vw,400px)!important;
  object-fit:contain!important;
  object-position:center!important;
}
.pv-hero-image-label{
  position:static!important;
  transform:none!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:center!important;
  justify-items:start!important;
  width:112px!important;
  min-height:128px!important;
  padding:0 0 0 16px!important;
  border:0!important;
  border-left:1px solid rgba(15,18,24,.16)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  gap:7px!important;
  color:#111!important;
}
html[data-theme="dark"] .pv-hero-image-label,
body[data-theme="dark"] .pv-hero-image-label{
  border-left-color:rgba(255,255,255,.16)!important;
  color:#fff!important;
}
.pv-hero-image-label span{
  color:rgba(15,18,24,.42)!important;
  font-size:10px!important;
  line-height:1!important;
}
.pv-hero-image-label b{
  max-width:88px!important;
  color:currentColor!important;
  font-size:13px!important;
  line-height:1.08!important;
  white-space:normal!important;
}
.pv-hero-image-label em{
  color:rgba(15,18,24,.44)!important;
  font-size:9px!important;
  line-height:1.2!important;
  white-space:normal!important;
}
html[data-theme="dark"] .pv-hero-image-label span,
html[data-theme="dark"] .pv-hero-image-label em,
body[data-theme="dark"] .pv-hero-image-label span,
body[data-theme="dark"] .pv-hero-image-label em{
  color:rgba(255,255,255,.46)!important;
}
.pv-index-btn-primary span{
  display:inline-block!important;
  min-width:132px!important;
  text-align:center!important;
}
.pv-hero-indicators{
  bottom:-10px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  z-index:5!important;
}
.asset-sculpture{
  padding-right:104px!important;
}
.asset-stage{
  min-height:clamp(440px,62vh,650px)!important;
}
.asset-object{
  height:clamp(400px,62vh,650px)!important;
}
.asset-charger .asset-object,
.asset-container .asset-object{
  height:clamp(430px,66vh,690px)!important;
}
.asset-caption{
  right:0!important;
  width:96px!important;
  min-height:132px!important;
  padding-left:16px!important;
}

.pv-products-section{
  padding:clamp(44px,6vh,68px) clamp(22px,4vw,58px)!important;
}
.pv-products-head{
  display:grid!important;
  grid-template-columns:minmax(320px,.78fr) minmax(260px,.58fr)!important;
  gap:clamp(28px,6vw,96px)!important;
  align-items:end!important;
  margin:0 auto clamp(20px,3vh,28px)!important;
  max-width:1160px!important;
}
.pv-products-head h2{
  max-width:620px!important;
  font-size:clamp(42px,6.2vw,82px)!important;
  line-height:.94!important;
  letter-spacing:-.06em!important;
  margin:0!important;
}
.pv-products-head p{
  max-width:410px!important;
  margin:0 0 10px!important;
  font-size:14px!important;
  line-height:1.48!important;
}
.pv-products-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  max-width:1160px!important;
}
.pv-product-card{
  display:grid!important;
  grid-template-columns:46% 54%!important;
  grid-template-rows:1fr!important;
  min-height:218px!important;
  height:218px!important;
  overflow:hidden!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.68)!important;
  border:1px solid rgba(15,18,24,.1)!important;
  box-shadow:0 20px 48px rgba(15,18,24,.08)!important;
}
html[data-theme="dark"] .pv-product-card,
body[data-theme="dark"] .pv-product-card{
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(255,255,255,.11)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.24)!important;
}
.pv-product-image{
  position:relative!important;
  height:100%!important;
  min-height:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:
    radial-gradient(ellipse 78% 42% at 50% 84%, rgba(167,139,250,.16), transparent 68%),
    transparent!important;
}
.pv-product-image::after{
  content:''!important;
  position:absolute!important;
  inset:auto 12% 8px!important;
  height:22px!important;
  border-radius:50%!important;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.18), transparent 72%)!important;
  filter:blur(7px)!important;
}
.pv-product-image img{
  position:absolute!important;
  left:50%!important;
  bottom:4px!important;
  width:auto!important;
  height:clamp(174px,18vw,230px)!important;
  max-width:none!important;
  max-height:none!important;
  transform:translateX(-50%)!important;
  object-fit:contain!important;
  z-index:1!important;
}
.pv-product-body{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  padding:20px 20px 18px 6px!important;
  overflow:hidden!important;
}
.pv-product-body .h-eyebrow{
  margin:0 0 10px!important;
  font-size:8px!important;
  line-height:1.1!important;
  letter-spacing:.2em!important;
  color:rgba(124,58,237,.78)!important;
  white-space:normal!important;
  text-decoration:none!important;
  background:none!important;
  border:0!important;
}
.pv-product-body h3{
  margin:0 0 8px!important;
  max-width:100%!important;
  font-size:clamp(22px,2.35vw,31px)!important;
  line-height:.96!important;
  letter-spacing:-.045em!important;
  white-space:normal!important;
  overflow:visible!important;
  text-decoration:none!important;
}
.pv-product-body p{
  margin:0 0 12px!important;
  max-width:230px!important;
  display:block!important;
  overflow:visible!important;
  font-size:12px!important;
  line-height:1.36!important;
  color:rgba(15,18,24,.62)!important;
  -webkit-line-clamp:unset!important;
  text-decoration:none!important;
  background:none!important;
  border:0!important;
}
html[data-theme="dark"] .pv-product-body p,
body[data-theme="dark"] .pv-product-body p{
  color:rgba(255,255,255,.62)!important;
}
.pv-product-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px 12px!important;
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
}
.pv-product-meta span{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:auto!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  color:rgba(15,18,24,.46)!important;
  font-size:9px!important;
  line-height:1.15!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}
.pv-product-meta span:not(:last-child)::after{
  content:''!important;
  width:3px!important;
  height:3px!important;
  margin-left:12px!important;
  border-radius:50%!important;
  background:currentColor!important;
  opacity:.44!important;
}
html[data-theme="dark"] .pv-product-meta span,
body[data-theme="dark"] .pv-product-meta span{
  color:rgba(255,255,255,.46)!important;
}
.pv-product-body button{
  align-self:flex-start!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  color:rgba(15,18,24,.9)!important;
  font-size:11px!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
}
.pv-product-body button::after{
  content:'->';
  margin-left:8px;
}
html[data-theme="dark"] .pv-product-body button,
body[data-theme="dark"] .pv-product-body button{
  color:rgba(255,255,255,.88)!important;
}
.pv-product-card *,
.pv-product-card *::before,
.pv-product-card *::after{
  text-decoration:none!important;
}

@media(max-width:980px){
  .pv-hero-suite{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  .pv-hero-image-label{
    justify-self:center!important;
    width:auto!important;
    min-height:0!important;
    grid-template-columns:auto auto auto!important;
    gap:8px!important;
    padding:0!important;
    border:0!important;
  }
  .pv-products-head{
    grid-template-columns:1fr!important;
  }
  .pv-products-grid{
    grid-template-columns:1fr!important;
  }
  .pv-product-card{
    height:auto!important;
    min-height:220px!important;
  }
}

/* -- v-r5: hero render centered + cleaner family titles -- */
.pv-hero-suite{
  position:relative!important;
  display:block!important;
  width:min(740px,66vw)!important;
  margin:clamp(8px,1.8svh,20px) auto 0!important;
}

.pv-hero-stage{
  width:100%!important;
  margin:0 auto!important;
  min-height:clamp(260px,33vw,420px)!important;
  height:clamp(260px,33vw,420px)!important;
}

.pv-hero-solution-img{
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  max-height:clamp(246px,31vw,390px)!important;
  max-width:100%!important;
}

.pv-hero-side-meta,
.pv-hero-image-label{
  position:absolute!important;
  left:calc(100% + 24px)!important;
  right:auto!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  width:126px!important;
  min-height:0!important;
  padding:0 0 0 16px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  justify-items:start!important;
  align-content:start!important;
  border:0!important;
  border-left:1px solid rgba(15,18,24,.16)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

html[data-theme="dark"] .pv-hero-side-meta,
body[data-theme="dark"] .pv-hero-side-meta,
html[data-theme="dark"] .pv-hero-image-label,
body[data-theme="dark"] .pv-hero-image-label{
  border-left-color:rgba(255,255,255,.18)!important;
}

.pv-family-body h3{
  font-size:clamp(22px,2.05vw,29px)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}

.pv-family-body p{
  max-width:25ch!important;
  font-size:12.5px!important;
  line-height:1.38!important;
}

.pv-family-body button{
  letter-spacing:.1em!important;
}

@media(max-width:1180px){
  .pv-hero-suite{
    width:min(720px,78vw)!important;
  }
  .pv-hero-side-meta,
  .pv-hero-image-label{
    left:auto!important;
    right:10px!important;
    top:auto!important;
    bottom:18px!important;
    transform:none!important;
    width:118px!important;
  }
}

@media(max-width:980px){
  .pv-hero-suite{
    width:min(680px,92vw)!important;
  }
  .pv-hero-side-meta,
  .pv-hero-image-label{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:auto!important;
    margin:8px auto 0!important;
    padding:0!important;
    display:flex!important;
    border-left:0!important;
    gap:10px!important;
  }
}

/* -- v-r6: stable product family catalog -- */
.pv-products-section{
  padding:clamp(42px,6svh,66px) clamp(22px,4vw,56px)!important;
}

.pv-products-head{
  width:min(1120px,100%)!important;
  margin:0 auto clamp(24px,4svh,34px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,380px)!important;
  gap:clamp(24px,5vw,68px)!important;
  align-items:end!important;
}

.pv-products-head h2{
  max-width:760px!important;
  margin:0!important;
  font-size:clamp(38px,5vw,68px)!important;
  line-height:.96!important;
  letter-spacing:-.052em!important;
}

.pv-products-head p{
  max-width:380px!important;
  margin:0 0 6px!important;
  font-size:14px!important;
  line-height:1.52!important;
}

.pv-family-grid{
  width:min(1120px,100%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}

.pv-family-card{
  height:274px!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:150px 1fr!important;
  overflow:hidden!important;
  border-radius:14px!important;
  border:1px solid color-mix(in oklab,var(--fg) 10%,transparent)!important;
  background:color-mix(in oklab,var(--surface) 90%,transparent)!important;
  box-shadow:0 16px 42px rgba(10,10,14,.08)!important;
}

html[data-theme="dark"] .pv-family-card,
body[data-theme="dark"] .pv-family-card{
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 20px 58px rgba(0,0,0,.24)!important;
}

.pv-family-image{
  min-height:0!important;
  padding:10px 16px 0!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  background:linear-gradient(180deg,transparent 0%,rgba(124,58,237,.07) 100%)!important;
  overflow:visible!important;
}

.pv-family-image::after{
  bottom:8px!important;
  left:24%!important;
  right:24%!important;
  height:18px!important;
  opacity:.55!important;
}

.pv-family-image img{
  height:148px!important;
  max-height:148px!important;
  max-width:94%!important;
  width:auto!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:none!important;
}

.pv-family-body{
  padding:13px 16px 15px!important;
  display:grid!important;
  grid-template-rows:auto auto auto 1fr!important;
  gap:0!important;
  min-width:0!important;
}

.pv-family-body .h-eyebrow{
  margin:0 0 6px!important;
  color:color-mix(in oklab,var(--fg) 46%,var(--accent))!important;
  font-size:9px!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  background:none!important;
  border:0!important;
  padding:0!important;
}

.pv-family-body h3{
  margin:0 0 5px!important;
  font-size:clamp(21px,1.9vw,27px)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
  color:var(--fg)!important;
  white-space:normal!important;
}

.pv-family-body p{
  margin:0 0 9px!important;
  max-width:31ch!important;
  font-size:12.5px!important;
  line-height:1.36!important;
  color:var(--muted)!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}

.pv-family-meta{
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:0!important;
  align-items:center!important;
  border:0!important;
  background:none!important;
}

.pv-family-meta span{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:0 9px 0 0!important;
  margin:0 8px 0 0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  color:var(--muted)!important;
  opacity:.72!important;
  font-family:var(--font-mono)!important;
  font-size:10px!important;
  line-height:1.2!important;
  letter-spacing:.015em!important;
}

.pv-family-meta span:not(:last-child)::after{
  content:""!important;
  position:absolute!important;
  right:0!important;
  top:50%!important;
  width:2px!important;
  height:2px!important;
  border-radius:50%!important;
  background:currentColor!important;
  opacity:.42!important;
  transform:translateY(-50%)!important;
}

.pv-family-body button{
  align-self:end!important;
  justify-self:start!important;
  margin-top:10px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  color:var(--fg)!important;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:750!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}

.pv-family-card *,
.pv-family-card *::before,
.pv-family-card *::after{
  text-decoration:none!important;
}

@media(max-width:980px){
  .pv-products-head{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .pv-family-grid{
    grid-template-columns:1fr!important;
  }

  .pv-family-card{
    height:auto!important;
    min-height:260px!important;
    grid-template-rows:150px auto!important;
  }
}

/* -- v-r7: remove hard blur seam between hero and Solutions -- */
.pv-hero-suite-section{
  overflow:hidden!important;
  isolation:isolate!important;
}

.pv-index-glow{
  inset:auto -8vw -76px -8vw!important;
  height:clamp(230px,26vw,360px)!important;
  opacity:.32!important;
  filter:blur(34px)!important;
  background:
    radial-gradient(ellipse 46% 48% at 50% 38%,
      rgba(126,92,255,.18) 0%,
      rgba(126,92,255,.075) 38%,
      rgba(126,92,255,0) 72%)!important;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 26%,#000 54%,transparent 100%)!important;
  mask-image:linear-gradient(180deg,transparent 0%,#000 26%,#000 54%,transparent 100%)!important;
}

.pv-hero-suite-section::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-1px!important;
  height:clamp(130px,15vw,210px)!important;
  pointer-events:none!important;
  z-index:1!important;
  background:linear-gradient(180deg,
    rgba(246,245,241,0) 0%,
    rgba(246,245,241,.58) 52%,
    var(--bg) 100%)!important;
}

html[data-theme="dark"] .pv-hero-suite-section::after,
body[data-theme="dark"] .pv-hero-suite-section::after{
  background:linear-gradient(180deg,
    rgba(6,7,10,0) 0%,
    rgba(6,7,10,.58) 52%,
    var(--bg) 100%)!important;
}

.pv-hero-suite,
.pv-hero-suite-copy,
.pv-index-particles,
.pv-index-stars{
  position:relative!important;
  z-index:2!important;
}

/* -- v-r8: replace cut glow with a soft moving flow between Hero and Solutions -- */
.pv-hero-suite-section{
  overflow:visible!important;
}

.pv-hero-suite-section .pv-index-glow,
.pv-hero-suite-section .pv-index-grid-glow{
  display:none!important;
}

.pv-hero-suite-section::before{
  content:""!important;
  position:absolute!important;
  left:-12vw!important;
  right:-12vw!important;
  bottom:-82px!important;
  height:190px!important;
  pointer-events:none!important;
  z-index:1!important;
  opacity:.74!important;
  background:
    radial-gradient(ellipse 18% 42% at 24% 38%, rgba(150,112,255,.18), transparent 72%),
    radial-gradient(ellipse 22% 50% at 58% 52%, rgba(112,82,220,.15), transparent 76%),
    radial-gradient(ellipse 16% 36% at 80% 28%, rgba(190,132,255,.12), transparent 74%),
    linear-gradient(100deg,
      transparent 6%,
      rgba(124,82,235,0) 24%,
      rgba(148,96,255,.16) 43%,
      rgba(184,126,255,.10) 51%,
      rgba(148,96,255,.14) 60%,
      rgba(124,82,235,0) 78%,
      transparent 94%);
  filter:blur(18px)!important;
  transform:translate3d(0,0,0) skewY(-1deg)!important;
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 24%, #000 62%, transparent 100%)!important;
  mask-image:linear-gradient(180deg, transparent 0%, #000 24%, #000 62%, transparent 100%)!important;
  animation:pvHeroFlowDrift 9s ease-in-out infinite alternate!important;
}

.pv-hero-suite-section::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-96px!important;
  height:210px!important;
  pointer-events:none!important;
  z-index:0!important;
  background:linear-gradient(180deg,
    rgba(246,245,241,0) 0%,
    rgba(246,245,241,.70) 68%,
    var(--bg) 100%)!important;
}

html[data-theme="dark"] .pv-hero-suite-section::after,
body[data-theme="dark"] .pv-hero-suite-section::after{
  background:linear-gradient(180deg,
    rgba(6,7,10,0) 0%,
    rgba(6,7,10,.68) 66%,
    var(--bg) 100%)!important;
}

.pv-products-section{
  position:relative!important;
  z-index:2!important;
}

@keyframes pvHeroFlowDrift{
  0%{
    transform:translate3d(-3vw,0,0) skewY(-1deg) scaleX(1);
    opacity:.54;
  }
  100%{
    transform:translate3d(3vw,-8px,0) skewY(-1deg) scaleX(1.04);
    opacity:.78;
  }
}

@supports (animation-timeline:view()){
  .pv-hero-suite-section::before{
    animation:pvHeroFlowScroll linear both!important;
    animation-timeline:view()!important;
    animation-range:exit -20% exit 85%!important;
  }
}

@keyframes pvHeroFlowScroll{
  0%{
    transform:translate3d(-7vw,18px,0) skewY(-1deg) scaleX(.96);
    opacity:.30;
  }
  45%{
    opacity:.78;
  }
  100%{
    transform:translate3d(7vw,-18px,0) skewY(-1deg) scaleX(1.08);
    opacity:.18;
  }
}

/* -- v-r9: stabilization rollback, no animated seam between Hero and Solutions -- */
.pv-hero-suite-section{
  overflow:hidden!important;
  padding-bottom:clamp(34px,5vw,72px)!important;
  border-bottom:0!important;
}

.pv-hero-suite-section .pv-index-glow,
.pv-hero-suite-section .pv-index-grid-glow,
.pv-hero-suite-section::before{
  display:none!important;
  content:none!important;
  opacity:0!important;
  animation:none!important;
}

.pv-hero-suite-section::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-1px!important;
  height:clamp(64px,8vw,120px)!important;
  pointer-events:none!important;
  z-index:1!important;
  background:linear-gradient(180deg, rgba(246,245,241,0) 0%, var(--bg) 96%)!important;
  filter:none!important;
  transform:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}

html[data-theme="dark"] .pv-hero-suite-section::after,
body[data-theme="dark"] .pv-hero-suite-section::after{
  background:linear-gradient(180deg, rgba(6,7,10,0) 0%, var(--bg) 96%)!important;
}

/* -- v-r10: hard reset of Hero -> Solutions seam.
   The previous glow experiments were fighting each other. Keep this edge flat. */
.pv-hero-suite-section{
  overflow:visible!important;
  padding-bottom:clamp(46px,7vw,96px)!important;
}

.pv-hero-suite-section::before,
.pv-hero-suite-section::after,
.pv-hero-suite-section .pv-index-glow,
.pv-hero-suite-section .pv-index-grid-glow{
  content:none!important;
  display:none!important;
  opacity:0!important;
  background:none!important;
  filter:none!important;
  animation:none!important;
}

.pv-products-section{
  margin-top:0!important;
  padding-top:clamp(58px,8vw,104px)!important;
}

html[data-theme="light"] .pv-hero-suite-section,
body[data-theme="light"] .pv-hero-suite-section,
html[data-theme="light"] .pv-products-section,
body[data-theme="light"] .pv-products-section{
  background:var(--bg)!important;
}

html[data-theme="dark"] .pv-hero-suite-section,
body[data-theme="dark"] .pv-hero-suite-section,
html[data-theme="dark"] .pv-products-section,
body[data-theme="dark"] .pv-products-section{
  background:var(--bg)!important;
}

.pv-products-section{
  margin-top:0!important;
}

/* -- v-r11: physical Hero -> Solutions transition.
   This is a real bridge element between sections, not a hero pseudo-glow. */
.pv-energy-bridge{
  position:relative!important;
  z-index:3!important;
  height:clamp(58px,7vw,96px)!important;
  margin-top:clamp(-28px,-2.6vw,-12px)!important;
  margin-bottom:clamp(-10px,-1vw,-4px)!important;
  overflow:hidden!important;
  pointer-events:none!important;
  background:var(--bg)!important;
}

.pv-energy-bridge-inner{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:min(880px,74vw)!important;
  height:42px!important;
  transform:translate(-50%,-50%)!important;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 16%, #000 84%, transparent 100%)!important;
  mask-image:linear-gradient(90deg, transparent 0%, #000 16%, #000 84%, transparent 100%)!important;
}

.pv-energy-bridge-line{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:50%!important;
  height:1px!important;
  transform:translateY(-50%)!important;
  background:linear-gradient(90deg,
    transparent 0%,
    color-mix(in oklch, var(--accent) 26%, transparent) 18%,
    color-mix(in oklch, var(--accent) 54%, white 10%) 50%,
    color-mix(in oklch, var(--accent) 24%, transparent) 82%,
    transparent 100%)!important;
  opacity:.58!important;
}

.pv-energy-bridge-flow{
  position:absolute!important;
  top:50%!important;
  width:160px!important;
  height:2px!important;
  border-radius:999px!important;
  transform:translateY(-50%)!important;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.74) 45%, color-mix(in oklch, var(--accent) 72%, white 12%) 62%, transparent 100%)!important;
  filter:drop-shadow(0 0 8px color-mix(in oklch, var(--accent) 38%, transparent))!important;
  opacity:.72!important;
  animation:pvEnergyBridgeFlow 5.8s cubic-bezier(.35,0,.2,1) infinite!important;
}

.pv-energy-bridge-flow.flow-a{
  left:-22%!important;
}

.pv-energy-bridge-flow.flow-b{
  left:-48%!important;
  width:120px!important;
  opacity:.42!important;
  animation-delay:2.2s!important;
  animation-duration:7.2s!important;
}

.pv-energy-bridge-node{
  position:absolute!important;
  top:50%!important;
  width:6px!important;
  height:6px!important;
  border-radius:999px!important;
  transform:translate(-50%,-50%)!important;
  background:color-mix(in oklch, var(--accent) 84%, white 16%)!important;
  box-shadow:0 0 0 5px color-mix(in oklch, var(--accent) 12%, transparent), 0 0 16px color-mix(in oklch, var(--accent) 34%, transparent)!important;
  opacity:.72!important;
}

.pv-energy-bridge-node.node-a{ left:23%!important; }
.pv-energy-bridge-node.node-b{ left:51%!important; }
.pv-energy-bridge-node.node-c{ left:78%!important; }

.pv-energy-bridge + .pv-products-section{
  padding-top:clamp(42px,6vw,78px)!important;
}

html[data-theme="light"] .pv-energy-bridge,
body[data-theme="light"] .pv-energy-bridge{
  background:var(--bg)!important;
}

html[data-theme="light"] .pv-energy-bridge-line,
body[data-theme="light"] .pv-energy-bridge-line{
  opacity:.42!important;
}

@keyframes pvEnergyBridgeFlow{
  0%{
    transform:translate(-8%, -50%) scaleX(.72);
    opacity:0;
  }
  14%{
    opacity:.78;
  }
  72%{
    opacity:.68;
  }
  100%{
    transform:translate(720%, -50%) scaleX(1);
    opacity:0;
  }
}

@supports (animation-timeline:view()){
  .pv-energy-bridge-flow{
    animation:pvEnergyBridgeScroll linear both!important;
    animation-timeline:view()!important;
    animation-range:entry 0% exit 100%!important;
  }
}

@keyframes pvEnergyBridgeScroll{
  0%{
    transform:translate(0, -50%) scaleX(.78);
    opacity:.10;
  }
  42%{
    opacity:.76;
  }
  100%{
    transform:translate(520%, -50%) scaleX(1.04);
    opacity:.10;
  }
}

/* -- v-r12: real energy floor under the hero sculpture.
   The transition now starts below the product instead of living as a separate band. */
.pv-energy-bridge{
  display:none!important;
}

.pv-hero-stage{
  isolation:isolate!important;
}

.pv-hero-reflection{
  z-index:1!important;
  bottom:clamp(5px,1.4vw,16px)!important;
  width:min(580px,82%)!important;
  height:clamp(28px,4.2vw,54px)!important;
  opacity:.34!important;
  background:radial-gradient(ellipse at center,
    color-mix(in oklch, var(--accent) 24%, white 8%) 0%,
    color-mix(in oklch, var(--accent) 12%, transparent) 42%,
    transparent 72%)!important;
  filter:blur(18px)!important;
}

.pv-hero-energy-floor{
  position:absolute!important;
  left:50%!important;
  bottom:clamp(24px,4.3vw,58px)!important;
  width:min(760px,88%)!important;
  height:42px!important;
  transform:translateX(-50%)!important;
  z-index:2!important;
  pointer-events:none!important;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%)!important;
  mask-image:linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%)!important;
}

.pv-hero-floor-line{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:50%!important;
  height:1px!important;
  transform:translateY(-50%)!important;
  background:linear-gradient(90deg,
    transparent 0%,
    color-mix(in oklch, var(--accent) 16%, transparent) 18%,
    color-mix(in oklch, var(--accent) 42%, white 8%) 50%,
    color-mix(in oklch, var(--accent) 16%, transparent) 82%,
    transparent 100%)!important;
  opacity:.58!important;
}

.pv-hero-floor-flow{
  position:absolute!important;
  top:50%!important;
  left:-20%!important;
  width:112px!important;
  height:2px!important;
  border-radius:999px!important;
  transform:translateY(-50%)!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,255,255,.76) 48%,
    color-mix(in oklch, var(--accent) 68%, white 14%) 62%,
    transparent 100%)!important;
  filter:drop-shadow(0 0 8px color-mix(in oklch, var(--accent) 24%, transparent))!important;
  opacity:.72!important;
  animation:pvHeroFloorFlow 6.8s cubic-bezier(.32,0,.2,1) infinite!important;
}

.pv-hero-floor-flow.flow-b{
  left:-42%!important;
  width:76px!important;
  opacity:.44!important;
  animation-delay:2.35s!important;
  animation-duration:8.2s!important;
}

.pv-hero-floor-node{
  position:absolute!important;
  top:50%!important;
  width:5px!important;
  height:5px!important;
  border-radius:999px!important;
  transform:translate(-50%,-50%)!important;
  background:color-mix(in oklch, var(--accent) 70%, white 24%)!important;
  box-shadow:0 0 0 4px color-mix(in oklch, var(--accent) 9%, transparent), 0 0 14px color-mix(in oklch, var(--accent) 22%, transparent)!important;
  opacity:.62!important;
}

.pv-hero-floor-node.node-a{ left:28%!important; }
.pv-hero-floor-node.node-b{ left:50%!important; }
.pv-hero-floor-node.node-c{ left:72%!important; }

.pv-hero-suite-section{
  padding-bottom:clamp(34px,5vw,74px)!important;
}

.pv-products-section{
  padding-top:clamp(34px,5vw,72px)!important;
}

.pv-products-section::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:0!important;
  width:min(680px,76vw)!important;
  height:1px!important;
  transform:translateX(-50%)!important;
  background:linear-gradient(90deg,
    transparent 0%,
    color-mix(in oklch, var(--accent) 18%, transparent) 18%,
    color-mix(in oklch, var(--accent) 34%, white 8%) 50%,
    color-mix(in oklch, var(--accent) 14%, transparent) 82%,
    transparent 100%)!important;
  opacity:.38!important;
  pointer-events:none!important;
}

@keyframes pvHeroFloorFlow{
  0%{
    transform:translate(0,-50%) scaleX(.58);
    opacity:0;
  }
  16%{
    opacity:.70;
  }
  72%{
    opacity:.58;
  }
  100%{
    transform:translate(760%,-50%) scaleX(1);
    opacity:0;
  }
}

@supports (animation-timeline:view()){
  .pv-hero-floor-flow{
    animation:pvHeroFloorScroll linear both!important;
    animation-timeline:view()!important;
    animation-range:exit -18% exit 78%!important;
  }
}

@keyframes pvHeroFloorScroll{
  0%{
    transform:translate(0,-50%) scaleX(.70);
    opacity:.18;
  }
  42%{
    opacity:.74;
  }
  100%{
    transform:translate(620%,-50%) scaleX(1);
    opacity:.10;
  }
}

@media (max-width: 760px){
  .pv-hero-energy-floor{
    bottom:24px!important;
    width:92%!important;
  }

  .pv-products-section::before{
    width:84vw!important;
  }
}

/* -- v-r13: remove rejected hero energy-floor experiment completely. */
.pv-hero-energy-floor,
.pv-hero-floor-line,
.pv-hero-floor-flow,
.pv-hero-floor-node,
.pv-energy-bridge{
  display:none!important;
}

.pv-products-section::before{
  content:none!important;
  display:none!important;
}

.pv-hero-suite-section{
  padding-bottom:clamp(28px,4vw,58px)!important;
}

.pv-products-section{
  padding-top:clamp(42px,5vw,72px)!important;
}

/* ── HERO → SOLUTIONS BREAK: energy line ── */
.pv-section-break{
  position:relative;
  height:clamp(56px,7vh,88px);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
/* Thin horizontal energy line */
.pv-section-break::before{
  content:'';
  position:absolute;
  left:0;right:0;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(167,139,250,.08) 15%,
    rgba(167,139,250,.35) 35%,
    rgba(200,180,255,.55) 50%,
    rgba(167,139,250,.35) 65%,
    rgba(167,139,250,.08) 85%,
    transparent 100%
  );
}
/* Moving spark traveling the line */
.pv-section-break::after{
  content:'';
  position:absolute;
  top:50%;
  width:80px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(220,200,255,.9), transparent);
  transform:translateY(-50%);
  animation:breakSpark 2.8s cubic-bezier(.4,0,.6,1) infinite;
  filter:blur(0.5px);
}
@keyframes breakSpark{
  0%   { left:-80px;  opacity:0; }
  10%  { opacity:1; }
  90%  { opacity:1; }
  100% { left:100%;   opacity:0; }
}

/* Vertical fade — hero blends into break, break into Solutions */
.pv-section-break-fade-top,
.pv-section-break-fade-bottom{
  position:absolute;
  left:0;right:0;
  height:40px;
  pointer-events:none;
}
.pv-section-break-fade-top{
  top:0;
  background:linear-gradient(to bottom, var(--bg,#06070a), transparent);
}
.pv-section-break-fade-bottom{
  bottom:0;
  background:linear-gradient(to top, var(--bg,#06070a), transparent);
}

/* ── TEXT PAINT — each line paints sequentially via --line-p (0→1 from JS) ── */
.pv-paint-h2{
  display:block;
}
.pv-paint-h2 .pv-paint-line{
  --line-p: 0;
  display:block;
  background: linear-gradient(90deg,
    oklch(93% .008 80)          calc(var(--line-p) * 100%),
    oklch(93% .008 80 / .14)    calc(var(--line-p) * 100%)
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
html[data-theme="light"] .pv-paint-h2 .pv-paint-line,
body[data-theme="light"] .pv-paint-h2 .pv-paint-line{
  background: linear-gradient(90deg,
    oklch(16% .015 250)         calc(var(--line-p) * 100%),
    oklch(16% .015 250 / .13)   calc(var(--line-p) * 100%)
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ── PRODUCT CARDS — bigger ── */
.pv-family-card{
  height:420px!important;
  grid-template-rows:240px 1fr!important;
}
.pv-family-image img{
  height:220px!important;
  max-height:220px!important;
}
.pv-family-body{
  padding:18px 22px 20px!important;
}
.pv-family-body h3{
  font-size:clamp(24px,2.2vw,32px)!important;
  margin:0 0 8px!important;
}
.pv-family-body p{
  font-size:13.5px!important;
  max-width:28ch!important;
}
@media(max-width:980px){
  .pv-family-card{
    height:auto!important;
    grid-template-rows:210px auto!important;
  }
  .pv-family-image img{
    height:195px!important;
    max-height:195px!important;
  }
}

/* -- v20: maximum capabilities section -- */
.pv-capabilities-section{
  position:relative;
  overflow:hidden;
  padding:clamp(92px,11vw,150px) clamp(22px,5vw,72px);
  background:
    radial-gradient(circle at 50% 0%, rgba(167,139,250,.18), transparent 34%),
    radial-gradient(circle at 12% 72%, rgba(96,165,250,.10), transparent 34%),
    linear-gradient(180deg, #07080d 0%, #101018 52%, #07080d 100%);
  color:#f7f4ee;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.pv-capabilities-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.38;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:84px 84px;
  mask-image:linear-gradient(180deg, transparent, #000 18%, #000 76%, transparent);
}
.pv-capabilities-head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,440px);
  gap:clamp(28px,5vw,76px);
  align-items:end;
  max-width:1480px;
  margin:0 auto clamp(44px,6vw,74px);
}
.pv-capabilities-head .pv-paint-h2{
  font-family:var(--font-display);
  font-size:clamp(48px,6vw,96px);
  line-height:.94;
  letter-spacing:-.065em;
  margin:0;
}
.pv-capabilities-head p{
  margin:0 0 8px;
  color:rgba(247,244,238,.68);
  font-size:clamp(16px,1.35vw,20px);
  line-height:1.55;
  letter-spacing:-.025em;
}
.pv-capabilities-grid{
  position:relative;
  z-index:1;
  max-width:1480px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.pv-capability-card{
  position:relative;
  min-height:620px;
  overflow:hidden;
  text-align:left;
  display:grid;
  grid-template-rows:auto auto minmax(230px,1fr) auto;
  padding:24px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025)),
    rgba(255,255,255,.035);
  color:#f7f4ee;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  cursor:pointer;
  isolation:isolate;
  transition:transform .35s var(--ease-out), border-color .35s var(--ease-out), background .35s var(--ease-out);
}
.pv-capability-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;
  background:
    radial-gradient(circle at 50% 36%, rgba(167,139,250,.22), transparent 34%),
    radial-gradient(circle at 58% 78%, rgba(96,165,250,.14), transparent 30%);
  opacity:.62;
  transition:opacity .35s var(--ease-out), transform .35s var(--ease-out);
}
.pv-capability-card::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  top:50%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  opacity:.55;
}
.pv-capability-card:hover{
  transform:translateY(-8px);
  border-color:rgba(255,255,255,.22);
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.032)),
    rgba(255,255,255,.045);
}
.pv-capability-card:hover::before{
  opacity:.88;
  transform:scale(1.04);
}
.pv-capability-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  font-family:var(--font-mono);
  font-size:11px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(247,244,238,.56);
}
.pv-capability-topline span{
  color:rgba(247,244,238,.42);
}
.pv-capability-number{
  margin:26px 0 4px;
  display:flex;
  align-items:flex-end;
  gap:10px;
}
.pv-capability-number strong{
  font-family:var(--font-display);
  font-size:clamp(72px,8.2vw,132px);
  line-height:.78;
  letter-spacing:-.075em;
  font-weight:650;
  color:#fff;
}
.pv-capability-number em{
  font-family:var(--font-mono);
  font-style:normal;
  font-size:clamp(16px,1.8vw,24px);
  line-height:1;
  letter-spacing:.04em;
  color:#c9b8ff;
  margin-bottom:9px;
}
.pv-capability-visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:260px;
  margin:-4px -12px 6px;
}
.pv-capability-visual::before{
  content:"";
  position:absolute;
  width:68%;
  height:22%;
  left:50%;
  bottom:12%;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at center, rgba(167,139,250,.32), rgba(96,165,250,.16) 42%, transparent 72%);
  filter:blur(18px);
  opacity:.72;
}
.pv-capability-visual img{
  position:relative;
  z-index:1;
  width:min(88%, 360px);
  height:auto;
  max-height:330px;
  object-fit:contain;
  filter:drop-shadow(0 34px 54px rgba(0,0,0,.46));
  transform:translateY(2px);
  transition:transform .45s var(--ease-out), filter .45s var(--ease-out);
}
.pv-capability-card:hover .pv-capability-visual img{
  transform:translateY(-8px) scale(1.025);
  filter:drop-shadow(0 42px 66px rgba(0,0,0,.56));
}
.pv-capability-copy{
  position:relative;
  z-index:2;
}
.pv-capability-copy h3{
  margin:0 0 10px;
  font-family:var(--font-display);
  font-size:clamp(25px,2.1vw,34px);
  line-height:1.02;
  letter-spacing:-.045em;
  color:#fff;
}
.pv-capability-copy p{
  margin:0;
  max-width:34ch;
  color:rgba(247,244,238,.63);
  font-size:14.5px;
  line-height:1.5;
  letter-spacing:-.015em;
}
.pv-capability-specs{
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.pv-capability-specs span{
  position:relative;
  font-family:var(--font-mono);
  font-size:11px;
  line-height:1;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(247,244,238,.74);
}
.pv-capability-specs span::before{
  content:"";
  display:inline-block;
  width:5px;
  height:5px;
  border-radius:50%;
  margin-right:8px;
  vertical-align:2px;
  background:#c9b8ff;
  box-shadow:0 0 14px rgba(201,184,255,.62);
}
html[data-theme="light"] .pv-capabilities-section,
body[data-theme="light"] .pv-capabilities-section{
  background:
    radial-gradient(circle at 50% 0%, rgba(124,58,237,.12), transparent 34%),
    linear-gradient(180deg, #f6f3ee 0%, #ebe7df 52%, #f6f3ee 100%);
  color:#17151c;
  border-color:rgba(24,20,32,.12);
}
html[data-theme="light"] .pv-capabilities-section::before,
body[data-theme="light"] .pv-capabilities-section::before{
  opacity:.44;
  background-image:
    linear-gradient(rgba(24,20,32,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(24,20,32,.045) 1px, transparent 1px);
}
html[data-theme="light"] .pv-capability-card,
body[data-theme="light"] .pv-capability-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.48)),
    rgba(255,255,255,.52);
  border-color:rgba(24,20,32,.12);
  color:#17151c;
}
html[data-theme="light"] .pv-capability-card::before,
body[data-theme="light"] .pv-capability-card::before{
  opacity:.42;
}
html[data-theme="light"] .pv-capability-topline,
body[data-theme="light"] .pv-capability-topline,
html[data-theme="light"] .pv-capability-copy p,
body[data-theme="light"] .pv-capability-copy p{
  color:rgba(23,21,28,.62);
}
html[data-theme="light"] .pv-capability-number strong,
body[data-theme="light"] .pv-capability-number strong,
html[data-theme="light"] .pv-capability-copy h3,
body[data-theme="light"] .pv-capability-copy h3{
  color:#17151c;
}
html[data-theme="light"] .pv-capability-number em,
body[data-theme="light"] .pv-capability-number em{
  color:#6f3dea;
}
html[data-theme="light"] .pv-capability-specs span,
body[data-theme="light"] .pv-capability-specs span{
  color:rgba(23,21,28,.68);
}
@media(max-width:1080px){
  .pv-capabilities-head{
    grid-template-columns:1fr;
    gap:20px;
  }
  .pv-capabilities-grid{
    grid-template-columns:1fr;
  }
  .pv-capability-card{
    min-height:0;
    grid-template-columns:minmax(0,1fr) minmax(220px,34%);
    grid-template-rows:auto auto auto;
    column-gap:18px;
  }
  .pv-capability-topline,
  .pv-capability-number,
  .pv-capability-copy{
    grid-column:1;
  }
  .pv-capability-visual{
    grid-column:2;
    grid-row:1 / span 3;
    min-height:220px;
    margin:0;
  }
}
@media(max-width:720px){
  .pv-capabilities-section{
    padding:76px 18px;
  }
  .pv-capability-card{
    display:block;
    min-height:0;
    padding:20px;
  }
  .pv-capability-visual{
    min-height:210px;
    margin:8px -6px 14px;
  }
  .pv-capability-number strong{
    font-size:74px;
  }
}

/* -- v21: spec wall + operation guarantees redesign -- */
.pv-specwall-section{
  position:relative;
  overflow:hidden;
  padding:clamp(96px,12vw,168px) var(--pad-x);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,248,252,.96));
  color:#111318;
  border-top:1px solid rgba(17,19,24,.08);
  border-bottom:1px solid rgba(17,19,24,.08);
}
.pv-specwall-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.55;
  background-image:
    linear-gradient(rgba(17,19,24,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,19,24,.055) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
}
.pv-specwall-head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.52fr);
  gap:clamp(28px,5vw,80px);
  align-items:end;
  max-width:1480px;
  margin:0 auto clamp(34px,5vw,70px);
}
.pv-specwall-head .pv-paint-h2{max-width:920px;color:#111318}
.pv-specwall-head p{
  margin:0;
  max-width:470px;
  color:rgba(17,19,24,.62);
  font-size:clamp(16px,1.2vw,19px);
  line-height:1.62;
}
.pv-specwall-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width:1480px;
  margin:0 auto;
  border:1px solid rgba(17,19,24,.12);
  background:rgba(255,255,255,.64);
  backdrop-filter:blur(18px);
}
.pv-specwall-card{
  position:relative;
  min-height:390px;
  padding:clamp(24px,2.6vw,42px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:32px;
  border:0;
  border-right:1px solid rgba(17,19,24,.10);
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
  overflow:hidden;
}
.pv-specwall-card:last-child{border-right:0}
.pv-specwall-card::before{
  content:"";
  position:absolute;
  left:clamp(24px,2.6vw,42px);
  right:clamp(24px,2.6vw,42px);
  top:112px;
  height:1px;
  background:linear-gradient(90deg, rgba(139,92,246,.64), rgba(17,19,24,.10), transparent);
  transform-origin:left;
  transform:scaleX(.42);
  transition:transform .45s var(--ease-out), opacity .45s var(--ease-out);
  opacity:.62;
}
.pv-specwall-card:hover::before{transform:scaleX(1);opacity:1}
.pv-specwall-card::after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  right:-95px;
  bottom:-110px;
  background:radial-gradient(circle, rgba(139,92,246,.14), transparent 65%);
  opacity:0;
  transition:opacity .35s var(--ease-out);
}
.pv-specwall-card:hover::after{opacity:1}
.pv-specwall-meta{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  font-size:12px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:rgba(17,19,24,.52);
}
.pv-specwall-meta span{font-family:var(--font-mono);color:rgba(139,92,246,.95)}
.pv-specwall-meta b{font-weight:650;color:rgba(17,19,24,.76);text-align:right}
.pv-specwall-number{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-end;
  gap:10px;
  letter-spacing:-.055em;
  white-space:nowrap;
}
.pv-specwall-number strong{
  display:block;
  font-family:var(--font-display);
  font-size:clamp(70px,8vw,126px);
  line-height:.78;
  font-weight:760;
  color:#111318;
}
.pv-specwall-number em{
  font-style:normal;
  margin-bottom:.18em;
  font-family:var(--font-display);
  font-size:clamp(25px,2.8vw,43px);
  line-height:1;
  color:rgba(139,92,246,.92);
}
.pv-specwall-copy{position:relative;z-index:1;display:grid;gap:18px}
.pv-specwall-copy p{
  margin:0;
  color:rgba(17,19,24,.64);
  font-size:15px;
  line-height:1.56;
  max-width:270px;
}
.pv-specwall-specs{display:flex;flex-wrap:wrap;gap:9px 14px}
.pv-specwall-specs span{
  position:relative;
  padding-left:13px;
  font-size:11px;
  line-height:1;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(17,19,24,.58);
  font-family:var(--font-mono);
}
.pv-specwall-specs span::before{
  content:"";
  position:absolute;
  left:0;
  top:.35em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:rgba(139,92,246,.86);
}
.pv-ops-section{
  position:relative;
  overflow:hidden;
  padding:clamp(104px,13vw,180px) var(--pad-x);
  background:
    radial-gradient(circle at 82% 18%, rgba(139,92,246,.18), transparent 34%),
    linear-gradient(180deg, #08090e 0%, #101018 52%, #07080c 100%);
  color:#fff;
}
.pv-ops-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.36;
  background:
    linear-gradient(90deg, transparent 0 24%, rgba(255,255,255,.06) 24.1% 24.25%, transparent 24.35% 49%, rgba(255,255,255,.05) 49.1% 49.25%, transparent 49.35% 74%, rgba(255,255,255,.04) 74.1% 74.25%, transparent 74.35%),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.08), transparent 42%);
}
.pv-ops-head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.48fr);
  gap:clamp(28px,5vw,82px);
  align-items:end;
  max-width:1480px;
  margin:0 auto clamp(34px,5vw,74px);
}
.pv-ops-head .pv-paint-h2{max-width:980px}
.pv-ops-head p{
  margin:0;
  color:rgba(255,255,255,.64);
  font-size:clamp(16px,1.18vw,19px);
  line-height:1.64;
}
.pv-ops-grid{
  position:relative;
  z-index:1;
  max-width:1480px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.035);
  backdrop-filter:blur(18px);
}
.pv-ops-card{
  position:relative;
  min-height:360px;
  padding:clamp(24px,2.5vw,40px);
  display:flex;
  flex-direction:column;
  gap:22px;
  justify-content:space-between;
  border:0;
  border-right:1px solid rgba(255,255,255,.09);
  background:transparent;
  color:#fff;
  text-align:left;
  cursor:pointer;
  overflow:hidden;
}
.pv-ops-card:last-child{border-right:0}
.pv-ops-card::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  background:
    linear-gradient(180deg, rgba(139,92,246,.10), transparent 54%),
    radial-gradient(circle at 70% 18%, rgba(255,255,255,.12), transparent 32%);
  transition:opacity .35s var(--ease-out);
}
.pv-ops-card:hover::before{opacity:1}
.pv-ops-top{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  color:rgba(255,255,255,.52);
  font-family:var(--font-mono);
  font-size:12px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.pv-ops-top span{color:#c4b5fd}
.pv-ops-top b{font-weight:520;color:rgba(255,255,255,.70);text-align:right}
.pv-ops-mark{
  position:relative;
  z-index:1;
  width:92px;
  height:54px;
  display:grid;
  align-items:center;
}
.pv-ops-mark::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:linear-gradient(90deg, rgba(196,181,253,.12), rgba(196,181,253,.84), rgba(196,181,253,.12));
}
.pv-ops-mark i{
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 18px rgba(196,181,253,.52);
}
.pv-ops-mark i:nth-child(1){left:0;top:23px}
.pv-ops-mark i:nth-child(2){left:42px;top:7px}
.pv-ops-mark i:nth-child(3){right:0;top:32px}
.pv-ops-card h3{
  position:relative;
  z-index:1;
  margin:0;
  max-width:240px;
  font-family:var(--font-display);
  font-size:clamp(25px,2.3vw,36px);
  line-height:.96;
  letter-spacing:-.035em;
  font-weight:720;
}
.pv-ops-card p{
  position:relative;
  z-index:1;
  margin:0;
  max-width:280px;
  color:rgba(255,255,255,.62);
  font-size:14px;
  line-height:1.56;
}
.pv-ops-tags{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px 12px}
.pv-ops-tags span{
  color:rgba(255,255,255,.62);
  font-family:var(--font-mono);
  font-size:11px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pv-ops-tags span::before{
  content:"";
  display:inline-block;
  width:4px;
  height:4px;
  border-radius:50%;
  margin-right:7px;
  vertical-align:2px;
  background:#c4b5fd;
}
html[data-theme="light"] .pv-ops-section,
body[data-theme="light"] .pv-ops-section{
  background:
    radial-gradient(circle at 82% 18%, rgba(139,92,246,.16), transparent 34%),
    linear-gradient(180deg, #090a0f 0%, #11111a 52%, #07080c 100%)!important;
  color:#fff!important;
}
@media (max-width:1100px){
  .pv-specwall-head,
  .pv-ops-head{grid-template-columns:1fr}
  .pv-specwall-grid,
  .pv-ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-specwall-card:nth-child(2),
  .pv-ops-card:nth-child(2){border-right:0}
  .pv-specwall-card:nth-child(-n+2){border-bottom:1px solid rgba(17,19,24,.10)}
  .pv-ops-card:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.09)}
}
@media (max-width:680px){
  .pv-specwall-section,
  .pv-ops-section{padding:82px 20px}
  .pv-specwall-grid,
  .pv-ops-grid{grid-template-columns:1fr}
  .pv-specwall-card,
  .pv-ops-card{
    min-height:0;
    border-right:0;
    border-bottom:1px solid rgba(17,19,24,.10);
  }
  .pv-ops-card{border-bottom-color:rgba(255,255,255,.09)}
  .pv-specwall-card:last-child,
  .pv-ops-card:last-child{border-bottom:0}
  .pv-specwall-number strong{font-size:74px}
}

/* Blueprint replacement: useful infrastructure story, not generic metrics */
.pv-blueprint-section{
  position:relative;
  overflow:hidden;
  padding:clamp(96px,12vw,168px) var(--pad-x);
  background:
    linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(246,247,250,.98) 48%, rgba(255,255,255,.96) 100%);
  color:#111318;
  border-top:1px solid rgba(17,19,24,.08);
  border-bottom:1px solid rgba(17,19,24,.08);
}
.pv-blueprint-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.42;
  background:
    linear-gradient(90deg, rgba(17,19,24,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(17,19,24,.04) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(circle at 50% 42%, #000 0 42%, transparent 76%);
}
.pv-blueprint-head{
  position:relative;
  z-index:1;
  max-width:1480px;
  margin:0 auto clamp(34px,5vw,70px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,440px);
  gap:clamp(28px,5vw,82px);
  align-items:end;
}
.pv-blueprint-head .pv-paint-h2{
  max-width:940px;
  color:#111318;
}
.pv-blueprint-head p{
  margin:0;
  color:rgba(17,19,24,.62);
  font-size:clamp(16px,1.16vw,19px);
  line-height:1.62;
}
.pv-blueprint-board{
  position:relative;
  z-index:1;
  max-width:1480px;
  min-height:clamp(520px,48vw,680px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
  gap:clamp(20px,3vw,42px);
  align-items:stretch;
}
.pv-blueprint-map{
  position:relative;
  overflow:hidden;
  min-height:inherit;
  border:1px solid rgba(17,19,24,.12);
  border-radius:22px;
  background:
    radial-gradient(circle at 70% 26%, rgba(139,92,246,.14), transparent 32%),
    radial-gradient(circle at 24% 78%, rgba(10,132,255,.10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(246,247,251,.68));
  box-shadow:0 30px 90px rgba(17,19,24,.10);
}
.pv-blueprint-map::before{
  content:"";
  position:absolute;
  inset:34px;
  border:1px solid rgba(17,19,24,.08);
  border-radius:16px;
  pointer-events:none;
}
.pv-blueprint-map::after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  bottom:11%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(17,19,24,.22), transparent);
  opacity:.72;
}
.pv-blueprint-lines{
  position:absolute;
  inset:7% 5%;
  width:90%;
  height:86%;
  overflow:visible;
}
.bp-grid{
  fill:none;
  stroke:rgba(17,19,24,.18);
  stroke-width:1.15;
  stroke-dasharray:4 8;
}
.bp-grid-low{opacity:.68}
.bp-flow{
  fill:none;
  stroke:url(#none);
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-dasharray:90 760;
  animation:bpFlow 5.4s linear infinite;
}
.bp-flow-a{stroke:#8b5cf6}
.bp-flow-b{stroke:#0a84ff;animation-delay:-2.1s;opacity:.72}
@keyframes bpFlow{
  from{stroke-dashoffset:0}
  to{stroke-dashoffset:-850}
}
.pv-blueprint-node{
  position:absolute;
  transform:translate(-50%,-50%);
  width:0;
  height:0;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  cursor:pointer;
  text-align:left;
}
.pv-blueprint-dot{
  position:absolute;
  left:0;
  top:0;
  width:18px;
  height:18px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#111318;
  box-shadow:
    0 0 0 8px rgba(139,92,246,.11),
    0 0 32px rgba(139,92,246,.34);
}
.pv-blueprint-node.is-storage .pv-blueprint-dot{box-shadow:0 0 0 8px rgba(10,132,255,.10),0 0 32px rgba(10,132,255,.30)}
.pv-blueprint-node.is-charging .pv-blueprint-dot{box-shadow:0 0 0 8px rgba(139,92,246,.12),0 0 32px rgba(139,92,246,.32)}
.pv-blueprint-node.is-control .pv-blueprint-dot{box-shadow:0 0 0 8px rgba(17,19,24,.08),0 0 24px rgba(17,19,24,.22)}
.pv-blueprint-card{
  position:absolute;
  left:22px;
  top:-18px;
  width:clamp(178px,15vw,230px);
  display:grid;
  gap:8px;
  padding:14px 16px 15px;
  border:1px solid rgba(17,19,24,.11);
  border-radius:14px;
  background:rgba(255,255,255,.74);
  box-shadow:0 18px 42px rgba(17,19,24,.10);
  backdrop-filter:blur(18px);
}
.pv-blueprint-node.is-charging .pv-blueprint-card,
.pv-blueprint-node.is-control .pv-blueprint-card{
  left:auto;
  right:22px;
}
.pv-blueprint-card b{
  font-family:var(--font-display);
  font-size:clamp(32px,3.4vw,52px);
  line-height:.86;
  letter-spacing:-.045em;
  color:#111318;
}
.pv-blueprint-card strong{
  font-size:12px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(17,19,24,.74);
}
.pv-blueprint-card small{
  color:rgba(17,19,24,.56);
  font-size:13px;
  line-height:1.42;
}
.pv-blueprint-node:hover .pv-blueprint-card{
  border-color:rgba(139,92,246,.30);
  box-shadow:0 24px 54px rgba(17,19,24,.14);
}
.pv-blueprint-aside{
  border:1px solid rgba(17,19,24,.12);
  border-radius:22px;
  background:#111318;
  color:#fff;
  padding:clamp(24px,2.4vw,34px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 30px 90px rgba(17,19,24,.14);
}
.pv-blueprint-kicker{
  font-family:var(--font-mono);
  font-size:11px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.48);
}
.pv-blueprint-aside ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:0;
}
.pv-blueprint-aside li{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px 16px;
  padding:24px 0;
  border-top:1px solid rgba(255,255,255,.12);
}
.pv-blueprint-aside span{
  grid-row:1 / span 2;
  font-family:var(--font-mono);
  color:#a78bfa;
  font-size:12px;
  line-height:1;
}
.pv-blueprint-aside b{
  font-family:var(--font-display);
  font-size:clamp(22px,2vw,30px);
  line-height:.96;
  letter-spacing:-.03em;
}
.pv-blueprint-aside em{
  font-style:normal;
  color:rgba(255,255,255,.58);
  font-size:14px;
  line-height:1.42;
}
.pv-blueprint-guarantees{
  position:relative;
  z-index:1;
  max-width:1480px;
  margin:clamp(18px,2.2vw,28px) auto 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid rgba(17,19,24,.10);
  border-radius:18px;
  background:rgba(255,255,255,.66);
  overflow:hidden;
}
.pv-blueprint-guarantee{
  padding:clamp(20px,2.2vw,30px);
  display:grid;
  gap:10px;
  border-right:1px solid rgba(17,19,24,.09);
}
.pv-blueprint-guarantee:last-child{border-right:0}
.pv-blueprint-guarantee span{
  font-family:var(--font-mono);
  font-size:11px;
  line-height:1;
  letter-spacing:.14em;
  color:rgba(139,92,246,.92);
}
.pv-blueprint-guarantee b{
  font-family:var(--font-display);
  font-size:clamp(22px,2vw,30px);
  line-height:.96;
  letter-spacing:-.03em;
  color:#111318;
}
.pv-blueprint-guarantee p{
  margin:0;
  color:rgba(17,19,24,.58);
  font-size:14px;
  line-height:1.5;
}
.pv-specwall-section,
.pv-ops-section{
  display:none!important;
}
html[data-theme="dark"] .pv-blueprint-section,
body[data-theme="dark"] .pv-blueprint-section{
  background:
    radial-gradient(circle at 68% 22%, rgba(139,92,246,.13), transparent 32%),
    linear-gradient(180deg, #08090e 0%, #101018 54%, #07080c 100%);
  color:#fff;
  border-color:rgba(255,255,255,.08);
}
html[data-theme="dark"] .pv-blueprint-head .pv-paint-h2,
body[data-theme="dark"] .pv-blueprint-head .pv-paint-h2,
html[data-theme="dark"] .pv-blueprint-card b,
body[data-theme="dark"] .pv-blueprint-card b,
html[data-theme="dark"] .pv-blueprint-guarantee b,
body[data-theme="dark"] .pv-blueprint-guarantee b{
  color:#fff;
}
html[data-theme="dark"] .pv-blueprint-head p,
body[data-theme="dark"] .pv-blueprint-head p,
html[data-theme="dark"] .pv-blueprint-card small,
body[data-theme="dark"] .pv-blueprint-card small,
html[data-theme="dark"] .pv-blueprint-guarantee p,
body[data-theme="dark"] .pv-blueprint-guarantee p{
  color:rgba(255,255,255,.58);
}
html[data-theme="dark"] .pv-blueprint-map,
body[data-theme="dark"] .pv-blueprint-map,
html[data-theme="dark"] .pv-blueprint-guarantees,
body[data-theme="dark"] .pv-blueprint-guarantees{
  border-color:rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
}
html[data-theme="dark"] .pv-blueprint-card,
body[data-theme="dark"] .pv-blueprint-card{
  border-color:rgba(255,255,255,.12);
  background:rgba(11,12,18,.72);
}
html[data-theme="dark"] .pv-blueprint-card strong,
body[data-theme="dark"] .pv-blueprint-card strong{
  color:rgba(255,255,255,.78);
}
html[data-theme="dark"] .pv-blueprint-dot,
body[data-theme="dark"] .pv-blueprint-dot{
  background:#fff;
}
@media (max-width:1080px){
  .pv-blueprint-head,
  .pv-blueprint-board{grid-template-columns:1fr}
  .pv-blueprint-aside ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .pv-blueprint-aside li{border-top:0;padding:0}
  .pv-blueprint-guarantees{grid-template-columns:1fr}
  .pv-blueprint-guarantee{border-right:0;border-bottom:1px solid rgba(17,19,24,.09)}
  .pv-blueprint-guarantee:last-child{border-bottom:0}
}
@media (max-width:720px){
  .pv-blueprint-section{padding:82px 20px}
  .pv-blueprint-board{min-height:auto}
  .pv-blueprint-map{min-height:680px}
  .pv-blueprint-node{left:50%!important}
  .pv-blueprint-node.is-grid{top:15%!important}
  .pv-blueprint-node.is-storage{top:37%!important}
  .pv-blueprint-node.is-charging{top:60%!important}
  .pv-blueprint-node.is-control{top:82%!important}
  .pv-blueprint-card,
  .pv-blueprint-node.is-charging .pv-blueprint-card,
  .pv-blueprint-node.is-control .pv-blueprint-card{
    left:24px;
    right:auto;
    width:min(260px,70vw);
  }
  .pv-blueprint-lines{display:none}
  .pv-blueprint-aside ul{grid-template-columns:1fr}
}

/* v-real-projects: one useful section after the integrated scroll */
.pv-real-section{
  position:relative;
  overflow:hidden;
  padding:clamp(92px,9vw,150px) var(--pad-x);
  background:
    linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(247,247,251,.98) 48%, rgba(255,255,255,.96) 100%);
  color:#111318;
  border-top:1px solid rgba(17,19,24,.08);
}
.pv-real-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(17,19,24,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(17,19,24,.04) 1px, transparent 1px);
  background-size:92px 92px;
  mask-image:linear-gradient(180deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
  pointer-events:none;
}
.pv-real-head{
  position:relative;
  z-index:1;
  max-width:1480px;
  margin:0 auto clamp(30px,4vw,58px);
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.55fr);
  gap:clamp(28px,5vw,86px);
  align-items:end;
}
.pv-real-head .pv-paint-h2{
  max-width:980px;
  color:rgba(17,19,24,.18);
}
.pv-real-head p{
  margin:0 0 8px;
  max-width:520px;
  color:rgba(17,19,24,.58);
  font-size:clamp(16px,1.2vw,19px);
  line-height:1.55;
}
.pv-real-grid{
  position:relative;
  z-index:1;
  max-width:1480px;
  margin:0 auto;
  display:grid;
  gap:14px;
}
.pv-real-card{
  position:relative;
  min-height:clamp(260px,24vw,340px);
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(440px,1.25fr) minmax(180px,.42fr);
  align-items:stretch;
  gap:0;
  overflow:hidden;
  border:1px solid rgba(17,19,24,.11);
  border-radius:26px;
  background:rgba(255,255,255,.78);
  box-shadow:0 24px 80px rgba(17,19,24,.09);
  backdrop-filter:blur(20px);
}
.pv-real-card::before{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(139,92,246,.42), transparent);
  opacity:.7;
}
.pv-real-card-copy{
  position:relative;
  z-index:2;
  padding:clamp(24px,3vw,42px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:24px;
}
.pv-real-number{
  width:max-content;
  font-family:var(--font-mono);
  font-size:12px;
  line-height:1;
  letter-spacing:.16em;
  color:rgba(139,92,246,.92);
}
.pv-real-card h3{
  margin:auto 0 0;
  max-width:430px;
  font-family:var(--font-display);
  font-size:clamp(30px,3.1vw,54px);
  line-height:.92;
  letter-spacing:-.045em;
  color:#111318;
}
.pv-real-card-copy p{
  margin:0;
  max-width:450px;
  color:rgba(17,19,24,.58);
  font-size:15px;
  line-height:1.52;
}
.pv-real-card button{
  width:max-content;
  min-height:38px;
  padding:0 16px;
  border:1px solid rgba(17,19,24,.16);
  border-radius:999px;
  background:transparent;
  color:#111318;
  font:700 12px/1 var(--font-body);
  letter-spacing:.04em;
  cursor:pointer;
}
.pv-real-card button:hover{
  border-color:rgba(139,92,246,.5);
  color:#6d28d9;
}
.pv-real-diagram{
  position:relative;
  min-height:100%;
  border-left:1px solid rgba(17,19,24,.08);
  border-right:1px solid rgba(17,19,24,.08);
  background:
    radial-gradient(circle at 52% 54%, rgba(139,92,246,.10), transparent 34%),
    linear-gradient(90deg, rgba(17,19,24,.025), transparent 32%, transparent 68%, rgba(17,19,24,.025));
}
.pv-real-lines{
  position:absolute;
  inset:10% 5% 12%;
  width:90%;
  height:78%;
  overflow:visible;
}
.pv-real-line{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.pv-real-line.is-base{
  stroke:rgba(17,19,24,.20);
  stroke-width:1.2;
}
.pv-real-line.is-live{
  stroke:#8b5cf6;
  stroke-width:2.1;
  stroke-dasharray:44 520;
  animation:pvRealFlow 4.2s linear infinite;
}
.pv-real-line.is-soft{
  stroke:rgba(17,19,24,.13);
  stroke-width:1;
  stroke-dasharray:3 10;
}
@keyframes pvRealFlow{
  to{stroke-dashoffset:-564}
}
.pv-real-capacity{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  width:min(220px,34vw);
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,255,255,.98) 0 46%, rgba(255,255,255,.72) 47% 62%, transparent 63%),
    conic-gradient(from 160deg, rgba(139,92,246,.04), rgba(139,92,246,.36), rgba(17,19,24,.06), rgba(139,92,246,.04));
  box-shadow:0 26px 72px rgba(17,19,24,.14);
}
.pv-real-capacity b{
  font-family:var(--font-display);
  font-size:clamp(46px,5.2vw,88px);
  line-height:.86;
  letter-spacing:-.07em;
  color:#111318;
}
.pv-real-capacity span{
  margin-top:10px;
  font-family:var(--font-mono);
  font-size:10px;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(17,19,24,.48);
}
.pv-real-nodes{
  position:absolute;
  inset:0;
  z-index:3;
}
.pv-real-node{
  position:absolute;
  display:grid;
  place-items:center;
  min-width:54px;
  height:30px;
  padding:0 12px;
  border:1px solid rgba(17,19,24,.12);
  border-radius:999px;
  background:rgba(255,255,255,.84);
  box-shadow:0 12px 32px rgba(17,19,24,.09);
  color:rgba(17,19,24,.68);
  font-family:var(--font-mono);
  font-size:10px;
  line-height:1;
  letter-spacing:.12em;
  animation:pvRealNode 3.8s ease-in-out infinite;
  animation-delay:var(--delay);
}
@keyframes pvRealNode{
  0%,100%{transform:translateY(0);opacity:.82}
  50%{transform:translateY(-4px);opacity:1}
}
.pv-real-node.node-1{left:9%;top:48%}
.pv-real-node.node-2{left:32%;top:24%}
.pv-real-node.node-3{right:26%;top:63%}
.pv-real-node.node-4{right:8%;top:30%}
.pv-real-stats{
  padding:clamp(22px,2.5vw,36px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
}
.pv-real-stats span{
  display:block;
  padding:0 0 16px;
  border-bottom:1px solid rgba(17,19,24,.10);
  color:rgba(17,19,24,.66);
  font-size:13px;
  line-height:1.2;
}
.pv-real-stats span:last-child{
  border-bottom:0;
  padding-bottom:0;
}
html[data-theme="dark"] .pv-real-section,
body[data-theme="dark"] .pv-real-section{
  background:
    radial-gradient(circle at 62% 28%, rgba(139,92,246,.10), transparent 34%),
    linear-gradient(180deg,#090a10 0%,#11121a 54%,#08090e 100%);
  color:#fff;
  border-top-color:rgba(255,255,255,.08);
}
html[data-theme="dark"] .pv-real-section::before,
body[data-theme="dark"] .pv-real-section::before{
  background:
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.045) 1px, transparent 1px);
}
html[data-theme="dark"] .pv-real-head p,
body[data-theme="dark"] .pv-real-head p,
html[data-theme="dark"] .pv-real-card-copy p,
body[data-theme="dark"] .pv-real-card-copy p,
html[data-theme="dark"] .pv-real-stats span,
body[data-theme="dark"] .pv-real-stats span{
  color:rgba(255,255,255,.62);
}
html[data-theme="dark"] .pv-real-card,
body[data-theme="dark"] .pv-real-card{
  border-color:rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  box-shadow:0 28px 90px rgba(0,0,0,.28);
}
html[data-theme="dark"] .pv-real-card h3,
body[data-theme="dark"] .pv-real-card h3,
html[data-theme="dark"] .pv-real-capacity b,
body[data-theme="dark"] .pv-real-capacity b{
  color:#fff;
}
html[data-theme="dark"] .pv-real-card button,
body[data-theme="dark"] .pv-real-card button{
  color:#fff;
  border-color:rgba(255,255,255,.18);
}
html[data-theme="dark"] .pv-real-diagram,
body[data-theme="dark"] .pv-real-diagram{
  border-color:rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 52% 54%, rgba(139,92,246,.14), transparent 34%),
    linear-gradient(90deg, rgba(255,255,255,.03), transparent 32%, transparent 68%, rgba(255,255,255,.03));
}
html[data-theme="dark"] .pv-real-line.is-base,
body[data-theme="dark"] .pv-real-line.is-base{stroke:rgba(255,255,255,.18)}
html[data-theme="dark"] .pv-real-line.is-soft,
body[data-theme="dark"] .pv-real-line.is-soft{stroke:rgba(255,255,255,.12)}
html[data-theme="dark"] .pv-real-capacity,
body[data-theme="dark"] .pv-real-capacity{
  background:
    radial-gradient(circle, rgba(15,16,24,.98) 0 46%, rgba(15,16,24,.72) 47% 62%, transparent 63%),
    conic-gradient(from 160deg, rgba(139,92,246,.04), rgba(139,92,246,.46), rgba(255,255,255,.06), rgba(139,92,246,.04));
}
html[data-theme="dark"] .pv-real-capacity span,
body[data-theme="dark"] .pv-real-capacity span,
html[data-theme="dark"] .pv-real-node,
body[data-theme="dark"] .pv-real-node{
  color:rgba(255,255,255,.66);
}
html[data-theme="dark"] .pv-real-node,
body[data-theme="dark"] .pv-real-node{
  border-color:rgba(255,255,255,.14);
  background:rgba(11,12,18,.82);
}
@media (max-width:1120px){
  .pv-real-head{grid-template-columns:1fr}
  .pv-real-card{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .pv-real-diagram{
    min-height:320px;
    border-left:0;
    border-right:0;
    border-top:1px solid rgba(17,19,24,.08);
    border-bottom:1px solid rgba(17,19,24,.08);
  }
  .pv-real-stats{
    flex-direction:row;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  .pv-real-stats span{
    border-bottom:0;
    padding:0;
  }
}
@media (max-width:720px){
  .pv-real-section{padding:76px 20px}
  .pv-real-card{border-radius:20px}
  .pv-real-card-copy{padding:24px}
  .pv-real-card h3{font-size:34px}
  .pv-real-diagram{min-height:280px}
  .pv-real-capacity{width:180px}
  .pv-real-node{min-width:46px;height:28px;font-size:9px}
  .pv-real-node.node-1{left:8%;top:54%}
  .pv-real-node.node-2{left:24%;top:18%}
  .pv-real-node.node-3{right:20%;top:72%}
  .pv-real-node.node-4{right:5%;top:26%}
}

/* v-real-r2: cleaner project-capability strip */
.pv-real-section{
  padding-top:clamp(84px,8vw,128px);
}
.pv-real-head{
  margin-bottom:clamp(26px,3.4vw,46px);
}
.pv-real-head p{
  max-width:560px;
}
.pv-real-grid{
  gap:12px;
}
.pv-real-card{
  min-height:clamp(250px,21vw,308px);
  grid-template-columns:minmax(330px,.86fr) minmax(470px,1.22fr) minmax(170px,.34fr);
  border-radius:22px;
  box-shadow:0 20px 64px rgba(17,19,24,.075);
}
.pv-real-card::before{
  display:none;
}
.pv-real-card-copy{
  padding:clamp(24px,2.5vw,36px);
  gap:18px;
}
.pv-real-card h3{
  max-width:500px;
  font-size:clamp(34px,3vw,50px);
  letter-spacing:-.04em;
}
.pv-real-card-copy p{
  max-width:500px;
  font-size:14px;
  line-height:1.48;
}
.pv-real-diagram{
  background:
    linear-gradient(90deg, rgba(17,19,24,.035), transparent 24%, transparent 74%, rgba(17,19,24,.035)),
    radial-gradient(circle at 52% 52%, rgba(139,92,246,.08), transparent 38%);
}
.pv-real-lines{
  inset:16% 6% 18%;
  width:88%;
  height:66%;
}
.pv-real-line.is-base{
  stroke-width:1;
  stroke:rgba(17,19,24,.18);
}
.pv-real-line.is-live{
  stroke-width:2;
  stroke-dasharray:72 520;
}
.pv-real-line.is-soft{
  opacity:.72;
}
.pv-real-capacity{
  width:auto;
  min-width:190px;
  aspect-ratio:auto;
  padding:24px 28px 22px;
  border-radius:24px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(17,19,24,.10);
  box-shadow:0 18px 52px rgba(17,19,24,.11);
}
.pv-real-capacity b{
  font-size:clamp(48px,4.8vw,78px);
  letter-spacing:-.065em;
}
.pv-real-capacity span{
  margin-top:8px;
}
.pv-real-node{
  min-width:0;
  height:26px;
  padding:0 10px;
  border-radius:13px;
  font-size:9px;
  background:rgba(255,255,255,.74);
}
.pv-real-stats{
  padding:clamp(20px,2vw,30px);
  gap:14px;
}
.pv-real-stats span{
  font-size:12px;
  letter-spacing:.02em;
}
.pv-real-card.is-bess .pv-real-line.is-live{
  stroke:#7c3aed;
}
.pv-real-card.is-grid .pv-real-line.is-live{
  stroke:#6d5dfc;
}
html[data-theme="dark"] .pv-real-diagram,
body[data-theme="dark"] .pv-real-diagram{
  background:
    linear-gradient(90deg, rgba(255,255,255,.035), transparent 24%, transparent 74%, rgba(255,255,255,.035)),
    radial-gradient(circle at 52% 52%, rgba(139,92,246,.12), transparent 38%);
}
html[data-theme="dark"] .pv-real-capacity,
body[data-theme="dark"] .pv-real-capacity{
  background:rgba(10,11,17,.88);
  border-color:rgba(255,255,255,.11);
  box-shadow:0 20px 58px rgba(0,0,0,.34);
}
@media (max-width:1120px){
  .pv-real-card{
    grid-template-columns:1fr;
  }
  .pv-real-diagram{
    min-height:300px;
  }
}
@media (max-width:720px){
  .pv-real-card h3{font-size:32px}
  .pv-real-diagram{min-height:260px}
  .pv-real-capacity{min-width:168px;padding:20px 22px}
  .pv-real-stats{padding:20px 24px}
}

/* v-real-r3: professional project-flow diagram */
.pv-real-card{
  grid-template-columns:minmax(330px,.78fr) minmax(520px,1.34fr) minmax(176px,.32fr);
}
.pv-real-diagram{
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(17,19,24,.04), transparent 20%, transparent 80%, rgba(17,19,24,.04)),
    radial-gradient(ellipse at 50% 48%, rgba(139,92,246,.075), transparent 52%);
}
.pv-real-flowmap{
  position:relative;
  width:min(92%, 680px);
  min-height:230px;
  display:grid;
  align-items:center;
}
.pv-real-flowmap::before{
  content:"";
  position:absolute;
  inset:12px 0;
  border:1px solid rgba(17,19,24,.08);
  border-radius:22px;
  background:
    linear-gradient(90deg, rgba(17,19,24,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(17,19,24,.03) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
}
.pv-real-flowline{
  position:absolute;
  left:9%;
  right:9%;
  top:50%;
  height:2px;
  transform:translateY(-50%);
  background:linear-gradient(90deg, rgba(17,19,24,.14), rgba(139,92,246,.42), rgba(17,19,24,.14));
  border-radius:999px;
  box-shadow:0 0 22px rgba(139,92,246,.18);
}
.pv-real-flowline i{
  position:absolute;
  inset:-1px auto -1px 0;
  width:22%;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.94), rgba(139,92,246,.88), transparent);
  animation:pvRealPacket 3.6s cubic-bezier(.45,0,.2,1) infinite;
  filter:drop-shadow(0 0 10px rgba(139,92,246,.36));
}
@keyframes pvRealPacket{
  0%{transform:translateX(-35%);opacity:0}
  12%,78%{opacity:1}
  100%{transform:translateX(430%);opacity:0}
}
.pv-real-flowsteps{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
  gap:0;
  z-index:2;
}
.pv-real-step{
  justify-self:center;
  position:relative;
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  border-radius:18px;
  border:1px solid rgba(17,19,24,.12);
  background:rgba(255,255,255,.86);
  box-shadow:0 18px 42px rgba(17,19,24,.10);
  color:#14161c;
  animation:pvRealStep 4.8s ease-in-out infinite;
  animation-delay:var(--delay);
}
.pv-real-step::before{
  content:"";
  position:absolute;
  inset:9px;
  border-radius:13px;
  border:1px solid rgba(139,92,246,.20);
  background:radial-gradient(circle at 50% 0%, rgba(139,92,246,.18), transparent 55%);
}
.pv-real-step b{
  position:relative;
  z-index:1;
  font-family:var(--font-mono);
  font-size:11px;
  line-height:1;
  letter-spacing:.08em;
}
.pv-real-step small{
  position:absolute;
  left:50%;
  top:calc(100% + 12px);
  transform:translateX(-50%);
  font-family:var(--font-mono);
  font-size:9px;
  letter-spacing:.16em;
  color:rgba(17,19,24,.36);
}
@keyframes pvRealStep{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
.pv-real-capacity{
  left:50%;
  top:14px;
  transform:translateX(-50%);
  z-index:4;
  min-width:0;
  width:auto;
  aspect-ratio:auto;
  padding:10px 18px 12px;
  display:flex;
  align-items:baseline;
  gap:12px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(17,19,24,.12);
  box-shadow:0 18px 44px rgba(17,19,24,.10);
}
.pv-real-capacity span{
  order:1;
  margin:0;
  font-size:9px;
  letter-spacing:.15em;
  color:rgba(17,19,24,.46);
}
.pv-real-capacity b{
  order:0;
  font-family:var(--font-display);
  font-size:clamp(34px,3.5vw,58px);
  line-height:.86;
  letter-spacing:-.06em;
  color:#111318;
}
.pv-real-telemetry{
  position:absolute;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  z-index:3;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  width:min(92%, 520px);
}
.pv-real-telemetry span{
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(17,19,24,.10);
  background:rgba(255,255,255,.62);
  color:rgba(17,19,24,.56);
  font-size:10px;
  line-height:1;
  letter-spacing:.04em;
}
.pv-real-stats{
  justify-content:center;
  gap:16px;
  border-left:1px solid rgba(17,19,24,.08);
}
.pv-real-stats span:first-child{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(139,92,246,.86);
}
html[data-theme="dark"] .pv-real-diagram,
body[data-theme="dark"] .pv-real-diagram{
  background:
    linear-gradient(90deg, rgba(255,255,255,.035), transparent 20%, transparent 80%, rgba(255,255,255,.035)),
    radial-gradient(ellipse at 50% 48%, rgba(139,92,246,.12), transparent 52%);
}
html[data-theme="dark"] .pv-real-flowmap::before,
body[data-theme="dark"] .pv-real-flowmap::before{
  border-color:rgba(255,255,255,.08);
  background:
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:34px 34px;
}
html[data-theme="dark"] .pv-real-flowline,
body[data-theme="dark"] .pv-real-flowline{
  background:linear-gradient(90deg, rgba(255,255,255,.14), rgba(139,92,246,.58), rgba(255,255,255,.14));
}
html[data-theme="dark"] .pv-real-step,
body[data-theme="dark"] .pv-real-step,
html[data-theme="dark"] .pv-real-capacity,
body[data-theme="dark"] .pv-real-capacity{
  background:rgba(11,12,18,.88);
  border-color:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:0 18px 44px rgba(0,0,0,.30);
}
html[data-theme="dark"] .pv-real-capacity b,
body[data-theme="dark"] .pv-real-capacity b{
  color:#fff;
}
html[data-theme="dark"] .pv-real-capacity span,
body[data-theme="dark"] .pv-real-capacity span,
html[data-theme="dark"] .pv-real-step small,
body[data-theme="dark"] .pv-real-step small,
html[data-theme="dark"] .pv-real-telemetry span,
body[data-theme="dark"] .pv-real-telemetry span{
  color:rgba(255,255,255,.56);
}
html[data-theme="dark"] .pv-real-telemetry span,
body[data-theme="dark"] .pv-real-telemetry span{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.11);
}
@media (max-width:1120px){
  .pv-real-card{grid-template-columns:1fr}
  .pv-real-flowmap{min-height:300px}
  .pv-real-stats{border-left:0;border-top:1px solid rgba(17,19,24,.08)}
}
@media (max-width:720px){
  .pv-real-flowmap{min-height:260px;width:100%}
  .pv-real-flowsteps{grid-template-columns:repeat(2,1fr);row-gap:76px}
  .pv-real-flowline{display:none}
  .pv-real-step{width:66px;height:66px}
  .pv-real-capacity{top:50%;transform:translate(-50%,-50%);padding:9px 14px}
  .pv-real-capacity b{font-size:36px}
  .pv-real-telemetry{bottom:8px}
}

/* Real projects topology diagrams - varied by use case */
.pv-real-topology{
  position:relative;
  width:min(92%, 720px);
  min-height:270px;
  isolation:isolate;
}
.pv-topology-grid{
  position:absolute;
  inset:8px 0;
  border:1px solid rgba(17,19,24,.08);
  border-radius:24px;
  background:
    linear-gradient(90deg, rgba(17,19,24,.04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(17,19,24,.035) 1px, transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  z-index:-1;
}
.pv-real-topology .pv-real-telemetry{
  bottom:8px;
  z-index:8;
}

.topo-hub{
  display:grid;
  grid-template-columns:190px 1fr;
  align-items:center;
  gap:34px;
}
.pv-hub-cabinet{
  position:relative;
  z-index:2;
  min-height:168px;
  padding:22px 18px;
  border:1px solid rgba(17,19,24,.14);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.72));
  box-shadow:0 24px 62px rgba(17,19,24,.12);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.pv-hub-cabinet span,
.pv-bess-capacity span,
.pv-grid-core span{
  font-family:var(--font-mono);
  font-size:10px;
  line-height:1;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(17,19,24,.48);
}
.pv-hub-cabinet b,
.pv-bess-capacity b,
.pv-grid-core b{
  margin-top:10px;
  font-family:var(--font-display);
  font-size:clamp(42px,4.5vw,70px);
  line-height:.84;
  letter-spacing:-.07em;
  color:#111318;
}
.pv-hub-cabinet small{
  margin-top:12px;
  color:rgba(17,19,24,.52);
  font-size:12px;
}
.pv-hub-feed{
  position:absolute;
  left:170px;
  right:86px;
  top:50%;
  height:2px;
  transform:translateY(-50%);
  border-radius:999px;
  background:linear-gradient(90deg, rgba(17,19,24,.16), rgba(139,92,246,.55), rgba(17,19,24,.10));
}
.pv-hub-feed i{
  position:absolute;
  inset:-1px auto -1px 0;
  width:26%;
  border-radius:inherit;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.92), rgba(139,92,246,.95), transparent);
  filter:drop-shadow(0 0 10px rgba(139,92,246,.32));
  animation:pvRealPacket 3.2s cubic-bezier(.45,0,.2,1) infinite;
}
.pv-hub-branches{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(3, minmax(72px, 1fr));
  gap:14px;
}
.pv-hub-branches span{
  min-height:68px;
  border:1px solid rgba(17,19,24,.12);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  box-shadow:0 14px 34px rgba(17,19,24,.08);
  display:grid;
  place-items:center;
  align-content:center;
  animation:pvRealStep 4.6s ease-in-out infinite;
  animation-delay:calc(var(--i) * .12s);
}
.pv-hub-branches b{
  font-family:var(--font-display);
  font-size:28px;
  line-height:.9;
  letter-spacing:-.05em;
}
.pv-hub-branches small{
  margin-top:4px;
  font-family:var(--font-mono);
  font-size:9px;
  letter-spacing:.14em;
  color:rgba(17,19,24,.44);
}

.topo-bess{
  display:grid;
  grid-template-columns:130px 1fr 120px;
  align-items:center;
  gap:22px;
}
.pv-renewable-field{
  display:grid;
  gap:14px;
}
.pv-renewable-field span,
.pv-bess-export b{
  min-height:54px;
  display:grid;
  place-items:center;
  border:1px solid rgba(17,19,24,.12);
  border-radius:16px;
  background:rgba(255,255,255,.78);
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.14em;
  color:rgba(17,19,24,.62);
}
.pv-bess-yard{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
}
.pv-bess-yard::before{
  content:"";
  position:absolute;
  left:-46px;
  right:-46px;
  top:50%;
  height:2px;
  transform:translateY(-50%);
  background:linear-gradient(90deg, rgba(17,19,24,.10), rgba(139,92,246,.45), rgba(17,19,24,.10));
  border-radius:999px;
}
.pv-bess-yard span{
  position:relative;
  z-index:2;
  min-height:142px;
  padding:16px 10px;
  border:1px solid rgba(17,19,24,.13);
  border-radius:20px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.76)),
    repeating-linear-gradient(180deg, transparent 0 20px, rgba(17,19,24,.05) 21px 22px);
  box-shadow:0 18px 46px rgba(17,19,24,.09);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  animation:pvRealStep 5s ease-in-out infinite;
  animation-delay:calc(var(--i) * .18s);
}
.pv-bess-yard b{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.12em;
}
.pv-bess-yard small{
  margin-top:6px;
  color:rgba(17,19,24,.48);
  font-size:11px;
}
.pv-bess-capacity{
  position:absolute;
  left:50%;
  top:22px;
  transform:translateX(-50%);
  z-index:5;
  padding:10px 18px 12px;
  border:1px solid rgba(17,19,24,.12);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 44px rgba(17,19,24,.10);
  display:flex;
  gap:12px;
  align-items:baseline;
}
.pv-bess-capacity b{
  margin:0;
  font-size:clamp(34px,3.5vw,58px);
}
.pv-bess-export{
  display:grid;
  gap:10px;
  align-items:center;
}
.pv-bess-export i{
  height:72px;
  width:2px;
  margin:0 auto;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(139,92,246,.1), rgba(139,92,246,.62), rgba(139,92,246,.1));
}

.topo-grid{
  min-height:300px;
  display:grid;
  place-items:center;
}
.pv-grid-core{
  position:relative;
  z-index:4;
  width:178px;
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid rgba(17,19,24,.13);
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,.98), rgba(255,255,255,.74) 64%, transparent 65%),
    conic-gradient(from 90deg, rgba(139,92,246,.08), rgba(139,92,246,.38), rgba(17,19,24,.05), rgba(139,92,246,.08));
  box-shadow:0 24px 66px rgba(17,19,24,.12);
  display:grid;
  place-items:center;
  align-content:center;
}
.pv-grid-ring{
  position:absolute;
  inset:26px 64px 54px;
  border:1px dashed rgba(17,19,24,.18);
  border-radius:50%;
}
.pv-grid-ring .ring-node{
  position:absolute;
  min-width:78px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(17,19,24,.12);
  border-radius:999px;
  background:rgba(255,255,255,.86);
  box-shadow:0 14px 34px rgba(17,19,24,.08);
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.1em;
  color:rgba(17,19,24,.68);
}
.pv-grid-ring .node-1{left:50%;top:-19px;transform:translateX(-50%)}
.pv-grid-ring .node-2{right:-39px;top:50%;transform:translateY(-50%)}
.pv-grid-ring .node-3{left:50%;bottom:-19px;transform:translateX(-50%)}
.pv-grid-ring .node-4{left:-39px;top:50%;transform:translateY(-50%)}
.pv-grid-spokes{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.pv-grid-spokes i{
  position:absolute;
  left:50%;
  top:50%;
  width:1px;
  height:42%;
  transform-origin:50% 0;
  background:linear-gradient(180deg, rgba(139,92,246,.56), transparent);
}
.pv-grid-spokes .s1{transform:rotate(0deg)}
.pv-grid-spokes .s2{transform:rotate(90deg)}
.pv-grid-spokes .s3{transform:rotate(180deg)}
.pv-grid-spokes .s4{transform:rotate(270deg)}

html[data-theme="dark"] .pv-topology-grid,
body[data-theme="dark"] .pv-topology-grid{
  border-color:rgba(255,255,255,.08);
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.035) 1px, transparent 1px);
}
html[data-theme="dark"] .pv-hub-cabinet,
body[data-theme="dark"] .pv-hub-cabinet,
html[data-theme="dark"] .pv-hub-branches span,
body[data-theme="dark"] .pv-hub-branches span,
html[data-theme="dark"] .pv-renewable-field span,
body[data-theme="dark"] .pv-renewable-field span,
html[data-theme="dark"] .pv-bess-export b,
body[data-theme="dark"] .pv-bess-export b,
html[data-theme="dark"] .pv-bess-yard span,
body[data-theme="dark"] .pv-bess-yard span,
html[data-theme="dark"] .pv-bess-capacity,
body[data-theme="dark"] .pv-bess-capacity,
html[data-theme="dark"] .pv-grid-core,
body[data-theme="dark"] .pv-grid-core,
html[data-theme="dark"] .pv-grid-ring .ring-node,
body[data-theme="dark"] .pv-grid-ring .ring-node{
  background:rgba(11,12,18,.88);
  border-color:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:0 18px 44px rgba(0,0,0,.30);
}
html[data-theme="dark"] .pv-hub-cabinet b,
body[data-theme="dark"] .pv-hub-cabinet b,
html[data-theme="dark"] .pv-bess-capacity b,
body[data-theme="dark"] .pv-bess-capacity b,
html[data-theme="dark"] .pv-grid-core b,
body[data-theme="dark"] .pv-grid-core b,
html[data-theme="dark"] .pv-hub-branches b,
body[data-theme="dark"] .pv-hub-branches b{
  color:#fff;
}
html[data-theme="dark"] .pv-hub-cabinet span,
body[data-theme="dark"] .pv-hub-cabinet span,
html[data-theme="dark"] .pv-hub-cabinet small,
body[data-theme="dark"] .pv-hub-cabinet small,
html[data-theme="dark"] .pv-bess-capacity span,
body[data-theme="dark"] .pv-bess-capacity span,
html[data-theme="dark"] .pv-grid-core span,
body[data-theme="dark"] .pv-grid-core span,
html[data-theme="dark"] .pv-hub-branches small,
body[data-theme="dark"] .pv-hub-branches small,
html[data-theme="dark"] .pv-bess-yard small,
body[data-theme="dark"] .pv-bess-yard small{
  color:rgba(255,255,255,.56);
}

@media (max-width:1120px){
  .pv-real-topology{width:min(94%, 760px);min-height:320px}
  .topo-hub,
  .topo-bess{grid-template-columns:1fr}
  .pv-hub-cabinet{max-width:260px}
  .pv-hub-feed{display:none}
  .pv-bess-export{grid-template-columns:1fr 64px 1fr}
  .pv-bess-export i{width:64px;height:2px}
}
@media (max-width:720px){
  .pv-real-topology{min-height:360px;width:100%}
  .pv-hub-branches{grid-template-columns:repeat(2,1fr)}
  .pv-bess-yard{grid-template-columns:1fr}
  .pv-bess-yard::before{display:none}
  .pv-bess-capacity{position:relative;left:auto;top:auto;transform:none;margin:0 auto 12px;width:max-content}
  .pv-grid-ring{inset:58px 24px 78px}
}

/* v-capabilities-editorial: reference-inspired capabilities block */
.pv-cap-section{
  position:relative;
  padding:clamp(92px,10vw,148px) clamp(18px,4vw,64px) clamp(76px,8vw,118px);
  background:linear-gradient(180deg, rgba(248,248,246,.98), rgba(240,240,237,.98));
  color:#090b10;
  overflow:hidden;
}
.pv-cap-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(10,12,18,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(10,12,18,.025) 1px, transparent 1px);
  background-size:92px 92px;
  mask-image:linear-gradient(180deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
}
.pv-cap-section > *{position:relative;z-index:1}
.pv-cap-hero{
  max-width:1360px;
  margin:0 auto clamp(42px,5vw,72px);
  display:grid;
  grid-template-columns:minmax(420px,.95fr) minmax(360px,.72fr);
  gap:clamp(32px,6vw,96px);
  align-items:end;
}
.pv-cap-hero .pv-paint-h2{
  font-size:clamp(54px,8.2vw,132px);
  line-height:.82;
  letter-spacing:-.055em;
  max-width:820px;
  margin:0;
  color:transparent;
}
.pv-cap-copy{
  display:grid;
  gap:18px;
  padding-bottom:8px;
  color:rgba(9,11,16,.58);
  font-size:clamp(14px,1vw,16px);
  line-height:1.8;
  max-width:560px;
}
.pv-cap-copy p{margin:0}
.pv-cap-metrics{
  max-width:1360px;
  margin:0 auto clamp(46px,6vw,76px);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.pv-cap-metric{
  min-height:154px;
  border-radius:14px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(9,11,16,.055);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.pv-cap-metric::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(124,58,237,.12), transparent 34%), linear-gradient(180deg, rgba(255,255,255,.7), transparent 56%);
  opacity:.62;
}
.pv-cap-metric.is-dark{
  background:#101010;
  color:#fff;
  border-color:rgba(255,255,255,.08);
}
.pv-cap-metric.is-dark::before{
  background:radial-gradient(circle at 50% 8%, rgba(124,58,237,.38), transparent 38%), linear-gradient(180deg, rgba(255,255,255,.04), transparent 58%);
}
.pv-cap-index{
  position:absolute;
  top:16px;
  left:18px;
  font:700 10px/1 var(--font-body);
  letter-spacing:.18em;
  color:rgba(9,11,16,.22);
}
.pv-cap-metric.is-dark .pv-cap-index{color:rgba(255,255,255,.32)}
.pv-cap-value{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  color:inherit;
}
.pv-cap-value b{
  font-size:clamp(42px,5.4vw,78px);
  line-height:.82;
  font-weight:500;
  letter-spacing:-.07em;
}
.pv-cap-value small{
  margin-top:8px;
  font-size:clamp(17px,1.8vw,26px);
  line-height:1;
  color:rgba(9,11,16,.42);
}
.pv-cap-metric.is-dark .pv-cap-value small{color:rgba(255,255,255,.5)}
.pv-cap-metric p{
  position:relative;
  margin:12px 0 0;
  color:rgba(9,11,16,.5);
  font-size:11px;
  line-height:1.25;
  text-align:center;
  letter-spacing:.02em;
  text-transform:lowercase;
}
.pv-cap-metric.is-dark p{color:rgba(255,255,255,.56)}
.pv-cap-guarantees{
  max-width:1360px;
  margin:0 auto;
  background:#101010;
  color:#fff;
  border-radius:16px;
  overflow:hidden;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid rgba(255,255,255,.08);
}
.pv-cap-guarantee{
  appearance:none;
  border:0;
  border-right:1px solid rgba(255,255,255,.09);
  background:transparent;
  color:inherit;
  min-height:172px;
  text-align:left;
  padding:28px;
  display:grid;
  align-content:end;
  gap:9px;
  cursor:pointer;
  transition:background .25s ease;
}
.pv-cap-guarantee:last-child{border-right:0}
.pv-cap-guarantee:hover{background:rgba(124,58,237,.14)}
.pv-cap-guarantee span{
  position:absolute;
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.55);
  font-size:9px;
  letter-spacing:.08em;
}
.pv-cap-guarantee b{
  font-size:13px;
  letter-spacing:-.02em;
}
.pv-cap-guarantee small{
  max-width:260px;
  color:rgba(255,255,255,.58);
  line-height:1.55;
  font-size:11px;
}
html[data-theme="dark"] .pv-cap-section,
body[data-theme="dark"] .pv-cap-section{
  background:linear-gradient(180deg,#090a0d,#111216);
  color:#fff;
}
html[data-theme="dark"] .pv-cap-copy,
body[data-theme="dark"] .pv-cap-copy{color:rgba(255,255,255,.62)}
html[data-theme="dark"] .pv-cap-metric.is-light,
body[data-theme="dark"] .pv-cap-metric.is-light{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.1);
  color:#fff;
}
html[data-theme="dark"] .pv-cap-metric.is-light p,
body[data-theme="dark"] .pv-cap-metric.is-light p,
html[data-theme="dark"] .pv-cap-metric.is-light .pv-cap-value small,
body[data-theme="dark"] .pv-cap-metric.is-light .pv-cap-value small{color:rgba(255,255,255,.52)}
html[data-theme="dark"] .pv-cap-metric.is-light .pv-cap-index,
body[data-theme="dark"] .pv-cap-metric.is-light .pv-cap-index{color:rgba(255,255,255,.3)}
@media (max-width:980px){
  .pv-cap-hero{grid-template-columns:1fr;gap:24px}
  .pv-cap-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-cap-guarantees{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-cap-guarantee:nth-child(2){border-right:0}
}
@media (max-width:640px){
  .pv-cap-section{padding:72px 16px}
  .pv-cap-metrics,
  .pv-cap-guarantees{grid-template-columns:1fr}
  .pv-cap-guarantee,
  .pv-cap-guarantee:nth-child(2){
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.09);
  }
  .pv-cap-guarantee:last-child{border-bottom:0}
}

/* v-capboard-integrated: final capabilities block, no separate black/white tiles */
.pv-paint-h2 .pv-paint-line{
  background:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  -webkit-text-fill-color:currentColor!important;
  color:inherit!important;
}
.pv-paint-h2 .pv-paint-char{
  color:rgba(17,19,24,.18);
  transition:color .14s linear, text-shadow .14s linear;
}
.pv-paint-h2 .pv-paint-char.is-painted{
  color:#111318;
}
html[data-theme="dark"] .pv-paint-h2 .pv-paint-char,
body[data-theme="dark"] .pv-paint-h2 .pv-paint-char{
  color:rgba(247,244,238,.16);
}
html[data-theme="dark"] .pv-paint-h2 .pv-paint-char.is-painted,
body[data-theme="dark"] .pv-paint-h2 .pv-paint-char.is-painted{
  color:#f7f4ee;
  text-shadow:0 0 20px rgba(167,139,250,.08);
}

.pv-capboard-section{
  position:relative;
  padding:clamp(96px,11vw,156px) clamp(18px,4vw,64px);
  background:
    radial-gradient(circle at 18% 12%, rgba(124,58,237,.12), transparent 28%),
    linear-gradient(180deg, #f4f3f0 0%, #ecebe7 100%);
  color:#111318;
  overflow:hidden;
  border-top:1px solid rgba(17,19,24,.06);
}
.pv-capboard-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(17,19,24,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(17,19,24,.032) 1px, transparent 1px);
  background-size:96px 96px;
  mask-image:linear-gradient(180deg, transparent 0%, #000 20%, #000 78%, transparent 100%);
}
.pv-capboard-section > *{
  position:relative;
  z-index:1;
}
.pv-capboard-head{
  max-width:1360px;
  margin:0 auto clamp(42px,5.6vw,76px);
  display:grid;
  grid-template-columns:minmax(420px,.95fr) minmax(340px,.55fr);
  gap:clamp(28px,5vw,86px);
  align-items:end;
}
.pv-capboard-head .pv-paint-h2{
  margin:0;
  max-width:860px;
  font-size:clamp(56px,8vw,132px);
  line-height:.84;
  letter-spacing:-.06em;
}
.pv-capboard-head p{
  margin:0 0 8px;
  max-width:520px;
  font-size:clamp(15px,1.05vw,17px);
  line-height:1.75;
  color:rgba(17,19,24,.62);
}
.pv-capboard-grid{
  max-width:1360px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid rgba(17,19,24,.09);
  border-radius:20px;
  overflow:hidden;
  background:rgba(255,255,255,.38);
  box-shadow:0 26px 90px rgba(17,19,24,.08);
}
.pv-capboard-card{
  position:relative;
  min-height:430px;
  padding:26px;
  display:grid;
  grid-template-rows:auto 1fr auto auto;
  gap:20px;
  border-right:1px solid rgba(17,19,24,.08);
  background:
    radial-gradient(circle at 50% 24%, rgba(124,58,237,.10), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.54), rgba(255,255,255,.18));
  transition:transform .35s ease, background .35s ease, box-shadow .35s ease;
}
.pv-capboard-card:last-child{
  border-right:0;
}
.pv-capboard-card::before{
  content:"";
  position:absolute;
  left:26px;
  right:26px;
  top:108px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(124,58,237,.44), transparent);
  transform:scaleX(.55);
  opacity:.45;
  transition:transform .35s ease, opacity .35s ease;
}
.pv-capboard-card:hover{
  transform:translateY(-8px);
  background:
    radial-gradient(circle at 50% 22%, rgba(124,58,237,.16), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.30));
  box-shadow:0 34px 100px rgba(17,19,24,.12);
}
.pv-capboard-card:hover::before{
  transform:scaleX(1);
  opacity:.85;
}
.pv-capboard-index{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.18em;
  color:rgba(17,19,24,.42);
}
.pv-capboard-value{
  align-self:center;
  display:flex;
  align-items:flex-start;
  gap:8px;
}
.pv-capboard-value b{
  font-family:var(--font-display);
  font-size:clamp(58px,6.8vw,108px);
  line-height:.78;
  font-weight:500;
  letter-spacing:-.075em;
}
.pv-capboard-value small{
  margin-top:10px;
  font-family:var(--font-mono);
  font-size:clamp(13px,1.1vw,17px);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(17,19,24,.44);
}
.pv-capboard-copy h3{
  margin:0 0 10px;
  font-size:clamp(18px,1.6vw,24px);
  line-height:1;
  letter-spacing:-.04em;
}
.pv-capboard-copy p{
  margin:0;
  max-width:32ch;
  font-size:13px;
  line-height:1.58;
  color:rgba(17,19,24,.58);
}
.pv-capboard-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  padding-top:16px;
  border-top:1px solid rgba(17,19,24,.08);
}
.pv-capboard-meta span{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(17,19,24,.54);
}

html[data-theme="dark"] .pv-capboard-section,
body[data-theme="dark"] .pv-capboard-section{
  background:
    radial-gradient(circle at 18% 10%, rgba(124,58,237,.18), transparent 30%),
    linear-gradient(180deg,#08090d 0%, #101117 100%);
  color:#f7f4ee;
  border-color:rgba(255,255,255,.08);
}
html[data-theme="dark"] .pv-capboard-section::before,
body[data-theme="dark"] .pv-capboard-section::before{
  background:
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.035) 1px, transparent 1px);
}
html[data-theme="dark"] .pv-capboard-head p,
body[data-theme="dark"] .pv-capboard-head p{
  color:rgba(247,244,238,.62);
}
html[data-theme="dark"] .pv-capboard-grid,
body[data-theme="dark"] .pv-capboard-grid{
  background:rgba(255,255,255,.035);
  border-color:rgba(255,255,255,.09);
  box-shadow:0 28px 100px rgba(0,0,0,.32);
}
html[data-theme="dark"] .pv-capboard-card,
body[data-theme="dark"] .pv-capboard-card{
  border-color:rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 50% 22%, rgba(167,139,250,.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
}
html[data-theme="dark"] .pv-capboard-card:hover,
body[data-theme="dark"] .pv-capboard-card:hover{
  background:
    radial-gradient(circle at 50% 22%, rgba(167,139,250,.18), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
}
html[data-theme="dark"] .pv-capboard-index,
body[data-theme="dark"] .pv-capboard-index,
html[data-theme="dark"] .pv-capboard-value small,
body[data-theme="dark"] .pv-capboard-value small,
html[data-theme="dark"] .pv-capboard-meta span,
body[data-theme="dark"] .pv-capboard-meta span{
  color:rgba(247,244,238,.48);
}
html[data-theme="dark"] .pv-capboard-copy p,
body[data-theme="dark"] .pv-capboard-copy p{
  color:rgba(247,244,238,.58);
}
html[data-theme="dark"] .pv-capboard-meta,
body[data-theme="dark"] .pv-capboard-meta{
  border-color:rgba(255,255,255,.09);
}

@media (max-width:1120px){
  .pv-capboard-head{
    grid-template-columns:1fr;
  }
  .pv-capboard-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .pv-capboard-card:nth-child(2){
    border-right:0;
  }
  .pv-capboard-card:nth-child(-n+2){
    border-bottom:1px solid rgba(17,19,24,.08);
  }
}
@media (max-width:680px){
  .pv-capboard-section{
    padding:76px 16px;
  }
  .pv-capboard-grid{
    grid-template-columns:1fr;
  }
  .pv-capboard-card,
  .pv-capboard-card:nth-child(2){
    min-height:330px;
    border-right:0;
    border-bottom:1px solid rgba(17,19,24,.08);
  }
  .pv-capboard-card:last-child{
    border-bottom:0;
  }
}

/* -- v31: restore editorial capability wall, keep it refined/reactive -- */
.pv-cap-section{
  position:relative;
  overflow:hidden;
  padding:clamp(96px,11vw,156px) clamp(18px,4vw,64px);
  background:
    radial-gradient(circle at 12% 0%, rgba(124,58,237,.12), transparent 30%),
    radial-gradient(circle at 86% 42%, rgba(56,189,248,.08), transparent 28%),
    linear-gradient(180deg, #f6f5f1 0%, #ecebe6 100%);
  color:#111318;
  border-top:1px solid rgba(17,19,24,.06);
  isolation:isolate;
}
.pv-cap-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.58;
  background-image:
    linear-gradient(rgba(17,19,24,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,19,24,.028) 1px, transparent 1px);
  background-size:92px 92px;
  mask-image:linear-gradient(180deg, transparent 0%, #000 20%, #000 82%, transparent 100%);
}
.pv-cap-section > *{
  position:relative;
  z-index:1;
}
.pv-cap-hero{
  max-width:1400px;
  margin:0 auto clamp(44px,6vw,78px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,520px);
  gap:clamp(28px,6vw,96px);
  align-items:end;
}
.pv-cap-hero .pv-paint-h2{
  margin:0;
  max-width:860px;
  font-size:clamp(56px,8vw,132px);
  line-height:.84;
  letter-spacing:-.065em;
}
.pv-cap-hero p{
  margin:0 0 10px;
  max-width:520px;
  font-size:clamp(15px,1.06vw,18px);
  line-height:1.68;
  color:rgba(17,19,24,.62);
}
.pv-cap-metrics{
  max-width:1400px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.pv-cap-metric{
  position:relative;
  min-height:360px;
  padding:24px;
  display:grid;
  grid-template-rows:auto 1fr auto auto;
  gap:18px;
  overflow:hidden;
  border:1px solid rgba(17,19,24,.085);
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 25%, rgba(124,58,237,.10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.26));
  box-shadow:0 24px 74px rgba(17,19,24,.07);
  transition:transform .35s var(--ease-out), border-color .35s var(--ease-out), box-shadow .35s var(--ease-out), background .35s var(--ease-out);
}
.pv-cap-metric.is-dark{
  color:#f7f4ee;
  border-color:rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 50% 24%, rgba(167,139,250,.24), transparent 36%),
    linear-gradient(180deg, #15151d 0%, #090a0f 100%);
  box-shadow:0 30px 90px rgba(17,19,24,.18);
}
.pv-cap-metric::before{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  top:104px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(124,58,237,.46), transparent);
  transform:scaleX(.42);
  opacity:.5;
  transition:transform .35s var(--ease-out), opacity .35s var(--ease-out);
}
.pv-cap-metric::after{
  content:"";
  position:absolute;
  inset:auto 22px 22px 22px;
  height:2px;
  background:linear-gradient(90deg, rgba(124,58,237,.0), rgba(124,58,237,.70), rgba(56,189,248,.46), rgba(124,58,237,.0));
  opacity:0;
  transform:translateY(8px);
  transition:opacity .35s var(--ease-out), transform .35s var(--ease-out);
}
.pv-cap-metric:hover{
  transform:translateY(-8px);
  border-color:rgba(124,58,237,.26);
  box-shadow:0 34px 96px rgba(17,19,24,.12);
}
.pv-cap-metric:hover::before{
  transform:scaleX(1);
  opacity:.85;
}
.pv-cap-metric:hover::after{
  opacity:.75;
  transform:translateY(0);
}
.pv-cap-index{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.18em;
  color:rgba(17,19,24,.42);
}
.pv-cap-metric.is-dark .pv-cap-index{
  color:rgba(247,244,238,.46);
}
.pv-cap-value{
  align-self:center;
  display:flex;
  align-items:flex-start;
  gap:9px;
}
.pv-cap-value b{
  font-family:var(--font-display);
  font-size:clamp(58px,7.8vw,118px);
  line-height:.78;
  letter-spacing:-.075em;
  font-weight:560;
}
.pv-cap-value small{
  margin-top:10px;
  font-family:var(--font-mono);
  font-size:clamp(13px,1.1vw,18px);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(124,58,237,.72);
}
.pv-cap-metric.is-dark .pv-cap-value small{
  color:#cdbfff;
}
.pv-cap-metric p{
  margin:0;
  font-size:clamp(17px,1.4vw,23px);
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:620;
  max-width:14ch;
}
.pv-cap-metric em{
  margin:0;
  max-width:27ch;
  font-style:normal;
  font-size:12.5px;
  line-height:1.5;
  color:rgba(17,19,24,.54);
}
.pv-cap-metric.is-dark em{
  color:rgba(247,244,238,.58);
}

html[data-theme="dark"] .pv-cap-section,
body[data-theme="dark"] .pv-cap-section{
  background:
    radial-gradient(circle at 12% 0%, rgba(124,58,237,.16), transparent 30%),
    radial-gradient(circle at 88% 42%, rgba(56,189,248,.08), transparent 30%),
    linear-gradient(180deg,#08090d 0%, #101117 100%);
  color:#f7f4ee;
  border-color:rgba(255,255,255,.08);
}
html[data-theme="dark"] .pv-cap-section::before,
body[data-theme="dark"] .pv-cap-section::before{
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
}
html[data-theme="dark"] .pv-cap-hero p,
body[data-theme="dark"] .pv-cap-hero p{
  color:rgba(247,244,238,.62);
}
html[data-theme="dark"] .pv-cap-metric:not(.is-dark),
body[data-theme="dark"] .pv-cap-metric:not(.is-dark){
  border-color:rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 50% 24%, rgba(167,139,250,.12), transparent 35%),
    linear-gradient(180deg, rgba(255,255,255,.072), rgba(255,255,255,.026));
  box-shadow:0 26px 82px rgba(0,0,0,.24);
}
html[data-theme="dark"] .pv-cap-index,
body[data-theme="dark"] .pv-cap-index,
html[data-theme="dark"] .pv-cap-metric:not(.is-dark) em,
body[data-theme="dark"] .pv-cap-metric:not(.is-dark) em{
  color:rgba(247,244,238,.50);
}

@media (max-width:1180px){
  .pv-cap-hero{
    grid-template-columns:1fr;
  }
  .pv-cap-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .pv-cap-section{
    padding:76px 16px;
  }
  .pv-cap-metrics{
    grid-template-columns:1fr;
  }
  .pv-cap-metric{
    min-height:300px;
  }
}

/* ── pv-cap4 : 4-card capabilities block ──────────────────────────────── */
.pv-cap4-section {
  padding: clamp(80px,10vw,140px) clamp(24px,6vw,100px);
  background: var(--bg, oklch(99% 0.002 240));
}

.pv-cap4-head {
  max-width: 800px;
  margin: 0 auto clamp(48px,6vw,80px);
  text-align: center;
}
.pv-cap4-head p {
  margin-top: 16px;
  color: var(--muted, oklch(54% 0.012 250));
  font-size: clamp(15px,1.5vw,18px);
  line-height: 1.6;
}

.pv-cap4-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 1px;
  background: var(--border, oklch(90% 0.008 240));
  border: 1px solid var(--border, oklch(90% 0.008 240));
  border-radius: 18px;
  overflow: hidden;
  max-width: 1280px;
  margin: 0 auto;
}

.pv-cap4-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: clamp(28px,3vw,44px) clamp(22px,2.5vw,36px);
  background: var(--surface, oklch(100% 0 0));
  cursor: pointer;
  transition: background 0.25s ease, transform 0.25s ease;
  overflow: hidden;
}
.pv-cap4-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    oklch(70% 0.18 290 / 0) 0%,
    oklch(70% 0.18 290 / 0.04) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.pv-cap4-card:hover::before { opacity: 1; }
.pv-cap4-card:hover { transform: translateY(-2px); }

.pv-cap4-eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted, oklch(54% 0.012 250));
}

.pv-cap4-value {
  display: flex;
  align-items: baseline;
  gap: 4px;
  line-height: 1;
  margin-top: 4px;
}
.pv-cap4-value b {
  font-size: clamp(52px,5.5vw,80px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--fg, oklch(18% 0.012 250));
}
.pv-cap4-value small {
  font-size: clamp(22px,2.2vw,32px);
  font-weight: 600;
  color: var(--muted, oklch(54% 0.012 250));
}
.pv-cap4-value.is-text b {
  font-size: clamp(44px,4.5vw,68px);
}
.pv-cap4-value.is-text small {
  color: oklch(60% 0.22 290);
  font-size: clamp(18px,2vw,28px);
}

.pv-cap4-sub {
  font-size: 13px;
  color: var(--muted, oklch(54% 0.012 250));
  margin-top: -6px;
}

.pv-cap4-note {
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted, oklch(54% 0.012 250));
  flex: 1;
}

.pv-cap4-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: auto;
}
.pv-cap4-tags span {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 20px;
  border: 1px solid var(--border, oklch(90% 0.008 240));
  color: var(--muted, oklch(54% 0.012 250));
  background: transparent;
}

/* Infinity card — lila accent */
.pv-cap4-card.is-e2e { cursor: default; }
.pv-cap4-card.is-e2e::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse 80% 60% at 50% 40%,
    oklch(70% 0.18 290 / 0.07) 0%,
    transparent 70%
  );
  pointer-events: none;
}
.pv-cap4-infinity {
  width: min(100%, 180px);
  margin: 8px 0 4px;
}
.pv-cap4-infinity svg {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 0 12px oklch(65% 0.22 290 / 0.4));
  animation: infinityPulse 3s ease-in-out infinite;
}
@keyframes infinityPulse {
  0%, 100% { filter: drop-shadow(0 0 10px oklch(65% 0.22 290 / 0.3)); }
  50%       { filter: drop-shadow(0 0 22px oklch(72% 0.28 300 / 0.6)); }
}

/* Dark mode */
html[data-theme="dark"] .pv-cap4-section,
body[data-theme="dark"] .pv-cap4-section {
  background: oklch(14% 0.012 250);
}
html[data-theme="dark"] .pv-cap4-grid,
body[data-theme="dark"] .pv-cap4-grid {
  background: oklch(20% 0.012 250);
  border-color: oklch(22% 0.012 250);
}
html[data-theme="dark"] .pv-cap4-card,
body[data-theme="dark"] .pv-cap4-card {
  background: oklch(16% 0.012 250);
}
html[data-theme="dark"] .pv-cap4-value b,
body[data-theme="dark"] .pv-cap4-value b {
  color: oklch(95% 0.005 250);
}
html[data-theme="dark"] .pv-cap4-tags span,
body[data-theme="dark"] .pv-cap4-tags span {
  border-color: oklch(28% 0.012 250);
}

/* Responsive */
@media (max-width:1100px) {
  .pv-cap4-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .pv-cap4-grid { grid-template-columns: 1fr; }
  .pv-cap4-section { padding: 64px 16px; }
}

/* ── pv-cap4 v2: units lila, reactive hover, infinity animation ── */

/* Units (MW, MWh, Free) same lila as accent */
.pv-cap4-value small {
  color: oklch(60% 0.22 290) !important;
}

/* Cards reactive: light mode hover → dark flip */
.pv-cap4-card {
  transition: background 0.35s ease, color 0.35s ease, transform 0.25s ease, box-shadow 0.35s ease !important;
  cursor: pointer;
}
.pv-cap4-card:hover {
  background: oklch(14% 0.018 255) !important;
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 48px oklch(0% 0 0 / 0.22) !important;
}
.pv-cap4-card:hover .pv-cap4-eyebrow {
  color: oklch(55% 0.016 250) !important;
}
.pv-cap4-card:hover .pv-cap4-value b {
  color: oklch(96% 0.004 250) !important;
}
.pv-cap4-card:hover .pv-cap4-value small {
  color: oklch(68% 0.24 295) !important;
}
.pv-cap4-card:hover .pv-cap4-sub {
  color: oklch(58% 0.012 250) !important;
}
.pv-cap4-card:hover .pv-cap4-note {
  color: oklch(72% 0.008 250) !important;
}
.pv-cap4-card:hover .pv-cap4-tags span {
  color: oklch(80% 0.008 250) !important;
  border-color: oklch(30% 0.014 255) !important;
  background: oklch(20% 0.014 255) !important;
}
/* Dark mode: hover → light flip */
html[data-theme="dark"] .pv-cap4-card:hover,
body[data-theme="dark"] .pv-cap4-card:hover {
  background: oklch(97% 0.004 250) !important;
  box-shadow: 0 20px 48px oklch(0% 0 0 / 0.12) !important;
}
html[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-eyebrow,
body[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-eyebrow {
  color: oklch(42% 0.012 250) !important;
}
html[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-value b,
body[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-value b {
  color: oklch(14% 0.018 255) !important;
}
html[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-value small,
body[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-value small {
  color: oklch(52% 0.22 290) !important;
}
html[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-sub,
body[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-sub {
  color: oklch(42% 0.01 250) !important;
}
html[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-note,
body[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-note {
  color: oklch(32% 0.01 250) !important;
}
html[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-tags span,
body[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-tags span {
  color: oklch(28% 0.012 250) !important;
  border-color: oklch(82% 0.008 250) !important;
  background: oklch(90% 0.004 250) !important;
}

/* Infinity card — no hover flip (it has the ∞) */
.pv-cap4-card.is-e2e:hover {
  background: oklch(14% 0.018 255) !important;
}
html[data-theme="dark"] .pv-cap4-card.is-e2e:hover,
body[data-theme="dark"] .pv-cap4-card.is-e2e:hover {
  background: oklch(97% 0.004 250) !important;
}

/* ── Infinity SVG animation ── */
.pv-cap4-infinity {
  width: min(100%, 200px) !important;
  margin: 12px 0 6px !important;
}
.pv-cap4-infinity svg {
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
}

/* Path length ≈ 440px for this viewBox */
.pv-inf-flow {
  stroke-dasharray: 80 360;
  stroke-dashoffset: 0;
  animation: inf-flow 2.6s linear infinite;
}
.pv-inf-spark {
  stroke-dasharray: 24 416;
  stroke-dashoffset: -56;
  animation: inf-flow 2.6s linear infinite;
}
@keyframes inf-flow {
  to { stroke-dashoffset: -440; }
}

/* ── v-final: cap4 polish pass ────────────────────────────────────────── */

/* 1 — Grid: visible separator between all cards */
.pv-cap4-grid {
  gap: 1.5px !important;
  background: oklch(78% 0.010 250 / 0.55) !important;
}
html[data-theme="dark"] .pv-cap4-grid,
body[data-theme="dark"] .pv-cap4-grid {
  background: oklch(28% 0.014 250 / 0.8) !important;
}

/* 2 — Cards: allow ∞ to breathe + consistent alignment */
.pv-cap4-card {
  overflow: visible !important;      /* don't clip the ∞ SVG */
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;                 /* use margins instead for control */
  padding: clamp(28px,3vw,44px) clamp(24px,2.6vw,40px) !important;
}
.pv-cap4-eyebrow {
  margin-bottom: 18px !important;
}
.pv-cap4-value {
  margin-bottom: 4px !important;
}
.pv-cap4-sub {
  margin-bottom: 16px !important;
}
.pv-cap4-note {
  flex: 1 !important;                /* push tags to bottom */
  margin-bottom: 18px !important;
}
.pv-cap4-tags {
  margin-top: auto !important;
}

/* 3 — Infinity card: bigger SVG, no clip */
.pv-cap4-infinity {
  overflow: visible !important;
  margin: 4px 0 16px !important;
  display: block !important;
}
.pv-cap4-infinity svg {
  width: 100% !important;
  max-width: 220px !important;
  height: auto !important;
  overflow: visible !important;
  display: block !important;
}

/* 4 — Smooth hover: spring-feel transform + slow color fade */
.pv-cap4-card {
  transition:
    background   0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    color        0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    box-shadow   0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    transform    0.40s cubic-bezier(0.34, 1.10, 0.64, 1) !important;
}
.pv-cap4-card:hover {
  transform: translateY(-8px) !important;
}

/* Color transitions on child elements — smooth */
.pv-cap4-eyebrow,
.pv-cap4-value b,
.pv-cap4-value small,
.pv-cap4-sub,
.pv-cap4-note,
.pv-cap4-tags span {
  transition:
    color        0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    border-color 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

/* ∞ card: clip card border-radius from outside, not overflow */
.pv-cap4-card.is-e2e {
  overflow: visible !important;
}

/* ── pv-cap4 v3: infinity fix + text hierarchy ───────────────────────── */

/* Infinity — new larger symbol, no filter, no clip */
.pv-cap4-infinity {
  overflow: visible !important;
  display: block !important;
  width: 100% !important;
  margin: 6px 0 20px !important;
}
.pv-cap4-infinity svg {
  width: 100% !important;
  max-width: 220px !important;
  height: auto !important;
  display: block !important;
  overflow: visible !important;
}
/* Path length ≈ 478px for the new larger symbol */
.pv-inf-base {
  stroke-dasharray: none !important;
  animation: none !important;
}
.pv-inf-flow {
  stroke-dasharray: 96 382 !important;
  stroke-dashoffset: 0 !important;
  animation: inf-flow-v3 2.8s linear infinite !important;
}
.pv-inf-spark {
  stroke-dasharray: 28 450 !important;
  stroke-dashoffset: -72 !important;
  animation: inf-flow-v3 2.8s linear infinite !important;
}
@keyframes inf-flow-v3 {
  to { stroke-dashoffset: -478; }
}

/* Text hierarchy: sub smaller than value, note muted, clear gap to tags */
.pv-cap4-sub {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: var(--muted, oklch(54% 0.012 250)) !important;
  margin-top: 2px !important;
  margin-bottom: 20px !important;
}
.pv-cap4-note {
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  color: var(--fg-dim, oklch(46% 0.01 250)) !important;
  flex: 1 !important;
  margin-bottom: 20px !important;
}
html[data-theme="dark"] .pv-cap4-note,
body[data-theme="dark"] .pv-cap4-note {
  color: oklch(64% 0.01 250) !important;
}
.pv-cap4-tags {
  margin-top: auto !important;
  padding-top: 16px !important;
  border-top: 1px solid oklch(88% 0.008 250 / 0.5) !important;
}
html[data-theme="dark"] .pv-cap4-tags,
body[data-theme="dark"] .pv-cap4-tags {
  border-top-color: oklch(28% 0.01 250 / 0.7) !important;
}

/* Hover: text colors inherit from dark background, don't fight them */
.pv-cap4-card:hover .pv-cap4-sub {
  color: oklch(52% 0.012 250) !important;
}
html[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-sub,
body[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-sub {
  color: oklch(52% 0.012 250) !important;
}
html[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-tags,
body[data-theme="dark"] .pv-cap4-card:hover .pv-cap4-tags {
  border-top-color: oklch(82% 0.006 250 / 0.4) !important;
}

/* === Infinity fix v2 — proper lemniscate with animation === */
/* Container: wider to avoid clipping */
.pv-cap4-infinity {
  width: 190px !important;
  height: 80px !important;
  margin: 6px auto 2px !important;
  overflow: visible !important;
}
.pv-cap4-infinity svg {
  overflow: visible !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
}
/* Kill old animation overrides */
.pv-inf-base { animation: none !important; stroke-dasharray: 800 !important; opacity: 0.20 !important; }
/* New animation: loop around the full pathLength=800 */
@keyframes inf-loop-v2 {
  from { stroke-dashoffset: 0; }
  to   { stroke-dashoffset: -800; }
}
.pv-inf-flow {
  stroke-dasharray: 130 670 !important;
  animation: inf-loop-v2 3.2s linear infinite !important;
}
.pv-inf-spark {
  stroke-dasharray: 22 778 !important;
  animation: inf-loop-v2 1.9s linear infinite !important;
  animation-delay: -0.7s !important;
}

/* === SF6 same size as other values === */
.pv-cap4-value.is-text b {
  font-size: clamp(52px, 5.5vw, 80px) !important;
}

/* === cap4 infinity v4: clean open lemniscate, reliable motion === */
.pv-cap4-infinity {
  width: min(100%, 230px) !important;
  height: 108px !important;
  margin: 0 auto 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

.pv-infinity-mark {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  overflow: visible !important;
}

.pv-infinity-mark .pv-inf-shadow,
.pv-infinity-mark .pv-inf-base,
.pv-infinity-mark .pv-inf-flow,
.pv-infinity-mark .pv-inf-spark {
  fill: none !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.pv-infinity-mark .pv-inf-shadow {
  stroke: #a855f7 !important;
  stroke-width: 19 !important;
  opacity: 0.18 !important;
  filter: url("#pv-inf-glow") !important;
  animation: none !important;
}

.pv-infinity-mark .pv-inf-base {
  stroke: url("#pv-inf-main") !important;
  stroke-width: 12 !important;
  opacity: 0.36 !important;
  stroke-dasharray: none !important;
  animation: none !important;
}

.pv-infinity-mark .pv-inf-flow {
  stroke: url("#pv-inf-main") !important;
  stroke-width: 12 !important;
  opacity: 1 !important;
  stroke-dasharray: 138 462 !important;
  stroke-dashoffset: 0;
  filter: drop-shadow(0 0 10px rgba(168,85,247,.45)) !important;
  animation: pv-inf-travel 2.8s linear infinite !important;
}

.pv-infinity-mark .pv-inf-spark {
  stroke: #ffffff !important;
  stroke-width: 3.8 !important;
  opacity: 0.92 !important;
  stroke-dasharray: 20 580 !important;
  stroke-dashoffset: -160;
  filter: drop-shadow(0 0 7px rgba(255,255,255,.70)) !important;
  animation: pv-inf-travel-offset 2.8s linear infinite !important;
}

@keyframes pv-inf-travel {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: -600; }
}

@keyframes pv-inf-travel-offset {
  from { stroke-dashoffset: -160; }
  to { stroke-dashoffset: -760; }
}

/* === cap4 infinity v5: typographic loop, no pointed ends === */
.pv-cap4-infinity {
  width: min(100%, 210px) !important;
  height: 96px !important;
  margin: -2px auto 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  isolation: isolate !important;
}

.pv-infinity-glyph {
  position: relative;
  display: inline-block;
  font-family: "Times New Roman", "Iowan Old Style", Georgia, serif;
  font-size: clamp(96px, 8.4vw, 138px);
  font-weight: 700;
  line-height: 0.68;
  letter-spacing: 0;
  color: transparent;
  background:
    linear-gradient(
      100deg,
      #6d28d9 0%,
      #a855f7 26%,
      #f5d0fe 43%,
      #ffffff 50%,
      #d8b4fe 58%,
      #7c3aed 78%,
      #6d28d9 100%
    );
  background-size: 240% 100%;
  background-position: 0% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  filter:
    drop-shadow(0 0 10px rgba(168, 85, 247, 0.38))
    drop-shadow(0 0 24px rgba(124, 58, 237, 0.24));
  animation: pv-infinity-sheen 2.9s linear infinite;
  transform: translateY(-2px) scaleX(1.08);
}

.pv-infinity-glyph::before {
  content: "\\221E";
  position: absolute;
  inset: 0;
  z-index: -1;
  color: rgba(168, 85, 247, 0.20);
  filter: blur(10px);
  transform: scale(1.04);
}

.pv-cap4-card.is-e2e:hover .pv-infinity-glyph {
  filter:
    drop-shadow(0 0 14px rgba(216, 180, 254, 0.54))
    drop-shadow(0 0 34px rgba(124, 58, 237, 0.34));
}

@keyframes pv-infinity-sheen {
  from { background-position: 0% 50%; }
  to { background-position: 240% 50%; }
}

/* === cap4 infinity v6: remove background haze, keep clean animated mark === */
.pv-infinity-glyph {
  filter: drop-shadow(0 0 8px rgba(168, 85, 247, 0.28)) !important;
}

.pv-infinity-glyph::before {
  content: none !important;
}

.pv-cap4-card.is-e2e:hover .pv-infinity-glyph {
  filter: drop-shadow(0 0 11px rgba(216, 180, 254, 0.40)) !important;
}

/* === Footer + minimal contact v1 === */
.pv-footer {
  position: relative;
  overflow: hidden;
  margin-top: clamp(64px, 9vw, 128px);
  padding: clamp(48px, 7vw, 96px) var(--pad-x, 5vw) 28px;
  color: var(--fg, #111);
  background:
    linear-gradient(180deg, color-mix(in oklch, var(--bg, #fff) 92%, transparent), var(--bg, #fff)),
    radial-gradient(circle at 18% 0%, rgba(139, 92, 246, 0.16), transparent 34%);
  border-top: 1px solid color-mix(in oklch, var(--fg, #111) 12%, transparent);
}

html[data-theme="dark"] .pv-footer,
body[data-theme="dark"] .pv-footer {
  background:
    radial-gradient(circle at 20% 0%, rgba(168, 85, 247, 0.18), transparent 34%),
    linear-gradient(180deg, #090a10 0%, #050507 100%);
  color: #f6f2ff;
  border-top-color: rgba(255,255,255,.10);
}

.pv-footer-top {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
  gap: clamp(36px, 6vw, 96px);
  align-items: start;
}

.pv-footer-kicker {
  margin-bottom: 18px;
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(18px, 1.6vw, 24px);
  font-style: italic;
  color: color-mix(in oklch, var(--fg, #111) 58%, transparent);
}

.pv-footer-cta h2 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(44px, 7vw, 112px);
  line-height: .88;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.pv-footer-cta p {
  max-width: 620px;
  margin: 28px 0 0;
  font-size: clamp(16px, 1.35vw, 20px);
  line-height: 1.55;
  color: color-mix(in oklch, var(--fg, #111) 62%, transparent);
}

.pv-footer-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 32px;
  padding: 0 20px;
  border-radius: 999px;
  color: white;
  background: #111018;
  border: 1px solid rgba(255,255,255,.18);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: transform .28s ease, background .28s ease;
}

.pv-footer-action:hover {
  transform: translateY(-2px);
  background: #7c3aed;
}

.pv-footer-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  padding-top: 8px;
}

.pv-footer-nav h3 {
  margin: 0 0 14px;
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: color-mix(in oklch, var(--fg, #111) 44%, transparent);
}

.pv-footer-mega {
  position: relative;
  z-index: 1;
  margin: clamp(54px, 8vw, 112px) -1vw 0;
  font-size: clamp(86px, 18vw, 310px);
  line-height: .72;
  letter-spacing: -0.075em;
  font-weight: 900;
  color: color-mix(in oklch, var(--fg, #111) 9%, transparent);
  white-space: nowrap;
  user-select: none;
}

html[data-theme="dark"] .pv-footer-mega,
body[data-theme="dark"] .pv-footer-mega {
  color: rgba(255,255,255,.075);
}

.pv-footer-bottom {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding-top: 22px;
  border-top: 1px solid color-mix(in oklch, var(--fg, #111) 12%, transparent);
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  color: color-mix(in oklch, var(--fg, #111) 52%, transparent);
}

.pv-contact-page {
  min-height: 100vh;
  padding: clamp(120px, 13vw, 180px) var(--pad-x, 5vw) clamp(72px, 10vw, 132px);
  background:
    radial-gradient(circle at 72% 20%, rgba(139, 92, 246, .14), transparent 34%),
    var(--bg, #fff);
}

.pv-contact-shell {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: clamp(36px, 7vw, 112px);
  align-items: start;
  max-width: 1280px;
  margin: 0 auto;
}

.pv-contact-kicker {
  margin-bottom: 18px;
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #7c3aed;
}

.pv-contact-copy h1 {
  margin: 0;
  font-size: clamp(48px, 8vw, 118px);
  line-height: .88;
  letter-spacing: -0.06em;
  text-wrap: balance;
}

.pv-contact-copy p {
  max-width: 560px;
  margin: 28px 0 0;
  font-size: clamp(16px, 1.35vw, 20px);
  line-height: 1.55;
  color: color-mix(in oklch, var(--fg, #111) 62%, transparent);
}

.pv-contact-proof {
  display: grid;
  gap: 10px;
  margin-top: 34px;
  max-width: 420px;
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: color-mix(in oklch, var(--fg, #111) 58%, transparent);
}

.pv-contact-proof span {
  padding: 12px 0;
  border-top: 1px solid color-mix(in oklch, var(--fg, #111) 12%, transparent);
}

.pv-contact-card {
  padding: clamp(24px, 4vw, 44px);
  border-radius: 28px;
  background: color-mix(in oklch, var(--bg, #fff) 86%, white);
  border: 1px solid color-mix(in oklch, var(--fg, #111) 10%, transparent);
  box-shadow: 0 30px 80px rgba(15, 12, 32, .10);
}

html[data-theme="dark"] .pv-contact-card,
body[data-theme="dark"] .pv-contact-card {
  background: rgba(255,255,255,.055);
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 34px 100px rgba(0,0,0,.32);
}

.pv-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.pv-contact-field {
  margin-bottom: 18px;
}

.pv-contact-field label {
  display: block;
  margin-bottom: 9px;
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: color-mix(in oklch, var(--fg, #111) 52%, transparent);
}

.pv-contact-field input,
.pv-contact-field textarea {
  width: 100%;
  color: var(--fg, #111);
  background: color-mix(in oklch, var(--bg, #fff) 72%, white);
  border: 1px solid color-mix(in oklch, var(--fg, #111) 12%, transparent);
  border-radius: 14px;
  padding: 14px 15px;
  font: inherit;
  resize: vertical;
  outline: none;
  transition: border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.pv-contact-field input:focus,
.pv-contact-field textarea:focus {
  border-color: #8b5cf6;
  box-shadow: 0 0 0 4px rgba(139,92,246,.14);
}

.pv-contact-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pv-contact-options button {
  min-height: 38px;
  padding: 0 13px;
  border-radius: 999px;
  color: var(--fg, #111);
  background: transparent;
  border: 1px solid color-mix(in oklch, var(--fg, #111) 14%, transparent);
  font: 700 12px/1 var(--font-body, system-ui);
  cursor: pointer;
  transition: background .22s ease, color .22s ease, border-color .22s ease;
}

.pv-contact-options button.is-active,
.pv-contact-options button:hover {
  color: white;
  background: #7c3aed;
  border-color: #7c3aed;
}

.pv-contact-submit,
.pv-contact-success button {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  color: white;
  background: #111018;
  font: 800 13px/1 var(--font-body, system-ui);
  cursor: pointer;
  transition: transform .24s ease, background .24s ease;
}

.pv-contact-submit:hover,
.pv-contact-success button:hover {
  transform: translateY(-2px);
  background: #7c3aed;
}

.pv-contact-success {
  text-align: center;
  padding: clamp(20px, 4vw, 42px) 0;
}

.pv-contact-success > div {
  margin-bottom: 16px;
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #7c3aed;
}

.pv-contact-success h2 {
  margin: 0 0 12px;
  font-size: clamp(32px, 4vw, 54px);
  letter-spacing: -0.045em;
}

.pv-contact-success p {
  max-width: 420px;
  margin: 0 auto 28px;
  color: color-mix(in oklch, var(--fg, #111) 62%, transparent);
}

@media (max-width: 900px) {
  .pv-footer-top,
  .pv-contact-shell {
    grid-template-columns: 1fr;
  }

  .pv-footer-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pv-contact-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .pv-footer-nav {
    grid-template-columns: 1fr;
  }

  .pv-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* v20260506-product-pages: unify product page heroes and list cards */
.pv-product-page-hero,
html[data-theme="light"] .pv-product-page-hero,
body[data-theme="light"] .pv-product-page-hero,
html[data-theme="dark"] .pv-product-page-hero,
body[data-theme="dark"] .pv-product-page-hero {
  isolation: isolate;
  min-height: clamp(620px, 78vh, 820px) !important;
  overflow: hidden !important;
  background:
    radial-gradient(ellipse 72% 46% at 76% 64%, rgba(255,255,255,.12), transparent 66%),
    radial-gradient(ellipse 90% 70% at 86% 56%, rgba(90,92,132,.18), transparent 64%),
    linear-gradient(180deg, #06070a 0%, #030407 100%) !important;
}

.pv-product-page-hero::before,
.pv-product-page-hero::after {
  display: none !important;
}

.pv-product-page-hero-inner {
  position: relative !important;
  z-index: 2 !important;
  min-height: clamp(620px, 78vh, 820px) !important;
  display: grid !important;
  grid-template-columns: minmax(360px, .92fr) minmax(520px, 1.08fr) !important;
  align-items: center !important;
  padding-top: clamp(86px, 11vh, 128px) !important;
  padding-bottom: clamp(54px, 8vh, 88px) !important;
}

.pv-product-page-copy {
  position: relative !important;
  z-index: 3 !important;
}

.pv-product-page-copy .h-display {
  max-width: 720px !important;
  font-size: clamp(48px, 6vw, 88px) !important;
  line-height: .94 !important;
}

.pv-product-page-copy .t-lead {
  max-width: 580px !important;
  font-size: clamp(17px, 1.45vw, 21px) !important;
  line-height: 1.5 !important;
}

.pv-product-page-scene {
  position: absolute !important;
  z-index: 1 !important;
  pointer-events: none !important;
  inset: 0 !important;
  overflow: visible !important;
  display: block !important;
  mix-blend-mode: normal !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 24%, #000 100%) !important;
  mask-image: linear-gradient(90deg, transparent 0%, #000 24%, #000 100%) !important;
}

.pv-product-page-scene::before,
.pv-product-page-scene::after {
  display: none !important;
}

.pv-product-page-scene img {
  position: absolute !important;
  left: auto !important;
  right: max(-8vw, -96px) !important;
  bottom: clamp(-34px, -4vh, -18px) !important;
  width: min(70vw, 1040px) !important;
  max-width: none !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: right bottom !important;
  opacity: .96 !important;
  filter:
    drop-shadow(0 34px 54px rgba(0,0,0,.58))
    saturate(1.05)
    contrast(1.03) !important;
  transform: none !important;
}

.pv-product-page-hero-storage .pv-product-page-scene img,
.pv-product-page-hero-mt .pv-product-page-scene img {
  right: max(-10vw, -130px) !important;
  bottom: clamp(-16px, -2.2vh, -8px) !important;
  width: min(76vw, 1160px) !important;
}

.pv-product-page-hero-chargers .pv-product-page-scene img {
  right: max(-6vw, -78px) !important;
  bottom: clamp(-38px, -4.5vh, -22px) !important;
  width: min(68vw, 980px) !important;
}

/* Product list cards: override legacy inline geometry without changing content */
.pv-product-card {
  display: grid !important;
  grid-template-columns: minmax(320px, 34%) minmax(360px, 1fr) minmax(220px, 250px) !important;
  min-height: 340px !important;
  height: auto !important;
  overflow: visible !important;
  border-radius: 22px !important;
  border: 1px solid color-mix(in oklch, var(--fg, #111) 12%, transparent) !important;
  background: color-mix(in oklch, var(--surface, #fff) 92%, var(--bg, #f6f2ea)) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.08) !important;
}

html[data-theme="dark"] .pv-product-card,
body[data-theme="dark"] .pv-product-card {
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: 0 22px 48px rgba(0,0,0,.24) !important;
}

.pv-product-card > div:first-child {
  min-height: 340px !important;
  padding: 34px !important;
  overflow: visible !important;
  background:
    radial-gradient(ellipse 84% 66% at 50% 54%, rgba(139,92,246,.18), transparent 70%),
    linear-gradient(180deg, color-mix(in oklch, var(--bg-soft, #f3efe6) 78%, white), var(--bg, #fff)) !important;
}

.pv-product-card > div:first-child .glow-violet {
  inset: -10% !important;
  opacity: .28 !important;
}

.pv-product-card > div:first-child img {
  max-width: 112% !important;
  width: auto !important;
  max-height: 292px !important;
  height: auto !important;
  object-fit: contain !important;
  transform: translateZ(0) !important;
}

.pv-product-card > div:nth-child(2) {
  padding: clamp(28px, 3vw, 40px) !important;
  min-width: 0 !important;
}

.pv-product-card > div:nth-child(2) h3 {
  max-width: 760px !important;
  margin-bottom: 12px !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: .98 !important;
  text-wrap: balance !important;
}

.pv-product-card > div:nth-child(2) p {
  max-width: 620px !important;
  margin-bottom: 20px !important;
  color: color-mix(in oklch, var(--fg, #111) 62%, transparent) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

html[data-theme="dark"] .pv-product-card > div:nth-child(2) p,
body[data-theme="dark"] .pv-product-card > div:nth-child(2) p {
  color: rgba(255,255,255,.66) !important;
}

.pv-product-card .pv-product-feature-pill {
  min-height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  color: color-mix(in oklch, var(--fg, #111) 64%, transparent) !important;
}

.pv-product-card .pv-product-feature-pill::before {
  content: "" !important;
  width: 5px !important;
  height: 5px !important;
  margin-right: 9px !important;
  flex: 0 0 auto !important;
  border-radius: 999px !important;
  background: #8b5cf6 !important;
  box-shadow: 0 0 12px rgba(139,92,246,.35) !important;
}

.pv-product-card .pv-product-feature-pill span {
  font: 700 11px/1.1 var(--font-mono, monospace) !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

.pv-product-card > div:last-child {
  padding: clamp(26px, 2.6vw, 34px) !important;
  min-width: 0 !important;
  background: color-mix(in oklch, var(--bg-soft, #f4f0e8) 72%, var(--surface, #fff)) !important;
}

html[data-theme="dark"] .pv-product-card > div:last-child,
body[data-theme="dark"] .pv-product-card > div:last-child {
  background: rgba(255,255,255,.035) !important;
}

.pv-product-card > div:last-child .btn,
.pv-product-card > div:last-child .btn-primary {
  min-height: 44px !important;
  padding: 0 18px !important;
  white-space: nowrap !important;
}

@media (max-width: 1180px) {
  .pv-product-page-hero-inner {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .pv-product-page-scene {
    opacity: .42 !important;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 20%, #000 82%, transparent 100%) !important;
    mask-image: linear-gradient(180deg, transparent 0%, #000 20%, #000 82%, transparent 100%) !important;
  }

  .pv-product-page-scene img,
  .pv-product-page-hero-storage .pv-product-page-scene img,
  .pv-product-page-hero-mt .pv-product-page-scene img,
  .pv-product-page-hero-chargers .pv-product-page-scene img {
    right: 50% !important;
    bottom: -18px !important;
    width: min(112vw, 980px) !important;
    transform: translateX(50%) !important;
  }

  .pv-product-card {
    grid-template-columns: minmax(260px, 36%) minmax(0, 1fr) !important;
  }

  .pv-product-card > div:last-child {
    grid-column: 1 / -1 !important;
    border-left: 0 !important;
    border-top: 1px solid color-mix(in oklch, var(--fg, #111) 10%, transparent) !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 22px !important;
    align-items: center !important;
  }

  .pv-product-card > div:last-child > div:first-child {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

@media (max-width: 760px) {
  .pv-product-page-hero {
    min-height: 650px !important;
  }

  .pv-product-page-hero-inner {
    min-height: 650px !important;
    align-items: end !important;
    padding-bottom: 56px !important;
  }

  .pv-product-page-copy .h-display {
    font-size: clamp(42px, 13vw, 68px) !important;
  }

  .pv-product-page-scene {
    opacity: .32 !important;
  }

  .pv-product-card {
    grid-template-columns: 1fr !important;
    border-radius: 18px !important;
  }

  .pv-product-card > div:first-child {
    min-height: 270px !important;
    border-right: 0 !important;
    border-bottom: 1px solid color-mix(in oklch, var(--fg, #111) 10%, transparent) !important;
  }

  .pv-product-card > div:first-child img {
    max-height: 230px !important;
    max-width: 96% !important;
  }

  .pv-product-card > div:last-child,
  .pv-product-card > div:last-child > div:first-child {
    display: block !important;
  }

  .pv-product-card > div:last-child .btn,
  .pv-product-card > div:last-child .btn-primary {
    width: 100% !important;
    margin-top: 18px !important;
  }
}

/* v-product-catalog-01: clean product pages cards */
.pv-product-list-section {
  padding-top: clamp(46px, 6vw, 76px) !important;
  padding-bottom: clamp(76px, 8vw, 112px) !important;
}

.pv-product-section-head {
  width: min(860px, 100%);
  margin: 0 auto clamp(34px, 4vw, 54px);
  text-align: center;
}

.pv-product-section-head .pv-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  font: 700 11px/1 var(--font-mono, ui-monospace, monospace);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: color-mix(in oklch, var(--accent, #8b5cf6) 78%, var(--fg, #111));
}

.pv-product-section-head .pv-section-kicker::before,
.pv-product-section-head .pv-section-kicker::after {
  content: "";
  width: 26px;
  height: 1px;
  background: currentColor;
  opacity: .38;
}

.pv-product-section-head h2 {
  margin: 0;
  font-family: var(--font-display, system-ui);
  font-size: clamp(40px, 5.5vw, 72px);
  line-height: .95;
  letter-spacing: -.045em;
  color: var(--fg, #111);
  text-wrap: balance;
}

.pv-product-section-head p,
.pv-product-section-head .pv-product-section-copy {
  max-width: 640px;
  margin: 16px auto 0 !important;
  font-size: clamp(15px, 1.25vw, 18px) !important;
  line-height: 1.55 !important;
  color: color-mix(in oklch, var(--fg, #111) 58%, transparent) !important;
}

.pv-product-section-head .t-lead {
  display: none !important;
}

.pv-catalog-list {
  display: grid !important;
  gap: 18px !important;
}

.pv-catalog-card {
  --card-line: color-mix(in oklch, var(--fg, #111) 10%, transparent);
  display: grid;
  grid-template-columns: minmax(270px, 32%) minmax(0, 1fr) minmax(210px, 240px);
  min-height: 286px;
  overflow: hidden;
  border: 1px solid var(--card-line);
  border-radius: 24px;
  background: linear-gradient(135deg, color-mix(in oklch, var(--surface, #fff) 96%, var(--bg, #f6f2ea)), color-mix(in oklch, var(--surface, #fff) 88%, var(--accent, #8b5cf6) 4%));
  box-shadow: 0 20px 48px rgba(18, 12, 36, .08);
  transition: transform .42s cubic-bezier(.22, 1, .36, 1), border-color .42s ease, box-shadow .42s ease;
}

.pv-catalog-card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in oklch, var(--accent, #8b5cf6) 36%, var(--card-line));
  box-shadow: 0 26px 70px rgba(18, 12, 36, .13);
}

.pv-catalog-media {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 286px;
  padding: clamp(24px, 3vw, 38px);
  overflow: visible;
  isolation: isolate;
  border-right: 1px solid var(--card-line);
  background: radial-gradient(ellipse 80% 56% at 52% 62%, rgba(139, 92, 246, .18), transparent 68%), linear-gradient(180deg, color-mix(in oklch, var(--bg, #f6f2ea) 80%, white), color-mix(in oklch, var(--surface, #fff) 88%, var(--bg, #f6f2ea)));
}

.pv-catalog-media::after {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  bottom: 34px;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in oklch, var(--accent, #8b5cf6) 45%, transparent), transparent);
  opacity: .55;
}

.pv-catalog-media img {
  position: relative;
  z-index: 1;
  width: min(92%, 300px);
  max-height: 235px;
  object-fit: contain;
  filter: drop-shadow(0 22px 32px rgba(0,0,0,.32));
  transition: transform .42s cubic-bezier(.22, 1, .36, 1), filter .42s ease;
}

.pv-catalog-card:hover .pv-catalog-media img {
  transform: translateY(-4px) scale(1.025);
  filter: drop-shadow(0 28px 42px rgba(0,0,0,.38));
}

.pv-catalog-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(28px, 3.4vw, 44px);
}

.pv-catalog-kicker {
  margin-bottom: 12px;
  font: 700 11px/1 var(--font-mono, ui-monospace, monospace);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: color-mix(in oklch, var(--accent, #8b5cf6) 74%, var(--fg, #111));
}

.pv-catalog-copy h3 {
  margin: 0 0 12px;
  font-family: var(--font-display, system-ui);
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: .96;
  letter-spacing: -.04em;
  color: var(--fg, #111);
}

.pv-catalog-copy p {
  max-width: 560px;
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: color-mix(in oklch, var(--fg, #111) 60%, transparent);
}

.pv-catalog-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 22px;
}

.pv-catalog-tags span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 700 11px/1.2 var(--font-mono, ui-monospace, monospace);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: color-mix(in oklch, var(--fg, #111) 66%, transparent);
}

.pv-catalog-tags span::before {
  content: "";
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--accent, #8b5cf6);
  box-shadow: 0 0 14px color-mix(in oklch, var(--accent, #8b5cf6) 48%, transparent);
}

.pv-catalog-specs {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  padding: clamp(24px, 2.7vw, 34px);
  border-left: 1px solid var(--card-line);
  background: color-mix(in oklch, var(--bg, #f6f2ea) 74%, var(--surface, #fff));
}

.pv-catalog-spec-grid {
  display: grid;
  gap: 17px;
}

.pv-catalog-stat strong {
  display: block;
  font-family: var(--font-display, system-ui);
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1;
  letter-spacing: -.035em;
  color: var(--fg, #111);
}

.pv-catalog-stat span {
  display: block;
  margin-top: 7px;
  font: 700 10px/1 var(--font-mono, ui-monospace, monospace);
  letter-spacing: .13em;
  text-transform: uppercase;
  color: color-mix(in oklch, var(--fg, #111) 46%, transparent);
}

.pv-catalog-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 42px;
  margin-top: 28px;
  color: var(--fg, #111);
  text-decoration: none;
  font: 800 12px/1 var(--font-mono, ui-monospace, monospace);
  letter-spacing: .11em;
  text-transform: uppercase;
  border-top: 1px solid color-mix(in oklch, var(--fg, #111) 14%, transparent);
  transition: color .25s ease, border-color .25s ease;
}

.pv-catalog-link::after {
  content: ">";
  font-size: 16px;
  color: var(--accent, #8b5cf6);
  transform: translateX(0);
  transition: transform .25s ease;
}

.pv-catalog-link:hover {
  color: var(--accent, #8b5cf6);
  border-color: color-mix(in oklch, var(--accent, #8b5cf6) 42%, transparent);
}

.pv-catalog-link:hover::after {
  transform: translateX(4px);
}

html[data-theme="dark"] .pv-catalog-card,
body[data-theme="dark"] .pv-catalog-card {
  --card-line: rgba(255,255,255,.11);
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
  box-shadow: 0 22px 64px rgba(0,0,0,.28);
}

html[data-theme="dark"] .pv-catalog-media,
body[data-theme="dark"] .pv-catalog-media {
  background: radial-gradient(ellipse 80% 56% at 52% 62%, rgba(139, 92, 246, .24), transparent 68%), linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
}

html[data-theme="dark"] .pv-catalog-specs,
body[data-theme="dark"] .pv-catalog-specs {
  background: rgba(255,255,255,.035);
}

html[data-theme="dark"] .pv-catalog-copy p,
body[data-theme="dark"] .pv-catalog-copy p,
html[data-theme="dark"] .pv-catalog-tags span,
body[data-theme="dark"] .pv-catalog-tags span {
  color: rgba(255,255,255,.66);
}

html[data-theme="dark"] .pv-catalog-stat span,
body[data-theme="dark"] .pv-catalog-stat span {
  color: rgba(255,255,255,.46);
}

@media (max-width: 1080px) {
  .pv-catalog-card {
    grid-template-columns: minmax(230px, 34%) minmax(0, 1fr);
  }

  .pv-catalog-specs {
    grid-column: 1 / -1;
    border-left: 0;
    border-top: 1px solid var(--card-line);
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 22px;
  }

  .pv-catalog-spec-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .pv-product-section-head {
    text-align: left;
  }

  .pv-product-section-head .pv-section-kicker::before,
  .pv-product-section-head .pv-section-kicker::after {
    display: none;
  }

  .pv-catalog-card {
    grid-template-columns: 1fr;
    border-radius: 20px;
  }

  .pv-catalog-media {
    min-height: 250px;
    border-right: 0;
    border-bottom: 1px solid var(--card-line);
  }

  .pv-catalog-media img {
    max-height: 215px;
  }

  .pv-catalog-specs {
    display: block;
  }

  .pv-catalog-spec-grid {
    grid-template-columns: 1fr;
  }
}

/* -- v20260506-13b: keep family CTA above legacy button rules -- */
.pv-family-body .pv-family-info-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:max-content!important;
  min-height:32px!important;
  height:32px!important;
  margin-top:12px!important;
  padding:0 13px!important;
  border:1px solid color-mix(in oklab, oklch(62% 0.22 296) 56%, transparent)!important;
  border-radius:999px!important;
  background:color-mix(in oklab, oklch(62% 0.22 296) 9%, transparent)!important;
  color:oklch(56% 0.23 296)!important;
  box-shadow:0 10px 28px color-mix(in oklab, oklch(62% 0.22 296) 14%, transparent)!important;
  font-family:var(--font-mono, ui-monospace, Menlo, monospace)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
}

.pv-family-body .pv-family-info-btn::after{
  content:none!important;
}

.pv-family-body .pv-family-info-btn span{
  display:inline-grid!important;
  place-items:center!important;
  width:16px!important;
  height:16px!important;
  border-radius:50%!important;
  background:oklch(62% 0.22 296)!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
  letter-spacing:0!important;
  transform:translateY(-.5px)!important;
}

.pv-family-card:hover .pv-family-info-btn,
.pv-family-body .pv-family-info-btn:focus-visible{
  transform:translateY(-2px)!important;
  border-color:oklch(62% 0.22 296)!important;
  background:color-mix(in oklab, oklch(62% 0.22 296) 16%, transparent)!important;
  color:oklch(49% 0.25 296)!important;
  box-shadow:0 14px 34px color-mix(in oklab, oklch(62% 0.22 296) 24%, transparent)!important;
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    border-color .28s ease,
    background .28s ease,
    color .28s ease,
    box-shadow .28s ease!important;
}

html[data-theme="dark"] .pv-family-body .pv-family-info-btn,
body[data-theme="dark"] .pv-family-body .pv-family-info-btn{
  color:oklch(78% 0.17 296)!important;
  background:color-mix(in oklab, oklch(62% 0.22 296) 14%, transparent)!important;
  border-color:color-mix(in oklab, oklch(78% 0.17 296) 46%, transparent)!important;
}


/* r107 nav tint in light mode when at top */
html[data-theme="light"] .nav:not(.scrolled),
body[data-theme="light"] .nav:not(.scrolled){
  background: linear-gradient(180deg, rgba(244,239,251,.96) 0%, rgba(244,239,251,.82) 58%, rgba(244,239,251,.24) 100%) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}


/* r110 — nav responsive QA */
.nav {
  gap: 12px !important;
}

.nav-links {
  max-width: calc(100vw - 430px);
  overflow: hidden;
  white-space: nowrap;
}

.nav-link {
  padding-inline: clamp(8px, .8vw, 14px) !important;
  font-size: clamp(12px, .9vw, 14px) !important;
}

@media (max-width: 1120px) {
  .nav-links {
    display: none !important;
  }

  .nav {
    padding-inline: clamp(16px, 4vw, 32px) !important;
  }
}

@media (max-width: 640px) {
  .nav {
    padding-block: 12px !important;
  }

  .nav-ctrl-contact {
    display: none !important;
  }

  .nav-right {
    gap: 0 !important;
  }

  .nav-ctrl {
    padding-inline: 8px !important;
  }

  .nav-logo img {
    height: 20px !important;
  }
}


/* r127 i18n rebuild — stable language menu and title wrapping */
.nav,
.nav-right,
.nav-lang-minimal {
  overflow: visible !important;
}

.nav-lang-minimal {
  position: relative !important;
  z-index: 10020 !important;
}

.nav-lang-dropdown {
  z-index: 10030 !important;
  right: 0 !important;
  left: auto !important;
  max-width: min(92vw, 260px) !important;
}

.nav-lang-minimal.is-open .nav-lang-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.pv-showcase-title span,
.pv-showcase-hero-copy h1 span {
  display: inline-block !important;
  margin-left: .13em !important;
}

.pv-showcase-title,
.pv-showcase-hero-copy h1,
.pv-products-head h2,
.pv-paint-h2,
.pv-ref-copy h1,
.ultra-hero h1,
.pv-app-sky-copy h1,
.pv-company-hero-v2 h1,
.pv-news-hero-copy-v2 h1 {
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  line-break: auto !important;
}

.pv-paint-char,
.pv-paint-line {
  display: inline !important;
}

@media (max-width: 760px) {
  .nav-lang-dropdown {
    position: absolute !important;
    right: -8px !important;
    top: calc(100% + 10px) !important;
    min-width: 176px !important;
  }

  .nav-lang-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .pv-showcase-title,
  .pv-showcase-hero-copy h1,
  .pv-products-head h2,
  .pv-paint-h2 {
    font-size: clamp(30px, 9.4vw, 48px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
  }

  .pv-ref-copy h1,
  .ultra-hero h1 {
    font-size: clamp(32px, 9.8vw, 54px) !important;
    line-height: 1.04 !important;
  }

  .pv-showcase-title span,
  .pv-showcase-hero-copy h1 span {
    margin-left: .08em !important;
  }
}
