  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --navy:        #020b1a;
      --navy-mid:    #051228;
      --navy-border: #0d2545;
      --blue-bright: #0ea5e9;
      --cyan:        #06b6d4;
      --font: 'Montserrat', sans-serif;

      /* ── PlacoDMS brand: deep indigo + warm cream ── */
      --brand:       #4f46e5;   /* indigo-600 */
      --brand-dark:  #4338ca;   /* indigo-700 */
      --brand-light: #818cf8;   /* indigo-400 */
      --brand-glow:  rgba(79,70,229,0.18);
      --brand-dim:   rgba(79,70,229,0.08);

      /* Warm cream / parchment accent */
      --cream:       #fef3c7;   /* amber-100 */
      --warm:        #d97706;   /* amber-600 */
      --warm-light:  #fbbf24;   /* amber-400 */
      --warm-dim:    rgba(217,119,6,0.1);

      /* AI color: electric lime */
      --ai:          #22d3ee;   /* cyan-400 */
      --ai-dim:      rgba(34,211,238,0.1);
      --ai-border:   rgba(34,211,238,0.2);

      /* Upcoming */
      --upcoming:    #a78bfa;   /* violet-400 */

      /* Dark bg */
      --bg:          #0c0a1e;   /* very dark indigo */
      --bg-mid:      #0e0c22;
      --bg-card:     #100e26;
      --bg-border:   rgba(79,70,229,0.15);
    }

    html { scroll-behavior: smooth; }
    body { font-family: var(--font); background: #fff; color: #1e293b; line-height: 1.6; overflow-x: hidden; }

    /* ══ HEADER ══ */
    header { background: var(--bg); position: sticky; top: 0; z-index: 200; border-bottom: 1px solid var(--bg-border); }
    .header-inner { max-width: 1320px; margin: 0 auto; padding: 0 2rem; height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
    .logo-mark { display: flex; align-items: center; gap: .6rem; text-decoration: none; }
    .logo-icon { width: 34px; height: 34px; background: linear-gradient(135deg, var(--brand), var(--brand-light)); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 16px; color: #fff; }
    .logo-text { font-weight: 700; font-size: 1.05rem; color: #fff; }
    .logo-text span { color: var(--brand-light); }
    nav { display: flex; align-items: center; gap: .15rem; }
    nav a { color: rgba(255,255,255,.4); text-decoration: none; font-size: .83rem; font-weight: 500; padding: .4rem .8rem; border-radius: 6px; transition: all .2s; }
    nav a:hover { color: #fff; background: rgba(255,255,255,.07); }
    .header-cta { display: flex; gap: .75rem; flex-shrink: 0; }
    .btn { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem 1.25rem; border-radius: 8px; font-family: var(--font); font-size: .83rem; font-weight: 600; text-decoration: none; transition: all .2s; cursor: pointer; border: none; }
    .btn-brand { background: var(--brand); color: #fff; }
    .btn-brand:hover { background: var(--brand-dark); transform: translateY(-1px); }
    .btn-ghost { background: transparent; color: rgba(255,255,255,.4); border: 1px solid rgba(255,255,255,.12); }
    .btn-ghost:hover { color: #fff; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.06); }
    .btn-warm { background: var(--warm); color: #fff; }
    .btn-warm:hover { background: var(--warm-light); color: #1e293b; transform: translateY(-1px); }
    .btn-lg { padding: .75rem 2rem; font-size: .95rem; border-radius: 10px; }
    .btn-xl { padding: .9rem 2.5rem; font-size: 1rem; border-radius: 10px; }
    .btn-outline-white { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.2); }
    .btn-outline-white:hover { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.45); }
    .btn-ai { background: linear-gradient(90deg, var(--ai), var(--brand-light)); color: #0c0a1e; font-weight: 700; }
    .btn-ai:hover { opacity: .9; transform: translateY(-1px); }

    /* ══ BREADCRUMB ══ */
    .breadcrumb-bar { background: var(--bg-mid); border-bottom: 1px solid var(--bg-border); padding: .65rem 0; }
    .breadcrumb { max-width: 1320px; margin: 0 auto; padding: 0 2rem; display: flex; align-items: center; gap: .5rem; font-size: .72rem; font-weight: 500; color: rgba(255,255,255,.2); }
    .breadcrumb a { color: var(--brand-light); text-decoration: none; }
    .bc-sep { color: rgba(255,255,255,.1); }

    /* ══════════════════════════════════════════════
       HERO VARIANT 7 — SPLIT EDITOR PREVIEW
       Left: deep indigo with content, parchment/cream
       typographic accents + CMS/DMS dual badge.
       Right: Fake rich text document editor window
       with sidepanel tree, AI writing assistant sidebar.
    ══════════════════════════════════════════════ */
    .hero-v7 {
      background: var(--bg);
      position: relative; overflow: hidden;
      padding: 5rem 0 0;
    }

    /* Indigo mesh glow */
    .hero-v7::before {
      content: '';
      position: absolute; top: -150px; left: -100px;
      width: 700px; height: 700px;
      background: radial-gradient(ellipse, rgba(79,70,229,.14) 0%, transparent 60%);
      pointer-events: none;
    }
    /* Warm glow right */
    .hero-v7::after {
      content: '';
      position: absolute; top: 0; right: -80px;
      width: 400px; height: 400px;
      background: radial-gradient(ellipse, rgba(217,119,6,.07) 0%, transparent 60%);
      pointer-events: none;
    }

    /* Subtle grid lines */
    .hero-grid {
      position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(79,70,229,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(79,70,229,.04) 1px, transparent 1px);
      background-size: 55px 55px;
      pointer-events: none;
    }

    .hero-v7-inner {
      max-width: 1320px; margin: 0 auto; padding: 0 2rem;
      display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem;
      align-items: end; position: relative; z-index: 2;
    }

    .hero-v7-left { padding-bottom: 4rem; }

    /* Dual product badge */
    .dual-badge {
      display: inline-flex; align-items: center; gap: .4rem;
      background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
      border-radius: 100px; padding: .32rem .35rem .32rem .35rem;
      margin-bottom: 1.5rem;
    }
    .db-pill {
      display: flex; align-items: center; gap: .35rem;
      border-radius: 100px; padding: .28rem .85rem;
      font-size: .7rem; font-weight: 700;
    }
    .db-cms { background: rgba(79,70,229,.25); color: var(--brand-light); }
    .db-dms { background: rgba(217,119,6,.25); color: var(--warm-light); }
    .db-plus { color: rgba(255,255,255,.2); font-size: .8rem; }
    .db-year { font-size: .62rem; font-weight: 700; color: rgba(255,255,255,.2); margin-left: .2rem; padding: .12rem .5rem; }

    .hero-v7 h1 {
      font-size: clamp(2.2rem, 4vw, 3.5rem);
      font-weight: 900; letter-spacing: -2px; line-height: 1.05;
      color: #fff; margin-bottom: 1.25rem;
    }
    .hero-v7 h1 .indigo { color: var(--brand-light); }
    .hero-v7 h1 .cream {
      color: var(--warm-light);
      position: relative; display: inline-block;
    }
    .hero-v7 h1 .cream::after {
      content: '';
      position: absolute; bottom: 0; left: 0; right: 0; height: 3px;
      background: var(--warm); border-radius: 2px; opacity: .5;
    }

    .hero-product-name { font-size: .82rem; font-weight: 600; color: rgba(255,255,255,.22); font-family: 'Courier New', monospace; margin-bottom: 1.25rem; display: flex; align-items: center; gap: .5rem; }
    .hero-product-name::before { content: '→'; color: var(--brand-light); }

    .hero-v7 > .hero-v7-inner > .hero-v7-left p { font-size: .93rem; color: rgba(255,255,255,.38); line-height: 1.75; margin-bottom: 2rem; max-width: 500px; font-weight: 400; }

    .hero-v7-actions { display: flex; gap: .85rem; flex-wrap: wrap; margin-bottom: 2.5rem; }

    /* Use case chips */
    .usecase-row { display: flex; flex-wrap: wrap; gap: .4rem; }
    .uc-chip { display: flex; align-items: center; gap: .35rem; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.3); font-size: .68rem; font-weight: 600; padding: .3rem .75rem; border-radius: 6px; }

    /* Stats */
    .hero-stats { display: flex; gap: 2rem; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.06); flex-wrap: wrap; }
    .hs-num { font-size: 1.5rem; font-weight: 900; color: #fff; letter-spacing: -1px; line-height: 1; }
    .hs-num span { color: var(--brand-light); }
    .hs-lbl { font-size: .68rem; color: rgba(255,255,255,.22); font-weight: 500; margin-top: .15rem; }

    /* ── EDITOR PREVIEW ── */
    .hero-editor-wrap { display: flex; flex-direction: column; justify-content: flex-end; position: relative; z-index: 2; }

    .editor-window {
      background: #13102a;
      border: 1px solid rgba(79,70,229,.2);
      border-bottom: none; border-radius: 14px 14px 0 0;
      overflow: hidden;
      box-shadow: 0 -16px 60px rgba(79,70,229,.15);
    }

    .ew-chrome { background: #0f0d24; padding: .6rem 1rem; display: flex; align-items: center; gap: .4rem; border-bottom: 1px solid rgba(79,70,229,.1); }
    .ew-dot { width: 9px; height: 9px; border-radius: 50%; }
    .ew-title { font-size: .65rem; color: rgba(255,255,255,.2); font-family: 'Courier New', monospace; margin-left: .5rem; flex: 1; }
    .ew-save { font-size: .6rem; font-weight: 700; background: rgba(79,70,229,.2); color: var(--brand-light); border: 1px solid rgba(79,70,229,.25); padding: .15rem .55rem; border-radius: 4px; }

    .ew-body { display: grid; grid-template-columns: 200px 1fr 180px; min-height: 380px; }

    /* Sidebar tree */
    .ew-sidebar { background: rgba(255,255,255,.02); border-right: 1px solid rgba(79,70,229,.08); padding: .75rem; }
    .ew-sidebar-title { font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,.2); margin-bottom: .6rem; padding-left: .35rem; }
    .tree-item { display: flex; align-items: center; gap: .4rem; padding: .3rem .35rem; border-radius: 5px; font-size: .65rem; color: rgba(255,255,255,.3); cursor: pointer; transition: all .15s; }
    .tree-item:hover { background: rgba(79,70,229,.12); color: rgba(255,255,255,.6); }
    .tree-item.active { background: rgba(79,70,229,.2); color: var(--brand-light); }
    .tree-item.indent-1 { padding-left: 1.2rem; }
    .tree-item.indent-2 { padding-left: 2rem; }
    .tree-icon { font-size: .7rem; flex-shrink: 0; }

    /* Editor main area */
    .ew-main { padding: 1.25rem; overflow: hidden; }
    .ew-toolbar { display: flex; gap: .35rem; margin-bottom: .85rem; flex-wrap: wrap; }
    .ew-tool { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.4); font-size: .6rem; font-weight: 700; padding: .2rem .45rem; border-radius: 4px; }
    .ew-tool.active { background: rgba(79,70,229,.2); color: var(--brand-light); border-color: rgba(79,70,229,.25); }
    .ew-title-text { font-size: .95rem; font-weight: 800; color: #fff; margin-bottom: .6rem; line-height: 1.2; }
    .ew-breadcrumb { font-size: .58rem; color: rgba(255,255,255,.2); margin-bottom: .75rem; font-family: 'Courier New', monospace; }
    .ew-line { height: 7px; background: rgba(255,255,255,.06); border-radius: 4px; margin-bottom: .4rem; }
    .ew-line.short { width: 75%; }
    .ew-line.shorter { width: 50%; }
    .ew-line.code { background: rgba(79,70,229,.15); height: 36px; border-radius: 6px; margin: .6rem 0; display: flex; align-items: center; padding: 0 .75rem; }
    .ew-line-code-text { font-size: .6rem; color: var(--brand-light); font-family: 'Courier New', monospace; }

    .ew-h2 { height: 10px; width: 55%; background: rgba(255,255,255,.1); border-radius: 4px; margin: .85rem 0 .45rem; }

    /* Inline badge */
    .ew-badge-inline { display: inline-flex; align-items: center; gap: .3rem; font-size: .55rem; font-weight: 700; background: rgba(34,211,238,.12); color: var(--ai); border: 1px solid rgba(34,211,238,.2); padding: .12rem .45rem; border-radius: 4px; margin-bottom: .5rem; }

    /* AI assistant panel */
    .ew-ai-panel { background: rgba(34,211,238,.03); border-left: 1px solid rgba(34,211,238,.1); padding: .85rem .75rem; display: flex; flex-direction: column; gap: .6rem; }
    .ai-panel-title { font-size: .58rem; font-weight: 700; color: var(--ai); text-transform: uppercase; letter-spacing: 1px; margin-bottom: .2rem; display: flex; align-items: center; gap: .3rem; }
    .ai-sugg { background: rgba(34,211,238,.06); border: 1px solid rgba(34,211,238,.12); border-radius: 7px; padding: .5rem .6rem; }
    .ai-sugg-label { font-size: .55rem; font-weight: 700; color: rgba(34,211,238,.6); margin-bottom: .2rem; }
    .ai-sugg-text { font-size: .6rem; color: rgba(255,255,255,.3); line-height: 1.5; }
    .ai-sugg-action { font-size: .55rem; font-weight: 700; color: var(--ai); margin-top: .3rem; cursor: pointer; }
    .ai-pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--ai); animation: pulse 1.5s infinite; flex-shrink: 0; }
    @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.3} }

    /* Status bar */
    .ew-statusbar { background: rgba(79,70,229,.08); border-top: 1px solid rgba(79,70,229,.1); padding: .35rem 1rem; display: flex; align-items: center; gap: 1rem; }
    .esb-item { font-size: .55rem; color: rgba(255,255,255,.2); display: flex; align-items: center; gap: .3rem; }
    .esb-dot { width: 5px; height: 5px; border-radius: 50%; }

    /* ══ STICKY NAV ══ */
    .sticky-nav { background: var(--bg-mid); border-bottom: 1px solid var(--bg-border); position: sticky; top: 68px; z-index: 100; }
    .sticky-nav-inner { max-width: 1320px; margin: 0 auto; padding: 0 2rem; display: flex; align-items: center; overflow-x: auto; }
    .sticky-nav a { color: rgba(255,255,255,.35); text-decoration: none; font-size: .8rem; font-weight: 600; padding: .9rem 1.1rem; border-bottom: 2px solid transparent; white-space: nowrap; transition: all .2s; }
    .sticky-nav a:hover { color: var(--brand-light); }
    .sticky-nav a.active { color: var(--brand-light); border-bottom-color: var(--brand); }
    .sticky-nav-cta { margin-left: auto; flex-shrink: 0; padding: .6rem 0 .6rem 1.5rem; border-left: 1px solid rgba(255,255,255,.06); }

    /* ══ SECTIONS ══ */
    .pg-section { padding: 4.5rem 0; }
    .pg-dark { background: var(--bg); }
    .pg-mid { background: var(--bg-mid); }
    .pg-card { background: var(--bg-card); }
    .pg-light { background: #fff; }
    .pg-alt { background: #f8f7ff; }
    .container { max-width: 1320px; margin: 0 auto; padding: 0 2rem; }

    .section-eyebrow { display: inline-flex; align-items: center; gap: .5rem; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: var(--brand); margin-bottom: .65rem; }
    .section-eyebrow::before { content: ''; width: 18px; height: 2px; background: var(--brand); border-radius: 2px; }
    .ey-light { color: var(--brand-light); }
    .ey-light::before { background: var(--brand-light); }
    .ey-warm { color: var(--warm-light); }
    .ey-warm::before { background: var(--warm); }
    .ey-ai { color: var(--ai); }
    .ey-ai::before { background: var(--ai); }
    .section-title { font-size: clamp(1.6rem, 2.5vw, 2.2rem); font-weight: 800; color: #0f172a; letter-spacing: -1px; line-height: 1.15; margin-bottom: .75rem; }
    .section-title-dark { color: #fff; }
    .section-sub { font-size: .93rem; color: #64748b; line-height: 1.7; max-width: 600px; font-weight: 400; }
    .section-sub-dark { color: rgba(255,255,255,.3); }

    /* Flags */
    .ai-flag { display: inline-flex; align-items: center; gap: .4rem; background: var(--ai-dim); border: 1px solid var(--ai-border); border-radius: 100px; padding: .18rem .65rem .18rem .35rem; font-size: .6rem; font-weight: 700; color: var(--ai); white-space: nowrap; }
    .ai-flag-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--ai); }
    .upcoming-flag { display: inline-flex; align-items: center; gap: .4rem; background: rgba(167,139,250,.08); border: 1px solid rgba(167,139,250,.2); border-radius: 100px; padding: .18rem .65rem .18rem .35rem; font-size: .6rem; font-weight: 700; color: var(--upcoming); white-space: nowrap; }
    .upcoming-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--upcoming); }
    .new-flag { display: inline-flex; align-items: center; gap: .4rem; background: rgba(79,70,229,.1); border: 1px solid rgba(79,70,229,.2); border-radius: 100px; padding: .18rem .65rem .18rem .35rem; font-size: .6rem; font-weight: 700; color: var(--brand-light); white-space: nowrap; }

    /* ══ DUAL PRODUCT SECTION ══ */
    .dual-section { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2.5rem; }
    .dual-card { border-radius: 16px; padding: 2rem; }
    .dual-card-cms { background: rgba(79,70,229,.06); border: 1px solid rgba(79,70,229,.15); }
    .dual-card-dms { background: rgba(217,119,6,.05); border: 1px solid rgba(217,119,6,.15); }
    .dc-header { display: flex; align-items: center; gap: .85rem; margin-bottom: 1.25rem; }
    .dc-icon { width: 46px; height: 46px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; flex-shrink: 0; }
    .dc-title { font-size: 1rem; font-weight: 800; color: #fff; }
    .dc-sub { font-size: .72rem; color: rgba(255,255,255,.3); }
    .dc-features { display: flex; flex-direction: column; gap: .4rem; }
    .dc-feat { font-size: .78rem; color: rgba(255,255,255,.3); display: flex; align-items: flex-start; gap: .45rem; }
    .dc-feat-check { flex-shrink: 0; margin-top: .1rem; }

    /* ══ FEATURES ══ */
    .feature-grid-7 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(79,70,229,.08); border: 1px solid rgba(79,70,229,.12); border-radius: 16px; overflow: hidden; }
    .fc7 { background: var(--bg-card); padding: 1.75rem; transition: background .2s; }
    .fc7:hover { background: #120e2a; }
    .fc7-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: .85rem; gap: .5rem; }
    .fc7-icon { font-size: 1.4rem; }
    .fc7-title { font-size: .88rem; font-weight: 700; color: #fff; margin-bottom: .4rem; }
    .fc7-desc { font-size: .78rem; color: rgba(255,255,255,.28); line-height: 1.6; }

    /* ══ AI FEATURES ══ */
    .ai-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
    .ai-list { display: flex; flex-direction: column; gap: .85rem; margin-top: 2rem; }
    .ai-item { background: rgba(34,211,238,.03); border: 1px solid rgba(34,211,238,.08); border-radius: 12px; padding: 1.25rem 1.5rem; transition: all .2s; }
    .ai-item:hover { border-color: rgba(34,211,238,.2); background: rgba(34,211,238,.06); }
    .ai-item-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: .5rem; gap: 1rem; flex-wrap: wrap; }
    .ai-item-name { font-size: .88rem; font-weight: 700; color: #fff; }
    .ai-item-desc { font-size: .78rem; color: rgba(255,255,255,.28); line-height: 1.6; }

    .ai-code { background: #080616; border: 1px solid rgba(79,70,229,.15); border-radius: 16px; overflow: hidden; }
    .ai-code-header { background: rgba(79,70,229,.06); border-bottom: 1px solid rgba(79,70,229,.12); padding: .7rem 1.1rem; display: flex; align-items: center; gap: .4rem; }
    .ai-code-dot { width: 9px; height: 9px; border-radius: 50%; }
    .ai-code-body { padding: 1.25rem; font-family: 'Courier New', monospace; font-size: .76rem; line-height: 1.75; }
    .c-comment { color: #1e1a3a; } .c-kw { color: #7dd3fc; } .c-str { color: #86efac; }
    .c-fn { color: #fbbf24; } .c-var { color: #e2e8f0; } .c-type { color: #f0abfc; }
    .c-ind { color: var(--brand-light); }

    /* ══ ARCH ══ */
    .arch-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
    .arch-layers { display: flex; flex-direction: column; gap: .65rem; }
    .arch-layer { display: flex; align-items: center; gap: 1rem; background: var(--bg-card); border: 1px solid rgba(255,255,255,.05); border-left: 3px solid transparent; border-radius: 10px; padding: .9rem 1.25rem; transition: all .2s; }
    .arch-layer:hover { border-left-color: var(--brand); background: #120e2a; }
    .layer-num { width: 28px; height: 28px; border-radius: 7px; display: flex; align-items: center; justify-content: center; font-size: .7rem; font-weight: 800; flex-shrink: 0; }
    .layer-name { font-size: .82rem; font-weight: 700; color: #fff; width: 150px; flex-shrink: 0; }
    .layer-desc { font-size: .75rem; color: rgba(255,255,255,.28); line-height: 1.5; }
    .arch-diagram { background: #080616; border: 1px solid rgba(79,70,229,.12); border-radius: 16px; overflow: hidden; }
    .arch-diag-header { background: rgba(79,70,229,.05); padding: .65rem 1.25rem; border-bottom: 1px solid rgba(79,70,229,.08); display: flex; align-items: center; gap: .4rem; }
    .diag-dot { width: 9px; height: 9px; border-radius: 50%; }
    .diag-title { font-size: .7rem; color: rgba(255,255,255,.18); font-family: 'Courier New', monospace; margin-left: .5rem; }
    .arch-diag-body { padding: 1.5rem; font-family: 'Courier New', monospace; font-size: .76rem; line-height: 1.8; }
    .diag-layer { display: flex; align-items: center; gap: .75rem; padding: .5rem .6rem; border-radius: 7px; transition: background .2s; }
    .diag-layer:hover { background: rgba(255,255,255,.02); }
    .diag-layer-num { width: 22px; height: 22px; border-radius: 5px; display: flex; align-items: center; justify-content: center; font-size: .62rem; font-weight: 800; flex-shrink: 0; }
    .diag-connector { width: 1px; height: 18px; background: rgba(255,255,255,.06); margin-left: 22px; }

    /* ══ STACKS ══ */
    .stacks-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(79,70,229,.08); border: 1px solid rgba(79,70,229,.1); border-radius: 16px; overflow: hidden; margin-top: 2.5rem; }
    .stack-cell { background: var(--bg-card); padding: 1.5rem; transition: background .2s; }
    .stack-cell:hover { background: #120e2a; }
    .sc-top { display: flex; align-items: center; gap: .75rem; margin-bottom: .85rem; }
    .sc-icon { font-size: 1.4rem; }
    .sc-name { font-size: .88rem; font-weight: 800; color: #fff; }
    .sc-ver { font-size: .67rem; color: rgba(255,255,255,.2); font-family: 'Courier New', monospace; }
    .sc-features { display: flex; flex-direction: column; gap: .3rem; }
    .sc-feat { font-size: .73rem; color: rgba(255,255,255,.28); display: flex; align-items: flex-start; gap: .4rem; }
    .sc-feat::before { content: '→'; color: var(--brand-light); font-size: .65rem; flex-shrink: 0; margin-top: .1rem; }

    /* ══ MODULES ══ */
    .modules-tabs { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: 2rem; }
    .mod-tab { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); color: rgba(255,255,255,.32); font-size: .78rem; font-weight: 600; padding: .45rem 1rem; border-radius: 8px; cursor: pointer; transition: all .15s; }
    .mod-tab.active { background: rgba(79,70,229,.18); color: var(--brand-light); border-color: rgba(79,70,229,.3); }
    .mod-tab:hover:not(.active) { color: #fff; border-color: rgba(255,255,255,.15); }
    .module-panels > div { display: none; }
    .module-panels > div.show { display: grid; }
    .module-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
    .module-card { background: var(--bg-card); border: 1px solid rgba(255,255,255,.05); border-radius: 12px; padding: 1.25rem; transition: all .2s; }
    .module-card:hover { border-color: rgba(79,70,229,.25); background: #120e2a; }
    .mc-title { font-size: .85rem; font-weight: 700; color: #fff; margin-bottom: .4rem; display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
    .mc-desc { font-size: .78rem; color: rgba(255,255,255,.28); line-height: 1.6; margin-bottom: .85rem; }
    .mc-link { font-size: .75rem; font-weight: 600; color: var(--brand-light); text-decoration: none; display: inline-flex; align-items: center; gap: .3rem; transition: gap .15s; }
    .mc-link:hover { gap: .5rem; }

    /* ══ SPECS ══ */
    .spec-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin-top: 2.5rem; }
    .spec-group { background: var(--bg-card); border: 1px solid rgba(255,255,255,.05); border-radius: 14px; overflow: hidden; }
    .spec-group-title { background: rgba(255,255,255,.03); border-bottom: 1px solid rgba(255,255,255,.05); padding: .85rem 1.25rem; font-size: .75rem; font-weight: 700; color: rgba(255,255,255,.38); text-transform: uppercase; letter-spacing: 1px; }
    .spec-row { display: flex; align-items: start; gap: 1rem; padding: .75rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,.04); font-size: .8rem; }
    .spec-row:last-child { border-bottom: none; }
    .spec-key { color: rgba(255,255,255,.22); font-weight: 600; min-width: 110px; flex-shrink: 0; }
    .spec-tag { display: inline-block; background: rgba(255,255,255,.05); color: rgba(255,255,255,.32); font-size: .67rem; font-weight: 600; padding: .15rem .5rem; border-radius: 4px; margin: .1rem .15rem .1rem 0; }
    .spec-tag-ind { background: rgba(79,70,229,.1); color: var(--brand-light); border: 1px solid rgba(79,70,229,.2); }
    .spec-tag-ai { background: rgba(34,211,238,.08); color: var(--ai); border: 1px solid rgba(34,211,238,.15); }

    /* ══ PRICING ══ */
    .pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 3rem; }
    .pricing-card { background: var(--bg-card); border: 1px solid rgba(255,255,255,.06); border-radius: 18px; padding: 2rem; display: flex; flex-direction: column; transition: all .25s; }
    .pricing-card:hover { border-color: rgba(79,70,229,.3); transform: translateY(-3px); }
    .pricing-card.featured { background: rgba(79,70,229,.07); border-color: rgba(79,70,229,.3); position: relative; }
    .pricing-popular { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--brand); color: #fff; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; padding: .3rem 1rem; border-radius: 100px; white-space: nowrap; }
    .price-tier { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: var(--brand-light); margin-bottom: .6rem; }
    .price-amount { font-size: 2.4rem; font-weight: 900; color: #fff; letter-spacing: -1px; line-height: 1; margin-bottom: .25rem; }
    .price-note { font-size: .75rem; color: rgba(255,255,255,.2); margin-bottom: 1.5rem; }
    .price-desc { font-size: .82rem; color: rgba(255,255,255,.28); line-height: 1.6; margin-bottom: 1.5rem; flex: 1; }
    .price-features { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1.75rem; }
    .pf-item { display: flex; align-items: flex-start; gap: .5rem; font-size: .78rem; color: rgba(255,255,255,.28); }
    .pf-check { color: #10b981; flex-shrink: 0; } .pf-x { color: rgba(255,255,255,.1); flex-shrink: 0; }
    .price-btn { display: block; text-align: center; padding: .75rem; border-radius: 10px; font-size: .85rem; font-weight: 700; text-decoration: none; transition: all .2s; }
    .price-btn-brand { background: var(--brand); color: #fff; }
    .price-btn-brand:hover { background: var(--brand-dark); }
    .price-btn-outline { border: 1.5px solid rgba(255,255,255,.12); color: rgba(255,255,255,.45); }
    .price-btn-outline:hover { border-color: rgba(255,255,255,.3); color: #fff; }

    /* Upwork */
    .upwork-card { background: var(--bg-card); border: 1px solid rgba(255,255,255,.06); border-radius: 18px; padding: 2.5rem; margin-top: 2rem; display: grid; grid-template-columns: auto 1fr auto; gap: 2rem; align-items: center; }
    .upwork-text h3 { font-size: 1.1rem; font-weight: 800; color: #fff; margin-bottom: .4rem; }
    .upwork-text p { font-size: .83rem; color: rgba(255,255,255,.28); line-height: 1.6; }
    .upwork-cta { display: flex; flex-direction: column; gap: .75rem; align-items: center; }
    .upwork-badge { background: #14a800; color: #fff; font-size: .72rem; font-weight: 700; padding: .25rem .7rem; border-radius: 6px; }
    .btn-upwork { background: #14a800; color: #fff; white-space: nowrap; }
    .btn-upwork:hover { background: #11960a; transform: translateY(-1px); }

    /* ══ FAQ ══ */
    .faq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 2.5rem; }
    .faq-item { background: var(--bg-card); border: 1px solid rgba(255,255,255,.05); border-radius: 12px; padding: 1.5rem; }
    .faq-q { font-size: .88rem; font-weight: 700; color: #fff; margin-bottom: .6rem; }
    .faq-a { font-size: .8rem; color: rgba(255,255,255,.28); line-height: 1.65; }

    /* ══ CTA ══ */
    .cta-bottom { background: var(--bg); position: relative; overflow: hidden; border-top: 1px solid var(--bg-border); }
    .cta-bottom::before { content: ''; position: absolute; top: -100px; left: 50%; transform: translateX(-50%); width: 700px; height: 450px; background: radial-gradient(ellipse, rgba(79,70,229,.12) 0%, rgba(34,211,238,.05) 40%, transparent 65%); }
    .cta-bottom-inner { max-width: 700px; margin: 0 auto; padding: 5rem 2rem; text-align: center; position: relative; z-index: 2; }
    .cta-bottom h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 900; color: #fff; letter-spacing: -1px; margin-bottom: .75rem; }
    .cta-bottom p { color: rgba(255,255,255,.28); margin-bottom: 2.5rem; font-size: .93rem; line-height: 1.7; }
    .cta-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

    /* ══ FOOTER ══ */
    footer { background: var(--bg); border-top: 1px solid var(--bg-border); padding: 4rem 0 2rem; }
    .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; padding-bottom: 3rem; border-bottom: 1px solid rgba(255,255,255,.05); }
    .footer-brand p { color: rgba(255,255,255,.18); font-size: .78rem; line-height: 1.65; margin-top: .75rem; max-width: 250px; }
    .footer-col h4 { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: rgba(255,255,255,.2); margin-bottom: 1.1rem; }
    .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: .55rem; }
    .footer-col ul a { color: rgba(255,255,255,.18); text-decoration: none; font-size: .8rem; transition: color .2s; }
    .footer-col ul a:hover { color: rgba(255,255,255,.45); }
    .footer-bottom { display: flex; align-items: center; justify-content: space-between; padding-top: 1.5rem; }
    .footer-copy { color: rgba(255,255,255,.1); font-size: .75rem; }
    .social-row { display: flex; gap: .6rem; margin-top: .85rem; }
    .social-link { width: 30px; height: 30px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); border-radius: 7px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.18); text-decoration: none; font-size: .78rem; transition: all .2s; }
    .social-link:hover { color: #fff; background: rgba(79,70,229,.2); border-color: rgba(79,70,229,.3); }

    /* ══ RESPONSIVE ══ */
    @media (max-width: 1024px) {
      .hero-v7-inner { grid-template-columns: 1fr; padding-bottom: 3rem; }
      .ew-body { grid-template-columns: 160px 1fr; }
      .ew-ai-panel { display: none; }
      .dual-section, .ai-grid, .arch-grid { grid-template-columns: 1fr; }
      .feature-grid-7, .stacks-grid { grid-template-columns: repeat(2, 1fr); }
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .upwork-card { grid-template-columns: 1fr; gap: 1rem; }
    }
    @media (max-width: 768px) {
      nav { display: none; }
      .feature-grid-7, .stacks-grid, .pricing-grid, .spec-grid, .faq-grid, .module-grid, .dual-section { grid-template-columns: 1fr; }
      .ew-body { grid-template-columns: 1fr; }
      .ew-sidebar { display: none; }
      .footer-grid { grid-template-columns: 1fr; }
      .footer-bottom { flex-direction: column; gap: .5rem; text-align: center; }
    }