.products-page {
    --p-ink: #111;
    --p-muted: #68635d;
    --p-paper: #f5f2ed;
    --p-line: #ddd7ce;
    --p-red: #e50914;
    background: #fff;
    color: var(--p-ink)
}

.products-shell {
    width: min(1200px, calc(100% - 10vw));
    margin-inline: auto
}

.product-eyebrow {
    margin: 0;
    color: var(--p-red);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase
}

.products-page main h1,
.products-page main h2,
.products-page main h3 {
    color: var(--p-ink);
    font-family: var(--heading-font, "Inter", sans-serif);
    letter-spacing: -.065em
}

.products-page main h2 {
    font-size: clamp(2.4rem, 5vw, 4.6rem);
    line-height: .94;
    margin: 0
}

.products-page main h2 em,
.products-page main h1 em {
    font-style: normal;
    color: var(--p-red)
}

.products-hero {
    position: relative;
    min-height: 680px;
    padding: 10.8rem 0 5rem;
    background: #f2eee8;
    overflow: hidden
}

.products-hero:before {
    content: "";
    position: absolute;
    width: 58vw;
    height: 58vw;
    right: -7vw;
    top: -20vw;
    border: 1px solid rgba(17, 17, 17, .09);
    border-radius: 50%;
    box-shadow: 0 0 0 5vw rgba(17, 17, 17, .018), 0 0 0 10vw rgba(17, 17, 17, .015)
}

.products-hero__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.02fr .98fr;
    align-items: center;
    gap: 5vw
}

.products-hero__copy {
    padding: 1rem 0 1rem 2vw
}

.products-hero h1 {
    margin: 1.3rem 0 1.4rem;
    font-size: clamp(3.5rem, 7.3vw, 7.4rem);
    line-height: .86
}

.products-hero__copy>p:not(.product-eyebrow) {
    max-width: 565px;
    color: #57534e;
    font-size: 1rem;
    line-height: 1.8
}

.products-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 2rem
}

.products-hero__assurance {
    margin-top: 2.7rem;
    color: #5a554e;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase
}

.products-hero__assurance b {
    padding: 0 .45rem;
    color: var(--p-red)
}

.products-hero__visual {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 460px
}

.hero-orbit {
    position: absolute;
    border: 1px solid rgba(229, 9, 20, .18);
    border-radius: 50%;
    transform: rotate(-24deg)
}

.hero-orbit--one {
    width: 86%;
    height: 62%
}

.hero-orbit--two {
    width: 105%;
    height: 76%;
    border-color: rgba(17, 17, 17, .08)
}

.hero-caption {
    position: absolute;
    right: 1%;
    bottom: 5%;
    display: grid;
    gap: .4rem;
    color: #292623;
    text-align: right
}

.hero-caption span {
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .13em;
    color: var(--p-red)
}

.hero-caption b {
    font-size: .94rem
}

.products-hero__edge {
    position: absolute;
    bottom: 1rem;
    left: 0;
    color: #999188;
    font-size: .55rem;
    letter-spacing: .22em;
    writing-mode: vertical-rl;
    transform: rotate(180deg)
}

.products-categories {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem
}

.products-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2.5rem
}

.products-section-heading h2 {
    margin-top: 1rem
}

.products-section-heading>p {
    max-width: 385px;
    margin: 0 0 .35rem;
    color: var(--p-muted);
    font-size: .9rem;
    line-height: 1.75
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem
}

.category-card {
    position: relative;
    display: flex;
    min-height: 370px;
    flex-direction: column;
    padding: 1.2rem 1.3rem 1.35rem;
    overflow: hidden;
    border: 1px solid var(--p-line);
    background: #f9f7f4;
    color: inherit;
    text-decoration: none;
    transition: transform .35s, box-shadow .35s, border-color .35s
}

.category-card:hover {
    transform: translateY(-5px);
    border-color: #c8bdb0;
    box-shadow: 0 18px 34px rgba(25, 19, 13, .09)
}

.category-card__number {
    position: absolute;
    top: 1.2rem;
    left: 1.3rem;
    z-index: 1;
    color: #625d56;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .12em
}

.category-art {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 183px;
    margin: -1.2rem -1.3rem 1.15rem;
    overflow: hidden;
    background: radial-gradient(circle at 50% 110%, rgba(220, 210, 197, .65), transparent 60%), linear-gradient(145deg, #ebe6de, #f7f5f1)
}

.category-art:before,
.category-art:after {
    content: "";
    position: absolute;
    border: 1px solid rgba(17, 17, 17, .09);
    border-radius: 50%;
    transform: rotate(-28deg)
}

.category-art:before {
    width: 65%;
    height: 50%
}

.category-art:after {
    width: 80%;
    height: 64%;
    border-color: rgba(229, 9, 20, .12)
}

.category-art>i {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 98px;
    height: 98px;
    border: 1px solid rgba(155, 22, 28, .18);
    border-radius: 50%;
    color: #b5212a;
    background: rgba(255, 255, 255, .68);
    font-size: 2.1rem;
    box-shadow: 0 14px 30px rgba(35, 24, 16, .08);
    transition: transform .35s
}

.category-art>span {
    position: absolute;
    right: 15%;
    bottom: -34px;
    width: 140px;
    height: 70px;
    border-radius: 50%;
    background: rgba(39, 32, 26, .07);
    filter: blur(8px)
}

.category-card:hover .category-art>i {
    transform: scale(1.06) rotate(-5deg)
}

.category-card__copy h3 {
    margin: 0 0 .55rem;
    font-size: 1.4rem;
    line-height: 1.05
}

.category-card__copy p {
    min-height: 48px;
    margin: 0;
    color: var(--p-muted);
    font-size: .78rem;
    line-height: 1.55
}

.category-card__copy small {
    display: block;
    margin-top: .9rem;
    color: #948c82;
    font-size: .61rem;
    letter-spacing: .04em
}

.category-card__copy>b {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 1rem;
    padding-top: .85rem;
    border-top: 1px solid var(--p-line);
    color: #191919;
    font-size: .69rem
}

.category-card__copy>b i {
    color: var(--p-red);
    transition: transform .2s
}

.category-card:hover .category-card__copy>b i {
    transform: translateX(4px)
}

.featured-products {
    padding: 6rem 0;
    background: #f4f1ec
}

.featured-products .products-section-heading {
    margin-bottom: 2rem
}

.text-link {
    color: #25211e;
    font-size: .75rem;
    font-weight: 700;
    text-decoration: none
}

.text-link i {
    margin-left: .5rem;
    color: var(--p-red);
    transition: transform .2s
}

.text-link:hover i {
    transform: translateX(4px)
}

.featured-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .9rem
}

.all-products {
    padding-top: 7rem;
    padding-bottom: 7rem
}

.products-section-heading--catalogue {
    margin-bottom: 2.3rem
}

.catalogue-tools {
    padding: 1rem 0;
    border-top: 1px solid var(--p-line);
    border-bottom: 1px solid var(--p-line)
}

.catalogue-search {
    display: flex;
    align-items: center;
    gap: .8rem;
    max-width: 100%;
    padding: .8rem 1rem;
    border: 1px solid #d7d1c9;
    background: #fff
}

.catalogue-search>i {
    color: var(--p-red);
    font-size: .88rem
}

.catalogue-search input {
    flex: 1;
    min-width: 0;
    border: 0;
    outline: 0;
    color: #171717;
    font: inherit;
    font-size: .85rem
}

.catalogue-search input::placeholder {
    color: #a7a097
}

.catalogue-search>span {
    padding: .23rem .45rem;
    border: 1px solid #e3dfd8;
    border-radius: 3px;
    color: #8d877e;
    font-size: .6rem
}

.catalogue-filters {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: .85rem
}

.catalogue-filters>label:not(.filter-check) {
    display: grid;
    gap: .35rem;
    min-width: 175px
}

.catalogue-filters>label>span {
    color: #817a71;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase
}

.catalogue-filters select {
    max-width: 230px;
    padding: .66rem 2rem .66rem .7rem;
    border: 1px solid #ded8d0;
    border-radius: 0;
    background: #fff;
    color: #25211e;
    font: inherit;
    font-size: .73rem
}

.filter-check {
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .68rem .35rem;
    color: #4b4640;
    font-size: .72rem;
    cursor: pointer
}

.filter-check input {
    accent-color: var(--p-red)
}

.filter-reset {
    margin-left: auto;
    padding: .65rem 0;
    border: 0;
    background: transparent;
    color: #817a71;
    font: inherit;
    font-size: .7rem;
    text-decoration: underline;
    cursor: pointer
}

.catalogue-results {
    display: flex;
    justify-content: space-between;
    margin: 1.2rem 0;
    color: #867f75;
    font-size: .65rem
}

.catalogue-results span:first-child {
    color: #292623;
    font-weight: 800
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem
}

.product-card {
    min-width: 0;
    border: 1px solid #e5e0d9;
    background: #fff;
    transition: transform .3s, border-color .3s, box-shadow .3s
}

.product-card:hover {
    transform: translateY(-4px);
    border-color: #cfc5b9;
    box-shadow: 0 14px 30px rgba(23, 18, 14, .08)
}

.product-card__image {
    position: relative;
    display: block;
    overflow: hidden;
    background: #f1eee8
}

.product-art {
    display: block;
    overflow: hidden;
    aspect-ratio: 1/1;
    background: #f2eee8
}

.product-art svg {
    display: block;
    width: 100%;
    height: 100%;
    transition: transform .6s cubic-bezier(.2, .7, .2, 1)
}

.product-card:hover .product-art svg {
    transform: scale(1.035)
}

.product-card__arrow {
    position: absolute;
    right: .75rem;
    bottom: .75rem;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #fff;
    background: #151515;
    font-size: .85rem;
    transition: background .2s, transform .2s
}

.product-card:hover .product-card__arrow {
    background: var(--p-red);
    transform: rotate(45deg)
}

.product-card__body {
    padding: 1rem
}

.product-card__category {
    margin: 0 0 .55rem;
    color: var(--p-red);
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase
}

.product-card h3 {
    margin: 0 0 .5rem;
    font-size: 1.03rem;
    line-height: 1.1
}

.product-card h3 a {
    color: inherit;
    text-decoration: none
}

.product-card__description {
    min-height: 58px;
    margin: 0;
    color: #746e66;
    font-size: .72rem;
    line-height: 1.55
}

.product-card__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-top: .85rem;
    padding-top: .7rem;
    border-top: 1px solid #eeeae5
}

.product-card__quote {
    color: #171717;
    font-size: .65rem;
    font-weight: 800;
    text-decoration: none
}

.product-card__quote span {
    color: var(--p-red)
}

.product-card__details {
    color: #8a837a;
    font-size: .62rem;
    text-decoration: none
}

.product-card__details:hover,
.product-card__quote:hover {
    color: var(--p-red)
}

.product-empty {
    padding: 5rem 1rem;
    text-align: center;
    color: #746e66
}

.product-empty>i {
    color: #b82a30;
    font-size: 1.6rem
}

.product-empty h3 {
    margin: .8rem 0 .25rem
}

.product-empty p {
    margin: 0;
    font-size: .82rem
}

.load-more {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: 2rem auto 0;
    padding: .9rem 1.2rem;
    border: 1px solid #cfc8bf;
    background: #fff;
    color: #28231e;
    font: inherit;
    font-size: .72rem;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s, color .2s
}

.load-more:hover {
    color: #fff;
    background: #181716
}

.load-more i {
    color: var(--p-red)
}

.bulk-band {
    position: relative;
    padding: 5.5rem 0;
    color: #fff;
    background: #111;
    overflow: hidden
}

.bulk-band:after {
    content: "";
    position: absolute;
    top: -140%;
    right: 14%;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    box-shadow: 0 0 0 55px rgba(255, 255, 255, .025), 0 0 0 110px rgba(255, 255, 255, .02)
}

.bulk-band__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem
}

.bulk-band h2 {
    margin: 1rem 0 1.1rem;
    color: #fff
}

.bulk-band__inner>div:first-child>p:not(.product-eyebrow) {
    max-width: 550px;
    color: #bdb7af;
    font-size: .88rem;
    line-height: 1.75
}

.bulk-band__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: 1.5rem
}

.bulk-band__chips span {
    padding: .5rem .65rem;
    border: 1px solid #403c38;
    color: #ded8d0;
    font-size: .6rem
}

.bulk-band__cta {
    flex-shrink: 0;
    text-decoration: none
}

.bulk-band__stamp {
    position: absolute;
    right: 11%;
    bottom: -3.2rem;
    z-index: -1;
    color: rgba(255, 255, 255, .045);
    font-size: 7rem;
    font-weight: 900;
    line-height: .8;
    letter-spacing: -.1em;
    text-align: center
}

.bulk-band__stamp span {
    font-size: .65rem;
    letter-spacing: .2em
}

.why-amay {
    padding-top: 7rem;
    padding-bottom: 7rem
}

.benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--p-line);
    border-left: 1px solid var(--p-line)
}

.benefit-grid article {
    position: relative;
    min-height: 190px;
    padding: 1.5rem;
    border-right: 1px solid var(--p-line);
    border-bottom: 1px solid var(--p-line);
    transition: background .25s
}

.benefit-grid article:hover {
    background: #f8f5f1
}

.benefit-grid article>span {
    position: absolute;
    top: 1rem;
    right: 1rem;
    color: #a29b92;
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .1em
}

.benefit-grid article>i {
    color: var(--p-red);
    font-size: 1.05rem
}

.benefit-grid h3 {
    margin: .9rem 0 .4rem;
    font-size: 1.15rem
}

.benefit-grid p {
    max-width: 300px;
    margin: 0;
    color: #746e66;
    font-size: .74rem;
    line-height: 1.6
}

.products-closing {
    padding: 7rem 0;
    background: #f2eee8
}

.products-closing h2 {
    margin: 1rem 0
}

.products-closing p:not(.product-eyebrow) {
    max-width: 500px;
    color: #68625a;
    font-size: .9rem;
    line-height: 1.7
}

.products-closing .btn {
    margin-top: .8rem
}

.detail-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-bottom: 2.5rem;
    color: #887f75;
    font-size: .66rem
}

.detail-breadcrumb a {
    color: #24211e;
    text-decoration: none
}

.product-detail {
    padding-top: 9rem;
    padding-bottom: 6rem
}

.product-detail__top {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 5vw
}

.product-detail__gallery .product-art {
    max-height: 690px
}

.product-detail__thumbs {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: .75rem;
    color: #8a837a;
    font-size: .64rem
}

.product-detail__thumbs .product-art {
    width: 74px;
    border: 1px solid var(--p-line)
}

.product-detail__summary {
    padding: 1rem 0
}

.product-detail__summary h1 {
    margin: 1rem 0;
    font-size: clamp(2.5rem, 5.1vw, 5.4rem);
    line-height: .91
}

.product-detail__lead {
    max-width: 560px;
    color: #6d675f;
    font-size: .94rem;
    line-height: 1.75
}

.product-facts {
    margin: 2rem 0;
    border-top: 1px solid var(--p-line)
}

.product-facts>div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 0;
    border-bottom: 1px solid var(--p-line);
    font-size: .72rem
}

.product-facts dt {
    color: #827b72
}

.product-facts dd {
    margin: 0;
    color: #25211d;
    font-weight: 700;
    text-align: right
}

.product-detail__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem
}

.product-detail__buttons>* {
    flex: 1 1 42%;
    text-align: center
}

.product-detail__buy {
    padding: .9rem 0;
    color: #23201d;
    font-size: .69rem;
    font-weight: 800;
    text-decoration: none
}

.product-detail__buy span {
    margin-left: .55rem;
    color: #938c82;
    font-weight: 400
}

.product-detail__note {
    color: #8b847b;
    font-size: .65rem;
    line-height: 1.6
}

.product-art--large {
    aspect-ratio: 1/1
}

.detail-info {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 5vw;
    padding: 6rem 0;
    border-top: 1px solid var(--p-line)
}

.detail-info h2 {
    margin-top: .9rem
}

.detail-info h3 {
    margin: 0 0 .55rem;
    font-size: 1.12rem;
    letter-spacing: -.03em
}

.detail-info h3:not(:first-child) {
    margin-top: 1.7rem
}

.detail-info p,
.detail-info li {
    color: #716b62;
    font-size: .82rem;
    line-height: 1.75
}

.detail-info ul {
    padding-left: 1.1rem
}

.detail-info li::marker {
    color: var(--p-red)
}

.bulk-form-section {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 4vw;
    padding: 4rem;
    background: #f3f0eb
}

.bulk-form-intro h2 {
    margin: 1rem 0
}

.bulk-form-intro>p:not(.product-eyebrow) {
    max-width: 340px;
    color: #716b62;
    font-size: .82rem;
    line-height: 1.7
}

.bulk-form-intro>div {
    margin-top: 2rem;
    color: #827b72;
    font-size: .6rem;
    line-height: 2
}

.bulk-form-intro>div i {
    padding: 0 .22rem;
    color: var(--p-red);
    font-style: normal
}

.bulk-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem
}

.bulk-form label {
    display: grid;
    gap: .4rem;
    color: #575149;
    font-size: .66rem;
    font-weight: 700
}

.bulk-form input,
.bulk-form textarea {
    width: 100%;
    min-width: 0;
    padding: .75rem;
    border: 1px solid #dcd6ce;
    border-radius: 0;
    background: #fff;
    color: #24201d;
    font: inherit;
    font-size: .78rem
}

.bulk-form input[type=file] {
    font-size: .67rem
}

.bulk-form small {
    color: #867e74;
    font-size: .59rem;
    font-weight: 400
}

.bulk-form__wide {
    grid-column: 1/-1
}

.bulk-form .btn {
    justify-self: start;
    cursor: pointer
}

.form-note {
    margin: 0;
    color: #827b72;
    font-size: .64rem;
    line-height: 1.5
}

@media(max-width:1000px) {
    .products-shell {
        width: min(100% - 3rem, 820px)
    }

    .products-hero__inner {
        gap: 2vw
    }

    .products-hero__copy {
        padding-left: 0
    }

    .products-hero__visual {
        min-height: 400px
    }

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

    .product-grid,
    .featured-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .bulk-band__stamp {
        right: 4%
    }

    .products-section-heading--catalogue {
        align-items: flex-start
    }
}

@media(max-width:650px) {
    .products-shell {
        width: calc(100% - 2rem)
    }

    .products-hero {
        min-height: 0;
        padding: 8.5rem 0 3rem
    }

    .products-hero__inner {
        grid-template-columns: 1fr;
        gap: 1rem
    }

    .products-hero h1 {
        font-size: clamp(3.2rem, 15vw, 5.6rem)
    }

    .products-hero__copy>p:not(.product-eyebrow) {
        font-size: .88rem
    }

    .products-hero__visual {
        min-height: 335px
    }

    .products-categories,
    .all-products,
    .why-amay {
        padding-top: 4.5rem;
        padding-bottom: 4.5rem
    }

    .products-section-heading {
        display: block
    }

    .products-section-heading>p {
        margin-top: 1.2rem
    }

    .products-section-heading h2 {
        font-size: clamp(2.5rem, 11vw, 3.7rem)
    }

    .category-grid {
        grid-template-columns: 1fr;
        gap: .75rem
    }

    .category-card {
        min-height: 0;
        display: grid;
        grid-template-columns: 38% 1fr;
        padding: 0
    }

    .category-card__number {
        top: .75rem;
        left: .8rem
    }

    .category-art {
        grid-row: 1/-1;
        min-height: 100%;
        margin: 0
    }

    .category-art>i {
        width: 68px;
        height: 68px;
        font-size: 1.55rem
    }

    .category-card__copy {
        padding: .95rem
    }

    .category-card__copy h3 {
        font-size: 1.1rem
    }

    .category-card__copy p {
        min-height: 0;
        font-size: .68rem
    }

    .category-card__copy small {
        margin-top: .5rem
    }

    .category-card__copy>b {
        margin-top: .65rem;
        padding-top: .6rem;
        font-size: .63rem
    }

    .featured-products {
        padding: 4rem 0
    }

    .featured-products .products-section-heading {
        display: flex;
        align-items: flex-end
    }

    .featured-strip,
    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .55rem
    }

    .product-card__body {
        padding: .7rem
    }

    .product-card h3 {
        font-size: .88rem
    }

    .product-card__description {
        min-height: 70px;
        font-size: .66rem
    }

    .product-card__actions {
        align-items: flex-start;
        flex-direction: column;
        gap: .5rem
    }

    .product-card__category {
        font-size: .51rem
    }

    .catalogue-filters {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .5rem
    }

    .catalogue-filters>label:not(.filter-check) {
        min-width: 0
    }

    .catalogue-filters select {
        max-width: none;
        width: 100%
    }

    .filter-check {
        padding: .5rem 0
    }

    .filter-reset {
        grid-column: 1/-1;
        margin: 0;
        text-align: left
    }

    .catalogue-results {
        font-size: .58rem
    }

    .bulk-band {
        padding: 4rem 0
    }

    .bulk-band__inner {
        align-items: flex-start;
        flex-direction: column
    }

    .bulk-band__cta {
        margin-top: .5rem
    }

    .bulk-band__stamp {
        right: 2%;
        bottom: -2rem;
        font-size: 5rem
    }

    .benefit-grid {
        grid-template-columns: 1fr 1fr
    }

    .benefit-grid article {
        min-height: 180px;
        padding: 1rem
    }

    .benefit-grid h3 {
        font-size: 1rem
    }

    .benefit-grid p {
        font-size: .68rem
    }

    .products-closing {
        padding: 4.5rem 0
    }

    .product-detail {
        padding-top: 7.5rem;
        padding-bottom: 4rem
    }

    .product-detail__top,
    .detail-info {
        grid-template-columns: 1fr;
        gap: 2rem
    }

    .product-detail__summary h1 {
        font-size: 3.1rem
    }

    .detail-info {
        padding: 4rem 0
    }

    .bulk-form-section {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 1.25rem
    }

    .bulk-form {
        gap: .7rem
    }

    .bulk-form input,
    .bulk-form textarea {
        padding: .65rem
    }

    .product-detail__buttons {
        display: grid;
        grid-template-columns: 1fr 1fr
    }

    .product-detail__buttons>* {
        min-width: 0
    }

    .product-detail__buy span {
        display: block;
        margin: .25rem 0 0
    }

    .detail-breadcrumb {
        margin-bottom: 1.5rem;
        font-size: .59rem
    }
}

@media(max-width:390px) {

    .product-grid,
    .featured-strip {
        grid-template-columns: 1fr
    }

    .product-card__actions {
        flex-direction: row;
        align-items: center
    }

    .product-card__description {
        min-height: 0
    }

    .category-card {
        grid-template-columns: 34% 1fr
    }

    .products-hero__actions>* {
        flex: 1 1 100%
    }
}

.product-art img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s cubic-bezier(.2, .7, .2, 1)
}

.product-card:hover .product-art img {
    transform: scale(1.035)
}

.product-card__price {
    margin: -.2rem 0 .45rem;
    color: #201d1a;
    font-size: .73rem;
    font-weight: 800
}

.product-detail__thumbs {
    min-height: 55px
}

.product-gallery-thumb {
    width: 64px;
    height: 64px;
    padding: 0;
    border: 1px solid #ded8d0;
    background: #fff;
    cursor: pointer
}

.product-gallery-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.product-gallery-thumb.is-active {
    border-color: #e50914;
    box-shadow: 0 0 0 1px #e50914
}

.product-detail__thumbs>span {
    color: #8a837a;
    font-size: .64rem
}

.product-art--large img {
    object-fit: cover
}


/* Product pages reuse the shared AMAY button tokens and interactions. */
.products-page main .btn {
    border-radius: var(--radius-pill);
    transition: transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease)
}

.products-page main .btn i {
    transition: transform .3s var(--ease)
}

.products-page main .btn:hover i {
    transform: translateX(4px)
}

.products-page main .btn--primary {
    color: #fff;
    background: var(--gradient-primary);
    border-color: transparent;
    box-shadow: var(--shadow-red)
}

.products-page main .btn--primary:hover {
    color: #fff;
    background: var(--gradient-red);
    box-shadow: 0 15px 30px rgba(229, 9, 20, .28);
    transform: translateY(-3px)
}

.products-page main .btn--outline {
    border: 1px solid #cfc8bf;
    color: #26221e;
    background: rgba(255, 255, 255, .45)
}

.products-page main .btn--outline:hover {
    border-color: #24211e;
    color: #fff;
    background: #24211e;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .12);
    transform: translateY(-3px)
}

/* A distinct category presentation, still in the AMAY palette. */
.products-hero {
    --hero-wash: #f2eee8;
    --hero-shift: 0px;
    --hero-orbit: rgba(229, 9, 20, .18);
    background: var(--hero-wash);
    transition: background-color .45s var(--ease)
}

.products-hero:before {
    transform: translateX(var(--hero-shift));
    border-color: color-mix(in srgb, var(--hero-orbit) 28%, transparent);
    transition: transform .65s var(--ease), border-color .4s var(--ease)
}

.products-hero[data-category="corporate-gifts"] {
    --hero-wash: #f1ece5;
    --hero-shift: -2vw;
    --hero-orbit: rgba(158, 112, 70, .34)
}

.products-hero[data-category="customized-gifts"] {
    --hero-wash: #f3efeb;
    --hero-shift: 2vw;
    --hero-orbit: rgba(229, 9, 20, .24)
}

.products-hero[data-category="awards-mementos"] {
    --hero-wash: #eeefed;
    --hero-shift: -1vw;
    --hero-orbit: rgba(139, 155, 162, .42)
}

.products-hero[data-category="decoration"] {
    --hero-wash: #f1eee8;
    --hero-shift: 2.5vw;
    --hero-orbit: rgba(200, 151, 77, .4)
}

.products-hero[data-category="printing-promotional"] {
    --hero-wash: #f0eeeb;
    --hero-shift: -2.5vw;
    --hero-orbit: rgba(99, 112, 129, .38)
}

.products-hero[data-category="packaging-solutions"] {
    --hero-wash: #f2ece5;
    --hero-shift: 1vw;
    --hero-orbit: rgba(176, 111, 77, .4)
}

.products-hero__copy>* {
    transition: opacity .24s ease, transform .3s var(--ease)
}

.products-hero.is-changing .products-hero__copy>* {
    opacity: .28;
    transform: translateY(8px)
}

.hero-orbit {
    border-color: var(--hero-orbit);
    transition: transform .55s var(--ease), border-color .4s var(--ease)
}

.products-hero[data-category="customized-gifts"] .hero-orbit--one {
    transform: rotate(18deg) scale(.93)
}

.products-hero[data-category="awards-mementos"] .hero-orbit--one {
    transform: rotate(-42deg) scale(1.08)
}

.products-hero[data-category="decoration"] .hero-orbit--one {
    transform: rotate(35deg) scale(.98)
}

.products-hero[data-category="printing-promotional"] .hero-orbit--one {
    transform: rotate(-12deg) scale(1.04)
}

.products-hero[data-category="packaging-solutions"] .hero-orbit--one {
    transform: rotate(54deg) scale(.9)
}

.products-hero__image-frame {
    position: relative;
    z-index: 1;
    width: min(470px, 82%);
    aspect-ratio: 1/1;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 18px;
    background: rgba(255, 255, 255, .32);
    box-shadow: 0 24px 54px rgba(29, 22, 15, .13), 0 2px 7px rgba(29, 22, 15, .06)
}

.products-hero__image-frame img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity .32s ease, transform .48s var(--ease)
}

.products-hero.is-changing .products-hero__image-frame img {
    opacity: .35;
    transform: translateX(10px) scale(.97)
}

.hero-caption {
    z-index: 2
}

.products-hero h1 {
    font-size: clamp(3.45rem, 5.35vw, 5.65rem);
    line-height: .91
}

.products-hero__assurance {
    letter-spacing: .075em
}

.products-hero[data-category="all"] .hero-orbit--one {
    transform: rotate(-24deg)
}

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

    .products-hero,
    .products-hero:before,
    .products-hero__copy>*,
    .products-hero__image-frame img,
    .hero-orbit {
        transition: none !important
    }
}

/* Keep hero artwork, orbit accents and captions inside the visual card. */
.products-hero__visual {
    overflow: hidden;
    border-radius: 22px;
    isolation: isolate
}

.products-hero__visual>.hero-orbit {
    width: 68%;
    height: 55%;
    max-width: 100%
}

.products-hero__visual>.hero-caption {
    left: 9%;
    right: 9%;
    bottom: 5%;
    box-sizing: border-box;
    max-width: none;
    overflow-wrap: anywhere;
    padding-right: 15px;
}

@media(max-width:650px) {
    .products-hero__visual>.hero-caption {
        left: 12%;
        right: 12%
    }
}

/* Product and category cards share one quiet, elevated surface treatment. */
.category-card,
.product-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(46, 38, 30, .11);
    border-radius: 16px;
    box-shadow: 0 5px 16px rgba(26, 20, 15, .045), 0 1px 2px rgba(26, 20, 15, .035);
    transition: transform .36s var(--ease), box-shadow .36s var(--ease), border-color .36s var(--ease)
}

.category-card:before,
.product-card:before {
    position: absolute;
    top: 0;
    left: 1rem;
    width: 34%;
    height: 2px;
    border-radius: 0 0 99px 99px;
    background: var(--gradient-primary);
    content: "";
    transform: scaleX(.45);
    transform-origin: left;
    opacity: .65;
    transition: transform .36s var(--ease), opacity .36s var(--ease)
}

.category-card:hover,
.product-card:hover {
    transform: translateY(-4px);
    border-color: rgba(229, 9, 20, .2);
    box-shadow: 0 14px 30px rgba(26, 20, 15, .085), 0 5px 13px rgba(229, 9, 20, .055)
}

.category-card:hover:before,
.product-card:hover:before {
    transform: scaleX(1);
    opacity: .95
}

.category-card__number {
    transition: color .3s ease, transform .3s ease
}

.category-card:hover .category-card__number {
    color: var(--p-red);
    transform: translateY(-1px)
}

.product-card__image {
    border-radius: 15px 15px 0 0
}

.product-card__quote {
    min-height: 42px;
    padding: .68rem 1rem;
    font-size: .61rem
}

.product-card__quote i {
    font-size: .58rem
}

.product-card__details {
    transition: color .25s ease, transform .25s ease
}

.product-card__details:hover {
    color: var(--p-red);
    transform: translateX(2px)
}

/* More breathing room between the six product benefits. */
.benefit-grid {
    gap: 1rem;
    border: 0
}

.benefit-grid article {
    min-height: 205px;
    padding: 1.65rem;
    border: 1px solid rgba(46, 38, 30, .11);
    border-radius: 18px;
    background: #faf9f7;
    box-shadow: 0 5px 16px rgba(26, 20, 15, .045), 0 1px 2px rgba(26, 20, 15, .035);
    transition: transform .36s var(--ease), box-shadow .36s var(--ease), border-color .36s var(--ease), background .36s var(--ease)
}

.benefit-grid article:before {
    position: absolute;
    top: 0;
    left: 1.65rem;
    width: 38px;
    height: 2px;
    border-radius: 0 0 99px 99px;
    background: var(--gradient-primary);
    content: "";
    transform: scaleX(.72);
    transform-origin: left;
    opacity: .5;
    transition: transform .36s var(--ease), opacity .36s var(--ease)
}

.benefit-grid article:hover {
    transform: translateY(-4px);
    border-color: rgba(229, 9, 20, .22);
    background: #fff;
    box-shadow: 0 16px 32px rgba(26, 20, 15, .09), 0 4px 12px rgba(229, 9, 20, .055)
}

.benefit-grid article:hover:before {
    width: calc(100% - 3.3rem);
    transform: scaleX(1);
    opacity: .95
}

.benefit-grid article>span {
    color: #b6aea4;
    opacity: .72;
    transition: color .3s ease, opacity .3s ease, transform .3s ease
}

.benefit-grid article:hover>span {
    color: var(--p-red);
    opacity: 1;
    transform: translateY(-2px)
}

.benefit-grid article>i {
    display: inline-block;
    transition: transform .35s var(--ease)
}

.benefit-grid article:hover>i {
    transform: translate(2px, -2px) scale(1.08)
}

.benefit-grid h3 {
    margin-top: 1.05rem
}

.products-section-heading {
    margin-bottom: 2.8rem
}

.products-section-heading>p {
    max-width: 355px
}

.bulk-band__cta {
    flex-shrink: 0
}

@media(max-width:650px) {
    .products-hero h1 {
        font-size: clamp(2.8rem, 10.4vw, 4.1rem)
    }

    .products-hero__image-frame {
        width: min(330px, 76%);
        border-radius: 16px
    }

    .benefit-grid {
        gap: .7rem
    }

    .benefit-grid article {
        min-height: 185px;
        padding: 1rem
    }

    .benefit-grid article:before {
        left: 1rem
    }

    .benefit-grid article:hover:before {
        width: calc(100% - 2rem)
    }
}

/* Give the six product benefits a clearer, tactile hover response. */
.products-page main .why-amay .benefit-grid article {
    isolation: isolate;
    overflow: hidden;
    transform: translateY(0);
    transition: transform .38s cubic-bezier(.2, .75, .25, 1), box-shadow .38s ease, border-color .32s ease, background-color .32s ease
}

.products-page main .why-amay .benefit-grid article:after {
    position: absolute;
    z-index: -1;
    right: -2rem;
    bottom: -3.5rem;
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(229, 9, 20, .075), rgba(229, 9, 20, 0) 70%);
    content: "";
    opacity: 0;
    transform: scale(.65);
    transition: opacity .4s ease, transform .5s cubic-bezier(.2, .75, .25, 1)
}

.products-page main .why-amay .benefit-grid article:hover,
.products-page main .why-amay .benefit-grid article:focus-within {
    transform: translateY(-7px) scale(1.012);
    border-color: rgba(229, 9, 20, .34);
    box-shadow: 0 20px 38px rgba(26, 20, 15, .11), 0 6px 16px rgba(229, 9, 20, .09)
}

.products-page main .why-amay .benefit-grid article:hover:after,
.products-page main .why-amay .benefit-grid article:focus-within:after {
    opacity: 1;
    transform: scale(1)
}

.products-page main .why-amay .benefit-grid article:before {
    z-index: 1;
    height: 3px;
    transform: scaleX(.38);
    opacity: .65;
    transition: transform .42s cubic-bezier(.2, .75, .25, 1), opacity .32s ease
}

.products-page main .why-amay .benefit-grid article:hover:before,
.products-page main .why-amay .benefit-grid article:focus-within:before {
    transform: scaleX(1);
    opacity: 1
}

.products-page main .why-amay .benefit-grid article>i {
    position: relative;
    z-index: 1;
    transition: transform .38s cubic-bezier(.2, .75, .25, 1), filter .32s ease
}

.products-page main .why-amay .benefit-grid article:hover>i,
.products-page main .why-amay .benefit-grid article:focus-within>i {
    transform: translate(3px, -3px) scale(1.18);
    filter: drop-shadow(0 3px 5px rgba(229, 9, 20, .22))
}

.products-page main .why-amay .benefit-grid article>span {
    transition: color .3s ease, opacity .3s ease, transform .35s ease
}

.products-page main .why-amay .benefit-grid article:hover>span,
.products-page main .why-amay .benefit-grid article:focus-within>span {
    color: var(--p-red);
    opacity: 1;
    transform: translate(-2px, -2px)
}

.products-page main .why-amay .benefit-grid article h3 {
    transition: color .3s ease, transform .35s ease
}

.products-page main .why-amay .benefit-grid article:hover h3,
.products-page main .why-amay .benefit-grid article:focus-within h3 {
    color: #d90813;
    transform: translateX(2px)
}

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

    .products-page main .why-amay .benefit-grid article,
    .products-page main .why-amay .benefit-grid article:before,
    .products-page main .why-amay .benefit-grid article:after,
    .products-page main .why-amay .benefit-grid article>* {
        transition: none !important
    }
}