        .sp-page {
            max-width: 1400px;
            margin: 0 auto;
            padding: 40px 5% 80px;
        }

        /* BACK + GRID HEADER */
        .sp-topbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 30px;
        }
        .sp-back {
            display: flex;
            align-items: center;
            gap: 8px;
            color: var(--text_dim);
            font-size: 0.85rem;
            text-decoration: none;
            transition: color 0.2s;
            cursor: pointer;
        }
        .sp-back:hover { color: var(--text_main); }
        .sp-back svg { width: 18px; height: 18px; }

        /* PRODUCT IMAGE AREA */
        .sp-hero {
            position: relative;
            border-radius: 24px;
            overflow: hidden;
            background: linear-gradient(135deg, #1a1d22, #0f1114);
            border: 1px solid rgba(255,255,255,0.06);
            aspect-ratio: 4/3;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 20px;
        }
        .sp-hero-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: none;
            transition: opacity 0.4s ease;
        }
        .sp-hero-img.active {
            display: block;
            animation: fadeIn 0.4s ease;
        }
        .sp-hero-placeholder {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 16px;
            color: var(--text_dim);
        }
        .sp-hero-placeholder svg { width: 64px; height: 64px; opacity: 0.3; }
        .sp-hero-placeholder span { font-size: 0.85rem; opacity: 0.5; }

        /* WAVEFORM DECORATION */
        .sp-waveform {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 60px;
            background: linear-gradient(to top, rgba(15,17,20,0.8), transparent);
            display: flex;
            align-items: flex-end;
            padding: 0 20px 12px;
            gap: 3px;
        }
        .sp-waveform-bar {
            flex: 1;
            background: rgba(212, 175, 55, 0.4);
            border-radius: 2px 2px 0 0;
            transition: height 0.3s ease;
        }

        /* DOT INDICATORS */
        .sp-dots {
            display: flex;
            justify-content: center;
            gap: 8px;
            margin-bottom: 24px;
        }
        .sp-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: rgba(255,255,255,0.15);
            cursor: pointer;
            transition: all 0.2s;
        }
        .sp-dot.active {
            background: var(--gold);
            width: 24px;
            border-radius: 4px;
        }

        /* 3 FEATURE BUTTONS */
        .sp-features {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 12px;
            margin-bottom: 32px;
        }
        .sp-feat-btn {
            background: var(--card_bg);
            border: 1px solid rgba(255,255,255,0.06);
            border-radius: 16px;
            padding: 20px 12px;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 10px;
            cursor: pointer;
            transition: all 0.25s ease;
            flex: 1;
            width: auto;
            text-transform: none;
            font-size: 0.8rem;
            color: var(--text_dim);
            font-weight: 600;
            letter-spacing: 0;
        }
        .sp-feat-btn svg {
            width: 28px;
            height: 28px;
            stroke: var(--text_dim);
            transition: stroke 0.25s;
        }
        .sp-feat-btn:hover,
        .sp-feat-btn.active {
            background: rgba(212, 175, 55, 0.08);
            border-color: rgba(212, 175, 55, 0.4);
            color: var(--gold);
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(212, 175, 55, 0.1);
        }
        .sp-feat-btn.active svg,
        .sp-feat-btn:hover svg {
            stroke: var(--gold);
        }

        /* INFO PANELS */
        .sp-panel { display: none; animation: fadeIn 0.35s ease; }
        .sp-panel.active { display: block; }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(8px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* PRODUCT TITLE AREA */
        .sp-title-row {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 6px;
            flex-wrap: wrap;
            gap: 10px;
        }
        .sp-title {
            font-family: 'Syne', sans-serif;
            font-size: clamp(1.6rem, 4vw, 2.2rem);
            font-weight: 800;
            line-height: 1.1;
            letter-spacing: -1px;
        }
        .sp-stars {
            display: flex;
            align-items: center;
            gap: 4px;
            color: var(--gold);
            font-size: 0.85rem;
        }
        .sp-subtitle {
            color: var(--text_dim);
            font-size: 0.85rem;
            margin-bottom: 16px;
        }
        .sp-desc {
            color: var(--text_dim);
            font-size: 0.92rem;
            line-height: 1.7;
            margin-bottom: 24px;
        }

        /* TAG PILLS */
        .sp-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-bottom: 24px;
        }
        .sp-tag {
            background: rgba(52, 152, 219, 0.1);
            border: 1px solid rgba(52, 152, 219, 0.25);
            color: var(--accent_blue);
            font-size: 0.72rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            padding: 4px 12px;
            border-radius: 20px;
        }

        /* TRACK LIST */
        .sp-tracklist {
            display: flex;
            flex-direction: column;
            gap: 6px;
            margin-bottom: 24px;
        }
        .sp-track {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 12px 16px;
            background: rgba(28,31,36,0.5);
            border: 1px solid rgba(255,255,255,0.04);
            border-radius: 10px;
            transition: background 0.2s;
        }
        .sp-track:hover { background: rgba(28,31,36,0.9); }
        .sp-track-num {
            color: var(--text_dim);
            font-size: 0.75rem;
            width: 20px;
            text-align: center;
            font-weight: 700;
        }
        .sp-track-play {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background: rgba(212,175,55,0.12);
            border: 1px solid rgba(212,175,55,0.3);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            flex-shrink: 0;
            flex: none;
            width: 32px;
            padding: 0;
            transition: all 0.2s;
        }
        .sp-track-play:hover {
            background: var(--gold);
            transform: scale(1.1);
        }
        .sp-track-play:hover svg { stroke: #000; }
        .sp-track-play svg { width: 12px; height: 12px; stroke: var(--gold); fill: none; }
        .sp-track-info { flex: 1; }
        .sp-track-name { font-size: 0.88rem; font-weight: 600; margin-bottom: 2px; }
        .sp-track-meta { font-size: 0.75rem; color: var(--text_dim); }
        .sp-track-bpm {
            font-size: 0.72rem;
            color: var(--text_dim);
            font-weight: 600;
            letter-spacing: 0.5px;
        }

        /* SPECS TABLE */
        .sp-specs {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
            margin-bottom: 24px;
        }
        .sp-spec-item {
            background: rgba(28,31,36,0.5);
            border: 1px solid rgba(255,255,255,0.04);
            border-radius: 10px;
            padding: 14px 16px;
        }
        .sp-spec-label {
            font-size: 0.7rem;
            color: var(--text_dim);
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 4px;
        }
        .sp-spec-val {
            font-size: 0.95rem;
            font-weight: 700;
            color: var(--text_main);
        }

        /* LICENSE ITEMS */
        .sp-license-list {
            display: flex;
            flex-direction: column;
            gap: 10px;
            margin-bottom: 24px;
        }
        .sp-license-item {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            padding: 14px 16px;
            background: rgba(28,31,36,0.5);
            border: 1px solid rgba(255,255,255,0.04);
            border-radius: 10px;
            font-size: 0.88rem;
        }
        .sp-license-item svg {
            width: 18px;
            height: 18px;
            flex-shrink: 0;
            margin-top: 2px;
        }
        .sp-license-item .li-title { font-weight: 700; margin-bottom: 2px; }
        .sp-license-item .li-desc { color: var(--text_dim); font-size: 0.8rem; line-height: 1.5; }

        /* PURCHASE ROW */
        .sp-purchase {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 24px 0 0;
            border-top: 1px solid rgba(255,255,255,0.06);
            gap: 20px;
            flex-wrap: wrap;
        }
        .sp-price {
            font-family: 'Syne', sans-serif;
            font-size: 2.4rem;
            font-weight: 800;
            color: var(--gold);
            letter-spacing: -1px;
            line-height: 1;
        }
        .sp-price-orig {
            font-size: 0.85rem;
            color: var(--text_dim);
            text-decoration: line-through;
            margin-top: 4px;
        }
        .sp-qty {
            display: flex;
            align-items: center;
            gap: 0;
            background: var(--card_bg);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 10px;
            overflow: hidden;
        }
        .sp-qty-btn {
            background: transparent;
            border: none;
            color: var(--text_main);
            width: 40px;
            height: 40px;
            font-size: 1.2rem;
            cursor: pointer;
            flex: none;
            padding: 0;
            transition: background 0.2s;
            border-radius: 0;
        }
        .sp-qty-btn:hover { background: rgba(255,255,255,0.06); }
        .sp-qty-val {
            width: 36px;
            text-align: center;
            font-weight: 700;
            font-size: 0.9rem;
            border-left: 1px solid rgba(255,255,255,0.06);
            border-right: 1px solid rgba(255,255,255,0.06);
            height: 40px;
            line-height: 40px;
        }
        .sp-cart-btn {
            flex: 1;
            min-width: 140px;
            background: var(--gold);
            color: #000;
            border: none;
            border-radius: 10px;
            padding: 14px 28px;
            font-size: 0.85rem;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            cursor: pointer;
            transition: all 0.25s;
        }
        .sp-cart-btn:hover {
            filter: brightness(1.15);
            transform: scale(1.02);
            box-shadow: 0 8px 24px rgba(212,175,55,0.3);
        }

        @media (max-width: 600px) {
            .sp-specs { grid-template-columns: 1fr; }
            .sp-purchase { flex-direction: column; align-items: stretch; }
            .sp-cart-btn { text-align: center; }
        }
        /* SLIDESHOW */
        .sp-slideshow {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
        }
        .sp-slide {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: 0;
            transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1);
            pointer-events: none;
        }
        .sp-slide.active {
            opacity: 1;
            pointer-events: auto;
        }

        /* Keep cart & store pinned top-right on product pages */
        .nav_right {
            position: fixed;
            top: 15px;
            right: 5%;
            z-index: 1100;
            display: flex;
            align-items: center;
            gap: 25px;
        }


/* TEXT + IMAGE SPLIT LAYOUT */
.sp-text-image-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    margin: 20px 0;
}

.sp-text-image-row .sp-text-col {
    color: var(--text_dim);
    font-size: 0.95rem;
    line-height: 1.7;
    min-width: 0;
}

.sp-text-image-row .sp-img-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.sp-text-image-row .sp-img-col img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    display: block;
}

/* Reverse order: image left, text right */
.sp-text-image-row.sp-image-left .sp-img-col {
    order: 1;
}

.sp-text-image-row.sp-image-left .sp-text-col {
    order: 2;
}

.sp-text-image-row .sp-text-col ul {
    padding-left: 18px;
}

.sp-text-image-row .sp-text-col li {
    margin-bottom: 12px;
}

@media (max-width: 700px) {
    .sp-text-image-row {
        grid-template-columns: 1fr;
    }
}

/* Section title alignment alternating */
.sp-panel h2 {
    text-decoration: underline;
    margin-top: 70px;
    margin-bottom: 20px;
}

.sp-panel h2.align-right {
    text-align: right;
}


/* =============================================================================
   PRODUCT PAGE — SHARED LAYOUT COMPONENTS
   Used by raven.html, hawk.html, owl.html (and future plugin pages)
   Each page sets --product-accent and --product-accent-dim in a small
   inline <style> block. Everything else comes from here.
   ============================================================================= */

/* ── Accent variable defaults (overridden per-page) ── */
:root {
    --product-accent:     #4db6ac;
    --product-accent-dim: #80cbc4;
}

/* ── Hero block ── */
.product-hero-block {
    background: linear-gradient(135deg, color-mix(in srgb, var(--product-accent) 6%, transparent) 0%, rgba(28,31,36,0.4) 100%);
    border: 1px solid color-mix(in srgb, var(--product-accent) 15%, transparent);
    border-left: 4px solid var(--product-accent);
    border-radius: 10px;
    padding: 28px 32px;
    margin-bottom: 24px;
}
.product-hero-quote {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.6;
    color: var(--text_main);
    margin-bottom: 14px;
}
.product-hero-sub {
    font-size: 0.9rem;
    color: var(--text_dim);
    line-height: 1.7;
    margin-bottom: 24px;
}

/* ── Stat strip ── */
.product-stat-strip {
    display: flex;
    align-items: center;
    border-top: 1px solid rgba(255,255,255,0.06);
    padding-top: 20px;
    flex-wrap: wrap;
}
.product-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    min-width: 80px;
    padding: 0 12px;
}
.product-stat-num {
    font-family: 'Orbitron', monospace;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--product-accent);
    line-height: 1;
    margin-bottom: 6px;
}
.product-stat-label {
    font-size: 0.65rem;
    color: var(--text_dim);
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
}
.product-stat-divider {
    width: 1px;
    height: 36px;
    background: rgba(255,255,255,0.08);
}

/* ── Accent spec cards ── */
.sp-specs--product .sp-spec-item {
    border-left: 3px solid var(--product-accent);
}
.sp-specs--product .sp-spec-label {
    color: var(--product-accent-dim);
}

/* ── Side-by-side 50/50 layout ── */
.product-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: start;
}
.product-layout-cards { display: flex; flex-direction: column; }
.product-layout-img img {
    width: 100%;
    border-radius: 8px;
    display: block;
}

/* ── Full-width section ── */
.product-fullwidth {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.product-full-img {
    width: 100%;
    border-radius: 8px;
    display: block;
}

/* ── Image pair row ── */
.product-img-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.product-img-pair img {
    width: 100%;
    border-radius: 8px;
    display: block;
}
.product-img-caption {
    font-size: 0.8rem;
    color: var(--text_dim);
    text-align: center;
    margin-top: 4px;
    font-style: italic;
}

/* ── Feature card row ── */
.product-feature-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
.product-feature-row--3 { grid-template-columns: repeat(3, 1fr); }
.product-feature-row--2 { grid-template-columns: repeat(2, 1fr); }
.product-feature-card {
    background: rgba(28,31,36,0.6);
    border: 1px solid rgba(255,255,255,0.05);
    border-top: 2px solid var(--product-accent);
    border-radius: 8px;
    padding: 14px 16px;
}
.product-feature-label {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--product-accent);
    margin-bottom: 8px;
}
.product-feature-body {
    font-size: 0.83rem;
    color: var(--text_dim);
    line-height: 1.55;
}

/* ── Callout boxes ── */
.product-callout {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: color-mix(in srgb, var(--product-accent) 6%, transparent);
    border: 1px solid color-mix(in srgb, var(--product-accent) 20%, transparent);
    border-radius: 8px;
    padding: 16px 20px;
}
.product-callout--secondary {
    background: color-mix(in srgb, var(--product-secondary, #ffa726) 6%, transparent);
    border-color: color-mix(in srgb, var(--product-secondary, #ffa726) 20%, transparent);
}
.product-callout-icon {
    font-size: 1.1rem;
    color: var(--product-accent);
    min-width: 20px;
    padding-top: 2px;
}
.product-callout--secondary .product-callout-icon { color: var(--product-secondary, #ffa726); }
.product-callout-title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--product-accent);
    margin-bottom: 6px;
}
.product-callout--secondary .product-callout-title { color: var(--product-secondary, #ffa726); }
.product-callout-body {
    font-size: 0.88rem;
    color: var(--text_main);
    line-height: 1.6;
}

/* ── Workflow step cards ── */
.product-steps {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.product-step {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 12px 16px;
    background: rgba(28,31,36,0.5);
    border: 1px solid rgba(255,255,255,0.04);
    border-radius: 8px;
    transition: border-color 0.2s;
}
.product-step:hover {
    border-color: color-mix(in srgb, var(--product-accent) 30%, transparent);
}
.product-step-num {
    font-family: 'Orbitron', monospace;
    font-size: 0.65rem;
    color: var(--product-accent);
    font-weight: 700;
    letter-spacing: 1px;
    min-width: 24px;
    padding-top: 2px;
}
.product-step-text {
    font-size: 0.88rem;
    color: var(--text_main);
    line-height: 1.5;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .product-layout,
    .product-img-pair { grid-template-columns: 1fr; }
    .product-feature-row,
    .product-feature-row--3 { grid-template-columns: 1fr 1fr; }
    .product-stat-strip { gap: 12px; }
}
