.nmf-product-story {
    --nmf-story-gap: 78px;
    --nmf-story-media-width: 48%;
    width: 100%;
    overflow: hidden;
    background: #f4eeeb;
    color: #171419;
    padding: 74px;
}

.nmf-product-story,
.nmf-product-story * {
    box-sizing: border-box;
}

.nmf-product-story__grid {
    display: grid;
    grid-template-columns: var(--nmf-story-media-width) minmax(0, 1fr);
    gap: var(--nmf-story-gap);
    align-items: center;
}

.nmf-product-story--image-right .nmf-product-story__grid {
    grid-template-columns: minmax(0, 1fr) var(--nmf-story-media-width);
}

.nmf-product-story--image-right .nmf-product-story__media {
    order: 2;
}

.nmf-product-story--image-right .nmf-product-story__content {
    order: 1;
}

.nmf-product-story--stacked .nmf-product-story__grid {
    grid-template-columns: 1fr;
}

.nmf-product-story--stacked .nmf-product-story__content {
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}

.nmf-product-story__media {
    position: relative;
    display: block;
    width: 100%;
    height: 620px;
    margin: 0;
    overflow: hidden;
    background: #fff;
    isolation: isolate;
}

.nmf-product-story__media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.nmf-product-story__image {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
    transition: transform 1.15s var(--nmf-ease), filter 1.15s var(--nmf-ease);
}

.nmf-product-story:hover .nmf-product-story__image {
    transform: scale(1.025);
    filter: saturate(1.02) contrast(1.01);
}

.nmf-product-story__content {
    width: 100%;
    max-width: 780px;
}

.nmf-product-story__eyebrow {
    display: inline-flex;
    margin-bottom: 22px;
    font-size: 10px;
    line-height: 1;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: rgba(23, 20, 25, .52);
}

.nmf-product-story__title {
    margin: 0;
    max-width: 10em;
    font-family: inherit;
    font-size: clamp(44px, 5.8vw, 108px);
    font-weight: 300;
    line-height: .9;
    letter-spacing: -.058em;
    color: currentColor;
}

.nmf-product-story--stacked .nmf-product-story__title {
    max-width: 11em;
    margin-right: auto;
    margin-left: auto;
}

.nmf-product-story__text {
    max-width: 46em;
    margin-top: 30px;
    font-size: 15px;
    line-height: 1.85;
    color: rgba(23, 20, 25, .62);
}

.nmf-product-story__text p {
    margin: 0 0 1em;
}

.nmf-product-story__text p:last-child {
    margin-bottom: 0;
}

.nmf-product-story--stacked .nmf-product-story__text {
    margin-right: auto;
    margin-left: auto;
}

.nmf-product-story__quote {
    margin: 34px 0 0;
    padding: 0;
    max-width: 38em;
    border: 0;
    font-size: clamp(18px, 1.8vw, 30px);
    font-weight: 300;
    line-height: 1.22;
    letter-spacing: -.025em;
    color: currentColor;
}

.nmf-product-story--stacked .nmf-product-story__quote {
    margin-right: auto;
    margin-left: auto;
}

.nmf-product-story__features {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 42px;
    border-top: 1px solid rgba(23,20,25,.16);
}

.nmf-product-story__feature {
    display: grid;
    grid-template-columns: minmax(110px, .34fr) minmax(0, 1fr);
    gap: 24px;
    padding: 18px 0;
    border-bottom: 1px solid rgba(23,20,25,.16);
}

.nmf-product-story__feature-label {
    font-size: 10px;
    line-height: 1.35;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: currentColor;
}

.nmf-product-story__feature-text {
    font-size: 14px;
    line-height: 1.55;
    color: rgba(23, 20, 25, .62);
}

.nmf-product-story__cta {
    position: relative;
    display: inline-flex;
    margin-top: 34px;
    font-size: 11px;
    line-height: 1;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: currentColor;
    text-decoration: none !important;
}

.nmf-product-story__cta::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 1px;
    background: currentColor;
    transform-origin: left;
    transform: scaleX(.45);
    transition: transform .45s var(--nmf-ease);
}

.nmf-product-story__cta:hover::after,
.nmf-product-story__cta:focus-visible::after {
    transform: scaleX(1);
}

@media (max-width: 1024px) {
    .nmf-product-story__grid,
    .nmf-product-story--image-right .nmf-product-story__grid {
        grid-template-columns: 1fr;
    }

    .nmf-product-story--image-right .nmf-product-story__media,
    .nmf-product-story--image-right .nmf-product-story__content {
        order: initial;
    }

    .nmf-product-story__content {
        max-width: 900px;
    }
}

@media (max-width: 767px) {
    .nmf-product-story {
        padding: 42px 24px;
    }

    .nmf-product-story__media {
        height: 430px;
    }

    .nmf-product-story__title {
        font-size: clamp(40px, 14vw, 66px);
    }

    .nmf-product-story__text {
        margin-top: 24px;
        font-size: 14px;
        line-height: 1.75;
    }

    .nmf-product-story__feature {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 16px 0;
    }
}

/* v0.3.1 size guide */
.nmf-product-story__size-guide {
    margin-top: 44px;
    padding-top: 34px;
    border-top: 1px solid rgba(23,20,25,.16);
}

.nmf-product-story__size-title {
    margin: 0 0 24px;
    font-size: clamp(24px, 2.2vw, 42px);
    font-weight: 300;
    line-height: 1;
    letter-spacing: -.035em;
    color: currentColor;
}

.nmf-product-story__size-figure {
    display: block;
    margin: 0 0 22px;
    max-width: 520px;
    background: rgba(255,255,255,.42);
}

.nmf-product-story__size-figure img {
    display: block;
    width: 100%;
    height: auto;
}

.nmf-product-story__size-text {
    max-width: 46em;
    margin: 0 0 22px;
    font-size: 14px;
    line-height: 1.75;
    color: rgba(23,20,25,.62);
}

.nmf-product-story__size-text p {
    margin: 0 0 1em;
}

.nmf-product-story__size-text p:last-child {
    margin-bottom: 0;
}

.nmf-product-story__size-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.nmf-product-story__size-table {
    width: 100%;
    min-width: 420px;
    border-collapse: collapse;
    font-size: 13px;
    line-height: 1.55;
    color: currentColor;
}

.nmf-product-story__size-table th,
.nmf-product-story__size-table td {
    padding: 15px 0;
    border-bottom: 1px solid rgba(23,20,25,.16);
    text-align: left;
    vertical-align: top;
}

.nmf-product-story__size-table thead th {
    padding-top: 0;
    font-size: 10px;
    line-height: 1;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(23,20,25,.52);
}

.nmf-product-story__size-table tbody th {
    width: 110px;
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: currentColor;
}

.nmf-product-story__size-table td {
    color: rgba(23,20,25,.68);
}

.nmf-product-story--stacked .nmf-product-story__size-figure,
.nmf-product-story--stacked .nmf-product-story__size-text {
    margin-right: auto;
    margin-left: auto;
}

@media (max-width: 767px) {
    .nmf-product-story__size-guide {
        margin-top: 34px;
        padding-top: 28px;
    }

    .nmf-product-story__size-table {
        min-width: 360px;
    }
}
