body.home-page {
    background: color-mix(in srgb, var(--pink-soft) 48%, #ffffff);
    overflow-x: hidden;
    overflow-y: auto;
}

/* Home hero logo-edge alignment lives in home.css, not global styles.css. */
.home-page {
    --home-header-x: 16px;
    --home-menu-width: min(144px, 36vw);
    --home-header-gap: 14px;
    --home-logo-edge: calc(var(--home-header-x) + var(--home-menu-width) + var(--home-header-gap));
}

@media (min-width: 1280px) {
    .home-page {
        --home-header-x: 32px;
        --home-menu-width: 144px;
        --home-header-gap: 18px;
    }
}

@media (min-width: 1280px) and (max-width: 1366px) {
    .home-page {
        --home-header-x: 24px;
        --home-menu-width: 128px;
        --home-header-gap: 12px;
    }
}

@media (min-width: 1440px) {
    .home-page {
        --home-header-x: 48px;
    }
}

@media (min-width: 1900px) {
    .home-page {
        --home-header-x: var(--bodycare-header-x, min(82.667px, 3.2292vw));
        --home-menu-width: var(--bodycare-header-menu-width, min(176px, 6.875vw));
        --home-header-gap: var(--bodycare-header-wide-left-gap, min(21.333px, 0.8333vw));
        --home-logo-edge: var(--bodycare-content-edge);
    }
}

@media (max-width: 699px) {
    .home-page {
        --home-header-x: 14px;
        --home-menu-width: min(124px, 31vw);
        --home-header-gap: 10px;
    }
}

/* Home tablet hero balance lives in home.css, not global styles.css. */
@media (min-width: 700px) and (max-width: 1279px) {
    .home-page {
        --home-logo-edge: clamp(104px, 12vw, 144px);
    }
}

body.home-page.is-locked {
    overflow: hidden;
}

@media (max-width: 1279px) {
    .home-page {
        padding-bottom: calc(88px + env(safe-area-inset-bottom));
    }
}

main.home-page {
    --home-section-container: min(1680px, calc(100% - (var(--bodycare-space-tablet-x, 24px) * 2)));
    --home-hero-container: var(--bodycare-container-desktop, min(1680px, calc(100vw - 64px)));
    --home-content-edge: max(var(--bodycare-space-tablet-x, 24px), calc((100vw - var(--home-hero-container)) / 2));
    --home-hero-rail-edge: clamp(12px, 2.4vw, 24px);
    --home-hero-rail-left: var(--home-header-x, var(--home-hero-rail-edge));
    --home-hero-rail-right: var(--home-header-x, var(--home-hero-rail-edge));
    --home-hero-control-edge: max(48px, calc((100vw - var(--home-hero-container)) / 2));
    --home-hero-arrow-bottom: 60px;
    --home-hero-progress-bottom: 28px;
    --home-theme-dark: rgb(var(--theme-deep-rgb));
    --home-satin-pink: rgba(var(--theme-accent-rgb), .055);
    --home-satin-peach: rgba(var(--theme-accent-glow-rgb), .07);
    --home-satin-mint: rgba(var(--theme-accent-glow-rgb), .06);
    position: relative;
    isolation: isolate;
    background:
        linear-gradient(126deg, rgba(255, 255, 255, .98) 0 27%, rgba(var(--theme-accent-rgb), .08) 27% 38%, transparent 38% 100%),
        linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--pink-soft) 52%, #ffffff) 36%, #fff 66%, color-mix(in srgb, var(--pink-soft) 36%, #ffffff) 100%);
    overflow: visible;
}

main.home-page::before,
main.home-page::after {
    display: none;
    content: none;
}

.home-page .home-hero,
.home-page .home-section {
    position: relative;
    z-index: 1;
}

.home-section {
    width: var(--home-section-container);
    margin: 0 auto;
    padding: 72px 0 0;
    content-visibility: auto;
    contain-intrinsic-size: 720px;
}

.home-section__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 26px;
}

.home-eyebrow {
    margin: 0 0 8px;
    color: #8d8a96;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-title {
    margin: 0;
    color: var(--home-theme-dark, var(--ink));
    font-size: clamp(34px, 4vw, 58px);
    line-height: .9;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-link {
    border: 0;
    border-bottom: 2px solid var(--pink);
    background: transparent;
    color: var(--pink);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.home-hero {
    position: relative;
    height: calc(100vh - var(--bodycare-site-header-height, 62px));
    height: calc(100dvh - var(--bodycare-site-header-height, 62px));
    min-height: calc(100vh - var(--bodycare-site-header-height, 62px));
    min-height: calc(100dvh - var(--bodycare-site-header-height, 62px));
    background: #160613;
    isolation: isolate;
}

.home-hero__slides,
.home-hero__slide,
.home-hero__picture,
.home-hero__picture img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home-hero__slide {
    opacity: 0;
    pointer-events: none;
    transition: opacity .45s ease;
}

.home-hero__slide.is-active {
    opacity: 1;
    pointer-events: auto;
}

.home-hero__picture img {
    object-fit: cover;
}

.home-hero__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, .48), rgba(0, 0, 0, .08) 62%, rgba(0, 0, 0, .16));
}

.home-hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: inherit;
    width: var(--home-hero-container);
    margin: 0 auto;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 80px 0 108px;
    color: #fff;
}

.home-hero__eyebrow {
    margin: 0 0 18px;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(16px, 1.5vw, 22px);
    font-weight: 900;
    text-transform: uppercase;
}

.home-hero__title {
    max-width: 720px;
    margin: 0;
    font-size: clamp(48px, 6vw, 112px);
    line-height: .9;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-hero__description {
    max-width: 560px;
    margin: 22px 0 0;
    color: rgba(255, 255, 255, .86);
    font-size: 18px;
    line-height: 1.45;
}

.home-hero__button {
    display: inline-flex;
    min-width: 260px;
    height: 54px;
    align-items: center;
    justify-content: center;
    margin-top: 34px;
    border-radius: 999px;
    background: var(--pink);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
}

.home-hero__controls {
    position: absolute;
    right: var(--home-hero-control-edge);
    bottom: 42px;
    z-index: 3;
    display: flex;
    gap: var(--home-hero-control-gap, 10px);
}

.home-round-button {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    color: #111;
    cursor: pointer;
}

.home-hero__progress {
    position: absolute;
    left: max(48px, calc((100vw - 1680px) / 2));
    right: max(48px, calc((100vw - 1680px) / 2));
    bottom: 28px;
    z-index: 3;
    display: grid;
    grid-auto-flow: column;
    gap: 8px;
}

.home-hero__progress span {
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .42);
}

.home-hero__progress span.is-active {
    background: var(--pink);
}

.home-brand-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.home-brand-card,
.home-solution-card,
.home-offer-card {
    position: relative;
    min-height: 240px;
    overflow: hidden;
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    isolation: isolate;
}

.home-brand-card img,
.home-solution-card img,
.home-offer-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity .25s ease, transform .35s ease;
}

.home-brand-card::after,
.home-solution-card::after,
.home-offer-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .62));
}

.home-brand-card:hover img,
.home-solution-card:hover img,
.home-offer-card:hover img {
    transform: scale(1.035);
}

.home-brand-card__content,
.home-solution-card__content,
.home-offer-card__content {
    position: absolute;
    inset: auto 22px 22px;
    z-index: 2;
}

.home-brand-card h3,
.home-solution-card h3,
.home-offer-card h3 {
    margin: 0 0 6px;
    font-size: clamp(24px, 2.4vw, 40px);
    line-height: .95;
    font-weight: 950;
    text-transform: uppercase;
}

.home-brand-card p,
.home-solution-card p,
.home-offer-card p {
    max-width: 420px;
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
}

.home-feed-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 22px;
}

.home-feed-tabs button {
    min-width: 72px;
    height: 42px;
    border: 1px solid var(--home-theme-dark, var(--ink));
    border-radius: 3px;
    background: #fff;
    color: var(--home-theme-dark, var(--ink));
    font-size: 14px;
    font-weight: 850;
    cursor: pointer;
    text-transform: uppercase;
}

.home-feed-tabs button.is-active {
    background: var(--home-theme-dark, var(--ink));
    color: #fff;
}

.home-feed-panel {
    display: none;
}

.home-feed-panel.is-active {
    display: block;
}

.home-products {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.home-solution-card i {
    position: absolute;
    right: 18px;
    top: 20px;
    z-index: 2;
    color: var(--pink);
}

.home-solution-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr 1fr 1fr;
    gap: 18px;
}

.home-solution-card {
    min-height: 220px;
}

.home-solution-card:first-child {
    grid-row: span 2;
    min-height: 458px;
}

.home-solution-card:nth-child(5),
.home-solution-card:nth-child(6) {
    grid-column: span 2;
}

.home-offer-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.home-offer-card {
    min-height: 420px;
}

.home-offer-card__hover {
    opacity: 0;
}

.home-offer-card:hover .home-offer-card__hover {
    opacity: 1;
}

.home-offer-badge,
.home-countdown {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: var(--pink);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.home-offer-badge {
    min-height: 34px;
    padding: 0 14px;
    margin-bottom: 14px;
}

.home-countdown {
    min-height: 44px;
    gap: 12px;
    padding: 0 16px;
    margin-top: 18px;
    background: rgba(0, 0, 0, .48);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.home-countdown strong {
    font-size: 26px;
}

.home-empty {
    padding: 28px;
    border: 1px dashed rgba(var(--theme-accent-rgb), .28);
    border-radius: 8px;
    color: #7b7588;
    font-size: 16px;
}

.home-page .home-section {
    padding: clamp(38px, 4.4vw, 64px) 0;
}

.home-page .home-section__head {
    gap: 10px;
    margin-bottom: clamp(18px, 2.6vw, 30px);
}

.home-page .home-eyebrow {
    margin-bottom: 10px;
    color: #7a7d85;
    font-family: var(--display-font);
    font-size: clamp(14px, 1.2vw, 18px);
    line-height: 1.05;
}

.home-page .home-title {
    max-width: 900px;
    font-family: var(--display-font);
    font-size: clamp(28px, 3.6vw, 48px);
    line-height: 1;
}

.home-page .home-link {
    color: var(--pink);
    font-size: 13px;
    font-weight: 950;
}

.home-discovery-band {
    position: relative;
    z-index: 1;
    isolation: isolate;
}

.home-discovery-band::before {
    position: absolute;
    inset: 0;
    right: 0;
    left: 0;
    z-index: -1;
    width: auto;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--pink-soft) 62%, #ffffff) 0%, color-mix(in srgb, var(--pink-soft) 42%, #ffffff) 48%, color-mix(in srgb, var(--pink-soft) 56%, #ffffff) 100%);
    content: "";
    transform: none;
}

.home-page .home-section--discovery {
    isolation: isolate;
    padding-top: clamp(52px, 5vw, 78px);
    padding-bottom: clamp(48px, 4.6vw, 72px);
}

.home-page .home-section--discovery-end {
    padding-top: clamp(26px, 2.8vw, 42px);
}

.home-page .home-hero,
.home-page .home-hero__content {
    min-height: clamp(560px, 78svh, 760px);
    min-height: clamp(560px, 78dvh, 760px);
}

.home-page .home-hero {
    height: clamp(560px, 78svh, 760px);
    height: clamp(560px, 78dvh, 760px);
    overflow: hidden;
    width: 100%;
    max-width: none;
    color: var(--paper);
}

.home-page .home-hero__picture img {
    object-position: center;
    filter: none;
    transform: scale(1.02);
}

.home-page .home-hero__slide:nth-child(1) .home-hero__picture img,
.home-page .home-hero__slide:nth-child(2) .home-hero__picture img {
    object-position: center right;
}

.home-page .home-hero__slide.is-active .home-hero__picture img {
    animation: homeHeroImageDrift var(--hero-duration) ease-out forwards;
}

.home-page .home-hero__shade {
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .46), rgba(0, 0, 0, .16) 52%, rgba(0, 0, 0, .12)),
        rgba(var(--theme-accent-rgb), .08);
}

.home-page .home-hero__content {
    display: grid;
    width: calc(100% - var(--home-logo-edge) - var(--home-header-x));
    max-width: none;
    align-content: center;
    justify-content: start;
    justify-items: start;
    margin-right: var(--home-header-x);
    margin-left: var(--home-logo-edge);
    padding: 76px 0 116px;
}

.home-page .home-hero__eyebrow,
.home-page .home-hero__title,
.home-page .home-hero__actions {
    opacity: 1;
    filter: none;
    transform: none;
}

.home-page .home-hero__slide.is-active .home-hero__eyebrow,
.home-page .home-hero__slide.is-active .home-hero__title,
.home-page .home-hero__slide.is-active .home-hero__actions {
    animation: none;
}

.home-page .home-hero__slide.is-active .home-hero__eyebrow {
    animation-delay: 100ms;
}

.home-page .home-hero__slide.is-active .home-hero__title {
    animation-delay: 180ms;
}

.home-page .home-hero__slide.is-active .home-hero__actions {
    animation-delay: 260ms;
}

.home-page .home-hero__eyebrow {
    margin-bottom: 14px;
    color: rgba(255, 255, 255, .62);
    font-family: var(--display-font);
    font-size: clamp(15px, 1vw, 20px);
    font-weight: 900;
    line-height: 1.05;
}

.home-page .home-hero__title {
    max-width: 720px;
    font-family: var(--display-font);
    font-size: clamp(48px, 4.55vw, 78px);
    font-weight: 900;
    line-height: .98;
}

.home-page .home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 38px;
}

.home-page .home-hero .home-hero__button {
    position: relative;
    min-width: clamp(230px, 18vw, 320px);
    min-height: 58px;
    height: auto;
    margin-top: 0;
    overflow: hidden;
    background: var(--pink);
    font-size: 15px;
    font-weight: 950;
    transition: background 180ms ease, transform 180ms ease;
}

.home-page .home-hero .home-hero__button::before {
    position: absolute;
    inset: -70% -35%;
    background:
        radial-gradient(circle at 18% 48%, rgba(255, 255, 255, .95) 0 2px, transparent 3px),
        radial-gradient(circle at 38% 28%, rgba(255, 255, 255, .8) 0 1px, transparent 2px),
        radial-gradient(circle at 72% 58%, rgba(255, 255, 255, .9) 0 2px, transparent 3px),
        linear-gradient(115deg, transparent 18%, rgba(255, 255, 255, .52) 46%, transparent 72%);
    content: "";
    opacity: 0;
    pointer-events: none;
    transform: translateX(-45%) rotate(8deg);
}

.home-page .home-hero .home-hero__button--secondary {
    min-width: clamp(190px, 15vw, 260px);
    border: 1px solid rgba(255, 255, 255, .58);
    background: rgba(255, 255, 255, .14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.home-page .home-hero .home-hero__button:hover {
    background: var(--pink-hover);
    transform: translateY(-1px);
}

.home-page .home-hero .home-hero__button--secondary:hover {
    background: rgba(255, 255, 255, .24);
}

.home-page .home-hero .home-hero__button:hover::before {
    animation: homeSparkleSweep 780ms ease both;
}

.home-page .home-hero__controls {
    right: var(--home-hero-rail-right);
    bottom: var(--home-hero-arrow-bottom);
    gap: 12px;
}

.home-page .home-round-button {
    width: 44px;
    height: 44px;
    background: #fff;
    color: #111;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .12);
    transition: background 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.home-page .home-round-button:hover,
.home-page .home-round-button:focus-visible {
    background: #fff;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
    transform: translateY(-1px);
}

.home-page .home-round-button svg {
    width: 22px;
    height: 22px;
    stroke-width: 2.35;
}

.home-page .home-hero__progress {
    right: var(--home-hero-rail-right);
    bottom: var(--home-hero-progress-bottom);
    left: var(--home-hero-rail-left);
    grid-auto-flow: initial;
    grid-template-columns: repeat(var(--home-hero-slides, 3), minmax(0, 1fr));
    gap: 9px;
    padding: 0;
}

.home-page .home-hero__progress span {
    position: relative;
    height: 4px;
    overflow: hidden;
    background: rgba(220, 202, 194, .68);
}

.home-page .home-hero__progress span::before {
    position: absolute;
    inset: 0;
    display: block;
    border-radius: inherit;
    background: var(--pink);
    content: "";
    transform: scaleX(0);
    transform-origin: left;
}

.home-page .home-hero__progress span.is-complete::before {
    transform: scaleX(1);
}

.home-page .home-hero__progress span.is-active::before {
    animation: homeHeroProgressFill var(--hero-duration) linear forwards;
}

.home-page .home-brand-grid,
.home-page .home-offer-grid {
    gap: clamp(14px, 1.5vw, 22px);
}

.home-page .home-brand-card,
.home-page .home-solution-card,
.home-page .home-offer-card {
    padding: clamp(16px, 2vw, 24px);
    box-shadow: 0 14px 34px rgba(17, 17, 17, .08);
}

.home-page .home-brand-card {
    min-height: clamp(190px, 22vw, 300px);
}

.home-page .home-section--brand-rail {
    padding-top: clamp(64px, 6.2vw, 108px);
    padding-bottom: clamp(68px, 6.6vw, 116px);
    content-visibility: visible;
    contain-intrinsic-size: none;
}

.home-page .home-section--brand-rail .home-section__head {
    align-items: center;
    margin-bottom: clamp(28px, 3vw, 44px);
}

.home-page .home-section--brand-rail .home-title {
    font-size: clamp(24px, 2.5vw, 38px);
}

.home-page .home-brand-slider {
    --brand-shadow-bleed: clamp(18px, 1.4vw, 28px);

    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) 58px;
    align-items: center;
    gap: clamp(14px, 1.4vw, 24px);
    overflow: visible;
}

.home-page .home-brand-slider__viewport {
    min-width: 0;
    margin-inline: calc(var(--brand-shadow-bleed) * -1);
    padding-inline: var(--brand-shadow-bleed);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-padding-inline: var(--brand-shadow-bleed);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
}

.home-page .home-brand-slider__viewport::-webkit-scrollbar {
    display: none;
}

.home-page .home-brand-slider__viewport.is-grabbing {
    cursor: grabbing;
    scroll-behavior: auto;
}

.home-page .home-brand-rail {
    --brand-gap: clamp(24px, 2.6vw, 46px);

    box-sizing: border-box;
    display: flex;
    gap: var(--brand-gap);
    padding: 30px 0 42px;
}

.home-page .home-brand-chip {
    display: grid;
    flex: 0 0 calc((100% - var(--brand-gap) - var(--brand-gap) - var(--brand-gap) - var(--brand-gap)) / 5);
    min-width: 0;
    justify-items: center;
    gap: 16px;
    color: var(--ink);
    scroll-snap-align: start;
    text-align: center;
    text-decoration: none;
}

.home-page .home-brand-chip__media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(var(--theme-accent-rgb), .13);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .96), color-mix(in srgb, var(--pink-soft) 72%, #ffffff) 42%, color-mix(in srgb, var(--pink-soft) 38%, #ffffff)),
        linear-gradient(90deg, rgba(var(--theme-accent-rgb), .08), transparent 34%, rgba(var(--theme-accent-glow-rgb), .08));
    background-position: 0 0, 0 0;
    background-size: 140% 140%, 160% 100%;
    box-shadow:
        0 18px 36px rgba(28, 20, 28, .1),
        0 0 0 1px rgba(255, 255, 255, .7) inset;
    transition:
        background-position 420ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
}

.home-page .home-brand-chip__media::before,
.home-page .home-brand-chip__media::after {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    content: "";
}

.home-page .home-brand-chip__media::before {
    background:
        linear-gradient(118deg, transparent 0 18%, rgba(var(--theme-accent-rgb), .1) 18% 19%, transparent 19% 54%, rgba(var(--theme-accent-glow-rgb), .1) 54% 55%, transparent 55%),
        linear-gradient(180deg, rgba(255, 255, 255, .64), transparent 48%);
    transform: translateX(-7%);
    transition: transform 420ms ease;
}

.home-page .home-brand-chip__media::after {
    inset: auto 0 0;
    height: 42%;
    background: linear-gradient(0deg, rgba(255, 255, 255, .68), transparent);
}

.home-page .home-brand-chip__media img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transform: none;
}

.home-page .home-brand-chip__body {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    max-width: 100%;
    min-height: 58px;
    padding-inline: 6px;
}

.home-page .home-brand-chip__body strong {
    font-family: var(--display-font);
    font-size: clamp(15px, 1.05vw, 19px);
    font-weight: 900;
    line-height: 1.05;
    text-transform: uppercase;
    transition: color 180ms ease;
}

.home-page .home-brand-chip__body small {
    display: -webkit-box;
    max-width: min(260px, 100%);
    overflow: hidden;
    color: rgba(24, 24, 27, .58);
    font-size: clamp(11px, .72vw, 13px);
    font-weight: 760;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-page .home-brand-chip:hover,
.home-page .home-brand-chip:focus-visible {
    color: var(--pink);
}

.home-page .home-brand-chip:hover .home-brand-chip__media,
.home-page .home-brand-chip:focus-visible .home-brand-chip__media {
    background-position: 100% 0, 42% 0;
    box-shadow:
        0 22px 44px rgba(28, 20, 28, .14),
        0 0 0 1px rgba(var(--theme-accent-rgb), .22);
    transform: translateY(-2px);
}

.home-page .home-brand-chip:hover .home-brand-chip__media::before,
.home-page .home-brand-chip:focus-visible .home-brand-chip__media::before {
    transform: translateX(7%);
}

.home-page .home-brand-chip:hover img,
.home-page .home-brand-chip:focus-visible img {
    transform: none;
}

.home-page .home-brand-slider__arrow {
    z-index: 2;
    display: inline-flex;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    justify-self: center;
    border: 1px solid rgba(var(--theme-accent-rgb), .18);
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    box-shadow: none;
    color: var(--ink);
    cursor: pointer;
    transition:
        background 180ms ease,
        color 180ms ease,
        opacity 180ms ease,
        transform 180ms ease;
}

.home-page .home-brand-slider__arrow svg {
    width: 24px;
    height: 24px;
    stroke-width: 2.4;
}

.home-page .home-brand-slider__arrow:hover,
.home-page .home-brand-slider__arrow:focus-visible {
    background: var(--pink);
    color: var(--paper);
    transform: translateY(-1px);
}

.home-page .home-brand-slider__arrow.is-disabled {
    opacity: .34;
    pointer-events: none;
}

.home-page .home-brand-card::after,
.home-page .home-solution-card::after {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .06) 0%, rgba(0, 0, 0, .08) 38%, rgba(0, 0, 0, .5)),
        linear-gradient(90deg, rgba(0, 0, 0, .18), transparent 68%);
}

.home-page .home-brand-card h3,
.home-page .home-solution-card h3,
.home-page .home-offer-card h3 {
    max-width: 96%;
    font-family: var(--display-font);
    font-size: clamp(20px, 2.05vw, 30px);
    font-weight: 900;
    line-height: 1.02;
    overflow-wrap: anywhere;
    word-break: normal;
}

.home-page .home-brand-card p,
.home-page .home-solution-card p,
.home-page .home-offer-card p {
    max-width: 320px;
    margin-top: 8px;
    font-size: clamp(12px, 1vw, 14px);
    font-weight: 680;
    line-height: 1.42;
    overflow-wrap: normal;
}

.home-page .home-feed-tabs {
    gap: 12px;
    margin-bottom: 12px;
}

.home-page .home-feed-tabs button {
    min-width: 0;
    height: 44px;
    padding: 0 18px;
    border: 1px solid var(--home-theme-dark, var(--ink));
    border-radius: 3px;
    background: var(--paper);
    color: var(--home-theme-dark, var(--ink));
    font-size: 13px;
    font-weight: 950;
    transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.home-page .home-feed-tabs button:hover,
.home-page .home-feed-tabs button.is-active {
    background: var(--home-theme-dark, var(--ink));
    color: var(--paper);
}

.home-page .home-feed-summary {
    margin: 0 0 24px;
    color: #818181;
    font-size: 14px;
    font-weight: 700;
}

.home-page .home-products {
    gap: 18px;
}

.home-page .home-trend-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(10px, 1.1vw, 14px);
}

.home-page .home-trend-card {
    min-height: clamp(122px, 8vw, 144px);
    padding: clamp(18px, 1.22vw, 22px);
    border-color: rgba(var(--theme-accent-rgb), .24);
    background: rgba(255, 255, 255, .78);
}

.home-page .home-trend-card::before {
    display: none;
    content: none;
}

.home-page .home-trend-card::after {
    display: none;
    content: none;
}

.home-page .home-trend-card:hover,
.home-page .home-trend-card:focus-visible {
    border-color: rgba(var(--theme-accent-rgb), .46);
    background: #fff;
    transform: translateY(-2px);
}

.home-page .home-trend-card h3 {
    color: #111;
    font-family: inherit;
    font-size: clamp(16px, .96vw, 18px);
    font-weight: 760;
    line-height: 1.22;
    overflow-wrap: anywhere;
}

.home-page .home-trend-card__head {
    width: 100%;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.home-page .home-trend-card__head:last-child {
    margin-bottom: 0;
}

.home-page .home-trend-card__head h3 {
    min-width: 0;
}

.home-page .home-trend-card p {
    margin-top: 0;
    margin-left: 34px;
    color: #807984;
    font-size: clamp(13px, .76vw, 14px);
}

.home-page .home-solution-card i {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 8px 18px rgba(var(--theme-accent-rgb), .14);
    transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.home-page .home-trend-card i {
    position: static;
    display: grid;
    width: 24px;
    height: 24px;
    margin-bottom: 0;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--pink);
    transition: color 180ms ease, transform 180ms ease;
}

.home-page .home-solution-card i svg {
    width: 15px;
    height: 15px;
    stroke-width: 2.4;
}

.home-page .home-trend-card i svg {
    width: 22px;
    height: 22px;
    stroke-width: 2.1;
}

.home-page .home-trend-card:hover i,
.home-page .home-trend-card:focus-visible i {
    color: var(--pink-dark);
    transform: translateY(-1px);
}

.home-page .home-solution-grid {
    counter-reset: home-solution-card;
}

.home-page .home-solution-card {
    --solution-accent: rgba(var(--theme-accent-rgb), .42);
    --solution-line: rgba(255, 255, 255, .12);
    background: #21191e;
    counter-increment: home-solution-card;
    box-shadow:
        0 18px 38px rgba(17, 17, 17, .1),
        inset 0 1px 0 rgba(255, 255, 255, .08);
    transition: box-shadow 220ms ease, transform 220ms ease;
}

.home-page .home-solution-card:nth-child(2) {
    --solution-accent: rgba(255, 111, 97, .34);
}

.home-page .home-solution-card:nth-child(3) {
    --solution-accent: rgba(78, 160, 146, .34);
}

.home-page .home-solution-card:nth-child(4) {
    --solution-accent: rgba(203, 149, 67, .36);
}

.home-page .home-solution-card:nth-child(5) {
    --solution-accent: rgba(116, 130, 210, .34);
}

.home-page .home-solution-card:nth-child(6) {
    --solution-accent: rgba(229, 61, 115, .36);
}

.home-page .home-solution-card::before {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    display: inline-grid;
    min-width: 42px;
    height: 28px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: var(--radius-pill);
    background: rgba(17, 17, 17, .3);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    color: var(--paper);
    content: "0" counter(home-solution-card);
    font-size: 12px;
    font-weight: 950;
    line-height: 1;
    transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.home-page .home-solution-card::after {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .06) 0%, rgba(0, 0, 0, .08) 32%, rgba(0, 0, 0, .58)),
        linear-gradient(90deg, var(--solution-accent), transparent 62%),
        linear-gradient(118deg, transparent 0 42%, rgba(255, 255, 255, .035) 47%, var(--solution-line) 53%, rgba(255, 255, 255, .03) 60%, transparent 70%);
    transition: background 220ms ease, opacity 220ms ease;
}

.home-page .home-solution-card:hover,
.home-page .home-solution-card:focus-visible {
    box-shadow: 0 28px 54px rgba(17, 17, 17, .16);
    transform: translateY(-5px);
}

.home-page .home-solution-card:hover::before,
.home-page .home-solution-card:focus-visible::before {
    border-color: rgba(255, 255, 255, .54);
    background: rgba(var(--theme-accent-rgb), .72);
    transform: translateY(-2px);
}

.home-page .home-solution-card:hover::after,
.home-page .home-solution-card:focus-visible::after {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .04) 0%, rgba(0, 0, 0, .04) 30%, rgba(0, 0, 0, .46)),
        linear-gradient(90deg, var(--solution-accent), transparent 68%),
        linear-gradient(118deg, transparent 0 38%, rgba(255, 255, 255, .045) 46%, rgba(255, 255, 255, .16) 54%, rgba(255, 255, 255, .035) 62%, transparent 74%);
}

.home-page .home-solution-card:hover img,
.home-page .home-solution-card:focus-visible img {
    filter: saturate(1.08) contrast(1.04);
    transform: scale(1.07);
}

.home-page .home-solution-card h3,
.home-page .home-solution-card p {
    text-shadow: 0 2px 16px rgba(0, 0, 0, .5);
}

.home-page .home-solution-card i {
    top: auto;
    right: 20px;
    bottom: 20px;
    width: 38px;
    height: 38px;
    background: rgba(255, 255, 255, .9);
    color: var(--pink);
    opacity: 0;
    transform: translate(8px, 8px) scale(.96);
}

.home-page .home-solution-card:hover i,
.home-page .home-solution-card:focus-visible i {
    background: var(--pink);
    color: var(--paper);
    opacity: 1;
    transform: translate(0, 0) scale(1);
}

.home-page .home-offer-card {
    aspect-ratio: 1 / 1;
    min-height: 0;
    padding: clamp(18px, 2vw, 26px);
    background: color-mix(in srgb, var(--home-theme-dark, var(--ink)) 88%, var(--pink) 12%);
}

.home-page .home-offer-card::after {
    background:
        linear-gradient(180deg, rgba(var(--theme-deep-rgb), .05), rgba(var(--theme-deep-rgb), .68)),
        linear-gradient(90deg, rgba(var(--theme-deep-rgb), .42), rgba(var(--theme-deep-rgb), .04) 62%);
}

.home-page .home-offer-card:hover::after,
.home-page .home-offer-card:focus-within::after {
    background:
        linear-gradient(180deg, rgba(var(--theme-deep-rgb), .02), rgba(var(--theme-deep-rgb), .36)),
        linear-gradient(90deg, rgba(var(--theme-deep-rgb), .34), rgba(var(--theme-deep-rgb), .14) 58%, rgba(var(--theme-deep-rgb), .02) 84%);
}

.home-page .home-offer-card h3 {
    font-size: clamp(20px, 1.95vw, 30px);
    font-weight: 900;
    line-height: 1.02;
}

.home-page .home-offer-badge {
    min-height: 0;
    margin-bottom: 10px;
    padding: 7px 12px;
    font-size: 13px;
    line-height: 1;
}

.home-page .home-countdown {
    width: max-content;
    min-width: clamp(156px, 11.5vw, 190px);
    min-height: 0;
    gap: 8px;
    margin-top: 14px;
    padding: 8px 11px;
    border: 1px solid rgba(255, 255, 255, .44);
    background: rgba(var(--theme-deep-rgb), .38);
    font-family: var(--display-font);
    font-size: clamp(16px, 1.35vw, 21px);
    line-height: 1;
}

.home-page .home-countdown span {
    font-family: var(--text-font);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.home-page .home-countdown strong {
    font-size: inherit;
}

.home-page .home-offer-card .home-hero__button {
    width: max-content;
    min-width: 0;
    min-height: 38px;
    height: auto;
    margin-top: clamp(12px, 1.8vw, 18px);
    padding: 9px 18px;
    font-size: 11px;
    box-shadow: 0 14px 30px rgba(var(--theme-accent-rgb), .3);
}

.home-page .home-offer-card__hover {
    opacity: 0;
    transform: scale(1.02);
}

.home-page .home-offer-card:hover > img:not(.home-offer-card__hover),
.home-page .home-offer-card:focus-within > img:not(.home-offer-card__hover) {
    opacity: 0;
    transform: scale(1.02);
}

.home-page .home-offer-card:hover .home-offer-card__hover,
.home-page .home-offer-card:focus-within .home-offer-card__hover {
    opacity: 1;
    animation: homeOfferCameraOut 1800ms cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes homeHeroImageDrift {
    to {
        transform: scale(1.07);
    }
}

@keyframes homeHeroProgressFill {
    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }
}

@keyframes homeSparkleSweep {
    0% {
        opacity: 0;
        transform: translateX(-45%) rotate(8deg);
    }

    22%,
    68% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translateX(45%) rotate(8deg);
    }
}

@keyframes homeOfferCameraOut {
    from {
        transform: scale(1.08);
    }

    to {
        transform: scale(1);
    }
}

@media (prefers-reduced-motion: no-preference) {
    html.has-home-reveal .home-page .home-section {
        opacity: 1;
        filter: none;
        transform: none;
        transition: none;
    }

    html.has-home-reveal .home-page .home-section.is-visible {
        opacity: 1;
        filter: none;
        transform: none;
    }

    html.has-home-reveal .home-page .home-section.is-visible .home-trend-card,
html.has-home-reveal .home-page .home-section.is-visible .home-solution-card {
        animation: none;
    }
}

@media (min-width: 1200px) {
    .home-page .home-solution-grid {
        grid-template-columns: repeat(12, minmax(0, 1fr));
        grid-auto-rows: clamp(205px, 13vw, 270px);
        gap: clamp(14px, 1.2vw, 20px);
    }

    .home-page .home-solution-card,
.home-page .home-solution-card:first-child,
.home-page .home-solution-card:nth-child(5),
.home-page .home-solution-card:nth-child(6) {
        min-height: 0;
    }

    .home-page .home-solution-card:first-child {
        grid-column: span 3;
        grid-row: span 2;
    }

    .home-page .home-solution-card:nth-child(2),
.home-page .home-solution-card:nth-child(3),
.home-page .home-solution-card:nth-child(4) {
        grid-column: span 3;
    }

    .home-page .home-solution-card:nth-child(5) {
        grid-column: span 4;
    }

    .home-page .home-solution-card:nth-child(6) {
        grid-column: span 5;
    }

    .home-page .home-solution-card h3 {
        font-size: clamp(24px, 2.05vw, 32px);
        line-height: 1.03;
    }

    .home-page .home-solution-card:first-child h3,
.home-page .home-solution-card:nth-child(6) h3 {
        font-size: clamp(26px, 2.2vw, 36px);
    }
}

@media (min-width: 1600px) {
    .home-page .home-solution-grid {
        grid-auto-rows: clamp(220px, 11.4vw, 280px);
    }
}

@media (min-width: 1280px) and (max-width: 1899px) {
    main.home-page {
        --home-header-x: clamp(32px, 3vw, 58px);
        --home-menu-width: 132px;
        --home-header-gap: 18px;
        --home-logo-edge: calc(var(--home-header-x) + var(--home-menu-width) + var(--home-header-gap));
        --home-hero-rail-left: var(--home-header-x);
        --home-hero-rail-right: var(--home-header-x);
        --home-hero-arrow-bottom: 52px;
        --home-hero-progress-bottom: 24px;
    }

    .home-page .home-section {
        width: calc(100% - (var(--home-header-x) * 2));
        max-width: none;
        margin-right: var(--home-header-x);
        margin-left: var(--home-header-x);
        padding: clamp(34px, 3.65vw, 56px) 0;
    }

    .home-page .home-hero__content {
        width: calc(100% - (var(--home-header-x) * 2));
        margin-right: var(--home-header-x);
        margin-left: var(--home-header-x);
    }

    .home-page .home-section__head {
        margin-bottom: clamp(16px, 2vw, 24px);
    }

    .home-page .home-eyebrow {
        margin-bottom: 8px;
        font-size: clamp(12px, .9vw, 15px);
    }

    .home-page .home-title {
        max-width: 780px;
        font-size: clamp(30px, 2.75vw, 44px);
        line-height: 1.02;
    }

    .home-page .home-hero,
.home-page .home-hero__content {
        min-height: clamp(540px, 74svh, 700px);
        min-height: clamp(540px, 74dvh, 700px);
    }

    .home-page .home-hero {
        height: clamp(540px, 74svh, 700px);
        height: clamp(540px, 74dvh, 700px);
    }

    .home-page .home-hero__content {
        padding-top: 64px;
        padding-bottom: 96px;
    }

    .home-page .home-hero__eyebrow {
        margin-bottom: 12px;
        font-size: clamp(13px, .9vw, 17px);
    }

    .home-page .home-hero__title {
        max-width: 640px;
        font-size: clamp(46px, 3.95vw, 66px);
        line-height: .96;
    }

    .home-page .home-hero__actions {
        gap: 10px;
        margin-top: 30px;
    }

    .home-page .home-hero .home-hero__button {
        min-width: clamp(210px, 15.5vw, 280px);
        min-height: 50px;
        font-size: 13px;
    }

    .home-page .home-hero .home-hero__button--secondary {
        min-width: clamp(178px, 13vw, 235px);
    }

    .home-page .home-round-button {
        width: 40px;
        height: 40px;
    }

    .home-page .home-round-button svg {
        width: 20px;
        height: 20px;
    }

    .home-page .home-products {
        gap: 16px 14px;
    }

    .home-page .home-trend-card {
        min-height: 122px;
        padding: 18px;
    }

    .home-page .home-trend-card h3 {
        font-size: 16px;
        line-height: 1.22;
    }

    .home-page .home-trend-card p {
        margin-top: 0;
        font-size: 13px;
        line-height: 1.45;
    }

    .home-page .home-solution-card i {
        width: 24px;
        height: 24px;
    }

    .home-page .home-solution-card i svg {
        width: 14px;
        height: 14px;
    }

    .home-page .home-solution-grid {
        grid-auto-rows: clamp(180px, 10vw, 230px);
        gap: 16px;
    }

    .home-page .home-solution-card__content,
.home-page .home-offer-card__content {
        inset: auto 18px 18px;
    }

    .home-page .home-solution-card h3 {
        font-size: clamp(20px, 1.65vw, 27px);
        line-height: 1.04;
    }

    .home-page .home-solution-card:first-child h3,
.home-page .home-solution-card:nth-child(6) h3 {
        font-size: clamp(22px, 1.8vw, 30px);
    }

    .home-page .home-solution-card p {
        margin-top: 6px;
        font-size: clamp(11px, .86vw, 13px);
        line-height: 1.34;
    }

    .home-page .home-offer-card {
        padding: clamp(14px, 1.5vw, 20px);
    }

    .home-page .home-offer-card h3 {
        font-size: clamp(18px, 1.6vw, 25px);
        line-height: 1.02;
    }

    .home-page .home-offer-card p {
        font-size: clamp(11px, .85vw, 12.5px);
        line-height: 1.34;
    }

    .home-page .home-offer-badge {
        margin-bottom: 8px;
        padding: 6px 10px;
        font-size: 11px;
    }

    .home-page .home-countdown {
        min-width: clamp(138px, 10vw, 166px);
        gap: 6px;
        margin-top: 11px;
        padding: 7px 10px;
        font-size: clamp(14px, 1.12vw, 18px);
    }

    .home-page .home-countdown span {
        font-size: 9px;
    }

    .home-page .home-offer-card .home-hero__button {
        min-height: 34px;
        margin-top: clamp(10px, 1.35vw, 14px);
        padding: 8px 15px;
        font-size: 10.5px;
    }
}

@media (max-width: 1439px) {
    .home-page .home-trend-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-page .home-trend-card {
        min-height: 108px;
    }
}

@media (max-width: 1180px) {
    .home-brand-grid,
.home-offer-grid,
.home-products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-solution-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-solution-card:first-child,
.home-solution-card:nth-child(5),
.home-solution-card:nth-child(6) {
        grid-column: auto;
        grid-row: auto;
        min-height: 260px;
    }

    .home-page .home-trend-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 761px) and (max-width: 1180px) {
    .home-page .home-section--brand-rail {
        padding-top: 62px;
        padding-bottom: 76px;
    }

    .home-page .home-brand-slider {
        grid-template-columns: 54px minmax(0, 1fr) 54px;
        gap: clamp(12px, 2vw, 22px);
    }

    .home-page .home-brand-rail {
        --brand-gap: clamp(22px, 3vw, 34px);

        padding-top: 26px;
        padding-bottom: 36px;
    }

    .home-page .home-brand-chip {
        flex-basis: calc((100% - var(--brand-gap) - var(--brand-gap)) / 3);
        gap: 14px;
    }

    .home-page .home-brand-chip__media {
        min-height: clamp(118px, 13vw, 152px);
    }

    .home-page .home-brand-chip__body {
        min-height: 62px;
    }

    .home-page .home-brand-chip__body strong {
        font-size: clamp(15px, 1.75vw, 18px);
    }

    .home-page .home-brand-chip__body small {
        max-width: 220px;
        font-size: clamp(11px, 1.25vw, 13px);
    }

    .home-page .home-brand-slider__arrow {
        width: 48px;
        height: 48px;
    }
}

@media (max-width: 760px) {
    .home-page {
        --home-hero-mobile-arrow-size: 44px;
        --home-hero-mobile-arrow-gap: 10px;
        --home-hero-mobile-control-clearance: 24px;
        --home-hero-mobile-controls-width: calc((var(--home-hero-mobile-arrow-size) * 2) + var(--home-hero-mobile-arrow-gap));
    }

    .home-section {
        width: min(100% - 28px, 520px);
        padding-top: 48px;
    }

    .home-section__head {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .home-hero {
        min-height: 620px;
    }

    .home-hero__content {
        width: calc(100% - 32px);
        padding: 58px 0 86px;
    }

    .home-hero__title {
        font-size: clamp(42px, 14vw, 68px);
    }

    .home-hero__button {
        min-width: 210px;
    }

    .home-page .home-hero__controls {
        --home-hero-control-gap: var(--home-hero-mobile-arrow-gap);
        right: var(--home-hero-rail-right);
        bottom: var(--home-hero-arrow-bottom);
    }

    .home-page .home-round-button {
        width: var(--home-hero-mobile-arrow-size);
        height: var(--home-hero-mobile-arrow-size);
    }

    .home-page .home-hero__progress {
        left: var(--home-hero-rail-left);
        right: var(--home-hero-rail-right);
        bottom: var(--home-hero-progress-bottom);
    }

    .home-brand-grid,
.home-offer-grid,
.home-solution-grid {
        grid-template-columns: 1fr;
    }

    .home-page .home-section--brand-rail {
        padding-top: 56px;
        padding-bottom: 18px;
    }

    .home-page .home-section--brand-rail .home-section__head {
        margin-bottom: 22px;
    }

    .home-page .home-brand-slider {
        --brand-shadow-bleed: 0px;
        --home-brand-mobile-media-height: clamp(160px, 40vw, 210px);

        position: relative;
        display: block;
    }

    .home-page .home-brand-slider__viewport {
        width: calc(100% - 84px);
        margin-right: auto;
        margin-left: auto;
    }

    .home-page .home-brand-rail {
        --brand-gap: 14px;

        padding: 16px 0;
    }

    .home-page .home-brand-chip {
        flex-basis: 100%;
        gap: 14px;
    }

    .home-page .home-brand-chip__media {
        height: var(--home-brand-mobile-media-height);
        min-height: 0;
        padding: 0;
        box-shadow: 0 0 0 1px rgba(255, 255, 255, .7) inset;
    }

    .home-page .home-brand-chip__body {
        min-height: 64px;
        max-width: min(280px, 88%);
        gap: 6px;
    }

    .home-page .home-brand-chip__body strong {
        font-size: 17px;
    }

    .home-page .home-brand-chip__body small {
        max-width: min(260px, 100%);
        font-size: 12px;
        line-height: 1.28;
    }

    .home-page .home-brand-slider__arrow {
        position: absolute;
        top: calc(16px + (var(--home-brand-mobile-media-height) / 2));
        z-index: 4;
        width: 38px;
        height: 38px;
        transform: translateY(-50%);
    }

    .home-page .home-brand-slider__arrow:hover,
.home-page .home-brand-slider__arrow:focus-visible {
        transform: translateY(-50%);
    }

    .home-page .home-brand-slider__arrow--prev {
        left: 0;
    }

    .home-page .home-brand-slider__arrow--next {
        right: 0;
    }

    .home-page .home-brand-slider__arrow svg {
        width: 18px;
        height: 18px;
    }

    body.home-page .home-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .home-page .home-trend-grid {
        grid-template-columns: 1fr;
    }

    .home-page .home-hero {
        height: clamp(480px, calc(100vh - var(--bodycare-site-header-height, 62px)), 760px);
        height: clamp(480px, calc(100dvh - var(--bodycare-site-header-height, 62px)), 760px);
        min-height: clamp(480px, 62svh, 560px);
        max-height: 760px;
    }

    .home-page .home-hero__content {
        height: 100%;
        min-height: 0;
    }

    .home-page .home-offer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-page .home-offer-card {
        padding: 12px;
    }

    .home-page .home-offer-card h3 {
        font-size: clamp(17px, 5.3vw, 24px);
    }

    .home-page .home-offer-card p {
        -webkit-line-clamp: 2;
        font-size: 10.5px;
        line-height: 1.28;
    }

    .home-page .home-countdown {
        gap: 5px;
        margin-top: 11px;
        padding: 7px 9px;
        font-size: clamp(15px, 4.8vw, 20px);
    }
}

@media (min-width: 1280px) and (max-width: 1420px) {
    main.home-page {
        --home-header-x: 24px;
        --home-header-gap: 12px;
    }
}

@media (min-width: 1900px) {
    main.home-page {
        --home-header-gap: var(--bodycare-header-wide-left-gap, min(21.333px, 0.8333vw));
        --home-logo-edge: var(--bodycare-content-edge);
        --home-hero-rail-left: var(--home-logo-edge);
        --home-hero-rail-right: var(--home-logo-edge);
    }

    .home-page .home-section,
.home-page .home-hero__content {
        width: calc(100% - (var(--home-logo-edge) * 2));
        max-width: none;
        margin-right: var(--home-logo-edge);
        margin-left: var(--home-logo-edge);
    }

    .home-page .home-section {
        padding: clamp(34px, 3.65vw, 56px) 0;
    }

    .home-page .home-eyebrow {
        font-size: clamp(12px, .9vw, 15px);
    }

    .home-page .home-title {
        max-width: 780px;
        font-size: clamp(30px, 2.75vw, 44px);
        line-height: 1.02;
    }

    .home-page .home-hero,
.home-page .home-hero__content {
        min-height: clamp(610px, min(32vw, 74svh), 1220px);
        min-height: clamp(610px, min(32vw, 74dvh), 1220px);
    }

    .home-page .home-hero {
        height: clamp(610px, min(32vw, 74svh), 1220px);
        height: clamp(610px, min(32vw, 74dvh), 1220px);
    }

    .home-page .home-hero__content {
        padding-top: 54px;
        padding-bottom: 86px;
    }

    .home-page .home-hero__eyebrow {
        margin-bottom: 10px;
        font-size: clamp(13px, .85vw, 16px);
    }

    .home-page .home-hero__title {
        max-width: 620px;
        font-size: clamp(44px, 3.2vw, 62px);
        line-height: .96;
    }

    .home-page .home-hero__actions {
        gap: 10px;
        margin-top: 28px;
    }

    .home-page .home-hero .home-hero__button {
        min-width: clamp(210px, 14vw, 255px);
        min-height: 46px;
        padding: 12px 22px;
        font-size: 12.5px;
    }

    .home-page .home-hero .home-hero__button--secondary {
        min-width: clamp(170px, 12vw, 220px);
    }

    .home-page .home-round-button {
        width: 40px;
        height: 40px;
    }

    .home-page .home-round-button svg {
        width: 20px;
        height: 20px;
    }

    .home-page .home-hero__controls {
        bottom: 52px;
    }

    .home-page .home-hero__progress {
        bottom: 22px;
    }

    .home-page .home-feed-tabs {
        gap: 12px;
        margin-bottom: 12px;
    }

    .home-page .home-feed-tabs button {
        height: 44px;
        padding: 0 18px;
        font-size: 13px;
    }

    .home-page .home-feed-summary {
        margin-bottom: 24px;
        font-size: 14px;
    }

    .home-page .home-trend-card {
        min-height: 128px;
        padding: 20px;
    }

    .home-page .home-trend-card h3 {
        font-size: 17px;
        line-height: 1.22;
    }

    .home-page .home-trend-card p {
        margin-top: 0;
        font-size: 13.5px;
        line-height: 1.45;
    }

    .home-page .home-solution-card i {
        width: 24px;
        height: 24px;
    }

    .home-page .home-solution-card i svg {
        width: 14px;
        height: 14px;
    }

    .home-page .home-solution-grid {
        grid-auto-rows: clamp(180px, 10vw, 230px);
        gap: 16px;
    }

    .home-page .home-solution-card h3 {
        font-size: clamp(20px, 1.65vw, 27px);
    }

    .home-page .home-solution-card:first-child h3,
.home-page .home-solution-card:nth-child(6) h3 {
        font-size: clamp(22px, 1.8vw, 30px);
    }

    .home-page .home-solution-card p {
        margin-top: 6px;
        font-size: clamp(11px, .86vw, 13px);
        line-height: 1.34;
    }

    .home-page .home-products {
        gap: 16px 14px;
    }
}

@media (min-width: 2560px) {
    .home-page .home-section {
        padding: clamp(44px, 3.65vw, 72px) 0;
    }

    .home-page .home-eyebrow {
        font-size: clamp(15px, .92vw, 19px);
    }

    .home-page .home-title {
        max-width: 1060px;
        font-size: clamp(42px, 2.7vw, 62px);
    }

    .home-page .home-hero__content {
        padding-top: clamp(68px, 3.6vw, 92px);
        padding-bottom: clamp(104px, 5.2vw, 136px);
    }

    .home-page .home-hero__eyebrow {
        margin-bottom: 14px;
        font-size: clamp(17px, .95vw, 22px);
    }

    .home-page .home-hero__title {
        max-width: 780px;
        font-size: clamp(64px, 4vw, 92px);
    }

    .home-page .home-hero__actions {
        gap: 14px;
        margin-top: 34px;
    }

    .home-page .home-hero .home-hero__button {
        min-width: clamp(250px, 14vw, 320px);
        min-height: 54px;
        padding: 14px 28px;
        font-size: 14px;
    }

    .home-page .home-hero .home-hero__button--secondary {
        min-width: clamp(215px, 12vw, 270px);
    }

    .home-page .home-round-button {
        width: 48px;
        height: 48px;
    }

    .home-page .home-round-button svg {
        width: 24px;
        height: 24px;
    }

    .home-page .home-hero__controls {
        bottom: clamp(64px, 3.4vw, 82px);
    }

    .home-page .home-hero__progress {
        bottom: clamp(30px, 1.6vw, 40px);
    }

    .home-page .home-feed-tabs {
        gap: 14px;
        margin-bottom: 16px;
    }

    .home-page .home-feed-tabs button {
        height: 52px;
        padding: 0 24px;
        font-size: 14px;
    }

    .home-page .home-feed-summary {
        margin-bottom: 28px;
        font-size: 16px;
    }

    .home-page .home-trend-card {
        min-height: clamp(132px, 4.2vw, 150px);
        padding: clamp(22px, .8vw, 26px);
    }

    .home-page .home-trend-card h3 {
        font-size: clamp(18px, .62vw, 22px);
        line-height: 1.22;
    }

    .home-page .home-trend-card p {
        margin-top: 0;
        margin-left: 36px;
        font-size: clamp(14px, .45vw, 15px);
        line-height: 1.45;
    }

    .home-page .home-solution-card i {
        width: 32px;
        height: 32px;
    }

    .home-page .home-solution-card i svg {
        width: 18px;
        height: 18px;
    }

    .home-page .home-trend-card i {
        width: 26px;
        height: 26px;
    }

    .home-page .home-trend-card i svg {
        width: 24px;
        height: 24px;
    }

    .home-page .home-solution-grid {
        grid-auto-rows: clamp(240px, 11.4vw, 340px);
        gap: clamp(18px, 1.2vw, 24px);
    }

    .home-page .home-solution-card h3 {
        font-size: clamp(32px, 2.15vw, 46px);
    }

    .home-page .home-solution-card:first-child h3,
.home-page .home-solution-card:nth-child(6) h3 {
        font-size: clamp(38px, 2.6vw, 58px);
    }

    .home-page .home-solution-card p {
        margin-top: 10px;
        font-size: clamp(14px, .94vw, 18px);
    }

    .home-page .home-products {
        gap: 22px;
    }
}

@media (min-width: 761px) and (max-width: 1279px) {
    .home-page .home-hero__content {
        width: calc(100% - (var(--home-header-x) * 2));
        margin-right: var(--home-header-x);
        margin-left: var(--home-header-x);
        padding-right: 0;
        padding-left: 0;
    }
}

@media (max-width: 760px) {
    body.home-page,
main.home-page {
        overflow-x: hidden;
    }

    .home-page .home-hero__picture img {
        animation: none;
        filter: none;
    }

    .home-page .home-hero__eyebrow,
.home-page .home-hero__title,
.home-page .home-hero__actions,
.home-page .home-hero__slide.is-active .home-hero__eyebrow,
.home-page .home-hero__slide.is-active .home-hero__title,
.home-page .home-hero__slide.is-active .home-hero__actions {
        opacity: 1;
        animation: none;
        filter: none;
        transform: none;
    }

    .home-page .home-hero .home-hero__button--secondary,
.home-page .home-countdown,
.home-page .home-solution-card::before {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    html.has-home-reveal .home-page .home-section,
html.has-home-reveal .home-page .home-section.is-visible {
        opacity: 1;
        filter: none;
        transform: none;
        transition: none;
    }

    html.has-home-reveal .home-page .home-section.is-visible .home-trend-card,
html.has-home-reveal .home-page .home-section.is-visible .home-solution-card {
        animation: none;
    }

    .home-page .home-hero {
        height: clamp(
            520px,
            calc(100svh - var(--bodycare-category-menu-top) - 86px),
            760px
        );
        height: clamp(
            520px,
            calc(100dvh - var(--bodycare-category-menu-top) - 86px),
            760px
        );
        min-height: clamp(520px, 64svh, 620px);
        max-height: none;
    }

    .home-page .home-hero__picture img,
.home-page .home-hero__slide:nth-child(1) .home-hero__picture img,
.home-page .home-hero__slide:nth-child(2) .home-hero__picture img {
        object-position: center center;
        transform: scale(1.01);
    }

    .home-page .home-hero__content {
        width: calc(100% - 28px);
        margin-right: 14px;
        margin-left: 14px;
        padding: 48px 0 calc(96px + env(safe-area-inset-bottom));
    }

    .home-page .home-hero__title {
        max-width: min(100%, 342px);
        font-size: clamp(30px, 8.6vw, 40px);
        line-height: .98;
        overflow-wrap: break-word;
    }

    .home-page .home-hero__eyebrow {
        max-width: 100%;
        font-size: clamp(13px, 3.5vw, 15px);
        overflow-wrap: break-word;
    }

    .home-page .home-hero__actions {
        width: min(100%, 356px);
        flex-wrap: nowrap;
        gap: 8px;
    }

    .home-page .home-hero .home-hero__button {
        flex: 1 1 0;
        min-width: 0;
        max-width: 100%;
        min-height: 46px;
        height: 46px;
        padding: 0 10px;
        font-size: clamp(10.5px, 3.05vw, 12px);
        line-height: 1;
        white-space: nowrap;
    }

    .home-page .home-hero .home-hero__button--secondary {
        min-width: 0;
    }

    .home-page .home-hero__controls {
        right: 18px;
        bottom: calc(104px + env(safe-area-inset-bottom));
        gap: 8px;
        z-index: 5;
    }

    .home-page .home-round-button {
        width: 40px;
        height: 40px;
    }

    .home-page .home-round-button svg {
        width: 20px;
        height: 20px;
    }

    .home-page .home-hero__progress {
        right: 18px;
        bottom: calc(48px + env(safe-area-inset-bottom));
        left: 18px;
        gap: 8px;
        z-index: 4;
    }

    .home-page .home-title {
        max-width: 100%;
        font-size: clamp(28px, 9vw, 36px);
        line-height: 1.02;
        overflow-wrap: break-word;
    }

    .home-page .home-feed-tabs {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
        width: 100%;
        margin-bottom: 10px;
    }

    .home-page .home-feed-tabs button {
        width: 100%;
        min-width: 0;
        height: 42px;
        padding: 0 4px;
        font-size: 11px;
        line-height: 1;
        white-space: nowrap;
    }

    .home-page .home-offer-grid {
        gap: 10px;
    }

    .home-page .home-offer-card {
        min-width: 0;
        padding: 0;
        overflow: hidden;
    }

    .home-page .home-offer-card__content {
        inset: auto 10px 10px;
        min-width: 0;
        max-width: calc(100% - 20px);
    }

    .home-page .home-offer-badge {
        display: none;
    }

    .home-page .home-offer-card h3 {
        display: -webkit-box;
        max-width: 100%;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 17px;
        line-height: 1.02;
        overflow-wrap: break-word;
    }

    .home-page .home-offer-card p {
        display: -webkit-box;
        max-width: 100%;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        font-size: 10px;
        line-height: 1.25;
    }

    .home-page .home-countdown {
        width: auto;
        max-width: 100%;
        min-width: 0;
        gap: 4px;
        margin-top: 9px;
        padding: 6px 8px;
        font-size: 12px;
        white-space: nowrap;
    }

    .home-page .home-countdown span {
        font-size: 8px;
    }

    .home-page .home-offer-card .home-hero__button {
        min-height: 34px;
        margin-top: 10px;
        padding: 8px 14px;
        font-size: 10px;
    }
}

@media (max-width: 374px) {
    .home-page .home-hero__title {
        font-size: clamp(28px, 8.2vw, 34px);
    }

    .home-page .home-offer-grid {
        grid-template-columns: 1fr;
    }

    .home-page .home-offer-card {
        aspect-ratio: 1.35 / 1;
    }
}

/* Trend cards final shape: quiet white tiles with icon and title on one line. */
.home-page .home-trend-card {
    --trend-icon-size: 22px;
    --trend-head-gap: 10px;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    min-height: clamp(136px, 7.2vw, 158px);
    padding: clamp(18px, 1.1vw, 24px) clamp(18px, 1.1vw, 24px);
    flex-direction: column;
    align-items: flex-start;
    border: 1px solid rgba(var(--theme-accent-rgb), .22);
    border-radius: 7px;
    background: rgba(255, 255, 255, .72);
    color: #111;
    cursor: pointer;
    box-shadow: none;
    text-decoration: none;
    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        transform 180ms ease;
}

.home-page .home-trend-card__head {
    display: flex;
    align-items: flex-start;
    gap: var(--trend-head-gap);
    margin-bottom: 8px;
}

.home-page .home-trend-card__head i,
.home-page .home-trend-card i {
    display: inline-flex;
    flex: 0 0 var(--trend-icon-size);
    width: var(--trend-icon-size);
    height: var(--trend-icon-size);
    margin: 0;
    transform: none;
}

.home-page .home-trend-card__head i svg,
.home-page .home-trend-card i svg {
    width: var(--trend-icon-size);
    height: var(--trend-icon-size);
    stroke-width: 2.1;
}

.home-page .home-trend-card h3,
.home-page .home-trend-card__head h3 {
    margin: 0;
    color: #111;
    font-family: inherit;
    font-size: clamp(16px, .96vw, 18px);
    font-weight: 720;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
}

.home-page .home-trend-card p {
    max-width: 100%;
    margin: 8px 0 0 calc(var(--trend-icon-size) + var(--trend-head-gap));
    color: #7f7781;
    font-size: clamp(13px, .72vw, 14px);
    font-weight: 500;
    line-height: 1.45;
}

.home-page .home-trend-card:hover,
.home-page .home-trend-card:focus-visible {
    border-color: rgba(var(--theme-accent-rgb), .42);
    background: rgba(255, 255, 255, .88);
    box-shadow: none;
    transform: translateY(-1px);
}

@media (max-width: 760px) {
    .home-page .home-section--discovery-end .home-eyebrow {
        margin-bottom: 3px;
        font-size: 12px;
        font-weight: 650;
    }

    .home-page .home-section--discovery-end .home-title {
        font-size: clamp(24px, 7vw, 28px);
        line-height: .96;
    }

    .home-page .home-trend-grid {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(214px, 46vw);
        grid-template-columns: none;
        gap: 12px;
        width: 100%;
        margin: 0;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 0 14px 4px 0;
        scroll-padding-left: 0;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .home-page .home-trend-grid::-webkit-scrollbar {
        display: none;
    }

    .home-page .home-trend-card {
        --trend-icon-size: 20px;
        --trend-head-gap: 9px;
        min-height: 144px;
        padding: 17px 16px 16px;
        scroll-snap-align: start;
    }

    .home-page .home-trend-card__head i,
.home-page .home-trend-card i {
        width: var(--trend-icon-size);
        height: var(--trend-icon-size);
        margin: 0;
    }

    .home-page .home-trend-card__head i svg,
.home-page .home-trend-card i svg {
        width: var(--trend-icon-size);
        height: var(--trend-icon-size);
    }

    .home-page .home-trend-card h3,
.home-page .home-trend-card__head h3 {
        font-size: 16px;
        line-height: 1.18;
    }

    .home-page .home-trend-card p {
        margin-top: 8px;
        font-size: 13px;
        line-height: 1.38;
    }
}

/* Trend rail interaction: drag-scroll without hover lift or snap jump. */
.home-page .home-trend-grid {
    display: grid;
    gap: clamp(12px, 1.05vw, 18px);
    cursor: grab;
    scroll-behavior: auto;
    scroll-snap-type: none;
    user-select: none;
}

.home-page .home-trend-grid.is-dragging {
    cursor: grabbing;
}

.home-page .home-trend-grid.is-dragging .home-trend-card {
    cursor: grabbing;
    pointer-events: none;
}

.home-page .home-trend-card,
.home-page .home-trend-card:hover,
.home-page .home-trend-card:focus-visible {
    box-shadow: none;
    transform: none;
}

.home-page .home-trend-card__head i,
.home-page .home-trend-card i {
    color: var(--pink);
}

.home-page .home-trend-card__head i svg,
.home-page .home-trend-card i svg {
    stroke: currentColor;
    fill: none;
}

/* Mobile trend section alignment and rendered Lucide color. */
@media (max-width: 760px) {
    .home-page .home-section--discovery-end {
        box-sizing: border-box;
        width: 100%;
        padding-right: 0;
        padding-left: 14px;
    }

    .home-page .home-section--discovery-end .home-section__head {
        width: calc(100% - 14px);
        margin-right: 14px;
        margin-left: 0;
    }

    .home-page .home-section--discovery-end .home-trend-grid {
        width: 100%;
        margin-left: 0;
        padding-right: 14px;
        padding-left: 0;
    }
}

.home-page .home-trend-card__head > svg,
.home-page .home-trend-card svg.lucide {
    flex: 0 0 var(--trend-icon-size, 22px);
    width: var(--trend-icon-size, 22px);
    height: var(--trend-icon-size, 22px);
    color: var(--pink);
    stroke: var(--pink);
}

.home-page .home-trend-card__head > svg *,
.home-page .home-trend-card svg.lucide * {
    stroke: currentColor;
}
