/* ==========================================================================
   Design Core Hub — Studio V7
   Site-wide dark premium system based on the approved homepage direction.
   Loaded after studio-v6.css and before home-v7.css on the homepage.
   ========================================================================== */

:root {
  --v7-bg: #06111f;
  --v7-bg-2: #081827;
  --v7-bg-3: #0a1d31;
  --v7-card: rgba(10, 29, 49, .78);
  --v7-card-strong: #0b2036;
  --v7-line: rgba(137, 184, 232, .14);
  --v7-line-strong: rgba(119, 184, 248, .26);
  --v7-text: #f5f9ff;
  --v7-copy: #b2c2d4;
  --v7-muted: #7f94ab;
  --v7-blue: #2e7dff;
  --v7-blue-2: #79c7ff;
  --v7-green: #64d49b;
  --v7-shell: min(1740px, calc(100vw - 48px));
  --v7-radius: 18px;
  --v7-shadow: 0 28px 70px rgba(0, 0, 0, .24);
}

/* Base ------------------------------------------------------------------ */
body:not(.home-v7) {
  min-width: 320px;
  color: var(--v7-text);
  background:
    radial-gradient(circle at 82% -6%, rgba(52, 126, 239, .15), transparent 28%),
    radial-gradient(circle at 8% 32%, rgba(22, 87, 162, .08), transparent 24%),
    var(--v7-bg);
}

body:not(.home-v7) .site,
body:not(.home-v7) .main {
  width: 100%;
  background: transparent;
}

body:not(.home-v7) .container,
body:not(.home-v7) .header-inner,
body:not(.home-v7) .announce-inner {
  width: var(--v7-shell);
  max-width: none;
  margin-inline: auto;
  padding-left: 0;
  padding-right: 0;
}

body:not(.home-v7) .announce { display: none; }

body:not(.home-v7) ::selection {
  color: #03101f;
  background: #8fd3ff;
}

body:not(.home-v7) a { color: inherit; }

body:not(.home-v7) .display,
body:not(.home-v7) .h1,
body:not(.home-v7) .h2,
body:not(.home-v7) .h3,
body:not(.home-v7) .h4 {
  color: var(--v7-text);
  font-family: Manrope, sans-serif;
}

body:not(.home-v7) .h1 {
  font-size: clamp(48px, 5.4vw, 92px);
  line-height: .98;
  letter-spacing: -.058em;
}

body:not(.home-v7) .h2 {
  font-size: clamp(34px, 3.5vw, 58px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

body:not(.home-v7) .h3 {
  font-size: clamp(22px, 1.8vw, 30px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

body:not(.home-v7) .lead {
  max-width: 64ch;
  color: var(--v7-copy);
  font-size: clamp(17px, 1.2vw, 20px);
  line-height: 1.72;
}

body:not(.home-v7) .copy,
body:not(.home-v7) .small {
  color: var(--v7-muted);
}

body:not(.home-v7) .copy {
  font-size: 16px;
  line-height: 1.74;
}

body:not(.home-v7) .eyebrow {
  color: #7bc6ff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body:not(.home-v7) .eyebrow::before {
  background: #58aef0;
}

/* Header ---------------------------------------------------------------- */
body:not(.home-v7) .header {
  position: sticky;
  top: 0;
  z-index: 1200;
  min-height: 82px;
  color: var(--v7-text);
  background: rgba(5, 15, 28, .79);
  border-bottom: 1px solid transparent;
  box-shadow: none;
  backdrop-filter: blur(20px) saturate(135%);
}

body:not(.home-v7) .header.scrolled {
  background: rgba(5, 15, 28, .95);
  border-bottom-color: var(--v7-line);
  box-shadow: 0 16px 42px rgba(0, 0, 0, .18);
}

body:not(.home-v7) .header-inner {
  min-height: 82px;
  padding-top: 10px;
  padding-bottom: 10px;
  gap: clamp(28px, 4vw, 64px);
}

body:not(.home-v7) .logo { color: #fff; }
body:not(.home-v7) .logo-symbol { width: 38px; height: 30px; }
body:not(.home-v7) .logo-text strong {
  color: #fff;
  font-size: 16px;
  letter-spacing: -.03em;
}
body:not(.home-v7) .logo-text small { display: none; }

body:not(.home-v7) .nav {
  margin-left: auto;
  gap: clamp(18px, 1.7vw, 32px);
}

body:not(.home-v7) .nav > a[href="index.html"],
body:not(.home-v7) .nav > a[href="pricing.html"],
body:not(.home-v7) .nav > a[href="support.html"] {
  display: none;
}

body:not(.home-v7) .nav-link {
  color: #c4d2e1;
  font-size: 13px;
  font-weight: 600;
}

body:not(.home-v7) .nav-link:hover,
body:not(.home-v7) .nav-link.active {
  color: #fff;
}

body:not(.home-v7) .nav-link::after {
  bottom: 5px;
  background: var(--v7-blue-2);
}

body:not(.home-v7) .dropdown {
  top: 49px;
  background: rgba(8, 24, 40, .98);
  border-color: var(--v7-line);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .36);
}

body:not(.home-v7) .drop-link { color: #eaf3fd; }
body:not(.home-v7) .drop-link:hover {
  background: rgba(255, 255, 255, .055);
  transform: translateX(2px);
}
body:not(.home-v7) .drop-icon {
  color: #75c1ff;
  background: rgba(45, 121, 255, .14);
}
body:not(.home-v7) .drop-copy span { color: #8ba0b7; }

body:not(.home-v7) .header-actions { gap: 11px; }

body:not(.home-v7) .header-signin-v7 {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding-inline: 4px;
  color: #d0dceb;
  font-size: 13px;
  font-weight: 650;
}

body:not(.home-v7) .header-signin-v7:hover { color: #fff; }

body:not(.home-v7) .icon-btn {
  color: #d9e5f1;
  border-color: var(--v7-line);
  background: rgba(255,255,255,.02);
}

body:not(.home-v7) .icon-btn:hover {
  color: #fff;
  border-color: rgba(115, 193, 255, .38);
  background: rgba(255,255,255,.06);
}

body:not(.home-v7) .mobile-nav {
  background: rgba(6, 17, 31, .99);
  border-color: var(--v7-line);
}
body:not(.home-v7) .mobile-nav a {
  color: #d6e2ef;
  border-color: var(--v7-line);
}

/* Buttons --------------------------------------------------------------- */
body:not(.home-v7) .btn {
  min-height: 50px;
  border-radius: 11px;
  font-size: 13px;
  font-weight: 750;
}

body:not(.home-v7) .btn-primary,
body:not(.home-v7) .btn-light {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, #3280ff, #1766f2);
  box-shadow: 0 14px 34px rgba(35, 111, 255, .25);
}

body:not(.home-v7) .btn-primary:hover,
body:not(.home-v7) .btn-light:hover {
  color: #fff;
  background: linear-gradient(135deg, #448cff, #2672ff);
  box-shadow: 0 18px 42px rgba(35, 111, 255, .31);
}

body:not(.home-v7) .btn-outline,
body:not(.home-v7) .btn-ghost {
  color: #eef6ff;
  border-color: rgba(169, 204, 237, .2);
  background: rgba(255,255,255,.018);
  box-shadow: none;
}

body:not(.home-v7) .btn-outline:hover,
body:not(.home-v7) .btn-ghost:hover {
  color: #fff;
  border-color: rgba(111, 191, 255, .38);
  background: rgba(255,255,255,.065);
}

/* Hero system ----------------------------------------------------------- */
body:not(.home-v7) .page-hero,
body:not(.home-v7) .platform-hero {
  position: relative;
  overflow: hidden;
  padding-top: clamp(78px, 7vw, 124px);
  padding-bottom: clamp(78px, 7vw, 124px);
  color: #fff;
  background:
    radial-gradient(circle at 80% 18%, rgba(46, 126, 255, .17), transparent 30%),
    linear-gradient(180deg, #071525, #06111f);
  border-bottom: 1px solid var(--v7-line);
}

body:not(.home-v7) .page-hero::before,
body:not(.home-v7) .platform-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(111, 163, 218, .035) 1px, transparent 1px),
    linear-gradient(rgba(111, 163, 218, .028) 1px, transparent 1px);
  background-size: 76px 76px;
  mask-image: linear-gradient(to bottom, #000, transparent 94%);
}

body:not(.home-v7) .platform-hero.shopify {
  background:
    radial-gradient(circle at 80% 18%, rgba(77, 184, 140, .12), transparent 30%),
    linear-gradient(180deg, #071a19, #06111f);
}

body:not(.home-v7) .page-hero-grid {
  position: relative;
  z-index: 2;
  grid-template-columns: minmax(420px, .86fr) minmax(560px, 1.14fr);
  gap: clamp(50px, 6vw, 110px);
  align-items: center;
}

body:not(.home-v7) .page-hero-copy {
  max-width: 800px;
  gap: 22px;
}

body:not(.home-v7) .page-hero-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9.4;
  border: 1px solid rgba(134, 197, 255, .2);
  border-radius: 24px;
  background: #081827;
  box-shadow: 0 36px 90px rgba(0,0,0,.34);
}

body:not(.home-v7) .page-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 62%, rgba(3,12,22,.34));
}

body:not(.home-v7) .page-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body:not(.home-v7) .page-hero .container.stack-lg {
  position: relative;
  z-index: 2;
}

body:not(.home-v7) .page-hero .container.stack-lg .page-hero-copy {
  max-width: 980px;
}

body:not(.home-v7) .breadcrumbs {
  color: #7890a9;
  font-size: 12px;
}

/* Sections -------------------------------------------------------------- */
body:not(.home-v7) .section {
  position: relative;
  padding-top: clamp(78px, 7vw, 124px);
  padding-bottom: clamp(78px, 7vw, 124px);
  color: var(--v7-text);
  background: transparent;
  border-bottom: 1px solid var(--v7-line);
}

body:not(.home-v7) .section.soft {
  background: rgba(8, 26, 43, .48);
}

body:not(.home-v7) .section.tint {
  background: rgba(10, 31, 51, .42);
}

body:not(.home-v7) .section.dark {
  background: #04101c;
}

body:not(.home-v7) .section.compact {
  padding-top: clamp(56px, 5vw, 82px);
  padding-bottom: clamp(56px, 5vw, 82px);
}

body:not(.home-v7) .section-head {
  align-items: end;
  gap: clamp(28px, 5vw, 80px);
}

body:not(.home-v7) .section-head-copy {
  max-width: 900px;
  gap: 14px;
}

body:not(.home-v7) .section-head-side {
  max-width: 560px;
  color: var(--v7-muted);
  font-size: 15px;
  line-height: 1.7;
}

body:not(.home-v7) .stack-lg {
  gap: clamp(38px, 4vw, 64px);
}

/* Generic cards --------------------------------------------------------- */
body:not(.home-v7) .card,
body:not(.home-v7) .cap-card,
body:not(.home-v7) .support-card,
body:not(.home-v7) .article-card,
body:not(.home-v7) .theme-card,
body:not(.home-v7) .case-card,
body:not(.home-v7) .price-card,
body:not(.home-v7) .process-step,
body:not(.home-v7) .feature-box,
body:not(.home-v7) .license-box,
body:not(.home-v7) .contact-card,
body:not(.home-v7) .form-card,
body:not(.home-v7) .order-summary,
body:not(.home-v7) .filter-panel {
  color: var(--v7-text);
  border-color: var(--v7-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.005)),
    rgba(9, 27, 46, .76);
  box-shadow: inset 0 1px rgba(255,255,255,.02);
}

body:not(.home-v7) .cap-card:hover,
body:not(.home-v7) .support-card:hover,
body:not(.home-v7) .article-card:hover,
body:not(.home-v7) .theme-card:hover,
body:not(.home-v7) .case-card:hover,
body:not(.home-v7) .price-card:hover {
  border-color: rgba(111, 184, 248, .28);
  box-shadow: 0 24px 62px rgba(0,0,0,.2);
}

body:not(.home-v7) .icon,
body:not(.home-v7) .icon-wrap {
  color: #72c0ff;
  background: rgba(49, 126, 220, .12);
  border-color: rgba(104, 181, 250, .14);
}

body:not(.home-v7) .cap-card p,
body:not(.home-v7) .support-card p,
body:not(.home-v7) .article-card p,
body:not(.home-v7) .price-card p,
body:not(.home-v7) .process-step p,
body:not(.home-v7) .feature-box p,
body:not(.home-v7) .contact-card p {
  color: var(--v7-muted);
}

body:not(.home-v7) .bento-link,
body:not(.home-v7) .doc-link {
  color: #76bbff;
}

/* Themes marketplace ---------------------------------------------------- */
body:not(.home-v7) .market-layout {
  grid-template-columns: minmax(240px, .28fr) minmax(0, 1.72fr);
  gap: clamp(28px, 4vw, 54px);
}

body:not(.home-v7) .filter-panel {
  border-radius: 18px;
  padding: 24px;
}

body:not(.home-v7) .filter-group {
  border-color: var(--v7-line);
}

body:not(.home-v7) .filter-group h4 {
  color: #eaf3fd;
}

body:not(.home-v7) .filter-check {
  color: #9db0c4;
}

body:not(.home-v7) .filter-check input {
  accent-color: var(--v7-blue);
}

body:not(.home-v7) .market-top {
  gap: 12px;
}

body:not(.home-v7) .searchbox,
body:not(.home-v7) .selectbox,
body:not(.home-v7) .field input,
body:not(.home-v7) .field textarea,
body:not(.home-v7) .field select,
body:not(.home-v7) input,
body:not(.home-v7) textarea,
body:not(.home-v7) select {
  color: #eef6ff;
  border-color: var(--v7-line);
  background: rgba(255,255,255,.025);
}

body:not(.home-v7) input::placeholder,
body:not(.home-v7) textarea::placeholder {
  color: #667d95;
}

body:not(.home-v7) .searchbox:focus-within,
body:not(.home-v7) .field:focus-within {
  border-color: rgba(107, 184, 255, .42);
}

body:not(.home-v7) .theme-grid {
  gap: 18px;
}

body:not(.home-v7) .theme-card {
  overflow: hidden;
  border-radius: 18px;
}

body:not(.home-v7) .theme-thumb {
  overflow: hidden;
  min-height: 0;
  aspect-ratio: 1.48;
  border-bottom: 1px solid var(--v7-line);
  background: #071626;
}

body:not(.home-v7) .theme-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body:not(.home-v7) .platform-pill {
  color: #dff0ff;
  border: 1px solid rgba(165, 208, 248, .18);
  background: rgba(5, 18, 31, .78);
  backdrop-filter: blur(10px);
}

body:not(.home-v7) .theme-body {
  background: transparent;
}

body:not(.home-v7) .theme-title h3,
body:not(.home-v7) .theme-price {
  color: #f5f9ff;
}

body:not(.home-v7) .theme-title span,
body:not(.home-v7) .theme-features {
  color: #859bb2;
}

body:not(.home-v7) .theme-features li svg {
  color: #65d49d;
}

/* Portfolio ------------------------------------------------------------- */
body:not(.home-v7) .portfolio-grid {
  gap: 18px;
}

body:not(.home-v7) .case-card {
  overflow: hidden;
  border-radius: 18px;
}

body:not(.home-v7) .case-media {
  background: #071626;
}

body:not(.home-v7) .case-body {
  background: transparent;
}

body:not(.home-v7) .case-top h3 { color: #f4f9ff; }
body:not(.home-v7) .case-top p { color: #8398af; }

body:not(.home-v7) .tag {
  color: #b8c9dc;
  border-color: var(--v7-line);
  background: rgba(255,255,255,.025);
}

body:not(.home-v7) .tag.green {
  color: #8fe0b5;
  border-color: rgba(93, 203, 145, .18);
  background: rgba(65, 178, 119, .08);
}

/* Services and capability grids ---------------------------------------- */
body:not(.home-v7) .cap-grid,
body:not(.home-v7) .feature-grid,
body:not(.home-v7) .grid-3,
body:not(.home-v7) .support-categories {
  gap: 18px;
}

body:not(.home-v7) .cap-card,
body:not(.home-v7) .support-card,
body:not(.home-v7) .feature-box {
  border-radius: 17px;
}

/* Split layouts --------------------------------------------------------- */
body:not(.home-v7) .split {
  gap: clamp(44px, 6vw, 112px);
  align-items: center;
}

body:not(.home-v7) .split-copy {
  max-width: 760px;
}

body:not(.home-v7) .split-media {
  overflow: hidden;
  border: 1px solid var(--v7-line);
  border-radius: 20px;
  background: #071626;
  box-shadow: 0 28px 70px rgba(0,0,0,.18);
}

body:not(.home-v7) .split-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Process --------------------------------------------------------------- */
body:not(.home-v7) .process {
  gap: 0;
  border-top: 1px solid var(--v7-line);
  border-left: 1px solid var(--v7-line);
}

body:not(.home-v7) .process-step {
  min-height: 230px;
  border-radius: 0;
  border-top: 0;
  border-left: 0;
  border-right: 1px solid var(--v7-line);
  border-bottom: 1px solid var(--v7-line);
  box-shadow: none;
}

body:not(.home-v7) .step-no {
  color: #6eaee6;
}

body:not(.home-v7) .process-step h3 { color: #f1f7fd; }

/* Pricing --------------------------------------------------------------- */
body:not(.home-v7) .pricing-grid {
  gap: 18px;
}

body:not(.home-v7) .price-card {
  border-radius: 18px;
}

body:not(.home-v7) .price-card.featured {
  border-color: rgba(82, 158, 255, .42);
  background:
    radial-gradient(circle at 80% 0%, rgba(54, 134, 255, .14), transparent 34%),
    rgba(10, 31, 52, .9);
  box-shadow: 0 24px 72px rgba(25, 92, 190, .16);
}

body:not(.home-v7) .price-name,
body:not(.home-v7) .price-badge,
body:not(.home-v7) .amount {
  color: #f5f9ff;
}

body:not(.home-v7) .price-list {
  color: #93a7bd;
}

body:not(.home-v7) .compare-table {
  overflow: hidden;
  border: 1px solid var(--v7-line);
  border-radius: 16px;
  background: rgba(8, 25, 43, .72);
}

body:not(.home-v7) .compare-table > * {
  border-color: var(--v7-line);
}

body:not(.home-v7) .comparison {
  color: var(--v7-muted);
}

body:not(.home-v7) .pricing-toggle,
body:not(.home-v7) .toggle-shell {
  border-color: var(--v7-line);
  background: rgba(255,255,255,.022);
}

body:not(.home-v7) .toggle-btn {
  color: #879bb1;
}

body:not(.home-v7) .toggle-btn.active {
  color: #fff;
  background: rgba(46, 125, 255, .18);
}

/* Product detail -------------------------------------------------------- */
body:not(.home-v7) .product-layout {
  gap: clamp(38px, 5vw, 76px);
  align-items: start;
}

body:not(.home-v7) .product-gallery {
  padding: 0;
  border: 0;
  background: transparent;
}

body:not(.home-v7) .product-main-img {
  overflow: hidden;
  border: 1px solid var(--v7-line);
  border-radius: 20px;
  background: #071626;
  box-shadow: 0 28px 70px rgba(0,0,0,.2);
}

body:not(.home-v7) .product-thumb {
  overflow: hidden;
  border-color: var(--v7-line);
  background: #071626;
}

body:not(.home-v7) .product-thumb.active {
  border-color: rgba(103, 183, 255, .5);
}

body:not(.home-v7) .product-panel {
  border: 1px solid var(--v7-line);
  border-radius: 20px;
  background: rgba(9, 28, 47, .8);
  box-shadow: inset 0 1px rgba(255,255,255,.02);
}

body:not(.home-v7) .product-name,
body:not(.home-v7) .product-price {
  color: #f6faff;
}

body:not(.home-v7) .product-sub,
body:not(.home-v7) .product-bullets {
  color: #8da2b9;
}

body:not(.home-v7) .product-bullets svg,
body:not(.home-v7) .check svg {
  color: #65d49d;
}

/* Tabs ------------------------------------------------------------------ */
body:not(.home-v7) .tabs {
  border-color: var(--v7-line);
}

body:not(.home-v7) .tab-btn {
  color: #8298af;
  border-color: transparent;
}

body:not(.home-v7) .tab-btn:hover { color: #ddecfb; }

body:not(.home-v7) .tab-btn.active {
  color: #fff;
  border-color: #4c9eff;
  background: rgba(47, 125, 255, .08);
}

body:not(.home-v7) .tab-panel {
  color: #a2b5c8;
}

/* Blog and article ------------------------------------------------------ */
body:not(.home-v7) .article-grid {
  gap: 18px;
}

body:not(.home-v7) .article-card {
  overflow: hidden;
  border-radius: 18px;
}

body:not(.home-v7) .article-media {
  border-bottom: 1px solid var(--v7-line);
  background: #071626;
}

body:not(.home-v7) .article-meta,
body:not(.home-v7) .article-cat {
  color: #7394b4;
}

body:not(.home-v7) .article-body h3 {
  color: #f4f9ff;
}

body:not(.home-v7) .article-shell {
  grid-template-columns: minmax(220px, .32fr) minmax(0, 1.68fr);
  gap: clamp(34px, 5vw, 84px);
}

body:not(.home-v7) .toc {
  position: sticky;
  top: 110px;
  color: #8ea3b9;
  border: 1px solid var(--v7-line);
  border-radius: 16px;
  background: rgba(9, 27, 45, .72);
}

body:not(.home-v7) .article-content {
  color: #a9bbcd;
}

body:not(.home-v7) .article-content h2,
body:not(.home-v7) .article-content h3,
body:not(.home-v7) .article-content h4 {
  color: #f3f8fe;
}

body:not(.home-v7) .article-content a {
  color: #75bcff;
}

body:not(.home-v7) .article-content blockquote {
  color: #c6d7e8;
  border-color: #418edc;
  background: rgba(45, 121, 255, .06);
}

body:not(.home-v7) .article-content code,
body:not(.home-v7) .article-content pre {
  color: #d7e8fa;
  border-color: var(--v7-line);
  background: #04111f;
}

/* Forms, contact, account ---------------------------------------------- */
body:not(.home-v7) .contact-layout,
body:not(.home-v7) .account-layout,
body:not(.home-v7) .cart-layout {
  gap: clamp(30px, 4vw, 60px);
}

body:not(.home-v7) .form-card {
  border-radius: 18px;
}

body:not(.home-v7) .field label {
  color: #c8d7e7;
}

body:not(.home-v7) .form-note {
  color: #75a6d3;
}

body:not(.home-v7) .contact-aside,
body:not(.home-v7) .account-nav {
  color: #90a5bb;
}

body:not(.home-v7) .account-nav a {
  color: #8fa4ba;
  border-color: var(--v7-line);
}

body:not(.home-v7) .account-nav a:hover,
body:not(.home-v7) .account-nav a.active {
  color: #fff;
  background: rgba(46, 125, 255, .1);
}

body:not(.home-v7) .account-stats {
  gap: 14px;
}

body:not(.home-v7) .account-stat {
  border-color: var(--v7-line);
  background: rgba(255,255,255,.018);
}

body:not(.home-v7) .account-stat strong { color: #f5f9ff; }
body:not(.home-v7) .account-stat span { color: #7f94ab; }

/* Cart / checkout ------------------------------------------------------- */
body:not(.home-v7) .cart-list,
body:not(.home-v7) .order-summary {
  border-color: var(--v7-line);
}

body:not(.home-v7) .cart-item {
  border-color: var(--v7-line);
}

body:not(.home-v7) .cart-copy strong,
body:not(.home-v7) .cart-price,
body:not(.home-v7) .total {
  color: #f5f9ff;
}

body:not(.home-v7) .cart-copy span,
body:not(.home-v7) .summary-row {
  color: #8297ae;
}

body:not(.home-v7) .summary-row {
  border-color: var(--v7-line);
}

/* FAQ / Support --------------------------------------------------------- */
body:not(.home-v7) .faq-item {
  border-color: var(--v7-line);
  background: rgba(9, 27, 45, .54);
}

body:not(.home-v7) .faq-q {
  color: #eef6ff;
}

body:not(.home-v7) .faq-a {
  color: #8fa5bb;
}

body:not(.home-v7) .support-search {
  border-color: var(--v7-line);
  background: rgba(255,255,255,.022);
}

body:not(.home-v7) .doc-list,
body:not(.home-v7) .download-list {
  border-color: var(--v7-line);
}

body:not(.home-v7) .doc-link,
body:not(.home-v7) .download {
  color: #a8bbce;
  border-color: var(--v7-line);
}

body:not(.home-v7) .doc-link:hover,
body:not(.home-v7) .download:hover {
  color: #fff;
  background: rgba(255,255,255,.028);
}

/* Legal ----------------------------------------------------------------- */
body:not(.home-v7) .legal {
  max-width: 980px;
  margin-inline: auto;
  color: #a8bbce;
}

body:not(.home-v7) .legal h2 {
  color: #f4f9ff;
  font-family: Manrope, sans-serif;
}

body:not(.home-v7) .legal p,
body:not(.home-v7) .legal li {
  color: #9cb0c4;
}

/* CTA ------------------------------------------------------------------- */
body:not(.home-v7) .cta {
  padding-top: clamp(56px, 5vw, 82px);
  padding-bottom: clamp(70px, 6vw, 100px);
  background: transparent;
}

body:not(.home-v7) .cta-inner {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr .72fr;
  align-items: center;
  gap: 40px;
  min-height: 230px;
  padding: clamp(36px, 4vw, 62px);
  border: 1px solid rgba(61, 146, 255, .42);
  border-radius: 20px;
  background:
    radial-gradient(circle at 86% 50%, rgba(36, 115, 243, .22), transparent 28%),
    linear-gradient(120deg, rgba(12, 34, 58, .94), rgba(6, 22, 40, .98));
  box-shadow: inset 0 0 70px rgba(42, 116, 214, .08), 0 24px 80px rgba(0,0,0,.16);
}

body:not(.home-v7) .cta-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .16;
  pointer-events: none;
  background:
    linear-gradient(135deg, transparent 0 44%, rgba(95, 165, 248, .14) 44% 45%, transparent 45%),
    linear-gradient(45deg, transparent 0 60%, rgba(95, 165, 248, .09) 60% 61%, transparent 61%);
}

body:not(.home-v7) .cta-copy,
body:not(.home-v7) .cta-actions {
  position: relative;
  z-index: 2;
}

body:not(.home-v7) .cta-copy h2 {
  color: #f8fbff;
  font-family: Manrope, sans-serif;
  font-size: clamp(34px, 3vw, 52px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

body:not(.home-v7) .cta-copy p {
  max-width: 650px;
  color: #9fb2c6;
}

body:not(.home-v7) .cta-actions {
  justify-content: flex-end;
}

/* Footer ---------------------------------------------------------------- */
body:not(.home-v7) .footer {
  padding: 0;
  color: #c5d3e2;
  background: #04101c;
  border-top: 1px solid var(--v7-line);
}

body:not(.home-v7) .footer-main {
  grid-template-columns: 1.55fr repeat(4, minmax(140px, .8fr));
  gap: clamp(34px, 5vw, 84px);
  padding: 68px 0 50px;
  border-bottom: 1px solid var(--v7-line);
}

body:not(.home-v7) .footer-col:first-child {
  max-width: 360px;
}

body:not(.home-v7) .footer-col p {
  color: #7f93aa;
  font-size: 12px;
  line-height: 1.7;
}

body:not(.home-v7) .footer-col h4 {
  color: #eaf3fd;
  font-size: 12px;
  font-weight: 700;
}

body:not(.home-v7) .footer-col a {
  min-height: 0;
  color: #8296ac;
  font-size: 11px;
}

body:not(.home-v7) .footer-col a:hover { color: #d8eaff; }

body:not(.home-v7) .socials a {
  color: #9eb1c5;
  border-color: var(--v7-line);
  background: rgba(255,255,255,.018);
}

body:not(.home-v7) .footer-bottom {
  color: #677d95;
  font-size: 10px;
  padding: 22px 0 30px;
}

/* V7 subtle card spotlight --------------------------------------------- */
.v7-spotlight {
  position: relative;
  isolation: isolate;
}

.v7-spotlight::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(360px circle at var(--v7-x, 50%) var(--v7-y, 20%), rgba(79, 157, 255, .1), transparent 58%);
  transition: opacity .28s ease;
}

.v7-spotlight:hover::after { opacity: 1; }

/* Responsive ------------------------------------------------------------ */
@media (max-width: 1320px) {
  :root { --v7-shell: min(100% - 40px, 1740px); }

  body:not(.home-v7) .nav { display: none; }
  body:not(.home-v7) .menu-btn { display: grid; }
  body:not(.home-v7) .header-signin-v7 { display: none; }

  body:not(.home-v7) .page-hero-grid {
    grid-template-columns: minmax(360px, .8fr) minmax(480px, 1.2fr);
    gap: 46px;
  }

  body:not(.home-v7) .theme-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body:not(.home-v7) .footer-main {
    grid-template-columns: 1.45fr repeat(2, minmax(160px, 1fr));
  }
}

@media (max-width: 1080px) {
  :root { --v7-shell: min(100% - 36px, 1740px); }

  body:not(.home-v7) .page-hero-grid,
  body:not(.home-v7) .split,
  body:not(.home-v7) .product-layout,
  body:not(.home-v7) .market-layout,
  body:not(.home-v7) .faq-layout,
  body:not(.home-v7) .contact-layout,
  body:not(.home-v7) .account-layout,
  body:not(.home-v7) .cart-layout,
  body:not(.home-v7) .article-shell,
  body:not(.home-v7) .cta-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.home-v7) .filter-panel,
  body:not(.home-v7) .toc {
    position: static;
  }

  body:not(.home-v7) .cta-actions {
    justify-content: flex-start;
  }

  body:not(.home-v7) .theme-grid,
  body:not(.home-v7) .pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.home-v7) .process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  :root { --v7-shell: calc(100% - 28px); }

  body:not(.home-v7) .header,
  body:not(.home-v7) .header-inner {
    min-height: 70px;
  }

  body:not(.home-v7) .header-actions > .icon-btn:not(.menu-btn),
  body:not(.home-v7) .header-actions > .btn,
  body:not(.home-v7) .header-signin-v7 {
    display: none;
  }

  body:not(.home-v7) .logo-text strong { font-size: 14px; }

  body:not(.home-v7) .page-hero,
  body:not(.home-v7) .platform-hero {
    padding-top: 54px;
    padding-bottom: 64px;
  }

  body:not(.home-v7) .h1 {
    font-size: clamp(40px, 12vw, 58px);
  }

  body:not(.home-v7) .h2 {
    font-size: clamp(30px, 9vw, 42px);
  }

  body:not(.home-v7) .section {
    padding-top: 66px;
    padding-bottom: 66px;
  }

  body:not(.home-v7) .theme-grid,
  body:not(.home-v7) .pricing-grid,
  body:not(.home-v7) .portfolio-grid,
  body:not(.home-v7) .cap-grid,
  body:not(.home-v7) .feature-grid,
  body:not(.home-v7) .support-categories,
  body:not(.home-v7) .article-grid,
  body:not(.home-v7) .grid-3,
  body:not(.home-v7) .process {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.home-v7) .market-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.home-v7) .page-hero-media,
  body:not(.home-v7) .split-media {
    border-radius: 16px;
  }

  body:not(.home-v7) .cta-inner {
    min-height: 0;
    padding: 30px 24px;
    border-radius: 16px;
  }

  body:not(.home-v7) .cta-actions .btn {
    flex: 1 1 180px;
    justify-content: center;
  }

  body:not(.home-v7) .footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 28px;
    padding-top: 52px;
  }

  body:not(.home-v7) .footer-col:first-child {
    grid-column: 1 / -1;
    max-width: 100%;
  }

  body:not(.home-v7) .footer-bottom {
    flex-wrap: wrap;
    gap: 10px;
  }
}

@media (max-width: 460px) {
  body:not(.home-v7) .theme-grid,
  body:not(.home-v7) .pricing-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .v7-spotlight::after { display: none; }
}
