/* Pyrovolt — Design System v2
   "Dark hero, light canvas" — Energy Made Simple
   ─────────────────────────────────────── */

:root {
  /* ─── Dark canvas (default) ─── */
  --bg: #0B0B0E;
  --bg-soft: #131318;
  --bg-elev: #1A1A20;
  --fg: #F4F2ED;
  --fg-dim: #A6A39C;
  --fg-mute: #6B6963;
  --line: #232328;
  --line-strong: #33333A;

  /* Light blocks (cards / pop-out sections) */
  --dark-bg: #0B0B0E;
  --dark-bg-soft: #131318;
  --dark-bg-elev: #1A1A20;
  --dark-fg: #F4F2ED;
  --dark-fg-dim: #A6A39C;
  --dark-fg-mute: #6B6963;
  --dark-line: #232328;
  --dark-line-strong: #33333A;

  --light-bg: #F5F3EE;
  --light-bg-soft: #ECEAE3;
  --light-bg-elev: #FFFFFF;
  --light-fg: #0E0E0E;
  --light-fg-dim: #55534D;
  --light-fg-mute: #8C8A84;
  --light-line: #DFDCD5;
  --light-line-strong: #C4C1BA;

  /* Accent — Pyrovolt Violet */
  --accent: #8B5CF6;
  --accent-fg: #FFFFFF;
  --accent-soft: #A78BFA;
  --accent-deep: #6D28D9;
  --accent-glow: rgba(139, 92, 246, 0.35);

  /* Type */
  --font-display: "Inter Tight", "Neue Haas Grotesk", Helvetica, Arial, sans-serif;
  --font-body: "Inter Tight", "Neue Haas Grotesk", Helvetica, Arial, sans-serif;
  --font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;
  --font-serif: "Fraunces", Georgia, "Times New Roman", serif;

  /* Density */
  --pad-x: clamp(20px, 4vw, 64px);
  --section-y: clamp(80px, 10vw, 140px);

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.76, 0, 0.24, 1);
}

/* Light theme override (toggleable from tweaks panel) */
[data-theme="light"] {
  --bg: var(--light-bg);
  --bg-soft: var(--light-bg-soft);
  --bg-elev: var(--light-bg-elev);
  --fg: var(--light-fg);
  --fg-dim: var(--light-fg-dim);
  --fg-mute: var(--light-fg-mute);
  --line: var(--light-line);
  --line-strong: var(--light-line-strong);
}

/* Density tweaks */
[data-density="compact"] { --pad-x: clamp(16px, 3vw, 48px); --section-y: clamp(56px, 7vw, 100px); }
[data-density="spacious"] { --pad-x: clamp(28px, 5vw, 88px); --section-y: clamp(120px, 14vw, 220px); }

/* Font tweaks */
[data-font="grotesk"] { --font-display: "Space Grotesk", "Inter Tight", Helvetica, sans-serif; --font-body: "Inter Tight", Helvetica, sans-serif; }
[data-font="serif"] { --font-display: "Fraunces", Georgia, serif; --font-body: "Inter Tight", Helvetica, sans-serif; }
[data-font="mono-display"] { --font-display: "JetBrains Mono", ui-monospace, monospace; --font-body: "Inter Tight", Helvetica, sans-serif; }

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  transition: background 300ms var(--ease-out), color 300ms var(--ease-out);
}

body { font-size: 16px; line-height: 1.5; letter-spacing: -0.005em; }

a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: none; cursor: pointer; }
img { display: block; max-width: 100%; }

/* ─── Block modifiers ─── */
.dark {
  background: var(--dark-bg);
  color: var(--dark-fg);
  --bg: var(--dark-bg);
  --bg-soft: var(--dark-bg-soft);
  --bg-elev: var(--dark-bg-elev);
  --fg: var(--dark-fg);
  --fg-dim: var(--dark-fg-dim);
  --fg-mute: var(--dark-fg-mute);
  --line: var(--dark-line);
  --line-strong: var(--dark-line-strong);
}
.light {
  background: var(--light-bg);
  color: var(--light-fg);
  --bg: var(--light-bg);
  --bg-soft: var(--light-bg-soft);
  --bg-elev: var(--light-bg-elev);
  --fg: var(--light-fg);
  --fg-dim: var(--light-fg-dim);
  --fg-mute: var(--light-fg-mute);
  --line: var(--light-line);
  --line-strong: var(--light-line-strong);
}

/* ─── Italic Fraunces emphasis ─── */
em.it { font-family: var(--font-serif); font-style: italic; font-weight: 500; }

/* ─── Accent CTA strip ─── */
.cta-strip {
  background: linear-gradient(135deg, var(--accent-deep) 0%, var(--accent) 50%, var(--accent-soft) 100%);
  color: #FFFFFF;
  border-radius: 28px;
  padding: 56px 48px;
  position: relative;
  overflow: hidden;
}
.cta-strip::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 80% 50%, rgba(255,255,255,0.18), transparent 60%);
  pointer-events: none;
}

/* ─── Glow utility ─── */
.glow-violet {
  background: radial-gradient(ellipse 60% 50% at 50% 50%, var(--accent-glow), transparent 70%);
}

/* ─── Typography ─── */
.h-display { font-family: var(--font-display); font-weight: 600; font-size: clamp(56px, 10vw, 168px); line-height: 1.05; letter-spacing: -0.045em; text-wrap: balance; padding-bottom: 0.12em; overflow: visible; }
.h-title   { font-family: var(--font-display); font-weight: 600; font-size: clamp(40px, 6vw, 88px); line-height: 0.96; letter-spacing: -0.035em; text-wrap: balance; }
.h-section { font-family: var(--font-display); font-weight: 500; font-size: clamp(30px, 4.5vw, 56px); line-height: 1; letter-spacing: -0.03em; }
.h-eyebrow { font-family: var(--font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg-dim); }
.t-lead    { font-size: clamp(17px, 1.5vw, 21px); line-height: 1.45; letter-spacing: -0.01em; color: var(--fg-dim); text-wrap: pretty; max-width: 60ch; }
.t-mono    { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.04em; }

/* ─── Buttons ─── */
.btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; font-size: 14px; font-weight: 500; border-radius: 999px; border: 1px solid transparent; transition: all 180ms var(--ease-out); white-space: nowrap; }
.btn-primary { background: var(--accent); color: var(--accent-fg); box-shadow: 0 8px 24px var(--accent-glow); }
.btn-primary:hover { transform: translateY(-1px); filter: brightness(1.08); box-shadow: 0 12px 32px var(--accent-glow); }
.btn-ghost { border-color: var(--line-strong); color: var(--fg); }
.btn-ghost:hover { background: var(--bg-elev); border-color: var(--fg-dim); }
.nav[data-dark="true"] .btn-ghost { color: var(--dark-fg); border-color: var(--dark-line-strong); }
.nav[data-dark="true"] .btn-ghost:hover { background: rgba(255,255,255,0.08); border-color: var(--dark-fg-dim); }
.btn-text { padding: 8px 0; border-radius: 0; }
.btn-text::after { content: "→"; transition: transform 220ms var(--ease-out); display: inline-block; }
.btn-text:hover::after { transform: translateX(6px); }
.btn-lg { padding: 18px 28px; font-size: 15px; }

.container { padding-left: var(--pad-x); padding-right: var(--pad-x); }
.section { padding-top: var(--section-y); padding-bottom: var(--section-y); }

/* ─── Nav ─── */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 16px var(--pad-x); transition: all 240ms var(--ease-out); }
.nav[data-dark="true"] { color: var(--dark-fg); }
.nav[data-dark="false"] { color: var(--fg); }
.nav.scrolled { background: color-mix(in oklab, var(--bg) 85%, transparent); backdrop-filter: blur(18px); border-bottom: 1px solid var(--line); }
.nav[data-dark="true"].scrolled { background: color-mix(in oklab, var(--dark-bg) 85%, transparent); border-bottom-color: var(--dark-line); }
.nav-logo { display: flex; align-items: center; }
.nav-logo svg { height: 20px; width: auto; }
.nav-links { display: flex; gap: 2px; align-items: center; }
.nav-link { padding: 10px 14px; font-size: 14px; font-weight: 500; border-radius: 999px; transition: background 160ms, opacity 160ms; position: relative; }
.nav-link:hover { opacity: 0.7; }
.nav-link.active::after { content: ""; position: absolute; bottom: 4px; left: 14px; right: 14px; height: 1px; background: currentColor; opacity: 0.5; }
.nav-right { display: flex; gap: 10px; align-items: center; }

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

/* ─── Tile ─── */
.tile { position: relative; background: var(--bg-elev); border-radius: 24px; overflow: hidden; transition: transform 400ms var(--ease-out), box-shadow 400ms var(--ease-out); cursor: pointer; border: 1px solid var(--line); }
.tile:hover { transform: translateY(-6px); box-shadow: 0 24px 48px rgba(0,0,0,0.08); }
.dark .tile:hover { box-shadow: 0 24px 60px rgba(0,0,0,0.5); }

/* Placeholder */
.placeholder {
  position: relative;
  background:
    repeating-linear-gradient(135deg,
      color-mix(in oklab, var(--fg) 5%, transparent) 0 2px,
      transparent 2px 14px),
    var(--bg-soft);
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  color: var(--fg-mute);
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase;
}

/* ─── Marquee ─── */
.marquee { display: flex; overflow: hidden; gap: 48px; mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.marquee-track { display: flex; gap: 48px; animation: marquee 36s linear infinite; flex-shrink: 0; align-items: center; }
.marquee:hover .marquee-track { animation-play-state: paused; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ─── Reveal on scroll ─── */
.reveal { opacity: 0; transform: translateY(32px); transition: opacity 900ms var(--ease-out), transform 900ms var(--ease-out); }
.reveal.in { opacity: 1; transform: none; }
.reveal-stagger > * { opacity: 0; transform: translateY(24px); transition: opacity 700ms var(--ease-out), transform 700ms var(--ease-out); }
.reveal-stagger.in > * { opacity: 1; transform: none; }
.reveal-stagger.in > *:nth-child(1) { transition-delay: 0ms; }
.reveal-stagger.in > *:nth-child(2) { transition-delay: 80ms; }
.reveal-stagger.in > *:nth-child(3) { transition-delay: 160ms; }
.reveal-stagger.in > *:nth-child(4) { transition-delay: 240ms; }
.reveal-stagger.in > *:nth-child(5) { transition-delay: 320ms; }
.reveal-stagger.in > *:nth-child(6) { transition-delay: 400ms; }

/* ─── Splitting text (line-by-line reveal) ─── */
.split .line { display: block; overflow: clip; padding-bottom: 0.18em; white-space: nowrap; }
.split .line > span { display: inline-block; transform: translateY(110%); transition: transform 900ms var(--ease-out); }
.split.in .line > span { transform: translateY(0); }
.split.in .line:nth-child(2) > span { transition-delay: 100ms; }
.split.in .line:nth-child(3) > span { transition-delay: 200ms; }

/* ─── Hero glow bg pulse ─── */
.hero-glow {
  position: absolute; inset: -10%;
  background: radial-gradient(ellipse 60% 50% at 60% 40%, rgba(255,255,255,0.08), transparent 60%);
  animation: pulse 8s ease-in-out infinite;
  pointer-events: none;
}
@keyframes pulse { 0%, 100% { opacity: 0.8; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); } }

/* ─── Energy sparks (orbit) ─── */
.spark {
  position: absolute;
  width: 3px; height: 3px; border-radius: 50%;
  background: var(--dark-fg);
  box-shadow: 0 0 12px 2px rgba(255,255,255,0.4);
  opacity: 0;
  animation: spark 4s linear infinite;
}
@keyframes spark {
  0% { opacity: 0; transform: translate(var(--sx, 0), var(--sy, 0)) scale(0.4); }
  10% { opacity: 1; }
  90% { opacity: 0.8; }
  100% { opacity: 0; transform: translate(var(--ex, 100px), var(--ey, -100px)) scale(0.2); }
}

/* ─── Bus-flow (like simulator) ─── */
.busflow {
  position: relative;
  background: color-mix(in oklab, var(--accent) 15%, transparent);
  border-radius: 2px;
  overflow: hidden;
}
.busflow::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 40px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  animation: busflow 1.6s linear infinite;
}
@keyframes busflow { 0% { left: -40px; } 100% { left: 100%; } }

/* ─── Count-up number ─── */
.num-counter { font-variant-numeric: tabular-nums; }

/* ─── Horizontal scroll ─── */
.hscroll { overflow-x: auto; scrollbar-width: none; }
.hscroll::-webkit-scrollbar { display: none; }

.divider { height: 1px; background: var(--line); }

/* ─── Tweaks panel ─── */
.tweaks {
  position: fixed; bottom: 20px; right: 20px; z-index: 200;
  background: var(--bg-elev); border: 1px solid var(--line-strong); border-radius: 20px;
  padding: 18px; width: 320px; max-height: 80vh; overflow-y: auto;
  box-shadow: 0 24px 64px rgba(0,0,0,0.15); color: var(--fg);
}
.tweaks h4 { font-family: var(--font-mono); font-size: 10px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg-dim); margin-bottom: 10px; }
.tweaks .tweak-row { margin-bottom: 16px; }
.tweaks .tweak-row:last-child { margin-bottom: 0; }
.tweaks .seg { display: flex; gap: 4px; background: var(--bg-soft); padding: 4px; border-radius: 12px; border: 1px solid var(--line); }
.tweaks .seg button { flex: 1; padding: 7px 8px; font-size: 11px; border-radius: 8px; color: var(--fg-dim); }
.tweaks .seg button.on { background: var(--accent); color: var(--accent-fg); }
.tweaks .swatches { display: flex; gap: 8px; }
.tweaks .swatch { width: 26px; height: 26px; border-radius: 50%; border: 2px solid transparent; cursor: pointer; outline: 1px solid var(--line); }
.tweaks .swatch.on { border-color: var(--fg); }
.tweaks input[type="text"] { width: 100%; background: var(--bg-soft); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; color: var(--fg); font: inherit; }
.tweaks input[type="range"] { width: 100%; }

/* ─── Simulator specific ─── */
.sim-cabinet { background: var(--dark-bg-soft); border: 1px solid var(--dark-line-strong); border-radius: 16px; padding: 16px; color: var(--dark-fg); }
.sim-module { background: var(--dark-bg-elev); border: 1px solid var(--dark-line); border-radius: 10px; padding: 10px 12px; transition: all 200ms var(--ease-out); user-select: none; }
.sim-module:hover { border-color: var(--dark-line-strong); transform: translateY(-2px); }
.sim-module.active { border-color: rgba(132, 204, 22, 0.45); box-shadow: 0 0 24px rgba(132, 204, 22, 0.08); }
.sim-dispenser { background: var(--dark-bg-elev); border: 1px solid var(--dark-line); border-radius: 14px; padding: 14px; text-align: center; transition: all 240ms var(--ease-out); color: var(--dark-fg); }
.sim-dispenser.charging { border-color: rgba(132, 204, 22, 0.5); box-shadow: 0 0 32px rgba(132, 204, 22, 0.12); }
.sim-slider-track { height: 6px; background: var(--dark-line); border-radius: 3px; overflow: hidden; }
.sim-slider-fill { height: 100%; background: var(--dark-fg); border-radius: 3px; transition: width 400ms var(--ease-out); }
.sim-slider-fill.volt { background: #84CC16; }
.sim-slider-fill.warn { background: #F59E0B; }
.sim-slider-fill.crit { background: #EF4444; }

/* Custom range slider — uniform style */
input[type="range"].pv-range { appearance: none; -webkit-appearance: none; width: 100%; height: 4px; background: var(--line-strong); border-radius: 2px; outline: none; }
input[type="range"].pv-range::-webkit-slider-thumb { appearance: none; width: 22px; height: 22px; border-radius: 50%; background: var(--accent); cursor: grab; border: 3px solid var(--bg-elev); box-shadow: 0 2px 8px rgba(0,0,0,0.15); }
input[type="range"].pv-range::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: var(--accent); cursor: grab; border: 3px solid var(--bg-elev); }

/* ─── App (VoltCore) device frame ─── */
.phone {
  width: 290px; aspect-ratio: 9/19.5;
  background: #0A0A0A; border: 10px solid #1A1A1A;
  border-radius: 44px;
  box-shadow: 0 30px 80px rgba(0,0,0,0.35), inset 0 0 0 1px #2a2a2a;
  overflow: hidden; position: relative;
}
.phone::before {
  content: ""; position: absolute; top: 8px; left: 50%; transform: translateX(-50%);
  width: 110px; height: 24px; background: #000; border-radius: 14px; z-index: 3;
}
.phone-screen { width: 100%; height: 100%; overflow: hidden; position: relative; background: #0F0F10; color: #F4F2ED; }


/* ─── Restored index hero — real uploaded assets, no screenshot ─── */
.pv-index-hero{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  padding:122px var(--pad-x) 70px;
  display:flex;
  flex-direction:column;
  align-items:center;
  color:var(--dark-fg);
  background:
    radial-gradient(ellipse 50% 34% at 50% 34%,rgba(255,255,255,.08),rgba(255,255,255,.025) 38%,transparent 72%),
    linear-gradient(180deg,#05060a 0%,#090a0e 58%,#06070a 100%);
  border-bottom:1px solid var(--dark-line);
}
.pv-index-glow{position:absolute;inset:0;background:radial-gradient(ellipse 56% 28% at 50% 92%,rgba(255,255,255,.08),transparent 72%);opacity:.75;pointer-events:none}
.pv-index-stars{position:absolute;inset:0;pointer-events:none;overflow:hidden}.pv-index-stars i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 0 12px rgba(255,255,255,.55);opacity:.55;animation:pv-star 4.8s ease-in-out var(--d) infinite}@keyframes pv-star{0%,100%{opacity:.16;transform:scale(.72)}45%{opacity:.8;transform:scale(1)}}
.pv-index-copy{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;width:min(980px,100%);margin:0 auto}.pv-index-kicker{display:flex;align-items:center;justify-content:center;gap:11px;font-family:var(--font-mono);font-size:11px;line-height:1;letter-spacing:.23em;color:rgba(255,255,255,.64);margin:0 0 31px;text-transform:uppercase}.pv-index-kicker span{width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 18px rgba(255,255,255,.65)}
.pv-index-title{font-family:var(--font-display);font-size:clamp(70px,7.35vw,120px);line-height:.92;letter-spacing:-.072em;font-weight:700;color:#f5f3ef;margin:0;text-wrap:balance}.pv-index-title em{font-family:var(--font-serif);font-style:italic;font-weight:500;letter-spacing:-.035em}.pv-index-lead{margin:29px auto 0;max-width:880px;color:rgba(244,242,237,.67);font-size:clamp(20px,1.6vw,24px);line-height:1.42;letter-spacing:-.035em;text-align:center}.pv-index-actions{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:34px}.pv-index-btn{height:64px;padding:0 32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;letter-spacing:-.02em;transition:transform .18s var(--ease-out),border-color .18s var(--ease-out),background .18s var(--ease-out)}.pv-index-btn:hover{transform:translateY(-2px)}.pv-index-btn-primary{background:#f5f3ef;color:#121212;box-shadow:0 14px 38px rgba(0,0,0,.24)}.pv-index-btn-ghost{border:1px solid rgba(255,255,255,.16);color:#f5f3ef;background:rgba(255,255,255,.018)}.pv-index-btn-ghost:hover{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.045)}
.pv-index-lineup-wrap{position:relative;z-index:1;width:min(740px,75vw);margin-top:auto;height:250px;display:flex;align-items:flex-end;justify-content:center}.pv-index-floor{position:absolute;left:5%;right:5%;bottom:2%;height:46%;background:radial-gradient(ellipse 48% 42% at 50% 62%,rgba(255,255,255,.24),rgba(255,255,255,.07) 44%,transparent 76%);filter:blur(18px);opacity:.58}.pv-index-lineup{position:relative;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 24px 32px rgba(0,0,0,.55));transition:filter .28s var(--ease-out)}.pv-hotspot{position:absolute;bottom:0;top:12%;height:82%;background:transparent;border:0;cursor:pointer;z-index:4}.pv-hotspot span{position:absolute;left:50%;bottom:92%;transform:translateX(-50%) translateY(8px);white-space:nowrap;background:rgba(18,18,22,.82);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.92);font-size:12px;line-height:1;padding:8px 10px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .18s var(--ease-out),transform .18s var(--ease-out);backdrop-filter:blur(10px)}.pv-hotspot.is-active span,.pv-hotspot:focus-visible span{opacity:1;transform:translateX(-50%) translateY(0)}.pv-hotspot:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:12px}.desktop-only{display:inline}
@media(max-width:900px){.pv-index-hero{padding-top:110px;min-height:920px}.pv-index-title{font-size:clamp(58px,14vw,90px)}.pv-index-lead{font-size:18px}.pv-index-lineup-wrap{width:94vw;height:220px}.desktop-only{display:none}.pv-index-btn{height:58px;font-size:15px}}
@media(max-width:560px){.pv-index-lineup-wrap{height:170px}.pv-index-kicker{font-size:9px;letter-spacing:.16em}.pv-index-btn{width:100%;max-width:280px}.pv-index-actions{width:100%}}


/* ─── v10: more alive / premium motion layer ─── */
.pv-index-hero{
  isolation:isolate;
}
.pv-index-hero::after{
  content:"";
  position:absolute;
  inset:-10% -8%;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at calc(50% + (var(--mx,0) * 12%)) calc(36% + (var(--my,0) * 8%)), rgba(255,255,255,.08), transparent 28%),
    radial-gradient(circle at calc(50% - (var(--mx,0) * 10%)) 82%, rgba(139,92,246,.13), transparent 32%);
  opacity:.92;
  transition:background-position .18s var(--ease-out);
}
.pv-index-copy,
.pv-index-lineup-wrap{
  transform:translate3d(calc(var(--mx,0) * -8px), calc(var(--my,0) * -5px), 0);
  transition:transform .22s var(--ease-out);
}
.pv-index-lineup-wrap{
  transform:translate3d(calc(var(--mx,0) * 14px), calc(var(--my,0) * 8px), 0);
}
.pv-index-grid-glow{
  position:absolute;
  left:50%;
  bottom:0;
  width:min(980px,86vw);
  height:330px;
  transform:translateX(-50%);
  pointer-events:none;
  z-index:0;
  opacity:.25;
  background:
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,.07) 50%, transparent 100%),
    repeating-linear-gradient(90deg, transparent 0 58px, rgba(255,255,255,.08) 59px 60px),
    repeating-linear-gradient(0deg, transparent 0 44px, rgba(255,255,255,.055) 45px 46px);
  mask-image:radial-gradient(ellipse 60% 42% at 50% 70%, #000 0%, transparent 74%);
}
.pv-index-particles{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:1;
}
.pv-index-particles i{
  position:absolute;
  left:var(--px);
  top:var(--py);
  width:var(--ps);
  height:var(--ps);
  border-radius:50%;
  background:rgba(255,255,255,.92);
  box-shadow:0 0 14px rgba(255,255,255,.55), 0 0 28px rgba(139,92,246,.22);
  filter:blur(var(--blur));
  opacity:.16;
  animation:pv-particle-drift var(--pt) ease-in-out var(--pd) infinite;
}
@keyframes pv-particle-drift{
  0%,100%{opacity:.08; transform:translate3d(calc(var(--mx,0) * 4px), 0, 0) scale(.7)}
  38%{opacity:.72; transform:translate3d(18px, -32px, 0) scale(1)}
  62%{opacity:.32; transform:translate3d(-12px, -56px, 0) scale(.86)}
}
.pv-index-energy-line{
  position:absolute;
  left:7%;
  right:7%;
  bottom:26px;
  height:1px;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(139,92,246,.22), rgba(255,255,255,.18), rgba(139,92,246,.22), transparent);
  opacity:.5;
}
.pv-index-energy-line::after{
  content:"";
  position:absolute;
  inset:-1px auto -1px 0;
  width:80px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.9), rgba(139,92,246,.7), transparent);
  filter:blur(1px);
  animation:pv-energy-sweep 3.8s linear infinite;
}
.pv-index-energy-line span{
  position:absolute;
  top:50%;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent-soft);
  transform:translate(-50%,-50%);
  box-shadow:0 0 16px rgba(139,92,246,.7);
}
.pv-index-energy-line span:nth-child(1){left:6%}
.pv-index-energy-line span:nth-child(2){left:20%}
.pv-index-energy-line span:nth-child(3){left:36%}
.pv-index-energy-line span:nth-child(4){left:52%}
.pv-index-energy-line span:nth-child(5){left:67%}
.pv-index-energy-line span:nth-child(6){left:78%}
.pv-index-energy-line span:nth-child(7){left:92%}
@keyframes pv-energy-sweep{
  from{transform:translateX(-90px); opacity:0}
  15%{opacity:1}
  82%{opacity:1}
  to{transform:translateX(calc(86vw)); opacity:0}
}

/* More premium scroll / hover behaviour across the existing site */
.reveal,
.reveal-stagger > *{
  will-change:transform, opacity, filter;
  filter:blur(6px);
}
.reveal.in,
.reveal-stagger.in > *{
  filter:blur(0);
}
.tile{
  will-change:transform, box-shadow;
  transform-style:preserve-3d;
}
.tile::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(115deg, transparent 18%, rgba(255,255,255,.09) 48%, transparent 78%);
  transform:translateX(-35%);
  transition:opacity .25s var(--ease-out), transform .65s var(--ease-out);
}
.tile:hover::after{
  opacity:1;
  transform:translateX(35%);
}
.btn,
.pv-index-btn,
.btn-text{
  will-change:transform;
}
.btn:hover,
.pv-index-btn:hover{
  transform:translateY(-2px) scale(1.01);
}
.nav{
  backdrop-filter:blur(0px);
}
.nav.scrolled{
  box-shadow:0 12px 38px rgba(0,0,0,.18);
}
img{
  backface-visibility:hidden;
}
@media (prefers-reduced-motion: reduce){
  .pv-index-stars i,
  .pv-index-particles i,
  .pv-index-energy-line::after,
  .marquee-track,
  .hero-glow,
  .spark{animation:none!important}
  .pv-index-copy,
  .pv-index-lineup-wrap{transform:none!important}
}

/* ─── v11 refinements requested ───
   - no mouse-follow movement in the index hero
   - smaller title / larger lineup
   - more scroll-driven motion
   - richer product cards
   - light/white contrast band
*/
.pv-index-hero{
  padding-top:116px;
  padding-bottom:58px;
}
.pv-index-hero::after{
  background:
    radial-gradient(circle at 50% 34%, rgba(255,255,255,.075), transparent 28%),
    radial-gradient(circle at 50% 84%, rgba(139,92,246,.13), transparent 34%) !important;
}
.pv-index-copy,
.pv-index-lineup-wrap{
  transform:none!important;
}
.pv-index-title{
  font-size:clamp(56px,6.05vw,96px)!important;
  line-height:.94!important;
  letter-spacing:-.064em!important;
}
.pv-index-lead{
  margin-top:24px!important;
  font-size:clamp(18px,1.35vw,22px)!important;
}
.pv-index-actions{
  margin-top:30px!important;
}
.pv-index-lineup-wrap{
  width:min(980px,84vw)!important;
  height:335px!important;
  margin-top:58px!important;
}
.pv-index-lineup{
  transform:translateY(10px) scale(1.08);
}
.pv-index-floor{
  left:0!important;
  right:0!important;
  height:54%!important;
  opacity:.72!important;
  filter:blur(24px)!important;
}
.pv-index-particles i{
  animation-name:pv-particle-drift-soft!important;
}
@keyframes pv-particle-drift-soft{
  0%,100%{opacity:.08; transform:translate3d(0,0,0) scale(.72)}
  42%{opacity:.72; transform:translate3d(14px,-36px,0) scale(1)}
  70%{opacity:.32; transform:translate3d(-10px,-64px,0) scale(.86)}
}
@media(max-width:900px){
  .pv-index-lineup-wrap{width:98vw!important;height:260px!important;margin-top:48px!important}
  .pv-index-title{font-size:clamp(50px,12vw,78px)!important}
}
@media(max-width:560px){
  .pv-index-lineup-wrap{height:190px!important}
}

/* Light band */
.pv-white-band{
  background:linear-gradient(180deg,#f7f6f2 0%,#ece9e2 100%);
  color:#111318;
  padding:clamp(64px,8vw,108px) var(--pad-x);
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(10,10,12,.1);
}
.pv-white-band::before{
  content:"";
  position:absolute;
  inset:-30% -10% auto -10%;
  height:60%;
  background:radial-gradient(ellipse at 50% 0%,rgba(139,92,246,.18),transparent 62%);
  pointer-events:none;
}
.pv-white-intro{
  position:relative;
  max-width:920px;
  margin:0 auto 36px;
  text-align:center;
}
.pv-white-kicker{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#8b5cf6;
  margin-bottom:18px;
}
.pv-white-intro h2{
  font-family:var(--font-display);
  font-size:clamp(36px,5vw,72px);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:650;
  margin:0;
}
.pv-white-intro h2 em{
  font-family:var(--font-serif);
  font-style:italic;
  font-weight:500;
}
.pv-white-intro p{
  margin:18px auto 0;
  max-width:660px;
  color:#626773;
  font-size:18px;
  line-height:1.55;
}
.pv-white-cards{
  position:relative;
  display:grid!important;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
  max-width:1220px;
  margin:0 auto;
}
.pv-white-card{
  position:relative;
  min-height:420px;
  padding:24px;
  border:1px solid rgba(17,19,24,.09);
  border-radius:28px;
  background:rgba(255,255,255,.68);
  box-shadow:0 24px 70px rgba(15,18,24,.08);
  overflow:hidden;
  cursor:pointer;
  transition:transform .45s var(--ease-out), box-shadow .45s var(--ease-out), border-color .3s var(--ease-out);
}
.pv-white-card:hover{
  transform:translateY(-8px);
  border-color:rgba(139,92,246,.35);
  box-shadow:0 38px 90px rgba(15,18,24,.14);
}
.pv-white-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#787d86;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.pv-white-card-top b{color:#111318;font-weight:600}
.pv-white-img{
  height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:8px 0 18px;
  border-radius:22px;
  background:radial-gradient(ellipse at 50% 70%,rgba(139,92,246,.14),transparent 62%);
}
.pv-white-img img{
  max-height:165px;
  max-width:90%;
  object-fit:contain;
  filter:drop-shadow(0 22px 30px rgba(0,0,0,.16));
  transition:transform .45s var(--ease-out);
}
.pv-white-card:hover .pv-white-img img{transform:translateY(-4px) scale(1.045)}
.pv-white-card h3{
  margin:0 0 10px;
  font-family:var(--font-display);
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:650;
  color:#111318;
}
.pv-white-card p{
  color:#5f6670;
  font-size:14.5px;
  line-height:1.55;
  margin:0 0 22px;
}
.pv-white-card button{
  color:#7c3aed;
  font-weight:650;
  font-size:14px;
}
@media(max-width:980px){.pv-white-cards{grid-template-columns:1fr}.pv-white-card{min-height:auto}.pv-white-img{height:210px}}

/* Richer product cards */
.pv-product-card{
  grid-template-columns:minmax(260px,30%) minmax(0,1fr) minmax(238px,25%)!important;
  min-height:330px!important;
  border-radius:30px!important;
  border:1px solid rgba(255,255,255,.105)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.012) 54%,rgba(139,92,246,.045))!important;
  box-shadow:0 20px 70px rgba(0,0,0,.20)!important;
  overflow:hidden!important;
}
.pv-product-card > div:first-child{
  background:radial-gradient(ellipse at 55% 65%,rgba(139,92,246,.17),transparent 58%),linear-gradient(180deg,#17181f,#0b0c10)!important;
  padding:30px!important;
}
.pv-product-card > div:first-child::before{
  content:"";
  position:absolute;
  left:10%;right:10%;bottom:20px;height:28%;
  background:radial-gradient(ellipse,rgba(255,255,255,.18),transparent 65%);
  filter:blur(16px);
  opacity:.5;
}
.pv-product-card > div:first-child img{
  max-height:250px!important;
  transform:translateY(6px);
  transition:transform .45s var(--ease-out),filter .45s var(--ease-out);
}
.pv-product-card:hover > div:first-child img{
  transform:translateY(-5px) scale(1.035);
  filter:drop-shadow(0 30px 48px rgba(0,0,0,.58))!important;
}
.pv-product-card > div:nth-child(2){
  padding:38px 40px!important;
}
.pv-product-card > div:nth-child(2) h3{
  font-size:clamp(34px,3.1vw,48px)!important;
  font-weight:650!important;
  letter-spacing:-.045em!important;
}
.pv-product-card > div:nth-child(2) p{
  max-width:620px;
  font-size:15px!important;
  line-height:1.62!important;
}
.pv-product-card > div:nth-child(3){
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;
  border-left:1px solid rgba(255,255,255,.105)!important;
  padding:34px 30px!important;
}
.pv-product-card .btn-primary{
  background:#f5f3ef!important;
  color:#111318!important;
  box-shadow:none!important;
}
.pv-product-card .btn-primary:hover{
  background:var(--accent)!important;
  color:#fff!important;
}
@media(max-width:980px){
  .pv-product-card{grid-template-columns:1fr!important}
  .pv-product-card > div{border-left:0!important;border-right:0!important}
  .pv-product-card > div:first-child{height:300px!important}
}

/* Extra scroll-driven movement where supported */
@supports (animation-timeline:view()){
  .tile,
  .pv-white-card{
    animation:pv-card-enter both;
    animation-timeline:view();
    animation-range:entry 4% cover 28%;
  }
  .section .h-title,
  .section .h-section,
  .pv-white-intro h2{
    animation:pv-title-enter both;
    animation-timeline:view();
    animation-range:entry 0% cover 32%;
  }
}
@keyframes pv-card-enter{
  from{opacity:.25; transform:translateY(44px) scale(.985); filter:blur(9px)}
  to{opacity:1; transform:translateY(0) scale(1); filter:blur(0)}
}
@keyframes pv-title-enter{
  from{opacity:.25; transform:translateY(34px); filter:blur(8px)}
  to{opacity:1; transform:translateY(0); filter:blur(0)}
}
.pv-scroll-progress{
  position:fixed;
  top:0;left:0;height:2px;width:0%;
  z-index:9999;
  background:linear-gradient(90deg,var(--accent),#fff,var(--accent-soft));
  box-shadow:0 0 18px rgba(139,92,246,.7);
  pointer-events:none;
}


/* ─── v12 additions: live flow + reusable light panels ───────────────── */
.pv-flow-section{
  border-top:1px solid var(--light-line);
  border-bottom:1px solid var(--light-line);
}
.pv-flow-head,
.pv-light-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:34px;
  flex-wrap:wrap;
}
.pv-flow-board{
  position:relative;
  background:linear-gradient(180deg, rgba(139,92,246,.04), rgba(139,92,246,.02));
  border:1px solid var(--light-line);
  border-radius:28px;
  padding:28px;
  overflow:hidden;
}
.pv-flow-board::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 15% 20%, rgba(139,92,246,.07), transparent 26%), radial-gradient(circle at 85% 70%, rgba(139,92,246,.05), transparent 24%);
  pointer-events:none;
}
.pv-flow-beam{
  position:absolute;
  left:56px;
  right:56px;
  top:84px;
  height:2px;
  background:linear-gradient(90deg, rgba(139,92,246,.1), rgba(139,92,246,.25), rgba(139,92,246,.1));
}
.pv-flow-beam span{
  position:absolute;
  top:-3px;
  width:66px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(139,92,246,.55), rgba(139,92,246,.9), transparent);
  filter:blur(1px);
  left:calc((100% - 66px) * (var(--active) / 5));
  transition:left .5s var(--ease-out);
}
.pv-flow-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:18px;
}
.pv-flow-node{
  position:relative;
  text-align:left;
  background:#fff;
  border:1px solid var(--light-line);
  border-radius:20px;
  padding:18px;
  min-height:216px;
  transition:transform .28s var(--ease-out), box-shadow .28s var(--ease-out), border-color .28s var(--ease-out);
  box-shadow:0 8px 26px rgba(16,16,16,.05);
}
.pv-flow-node:hover,
.pv-flow-node.is-active{
  transform:translateY(-6px);
  border-color:rgba(139,92,246,.35);
  box-shadow:0 18px 34px rgba(16,16,16,.08);
}
.pv-flow-index{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.12em;
  color:var(--light-fg-mute);
  margin-bottom:18px;
}
.pv-flow-icon{
  width:46px;height:46px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg, rgba(139,92,246,.12), rgba(139,92,246,.04));
  color:var(--accent-deep);
  font-weight:700;font-size:18px;
  margin-bottom:18px;
}
.pv-flow-node-title{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.03em;margin-bottom:6px;color:var(--light-fg)}
.pv-flow-node-meta{font-size:12px;color:var(--light-fg-mute);margin-bottom:12px}
.pv-flow-node p{font-size:13px;line-height:1.5;color:var(--light-fg-dim)}
.pv-flow-metrics{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.pv-flow-metric,
.pv-light-card{
  background:#fff;
  border:1px solid var(--light-line);
  border-radius:18px;
  padding:20px;
}
.pv-flow-metric strong{display:block;font-family:var(--font-display);font-size:28px;letter-spacing:-.03em;color:var(--light-fg);margin-bottom:4px}
.pv-flow-metric span{font-size:13px;color:var(--light-fg-dim)}
.pv-light-panel{border-top:1px solid var(--light-line);border-bottom:1px solid var(--light-line)}
.pv-light-grid{display:grid;gap:16px}
.pv-light-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.pv-light-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.pv-light-card h3{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.03em;line-height:1.1;margin-bottom:8px;color:var(--light-fg)}
.pv-light-card p{font-size:13px;line-height:1.55;color:var(--light-fg-dim)}
.pv-light-k{font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--light-fg-mute);margin-bottom:10px}
@media(max-width:1100px){
  .pv-flow-grid{grid-template-columns:repeat(3,1fr)}
  .pv-flow-beam{display:none}
  .pv-flow-metrics,.pv-light-grid.cols-4,.pv-light-grid.cols-3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .pv-flow-grid,.pv-flow-metrics,.pv-light-grid.cols-4,.pv-light-grid.cols-3{grid-template-columns:1fr}
  .pv-flow-node{min-height:auto}
}


/* ─── v13: home flow refinements + more micro-animations ─────────────── */
.pv-flow-section{position:relative;background:linear-gradient(180deg,#fff 0%, #fcfbff 100%)}
.pv-flow-board{position:relative;overflow:hidden}
.pv-flow-rail{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
  align-items:start;
  margin-bottom:26px;
  padding:8px 4px 0;
}
.pv-flow-rail-line{
  position:absolute;
  left:4%; right:4%; top:24px; height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(139,92,246,.12), rgba(139,92,246,.28), rgba(139,92,246,.12));
  overflow:hidden;
}
.pv-flow-rail-line::before,
.pv-flow-rail-line::after{
  content:"";
  position:absolute; inset:0;
  background-image:radial-gradient(circle, rgba(139,92,246,.22) 1.2px, transparent 1.3px);
  background-size:32px 4px;
  opacity:.7;
}
.pv-flow-rail-line::after{opacity:.35; transform:translateX(16px)}
.pv-flow-rail-line .stream{
  position:absolute; top:-2px; left:-18%; width:28%; height:8px; border-radius:999px;
  background:linear-gradient(90deg, transparent 0%, rgba(139,92,246,0) 10%, rgba(139,92,246,.75) 55%, rgba(192,132,252,.95) 70%, transparent 100%);
  filter:blur(1px);
}
.pv-flow-rail-line .stream-a{animation:pvFlowRail 5.5s linear infinite}
.pv-flow-rail-line .stream-b{animation:pvFlowRail 5.5s linear 1.8s infinite; opacity:.8}
.pv-flow-rail-line .stream-c{animation:pvFlowRail 5.5s linear 3.4s infinite; opacity:.55}
@keyframes pvFlowRail{from{transform:translateX(0)}to{transform:translateX(430%)}}
.pv-flow-stop{
  position:relative;
  z-index:2;
  background:none; border:0; padding:0;
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
.pv-flow-stop-dot{
  width:18px; height:18px; border-radius:999px; display:grid; place-items:center;
  background:#fff; border:1px solid rgba(139,92,246,.28); box-shadow:0 8px 18px rgba(139,92,246,.12);
}
.pv-flow-stop-dot b{
  width:8px;height:8px;border-radius:999px;background:rgba(139,92,246,.55);display:block;
  transition:transform .3s var(--ease-out), background .3s var(--ease-out), box-shadow .3s var(--ease-out);
}
.pv-flow-stop.is-active .pv-flow-stop-dot b{
  transform:scale(1.2); background:var(--accent-deep); box-shadow:0 0 0 8px rgba(139,92,246,.12), 0 0 0 16px rgba(139,92,246,.06);
}
.pv-flow-stop-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--light-fg-dim)}
.pv-flow-node{overflow:hidden}
.pv-flow-node::before{
  content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background:linear-gradient(90deg, rgba(139,92,246,.18), rgba(139,92,246,.65), rgba(139,92,246,.18));
  transform:scaleX(.35); transform-origin:left center; opacity:.75;
  transition:transform .35s var(--ease-out), opacity .35s var(--ease-out);
}
.pv-flow-node.is-active::before,.pv-flow-node:hover::before{transform:scaleX(1); opacity:1}
.pv-flow-node.is-active .pv-flow-icon,.pv-flow-node:hover .pv-flow-icon{
  transform:translateY(-2px) scale(1.05);
  box-shadow:0 14px 30px rgba(139,92,246,.16);
}
.pv-flow-icon{transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out)}

/* section order makes graph live right after hero; add extra scroll polish */
.section{scroll-margin-top:88px}
.pv-product-card,
.pv-white-card,
.pv-light-card,
.cta-strip{
  transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out), border-color .35s var(--ease-out), background-color .35s var(--ease-out);
}
.pv-product-card:hover,
.pv-white-card:hover,
.pv-light-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 54px rgba(15,15,18,.12);
}
.pv-light-card:hover{border-color:rgba(139,92,246,.26)}
.pv-product-card img,
.pv-white-card img,
.tile img{
  transition:transform .55s var(--ease-out), filter .55s var(--ease-out);
  will-change:transform;
}
.pv-product-card:hover img,
.pv-white-card:hover img,
.tile:hover img{
  transform:translateY(-4px) scale(1.035);
  filter:drop-shadow(0 24px 44px rgba(0,0,0,.22));
}
.cta-strip{overflow:hidden; position:relative}
.cta-strip::before{
  content:""; position:absolute; inset:auto -10% 0 auto; width:38%; height:120%;
  background:radial-gradient(circle, rgba(139,92,246,.16), transparent 62%);
  pointer-events:none;
}
.cta-strip:hover{box-shadow:0 18px 42px rgba(0,0,0,.18)}

/* specs and data areas a bit more alive */
.pv-light-grid .pv-light-card h3,
.pv-white-card h3{transition:color .25s var(--ease-out), transform .25s var(--ease-out)}
.pv-light-card:hover h3,
.pv-white-card:hover h3{color:var(--accent-deep); transform:translateX(2px)}

/* subtle floating motion in home graphic section */
.pv-flow-metric{transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out)}
.pv-flow-metric:hover{transform:translateY(-4px); box-shadow:0 16px 34px rgba(16,16,16,.08)}

/* keep the graph section strong on tablet/mobile */
@media(max-width:1100px){
  .pv-flow-rail{grid-template-columns:repeat(3,1fr); row-gap:18px}
  .pv-flow-rail-line{display:none}
}
@media(max-width:720px){
  .pv-flow-rail{grid-template-columns:repeat(2,1fr)}
}


/* ─── v14: stronger home flow + clearer product detail layout ───────── */
.pv-flow-system{
  margin-top:28px;
  padding:28px;
  border:1px solid rgba(139,92,246,.14);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(249,247,255,.98));
  box-shadow:0 24px 64px rgba(15,15,22,.08);
}
.pv-flow-track{
  position:relative;
  height:6px;
  margin:6px 28px 34px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(139,92,246,.08), rgba(139,92,246,.26), rgba(139,92,246,.08));
  overflow:hidden;
}
.pv-flow-track::before{
  content:""; position:absolute; inset:0;
  background-image:radial-gradient(circle, rgba(139,92,246,.22) 1.2px, transparent 1.3px);
  background-size:34px 6px; opacity:.7;
}
.pv-flow-track .pulse{
  position:absolute; left:-22%; top:-3px; width:22%; height:12px; border-radius:999px;
  background:linear-gradient(90deg, transparent 0%, rgba(139,92,246,0) 10%, rgba(139,92,246,.82) 55%, rgba(192,132,252,.98) 72%, transparent 100%);
  filter:blur(1px);
}
.pv-flow-track .pulse.p1{animation:flowPulse 6s linear infinite}
.pv-flow-track .pulse.p2{animation:flowPulse 6s linear 2s infinite; opacity:.75}
.pv-flow-track .pulse.p3{animation:flowPulse 6s linear 4s infinite; opacity:.5}
@keyframes flowPulse{from{transform:translateX(0)}to{transform:translateX(580%)}}
.pv-flow-stages{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
  align-items:stretch;
}
.pv-flow-stage{
  position:relative;
  appearance:none;
  border:1px solid rgba(17,17,20,.08);
  border-radius:22px;
  background:rgba(255,255,255,.76);
  padding:18px 16px 16px;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out), border-color .35s var(--ease-out), background-color .35s var(--ease-out);
}
.pv-flow-stage:hover,.pv-flow-stage.is-active{
  transform:translateY(-6px);
  border-color:rgba(139,92,246,.28);
  background:rgba(255,255,255,.98);
  box-shadow:0 20px 40px rgba(139,92,246,.12);
}
.pv-flow-stage-badge{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--light-fg-dim);
}
.pv-flow-stage-icon{
  width:58px; height:58px; border-radius:18px; display:grid; place-items:center;
  background:linear-gradient(180deg, rgba(139,92,246,.10), rgba(139,92,246,.04));
  color:var(--accent-deep);
  box-shadow:inset 0 0 0 1px rgba(139,92,246,.1);
  transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out), background-color .35s var(--ease-out);
}
.pv-flow-stage:hover .pv-flow-stage-icon,.pv-flow-stage.is-active .pv-flow-stage-icon{
  transform:scale(1.06);
  box-shadow:inset 0 0 0 1px rgba(139,92,246,.14), 0 12px 28px rgba(139,92,246,.14);
  background:linear-gradient(180deg, rgba(139,92,246,.16), rgba(139,92,246,.06));
}
.pv-flow-stage-icon svg{width:28px; height:28px}
.pv-flow-stage-title{font-family:var(--font-display); font-size:18px; font-weight:600; letter-spacing:-.02em; color:var(--light-fg)}
.pv-flow-stage-meta{font-size:12px; line-height:1.45; color:var(--light-fg-dim)}
.pv-flow-detail{
  margin-top:18px;
  display:grid;
  grid-template-columns:1.3fr .9fr;
  gap:14px;
}
.pv-flow-detail-main,
.pv-flow-detail-side{
  border:1px solid rgba(17,17,20,.08);
  border-radius:24px;
  background:rgba(255,255,255,.8);
  padding:22px;
}
.pv-flow-detail-top{display:flex; gap:16px; align-items:center; margin-bottom:14px}
.pv-flow-detail-icon{
  width:64px; height:64px; border-radius:18px; display:grid; place-items:center; flex:0 0 auto;
  color:var(--accent-deep); background:linear-gradient(180deg, rgba(139,92,246,.12), rgba(139,92,246,.04));
}
.pv-flow-detail-icon svg{width:30px; height:30px}
.pv-flow-detail-main h3{font-family:var(--font-display); font-size:30px; line-height:1; letter-spacing:-.03em; margin:0 0 6px}
.pv-flow-detail-meta{font-size:13px; color:var(--light-fg-dim)}
.pv-flow-detail-main p{margin:0; font-size:15px; line-height:1.75; color:var(--light-fg-dim)}
.pv-flow-detail-side{display:grid; gap:10px; align-content:start}
.pv-flow-side-pill{
  padding:14px 16px; border-radius:16px; background:rgba(139,92,246,.06); color:var(--light-fg);
  border:1px solid rgba(139,92,246,.14); font-size:14px; font-weight:500;
}

.product-detail-split{
  display:grid; grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr); gap:24px; align-items:start;
}
.product-copy-card,
.product-config-card{
  min-width:0;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.015));
  padding:26px 28px;
}
.product-variant-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(190px,1fr)); gap:14px;
}
.product-variant-item{
  min-width:0; padding:18px; border-radius:18px; border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  transition:transform .3s var(--ease-out), border-color .3s var(--ease-out), box-shadow .3s var(--ease-out);
}
.product-variant-item:hover{transform:translateY(-4px); border-color:rgba(139,92,246,.28); box-shadow:0 16px 34px rgba(0,0,0,.16)}
.product-variant-name{font-family:var(--font-display); font-size:22px; line-height:1.1; font-weight:600; margin-bottom:8px}
.product-variant-desc{font-size:13px; line-height:1.55; color:var(--fg-dim)}
.other-models-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:16px}

.specs-grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px;
}
.spec-card{
  border:1px solid var(--line); border-radius:22px; background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.012));
  padding:20px 22px;
}
.spec-card-title{margin-bottom:16px !important}
.spec-card-rows{display:grid; gap:0}
.spec-row{
  display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:18px;
  padding:12px 0; border-top:1px solid var(--line);
}
.spec-row:first-child{border-top:0; padding-top:0}
.spec-key{font-size:13px; color:var(--fg-dim)}
.spec-value{font-size:13px; color:var(--fg); text-align:right; font-weight:600; line-height:1.45; overflow-wrap:anywhere}

@media (max-width: 1180px){
  .pv-flow-stages{grid-template-columns:repeat(3,1fr)}
  .product-detail-split{grid-template-columns:1fr}
}
@media (max-width: 900px){
  .pv-flow-detail{grid-template-columns:1fr}
  .specs-grid{grid-template-columns:1fr}
}
@media (max-width: 720px){
  .pv-flow-system{padding:20px}
  .pv-flow-track{display:none}
  .pv-flow-stages{grid-template-columns:repeat(2,1fr)}
  .spec-row{grid-template-columns:1fr; gap:6px}
  .spec-value{text-align:left}
  .product-copy-card,.product-config-card{padding:22px}
}


/* ─── v15: refined flow SVG icons + product detail polish ───────────── */
.pv-flow-head{align-items:end}
.pv-flow-stage{overflow:hidden}
.pv-flow-stage::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg, rgba(139,92,246,0), rgba(139,92,246,.95), rgba(139,92,246,0));
  transform:scaleX(.22);
  transform-origin:left center;
  transition:transform .35s var(--ease-out), opacity .35s var(--ease-out);
  opacity:.65;
}
.pv-flow-stage:hover::before,
.pv-flow-stage.is-active::before{transform:scaleX(1); opacity:1}
.pv-flow-stage-badge{transition:color .25s var(--ease-out), transform .25s var(--ease-out)}
.pv-flow-stage:hover .pv-flow-stage-badge,
.pv-flow-stage.is-active .pv-flow-stage-badge{color:var(--accent-deep); transform:translateY(-1px)}
.pv-flow-stage-icon{position:relative}
.pv-flow-stage-icon::after{
  content:""; position:absolute; inset:8px; border-radius:14px;
  background:radial-gradient(circle at 50% 35%, rgba(255,255,255,.55), transparent 55%);
  pointer-events:none;
}
.pv-flow-stage-icon svg,
.pv-flow-detail-icon svg{filter:drop-shadow(0 4px 10px rgba(139,92,246,.14))}
.pv-flow-detail-main,
.pv-flow-detail-side{backdrop-filter:blur(10px)}
.pv-flow-side-pill{position:relative; padding-left:42px}
.pv-flow-side-pill::before{
  content:""; position:absolute; left:16px; top:50%; width:10px; height:10px; border-radius:999px;
  transform:translateY(-50%);
  background:linear-gradient(180deg, var(--accent-deep), #c084fc);
  box-shadow:0 0 0 6px rgba(139,92,246,.08);
}

.product-copy-card,
.product-config-card,
.spec-card{
  position:relative;
  overflow:hidden;
}
.product-copy-card::before,
.product-config-card::before,
.spec-card::before{
  content:""; position:absolute; inset:0 auto auto 0; width:100%; height:1px;
  background:linear-gradient(90deg, rgba(139,92,246,.35), rgba(139,92,246,0));
}
.product-copy-pills{display:flex; gap:10px; flex-wrap:wrap}
.product-copy-pill{
  padding:10px 12px; border-radius:999px; border:1px solid rgba(139,92,246,.18);
  background:rgba(139,92,246,.06); color:var(--fg); font-size:12px; font-weight:600;
}
.product-variant-top{
  display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px;
}
.product-variant-index{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-soft)
}
.product-variant-tag{
  padding:6px 10px; border-radius:999px; border:1px solid rgba(139,92,246,.18);
  background:rgba(139,92,246,.06); color:var(--fg-dim); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.08em;
}
.product-variant-name{margin-bottom:10px}
.other-models-grid .tile{
  position:relative;
  overflow:hidden;
  border-radius:20px;
  transition:transform .35s var(--ease-out), border-color .35s var(--ease-out), box-shadow .35s var(--ease-out);
}
.other-models-grid .tile::after{
  content:""; position:absolute; inset:auto 0 0 0; height:2px;
  background:linear-gradient(90deg, rgba(139,92,246,0), rgba(139,92,246,.9), rgba(139,92,246,0));
  opacity:0; transform:scaleX(.3); transition:opacity .3s var(--ease-out), transform .3s var(--ease-out);
}
.other-models-grid .tile:hover{transform:translateY(-5px); border-color:rgba(139,92,246,.24); box-shadow:0 18px 40px rgba(0,0,0,.18)}
.other-models-grid .tile:hover::after{opacity:1; transform:scaleX(1)}
.spec-card:hover{border-color:rgba(139,92,246,.22); box-shadow:0 18px 40px rgba(0,0,0,.14)}
.spec-key{letter-spacing:.01em}
@media (max-width: 900px){
  .pv-flow-head{align-items:start}
}


/* ─── v16 final fine pass: product pages, storage/MT detail, responsive polish ─── */
.section-title-row{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
  flex-wrap:wrap;
}
.section-title-row p{
  max-width:520px;
  color:var(--fg-dim);
  font-size:14px;
  line-height:1.55;
  margin:0;
}

.storage-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(320px,.7fr) minmax(0,.95fr);
  gap:24px;
  align-items:stretch;
}
.capacity-card{
  min-height:245px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:radial-gradient(ellipse at 50% 20%, rgba(139,92,246,.08), transparent 70%);
}

.detail-list{
  display:grid;
  gap:10px;
}
.detail-list-item{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:12px;
  align-items:start;
  padding:14px 0;
  border-top:1px solid var(--line);
}
.detail-list-item:first-child{
  border-top:0;
  padding-top:0;
}
.detail-list-item span{
  width:34px;
  height:34px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.08em;
  color:var(--accent-soft);
  background:rgba(139,92,246,.08);
  border:1px solid rgba(139,92,246,.18);
}
.detail-list-item p{
  margin:0;
  font-size:13.5px;
  line-height:1.55;
  color:var(--fg-dim);
}

.application-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:16px;
}
.application-card{
  position:relative;
  overflow:hidden;
  min-height:160px;
  padding:22px;
  border-radius:22px;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 18% 15%, rgba(139,92,246,.10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  transition:transform .34s var(--ease-out), border-color .34s var(--ease-out), box-shadow .34s var(--ease-out);
}
.application-card::after{
  content:"";
  position:absolute;
  inset:auto -20% -25% auto;
  width:120px;
  height:120px;
  background:radial-gradient(circle, rgba(139,92,246,.14), transparent 70%);
  pointer-events:none;
}
.application-card:hover{
  transform:translateY(-6px);
  border-color:rgba(139,92,246,.24);
  box-shadow:0 20px 44px rgba(0,0,0,.18);
}
.application-index{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.14em;
  color:var(--accent-soft);
  margin-bottom:20px;
}
.application-title{
  font-family:var(--font-display);
  font-size:20px;
  line-height:1.08;
  letter-spacing:-.03em;
  font-weight:600;
  color:var(--fg);
  margin-bottom:10px;
}
.application-desc{
  font-size:13px;
  line-height:1.55;
  color:var(--fg-dim);
}

/* Bring more premium hierarchy to every product detail hero */
.product-detail-split,
.storage-detail-grid{
  margin-top:4px;
}
.product-copy-card,
.product-config-card{
  box-shadow:0 18px 48px rgba(0,0,0,.10);
}
.product-copy-card:hover,
.product-config-card:hover{
  border-color:rgba(139,92,246,.22);
  box-shadow:0 22px 56px rgba(0,0,0,.15);
}

/* Technical specs become easier to read on ultra-wide screens */
.specs-grid{
  align-items:start;
}
.spec-card{
  min-height:100%;
  transition:transform .3s var(--ease-out), border-color .3s var(--ease-out), box-shadow .3s var(--ease-out);
}
.spec-card:hover{
  transform:translateY(-4px);
}
.spec-value{
  max-width:100%;
}

/* Home flow final polish */
.pv-flow-system{
  border-color:rgba(139,92,246,.18);
}
.pv-flow-stage-title{
  min-height:2.15em;
  display:flex;
  align-items:flex-end;
}
.pv-flow-stage-meta{
  min-height:2.9em;
}
.pv-flow-detail{
  animation:pvSoftAppear .42s var(--ease-out);
}
@keyframes pvSoftAppear{
  from{opacity:.82; transform:translateY(3px)}
  to{opacity:1; transform:none}
}

/* Better readable cards on list pages */
.pv-product-card{
  border-radius:26px !important;
}
.pv-product-card .h-eyebrow{
  letter-spacing:.14em;
}

/* Responsive safety: no more crushed product sections */
@media(max-width:1240px){
  .storage-detail-grid{
    grid-template-columns:1fr 1fr;
  }
  .storage-detail-grid > .product-config-card:last-child{
    grid-column:1 / -1;
  }
}
@media(max-width:960px){
  .storage-detail-grid{
    grid-template-columns:1fr;
  }
  .section-title-row{
    align-items:start;
  }
}

/* v41 - final cascade lock for hero sizing */
.pv-hero-suite-section{
  min-height:min(100svh,920px)!important;
  padding-top:clamp(78px,8vh,108px)!important;
}
.pv-hero-suite-copy .pv-index-title{
  font-size:clamp(56px,8.8vw,128px)!important;
  line-height:.86!important;
  max-width:10.8ch!important;
}
.pv-hero-stage{
  height:clamp(238px,27vw,380px)!important;
  min-height:clamp(238px,27vw,380px)!important;
}
.pv-hero-solution-img{
  bottom:6%!important;
  width:min(455px,58vw)!important;
}
.pv-hero-solution-img.is-storage{
  width:min(505px,64vw)!important;
}
.pv-hero-solution-img.is-grid{
  width:min(340px,48vw)!important;
}
.pv-product-page-hero{
  min-height:clamp(560px,78vh,760px)!important;
  padding-top:clamp(118px,12vh,154px)!important;
  padding-bottom:clamp(56px,7vh,90px)!important;
}
.pv-product-page-hero-inner{
  min-height:440px!important;
}
.pv-product-page-copy .h-display{
  font-size:clamp(44px,6.4vw,86px)!important;
  line-height:.91!important;
  max-width:12ch!important;
}
.pv-product-page-copy .t-lead{
  font-size:clamp(16px,1.25vw,20px)!important;
}
.pv-product-page-scene img{
  right:clamp(-90px,-5vw,-24px)!important;
  bottom:clamp(-14px,-1vw,4px)!important;
  width:min(900px,59vw)!important;
  opacity:.9!important;
}
.pv-product-page-hero-storage .pv-product-page-scene img,
.pv-product-page-hero-mt .pv-product-page-scene img{
  width:min(860px,57vw)!important;
}
@media(max-width:960px){
  .pv-product-page-hero{
    min-height:auto!important;
    padding-top:118px!important;
  }
  .pv-product-page-hero-inner{
    min-height:560px!important;
  }
  .pv-product-page-scene img{
    width:min(680px,104vw)!important;
  }
}
@media(max-width:860px){
  .pv-hero-stage{
    height:280px!important;
    min-height:280px!important;
  }
  .pv-hero-solution-img{
    width:min(390px,76vw)!important;
  }
  .pv-hero-solution-img.is-storage{
    width:min(430px,82vw)!important;
  }
  .pv-hero-solution-img.is-grid{
    width:min(300px,60vw)!important;
  }
}

/* v42-tail - guarantee icons render as inline SVG, not the old PNG sprite */
.fixed-guarantee-icon{
  width:64px!important;
  height:64px!important;
  display:block!important;
  color:var(--fg)!important;
  background:none!important;
  background-image:none!important;
  opacity:.9!important;
  filter:none!important;
}
.pv-guarantee-card:hover .fixed-guarantee-icon{
  opacity:1!important;
  color:var(--accent)!important;
}

/* v42 - guarantee icons must render as inline SVG, not the old PNG sprite */
.fixed-guarantee-icon{
  width:64px!important;
  height:64px!important;
  display:block!important;
  color:var(--fg)!important;
  background:none!important;
  background-image:none!important;
  opacity:.9!important;
  filter:none!important;
}
.pv-guarantee-card:hover .fixed-guarantee-icon{
  opacity:1!important;
  color:var(--accent)!important;
}

/* v40 - hero polish + App / Company / News refresh */
.pv-hero-suite-section{
  min-height:min(100svh,920px)!important;
  padding-top:clamp(78px,8vh,108px)!important;
}
.pv-hero-suite-copy .pv-index-title{
  font-size:clamp(56px,8.8vw,128px)!important;
  line-height:.86!important;
  max-width:10.8ch!important;
}
.pv-hero-suite-copy .pv-index-lead{
  max-width:620px!important;
  font-size:clamp(16px,1.35vw,20px)!important;
}
.pv-hero-stage{
  height:clamp(238px,27vw,380px)!important;
  min-height:clamp(238px,27vw,380px)!important;
}
.pv-hero-solution-img{
  bottom:6%!important;
  width:min(455px,58vw)!important;
}
.pv-hero-solution-img.is-storage{
  width:min(505px,64vw)!important;
}
.pv-hero-solution-img.is-grid{
  width:min(340px,48vw)!important;
}
.pv-product-page-hero{
  min-height:clamp(560px,78vh,760px)!important;
  padding-top:clamp(118px,12vh,154px)!important;
  padding-bottom:clamp(56px,7vh,90px)!important;
}
.pv-product-page-hero-inner{
  min-height:440px!important;
}
.pv-product-page-copy .h-display{
  font-size:clamp(44px,6.4vw,86px)!important;
  line-height:.91!important;
  max-width:12ch!important;
}
.pv-product-page-copy .t-lead{
  font-size:clamp(16px,1.25vw,20px)!important;
}
.pv-product-page-scene img{
  right:clamp(-90px,-5vw,-24px)!important;
  bottom:clamp(-14px,-1vw,4px)!important;
  width:min(900px,59vw)!important;
  opacity:.9!important;
}
.pv-product-page-hero-storage .pv-product-page-scene img,
.pv-product-page-hero-mt .pv-product-page-scene img{
  width:min(860px,57vw)!important;
}
.pv-section-kicker{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent-soft);
}

.pv-app-hero,
.pv-company-hero,
.pv-news-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(118px,13vh,158px) 0 clamp(70px,8vh,108px);
  background:
    radial-gradient(ellipse 50% 45% at 78% 52%,rgba(127,64,255,.20),transparent 68%),
    linear-gradient(180deg,#111116 0%,#07080c 72%,#050609 100%);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.pv-app-hero::before,
.pv-company-hero::before,
.pv-news-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse at 70% 50%,#000 0%,transparent 70%);
}
.pv-app-hero-inner,
.pv-company-hero-inner,
.pv-news-hero-inner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(320px,.78fr) minmax(320px,1fr);
  gap:clamp(36px,6vw,92px);
  align-items:center;
}
.pv-app-copy h1,
.pv-company-copy h1,
.pv-news-hero h1{
  margin:18px 0 24px;
  max-width:11.5ch;
  color:var(--dark-fg);
  font-family:var(--font-display);
  font-size:clamp(54px,8vw,112px);
  line-height:.9;
  letter-spacing:-.045em;
}
.pv-app-copy p,
.pv-company-copy p,
.pv-news-hero p{
  max-width:650px;
  color:rgba(244,242,237,.74);
  font-size:clamp(16px,1.35vw,21px);
  line-height:1.55;
}
.pv-company-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:34px;
}

.pv-app-switch{
  display:inline-flex;
  gap:6px;
  margin-top:32px;
  padding:5px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.045);
}
.pv-app-switch button{
  min-height:42px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  color:rgba(244,242,237,.68);
  background:transparent;
  font:600 13px/1 var(--font-body);
}
.pv-app-switch button.is-active{
  color:#07080c;
  background:var(--accent);
}
.pv-app-phone-stage{
  position:relative;
  display:flex;
  justify-content:center;
  min-height:620px;
}
.pv-app-phone-stage::before{
  content:"";
  position:absolute;
  left:10%;
  right:10%;
  bottom:6%;
  height:24%;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.16),rgba(167,139,250,.16) 38%,transparent 72%);
  filter:blur(24px);
}
.pv-app-phone-main{
  position:relative;
  z-index:2;
  transform:rotate(-2deg) translateY(6px);
  box-shadow:0 48px 100px rgba(0,0,0,.55);
}
.pv-app-metrics{
  position:absolute;
  right:0;
  bottom:80px;
  z-index:3;
  display:grid;
  gap:8px;
}
.pv-app-metrics span{
  min-width:150px;
  padding:13px 15px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(9,10,15,.72);
  backdrop-filter:blur(14px);
}
.pv-app-metrics b,
.pv-app-metrics em{
  display:block;
}
.pv-app-metrics b{
  color:var(--dark-fg);
  font-family:var(--font-display);
  font-size:26px;
  line-height:1;
}
.pv-app-metrics em{
  margin-top:4px;
  color:rgba(244,242,237,.54);
  font:11px/1.2 var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pv-app-detail{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) 1fr;
  gap:36px;
  padding-top:92px;
  padding-bottom:44px;
}
.pv-app-detail-copy h2,
.pv-company-principles h2,
.pv-company-coverage h2{
  margin:12px 0 18px;
  font-family:var(--font-display);
  font-size:clamp(40px,5.2vw,72px);
  line-height:.95;
  letter-spacing:-.035em;
}
.pv-app-detail-copy p{
  max-width:560px;
  color:var(--fg-dim);
  font-size:18px;
  line-height:1.55;
}
.pv-app-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.pv-app-feature-grid article{
  min-height:142px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--bg-soft);
}
.pv-app-feature-grid span,
.pv-news-card-visual span{
  font:11px/1 var(--font-mono);
  color:var(--fg-mute);
}
.pv-app-feature-grid h3{
  margin-top:36px;
  font-family:var(--font-display);
  font-size:24px;
  line-height:1.05;
  letter-spacing:-.025em;
}
.pv-app-integrations{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  margin-top:28px;
  margin-bottom:86px;
  padding:30px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--bg-soft);
}
.pv-app-integrations h2{
  margin-top:8px;
  font-family:var(--font-display);
  font-size:clamp(24px,3vw,38px);
  letter-spacing:-.03em;
}

.pv-company-network{
  position:relative;
  min-height:520px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:28px;
  background:
    radial-gradient(circle at 50% 50%,rgba(167,139,250,.18),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  overflow:hidden;
}
.pv-company-network::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.22) 1px,transparent 1.5px);
  background-size:28px 28px;
  opacity:.22;
}
.pv-company-core{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:154px;
  height:154px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--dark-fg);
  border:1px solid rgba(255,255,255,.20);
  background:rgba(6,7,10,.78);
  box-shadow:0 0 80px rgba(167,139,250,.28);
  font:11px/1 var(--font-mono);
  letter-spacing:.16em;
}
.pv-company-node{
  position:absolute;
  width:76px;
  height:76px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(8,9,13,.70);
  color:rgba(244,242,237,.82);
  font:11px/1 var(--font-mono);
  letter-spacing:.1em;
}
.pv-company-node.n-0{left:13%;top:20%}
.pv-company-node.n-1{right:16%;top:18%}
.pv-company-node.n-2{right:10%;bottom:20%}
.pv-company-node.n-3{left:19%;bottom:16%}
.pv-company-node.n-4{left:42%;top:8%}
.pv-company-node.n-5{left:42%;bottom:7%}
.pv-company-network .line{
  position:absolute;
  left:50%;
  top:50%;
  width:34%;
  height:1px;
  transform-origin:left center;
  background:linear-gradient(90deg,rgba(167,139,250,.62),transparent);
}
.pv-company-network .l-1{transform:rotate(218deg)}
.pv-company-network .l-2{transform:rotate(322deg)}
.pv-company-network .l-3{transform:rotate(28deg)}
.pv-company-network .l-4{transform:rotate(146deg)}
.pv-company-network .l-5{transform:rotate(270deg);width:28%}
.pv-company-network .l-6{transform:rotate(90deg);width:28%}
.pv-company-metrics{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--bg);
}
.pv-company-metric-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.pv-company-metric-grid article{
  padding:34px 28px;
  border-left:1px solid var(--line);
}
.pv-company-metric-grid article:first-child{border-left:0}
.pv-company-metric-grid strong{
  display:block;
  font-family:var(--font-display);
  font-size:clamp(36px,4vw,62px);
  line-height:1;
  letter-spacing:-.04em;
}
.pv-company-metric-grid span{
  display:block;
  margin-top:12px;
  font:11px/1 var(--font-mono);
  color:var(--accent-soft);
  text-transform:uppercase;
  letter-spacing:.1em;
}
.pv-company-metric-grid p,
.pv-company-principle-list p,
.pv-company-region-grid p,
.pv-company-region-grid em{
  color:var(--fg-dim);
  line-height:1.55;
}
.pv-company-principles,
.pv-company-coverage{
  padding-top:88px;
  padding-bottom:88px;
}
.pv-company-principle-list{
  margin-top:38px;
  border-top:1px solid var(--line);
}
.pv-company-principle-list article{
  display:grid;
  grid-template-columns:90px minmax(220px,.56fr) 1fr;
  gap:24px;
  padding:26px 0;
  border-bottom:1px solid var(--line);
}
.pv-company-principle-list span{
  font:12px/1 var(--font-mono);
  color:var(--fg-mute);
}
.pv-company-principle-list h3{
  font-family:var(--font-display);
  font-size:28px;
  letter-spacing:-.03em;
}
.pv-company-region-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:34px;
}
.pv-company-region-grid article{
  padding:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--bg-soft);
}
.pv-region-map{
  position:relative;
  height:132px;
  margin-bottom:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    radial-gradient(ellipse at 50% 50%,rgba(167,139,250,.12),transparent 70%);
  background-size:22px 22px,22px 22px,auto;
}
.pv-region-map .pin{
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 18px rgba(167,139,250,.55);
}
.pv-region-map .p-0{left:34%;top:58%}
.pv-region-map .p-1{left:52%;top:42%}
.pv-region-map .p-2{left:48%;top:36%}
.pv-region-map .p-3{left:62%;top:46%}
.pv-region-map .p-a{left:26%;top:50%;opacity:.45}
.pv-region-map .p-b{left:70%;top:62%;opacity:.35}
.pv-company-region-grid h3{
  font-family:var(--font-display);
  font-size:25px;
  letter-spacing:-.03em;
}
.pv-company-region-grid em{
  display:block;
  margin-top:8px;
  font-style:normal;
  font-family:var(--font-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--fg-mute);
}

.pv-news-featured{
  min-height:360px;
  padding:30px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:26px;
  background:
    radial-gradient(ellipse at 78% 26%,rgba(167,139,250,.30),transparent 46%),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  cursor:pointer;
}
.pv-news-featured span,
.pv-news-meta{
  font:11px/1 var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.1em;
  color:rgba(244,242,237,.58);
}
.pv-news-featured strong{
  display:block;
  margin:82px 0 20px;
  color:var(--dark-fg);
  font-family:var(--font-display);
  font-size:clamp(56px,7vw,98px);
  line-height:.85;
  letter-spacing:-.05em;
}
.pv-news-featured h2{
  max-width:520px;
  color:var(--dark-fg);
  font-family:var(--font-display);
  font-size:30px;
  line-height:1.05;
  letter-spacing:-.03em;
}
.pv-news-grid-section{
  padding-top:70px;
  padding-bottom:104px;
}
.pv-news-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.pv-news-card{
  min-height:360px;
  padding:20px;
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--bg-soft);
  cursor:pointer;
  transition:transform .25s ease,border-color .25s ease;
}
.pv-news-card:hover{
  transform:translateY(-3px);
  border-color:color-mix(in oklab,var(--accent) 44%,var(--line));
}
.pv-news-card-visual{
  min-height:154px;
  margin-bottom:22px;
  padding:18px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  border:1px solid var(--line);
  border-radius:16px;
  background:
    linear-gradient(135deg,rgba(167,139,250,.14),transparent 44%),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:auto,20px 20px,20px 20px;
}
.pv-news-card-visual b{
  font-family:var(--font-display);
  font-size:42px;
  line-height:.9;
  letter-spacing:-.045em;
}
.pv-news-card h3{
  margin-top:14px;
  font-family:var(--font-display);
  font-size:26px;
  line-height:1.08;
  letter-spacing:-.03em;
}
.pv-news-card button{
  margin-top:auto;
  align-self:flex-start;
  padding:0;
  border:0;
  background:transparent;
  color:var(--accent);
  font:700 12px/1 var(--font-mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}

@media(max-width:980px){
  .pv-app-hero-inner,
  .pv-company-hero-inner,
  .pv-news-hero-inner,
  .pv-app-detail{
    grid-template-columns:1fr;
  }
  .pv-app-phone-stage{
    min-height:560px;
  }
  .pv-company-network{
    min-height:430px;
  }
  .pv-company-metric-grid,
  .pv-company-region-grid,
  .pv-news-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .pv-company-principle-list article{
    grid-template-columns:60px 1fr;
  }
  .pv-company-principle-list p{
    grid-column:2;
  }
  .pv-product-page-scene img{
    width:min(690px,104vw)!important;
  }
}
@media(max-width:640px){
  .pv-company-metric-grid,
  .pv-company-region-grid,
  .pv-news-grid,
  .pv-app-feature-grid{
    grid-template-columns:1fr;
  }
  .pv-app-integrations{
    display:block;
  }
  .pv-app-integrations .btn{
    margin-top:20px;
  }
  .pv-app-metrics{
    right:8px;
    bottom:30px;
  }
}
@media(max-width:760px){
  .product-variant-grid,
  .application-grid,
  .other-models-grid{
    grid-template-columns:1fr !important;
  }
  .detail-list-item{
    grid-template-columns:38px 1fr;
  }
  .capacity-card{
    min-height:200px;
  }
}


/* ─── v21 index scroll timeline: clear background, stable integrated sidebar ─── */
.index-scroll-flow{
  position:relative;
  background:linear-gradient(180deg,#f7f5ff 0%,#ffffff 48%,#f8f6ff 100%);
  color:#11131a;
  overflow:clip;
  border-top:1px solid rgba(17,17,20,.06);
  border-bottom:1px solid rgba(17,17,20,.06);
}
.index-flow-bg{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 78% 9%, rgba(139,92,246,.16), transparent 28%),
    radial-gradient(circle at 20% 52%, rgba(99,102,241,.10), transparent 26%),
    linear-gradient(90deg, rgba(139,92,246,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(139,92,246,.04) 1px, transparent 1px);
  background-size:auto,auto,64px 64px,64px 64px;
}
.index-flow-layout{
  position:relative;
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:34px;
  padding-top:92px;
  padding-bottom:92px;
}
.flow-sidebar{
  position:sticky;
  top:112px;
  height:calc(100vh - 160px);
  align-self:start;
  display:flex;
  flex-direction:column;
  align-items:center;
  z-index:4;
}
.flow-scroll-label{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  color:#6b6479;
  margin-bottom:18px;
}
.flow-rail{
  position:relative;
  width:72px;
  flex:1;
  min-height:460px;
}
.flow-rail::before{
  content:"";
  position:absolute; left:50%; top:0; bottom:0; width:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg, rgba(139,92,246,.18), rgba(139,92,246,.10));
  border-radius:99px;
}
.flow-rail-progress{
  position:absolute; left:50%; top:0; width:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,#8b5cf6,#c4b5fd);
  border-radius:99px;
  box-shadow:0 0 18px rgba(139,92,246,.34);
  transition:height .55s var(--ease-out);
}
.flow-dot{
  position:absolute;
  left:50%; transform:translate(-50%,-50%);
  width:58px; height:58px;
  border:1px solid rgba(139,92,246,.25);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  display:grid; place-items:center;
  color:#7c3aed;
  box-shadow:0 12px 26px rgba(82,64,130,.10);
  transition:transform .35s var(--ease-out), background .35s var(--ease-out), box-shadow .35s var(--ease-out), border-color .35s var(--ease-out);
}
.flow-dot span{width:28px;height:28px;display:grid;place-items:center}
.flow-dot svg{width:28px;height:28px}
.flow-dot.is-active{
  transform:translate(-50%,-50%) scale(1.12);
  background:linear-gradient(180deg,#ffffff,#f3edff);
  border-color:rgba(139,92,246,.68);
  box-shadow:0 0 0 9px rgba(139,92,246,.08),0 18px 38px rgba(139,92,246,.22);
}
.flow-content{min-width:0}
.flow-intro{max-width:920px;margin:0 auto 46px;text-align:left}
.flow-intro .t-lead{max-width:760px;color:#555366}
.flow-stage-card{
  min-height:620px;
  display:grid;
  grid-template-columns:minmax(330px,.76fr) minmax(0,1.24fr);
  gap:46px;
  align-items:center;
  padding:52px 56px;
  margin-bottom:26px;
  border:1px solid rgba(139,92,246,.14);
  border-radius:34px;
  background:rgba(255,255,255,.75);
  box-shadow:0 24px 70px rgba(31,24,55,.08);
  backdrop-filter:blur(14px);
  transition:opacity .45s var(--ease-out), transform .45s var(--ease-out), box-shadow .45s var(--ease-out), border-color .45s var(--ease-out);
}
.flow-stage-card:not(.is-active){opacity:.72;transform:scale(.985)}
.flow-stage-card.is-active{border-color:rgba(139,92,246,.36);box-shadow:0 34px 90px rgba(86,64,160,.15)}
.flow-stage-copy{position:relative;z-index:2}
.flow-stage-kicker{
  display:flex;align-items:flex-start;gap:18px;
  font-family:var(--font-mono);font-size:12px;line-height:1.35;letter-spacing:.14em;text-transform:uppercase;
  color:#7c3aed;font-weight:800;margin-bottom:22px;
}
.flow-stage-kicker span{font-family:var(--font-display);font-size:52px;line-height:.82;letter-spacing:-.06em;color:#181821;font-weight:700}
.flow-stage-copy h3{font-family:var(--font-display);font-size:clamp(36px,4.2vw,62px);line-height:1.03;letter-spacing:-.055em;margin:0 0 22px;color:#11131a;max-width:12ch}
.flow-stage-copy p{font-size:16px;line-height:1.72;color:#545263;max-width:480px;margin-bottom:30px}
.flow-stage-chips{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.flow-stage-chips span{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#343140}
.flow-stage-chips svg{width:24px;height:24px;color:#8b5cf6}
.flow-stage-link{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:999px;background:linear-gradient(135deg,#6d5dfc,#b257ff);color:#fff;font-weight:700;font-size:14px;box-shadow:0 18px 35px rgba(139,92,246,.22);transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out)}
.flow-stage-link:hover{transform:translateY(-3px);box-shadow:0 22px 42px rgba(139,92,246,.3)}
.flow-stage-visual{position:relative;min-height:420px;display:grid;place-items:center;overflow:visible}
.stage-svg{width:min(760px,100%);height:auto;overflow:visible;color:#8b5cf6}
.stage-svg .svg-object{filter:drop-shadow(0 20px 45px rgba(139,92,246,.18));transition:transform .7s var(--ease-out), opacity .7s var(--ease-out)}
.stage-svg:not(.is-active) .svg-object{opacity:.82;transform:translateY(8px)}
.stage-svg.is-active .svg-transformer{animation:floatSvg 5.6s ease-in-out infinite}
.stage-svg.is-active .svg-cells{animation:floatSvg 5.6s ease-in-out .2s infinite}
.stage-svg.is-active .svg-house{animation:floatSvg 5.6s ease-in-out .35s infinite}
.stage-svg.is-active .svg-container{animation:floatSvg 5.6s ease-in-out infinite}
.stage-svg.is-active .svg-charger{animation:floatSvg 5.6s ease-in-out infinite}
.stage-svg.is-active .svg-car{animation:floatSvg 5.6s ease-in-out .28s infinite}
.stage-svg .svg-energy-trace{stroke-dasharray:16 12;animation:dashFlow 2.6s linear infinite}
.stage-svg .svg-node{filter:url(#pvGlow);animation:nodePulse 2.4s ease-in-out infinite}
@keyframes dashFlow{to{stroke-dashoffset:-56}}
@keyframes floatSvg{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes nodePulse{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}
@media(max-width:1100px){
  .index-flow-layout{grid-template-columns:1fr}.flow-sidebar{display:none}.flow-stage-card{grid-template-columns:1fr;min-height:auto;padding:42px 32px}.flow-stage-visual{min-height:330px}.flow-stage-copy h3{max-width:16ch}
}
@media(max-width:720px){
  .index-flow-layout{padding-top:62px;padding-bottom:62px}.flow-stage-card{padding:30px 22px;border-radius:26px}.flow-stage-kicker span{font-size:42px}.flow-stage-chips{gap:10px}.flow-stage-visual{min-height:260px}
}

/* ─── v22 cinematic index flow: close to provided reference ───────────── */
.cinema-flow{
  position:relative;
  background:#050914;
  color:#fff;
  overflow:clip;
  border-top:1px solid rgba(255,255,255,.06);
}
.cinema-bg{position:absolute;inset:0;background:radial-gradient(circle at 72% 8%,rgba(139,92,246,.20),transparent 26%),radial-gradient(circle at 12% 34%,rgba(59,130,246,.10),transparent 24%),linear-gradient(180deg,#030711,#06101d 54%,#060816);pointer-events:none}
.cinema-waves{position:absolute;inset:0;opacity:.75;pointer-events:none;mix-blend-mode:screen}.cinema-waves svg{position:sticky;top:80px;width:100%;height:520px}.wave-hot{stroke-dasharray:360 800;animation:waveTravel 8s linear infinite}@keyframes waveTravel{to{stroke-dashoffset:-1160}}
.cinema-layout{position:relative;display:grid;grid-template-columns:132px minmax(0,1fr);max-width:1520px;margin:0 auto;padding:0 52px 0 0}.cinema-rail{position:relative;align-self:stretch;min-height:100%;display:block;z-index:3;overflow:visible}.cinema-scroll{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;color:rgba(255,255,255,.78);position:sticky;top:32px;left:0;text-align:center;margin:0 auto;width:100%;height:0;z-index:4}.cinema-line{position:absolute;top:76px;bottom:76px;left:50%;transform:translateX(-50%);width:2px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(167,139,250,.25),rgba(96,165,250,.16),rgba(255,255,255,.08));border-radius:999px}.cinema-line>i{position:absolute;top:0;left:0;width:100%;border-radius:999px;background:linear-gradient(180deg,#fff,#c084fc,#60a5fa);box-shadow:0 0 18px rgba(167,139,250,.7);transition:height .09s linear}
.cinema-dot{position:absolute;left:50%;width:62px;height:62px;border-radius:999px;border:1px solid rgba(167,139,250,.38);background:rgba(6,8,18,.82);color:#c4b5fd;display:grid;place-items:center;transition:box-shadow .35s,background .35s,border-color .35s,opacity .35s,color .35s;backdrop-filter:blur(12px);transform:translate(-50%,-50%)}.cinema-dot span{width:34px;height:34px;display:block}.cinema-dot svg{width:100%;height:100%}.cinema-dot.is-active{color:#fff;border-color:#e9d5ff;background:rgba(139,92,246,.20);box-shadow:0 0 0 10px rgba(167,139,250,.07),0 0 36px rgba(167,139,250,.48)}
.cinema-stages{position:relative}.cinema-stage{min-height:calc(100vh - 88px);display:grid;grid-template-columns:minmax(330px,430px) minmax(0,1fr);gap:42px;align-items:center;border-bottom:1px solid rgba(255,255,255,.065);padding:76px 0;opacity:.42;filter:saturate(.65);transition:opacity .45s var(--ease-out),filter .45s var(--ease-out)}.cinema-stage.is-active{opacity:1;filter:saturate(1)}.cinema-copy{position:relative;z-index:2}.cinema-kicker{display:flex;gap:22px;align-items:flex-start;margin-bottom:26px}.cinema-kicker b{font-family:var(--font-display);font-size:52px;line-height:.86;letter-spacing:-.04em}.cinema-kicker span{font-family:var(--font-mono);font-size:13px;line-height:1.38;letter-spacing:.14em;text-transform:uppercase;color:#c084fc;font-weight:700;max-width:230px}.cinema-copy h2{font-family:var(--font-display);font-size:clamp(42px,4.2vw,64px);line-height:1.02;letter-spacing:-.055em;margin:0 0 24px;text-wrap:balance}.cinema-copy p{max-width:430px;font-size:16px;line-height:1.72;color:rgba(255,255,255,.70);margin-bottom:34px}.cinema-chips{display:flex;gap:32px;flex-wrap:wrap;margin-bottom:32px}.cinema-chips span{display:flex;flex-direction:column;align-items:center;gap:9px;font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.84)}.cinema-chips svg{width:32px;height:32px;color:#a855f7;filter:drop-shadow(0 0 10px rgba(168,85,247,.42))}.cinema-copy a{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;border-radius:999px;background:linear-gradient(90deg,#60a5fa,#a855f7);color:#fff;font-weight:700;box-shadow:0 16px 42px rgba(139,92,246,.28);transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out)}.cinema-copy a:hover{transform:translateY(-3px);box-shadow:0 22px 56px rgba(139,92,246,.38)}.cinema-stage:not(:last-of-type) .cinema-copy a{display:none}
.cinema-visual{position:relative;min-height:440px;display:flex;align-items:center;justify-content:center}.neon-scene{width:100%;max-width:880px;height:auto;overflow:visible}.neon-scene *{vector-effect:non-scaling-stroke}.cinema-energy{stroke-dasharray:180 620;animation:energyDash 5.5s linear infinite;filter:drop-shadow(0 0 10px rgba(167,139,250,.65))}@keyframes energyDash{to{stroke-dashoffset:-800}}.neon-object{filter:drop-shadow(0 0 18px rgba(167,139,250,.35));animation:floatNeon 6.5s ease-in-out infinite}.neon-object.slow{animation-duration:8.5s;animation-delay:-1.8s}.neon-globe{filter:drop-shadow(0 0 28px rgba(167,139,250,.38));animation:floatNeon 8s ease-in-out infinite}@keyframes floatNeon{50%{transform:translateY(-10px)}}.cinema-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:34px 0 54px}.cinema-benefits>div{display:grid;grid-template-columns:42px 1fr;gap:16px;align-items:start;color:rgba(255,255,255,.78)}.cinema-benefits svg{width:34px;height:34px;color:#c084fc}.cinema-benefits b{display:block;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.cinema-benefits p{font-size:13px;line-height:1.45;margin:0;color:rgba(255,255,255,.56)}
@media(max-width:1100px){.cinema-layout{grid-template-columns:84px minmax(0,1fr);padding-right:28px}.cinema-stage{grid-template-columns:1fr;gap:20px}.cinema-visual{min-height:340px}.cinema-benefits{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.cinema-layout{display:block;padding:0 20px}.cinema-rail{display:none}.cinema-stage{min-height:auto;padding:60px 0}.cinema-kicker b{font-size:40px}.cinema-chips{gap:18px}.cinema-benefits{grid-template-columns:1fr}.cinema-copy a{display:inline-flex!important}}

/* v25: sticky sidebar — active dot always at viewport 50vh, others animate around it */
.cinema-layout{align-items:flex-start}
.cinema-stage{transform:translateY(12px);transition:opacity .45s var(--ease-out),filter .45s var(--ease-out),transform .45s var(--ease-out)}
.cinema-stage.is-active{transform:translateY(0)}
.neon-scene{transform:translateY(18px) scale(.965);opacity:.70;transition:transform .7s var(--ease-out),opacity .7s var(--ease-out),filter .7s var(--ease-out)}
.cinema-stage.is-active .neon-scene{transform:translateY(0) scale(1);opacity:1;filter:drop-shadow(0 0 28px rgba(139,92,246,.16))}
.scene-main,.scene-secondary{transform-origin:center;animation:none}
.spark-node{opacity:1}
.neon-orbit{stroke-dasharray:18 20;animation:orbitSpin 22s linear infinite}
@keyframes dotSignal{to{transform:translate(-50%,-50%)}}
@keyframes orbitSpin{to{stroke-dashoffset:-220}}
.energy-network-scene{max-width:900px}
.network-particle{transform-box:fill-box;transform-origin:center;animation:networkTwinkle 6s ease-in-out infinite}
.network-particle:nth-of-type(3n){animation-delay:-1.4s}
.network-particle:nth-of-type(4n){animation-delay:-2.8s}
.network-link-live{stroke-dasharray:12 18;animation:networkFlow 3.8s linear infinite;filter:drop-shadow(0 0 8px rgba(196,181,253,.48))}
.network-orbit{animation:networkFlow 18s linear infinite}
.network-hub{transition:opacity .45s var(--ease-out),filter .45s var(--ease-out)}
.network-hub:not(.is-active){opacity:.58}
.network-hub.is-active{filter:drop-shadow(0 0 24px rgba(167,139,250,.36))}
.network-mini{filter:drop-shadow(0 0 12px rgba(196,181,253,.24))}
.network-callout{filter:drop-shadow(0 18px 32px rgba(0,0,0,.32))}
@keyframes networkFlow{to{stroke-dashoffset:-120}}
@keyframes networkTwinkle{0%,100%{opacity:.08}50%{opacity:.22}}
@supports (animation-timeline:view()){
  .cinema-stage .scene-main{
    animation:sceneDrift linear both;
    animation-timeline:auto, view();
    animation-range:entry 8% exit 92%;
  }
}
@keyframes sceneDrift{
  from{translate:0 12px;opacity:.72}
  45%,60%{translate:0 0;opacity:1}
  to{translate:0 -10px;opacity:.70}
}

/* v27: Stripe-like particle sculptures per section, scrollbar kept intact */
.cinema-stage{
  grid-template-columns:minmax(330px,430px) minmax(520px,1fr);
}
.cinema-copy{
  align-self:center;
}
.cinema-chips{
  gap:10px;
  margin-bottom:30px;
}
.cinema-chips span{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(196,181,253,.18);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.72);
  font-size:11px;
  line-height:1;
  letter-spacing:.08em;
  backdrop-filter:blur(10px);
}
.cinema-visual{
  min-height:520px;
  justify-content:flex-end;
  align-self:center;
}
.particle-sculpture{
  position:relative;
  width:min(820px,100%);
  min-height:560px;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
}
.particle-sculpture::before{
  content:"";
  position:absolute;
  inset:30px 0 10px;
  background:
    radial-gradient(circle at 58% 36%,rgba(255,255,255,.16),transparent 12%),
    radial-gradient(circle at 44% 50%,rgba(168,85,247,.16),transparent 34%),
    radial-gradient(circle at 66% 64%,rgba(96,165,250,.12),transparent 30%);
  filter:blur(10px);
  opacity:.86;
  pointer-events:none;
}
.particle-header{
  position:absolute;
  left:34px;
  top:34px;
  z-index:3;
  display:grid;
  gap:8px;
}
.particle-header span{
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  color:rgba(255,255,255,.52);
}
.particle-header b{
  font-family:var(--font-display);
  font-size:clamp(25px,2vw,34px);
  line-height:1;
  letter-spacing:-.045em;
  color:#fff;
}
.particle-canvas{
  position:relative;
  z-index:1;
  width:100%;
  height:auto;
  overflow:visible;
  filter:drop-shadow(0 24px 58px rgba(88,28,135,.20));
}
.particle-aura{
  animation:particleAura 7.5s ease-in-out infinite;
}
.particle-object{
  transform-box:fill-box;
  transform-origin:center;
  animation:particleTurn 28s ease-in-out infinite;
}
.particle-dot{
  transform-box:fill-box;
  transform-origin:center;
  animation:particleBreath 5.8s ease-in-out infinite;
  filter:drop-shadow(0 0 6px currentColor);
}
.particle-link{
  stroke-width:1.2;
  stroke-linecap:round;
  stroke-dasharray:8 18;
  animation:particleDash 7s linear infinite;
}
.particle-current{
  stroke-linecap:round;
  stroke-dasharray:120 520;
  animation:particleCurrent 9s linear infinite;
}
.particle-current-b{
  animation-duration:12s;
  animation-delay:-3s;
}
.particle-insights{
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
}
.particle-insight{
  position:absolute;
  width:28px;
  height:28px;
  margin:-14px 0 0 -14px;
  border:0;
  padding:0;
  border-radius:999px;
  background:transparent;
  box-shadow:none;
  pointer-events:auto;
  cursor:default;
  transition:transform .24s var(--ease-out),opacity .24s var(--ease-out);
}
.particle-insight:hover,
.particle-insight:focus-visible{
  transform:scale(1.08);
}
.particle-insight::after{
  content:"";
  position:absolute;
  left:20px;
  top:14px;
  width:58px;
  height:1px;
  background:linear-gradient(90deg,rgba(185,211,255,.72),rgba(185,211,255,.22),rgba(185,211,255,0));
  transform-origin:left center;
  opacity:.48;
}
.particle-insight.card-left::after{
  left:auto;
  right:20px;
  background:linear-gradient(270deg,rgba(185,211,255,.72),rgba(185,211,255,.22),rgba(185,211,255,0));
  transform-origin:right center;
}
.particle-insight.card-up::after{
  width:1px;
  height:48px;
  left:14px;
  top:auto;
  bottom:20px;
  background:linear-gradient(0deg,rgba(185,211,255,.72),rgba(185,211,255,.22),rgba(185,211,255,0));
}
.particle-insight.insight-2::after{width:54px;transform:rotate(5deg)}
.particle-insight.insight-3::after{width:50px;transform:rotate(-6deg)}
.particle-insight.card-left.insight-2::after{transform:rotate(-5deg)}
.particle-insight.card-left.insight-3::after{transform:rotate(6deg)}
.particle-insight.card-up.insight-3::after{width:1px;height:48px;transform:none}
.insight-pulse{
  position:absolute;
  left:50%;
  top:50%;
  width:5px;
  height:5px;
  margin:-2.5px 0 0 -2.5px;
  border:1px solid rgba(255,255,255,.92);
  background:rgba(255,255,255,.94);
  border-radius:999px;
  box-shadow:0 0 0 6px rgba(142,187,255,.08),0 0 18px rgba(117,190,255,.58);
}
.insight-pulse::after{
  content:"";
  position:absolute;
  inset:-8px;
  border:1px solid rgba(185,211,255,.18);
  border-radius:inherit;
}
.insight-label{
  position:absolute;
  left:84px;
  top:50%;
  color:rgba(238,243,255,.76);
  font-family:var(--font-mono);
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:0;
  text-transform:uppercase;
  white-space:nowrap;
  opacity:.44;
  transform:translateY(-50%);
  pointer-events:none;
  transition:opacity .2s var(--ease-out),color .2s var(--ease-out),transform .2s var(--ease-out);
}
.particle-insight.card-left .insight-label{
  left:auto;
  right:84px;
}
.particle-insight.card-up .insight-label{
  left:50%;
  top:auto;
  bottom:74px;
  transform:translateX(-50%);
}
.particle-insight:hover .insight-label,
.particle-insight:focus-visible .insight-label{
  color:rgba(255,255,255,.92);
  opacity:.92;
  transform:translateY(-50%) translateX(3px);
}
.particle-insight.card-left:hover .insight-label,
.particle-insight.card-left:focus-visible .insight-label{
  transform:translateY(-50%) translateX(-3px);
}
.particle-insight.card-up:hover .insight-label,
.particle-insight.card-up:focus-visible .insight-label{
  transform:translateX(-50%) translateY(-3px);
}
.cinema-stage:not(.is-active) .particle-sculpture{
  opacity:.62;
}
.cinema-stage:not(.is-active) .particle-object{
  animation-play-state:paused;
}
.cinema-stage.is-active .particle-sculpture{
  opacity:1;
}
@keyframes particleTurn{
  0%,100%{transform:rotate(-1.4deg) scale(1)}
  50%{transform:rotate(1.8deg) scale(1.01)}
}
@keyframes particleBreath{
  0%,100%{transform:scale(.9)}
  50%{transform:scale(1.08)}
}
@keyframes particleDash{
  to{stroke-dashoffset:-260}
}
@keyframes particleCurrent{
  to{stroke-dashoffset:-640}
}
@keyframes particleAura{
  0%,100%{opacity:.58;transform:scale(.99)}
  50%{opacity:.88;transform:scale(1.025)}
}
@keyframes insightPulse{
  0%,100%{opacity:.85;transform:scale(.95)}
  50%{opacity:1;transform:scale(1.22)}
}

/* v28: real particle-render assets replacing generated sculptures */
.asset-sculpture{
  position:relative;
  width:min(820px,100%);
  min-height:560px;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
  opacity:1;
  transition:opacity .45s var(--ease-out),filter .45s var(--ease-out);
}
.asset-sculpture::before{
  content:"";
  position:absolute;
  inset:42px 24px 26px;
  background:
    radial-gradient(circle at 50% 47%,rgba(196,181,253,.18),transparent 34%),
    radial-gradient(circle at 64% 62%,rgba(96,165,250,.11),transparent 30%),
    radial-gradient(circle at 34% 32%,rgba(244,114,182,.08),transparent 28%);
  filter:blur(14px);
  opacity:.66;
  pointer-events:none;
}
.asset-glow{
  position:absolute;
  inset:80px 70px 60px;
  z-index:0;
  border-radius:999px;
  background:radial-gradient(ellipse at center,rgba(167,139,250,.14),rgba(96,165,250,.045) 42%,transparent 70%);
  filter:blur(28px);
  transform:scaleX(1.12);
  pointer-events:none;
}
.asset-header{
  z-index:5;
}
.asset-stage{
  position:relative;
  z-index:2;
  width:100%;
  min-height:520px;
  display:grid;
  place-items:center;
  perspective:900px;
}
.asset-stage::before{
  content:"";
  position:absolute;
  left:12%;
  right:8%;
  bottom:58px;
  height:72px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(20,18,45,.50),rgba(20,18,45,.20) 44%,transparent 72%);
  filter:blur(18px);
  opacity:.82;
  transform:rotate(-2deg);
}
.asset-object{
  position:relative;
  z-index:2;
  display:block;
  width:min(590px,88%);
  height:auto;
  object-fit:contain;
  filter:
    saturate(1.05)
    contrast(1.02)
    drop-shadow(0 26px 48px rgba(26,13,55,.32))
    drop-shadow(0 0 24px rgba(167,139,250,.18));
  transform-origin:center;
  animation:assetFloat 8.5s ease-in-out infinite;
  user-select:none;
  -webkit-user-drag:none;
}
.asset-container .asset-object{
  width:min(650px,94%);
  transform:translateX(12px) rotateX(0deg);
}
.asset-charger .asset-object{
  width:min(510px,78%);
  transform:translateX(28px);
}
.asset-bolt .asset-object{
  width:min(510px,76%);
  transform:rotate(-2deg);
}
.asset-globe .asset-object{
  width:min(590px,86%);
  animation-duration:12s;
}
.asset-microlabels{
  z-index:7;
}
.asset-microlabel{
  opacity:.68;
}
.asset-microlabel .insight-pulse{
  width:4px;
  height:4px;
  margin:-2px 0 0 -2px;
  background:rgba(255,255,255,.95);
  box-shadow:0 0 0 5px rgba(142,187,255,.08),0 0 16px rgba(196,181,253,.58);
}
.asset-microlabel .insight-label{
  font-size:9px;
  opacity:.50;
}
.asset-microlabel:hover .insight-label,
.asset-microlabel:focus-visible .insight-label{
  opacity:.96;
}
.cinema-stage:not(.is-active) .asset-sculpture{
  opacity:.58;
  filter:saturate(.86);
}
.cinema-stage:not(.is-active) .asset-object{
  animation-play-state:paused;
}
.cinema-stage.is-active .asset-sculpture{
  opacity:1;
}
@keyframes assetFloat{
  0%,100%{translate:0 0;scale:1}
  50%{translate:0 -12px;scale:1.012}
}
@media(max-width:1100px){
  .asset-sculpture{min-height:470px}
  .asset-stage{min-height:450px}
  .asset-container .asset-object{width:min(620px,94%)}
  .asset-charger .asset-object{width:min(440px,72%)}
  .asset-bolt .asset-object{width:min(430px,72%)}
  .asset-globe .asset-object{width:min(520px,84%)}
}
@media(max-width:720px){
  .asset-sculpture{min-height:380px}
  .asset-stage{min-height:350px}
  .asset-header{left:18px;top:18px}
  .asset-container .asset-object{width:min(520px,105%)}
  .asset-charger .asset-object{width:min(350px,74%)}
  .asset-bolt .asset-object{width:min(340px,74%)}
  .asset-globe .asset-object{width:min(410px,86%)}
  .asset-microlabel{display:none}
}

/* v29: integral solutions alignment + meaningful micro callouts */
.cinema-line{
  transition:top .28s var(--ease-out),bottom .28s var(--ease-out);
}
.cinema-line>i{
  max-height:100%;
}
.cinema-dot{
  width:58px;
  height:58px;
  transition:top .28s var(--ease-out),box-shadow .35s,background .35s,border-color .35s,opacity .35s,color .35s;
}
.cinema-dot span{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
}
.cinema-dot svg{
  display:block;
}
.cinema-kicker{
  align-items:center;
  min-height:56px;
  margin-bottom:22px;
}
.cinema-kicker b{
  width:68px;
  flex:0 0 68px;
  text-align:left;
}
.cinema-kicker span{
  max-width:280px;
}
.cinema-copy h2{
  max-width:10.8ch;
}
.cinema-copy p{
  max-width:465px;
}
.cinema-chips{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,max-content));
  align-items:center;
  gap:10px;
}
.cinema-chips span{
  position:relative;
  min-width:0;
  justify-content:center;
  padding:0 13px 0 28px;
  white-space:nowrap;
}
.cinema-chips span::before{
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  width:6px;
  height:6px;
  border-radius:999px;
  background:#c4b5fd;
  box-shadow:0 0 12px rgba(196,181,253,.72);
  transform:translateY(-50%);
}
.asset-header{
  left:36px;
  top:34px;
}
.asset-header b{
  max-width:11ch;
}
.asset-microlabel{
  width:34px;
  height:34px;
  margin:-17px 0 0 -17px;
  opacity:.78;
}
.asset-microlabel .insight-pulse{
  width:5px;
  height:5px;
  margin:-2.5px 0 0 -2.5px;
  box-shadow:0 0 0 6px rgba(142,187,255,.08),0 0 18px rgba(196,181,253,.62);
}
.asset-microlabel .insight-label{
  font-size:10px;
  line-height:1;
  color:rgba(238,243,255,.82);
  opacity:.62;
  text-shadow:0 0 14px rgba(14,18,35,.72);
}
.asset-microlabel:hover .insight-label,
.asset-microlabel:focus-visible .insight-label{
  opacity:1;
}
.asset-bolt .asset-header,
.asset-charger .asset-header{
  left:42px;
}
.asset-container .asset-header{
  left:30px;
}
.asset-globe .asset-header{
  left:38px;
}
@media(max-width:1100px){
  .cinema-chips{grid-template-columns:repeat(3,max-content)}
  .cinema-copy h2{max-width:13ch}
}
@media(max-width:720px){
  .cinema-kicker{min-height:0}
  .cinema-kicker b{width:auto;flex:0 0 auto}
  .cinema-chips{display:flex}
}

/* Legacy technical scene styles kept for dormant components below. */
.technical-scene{
  width:min(760px,100%);
  min-height:470px;
  display:grid;
  align-items:center;
}
.technical-panel{
  position:relative;
  width:100%;
  min-height:470px;
  border:1px solid rgba(196,181,253,.16);
  border-radius:30px;
  background:
    radial-gradient(circle at 78% 12%,rgba(168,85,247,.18),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
}
.technical-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(180deg,transparent,#000 16%,#000 84%,transparent);
  opacity:.34;
  pointer-events:none;
}
.technical-topline{
  position:absolute;
  left:26px;
  right:26px;
  top:22px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.58);
}
.technical-topline b{
  color:#fff;
  font-weight:800;
  letter-spacing:.06em;
}
.technical-stage{
  position:absolute;
  inset:40px 18px 64px;
  display:grid;
  place-items:center;
}
.technical-svg{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
}
.technical-svg *{
  vector-effect:non-scaling-stroke;
}
.tech-main-object{
  transform-origin:center;
  transition:opacity .55s var(--ease-out),transform .55s var(--ease-out);
}
.cinema-stage:not(.is-active) .tech-main-object{
  opacity:.62;
  transform:translateY(8px) scale(.985);
}
.cinema-stage.is-active .tech-main-object{
  opacity:1;
  transform:translateY(0) scale(1);
}
.tech-flow-line{
  stroke-dasharray:18 16;
  animation:techFlow 4.2s linear infinite;
  filter:drop-shadow(0 0 10px rgba(196,181,253,.48));
}
@keyframes techFlow{to{stroke-dashoffset:-170}}
.technical-caption{
  position:absolute;
  left:26px;
  right:26px;
  bottom:22px;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid rgba(196,181,253,.12);
  padding-top:16px;
}
.technical-caption strong{
  font-family:var(--font-display);
  color:#fff;
  font-size:24px;
  line-height:1;
  letter-spacing:-.04em;
}
.technical-caption span{
  max-width:300px;
  text-align:right;
  color:rgba(255,255,255,.55);
  font-size:12px;
  line-height:1.45;
}
@media(max-width:1100px){
  .cinema-stage{grid-template-columns:1fr}
  .cinema-visual{justify-content:flex-start;min-height:420px}
  .technical-scene,.technical-panel{min-height:410px}
}
@media(max-width:720px){
  .technical-caption{display:block}
  .technical-caption span{display:block;text-align:left;margin-top:8px}
  .technical-scene,.technical-panel{min-height:340px}
  .technical-stage{inset:42px 8px 72px}
}

/* v31: operative guarantees band */
.pv-guarantee-band{
  background:
    radial-gradient(circle at 14% 10%, rgba(96,165,250,.14), transparent 30%),
    radial-gradient(circle at 82% 18%, rgba(168,85,247,.16), transparent 34%),
    linear-gradient(180deg,#050914 0%,#08111e 54%,#050711 100%)!important;
  color:#fff!important;
  border-top:1px solid rgba(255,255,255,.07)!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  padding:clamp(76px,9vw,126px) var(--pad-x)!important;
}
.pv-guarantee-band::before{
  inset:0!important;
  height:auto!important;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px)!important;
  background-size:72px 72px!important;
  mask-image:linear-gradient(180deg,transparent,black 18%,black 82%,transparent);
  opacity:.52;
}
.pv-guarantee-intro{
  max-width:1120px!important;
  margin-bottom:42px!important;
  text-align:left!important;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,520px);
  gap:clamp(28px,5vw,72px);
  align-items:end;
}
.pv-guarantee-intro .pv-white-kicker{
  grid-column:1 / -1;
  color:#c4b5fd!important;
  margin-bottom:-18px!important;
}
.pv-guarantee-intro h2{
  color:#fff!important;
  max-width:760px;
}
.pv-guarantee-intro h2 em{
  color:#c4b5fd;
}
.pv-guarantee-intro p{
  max-width:520px!important;
  margin:0!important;
  color:rgba(255,255,255,.64)!important;
  font-size:16px!important;
}
.pv-guarantee-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  max-width:1320px!important;
  border:1px solid rgba(255,255,255,.095);
  border-radius:26px;
  overflow:hidden;
  background:rgba(255,255,255,.025);
  box-shadow:0 34px 90px rgba(0,0,0,.22);
  backdrop-filter:blur(16px);
}
.pv-guarantee-card{
  min-height:430px!important;
  padding:26px 24px 24px!important;
  border:0!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  border-radius:0!important;
  background:
    radial-gradient(circle at 50% 24%, rgba(196,181,253,.12), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.046), rgba(255,255,255,.018))!important;
  box-shadow:none!important;
  color:#fff!important;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.pv-guarantee-card:last-child{border-right:0!important}
.pv-guarantee-card:hover{
  transform:translateY(0)!important;
  background:
    radial-gradient(circle at 50% 24%, rgba(196,181,253,.18), transparent 45%),
    linear-gradient(180deg, rgba(255,255,255,.068), rgba(255,255,255,.024))!important;
  border-color:rgba(255,255,255,.08)!important;
}
.pv-guarantee-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  min-height:28px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.48);
}
.pv-guarantee-top span{color:#c4b5fd}
.pv-guarantee-top b{
  color:rgba(255,255,255,.74);
  font-weight:700;
  text-align:right;
}
.pv-guarantee-visual{
  position:relative;
  height:158px;
  margin:26px -8px 24px;
  display:grid;
  place-items:center;
}
.pv-guarantee-visual::before{
  content:"";
  position:absolute;
  left:15%;
  right:15%;
  bottom:16px;
  height:30px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(168,85,247,.22),transparent 70%);
  filter:blur(13px);
}
.op-viz{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  overflow:visible;
  color:#c4b5fd;
  filter:drop-shadow(0 0 18px rgba(139,92,246,.20));
}
.op-grid{
  stroke:rgba(255,255,255,.12);
  stroke-width:1;
  stroke-linecap:round;
}
.op-flow{
  fill:none;
  stroke:#60a5fa;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-dasharray:18 28;
  opacity:.78;
  animation:opDash 4.8s linear infinite;
  animation-delay:var(--phase);
  filter:drop-shadow(0 0 8px rgba(96,165,250,.36));
}
.op-flow-b{
  stroke:#a855f7;
  opacity:.56;
  animation-duration:6.4s;
}
.op-main{
  color:#e9d5ff;
  filter:drop-shadow(0 0 10px rgba(196,181,253,.24));
}
.op-node{
  fill:#fff;
  stroke:#c4b5fd;
  stroke-width:1.5;
  filter:drop-shadow(0 0 10px rgba(196,181,253,.58));
  animation:opNode 3.6s ease-in-out infinite;
  animation-delay:var(--phase);
}
.op-node-b,.op-node-1{animation-delay:calc(var(--phase) - .8s)}
.op-node-c,.op-node-2{animation-delay:calc(var(--phase) - 1.6s)}
.op-node-3{animation-delay:calc(var(--phase) - 2.4s)}
.op-hub{
  fill:rgba(196,181,253,.08);
  stroke:rgba(196,181,253,.72);
  stroke-width:1.6;
}
.op-hub-large{fill:rgba(96,165,250,.055)}
.op-satellite circle{
  fill:rgba(8,13,28,.78);
  stroke:rgba(196,181,253,.54);
  stroke-width:1.3;
}
.op-satellite text{
  fill:rgba(255,255,255,.74);
  font:700 7px var(--font-mono);
  text-anchor:middle;
  letter-spacing:.06em;
}
.op-battery{
  fill:rgba(255,255,255,.035);
  stroke:rgba(196,181,253,.62);
  stroke-width:1.6;
}
.op-leaf{
  fill:rgba(96,165,250,.08);
  stroke:rgba(96,165,250,.74);
  stroke-width:1.5;
}
.op-leaf-line,.op-link{
  fill:none;
  stroke:rgba(196,181,253,.38);
  stroke-width:1.2;
  stroke-linecap:round;
}
.pv-guarantee-card h3{
  margin:0 0 12px!important;
  color:#fff!important;
  font-size:clamp(26px,2.1vw,34px)!important;
  letter-spacing:-.045em!important;
}
.pv-guarantee-card:hover h3{
  color:#fff!important;
  transform:none!important;
}
.pv-guarantee-card p{
  color:rgba(255,255,255,.62)!important;
  font-size:14px!important;
  line-height:1.58!important;
  margin:0 0 22px!important;
  flex:1;
}
.pv-guarantee-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:auto;
}
.pv-guarantee-tags span{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:0 10px;
  border:1px solid rgba(196,181,253,.16);
  border-radius:999px;
  color:rgba(255,255,255,.70);
  background:rgba(255,255,255,.035);
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@keyframes opDash{to{stroke-dashoffset:-92}}
@keyframes opNode{0%,100%{opacity:.62;transform:scale(1)}50%{opacity:1;transform:scale(1.28)}}
@media(max-width:1160px){
  .pv-guarantee-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pv-guarantee-card:nth-child(2){border-right:0!important}
  .pv-guarantee-card:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.08)!important}
}
@media(max-width:760px){
  .pv-guarantee-intro{display:block;text-align:left!important}
  .pv-guarantee-intro .pv-white-kicker{margin-bottom:16px!important}
  .pv-guarantee-intro p{margin-top:18px!important}
  .pv-guarantee-grid{grid-template-columns:1fr!important}
  .pv-guarantee-card{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
  .pv-guarantee-card:last-child{border-bottom:0!important}
}

/* v32: new index structure - hero suite, product recovery, applications, fixed guarantee icons */
.pv-hero-suite-section{
  min-height:100svh!important;
  padding-bottom:38px!important;
}
.pv-hero-suite-copy{
  width:min(1040px,100%)!important;
}
.pv-hero-suite{
  position:relative;
  z-index:2;
  width:min(1440px,100%);
  margin:clamp(38px,5vw,70px) auto 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:24px;
  align-items:stretch;
}
.pv-hero-stage{
  position:relative;
  min-height:clamp(330px,32vw,510px);
  display:grid;
  place-items:end center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:34px;
  background:
    radial-gradient(ellipse at 50% 88%,rgba(255,255,255,.18),transparent 45%),
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 34px 100px rgba(0,0,0,.30);
}
.pv-hero-stage::before{
  content:"";
  position:absolute;
  left:6%;
  right:6%;
  bottom:0;
  height:42%;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.18),rgba(255,255,255,.05) 43%,transparent 72%);
  filter:blur(18px);
  opacity:.72;
}
.pv-hero-reflection{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:46%;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.035));
  mask-image:linear-gradient(180deg,transparent,black 44%,transparent 92%);
  pointer-events:none;
}
.pv-hero-solution-img{
  position:relative;
  z-index:2;
  width:min(1160px,98%);
  max-height:92%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 30px 38px rgba(0,0,0,.50));
  transform-origin:center bottom;
  animation:heroProductFloat 9s ease-in-out infinite;
}
.pv-hero-solution-img.is-storage,
.pv-hero-solution-img.is-grid{
  width:min(1080px,96%);
}
.pv-hero-image-label{
  position:absolute;
  left:24px;
  bottom:22px;
  z-index:4;
  display:grid;
  grid-template-columns:auto auto;
  align-items:end;
  gap:4px 12px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:rgba(6,7,12,.54);
  backdrop-filter:blur(18px);
}
.pv-hero-image-label span{
  grid-row:1 / span 2;
  color:#c4b5fd;
  font:700 12px var(--font-mono);
}
.pv-hero-image-label b{
  color:#fff;
  font-size:13px;
  line-height:1;
}
.pv-hero-image-label em{
  color:rgba(255,255,255,.56);
  font:600 10px var(--font-mono);
  font-style:normal;
  line-height:1;
}
.pv-hero-tabs{
  display:grid;
  gap:12px;
}
.pv-hero-tab{
  text-align:left;
  min-height:0;
  padding:22px 22px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  background:rgba(255,255,255,.026);
  color:#fff;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:6px 16px;
  align-content:center;
  transition:background .24s var(--ease-out),border-color .24s var(--ease-out),transform .24s var(--ease-out);
}
.pv-hero-tab:hover,
.pv-hero-tab.is-active{
  background:rgba(255,255,255,.07);
  border-color:rgba(196,181,253,.36);
  transform:translateX(-4px);
}
.pv-hero-tab span{
  grid-row:1 / span 2;
  color:#c4b5fd;
  font:700 13px var(--font-mono);
}
.pv-hero-tab b{
  font-size:18px;
  letter-spacing:-.025em;
}
.pv-hero-tab em{
  color:rgba(255,255,255,.58);
  font-size:13px;
  font-style:normal;
  line-height:1.35;
}

.pv-products-section,
.pv-applications-section{
  padding:clamp(82px,10vw,140px) var(--pad-x);
  border-bottom:1px solid var(--line);
}
.pv-products-section{
  background:
    radial-gradient(circle at 75% 0%,rgba(139,92,246,.13),transparent 32%),
    linear-gradient(180deg,#0b0b0e,#08090d);
}
.pv-products-head,
.pv-applications-head{
  max-width:1180px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,520px);
  gap:clamp(28px,5vw,72px);
  align-items:end;
  margin:0 auto 46px;
}
.pv-products-head .h-eyebrow,
.pv-applications-head .h-eyebrow{
  grid-column:1 / -1;
  color:#a78bfa;
}
.pv-products-head h2,
.pv-applications-head h2{
  font-family:var(--font-display);
  font-size:clamp(44px,5.4vw,84px);
  line-height:.96;
  letter-spacing:-.052em;
  max-width:800px;
}
.pv-products-head p,
.pv-applications-head p{
  color:var(--fg-dim);
  font-size:17px;
  line-height:1.48;
  max-width:520px;
}
.pv-products-grid{
  max-width:1420px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.pv-product-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.018));
  cursor:pointer;
  min-height:590px;
  display:flex;
  flex-direction:column;
  transition:transform .32s var(--ease-out),border-color .32s var(--ease-out),background .32s var(--ease-out);
}
.pv-product-card:hover{
  transform:translateY(-6px);
  border-color:rgba(196,181,253,.32);
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
}
.pv-product-image{
  position:relative;
  height:300px;
  display:grid;
  place-items:end center;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:radial-gradient(ellipse at 50% 90%,rgba(255,255,255,.16),transparent 60%);
}
.pv-product-image::after{
  content:"";
  position:absolute;
  left:6%;
  right:6%;
  bottom:-18px;
  height:92px;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.18),transparent 70%);
  filter:blur(18px);
}
.pv-product-image img{
  position:relative;
  z-index:1;
  width:112%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 26px 34px rgba(0,0,0,.44));
}
.pv-product-body{
  padding:26px;
  display:flex;
  flex:1;
  flex-direction:column;
}
.pv-product-body .h-eyebrow{color:#a78bfa;margin-bottom:12px}
.pv-product-body h3{
  font-size:clamp(30px,2.6vw,42px);
  line-height:.96;
  letter-spacing:-.045em;
  margin-bottom:14px;
}
.pv-product-body p{
  color:rgba(244,242,237,.64);
  font-size:14px;
  line-height:1.55;
  margin-bottom:22px;
  flex:1;
}
.pv-product-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
}
.pv-product-stats span{
  display:grid;
  gap:3px;
}
.pv-product-stats b{
  font-size:15px;
  line-height:1;
  color:#fff;
}
.pv-product-stats em{
  font:600 9px var(--font-mono);
  font-style:normal;
  color:rgba(255,255,255,.44);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pv-product-body button{
  margin-top:22px;
  width:max-content;
  color:#fff;
  font:700 11px var(--font-mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.pv-product-body button::after{content:" ->";color:#c4b5fd}

.pv-applications-section{
  background:#f4f2ed;
  color:#111;
  --fg:#111;
  --fg-dim:#5d5a54;
  --line:#ddd8ce;
}
.pv-applications-grid{
  max-width:1420px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid #d8d2c6;
  border-left:1px solid #d8d2c6;
}
.pv-application-card{
  min-height:255px;
  padding:26px;
  text-align:left;
  border-right:1px solid #d8d2c6;
  border-bottom:1px solid #d8d2c6;
  background:transparent;
  display:flex;
  flex-direction:column;
  color:#111;
  transition:background .22s var(--ease-out);
}
.pv-application-card:hover{
  background:#fff;
}
.pv-application-card span{
  color:#8b5cf6;
  font:700 12px var(--font-mono);
}
.pv-application-card b{
  margin-top:34px;
  color:#5d5a54;
  font:700 11px var(--font-mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.pv-application-card h3{
  margin:10px 0 14px;
  font-size:clamp(25px,2vw,34px);
  line-height:1;
  letter-spacing:-.04em;
}
.pv-application-card p{
  color:#5d5a54;
  font-size:14px;
  line-height:1.55;
  max-width:34ch;
}

.pv-guarantee-visual{
  height:132px!important;
  margin:24px 0 22px!important;
}
.pv-guarantee-visual::before{
  left:50%!important;
  right:auto!important;
  bottom:16px!important;
  width:108px!important;
  height:22px!important;
  transform:translateX(-50%)!important;
}
.fixed-guarantee-icon{
  position:relative;
  z-index:1;
  width:88px;
  height:88px;
  color:rgba(233,213,255,.88);
  overflow:visible;
  transition:color .25s ease, filter .25s ease;
  filter:drop-shadow(0 0 12px rgba(196,181,253,.14));
}
.pv-guarantee-card:hover .fixed-guarantee-icon{
  color:#fff;
  filter:drop-shadow(0 0 18px rgba(196,181,253,.35));
}

@keyframes heroProductFloat{
  0%,100%{translate:0 0;scale:1}
  50%{translate:0 -8px;scale:1.006}
}
@media(max-width:1120px){
  .pv-hero-suite{grid-template-columns:1fr}
  .pv-hero-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pv-hero-tab{grid-template-columns:1fr;gap:7px}
  .pv-products-grid{grid-template-columns:1fr}
  .pv-product-card{min-height:0}
  .pv-product-image{height:340px}
}
@media(max-width:860px){
  .pv-products-head,
  .pv-applications-head{display:block}
  .pv-products-head p,
  .pv-applications-head p{margin-top:18px}
  .pv-applications-grid{grid-template-columns:1fr}
  .pv-hero-tabs{grid-template-columns:1fr}
  .pv-hero-stage{min-height:300px;border-radius:24px}
}
@media(max-width:560px){
  .pv-hero-suite-section{padding-bottom:24px!important}
  .pv-hero-suite{margin-top:30px}
  .pv-hero-image-label{left:14px;right:14px;bottom:14px}
  .pv-products-section,
  .pv-applications-section{padding-left:18px;padding-right:18px}
  .pv-product-image{height:230px}
  .pv-product-stats{grid-template-columns:1fr}
}

/* v33 — auto-cycling hero: single column, stacked crossfading images */
.pv-hero-suite{
  grid-template-columns:1fr;
}
.pv-hero-stage{
  min-height:clamp(360px,44vw,620px);
  overflow:hidden;
}
.pv-hero-solution-img{
  position:absolute;
  inset:0;
  width:100%;
  max-height:100%;
  opacity:0;
  transition:opacity .7s cubic-bezier(.4,0,.2,1);
}
.pv-hero-solution-img.is-visible{
  opacity:1;
}
.pv-hero-solution-img.is-storage,
.pv-hero-solution-img.is-grid{
  width:100%;
}
/* hide old tab cards */
.pv-hero-tabs{
  display:none!important;
}
/* pill indicators */
.pv-hero-indicators{
  position:absolute;
  bottom:22px;
  right:22px;
  z-index:5;
  display:flex;
  gap:7px;
  align-items:center;
}
.pv-hero-indicator{
  width:24px;
  height:3px;
  border-radius:2px;
  background:rgba(255,255,255,.22);
  border:none;
  cursor:pointer;
  padding:0;
  transition:background .35s,width .35s;
}
.pv-hero-indicator.is-active{
  width:44px;
  background:rgba(255,255,255,.88);
}
/* fix icon label: single span+b row */
.pv-hero-image-label{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:10px;
  pointer-events:none;
}
.pv-hero-image-label span{
  grid-row:auto;
  font-size:11px;
  opacity:.7;
}
.pv-hero-image-label b{
  font-size:14px;
  font-weight:600;
}
.pv-hero-image-label em{
  font-style:normal;
  font-size:12px;
  opacity:.55;
  margin-left:auto;
  padding-right:4px;
}

/* v36 — hero: producto transparente flotando en fondo del hero sin caja */

/* Suite columna única, ocupa ancho completo */
.pv-hero-suite{
  grid-template-columns:1fr!important;
  width:100%!important;
  max-width:100%!important;
  margin:clamp(16px,2vw,32px) 0 0!important;
}

/* Stage: sin caja, sin fondo, overflow visible para el glow */
.pv-hero-stage{
  background:none!important;
  border:none!important;
  box-shadow:none!important;
  border-radius:0!important;
  overflow:visible!important;
  min-height:clamp(280px,32vw,460px)!important;
  display:grid!important;
  place-items:center!important;
}

/* Glow de suelo violeta/azul — ancla el producto en el espacio */
.pv-hero-stage::before{
  display:block!important;
  left:20%!important;
  right:20%!important;
  bottom:4%!important;
  height:28%!important;
  background:radial-gradient(ellipse at center,rgba(110,60,255,.45),rgba(60,100,255,.18) 48%,transparent 72%)!important;
  filter:blur(28px)!important;
  opacity:.9!important;
  z-index:1!important;
}

/* Reflejo sutil del producto en el suelo */
.pv-hero-reflection{
  display:block!important;
  position:absolute!important;
  left:10%!important;
  right:10%!important;
  bottom:-4%!important;
  height:38%!important;
  background:linear-gradient(180deg,transparent,var(--bg,#0B0B0E) 88%)!important;
  mask-image:none!important;
  z-index:3!important;
  pointer-events:none!important;
}

/* Imágenes cuadradas transparentes — centradas, sin caja */
.pv-hero-solution-img{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(520px,72%)!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 24px 48px rgba(0,0,0,.55)) drop-shadow(0 0 40px rgba(100,60,240,.22))!important;
  opacity:0!important;
  transition:opacity .65s cubic-bezier(.4,0,.2,1)!important;
  animation:heroProductFloat 9s ease-in-out infinite!important;
  z-index:2!important;
}
.pv-hero-solution-img.is-visible{
  opacity:1!important;
}

/* Fade de suelo que funde el PNG con el fondo del hero */
.pv-hero-stage::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-4px!important;
  height:30%!important;
  background:linear-gradient(180deg,transparent,var(--bg,#0B0B0E) 92%)!important;
  pointer-events:none!important;
  z-index:4!important;
}

/* Label e indicadores por encima del fade */
.pv-hero-image-label{
  z-index:7!important;
  background:rgba(6,7,12,.52)!important;
  backdrop-filter:blur(14px)!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:14px!important;
  padding:10px 14px!important;
}
.pv-hero-indicators{
  z-index:7!important;
}

/* v36 — iconos de garantía: PNG sprite sobre card CLARA — sin invertir */
.fixed-guarantee-icon{
  display:block;
  width:56px;
  height:56px;
  background-image:url('/assets/guarantee-icons.png');
  background-size:400% auto;
  background-repeat:no-repeat;
  background-position:0% center;
  filter:none;
  opacity:.7;
  transition:opacity .25s ease, filter .25s ease;
}
.fixed-guarantee-icon.icon-1{ background-position:33.33% center; }
.fixed-guarantee-icon.icon-2{ background-position:66.66% center; }
.fixed-guarantee-icon.icon-3{ background-position:100% center; }
.pv-guarantee-card:hover .fixed-guarantee-icon{
  opacity:1;
  filter:none!important;
}

/* v37 - hero cinematografico con escenas reales + iconos vectoriales */
.pv-hero-suite-section{
  min-height:100svh!important;
  padding-top:clamp(72px,8vh,112px)!important;
  padding-bottom:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  background:
    radial-gradient(ellipse at 50% 78%,rgba(88,62,190,.20),transparent 52%),
    radial-gradient(ellipse at 50% 20%,rgba(255,255,255,.055),transparent 42%),
    linear-gradient(180deg,#090a0f 0%,#050609 64%,#06070a 100%)!important;
}
.pv-hero-suite-copy{
  margin-bottom:clamp(8px,1.2vh,18px)!important;
}
.pv-hero-suite-copy .pv-index-title{
  font-size:clamp(58px,7.2vw,124px)!important;
  line-height:.82!important;
}
.pv-hero-suite-copy .pv-index-lead{
  max-width:760px!important;
}
.pv-hero-suite{
  position:relative!important;
  width:100vw!important;
  max-width:none!important;
  margin:clamp(0px,1.5vh,12px) calc(var(--pad-x) * -1) 0!important;
}
.pv-hero-stage{
  width:100%!important;
  min-height:clamp(300px,38vw,520px)!important;
  height:clamp(300px,38vw,520px)!important;
  background:transparent!important;
  border:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.pv-hero-stage::before{
  left:0!important;
  right:0!important;
  bottom:-8%!important;
  height:42%!important;
  background:
    radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.20),rgba(168,85,247,.12) 32%,transparent 68%)!important;
  filter:blur(26px)!important;
  opacity:.82!important;
  z-index:3!important;
}
.pv-hero-stage::after{
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:38%!important;
  background:linear-gradient(180deg,transparent 0%,rgba(6,7,10,.72) 58%,#06070a 100%)!important;
  z-index:5!important;
}
.pv-hero-reflection{
  display:none!important;
}
.pv-hero-solution-img{
  top:auto!important;
  left:50%!important;
  bottom:-7%!important;
  transform:translateX(-50%)!important;
  width:min(1540px,112vw)!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:none!important;
  opacity:0!important;
  z-index:2!important;
  animation:heroSceneDrift 11s ease-in-out infinite!important;
  -webkit-mask-image:
    linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%),
    linear-gradient(180deg,transparent 0%,#000 10%,#000 88%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%),
    linear-gradient(180deg,transparent 0%,#000 10%,#000 88%,transparent 100%);
  mask-composite:intersect;
}
.pv-hero-solution-img.is-storage,
.pv-hero-solution-img.is-grid{
  width:min(1480px,108vw)!important;
}
.pv-hero-solution-img.is-visible{
  opacity:1!important;
}
.pv-hero-image-label{
  left:clamp(20px,8vw,140px)!important;
  right:auto!important;
  bottom:clamp(18px,4vw,48px)!important;
  z-index:8!important;
  background:rgba(8,9,13,.46)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 18px 60px rgba(0,0,0,.28)!important;
}
.pv-hero-indicators{
  right:clamp(20px,8vw,140px)!important;
  bottom:clamp(28px,4.5vw,58px)!important;
}
@keyframes heroSceneDrift{
  0%,100%{translate:0 0;scale:1}
  50%{translate:0 -6px;scale:1.006}
}

.fixed-guarantee-icon{
  display:block!important;
  width:86px!important;
  height:86px!important;
  background:none!important;
  color:rgba(233,213,255,.9)!important;
  opacity:1!important;
  filter:drop-shadow(0 0 14px rgba(196,181,253,.16))!important;
}
.fixed-guarantee-icon path,
.fixed-guarantee-icon circle{
  vector-effect:non-scaling-stroke;
}
.pv-guarantee-card:hover .fixed-guarantee-icon{
  color:#fff!important;
  filter:drop-shadow(0 0 20px rgba(196,181,253,.32))!important;
}
@media(max-width:860px){
  .pv-hero-suite-section{
    min-height:88svh!important;
    justify-content:flex-start!important;
  }
  .pv-hero-stage{
    min-height:310px!important;
    height:310px!important;
  }
  .pv-hero-solution-img{
    width:980px!important;
    bottom:-3%!important;
  }
  .pv-hero-image-label{
    left:18px!important;
    bottom:16px!important;
  }
  .pv-hero-indicators{
    right:18px!important;
    bottom:26px!important;
  }
}

/* v38 - producto y aplicaciones: menos SaaS-card, mas catalogo industrial */
.pv-products-section{
  background:
    radial-gradient(ellipse at 18% 8%,rgba(255,255,255,.055),transparent 34%),
    radial-gradient(ellipse at 82% 16%,rgba(139,92,246,.13),transparent 38%),
    linear-gradient(180deg,#07080c 0%,#0a0b0f 56%,#07080b 100%)!important;
}
.pv-products-head{
  margin-bottom:clamp(28px,4vw,58px)!important;
}
.pv-product-card{
  border-radius:18px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.046),rgba(255,255,255,.014))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.pv-product-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px) 0 0/72px 72px,
    linear-gradient(180deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/72px 72px;
  mask-image:linear-gradient(180deg,#000 0%,transparent 58%);
  opacity:.38;
}
.pv-product-image{
  height:clamp(280px,24vw,380px)!important;
  background:
    radial-gradient(ellipse at 50% 92%,rgba(255,255,255,.18),transparent 58%),
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0))!important;
}
.pv-product-image img{
  width:118%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:drop-shadow(0 28px 40px rgba(0,0,0,.48))!important;
}
.pv-product-body{
  position:relative!important;
  z-index:1!important;
}
.pv-product-stats{
  border-top-color:rgba(255,255,255,.10)!important;
}
.pv-applications-section{
  background:
    radial-gradient(ellipse at 88% 4%,rgba(139,92,246,.10),transparent 32%),
    #f4f2ed!important;
}
.pv-application-card{
  position:relative!important;
  overflow:hidden!important;
}
.pv-application-card::before{
  content:"";
  position:absolute;
  right:22px;
  top:22px;
  width:44px;
  height:44px;
  border:1px solid rgba(139,92,246,.22);
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,rgba(139,92,246,.7) 0 3px,transparent 4px),
    radial-gradient(circle at 18% 36%,rgba(17,17,17,.42) 0 2px,transparent 3px),
    radial-gradient(circle at 72% 24%,rgba(17,17,17,.32) 0 2px,transparent 3px),
    radial-gradient(circle at 72% 74%,rgba(17,17,17,.28) 0 2px,transparent 3px);
  opacity:.55;
  transition:opacity .22s var(--ease-out),transform .22s var(--ease-out);
}
.pv-application-card::after{
  content:"";
  position:absolute;
  right:44px;
  top:44px;
  width:86px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(139,92,246,.36));
  transform:rotate(-18deg);
  transform-origin:right center;
  opacity:.42;
}
.pv-application-card:hover::before{
  opacity:1;
  transform:scale(1.06);
}

/* v39 - index hero restored: transparent products, product pages keep reflected scenes */
.pv-hero-suite-section{
  min-height:100svh!important;
  padding-top:clamp(76px,8vh,112px)!important;
  padding-bottom:clamp(28px,5vh,64px)!important;
  justify-content:center!important;
  background:
    radial-gradient(ellipse at 50% 75%,rgba(119,75,255,.18),transparent 42%),
    radial-gradient(ellipse at 72% 18%,rgba(255,255,255,.06),transparent 36%),
    linear-gradient(180deg,#090a0f 0%,#06070a 66%,#050609 100%)!important;
}
.pv-hero-suite{
  width:min(820px,calc(100vw - var(--pad-x) * 2))!important;
  max-width:820px!important;
  margin:clamp(6px,1.6vh,18px) auto 0!important;
  display:block!important;
}
.pv-hero-stage{
  width:100%!important;
  height:clamp(260px,30vw,420px)!important;
  min-height:clamp(260px,30vw,420px)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.pv-hero-stage::before{
  content:""!important;
  position:absolute!important;
  left:12%!important;
  right:12%!important;
  bottom:4%!important;
  height:28%!important;
  z-index:1!important;
  opacity:.82!important;
  filter:blur(22px)!important;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.22),rgba(168,85,247,.16) 34%,rgba(34,211,238,.09) 52%,transparent 72%)!important;
}
.pv-hero-stage::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-2%!important;
  height:34%!important;
  z-index:4!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,transparent 0%,rgba(6,7,10,.44) 62%,#050609 100%)!important;
}
.pv-hero-reflection{
  display:block!important;
  position:absolute!important;
  left:18%!important;
  right:18%!important;
  bottom:2%!important;
  height:14%!important;
  z-index:2!important;
  opacity:.58!important;
  transform:perspective(500px) rotateX(70deg)!important;
  transform-origin:center bottom!important;
  background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.24),rgba(167,139,250,.14) 38%,transparent 72%)!important;
  filter:blur(10px)!important;
}
.pv-hero-solution-img{
  position:absolute!important;
  top:auto!important;
  left:50%!important;
  bottom:8%!important;
  width:min(500px,64vw)!important;
  height:auto!important;
  max-width:none!important;
  max-height:92%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%)!important;
  opacity:0!important;
  z-index:3!important;
  filter:drop-shadow(0 34px 66px rgba(0,0,0,.52)) drop-shadow(0 0 34px rgba(139,92,246,.18))!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  animation:heroProductFloat 7s ease-in-out infinite!important;
}
.pv-hero-solution-img.is-storage{
  width:min(555px,70vw)!important;
}
.pv-hero-solution-img.is-grid{
  width:min(380px,54vw)!important;
}
.pv-hero-solution-img.is-visible{
  opacity:1!important;
}
.pv-hero-image-label{
  left:clamp(8px,2vw,18px)!important;
  bottom:clamp(4px,1vw,14px)!important;
  z-index:8!important;
  background:rgba(8,9,13,.34)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  backdrop-filter:blur(14px)!important;
}
.pv-hero-indicators{
  right:clamp(8px,2vw,18px)!important;
  bottom:clamp(14px,2vw,26px)!important;
  z-index:8!important;
}
@keyframes heroProductFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -7px}
}
@media(max-width:860px){
  .pv-hero-suite{
    width:min(560px,calc(100vw - 32px))!important;
  }
  .pv-hero-stage{
    height:300px!important;
    min-height:300px!important;
  }
  .pv-hero-solution-img{
    width:min(410px,78vw)!important;
  }
  .pv-hero-solution-img.is-storage{
    width:min(460px,84vw)!important;
  }
  .pv-hero-solution-img.is-grid{
    width:min(310px,62vw)!important;
  }
}

/* v38 - product page heroes: scene integrated into the hero, not pasted as an image */
.pv-product-page-hero{
  position:relative;
  min-height:clamp(620px,86vh,820px);
  padding:clamp(138px,14vh,178px) 0 clamp(74px,9vh,112px);
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(ellipse 58% 52% at 76% 58%,rgba(127,64,255,.24),transparent 68%),
    radial-gradient(ellipse 34% 28% at 90% 28%,rgba(34,211,238,.13),transparent 72%),
    linear-gradient(180deg,#111116 0%,#08090d 64%,#050609 100%);
}
.pv-product-page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(5,6,9,.96) 0%,rgba(5,6,9,.88) 36%,rgba(5,6,9,.22) 69%,rgba(5,6,9,.74) 100%),
    radial-gradient(ellipse 64% 20% at 72% 86%,rgba(255,255,255,.12),rgba(167,139,250,.12) 34%,transparent 76%);
  pointer-events:none;
}
.pv-product-page-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:26%;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,rgba(5,6,9,.56) 62%,#050609 100%);
}
.pv-product-page-hero-inner{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:minmax(320px,.74fr) minmax(260px,1fr);
  align-items:center;
  min-height:520px;
}
.pv-product-page-copy{
  max-width:660px;
  padding-right:clamp(18px,4vw,72px);
}
.pv-product-page-copy .t-lead{
  max-width:610px;
  color:rgba(244,242,237,.76);
}
.pv-product-page-scene{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}
.pv-product-page-scene::before{
  content:"";
  position:absolute;
  right:6vw;
  bottom:8%;
  width:min(760px,48vw);
  height:18%;
  transform:perspective(700px) rotateX(68deg);
  transform-origin:center bottom;
  background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.26),rgba(167,139,250,.18) 32%,rgba(34,211,238,.08) 55%,transparent 76%);
  filter:blur(18px);
  opacity:.72;
}
.pv-product-page-scene img{
  position:absolute;
  right:clamp(-140px,-7vw,-42px);
  bottom:clamp(-28px,-2vw,-8px);
  width:min(1040px,66vw);
  height:auto;
  max-width:none;
  object-fit:contain;
  object-position:right bottom;
  opacity:.94;
  filter:saturate(1.08) contrast(1.04) drop-shadow(0 42px 72px rgba(0,0,0,.64));
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 10%,#000 27%,#000 78%,rgba(0,0,0,.56) 90%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 10%,#000 27%,#000 78%,rgba(0,0,0,.56) 90%,transparent 100%);
}
.pv-product-page-hero-storage .pv-product-page-scene img{
  right:clamp(-110px,-5vw,-28px);
  width:min(980px,63vw);
}
.pv-product-page-hero-mt .pv-product-page-scene img{
  right:clamp(-92px,-4vw,-18px);
  width:min(980px,62vw);
}
.pv-product-feature-pill{
  position:relative;
  display:flex;
  align-items:center;
  min-height:26px;
  padding-left:16px;
  font-size:12px;
  line-height:1.25;
  color:var(--fg-dim);
}
.pv-product-feature-pill::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  transform:translateY(-50%);
  background:var(--accent);
  box-shadow:0 0 16px rgba(167,139,250,.42);
  opacity:.72;
}
@media(max-width:960px){
  .pv-product-page-hero{
    min-height:auto;
    padding-top:126px;
  }
  .pv-product-page-hero-inner{
    grid-template-columns:1fr;
    min-height:600px;
    align-items:start;
  }
  .pv-product-page-copy{
    max-width:720px;
    padding-right:0;
  }
  .pv-product-page-scene img{
    right:50%;
    bottom:6px;
    width:min(760px,112vw);
    transform:translateX(50%);
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 78%,transparent 100%);
    mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 78%,transparent 100%);
  }
  .pv-product-page-scene::before{
    right:50%;
    bottom:7%;
    width:min(620px,88vw);
    transform:translateX(50%) perspective(700px) rotateX(68deg);
  }
}

/* v41-tail - final cascade lock for hero sizing */
.pv-hero-suite-section{
  min-height:min(100svh,920px)!important;
  padding-top:clamp(78px,8vh,108px)!important;
}
.pv-hero-suite-copy .pv-index-title{
  font-size:clamp(56px,8.8vw,128px)!important;
  line-height:.86!important;
  max-width:10.8ch!important;
}
.pv-hero-stage{
  height:clamp(238px,27vw,380px)!important;
  min-height:clamp(238px,27vw,380px)!important;
}
.pv-hero-solution-img{
  bottom:6%!important;
  width:min(455px,58vw)!important;
}
.pv-hero-solution-img.is-storage{
  width:min(505px,64vw)!important;
}
.pv-hero-solution-img.is-grid{
  width:min(340px,48vw)!important;
}
.pv-product-page-hero{
  min-height:clamp(560px,78vh,760px)!important;
  padding-top:clamp(118px,12vh,154px)!important;
  padding-bottom:clamp(56px,7vh,90px)!important;
}
.pv-product-page-hero-inner{
  min-height:440px!important;
}
.pv-product-page-copy .h-display{
  font-size:clamp(44px,6.4vw,86px)!important;
  line-height:.91!important;
  max-width:12ch!important;
}
.pv-product-page-copy .t-lead{
  font-size:clamp(16px,1.25vw,20px)!important;
}
.pv-product-page-scene img{
  right:clamp(-90px,-5vw,-24px)!important;
  bottom:clamp(-14px,-1vw,4px)!important;
  width:min(900px,59vw)!important;
  opacity:.9!important;
}
.pv-product-page-hero-storage .pv-product-page-scene img,
.pv-product-page-hero-mt .pv-product-page-scene img{
  width:min(860px,57vw)!important;
}
@media(max-width:960px){
  .pv-product-page-hero{
    min-height:auto!important;
    padding-top:118px!important;
  }
  .pv-product-page-hero-inner{
    min-height:560px!important;
  }
  .pv-product-page-scene img{
    width:min(680px,104vw)!important;
  }
}
@media(max-width:860px){
  .pv-hero-stage{
    height:280px!important;
    min-height:280px!important;
  }
  .pv-hero-solution-img{
    width:min(390px,76vw)!important;
  }
  .pv-hero-solution-img.is-storage{
    width:min(430px,82vw)!important;
  }
  .pv-hero-solution-img.is-grid{
    width:min(300px,60vw)!important;
  }
}


/* r106 — light mode navbar transparent at top, no purple tint */
html[data-theme="light"] .nav[data-dark="false"]:not(.scrolled),
body[data-theme="light"] .nav[data-dark="false"]:not(.scrolled) {
  background: transparent;
  border-bottom: none;
  box-shadow: none;
  backdrop-filter: none;
}

html[data-theme="light"] .nav[data-dark="false"]:not(.scrolled) .nav-link,
html[data-theme="light"] .nav[data-dark="false"]:not(.scrolled) .nav-ctrl,
body[data-theme="light"] .nav[data-dark="false"]:not(.scrolled) .nav-link,
body[data-theme="light"] .nav[data-dark="false"]:not(.scrolled) .nav-ctrl {
  color: #111319;
}
