    /* ══ TOKENS — matches your existing site ══ */
    @import url('https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght,XOPQ,XTRA,YOPQ,YTDE,YTFI,YTLC,YTUC@8..144,100..1000,96,468,79,-203,738,514,712&display=swap');

    :root {
        --black: #0a0a0a;
        --dark: #1a1a1a;
        --mid: #333;
        --grey: #888;
        --light-grey: #ccc;
        --off-white: #f5f5f5;
        --off2: #f0f0f0;
        --white: #fff;
        --nav-h: 73px;
        --pill: 50px;
        --blue: #1a6fd4;
        --gold: #c8962a;
        --green: #15803d;
        --ease: cubic-bezier(.22, 1, .36, 1);
        --r: 10px;
        --r2: 16px;
        --r3: 22px;
        --ink: #0e0e0e;
        --ink2: #1e1e1e;
        --mid: #555;
        --muted: #888;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box;
        margin: 0;
        padding: 0
    }

    html {
        scroll-behavior: smooth
    }

    body {
        font-family: "Roboto Flex", sans-serif;
        font-optical-sizing: auto;
        font-style: normal;
        font-variation-settings:
            "slnt"0,
            "wdth"100,
            "GRAD"0,
            "XOPQ"96,
            "XTRA"468,
            "YOPQ"79,
            "YTAS"750,
            "YTDE"-203,
            "YTFI"738,
            "YTLC"514,
            "YTUC"712;
        color: var(--black);
        overflow-x: hidden;
        -webkit-font-smoothing: antialiased;
    }

    a {
        text-decoration: none;
        color: inherit
    }

    ul {
        list-style: none
    }

    img {
        display: block;
        max-width: 100%;
        height: 100%;
        object-fit: cover
    }

    @media(prefers-reduced-motion:reduce) {
        * {
            animation-duration: .01ms !important;
            transition-duration: .01ms !important
        }
    }

    /* ══ LAYOUT ══ */
    .wrap {
        width: 100%;
        max-width: 1240px;
        margin: 0 auto;
        padding: 0rem 1.3rem;
    }

    /* ══════════════════════════
   FILTER / CATEGORY BAR
══════════════════════════ */
    .filter-bar {
        background: #f5f5f5;
        position: sticky;
        border-top: 1px solid #e8e8e8;
        top: var(--nav-h);
        z-index: 100;
    }

    .filter-inner {
        display: flex;
        align-items: center;
        gap: 10px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding: .9rem 0;
    }

    .filter-inner::-webkit-scrollbar {
        display: none
    }

    .filter-btn {
        display: inline-flex;
        align-items: center;
        gap: .45rem;
        padding: .65rem 1.15rem;
        border-radius: var(--pill);
        font-size: .9rem;
        font-weight: 500;
        color: #000000;
        border: none;
        background: none;
        cursor: pointer;
        white-space: nowrap;
        transition: background .18s, color .18s;
        flex-shrink: 0;
    }

    .filter-btn:hover {
        background: #e3e3e3;
        color: var(--black)
    }

    .filter-btn.active {
        background: var(--black);
        color: #fff
    }

    .filter-btn .fi {
        font-size: .85rem
    }

    .filter-count {
        font-size: .62rem;
        font-weight: 700;
        padding: .1rem .42rem;
        border-radius: 20px;
        background: currentColor;
        opacity: 0;
        transition: opacity .2s;
    }

    .filter-btn.active .filter-count {
        opacity: .25;
        background: #fff;
        color: #fff
    }

    /* ══════════════════════════
   MAIN CONTENT
══════════════════════════ */
    .prod-main {
        padding: 0 0;
    }

    /* section block */
    .cat-section {
        margin-bottom: clamp(1.92rem, 5vw, 2.85rem);
    }

    .cat-head {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 1.4rem;
        flex-wrap: wrap;
        padding-bottom: 1.1rem;
        border-bottom: 1.5px solid #ebebeb;
    }

    .cat-head-left {
        display: flex;
        align-items: center;
        gap: 1rem
    }

    .cat-icon-wrap {
        width: 46px;
        height: 46px;
        border-radius: 12px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.2rem;
        border: 1.5px solid #e8e8e8;
        background: #fff;
    }

    .cat-label-eyebrow {
        font-size: .65rem;
        font-weight: 700;
        letter-spacing: .18em;
        text-transform: uppercase;
        color: var(--grey);
        margin-bottom: .18rem
    }

    .cat-label-title {
        font-size: 1.2rem;
        font-weight: 700;
        color: var(--black);
        letter-spacing: -.02em
    }

    .cat-label-sub {
        font-size: .78rem;
        color: var(--grey);
        margin-top: .1rem
    }

    .cat-view-all {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        font-size: .78rem;
        font-weight: 600;
        color: var(--black);
        padding: .4rem 1rem;
        border-radius: var(--pill);
        border: 1.5px solid #ddd;
        transition: background .18s, border-color .18s;
        white-space: nowrap;
        flex-shrink: 0;
    }

    .cat-view-all:hover {
        background: var(--black);
        color: #fff;
        border-color: var(--black)
    }

    .cat-view-all svg {
        width: 11px;
        height: 11px;
        stroke: currentColor;
        fill: none;
        stroke-width: 2.5;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    /* ══════════════════════════
   PRODUCT GRID
══════════════════════════ */
    .prod-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 2.9rem;
        margin-bottom: clamp(2.5rem, 5vw, 4rem);
    }

    /* ── PRODUCT CARD ── */
    .prod-card {
        background: #fff;
        border: 1.5px solid #ebebeb;
        border-radius: var(--r2);
        overflow: hidden;
        display: flex;
        flex-direction: column;
        transition: box-shadow .26s var(--ease), transform .26s var(--ease), border-color .22s;
        cursor: pointer;
        position: relative;
    }

    .prod-card:hover {
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.04);
        transform: translateY(-4px);
        border-color: #d0d0d0;
    }

    /* image zone */
    .pc-img {
        position: relative;
        aspect-ratio: 1/1;
        overflow: hidden;
        background: #f2f2f2;
        flex-shrink: 0;
    }

    .pc-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .55s var(--ease)
    }

    .prod-card:hover .pc-img img {
        transform: scale(1.07)
    }

    /* placeholder when no image */
    .pc-img-ph {
        width: 100%;
        position:relative;
        overflow:hidden;
        aspect-ratio: 1 / 1;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 3rem;
        background: linear-gradient(135deg, #f8f8f8 0%, #efefef 100%);
    }


    .pc-img-ph img {
        max-width: 72%;
        max-height: 82%;
        object-fit: contain;
        display:block;
        display: block;
        transition: transform 0.38s cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    .pc-img-overlay{
        position:absolute;inset:0;background:rgba(0, 0, 0, 0.441);
        display:flex;align-items:center;justify-content:center;
        opacity:0;transition:opacity .25s;
    }
    .prod-card:hover .pc-img-overlay{opacity:1}
    .pc-overlay-lbl{
        font-size:.71rem;font-weight:600;color:#fff;letter-spacing:.06em;
        border:1.5px solid rgba(255,255,255,.55);padding:.49rem 1rem;border-radius:71px;
        background:#00000076;
    }

    /* grade badge — top-left */
    .pc-grade {
        position: absolute;
        top: 10px;
        left: 10px;
        z-index: 2;
        font-size: .6rem;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
        padding: .25rem .65rem;
        border-radius: 20px;
        backdrop-filter: blur(6px);
    }

    .grade-silver {
        background: rgba(180, 180, 180, .22);
        color: #555;
        border: 1px solid rgba(150, 150, 150, .35)
    }

    .grade-gold {
        background: rgba(200, 150, 42, .18);
        color: #8a6200;
        border: 1px solid rgba(200, 150, 42, .35)
    }

    .grade-platinum {
        background: rgba(37, 99, 235, .15);
        color: #1d4ed8;
        border: 1px solid rgba(37, 99, 235, .3)
    }

    .grade-diamond {
        background: rgba(139, 92, 246, .15);
        color: #5b21b6;
        border: 1px solid rgba(139, 92, 246, .3)
    }

    .grade-default {
        background: rgba(0, 0, 0, .1);
        color: #444;
        border: 1px solid rgba(0, 0, 0, .12)
    }

    /* new/popular badge — top-right */
    .pc-flag {
        position: absolute;
        top: 10px;
        right: 10px;
        z-index: 2;
        font-size: .58rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        padding: .22rem .55rem;
        border-radius: 20px;
    }

    .flag-new {
        background: #0a0a0a;
        color: #fff
    }

    .flag-popular {
        background: var(--gold);
        color: #fff
    }

    .flag-bestseller {
        background: var(--green);
        color: #fff
    }

    /* quick action strip — appears on hover */
    .pc-actions {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 3;
        display: flex;
        gap: .4rem;
        padding: .55rem .6rem;
        background: linear-gradient(to top, rgba(0, 0, 0, .55) 0%, transparent 100%);
        transform: translateY(100%);
        transition: transform .28s var(--ease);
    }

    .prod-card:hover .pc-actions {
        transform: translateY(0)
    }

    .pc-action-btn {
        flex: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .35rem;
        padding: .5rem .4rem;
        border-radius: 8px;
        font-size: .7rem;
        font-weight: 700;
        border: none;
        cursor: pointer;
        letter-spacing: .04em;
        transition: background .18s;
    }

    .pc-action-primary {
        background: #fff;
        color: var(--black)
    }

    .pc-action-primary:hover {
        background: #f0f0f0
    }

    .pc-action-sec {
        background: rgba(255, 255, 255, .18);
        color: #fff;
        border: 1px solid rgba(255, 255, 255, .25);
        flex: 0 0 38px;
        padding: 0
    }

    .pc-action-sec:hover {
        background: rgba(255, 255, 255, .3)
    }

    .pc-action-sec svg {
        width: 14px;
        height: 14px;
        stroke: currentColor;
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    .pc-action-primary svg {
        width: 11px;
        height: 11px;
        stroke: currentColor;
        fill: none;
        stroke-width: 2.5;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    /* body */
    .pc-body {
        padding: .9rem 1rem 1rem;
        display: flex;
        flex-direction: column;
        flex: 1
    }

    .pc-cat {
        font-size: .62rem;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: var(--grey);
        margin-bottom: .25rem
    }

    .pc-name {
        font-size: 1.1rem;
        font-weight: 600;
        color: var(--black);
        line-height: 1.3;
        margin-bottom: .3rem;
        letter-spacing: -.01em
    }

    .pc-desc {
        font-size: .75rem;
        color: var(--grey);
        line-height: 1.55;
        margin-bottom: .7rem;
        flex: 1;
    }

    /* spec chips */
    .pc-specs {
        display: flex;
        flex-wrap: wrap;
        gap: .3rem;
        margin-bottom: 1rem
    }

    .pc-spec {
        display: inline-flex;
        align-items: center;
        gap: .25rem;
        font-size: .68rem;
        font-weight: 500;
        padding: .33rem .67rem;
        border-radius: 6px;
        background: var(--off-white);
        color: #111;
        letter-spacing: .03em;
    }

    /* cta row */
    .pc-foot {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .4rem;
        margin-top: auto
    }

    .pc-cta {
        display: inline-flex;
        align-items: center;
        gap: .9rem;
        background: var(--black);
        color: #fff;
        font-size: .84rem;
        font-weight: 500;
        padding: .34rem .34rem .34rem 1.4rem;
        border-radius: var(--pill);
        border: none;
        cursor: pointer;
        transition: background .18s;
    }

    .pc-cta:hover {
        background: var(--dark)
    }

    .pc-cta .arr {
        width: 26px;
        height: 26px;
        border-radius: 50%;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0
    }

    .pc-cta .arr svg {
        width: 12px;
        height: 12px;
        stroke: var(--black);
        fill: none;
        stroke-width: 2.2;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    .pc-tds {
        display: inline-flex;
        align-items: center;
        gap: .3rem;
        font-size: .7rem;
        font-weight: 500;
        color: #2a2a2ac2;
        padding: .4rem .6rem;
        border-radius: var(--pill);
        border: 1.5px solid #2a2a2a94;
        transition: border-color .18s, color .18s;
        background: none;
        cursor: pointer;
    }

    .pc-tds:hover {
        border-color: #999;
        color: #727272;
    }

    .pc-tds svg {
        width: 13px;
        height: 13px;
        stroke: currentColor;
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    /* ══════════════════════════
   FEATURED / WIDE CARD
   (first product in each cat gets a wide card spanning 2 cols)
══════════════════════════ */
    .prod-card.wide {
        grid-column: span 2
    }

    .prod-card.wide .pc-img {
        aspect-ratio: 16/9
    }

    .prod-card.wide .pc-img-ph {
        font-size: 5rem
    }

    .prod-card.wide .pc-name {
        font-size: 1.05rem
    }

    .prod-card.wide .pc-desc {
        font-size: .82rem
    }

    /* ══════════════════════════
   EMPTY STATE
══════════════════════════ */
    .empty-state {
        grid-column: 1/-1;
        text-align: center;
        padding: 3rem 2rem;
        color: var(--grey);
        font-size: .9rem;
    }

    /* ══════════════════════════
   BOTTOM CTA BAND
══════════════════════════ */
    .cta-band {
        background: var(--black);
        border-radius: var(--r2);
        margin: 0 0 clamp(2rem, 4vw, 3rem);
        padding: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 4vw, 3rem);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 2rem;
        flex-wrap: wrap;
        position: relative;
        overflow: hidden;
    }

    .cta-band::before {
        content: '';
        position: absolute;
        right: -60px;
        top: -60px;
        width: 260px;
        height: 260px;
        border-radius: 50%;
        background: rgba(26, 111, 212, .12);
        pointer-events: none;
    }

    .cta-band-text h2 {
        font-size: clamp(1.2rem, 2.5vw, 1.7rem);
        font-weight: 700;
        color: #fff;
        letter-spacing: -.02em;
        margin-bottom: .4rem
    }

    .cta-band-text p {
        font-size: .88rem;
        color: rgba(255, 255, 255, .45);
        max-width: 400px;
        line-height: 1.6
    }

    .cta-band-btns {
        display: flex;
        gap: .75rem;
        flex-wrap: wrap;
        flex-shrink: 0
    }

    .btn-white {
        display: inline-flex;
        align-items: center;
        gap: .6rem;
        background: #fff;
        color: var(--black);
        font-weight: 700;
        font-size: .86rem;
        padding: .5rem .5rem .5rem 1.6rem;
        border-radius: var(--pill);
        border: none;
        cursor: pointer;
        transition: background .18s, transform .18s;
    }

    .btn-white:hover {
        background: #f0f0f0;
        transform: translateY(-1px)
    }

    .btn-white .arr {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: var(--black);
        display: flex;
        align-items: center;
        justify-content: center
    }

    .btn-white .arr svg {
        width: 12px;
        height: 12px;
        stroke: #fff;
        fill: none;
        stroke-width: 2.5;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    .btn-outline-white {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        border-color: rgba(255, 255, 255, .55);
        color: #fff;
        font-weight: 600;
        font-size: .86rem;
        padding: .7rem 1.4rem;
        border-radius: var(--pill);
        border: 1.5px solid rgba(255, 255, 255, .2);
        cursor: pointer;
        transition: border-color .18s, color .18s;
    }

    .btn-outline-white:hover {
        background: transparent;
        color: rgba(255, 255, 255, .6);
    }

    /* ══════════════════════════
   SCROLL REVEAL
══════════════════════════ */
    .r {
        opacity: 0;
        transform: translateY(18px);
        transition: opacity .65s var(--ease), transform .65s var(--ease)
    }

    .r.up {
        opacity: 1;
        transform: translateY(0)
    }

    /* ══════════════════════════
   RESPONSIVE
══════════════════════════ */
    @media(max-width:1100px) {
        .prod-grid {
            grid-template-columns: repeat(3, 1fr)
        }

        .prod-card.wide {
            grid-column: span 1
        }

        .prod-card.wide .pc-img {
            aspect-ratio: 1/1
        }
    }

    @media(max-width:768px) {
        .prod-grid {
            grid-template-columns: repeat(2, 1fr)
        }

        .prod-hero-grid {
            grid-template-columns: 1fr
        }

        .prod-hero-stats {
            flex-direction: row;
            gap: .5rem
        }

        .phs {
            min-width: auto;
            flex: 1;
            text-align: left
        }
    }

    @media(max-width:480px) {
        .prod-grid {
            grid-template-columns: 1fr
        }

        .pc-actions {
            transform: translateY(0);
            background: linear-gradient(to top, rgba(0, 0, 0, .45), transparent)
        }

        .cta-band-btns{
            flex-direction:column;
        }
    }

    .breadcrumb {
        background: var(--off);
        border-bottom: 1px solid var(--border);
    }

    .breadcrumb-inner {
        display: flex;
        align-items: center;
        gap: .5rem;
        padding: clamp(.65rem, 1.5vw, 1rem) 0;
        flex-wrap: wrap;
    }

    .breadcrumb a,
    .breadcrumb span {
        font-size: .78rem;
        font-weight: 500;
        color: var(--muted);
        transition: color .2s;
    }

    .breadcrumb a:hover {
        color: var(--ink)
    }

    .breadcrumb .sep {
        color: var(--ink2);
    }

    .breadcrumb .current {
        color: var(--ink);
        font-weight: 600
    }

            .shop-search-wrap {
            display: flex;
            align-items: center;
            gap: .5rem;
            background: #f6f6f6;
            border: 1.5px solid #e8e8e8;
            border-radius: 5px;
            padding: .48rem 0.7rem;
            max-width: 280px;
            margin: 0 auto 0.11rem;
            transition: border-color .2s;
        }

        .shop-search-wrap:focus-within {
            border-color: #0a0a0a;
        }

        .shop-search-wrap svg {
            width: 14px;
            height: 14px;
            flex-shrink: 0;
            opacity: .4;
            stroke: #0a0a0a;
            fill: none;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .shop-search-wrap input {
            border: none;
            background: none;
            font-size: .83rem;
            font-family: inherit;
            color: #0a0a0a;
            outline: none;
            width: 100%;
        }

        .shop-search-wrap input::placeholder {
            color: #bbb;
        }

        .no-results {
            text-align: center;
            padding: 4rem 1rem;
            display: none;
            grid-column: 1 / -1;
        }

        .no-results.show {
            display: block;
        }

        .no-results-icon {
            font-size: 2.6rem;
            margin-bottom: .75rem;
        }

        .no-results h3 {
            font-size: 1.02rem;
            font-weight: 700;
            color: #444;
            margin-bottom: .35rem;
        }

        .no-results p {
            font-size: .82rem;
            color: #888;
            margin-bottom: 1.1rem;
        }

        .no-results-btn {
            background: #0a0a0a;
            color: #fff;
            border: none;
            cursor: pointer;
            font-family: inherit;
            font-size: .82rem;
            font-weight: 600;
            padding: .6rem 1.5rem;
            border-radius: 50px;
        }

        .prod-card {
            position: relative;
            overflow: hidden;
        }

        .pc-badge {
            position: absolute;
            top: 13px;
            left: -48px;
            z-index: 20;
            background:black;
            width: 150px;
            text-align: center;
            transform: rotate(-45deg);
            overflow: hidden;
        }

        .pc-badge span {
            display: block;
            padding: 8px 0;
            font-size: 9px;
            font-weight: 600;
            letter-spacing: 1.1px;
            text-transform: uppercase;
            color: #fff;
            box-shadow: 0 5px 18px rgba(141, 141, 141, 0.18);
        }

        .pc-badge::before {
            content: "";
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background: linear-gradient(rgba(255, 255, 255, .25),
                    rgba(255, 255, 255, 0));
        }