    * {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
    }

    body {
        font-family: 'Inter', sans-serif;
        background: var(--kyra-bg-soft);
        color: var(--kyra-text-dark);
        line-height: 1.6;
    }

    h1,
    h2,
    h3,
    h4 {
        font-family: var(--font-heading);
        color: var(--kyra-text-muted);
    }

    a {
        text-decoration: none;
    }

    /* =========================
   HERO SECTION
   ========================= */

    .hero {
        position: relative;
        width: 100%;
        height: 88vh;
        /* mobile: shorter viewport */
        overflow: hidden;
    }

    .hero-slide {
        position: absolute;
        inset: 0;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.9s ease;
    }

    .hero-slide.active {
        opacity: 1;
        pointer-events: auto;
    }

    .hero-banner {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center top;
        /* keep faces/focal point visible on mobile */
    }

    /* --------------------------------
   BUTTON BASE
   -------------------------------- */
    .hero-content {
        position: absolute;
    }

    .hero-btn {
        display: inline-block;
        padding: 11px 28px;
        background: transparent;
        color: #fff;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        border: 1.5px solid #955d4c;
        border-radius: 50px;
        text-decoration: none;
        transition: background 0.3s ease, color 0.3s ease, transform 0.2s ease;
        white-space: nowrap;
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
        background: rgba(255, 255, 255, 0.08);
    }

    .hero-btn:hover {
        background: #955d4c;
        border-color: #955d4c;
        color: #f5e4df !important;
        transform: translateY(-2px);
    }

    /* --------------------------------
   MOBILE-FIRST POSITIONS
   All 4 slides: button centered at bottom
   -------------------------------- */

    .pos-1 {
        bottom: 12%;
        left: 50%;
        transform: translateX(-50%);
    }

    .pos-2 {
        bottom: 12%;
        left: 50%;
        transform: translateX(-50%);
    }

    .pos-3 {
        bottom: 12%;
        left: 50%;
        transform: translateX(-50%);
    }

    .pos-4 {
        bottom: 12%;
        left: 50%;
        transform: translateX(-50%);
    }

    /* --------------------------------
   TABLET — medium screens
   -------------------------------- */
    @media (min-width: 640px) and (max-width: 1023px) {

        .hero {
            height: 80vh;
        }

        .hero-banner {
            object-position: 60% top;
            /* shift right/left if subject gets cropped */
        }

        .hero-btn {
            padding: 12px 32px;
            font-size: 13px;
        }

        /* Adjust per-slide if the banner design places the subject differently */
        .pos-1 {
            bottom: 14%;
            left: 50%;
            transform: translateX(-50%);
        }

        .pos-2 {
            bottom: 16%;
            left: 50%;
            transform: translateX(-50%);
        }

        .pos-3 {
            bottom: 14%;
            left: 50%;
            transform: translateX(-50%);
        }

        .pos-4 {
            bottom: 14%;
            left: 50%;
            transform: translateX(-50%);
        }
    }

    /* --------------------------------
   DESKTOP — full free placement
   Each slide can have its own unique position
   matching the visual composition of its banner
   -------------------------------- */
    @media (min-width: 1024px) {

        .hero {
            height: 90vh;
        }

        .hero-banner {
            object-position: center top;
        }

        @media (min-height: 900px) {
            .hero {
                height: 85vh;
                max-height: 960px;
            }
        }

        .hero-btn {
            padding: 14px 34px;
            font-size: 13px;
        }

        /* ✏️ SLIDE 1 — New Arrivals */
        .pos-1 {
            bottom: 20%;
            left: 44%;
            transform: none;
        }

        /* ✏️ SLIDE 2 — Shop Printed */
        .pos-2 {
            bottom: 25%;
            right: 21%;
            left: auto;
            transform: none;
        }

        /* ✏️ SLIDE 3 — Explore Sale */
        .pos-3 {
            top: 58%;
            right: 7%;
            left: auto;
            transform: none;
        }

        /* ✏️ SLIDE 4 — Explore More */
        .pos-4 {
            bottom: 20%;
            left: 54%;
            transform: none;
        }
    }


    /* =========================
   MID DESCRIPTION
   ========================= */

    .mid-description {
        padding: 48px 24px;
        text-align: center;
        background: #fff;
        border-top: 1px solid #f0e8e5;
    }

    .mid-description p {
        max-width: 740px;
        margin: auto;
        font-size: 13px;
        line-height: 2.2;
        letter-spacing: 0.12em;
        color: #a08880;
        font-weight: 500;
    }

    /* Remove the <br> on mobile — use CSS instead */
    @media (max-width: 639px) {
        .mid-description p {
            font-size: 11.5px;
            letter-spacing: 0.08em;
            line-height: 2;
        }
    }

    /* =========================
        PRODUCT GRID
        ========================= */

    .product-slider-wrapper {
        position: relative;
        display: flex;
        align-items: center;
    }

    /* HORIZONTAL SLIDER */
    .product-grid {
        display: flex;
        gap: 24px;

        overflow-x: auto;
        scroll-behavior: smooth;

        scrollbar-width: none;
        -ms-overflow-style: none;

        padding: 10px 5px;
    }

    .product-grid::-webkit-scrollbar {
        display: none;
    }

    /* CARD */
    .product-card {
        min-width: 260px;
        max-width: 260px;

        background: #fff;
        transition: 0.25s ease;

        flex-shrink: 0;
    }

    .product-card:hover {
        transform: translateY(-4px);
    }

    /* IMAGE */
    .product-img {
        height: 350px;
        position: relative;
        overflow: hidden;
    }

    .product-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    /* OVERLAY */
    .product-img-overlay {
        position: absolute;
        inset: 0;

        background: linear-gradient(to top,
                rgba(0, 0, 0, 0.35),
                rgba(0, 0, 0, 0));
    }

    /* INFO */
    .product-info {
        padding: 18px;
        background: rgba(255, 255, 255, 0.9);

        backdrop-filter: blur(3px);
    }

    .product-info h3 {
        font-size: 1rem;
        margin-bottom: 6px;
    }

    .price {
        color: var(--kyra-pink-accent);
        font-weight: 500;
    }

    /* ARROWS */
    .slider-btn {
        width: 42px;
        height: 42px;

        border: none;
        border-radius: 50%;

        background: #fff;

        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);

        position: absolute;
        z-index: 20;

        cursor: pointer;
    }

    .prev-btn {
        left: -15px;
    }

    .next-btn {
        right: -15px;
    }

    .sale-highlight {
        position: relative;

        width: 100%;
        left: 50%;
        right: 50%;

        margin-left: -50vw;
        margin-right: -50vw;

        background: linear-gradient(130deg,
                var(--kyra-pink-primary),
                var(--kyra-text-muted));

        padding: 20px;
        text-align: center;
    }

    .sale-text {
        color: #fff;

        font-size: 14px;
        letter-spacing: 1px;

        margin-bottom: 10px;
    }

    .sale-off {
        color: #fff;

        font-size: 20px;
        font-weight: 700;

        margin: 0;
    }

    .section-title h4 i {
        color: var(--kyra-pink-accent);
        font-size: inherit;
        margin-left: 6px;
    }

    /* =========================
       FINAL CTA
       ========================= */

    .final-cta {
        background: var(--kyra-pink-soft);
        text-align: center;
        padding: 90px 20px;
    }

    .final-cta h2 {
        font-size: 2.6rem;
        margin-bottom: 20px;
    }

    .final-cta a {
        background: var(--kyra-pink-accent);
        color: #fff;
        padding: 14px 40px;
        border-radius: 50px;
        font-weight: 500;
        display: inline-block;
    }

    /* WholeSale Section */
    .wholesale-section {
        display: grid;
        grid-template-columns: 1fr 1fr;
        min-height: 650px;
        background: #fafafa;
        overflow: hidden;
    }

    .wholesale-content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 80px;
    }

    .tag {
        display: inline-block;
        width: fit-content;
        padding: 8px 16px;
        border-radius: 100px;
        background: #f2f2f2;
        font-size: 13px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-bottom: 20px;
    }

    .wholesale-content h2 {
        font-size: clamp(2rem, 5vw, 4rem);
        line-height: 1.1;
        margin-bottom: 20px;
        font-weight: 700;
    }

    .wholesale-content p {
        font-size: 1.05rem;
        line-height: 1.8;
        color: #666;
        max-width: 550px;
        margin-bottom: 30px;
    }

    .wholesale-features {
        list-style: none;
        padding: 0;
        margin: 0 0 40px;
    }

    .wholesale-features li {
        margin-bottom: 12px;
        font-size: 15px;
        color: #333;
    }

    .banner-actions {
        display: flex;
        gap: 15px;
        flex-wrap: wrap;
    }

    .banner-btn {
        padding: 16px 32px;
        border-radius: 999px;
        text-decoration: none;
        font-weight: 600;
        transition: 0.3s ease;
        background: #111;
        color: white;
    }

    .banner-btn:hover {
        transform: translateY(-2px);
    }

    .banner-btn.outline {
        background: transparent;
        border: 1px solid #111;
        color: #111;
    }

    .wholesale-image {
        position: relative;
        overflow: hidden;
        min-height: 100%;
    }

    .wholesale-video,
    .wholesale-fallback {
        position: absolute;
        inset: 0;

        width: 100%;
        height: 100%;

        object-fit: cover;
        display: block;
    }

    .wholesale-video {
        z-index: 2;
    }

    .wholesale-fallback {
        z-index: 1;
    }

    @media (max-width: 991px) {

        .wholesale-section {
            grid-template-columns: 1fr;
        }

        .wholesale-image {
            order: -1;
            height: 500px;
        }

        .wholesale-content {
            padding: 50px 20px;
            text-align: left;
            align-items: left;
        }

    }

    @media (max-width: 576px) {

        .wholesale-image {
            height: 350px;
        }

        .wholesale-content {
            padding: 40px 10px;
        }

        .banner-actions {
            width: 100%;
            flex-direction: column;
        }

        .banner-btn {
            width: 100%;
            text-align: center;
        }

    }

    /* END */