/**
 * Node77 · Light theme page overrides (home, shop, portal, download, compare)
 */

/* ═══ HOME ═══════════════════════════════════════════════════ */

.page-home .site-main {
  max-width: var(--content-max);
  padding-top: clamp(20px, 4vw, 36px);
}

.page-beatviz .site-main {
  max-width: var(--content-max);
}

.home-pill {
  background: var(--lumen-panel);
  border-color: var(--lumen-hairline);
  color: var(--lumen-muted);
  box-shadow: var(--shadow-xs);
}

.home-pill--live {
  border-color: rgba(16, 185, 129, 0.35);
  background: var(--success-soft);
  color: #047857;
}

.home-pill__dot {
  background: var(--success);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25);
}

.home-section-head__desc { color: var(--lumen-muted); }
.home-section-head__desc a { color: var(--accent-brand); }

.home-section-head__eyebrow {
  margin: 0 0 var(--space-2);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent-brand);
}

.home-hero__title {
  margin: 0 0 var(--space-4);
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.8vw, 3.15rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.03em;
  color: var(--lumen-foreground);
}

.home-hero__title .home-hero__brand {
  display: inline;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  -webkit-text-fill-color: transparent;
}

.home-trust--row {
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-5);
}

/* Stats strip (social proof) */
.home-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-3);
  margin-bottom: clamp(40px, 6vw, 64px);
  padding: var(--space-4);
  border-radius: var(--radius-xl);
  border: 1px solid var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-sm);
}

@media (min-width: 720px) {
  .home-stats {
    grid-template-columns: repeat(4, 1fr);
    padding: var(--space-5) var(--space-6);
  }
}

.home-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: var(--space-3);
  text-align: center;
}

.home-stat__value {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  font-weight: 700;
  background: var(--gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.home-stat__label {
  font-size: var(--text-xs);
  color: var(--lumen-muted);
}

/* Hero product showcase */
.home-hero-showcase {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 380px;
  margin: 0 auto;
}

.home-hero-showcase .home-preview {
  width: 100%;
}

.home-hero-showcase__float {
  position: absolute;
  right: -8px;
  bottom: -16px;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-lg);
  border: 1px solid var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-md);
  text-decoration: none;
  color: var(--lumen-foreground);
  max-width: calc(100% - 24px);
}

.home-hero-showcase__float img {
  border-radius: 12px;
  flex-shrink: 0;
}

.home-hero-showcase__float strong {
  display: block;
  font-size: var(--text-sm);
  font-weight: 600;
}

.home-hero-showcase__float span:not(.home-hero-showcase__tag) {
  display: block;
  font-size: var(--text-xs);
  color: var(--lumen-muted);
}

.home-hero-showcase__tag {
  margin-left: auto;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: var(--gradient-brand-soft);
  color: var(--accent-brand);
  flex-shrink: 0;
}

@media (min-width: 880px) {
  .home-hero-showcase__float {
    right: -20px;
    bottom: -24px;
  }
}

.home-hero-showcase--beatviz .bvz-hero-visual {
  max-width: none;
  width: 100%;
}

/* Light browser preview */
.home-preview--light {
  border: 1px solid var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-lg);
  transform: none;
}

.home-preview--light:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.home-preview--light .home-preview__chrome {
  background: var(--lumen-graphite);
  border-bottom-color: var(--lumen-hairline);
}

.home-preview--light .home-preview__omnibox {
  background: var(--lumen-panel);
  border-color: var(--lumen-hairline);
  color: var(--lumen-muted);
}

.home-preview--light .home-preview__body {
  background: var(--lumen-panel);
}

.home-preview--light .home-preview__search {
  border-color: var(--lumen-hairline);
  background: var(--lumen-graphite);
}

.home-preview--light .home-preview__search-placeholder {
  color: var(--lumen-muted);
}

/* Product hub cards */
.home-product-card__audience {
  margin: 0 0 var(--space-3);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent-brand);
}

.home-product-card__audience--creative {
  color: #db2777;
}

/* Product spotlight sections */
.home-spotlight {
  margin-bottom: clamp(48px, 7vw, 72px);
}

.home-spotlight__inner {
  display: grid;
  gap: var(--space-8);
  padding: clamp(24px, 4vw, 36px);
  border-radius: var(--radius-xl);
  border: 1px solid var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-sm);
}

@media (min-width: 880px) {
  .home-spotlight__inner {
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: clamp(32px, 5vw, 56px);
  }

  .home-spotlight__inner--beatviz .home-spotlight__visual {
    order: -1;
  }
}

.home-spotlight__inner--attorney {
  background: linear-gradient(160deg, rgba(99, 102, 241, 0.04) 0%, #fff 45%);
}

.home-spotlight__inner--beatviz {
  background: linear-gradient(160deg, rgba(236, 72, 153, 0.05) 0%, #fff 45%);
}

.home-spotlight__eyebrow {
  margin: 0 0 var(--space-2);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent-brand);
}

.home-spotlight__eyebrow--beatviz {
  color: #db2777;
}

.home-spotlight__title {
  margin: 0 0 var(--space-3);
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3.5vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.home-spotlight__desc,
.home-spotlight__meta {
  margin: 0 0 var(--space-4);
  color: var(--lumen-muted);
  line-height: 1.65;
  max-width: 46ch;
}

.home-spotlight__meta {
  font-size: var(--text-sm);
  margin-bottom: var(--space-5);
}

.home-spotlight__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.home-spotlight__visual {
  display: flex;
  justify-content: center;
  align-items: center;
}

.home-spotlight__visual .home-preview,
.home-spotlight__visual .bvz-hero-visual {
  width: min(100%, 360px);
}

.home-hero__panel.fx-card-glow {
  border: none;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.5), rgba(236, 72, 153, 0.4), rgba(6, 182, 212, 0.45));
  box-shadow: var(--shadow-lg);
}

.home-hero__panel {
  position: relative;
  display: block;
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.home-hero__panel-inner {
  display: grid;
  gap: var(--space-8);
  width: 100%;
  padding: clamp(24px, 4vw, 40px);
  border-radius: calc(var(--radius-xl) - 1px);
  background: #ffffff;
}

@media (min-width: 880px) {
  .home-hero__panel-inner {
    grid-template-columns: 1.05fr 0.95fr;
    align-items: stretch;
  }
}

.home-hero__panel--beatviz.fx-card-glow {
  background: linear-gradient(135deg, rgba(236, 72, 153, 0.5), rgba(139, 92, 246, 0.45), rgba(99, 102, 241, 0.4));
}

.home-hero__panel--beatviz .home-hero__panel-inner {
  background: #ffffff;
}

.home-hero__panel--beatviz .home-hero__visual {
  min-height: 280px;
}

.bvz-hero-visual {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 340px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-6);
  background: linear-gradient(145deg, #fdf4ff, #eef2ff);
  border: 1px solid rgba(168, 85, 247, 0.2);
  box-shadow: var(--shadow-md);
  border-radius: var(--radius-lg);
}

.home-hero__visual-bg--beatviz {
  background:
    radial-gradient(ellipse 80% 70% at 80% 20%, rgba(236, 72, 153, 0.2), transparent 55%),
    radial-gradient(ellipse 70% 60% at 20% 80%, rgba(139, 92, 246, 0.16), transparent 50%),
    linear-gradient(145deg, #fdf4ff 0%, #fae8ff 45%, #eef2ff 100%);
  border-color: rgba(168, 85, 247, 0.18);
}

.home-hero__brand {
  background: var(--gradient-text);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.home-hero__brand--studio,
.home-hero__brand--beatviz {
  background: var(--gradient-warm);
  -webkit-background-clip: text;
  background-clip: text;
}

.home-hero__desc { color: var(--lumen-muted); }

.home-btn-download {
  border: none;
  background: var(--gradient-brand);
  color: #fff;
  box-shadow: var(--shadow-glow);
}

.home-btn-download__icon {
  background: rgba(255, 255, 255, 0.2);
}

.home-btn-download__text small {
  color: rgba(255, 255, 255, 0.85);
}

.home-trust {
  color: var(--lumen-muted);
}

.home-trust li {
  color: var(--lumen-muted);
}

.home-trust svg { color: var(--success); }

.home-hero__visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 260px;
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  overflow: hidden;
  align-self: stretch;
}

.home-hero__visual-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  border: 1px solid rgba(99, 102, 241, 0.14);
  background:
    radial-gradient(ellipse 80% 70% at 20% 80%, rgba(6, 182, 212, 0.18), transparent 55%),
    radial-gradient(ellipse 70% 60% at 90% 20%, rgba(236, 72, 153, 0.16), transparent 50%),
    linear-gradient(145deg, #f5f3ff 0%, #fdf4ff 45%, #ecfeff 100%);
}

.home-product-stack {
  position: relative;
  z-index: 1;
  width: 100%;
  display: grid;
  gap: var(--space-3);
}

.home-product-stack__item {
  border: 1px solid var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-sm);
  transition: transform var(--duration-normal) var(--ease-spring), box-shadow var(--duration-normal);
  overflow: hidden;
}

.home-product-stack__item:hover {
  transform: translateX(6px) scale(1.02);
  box-shadow: var(--shadow-md);
  border-color: rgba(99, 102, 241, 0.25);
}

.home-product-stack__item span { color: var(--lumen-muted); }

.home-products__grid {
  display: grid;
  gap: var(--space-5);
}

@media (min-width: 720px) {
  .home-products__grid { grid-template-columns: 1fr 1fr; }
}

.home-product-card {
  padding: var(--space-6);
  border-radius: var(--radius-xl);
  border: 1px solid var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-sm);
  transition: transform var(--duration-normal) var(--ease-spring), box-shadow var(--duration-normal);
}

.home-product-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
}

.home-product-card--accent {
  border-color: rgba(99, 102, 241, 0.3);
  background: linear-gradient(160deg, rgba(99, 102, 241, 0.06) 0%, #fff 55%);
}

.home-product-card__tag {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  background: var(--lumen-graphite);
  color: var(--lumen-muted);
}

.home-product-card__tag--live {
  background: var(--success-soft);
  color: #047857;
}

.home-product-card__text,
.home-product-card__list { color: var(--lumen-muted); }

.home-feature {
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  border: 1px solid var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-xs);
  transition: transform var(--duration-normal), box-shadow var(--duration-normal);
}

.home-feature:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

.home-feature__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-md);
  background: var(--gradient-brand-soft);
  color: var(--accent-brand);
  margin-bottom: var(--space-3);
}

.home-features__grid {
  display: grid;
  gap: var(--space-4);
}

@media (min-width: 640px) {
  .home-features__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 960px) {
  .home-features__grid { grid-template-columns: repeat(3, 1fr); }
}

.home-feature__title {
  margin: 0 0 var(--space-2);
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--lumen-foreground);
}

.home-feature__text {
  margin: 0;
  color: var(--lumen-muted);
}

.home-partners__label {
  text-align: center;
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--lumen-muted);
}

.home-partners__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--space-3);
}

.home-partner {
  display: block;
  padding: var(--space-4);
  border-radius: var(--radius-lg);
  border: 1px solid var(--lumen-hairline);
  background: var(--lumen-panel);
  text-decoration: none;
  box-shadow: var(--shadow-xs);
  transition: transform var(--duration-fast), box-shadow var(--duration-fast), border-color var(--duration-fast);
}

.home-partner:hover {
  transform: translateY(-3px);
  border-color: rgba(99, 102, 241, 0.3);
  box-shadow: var(--shadow-sm);
}

.home-partner__name {
  display: block;
  font-weight: 600;
  color: var(--lumen-foreground);
}

.home-partner__desc {
  display: block;
  font-size: var(--text-xs);
  color: var(--lumen-muted);
  margin-top: 4px;
}

.home-portal__panel {
  padding: clamp(20px, 4vw, 32px);
  border-radius: var(--radius-xl);
  border: 1px solid var(--lumen-hairline);
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.06), rgba(6, 182, 212, 0.05)), var(--lumen-panel);
  box-shadow: var(--shadow-md);
}

.home-portal__eyebrow {
  color: var(--accent-brand);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.home-portal__desc { color: var(--lumen-muted); }

.home-portal__links a {
  display: block;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  border: 1px solid var(--lumen-hairline);
  background: var(--lumen-panel);
  color: var(--lumen-foreground);
  text-decoration: none;
  font-weight: 500;
  transition: border-color var(--duration-fast), color var(--duration-fast), transform var(--duration-fast);
}

.home-portal__links a:hover {
  border-color: var(--accent-brand);
  color: var(--accent-brand);
  transform: translateX(4px);
}

.home-cta__panel {
  padding: clamp(24px, 4vw, 36px);
  border-radius: var(--radius-xl);
  background: var(--gradient-brand);
  color: #fff;
  box-shadow: var(--shadow-lg);
}

.home-cta__panel--beatviz {
  background: linear-gradient(135deg, #ec4899, #8b5cf6, #6366f1);
}

.home-cta__desc { color: rgba(255, 255, 255, 0.9); }
.home-cta__panel .ui-btn--ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.12);
}

.home-steps { color: var(--lumen-muted); }
.home-step__num {
  background: var(--gradient-brand);
  color: #fff;
}

.home-attorney-banner,
.home-preview {
  border: 1px solid var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-sm);
}

.home-preview__chrome,
.home-preview__body { background: var(--lumen-graphite); }
.home-preview__search { border-color: var(--lumen-hairline); }
.home-preview__search-placeholder { color: var(--lumen-muted); }

.home-compare__track .ui-card { min-width: 260px; }

/* ═══ SHOP ═══════════════════════════════════════════════════ */

.shop-plan {
  background: var(--lumen-panel);
  border-color: var(--lumen-hairline);
  box-shadow: var(--shadow-sm);
  border-radius: var(--radius-xl);
}

.shop-plan:hover {
  border-color: rgba(99, 102, 241, 0.3);
  box-shadow: var(--shadow-md);
}

.shop-plan--featured {
  border-color: rgba(99, 102, 241, 0.4);
  background: linear-gradient(160deg, rgba(99, 102, 241, 0.08) 0%, #fff 50%);
  box-shadow: var(--shadow-lg);
}

.shop-plan--free {
  border-style: dashed;
  border-color: var(--lumen-hairline-strong);
}

.shop-plan__badge {
  color: var(--accent-brand);
  background: var(--accent-muted);
  border: 1px solid rgba(99, 102, 241, 0.2);
}

.shop-plan__desc,
.shop-plan__features li { color: var(--lumen-muted); }

.bvz-hero-visual__bar {
  background: linear-gradient(180deg, #ec4899, #8b5cf6);
}

.bvz-download-item,
.bvz-step {
  border: 1px solid var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-xs);
}

.bvz-step__num {
  background: var(--gradient-brand);
  color: #fff;
}

.bvz-key-format {
  font-family: var(--font-mono);
  padding: 2px 8px;
  border-radius: 6px;
  background: var(--lumen-graphite);
  color: var(--accent-brand);
}

/* ═══ PORTAL ═══════════════════════════════════════════════ */

.portal-hero__eyebrow { color: var(--accent-brand); }
.portal-hero__desc { color: var(--lumen-muted); }

.portal-card,
.portal-form,
.portal-aside,
.portal-rules,
.portal-memo,
.portal-update,
.portal-profile__card,
.portal-status__item,
.portal-checkout-result,
.portal-key-box,
.portal-payment {
  border-color: var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-sm);
}

.portal-alert--ok {
  background: var(--success-soft);
  border-color: rgba(16, 185, 129, 0.35);
  color: #047857;
}

.portal-alert--err {
  background: var(--danger-soft);
  border-color: rgba(239, 68, 68, 0.35);
  color: #b91c1c;
}

.portal-field input,
.portal-field select,
.portal-field textarea {
  border-color: var(--lumen-hairline);
  background: var(--lumen-graphite);
  color: var(--lumen-foreground);
}

.portal-field--inactive input:read-only {
  opacity: 0.72;
  cursor: not-allowed;
  background: rgba(148, 163, 184, 0.12);
  color: var(--lumen-muted);
}

.portal-field--inactive .portal-note {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--lumen-muted);
}

.portal-table th,
.portal-table td { border-color: var(--lumen-hairline); }

/* ═══ DOWNLOAD ═════════════════════════════════════════════ */

.dl-hero__panel,
.dl-card,
.dl-step,
.dl-help__inner,
.dl-empty {
  border: 1px solid var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-sm);
}

.dl-hero__title {
  background: var(--gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.dl-pill--live {
  background: var(--success-soft);
  color: #047857;
  border-color: rgba(16, 185, 129, 0.3);
}

.dl-card__meta,
.dl-step__text,
.dl-empty__text,
.dl-help__text { color: var(--lumen-muted); }

.dl-btn-download {
  background: var(--gradient-brand);
  color: #fff;
  box-shadow: var(--shadow-glow);
}

/* ═══ COMPARE ══════════════════════════════════════════════ */

.compare-hero,
.compare-card,
.compare-table-wrap,
.compare-verdict {
  border-color: var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-sm);
}

.compare-hero__title {
  background: var(--gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.compare-card__text,
.compare-table th,
.compare-table td { color: var(--lumen-muted); }

.compare-badge--full { background: var(--success-soft); color: #047857; }
.compare-badge--partial { background: var(--warning-soft); color: #b45309; }
.compare-badge--none { background: var(--lumen-graphite); color: var(--lumen-muted); }

/* ═══ PORTAL HERO PANEL ════════════════════════════════════ */

.portal-hero__panel.fx-card-glow {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.45), rgba(6, 182, 212, 0.35), rgba(168, 85, 247, 0.4));
}

.portal-hero__inner {
  padding: clamp(24px, 4vw, 36px);
  border-radius: calc(var(--radius-xl) - 1px);
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
}

.portal-hero__title {
  background: var(--gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.portal-card {
  border-radius: var(--radius-lg);
  transition: transform var(--duration-normal) var(--ease-spring), box-shadow var(--duration-normal), border-color var(--duration-normal);
}

.portal-card:hover {
  border-color: rgba(99, 102, 241, 0.28);
}

.portal-links a {
  color: var(--lumen-foreground);
}

.portal-links a:hover {
  color: var(--accent-brand);
}

.portal-rules,
.portal-memo {
  border-radius: var(--radius-xl);
}

.portal-profile__card {
  border-radius: var(--radius-xl);
}

.portal-update {
  border-radius: var(--radius-lg);
  transition: transform var(--duration-fast), box-shadow var(--duration-fast);
}

.portal-update:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

.portal-status__overall--operational { color: #047857; }
.portal-status__overall--degraded { color: #b45309; }
.portal-status__overall--outage { color: #b91c1c; }

/* ═══ DOWNLOAD HERO ════════════════════════════════════════ */

.dl-hero__panel.fx-card-glow {
  border: none;
  padding: 1px;
  background: linear-gradient(135deg, rgba(6, 182, 212, 0.45), rgba(99, 102, 241, 0.4), rgba(79, 70, 229, 0.35));
  box-shadow: var(--shadow-lg);
}

.dl-hero__panel {
  display: block;
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.dl-hero__panel-inner {
  display: grid;
  gap: var(--space-6);
  width: 100%;
  padding: clamp(24px, 4vw, 36px);
  border-radius: calc(var(--radius-xl) - 1px);
  background: #ffffff;
}

@media (min-width: 800px) {
  .dl-hero__panel-inner {
    grid-template-columns: 1.15fr 0.85fr;
    gap: var(--space-8);
    align-items: start;
  }
}

.dl-pill {
  background: var(--lumen-panel);
  border-color: var(--lumen-hairline);
  box-shadow: var(--shadow-xs);
}

.dl-pill--live {
  border-color: rgba(16, 185, 129, 0.35);
  background: var(--success-soft);
  color: #047857;
}

.dl-hero__desc { color: var(--lumen-muted); }

.dl-spec,
.dl-build,
.dl-card,
.dl-step,
.dl-help__inner {
  border-radius: var(--radius-lg);
  border-color: var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-xs);
  transition: transform var(--duration-normal), box-shadow var(--duration-normal), border-color var(--duration-normal);
}

.dl-build:hover,
.dl-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: rgba(99, 102, 241, 0.25);
}

.dl-build--primary {
  border-color: rgba(99, 102, 241, 0.35);
  background: linear-gradient(160deg, rgba(99, 102, 241, 0.06) 0%, #fff 55%);
}

.dl-trust { color: var(--lumen-muted); }
.dl-trust svg { color: var(--success); }

/* Download page — полный контраст в светлой теме */
.page-download .dl-hero__title,
.page-download .dl-hero__title span {
  background: var(--gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.page-download .dl-pill {
  color: var(--lumen-muted);
  background: var(--lumen-graphite);
  border-color: var(--lumen-hairline);
}

.page-download .dl-spec {
  background: var(--lumen-graphite);
  border: 1px solid var(--lumen-hairline);
  box-shadow: none;
}

.page-download .dl-spec__label,
.page-download .dl-spec__item dt {
  color: var(--lumen-muted);
}

.page-download .dl-spec__item dd {
  color: var(--lumen-foreground);
}

.page-download .dl-section-head__title,
.page-download .dl-build__title,
.page-download .dl-step__title,
.page-download .dl-detail-card__title,
.page-download .dl-help__title {
  color: var(--lumen-foreground);
}

.page-download .dl-build__file {
  color: var(--lumen-muted);
}

.page-download .dl-build__hint {
  color: var(--lumen-muted);
}

.page-download .dl-build--deprecated .dl-build__hint {
  color: #78350f;
}

.page-download .dl-build__stats {
  background: var(--lumen-graphite);
  border-color: var(--lumen-hairline);
}

.page-download .dl-build__stats dt {
  color: var(--lumen-muted);
}

.page-download .dl-build__stats dd {
  color: var(--lumen-foreground);
}

.page-download .dl-build__tag {
  color: #fff;
}

.page-download .dl-build__tag--warn {
  color: #92400e;
  background: var(--warning-soft);
  border: 1px solid rgba(245, 158, 11, 0.45);
}

.page-download .dl-build__frozen {
  color: #b45309;
  font-weight: 700;
}

.page-download .dl-build__icon {
  color: var(--accent-brand);
  background: var(--accent-muted);
  border-color: rgba(99, 102, 241, 0.22);
}

.page-download .dl-build--deprecated {
  opacity: 1;
  background: linear-gradient(160deg, rgba(245, 158, 11, 0.06) 0%, #fff 50%);
}

.page-download .msi-banner {
  background: var(--warning-soft);
  border-color: rgba(245, 158, 11, 0.4);
}

.page-download .msi-banner__title {
  color: #b45309;
}

.page-download .msi-banner__text {
  color: #78350f;
}

.page-download .msi-banner__text strong {
  color: #92400e;
}

.page-download .dl-copy-btn {
  color: var(--lumen-muted);
  background: var(--lumen-panel);
  border-color: var(--lumen-hairline);
}

.page-download .dl-copy-btn:hover {
  color: var(--lumen-foreground);
  background: var(--lumen-graphite);
  border-color: var(--lumen-hairline-strong);
}

.page-download .dl-detail-card__paths-label {
  color: var(--lumen-muted);
}

.page-download .dl-detail-card__paths code {
  color: var(--lumen-foreground);
  background: var(--lumen-graphite);
  padding: 2px 6px;
  border-radius: 4px;
}

.page-download .dl-step__text code {
  background: var(--lumen-graphite);
  color: var(--lumen-foreground);
}

.page-download .dl-step {
  background: var(--lumen-panel);
}

.page-download .dl-detail-card__list strong {
  color: var(--lumen-foreground);
}

.page-download .dl-btn-download__text small {
  color: rgba(255, 255, 255, 0.88);
  opacity: 1;
}

.page-download .dl-hero__alt {
  color: var(--accent-brand);
}

.page-download .dl-hero__alt:hover {
  color: var(--accent-hover);
}

.page-download .dl-toast {
  background: var(--lumen-foreground);
  color: #fff;
  border-color: transparent;
  box-shadow: var(--shadow-lg);
}

/* Hub download page uses same dl-* classes */
.page-hub .dl-hero__title,
.page-hub .dl-hero__title span {
  background: var(--gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.page-hub .dl-section-head__title,
.page-hub .dl-feature strong {
  color: var(--lumen-foreground);
}

.page-hub .dl-feature span,
.page-hub .dl-note {
  color: var(--lumen-muted);
}

.page-hub .dl-file-list__item span {
  color: var(--lumen-muted);
}

.page-batch .dl-hero__title,
.page-batch .dl-hero__title span {
  background: linear-gradient(135deg, #831843 0%, #a21caf 45%, #7c3aed 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.page-batch .dl-section-head__title,
.page-batch .dl-feature strong {
  color: var(--lumen-text);
}

.page-batch .dl-feature span,
.page-batch .dl-note {
  color: var(--lumen-muted);
}

.page-batch .dl-file-list__item span {
  color: var(--lumen-muted);
}

/* ═══ COMPARE (cmp) ════════════════════════════════════════ */

.cmp-hero__panel.fx-card-glow {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.4), rgba(236, 72, 153, 0.3));
  margin-bottom: 0;
}

.cmp-hero__inner {
  padding: clamp(24px, 4vw, 40px);
  border-radius: calc(var(--radius-xl) - 1px);
  background: rgba(255, 255, 255, 0.95);
}

.cmp-hero__title {
  background: var(--gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.cmp-cta__panel {
  padding: clamp(24px, 4vw, 36px);
  border-radius: var(--radius-xl);
  background: var(--gradient-brand);
  color: #fff;
  box-shadow: var(--shadow-lg);
}

.cmp-cta__desc { color: rgba(255, 255, 255, 0.9); }

.ui-card {
  border-color: var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-sm);
  transition: transform var(--duration-normal) var(--ease-spring), box-shadow var(--duration-normal);
}

.ui-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
  border-color: rgba(99, 102, 241, 0.25);
}

/* ═══ HOME extras ══════════════════════════════════════════ */

.home-portal__panel.fx-card-glow {
  border: none;
  padding: 1px;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.4), rgba(6, 182, 212, 0.35));
}

.home-portal__panel {
  display: block;
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.home-portal__panel-inner {
  padding: clamp(20px, 4vw, 32px);
  border-radius: calc(var(--radius-xl) - 1px);
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.04), rgba(6, 182, 212, 0.03)), rgba(255, 255, 255, 0.96);
}

.home-attorney-banner {
  border-radius: var(--radius-xl);
  transition: transform var(--duration-normal) var(--ease-spring), box-shadow var(--duration-normal);
}

.home-attorney-intro__label {
  color: var(--accent-brand);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.home-steps {
  display: grid;
  gap: var(--space-4);
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-6);
}

@media (min-width: 720px) {
  .home-steps { grid-template-columns: repeat(3, 1fr); }
}

.home-step {
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  border: 1px solid var(--lumen-hairline);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-xs);
}

.home-step__title {
  margin: 0 0 var(--space-2);
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 600;
}

.home-step__text { color: var(--lumen-muted); margin: 0; }

@media (min-width: 768px) {
  .home-step:not(:last-child)::after {
    color: var(--lumen-muted);
    opacity: 0.35;
  }
}

.home-start__cta { text-align: center; }

.home-compare__track {
  display: flex;
  gap: var(--space-4);
  overflow-x: auto;
  padding-bottom: var(--space-2);
  scroll-snap-type: x mandatory;
}

.home-compare__track .ui-card {
  flex: 0 0 min(300px, 85vw);
  scroll-snap-align: start;
}

/* ═══ FAQ ══════════════════════════════════════════════════ */

.ui-faq {
  border: 1px solid var(--lumen-hairline);
  border-radius: var(--radius-lg);
  background: var(--lumen-panel);
  box-shadow: var(--shadow-xs);
  overflow: hidden;
  transition: border-color var(--duration-fast), box-shadow var(--duration-fast);
}

.ui-faq:hover {
  border-color: rgba(99, 102, 241, 0.2);
  box-shadow: var(--shadow-sm);
}

.ui-faq summary {
  padding: var(--space-4) var(--space-5);
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.ui-faq summary::-webkit-details-marker { display: none; }

.ui-faq__body {
  padding: 0 var(--space-5) var(--space-4);
  color: var(--lumen-muted);
  line-height: 1.65;
}

/* ═══ SHOP extras ══════════════════════════════════════════ */

.shop-plan--free {
  border-color: var(--lumen-hairline-strong);
}

.shop-plan__badge {
  color: var(--accent-brand);
  background: var(--accent-muted);
  border-color: rgba(99, 102, 241, 0.2);
}

.shop-plan__amount {
  background: var(--gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.bvz-steps {
  display: grid;
  gap: var(--space-4);
}

@media (min-width: 720px) {
  .bvz-steps { grid-template-columns: repeat(3, 1fr); }
}
