/* =========================================================
   NAVGRAH
   HOMEPAGE STYLESHEET
   =========================================================

   This stylesheet is built specifically for the current
   front-page.php structure.

   Header, navigation, global theme variables and footer
   foundation remain controlled by style.css.

   ========================================================= */


/* =========================================================
   1. HOMEPAGE FOUNDATION
========================================================= */

.navgrah-home {
    width: 100%;
    overflow: hidden;
    background: var(--navgrah-paper, #f5f4f0);
}

.navgrah-home *,
.navgrah-home *::before,
.navgrah-home *::after {
    box-sizing: border-box;
}

.navgrah-home img {
    display: block;
    max-width: 100%;
}

.navgrah-home a {
    text-decoration: none;
}


/* =========================================================
   2. HOMEPAGE VARIABLES
========================================================= */

:root {
    --ng-paper: var(--navgrah-paper, #f5f4f0);
    --ng-white: var(--navgrah-white, #ffffff);

    --ng-text: var(--navgrah-text, #202126);
    --ng-dark: #08211e;
    --ng-dark-soft: #0d2c28;

    --ng-muted: var(--navgrah-muted, #686b72);
    --ng-line: var(--navgrah-line, #deddd9);

    --ng-gold: #d9902f;
    --ng-gold-light: #f5a535;

    --ng-container:
        var(--navgrah-container, 1400px);
}


/* =========================================================
   3. SHARED TYPOGRAPHY
========================================================= */

.navgrah-home h1,
.navgrah-home h2,
.navgrah-home h3,
.navgrah-home h4,
.navgrah-home p {
    margin-top: 0;
}

.navgrah-home h1,
.navgrah-home h2,
.navgrah-home h3,
.navgrah-home h4 {
    color: var(--ng-text);
}

.navgrah-home p {
    color: var(--ng-muted);
}


/* =========================================================
   4. SHARED EYEBROW
========================================================= */

.navgrah-home .eyebrow {
    margin: 0 0 18px;

    color: var(--ng-gold);

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

    line-height: 1.2;

    letter-spacing: 0.16em;
    text-transform: uppercase;
}


/* =========================================================
   5. SHARED BUTTONS
========================================================= */

.navgrah-home .btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 52px;

    padding: 0 30px;

    border: 0;
    border-radius: 999px;

    font-size: 13px;
    font-weight: 600;

    line-height: 1;

    cursor: pointer;

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        color 0.25s ease,
        box-shadow 0.25s ease;
}

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

.navgrah-home .btn-primary {
    background: var(--navgrah-footer);
    color: var(--ng-white);
}

.navgrah-home .btn-primary:hover {
    background: var(--navgrah-footer);

    color: var(--ng-white);

    box-shadow:
        0 10px 30px
        rgba(0, 0, 0, 0.12);
}


/* =========================================================
   6. SHARED SECTION HEADING
========================================================= */

.navgrah-home .section-heading {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 30px;

    margin-bottom: 60px;
}

.navgrah-home .section-heading h2 {
    margin: 0;

    font-size: clamp(
        40px,
        4vw,
        68px
    );

    font-weight: 700;

    line-height: 1;

    letter-spacing: -0.045em;
}

.navgrah-home .section-link {
    display: inline-flex;

    align-items: center;

    padding-bottom: 4px;

    color: var(--ng-text);

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

    text-transform: uppercase;

    letter-spacing: 0.08em;

    white-space: nowrap;

    transition:
        color 0.25s ease,
        opacity 0.25s ease;
}

.navgrah-home .section-link:hover {
    color: var(--ng-gold);
}

/* =========================================================
   7. NAVGRAH HERO SECTION
========================================================= */

.navgrah-hero {
    position: relative;
    width: 100%;
    height: 680px;
    min-height: 680px;
    overflow: hidden;
    background: var(--ng-paper);
    isolation: isolate;
}

.navgrah-hero .hero-container {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 680px;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 3;
}

/* ---------------------------------------------------------
   HERO HEADING
--------------------------------------------------------- */

.hero-heading {
    position: absolute;
    top: 72px;
    left: 50%;
    width: min(760px, 88vw);
    max-width: 760px;
    margin: 0;
    padding: 0;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    z-index: 30;
}

.navgrah-home .hero-eyebrow {
    margin: 0 0 14px;
    color: var(--navgrah-gold);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.hero-heading h1 {
    width: 100%;
    max-width: 760px;
    margin: 0;
    padding: 0;
    color: var(--navgrah-gold);
    font-size: 52px;
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -0.035em;
    text-align: center;
    text-transform: uppercase;
}

.hero-heading h1 span {
    display: block;
}

/* ---------------------------------------------------------
   PRODUCT SCENE
--------------------------------------------------------- */

.hero-product-scene {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 100%;
    max-width: 1450px;
    height: 420px;
    transform: translateX(-50%);
    pointer-events: none;
    z-index: 15;
}

/* ---------------------------------------------------------
   ARCH
--------------------------------------------------------- */

.hero-arch {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 820px;
    height: 420px;
    transform: translateX(-50%);
    overflow: hidden;
    border-radius: 420px 420px 0 0;
    background: var(--navgrah-primary);
}

/* ---------------------------------------------------------
   FLORAL PATTERN
--------------------------------------------------------- */

.hero-floral-pattern {
    position: absolute;
    z-index: 3;
    pointer-events: none;
}

/* ---------------------------------------------------------
   MAIN PRODUCT ARTWORK
--------------------------------------------------------- */

.hero-main-image {
    position: absolute;
    left: 50%;
    bottom: -2px;

    z-index: 5;

    width: 100%;
    max-width: none;
    max-height: none;

    height: auto;

    transform: translateX(-50%);

    display: block;
    object-fit: contain;

    filter:
        drop-shadow(
            0 20px 24px rgba(0, 0, 0, 0.20)
        );
}

/* ---------------------------------------------------------
   DECORATIVE PETALS
--------------------------------------------------------- */

.navgrah-hero .hero-petals {
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
    overflow: hidden;
}

.navgrah-hero .hero-petal {
    position: absolute;
    top: 0;
    width: 200px;
    max-width: none;
    height: auto;
    display: block;
    opacity: 0.7;
    pointer-events: none;
    object-fit: contain;
}

/* LEFT PETAL GROUP */

.navgrah-hero .hero-petal-left {
	left: clamp(120px, 10vw, 180px);
    transform: none;
    transform-origin: top left;
}

/* RIGHT PETAL GROUP */

.navgrah-hero .hero-petal-right {
	right: clamp(120px, 10vw, 180px);
    transform: none;
    transform-origin: top right;
}


/* ---------------------------------------------------------
   LARGE DESKTOP
--------------------------------------------------------- */

@media (min-width: 1401px) {

    .navgrah-hero .hero-petal {
        /*
         * Keep the same compact size on large screens.
         * Do NOT restore the old 560px override.
         */
        width: 210px;
    }

    .navgrah-hero .hero-petal-left {
        left: 45px;
    }

    .navgrah-hero .hero-petal-right {
        right: 45px;
    }
}


/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 900px) {

    .navgrah-home .hero-petal {
        width: 230px;
    }

    .navgrah-home .hero-petal-left {
        left: 20px;
    }

    .navgrah-home .hero-petal-right {
        right: 20px;
    }
}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 600px) {

    .navgrah-home .hero-petal {
        width: 175px;
    }

    .navgrah-home .hero-petal-left {
        left: 8px;
    }

    .navgrah-home .hero-petal-right {
        right: 8px;
    }
}

/* ---------------------------------------------------------
   HERO CTA
--------------------------------------------------------- */

.hero-product-scene::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -1px;
    width: 178px;
    height: 34px;
    transform: translateX(-50%);
    background: var(--ng-paper);
    border-radius: 0 0 34px 34px;
    z-index: 25;
    pointer-events: none;
}

.navgrah-home .hero-button {
    position: absolute;
    left: 50%;
    top: -26px;
    width: 142px;
    min-width: 142px;
    height: 50px;
    min-height: 50px;
    margin: 0;
    padding: 0 20px;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: #241238;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 3px 0 var(--navgrah-button-purple-dark);
    z-index: 40;
}

.navgrah-home .hero-button:hover,
.navgrah-home .hero-button:focus,
.navgrah-home .hero-button:active {
    transform: translateX(-50%) !important;
}


/* ---------------------------------------------------------
   LARGE DESKTOP
--------------------------------------------------------- */

@media (min-width: 1401px) {

    .hero-petal {
        width: 280px;
    }

    .hero-petal-left {
        left: 0;
    }

    .hero-petal-right {
        right: 0;
    }
}

/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 1000px) {

    .navgrah-hero {
        height: 600px;
        min-height: 600px;
    }

    .navgrah-hero .hero-container {
        min-height: 600px;
    }

    .hero-heading {
        top: 58px;
        width: min(680px, 90vw);
    }

    .hero-heading h1 {
        font-size: 43px;
    }

    .hero-product-scene {
        height: 365px;
    }

    .hero-arch {
        width: 680px;
        height: 365px;
        border-radius: 365px 365px 0 0;
    }

    .hero-main-image {
        width: 600px;
        max-width: calc(100% - 60px);
    }

    .hero-petal {
        width: 210px;
    }

    .hero-petal-left {
        left: 0;
    }

    .hero-petal-right {
        right: 0;
    }

    .hero-button {
        width: 132px;
        min-width: 132px;
        height: 46px;
        min-height: 46px;
        top: -23px;
    }

    .hero-product-scene::before {
        width: 168px;
        height: 31px;
    }

    .hero-side {
        width: 170px;
    }
}

/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 600px) {

    .navgrah-hero {
        height: 560px;
        min-height: 560px;
    }

    .navgrah-hero .hero-container {
        min-height: 560px;
    }

    .hero-heading {
        top: 42px;
        width: 92vw;
    }

    .hero-eyebrow {
        margin-bottom: 11px;
        font-size: 8px;
    }

    .hero-heading h1 {
        font-size: 32px;
        line-height: 1.03;
        letter-spacing: -0.025em;
    }

    .hero-product-scene {
        height: 330px;
    }

    .hero-arch {
        width: 94vw;
        height: 330px;
        border-radius: 47vw 47vw 0 0;
    }

    .hero-main-image {
        width: 90vw;
        max-width: calc(100% - 30px);
    }

    .hero-petal {
        width: 150px;
    }

    .hero-petal-left {
        left: 0;
    }

    .hero-petal-right {
        right: 0;
    }

    .hero-button {
        width: 124px;
        min-width: 124px;
        height: 43px;
        min-height: 43px;
        top: -21px;
        padding: 0 14px;
        font-size: 11px;
    }

    .hero-product-scene::before {
        width: 158px;
        height: 29px;
    }

    .hero-side {
        width: 105px;
    }

    .hero-side-left {
        left: -2%;
    }

    .hero-side-right {
        right: -2%;
    }
}

/* =========================================================
   8. ECOMMERCE PLATFORM SECTION
========================================================= */


.platforms-section {
    padding: 58px 0 72px;

    background: var(--ng-paper);
}

.platforms-heading {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 28px;

    margin-bottom: 42px;
}

.platforms-heading span {
    width: 38px;
    height: 1px;

    background: var(--ng-gold);
}

.platforms-heading p {
    margin: 0;

    color: var(--ng-text);

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

    letter-spacing: 0.14em;

    text-transform: uppercase;
}

.platforms-list {
    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    align-items: center;

    gap: 50px;
}

.platform-item {
    display: flex;

    align-items: center;
    justify-content: center;

    min-height: 44px;
}

.platform-item img {
    width: auto;

    max-width: 150px;
    max-height: 42px;

    object-fit: contain;
}


/* =========================================================
   9. USP / FEATURES SECTION
========================================================= */

.usp-banner-section {
    --usp-background: var(--navgrah-primary, #d98218);

    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 145px 0 155px;
    background: var(--usp-background);
    isolation: isolate;
}


/* =========================================================
   TORN PAPER EDGES
========================================================= */

.usp-banner-section::before,
.usp-banner-section::after {
    content: "";

    position: absolute;
    left: 0;

    width: 100%;
    height: 80px;

    z-index: 5;

    pointer-events: none;

    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
}


/* ---------------------------------------------------------
   TOP TORN EDGE
--------------------------------------------------------- */

.usp-banner-section::before {
    top: 0;

    background-image: url(
        "../images/torn-edges/torn-top.svg"
    );
}


/* ---------------------------------------------------------
   BOTTOM TORN EDGE
--------------------------------------------------------- */

.usp-banner-section::after {
    bottom: 0;

    background-image: url(
        "../images/torn-edges/torn-bottom.svg"
    );
}


/* =========================================================
   DECORATIVE BOTANICAL OVERLAYS
========================================================= */

.usp-decoration {
    position: absolute;

    z-index: 1;

    pointer-events: none;
    user-select: none;

    opacity: 1;
}

.usp-decoration img {
    display: block;

    width: 100%;
    height: auto;
}


/* ---------------------------------------------------------
   LEFT DECORATION
--------------------------------------------------------- */

.usp-decoration-left {
    left: -2px;
    bottom: 20px;

    width: clamp(
        180px,
        20vw,
        360px
    );

    transform: translateX(-22%);
}


/* ---------------------------------------------------------
   RIGHT DECORATION
--------------------------------------------------------- */

.usp-decoration-right {
    right: -2px;
    top: 55px;

    width: clamp(
        180px,
        21vw,
        390px
    );

    transform: translateX(22%);
}


/* =========================================================
   MAIN USP CONTAINER
========================================================= */

.usp-container {
    position: relative;

    z-index: 3;
}


/* =========================================================
   USP GRID
========================================================= */

.usp-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(320px, 0.95fr);

    align-items: center;

    gap: clamp(
        50px,
        7vw,
        130px
    );
}


/* =========================================================
   USP FEATURE LIST
========================================================= */

.usp-list {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        48px
        38px;

    width: 100%;
}


/* =========================================================
   USP ITEM
========================================================= */

.usp-item {
    display: flex;

    align-items: flex-start;

    gap: 18px;

    min-width: 0;
}


/* =========================================================
   USP ICON
========================================================= */

.usp-icon {
    flex: 0 0 58px;

    width: 58px;
    height: 58px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(
        255,
        255,
        255,
        0.35
    );

    border-radius: 50%;

    color: #ffffff;

    font-size: 22px;
    line-height: 1;
}

.usp-icon i {
    display: block;

    color: #ffffff;

    line-height: 1;
}


/* =========================================================
   USP CONTENT
========================================================= */

.usp-content {
    min-width: 0;
}

.usp-content h3 {
    margin:
        0
        0
        10px;

    color: #ffffff;

    font-size: 18px;
    font-weight: 600;

    line-height: 1.25;
}

.usp-content p {
    margin: 0;

    max-width: 250px;

    color: rgba(
        255,
        255,
        255,
        0.72
    );

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   RIGHT VISUAL AREA
========================================================= */

.usp-visual {
    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;

    min-height: 500px;

    z-index: 2;
}


/* =========================================================
   USP IMAGE HOLDER
========================================================= */

.usp-image-holder {
    position: relative;

    width: clamp(
        340px,
        32vw,
        560px
    );

    aspect-ratio: 1 / 1;

    flex: 0 0 auto;

    overflow: hidden;

    border-radius: 50%;

    background:
        rgba(
            255,
            255,
            255,
            0.08
        );

    box-shadow:
        0
        30px
        80px
        rgba(
            0,
            0,
            0,
            0.22
        );
}


/* ---------------------------------------------------------
   USP IMAGE
--------------------------------------------------------- */

.usp-image-holder img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media screen and (min-width: 1401px) {

    .usp-banner-section {
        padding-top: 145px;
        padding-bottom: 155px;
    }

    .usp-grid {
        gap: 90px;
    }

    .usp-list {
        column-gap: 55px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 1000px) {

    .usp-banner-section {
        padding:
            125px
            0
            135px;
    }


    .usp-grid {
        grid-template-columns: 1fr;

        gap: 65px;
    }


    .usp-list {
        max-width: 760px;

        margin: 0 auto;
    }


    .usp-visual {
        min-height: auto;
    }


    .usp-image-holder {
        width: clamp(
            340px,
            55vw,
            500px
        );
    }


    .usp-decoration-left {
        width: 280px;

        bottom: 10px;

        transform: translateX(-18%);
    }


    .usp-decoration-right {
        width: 300px;

        top: 50px;

        transform: translateX(18%);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 700px) {

    .usp-banner-section {
        padding:
            105px
            0
            115px;
    }


    .usp-banner-section::before,
    .usp-banner-section::after {
        height: 34px;
    }


    .usp-grid {
        gap: 50px;
    }


    .usp-list {
        grid-template-columns: 1fr;

        gap: 32px;
    }


    .usp-item {
        gap: 15px;
    }


    .usp-icon {
        flex: 0 0 52px;

        width: 52px;
        height: 52px;

        font-size: 20px;
    }


    .usp-content h3 {
        font-size: 17px;
    }


    .usp-content p {
        max-width: 100%;

        font-size: 13px;

        line-height: 1.65;
    }


    .usp-image-holder {
        width: min(
            78vw,
            420px
        );
    }


    .usp-decoration-left {
        width: 200px;

        bottom: 0;

        transform: translateX(-45%);
    }


    .usp-decoration-right {
        width: 210px;

        top: 45px;

        transform: translateX(45%);
    }

}


/* =========================================================
   10. ZIGZAG FEATURED PRODUCTS
   BENCHMARK / FINAL LAYOUT
========================================================= */

.zigzag-products-section {
    position: relative;

    width: 100%;

    padding:
        85px
        0
        70px;

    background: var(--ng-paper);

    overflow: hidden;
}


/* =========================================================
   INDIVIDUAL PRODUCT ROW
========================================================= */

.zigzag-product {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    align-items: center;

    gap:
        clamp(
            50px,
            7vw,
            100px
        );

    min-height: 440px;

    margin-bottom: 35px;
}


/* Last product should not create unnecessary space */

.zigzag-product:last-child {
    margin-bottom: 0;
}


/* =========================================================
   ALTERNATING ZIGZAG LAYOUT
========================================================= */

.zigzag-product:nth-child(even)
.zigzag-product-image {
    order: 2;
}

.zigzag-product:nth-child(even)
.zigzag-product-content {
    order: 1;

    margin-left: auto;
}


/* =========================================================
   PRODUCT IMAGE AREA
========================================================= */

.zigzag-product-image {
    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;

    min-width: 0;

    min-height: 400px;

    isolation: isolate;
}


/* =========================================================
   DECORATIVE DOT PATTERN
========================================================= */

.zigzag-product-image::before {
    content: "";

    position: absolute;

    top: 50%;
    left: 50%;

    width: 390px;
    height: 360px;

    transform:
        translate(
            -50%,
            -50%
        );

    background-image:
        radial-gradient(
            circle,
            rgba(
                102,
                74,
                118,
                0.32
            )
            1.4px,

            transparent
            1.8px
        );

    background-size:
        14px
        14px;

    opacity: 0.58;

    z-index: -2;

    pointer-events: none;

    -webkit-mask-image:
        radial-gradient(
            ellipse,
            #000 22%,
            rgba(0, 0, 0, 0.7) 55%,
            transparent 82%
        );

    mask-image:
        radial-gradient(
            ellipse,
            #000 22%,
            rgba(0, 0, 0, 0.7) 55%,
            transparent 82%
        );
}


/* =========================================================
   SOFT BACKGROUND CIRCLE
========================================================= */

.zigzag-product-image::after {
    content: "";

    position: absolute;

    top: 50%;
    left: 50%;

    width: 300px;
    height: 300px;

    transform:
        translate(
            -50%,
            -50%
        );

    border-radius: 50%;

    background:
        rgba(
            219,
            229,
            224,
            0.62
        );

    z-index: -3;

    pointer-events: none;
}


/* =========================================================
   ALTERNATE IMAGE DECORATION POSITION
========================================================= */

.zigzag-product:nth-child(even)
.zigzag-product-image::before {
    transform:
        translate(
            -46%,
            -48%
        );
}

.zigzag-product:nth-child(even)
.zigzag-product-image::after {
    transform:
        translate(
            -54%,
            -52%
        );
}


/* =========================================================
   PRODUCT IMAGE LINK
========================================================= */

.zigzag-product-image a {
    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
}


/* =========================================================
   PRODUCT IMAGE
========================================================= */

.product-main-image {
    display: block;

    width:
        min(
            100%,
            350px
        );

    max-height: 400px;

    object-fit: contain;

    transition:
        transform
        0.45s
        ease;
}


/* Very subtle hover only */

.zigzag-product-image:hover
.product-main-image {
    transform:
        scale(1.025);
}


/* =========================================================
   PRODUCT CONTENT
========================================================= */

.zigzag-product-content {
    position: relative;

    z-index: 3;

    width: 100%;

    max-width: 500px;
}


/* =========================================================
   PRODUCT CATEGORY
========================================================= */

.product-category {
    margin:
        0
        0
        12px;

    color:
        var(--ng-muted);

    font-size: 11px;

    font-weight: 500;

    line-height: 1.4;

    letter-spacing:
        0.12em;

    text-transform: uppercase;
}

.product-category a {
    color: inherit;

    text-decoration: none;
}


/* =========================================================
   PRODUCT TITLE
========================================================= */

.zigzag-product-content h2 {
    margin: 0;

    color:
        var(--ng-text);

    font-size:
        clamp(
            35px,
            3.25vw,
            56px
        );

    font-weight: 400;

    line-height: 0.98;

    letter-spacing:
        -0.045em;

    text-transform: uppercase;
}

.zigzag-product-content h2 a {
    color: inherit;

    text-decoration: none;
}


/* =========================================================
   DECORATIVE DIVIDER
========================================================= */

.product-divider {
    position: relative;

    width: 58px;
    height: 2px;

    margin:
        20px
        0
        20px;

    background:
        var(--ng-gold);
}

.product-divider::before,
.product-divider::after {
    content: "";

    position: absolute;

    top: 50%;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background:
        var(--ng-gold);

    transform:
        translateY(-50%);
}

.product-divider::before {
    left: -11px;
}

.product-divider::after {
    right: -11px;
}


/* =========================================================
   PRODUCT DESCRIPTION
========================================================= */

.zigzag-product-description {
    max-width: 460px;

    margin: 0;

    color:
        var(--ng-muted);

    font-size: 16px;

    line-height: 1.75;
}


/* =========================================================
   PRODUCT ACTIONS
========================================================= */

.zigzag-product-actions {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 22px;

    margin-top: 25px;
}


/* =========================================================
   PRODUCT PRICE
========================================================= */

.product-price {
    display: flex;

    align-items: center;

    gap: 7px;

    color:
        var(--ng-text);

    font-size: 19px;

    font-weight: 700;

    line-height: 1;
}

.product-price ins {
    color:
        var(--ng-text);

    text-decoration: none;
}

.product-price del {
    margin-left: 3px;

    color:
        var(--ng-gold);

    font-size: 12px;

    font-weight: 600;

    opacity: 0.85;
}

.product-price del
.woocommerce-Price-amount {
    text-decoration:
        line-through;
}


/* =========================================================
   ZIGZAG PETALS
   PETALS SIT NEAR THE VIEWPORT EDGES,
   NOT BESIDE THE PRODUCT TEXT
========================================================= */

.zigzag-product-petals {
    position: absolute;

    top: 50%;

    width: 150px;

    z-index: 1;
	
	opacity 0.75;

    pointer-events: none;

    transform:
        translateY(-50%);
}

.zigzag-product-petals img {
    display: block;

    width: 100%;
    height: auto;
}


/* ---------------------------------------------------------
   ODD ROW → RIGHT EDGE
--------------------------------------------------------- */

.zigzag-product-petals-right {
    right:
        calc(
            50% - 50vw
        );
}


/* ---------------------------------------------------------
   EVEN ROW → LEFT EDGE
--------------------------------------------------------- */

.zigzag-product-petals-left {
    left:
        calc(
            50% - 50vw
        );
}


/* =========================================================
   EMPTY STATE
========================================================= */

.empty-product-message {
    padding:
        80px
        20px;

    text-align: center;

    color:
        var(--ng-muted);
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media screen and (min-width: 1401px) {

    .zigzag-products-section {
        padding:
            80px
            0
            65px;
    }

    .zigzag-product {
        min-height: 430px;

        gap: 75px;

        margin-bottom: 30px;
    }

    .zigzag-product-image {
        min-height: 390px;
    }

    .product-main-image {
        width:
            min(
                100%,
                360px
            );

        max-height: 390px;
    }

    .zigzag-product-content h2 {
        font-size: 52px;
    }

    .zigzag-product-petals {
        width: 145px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 1000px) {

    .zigzag-products-section {
        padding:
            80px
            0
            60px;
    }

    .zigzag-product {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);

        gap: 45px;

        min-height: 400px;

        margin-bottom: 25px;
    }

    .zigzag-product-image {
        min-height: 360px;
    }

    .product-main-image {
        width:
            min(
                100%,
                310px
            );

        max-height: 350px;
    }

    .zigzag-product-content h2 {
        font-size:
            clamp(
                32px,
                4.5vw,
                46px
            );
    }

    .zigzag-product-description {
        font-size: 13px;
    }

    .zigzag-product-petals {
        width: 115px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 700px) {

    .zigzag-products-section {
        padding:
            70px
            0
            55px;
    }

    .zigzag-product {
        grid-template-columns: 1fr;

        gap: 25px;

        min-height: auto;

        margin-bottom: 75px;
    }

    .zigzag-product:last-child {
        margin-bottom: 0;
    }


    /* Reset zigzag ordering on mobile */

    .zigzag-product:nth-child(even)
    .zigzag-product-image {
        order: 1;
    }

    .zigzag-product:nth-child(even)
    .zigzag-product-content {
        order: 2;

        margin-left: 0;
    }

    .zigzag-product-image {
        min-height: 300px;
    }

    .product-main-image {
        width:
            min(
                100%,
                280px
            );

        max-height: 310px;
    }

    .zigzag-product-image::before {
        width: 300px;
        height: 280px;
    }

    .zigzag-product-image::after {
        width: 240px;
        height: 240px;
    }

    .zigzag-product-content {
        max-width: 100%;
    }

    .zigzag-product-content h2 {
        font-size:
            clamp(
                32px,
                9vw,
                42px
            );
    }

    .zigzag-product-description {
        max-width: 100%;

        font-size: 13px;

        line-height: 1.7;
    }


    /* Keep petals at the viewport edges */

    .zigzag-product-petals {
        width: 90px;
    }

    .zigzag-product-petals-right {
        right:
            calc(
                50% - 50vw
            );
    }

    .zigzag-product-petals-left {
        left:
            calc(
                50% - 50vw
            );
    }
}
/* =========================================================
   11. BRAND VIDEO SECTION
   AUTHORITATIVE MAIN.CSS BLOCK
========================================================= */

.brand-video-section {
    position: relative;

    height: clamp(
        500px,
        50vw,
        720px
    );

    overflow: hidden;

    background: var(--ng-orange, #e28a18);

    isolation: isolate;
}


/* =========================================================
   DECORATIVE BANNER LEAVES
   Temporary top-positioned artwork.
   These can be replaced later without changing the
   section structure.
========================================================= */

.brand-video-section::before,
.brand-video-section::after {
    content: "";

    position: absolute;

    top: 0;

    width: 300px;
    height: 300px;

    background-repeat: no-repeat;
    background-size: contain;

    pointer-events: none;

    z-index: 5;
}


/* ---------------------------------------------------------
   LEFT LEAF
--------------------------------------------------------- */

.brand-video-section::before {
    left: 0;

    background-image:
        url("../images/banner-leaf-left.png");

    background-position:
        left top;
}


/* ---------------------------------------------------------
   RIGHT LEAF
--------------------------------------------------------- */

.brand-video-section::after {
    right: 0;

    background-image:
        url("../images/banner-leaf-right.png");

    background-position:
        right top;
}


/* =========================================================
   VIDEO BACKGROUND
========================================================= */

.brand-video-background {
    position: absolute;

    inset: 0;

    z-index: 1;
}


.brand-video {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   VIDEO OVERLAY
========================================================= */

.brand-video-overlay {
    position: absolute;

    inset: 0;

    background:
        rgba(
            0,
            0,
            0,
            0.00
        );

    z-index: 2;
}


/* =========================================================
   TORN PAPER EDGES
========================================================= */

.brand-video-torn {
    position: absolute;

    left: 0;

    width: 100%;
    height: 72px;

    display: block;

    pointer-events: none;

    z-index: 7;
}


/* ---------------------------------------------------------
   TOP TORN EDGE
--------------------------------------------------------- */

.brand-video-torn-top {
    top: 0;

    object-fit: fill;
}


/* ---------------------------------------------------------
   BOTTOM TORN EDGE
--------------------------------------------------------- */

.brand-video-torn-bottom {
    bottom: 0;

    object-fit: fill;
}


/* =========================================================
   PLAY BUTTON CONTENT
========================================================= */

.brand-video-content {
    position: relative;

    z-index: 10;

    width: 100%;
    height: 100%;

    display: flex;

    align-items: center;
    justify-content: center;
}


/* =========================================================
   PLAY BUTTON
========================================================= */

.video-play-button {
    width: 100px;
    height: 100px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid rgba(
        255,
        255,
        255,
        0.65
    );

    border-radius: 50%;

    background: #000000;

    cursor: pointer;

    transition:
        transform 0.25s ease,
        background 0.25s ease;
}


.video-play-button:hover {
    transform: scale(1.06);

    background: #000000;
}


/* =========================================================
   PLAY ICON
========================================================= */

.play-icon {
    width: 0;
    height: 0;

    margin-left: 7px;

    border-top:
        10px solid transparent;

    border-bottom:
        10px solid transparent;

    border-left:
        16px solid #ffffff;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 900px) {

    .brand-video-torn {
        height: 48px;
    }

    .brand-video-section::before,
    .brand-video-section::after {
        width: 190px;
        height: 190px;
    }

}


/* =========================================================
   12. PRODUCT SPOTLIGHT
========================================================= */

.product-spotlight-section {
    padding: 140px 0;

    background: var(--ng-paper);
}

.product-spotlight {
    display: grid;

    grid-template-columns:
        minmax(0, 0.95fr)
        minmax(0, 1.05fr);

    align-items: center;

    gap: clamp(
        70px,
        11vw,
        180px
    );
}

.spotlight-image {
    position: relative;

    min-height: 620px;

    display: flex;

    align-items: center;
    justify-content: center;
}

.spotlight-image::before {
    content: "";

    position: absolute;

    width: 72%;
    aspect-ratio: 1;

    border-radius: 50%;

    background:
        #dfe6e1;
}

.spotlight-image a {
    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;
}

.spotlight-product-image {
    width: 100%;
    height: 100%;

    max-height: 620px;

    object-fit: contain;
}

.spotlight-content {
    max-width: 580px;
}

.spotlight-content h2 {
    margin: 0;

    font-size: clamp(
        48px,
        5vw,
        78px
    );

    font-weight: 800;

    line-height: 0.98;

    letter-spacing: -0.055em;

    text-transform: uppercase;
}

.spotlight-divider {
    width: 60px;
    height: 2px;

    margin: 26px 0;

    background: var(--ng-dark);
}

.spotlight-description {
    max-width: 540px;

    color: var(--ng-muted);

    font-size: 16px;

    line-height: 1.8;
}

.spotlight-description p {
    margin: 0;
}

.spotlight-actions {
    display: flex;

    align-items: center;

    gap: 28px;

    margin-top: 36px;
}

.spotlight-price {
    color: var(--ng-text);

    font-size: 25px;
    font-weight: 800;
}

.spotlight-price del {
    margin-right: 8px;

    color: var(--ng-muted);

    font-size: 15px;
}

.spotlight-price ins {
    color: var(--ng-gold);

    text-decoration: none;
}


/* =========================================================
   13. PRODUCT CAROUSEL
   FINAL PRODUCT CAROUSEL
   ========================================================= */

.product-carousel-section {
    position: relative;
    width: 100%;
    padding:
        110px
        0
        125px;
    overflow: hidden;
    background:
        var(--navgrah-bg);
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.product-carousel-section .section-heading {
    margin-bottom: 42px;
}


/* =========================================================
   CAROUSEL WRAPPER
   ---------------------------------------------------------
   Permanent side zones keep arrows completely outside
   the product cards.
========================================================= */

.product-carousel-wrapper {
    position: relative;
    width: 100%;
    padding-left: 62px;
    padding-right: 62px;
    overflow: visible;
}


/* =========================================================
   PRODUCT TRACK
========================================================= */

.product-carousel {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 20px;
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    padding:
        18px
        0
        30px;
    scrollbar-width: none;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
}

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


/* =========================================================
   PRODUCT CARD
   ---------------------------------------------------------
   FIVE CARDS ON DESKTOP
   ---------------------------------------------------------
   Flex column structure keeps every card internally
   symmetrical and keeps the action area aligned.
========================================================= */

.carousel-product-card {
    position: relative;

    flex:
        0
        0
        calc(
            (100% - 80px) / 5
        );

    min-width: 0;

    display: flex;
    flex-direction: column;

    padding:
        12px
        12px
        18px;

    box-sizing: border-box;

    background: #ffffff;

    border:
        1px solid
        rgba(29, 31, 35, 0.07);

    box-shadow:
        0
        6px
        22px
        rgba(29, 31, 35, 0.045);

    scroll-snap-align: start;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;

    z-index: 1;
}


/* =========================================================
   PRODUCT CARD HOVER
========================================================= */

.carousel-product-card:hover,
.carousel-product-card.is-active {
    transform:
        translateY(-5px);

    border-color:
        rgba(124, 84, 61, 0.16);

    box-shadow:
        0
        16px
        36px
        rgba(29, 31, 35, 0.11);

    z-index: 10;
}


/* =========================================================
   PRODUCT IMAGE AREA
========================================================= */

.carousel-product-image {
    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;

    aspect-ratio: 1 / 0.90;

    overflow: hidden;

    background:
        #eeeae4;
}


/* =========================================================
   PRODUCT IMAGE
   ---------------------------------------------------------
   88% = approximately 12% smaller than full container.
   CONTAIN prevents cropping and leaking.
========================================================= */

.carousel-product-image-main,
.carousel-product-image img {
    display: block;

    width: 88%;
    height: 88%;

    max-width: 88%;
    max-height: 88%;

    object-fit: contain;

    object-position: center;

    transition:
        transform 0.35s ease;
}


/* =========================================================
   IMAGE HOVER
========================================================= */

.carousel-product-card:hover
.carousel-product-image-main,

.carousel-product-card:hover
.carousel-product-image img {
    transform:
        scale(1.04);
}


/* =========================================================
   PRODUCT CONTENT
   ---------------------------------------------------------
   Content fills remaining card height so the bottom
   action area can remain aligned.
========================================================= */

.carousel-product-content {
    position: relative;

    display: flex;
    flex-direction: column;

    flex: 1 1 auto;

    padding:
        16px
        2px
        0;
}


/* =========================================================
   PRODUCT CATEGORY
   ---------------------------------------------------------
   NOT BOLD — clean/simple appearance.
========================================================= */

.carousel-product-content .product-category {
    margin:
        0
        0
        7px;

    color:
        var(--navgrah-muted);

    font-size: 8px;

    font-weight: 500;

    line-height: 1.2;

    letter-spacing: 0.10em;

    text-transform: uppercase;
}


/* =========================================================
   PRODUCT TITLE
   ---------------------------------------------------------
   EXACTLY TWO LINES
   ---------------------------------------------------------
   Every card reserves the same title height regardless
   of whether the actual product name uses one or two
   lines.
========================================================= */

.carousel-product-content h3 {
    height: 2.36em;
    min-height: 2.36em;

    margin:
        0
        0
        8px;

    font-size: 14px;

    font-weight: 800;

    line-height: 1.18;

    letter-spacing:
        -0.01em;

    overflow: hidden;
}

.carousel-product-content h3 a {
    color:
        var(--navgrah-text,
        var(--navgrah-ink));

    font-weight: 800;

    text-decoration: none;

    transition:
        opacity 0.25s ease;
}

.carousel-product-content h3 a:hover {
    opacity: 0.72;
}


/* =========================================================
   PRODUCT PRICE
   ---------------------------------------------------------
   CENTERED + ORANGE + LARGE + BOLD
========================================================= */

.carousel-price {
    display: flex;

    align-items: center;
    justify-content: center;

    min-height: 25px;

    margin:
        0
        0
        10px;

    color:
        var(--navgrah-cta-orange,
        var(--navgrah-gold));

    font-size: 18px;

    font-weight: 800;

    line-height: 1;

    text-align: center;
}

.carousel-price ins {
    color:
        var(--navgrah-cta-orange,
        var(--navgrah-gold));

    text-decoration: none;

    font-weight: 800;
}

.carousel-price del {
    margin-left: 7px;

    color:
        var(--navgrah-muted);

    font-size: 11px;

    font-weight: 500;

    opacity: 0.75;
}


/* =========================================================
   PRODUCT RATING
========================================================= */

.carousel-rating {
    display: flex;

    align-items: center;

    gap: 5px;

    min-height: 17px;

    margin:
        0;
}

.carousel-rating .star-rating {
    margin: 0 !important;

    font-size: 12px;
}

.carousel-review-count {
    color:
        var(--navgrah-muted);

    font-size: 10px;

    line-height: 1;
}


/* =========================================================
   PRODUCT ACTION AREA
   ---------------------------------------------------------
   Pushed to bottom of every card so all cards align.
========================================================= */

.carousel-product-actions {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    width: 100%;

    min-height: 40px;

    margin-top: auto;

    margin-bottom: 0;
}


/* =========================================================
   ADD TO CART BUTTON
   ---------------------------------------------------------
   ALWAYS VISIBLE
   PURPLE CAPSULE
========================================================= */

.carousel-cart-button {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    gap: 7px;

    width: auto;

    min-width: 112px;

    height: 40px;

    padding:
        0
        17px
        !important;

    flex:
        0
        0
        auto;

    box-sizing: border-box;

    border:
        1px solid
        var(--navgrah-button-purple)
        !important;

    border-radius:
        999px
        !important;

    background:
        var(--navgrah-button-purple)
        !important;

    color:
        #ffffff
        !important;

    font-size:
        10px
        !important;

    font-weight:
        800
        !important;

    line-height: 1;

    letter-spacing:
        0.06em;

    text-transform:
        uppercase;

    white-space: nowrap;

    cursor: pointer;

    box-shadow:
        none;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


/* =========================================================
   CART ICON
========================================================= */

.carousel-cart-icon {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    flex:
        0
        0
        auto;

    color:
        #ffffff
        !important;

    font-size: 13px;

    line-height: 1;
}


/* =========================================================
   CART LABEL
========================================================= */

.carousel-cart-label {
    display: inline-block;

    color:
        #ffffff
        !important;

    font-size: 9px;

    font-weight: 800;

    line-height: 1;

    letter-spacing:
        0.06em;

    text-transform:
        uppercase;
}


/* =========================================================
   ADD TO CART HOVER
========================================================= */

.carousel-cart-button:hover,
.carousel-cart-button:focus {
    background:
        var(--navgrah-button-purple-dark)
        !important;

    border-color:
        var(--navgrah-button-purple-dark)
        !important;

    color:
        #ffffff
        !important;

    transform:
        translateY(-1px);

    box-shadow:
        0
        6px
        14px
        rgba(0, 0, 0, 0.12);
}


/* =========================================================
   CART ADDED STATE
========================================================= */

.carousel-cart-button.is-added {
    background:
        var(--navgrah-button-purple)
        !important;

    border-color:
        var(--navgrah-button-purple)
        !important;

    color:
        #ffffff
        !important;
}


/* =========================================================
   BUY NOW BUTTON
   ---------------------------------------------------------
   HIDDEN BY DEFAULT
========================================================= */

.carousel-buy-now {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 0;

    min-width: 0;

    height: 40px;

    padding: 0;

    box-sizing: border-box;

    border:
        1px solid
        var(--navgrah-cta-orange);

    border-radius:
        999px;

    background:
        var(--navgrah-cta-orange);

    color:
        #ffffff;

    font-size: 10px;

    font-weight: 800;

    line-height: 1;

    letter-spacing:
        0.06em;

    text-transform:
        uppercase;

    white-space: nowrap;

    cursor: pointer;

    opacity: 0;

    visibility: hidden;

    overflow: hidden;

    transform:
        translateX(-6px);

    pointer-events: none;

    transition:
        width 0.3s ease,
        min-width 0.3s ease,
        padding 0.3s ease,
        opacity 0.25s ease,
        visibility 0.25s ease,
        transform 0.3s ease,
        background 0.25s ease;
}


/* =========================================================
   BUY NOW — CARD HOVER
========================================================= */

.carousel-product-card:hover
.carousel-buy-now,

.carousel-product-card.is-active
.carousel-buy-now {
    width: 90px;

    min-width: 90px;

    padding:
        0
        15px;

    opacity: 1;

    visibility: visible;

    transform:
        translateX(0);

    pointer-events: auto;
}


/* =========================================================
   BUY NOW HOVER
========================================================= */

.carousel-buy-now:hover,
.carousel-buy-now:focus {
    background:
        var(--navgrah-primary-dark,
        var(--navgrah-cta-orange));

    border-color:
        var(--navgrah-primary-dark,
        var(--navgrah-cta-orange));

    color:
        #ffffff;

    transform:
        translateY(-1px);
}


/* =========================================================
   AJAX LOADING
========================================================= */

.carousel-product-card.is-loading {
    pointer-events: none;
}

.carousel-product-card.is-loading
.carousel-cart-button,

.carousel-product-card.is-loading
.carousel-buy-now {
    opacity: 0.55;
}


/* =========================================================
   SLIDER ARROWS
   ---------------------------------------------------------
   OUTSIDE PRODUCT CARDS
========================================================= */

.product-slider-arrow {
    position: absolute;

    top: 50%;

    z-index: 100;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    margin: 0;
    padding: 0;

    box-sizing: border-box;

    border:
        1px solid
        var(--navgrah-cta-orange);

    border-radius: 50%;

    background:
        var(--navgrah-cta-orange);

    color:
        #ffffff;

    font-size: 19px;

    line-height: 1;

    box-shadow:
        0
        7px
        20px
        rgba(0, 0, 0, 0.12);

    transform:
        translateY(-50%);

    cursor: pointer;

    pointer-events: auto;

    transition:
        transform 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


/* =========================================================
   ARROW POSITIONS
========================================================= */

.product-slider-prev {
    left: 7px;
}

.product-slider-next {
    right: 7px;
}


/* =========================================================
   ARROW HOVER
========================================================= */

.product-slider-arrow:hover,
.product-slider-arrow:focus {
    background:
        var(--navgrah-cta-orange);

    border-color:
        var(--navgrah-cta-orange);

    color:
        #ffffff;

    transform:
        translateY(-50%)
        scale(1.06);

    box-shadow:
        0
        9px
        24px
        rgba(0, 0, 0, 0.16);
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 1100px) {

    .product-carousel-wrapper {
        padding-left: 56px;
        padding-right: 56px;
    }

    .carousel-product-card {
        flex:
            0
            0
            calc(
                (100% - 40px) / 3
            );
    }

    .product-slider-prev {
        left: 5px;
    }

    .product-slider-next {
        right: 5px;
    }

}


/* =========================================================
   MOBILE
   <= 800px
========================================================= */

@media screen and (max-width: 800px) {

    .product-carousel-section {
        padding:
            65px
            0
            75px;
    }


    .product-carousel-section .section-heading {
        margin-bottom: 26px;
    }


    /* -----------------------------------------------------
       MOBILE WRAPPER
    ----------------------------------------------------- */

    .product-carousel-wrapper {
        padding:
            0;

        width: 100%;
    }


    /* -----------------------------------------------------
       MOBILE TRACK
    ----------------------------------------------------- */

    .product-carousel {
        gap: 14px;

        width: 100%;

        padding:
            10px
            5px
            22px;

        flex-wrap: nowrap;

        scroll-snap-type:
            x mandatory;
    }


    /* -----------------------------------------------------
       MOBILE CARD
    ----------------------------------------------------- */

    .carousel-product-card {
        flex:
            0
            0
            calc(
                (100% - 14px) / 2
            );

        display: flex;
        flex-direction: column;

        padding:
            10px
            10px
            15px;

        transform: none !important;
    }


    .carousel-product-card:hover,
    .carousel-product-card.is-active {
        transform: none !important;

        box-shadow:
            0
            5px
            20px
            rgba(29, 31, 35, 0.04);
    }


    /* -----------------------------------------------------
       MOBILE IMAGE
    ----------------------------------------------------- */

    .carousel-product-image {
        aspect-ratio:
            0.92;
    }


    .carousel-product-image-main,
    .carousel-product-image img {
        width: 78%;

        height: 78%;

        max-width: 78%;

        max-height: 78%;

        transform: none;
    }


    .carousel-product-card:hover
    .carousel-product-image-main,

    .carousel-product-card:hover
    .carousel-product-image img {
        transform: none;
    }


    /* -----------------------------------------------------
       MOBILE CONTENT
    ----------------------------------------------------- */

    .carousel-product-content {
        padding:
            13px
            2px
            0;

        flex: 1 1 auto;
    }


    .carousel-product-content .product-category {
        font-size: 8px;

        font-weight: 500;
    }


    /* -----------------------------------------------------
       MOBILE TITLE — EXACTLY TWO LINES
    ----------------------------------------------------- */

    .carousel-product-content h3 {
        height: 2.36em;
        min-height: 2.36em;

        font-size: 13px;

        font-weight: 800;

        line-height: 1.18;

        overflow: hidden;
    }


    .carousel-price {
        font-size: 16px;

        text-align: center;
    }


    /* -----------------------------------------------------
       MOBILE ACTIONS
       ADD TO CART ONLY
    ----------------------------------------------------- */

    .carousel-product-actions {
        justify-content: center;

        width: 100%;

        min-height: 40px;

        margin-top: auto;

        gap: 0;
    }


    .carousel-cart-button {
        min-width: 118px;

        height: 40px;

        padding:
            0
            17px
            !important;
    }


    .carousel-cart-icon {
        font-size: 14px;
    }


    .carousel-cart-label {
        font-size: 9px;
    }


    /* -----------------------------------------------------
       BUY NOW DISABLED ON MOBILE
    ----------------------------------------------------- */

    .carousel-buy-now {
        display: none !important;
    }


    /* -----------------------------------------------------
       ARROWS HIDDEN ON MOBILE
    ----------------------------------------------------- */

    .product-slider-arrow {
        display: none !important;
    }

}


/* =========================================================
   SMALL PHONES
========================================================= */

@media screen and (max-width: 600px) {

    .carousel-product-card {
        flex:
            0
            0
            78vw;
    }


    .carousel-product-image {
        aspect-ratio:
            0.95;
    }


    .carousel-product-image-main,
    .carousel-product-image img {
        width: 78%;

        height: 78%;

        max-width: 78%;

        max-height: 78%;
    }


    .carousel-product-content h3 {
        height: 2.36em;
        min-height: 2.36em;

        font-size: 14px;
    }


    .carousel-price {
        font-size: 16px;
    }


    .carousel-product-actions {
        justify-content: center;
    }


    .carousel-cart-button {
        min-width: 120px;
    }

}


/* =========================================================
   VERY SMALL PHONES
========================================================= */

@media screen and (max-width: 380px) {

    .carousel-product-card {
        flex:
            0
            0
            84vw;
    }


    .carousel-product-content h3 {
        height: 2.36em;
        min-height: 2.36em;
    }


    .carousel-cart-button {
        min-width: 112px;

        padding-left:
            14px
            !important;

        padding-right:
            14px
            !important;
    }


    .carousel-cart-label {
        font-size: 8px;
    }

}

/* =========================================================
16. WHY WE CHOOSE THIS FORMULA
========================================================= */

.custom-cta-section {
    position: relative;
    width: 100%;
    min-height: 680px;

    background: var(--navgrah-primary);

    overflow: hidden;
    color: #ffffff;

    display: flex;
    align-items: center;

    padding: 115px 0 105px;

    box-sizing: border-box;
}


/* ---------------------------------------------------------
TORN PAPER EDGES
--------------------------------------------------------- */

.custom-cta-torn {
    position: absolute;

    left: 0;

    width: 100%;
    height: auto;

    display: block;

    z-index: 5;

    pointer-events: none;
}

.custom-cta-torn-top {
    top: -1px;
}

.custom-cta-torn-bottom {
    bottom: -1px;
}


/* ---------------------------------------------------------
DECORATIVE BOTANICAL / PETAL ELEMENTS
--------------------------------------------------------- */

.custom-cta-decoration {
    position: absolute;

    z-index: 1;

    pointer-events: none;

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.custom-cta-decoration-left {
    left: -20px;
    bottom: 25px;

    width: 280px;
    height: 430px;

    background-image: url("../images/banner-leaf-left.png");
}

.custom-cta-decoration-right {
    right: -20px;
    top: 25px;

    width: 300px;
    height: 430px;

    background-image: url("../images/banner-leaf-right.png");
}


/* ---------------------------------------------------------
MAIN CONTAINER
--------------------------------------------------------- */

.custom-cta-container {
    position: relative;

    z-index: 3;

    width: 100%;
    max-width: 1180px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(360px, 0.9fr);

    align-items: center;

    column-gap: 70px;

    min-height: 460px;
}


/* ---------------------------------------------------------
CONTENT
--------------------------------------------------------- */

.custom-cta-content {
    position: relative;

    z-index: 4;

    max-width: 570px;
}

.custom-cta-content .eyebrow {
    margin: 0 0 12px;

    color: var(--navgrah-gold);

    font-size: 11px;
    font-weight: 600;

    letter-spacing: 2px;

    text-transform: uppercase;
}

.custom-cta-content h2 {
    margin: 0 0 28px;

    color: #ffffff;

    font-size: clamp(
        42px,
        4vw,
        62px
    );

    line-height: 0.96;

    font-weight: 700;

    letter-spacing: -1.5px;

    text-transform: uppercase;
}

.custom-cta-content h2 span {
    display: block;
}


/* ---------------------------------------------------------
FORMULA LIST
--------------------------------------------------------- */

.custom-cta-list {
    list-style: none;

    margin: 0 0 30px;

    padding: 0;
}

.custom-cta-list li {
    position: relative;

    margin: 0 0 17px;

    padding-left: 24px;

    color: #ffffff;

    font-size: 14px;

    line-height: 1.5;
}

.custom-cta-list li::before {
    content: "›";

    position: absolute;

    left: 0;
    top: -1px;

    color: var(--navgrah-gold);

    font-size: 23px;

    line-height: 1;

    font-weight: 700;
}


/* ---------------------------------------------------------
KNOW MORE BUTTON
--------------------------------------------------------- */

.custom-cta-section .custom-cta-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 136px;
    min-height: 46px;

    padding: 12px 24px;

    border: none;
    border-radius: 999px;

    background-color: #241238 !important;
    color: #ffffff !important;

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

    line-height: 1;

    text-decoration: none;

    cursor: pointer;

    transition:
        transform 0.25s ease,
        background-color 0.25s ease,
        box-shadow 0.25s ease;
}

.custom-cta-section .custom-cta-button:hover {
    background-color: #10182b !important;
    color: #ffffff !important;

    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(0, 0, 0, 0.16);
}

.custom-cta-section .custom-cta-button:focus,
.custom-cta-section .custom-cta-button:active,
.custom-cta-section .custom-cta-button:focus-visible {
    background-color: #7446b6 !important;
    color: #ffffff !important;
}

.custom-cta-section .custom-cta-button:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
}


/* ---------------------------------------------------------
OUDH PRODUCT IMAGE AREA
--------------------------------------------------------- */

.custom-cta-image {
    position: relative;

    z-index: 4;

    width: 100%;

    display: flex;

    align-items: center;
    justify-content: center;
}


/* ---------------------------------------------------------
SOFT PRODUCT HIGHLIGHT

Creates depth behind the Oudh image without covering it.
--------------------------------------------------------- */

.custom-cta-image::before {
    content: "";

    position: absolute;

    left: 50%;
    top: 50%;

    width: 500px;
    height: 500px;

    transform: translate(-50%, -50%);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255, 244, 218, 0.32) 0%,
            rgba(255, 231, 190, 0.20) 38%,
            rgba(255, 210, 145, 0.08) 62%,
            rgba(255, 210, 145, 0) 76%
        );

    filter: blur(2px);

    z-index: -1;

    pointer-events: none;
}


/* Slight secondary glow directly behind product */

.custom-cta-image::after {
    content: "";

    position: absolute;

    left: 50%;
    top: 50%;

    width: 350px;
    height: 350px;

    transform: translate(-50%, -50%);

    border-radius: 50%;

    background:
        rgba(255, 247, 230, 0.08);

    box-shadow:
        0 18px 55px rgba(0, 0, 0, 0.08);

    z-index: -1;

    pointer-events: none;
}


.custom-cta-image img {
    position: relative;

    z-index: 2;

    display: block;

    width: min(100%, 410px);

    height: auto;

    max-height: 390px;

    object-fit: contain;

    filter:
        drop-shadow(
            0 18px 20px rgba(0, 0, 0, 0.12)
        );
}


/* ---------------------------------------------------------
TABLET
--------------------------------------------------------- */

@media (max-width: 1100px) {

    .custom-cta-section {
        min-height: 590px;

        padding: 90px 0 85px;
    }

    .custom-cta-container {
        max-width: 900px;

        grid-template-columns:
            minmax(0, 1fr)
            minmax(300px, 0.8fr);

        column-gap: 45px;
    }

    .custom-cta-content h2 {
        font-size: clamp(
            38px,
            5vw,
            54px
        );
    }

    .custom-cta-image img {
        width: min(100%, 360px);

        max-height: 350px;
    }

    .custom-cta-image::before {
        width: 430px;
        height: 430px;
    }

    .custom-cta-image::after {
        width: 310px;
        height: 310px;
    }

    .custom-cta-decoration-left {
        width: 220px;
        height: 360px;

        left: -35px;
    }

    .custom-cta-decoration-right {
        width: 240px;
        height: 360px;

        right: -35px;
    }
}


/* ---------------------------------------------------------
MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {

    .custom-cta-section {
        min-height: auto;

        padding: 85px 0 85px;
    }

    .custom-cta-container {
        width: calc(100% - 40px);

        max-width: 520px;

        margin: 0 auto;

        display: flex;

        flex-direction: column;

        align-items: center;

        gap: 35px;

        min-height: auto;

        text-align: center;
    }

    .custom-cta-content {
        max-width: 100%;
    }

    .custom-cta-content .eyebrow {
        margin-bottom: 10px;
    }

    .custom-cta-content h2 {
        margin-bottom: 25px;

        font-size: clamp(
            34px,
            9vw,
            46px
        );

        line-height: 0.98;

        letter-spacing: -1px;
    }

    .custom-cta-list {
        text-align: left;

        margin-bottom: 26px;
    }

    .custom-cta-list li {
        margin-bottom: 13px;

        padding-left: 22px;

        font-size: 13px;
    }

    .custom-cta-button {
        min-height: 44px;

        padding: 11px 23px;
    }

    .custom-cta-image {
        width: 100%;

        order: 2;
    }

    .custom-cta-image img {
        width: min(82vw, 330px);

        max-height: 320px;
    }

    .custom-cta-image::before {
        width: 390px;
        height: 390px;
    }

    .custom-cta-image::after {
        width: 280px;
        height: 280px;
    }

    .custom-cta-decoration-left {
        width: 150px;
        height: 260px;

        left: -65px;
        bottom: 20px;

        opacity: 0.85;
    }

    .custom-cta-decoration-right {
        width: 160px;
        height: 270px;

        right: -65px;
        top: 20px;

        opacity: 0.85;
    }
}


/* ---------------------------------------------------------
SMALL MOBILE
--------------------------------------------------------- */

@media (max-width: 480px) {

    .custom-cta-section {
        padding: 75px 0 75px;
    }

    .custom-cta-container {
        width: calc(100% - 30px);

        gap: 30px;
    }

    .custom-cta-content h2 {
        font-size: 34px;
    }

    .custom-cta-list li {
        font-size: 12px;

        margin-bottom: 12px;
    }

    .custom-cta-image img {
        width: min(78vw, 290px);
    }

    .custom-cta-image::before {
        width: 330px;
        height: 330px;
    }

    .custom-cta-image::after {
        width: 240px;
        height: 240px;
    }

    .custom-cta-decoration-left {
        width: 125px;
        height: 220px;

        left: -60px;
    }

    .custom-cta-decoration-right {
        width: 135px;
        height: 230px;

        right: -60px;
    }
}


/* =========================================================
   15. LATEST NEWS + FAQ
========================================================= */

.news-faq-section {
    position: relative;

    padding: 125px 0 150px;

    background: var(--ng-paper);

    overflow: hidden;
}

.news-faq-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: clamp(65px, 8vw, 125px);

    align-items: start;
}


/* =========================================================
   COLUMN
========================================================= */

.latest-news-column,
.faq-column {
    min-width: 0;
}


/* =========================================================
   EYEBROW
========================================================= */

.news-faq-section .eyebrow {
    margin: 0 0 14px;

    color: var(--ng-gold);

    font-size: 11px;
    font-weight: 600;

    letter-spacing: 2px;

    line-height: 1.2;

    text-transform: uppercase;
}


/* =========================================================
   HEADINGS
========================================================= */

.latest-news-column h2,
.faq-column h2 {
    margin: 0 0 42px;

    color: var(--ng-text);

    font-size: clamp(
        42px,
        4vw,
        64px
    );

    font-weight: 500;

    line-height: 0.98;

    letter-spacing: -0.045em;

    text-transform: uppercase;
}


/* =========================================================
   LATEST NEWS
========================================================= */

.latest-news-list {
    display: grid;

    gap: 0;
}

.latest-news-item {
    display: grid;

    grid-template-columns:
        135px
        minmax(0, 1fr);

    gap: 25px;

    padding: 0 0 25px;

    margin: 0 0 25px;

    border-bottom:
        1px
        solid
        var(--ng-line);
}

.latest-news-item:last-child {
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   NEWS IMAGE
--------------------------------------------------------- */

.latest-news-image {
    display: block;

    width: 135px;
    height: 110px;

    overflow: hidden;

    background: #e9e6df;
}

.latest-news-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.4s ease;
}

.latest-news-item:hover
.latest-news-image img {
    transform: scale(1.045);
}


/* ---------------------------------------------------------
   NEWS CONTENT
--------------------------------------------------------- */

.latest-news-content {
    min-width: 0;
}

.latest-news-meta {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin: 2px 0 10px;

    color: var(--ng-muted);

    font-size: 10px;

    line-height: 1.3;

    letter-spacing: 0.08em;

    text-transform: uppercase;
}

.latest-news-content h3 {
    margin: 0 0 17px;

    font-size: 20px;

    font-weight: 500;

    line-height: 1.25;

    text-transform: uppercase;
}

.latest-news-content h3 a {
    color: var(--ng-text);

    opacity: 0.72;

    transition:
        opacity 0.25s ease,
        color 0.25s ease;
}

.latest-news-content h3 a:hover {
    color: var(--ng-gold);

    opacity: 1;
}


/* ---------------------------------------------------------
   NEWS FOOTER
--------------------------------------------------------- */

.latest-news-footer {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 18px;

    color: var(--ng-muted);

    font-size: 11px;

    line-height: 1.3;
}

.latest-news-footer a {
    position: relative;

    color: var(--ng-text);

    font-weight: 600;

    text-decoration: none;

    transition:
        color 0.25s ease;
}

.latest-news-footer a:hover {
    color: var(--ng-gold);
}


/* =========================================================
   FAQ
========================================================= */

.faq-list {
    border-top:
        1px
        solid
        var(--ng-line);
}

.faq-item {
    border-bottom:
        1px
        solid
        var(--ng-line);
}

.faq-question {
    width: 100%;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 25px;

    padding: 23px 0;

    border: 0;

    background: transparent;

    color: var(--ng-text);

    text-align: left;

    font-family: inherit;

    font-size: 15px;

    font-weight: 500;

    line-height: 1.35;

    text-transform: uppercase;

    cursor: pointer;

    transition:
        color 0.25s ease;
}

.faq-question:hover {
    color: var(--ng-gold);
}

.faq-question span:first-child {
    flex: 1;
}


/* ---------------------------------------------------------
   FAQ ICON
--------------------------------------------------------- */

.faq-icon {
    width: 22px;
    height: 22px;

    display: flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 22px;

    border:
        1px
        solid
        var(--ng-text);

    border-radius: 50%;

    color: var(--ng-text);

    font-size: 17px;

    font-weight: 300;

    line-height: 1;

    transition:
        transform 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease;
}

.faq-question:hover .faq-icon {
    border-color: var(--ng-gold);

    color: var(--ng-gold);
}


/* =========================================================
   FAQ ANSWER
========================================================= */

.faq-answer {
    display: none;

    max-width: 90%;

    padding:
        0
        42px
        24px
        0;
}

.faq-answer p {
    margin: 0;

    color: var(--ng-muted);

    font-size: 14px;

    line-height: 1.7;
}


/* ---------------------------------------------------------
   SUPPORT BOTH POSSIBLE JS STATES
--------------------------------------------------------- */

.faq-item.is-open .faq-answer,
.faq-item.is-active .faq-answer {
    display: block;
}

.faq-item.is-open .faq-icon,
.faq-item.is-active .faq-icon {
    background: var(--ng-gold);

    border-color: var(--ng-gold);

    color: #ffffff;

    transform: rotate(45deg);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .news-faq-section {
        padding: 105px 0 120px;
    }

    .news-faq-grid {
        gap: 55px;
    }

    .latest-news-column h2,
    .faq-column h2 {
        font-size: clamp(
            38px,
            5vw,
            54px
        );
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .news-faq-section {
        padding: 85px 0 95px;
    }

    .news-faq-grid {
        display: flex;

        flex-direction: column;

        gap: 80px;
    }

    .latest-news-column,
    .faq-column {
        width: 100%;
    }

    .latest-news-column h2,
    .faq-column h2 {
        margin-bottom: 32px;

        font-size: clamp(
            36px,
            10vw,
            48px
        );
    }

    .latest-news-item {
        grid-template-columns:
            105px
            minmax(0, 1fr);

        gap: 18px;

        padding-bottom: 20px;

        margin-bottom: 20px;
    }

    .latest-news-image {
        width: 105px;
        height: 90px;
    }

    .latest-news-meta {
        display: block;

        margin-bottom: 8px;
    }

    .latest-news-meta span {
        display: inline-block;

        margin-right: 10px;
    }

    .latest-news-content h3 {
        font-size: 17px;

        margin-bottom: 14px;
    }

    .latest-news-footer {
        font-size: 10px;
    }

    .faq-question {
        padding: 20px 0;

        font-size: 14px;
    }

    .faq-answer {
        max-width: 92%;

        padding-bottom: 20px;
    }

    .faq-answer p {
        font-size: 13px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .news-faq-section {
        padding: 75px 0 85px;
    }

    .news-faq-grid {
        gap: 65px;
    }

    .latest-news-item {
        grid-template-columns:
            90px
            minmax(0, 1fr);

        gap: 15px;
    }

    .latest-news-image {
        width: 90px;
        height: 80px;
    }

    .latest-news-content h3 {
        font-size: 15px;
    }

    .faq-question {
        font-size: 13px;
    }

    .faq-icon {
        width: 21px;
        height: 21px;

        flex-basis: 21px;
    }

}



/* =========================================================
   18. EMPTY STATES
========================================================= */

.empty-product-message {
    padding: 80px 20px;

    text-align: center;

    border:
        1px
        dashed
        var(--ng-line);
}

.empty-product-message p {
    margin: 0;
}


/* =========================================================
   HERO RESPONSIVE SYSTEM
   =========================================================

   Structure:
   - Arch and product scene share the same visual height.
   - CTA remains attached to the arch.
   - Main artwork scales with the complete arch.
   - No !important declarations.
   - Responsive sizing is controlled entirely here.
   ========================================================= */


/* ---------------------------------------------------------
   LARGE DESKTOP — 1401px+
--------------------------------------------------------- */

@media screen and (min-width: 1401px) {

    .navgrah-home .navgrah-hero,
    .navgrah-home .navgrah-hero .hero-container {
        min-height: 700px;
    }

    .navgrah-home .hero-product-scene {
        height: 395px;
    }

    .navgrah-home .hero-arch {
        width: 790px;
        height: 395px;
        border-radius: 395px 395px 0 0;
    }

    /*
     * CENTRAL ARTWORK
     * Fills the complete arch width while
     * preserving the original image proportions.
     */
    .navgrah-home .hero-main-image {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        object-fit: contain;
        object-position: center bottom;
    }

    .navgrah-home .hero-button {
        top: -26px;
    }

    .navgrah-home .hero-product-scene::before {
        top: -1px;
    }
}


/* ---------------------------------------------------------
   DESKTOP / LARGE LAPTOP — 1101px to 1400px
--------------------------------------------------------- */

@media screen and (min-width: 1101px) and (max-width: 1400px) {

    .navgrah-home .navgrah-hero,
    .navgrah-home .navgrah-hero .hero-container {
        min-height: 670px;
    }

    /*
     * ARCH
     */
    .navgrah-home .hero-arch {
        width: min(790px, 62vw);
        height: min(395px, 31vw);

        border-radius:
            min(395px, 31vw)
            min(395px, 31vw)
            0
            0;
    }

    /*
     * PRODUCT SCENE MATCHES ARCH HEIGHT
     */
    .navgrah-home .hero-product-scene {
        height: min(395px, 31vw);
    }

    /*
     * CENTRAL ARTWORK
     *
     * Instead of an arbitrary 34vw / 425px limit,
     * the artwork now occupies the complete scene.
     */
    .navgrah-home .hero-main-image {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        object-fit: contain;
        object-position: center bottom;
    }

    .navgrah-home .hero-button {
        top: -26px;
    }

    .navgrah-home .hero-product-scene::before {
        top: -1px;
    }

    .navgrah-home .hero-side {
        width: min(220px, 19vw);
    }
}


/* ---------------------------------------------------------
   TABLET — 901px to 1100px
--------------------------------------------------------- */

@media screen and (min-width: 901px) and (max-width: 1100px) {

    .navgrah-home .navgrah-hero,
    .navgrah-home .navgrah-hero .hero-container {
        min-height: 625px;
    }

    /*
     * ARCH
     */
    .navgrah-home .hero-arch {
        width: min(760px, 88vw);
        height: min(380px, 44vw);

        border-radius:
            min(380px, 44vw)
            min(380px, 44vw)
            0
            0;
    }

    /*
     * SCENE = ARCH HEIGHT
     */
    .navgrah-home .hero-product-scene {
        height: min(380px, 44vw);
    }

    /*
     * CENTRAL ARTWORK
     *
     * Full scene width and height.
     */
    .navgrah-home .hero-main-image {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        object-fit: contain;
        object-position: center bottom;
    }

    .navgrah-home .hero-side {
        width: min(185px, 18vw);
    }

    .navgrah-home .hero-button {
        top: -23px;
    }

    .navgrah-home .hero-product-scene::before {
        top: -1px;
    }
}


/* ---------------------------------------------------------
   SMALL TABLET — 601px to 900px
--------------------------------------------------------- */

@media screen and (min-width: 601px) and (max-width: 900px) {

    .navgrah-home .navgrah-hero,
    .navgrah-home .navgrah-hero .hero-container {
        min-height: 560px;
    }

    /*
     * WIDE ARCH
     */
    .navgrah-home .hero-arch {
        width: 90vw;
        height: 45vw;

        border-radius:
            45vw
            45vw
            0
            0;
    }

    /*
     * SCENE = ARCH HEIGHT
     */
    .navgrah-home .hero-product-scene {
        height: 45vw;
    }

    /*
     * CENTRAL ARTWORK
     *
     * No more 68vw restriction.
     * The artwork follows the entire scene.
     */
    .navgrah-home .hero-main-image {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        object-fit: contain;
        object-position: center bottom;
    }

    .navgrah-home .hero-side {
        width: min(155px, 18vw);
    }

    .navgrah-home .hero-button {
        top: -22px;
    }

    .navgrah-home .hero-product-scene::before {
        top: -1px;
    }
}


/* ---------------------------------------------------------
   MOBILE — 481px to 600px
--------------------------------------------------------- */

@media screen and (min-width: 481px) and (max-width: 600px) {

    .navgrah-home .navgrah-hero,
    .navgrah-home .navgrah-hero .hero-container {
        min-height: 480px;
    }

    /*
     * OVERSIZED ARCH
     */
    .navgrah-home .hero-arch {
        width: 120vw;
        height: 60vw;

        border-radius:
            60vw
            60vw
            0
            0;
    }

    /*
     * SCENE = ARCH HEIGHT
     */
    .navgrah-home .hero-product-scene {
        height: 60vw;
    }

    /*
     * CENTRAL ARTWORK
     */
    .navgrah-home .hero-main-image {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        object-fit: contain;
        object-position: center bottom;
    }

    .navgrah-home .hero-side {
        width: 105px;
        bottom: 4px;
    }

    .navgrah-home .hero-button {
        top: -21px;
        width: 124px;
        min-width: 124px;
        height: 43px;
        min-height: 43px;
        padding: 0 14px;
        font-size: 11px;
    }

    .navgrah-home .hero-product-scene::before {
        top: -1px;
        width: 158px;
        height: 36px;
    }
}


/* ---------------------------------------------------------
   SMALL MOBILE — 381px to 480px
--------------------------------------------------------- */

@media screen and (min-width: 381px) and (max-width: 480px) {

    .navgrah-home .navgrah-hero,
    .navgrah-home .navgrah-hero .hero-container {
        min-height: 450px;
    }

    /*
     * OVERSIZED ARCH
     */
    .navgrah-home .hero-arch {
        width: 120vw;
        height: 60vw;

        border-radius:
            60vw
            60vw
            0
            0;
    }

    .navgrah-home .hero-product-scene {
        height: 60vw;
    }

    /*
     * CENTRAL ARTWORK
     */
    .navgrah-home .hero-main-image {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        object-fit: contain;
        object-position: center bottom;
    }

    .navgrah-home .hero-button {
        top: -20px;
        width: 120px;
        min-width: 120px;
        height: 42px;
        min-height: 42px;
        font-size: 10px;
    }

    .navgrah-home .hero-product-scene::before {
        width: 154px;
        height: 28px;
    }

    .navgrah-home .hero-side {
        width: 88px;
    }
}

@media screen and (max-width: 600px) {

    .navgrah-home .hero-product-scene::before {
        top: 100px !important;
    }

}

/* ---------------------------------------------------------
   VERY SMALL MOBILE — 380px and below
--------------------------------------------------------- */

@media screen and (max-width: 380px) {

    .navgrah-home .navgrah-hero,
    .navgrah-home .navgrah-hero .hero-container {
        min-height: 410px;
    }

    /*
     * KEEP ARCH BROAD
     */
    .navgrah-home .hero-arch {
        width: 120vw;
        height: 60vw;

        border-radius:
            60vw
            60vw
            0
            0;
    }

    .navgrah-home .hero-product-scene {
        height: 60vw;
    }

    /*
     * CENTRAL ARTWORK
     */
    .navgrah-home .hero-main-image {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        object-fit: contain;
        object-position: center bottom;
    }

    .navgrah-home .hero-button {
        top: -19px;
        width: 116px;
        min-width: 116px;
        height: 40px;
        min-height: 40px;
        padding: 0 12px;
        font-size: 10px;
    }

    .navgrah-home .hero-product-scene::before {
        width: 150px;
        height: 27px;
    }

    .navgrah-home .hero-side {
        width: 78px;
    }
}


/* =========================================================
   VIEWPORT-EDGE PETALS
   BELOW 1000px
   ========================================================= */

@media screen and (max-width: 1000px) {

    /*
     * Break the petal layer out of the centered
     * content container and align it to the actual
     * browser viewport.
     */
    .navgrah-home .hero-petals {
        position: absolute !important;

        width: 100vw !important;

        left: 50% !important;
        right: auto !important;

        transform: translateX(-50%) !important;

        overflow: visible !important;
    }

    .navgrah-home .hero-petal-left {
        left: 0 !important;
    }

    .navgrah-home .hero-petal-right {
        right: 0 !important;
    }
}

/* =========================================================
   NAVGRAH HOMEPAGE — MOBILE RESPONSIVE HERO FIX
   ---------------------------------------------------------
   Final surgical patch.
   Keeps desktop/tablet design intact and fixes narrow
   mobile composition only.
   ========================================================= */


/* ---------------------------------------------------------
   TABLET / SMALL SCREEN
   --------------------------------------------------------- */

@media screen and (max-width: 900px) {

    .navgrah-home .hero-heading {
        width: 100%;
        padding-left: 12px;
        padding-right: 12px;
        box-sizing: border-box;
        z-index: 20;
    }

    .navgrah-home .hero-heading h1 {
        width: 100%;
        max-width: 760px;
        font-size: clamp(34px, 6vw, 54px) !important;
        line-height: 0.98;
        position: relative;
        z-index: 20;
    }

    /* Keep decorative petals behind the typography */
    .navgrah-home .hero-petals {
        z-index: 2;
        pointer-events: none;
    }

    .navgrah-home .hero-petals .hero-petal-left,
    .navgrah-home .hero-petals .hero-petal-right {
        width: 150px !important;
        top: 18px !important;
        opacity: 0.32 !important;
        z-index: 2;
    }

    .navgrah-home .hero-petals .hero-petal-left {
        left: -55px !important;
    }

    .navgrah-home .hero-petals .hero-petal-right {
        right: -55px !important;
    }
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media screen and (max-width: 600px) {

    .navgrah-home .navgrah-hero,
    .navgrah-home .navgrah-hero .hero-container {
        min-height: 435px !important;
    }

    .navgrah-home .hero-heading {
        padding-top: 30px !important;
        padding-left: 14px;
        padding-right: 14px;
        box-sizing: border-box;
    }

    .navgrah-home .hero-eyebrow {
        margin-bottom: 12px !important;
        font-size: 8px !important;
        letter-spacing: 0.16em;
    }

    /*
     * The important part:
     * smaller fluid heading prevents wrapping/collision
     * on narrow phones.
     */
    .navgrah-home .hero-heading h1 {
        width: 100%;
        max-width: 100%;
        font-size: clamp(28px, 8.5vw, 42px) !important;
        line-height: 0.98 !important;
        letter-spacing: -0.035em !important;
        position: relative;
        z-index: 20;
    }

   .navgrah-home .hero-button {
    top: 78px !important;
    min-height: 42px !important;
    padding: 0 20px !important;
    font-size: 10px !important;
    z-index: 40 !important;
}

    /*
     * Reduce the product scene so it doesn't consume
     * excessive vertical space on phones.
     */
    .navgrah-home .hero-container .hero-product-scene {
        height: 315px !important;
        --hero-arch-width: 88vw !important;
        --hero-arch-height: 215px !important;
    }

    .navgrah-home .hero-container .hero-product-scene .hero-arch {
        width: var(--hero-arch-width) !important;
        height: var(--hero-arch-height) !important;
    }

    .navgrah-home .hero-container .hero-product-scene .hero-main-image {
        width: 72vw !important;
        max-width: 300px !important;
        max-height: 215px !important;
    }

    .navgrah-home .hero-container .hero-product-scene .hero-side {
        width: 78px !important;
    }

    /*
     * Petals become decorative framing instead of competing
     * with the headline.
     */
    .navgrah-home .hero-container .hero-petals .hero-petal-left,
    .navgrah-home .hero-container .hero-petals .hero-petal-right {
        width: 105px !important;
        top: 8px !important;
        opacity: 0.30 !important;
        z-index: 2 !important;
    }

    .navgrah-home .hero-container .hero-petals .hero-petal-left {
        left: -52px !important;
    }

    .navgrah-home .hero-container .hero-petals .hero-petal-right {
        right: -52px !important;
    }
}


/* ---------------------------------------------------------
   VERY SMALL PHONES
   --------------------------------------------------------- */

@media screen and (max-width: 380px) {

    .navgrah-home .navgrah-hero,
    .navgrah-home .navgrah-hero .hero-container {
        min-height: 410px !important;
    }

    .navgrah-home .hero-heading {
        padding-top: 26px !important;
        padding-left: 10px;
        padding-right: 10px;
    }

    .navgrah-home .hero-eyebrow {
        font-size: 7px !important;
        margin-bottom: 10px !important;
    }

    .navgrah-home .hero-heading h1 {
        font-size: clamp(25px, 8.5vw, 34px) !important;
        line-height: 0.98 !important;
    }

    .navgrah-home .hero-button {
    top: -19px !important;
    min-height: 40px !important;
    padding: 0 18px !important;
    font-size: 9px !important;
    z-index: 40 !important;
}

    .navgrah-home .hero-container .hero-product-scene {
        height: 300px !important;
        --hero-arch-width: 88vw !important;
        --hero-arch-height: 200px !important;
    }

    .navgrah-home .hero-container .hero-product-scene .hero-main-image {
        width: 70vw !important;
        max-height: 200px !important;
    }

    .navgrah-home .hero-container .hero-product-scene .hero-side {
        width: 68px !important;
    }

    /*
     * Extra-small phone:
     * keep petals clearly outside the title zone.
     */
    .navgrah-home .hero-container .hero-petals .hero-petal-left,
    .navgrah-home .hero-container .hero-petals .hero-petal-right {
        width: 88px !important;
        top: 4px !important;
        opacity: 0.25 !important;
    }

    .navgrah-home .hero-container .hero-petals .hero-petal-left {
        left: -44px !important;
    }

    .navgrah-home .hero-container .hero-petals .hero-petal-right {
        right: -44px !important;
    }
}

/* =========================================================
   HERO CTA — CLICKABILITY FIX
   ---------------------------------------------------------
   Visual hero layers must never intercept mouse/touch input.
   CTA remains fully interactive and above the composition.
   ========================================================= */

.navgrah-home .hero-product-scene::before,
.navgrah-home .hero-product-scene::after,
.navgrah-home .hero-arch,
.navgrah-home .hero-main-image,
.navgrah-home .hero-side,
.navgrah-home .hero-petals,
.navgrah-home .hero-petals *,
.navgrah-home .hero-decoration {
    pointer-events: none !important;
}

.navgrah-home .hero-button {
    position: absolute !important;
    z-index: 999 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* =========================================================
   RESPONSIVE ZIGZAG + BANNER LEAF CLEANUP
   ========================================================= */


/* ---------------------------------------------------------
   TABLET / SMALL DESKTOP
   1000px → 601px

   Reverse the zigzag:
   IMAGE moves to the side previously occupied by TEXT.
   TEXT moves to the side previously occupied by IMAGE.
   
   Still remains a two-column layout.
--------------------------------------------------------- */

@media screen and (min-width: 601px) and (max-width: 1000px) {

    .zigzag-product {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);

        gap: 45px;
    }


    /* Odd rows:
       Desktop = Image LEFT / Text RIGHT
       Tablet  = Text LEFT / Image RIGHT
    */
    .zigzag-product:nth-child(odd) .zigzag-product-image {
        order: 2;
    }

    .zigzag-product:nth-child(odd) .zigzag-product-content {
        order: 1;
        margin-left: 0;
    }


    /* Even rows:
       Desktop = Text LEFT / Image RIGHT
       Tablet  = Image LEFT / Text RIGHT
    */
    .zigzag-product:nth-child(even) .zigzag-product-image {
        order: 1;
    }

    .zigzag-product:nth-child(even) .zigzag-product-content {
        order: 2;
        margin-left: 0;
    }
}


/* =========================================================
   MOBILE — ZIGZAG PETALS ONLY
   BELOW 600px
   ========================================================= */

@media screen and (max-width: 600px) {

    /* Keep the Zigzag section visible */

    .zigzag-products-section {
        display: block !important;
    }

    /* Remove only the decorative petals */
    .zigzag-product-petals,
    .zigzag-product-petals-left,
    .zigzag-product-petals-right {
        display: none !important;
    }
}


/* =========================================================
   BANNER LEAF DECORATIONS
   BELOW 600px

   Remove ONLY the decorative banner-leaf artwork.
   Content, backgrounds, torn edges and section structure
   remain untouched.
   ========================================================= */

@media screen and (max-width: 600px) {

    /* Brand Video banner leaves */
    .brand-video-section::before,
    .brand-video-section::after {
        display: none !important;
    }


    /* Custom CTA banner leaves */
    .custom-cta-decoration-left,
    .custom-cta-decoration-right {
        display: none !important;
    }


    /* USP / banner decoration artwork */
    .usp-decoration-left,
    .usp-decoration-right {
        display: none !important;
    }
}

/* =========================================================
   ZIGZAG — SECOND PRODUCT TEXT POSITION FIX
   1201px → 1400px
   ========================================================= */

@media screen and (min-width: 901px) and (max-width: 1400px) {

    .navgrah-home .zigzag-product:nth-child(2) .zigzag-product-content {
        transform: translateX(100px);
    }

}
