/* ========================================
   DR VIKTORIA VOVK
======================================== */


/* ========================================
   COLOR SYSTEM
======================================== */

:root {

    /*
     * CLIENT PALETTE
     */

    --pink:
        #f6e1e8;

    --blue:
        #c5dbe9;

    --mint:
        #c8e4cd;

    --yellow:
        #f1f0b0;


    /*
     * NEUTRALS
     */

    --cream:
        #fffdfb;

    --white:
        #ffffff;

    --ink:
        #1d181a;

    --ink-soft:
        rgba(
            29,
            24,
            26,
            0.66
        );


    /*
     * ACCENTS
     */

    --pink-deep:
        #c78093;

    --blue-deep:
        #86afc4;

    --mint-deep:
        #80b28b;

    --yellow-deep:
        #c4bb57;


    /*
     * LAYOUT
     */

    --page-padding:
        28px;

    --container:
        1400px;

    --pill:
        999px;
}


/* ========================================
   RESET
======================================== */

*,
*::before,
*::after {

    box-sizing:
        border-box;
}


html {

    scroll-behavior:
        smooth;
}


body {

    margin:
        0;

    background:
        var(--cream);

    color:
        var(--ink);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    -webkit-font-smoothing:
        antialiased;

    text-rendering:
        optimizeLegibility;
}


body,
button,
input,
textarea,
select {

    font-family:
        Arial,
        Helvetica,
        sans-serif;
}


img,
video {

    display:
        block;
}


a {

    color:
        inherit;

    text-decoration:
        none;
}


.site-main {

    width:
        100%;

    overflow:
        clip;
}


/* ========================================
   HEADER
======================================== */

.site-header {

    position:
        fixed;

    z-index:
        1000;

    top:
        0;

    left:
        0;

    width:
        100%;

    min-height:
        74px;

    padding:
        16px
        var(--page-padding);

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        30px;

    background:
        rgba(
            255,
            253,
            251,
            0.86
        );

    border-bottom:
        1px solid
        rgba(
            29,
            24,
            26,
            0.06
        );

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);
}


.admin-bar .site-header {

    top:
        32px;
}


/* ========================================
   LOGO
======================================== */

.site-logo {

    display:
        inline-flex;

    flex-direction:
        column;

    flex-shrink:
        0;

    line-height:
        1;
}


.site-logo__main {

    font-size:
        15px;

    font-weight:
        500;

    letter-spacing:
        0.08em;
}


.site-logo__country {

    margin-top:
        5px;

    font-size:
        8px;

    letter-spacing:
        0.30em;
}


/* ========================================
   NAV
======================================== */

.site-nav {

    display:
        flex;

    align-items:
        center;

    gap:
        28px;

    font-size:
        13px;
}


.site-nav > a {

    transition:
        opacity
        0.25s
        ease;
}


.site-nav > a:hover {

    opacity:
        0.55;
}


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

.site-cart {

    padding:
        10px
        18px;

    border:
        1px solid
        rgba(
            29,
            24,
            26,
            0.28
        );

    border-radius:
        var(--pill);
}


.site-cart:hover {

    background:
        var(--pink);

    border-color:
        var(--pink);
}


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

.hero-video-scroll {

    position:
        relative;

    width:
        100%;

    background:
        var(--pink);
}


.hero-video-stage {

    position:
        relative;

    width:
        100%;

    height:
        100svh;

    overflow:
        hidden;

    isolation:
        isolate;

    background:
        var(--pink);

    contain:
        layout paint;
}


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

.hero-video-media {

    position:
        absolute;

    z-index:
        1;

    inset:
        0;

    overflow:
        hidden;

    background:
        var(--pink);
}


.hero-video {

    position:
        absolute;

    inset:
        0;

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    object-position:
        center center;

    pointer-events:
        none;

    user-select:
        none;

    /*
     * GPU compositor
     */

    transform:
        translate3d(
            0,
            0,
            0
        );

    backface-visibility:
        hidden;

    -webkit-backface-visibility:
        hidden;
}


/* ========================================
   COLOR GLOWS
======================================== */

.hero-glow {

    position:
        absolute;

    z-index:
        2;

    width:
        38vw;

    aspect-ratio:
        1;

    border-radius:
        50%;

    filter:
        blur(110px);

    opacity:
        0.16;

    pointer-events:
        none;
}


.hero-glow--blue {

    top:
        10%;

    left:
        -10%;

    background:
        var(--blue);
}


.hero-glow--mint {

    right:
        -10%;

    top:
        38%;

    background:
        var(--mint);
}


.hero-glow--yellow {

    bottom:
        -20%;

    left:
        42%;

    background:
        var(--yellow);
}


/* ========================================
   HERO INTRO
======================================== */

.hero-intro {

    position:
        absolute;

    z-index:
        10;

    top:
        15%;

    left:
        50%;

    width:
        min(
            94%,
            1500px
        );

    text-align:
        center;

    pointer-events:
        none;

    will-change:
        transform,
        opacity;

    transform:
        translate3d(
            -50%,
            0,
            0
        );
}


.hero-intro__eyebrow {

    margin:
        0
        0
        15px;

    font-size:
        10px;

    font-weight:
        600;

    letter-spacing:
        0.32em;
}


.hero-intro__title {

    margin:
        0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            62px,
            7vw,
            116px
        );

    font-weight:
        400;

    line-height:
        0.90;

    letter-spacing:
        -0.045em;

    white-space:
        nowrap;
}


/* ========================================
   HERO PILLS
======================================== */

.hero-pill {

    position:
        absolute;

    z-index:
        12;

    min-height:
        54px;

    padding:
        0
        24px;

    display:
        flex;

    align-items:
        center;

    gap:
        11px;

    border:
        1px solid
        rgba(
            29,
            24,
            26,
            0.13
        );

    border-radius:
        var(--pill);

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

    box-shadow:
        0
        14px
        44px
        rgba(
            70,
            45,
            52,
            0.11
        ),
        inset
        0
        1px
        0
        rgba(
            255,
            255,
            255,
            0.72
        );

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);

    font-size:
        14px;

    font-weight:
        500;

    letter-spacing:
        -0.01em;

    pointer-events:
        none;

    /*
     * Тут will-change має сенс.
     */

    will-change:
        transform,
        opacity;

    transform:
        translate3d(
            0,
            0,
            0
        );
}


.hero-pill__number {

    min-width:
        20px;

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        0.06em;

    color:
        var(--pink-deep);
}


.hero-pill--one {

    left:
        7%;

    top:
        52%;
}


.hero-pill--two {

    right:
        7%;

    top:
        43%;
}


.hero-pill--three {

    right:
        12%;

    top:
        67%;
}


/* ========================================
   HERO BOTTOM
======================================== */

.hero-bottom {

    position:
        absolute;

    z-index:
        12;

    left:
        50%;

    bottom:
        6%;

    width:
        min(
            90%,
            460px
        );

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    text-align:
        center;

    will-change:
        transform,
        opacity;

    transform:
        translate3d(
            -50%,
            0,
            0
        );
}


.hero-bottom__text {

    margin:
        0
        0
        18px;

    font-size:
        15px;

    color:
        var(--ink-soft);
}


/* ========================================
   BUTTONS
======================================== */

.button {

    min-height:
        52px;

    padding:
        0
        30px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid
        var(--ink);

    border-radius:
        var(--pill);

    background:
        var(--ink);

    color:
        var(--white);

    font-size:
        13px;

    font-weight:
        500;

    transition:
        transform
        0.3s
        ease,
        background-color
        0.3s
        ease,
        color
        0.3s
        ease;
}


.button:hover {

    transform:
        translateY(-2px);

    background:
        var(--blue);

    border-color:
        var(--blue);

    color:
        var(--ink);
}


.button--light {

    background:
        var(--white);

    color:
        var(--ink);

    border-color:
        var(--white);
}


/* ========================================
   SCROLL INDICATOR
======================================== */

.hero-scroll {

    position:
        absolute;

    z-index:
        15;

    right:
        var(--page-padding);

    bottom:
        28px;

    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    writing-mode:
        vertical-rl;

    font-size:
        9px;

    letter-spacing:
        0.22em;

    pointer-events:
        none;

    will-change:
        opacity;
}


.hero-scroll__line {

    display:
        block;

    width:
        1px;

    height:
        42px;

    background:
        rgba(
            29,
            24,
            26,
            0.42
        );
}


/* ========================================
   SECTIONS
======================================== */

.section {

    width:
        100%;

    padding:
        130px
        var(--page-padding);
}


.section__inner {

    width:
        100%;

    max-width:
        var(--container);

    margin:
        0 auto;
}


.section--cream {

    background:
        var(--cream);
}


.section--blue {

    background:
        var(--blue);
}


.section--mint {

    background:
        var(--mint);
}


/* ========================================
   TYPOGRAPHY
======================================== */

.section__eyebrow {

    margin:
        0
        0
        18px;

    font-size:
        11px;

    font-weight:
        600;

    letter-spacing:
        0.28em;
}


.section__title {

    max-width:
        1050px;

    margin:
        0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            52px,
            8vw,
            112px
        );

    font-weight:
        400;

    line-height:
        0.94;

    letter-spacing:
        -0.04em;
}


.section__text {

    max-width:
        640px;

    margin:
        34px
        0
        0;

    font-size:
        18px;

    line-height:
        1.75;

    color:
        var(--ink-soft);
}


/* ========================================
   BENEFITS
======================================== */

.benefits {

    margin-top:
        70px;

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            1fr
        );

    gap:
        14px;
}


.benefit {

    min-height:
        300px;

    padding:
        34px;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        flex-end;

    border:
        1px solid
        rgba(
            29,
            24,
            26,
            0.08
        );

    border-radius:
        24px;

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

    backdrop-filter:
        blur(12px);

    -webkit-backdrop-filter:
        blur(12px);
}


.benefit:nth-child(2) {

    background:
        rgba(
            246,
            225,
            232,
            0.62
        );
}


.benefit:nth-child(3) {

    background:
        rgba(
            241,
            240,
            176,
            0.62
        );
}


.benefit__number {

    margin-bottom:
        auto;

    font-size:
        11px;

    letter-spacing:
        0.12em;

    color:
        var(--mint-deep);
}


.benefit__title {

    margin:
        60px
        0
        12px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        30px;

    font-weight:
        400;
}


.benefit__text {

    max-width:
        280px;

    margin:
        0;

    font-size:
        14px;

    line-height:
        1.6;

    color:
        var(--ink-soft);
}


/* ========================================
   RITUAL
======================================== */

.ritual {

    min-height:
        82vh;

    padding:
        120px
        var(--page-padding);

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    text-align:
        center;

    background:
        linear-gradient(
            135deg,
            var(--yellow)
            0%,
            var(--pink)
            52%,
            var(--blue)
            100%
        );
}


.ritual__inner {

    max-width:
        1000px;

    margin:
        0 auto;
}


.ritual__title {

    margin:
        0
        0
        42px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            52px,
            8vw,
            120px
        );

    font-weight:
        400;

    line-height:
        0.95;

    letter-spacing:
        -0.04em;
}


/* ========================================
   FOOTER
======================================== */

.site-footer {

    padding:
        72px
        var(--page-padding);

    display:
        flex;

    justify-content:
        space-between;

    align-items:
        flex-end;

    gap:
        40px;

    background:
        var(--ink);

    color:
        var(--pink);
}


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

@media (
    max-width:
    1000px
) {

    .benefits {

        grid-template-columns:
            1fr;
    }


    .benefit {

        min-height:
            220px;
    }
}


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

@media (
    max-width:
    700px
) {

    :root {

        --page-padding:
            18px;
    }


    .admin-bar
    .site-header {

        top:
            46px;
    }


    /* HEADER */

    .site-header {

        min-height:
            66px;

        padding:
            13px
            var(--page-padding);
    }


    .site-logo__main {

        font-size:
            12px;
    }


    .site-logo__country {

        font-size:
            7px;
    }


    .site-nav
    a:not(.site-cart) {

        display:
            none;
    }


    .site-cart {

        padding:
            9px
            14px;

        font-size:
            11px;
    }


    /* HERO */

    .hero-video-stage {

        height:
            100svh;
    }


    /*
     * Crop 16:9 source
     * for mobile.
     */

    .hero-video {

        width:
            178vw;

        max-width:
            none;

        height:
            auto;

        inset:
            auto;

        top:
            50%;

        left:
            50%;

        transform:
            translate3d(
                -50%,
                -50%,
                0
            );
    }


    .hero-intro {

        top:
            15%;

        width:
            94%;
    }


    .hero-intro__eyebrow {

        font-size:
            8px;
    }


    .hero-intro__title {

        max-width:
            370px;

        margin:
            0 auto;

        font-size:
            clamp(
                43px,
                14vw,
                68px
            );

        line-height:
            0.90;

        white-space:
            normal;
    }


    /* PILLS */

    .hero-pill {

        min-height:
            44px;

        padding:
            0
            14px;

        gap:
            8px;

        border-color:
            rgba(29, 24, 26, 0.12);

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

        box-shadow:
            0 10px 28px rgba(70, 45, 52, 0.10);

        font-size:
            11.5px;

        font-weight:
            500;

        backdrop-filter:
            blur(12px);

        -webkit-backdrop-filter:
            blur(12px);
    }


    .hero-pill__number {

        min-width:
            18px;

        font-size:
            9px;
    }


    .hero-pill--one {

        left:
            4%;

        top:
            52%;
    }


    .hero-pill--two {

        right:
            4%;

        top:
            40%;
    }


    .hero-pill--three {

        right:
            5%;

        top:
            67%;
    }


    .hero-bottom {

        bottom:
            6%;

        width:
            88%;
    }


    .hero-bottom__text {

        margin-bottom:
            15px;

        font-size:
            13px;
    }


    .hero-scroll {

        display:
            none;
    }


    /* SECTIONS */

    .section {

        padding:
            88px
            var(--page-padding);
    }


    .section__eyebrow {

        font-size:
            9px;
    }


    .section__title {

        font-size:
            clamp(
                45px,
                14vw,
                70px
            );
    }


    .section__text {

        margin-top:
            24px;

        font-size:
            16px;

        line-height:
            1.65;
    }


    .benefits {

        margin-top:
            46px;

        gap:
            10px;
    }


    .benefit {

        min-height:
            200px;

        padding:
            24px;

        border-radius:
            18px;
    }


    .benefit__title {

        font-size:
            27px;
    }


    .ritual {

        min-height:
            70vh;

        padding:
            90px
            var(--page-padding);
    }


    .ritual__title {

        font-size:
            clamp(
                45px,
                14vw,
                72px
            );
    }


    .button {

        min-height:
            48px;

        padding:
            0
            24px;

        font-size:
            12px;
    }


    .site-footer {

        padding:
            55px
            var(--page-padding);

        flex-direction:
            column;

        align-items:
            flex-start;
    }
}


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

@media (
    max-width:
    380px
) {

    .hero-video {

        width:
            190vw;
    }


    .hero-intro__title {

        font-size:
            41px;
    }
}


/* ========================================
   REDUCED MOTION
======================================== */

@media (
    prefers-reduced-motion:
    reduce
) {

    html {

        scroll-behavior:
            auto;
    }


    *,
    *::before,
    *::after {

        animation-duration:
            0.01ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            0.01ms !important;
    }


    .hero-pill {

        display:
            none;
    }
}

/* ============================================================
   V13 — 180-STATE MOBILE HERO
   Full-width base, no side strips, no temporal crossfade.
   ============================================================ */

body {
    overflow-x: hidden;
}

.site-main {
    overflow: visible;
}

.hero-video-scroll {
    position: relative;
    height: 345vh;
    background: var(--pink);
}

.hero-video-stage {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: var(--pink);
    contain: paint;
}

.hero-mobile-product {
    display: none;
}

.hero-video--desktop {
    display: block;
}

@media (max-width: 700px) {
    .hero-video-scroll {
        height: 440vh;
        min-height: 440vh;
        background: #eab8c8;
    }

    @supports (height: 100svh) {
        .hero-video-scroll {
            height: 440svh;
            min-height: 440svh;
        }
    }

    .hero-video-stage {
        height: 100vh;
        min-height: 100vh;
        overflow: hidden;
        background: #eab8c8;
    }

    @supports (height: 100svh) {
        .hero-video-stage {
            height: 100svh;
            min-height: 100svh;
        }
    }

    .hero-video-media {
        position: absolute;
        inset: 0;
        overflow: hidden;
        background: #eab8c8;
    }

    .hero-video--desktop {
        display: none !important;
    }

    .hero-mobile-product {
        position: absolute;
        z-index: 1;
        inset: 0;
        display: block;
        overflow: hidden;
        background: #eab8c8;
        pointer-events: none;
        user-select: none;
        -webkit-user-select: none;
        transform: translate3d(0, 0, 0);
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        contain: layout paint;
    }

    .hero-mobile-base,
    .hero-mobile-motion {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    .hero-mobile-base {
        z-index: 1;
        display: block;
        object-fit: contain;
        object-position: center center;
        background: #eab8c8;
    }

    .hero-mobile-motion {
        z-index: 2;
        display: block;
        background: transparent;
        opacity: 0;
        transform: translate3d(0, 0, 0);
        transition: none;
    }

    .hero-mobile-ready .hero-mobile-motion {
        opacity: 1;
    }

    .hero-glow {
        display: none !important;
    }

    .hero-intro,
    .hero-pill,
    .hero-bottom,
    .hero-scroll {
        z-index: 10;
    }

    .button:hover {
        transform: none;
    }
}

@media (max-width: 380px) {
    .hero-mobile-product {
        inset: 0;
    }
}


/* ========================================
   V15 — MANUAL PRODUCT CATALOG
======================================== */

.catalog-section {
    position: relative;
    overflow: hidden;
    padding-top: 112px;
    padding-bottom: 120px;
    background:
        radial-gradient(circle at 90% 7%, rgba(246, 225, 232, 0.72), transparent 31%),
        var(--cream);
}

.catalog-heading {
    max-width: 900px;
}

.catalog-heading .section__title {
    max-width: 900px;
}

.catalog-filters {
    margin-top: 34px;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.catalog-filter {
    min-height: 46px;
    padding: 0 18px;
    border: 1px solid rgba(29, 24, 26, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.66);
    color: rgba(29, 24, 26, 0.72);
    font: inherit;
    font-size: 12px;
    font-weight: 650;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(79, 46, 57, 0.035);
    transition: background 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.catalog-filter:hover {
    transform: translateY(-1px);
    background: #fff;
}

.catalog-filter.is-active {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
}

.catalog-grid {
    margin-top: 34px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.product-card {
    position: relative;
    aspect-ratio: 4 / 5;
    min-width: 0;
    overflow: hidden;
    border-radius: 28px;
    background: #f4d7df;
    box-shadow:
        0 14px 42px rgba(81, 47, 58, 0.08),
        inset 0 0 0 1px rgba(255, 255, 255, 0.55);
    isolation: isolate;
    cursor: pointer;
    outline: none;
    transform: translate3d(0, 0, 0);
    transition:
        transform 420ms cubic-bezier(.2, .72, .2, 1),
        box-shadow 420ms ease;
    -webkit-tap-highlight-color: transparent;
}

.product-card:focus-visible {
    box-shadow:
        0 0 0 3px rgba(199, 128, 147, 0.28),
        0 18px 48px rgba(81, 47, 58, 0.12);
}

.product-card__media,
.product-card__media img,
.product-card__scrim,
.product-card__info {
    position: absolute;
    inset: 0;
}

.product-card__media {
    z-index: 1;
    overflow: hidden;
    background: #f2ced9;
}

.product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.001) translate3d(0, 0, 0);
    transform-origin: center 47%;
    transition: transform 620ms cubic-bezier(.18, .76, .19, 1);
    will-change: transform;
}

.product-card__scrim {
    z-index: 2;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(
            180deg,
            rgba(22, 15, 18, 0.01) 28%,
            rgba(22, 15, 18, 0.10) 49%,
            rgba(22, 15, 18, 0.78) 100%
        );
    transition: opacity 360ms ease;
}

.product-card__info {
    z-index: 3;
    top: auto;
    padding: 30px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    pointer-events: none;
    opacity: 0;
    transform: translate3d(0, 22px, 0);
    transition:
        opacity 360ms ease,
        transform 460ms cubic-bezier(.18, .76, .19, 1);
}

.product-card__kind {
    margin: 0 0 8px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    opacity: 0.78;
}

.product-card__title {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 3vw, 47px);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -0.035em;
}

.product-card__description {
    max-width: 390px;
    margin: 14px 0 0;
    font-size: 14px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.84);
}

.product-card__footer {
    margin-top: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.product-card__price {
    flex: 0 0 auto;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.product-card__view {
    min-height: 46px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, 0.48);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font: inherit;
    font-size: 12px;
    font-weight: 650;
    cursor: pointer;
    pointer-events: auto;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition:
        background 220ms ease,
        color 220ms ease,
        border-color 220ms ease,
        transform 220ms ease;
}

.product-card__view:hover {
    background: #fff;
    color: var(--ink);
    border-color: #fff;
    transform: translateY(-1px);
}

@media (hover: hover) and (pointer: fine) {
    .product-card:hover {
        transform: translate3d(0, -8px, 0);
        box-shadow:
            0 25px 70px rgba(81, 47, 58, 0.16),
            inset 0 0 0 1px rgba(255, 255, 255, 0.6);
    }

    .product-card:hover .product-card__media img {
        transform: scale(1.085) translate3d(0, -5px, 0);
    }

    .product-card:hover .product-card__scrim,
    .product-card:focus-within .product-card__scrim {
        opacity: 1;
    }

    .product-card:hover .product-card__info,
    .product-card:focus-within .product-card__info {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.product-card--extra {
    display: none;
}

.product-card.is-category-hidden {
    display: none !important;
}

.catalog-grid.is-category-filtered .product-card--extra:not(.is-category-hidden),
.catalog-grid.is-expanded .product-card--extra {
    display: block;
    animation: catalogCardReveal 520ms cubic-bezier(.2, .72, .2, 1) both;
}

.catalog-grid.is-expanded .product-card--extra:nth-of-type(3n + 2) {
    animation-delay: 45ms;
}

.catalog-grid.is-expanded .product-card--extra:nth-of-type(3n) {
    animation-delay: 90ms;
}

@keyframes catalogCardReveal {
    from {
        opacity: 0;
        transform: translate3d(0, 28px, 0) scale(.985);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

.catalog-empty {
    margin: 34px 0 0;
    padding: 34px 24px;
    border: 1px solid rgba(29, 24, 26, 0.08);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.58);
    color: rgba(29, 24, 26, 0.58);
    text-align: center;
    font-size: 14px;
}

.catalog-actions {
    margin-top: 42px;
    display: flex;
    justify-content: center;
}

.catalog-toggle {
    min-height: 58px;
    padding: 0 26px;
    border: 1px solid rgba(29, 24, 26, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.74);
    color: var(--ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    font: inherit;
    font-size: 13px;
    font-weight: 650;
    cursor: pointer;
    box-shadow: 0 12px 34px rgba(79, 46, 57, 0.07);
    transition:
        transform 240ms ease,
        box-shadow 240ms ease,
        background 240ms ease;
}

.catalog-toggle:hover {
    transform: translateY(-2px);
    background: #fff;
    box-shadow: 0 16px 42px rgba(79, 46, 57, 0.11);
}

.catalog-toggle__icon {
    font-size: 20px;
    font-weight: 300;
    line-height: 1;
    transition: transform 300ms ease;
}

.catalog-toggle[aria-expanded="true"] .catalog-toggle__icon {
    transform: rotate(45deg);
}


/* PRODUCT QUICK VIEW */

body.catalog-modal-open {
    overflow: hidden;
}

.product-modal {
    position: fixed;
    z-index: 2500;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 28px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition:
        opacity 260ms ease,
        visibility 260ms ease;
}

.product-modal.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.product-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(25, 17, 20, 0.48);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.product-modal__panel {
    position: relative;
    z-index: 1;
    width: min(1040px, 100%);
    max-height: min(760px, calc(100vh - 56px));
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(360px, 1fr);
    border-radius: 30px;
    background: #fffaf8;
    box-shadow: 0 35px 120px rgba(22, 14, 17, 0.28);
    transform: translate3d(0, 24px, 0) scale(.985);
    transition: transform 380ms cubic-bezier(.18, .76, .19, 1);
}

.product-modal.is-open .product-modal__panel {
    transform: translate3d(0, 0, 0) scale(1);
}

.product-modal__close {
    position: absolute;
    z-index: 4;
    top: 18px;
    right: 18px;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .88);
    color: var(--ink);
    display: grid;
    place-items: center;
    font-size: 27px;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 8px 26px rgba(51, 32, 39, .10);
}

.product-modal__media {
    min-height: 610px;
    background: #efd0da;
}

.product-modal__media img {
    width: 100%;
    height: 100%;
    min-height: 610px;
    object-fit: cover;
}

.product-modal__content {
    padding: 72px 64px 58px;
    align-self: center;
}

.product-modal__kind {
    margin: 0 0 16px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--pink-deep);
}

.product-modal__title {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 6vw, 78px);
    font-weight: 400;
    line-height: .92;
    letter-spacing: -.045em;
}

.product-modal__description {
    margin: 28px 0 0;
    max-width: 460px;
    font-size: 17px;
    line-height: 1.65;
    color: var(--ink-soft);
}

.product-modal__price {
    margin-top: 28px;
    font-size: 29px;
    font-weight: 700;
    letter-spacing: -.04em;
}

.product-modal__note {
    margin: 26px 0 0;
    padding-top: 22px;
    border-top: 1px solid rgba(29, 24, 26, .08);
    font-size: 12px;
    line-height: 1.55;
    color: rgba(29, 24, 26, .46);
}


@media (max-width: 1020px) {
    .catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-modal__panel {
        grid-template-columns: .9fr 1fr;
    }

    .product-modal__content {
        padding: 60px 42px 48px;
    }
}


@media (max-width: 700px) {
    .catalog-section {
        padding-top: 76px;
        padding-bottom: 82px;
    }

    .catalog-filters {
        margin-top: 28px;
        margin-right: calc(var(--page-padding) * -1);
        padding-right: var(--page-padding);
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 8px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .catalog-filters::-webkit-scrollbar {
        display: none;
    }

    .catalog-filter {
        min-height: 42px;
        padding: 0 15px;
        font-size: 11px;
    }

    .catalog-grid {
        margin-top: 30px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .product-card {
        border-radius: 18px;
        box-shadow: 0 8px 24px rgba(81, 47, 58, 0.07);
        touch-action: manipulation;
    }

    .product-card__info {
        padding: 16px 14px 14px;
        transform: translate3d(0, 14px, 0);
    }

    .product-card__kind {
        margin-bottom: 5px;
        font-size: 7px;
        letter-spacing: .13em;
    }

    .product-card__title {
        font-size: clamp(21px, 6.7vw, 30px);
    }

    .product-card__description {
        display: none;
    }

    .product-card__footer {
        margin-top: 12px;
        gap: 7px;
        align-items: flex-end;
        flex-direction: column;
    }

    .product-card__price {
        align-self: flex-start;
        font-size: 14px;
    }

    .product-card__view {
        width: 100%;
        min-height: 34px;
        padding: 0 9px;
        gap: 5px;
        font-size: 9px;
        background: rgba(255, 255, 255, .18);
    }

    .product-card.is-active {
        transform: translate3d(0, -3px, 0);
        box-shadow: 0 14px 38px rgba(81, 47, 58, .15);
    }

    .product-card.is-active .product-card__media img {
        transform: scale(1.07) translate3d(0, -3px, 0);
    }

    .product-card.is-active .product-card__scrim {
        opacity: 1;
    }

    .product-card.is-active .product-card__info {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

    .catalog-actions {
        margin-top: 28px;
    }

    .catalog-toggle {
        min-height: 52px;
        padding: 0 20px;
        font-size: 12px;
    }

    .product-modal {
        padding: 12px;
        align-items: end;
    }

    .product-modal__panel {
        width: 100%;
        max-height: calc(100svh - 24px);
        grid-template-columns: 1fr;
        grid-template-rows: minmax(0, 52svh) auto;
        overflow-y: auto;
        border-radius: 26px 26px 18px 18px;
    }

    .product-modal__media,
    .product-modal__media img {
        min-height: 0;
        height: 52svh;
    }

    .product-modal__content {
        padding: 30px 24px 34px;
    }

    .product-modal__kind {
        margin-bottom: 10px;
        font-size: 8px;
    }

    .product-modal__title {
        font-size: clamp(42px, 13vw, 62px);
    }

    .product-modal__description {
        margin-top: 18px;
        font-size: 15px;
        line-height: 1.55;
    }

    .product-modal__price {
        margin-top: 20px;
        font-size: 25px;
    }

    .product-modal__note {
        margin-top: 20px;
    }
}


@media (max-width: 380px) {
    .catalog-grid {
        gap: 8px;
    }

    .product-card__info {
        padding: 13px 11px 11px;
    }

    .product-card__view {
        font-size: 8px;
    }
}


/* =========================================================
   V17 — PRODUCT DETAIL, CART, CHECKOUT
   ========================================================= */
body.store-overlay-open{overflow:hidden}

.site-cart{position:relative}
.site-cart.has-items::after{content:attr(data-cart-count);position:absolute;top:-8px;right:-8px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:9px;font-weight:700;line-height:1}

.product-modal__panel{width:min(1120px,100%);max-height:min(820px,calc(100vh - 48px));grid-template-columns:minmax(0,.92fr) minmax(420px,1fr);overflow:auto}
.product-modal__content{padding:58px 58px 48px;align-self:start}
.product-modal__long-description{margin:14px 0 0;max-width:480px;font-size:14px;line-height:1.6;color:rgba(29,24,26,.58)}
.product-modal__facts{margin-top:24px;border-top:1px solid rgba(29,24,26,.08);border-bottom:1px solid rgba(29,24,26,.08)}
.product-modal__fact{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:14px 0;font-size:12px;line-height:1.45}
.product-modal__fact+.product-modal__fact{border-top:1px solid rgba(29,24,26,.06)}
.product-modal__fact span{color:rgba(29,24,26,.46);text-transform:uppercase;letter-spacing:.11em;font-size:9px;font-weight:700}
.product-modal__fact strong{font-weight:500}
.product-modal__buyrow{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.product-modal__price{margin:0}
.qty-control{display:flex;align-items:center;border:1px solid rgba(29,24,26,.12);border-radius:999px;background:#fff;overflow:hidden}
.qty-control__button{width:38px;height:38px;border:0;background:transparent;cursor:pointer;font-size:18px;color:var(--ink)}
.qty-control__value{min-width:30px;text-align:center;font-size:13px;font-weight:700}
.product-modal__add{margin-top:18px;width:100%;min-height:56px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform 180ms ease,opacity 180ms ease}
.product-modal__add:hover{transform:translateY(-2px);opacity:.92}

.store-cart,.checkout-modal{position:fixed;z-index:2700;inset:0;visibility:hidden;opacity:0;pointer-events:none;transition:opacity 240ms ease,visibility 240ms ease}
.store-cart.is-open,.checkout-modal.is-open{visibility:visible;opacity:1;pointer-events:auto}
.store-cart__backdrop,.checkout-modal__backdrop{position:absolute;inset:0;background:rgba(25,17,20,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.store-cart__panel{position:absolute;right:0;top:0;height:100%;width:min(470px,100%);background:#fffaf8;box-shadow:-24px 0 80px rgba(22,14,17,.18);display:flex;flex-direction:column;transform:translateX(100%);transition:transform 340ms cubic-bezier(.18,.76,.19,1)}
.store-cart.is-open .store-cart__panel{transform:translateX(0)}
.store-cart__header{padding:28px 28px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(29,24,26,.07)}
.store-cart__eyebrow{margin:0 0 5px;font-size:8px;font-weight:700;letter-spacing:.18em;color:var(--pink-deep)}
.store-cart__header h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:34px;font-weight:400}
.store-cart__close,.checkout-modal__close{width:42px;height:42px;border:0;border-radius:50%;background:#fff;box-shadow:0 7px 24px rgba(33,21,25,.08);font-size:24px;cursor:pointer}
.store-cart__items{flex:1;overflow:auto;padding:10px 24px}
.store-cart-item{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid rgba(29,24,26,.07)}
.store-cart-item__image{width:92px;height:116px;object-fit:cover;border-radius:16px;background:#f2d7df}
.store-cart-item__body{min-width:0;padding:4px 0}
.store-cart-item__kind{margin:0 0 5px;font-size:8px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--pink-deep)}
.store-cart-item__title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:400;line-height:1}
.store-cart-item__bottom{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.cart-qty{display:flex;align-items:center;border:1px solid rgba(29,24,26,.1);border-radius:999px;overflow:hidden}
.cart-qty button{width:30px;height:30px;border:0;background:transparent;cursor:pointer}.cart-qty span{width:24px;text-align:center;font-size:11px;font-weight:700}
.store-cart-item__bottom strong{font-size:14px}
.store-cart-item__remove{margin-top:9px;padding:0;border:0;background:transparent;color:rgba(29,24,26,.42);font-size:10px;text-decoration:underline;cursor:pointer}
.store-cart__empty{margin:auto;text-align:center;padding:40px 28px}.store-cart__empty[hidden]{display:none}.store-cart__empty p{font-family:Georgia,"Times New Roman",serif;font-size:28px;margin:0 0 18px}.store-cart__continue{border:0;background:transparent;text-decoration:underline;cursor:pointer}
.store-cart__summary{padding:20px 28px 28px;border-top:1px solid rgba(29,24,26,.07);background:#fffaf8}.store-cart__summary[hidden]{display:none}.store-cart__total{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.store-cart__total span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}.store-cart__total strong{font-size:24px}
.store-cart__checkout{width:100%;min-height:54px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;cursor:pointer}

.checkout-modal{display:grid;place-items:center;padding:24px}
.checkout-modal__panel{position:relative;z-index:1;width:min(860px,100%);max-height:calc(100svh - 48px);overflow:auto;border-radius:30px;background:#fffaf8;padding:46px 48px 40px;box-shadow:0 35px 120px rgba(22,14,17,.26);transform:translateY(20px) scale(.99);transition:transform 300ms cubic-bezier(.18,.76,.19,1)}
.checkout-modal.is-open .checkout-modal__panel{transform:none}.checkout-modal__close{position:absolute;top:18px;right:18px}
.checkout-modal__heading h3{margin:8px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,62px);font-weight:400;letter-spacing:-.04em}.checkout-modal__heading>p:last-child{margin:0;color:var(--ink-soft);font-size:14px}
.checkout-form{margin-top:30px}.checkout-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkout-form__wide{grid-column:1/-1}.checkout-form label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.checkout-form input,.checkout-form select,.checkout-form textarea{width:100%;border:1px solid rgba(29,24,26,.12);border-radius:14px;background:#fff;padding:13px 14px;color:var(--ink);font:inherit;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;outline:none}.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus{border-color:var(--pink-deep);box-shadow:0 0 0 3px rgba(199,128,147,.1)}
.checkout-order-mini{margin-top:22px;border-top:1px solid rgba(29,24,26,.08);border-bottom:1px solid rgba(29,24,26,.08);padding:10px 0}.checkout-order-mini__row{display:flex;justify-content:space-between;gap:20px;padding:6px 0;font-size:12px}.checkout-order-mini__row span{color:var(--ink-soft)}
.checkout-form__bottom{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.checkout-form__total span{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.checkout-form__total strong{display:block;margin-top:3px;font-size:25px}.checkout-form__submit{min-width:260px;min-height:54px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;cursor:pointer}.checkout-form__submit:disabled{opacity:.55;cursor:wait}.checkout-form__message{min-height:20px;margin:12px 0 0;color:#a33;font-size:12px}
.checkout-success{text-align:center;padding:48px 20px 22px}.checkout-success[hidden]{display:none}.checkout-success__mark{width:70px;height:70px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;background:var(--mint);font-size:30px}.checkout-success h3{font-family:Georgia,"Times New Roman",serif;font-size:46px;font-weight:400;margin:0 0 12px}.checkout-success p{color:var(--ink-soft)}.checkout-success__button{margin-top:20px;min-height:48px;padding:0 24px;border:0;border-radius:999px;background:var(--ink);color:#fff;cursor:pointer}

@media(max-width:700px){
 .product-modal__panel{grid-template-columns:1fr;grid-template-rows:minmax(0,45svh) auto;max-height:calc(100svh - 18px)}
 .product-modal__media,.product-modal__media img{height:45svh}
 .product-modal__content{padding:26px 21px 28px}.product-modal__title{font-size:clamp(38px,12vw,58px)}.product-modal__description{margin-top:14px}.product-modal__long-description{font-size:13px}.product-modal__facts{margin-top:18px}.product-modal__fact{grid-template-columns:85px 1fr;gap:12px;padding:11px 0}.product-modal__buyrow{margin-top:18px}.product-modal__add{min-height:52px}
 .store-cart__panel{top:auto;bottom:0;width:100%;height:min(82svh,760px);border-radius:28px 28px 0 0;transform:translateY(100%)}.store-cart.is-open .store-cart__panel{transform:translateY(0)}.store-cart__header{padding:22px 20px 16px}.store-cart__items{padding:8px 18px}.store-cart-item{grid-template-columns:78px 1fr}.store-cart-item__image{width:78px;height:100px;border-radius:13px}.store-cart__summary{padding:17px 20px calc(20px + env(safe-area-inset-bottom))}
 .checkout-modal{padding:8px;align-items:end}.checkout-modal__panel{width:100%;max-height:calc(100svh - 8px);border-radius:28px 28px 12px 12px;padding:38px 20px 26px}.checkout-form__grid{grid-template-columns:1fr;gap:13px}.checkout-form__wide{grid-column:auto}.checkout-form__bottom{align-items:stretch;flex-direction:column}.checkout-form__submit{width:100%;min-width:0}.checkout-success h3{font-size:38px}
}


/* =========================================================
   V18.1 — DESKTOP LID COMPOSITION HOTFIX
   Keep the padded high-quality desktop video anchored to the
   top edge so the lifted lid never gets cropped on wide screens.
   ========================================================= */
@media (min-width: 701px) {
    .hero-video--desktop {
        object-fit: cover;
        object-position: center top;
        transform: translate3d(0, 0, 0);
        image-rendering: auto;
    }
}

/* V19 CHECKOUT */
/* V19.1 CHECKOUT POLISH */
.checkout-form[hidden],.checkout-success[hidden]{display:none!important}
.checkout-modal__panel{width:min(980px,100%);padding:42px 46px 36px;background:#fffaf9}.checkout-modal__heading{padding-right:46px}.checkout-modal__heading h3{font-size:clamp(36px,4.6vw,58px)}
.checkout-form{margin-top:28px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:18px 22px;align-items:start}.checkout-step{background:#fff;border:1px solid rgba(29,24,26,.075);border-radius:22px;padding:20px;box-shadow:0 10px 35px rgba(40,21,28,.035)}.checkout-step:nth-of-type(4){grid-column:2;grid-row:1/span 3}.checkout-step__head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.checkout-step__head>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#f8e7ec;color:#b86880;font-size:9px;font-weight:800}.checkout-step__head>div{display:flex;flex-direction:column;gap:2px}.checkout-step__head strong{font-size:14px}.checkout-step__head small{font-size:10px;color:var(--ink-soft)}
.checkout-form__grid{gap:13px}.checkout-form label{position:relative;font-size:9px}.checkout-optional{font-weight:400;color:var(--ink-soft);text-transform:none;letter-spacing:0;margin-left:4px}.checkout-form input,.checkout-form textarea{border-radius:12px;padding:13px 14px;background:#fffdfc}.checkout-form input.is-invalid{border-color:#d3455b!important;box-shadow:0 0 0 3px rgba(211,69,91,.1)!important}
.checkout-delivery-toggle,.checkout-payment-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkout-delivery-toggle label,.checkout-payment-options label{display:block;cursor:pointer}.checkout-delivery-toggle input,.checkout-payment-options input{position:absolute;opacity:0;pointer-events:none}.checkout-delivery-toggle span,.checkout-payment-options span{display:flex;flex-direction:column;gap:3px;min-height:68px;padding:13px 14px;border:1px solid rgba(29,24,26,.1);border-radius:14px;background:#fff;transition:.16s ease}.checkout-delivery-toggle input:checked+span,.checkout-payment-options input:checked+span{border-color:#d18aa0;background:#fff7f9;box-shadow:0 0 0 2px rgba(209,138,160,.1)}.checkout-delivery-toggle b,.checkout-payment-options b{font-size:11px}.checkout-delivery-toggle small,.checkout-payment-options small{font-size:9px;line-height:1.35;color:var(--ink-soft);text-transform:none;letter-spacing:0;font-weight:400}
.checkout-form__grid--delivery{margin-top:13px}.checkout-autocomplete{z-index:4}.checkout-autocomplete+.checkout-autocomplete{z-index:3}.checkout-autocomplete>input[type=text]{padding-right:38px}.checkout-autocomplete>input.is-loading{background-image:radial-gradient(circle at center,#c78093 0 2px,transparent 3px);background-position:calc(100% - 18px) 50%;background-size:10px 10px;background-repeat:no-repeat;animation:dvvPulse .8s ease-in-out infinite alternate}@keyframes dvvPulse{to{background-size:18px 18px}}
.checkout-suggestions{position:absolute;z-index:40;top:calc(100% - 1px);left:0;right:0;max-height:235px;overflow:auto;padding:6px;background:#fff;border:1px solid rgba(29,24,26,.1);border-radius:14px;box-shadow:0 18px 45px rgba(28,17,21,.14)}.checkout-suggestions[hidden]{display:none}.checkout-suggestions__item{display:block;width:100%;padding:11px 10px;border:0;border-radius:9px;background:transparent;text-align:left;font:inherit;font-size:12px;line-height:1.35;color:var(--ink);cursor:pointer}.checkout-suggestions__item:hover,.checkout-suggestions__item:focus{background:#fbedf1;outline:0}.checkout-suggestions__empty{padding:12px 10px;color:var(--ink-soft);font-size:11px;text-transform:none;letter-spacing:0;font-weight:400}.checkout-field-note{font-size:9px!important;font-weight:400!important;line-height:1.35;color:var(--ink-soft);text-transform:none;letter-spacing:0}
.checkout-step--summary{position:sticky;top:18px;align-self:start;z-index:2}.checkout-order-mini{margin:0;border:0;padding:0}.checkout-order-mini__row{align-items:center;padding:10px 0;border-bottom:1px solid rgba(29,24,26,.06)}.checkout-order-mini__product{display:flex;align-items:center;gap:10px;min-width:0}.checkout-order-mini__product img{width:46px;height:58px;object-fit:cover;border-radius:10px;background:#f4e4e8}.checkout-order-mini__product>div{display:flex;flex-direction:column;gap:3px;min-width:0}.checkout-order-mini__product strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkout-order-mini__product span{font-size:9px;color:var(--ink-soft)}.checkout-order-mini__row>b{font-size:11px;white-space:nowrap}.checkout-delivery-cost{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(29,24,26,.06);font-size:10px}.checkout-delivery-cost span{color:var(--ink-soft)}.checkout-delivery-cost strong{text-align:right;font-size:9px}.checkout-comment{margin-top:15px}.checkout-comment textarea{margin-top:5px;resize:vertical;min-height:70px}
.checkout-form__bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 2px 0;border-top:1px solid rgba(29,24,26,.08)}.checkout-form__total{display:flex;flex-direction:column;gap:2px}.checkout-form__total span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.checkout-form__total strong{font-size:26px}.checkout-form__submit{min-width:260px;min-height:56px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;cursor:pointer}.checkout-form__submit:disabled{opacity:.55;cursor:wait}.checkout-form__message{grid-column:1/-1;min-height:18px;margin:0;color:#b42318;font-size:11px;text-align:right}.checkout-success{text-align:center;padding:50px 10px 28px}.checkout-success__mark{width:70px;height:70px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:#dceedd;color:#4b7652;font-size:32px}.checkout-success h3{font-family:Georgia,"Times New Roman",serif;font-size:46px;font-weight:400;margin:7px 0 12px}.checkout-success>p{max-width:580px;margin:0 auto 10px;color:var(--ink-soft);line-height:1.55}.checkout-success__sub{font-size:12px}.checkout-success__button{margin-top:18px;min-height:48px;padding:0 24px;border:1px solid rgba(29,24,26,.12);border-radius:999px;background:#fff;cursor:pointer}
@media(max-width:760px){.checkout-modal{padding:0;place-items:end stretch}.checkout-modal__panel{width:100%;max-height:94svh;border-radius:28px 28px 0 0;padding:31px 16px calc(24px + env(safe-area-inset-bottom));transform:translateY(100%)}.checkout-modal.is-open .checkout-modal__panel{transform:translateY(0)}.checkout-modal__close{top:13px;right:13px;width:38px;height:38px}.checkout-modal__heading{padding-right:40px}.checkout-modal__heading h3{font-size:36px;margin-top:6px}.checkout-modal__heading>p:last-child{font-size:12px;line-height:1.45}.checkout-form{grid-template-columns:1fr;gap:12px;margin-top:22px}.checkout-step,.checkout-step:nth-of-type(4){grid-column:1;grid-row:auto;padding:16px;border-radius:18px}.checkout-step__head{margin-bottom:14px}.checkout-form__grid{grid-template-columns:1fr;gap:10px}.checkout-form__wide{grid-column:auto}.checkout-delivery-toggle,.checkout-payment-options{grid-template-columns:1fr 1fr;gap:7px}.checkout-delivery-toggle span,.checkout-payment-options span{min-height:74px;padding:11px}.checkout-step--summary{position:static}.checkout-form__bottom{grid-column:1;position:sticky;bottom:-24px;z-index:20;margin:0 -16px -24px;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:rgba(255,250,249,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.checkout-form__total strong{font-size:21px}.checkout-form__submit{min-width:0;flex:1;min-height:52px}.checkout-form__message{grid-column:1;text-align:left}.checkout-suggestions{max-height:210px}}

/* =========================================================
   V20 — RETAIL 1+1 + BRAND STORY + WHOLESALE
   ========================================================= */
.product-card__promo{position:absolute;z-index:4;top:16px;left:16px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(40,24,29,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.product-card__price{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.product-card__price small{font-size:8px;font-weight:500;letter-spacing:.04em;color:rgba(29,24,26,.56);text-transform:none}
.product-modal__price small{display:block;margin-top:3px;font:600 10px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--pink-deep)}
.product-modal__gift{margin-top:22px;padding:16px;border:1px solid rgba(29,24,26,.08);border-radius:18px;background:linear-gradient(135deg,rgba(246,225,232,.76),rgba(255,255,255,.74))}.product-modal__gift[hidden]{display:none}.product-modal__gift-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}.product-modal__gift-head span{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--pink-deep)}.product-modal__gift-head strong{max-width:220px;text-align:right;font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:400;line-height:1.05}.product-modal__gift label{display:block;margin-bottom:7px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.product-modal__gift select{width:100%;min-height:44px;padding:0 13px;border:1px solid rgba(29,24,26,.12);border-radius:12px;background:#fff;color:var(--ink);font-size:13px;outline:none}.product-modal__gift select:focus{border-color:var(--pink-deep);box-shadow:0 0 0 3px rgba(199,128,147,.1)}.product-modal__gift>small{display:block;margin-top:7px;font-size:10px;line-height:1.35;color:var(--ink-soft)}
.store-cart-item__gift{margin:7px 0 0;font-size:10px;line-height:1.35;color:var(--pink-deep)}
.store-cart-item--bundle .store-cart-item__image{box-shadow:inset 0 0 0 2px rgba(199,128,147,.14)}

.brand-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);gap:clamp(60px,8vw,150px);align-items:start}.brand-story__lead{max-width:760px;margin:34px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3.2vw,50px);font-weight:400;line-height:1.05;letter-spacing:-.025em}.brand-story__copy{padding-top:70px}.brand-story__copy p{margin:0 0 24px;font-size:17px;line-height:1.75;color:rgba(29,24,26,.72)}.brand-story__signature{font-family:Georgia,"Times New Roman",serif!important;font-size:26px!important;line-height:1.15!important;color:var(--ink)!important}

.wholesale-page{background:var(--cream)}
.wholesale-hero{position:relative;min-height:88svh;padding:150px var(--page-padding) 100px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,#f7e4ea 0%,#fffdfb 48%,#cfe4ee 100%)}.wholesale-hero__inner{position:relative;z-index:2;width:100%;max-width:var(--container);margin:0 auto}.wholesale-hero__title{max-width:980px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(76px,10vw,160px);font-weight:400;line-height:.82;letter-spacing:-.055em}.wholesale-hero__lead{max-width:610px;margin:38px 0 30px;font-size:18px;line-height:1.7;color:var(--ink-soft)}.wholesale-hero__orb{position:absolute;border-radius:50%;filter:blur(10px);opacity:.72}.wholesale-hero__orb--one{width:420px;height:420px;right:6%;top:13%;background:var(--yellow)}.wholesale-hero__orb--two{width:520px;height:520px;right:-8%;bottom:-24%;background:var(--mint)}
.wholesale-terms{background:#fff}.wholesale-terms__heading{display:grid;grid-template-columns:.6fr 1fr;align-items:end;gap:40px}.wholesale-terms__heading .section__title{font-size:clamp(56px,7vw,108px)}.wholesale-terms__grid{margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.wholesale-term{position:relative;min-height:330px;padding:28px;border-radius:30px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border:1px solid rgba(29,24,26,.06)}.wholesale-term--pink{background:var(--pink)}.wholesale-term--yellow{background:var(--yellow)}.wholesale-term--blue{background:var(--blue)}.wholesale-term__icon{position:absolute;top:28px;left:28px;font-size:34px}.wholesale-term__badge{position:absolute;top:26px;right:26px;padding:8px 12px;border-radius:999px;background:#fff;font-size:9px;font-weight:800;letter-spacing:.08em}.wholesale-term__label{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.wholesale-term__price{display:block;font-family:Georgia,"Times New Roman",serif;font-size:64px;font-weight:400;line-height:.95}.wholesale-term__text{max-width:320px;margin:12px 0 0;font-size:13px;line-height:1.55;color:rgba(29,24,26,.68)}.wholesale-term--featured{transform:translateY(-12px);box-shadow:0 26px 80px rgba(74,64,18,.10)}
.wholesale-catalog{background:var(--cream)}.wholesale-catalog--creams{padding-top:20px;background:#fff}.wholesale-catalog__heading{max-width:850px}.wholesale-grid{margin-top:60px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.wholesale-card{overflow:hidden;border-radius:24px;background:#fff;border:1px solid rgba(29,24,26,.06)}.wholesale-card__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--pink)}.wholesale-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.wholesale-card:hover .wholesale-card__media img{transform:scale(1.025)}.wholesale-card__price{position:absolute;z-index:2;top:14px;right:14px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.92);font-size:10px;font-weight:800;box-shadow:0 8px 24px rgba(29,24,26,.07)}.wholesale-card__body{padding:18px 18px 20px}.wholesale-card__body p{margin:0 0 6px;font-size:8px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--pink-deep)}.wholesale-card__body h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:400;line-height:1}.wholesale-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1050px}
.wholesale-contact{background:linear-gradient(135deg,var(--mint),#f8f4c5 48%,var(--pink))}.wholesale-contact__layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,130px);align-items:start}.wholesale-contact__copy .section__title{font-size:clamp(70px,8vw,120px)}.wholesale-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:30px;border-radius:30px;background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 24px 80px rgba(52,66,55,.09)}.wholesale-form label{display:flex;flex-direction:column;gap:8px}.wholesale-form label span{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.wholesale-form input,.wholesale-form textarea{width:100%;border:1px solid rgba(29,24,26,.11);border-radius:14px;background:#fff;padding:14px;color:var(--ink);font-size:14px;outline:none}.wholesale-form textarea{resize:vertical;min-height:130px}.wholesale-form input:focus,.wholesale-form textarea:focus{border-color:var(--pink-deep);box-shadow:0 0 0 3px rgba(199,128,147,.1)}.wholesale-form__wide{grid-column:1/-1}.wholesale-form__bottom{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.wholesale-form__message{margin:0;flex:1;min-width:180px;font-size:12px;line-height:1.4}.wholesale-form__message.is-success{color:#3e7046}.wholesale-form__message.is-error{color:#a33131}.wholesale-form__honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media(max-width:1000px){.wholesale-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wholesale-terms__grid{grid-template-columns:1fr 1fr}.wholesale-term:last-child{grid-column:1/-1}.brand-story{grid-template-columns:1fr;gap:30px}.brand-story__copy{padding-top:0}.wholesale-contact__layout{grid-template-columns:1fr}}
@media(max-width:700px){.product-card__promo{top:10px;left:10px;padding:6px 8px;font-size:7px}.product-modal__gift{margin-top:16px;padding:13px}.product-modal__gift-head{display:block}.product-modal__gift-head strong{display:block;max-width:none;margin-top:5px;text-align:left;font-size:16px}.brand-story__lead{margin-top:24px;font-size:32px}.brand-story__copy p{font-size:15px}.brand-story__signature{font-size:23px!important}.wholesale-hero{min-height:78svh;padding:120px var(--page-padding) 72px}.wholesale-hero__title{font-size:clamp(64px,19vw,92px)}.wholesale-hero__lead{margin-top:28px;font-size:15px}.wholesale-hero__orb--one{width:250px;height:250px;right:-18%;top:18%}.wholesale-hero__orb--two{width:300px;height:300px}.wholesale-terms__heading{grid-template-columns:1fr;gap:8px}.wholesale-terms__grid{margin-top:38px;grid-template-columns:1fr}.wholesale-term,.wholesale-term:last-child{grid-column:auto;min-height:250px;border-radius:22px}.wholesale-term--featured{transform:none}.wholesale-term__price{font-size:54px}.wholesale-grid,.wholesale-grid--compact{margin-top:36px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.wholesale-card{border-radius:16px}.wholesale-card__price{top:9px;right:9px;padding:6px 8px;font-size:8px}.wholesale-card__body{padding:13px 12px 15px}.wholesale-card__body h3{font-size:21px}.wholesale-form{grid-template-columns:1fr;padding:20px;border-radius:22px}.wholesale-form__wide{grid-column:1}.wholesale-form__bottom{align-items:stretch;flex-direction:column}.wholesale-form__bottom .button{width:100%}}
.retail-promo{margin:42px 0 28px;padding:20px 22px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;border-radius:24px;background:linear-gradient(100deg,var(--pink),#fff8fa 55%,var(--yellow));border:1px solid rgba(29,24,26,.05)}.retail-promo__mark{min-width:82px;height:58px;padding:0 16px;display:grid;place-items:center;border-radius:18px;background:#fff;font-family:Georgia,"Times New Roman",serif;font-size:31px;line-height:1}.retail-promo__copy{display:flex;flex-direction:column;gap:4px}.retail-promo__copy strong{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:400}.retail-promo__copy span{font-size:12px;line-height:1.45;color:var(--ink-soft)}.retail-promo__gift{font-size:30px}
@media(max-width:700px){.site-nav a[data-dvv-opt-link]{display:inline-flex}.site-nav{gap:9px}.retail-promo{margin:28px 0 18px;padding:15px;grid-template-columns:auto 1fr;gap:12px;border-radius:18px}.retail-promo__mark{min-width:62px;height:48px;padding:0 10px;border-radius:14px;font-size:25px}.retail-promo__copy strong{font-size:20px}.retail-promo__copy span{font-size:10px}.retail-promo__gift{display:none}}


/* =========================================================
   V20.1 — wholesale clarity / navigation emphasis
   ========================================================= */
.site-nav a[data-dvv-opt-link]{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 16px;
    border:1.5px solid #c94d58;
    border-radius:999px;
    background:#fff7f7;
    color:#a92f3b;
    font-weight:700;
    transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease,opacity .25s ease;
}
.site-nav a[data-dvv-opt-link]:hover{
    opacity:1;
    transform:translateY(-1px);
    background:#c94d58;
    border-color:#c94d58;
    color:#fff;
}
.site-cart{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1.5px solid #5c9d68;
    background:#f5fbf6;
    color:#356b40;
    font-weight:700;
    transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease,opacity .25s ease;
}
.site-cart:hover{
    opacity:1!important;
    transform:translateY(-1px);
    background:#5c9d68;
    border-color:#5c9d68;
    color:#fff;
}

.wholesale-term--featured .wholesale-term__label{
    max-width:280px;
    font-size:13px;
    line-height:1.25;
}
.wholesale-term--featured .wholesale-term__text strong{
    color:var(--ink);
    font-weight:800;
}

.wholesale-card{
    display:flex;
    flex-direction:column;
}
.wholesale-card__body{
    display:flex;
    min-height:154px;
    flex-direction:column;
}
.wholesale-card__footer{
    margin-top:auto;
    padding-top:16px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:10px;
    border-top:1px solid rgba(29,24,26,.08);
}
.wholesale-card__price{
    position:static;
    padding:0;
    border-radius:0;
    background:none;
    box-shadow:none;
    font-family:Georgia,"Times New Roman",serif;
    font-size:34px;
    font-weight:400;
    line-height:.9;
    color:#d04d63;
}
.wholesale-card__footer span{
    padding:6px 9px;
    border-radius:999px;
    background:#fff0f3;
    color:#ad3f53;
    font-size:8px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    white-space:nowrap;
}
.wholesale-form--simple{
    grid-template-columns:1fr 1fr;
    align-items:end;
}
.wholesale-form--simple .wholesale-form__bottom{
    margin-top:4px;
}

@media(max-width:700px){
    .site-nav a[data-dvv-opt-link]{
        min-height:34px;
        padding:0 11px;
        font-size:10px;
    }
    .site-cart{
        min-height:34px;
        padding:0 11px;
        font-size:10px;
    }
    .wholesale-card__body{min-height:128px}
    .wholesale-card__footer{
        padding-top:12px;
        display:block;
    }
    .wholesale-card__price{
        display:block;
        font-size:28px;
    }
    .wholesale-card__footer span{
        display:inline-block;
        margin-top:8px;
        font-size:7px;
    }
    .wholesale-form--simple{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   V20.2 — wholesale mobile hero title alignment fix
   ========================================================= */
.wholesale-hero__title span{
    display:block;
}

@media(max-width:700px){
    .wholesale-hero{
        min-height:auto;
        padding:112px var(--page-padding) 68px;
    }
    .wholesale-hero__inner{
        width:100%;
        max-width:100%;
    }
    .wholesale-hero__title{
        width:100%;
        max-width:100%;
        margin:0;
        font-size:clamp(52px,13.2vw,68px);
        line-height:.90;
        letter-spacing:-.045em;
        text-align:left;
        word-break:normal;
        overflow-wrap:normal;
    }
    .wholesale-hero__title span{
        display:block;
        width:100%;
        white-space:nowrap;
    }
    .wholesale-hero__lead{
        max-width:100%;
        margin:26px 0 26px;
    }
}

@media(max-width:380px){
    .wholesale-hero__title{
        font-size:50px;
        letter-spacing:-.05em;
    }
}

/* =========================================================
   V27 — SMALL ALL-I MOBILE SCRUB HERO
   Desktop: sharp static collection + central all-I video only.
   Mobile: sharp static collection + a small central all-I H.264 layer.
   Scroll can move forward/backward while Safari only seeks a 310x800 video.
   ========================================================= */
.hero-v25{
    position:relative;
    height:330vh;
    min-height:330vh;
    background:#91d5f7;
}

.hero-v25__stage{
    position:sticky;
    z-index:2;
    top:74px;
    width:100%;
    height:calc(100vh - 74px);
    min-height:calc(100vh - 74px);
    overflow:hidden;
    background:#91d5f7;
    isolation:isolate;
    contain:layout paint;
}

@supports (height:100svh){
    .hero-v25__stage{
        height:calc(100svh - 74px);
        min-height:calc(100svh - 74px);
    }
}

.admin-bar .hero-v25__stage{
    top:106px;
    height:calc(100vh - 106px);
    min-height:calc(100vh - 106px);
}

@supports (height:100svh){
    .admin-bar .hero-v25__stage{
        height:calc(100svh - 106px);
        min-height:calc(100svh - 106px);
    }
}

.hero-v25__composition{
    position:absolute;
    z-index:1;
    left:50%;
    top:50%;
    overflow:hidden;
    background:#91d5f7;
    transform:translate3d(-50%,-50%,0);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
}

.hero-v25__composition--desktop{aspect-ratio:16/9}
.hero-v25__composition--mobile{display:none;aspect-ratio:9/16}

.hero-v25__poster{
    position:absolute;
    z-index:1;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    object-fit:fill;
    user-select:none;
    -webkit-user-select:none;
    pointer-events:none;
    filter:contrast(1.018) saturate(1.012);
    transform:translateZ(0);
}

.hero-v25__desktop-motion{
    position:absolute;
    z-index:3;
    top:0;
    left:28.125%;
    width:43.75%;
    height:100%;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 7%,#000 93%,transparent 100%);
    mask-image:linear-gradient(to right,transparent 0%,#000 7%,#000 93%,transparent 100%);
    will-change:opacity;
}

.hero-v25__desktop-video{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    object-fit:fill;
    pointer-events:none;
    user-select:none;
    -webkit-user-select:none;
    transform:translateZ(0);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
}

/* Mobile V28.2: 96 real states across 4 compact JPEG atlases.
   Sheet 1 starts immediately; sheets 2–4 decode asynchronously right after.
   No video seeking or runtime frame downloads. Adjacent states crossfade. */
.hero-v28__mobile-motion{
    position:absolute;
    z-index:3;
    left:28.4722%;
    top:19.53125%;
    width:43.0556%;
    height:62.5%;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
    transform:translateZ(0);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%);
    mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%);
    will-change:opacity;
}

.hero-v28__mobile-canvas{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    pointer-events:none;
    transform:translateZ(0);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
}

.hero-v28__mobile-atlas{
    position:absolute;
    width:1px;
    height:1px;
    left:0;
    top:0;
    opacity:.001;
    pointer-events:none;
    user-select:none;
    -webkit-user-select:none;
}

.hero-v25__brand{
    position:absolute;
    z-index:10;
    top:3.1%;
    left:50%;
    width:92%;
    text-align:center;
    color:#171315;
    pointer-events:none;
    transform:translate3d(-50%,0,0);
    transform-origin:center top;
    will-change:opacity,transform;
}

.hero-v25__brand h1{
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(48px,4.8vw,82px);
    font-weight:400;
    line-height:.92;
    letter-spacing:-.045em;
    white-space:nowrap;
    text-shadow:0 2px 18px rgba(255,255,255,.16);
}

.hero-v25__brand span{
    display:block;
    margin-top:9px;
    font-size:clamp(10px,.8vw,14px);
    font-weight:500;
    line-height:1;
    letter-spacing:.5em;
    padding-left:.5em;
}

.hero-lid-hint{
    position:absolute;
    z-index:14;
    top:53%;
    left:50%;
    width:max-content;
    max-width:88vw;
    opacity:1;
    visibility:visible;
    pointer-events:none;
    transform:translate3d(-50%,0,0);
    transform-origin:center;
    will-change:opacity,transform;
    transition:opacity .2s ease,visibility .2s ease;
}

.hero-lid-hint__bubble{
    min-height:50px;
    padding:0 17px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:1.5px solid rgba(255,103,143,.88);
    border-radius:999px;
    background:rgba(255,255,255,.92);
    box-shadow:0 15px 42px rgba(35,48,60,.14);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
    animation:dvv-v26-hint-float 2.3s ease-in-out infinite;
}

.hero-lid-hint__spark{color:#d15c78;font-size:15px}
.hero-lid-hint__text{font-size:13px;font-weight:700;white-space:nowrap}
.hero-lid-hint__arrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:#1f181a;
    color:#fff;
    font-size:14px;
}

@keyframes dvv-v26-hint-float{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(0,-8px,0)}
}

.hero-hint-dismissed .hero-lid-hint{opacity:0!important;visibility:hidden!important}

.hero-v25__scroll{
    position:absolute;
    z-index:12;
    right:18px;
    bottom:24px;
    display:flex;
    align-items:center;
    gap:10px;
    color:rgba(18,31,42,.67);
    font-size:9px;
    font-weight:600;
    letter-spacing:.28em;
    writing-mode:vertical-rl;
    pointer-events:none;
    will-change:opacity;
}

.hero-v25__scroll-line{width:1px;height:34px;background:currentColor;opacity:.5}

@media(max-width:700px){
    .hero-v25{
        height:300svh;
        min-height:300svh;
    }

    .hero-v25__stage{
        top:66px;
        height:calc(100svh - 66px);
        min-height:calc(100svh - 66px);
        contain:layout paint;
    }

    .admin-bar .hero-v25__stage{
        top:112px;
        height:calc(100svh - 112px);
        min-height:calc(100svh - 112px);
    }

    .hero-v25__composition--desktop{display:none}
    .hero-v25__composition--mobile{display:block}

    .hero-v25__brand{top:7.9%;width:96%}
    .hero-v25__brand h1{
        font-size:clamp(28px,8vw,39px);
        line-height:.96;
        letter-spacing:-.038em;
    }
    .hero-v25__brand span{
        margin-top:7px;
        font-size:8px;
        letter-spacing:.43em;
        padding-left:.43em;
    }

    .hero-lid-hint{top:54%;max-width:92vw}
    .hero-lid-hint__bubble{
        min-height:44px;
        padding:0 12px 0 14px;
        gap:8px;
        box-shadow:0 10px 28px rgba(35,48,60,.14);
        backdrop-filter:blur(5px);
        -webkit-backdrop-filter:blur(5px);
    }
    .hero-lid-hint__spark{font-size:12px}
    .hero-lid-hint__text{font-size:11px}
    .hero-lid-hint__arrow{width:25px;height:25px;font-size:12px}
    .hero-v25__scroll{display:none}
}

@media(max-width:390px){
    .hero-v25__brand h1{font-size:clamp(26px,7.7vw,34px)}
    .hero-v25__brand{top:8.2%}
}

@media(prefers-reduced-motion:reduce){
    .hero-v25{height:auto;min-height:0}
    .hero-v25__stage{
        position:relative;
        top:auto!important;
        height:calc(100svh - 66px);
        min-height:620px;
    }
    .hero-v25__desktop-motion,
    .hero-v28__mobile-motion{display:none!important}
    .hero-lid-hint__bubble{animation:none}
}



/* =========================================================
   V30 — PARTNER REVIEWS + SOCIAL FOOTER
   ========================================================= */
.partner-reviews{
    position:relative;
    overflow:hidden;
    background:#fffdfb;
}
.partner-reviews::before{
    content:"";
    position:absolute;
    width:430px;
    height:430px;
    left:-190px;
    top:-140px;
    border-radius:50%;
    background:rgba(244,211,221,.34);
    filter:blur(2px);
    pointer-events:none;
}
.partner-reviews__heading{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(280px,.65fr);
    align-items:end;
    gap:clamp(30px,6vw,90px);
}
.partner-reviews__heading .section__title{
    max-width:760px;
    margin-bottom:0;
    font-size:clamp(58px,7vw,108px);
}
.partner-reviews__intro{
    max-width:560px;
    margin:0 0 9px;
    color:var(--ink-soft);
    font-size:16px;
    line-height:1.65;
}
.partner-reviews__track{
    position:relative;
    z-index:1;
    margin-top:58px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.partner-review{
    position:relative;
    min-height:330px;
    padding:30px;
    display:flex;
    flex-direction:column;
    border:1px solid rgba(29,24,26,.06);
    border-radius:30px;
    overflow:hidden;
    box-shadow:0 20px 60px rgba(58,42,48,.055);
}
.partner-review::after{
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    right:-72px;
    bottom:-85px;
    border-radius:50%;
    background:rgba(255,255,255,.52);
}
.partner-review--pink{background:linear-gradient(145deg,#fae7ec 0%,#fff8f9 100%)}
.partner-review--blue{background:linear-gradient(145deg,#dcecf4 0%,#f7fbfd 100%)}
.partner-review--mint{background:linear-gradient(145deg,#deeee7 0%,#f8fcfa 100%)}
.partner-review--yellow{background:linear-gradient(145deg,#f4f2be 0%,#fffef1 100%)}
.partner-review__top{
    position:relative;
    z-index:1;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}
.partner-review__quote{
    height:64px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:88px;
    font-weight:400;
    line-height:.78;
    color:rgba(29,24,26,.85);
}
.partner-review__meta{
    padding:8px 11px;
    border:1px solid rgba(29,24,26,.07);
    border-radius:999px;
    background:rgba(255,255,255,.72);
    color:rgba(29,24,26,.67);
    font-size:8px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
    white-space:nowrap;
}
.partner-review__text{
    position:relative;
    z-index:1;
    max-width:690px;
    margin:auto 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(24px,2.2vw,34px);
    font-weight:400;
    line-height:1.26;
    letter-spacing:-.025em;
    color:var(--ink);
}
.partner-reviews__footer{
    position:relative;
    z-index:1;
    margin-top:26px;
    padding:22px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    border:1px solid rgba(29,24,26,.07);
    border-radius:24px;
    background:#fff;
}
.partner-reviews__footer p{
    margin:0;
    font-size:15px;
    line-height:1.5;
    color:var(--ink-soft);
}
.partner-reviews__footer .button{flex:0 0 auto}

/* Footer refresh — social links are visible on every page. */
.site-footer{
    padding:0;
    display:block;
    background:var(--ink);
    color:#fff;
}
.site-footer__inner{
    width:100%;
    max-width:var(--container);
    margin:0 auto;
    padding:72px var(--page-padding) 48px;
    display:grid;
    grid-template-columns:1.2fr .55fr 1fr;
    gap:clamp(38px,7vw,110px);
    align-items:start;
}
.site-footer__brand strong{
    display:block;
    color:var(--pink);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(28px,3vw,42px);
    font-weight:400;
    line-height:1;
    letter-spacing:-.035em;
}
.site-footer__brand > span{
    display:block;
    margin-top:8px;
    color:rgba(255,255,255,.58);
    font-size:8px;
    font-weight:700;
    letter-spacing:.42em;
}
.site-footer__brand p{
    max-width:310px;
    margin:24px 0 0;
    color:rgba(255,255,255,.56);
    font-size:12px;
    line-height:1.65;
}
.site-footer__nav{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
}
.site-footer__nav a{
    color:rgba(255,255,255,.78);
    font-family:Georgia,"Times New Roman",serif;
    font-size:20px;
    line-height:1.2;
    text-decoration:none;
    transition:color .2s ease,transform .2s ease;
}
.site-footer__nav a:hover{
    color:#fff;
    transform:translateX(3px);
}
.site-footer__social-title{
    margin:0 0 14px;
    color:rgba(255,255,255,.46);
    font-size:8px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.social-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.social-link{
    min-height:46px;
    padding:0 15px 0 12px;
    display:inline-flex;
    align-items:center;
    gap:9px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:999px;
    background:rgba(255,255,255,.055);
    color:#fff;
    text-decoration:none;
    font-size:11px;
    font-weight:700;
    transition:transform .2s ease,background-color .2s ease,border-color .2s ease;
}
.social-link:hover{
    transform:translateY(-2px);
    border-color:rgba(255,255,255,.28);
    background:rgba(255,255,255,.10);
}
.social-link svg{
    width:20px;
    height:20px;
    flex:0 0 20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.site-footer__bottom{
    width:calc(100% - (var(--page-padding) * 2));
    max-width:calc(var(--container) - (var(--page-padding) * 2));
    margin:0 auto;
    padding:22px 0 26px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid rgba(255,255,255,.10);
    color:rgba(255,255,255,.38);
    font-size:9px;
    letter-spacing:.04em;
}
.site-footer__bottom p{margin:0}

@media(max-width:900px){
    .site-footer__inner{grid-template-columns:1fr 1fr}
    .site-footer__socials{grid-column:1/-1}
}

@media(max-width:700px){
    .partner-reviews{
        padding-left:0;
        padding-right:0;
    }
    .partner-reviews .section__inner{
        max-width:none;
        padding-left:var(--page-padding);
        padding-right:0;
    }
    .partner-reviews__heading{
        display:block;
        padding-right:var(--page-padding);
    }
    .partner-reviews__heading .section__title{
        font-size:clamp(48px,14vw,70px);
        line-height:.92;
    }
    .partner-reviews__intro{
        margin-top:24px;
        font-size:14px;
    }
    .partner-reviews__track{
        margin-top:36px;
        padding:0 var(--page-padding) 8px 0;
        display:flex;
        gap:10px;
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }
    .partner-reviews__track::-webkit-scrollbar{display:none}
    .partner-review{
        flex:0 0:min(86vw,380px);
        min-height:360px;
        padding:22px;
        border-radius:24px;
        scroll-snap-align:start;
    }
    .partner-review__quote{font-size:72px}
    .partner-review__meta{font-size:7px}
    .partner-review__text{
        font-size:25px;
        line-height:1.28;
    }
    .partner-reviews__footer{
        margin:20px var(--page-padding) 0 0;
        padding:20px;
        align-items:stretch;
        flex-direction:column;
        border-radius:20px;
    }
    .partner-reviews__footer .button{width:100%}

    .site-footer__inner{
        padding:54px var(--page-padding) 34px;
        grid-template-columns:1fr;
        gap:34px;
    }
    .site-footer__socials{grid-column:auto}
    .site-footer__brand strong{font-size:34px}
    .site-footer__nav{
        padding-top:26px;
        border-top:1px solid rgba(255,255,255,.09);
    }
    .site-footer__nav a{font-size:22px}
    .social-links{
        display:grid;
        grid-template-columns:1fr;
    }
    .social-link{
        width:100%;
        min-height:50px;
        justify-content:flex-start;
    }
    .site-footer__bottom{
        width:calc(100% - (var(--page-padding) * 2));
        padding:20px 0 24px;
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }
}

/* =========================================================
   V31 — PROMO TITLE + MOBILE REVIEW CAROUSEL FIX
   ========================================================= */
.retail-promo-title{
    margin:46px 0 10px;
    display:flex;
    align-items:center;
    gap:18px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(42px,5vw,72px);
    font-weight:400;
    line-height:.9;
    letter-spacing:-.045em;
    color:#c45d78;
}
.retail-promo-title::after{
    content:"";
    width:min(220px,22vw);
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(196,93,120,.58),rgba(196,93,120,0));
}
.retail-promo-title + .retail-promo{
    margin-top:0;
}
.partner-reviews__swipe{
    display:none;
}

@media(max-width:700px){
    .retail-promo-title{
        margin:32px 0 10px;
        gap:12px;
        font-size:38px;
        letter-spacing:-.035em;
    }
    .retail-promo-title::after{
        flex:1 1 auto;
        width:auto;
    }

    /* One readable review at a time on iPhone/Safari.
       Use plain percentage widths instead of min() inside flex shorthand,
       because older Safari builds can ignore that shorthand and shrink all cards. */
    .partner-reviews{
        overflow:hidden;
    }
    .partner-reviews .section__inner{
        width:100%;
        max-width:none;
        padding-left:var(--page-padding);
        padding-right:var(--page-padding);
    }
    .partner-reviews__heading{
        padding-right:0;
    }
    .partner-reviews__swipe{
        margin:24px 0 0;
        display:flex;
        align-items:center;
        gap:8px;
        color:rgba(29,24,26,.52);
        font-size:10px;
        font-weight:800;
        letter-spacing:.10em;
        text-transform:uppercase;
    }
    .partner-reviews__swipe span{
        color:#c45d78;
        font-size:18px;
        line-height:1;
    }
    .partner-reviews__track{
        width:100%;
        margin-top:16px;
        padding:0 0 10px;
        display:flex !important;
        grid-template-columns:none !important;
        gap:12px;
        overflow-x:auto;
        overflow-y:hidden;
        scroll-snap-type:x mandatory;
        scroll-padding-left:0;
        overscroll-behavior-x:contain;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }
    .partner-reviews__track::-webkit-scrollbar{
        display:none;
    }
    .partner-review{
        box-sizing:border-box;
        flex-grow:0;
        flex-shrink:0;
        flex-basis:calc(100% - 18px);
        width:calc(100% - 18px);
        min-width:calc(100% - 18px);
        max-width:none;
        min-height:0;
        padding:22px 20px 24px;
        border-radius:24px;
        scroll-snap-align:start;
        scroll-snap-stop:always;
        box-shadow:0 14px 42px rgba(58,42,48,.07);
    }
    .partner-review::after{
        width:130px;
        height:130px;
        right:-55px;
        bottom:-62px;
    }
    .partner-review__top{
        align-items:center;
        gap:10px;
    }
    .partner-review__quote{
        height:46px;
        font-size:64px;
    }
    .partner-review__meta{
        padding:7px 9px;
        font-size:6.5px;
        letter-spacing:.075em;
    }
    .partner-review__text{
        max-width:none;
        margin:28px 0 0;
        font-size:19px;
        line-height:1.42;
        letter-spacing:-.018em;
    }
    .partner-reviews__footer{
        margin:18px 0 0;
    }
}

@media(max-width:380px){
    .partner-review{
        flex-basis:calc(100% - 10px);
        width:calc(100% - 10px);
        min-width:calc(100% - 10px);
        padding:20px 18px 22px;
    }
    .partner-review__text{
        font-size:18px;
    }
}

/* =========================================================
   V32 — OPT PAGE REWORK + MOBILE REVIEWS STACK FIX
   ========================================================= */
.wholesale-terms__heading--stack{
    display:block;
}
.wholesale-terms__heading--stack .section__eyebrow{
    margin-bottom:14px;
}
.wholesale-terms__heading--stack .section__title{
    max-width:980px;
}
.wholesale-copy{
    margin-top:34px;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
    gap:28px;
    align-items:start;
}
.wholesale-copy__main,
.wholesale-copy__facts,
.wholesale-note,
.wholesale-terms__single{
    position:relative;
    z-index:1;
}
.wholesale-copy__main{
    padding:32px;
    border:1px solid rgba(29,24,26,.07);
    border-radius:30px;
    background:linear-gradient(180deg,#fff 0%,#fffaf8 100%);
    box-shadow:0 18px 55px rgba(58,42,48,.05);
}
.wholesale-copy__title{
    margin:0 0 18px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(34px,4vw,58px);
    font-weight:400;
    line-height:.95;
    letter-spacing:-.03em;
}
.wholesale-copy__main p,
.wholesale-note p{
    margin:0;
    font-size:16px;
    line-height:1.75;
    color:var(--ink-soft);
}
.wholesale-copy__main p + p,
.wholesale-note p + p{
    margin-top:16px;
}
.wholesale-copy__facts{
    display:grid;
    gap:14px;
}
.wholesale-copy__fact{
    padding:24px 24px 22px;
    border-radius:26px;
    background:linear-gradient(145deg,#f7f0f2 0%,#fff 100%);
    border:1px solid rgba(29,24,26,.06);
}
.wholesale-copy__fact strong{
    display:block;
    margin:0 0 8px;
    font-size:14px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.wholesale-copy__fact p{
    margin:0;
    font-size:14px;
    line-height:1.6;
    color:var(--ink-soft);
}
.wholesale-note{
    margin-top:22px;
    padding:28px 30px;
    border-radius:30px;
    background:#fff;
    border:1px solid rgba(29,24,26,.06);
    box-shadow:0 18px 55px rgba(58,42,48,.04);
}
.wholesale-note strong{
    color:var(--ink);
}
.wholesale-note__cta{
    color:var(--ink) !important;
    font-weight:700;
}
.wholesale-terms__single{
    margin-top:28px;
    display:flex;
    justify-content:center;
}
.wholesale-term--single{
    width:min(100%,820px);
    min-height:0;
    padding:36px 38px 34px;
    transform:none;
    box-shadow:0 28px 80px rgba(136,119,18,.14);
}
.wholesale-term--single .wholesale-term__icon{
    top:28px;
    left:30px;
    font-size:36px;
}
.wholesale-term--single .wholesale-term__badge{
    top:28px;
    right:30px;
    padding:10px 14px;
    font-size:11px;
}
.wholesale-term__eyebrow{
    margin:64px 0 10px;
    font-size:13px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:rgba(29,24,26,.72);
}
.wholesale-term--single .wholesale-term__label{
    margin:0 0 12px;
    font-size:24px;
    font-weight:800;
    letter-spacing:.04em;
    color:var(--ink);
}
.wholesale-term--single .wholesale-term__price{
    font-size:92px;
    line-height:.92;
    letter-spacing:-.04em;
}
.wholesale-term--single .wholesale-term__text{
    max-width:560px;
    margin-top:16px;
    font-size:18px;
    line-height:1.6;
    color:rgba(29,24,26,.82);
}
.wholesale-term--single .wholesale-term__text strong{
    color:var(--ink);
}

@media(max-width:1000px){
    .wholesale-copy{
        grid-template-columns:1fr;
    }
}

@media(max-width:700px){
    .wholesale-copy{
        margin-top:24px;
        gap:16px;
    }
    .wholesale-copy__main,
    .wholesale-note{
        padding:22px 20px;
        border-radius:22px;
    }
    .wholesale-copy__title{
        font-size:34px;
    }
    .wholesale-copy__main p,
    .wholesale-note p{
        font-size:15px;
        line-height:1.7;
    }
    .wholesale-copy__fact{
        padding:18px 18px 17px;
        border-radius:20px;
    }
    .wholesale-terms__single{
        margin-top:18px;
    }
    .wholesale-term--single{
        width:100%;
        padding:24px 20px 22px;
        border-radius:24px;
    }
    .wholesale-term--single .wholesale-term__icon{
        top:18px;
        left:18px;
        font-size:28px;
    }
    .wholesale-term--single .wholesale-term__badge{
        top:18px;
        right:18px;
        padding:8px 10px;
        font-size:9px;
    }
    .wholesale-term__eyebrow{
        margin-top:48px;
        font-size:10px;
    }
    .wholesale-term--single .wholesale-term__label{
        font-size:18px;
        line-height:1.2;
    }
    .wholesale-term--single .wholesale-term__price{
        font-size:62px;
    }
    .wholesale-term--single .wholesale-term__text{
        font-size:15px;
        line-height:1.58;
    }

    /* Safer mobile reviews: stack vertically instead of horizontal slider. */
    .partner-reviews__swipe{
        display:none !important;
    }
    .partner-reviews .section__inner{
        padding-right:var(--page-padding);
    }
    .partner-reviews__track{
        margin-top:26px;
        padding:0;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px;
        overflow:visible;
    }
    .partner-review{
        width:100%;
        min-width:0;
        flex:none;
        min-height:0;
        padding:20px 18px 22px;
        border-radius:22px;
        scroll-snap-align:none;
        scroll-snap-stop:normal;
    }
    .partner-review__text{
        margin-top:18px;
        font-size:18px;
        line-height:1.45;
    }
    .partner-reviews__footer{
        margin:16px 0 0;
    }
}

/* =========================================================
   V33 — refined wholesale cooperation section
   ========================================================= */
.wholesale-terms__heading--refined{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,430px);
    gap:28px;
    align-items:end;
}
.wholesale-terms__intro{
    margin:0;
    max-width:430px;
    font-size:17px;
    line-height:1.7;
    color:var(--ink-soft);
}

.wholesale-story{
    margin-top:34px;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:22px;
}
.wholesale-story__intro-card,
.wholesale-benefit,
.wholesale-flow__card,
.wholesale-cta-strip{
    border:1px solid rgba(29,24,26,.06);
    box-shadow:0 18px 55px rgba(58,42,48,.045);
}
.wholesale-story__intro-card{
    padding:34px;
    border-radius:34px;
    background:linear-gradient(180deg,#fff 0%,#fffaf8 100%);
}
.wholesale-story__eyebrow{
    margin:0 0 12px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:rgba(29,24,26,.55);
}
.wholesale-story__title{
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(38px,4vw,60px);
    font-weight:400;
    line-height:.92;
    letter-spacing:-.035em;
}
.wholesale-story__lead{
    margin:18px 0 0;
    font-size:18px;
    line-height:1.75;
    color:var(--ink-soft);
}
.wholesale-story__tags{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:28px 0 0;
    padding:0;
    list-style:none;
}
.wholesale-story__tags li{
    padding:12px 16px;
    border-radius:999px;
    background:rgba(255,255,255,.95);
    border:1px solid rgba(29,24,26,.08);
    font-size:14px;
    font-weight:600;
    color:var(--ink);
}

.wholesale-story__benefits{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.wholesale-benefit{
    padding:24px 22px 22px;
    border-radius:28px;
}
.wholesale-benefit--pink{ background:#f7e9ee; }
.wholesale-benefit--blue{ background:#e7f2fb; }
.wholesale-benefit--mint{ background:#e8f5ef; }
.wholesale-benefit--cream{ background:#fbf3df; }
.wholesale-benefit__num{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    height:42px;
    padding:0 12px;
    border-radius:999px;
    background:rgba(255,255,255,.78);
    font-size:12px;
    font-weight:800;
    letter-spacing:.14em;
    color:var(--ink);
}
.wholesale-benefit h3{
    margin:18px 0 10px;
    font-size:22px;
    line-height:1.15;
    letter-spacing:-.03em;
}
.wholesale-benefit p{
    margin:0;
    font-size:15px;
    line-height:1.65;
    color:rgba(29,24,26,.72);
}

.wholesale-flow{
    margin-top:22px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.wholesale-flow__card{
    padding:26px 24px;
    border-radius:28px;
    background:#fff;
}
.wholesale-flow__step{
    display:inline-block;
    margin-bottom:14px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:rgba(29,24,26,.5);
}
.wholesale-flow__card h3{
    margin:0 0 10px;
    font-size:24px;
    line-height:1.15;
    letter-spacing:-.03em;
}
.wholesale-flow__card p{
    margin:0;
    font-size:15px;
    line-height:1.68;
    color:var(--ink-soft);
}

.wholesale-cta-strip{
    margin-top:22px;
    padding:24px 28px;
    border-radius:28px;
    background:linear-gradient(135deg,#fcf0f4 0%,#fff7df 100%);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.wholesale-cta-strip__eyebrow{
    margin:0 0 6px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:rgba(29,24,26,.5);
}
.wholesale-cta-strip__text{
    margin:0;
    font-size:18px;
    line-height:1.55;
    color:var(--ink);
    max-width:760px;
}

@media(max-width:1100px){
    .wholesale-terms__heading--refined,
    .wholesale-story{
        grid-template-columns:1fr;
    }
    .wholesale-terms__intro{
        max-width:none;
    }
    .wholesale-flow{
        grid-template-columns:1fr;
    }
}

@media(max-width:700px){
    .wholesale-terms__heading--refined{
        gap:16px;
    }
    .wholesale-terms__intro{
        font-size:15px;
        line-height:1.65;
    }
    .wholesale-story{
        margin-top:22px;
        gap:14px;
    }
    .wholesale-story__intro-card{
        padding:24px 20px;
        border-radius:24px;
    }
    .wholesale-story__title{
        font-size:34px;
    }
    .wholesale-story__lead{
        font-size:15px;
        line-height:1.7;
        margin-top:14px;
    }
    .wholesale-story__tags{
        gap:10px;
        margin-top:18px;
    }
    .wholesale-story__tags li{
        padding:10px 12px;
        font-size:13px;
    }
    .wholesale-story__benefits{
        grid-template-columns:1fr;
        gap:12px;
    }
    .wholesale-benefit{
        padding:20px 18px 18px;
        border-radius:22px;
    }
    .wholesale-benefit h3{
        font-size:19px;
        margin-top:14px;
    }
    .wholesale-benefit p,
    .wholesale-flow__card p{
        font-size:14px;
        line-height:1.6;
    }
    .wholesale-flow{
        margin-top:14px;
        gap:12px;
    }
    .wholesale-flow__card{
        padding:20px 18px;
        border-radius:22px;
    }
    .wholesale-flow__card h3{
        font-size:19px;
    }
    .wholesale-cta-strip{
        margin-top:14px;
        padding:18px;
        border-radius:22px;
        flex-direction:column;
        align-items:flex-start;
    }
    .wholesale-cta-strip__text{
        font-size:15px;
        line-height:1.6;
    }
    .wholesale-cta-strip .button{
        width:100%;
        justify-content:center;
    }
}

/* =========================================================
   V34 — promo stays before catalog, conditions after reviews
   ========================================================= */
.wholesale-promo{
    background:#fff;
    padding-top:70px;
    padding-bottom:70px;
}
.wholesale-terms__single--top{
    margin-top:0;
}
.wholesale-terms--after-reviews{
    background:#fffdfb;
}
@media(max-width:700px){
    .wholesale-promo{
        padding-top:42px;
        padding-bottom:42px;
    }
}
