.ek-home-section {
    padding-block: clamp(2.75rem, 7vw, 5.5rem);
}

.ek-story-bar {
    padding-block: var(--ek-space-5);
    border-block-end: 1px solid var(--ek-color-border);
    background: var(--ek-color-surface);
}

.ek-story-list {
    display: flex;
    gap: var(--ek-space-5);
    margin: 0;
    padding: 0;
    padding-block-end: var(--ek-space-1);
    list-style: none;
    overflow-x: auto;
    scrollbar-width: thin;
    scroll-snap-type: inline proximity;
}

.ek-story-item {
    flex: 0 0 auto;
    inline-size: 5.25rem;
    scroll-snap-align: start;
}

.ek-story-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--ek-space-2);
    color: var(--ek-color-text);
    font-size: var(--ek-font-size-1);
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
}

.ek-story-thumb {
    display: grid;
    place-items: center;
    inline-size: 4.4rem;
    block-size: 4.4rem;
    padding: 0.2rem;
    border: 2px solid var(--ek-color-warm-beige);
    border-radius: 50%;
    background: var(--ek-color-surface);
}

.ek-story-thumb img,
.ek-story-thumb__fallback {
    inline-size: 100%;
    block-size: 100%;
    border-radius: inherit;
    object-fit: cover;
}

.ek-story-thumb__fallback {
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, var(--ek-color-cream), var(--ek-color-dusty-blue));
    font-weight: 700;
}

.ek-hero {
    padding-block: clamp(2rem, 5vw, 4rem);
}

.ek-hero__card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(20rem, 1.08fr);
    align-items: stretch;
    min-block-size: min(72vh, 43rem);
    overflow: hidden;
    border-radius: clamp(1.25rem, 3vw, 2rem);
    background: #F1E8DE;
}

.ek-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 6vw, 5rem);
}

.ek-hero__eyebrow {
    margin: 0 0 var(--ek-space-4);
    color: var(--ek-color-muted);
    font-size: var(--ek-font-size-2);
    font-weight: 600;
}

.ek-hero h1 {
    max-inline-size: 11ch;
    margin: 0;
    font-size: var(--ek-font-size-7);
    line-height: 1.28;
    letter-spacing: 0;
}

.ek-hero__description {
    max-inline-size: 36rem;
    margin: var(--ek-space-5) 0 0;
    color: var(--ek-color-muted);
    font-size: clamp(1rem, 1.6vw, 1.16rem);
}

.ek-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ek-space-3);
    margin-block-start: var(--ek-space-6);
}

.ek-hero__visual {
    position: relative;
    min-block-size: 32rem;
    overflow: hidden;
    background: linear-gradient(150deg, var(--ek-color-dusty-blue), var(--ek-color-sage));
}

.ek-hero__visual img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.ek-hero__brand-visual {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: var(--ek-space-8);
    background:
        radial-gradient(circle at 70% 25%, rgb(255 255 255 / 24%), transparent 30%),
        linear-gradient(145deg, var(--ek-color-dusty-blue), var(--ek-color-sage));
    color: #fff;
    text-align: center;
}

.ek-hero__brand-visual strong {
    display: block;
    font-size: clamp(2rem, 5vw, 4.5rem);
    line-height: 1.1;
}

.ek-hero__brand-visual span {
    display: block;
    margin-block-start: var(--ek-space-3);
    font-size: var(--ek-font-size-3);
}

.ek-category-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--ek-space-4);
}

.ek-category-card {
    position: relative;
    min-block-size: 15rem;
    overflow: hidden;
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-lg);
    background: var(--ek-color-surface-soft);
    text-decoration: none;
}

.ek-category-card img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    transition: transform 260ms ease;
}

.ek-category-card:hover img {
    transform: scale(1.025);
}

.ek-category-card__fallback {
    position: absolute;
    inset: 0;
    background: linear-gradient(145deg, var(--ek-color-cream), #F8F4EF);
}

.ek-category-card__label {
    position: absolute;
    inset-inline: var(--ek-space-3);
    inset-block-end: var(--ek-space-3);
    padding: var(--ek-space-3) var(--ek-space-4);
    border-radius: var(--ek-radius-md);
    background: rgb(255 255 255 / 90%);
    backdrop-filter: blur(10px);
    font-weight: 600;
    text-align: center;
}

.ek-product-scroller {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--ek-space-5);
}

.ek-product-card {
    min-inline-size: 0;
}

.ek-product-card__media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: var(--ek-radius-lg);
    background: #F2EEE9;
    text-decoration: none;
}

.ek-product-card__media img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    transition: transform 260ms ease;
}

.ek-product-card__media:hover img {
    transform: scale(1.02);
}

.ek-product-card__fallback {
    display: grid;
    place-items: center;
    inline-size: 100%;
    block-size: 100%;
    padding: var(--ek-space-5);
    color: var(--ek-color-muted);
    text-align: center;
}

.ek-product-card__badge {
    position: absolute;
    inset-block-start: var(--ek-space-3);
    inset-inline-start: var(--ek-space-3);
    padding: 0.35rem 0.65rem;
    border-radius: var(--ek-radius-pill);
    background: rgb(255 255 255 / 90%);
    font-size: var(--ek-font-size-1);
    font-weight: 600;
    backdrop-filter: blur(8px);
}

.ek-product-card__body {
    padding-block-start: var(--ek-space-3);
}

.ek-product-card__title {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.6;
}

.ek-product-card__title a {
    text-decoration: none;
}

.ek-product-card__price {
    margin: var(--ek-space-1) 0 0;
    font-size: 0.95rem;
    font-weight: 700;
}

.ek-wholesale-promo {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(17rem, 0.85fr);
    gap: var(--ek-space-8);
    align-items: center;
    padding: clamp(1.75rem, 5vw, 4rem);
    border-radius: var(--ek-radius-xl);
    background: var(--ek-color-text);
    color: #fff;
}

.ek-wholesale-promo__kicker {
    color: var(--ek-color-cream);
}

.ek-wholesale-promo__copy {
    color: rgb(255 255 255 / 72%);
}

.ek-wholesale-promo__action {
    margin-block-start: var(--ek-space-6);
}

.ek-wholesale-promo__steps {
    display: grid;
    gap: var(--ek-space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ek-wholesale-promo__steps li {
    display: grid;
    grid-template-columns: 2.25rem 1fr;
    gap: var(--ek-space-3);
    align-items: start;
}

.ek-wholesale-promo__number {
    display: grid;
    place-items: center;
    inline-size: 2.25rem;
    block-size: 2.25rem;
    border-radius: 50%;
    background: var(--ek-color-cream);
    color: var(--ek-color-text);
    font-weight: 700;
}

.ek-collection-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--ek-space-4);
}

.ek-collection-card {
    display: flex;
    min-block-size: 12rem;
    align-items: end;
    padding: var(--ek-space-5);
    border-radius: var(--ek-radius-lg);
    background: var(--ek-color-surface-soft);
    text-decoration: none;
}

.ek-collection-card:nth-child(4n + 1) { background: #EFE2D5; }
.ek-collection-card:nth-child(4n + 2) { background: #DCE2E5; }
.ek-collection-card:nth-child(4n + 3) { background: #DDDDD3; }
.ek-collection-card:nth-child(4n + 4) { background: #E7DCCF; }

.ek-collection-card strong {
    font-size: var(--ek-font-size-5);
}

.ek-benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--ek-space-4);
}

.ek-benefit {
    padding: var(--ek-space-6);
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-lg);
    background: var(--ek-color-surface);
}

.ek-benefit__icon {
    display: grid;
    place-items: center;
    inline-size: 3rem;
    block-size: 3rem;
    margin-block-end: var(--ek-space-4);
    border-radius: var(--ek-radius-md);
    background: var(--ek-color-cream);
}

.ek-benefit h3 {
    margin: 0;
    font-size: 1rem;
}

.ek-benefit p {
    margin: var(--ek-space-2) 0 0;
    color: var(--ek-color-muted);
    font-size: var(--ek-font-size-2);
}

.ek-cashback {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: var(--ek-space-6);
    padding: clamp(1.5rem, 4vw, 3rem);
    border-radius: var(--ek-radius-xl);
    background: #E4E3DA;
}

.ek-cashback__badge {
    display: inline-flex;
    align-items: center;
    gap: var(--ek-space-2);
    margin-block-end: var(--ek-space-3);
    padding: 0.45rem 0.8rem;
    border-radius: var(--ek-radius-pill);
    background: rgb(255 255 255 / 70%);
    font-size: var(--ek-font-size-2);
    font-weight: 600;
}

.ek-about-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
}

.ek-about-mark {
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    border-radius: var(--ek-radius-xl);
    background: linear-gradient(145deg, #D9C4AE, #AEB6B8);
    color: #fff;
    text-align: center;
}

.ek-about-mark strong {
    font-size: clamp(2.2rem, 6vw, 5rem);
    line-height: 1;
}

.ek-about-copy p {
    color: var(--ek-color-muted);
}

.ek-journal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--ek-space-5);
}

.ek-post-card {
    overflow: hidden;
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-lg);
    background: var(--ek-color-surface);
}

.ek-post-card__media {
    display: block;
    aspect-ratio: 16 / 10;
    background: var(--ek-color-surface-soft);
}

.ek-post-card__media img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.ek-post-card__body {
    padding: var(--ek-space-5);
}

.ek-post-card__meta {
    color: var(--ek-color-muted);
    font-size: var(--ek-font-size-1);
}

.ek-post-card h3 {
    margin: var(--ek-space-2) 0 0;
    font-size: 1.05rem;
    line-height: 1.65;
}

.ek-post-card h3 a {
    text-decoration: none;
}

.ek-faq-list {
    max-inline-size: 58rem;
    margin-inline: auto;
}

.ek-faq-item {
    border-block-end: 1px solid var(--ek-color-border);
}

.ek-faq-item summary {
    position: relative;
    padding: var(--ek-space-5) 0;
    padding-inline-end: 2rem;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}

.ek-faq-item summary::-webkit-details-marker {
    display: none;
}

.ek-faq-item summary::after {
    content: "+";
    position: absolute;
    inset-inline-end: 0;
    inset-block-start: 50%;
    transform: translateY(-50%);
    font-size: 1.4rem;
    font-weight: 400;
}

.ek-faq-item[open] summary::after {
    content: "−";
}

.ek-faq-item__answer {
    padding-block-end: var(--ek-space-5);
    color: var(--ek-color-muted);
}

@media (max-width: 1100px) {
    .ek-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ek-product-scroller,
    .ek-benefit-grid,
    .ek-collection-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .ek-hero__card,
    .ek-wholesale-promo,
    .ek-about-grid {
        grid-template-columns: 1fr;
    }

    .ek-hero__visual {
        min-block-size: 26rem;
        order: -1;
    }

    .ek-hero h1 {
        max-inline-size: 14ch;
    }

    .ek-cashback {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .ek-story-list {
        margin-inline-end: -0.625rem;
        padding-inline-end: 0.625rem;
    }

    .ek-category-grid,
    .ek-product-scroller,
    .ek-collection-grid,
    .ek-benefit-grid,
    .ek-journal-grid {
        display: flex;
        gap: var(--ek-space-3);
        margin-inline-end: -0.625rem;
        padding-inline-end: 0.625rem;
        overflow-x: auto;
        scroll-snap-type: inline mandatory;
        scrollbar-width: none;
    }

    .ek-category-grid::-webkit-scrollbar,
    .ek-product-scroller::-webkit-scrollbar,
    .ek-collection-grid::-webkit-scrollbar,
    .ek-benefit-grid::-webkit-scrollbar,
    .ek-journal-grid::-webkit-scrollbar {
        display: none;
    }

    .ek-category-card,
    .ek-product-card,
    .ek-collection-card,
    .ek-benefit,
    .ek-post-card {
        flex: 0 0 min(76vw, 18rem);
        scroll-snap-align: start;
    }

    .ek-category-card {
        min-block-size: 18rem;
    }

    .ek-hero {
        padding-block-start: var(--ek-space-4);
    }

    .ek-hero__card {
        border-radius: var(--ek-radius-lg);
    }

    .ek-hero__content {
        padding: var(--ek-space-6);
    }

    .ek-hero__visual {
        min-block-size: 22rem;
    }

    .ek-hero__actions .ek-button {
        flex: 1 1 12rem;
    }

    .ek-wholesale-promo {
        padding: var(--ek-space-6);
        border-radius: var(--ek-radius-lg);
    }

    .ek-about-mark {
        aspect-ratio: 16 / 11;
    }
}

@media (max-width: 390px) {
    .ek-category-card,
    .ek-product-card,
    .ek-collection-card,
    .ek-benefit,
    .ek-post-card {
        flex-basis: 82vw;
    }

    .ek-section-heading {
        flex-direction: column;
    }
}

/* Phase 10: Story viewer */
.ek-story-link[type="button"]{appearance:none;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.ek-story-thumb--active{padding:3px;background:linear-gradient(145deg,var(--ek-color-dusty-blue),var(--ek-color-warm-beige),var(--ek-color-sage))}.ek-story-thumb--active img,.ek-story-thumb--active .ek-story-thumb__fallback{border:3px solid var(--ek-color-bg);border-radius:50%}.ek-story-link__label{max-inline-size:6.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ek-story-open{overflow:hidden}.ek-story-viewer{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:12px}.ek-story-viewer[hidden]{display:none}.ek-story-viewer__backdrop{position:absolute;inset:0;background:rgba(18,18,18,.76);backdrop-filter:blur(8px)}.ek-story-viewer__dialog{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;inline-size:min(100%,430px);block-size:min(90dvh,780px);border-radius:22px;background:#151515;color:#fff;box-shadow:0 22px 70px rgba(0,0,0,.35)}.ek-story-viewer__progress{position:absolute;z-index:4;inset-block-start:10px;inset-inline:12px;block-size:3px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.35)}.ek-story-viewer__progress span{display:block;inline-size:0;block-size:100%;background:#fff}.ek-story-viewer__close{position:absolute;z-index:5;inset-block-start:22px;inset-inline-end:14px;display:grid;place-items:center;inline-size:44px;block-size:44px;border:0;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:28px;cursor:pointer}.ek-story-viewer__media{min-block-size:0;background:#0b0b0b}.ek-story-viewer__media img,.ek-story-viewer__media video{inline-size:100%;block-size:100%;object-fit:cover}.ek-story-viewer__content{position:absolute;z-index:3;inset-inline:0;inset-block-end:0;padding:70px 22px 22px;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,0))}.ek-story-viewer__content h2{margin:0 0 14px;color:#fff;font-size:clamp(1.1rem,4vw,1.35rem)}.ek-story-viewer__cta{inline-size:100%;justify-content:center}.ek-story-viewer__nav{position:absolute;z-index:4;inset-block-start:50%;display:grid;place-items:center;inline-size:44px;block-size:54px;border:0;background:rgba(0,0,0,.22);color:#fff;font-size:32px;cursor:pointer;transform:translateY(-50%)}.ek-story-viewer__nav--prev{inset-inline-start:0;border-radius:0 12px 12px 0}.ek-story-viewer__nav--next{inset-inline-end:0;border-radius:12px 0 0 12px}@media(max-width:480px){.ek-story-viewer{padding:0}.ek-story-viewer__dialog{inline-size:100%;block-size:100dvh;border-radius:0}}@media(prefers-reduced-motion:reduce){.ek-story-viewer__progress span{transition:none!important}}

/* Phase 14: visible entity facts for GEO */
.ek-entity-facts{display:grid;gap:var(--ek-space-3);margin:var(--ek-space-6) 0 0}.ek-entity-facts>div{display:grid;gap:var(--ek-space-1);padding:var(--ek-space-4);border:1px solid var(--ek-color-border);border-radius:var(--ek-radius-md);background:color-mix(in srgb,var(--ek-color-surface) 82%,var(--ek-color-cream))}.ek-entity-facts dt{font-weight:650;color:var(--ek-color-text)}.ek-entity-facts dd{margin:0;color:var(--ek-color-muted);line-height:1.9}

/* Managed custom homepage sections */
.ek-custom-section__card{display:grid;gap:var(--ek-space-6);padding:clamp(1.5rem,4vw,3rem);background:linear-gradient(135deg,var(--ek-color-surface-soft),var(--ek-color-surface));border:1px solid var(--ek-color-border);border-radius:var(--ek-radius-xl);overflow:hidden}.ek-custom-section__card.has-media{grid-template-columns:minmax(0,1.15fr) minmax(15rem,.85fr);align-items:center}.ek-custom-section__copy{display:grid;justify-items:start;gap:var(--ek-space-3)}.ek-custom-section__copy .ek-section-copy{max-inline-size:48rem;white-space:pre-line}.ek-custom-section__media{overflow:hidden;border-radius:var(--ek-radius-lg);aspect-ratio:4/3;background:var(--ek-color-surface-soft)}.ek-custom-section__media img{inline-size:100%;block-size:100%;object-fit:cover}@media(max-width:760px){.ek-custom-section__card.has-media{grid-template-columns:1fr}.ek-custom-section__media{order:-1}}

/* Version 1.2.0: curated Evelin Kids visual system */
.ek-home-default-visual{display:block}
.ek-category-card__shade{position:absolute;inset:0;background:linear-gradient(to top,rgb(20 20 20 / 24%),transparent 48%);pointer-events:none}
.ek-category-card__label{z-index:2;box-shadow:0 .5rem 1.5rem rgb(30 30 30 / 8%)}
.ek-about-visual{position:relative;overflow:hidden;aspect-ratio:16/11;border-radius:var(--ek-radius-xl);background:var(--ek-color-surface-soft);box-shadow:0 1.25rem 3rem rgb(41 42 39 / 10%)}
.ek-about-visual::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgb(255 255 255 / 35%);border-radius:inherit;pointer-events:none}
.ek-about-visual img{inline-size:100%;block-size:100%;object-fit:cover}
.ek-post-card__media{overflow:hidden}
.ek-post-card__media img{transition:transform 260ms ease}
.ek-post-card:hover .ek-post-card__media img{transform:scale(1.02)}
@media(max-width:820px){.ek-about-visual{order:-1;aspect-ratio:16/10}}
