* {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
}

html {
        scroll-behavior: smooth;
}

:root {
        --white: #fff;
        --black: #000;
        --accent-dark: #222;
        --accent-light: #bbbbbb;
}

::selection {
        background: var(--black);
        color: var(--white);
}

::-moz-selection {
        background: var(--black);
        color: var(--white);
}

body {
        font-family: "Manrope", sans-serif;
        font-style: normal;
        font-weight: 300;
        font-size: 13px;
        color: var(--dark);
}

.garamond {
        font-family: "Cormorant Garamond", serif;
}

.bgBlack {
        background: var(--black);
}

.bgWhite {
        background: var(--white);
}

.bgAccentBlack {
        background: var(--accent-dark);
}

.bgAccentWhite {
        background: var(--accent-light);
}

.textBlack {
        color: var(--black);
}

.textWhite {
        color: var(--white);
}

.textAccentBlack {
        color: var(--accent-dark);
}

.textAccentWhite {
        color: var(--accent-light);
}

/* Font size classes */
.f-x08 { font-size: 0.8em; }
.f-x1 { font-size: 1em; }
.f-x2 { font-size: 1.25em; }
.f-x3 { font-size: 1.5em; }
.f-x4 { font-size: 2em; }
.f-x5 { font-size: 2.5em; }
.f-x6 { font-size: 3em; }
.f-x7 { font-size: 3.5em; }
.f-x8 { font-size: 4em; }

/* Padding classes */
.p-x1 { padding: 10px; }
.pt-x1 { padding-top: 10px; }
.pr-x1 { padding-right: 10px; }
.pb-x1 { padding-bottom: 10px; }
.pl-x1 { padding-left: 10px; }
.px-x1 { padding-left: 10px; padding-right: 10px; }
.py-x1 { padding-top: 10px; padding-bottom: 10px; }

.p-x2 { padding: 20px; }
.pt-x2 { padding-top: 20px; }
.pr-x2 { padding-right: 20px; }
.pb-x2 { padding-bottom: 20px; }
.pl-x2 { padding-left: 20px; }
.px-x2 { padding-left: 20px; padding-right: 20px; }
.py-x2 { padding-top: 20px; padding-bottom: 20px; }

.p-x3 { padding: 30px; }
.pt-x3 { padding-top: 30px; }
.pr-x3 { padding-right: 30px; }
.pb-x3 { padding-bottom: 30px; }
.pl-x3 { padding-left: 30px; }
.px-x3 { padding-left: 30px; padding-right: 30px; }
.py-x3 { padding-top: 30px; padding-bottom: 30px; }

.p-x4 { padding: 40px; }
.pt-x4 { padding-top: 40px; }
.pr-x4 { padding-right: 40px; }
.pb-x4 { padding-bottom: 40px; }
.pl-x4 { padding-left: 40px; }
.px-x4 { padding-left: 40px; padding-right: 40px; }
.py-x4 { padding-top: 40px; padding-bottom: 40px; }

.p-x5 { padding: 50px; }
.pt-x5 { padding-top: 50px; }
.pr-x5 { padding-right: 50px; }
.pb-x5 { padding-bottom: 50px; }
.pl-x5 { padding-left: 50px; }
.px-x5 { padding-left: 50px; padding-right: 50px; }
.py-x5 { padding-top: 50px; padding-bottom: 50px; }

/* Margin classes */
.m-xauto { margin: auto; }
.mt-xauto { margin-top: auto; }
.mr-xauto { margin-right: auto; }
.mb-xauto { margin-bottom: auto; }
.ml-xauto { margin-left: auto; }
.mx-xauto { margin-left: auto; margin-right: auto; }
.my-xauto { margin-top: auto; margin-bottom: auto; }

.m-x0 { margin: 0; }
.mt-x0 { margin-top: 0; }
.mr-x0 { margin-right: 0; }
.mb-x0 { margin-bottom: 0; }
.ml-x0 { margin-left: 0; }
.mx-x0 { margin-left: 0; margin-right: 0; }
.my-x0 { margin-top: 0; margin-bottom: 0; }

.m-x1 { margin: 10px; }
.mt-x1 { margin-top: 10px; }
.mr-x1 { margin-right: 10px; }
.mb-x1 { margin-bottom: 10px; }
.ml-x1 { margin-left: 10px; }
.mx-x1 { margin-left: 10px; margin-right: 10px; }
.my-x1 { margin-top: 10px; margin-bottom: 10px; }

.m-x2 { margin: 20px; }
.mt-x2 { margin-top: 20px; }
.mr-x2 { margin-right: 20px; }
.mb-x2 { margin-bottom: 20px; }
.ml-x2 { margin-left: 20px; }
.mx-x2 { margin-left: 20px; margin-right: 20px; }
.my-x2 { margin-top: 20px; margin-bottom: 20px; }

.m-x3 { margin: 30px; }
.mt-x3 { margin-top: 30px; }
.mr-x3 { margin-right: 30px; }
.mb-x3 { margin-bottom: 30px; }
.ml-x3 { margin-left: 30px; }
.mx-x3 { margin-left: 30px; margin-right: 30px; }
.my-x3 { margin-top: 30px; margin-bottom: 30px; }

.m-x4 { margin: 40px; }
.mt-x4 { margin-top: 40px; }
.mr-x4 { margin-right: 40px; }
.mb-x4 { margin-bottom: 40px; }
.ml-x4 { margin-left: 40px; }
.mx-x4 { margin-left: 40px; margin-right: 40px; }
.my-x4 { margin-top: 40px; margin-bottom: 40px; }

.m-x5 { margin: 50px; }
.mt-x5 { margin-top: 50px; }
.mr-x5 { margin-right: 50px; }
.mb-x5 { margin-bottom: 50px; }
.ml-x5 { margin-left: 50px; }
.mx-x5 { margin-left: 50px; margin-right: 50px; }
.my-x5 { margin-top: 50px; margin-bottom: 50px; }

/* Text align */
.text-align-left {text-align: left}
.text-align-right {text-align: right}
.text-align-center {text-align: center}

a {
        text-decoration: none;
}

li {
        list-style: none;
}/* Site shell */
.site-body {
        background: #000;
        color: #111;
        overflow-x: hidden;
}

.page-shell {
        min-height: 100vh;
        background: #000;
}

.announcement-bar {
        background: #050505;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        color: #f5f5f5;
        font-size: 0.72rem;
        font-weight: 600;
        letter-spacing: 0.22em;
        max-height: 4rem;
        overflow: hidden;
        padding: 0.8rem 1rem;
        text-align: center;
        text-transform: uppercase;
        transition: max-height 0.28s ease, opacity 0.28s ease, padding 0.28s ease, border-color 0.28s ease;
}

.announcement-bar.is-hidden {
        border-bottom-color: transparent;
        max-height: 0;
        opacity: 0;
        padding-bottom: 0;
        padding-top: 0;
}

.announcement-bar__inner {
        align-items: center;
        display: flex;
        gap: 0.85rem;
        justify-content: center;
        margin: 0 auto;
        max-width: 90rem;
}

.announcement-bar__inner > a {
        align-items: center;
        color: inherit;
        display: inline-flex;
        flex: 0 0 auto;
        font-size: 0.64rem;
        gap: 0.3rem;
        letter-spacing: 0.14em;
        text-decoration: underline;
        text-underline-offset: 0.2rem;
}

.site-header {
        position: relative;
        z-index: 40;
        margin: 0 auto;
        width: 100%;
        max-width: 1400px;
        transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

.site-header.is-sticky {
        position: fixed;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
        backdrop-filter: blur(16px);
}

.site-header__inner {
        align-items: center;
        background: #fff;
        border: 1px solid rgba(0, 0, 0, 0.08);
        display: grid;
        gap: 1.25rem;
        grid-template-columns: minmax(160px, 220px) 1fr auto;
        padding: 1rem 1.25rem;
        transition: padding 0.3s ease, background-color 0.3s ease;
}

.site-header.is-sticky .site-header__inner {
        background: transparent;
        border-color: transparent;
}

.site-brand {
        align-items: center;
        display: inline-flex;
        width: min(210px, 100%);
}

.site-brand img {
        display: block;
        height: auto;
        width: 100%;
}

.site-nav {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 1.35rem;
        justify-content: center;
}

.site-nav a {
        color: #111;
        font-size: 0.84rem;
        font-weight: 600;
        letter-spacing: 0.14em;
        position: relative;
        text-transform: uppercase;
        transition: opacity 0.2s ease, transform 0.2s ease;
}

.site-nav a::after {
        background: #111;
        bottom: -0.35rem;
        content: "";
        height: 1px;
        left: 0;
        opacity: 0;
        position: absolute;
        transform: scaleX(0.5);
        transform-origin: left center;
        transition: opacity 0.2s ease, transform 0.2s ease;
        width: 100%;
}

.site-nav a:hover::after,
.site-nav a:focus-visible::after {
        opacity: 1;
        transform: scaleX(1);
}

.site-header__actions {
        align-items: center;
        display: flex;
        gap: 0.4rem;
        justify-self: end;
        margin-left: auto;
}

.icon-button,
.menu-toggle,
.mobile-menu__close {
        align-items: center;
        background: transparent;
        border: 1px solid rgba(0, 0, 0, 0.16);
        color: #111;
        display: inline-flex;
        height: 2.5rem;
        justify-content: center;
        transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
        width: 2.5rem;
        padding: 0;
}

.mobile-menu__close {
        border-color: rgba(255, 255, 255, 0.24);
        color: #fff;
}

.icon-button:hover,
.icon-button:focus-visible,
.menu-toggle:hover,
.menu-toggle:focus-visible,
.mobile-menu__close:hover,
.mobile-menu__close:focus-visible {
        background: #111;
        border-color: #111;
        color: #fff;
        transform: translateY(-1px);
}

.icon-button svg,
.menu-toggle i,
.mobile-menu__close svg {
        fill: none;
        height: 1.05rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.8;
        width: 1.05rem;
}

.mobile-menu__close svg {
        height: 1.15rem;
        width: 1.15rem;
        stroke-width: 2.2;
}

.menu-toggle {
        display: none;
        gap: 0.25rem;
        flex-direction: column;
        padding: 0.45rem;
}

.menu-toggle span {
        background: currentColor;
        display: block;
        height: 1px;
        width: 100%;
}

.site-header__spacer {
        height: 0;
        transition: height 0.3s ease;
}

.mobile-menu {
        background: rgba(0, 0, 0, 0.92);
        inset: 0;
        opacity: 0;
        pointer-events: none;
        position: fixed;
        transform: translateY(-1rem);
        transition: opacity 0.35s ease, transform 0.35s ease;
        z-index: 60;
}

.mobile-menu.is-open {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
}

.mobile-menu__panel {
        display: flex;
        flex-direction: column;
        gap: 2rem;
        height: 100%;
        justify-content: space-between;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 1.25rem;
}

.mobile-menu__top {
        align-items: center;
        display: flex;
        justify-content: space-between;
        gap: 1rem;
}

.site-brand--mobile {
        width: min(180px, 60vw);
}

.site-brand--mobile img {
        filter: invert(1);
}

.mobile-menu__nav {
        display: grid;
        gap: 1rem;
        margin-top: auto;
        padding-block: 2rem;
}

.mobile-menu__nav a {
        color: #fff;
        font-size: clamp(1.75rem, 5vw, 3rem);
        font-weight: 700;
        letter-spacing: -0.04em;
        line-height: 1;
        text-transform: uppercase;
        transition: opacity 0.2s ease, transform 0.2s ease;
}

.mobile-menu__nav a:hover,
.mobile-menu__nav a:focus-visible {
        opacity: 0.7;
        transform: translateX(0.2rem);
}

.mobile-menu__account {
        align-items: center;
        border: 1px solid rgba(255, 255, 255, 0.24);
        color: #fff;
        display: grid;
        flex: 0 0 auto;
        gap: 0.9rem;
        grid-template-columns: auto minmax(0, 1fr) auto;
        min-height: 5rem;
        padding: 0.8rem;
        transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.mobile-menu__account:hover,
.mobile-menu__account:focus-visible {
        background: #fff;
        border-color: #fff;
        color: #111;
        transform: translateY(-2px);
}

.mobile-menu__account-icon {
        align-items: center;
        border: 1px solid currentColor;
        display: inline-flex;
        height: 3.1rem;
        justify-content: center;
        width: 3.1rem;
}

.mobile-menu__account-icon svg {
        fill: none;
        height: 1.2rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.6;
        width: 1.2rem;
}

.mobile-menu__account-copy small,
.mobile-menu__account-copy strong {
        display: block;
}

.mobile-menu__account-copy small {
        color: rgba(255, 255, 255, 0.55);
        font-size: 0.6rem;
        font-weight: 700;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        transition: color 0.25s ease;
}

.mobile-menu__account:hover .mobile-menu__account-copy small,
.mobile-menu__account:focus-visible .mobile-menu__account-copy small {
        color: rgba(17, 17, 17, 0.58);
}

.mobile-menu__account-copy strong {
        font-size: 0.9rem;
        letter-spacing: 0.11em;
        margin-top: 0.25rem;
        text-transform: uppercase;
}

.mobile-menu__account-arrow {
        font-size: 1.2rem;
        transition: transform 0.25s ease;
}

.mobile-menu__account:hover .mobile-menu__account-arrow,
.mobile-menu__account:focus-visible .mobile-menu__account-arrow {
        transform: translateX(0.2rem);
}

.mobile-menu__meta {
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        color: rgba(255, 255, 255, 0.78);
        display: grid;
        gap: 1rem;
        padding-top: 1.25rem;
}

.button {
        align-items: center;
        background: #111;
        border: 1px solid #111;
        border-radius: 0;
        color: #fff;
        display: inline-flex;
        font-size: 0.84rem;
        font-weight: 700;
        justify-content: center;
        letter-spacing: 0.12em;
        min-height: 3rem;
        padding: 0.95rem 1.35rem;
        text-transform: uppercase;
        transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.button:hover,
.button:focus-visible {
        background: #fff;
        color: #111;
        transform: translateY(-1px);
}

.button--inverse {
        background: #fff;
        color: #111;
}

.button--inverse:hover,
.button--inverse:focus-visible {
        background: #111;
        color: #fff;
}

.button.is-disabled,
.button[aria-disabled="true"] {
        background: #d8d6d1;
        border-color: #d8d6d1;
        color: rgba(17, 17, 17, 0.42);
        cursor: not-allowed;
        pointer-events: none;
        transform: none;
}

.hero-slider {
        --hero-min-height: clamp(620px, calc(100svh - 6.5rem), 900px);
        --hero-slide-duration: 6000ms;
        background: #f5f5f5;
        overflow: hidden;
        position: relative;
}

.hero-slider__track {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        min-height: var(--hero-min-height);
        position: relative;
        width: 100%;
}

.hero-slide {
        background: #fafafa;
        grid-area: 1 / 1;
        min-width: 0;
        opacity: 0;
        pointer-events: none;
        position: relative;
        transition: opacity 0.55s ease, transform 0.55s ease, visibility 0s linear 0.55s;
        transform: translateY(18px);
        visibility: hidden;
        width: 100%;
}

.hero-slide.is-active {
        opacity: 1;
        pointer-events: auto;
        transition-delay: 0s;
        transform: translateY(0);
        visibility: visible;
        z-index: 2;
}

.hero-slide__backdrop {
        background:
                linear-gradient(135deg, rgba(0, 0, 0, 0.08) 0 14%, transparent 14% 100%),
                radial-gradient(circle at 14% 26%, rgba(0, 0, 0, 0.1), transparent 18%),
                radial-gradient(circle at 84% 24%, rgba(0, 0, 0, 0.12), transparent 19%),
                radial-gradient(circle at 72% 82%, rgba(0, 0, 0, 0.08), transparent 24%);
        inset: 0;
        opacity: 0.7;
        position: absolute;
}

.hero-slide--2 .hero-slide__backdrop {
        background:
                linear-gradient(150deg, rgba(0, 0, 0, 0.06) 0 18%, transparent 18% 100%),
                radial-gradient(circle at 10% 76%, rgba(0, 0, 0, 0.08), transparent 22%),
                radial-gradient(circle at 68% 18%, rgba(0, 0, 0, 0.13), transparent 18%),
                radial-gradient(circle at 90% 72%, rgba(0, 0, 0, 0.06), transparent 24%);
}

.hero-slide--3 .hero-slide__backdrop {
        background:
                linear-gradient(135deg, rgba(0, 0, 0, 0.05) 0 12%, transparent 12% 100%),
                radial-gradient(circle at 22% 18%, rgba(0, 0, 0, 0.1), transparent 18%),
                radial-gradient(circle at 80% 78%, rgba(0, 0, 0, 0.09), transparent 21%),
                radial-gradient(circle at 58% 34%, rgba(0, 0, 0, 0.06), transparent 26%);
}
.hero-slide__decor {
        position: absolute;
        border: 1px solid rgba(0, 0, 0, 0.08);
        background: rgba(255, 255, 255, 0.45);
        backdrop-filter: blur(2px);
}

.hero-slide__decor--one {
        height: 220px;
        left: 3.5%;
        top: 10%;
        width: 220px;
}

.hero-slide__decor--two {
        bottom: 7%;
        height: 160px;
        right: 9%;
        width: 320px;
}

.hero-slide__inner {
        align-items: center;
        display: grid;
        gap: clamp(2.5rem, 5vw, 5.5rem);
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
        margin: 0 auto;
        max-width: 1600px;
        min-height: var(--hero-min-height);
        min-width: 0;
        padding: clamp(2.5rem, 4vw, 4.5rem) clamp(4.5rem, 6vw, 7rem);
        position: relative;
        width: 100%;
        z-index: 2;
}

.hero-slide__copy {
        max-width: 38rem;
        min-width: 0;
        width: 100%;
}

.hero-slide__category {
        color: #111;
        font-size: 0.74rem;
        font-weight: 700;
        letter-spacing: 0.26em;
        margin-bottom: 1rem;
        text-transform: uppercase;
}

.hero-slide__eyebrow {
        color: #111;
        font-size: 0.82rem;
        font-weight: 700;
        letter-spacing: 0.22em;
        margin-bottom: 1.25rem;
        text-transform: uppercase;
}

.hero-slide__headline {
        color: #111;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3rem, 4.5vw, 5.5rem);
        font-weight: 600;
        letter-spacing: -0.06em;
        line-height: 0.88;
        max-width: 11ch;
        text-wrap: balance;
}

.hero-slide--2 .hero-slide__headline {
        font-size: clamp(2.85rem, 4.05vw, 5rem);
        max-width: 12ch;
}

.hero-slide__text {
        color: rgba(17, 17, 17, 0.74);
        font-size: clamp(0.9rem, 0.2vw + 0.84rem, 1rem);
        line-height: 1.75;
        margin-top: clamp(1.25rem, 2vw, 1.75rem);
        max-width: 32rem;
        text-wrap: pretty;
}

.hero-slide__actions {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        margin-top: clamp(1.5rem, 2.5vw, 2rem);
}

.hero-slide__progress {
        background: rgba(17, 17, 17, 0.1);
        flex-basis: 100%;
        height: 3px;
        margin-top: clamp(1.5rem, 3vw, 2.5rem);
        max-width: 7rem;
        overflow: hidden;
}

.hero-slide__progress-fill {
        background: #111;
        display: block;
        height: 100%;
        transform: scaleX(0);
        transform-origin: left center;
        width: 100%;
}

.hero-slide.is-active .hero-slide__progress-fill {
        animation: hero-slide-progress var(--hero-slide-duration) linear forwards;
}

@keyframes hero-slide-progress {
        from {
                transform: scaleX(0);
        }

        to {
                transform: scaleX(1);
        }
}

.hero-slide__note {
        color: rgba(17, 17, 17, 0.54);
        font-size: 0.84rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
}

.hero-slide__visual {
        display: flex;
        justify-content: center;
        min-width: 0;
        position: relative;
}

.hero-slide__visual-frame {
        aspect-ratio: 1 / 1;
        border: 1px solid rgba(0, 0, 0, 0.12);
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
        max-width: 680px;
        overflow: hidden;
        position: relative;
        width: min(100%, clamp(420px, calc(100svh - 11rem), 680px));
        --parallax-x: 0;
        --parallax-y: 0;
}

.hero-slide__pattern {
        background:
                linear-gradient(135deg, rgba(0, 0, 0, 0.04) 0 16%, transparent 16% 100%),
                repeating-linear-gradient(90deg, transparent 0 38px, rgba(0, 0, 0, 0.03) 38px 39px),
                repeating-linear-gradient(0deg, transparent 0 38px, rgba(0, 0, 0, 0.03) 38px 39px);
        inset: 0;
        opacity: 0.95;
        position: absolute;
        transform: translate3d(calc(var(--parallax-x) * 10px), calc(var(--parallax-y) * 10px), 0);
        transition: transform 0.15s linear;
}

.hero-slide__media-wrap {
        background: #f7f7f7;
        inset: 0;
        overflow: hidden;
        position: absolute;
}

.hero-slide__video {
        background: #f7f7f7;
        display: block;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        pointer-events: none;
        width: 100%;
        transform: translate3d(calc(var(--parallax-x) * -12px), calc(var(--parallax-y) * -12px), 0) scale(1.02);
        transition: transform 0.15s linear;
}

.hero-slide--1 .hero-slide__video {
        object-position: center 38%;
}

.hero-slide--2 .hero-slide__video {
        object-position: center 30%;
}

.hero-slide--3 .hero-slide__video {
        object-position: center 32%;
}

.hero-slide__badge {
        bottom: 1.1rem;
        color: #111;
        font-size: 0.75rem;
        font-weight: 700;
        left: 1.1rem;
        letter-spacing: 0.18em;
        position: absolute;
        text-transform: uppercase;
        z-index: 2;
}

.hero-slider__arrow {
        align-items: center;
        background: rgba(255, 255, 255, 0.308);
        border: 1px solid rgba(0, 0, 0, 0.1);
        color: #111;
        display: inline-flex;
        height: 3.4rem;
        justify-content: center;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
        width: 3.4rem;
        cursor: pointer;
        z-index: 4;
}

.hero-slider__arrow:hover,
.hero-slider__arrow:focus-visible {
        background: #111;
        color: #fff;
        transform: translateY(-50%) scale(1.02);
}

.hero-slider__arrow svg {
        fill: none;
        height: 1.5rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.8;
        width: 1.5rem;
}

.hero-slider__arrow i {
        font-size: 1.6rem;
}

.hero-slider__arrow--prev {
        left: 1rem;
}

.hero-slider__arrow--next {
        right: 1rem;
}

.hero-slider__footer {
        align-items: center;
        bottom: 1.25rem;
        display: flex;
        gap: 1.5rem;
        justify-content: space-between;
        left: 50%;
        max-width: 1400px;
        width: 100%;
        padding-inline: 1.5rem;
        position: absolute;
        transform: translateX(-50%);
        z-index: 5;
}

.hero-slider__counter {
        color: #111;
        font-size: 0.8rem;
        font-weight: 700;
        letter-spacing: 0.18em;
}

.hero-slider__dots {
        align-items: center;
        display: flex;
        gap: 0.5rem;
}

.hero-slider__dot {
        background: transparent;
        border: none;
        color: rgba(17, 17, 17, 0.44);
        font-size: 0.8rem;
        font-weight: 700;
        letter-spacing: 0.16em;
        padding: 0.2rem 0.1rem;
        text-transform: uppercase;
        transition: color 0.2s ease, transform 0.2s ease;
}

.hero-slider__dot.is-active,
.hero-slider__dot:hover,
.hero-slider__dot:focus-visible {
        color: #111;
        transform: translateY(-1px);
}

.marquee-strip {
        background: #000;
        color: #fff;
        margin-top: 0;
        overflow: hidden;
        padding: 0.6rem 0;
        position: relative;
}

.marquee-strip__track {
        display: flex;
        width: max-content;
        will-change: transform;
        animation: marquee-strip-scroll var(--marquee-duration, 24s) linear infinite;
}

.marquee-strip__content {
        align-items: center;
        display: inline-flex;
        gap: 1rem;
        padding-inline: 1.25rem;
        white-space: nowrap;
}

.marquee-strip__content span,
.marquee-strip__content i {
        color: #fff;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.22em;
        text-transform: uppercase;
}

.marquee-strip__content i {
        font-size: 0.58rem;
        font-style: normal;
        opacity: 0.75;
}

@keyframes marquee-strip-scroll {
        from {
                transform: translate3d(0, 0, 0);
        }

        to {
                transform: translate3d(-50%, 0, 0);
        }
}

.collections-section {
        background: #fff;
        color: #111;
        overflow: hidden;
        padding: clamp(5rem, 9vw, 9rem) clamp(1.5rem, 3vw, 3rem);
        position: relative;
}

.collections-section__inner {
        margin: 0 auto;
        max-width: 1400px;
        position: relative;
        width: 100%;
}

.collections-section__wordmark,
.brand-story__wordmark,
.why-us__wordmark,
.testimonials__wordmark,
.newsletter__wordmark {
        color: transparent;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(7rem, 13.5vw, 13.5rem);
        font-weight: 500;
        left: 50%;
        letter-spacing: -0.07em;
        line-height: 0.75;
        pointer-events: none;
        position: absolute;
        text-transform: uppercase;
        transform: translateX(-50%);
        white-space: nowrap;
        z-index: 0;
}

.collections-section__wordmark {
        opacity: 0.3;
        top: clamp(10rem, 14vw, 13rem);
        -webkit-text-stroke: 1px rgba(17, 17, 17, 0.32);
}

.collections-section__header {
        align-items: end;
        border-top: 1px solid #111;
        display: grid;
        gap: clamp(2rem, 5vw, 5rem);
        grid-template-columns: minmax(0, 1fr) auto;
        padding-top: clamp(1.5rem, 2.5vw, 2.5rem);
        position: relative;
        z-index: 1;
}

.collections-section__heading {
        align-items: start;
        display: grid;
        gap: clamp(1.5rem, 3vw, 3.5rem);
        grid-template-columns: minmax(7.5rem, 10rem) minmax(0, 1fr);
        min-width: 0;
}

.collections-section__label {
        color: rgba(17, 17, 17, 0.66);
        font-size: 0.76rem;
        font-weight: 700;
        letter-spacing: 0.24em;
        padding-top: 0.65rem;
        text-transform: uppercase;
}

.collections-section h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.25rem, 6.25vw, 6.75rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.86;
        max-width: 9.5ch;
}

.collections-section__button {
        min-width: 14rem;
}

.collections-grid {
        align-items: start;
        display: grid;
        gap: clamp(2rem, 3.75vw, 4.5rem);
        grid-auto-flow: dense;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        margin-left: auto;
        margin-right: auto;
        margin-top: clamp(3.75rem, 7vw, 7rem);
        max-width: 1120px;
        position: relative;
        scroll-margin-top: 7rem;
        width: 100%;
        z-index: 1;
}

.collection-card {
        background: #090909;
        color: #fff;
        min-width: 0;
        overflow: hidden;
}

.collection-card:nth-child(1),
.collection-card:nth-child(4) {
        grid-column: span 7;
}

.collection-card:nth-child(2),
.collection-card:nth-child(3) {
        grid-column: span 5;
}

.collection-card:nth-child(2) {
        margin-top: clamp(4rem, 7vw, 7rem);
}

.collection-card:nth-child(3) {
        margin-top: clamp(3rem, 5vw, 5rem);
}

.collection-card__media {
        aspect-ratio: 4 / 5;
        background: #e9e7e1;
        overflow: hidden;
        position: relative;
}

.collection-card__media::after {
        border: 1px solid rgba(255, 255, 255, 0.34);
        content: "";
        inset: clamp(0.65rem, 1vw, 1rem);
        pointer-events: none;
        position: absolute;
        transition: border-color 0.45s ease, inset 0.45s ease;
}

.collection-card__image {
        display: block;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transform: scale(1.001);
        transition: transform 0.8s cubic-bezier(0.2, 0.65, 0.3, 1);
        width: 100%;
}

.collection-card__index {
        align-items: center;
        background: #090909;
        color: #fff;
        display: inline-flex;
        font-size: 0.68rem;
        font-weight: 700;
        height: 2.75rem;
        justify-content: center;
        left: 0;
        letter-spacing: 0.18em;
        position: absolute;
        top: 0;
        width: 3.25rem;
        z-index: 1;
}

.collection-card__footer {
        align-items: center;
        display: flex;
        gap: 1.5rem;
        justify-content: space-between;
        min-height: clamp(7.5rem, 10vw, 10rem);
        padding: clamp(1.5rem, 2.5vw, 2.5rem);
}

.collection-card h3,
.collection-card h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2rem, 3.3vw, 3.75rem);
        font-weight: 500;
        letter-spacing: -0.045em;
        line-height: 0.92;
        margin: 0;
}

.collection-card__footer > div {
        min-width: 0;
}

.collection-card__footer small {
        display: block;
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.14em;
        margin-top: 0.7rem;
        opacity: 0.55;
        text-transform: uppercase;
}

.collection-card__arrow {
        align-items: center;
        border: 1px solid rgba(255, 255, 255, 0.55);
        color: #fff;
        display: inline-flex;
        flex: 0 0 auto;
        height: clamp(3rem, 4vw, 4rem);
        justify-content: center;
        transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
        width: clamp(3rem, 4vw, 4rem);
}

.collection-card__arrow svg {
        fill: none;
        height: 1.1rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.5;
        width: 1.1rem;
}

.collection-card:hover .collection-card__image {
        transform: scale(1.025);
}

.collection-card:hover .collection-card__media::after {
        border-color: rgba(255, 255, 255, 0.7);
        inset: clamp(0.85rem, 1.25vw, 1.25rem);
}

.collection-card:hover .collection-card__arrow {
        background: #fff;
        border-color: #fff;
        color: #111;
        transform: translateX(0.2rem);
}

.brand-story {
        background: #050505;
        color: #fff;
        overflow: hidden;
        padding: clamp(5rem, 9vw, 9rem) clamp(1.5rem, 3vw, 3rem) clamp(6rem, 10vw, 10rem);
}

.brand-story__inner {
        margin: 0 auto;
        max-width: 1400px;
        position: relative;
        width: 100%;
}

.brand-story__wordmark {
        opacity: 0.32;
        top: clamp(5.5rem, 9vw, 8.5rem);
        -webkit-text-stroke: 1px rgba(255, 255, 255, 0.3);
}

.brand-story__header {
        align-items: center;
        border-top: 1px solid rgba(255, 255, 255, 0.4);
        display: flex;
        gap: 2rem;
        justify-content: space-between;
        padding-top: clamp(1.25rem, 2vw, 2rem);
        position: relative;
        z-index: 1;
}

.brand-story__label {
        color: rgba(255, 255, 255, 0.72);
        font-size: 0.76rem;
        font-weight: 700;
        letter-spacing: 0.24em;
        text-transform: uppercase;
}

.brand-story__composition {
        column-gap: clamp(1.25rem, 2.5vw, 2.75rem);
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        margin-top: clamp(2.5rem, 4vw, 4.5rem);
        position: relative;
}

.brand-story__title {
        align-self: start;
        grid-column: 1 / 7;
        grid-row: 1;
        min-width: 0;
        position: relative;
        z-index: 3;
}

.brand-story h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4rem, 7vw, 7.5rem);
        font-weight: 500;
        letter-spacing: -0.07em;
        line-height: 0.84;
        max-width: 8.2ch;
        text-wrap: balance;
}

.brand-story__button {
        margin-top: clamp(2rem, 3vw, 3rem);
        min-width: 11rem;
}

.brand-story__media {
        align-self: start;
        aspect-ratio: 3 / 2;
        background: #171717;
        grid-column: 5 / 13;
        grid-row: 1 / 3;
        margin-top: clamp(4rem, 7vw, 7rem);
        min-width: 0;
        overflow: hidden;
        position: relative;
}

.brand-story__media::after {
        border: 1px solid rgba(255, 255, 255, 0.28);
        content: "";
        inset: clamp(0.65rem, 1vw, 1rem);
        pointer-events: none;
        position: absolute;
        transition: border-color 0.45s ease, inset 0.45s ease;
}

.brand-story__image {
        display: block;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transform: scale(1.001);
        transition: transform 0.9s cubic-bezier(0.2, 0.65, 0.3, 1);
        width: 100%;
}

.brand-story__caption {
        align-items: center;
        background: rgba(5, 5, 5, 0.9);
        bottom: 0;
        display: flex;
        gap: 1.5rem;
        justify-content: space-between;
        padding: 0.9rem 1.1rem;
        position: absolute;
        right: 0;
        width: min(18rem, 54%);
        z-index: 2;
}

.brand-story__caption span {
        color: rgba(255, 255, 255, 0.78);
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.brand-story__copy {
        align-self: end;
        background: #f4f3f0;
        color: #111;
        grid-column: 1 / 6;
        grid-row: 2;
        margin-top: clamp(3rem, 6vw, 6rem);
        padding: clamp(2rem, 3.75vw, 3.75rem);
        position: relative;
        scroll-margin-top: 8rem;
        z-index: 4;
}

.brand-story__copy-mark {
        background: #111;
        display: block;
        height: 2px;
        margin-bottom: clamp(1.5rem, 2.5vw, 2.5rem);
        width: 2.75rem;
}

.brand-story__copy p {
        color: rgba(17, 17, 17, 0.76);
        font-size: clamp(0.95rem, 1.08vw, 1.05rem);
        line-height: 1.9;
}

.brand-story__copy p + p {
        color: #111;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(1.65rem, 2.2vw, 2.35rem);
        font-weight: 500;
        letter-spacing: -0.025em;
        line-height: 1.08;
        margin-top: clamp(1.5rem, 2.5vw, 2.5rem);
}

.brand-story__media:hover .brand-story__image {
        transform: scale(1.018);
}

.brand-story__media:hover::after {
        border-color: rgba(255, 255, 255, 0.58);
        inset: clamp(0.8rem, 1.15vw, 1.15rem);
}

.lookbook {
        background: #f1efea;
        color: #111;
        overflow: hidden;
        padding: clamp(5rem, 9vw, 9rem) clamp(1.5rem, 3vw, 3rem) clamp(6rem, 10vw, 10rem);
}

.lookbook__inner {
        margin: 0 auto;
        max-width: 1400px;
        width: 100%;
}

.lookbook__header {
        align-items: end;
        border-top: 1px solid #111;
        display: grid;
        gap: clamp(3rem, 7vw, 7rem);
        grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.65fr);
        padding-top: clamp(1.5rem, 2.5vw, 2.5rem);
}

.lookbook__heading {
        align-items: start;
        display: grid;
        gap: clamp(1.5rem, 3vw, 3rem);
        grid-template-columns: auto minmax(0, 1fr);
        min-width: 0;
}

.lookbook__label {
        border-right: 1px solid rgba(17, 17, 17, 0.34);
        color: rgba(17, 17, 17, 0.68);
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.24em;
        min-height: 7rem;
        padding-right: 1rem;
        text-transform: uppercase;
        transform: rotate(180deg);
        writing-mode: vertical-rl;
}

.lookbook h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4rem, 7vw, 7.5rem);
        font-weight: 500;
        letter-spacing: -0.07em;
        line-height: 0.84;
        max-width: 6.5ch;
        text-wrap: balance;
}

.lookbook__intro {
        justify-self: end;
        max-width: 29rem;
}

.lookbook__intro p {
        color: rgba(17, 17, 17, 0.7);
        font-size: clamp(0.95rem, 1.1vw, 1.05rem);
        line-height: 1.85;
}

.lookbook__button {
        margin-top: clamp(1.75rem, 2.75vw, 2.75rem);
        min-width: 13rem;
}

.lookbook__gallery {
        column-gap: clamp(1rem, 2vw, 2rem);
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        isolation: isolate;
        margin-top: clamp(4.5rem, 8vw, 8rem);
        padding: clamp(3rem, 5vw, 5rem) 0 clamp(4rem, 7vw, 7rem);
        position: relative;
        scroll-margin-top: 8rem;
}

.lookbook__gallery::before {
        background: #090909;
        content: "";
        height: 50%;
        left: 50%;
        position: absolute;
        top: 28%;
        transform: translateX(-50%);
        width: 100vw;
        z-index: -2;
}

.lookbook__wordmark {
        color: transparent;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(7rem, 14vw, 14rem);
        font-weight: 500;
        left: 50%;
        letter-spacing: -0.07em;
        line-height: 0.75;
        opacity: 0.32;
        pointer-events: none;
        position: absolute;
        text-transform: uppercase;
        top: 0;
        transform: translateX(-50%);
        white-space: nowrap;
        -webkit-text-stroke: 1px rgba(17, 17, 17, 0.38);
        z-index: -1;
}

.lookbook-look {
        align-self: start;
        background: #fff;
        border: 1px solid rgba(17, 17, 17, 0.12);
        box-shadow: 0 20px 55px rgba(0, 0, 0, 0.12);
        min-width: 0;
        padding: clamp(0.4rem, 0.7vw, 0.65rem);
        position: relative;
        transition: box-shadow 0.35s ease, transform 0.35s ease;
}

.lookbook-look--one {
        grid-column: 1 / 5;
        grid-row: 1;
        margin-top: clamp(7rem, 10vw, 10rem);
        z-index: 2;
}

.lookbook-look--two {
        grid-column: 4 / 10;
        grid-row: 1;
        z-index: 3;
}

.lookbook-look--three {
        grid-column: 9 / 13;
        grid-row: 1;
        margin-top: clamp(6rem, 9vw, 9rem);
        z-index: 4;
}

.lookbook-look__frame {
        aspect-ratio: 4 / 5;
        background: #d8d8d8;
        overflow: hidden;
        position: relative;
}

.lookbook-look--three .lookbook-look__frame {
        aspect-ratio: 1003 / 1568;
}

.lookbook-look__frame::after {
        border: 1px solid rgba(255, 255, 255, 0.38);
        content: "";
        inset: clamp(0.55rem, 0.8vw, 0.8rem);
        pointer-events: none;
        position: absolute;
        transition: border-color 0.35s ease, inset 0.35s ease;
}

.lookbook-look__image {
        display: block;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transform: scale(1.001);
        transition: transform 0.85s cubic-bezier(0.2, 0.65, 0.3, 1);
        width: 100%;
}

.lookbook-look__stamp {
        align-items: center;
        background: #090909;
        color: #fff;
        display: inline-flex;
        font-size: 0.64rem;
        font-weight: 700;
        height: 2.75rem;
        justify-content: center;
        left: 0;
        letter-spacing: 0.18em;
        position: absolute;
        top: 0;
        width: 3.2rem;
        z-index: 2;
}

.lookbook-look__caption {
        align-items: center;
        color: #111;
        display: flex;
        gap: 1rem;
        justify-content: space-between;
        padding: 0.85rem 0.35rem 0.25rem;
}

.lookbook-look__caption span {
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.17em;
        text-transform: uppercase;
}

.lookbook-look__caption span:last-child {
        color: rgba(17, 17, 17, 0.48);
}

.lookbook-look:hover {
        box-shadow: 0 28px 70px rgba(0, 0, 0, 0.18);
        transform: translateY(-0.35rem);
}

.lookbook-look:hover .lookbook-look__image {
        transform: scale(1.02);
}

.lookbook-look:hover .lookbook-look__frame::after {
        border-color: rgba(255, 255, 255, 0.72);
        inset: clamp(0.7rem, 1vw, 1rem);
}

.lookbook-page {
        background: #f1efea;
        color: #111;
        overflow: hidden;
}

.lookbook-page__hero {
        border-bottom: 1px solid rgba(17, 17, 17, 0.16);
        min-height: clamp(34rem, 70vh, 47rem);
        overflow: hidden;
        padding: clamp(8.5rem, 13vw, 12rem) clamp(1.5rem, 3vw, 3rem) clamp(4rem, 7vw, 7rem);
        position: relative;
}

.lookbook-page__wordmark {
        color: transparent;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(10rem, 22vw, 23rem);
        font-weight: 500;
        left: 50%;
        letter-spacing: -0.08em;
        line-height: 0.72;
        opacity: 0.28;
        pointer-events: none;
        position: absolute;
        text-transform: uppercase;
        top: 52%;
        transform: translate(-50%, -50%);
        white-space: nowrap;
        -webkit-text-stroke: 1px rgba(17, 17, 17, 0.34);
}

.lookbook-page__hero-inner {
        display: grid;
        gap: clamp(3rem, 7vw, 7rem);
        grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.55fr);
        margin: 0 auto;
        max-width: 1400px;
        position: relative;
        width: 100%;
        z-index: 1;
}

.lookbook-page__crumbs {
        align-items: center;
        display: flex;
        font-size: 0.66rem;
        font-weight: 700;
        gap: 0.75rem;
        grid-column: 1 / -1;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.lookbook-page__crumbs a {
        color: rgba(17, 17, 17, 0.58);
}

.lookbook-page__heading > p,
.lookbook-editorial__copy > p,
.lookbook-page__close > p {
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.22em;
        text-transform: uppercase;
}

.lookbook-page__heading h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4.5rem, 8.5vw, 9rem);
        font-weight: 500;
        letter-spacing: -0.075em;
        line-height: 0.8;
        margin-top: 1.5rem;
        max-width: 8ch;
        text-wrap: balance;
}

.lookbook-page__intro {
        align-self: end;
        color: rgba(17, 17, 17, 0.66);
        font-size: clamp(0.95rem, 1.1vw, 1.08rem);
        line-height: 1.9;
        max-width: 31rem;
}

.lookbook-editorial {
        background: #080808;
        color: #fff;
        padding: clamp(5rem, 10vw, 10rem) clamp(1.5rem, 3vw, 3rem);
}

.lookbook-editorial__inner {
        display: grid;
        gap: clamp(7rem, 13vw, 13rem);
        margin: 0 auto;
        max-width: 1400px;
}

.lookbook-editorial__look {
        align-items: end;
        display: grid;
        gap: clamp(2.5rem, 6vw, 6rem);
        grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.55fr);
}

.lookbook-editorial__look:nth-child(even) {
        grid-template-columns: minmax(18rem, 0.55fr) minmax(0, 1.15fr);
}

.lookbook-editorial__look:nth-child(even) .lookbook-editorial__media {
        grid-column: 2;
        grid-row: 1;
}

.lookbook-editorial__look:nth-child(even) .lookbook-editorial__copy {
        grid-column: 1;
        grid-row: 1;
}

.lookbook-editorial__media {
        aspect-ratio: 4 / 5;
        background: #1a1a1a;
        max-height: 52rem;
        overflow: hidden;
        position: relative;
}

.lookbook-editorial__look--2 .lookbook-editorial__media {
        aspect-ratio: 5 / 6;
}

.lookbook-editorial__media::after {
        border: 1px solid rgba(255, 255, 255, 0.32);
        content: "";
        inset: clamp(0.8rem, 1.25vw, 1.25rem);
        pointer-events: none;
        position: absolute;
}

.lookbook-editorial__media img {
        display: block;
        height: 100%;
        object-fit: cover;
        transition: transform 0.9s cubic-bezier(0.2, 0.65, 0.3, 1);
        width: 100%;
}

.lookbook-editorial__look:hover .lookbook-editorial__media img {
        transform: scale(1.018);
}

.lookbook-editorial__media > span {
        align-items: center;
        background: #fff;
        bottom: 0;
        color: #080808;
        display: flex;
        font-size: 0.65rem;
        font-weight: 800;
        height: 3.6rem;
        justify-content: center;
        letter-spacing: 0.17em;
        position: absolute;
        right: 0;
        width: 4.3rem;
        z-index: 1;
}

.lookbook-editorial__copy {
        border-top: 1px solid rgba(255, 255, 255, 0.3);
        padding-top: 1.5rem;
}

.lookbook-editorial__copy > p {
        color: rgba(255, 255, 255, 0.52);
}

.lookbook-editorial__copy h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.2rem, 5vw, 5.6rem);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 0.88;
        margin-top: 1.5rem;
        max-width: 7ch;
}

.lookbook-editorial__copy > span {
        color: rgba(255, 255, 255, 0.62);
        display: block;
        font-size: 0.96rem;
        line-height: 1.8;
        margin-top: 1.8rem;
        max-width: 28rem;
}

.lookbook-editorial__copy a {
        align-items: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.4);
        color: #fff;
        display: inline-flex;
        font-size: 0.69rem;
        font-weight: 700;
        gap: 2rem;
        letter-spacing: 0.16em;
        margin-top: 2rem;
        padding-bottom: 0.65rem;
        text-transform: uppercase;
}

.lookbook-editorial__copy a b {
        font-size: 1rem;
        transition: transform 0.25s ease;
}

.lookbook-editorial__copy a:hover b {
        transform: translateX(0.35rem);
}

.lookbook-page__close {
        align-items: center;
        background: #f1efea;
        display: flex;
        flex-direction: column;
        padding: clamp(5rem, 9vw, 9rem) 1.5rem;
        text-align: center;
}

.lookbook-page__close h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.5rem, 6.5vw, 7rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.88;
        margin-top: 1.5rem;
        max-width: 9ch;
        text-wrap: balance;
}

.lookbook-page__close .button {
        margin-top: 2.5rem;
}

.why-us {
        background: #070707;
        color: #fff;
        overflow: hidden;
        padding: clamp(5rem, 9vw, 9rem) clamp(1.5rem, 3vw, 3rem) clamp(6rem, 10vw, 10rem);
}

.why-us__inner {
        margin: 0 auto;
        max-width: 1400px;
        position: relative;
        width: 100%;
}

.why-us__wordmark {
        font-size: clamp(8rem, 16vw, 16rem);
        opacity: 0.28;
        top: clamp(5rem, 9vw, 9rem);
        -webkit-text-stroke: 1px rgba(255, 255, 255, 0.28);
}

.why-us__layout {
        display: grid;
        gap: clamp(4rem, 8vw, 9rem);
        grid-template-columns: minmax(17rem, 0.7fr) minmax(0, 1.3fr);
        position: relative;
        z-index: 1;
}

.why-us__intro {
        align-self: start;
        border-top: 1px solid rgba(255, 255, 255, 0.42);
        padding-top: clamp(1.5rem, 2.5vw, 2.5rem);
}

.why-us__label {
        color: rgba(255, 255, 255, 0.64);
        font-size: 0.74rem;
        font-weight: 700;
        letter-spacing: 0.24em;
        text-transform: uppercase;
}

.why-us h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.5rem, 5.5vw, 6rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.87;
        margin-top: clamp(2rem, 3.5vw, 3.5rem);
        max-width: 7.6ch;
        text-wrap: balance;
}

.why-us__button {
        margin-top: clamp(2.25rem, 3.5vw, 3.5rem);
        min-width: 13rem;
}

.why-us__statements {
        border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.why-us__statement {
        align-items: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.22);
        color: #fff;
        cursor: default;
        display: grid;
        gap: clamp(1.25rem, 2.5vw, 2.75rem);
        grid-template-columns: 3.5rem minmax(12rem, 0.75fr) minmax(0, 1fr);
        isolation: isolate;
        min-height: clamp(9rem, 11vw, 11rem);
        overflow: hidden;
        padding: 1.25rem clamp(0.5rem, 1vw, 1rem);
        position: relative;
        transition: color 0.35s ease, padding 0.35s ease;
}

.why-us__statement::before {
        background: #f4f3f0;
        content: "";
        inset: 0;
        position: absolute;
        transform: scaleX(0);
        transform-origin: right center;
        transition: transform 0.45s cubic-bezier(0.2, 0.65, 0.3, 1);
        z-index: 0;
}

.why-us__statement > * {
        position: relative;
        z-index: 1;
}

.why-us__index {
        color: rgba(255, 255, 255, 0.45);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.18em;
        transition: color 0.35s ease;
}

.why-us__statement h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2rem, 3vw, 3.25rem);
        font-weight: 500;
        letter-spacing: -0.045em;
        line-height: 0.92;
}

.why-us__statement p {
        color: rgba(255, 255, 255, 0.62);
        font-size: clamp(0.9rem, 1vw, 1rem);
        line-height: 1.75;
        max-width: 31rem;
        transition: color 0.35s ease;
}

.why-us__statement:hover {
        color: #111;
        padding-left: clamp(1rem, 1.75vw, 1.75rem);
        padding-right: clamp(1rem, 1.75vw, 1.75rem);
}

.why-us__statement:hover::before {
        transform: scaleX(1);
        transform-origin: left center;
}

.why-us__statement:hover .why-us__index {
        color: rgba(17, 17, 17, 0.48);
}

.why-us__statement:hover p {
        color: rgba(17, 17, 17, 0.68);
}

.testimonials {
        --testimonial-duration: 7000ms;
        background: #f2f0eb;
        color: #111;
        overflow: hidden;
        padding: clamp(5rem, 9vw, 9rem) clamp(1.5rem, 3vw, 3rem) clamp(6rem, 10vw, 10rem);
        position: relative;
}

.testimonials__inner {
        margin: 0 auto;
        max-width: 1400px;
        position: relative;
        width: 100%;
}

.testimonials__wordmark {
        animation: testimonials-wordmark-drift 18s ease-in-out infinite alternate;
        font-size: clamp(9rem, 17vw, 17rem);
        opacity: 0.3;
        top: clamp(11rem, 16vw, 15rem);
        -webkit-text-stroke: 1px rgba(17, 17, 17, 0.28);
}

.testimonials__header {
        border-top: 1px solid rgba(17, 17, 17, 0.38);
        padding-top: clamp(1.25rem, 2vw, 2rem);
        position: relative;
        z-index: 1;
}

.testimonials__meta {
        align-items: center;
        display: flex;
        justify-content: space-between;
}

.testimonials__label,
.testimonials__meta > span {
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.24em;
        text-transform: uppercase;
}

.testimonials__meta > span {
        color: rgba(17, 17, 17, 0.5);
        letter-spacing: 0.18em;
}

.testimonials__heading-row {
        align-items: end;
        display: grid;
        gap: clamp(3rem, 8vw, 9rem);
        grid-template-columns: minmax(0, 1.2fr) minmax(17rem, 0.48fr);
        margin-top: clamp(2.5rem, 5vw, 5rem);
}

.testimonials h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4rem, 7.5vw, 8rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.86;
        max-width: 8.5ch;
        text-wrap: balance;
}

.testimonials__intro {
        padding-bottom: 0.5rem;
}

.testimonials__intro p {
        color: rgba(17, 17, 17, 0.64);
        font-size: clamp(0.94rem, 1.1vw, 1.05rem);
        line-height: 1.8;
        max-width: 28rem;
}

.testimonials__button {
        margin-top: clamp(1.75rem, 3vw, 2.75rem);
        min-width: 13rem;
}

.testimonials__stage {
        background: rgba(255, 255, 255, 0.2);
        border-bottom: 1px solid rgba(17, 17, 17, 0.42);
        border-top: 1px solid rgba(17, 17, 17, 0.42);
        display: grid;
        grid-template-columns: minmax(7rem, 0.18fr) minmax(0, 1fr) minmax(13rem, 0.3fr);
        margin-top: clamp(4rem, 8vw, 8rem);
        min-height: clamp(30rem, 42vw, 39rem);
        position: relative;
        z-index: 1;
}

.testimonials__quote-mark {
        align-items: center;
        border-right: 1px solid rgba(17, 17, 17, 0.28);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        overflow: hidden;
        padding: clamp(2rem, 3vw, 3rem) 1rem;
}

.testimonials__quote-glyph {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(7rem, 11vw, 11rem);
        font-weight: 500;
        letter-spacing: -0.12em;
        line-height: 0.55;
        transform: translateX(-0.08em);
}

.testimonials.is-ready .testimonials__quote-glyph {
        animation: testimonials-quote-float 5s ease-in-out infinite;
}

.testimonials__quote-note {
        color: rgba(17, 17, 17, 0.48);
        font-size: 0.66rem;
        font-weight: 700;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        transform: rotate(180deg);
        white-space: nowrap;
        writing-mode: vertical-rl;
}

.testimonials__viewport {
        min-width: 0;
        overflow: hidden;
        position: relative;
}

.testimonial-card {
        display: flex;
        flex-direction: column;
        inset: 0;
        justify-content: space-between;
        opacity: 0;
        padding: clamp(2.5rem, 5vw, 5rem);
        pointer-events: none;
        position: absolute;
        transform: translateY(2.25rem);
        transition: opacity 0.6s ease, transform 0.75s cubic-bezier(0.2, 0.65, 0.3, 1), visibility 0s linear 0.75s;
        visibility: hidden;
}

.testimonial-card.is-active {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
        transition-delay: 0.08s, 0s, 0s;
        visibility: visible;
}

.testimonial-card blockquote {
        margin: auto 0;
}

.testimonial-card blockquote p {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.5rem, 5.7vw, 6.5rem);
        font-weight: 500;
        letter-spacing: -0.055em;
        line-height: 0.9;
        max-width: 15ch;
        text-wrap: balance;
}

.testimonial-card__footer {
        align-items: center;
        border-top: 1px solid rgba(17, 17, 17, 0.26);
        display: flex;
        gap: 1rem;
        justify-content: space-between;
        padding-top: 1.25rem;
}

.testimonial-card__footer span {
        color: rgba(17, 17, 17, 0.54);
        font-size: 0.66rem;
        font-weight: 700;
        letter-spacing: 0.19em;
        text-transform: uppercase;
}

.testimonial-card__footer span:last-child {
        color: #111;
        text-align: right;
}

.testimonials__navigation {
        border-left: 1px solid rgba(17, 17, 17, 0.28);
        display: flex;
        flex-direction: column;
        padding: clamp(2rem, 3vw, 3rem);
}

.testimonials__counter {
        align-items: baseline;
        display: flex;
        gap: 0.55rem;
}

.testimonials__counter span:first-child {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.5rem, 5vw, 5rem);
        letter-spacing: -0.06em;
        line-height: 0.8;
}

.testimonials__counter span:not(:first-child) {
        color: rgba(17, 17, 17, 0.45);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.16em;
}

.testimonials__controls {
        display: flex;
        gap: 0.65rem;
        margin-top: clamp(1.75rem, 3vw, 2.75rem);
}

.testimonials__control {
        align-items: center;
        background: transparent;
        border: 1px solid rgba(17, 17, 17, 0.48);
        border-radius: 0;
        color: #111;
        cursor: pointer;
        display: inline-flex;
        height: 3.5rem;
        justify-content: center;
        transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
        width: 3.5rem;
}

.testimonials__control svg {
        fill: none;
        height: 1.15rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.5;
        width: 1.15rem;
}

.testimonials__control-icon--play {
        display: none;
}

.testimonials.is-manually-paused .testimonials__control-icon--pause {
        display: none;
}

.testimonials.is-manually-paused .testimonials__control-icon--play {
        display: block;
}

.testimonials__control:hover,
.testimonials__control:focus-visible {
        background: #111;
        color: #fff;
        transform: translateY(-1px);
}

.testimonials__markers {
        display: grid;
        gap: 0.85rem;
        margin-top: auto;
}

.testimonials__marker {
        align-items: center;
        background: transparent;
        border: 0;
        border-radius: 0;
        color: rgba(17, 17, 17, 0.38);
        cursor: pointer;
        display: grid;
        gap: 0.75rem;
        grid-template-columns: 1.75rem minmax(0, 1fr);
        padding: 0.35rem 0;
        text-align: left;
        transition: color 0.25s ease;
}

.testimonials__marker span {
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.14em;
}

.testimonials__marker i {
        background: rgba(17, 17, 17, 0.16);
        display: block;
        height: 1px;
        overflow: hidden;
        position: relative;
}

.testimonials__marker i::after {
        background: #111;
        content: "";
        inset: 0;
        position: absolute;
        transform: scaleX(0);
        transform-origin: right center;
        transition: transform 0.45s cubic-bezier(0.2, 0.65, 0.3, 1);
}

.testimonials__marker.is-active,
.testimonials__marker:hover,
.testimonials__marker:focus-visible {
        color: #111;
}

.testimonials__marker.is-active i::after {
        transform: scaleX(1);
        transform-origin: left center;
}

.testimonials__progress {
        background: rgba(17, 17, 17, 0.12);
        bottom: -1px;
        height: 2px;
        left: 0;
        overflow: hidden;
        position: absolute;
        right: 0;
}

.testimonials__progress span {
        background: #111;
        display: block;
        height: 100%;
        transform: scaleX(0);
        transform-origin: left center;
}

.testimonials.is-ready .testimonials__progress span {
        animation: testimonials-progress var(--testimonial-duration) linear forwards;
}

.testimonials.is-paused .testimonials__progress span {
        animation-play-state: paused;
}

@keyframes testimonials-progress {
        from {
                transform: scaleX(0);
        }

        to {
                transform: scaleX(1);
        }
}

@keyframes testimonials-wordmark-drift {
        from {
                transform: translate(-51%, -50%);
        }

        to {
                transform: translate(-49%, -50%);
        }
}

@keyframes testimonials-quote-float {
        0%,
        100% {
                transform: translate(-0.08em, 0);
        }

        50% {
                transform: translate(-0.08em, 0.12em);
        }
}

@media (prefers-reduced-motion: reduce) {
        .testimonials__wordmark,
        .testimonials.is-ready .testimonials__quote-glyph,
        .testimonials.is-ready .testimonials__progress span {
                animation: none;
        }

        .testimonials.is-ready .testimonials__progress span {
                transform: scaleX(1);
        }

        .testimonial-card {
                transition: none;
        }

        .testimonials__control--toggle {
                display: none;
        }
}

/* Customer purchases */
.account-panel.account-panel--purchases {
        background: #fff;
        grid-column: 1 / -1;
        min-height: 18rem;
}

.account-purchases-panel__body {
        display: grid;
        flex: 1 1 auto;
        gap: clamp(1.5rem, 3vw, 3rem);
        grid-template-columns: minmax(16rem, 0.66fr) minmax(0, 1.34fr);
        margin-top: 1.5rem;
}

.account-purchases-panel__totals {
        border: 1px solid rgba(17, 17, 17, 0.15);
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-purchases-panel__totals > div {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        min-height: 9rem;
        min-width: 0;
        padding: 1rem;
}

.account-purchases-panel__totals > div + div {
        border-left: 1px solid rgba(17, 17, 17, 0.15);
}

.account-purchases-panel__totals strong {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.1rem, 4vw, 4rem);
        font-weight: 500;
        letter-spacing: -0.055em;
        line-height: 0.85;
        overflow-wrap: anywhere;
}

.account-purchases-panel__totals span {
        color: rgba(17, 17, 17, 0.5);
        font-size: 0.55rem;
        font-weight: 700;
        letter-spacing: 0.1em;
        margin-top: 1rem;
        text-transform: uppercase;
}

.account-purchases-preview {
        border-left: 1px solid rgba(17, 17, 17, 0.16);
        padding-left: clamp(1.5rem, 3vw, 3rem);
}

.account-purchases-preview a {
        align-items: center;
        color: #111;
        display: grid;
        gap: 1rem;
        grid-template-columns: minmax(9rem, 1fr) minmax(9rem, 0.72fr) auto;
        min-height: 3.65rem;
        padding: 0.65rem 0;
        text-decoration: none;
}

.account-purchases-preview a + a {
        border-top: 1px solid rgba(17, 17, 17, 0.13);
}

.account-purchases-preview a > span,
.account-purchases-preview a > span > strong,
.account-purchases-preview a > span > small {
        display: block;
        min-width: 0;
}

.account-purchases-preview a > span > strong {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.15rem;
        font-weight: 600;
}

.account-purchases-preview a > span > small,
.account-purchases-preview a > em {
        color: rgba(17, 17, 17, 0.5);
        font-size: 0.5rem;
        font-style: normal;
        font-weight: 700;
        letter-spacing: 0.07em;
        line-height: 1.5;
        margin-top: 0.18rem;
        text-transform: uppercase;
}

.account-purchases-preview a > em {
        border: 1px solid rgba(17, 17, 17, 0.16);
        margin-top: 0;
        padding: 0.45rem 0.55rem;
        text-align: center;
}

.account-purchases-preview a > b {
        font-size: 0.65rem;
        text-align: right;
        white-space: nowrap;
}

.account-purchases-preview a:hover > span > strong {
        text-decoration: underline;
        text-underline-offset: 0.2rem;
}

.account-purchases-preview__empty {
        align-items: center;
        color: rgba(17, 17, 17, 0.52);
        display: flex;
        font-size: 0.65rem;
        line-height: 1.75;
        min-height: 9rem;
}

.account-panel--purchases > .account-panel__link {
        margin-top: 1.5rem;
}

.purchases-page {
        background: #f3f1ec;
        color: #111;
        overflow: hidden;
}

.purchases-hero {
        background: #050505;
        color: #fff;
        min-height: 34rem;
        overflow: hidden;
        padding: clamp(5rem, 9vw, 8rem) clamp(1.5rem, 7vw, 7rem);
        position: relative;
}

.purchases-hero__wordmark {
        color: rgba(255, 255, 255, 0.045);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(13rem, 29vw, 29rem);
        font-weight: 600;
        left: -0.04em;
        letter-spacing: -0.08em;
        line-height: 0.65;
        pointer-events: none;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        white-space: nowrap;
}

.purchases-hero__inner {
        align-items: end;
        display: grid;
        gap: clamp(3rem, 7vw, 8rem);
        grid-template-columns: minmax(0, 1fr) minmax(25rem, 0.7fr);
        margin: 0 auto;
        max-width: 88rem;
        position: relative;
        z-index: 1;
}

.purchases-hero__copy nav {
        align-items: center;
        color: rgba(255, 255, 255, 0.52);
        display: flex;
        flex-wrap: wrap;
        font-size: 0.51rem;
        font-weight: 800;
        gap: 0.65rem;
        letter-spacing: 0.14em;
        margin-bottom: clamp(3rem, 7vw, 6rem);
        text-transform: uppercase;
}

.purchases-hero__copy nav a {
        color: inherit;
        text-decoration: none;
}

.purchases-hero__copy nav a:hover {
        color: #fff;
}

.purchases-hero__copy > p,
.purchases-ledger__header p {
        font-size: 0.56rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.purchases-hero__copy > p {
        color: rgba(255, 255, 255, 0.58);
}

.purchases-hero h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(5rem, 9vw, 8.5rem);
        font-weight: 500;
        letter-spacing: -0.07em;
        line-height: 0.78;
        margin-top: 1.2rem;
}

.purchases-hero__stats {
        border: 1px solid rgba(255, 255, 255, 0.2);
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
}

.purchases-hero__stats > div {
        min-height: 7.75rem;
        padding: 1rem;
}

.purchases-hero__stats > div:nth-child(2) {
        border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.purchases-hero__stats > div:last-child {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        grid-column: 1 / -1;
}

.purchases-hero__stats dt {
        color: rgba(255, 255, 255, 0.48);
        font-size: 0.51rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
}

.purchases-hero__stats dd {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.4rem, 4vw, 4rem);
        font-weight: 500;
        letter-spacing: -0.05em;
        line-height: 0.85;
        margin-top: 1.25rem;
        overflow-wrap: anywhere;
}

.purchases-ledger {
        margin: 0 auto;
        max-width: 96rem;
        padding: clamp(4.5rem, 8vw, 8rem) clamp(1.5rem, 5vw, 5rem);
}

.purchases-ledger__header {
        align-items: end;
        display: flex;
        gap: 2rem;
        justify-content: space-between;
}

.purchases-ledger__header h2,
.purchases-empty h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.8rem, 7vw, 7rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.8;
        margin-top: 1rem;
}

.purchases-notice {
        border: 1px solid rgba(17, 17, 17, 0.2);
        font-size: 0.65rem;
        line-height: 1.7;
        margin-top: 2rem;
        padding: 1rem;
}

.purchases-list {
        display: grid;
        gap: 1.25rem;
        margin-top: clamp(3rem, 6vw, 5rem);
}

.purchase-record {
        background: #fff;
        border: 1px solid rgba(17, 17, 17, 0.18);
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.34fr);
        min-width: 0;
}

.purchase-record__header {
        align-items: end;
        border-bottom: 1px solid rgba(17, 17, 17, 0.16);
        display: flex;
        gap: 2rem;
        grid-column: 1 / -1;
        justify-content: space-between;
        min-height: 7rem;
        padding: 1.25rem 1.5rem;
}

.purchase-record__header p,
.purchase-record__number span {
        color: rgba(17, 17, 17, 0.46);
        font-size: 0.51rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
}

.purchase-record__header h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.2rem, 4vw, 3.7rem);
        font-weight: 500;
        letter-spacing: -0.04em;
        line-height: 0.85;
        margin-top: 0.55rem;
}

.purchase-record__header > div:last-child {
        align-items: flex-end;
        display: flex;
        flex-direction: column;
        gap: 0.55rem;
}

.purchase-record__header time {
        color: rgba(17, 17, 17, 0.48);
        font-size: 0.52rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
}

.purchase-status {
        align-items: center;
        border: 1px solid rgba(17, 17, 17, 0.2);
        display: inline-flex;
        font-size: 0.49rem;
        font-weight: 800;
        gap: 0.42rem;
        letter-spacing: 0.08em;
        line-height: 1.35;
        min-height: 1.9rem;
        padding: 0.42rem 0.55rem;
        text-align: left;
        text-transform: uppercase;
}

.purchase-status i {
        background: currentColor;
        height: 0.3rem;
        width: 0.3rem;
}

.purchase-status.is-delivered {
        background: #111;
        border-color: #111;
        color: #fff;
}

.purchase-status.is-cancelled {
        border-style: dashed;
        color: rgba(17, 17, 17, 0.5);
}

.purchase-record__items {
        min-width: 0;
        padding: 0 1.5rem;
}

.purchase-item {
        align-items: center;
        display: grid;
        gap: 1rem;
        grid-template-columns: 4.5rem minmax(0, 1fr) auto;
        min-height: 6.25rem;
        padding: 0.85rem 0;
}

.purchase-item + .purchase-item {
        border-top: 1px solid rgba(17, 17, 17, 0.13);
}

.purchase-item__image {
        background: #ece9e3;
        display: block;
        height: 4.75rem;
        overflow: hidden;
        width: 4.5rem;
}

.purchase-item__image img {
        height: 100%;
        object-fit: cover;
        transition: transform 0.45s ease;
        width: 100%;
}

a.purchase-item__image:hover img {
        transform: scale(1.035);
}

.purchase-item > div {
        min-width: 0;
}

.purchase-item > div > a,
.purchase-item > div > strong {
        color: #111;
        display: block;
        font-family: "Cormorant Garamond", serif;
        font-size: 1.25rem;
        font-weight: 600;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
}

.purchase-item > div > a:hover {
        text-decoration: underline;
        text-underline-offset: 0.2rem;
}

.purchase-item code,
.purchase-item > div > span {
        color: rgba(17, 17, 17, 0.5);
        display: block;
        font-family: "Manrope", sans-serif;
        font-size: 0.52rem;
        letter-spacing: 0.06em;
        margin-top: 0.22rem;
}

.purchase-item > strong {
        font-size: 0.68rem;
        white-space: nowrap;
}

.purchase-record__summary {
        border-left: 1px solid rgba(17, 17, 17, 0.16);
        display: flex;
        flex-direction: column;
        min-width: 0;
        padding: 1.5rem;
}

.purchase-record__number {
        border-bottom: 1px solid rgba(17, 17, 17, 0.15);
        padding-bottom: 1.25rem;
}

.purchase-record__number strong {
        display: block;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.2rem, 4vw, 3.6rem);
        font-weight: 500;
        letter-spacing: -0.05em;
        line-height: 0.85;
        margin-top: 0.9rem;
        overflow-wrap: anywhere;
}

.purchase-record__summary dl {
        margin-top: 0.7rem;
}

.purchase-record__summary dl > div {
        display: flex;
        font-size: 0.57rem;
        justify-content: space-between;
        padding: 0.48rem 0;
}

.purchase-record__summary dt {
        color: rgba(17, 17, 17, 0.48);
}

.purchase-record__actions {
        display: grid;
        gap: 0.75rem;
        margin-top: auto;
        padding-top: 1.5rem;
}

.purchase-record__actions .button {
        width: 100%;
}

.purchase-record__actions > a:last-child {
        border-bottom: 1px solid currentColor;
        color: #111;
        font-size: 0.52rem;
        font-weight: 800;
        justify-self: start;
        letter-spacing: 0.1em;
        padding-bottom: 0.2rem;
        text-transform: uppercase;
}

.purchases-empty {
        align-items: flex-start;
        border: 1px solid rgba(17, 17, 17, 0.18);
        display: flex;
        flex-direction: column;
        margin-top: 3rem;
        min-height: 27rem;
        padding: clamp(2rem, 5vw, 4rem);
}

.purchases-empty > span {
        color: rgba(17, 17, 17, 0.12);
        font-family: "Cormorant Garamond", serif;
        font-size: 8rem;
        line-height: 0.75;
}

.purchases-empty > p {
        color: rgba(17, 17, 17, 0.56);
        line-height: 1.8;
        margin: 1.5rem 0 2rem;
        max-width: 45ch;
}

.purchases-empty .button {
        margin-top: auto;
}

.purchases-pagination {
        align-items: center;
        border-top: 1px solid rgba(17, 17, 17, 0.18);
        display: flex;
        justify-content: space-between;
        margin-top: 2rem;
        padding-top: 1.25rem;
}

.purchases-pagination p {
        color: rgba(17, 17, 17, 0.5);
        font-size: 0.57rem;
}

.purchases-pagination nav {
        display: flex;
}

.purchases-pagination nav a {
        align-items: center;
        border: 1px solid rgba(17, 17, 17, 0.18);
        border-right: 0;
        color: #111;
        display: flex;
        font-size: 0.62rem;
        height: 2.4rem;
        justify-content: center;
        min-width: 2.4rem;
        text-decoration: none;
}

.purchases-pagination nav a:last-child {
        border-right: 1px solid rgba(17, 17, 17, 0.18);
}

.purchases-pagination nav a:hover,
.purchases-pagination nav a.is-current {
        background: #111;
        color: #fff;
}

.newsletter {
        background: #070707;
        color: #fff;
        overflow: hidden;
        padding: clamp(4rem, 6vw, 6.5rem) clamp(1.5rem, 3vw, 3rem);
        position: relative;
}

.newsletter::before {
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.22), transparent);
        content: "";
        height: 1px;
        left: 16%;
        position: absolute;
        top: 50%;
        transform: rotate(-7deg);
        width: 68%;
}

.newsletter__inner {
        margin: 0 auto;
        max-width: 1400px;
        position: relative;
        width: 100%;
}

.newsletter__wordmark {
        font-size: clamp(8rem, 15.5vw, 15rem);
        opacity: 0.22;
        top: 50%;
        -webkit-text-stroke: 1px rgba(255, 255, 255, 0.28);
}

.newsletter__frame {
        border-bottom: 1px solid rgba(255, 255, 255, 0.32);
        border-top: 1px solid rgba(255, 255, 255, 0.32);
        display: grid;
        grid-template-columns: minmax(7.5rem, 0.18fr) minmax(0, 0.95fr) minmax(22rem, 0.8fr);
        min-height: clamp(18rem, 24vw, 23rem);
        position: relative;
        z-index: 1;
}

.newsletter__rail {
        border-right: 1px solid rgba(255, 255, 255, 0.2);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: clamp(1.5rem, 2.5vw, 2.5rem) clamp(1rem, 1.5vw, 1.5rem);
}

.newsletter__label,
.newsletter__eyebrow,
.newsletter__notes span {
        font-size: 0.66rem;
        font-weight: 700;
        letter-spacing: 0.22em;
        text-transform: uppercase;
}

.newsletter__label,
.newsletter__eyebrow {
        color: rgba(255, 255, 255, 0.64);
}

.newsletter__rail-mark {
        align-items: baseline;
        display: flex;
        gap: 0.55rem;
}

.newsletter__rail-mark span {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.75rem, 4vw, 4rem);
        letter-spacing: -0.08em;
        line-height: 0.72;
}

.newsletter__rail-mark small {
        color: rgba(255, 255, 255, 0.42);
        font-size: 0.6rem;
        font-weight: 700;
        letter-spacing: 0.14em;
}

.newsletter__heading {
        align-self: center;
        padding: clamp(2.5rem, 5vw, 5rem);
}

.newsletter h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4rem, 6vw, 6.5rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.86;
        margin-top: clamp(1.25rem, 2vw, 2rem);
        max-width: 6.5ch;
        text-wrap: balance;
}

.newsletter__panel {
        align-self: stretch;
        border-left: 1px solid rgba(255, 255, 255, 0.2);
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: clamp(2rem, 4vw, 4rem);
}

.newsletter__copy {
        color: rgba(255, 255, 255, 0.7);
        font-size: clamp(0.94rem, 1.1vw, 1.05rem);
        line-height: 1.8;
        max-width: 34rem;
}

.newsletter__signup {
        align-items: end;
        display: grid;
        gap: 1rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: clamp(1.75rem, 3vw, 2.75rem);
}

.newsletter__input {
        background: transparent;
        border: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.48);
        border-radius: 0;
        color: #fff;
        font-family: inherit;
        font-size: 0.94rem;
        min-height: 3.25rem;
        min-width: 0;
        outline: 0;
        padding: 0.85rem 0.15rem;
        transition: border-color 0.25s ease;
        width: 100%;
}

.newsletter__input::placeholder {
        color: rgba(255, 255, 255, 0.44);
}

.newsletter__input:focus {
        border-color: #fff;
}

.newsletter__input[aria-invalid="true"] {
        border-color: #ff9d91;
}

.newsletter__button {
        grid-column: 1 / -1;
        justify-self: start;
        min-width: 13.5rem;
        white-space: nowrap;
}

.newsletter__button:hover,
.newsletter__button:focus-visible {
        border-color: rgba(255, 255, 255, 0.72);
}

.newsletter__button:disabled {
        cursor: wait;
        opacity: 0.58;
}

.newsletter__privacy,
.newsletter__response {
        color: rgba(255, 255, 255, 0.5);
        font-size: 0.72rem;
        line-height: 1.65;
        margin-top: 0.9rem;
        max-width: 34rem;
}

.newsletter__response {
        color: #fff;
        font-weight: 600;
}

.newsletter__response.is-error {
        color: #ffb1a8;
}

.newsletter__trap {
        height: 1px;
        left: -10000px;
        overflow: hidden;
        position: absolute;
        top: auto;
        width: 1px;
}

.newsletter__notes {
        border-top: 1px solid rgba(255, 255, 255, 0.16);
        display: flex;
        flex-wrap: wrap;
        gap: 0.8rem 1.4rem;
        margin-top: clamp(1.5rem, 2.5vw, 2.25rem);
        padding-top: 1.1rem;
}

.newsletter__notes span {
        color: rgba(255, 255, 255, 0.4);
        font-size: 0.58rem;
        letter-spacing: 0.16em;
}

.newsletter__notes span + span::before {
        color: rgba(255, 255, 255, 0.25);
        content: "/";
        margin-right: 1.4rem;
}

.site-footer {
        background: #f2f0eb;
        color: #111;
        overflow: hidden;
        padding: clamp(2.75rem, 4vw, 3.75rem) clamp(1.5rem, 3vw, 3rem) clamp(1.25rem, 2vw, 2rem);
}

.site-footer__inner {
        margin: 0 auto;
        max-width: 1400px;
        width: 100%;
}

.site-footer a {
        color: inherit;
        text-decoration: none;
}

.site-footer__topline {
        align-items: stretch;
        border-bottom: 1px solid rgba(17, 17, 17, 0.26);
        border-top: 1px solid rgba(17, 17, 17, 0.42);
        display: flex;
        justify-content: space-between;
}

.site-footer__edition {
        align-items: center;
        display: flex;
        gap: 1rem;
        padding: 1.15rem 0;
}

.site-footer__edition span,
.site-footer__label,
.site-footer__links > p,
.site-footer__bottomline p {
        font-size: 0.64rem;
        font-weight: 700;
        letter-spacing: 0.2em;
        text-transform: uppercase;
}

.site-footer__edition span:last-child {
        color: rgba(17, 17, 17, 0.46);
}

.site-footer__edition i {
        background: rgba(17, 17, 17, 0.38);
        height: 1px;
        width: clamp(2.5rem, 5vw, 5rem);
}

.site-footer__back-to-top {
        align-items: center;
        border-left: 1px solid rgba(17, 17, 17, 0.26);
        display: inline-flex;
        gap: 1rem;
        padding: 0 0 0 1.5rem;
        transition: background-color 0.25s ease, color 0.25s ease, padding 0.25s ease;
}

.site-footer__back-to-top span {
        font-size: 0.64rem;
        font-weight: 700;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.site-footer__back-to-top svg {
        border-left: 1px solid rgba(17, 17, 17, 0.26);
        fill: none;
        height: 3.5rem;
        padding: 1.15rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.5;
        width: 3.5rem;
}

.site-footer__back-to-top:hover,
.site-footer__back-to-top:focus-visible {
        background: #111;
        color: #fff;
        padding-left: 2rem;
}

.site-footer__statement {
        border-bottom: 1px solid rgba(17, 17, 17, 0.26);
        padding: clamp(2.25rem, 3.5vw, 3.5rem) 0 clamp(2.5rem, 4vw, 4rem);
}

.site-footer__label {
        color: rgba(17, 17, 17, 0.5);
}

.site-footer h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3rem, 5.4vw, 5.4rem);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 0.86;
        margin-top: clamp(1.25rem, 2vw, 2rem);
        max-width: 12ch;
        text-wrap: balance;
}

.site-footer__directory {
        border-bottom: 1px solid rgba(17, 17, 17, 0.3);
        display: grid;
        grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(12rem, 0.48fr));
}

.site-footer__note {
        border-right: 1px solid rgba(17, 17, 17, 0.22);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        min-height: 11.5rem;
        padding: clamp(1.5rem, 2.25vw, 2.25rem) clamp(2rem, 3.5vw, 3.5rem) clamp(1.5rem, 2.25vw, 2.25rem) 0;
}

.site-footer__note p {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(1.6rem, 2vw, 2.1rem);
        font-weight: 500;
        letter-spacing: -0.045em;
        line-height: 0.95;
        max-width: 16ch;
}

.site-footer__note a {
        align-items: center;
        display: inline-flex;
        font-size: 0.72rem;
        font-weight: 700;
        gap: 0.75rem;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        width: fit-content;
}

.site-footer__note a span {
        font-size: 1rem;
        transition: transform 0.25s ease;
}

.site-footer__note a:hover span,
.site-footer__note a:focus-visible span {
        transform: translate(0.2rem, -0.2rem);
}

.site-footer__contact-directory {
        border-top: 1px solid rgba(17, 17, 17, 0.22);
        display: grid;
        gap: 0.65rem;
        margin-top: 1.1rem;
        padding-top: 0.9rem;
        width: min(100%, 28rem);
}

.site-footer__contact-directory > a {
        font-size: 0.62rem;
        letter-spacing: 0.08em;
        overflow-wrap: anywhere;
        text-transform: none;
}

.site-footer__socials {
        display: flex;
        flex-wrap: wrap;
        gap: 0.55rem 1rem;
}

.site-footer__socials a {
        color: rgba(17, 17, 17, 0.62);
        font-size: 0.55rem;
        letter-spacing: 0.1em;
}

.site-footer__links {
        border-right: 1px solid rgba(17, 17, 17, 0.22);
        display: flex;
        flex-direction: column;
        gap: 0.6rem;
        padding: clamp(1.5rem, 2.25vw, 2.25rem);
}

.site-footer__links:last-child {
        border-right: 0;
}

.site-footer__links > p {
        color: rgba(17, 17, 17, 0.45);
        margin-bottom: 0.55rem;
}

.site-footer__links a {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(1.2rem, 1.35vw, 1.4rem);
        line-height: 1.05;
        position: relative;
        width: fit-content;
}

.site-footer__links a::after {
        background: currentColor;
        bottom: -0.2rem;
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        transform: scaleX(0);
        transform-origin: right center;
        transition: transform 0.35s cubic-bezier(0.2, 0.65, 0.3, 1);
        width: 100%;
}

.site-footer__links a:hover::after,
.site-footer__links a:focus-visible::after {
        transform: scaleX(1);
        transform-origin: left center;
}

.site-footer__signature {
        align-items: center;
        border-bottom: 1px solid rgba(17, 17, 17, 0.3);
        display: grid;
        gap: clamp(1.25rem, 2.5vw, 2.5rem);
        grid-template-columns: minmax(9rem, 0.28fr) minmax(18rem, 0.8fr) minmax(12rem, 0.32fr);
        padding: clamp(1.75rem, 2.75vw, 2.75rem) 0;
}

.site-footer__signature-meta {
        color: rgba(17, 17, 17, 0.5);
        font-size: 0.6rem;
        font-weight: 700;
        letter-spacing: 0.18em;
        line-height: 1.65;
        text-transform: uppercase;
}

.site-footer__signature-meta span {
        color: rgba(17, 17, 17, 0.34);
        display: block;
}

.site-footer__signature-meta--end {
        text-align: right;
}

.site-footer__brand {
        display: block;
        justify-self: center;
        max-width: clamp(17rem, 30vw, 29rem);
        overflow: hidden;
        width: 100%;
}

.site-footer__brand img {
        display: block;
        margin: 0 auto;
        object-fit: contain;
        transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.2, 0.65, 0.3, 1);
        width: 100%;
}

.site-footer__brand:hover img,
.site-footer__brand:focus-visible img {
        opacity: 0.72;
        transform: scale(0.985);
}

.site-footer__bottomline {
        align-items: center;
        display: flex;
        gap: 2rem;
        justify-content: space-between;
        padding-top: 1rem;
}

.site-footer__bottomline p {
        color: rgba(17, 17, 17, 0.52);
        letter-spacing: 0.14em;
        line-height: 1.6;
}

.site-footer__bottomline p:last-child {
        text-align: right;
}

.site-footer__bottomline > p:first-child,
.site-footer__bottomline > p:last-child {
        flex: 1 1 0;
}

.site-footer__credit {
        color: rgba(17, 17, 17, 0.66) !important;
        flex: 0 0 auto;
        text-align: center;
}

.site-footer__credit a {
        border-bottom: 1px solid rgba(17, 17, 17, 0.38);
        color: #111;
        font-weight: 800;
        padding-bottom: 0.12rem;
        transition: border-color 0.2s ease, opacity 0.2s ease;
}

.site-footer__credit a:hover,
.site-footer__credit a:focus-visible {
        border-color: #111;
        opacity: 0.62;
}

.site-footer__bottomline span {
        margin: 0 0.5rem;
}

.editorial-strip {
        background: #000;
        color: #fff;
        padding: clamp(3rem, 6vw, 6rem) 1.5rem;
}

.editorial-strip__inner {
        display: grid;
        gap: 2rem;
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        margin: 0 auto;
        max-width: 1400px;
        width: 100%;
}

.editorial-strip__eyebrow {
        color: rgba(255, 255, 255, 0.65);
        font-size: 0.76rem;
        font-weight: 700;
        letter-spacing: 0.22em;
        margin-bottom: 0.85rem;
        text-transform: uppercase;
}

.editorial-strip h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.4rem, 4.5vw, 4.8rem);
        font-weight: 500;
        letter-spacing: -0.05em;
        line-height: 0.94;
        max-width: 11ch;
}

.editorial-strip__grid {
        display: grid;
        gap: 1rem;
        grid-template-columns: repeat(3, minmax(0, 1fr));
}

.editorial-card {
        border: 1px solid rgba(255, 255, 255, 0.12);
        display: grid;
        gap: 1rem;
        min-height: 180px;
        padding: 1.25rem;
        transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.editorial-card:hover {
        background: rgba(255, 255, 255, 0.03);
        border-color: rgba(255, 255, 255, 0.22);
        transform: translateY(-2px);
}

.editorial-card span {
        color: rgba(255, 255, 255, 0.45);
        font-size: 0.8rem;
        font-weight: 700;
        letter-spacing: 0.24em;
}

.editorial-card p {
        align-self: end;
        color: rgba(255, 255, 255, 0.9);
        fill: none;
        height: 1.05rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.8;
        width: 1.05rem;
        line-height: 1.7;
}

.icon-button--bag {
        position: relative;
}

.header-bag-count {
        align-items: center;
        background: #111;
        border: 1px solid #fff;
        color: #fff;
        display: inline-flex;
        font-size: 0.5rem;
        font-weight: 800;
        height: 1rem;
        justify-content: center;
        line-height: 1;
        min-width: 1rem;
        padding: 0 0.2rem;
        position: absolute;
        right: -0.35rem;
        top: -0.35rem;
}

.shop-looks {
        background: #f1efe9;
        color: #111;
        overflow: hidden;
        padding: clamp(5rem, 8vw, 8rem) clamp(1.5rem, 3vw, 3rem);
        position: relative;
}

.shop-looks__inner,
.shop-catalog__inner,
.product-detail__inner,
.delivery-info__inner,
.product-suggestions__inner {
        margin: 0 auto;
        max-width: 1400px;
        position: relative;
        width: 100%;
}

.shop-looks__wordmark {
        color: transparent;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(7rem, 15vw, 15rem);
        font-weight: 500;
        left: 50%;
        letter-spacing: -0.08em;
        line-height: 0.72;
        opacity: 0.32;
        pointer-events: none;
        position: absolute;
        text-transform: uppercase;
        top: clamp(10rem, 15vw, 14rem);
        transform: translateX(-50%);
        white-space: nowrap;
        -webkit-text-stroke: 1px rgba(17, 17, 17, 0.32);
}

.shop-looks__header {
        border-top: 1px solid #111;
        display: grid;
        gap: clamp(2rem, 4vw, 4rem);
        grid-template-columns: minmax(8rem, 0.3fr) minmax(0, 1fr) minmax(17rem, 0.48fr);
        padding-top: clamp(1.5rem, 2.5vw, 2.5rem);
        position: relative;
        z-index: 1;
}

.shop-looks__folio {
        align-content: start;
        color: rgba(17, 17, 17, 0.55);
        display: grid;
        font-size: 0.62rem;
        font-weight: 700;
        gap: 0.8rem;
        letter-spacing: 0.2em;
        text-transform: uppercase;
}

.shop-looks__folio i {
        background: rgba(17, 17, 17, 0.4);
        display: block;
        height: 1px;
        width: 3.5rem;
}

.shop-looks__label,
.shop-catalog__header p,
.shop-page__heading > p,
.delivery-info__header > p,
.product-suggestions__header p {
        color: rgba(17, 17, 17, 0.58);
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.22em;
        text-transform: uppercase;
}

.shop-looks__heading {
        min-width: 0;
}

.shop-looks h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.5rem, 6.5vw, 6.75rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.86;
        margin-top: clamp(1.25rem, 2vw, 2rem);
        max-width: 9ch;
}

.shop-looks__intro {
        align-self: end;
        display: grid;
        gap: 1.75rem;
}

.shop-looks__intro p {
        color: rgba(17, 17, 17, 0.7);
        font-size: 0.9rem;
        line-height: 1.8;
        max-width: 38ch;
}

.shop-looks__button {
        width: 100%;
}

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

.shop-looks__grid {
        margin-top: clamp(4rem, 7vw, 7rem);
        position: relative;
        z-index: 1;
}

.product-card {
        background: #fff;
        border: 1px solid rgba(17, 17, 17, 0.2);
        color: #111;
        display: flex;
        flex-direction: column;
        min-width: 0;
        overflow: hidden;
        position: relative;
        transition: background-color 0.45s ease, border-color 0.45s ease, color 0.45s ease, transform 0.45s cubic-bezier(0.2, 0.65, 0.3, 1);
}

.product-card:hover,
.product-card:focus-within {
        background: #080808;
        border-color: #080808;
        color: #fff;
        transform: translateY(-0.35rem);
}

.product-card__media {
        aspect-ratio: 4 / 5;
        background: #e7e5df;
        color: #111;
        display: block;
        overflow: hidden;
        position: relative;
}

.product-card__media::after {
        background: rgba(0, 0, 0, 0);
        content: "";
        inset: 0;
        pointer-events: none;
        position: absolute;
        transition: background-color 0.45s ease;
}

.product-card:hover .product-card__media::after,
.product-card:focus-within .product-card__media::after {
        background: rgba(0, 0, 0, 0.08);
}

.product-card__media img {
        display: block;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transform: scale(1.001);
        transition: transform 0.8s cubic-bezier(0.2, 0.65, 0.3, 1);
        width: 100%;
}

.product-card:hover .product-card__media img,
.product-card:focus-within .product-card__media img {
        transform: scale(1.035);
}

.product-card__discount {
        background: rgba(255, 255, 255, 0.94);
        color: #111;
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        padding: 0.65rem 0.75rem;
        position: absolute;
        text-transform: uppercase;
        top: 0.75rem;
        z-index: 2;
}

.product-card__discount {
        left: 0.75rem;
}

.product-card__view {
        align-items: center;
        bottom: 1rem;
        color: #fff;
        display: inline-flex;
        font-size: 0.62rem;
        font-weight: 700;
        gap: 0.7rem;
        left: 1rem;
        letter-spacing: 0.18em;
        opacity: 0;
        position: absolute;
        text-transform: uppercase;
        transform: translateY(0.75rem);
        transition: opacity 0.35s ease, transform 0.35s ease;
        z-index: 2;
}

.product-card__view svg {
        fill: none;
        height: 1rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.5;
        width: 1rem;
}

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

.product-card__body {
        display: flex;
        flex: 1;
        flex-direction: column;
        min-height: 15rem;
        padding: clamp(1.1rem, 1.6vw, 1.5rem);
}

.product-card__meta {
        align-items: center;
        color: rgba(17, 17, 17, 0.5);
        display: flex;
        font-size: 0.54rem;
        font-weight: 700;
        gap: 1rem;
        justify-content: space-between;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        transition: color 0.45s ease;
}

.product-card:hover .product-card__meta,
.product-card:focus-within .product-card__meta {
        color: rgba(255, 255, 255, 0.52);
}

.product-card__title {
        color: inherit;
        display: block;
        margin-top: 1.5rem;
}

.product-card h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(1.75rem, 2.3vw, 2.35rem);
        font-weight: 500;
        letter-spacing: -0.045em;
        line-height: 0.95;
}

.product-card__price {
        align-items: baseline;
        display: flex;
        gap: 0.65rem;
        margin-top: 1rem;
}

.product-card__price-current {
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.06em;
}

.product-card__price del {
        color: rgba(17, 17, 17, 0.42);
        font-size: 0.66rem;
        transition: color 0.45s ease;
}

.product-card:hover .product-card__price del,
.product-card:focus-within .product-card__price del {
        color: rgba(255, 255, 255, 0.4);
}

.product-card__bag {
        align-items: center;
        background: #111;
        border: 1px solid #111;
        border-radius: 0;
        color: #fff;
        cursor: pointer;
        display: flex;
        font-size: 0.66rem;
        font-weight: 700;
        gap: 0.75rem;
        justify-content: space-between;
        letter-spacing: 0.16em;
        margin-top: auto;
        min-height: 3rem;
        padding: 0.85rem 1rem;
        text-transform: uppercase;
        transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease;
        width: 100%;
}

.product-card__bag svg,
.product-add-to-bag svg,
.product-whatsapp svg {
        fill: none;
        height: 1.15rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.6;
        width: 1.15rem;
}

.product-card:hover .product-card__bag,
.product-card:focus-within .product-card__bag {
        background: #fff;
        border-color: #fff;
        color: #111;
}

.product-card__bag:hover,
.product-card__bag:focus-visible,
.product-card:hover .product-card__bag:hover,
.product-card:focus-within .product-card__bag:focus-visible {
        background: transparent;
        border-color: currentColor;
        color: inherit;
}

.product-card__bag.is-added,
.product-add-to-bag.is-added {
        background: #fff;
        border-color: #111;
        color: #111;
}

.shop-looks__closing {
        border-bottom: 1px solid rgba(17, 17, 17, 0.28);
        display: flex;
        font-size: 0.58rem;
        font-weight: 700;
        justify-content: space-between;
        letter-spacing: 0.18em;
        margin-top: clamp(2.5rem, 4vw, 4rem);
        padding-bottom: 1rem;
        position: relative;
        text-transform: uppercase;
        z-index: 1;
}

/* Nwadiuto Mini homepage chapter */
.nwadiuto-mini {
        background: #f1ece4;
        color: #111;
        overflow: hidden;
        padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 4vw, 4.5rem);
        position: relative;
}

.nwadiuto-mini__inner {
        margin: 0 auto;
        max-width: 1500px;
        position: relative;
}

.nwadiuto-mini__wordmark {
        color: transparent;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(12rem, 28vw, 30rem);
        font-weight: 600;
        letter-spacing: -0.08em;
        line-height: 0.62;
        opacity: 0.18;
        pointer-events: none;
        position: absolute;
        right: -2vw;
        top: 4%;
        white-space: nowrap;
        -webkit-text-stroke: 1px rgba(17, 17, 17, 0.52);
}

.nwadiuto-mini__intro {
        align-items: center;
        display: grid;
        gap: clamp(2.5rem, 7vw, 8rem);
        grid-template-columns: minmax(18rem, 0.82fr) minmax(25rem, 1.18fr);
        position: relative;
        z-index: 1;
}

.nwadiuto-mini__copy {
        padding-block: clamp(1rem, 4vw, 4rem);
}

.nwadiuto-mini__eyebrow,
.nwadiuto-mini__edit > header > div > p {
        align-items: center;
        display: flex;
        font-size: 0.58rem;
        font-weight: 800;
        gap: 0.75rem;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.nwadiuto-mini__eyebrow::before {
        background: #111;
        content: "";
        height: 1px;
        width: 3rem;
}

.nwadiuto-mini h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4.5rem, 7.5vw, 8rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.82;
        margin-top: clamp(1.5rem, 3vw, 2.75rem);
        max-width: 9ch;
}

.nwadiuto-mini__tagline {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.25rem, 3.8vw, 4rem);
        font-weight: 500;
        letter-spacing: -0.045em;
        line-height: 0.9;
        margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.nwadiuto-mini__lead {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(1.35rem, 2vw, 1.9rem);
        line-height: 1.35;
        margin-top: clamp(2rem, 4vw, 3.5rem);
        max-width: 28ch;
}

.nwadiuto-mini__support {
        border-left: 1px solid rgba(17, 17, 17, 0.5);
        color: rgba(17, 17, 17, 0.64);
        font-size: 0.7rem;
        line-height: 1.75;
        margin-top: 1.5rem;
        max-width: 48ch;
        padding-left: 1rem;
}

.nwadiuto-mini__button {
        background: #000;
        border-color: #000;
        color: #fff;
        margin-top: 2rem;
        min-width: 13rem;
}

.nwadiuto-mini__button:hover,
.nwadiuto-mini__button:focus-visible {
        background: transparent;
        color: #000;
}

.nwadiuto-mini__principles {
        border-bottom: 1px solid rgba(17, 17, 17, 0.24);
        border-top: 1px solid rgba(17, 17, 17, 0.24);
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

.nwadiuto-mini__principles > div {
        min-width: 0;
        padding: 1rem 0.75rem 1rem 0;
}

.nwadiuto-mini__principles > div + div {
        border-left: 1px solid rgba(17, 17, 17, 0.24);
        padding-left: 0.75rem;
}

.nwadiuto-mini__principles dt {
        color: rgba(17, 17, 17, 0.42);
        font-size: 0.5rem;
        font-weight: 800;
        letter-spacing: 0.12em;
}

.nwadiuto-mini__principles dd {
        font-size: 0.58rem;
        font-weight: 700;
        line-height: 1.5;
        margin-top: 0.45rem;
        text-transform: uppercase;
}

.nwadiuto-mini__film {
        justify-self: end;
        margin: 0;
        max-width: 43rem;
        width: 100%;
}

.nwadiuto-mini__film-frame {
        aspect-ratio: 4 / 5;
        background: #c8b5a5;
        overflow: hidden;
        position: relative;
}

.nwadiuto-mini__film-frame::after {
        border: 1px solid rgba(255, 255, 255, 0.56);
        content: "";
        inset: 1rem;
        pointer-events: none;
        position: absolute;
        z-index: 3;
}

.nwadiuto-mini__film img,
.nwadiuto-mini__film video {
        height: 100%;
        inset: 0;
        object-fit: cover;
        pointer-events: none;
        position: absolute;
        width: 100%;
}

.nwadiuto-mini__film img {
        transition: opacity 0.5s ease, transform 1.2s ease;
}

.nwadiuto-mini__film video {
        opacity: 0;
        transition: opacity 0.55s ease;
        z-index: 1;
}

.nwadiuto-mini__film.is-playing img {
        opacity: 0;
}

.nwadiuto-mini__film.is-playing video {
        opacity: 1;
}

.nwadiuto-mini__film:hover img,
.nwadiuto-mini__film:hover video {
        transform: scale(1.015);
}

.nwadiuto-mini__film-badge {
        align-items: center;
        background: #000;
        bottom: 1rem;
        color: #fff;
        display: flex;
        font-family: "Cormorant Garamond", serif;
        font-size: 1.1rem;
        height: 4.6rem;
        justify-content: center;
        position: absolute;
        right: 1rem;
        width: 4.6rem;
        z-index: 4;
}

.nwadiuto-mini__film figcaption {
        border-bottom: 1px solid rgba(17, 17, 17, 0.4);
        display: flex;
        font-size: 0.5rem;
        font-weight: 700;
        justify-content: space-between;
        letter-spacing: 0.12em;
        padding: 0.85rem 0;
        text-transform: uppercase;
}

.nwadiuto-mini__edit {
        margin-top: clamp(6rem, 11vw, 11rem);
        position: relative;
        scroll-margin-top: 7rem;
        z-index: 1;
}

.nwadiuto-mini__edit > header {
        align-items: end;
        border-top: 1px solid #111;
        display: grid;
        gap: 2rem;
        grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.5fr);
        padding-top: 1.25rem;
}

.nwadiuto-mini__edit h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3rem, 5vw, 5.5rem);
        font-weight: 500;
        letter-spacing: -0.055em;
        line-height: 0.9;
        margin-top: 1rem;
}

.nwadiuto-mini__edit > header > p {
        color: rgba(17, 17, 17, 0.62);
        font-size: 0.68rem;
        line-height: 1.75;
}

.nwadiuto-mini__grid {
        display: grid;
        gap: 1rem;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

.nwadiuto-mini-card {
        background: #f7f3ed;
        border: 1px solid rgba(17, 17, 17, 0.36);
        color: #111;
        display: block;
        min-width: 0;
        text-decoration: none;
        transition: background-color 0.3s ease, color 0.3s ease, transform 0.35s ease;
}

.nwadiuto-mini-card:focus-visible {
        outline: 2px solid #111;
        outline-offset: 4px;
}

.nwadiuto-mini-card figure {
        aspect-ratio: 3 / 4;
        background: #d9d0c5;
        margin: 0;
        overflow: hidden;
        position: relative;
}

.nwadiuto-mini-card figure::after {
        background: linear-gradient(to top, rgba(0, 0, 0, 0.35), transparent 32%);
        content: "";
        inset: 0;
        pointer-events: none;
        position: absolute;
}

.nwadiuto-mini-card img {
        height: 100%;
        object-fit: cover;
        transition: transform 0.65s cubic-bezier(0.2, 0.75, 0.25, 1);
        width: 100%;
}

.nwadiuto-mini-card figure > span {
        bottom: 0.85rem;
        color: #fff;
        font-size: 0.55rem;
        font-weight: 800;
        left: 0.85rem;
        letter-spacing: 0.16em;
        position: absolute;
        z-index: 1;
}

.nwadiuto-mini-card > div {
        min-height: 9.5rem;
        padding: 1.25rem;
}

.nwadiuto-mini-card > div > p {
        color: rgba(17, 17, 17, 0.5);
        font-size: 0.5rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        transition: color 0.3s ease;
}

.nwadiuto-mini-card h4 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(1.7rem, 2.5vw, 2.5rem);
        font-weight: 600;
        letter-spacing: -0.035em;
        line-height: 1;
        margin: 1.15rem 0 1rem;
}

.nwadiuto-mini-card__details,
.nwadiuto-mini-card__prices {
        align-items: baseline;
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
}

.nwadiuto-mini-card__details {
        justify-content: space-between;
}

.nwadiuto-mini-card__prices {
        font-size: 0.75rem;
        font-weight: 800;
}

.nwadiuto-mini-card__prices del {
        color: rgba(17, 17, 17, 0.5);
        font-size: 0.62rem;
        font-weight: 500;
}

.nwadiuto-mini-card__view {
        font-size: 0.57rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
}

.nwadiuto-mini__empty {
        border: 1px solid rgba(17, 17, 17, 0.36);
        color: rgba(17, 17, 17, 0.7);
        font-size: 0.75rem;
        margin-top: clamp(2.5rem, 5vw, 4.5rem);
        padding: 2rem;
        text-align: center;
}

.nwadiuto-mini-card:hover,
.nwadiuto-mini-card:focus-within {
        background: #000;
        color: #fff;
        transform: translateY(-0.35rem);
}

.nwadiuto-mini-card:hover img,
.nwadiuto-mini-card:focus-within img {
        transform: scale(1.04);
}

.nwadiuto-mini-card:hover > div > p,
.nwadiuto-mini-card:hover .nwadiuto-mini-card__prices del,
.nwadiuto-mini-card:focus-within > div > p,
.nwadiuto-mini-card:focus-within .nwadiuto-mini-card__prices del {
        color: rgba(255, 255, 255, 0.58);
}

.nwadiuto-mini__closing {
        border-bottom: 1px solid rgba(17, 17, 17, 0.35);
        display: flex;
        font-size: 0.54rem;
        font-weight: 700;
        justify-content: space-between;
        letter-spacing: 0.14em;
        margin-top: clamp(3rem, 5vw, 5rem);
        padding-bottom: 1rem;
        text-transform: uppercase;
}

.shop-page {
        background: #fff;
        color: #111;
}

.shop-page__hero {
        background: #efede7;
        overflow: hidden;
        padding: clamp(3.5rem, 6vw, 6rem) clamp(1.5rem, 3vw, 3rem) clamp(5rem, 8vw, 8rem);
        position: relative;
}

.shop-page__wordmark {
        color: transparent;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(11rem, 25vw, 25rem);
        font-weight: 500;
        letter-spacing: -0.08em;
        line-height: 0.65;
        opacity: 0.28;
        pointer-events: none;
        position: absolute;
        right: -2vw;
        text-transform: uppercase;
        top: 23%;
        white-space: nowrap;
        -webkit-text-stroke: 1px rgba(17, 17, 17, 0.34);
}

.shop-page__hero-inner {
        display: grid;
        gap: clamp(2rem, 4vw, 4rem);
        grid-template-columns: repeat(12, minmax(0, 1fr));
        margin: 0 auto;
        max-width: 1400px;
        position: relative;
        width: 100%;
        z-index: 1;
}

.shop-page__crumbs {
        align-items: center;
        display: flex;
        font-size: 0.62rem;
        font-weight: 700;
        gap: 0.7rem;
        grid-column: 1 / -1;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.shop-page__crumbs a {
        color: rgba(17, 17, 17, 0.55);
}

.shop-page__heading {
        align-self: end;
        grid-column: 1 / span 7;
        grid-row: 2;
        padding-top: clamp(3rem, 7vw, 7rem);
}

.shop-page__heading h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4.5rem, 8.5vw, 9rem);
        font-weight: 500;
        letter-spacing: -0.07em;
        line-height: 0.82;
        margin-top: 1.75rem;
        max-width: 8ch;
}

.shop-page__hero-copy {
        align-self: end;
        display: grid;
        gap: 2rem;
        grid-column: 1 / span 4;
        grid-row: 3;
}

.shop-page__hero-copy p {
        color: rgba(17, 17, 17, 0.68);
        font-size: 0.92rem;
        line-height: 1.8;
        max-width: 40ch;
}

.shop-page__hero-copy span {
        border-top: 1px solid rgba(17, 17, 17, 0.28);
        font-size: 0.58rem;
        font-weight: 700;
        letter-spacing: 0.18em;
        padding-top: 1rem;
        text-transform: uppercase;
}

.shop-page__visual {
        align-self: stretch;
        background: #111;
        grid-column: 9 / -1;
        grid-row: 2 / span 2;
        min-height: 32rem;
        overflow: hidden;
        position: relative;
}

.shop-page__visual img {
        display: block;
        height: 100%;
        object-fit: cover;
        width: 100%;
}

.shop-page__visual figcaption {
        background: #111;
        bottom: 0;
        color: #fff;
        display: flex;
        font-size: 0.56rem;
        font-weight: 700;
        justify-content: space-between;
        left: 0;
        letter-spacing: 0.16em;
        padding: 0.9rem 1rem;
        position: absolute;
        right: 0;
        text-transform: uppercase;
}

.shop-catalog {
        background: #fff;
        color: #111;
        padding: clamp(5rem, 8vw, 8rem) clamp(1.5rem, 3vw, 3rem);
}

.shop-catalog__header,
.product-suggestions__header {
        align-items: end;
        border-top: 1px solid #111;
        display: flex;
        gap: 2rem;
        justify-content: space-between;
        padding-top: clamp(1.5rem, 2.5vw, 2.5rem);
}

.shop-catalog__header h2,
.product-suggestions__header h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.25rem, 5.5vw, 5.75rem);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 0.88;
        margin-top: 1.2rem;
}

.shop-catalog__header > span {
        color: rgba(17, 17, 17, 0.5);
        font-size: 0.6rem;
        font-weight: 700;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.product-grid--catalog {
        gap: clamp(1.5rem, 2.5vw, 2.75rem);
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: clamp(3.5rem, 6vw, 6rem);
}

.product-detail {
        background: #f3f1ec;
        color: #111;
        padding: clamp(2rem, 4vw, 4rem) clamp(1.5rem, 3vw, 3rem) clamp(5rem, 8vw, 8rem);
}

.product-detail__utility {
        align-items: center;
        border-bottom: 1px solid rgba(17, 17, 17, 0.28);
        display: flex;
        justify-content: space-between;
        margin-bottom: clamp(2rem, 4vw, 4rem);
        padding-bottom: 1rem;
}

.product-return,
.product-breadcrumbs {
        align-items: center;
        color: #111;
        display: inline-flex;
        font-size: 0.62rem;
        font-weight: 700;
        gap: 0.75rem;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.product-return svg {
        fill: none;
        height: 1.1rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.5;
        transition: transform 0.25s ease;
        width: 1.1rem;
}

.product-return:hover svg,
.product-return:focus-visible svg {
        transform: translateX(-0.25rem);
}

.product-breadcrumbs {
        color: rgba(17, 17, 17, 0.48);
}

.product-breadcrumbs a {
        color: #111;
}

.product-detail__layout {
        align-items: start;
        display: grid;
        gap: clamp(3rem, 6vw, 7rem);
        grid-template-columns: minmax(0, 1.18fr) minmax(23rem, 0.82fr);
}

.product-gallery {
        display: grid;
        gap: clamp(1rem, 1.5vw, 1.5rem);
        grid-template-columns: minmax(4.75rem, 6.5rem) minmax(0, 1fr);
        min-width: 0;
}

.product-gallery__thumbnails {
        align-content: start;
        display: grid;
        gap: 0.85rem;
}

.product-gallery__thumbnail {
        aspect-ratio: 4 / 5;
        background: #ddd9d1;
        border: 1px solid transparent;
        border-radius: 0;
        cursor: pointer;
        opacity: 0.52;
        overflow: hidden;
        padding: 0;
        transition: border-color 0.25s ease, opacity 0.25s ease;
        width: 100%;
}

.product-gallery__thumbnail.is-active,
.product-gallery__thumbnail:hover,
.product-gallery__thumbnail:focus-visible {
        border-color: #111;
        opacity: 1;
}

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

.product-gallery__main {
        aspect-ratio: 4 / 5;
        background: #dedbd4;
        min-width: 0;
        overflow: hidden;
        position: relative;
}

.product-gallery__main > img {
        display: block;
        height: 100%;
        object-fit: cover;
        opacity: 1;
        transition: opacity 0.2s ease, transform 0.6s cubic-bezier(0.2, 0.65, 0.3, 1);
        width: 100%;
}

.product-gallery__main > img.is-changing {
        opacity: 0.2;
}

.product-gallery__main figcaption {
        align-items: center;
        background: rgba(255, 255, 255, 0.94);
        bottom: 0;
        display: flex;
        font-size: 0.58rem;
        font-weight: 700;
        justify-content: space-between;
        left: 0;
        letter-spacing: 0.16em;
        padding: 0.9rem 1rem;
        position: absolute;
        right: 0;
        text-transform: uppercase;
}

.product-gallery__main figcaption b {
        font-weight: 800;
}

.product-info {
        position: sticky;
        top: 7.5rem;
}

.product-info__topline {
        align-items: center;
        border-top: 1px solid #111;
        display: flex;
        font-size: 0.62rem;
        font-weight: 700;
        justify-content: space-between;
        letter-spacing: 0.18em;
        padding-top: 1rem;
        text-transform: uppercase;
}

.product-info__topline span {
        color: rgba(17, 17, 17, 0.5);
}

.product-info h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.5rem, 5.75vw, 6rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.85;
        margin-top: clamp(2rem, 3vw, 3rem);
        max-width: 8.5ch;
}

.product-info__id {
        color: rgba(17, 17, 17, 0.48);
        font-size: 0.58rem;
        font-weight: 700;
        letter-spacing: 0.16em;
        margin-top: 1.25rem;
        text-transform: uppercase;
}

.product-info__price {
        align-items: baseline;
        display: flex;
        gap: 0.85rem;
        margin-top: 1.75rem;
}

.product-info__price span {
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: 0.04em;
}

.product-info__price del {
        color: rgba(17, 17, 17, 0.4);
        font-size: 0.78rem;
}

.product-info__description {
        border-bottom: 1px solid rgba(17, 17, 17, 0.22);
        color: rgba(17, 17, 17, 0.72);
        font-size: 0.9rem;
        line-height: 1.85;
        margin-top: 1.75rem;
        padding-bottom: 1.75rem;
}

.product-info__specs {
        border-bottom: 1px solid rgba(17, 17, 17, 0.22);
        display: grid;
        gap: 1rem;
        padding: 1.5rem 0;
}

.product-info__specs div {
        display: grid;
        gap: 1.25rem;
        grid-template-columns: 6rem 1fr;
}

.product-info__specs dt,
.product-sizes legend,
.quantity-picker__label {
        color: rgba(17, 17, 17, 0.5);
        font-size: 0.58rem;
        font-weight: 700;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.product-sizes legend small {
        color: rgba(17, 17, 17, 0.45);
        font: inherit;
        margin-left: 0.45rem;
}

.product-info__specs dd {
        font-size: 0.76rem;
        line-height: 1.6;
}

.product-sizes {
        border: 0;
        margin-top: 1.4rem;
        min-width: 0;
}

.product-sizes__select {
        border-bottom: 1px solid #111;
        margin-top: 0.65rem;
        max-width: 19rem;
        position: relative;
}

.product-sizes__select::after {
        border-bottom: 1px solid currentColor;
        border-right: 1px solid currentColor;
        content: "";
        height: 0.5rem;
        pointer-events: none;
        position: absolute;
        right: 0.3rem;
        top: 50%;
        transform: translateY(-70%) rotate(45deg);
        width: 0.5rem;
}

.product-sizes__select:focus-within {
        box-shadow: 0 2px 0 #111;
}

.product-sizes__select select {
        appearance: none;
        background: transparent;
        border: 0;
        color: #111;
        cursor: pointer;
        font-family: "Cormorant Garamond", serif;
        font-size: 1.5rem;
        font-weight: 600;
        height: 3rem;
        padding: 0 2.25rem 0 0.1rem;
        width: 100%;
}

.product-sizes__select select:focus-visible {
        outline: 0;
}

.product-sizes__select select:disabled {
        cursor: not-allowed;
        opacity: 0.55;
}

.product-info__selectors {
        align-items: end;
        display: grid;
        gap: 0.75rem;
        grid-template-columns: minmax(0, 1fr) auto;
        margin-top: 1.5rem;
}

.quantity-picker {
        display: grid;
        gap: 0.75rem;
}

.quantity-picker__controls {
        display: grid;
        grid-template-columns: 2.75rem minmax(3rem, 1fr) 2.75rem;
}

.quantity-picker__controls button,
.quantity-picker__controls input,
.size-chart-trigger {
        background: transparent;
        border: 1px solid rgba(17, 17, 17, 0.3);
        border-radius: 0;
        color: #111;
        min-height: 2.8rem;
}

.quantity-picker__controls button {
        cursor: pointer;
        font-size: 1rem;
}

.quantity-picker__controls button + input,
.quantity-picker__controls input + button {
        border-left: 0;
}

.quantity-picker__controls input {
        appearance: textfield;
        font: inherit;
        font-size: 0.75rem;
        font-weight: 700;
        min-width: 0;
        text-align: center;
        width: 100%;
}

.quantity-picker__controls input::-webkit-inner-spin-button,
.quantity-picker__controls input::-webkit-outer-spin-button {
        appearance: none;
        margin: 0;
}

.size-chart-trigger {
        align-items: center;
        cursor: pointer;
        display: inline-flex;
        font-size: 0.62rem;
        font-weight: 700;
        gap: 0.75rem;
        letter-spacing: 0.14em;
        padding: 0.75rem 1rem;
        text-transform: uppercase;
        transition: background-color 0.25s ease, color 0.25s ease;
}

.size-chart-trigger:hover,
.size-chart-trigger:focus-visible {
        background: #111;
        color: #fff;
}

.size-chart-trigger svg {
        fill: none;
        height: 1rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.4;
        width: 1rem;
}

.product-info__actions {
        display: grid;
        gap: 0.75rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 1.5rem;
}

.product-add-to-bag,
.product-whatsapp {
        gap: 0.75rem;
        justify-content: space-between;
        min-width: 0;
        width: 100%;
}

.product-add-to-bag {
        cursor: pointer;
}

.product-whatsapp {
        border-color: #111;
}

.product-whatsapp svg {
        fill: none;
        stroke-width: 1.35;
}

.product-whatsapp .whatsapp-icon {
        fill: currentColor;
        stroke: none;
}

.product-info__assurance {
        border-top: 1px solid rgba(17, 17, 17, 0.22);
        display: grid;
        gap: 0.65rem;
        margin-top: 1.75rem;
        padding-top: 1.25rem;
}

.product-info__assurance p {
        color: rgba(17, 17, 17, 0.58);
        font-size: 0.64rem;
        line-height: 1.6;
}

.product-info__assurance span {
        color: #111;
        font-weight: 700;
        margin-right: 0.6rem;
}

.delivery-info {
        background: #080808;
        color: #fff;
        overflow: hidden;
        padding: clamp(5rem, 8vw, 8rem) clamp(1.5rem, 3vw, 3rem);
        position: relative;
}

.delivery-info__wordmark {
        color: transparent;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(9rem, 18vw, 18rem);
        font-weight: 500;
        left: 50%;
        letter-spacing: -0.08em;
        line-height: 0.7;
        opacity: 0.38;
        pointer-events: none;
        position: absolute;
        text-transform: uppercase;
        top: 15%;
        transform: translateX(-50%);
        white-space: nowrap;
        -webkit-text-stroke: 1px rgba(255, 255, 255, 0.24);
}

.delivery-info__header {
        border-top: 1px solid rgba(255, 255, 255, 0.45);
        display: grid;
        gap: clamp(2rem, 5vw, 6rem);
        grid-template-columns: minmax(9rem, 0.35fr) minmax(0, 1fr);
        padding-top: 1.5rem;
        position: relative;
        z-index: 1;
}

.delivery-info__header > p {
        color: rgba(255, 255, 255, 0.56);
}

.delivery-info h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.5rem, 6vw, 6.5rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.86;
        max-width: 9ch;
}

.delivery-info__grid {
        display: grid;
        gap: 1px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: clamp(4rem, 7vw, 7rem);
        position: relative;
        z-index: 1;
}

.delivery-info__grid article {
        border: 1px solid rgba(255, 255, 255, 0.18);
        display: flex;
        flex-direction: column;
        min-height: 18rem;
        padding: clamp(1.5rem, 2.5vw, 2.5rem);
        transition: background-color 0.35s ease, color 0.35s ease;
}

.delivery-info__grid article:hover {
        background: #fff;
        color: #111;
}

.delivery-info__grid span {
        color: rgba(255, 255, 255, 0.48);
        font-size: 0.58rem;
        font-weight: 700;
        letter-spacing: 0.17em;
        text-transform: uppercase;
        transition: color 0.35s ease;
}

.delivery-info__grid article:hover span {
        color: rgba(17, 17, 17, 0.48);
}

.delivery-info__grid h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2rem, 3vw, 3rem);
        font-weight: 500;
        letter-spacing: -0.045em;
        line-height: 0.95;
        margin-top: auto;
}

.delivery-info__grid p {
        color: rgba(255, 255, 255, 0.64);
        font-size: 0.8rem;
        line-height: 1.75;
        margin-top: 1.25rem;
        max-width: 36ch;
        transition: color 0.35s ease;
}

.delivery-info__grid article:hover p {
        color: rgba(17, 17, 17, 0.66);
}

.product-suggestions {
        background: #f3f1ec;
        color: #111;
        padding: clamp(5rem, 8vw, 8rem) clamp(1.5rem, 3vw, 3rem);
}

.product-grid--suggestions {
        gap: clamp(1.5rem, 2.5vw, 2.75rem);
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: clamp(3.5rem, 6vw, 6rem);
}

.size-chart-modal {
        align-items: center;
        display: flex;
        inset: 0;
        justify-content: center;
        opacity: 0;
        padding: clamp(0.75rem, 2vw, 1.75rem);
        pointer-events: none;
        position: fixed;
        transition: opacity 0.3s ease;
        z-index: 100;
}

.size-chart-modal.is-open {
        opacity: 1;
        pointer-events: auto;
}

.size-chart-modal__backdrop {
        background: rgba(0, 0, 0, 0.84);
        backdrop-filter: blur(7px);
        border: 0;
        inset: 0;
        position: absolute;
}

.size-chart-modal__dialog {
        background: #f8f6f2;
        color: #111;
        max-height: calc(100vh - clamp(1.5rem, 4vw, 3.5rem));
        max-width: 1120px;
        overflow: auto;
        overscroll-behavior: contain;
        padding: clamp(1.25rem, 3vw, 3.25rem);
        position: relative;
        transform: translateY(1rem);
        transition: transform 0.3s ease;
        width: 100%;
        z-index: 1;
}

.size-chart-modal.is-open .size-chart-modal__dialog {
        transform: translateY(0);
}

.size-chart-modal__header {
        align-items: center;
        border-top: 1px solid rgba(17, 17, 17, 0.5);
        display: grid;
        gap: 1.25rem;
        grid-template-columns: minmax(0, 1fr) auto auto;
        padding-top: clamp(1rem, 2vw, 1.5rem);
}

.size-chart-modal__heading > p {
        color: rgba(17, 17, 17, 0.5);
        font-size: 0.58rem;
        font-weight: 700;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.size-chart-modal h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3rem, 6vw, 5.5rem);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 0.88;
        margin-top: 0.65rem;
}

.size-chart-modal__logo {
        display: block;
        height: auto;
        max-width: clamp(8rem, 16vw, 12rem);
        width: 100%;
}

.size-chart-modal__close {
        align-items: center;
        background: transparent;
        border: 1px solid rgba(17, 17, 17, 0.25);
        border-radius: 0;
        cursor: pointer;
        display: flex;
        height: 2.75rem;
        justify-content: center;
        width: 2.75rem;
}

.size-chart-modal__close svg {
        fill: none;
        height: 1rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-width: 1.7;
        width: 1rem;
}

.size-chart-modal__introduction {
        align-items: end;
        display: grid;
        gap: 1.5rem;
        grid-template-columns: minmax(0, 1fr) auto;
        margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.size-chart-modal__introduction > p {
        color: rgba(17, 17, 17, 0.68);
        font-size: clamp(0.7rem, 1vw, 0.8rem);
        line-height: 1.75;
        max-width: 72ch;
}

.size-chart-modal__introduction > span {
        align-items: center;
        border: 1px solid rgba(17, 17, 17, 0.22);
        display: inline-flex;
        font-size: 0.54rem;
        font-weight: 700;
        gap: 0.55rem;
        letter-spacing: 0.1em;
        padding: 0.6rem 0.75rem;
        text-transform: uppercase;
        white-space: nowrap;
}

.size-chart-modal__introduction > span strong {
        background: #000;
        color: #fff;
        padding: 0.3rem 0.38rem;
}

.size-chart-modal__section {
        margin-top: clamp(2rem, 4vw, 3.5rem);
}

.size-chart-modal__section > header {
        align-items: end;
        display: flex;
        gap: 1rem;
        justify-content: space-between;
        margin-bottom: 0.75rem;
}

.size-chart-modal__section > header > div {
        align-items: baseline;
        display: flex;
        gap: 0.7rem;
}

.size-chart-modal__section > header span,
.size-chart-modal__section > header small {
        color: rgba(17, 17, 17, 0.48);
        font-size: 0.5rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
}

.size-chart-modal__section h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(1.45rem, 2.4vw, 2rem);
        font-weight: 600;
        letter-spacing: -0.035em;
}

.size-chart-modal__table-wrap {
        border: 1px solid #111;
        overflow-x: auto;
        scrollbar-color: #111 #e0ddd6;
        scrollbar-width: thin;
}

.size-chart-table {
        border-collapse: collapse;
        min-width: 850px;
        table-layout: fixed;
        width: 100%;
}

.size-chart-table caption {
        height: 1px;
        overflow: hidden;
        position: absolute;
        width: 1px;
}

.size-chart-table th,
.size-chart-table td {
        border-bottom: 1px solid #111;
        border-left: 1px solid #111;
        font-size: clamp(0.67rem, 1vw, 0.78rem);
        height: 4rem;
        padding: 0.75rem 0.5rem;
        text-align: center;
}

.size-chart-table tr:last-child > * {
        border-bottom: 0;
}

.size-chart-table tr > *:first-child {
        border-left: 0;
        width: 6.8rem;
}

.size-chart-table th {
        font-weight: 800;
        letter-spacing: 0.07em;
        text-transform: uppercase;
}

.size-chart-table--conversion .is-primary > * {
        background: #000;
        color: #fff;
}

.size-chart-table--conversion .is-primary th {
        text-align: left;
}

.size-chart-table--conversion .is-primary th span {
        color: rgba(255, 255, 255, 0.55);
        display: block;
        font-size: 0.46rem;
        margin-bottom: 0.3rem;
}

.size-chart-table--measurements thead th {
        background: #e8e3da;
        font-size: 0.53rem;
        height: 2.7rem;
}

.size-chart-table--measurements tbody th {
        background: #000;
        color: #fff;
        text-align: left;
}

.size-chart-table tbody tr:hover td {
        background: #eee9e1;
}

.size-chart-modal__notes {
        border-top: 1px solid rgba(17, 17, 17, 0.22);
        display: grid;
        gap: 1.25rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: clamp(2rem, 4vw, 3.5rem);
        padding-top: 1rem;
}

.size-chart-modal__notes p {
        color: rgba(17, 17, 17, 0.62);
        font-size: 0.65rem;
        line-height: 1.7;
}

.size-chart-modal__notes span {
        color: #111;
        font-weight: 800;
        margin-right: 0.75rem;
}

.commerce-toast {
        background: #111;
        bottom: 1.25rem;
        color: #fff;
        font-size: 0.65rem;
        font-weight: 700;
        left: 50%;
        letter-spacing: 0.14em;
        max-width: calc(100vw - 2rem);
        opacity: 0;
        padding: 1rem 1.25rem;
        pointer-events: none;
        position: fixed;
        text-align: center;
        text-transform: uppercase;
        transform: translate(-50%, 1rem);
        transition: opacity 0.3s ease, transform 0.3s ease;
        width: max-content;
        z-index: 120;
}

.commerce-toast.is-visible {
        opacity: 1;
        transform: translate(-50%, 0);
}

body.is-dialog-open {
        overflow: hidden;
}

/* Commerce tools, cart drawer and cart page */
.commerce-tools {
        color: #111;
}

.commerce-float {
        display: grid;
        gap: 1px;
        position: fixed;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        z-index: 88;
}

.commerce-float__button {
        align-items: center;
        background: #fff;
        border: 1px solid rgba(17, 17, 17, 0.2);
        border-radius: 0;
        color: #111;
        cursor: pointer;
        display: flex;
        height: 4rem;
        justify-content: center;
        position: relative;
        transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
        width: 4rem;
}

.commerce-float__button[hidden],
.checkout-body .cart-float {
        display: none;
}

.commerce-float__button:hover,
.commerce-float__button:focus-visible {
        background: #111;
        color: #fff;
        transform: translateX(-0.3rem);
}

.currency-float {
        flex-direction: column;
        gap: 0.15rem;
}

.currency-float__symbol {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.25rem;
        line-height: 0.8;
}

.currency-float__code {
        font-size: 0.5rem;
        font-weight: 800;
        letter-spacing: 0.14em;
}

.cart-float svg {
        fill: none;
        height: 1.35rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.5;
        width: 1.35rem;
}

.cart-float__count {
        align-items: center;
        background: #111;
        border: 1px solid #fff;
        color: #fff;
        display: inline-flex;
        font-size: 0.5rem;
        font-weight: 800;
        height: 1.2rem;
        justify-content: center;
        min-width: 1.2rem;
        padding: 0 0.2rem;
        position: absolute;
        right: 0.35rem;
        top: 0.35rem;
}

.cart-float:hover .cart-float__count,
.cart-float:focus-visible .cart-float__count {
        background: #fff;
        border-color: #111;
        color: #111;
}

.cart-float.is-bumping {
        animation: cart-float-bump 0.55s ease;
}

@keyframes cart-float-bump {
        0%,
        100% {
                transform: translateX(0) scale(1);
        }
        42% {
                transform: translateX(-0.45rem) scale(1.08);
        }
}

.cart-drawer,
.commerce-modal {
        inset: 0;
        opacity: 0;
        pointer-events: none;
        position: fixed;
        transition: opacity 0.32s ease;
        visibility: hidden;
}

.cart-drawer {
        z-index: 190;
}

.commerce-modal {
        align-items: center;
        display: flex;
        justify-content: center;
        padding: 1.5rem;
        z-index: 210;
}

.cart-drawer.is-open,
.commerce-modal.is-open {
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
}

.cart-drawer__backdrop,
.commerce-modal__backdrop {
        background: rgba(0, 0, 0, 0.68);
        border: 0;
        cursor: pointer;
        inset: 0;
        position: absolute;
}

.cart-drawer__backdrop {
        backdrop-filter: blur(4px);
}

.cart-drawer__panel {
        background: #f4f2ed;
        box-shadow: -2rem 0 5rem rgba(0, 0, 0, 0.2);
        display: grid;
        grid-template-rows: auto minmax(0, 1fr) auto;
        height: 100dvh;
        margin-left: auto;
        max-width: 30rem;
        outline: 0;
        position: relative;
        transform: translateX(100%);
        transition: transform 0.42s cubic-bezier(0.76, 0, 0.24, 1);
        width: min(30rem, calc(100vw - 2rem));
}

.cart-drawer.is-open .cart-drawer__panel {
        transform: translateX(0);
}

.cart-drawer__header,
.commerce-modal__header {
        align-items: flex-start;
        border-bottom: 1px solid rgba(17, 17, 17, 0.18);
        display: flex;
        justify-content: space-between;
}

.cart-drawer__header {
        background: #fff;
        padding: 1.5rem;
}

.cart-drawer__header p,
.commerce-modal__header p,
.confirm-modal__dialog > p:first-child {
        color: rgba(17, 17, 17, 0.52);
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.cart-drawer__header h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: 2.5rem;
        font-weight: 500;
        letter-spacing: -0.05em;
        line-height: 0.9;
        margin-top: 0.75rem;
}

.cart-drawer__close,
.commerce-modal__close {
        align-items: center;
        background: transparent;
        border: 1px solid rgba(17, 17, 17, 0.22);
        border-radius: 0;
        color: #111;
        cursor: pointer;
        display: inline-flex;
        height: 2.75rem;
        justify-content: center;
        transition: background-color 0.2s ease, color 0.2s ease;
        width: 2.75rem;
}

.cart-drawer__close:hover,
.cart-drawer__close:focus-visible,
.commerce-modal__close:hover,
.commerce-modal__close:focus-visible {
        background: #111;
        color: #fff;
}

.cart-drawer__close svg,
.commerce-modal__close svg {
        fill: none;
        height: 1rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-width: 1.6;
        width: 1rem;
}

.cart-drawer__content {
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 0 1.5rem;
        scrollbar-color: #111 transparent;
        scrollbar-width: thin;
}

.cart-items {
        display: grid;
}

.cart-items:empty {
        display: none;
}

.cart-line {
        border-bottom: 1px solid rgba(17, 17, 17, 0.18);
        display: grid;
        gap: 1rem;
        grid-template-columns: 7.25rem minmax(0, 1fr);
        padding: 1.5rem 0;
}

.cart-line__media {
        align-self: start;
        aspect-ratio: 0.78;
        background: #ebe9e3;
        display: block;
        overflow: hidden;
}

.cart-line__media img {
        display: block;
        height: 100%;
        object-fit: cover;
        transition: transform 0.5s ease;
        width: 100%;
}

.cart-line__media--placeholder {
        align-items: center;
        background: #111;
        color: #fff;
        display: flex;
        font-family: "Cormorant Garamond", serif;
        font-size: 1.6rem;
        justify-content: center;
        letter-spacing: 0.08em;
}

.cart-line__media:hover img {
        transform: scale(1.025);
}

.cart-line__body {
        display: flex;
        flex-direction: column;
        min-width: 0;
}

.cart-line__eyebrow {
        align-items: center;
        color: rgba(17, 17, 17, 0.48);
        display: flex;
        font-size: 0.52rem;
        font-weight: 700;
        gap: 0.5rem;
        justify-content: space-between;
        letter-spacing: 0.13em;
        text-transform: uppercase;
}

.cart-line__title {
        color: #111;
        display: block;
        font-family: "Cormorant Garamond", serif;
        font-size: 1.55rem;
        font-weight: 600;
        letter-spacing: -0.035em;
        line-height: 1;
        margin-top: 0.65rem;
        transition: opacity 0.2s ease;
}

.cart-line__title:hover,
.cart-line__title:focus-visible {
        opacity: 0.55;
}

.cart-line__selection {
        color: rgba(17, 17, 17, 0.58);
        font-size: 0.62rem;
        margin-top: 0.65rem;
}

.cart-line__footer {
        align-items: end;
        display: flex;
        gap: 0.75rem;
        justify-content: space-between;
        margin-top: auto;
        padding-top: 1.25rem;
}

.cart-line__price {
        display: grid;
        gap: 0.2rem;
        text-align: right;
}

.cart-line__price strong {
        font-size: 0.72rem;
        font-weight: 800;
}

.cart-line__price small {
        color: rgba(17, 17, 17, 0.48);
        font-size: 0.5rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
}

.cart-quantity {
        align-items: stretch;
        border: 1px solid rgba(17, 17, 17, 0.24);
        display: inline-grid;
        grid-template-columns: 2rem 2.25rem 2rem;
        min-height: 2.15rem;
}

.cart-quantity button,
.cart-quantity span {
        align-items: center;
        background: transparent;
        border: 0;
        color: #111;
        display: inline-flex;
        font-size: 0.65rem;
        justify-content: center;
}

.cart-quantity button {
        cursor: pointer;
        transition: background-color 0.2s ease, color 0.2s ease;
}

.cart-quantity button:hover:not(:disabled),
.cart-quantity button:focus-visible:not(:disabled) {
        background: #111;
        color: #fff;
}

.cart-quantity button:disabled {
        color: rgba(17, 17, 17, 0.25);
        cursor: default;
}

.cart-quantity span {
        border-left: 1px solid rgba(17, 17, 17, 0.16);
        border-right: 1px solid rgba(17, 17, 17, 0.16);
        font-weight: 800;
}

.cart-line__remove {
        align-self: flex-start;
        background: transparent;
        border: 0;
        color: rgba(17, 17, 17, 0.5);
        cursor: pointer;
        font-size: 0.52rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        margin-top: 0.75rem;
        padding: 0.2rem 0;
        text-decoration: underline;
        text-underline-offset: 0.25rem;
        text-transform: uppercase;
        transition: color 0.2s ease;
        width: max-content;
}

.cart-line__remove:hover,
.cart-line__remove:focus-visible {
        color: #111;
}

.cart-empty {
        align-content: center;
        justify-items: start;
}

.cart-empty[hidden] {
        display: none;
}

.cart-empty--drawer {
        display: grid;
        min-height: 100%;
        padding: 3rem 0;
}

.cart-empty > span {
        color: rgba(17, 17, 17, 0.35);
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.18em;
}

.cart-empty h2,
.cart-empty h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.6rem, 5vw, 4rem);
        font-weight: 500;
        letter-spacing: -0.055em;
        line-height: 0.95;
        margin-top: 1.25rem;
}

.cart-empty p {
        color: rgba(17, 17, 17, 0.62);
        line-height: 1.75;
        margin-top: 1.25rem;
        max-width: 34ch;
}

.cart-empty .button {
        margin-top: 2rem;
}

.cart-drawer__footer {
        background: #111;
        color: #fff;
        padding: 1.35rem 1.5rem 1.5rem;
}

.cart-drawer__subtotal {
        align-items: baseline;
        display: flex;
        justify-content: space-between;
}

.cart-drawer__subtotal span {
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.cart-drawer__subtotal strong {
        font-family: "Cormorant Garamond", serif;
        font-size: 2rem;
        font-weight: 500;
}

.cart-drawer__footer > p {
        color: rgba(255, 255, 255, 0.55);
        font-size: 0.55rem;
        margin-top: 0.35rem;
}

.cart-drawer__actions {
        display: grid;
        gap: 0.55rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 1.15rem;
}

.cart-drawer__actions .button {
        font-size: 0.58rem;
        min-height: 2.85rem;
        padding: 0.75rem;
}

.cart-drawer__actions svg,
.cart-summary__actions svg {
        fill: none;
        height: 0.95rem;
        margin-left: 0.55rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.5;
        width: 0.95rem;
}

.cart-drawer__actions .whatsapp-icon,
.cart-summary__actions .whatsapp-icon {
        fill: currentColor;
        stroke: none;
}

.cart-drawer__links {
        align-items: center;
        display: flex;
        gap: 1rem;
        justify-content: space-between;
        margin-top: 1rem;
}

.cart-drawer__links button,
.cart-drawer__links a {
        background: transparent;
        border: 0;
        color: rgba(255, 255, 255, 0.7);
        cursor: pointer;
        font-size: 0.52rem;
        font-weight: 700;
        letter-spacing: 0.1em;
        padding: 0;
        text-decoration: underline;
        text-underline-offset: 0.25rem;
        text-transform: uppercase;
}

.cart-drawer__links button:hover,
.cart-drawer__links button:focus-visible,
.cart-drawer__links a:hover,
.cart-drawer__links a:focus-visible {
        color: #fff;
}

.commerce-modal__dialog {
        background: #f4f2ed;
        max-height: calc(100dvh - 3rem);
        max-width: 44rem;
        outline: 0;
        overflow-y: auto;
        padding: 1.5rem;
        position: relative;
        transform: translateY(1.5rem);
        transition: transform 0.32s ease;
        width: 100%;
}

.commerce-modal.is-open .commerce-modal__dialog {
        transform: translateY(0);
}

.commerce-modal__header {
        padding-bottom: 1.5rem;
}

.commerce-modal__header h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.75rem, 5vw, 4.5rem);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 0.9;
        margin-top: 0.85rem;
}

.currency-picker__dialog {
        max-width: 36rem;
}

.currency-picker__options {
        border-top: 1px solid rgba(17, 17, 17, 0.2);
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 2rem;
}

.currency-picker__options button {
        align-items: center;
        background: transparent;
        border: 0;
        border-bottom: 1px solid rgba(17, 17, 17, 0.2);
        border-right: 1px solid rgba(17, 17, 17, 0.2);
        color: #111;
        cursor: pointer;
        display: grid;
        gap: 0.2rem 0.65rem;
        grid-template-columns: 2.5rem 1fr auto;
        min-height: 5.25rem;
        padding: 1rem;
        text-align: left;
        transition: background-color 0.2s ease, color 0.2s ease;
}

.currency-picker__options button:nth-child(2n) {
        border-right: 0;
}

.currency-picker__options button:hover,
.currency-picker__options button:focus-visible,
.currency-picker__options button[aria-checked="true"] {
        background: #111;
        color: #fff;
}

.currency-picker__options button > span {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.75rem;
        grid-row: 1 / span 2;
}

.currency-picker__options strong {
        font-size: 0.7rem;
        font-weight: 700;
}

.currency-picker__options small {
        font-size: 0.52rem;
        font-weight: 800;
        letter-spacing: 0.12em;
}

.currency-picker__note {
        color: rgba(17, 17, 17, 0.56);
        font-size: 0.6rem;
        line-height: 1.6;
        margin-top: 1.25rem;
}

.confirm-modal__dialog {
        background: #111;
        color: #fff;
        max-width: 34rem;
        padding: clamp(2rem, 5vw, 4rem);
}

.confirm-modal__dialog > p:first-child {
        color: rgba(255, 255, 255, 0.48);
}

.confirm-modal__dialog h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.5rem, 7vw, 5.5rem);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 0.85;
        margin-top: 1.25rem;
}

.confirm-modal__dialog > p:not(:first-child) {
        color: rgba(255, 255, 255, 0.66);
        line-height: 1.75;
        margin-top: 1.5rem;
        max-width: 38ch;
}

.confirm-modal__actions {
        display: grid;
        gap: 0.75rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 2rem;
}

.cart-page {
        background: #f3f1ec;
        color: #111;
}

.cart-page__hero {
        min-height: 31rem;
        overflow: hidden;
        padding: clamp(4.5rem, 8vw, 8rem) clamp(1.5rem, 3vw, 3rem);
        position: relative;
}

.cart-page__wordmark {
        color: transparent;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(11rem, 25vw, 24rem);
        font-weight: 500;
        left: 50%;
        letter-spacing: -0.08em;
        line-height: 0.7;
        opacity: 0.22;
        pointer-events: none;
        position: absolute;
        text-transform: uppercase;
        top: 50%;
        transform: translate(-50%, -42%);
        white-space: nowrap;
        -webkit-text-stroke: 1px rgba(17, 17, 17, 0.42);
}

.cart-page__hero-inner,
.cart-page__layout {
        margin: 0 auto;
        max-width: 1400px;
        position: relative;
        width: 100%;
}

.cart-page__hero-inner {
        border-top: 1px solid #111;
        display: grid;
        gap: clamp(2rem, 4vw, 5rem);
        grid-template-columns: minmax(10rem, 0.35fr) minmax(0, 1fr) minmax(15rem, 0.48fr);
        padding-top: 1.5rem;
        z-index: 1;
}

.cart-page__crumbs {
        align-items: flex-start;
        display: flex;
        font-size: 0.6rem;
        font-weight: 700;
        gap: 0.6rem;
        letter-spacing: 0.14em;
        text-transform: uppercase;
}

.cart-page__crumbs a {
        color: rgba(17, 17, 17, 0.52);
}

.cart-page__title > p {
        color: rgba(17, 17, 17, 0.55);
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.cart-page__title h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(5rem, 10vw, 9rem);
        font-weight: 500;
        letter-spacing: -0.075em;
        line-height: 0.78;
        margin-top: 1.5rem;
}

.cart-page__intro {
        align-self: end;
        color: rgba(17, 17, 17, 0.66);
        font-size: 0.86rem;
        line-height: 1.8;
        max-width: 36ch;
}

.cart-page__content {
        background: #fff;
        border-top: 1px solid #111;
        padding: clamp(4rem, 7vw, 7rem) clamp(1.5rem, 3vw, 3rem) clamp(6rem, 9vw, 9rem);
}

.cart-page__layout {
        align-items: start;
        display: grid;
        gap: clamp(3rem, 6vw, 7rem);
        grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.38fr);
}

.cart-page__column-heading {
        border-bottom: 1px solid #111;
        color: rgba(17, 17, 17, 0.52);
        display: flex;
        font-size: 0.58rem;
        font-weight: 800;
        justify-content: space-between;
        letter-spacing: 0.16em;
        padding-bottom: 1rem;
        text-transform: uppercase;
}

.cart-items--page .cart-line {
        gap: clamp(1.25rem, 3vw, 2.5rem);
        grid-template-columns: clamp(8rem, 16vw, 13rem) minmax(0, 1fr);
        padding: 2rem 0;
}

.cart-items--page .cart-line__title {
        font-size: clamp(2rem, 3.5vw, 3.25rem);
        max-width: 13ch;
}

.cart-items--page .cart-line__selection {
        font-size: 0.68rem;
}

.cart-items--page .cart-line__footer {
        padding-top: 2rem;
}

.cart-items--page .cart-line__price strong {
        font-size: 0.85rem;
}

.cart-empty--page {
        display: grid;
        min-height: 28rem;
}

.cart-summary {
        background: #111;
        color: #fff;
        padding: clamp(1.5rem, 3vw, 2.5rem);
        position: sticky;
        top: 7rem;
}

.cart-summary__header {
        align-items: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        display: flex;
        justify-content: space-between;
        padding-bottom: 1.5rem;
}

.cart-summary__header p,
.cart-summary__header span {
        font-size: 0.55rem;
        font-weight: 800;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.cart-summary__header span {
        color: rgba(255, 255, 255, 0.45);
}

.cart-summary__row {
        align-items: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.14);
        display: flex;
        font-size: 0.65rem;
        justify-content: space-between;
        padding: 1.25rem 0;
}

.cart-summary__row span {
        color: rgba(255, 255, 255, 0.62);
}

.cart-summary__row strong {
        font-size: 0.62rem;
        font-weight: 700;
}

.cart-summary__total {
        align-items: end;
        display: flex;
        justify-content: space-between;
        padding: 1.75rem 0 0;
}

.cart-summary__total > span {
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.15em;
        text-transform: uppercase;
}

.cart-summary__total strong {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.25rem, 4vw, 3.5rem);
        font-weight: 500;
        line-height: 0.8;
}

.cart-summary__currency {
        color: rgba(255, 255, 255, 0.48);
        font-size: 0.54rem;
        line-height: 1.6;
        margin-top: 1rem;
}

.cart-summary__actions {
        display: grid;
        gap: 0.65rem;
        margin-top: 2rem;
}

.cart-summary__actions .button {
        width: 100%;
}

.cart-summary__clear {
        background: transparent;
        border: 0;
        color: rgba(255, 255, 255, 0.62);
        cursor: pointer;
        font-size: 0.55rem;
        font-weight: 700;
        letter-spacing: 0.13em;
        margin-top: 0.75rem;
        padding: 0.25rem;
        text-decoration: underline;
        text-underline-offset: 0.3rem;
        text-transform: uppercase;
}

.cart-summary__clear:hover,
.cart-summary__clear:focus-visible {
        color: #fff;
}

.cart-summary__assurance {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        display: grid;
        gap: 0.7rem;
        margin-top: 2rem;
        padding-top: 1.5rem;
}

.cart-summary__assurance p {
        color: rgba(255, 255, 255, 0.58);
        font-size: 0.55rem;
        line-height: 1.5;
}

.cart-summary__assurance span {
        color: #fff;
        font-weight: 800;
        margin-right: 0.65rem;
}

.content-anchor {
        height: 1px;
}

.sr-only {
        border: 0;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        white-space: nowrap;
        width: 1px;
}

body.menu-open {
        overflow: hidden;
}

/* Customer accounts */
.form-field {
        display: grid;
        gap: 0.6rem;
        min-width: 0;
}

.form-field[hidden] {
        display: none;
}

.form-field > span:first-child {
        color: rgba(17, 17, 17, 0.72);
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
}

.form-field > span em {
        color: rgba(17, 17, 17, 0.42);
        font-style: normal;
        font-weight: 500;
}

.form-field input,
.form-field select,
.form-field textarea {
        appearance: none;
        background: #fff;
        border: 1px solid rgba(17, 17, 17, 0.2);
        border-radius: 0;
        color: #111;
        font: inherit;
        font-size: 0.78rem;
        min-height: 3.45rem;
        outline: 0;
        padding: 0.95rem 1rem;
        transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
        width: 100%;
}

.form-field select {
        background-image: linear-gradient(45deg, transparent 50%, #111 50%), linear-gradient(135deg, #111 50%, transparent 50%);
        background-position: calc(100% - 1.15rem) calc(50% - 2px), calc(100% - 0.85rem) calc(50% - 2px);
        background-repeat: no-repeat;
        background-size: 0.3rem 0.3rem, 0.3rem 0.3rem;
        padding-right: 2.5rem;
}

.form-field textarea {
        line-height: 1.65;
        min-height: 6.5rem;
        resize: vertical;
}

.form-field input::placeholder,
.form-field textarea::placeholder {
        color: rgba(17, 17, 17, 0.36);
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
        border-color: #111;
        box-shadow: inset 0 0 0 1px #111;
}

.form-field small,
.form-check__error {
        color: #8a1717;
        font-size: 0.58rem;
        font-weight: 600;
        line-height: 1.5;
}

.form-field > em {
        color: rgba(17, 17, 17, 0.46);
        font-size: 0.55rem;
        font-style: normal;
        line-height: 1.5;
}

.password-field {
        display: block;
        position: relative;
}

.password-field input {
        padding-right: 4.75rem;
}

.password-field button {
        background: transparent;
        border: 0;
        color: #111;
        cursor: pointer;
        font-size: 0.52rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        padding: 0.75rem;
        position: absolute;
        right: 0.25rem;
        text-transform: uppercase;
        top: 50%;
        transform: translateY(-50%);
}

.form-check {
        align-items: flex-start;
        color: rgba(17, 17, 17, 0.62);
        cursor: pointer;
        display: flex;
        font-size: 0.62rem;
        gap: 0.7rem;
        line-height: 1.65;
}

.form-check input {
        appearance: none;
        background: #fff;
        border: 1px solid rgba(17, 17, 17, 0.42);
        border-radius: 0;
        flex: 0 0 1rem;
        height: 1rem;
        margin-top: 0.08rem;
        position: relative;
        width: 1rem;
}

.form-check input:checked {
        background: #111;
        box-shadow: inset 0 0 0 3px #fff;
}

.form-check a {
        color: #111;
        text-decoration: underline;
        text-underline-offset: 0.2rem;
}

.form-alert {
        background: #111;
        border-left: 3px solid #8a1717;
        color: #fff;
        font-size: 0.65rem;
        line-height: 1.65;
        margin-bottom: 1.5rem;
        padding: 1rem 1.1rem;
}

.account-auth {
        background: #f4f2ed;
        display: grid;
        grid-template-columns: minmax(0, 0.92fr) minmax(34rem, 1.08fr);
        min-height: min(52rem, calc(100vh - 5rem));
}

.account-auth__story {
        background: #050505;
        color: #fff;
        min-height: 48rem;
        overflow: hidden;
        padding: clamp(4rem, 8vw, 8rem) clamp(2rem, 6vw, 6rem);
        position: relative;
}

.account-auth__story::after {
        border: 1px solid rgba(255, 255, 255, 0.1);
        content: "";
        height: clamp(13rem, 25vw, 22rem);
        position: absolute;
        right: -8%;
        top: 12%;
        transform: rotate(11deg);
        width: clamp(10rem, 19vw, 17rem);
}

.account-auth__wordmark {
        bottom: -0.12em;
        color: rgba(255, 255, 255, 0.045);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(9rem, 19vw, 19rem);
        font-weight: 600;
        left: -0.12em;
        letter-spacing: -0.08em;
        line-height: 0.72;
        pointer-events: none;
        position: absolute;
        white-space: nowrap;
}

.account-auth__story-inner {
        display: flex;
        flex-direction: column;
        height: 100%;
        justify-content: center;
        max-width: 34rem;
        min-height: 30rem;
        position: relative;
        z-index: 1;
}

.account-auth__eyebrow,
.account-auth__panel-heading > p,
.account-dashboard__identity p {
        font-size: 0.6rem;
        font-weight: 700;
        letter-spacing: 0.2em;
        text-transform: uppercase;
}

.account-auth__eyebrow {
        color: rgba(255, 255, 255, 0.58);
}

.account-auth__story h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(5rem, 9vw, 9rem);
        font-weight: 500;
        letter-spacing: -0.075em;
        line-height: 0.72;
        margin: 2rem 0 2.5rem;
}

.account-auth__story-inner > p:not(.account-auth__eyebrow) {
        color: rgba(255, 255, 255, 0.62);
        font-size: 0.78rem;
        line-height: 1.9;
        max-width: 42ch;
}

.account-auth__benefits {
        border-top: 1px solid rgba(255, 255, 255, 0.16);
        display: grid;
        gap: 0.8rem;
        margin-top: 3.5rem;
        padding-top: 1.5rem;
}

.account-auth__benefits span {
        color: rgba(255, 255, 255, 0.58);
        font-size: 0.55rem;
        font-weight: 700;
        letter-spacing: 0.14em;
        text-transform: uppercase;
}

.account-auth__panel {
        align-items: center;
        display: flex;
        justify-content: center;
        padding: clamp(4rem, 8vw, 7rem) clamp(2rem, 7vw, 7rem);
}

.account-auth__panel-inner {
        max-width: 40rem;
        width: 100%;
}

.account-auth:not(.account-auth--signup) .account-auth__panel-inner {
        max-width: 31rem;
}

.account-auth__panel-heading {
        border-bottom: 1px solid rgba(17, 17, 17, 0.16);
        margin-bottom: 2rem;
        padding-bottom: 1.5rem;
}

.account-auth__panel-heading > p {
        color: rgba(17, 17, 17, 0.5);
}

.account-auth__panel-heading h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.2rem, 5vw, 5rem);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 0.86;
        margin-top: 0.8rem;
}

.account-form {
        display: grid;
        gap: 1.25rem;
}

.account-form__grid {
        display: grid;
        gap: 1.25rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-form__submit {
        margin-top: 0.5rem;
        width: 100%;
}

.account-form__submit:disabled {
        cursor: not-allowed;
        opacity: 0.42;
}

.account-form__privacy-note {
        color: rgba(17, 17, 17, 0.48);
        font-size: 0.55rem;
        letter-spacing: 0.03em;
        line-height: 1.65;
        margin-top: -0.45rem;
        text-align: center;
}

.account-verification-pending {
        align-items: center;
        background: #111;
        color: #fff;
        display: grid;
        gap: 0.55rem 1rem;
        grid-template-columns: minmax(0, 1fr) auto;
        margin-bottom: 1.5rem;
        padding: 1.1rem 1.2rem;
}

.account-verification-pending > span {
        color: rgba(255, 255, 255, 0.52);
        font-size: 0.52rem;
        font-weight: 800;
        grid-column: 1;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.account-verification-pending p {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.35rem;
        grid-column: 1;
        line-height: 1.05;
}

.account-verification-pending button {
        background: #fff;
        border: 1px solid #fff;
        border-radius: 0;
        color: #111;
        cursor: pointer;
        font-size: 0.52rem;
        font-weight: 800;
        grid-column: 2;
        grid-row: 1 / span 2;
        letter-spacing: 0.13em;
        padding: 0.85rem 1rem;
        text-transform: uppercase;
        transition: background-color 0.2s ease, color 0.2s ease;
}

.account-verification-pending button:hover,
.account-verification-pending button:focus-visible {
        background: #111;
        color: #fff;
}

.account-auth__switch {
        align-items: center;
        border-top: 1px solid rgba(17, 17, 17, 0.16);
        display: flex;
        justify-content: space-between;
        margin-top: 2rem;
        padding-top: 1.25rem;
}

.account-auth__switch p {
        color: rgba(17, 17, 17, 0.52);
        font-size: 0.62rem;
}

.account-auth__switch a,
.account-auth__guest {
        color: #111;
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
}

.account-auth__switch a span,
.account-auth__guest span {
        margin-left: 0.4rem;
        transition: transform 0.2s ease;
}

.account-auth__switch a:hover span,
.account-auth__guest:hover span {
        display: inline-block;
        transform: translateX(0.25rem);
}

.account-auth__guest {
        align-items: center;
        border: 1px solid rgba(17, 17, 17, 0.22);
        display: flex;
        justify-content: space-between;
        margin-top: 1rem;
        padding: 1rem;
        transition: background-color 0.2s ease, color 0.2s ease;
}

.account-auth__guest:hover,
.account-auth__guest:focus-visible {
        background: #111;
        color: #fff;
}

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

.account-otp[hidden] {
        display: none;
}

.account-otp {
        display: grid;
        inset: 0;
        isolation: isolate;
        overflow: hidden;
        padding: 1.5rem;
        place-items: center;
        position: fixed;
        z-index: 3000;
}

.account-otp__backdrop {
        backdrop-filter: blur(9px);
        background: rgba(0, 0, 0, 0.76);
        border: 0;
        cursor: default;
        inset: 0;
        position: absolute;
        z-index: -1;
}

.account-otp__dialog {
        background:
                linear-gradient(135deg, rgba(17, 17, 17, 0.04) 0 1px, transparent 1px 100%),
                #f5f3ee;
        background-size: 4.5rem 4.5rem, auto;
        border: 1px solid rgba(255, 255, 255, 0.26);
        box-shadow: 0 2.5rem 7rem rgba(0, 0, 0, 0.42);
        max-height: calc(100vh - 3rem);
        max-width: 44rem;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: clamp(2.5rem, 5vw, 4.5rem);
        position: relative;
        width: 100%;
}

.account-otp__wordmark {
        color: rgba(17, 17, 17, 0.035);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(7rem, 15vw, 12rem);
        font-weight: 600;
        letter-spacing: -0.08em;
        line-height: 0.7;
        pointer-events: none;
        position: absolute;
        right: -0.12em;
        top: 0.22em;
        white-space: nowrap;
}

.account-otp__close {
        align-items: center;
        background: transparent;
        border: 1px solid rgba(17, 17, 17, 0.24);
        border-radius: 0;
        color: #111;
        cursor: pointer;
        display: flex;
        font-family: Arial, sans-serif;
        font-size: 1.45rem;
        height: 2.75rem;
        justify-content: center;
        line-height: 1;
        position: absolute;
        right: 1.25rem;
        top: 1.25rem;
        transition: background-color 0.2s ease, color 0.2s ease;
        width: 2.75rem;
        z-index: 2;
}

.account-otp__close:hover,
.account-otp__close:focus-visible {
        background: #111;
        color: #fff;
}

.account-otp__header {
        border-bottom: 1px solid rgba(17, 17, 17, 0.16);
        padding-bottom: 1.75rem;
        position: relative;
        z-index: 1;
}

.account-otp__header > p:first-child {
        color: rgba(17, 17, 17, 0.48);
        font-size: 0.55rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.account-otp__header h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.8rem, 7vw, 5.4rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.78;
        margin: 1.2rem 0 1.5rem;
}

.account-otp__header > p:last-child {
        color: rgba(17, 17, 17, 0.6);
        font-size: 0.7rem;
        line-height: 1.75;
        max-width: 48ch;
}

.account-otp__header strong {
        color: #111;
        font-weight: 700;
}

.account-otp__feedback {
        border-left: 3px solid #111;
        font-size: 0.62rem;
        line-height: 1.65;
        margin-top: 1.25rem;
        padding: 0.9rem 1rem;
        position: relative;
        z-index: 1;
}

.account-otp__feedback--success {
        background: #111;
        color: #fff;
}

.account-otp__feedback--error {
        background: rgba(138, 23, 23, 0.08);
        border-left-color: #8a1717;
        color: #701414;
}

.account-otp__form {
        margin-top: 2rem;
        min-width: 0;
        position: relative;
        z-index: 1;
}

.account-otp__digits {
        display: grid;
        gap: clamp(0.35rem, 1vw, 0.7rem);
        grid-template-columns: repeat(7, minmax(0, 1fr));
        min-width: 0;
        width: 100%;
}

.account-otp__digits input {
        aspect-ratio: 0.82;
        background: rgba(255, 255, 255, 0.72);
        border: 1px solid rgba(17, 17, 17, 0.28);
        border-radius: 0;
        color: #111;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(1.55rem, 3vw, 2.2rem);
        font-weight: 600;
        min-width: 0;
        outline: 0;
        padding: 0;
        text-align: center;
        text-transform: uppercase;
        transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
        width: 100%;
}

.account-otp__digits input:focus {
        background: #111;
        border-color: #111;
        color: #fff;
}

.account-otp__digits input:disabled {
        background: rgba(17, 17, 17, 0.05);
        color: rgba(17, 17, 17, 0.3);
}

.account-otp__status {
        color: rgba(17, 17, 17, 0.5);
        display: flex;
        font-size: 0.53rem;
        font-weight: 700;
        justify-content: space-between;
        letter-spacing: 0.08em;
        margin-top: 0.9rem;
        text-transform: uppercase;
}

.account-otp__submit {
        margin-top: 1.5rem;
        width: 100%;
}

.account-otp__submit:disabled {
        cursor: not-allowed;
        opacity: 0.38;
}

.account-otp__secondary {
        align-items: center;
        border-top: 1px solid rgba(17, 17, 17, 0.16);
        display: grid;
        gap: 0.85rem;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        margin-top: 1.75rem;
        padding-top: 1.25rem;
        position: relative;
        z-index: 1;
}

.account-otp__secondary form:last-child {
        text-align: right;
}

.account-otp__secondary button {
        background: transparent;
        border: 0;
        border-bottom: 1px solid #111;
        border-radius: 0;
        color: #111;
        cursor: pointer;
        font-size: 0.53rem;
        font-weight: 800;
        letter-spacing: 0.11em;
        padding: 0 0 0.25rem;
        text-transform: uppercase;
}

.account-otp__secondary button:disabled {
        border-bottom-color: transparent;
        color: rgba(17, 17, 17, 0.32);
        cursor: not-allowed;
}

.account-otp__secondary > span {
        color: rgba(17, 17, 17, 0.38);
        font-size: 0.48rem;
        font-weight: 700;
        letter-spacing: 0.09em;
        text-align: center;
        text-transform: uppercase;
}

.account-otp__note {
        align-items: flex-start;
        background: #e9e6df;
        display: grid;
        gap: 0.75rem;
        grid-template-columns: 1.5rem minmax(0, 1fr);
        margin-top: 1.75rem;
        padding: 1rem;
        position: relative;
        z-index: 1;
}

.account-otp__note > span {
        align-items: center;
        border: 1px solid rgba(17, 17, 17, 0.34);
        display: flex;
        font-family: "Cormorant Garamond", serif;
        height: 1.5rem;
        justify-content: center;
        width: 1.5rem;
}

.account-otp__note p {
        color: rgba(17, 17, 17, 0.56);
        font-size: 0.58rem;
        line-height: 1.65;
}

.account-otp.is-processing .account-otp__digits,
.account-otp.is-processing .account-otp__secondary {
        opacity: 0.48;
        pointer-events: none;
}

.account-otp.is-expired .account-otp__status {
        color: #8a1717;
}

/* Customer dashboard */
.account-dashboard {
        background: #f3f1ec;
        color: #111;
}

.account-dashboard__hero {
        background: #050505;
        color: #fff;
        min-height: 30rem;
        overflow: hidden;
        padding: clamp(5rem, 10vw, 9rem) clamp(1.5rem, 7vw, 7rem);
        position: relative;
}

.account-dashboard__wordmark {
        color: rgba(255, 255, 255, 0.05);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(11rem, 25vw, 25rem);
        font-weight: 600;
        left: -0.04em;
        letter-spacing: -0.08em;
        line-height: 0.65;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        white-space: nowrap;
}

.account-dashboard__hero-inner {
        align-items: end;
        display: flex;
        gap: 4rem;
        justify-content: space-between;
        margin: 0 auto;
        max-width: 82rem;
        position: relative;
        z-index: 1;
}

.account-dashboard__identity {
        align-items: center;
        display: flex;
        gap: 1.75rem;
}

.account-dashboard__avatar {
        align-items: center;
        border: 1px solid rgba(255, 255, 255, 0.35);
        display: flex;
        flex: 0 0 6.5rem;
        font-family: "Cormorant Garamond", serif;
        font-size: 2.3rem;
        height: 6.5rem;
        justify-content: center;
}

.account-dashboard__identity p {
        color: rgba(255, 255, 255, 0.5);
}

.account-dashboard__identity h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4.5rem, 8vw, 8rem);
        font-weight: 500;
        letter-spacing: -0.07em;
        line-height: 0.82;
        margin-top: 0.8rem;
}

.account-dashboard__intro {
        color: rgba(255, 255, 255, 0.62);
        line-height: 1.8;
        max-width: 35ch;
}

.account-dashboard__notice {
        background: #fff;
        border-bottom: 1px solid rgba(17, 17, 17, 0.14);
        font-size: 0.65rem;
        font-weight: 600;
        letter-spacing: 0.04em;
        padding: 1rem clamp(1.5rem, 7vw, 7rem);
        text-align: center;
}

.account-dashboard__content {
        margin: 0 auto;
        max-width: 96rem;
        padding: clamp(4rem, 8vw, 8rem) clamp(1.5rem, 5vw, 5rem);
}

.account-dashboard__grid {
        display: grid;
        gap: clamp(1.5rem, 3vw, 3.5rem);
        grid-template-columns: 1.05fr 1fr 0.82fr;
}

.account-panel {
        border: 1px solid rgba(17, 17, 17, 0.18);
        display: flex;
        flex-direction: column;
        min-height: 30rem;
        padding: clamp(1.5rem, 3vw, 3rem);
}

.account-panel header {
        align-items: center;
        border-bottom: 1px solid rgba(17, 17, 17, 0.16);
        display: flex;
        gap: 1rem;
        padding-bottom: 1rem;
}

.account-panel header span,
.account-panel header p {
        font-size: 0.55rem;
        font-weight: 800;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.account-panel header span {
        color: rgba(17, 17, 17, 0.38);
}

.account-panel h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.7rem, 4vw, 4rem);
        font-weight: 500;
        letter-spacing: -0.055em;
        line-height: 0.9;
        margin-top: 2rem;
}

.account-panel dl {
        display: grid;
        gap: 0.9rem;
        margin-top: auto;
}

.account-panel dl > div {
        border-top: 1px solid rgba(17, 17, 17, 0.12);
        display: grid;
        gap: 1rem;
        grid-template-columns: 6rem minmax(0, 1fr);
        padding-top: 0.85rem;
}

.account-panel dt {
        color: rgba(17, 17, 17, 0.46);
        font-size: 0.55rem;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
}

.account-panel dd {
        font-size: 0.68rem;
        overflow-wrap: anywhere;
}

.account-panel--cart {
        background: #fff;
}

.account-panel__cart-total {
        align-items: end;
        display: flex;
        gap: 1rem;
        margin: auto 0 1.5rem;
}

.account-panel__cart-total strong {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(6rem, 10vw, 10rem);
        font-weight: 500;
        letter-spacing: -0.08em;
        line-height: 0.6;
}

.account-panel__cart-total span,
.account-panel__subtotal {
        color: rgba(17, 17, 17, 0.52);
        font-size: 0.6rem;
}

.account-panel__subtotal {
        border-top: 1px solid rgba(17, 17, 17, 0.12);
        padding-top: 1rem;
}

.account-panel__subtotal strong {
        color: #111;
        float: right;
}

.account-panel__actions {
        display: grid;
        gap: 0.6rem;
        margin-top: 1.5rem;
}

.account-panel--service {
        background: #111;
        border-color: #111;
        color: #fff;
}

.account-panel--service header {
        border-color: rgba(255, 255, 255, 0.18);
}

.account-panel--service header span {
        color: rgba(255, 255, 255, 0.4);
}

.account-panel--service > p {
        color: rgba(255, 255, 255, 0.6);
        line-height: 1.8;
        margin-top: 1.5rem;
}

.account-panel--service > a {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        color: #fff;
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        margin-top: auto;
        padding-top: 1rem;
        text-transform: uppercase;
}

.account-panel--service > a span {
        float: right;
}

.account-dashboard__footer {
        align-items: center;
        border-top: 1px solid rgba(17, 17, 17, 0.18);
        display: flex;
        justify-content: space-between;
        margin-top: 4rem;
        padding-top: 1.5rem;
}

.account-dashboard__footer a,
.account-dashboard__footer button {
        background: transparent;
        border: 0;
        color: #111;
        cursor: pointer;
        font: inherit;
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.13em;
        text-transform: uppercase;
}

.account-dashboard__footer button {
        text-decoration: underline;
        text-underline-offset: 0.3rem;
}

/* Full checkout */
.checkout-page {
        background: #f3f1ec;
        color: #111;
}

.checkout-page__hero {
        background: #050505;
        color: #fff;
        min-height: 31rem;
        overflow: hidden;
        padding: clamp(5rem, 9vw, 8rem) clamp(1.5rem, 7vw, 7rem);
        position: relative;
}

.checkout-page__wordmark {
        bottom: -0.17em;
        color: rgba(255, 255, 255, 0.05);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(12rem, 27vw, 28rem);
        font-weight: 600;
        left: -0.04em;
        letter-spacing: -0.08em;
        line-height: 0.65;
        position: absolute;
        white-space: nowrap;
}

.checkout-page__hero-inner {
        align-items: end;
        display: grid;
        gap: 3rem;
        grid-template-columns: minmax(8rem, 0.45fr) minmax(24rem, 1fr) minmax(16rem, 0.55fr);
        margin: 0 auto;
        max-width: 82rem;
        position: relative;
        z-index: 1;
}

.checkout-page__crumbs {
        align-items: center;
        display: flex;
        gap: 0.7rem;
}

.checkout-page__crumbs a,
.checkout-page__crumbs span,
.checkout-page__hero-inner > div:nth-child(2) > p {
        color: rgba(255, 255, 255, 0.55);
        font-size: 0.56rem;
        font-weight: 700;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.checkout-page__crumbs a {
        color: #fff;
}

.checkout-page__hero h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(5.5rem, 10vw, 10rem);
        font-weight: 500;
        letter-spacing: -0.075em;
        line-height: 0.68;
        margin-top: 1.5rem;
}

.checkout-page__steps {
        display: grid;
        gap: 0.85rem;
        list-style: none;
}

.checkout-page__steps li {
        align-items: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.14);
        color: rgba(255, 255, 255, 0.34);
        display: flex;
        font-size: 0.56rem;
        font-weight: 700;
        gap: 0.8rem;
        letter-spacing: 0.14em;
        padding-bottom: 0.65rem;
        text-transform: uppercase;
}

.checkout-page__steps li span {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.05rem;
        letter-spacing: 0;
}

.checkout-page__steps li.is-complete,
.checkout-page__steps li.is-current {
        color: #fff;
}

.checkout-page__steps li.is-current {
        border-color: #fff;
}

.checkout-empty-state {
        align-items: flex-start;
        background: #f3f1ec;
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 32rem;
        padding: clamp(5rem, 10vw, 9rem) clamp(1.5rem, 9vw, 9rem);
}

.checkout-empty-state[hidden] {
        display: none;
}

.checkout-empty-state > span,
.checkout-access__heading > p,
.checkout-details__heading > p {
        color: rgba(17, 17, 17, 0.48);
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.checkout-empty-state h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4rem, 8vw, 7rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.82;
        margin-top: 1rem;
}

.checkout-empty-state p {
        color: rgba(17, 17, 17, 0.58);
        line-height: 1.8;
        margin: 1.25rem 0 2rem;
}

.checkout-access {
        margin: 0 auto;
        max-width: 96rem;
        padding: clamp(5rem, 9vw, 9rem) clamp(1.5rem, 5vw, 5rem);
}

.checkout-access__heading {
        align-items: end;
        display: flex;
        gap: 3rem;
        justify-content: space-between;
        margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.checkout-access__heading h2,
.checkout-details__heading h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.8rem, 7vw, 7rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.8;
        max-width: 10ch;
}

.checkout-access__heading h2 {
        margin-left: auto;
}

.checkout-access__choices {
        display: grid;
        gap: clamp(1.25rem, 2.5vw, 2.5rem);
        grid-template-columns: repeat(3, minmax(0, 1fr));
}

.checkout-access__choices article {
        border: 1px solid rgba(17, 17, 17, 0.18);
        display: flex;
        flex-direction: column;
        min-height: 25rem;
        padding: clamp(1.5rem, 3vw, 2.75rem);
        transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.checkout-access__choices article:nth-child(2) {
        background: #111;
        border-color: #111;
        color: #fff;
}

.checkout-access__choices article:hover {
        transform: translateY(-0.4rem);
}

.checkout-access__choices article > span {
        color: rgba(17, 17, 17, 0.44);
        font-size: 0.54rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
}

.checkout-access__choices article:nth-child(2) > span,
.checkout-access__choices article:nth-child(2) > p {
        color: rgba(255, 255, 255, 0.55);
}

.checkout-access__choices h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.8rem, 4vw, 4rem);
        font-weight: 500;
        letter-spacing: -0.055em;
        line-height: 0.9;
        margin-top: 2rem;
}

.checkout-access__choices article > p {
        color: rgba(17, 17, 17, 0.56);
        line-height: 1.8;
        margin-top: 1rem;
        max-width: 34ch;
}

.checkout-access__choices .button {
        margin-top: auto;
        width: 100%;
}

.checkout-access__choices article:nth-child(2) .button {
        background: #fff;
        border-color: #fff;
        color: #111;
}

.checkout-access__signed-in {
        align-items: center;
        background: #111;
        color: #fff;
        display: grid;
        gap: 1.5rem;
        grid-template-columns: auto 1fr auto;
        padding: clamp(1.25rem, 3vw, 2.25rem);
}

.checkout-access__signed-in > span {
        align-items: center;
        border: 1px solid rgba(255, 255, 255, 0.28);
        display: flex;
        font-family: "Cormorant Garamond", serif;
        font-size: 1.5rem;
        height: 4.25rem;
        justify-content: center;
        width: 4.25rem;
}

.checkout-access__signed-in p {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.8rem;
}

.checkout-access__signed-in small {
        color: rgba(255, 255, 255, 0.5);
        display: block;
        font-size: 0.58rem;
        margin-top: 0.25rem;
}

.checkout-access__signed-in a {
        border-bottom: 1px solid rgba(255, 255, 255, 0.6);
        color: #fff;
        font-size: 0.56rem;
        font-weight: 800;
        letter-spacing: 0.13em;
        padding-bottom: 0.25rem;
        text-transform: uppercase;
}

.checkout-details {
        background: #fff;
        padding: clamp(5rem, 9vw, 9rem) clamp(1.5rem, 5vw, 5rem);
        scroll-margin-top: 7rem;
}

.checkout-details[hidden] {
        display: none;
}

.checkout-details__heading {
        align-items: end;
        display: flex;
        justify-content: space-between;
        margin: 0 auto clamp(3rem, 6vw, 5rem);
        max-width: 86rem;
}

.checkout-details__heading h2 {
        margin-left: auto;
}

.checkout-page__layout {
        align-items: start;
        display: grid;
        gap: clamp(2rem, 5vw, 5rem);
        grid-template-columns: minmax(0, 1.3fr) minmax(22rem, 0.7fr);
        margin: 0 auto;
        max-width: 86rem;
}

.checkout-page-form {
        display: grid;
        gap: 3.5rem;
}

.checkout-page-form fieldset {
        border: 0;
        display: grid;
        gap: 1.25rem;
        min-width: 0;
}

.checkout-page-form legend {
        align-items: center;
        border-bottom: 1px solid rgba(17, 17, 17, 0.18);
        display: flex;
        font-family: "Cormorant Garamond", serif;
        font-size: 2rem;
        font-weight: 500;
        gap: 1rem;
        letter-spacing: -0.025em;
        margin-bottom: 0.5rem;
        padding-bottom: 1rem;
        width: 100%;
}

.checkout-page-form legend span {
        color: rgba(17, 17, 17, 0.42);
        font-family: "Manrope", sans-serif;
        font-size: 0.55rem;
        font-weight: 800;
        letter-spacing: 0.12em;
}

.checkout-page-form__grid {
        display: grid;
        gap: 1.25rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
}

.checkout-page-form fieldset[hidden] {
        display: none;
}

.checkout-method-grid {
        display: grid;
        gap: 0.85rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
}

.checkout-method-option {
        cursor: pointer;
        min-width: 0;
        position: relative;
}

.checkout-method-option input {
        height: 1px;
        opacity: 0;
        position: absolute;
        width: 1px;
}

.checkout-method-option > span {
        align-items: center;
        background: #fff;
        border: 1px solid rgba(17, 17, 17, 0.22);
        display: grid;
        gap: 0.3rem 0.85rem;
        grid-template-columns: auto minmax(0, 1fr);
        min-height: 6.25rem;
        padding: 1rem;
        transition: background-color 0.22s ease, border-color 0.22s ease, color 0.22s ease;
}

.checkout-method-option > span > i {
        border: 1px solid currentColor;
        grid-row: 1 / span 2;
        height: 1rem;
        position: relative;
        width: 1rem;
}

.checkout-method-option > span > i::after {
        background: currentColor;
        content: "";
        inset: 0.2rem;
        opacity: 0;
        position: absolute;
        transition: opacity 0.18s ease;
}

.checkout-method-option strong {
        font-size: 0.64rem;
        letter-spacing: 0.04em;
        text-transform: uppercase;
}

.checkout-method-option small {
        color: rgba(17, 17, 17, 0.5);
        font-size: 0.56rem;
        line-height: 1.55;
        transition: color 0.22s ease;
}

.checkout-method-option:hover > span {
        border-color: #111;
}

.checkout-method-option input:checked + span {
        background: #111;
        border-color: #111;
        color: #fff;
}

.checkout-method-option input:checked + span > i::after {
        opacity: 1;
}

.checkout-method-option input:checked + span small {
        color: rgba(255, 255, 255, 0.64);
}

.checkout-method-option input:focus-visible + span {
        outline: 2px solid #111;
        outline-offset: 3px;
}

.checkout-logistics-notice {
        background: rgba(17, 17, 17, 0.045);
        border-left: 2px solid #111;
        color: rgba(17, 17, 17, 0.62);
        font-size: 0.6rem;
        line-height: 1.7;
        padding: 0.9rem 1rem;
}

.checkout-logistics-notice.is-warning {
        background: #241111;
        border-left-color: #241111;
        color: #fff;
}

.checkout-delivery-option {
        align-items: center;
        background: #f3f1ec;
        border: 1px solid #111;
        display: grid;
        gap: 1rem;
        grid-template-columns: auto 1fr auto;
        min-height: 6.5rem;
        padding: 1.25rem;
}

.checkout-delivery-option__marker {
        border: 1px solid #111;
        height: 1rem;
        position: relative;
        width: 1rem;
}

.checkout-delivery-option__marker::after {
        background: #111;
        content: "";
        inset: 0.2rem;
        position: absolute;
}

.checkout-delivery-option strong {
        font-size: 0.68rem;
}

.checkout-delivery-option p {
        color: rgba(17, 17, 17, 0.5);
        font-size: 0.58rem;
        line-height: 1.6;
        margin-top: 0.3rem;
}

.checkout-delivery-option > strong {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.5rem;
        font-weight: 500;
        white-space: nowrap;
}

.checkout-payment-note {
        align-items: start;
        border-bottom: 1px solid rgba(17, 17, 17, 0.16);
        border-top: 1px solid rgba(17, 17, 17, 0.16);
        display: grid;
        gap: 1rem;
        grid-template-columns: 8rem 1fr;
        padding: 1.25rem 0;
}

.checkout-payment-note > span {
        color: rgba(17, 17, 17, 0.48);
        font-size: 0.55rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
}

.checkout-payment-note strong {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.5rem;
        font-weight: 500;
}

.checkout-payment-note p {
        color: rgba(17, 17, 17, 0.52);
        font-size: 0.6rem;
        line-height: 1.7;
        margin-top: 0.35rem;
}

.checkout-page-form__status {
        font-size: 0.62rem;
        font-weight: 600;
        line-height: 1.6;
        min-height: 1em;
}

.checkout-page-form__status.is-error {
        color: #8a1717;
}

.checkout-page-form__status.is-success {
        color: #1f5a36;
}

.checkout-page-form__submit {
        width: 100%;
}

.checkout-page-form__submit:disabled {
        cursor: wait;
        opacity: 0.58;
}

[data-payments-available="0"] .checkout-page-form__submit:disabled {
        cursor: not-allowed;
}

.checkout-page-form__footnote {
        color: rgba(17, 17, 17, 0.46);
        font-size: 0.56rem;
        line-height: 1.6;
        text-align: center;
}

.checkout-order-summary {
        background: #111;
        color: #fff;
        padding: clamp(1.5rem, 3vw, 2.5rem);
        position: sticky;
        top: 7rem;
}

.checkout-order-summary > header {
        align-items: end;
        border-bottom: 1px solid rgba(255, 255, 255, 0.18);
        display: flex;
        justify-content: space-between;
        padding-bottom: 1.5rem;
}

.checkout-order-summary > header p {
        color: rgba(255, 255, 255, 0.45);
        font-size: 0.54rem;
        font-weight: 800;
        letter-spacing: 0.15em;
        text-transform: uppercase;
}

.checkout-order-summary > header h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: 2.7rem;
        font-weight: 500;
        letter-spacing: -0.05em;
        line-height: 0.85;
        margin-top: 0.65rem;
}

.checkout-order-summary > header a {
        color: rgba(255, 255, 255, 0.72);
        font-size: 0.52rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-decoration: underline;
        text-underline-offset: 0.25rem;
        text-transform: uppercase;
}

.checkout-order-summary__items {
        max-height: 25rem;
        overflow-y: auto;
        overscroll-behavior: contain;
}

.checkout-summary-item {
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
        display: grid;
        gap: 1rem;
        grid-template-columns: 5.5rem minmax(0, 1fr);
        padding: 1.25rem 0;
}

.checkout-summary-item__media {
        align-items: center;
        aspect-ratio: 4 / 5;
        background: #eceae5;
        color: #111;
        display: flex;
        font-family: "Cormorant Garamond", serif;
        justify-content: center;
        overflow: hidden;
}

.checkout-summary-item__media img {
        height: 100%;
        object-fit: cover;
        width: 100%;
}

.checkout-summary-item__body {
        display: flex;
        flex-direction: column;
        min-width: 0;
}

.checkout-summary-item__meta,
.checkout-summary-item__selection {
        color: rgba(255, 255, 255, 0.44);
        font-size: 0.5rem;
        font-weight: 700;
        letter-spacing: 0.11em;
        text-transform: uppercase;
}

.checkout-summary-item__title {
        color: #fff;
        font-family: "Cormorant Garamond", serif;
        font-size: 1.35rem;
        font-weight: 500;
        line-height: 1;
        margin-top: 0.45rem;
}

.checkout-summary-item__selection {
        margin-top: 0.5rem;
}

.checkout-summary-item__price {
        font-size: 0.66rem;
        margin-top: auto;
}

.checkout-order-summary__totals {
        display: grid;
        gap: 0.8rem;
        padding: 1.5rem 0;
}

.checkout-order-summary__totals > div {
        align-items: baseline;
        display: flex;
        justify-content: space-between;
}

.checkout-order-summary__totals span {
        color: rgba(255, 255, 255, 0.52);
        font-size: 0.56rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
}

.checkout-order-summary__totals strong {
        font-size: 0.68rem;
}

.checkout-order-summary__grand-total {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        margin-top: 0.4rem;
        padding-top: 1.2rem;
}

.checkout-order-summary__grand-total strong {
        font-family: "Cormorant Garamond", serif;
        font-size: 2.2rem;
        font-weight: 500;
}

.checkout-order-summary__currency {
        color: rgba(255, 255, 255, 0.44);
        font-size: 0.52rem;
        line-height: 1.6;
}

.checkout-order-summary__assurance {
        border-top: 1px solid rgba(255, 255, 255, 0.18);
        display: grid;
        gap: 0.6rem;
        margin-top: 1.5rem;
        padding-top: 1.25rem;
}

.checkout-order-summary__assurance p {
        color: rgba(255, 255, 255, 0.5);
        font-size: 0.52rem;
        line-height: 1.5;
}

.checkout-order-summary__assurance span {
        color: #fff;
        font-weight: 800;
        margin-right: 0.5rem;
}

/* Wishlist controls and customer profile additions */
.product-card__wishlist {
        align-items: center;
        background: rgba(255, 255, 255, 0.94);
        border: 1px solid rgba(17, 17, 17, 0.22);
        color: #111;
        cursor: pointer;
        display: flex;
        height: 2.75rem;
        justify-content: center;
        position: absolute;
        right: 0.75rem;
        top: 0.75rem;
        transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
        width: 2.75rem;
        z-index: 5;
}

.product-card__wishlist::after {
        background: #111;
        color: #fff;
        content: attr(data-tooltip);
        font-size: 0.5rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        opacity: 0;
        padding: 0.65rem 0.75rem;
        pointer-events: none;
        position: absolute;
        right: calc(100% + 0.55rem);
        text-transform: uppercase;
        top: 50%;
        transform: translate(0.4rem, -50%);
        transition: opacity 0.2s ease, transform 0.2s ease;
        white-space: nowrap;
}

.product-card__wishlist:hover,
.product-card__wishlist:focus-visible,
.product-card__wishlist.is-wishlisted {
        background: #111;
        border-color: #111;
        color: #fff;
        transform: translateY(-0.1rem);
}

.product-card__wishlist:hover::after,
.product-card__wishlist:focus-visible::after {
        opacity: 1;
        transform: translate(0, -50%);
}

.product-card__wishlist:disabled {
        cursor: wait;
        opacity: 0.55;
}

.product-card__wishlist svg,
.product-wishlist svg,
.checkout-saved-profile svg {
        fill: none;
        height: 1.15rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.55;
        width: 1.15rem;
}

.product-card__wishlist.is-wishlisted svg,
.product-wishlist.is-wishlisted svg {
        fill: currentColor;
}

.product-wishlist {
        cursor: pointer;
        gap: 0.75rem;
        grid-column: 1 / -1;
        justify-content: space-between;
        width: 100%;
}

.product-wishlist.is-wishlisted {
        background: #111;
        color: #fff;
}

.wishlist-auth-modal__dialog {
        background: #f7f6f2;
        border: 1px solid rgba(17, 17, 17, 0.18);
        color: #111;
        max-width: 39rem;
        padding: clamp(2rem, 5vw, 4rem);
        position: relative;
        width: calc(100% - 2rem);
}

.wishlist-auth-modal__dialog > p:first-of-type {
        font-size: 0.55rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.wishlist-auth-modal__dialog h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.5rem, 7vw, 5.5rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.82;
        margin-top: 1.75rem;
}

.wishlist-auth-modal__dialog > p:nth-of-type(2) {
        color: rgba(17, 17, 17, 0.6);
        line-height: 1.8;
        margin-top: 1.5rem;
        max-width: 42ch;
}

.wishlist-auth-modal__dialog .commerce-modal__close {
        position: absolute;
        right: 1.25rem;
        top: 1.25rem;
}

.wishlist-auth-modal__benefits {
        border-bottom: 1px solid rgba(17, 17, 17, 0.16);
        border-top: 1px solid rgba(17, 17, 17, 0.16);
        display: grid;
        gap: 0.7rem;
        margin: 2rem 0;
        padding: 1.25rem 0;
}

.wishlist-auth-modal__benefits span {
        align-items: center;
        display: flex;
        font-size: 0.57rem;
        font-weight: 700;
        gap: 0.75rem;
        letter-spacing: 0.1em;
        text-transform: uppercase;
}

.wishlist-auth-modal__benefits span::before {
        background: #111;
        content: "";
        height: 0.25rem;
        width: 0.25rem;
}

.wishlist-auth-modal__dialog > .button {
        width: 100%;
}

.wishlist-page {
        background: #f3f1ec;
        color: #111;
}

.wishlist-page__hero {
        background: #050505;
        color: #fff;
        min-height: 30rem;
        overflow: hidden;
        padding: clamp(5rem, 9vw, 8rem) clamp(1.5rem, 7vw, 7rem);
        position: relative;
}

.wishlist-page__wordmark {
        color: rgba(255, 255, 255, 0.045);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(13rem, 29vw, 29rem);
        font-weight: 600;
        left: -0.04em;
        letter-spacing: -0.08em;
        line-height: 0.65;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        white-space: nowrap;
}

.wishlist-page__hero-inner {
        align-items: end;
        display: flex;
        justify-content: space-between;
        margin: 0 auto;
        max-width: 88rem;
        position: relative;
        z-index: 1;
}

.wishlist-page__hero-inner p,
.wishlist-page__header p {
        font-size: 0.56rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.wishlist-page__hero h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(5rem, 9vw, 8.5rem);
        font-weight: 500;
        letter-spacing: -0.07em;
        line-height: 0.8;
        margin-top: 1.25rem;
}

.wishlist-page__count {
        align-items: end;
        display: flex;
        gap: 1rem;
}

.wishlist-page__count strong {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(6rem, 10vw, 10rem);
        font-weight: 500;
        letter-spacing: -0.08em;
        line-height: 0.62;
}

.wishlist-page__count span {
        color: rgba(255, 255, 255, 0.52);
        font-size: 0.55rem;
        letter-spacing: 0.12em;
        text-transform: uppercase;
}

.wishlist-page__collection {
        margin: 0 auto;
        max-width: 96rem;
        padding: clamp(4.5rem, 8vw, 8rem) clamp(1.5rem, 5vw, 5rem);
}

.wishlist-page__header {
        align-items: end;
        display: flex;
        justify-content: space-between;
}

.wishlist-page__header h2,
.wishlist-page__empty h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3.5rem, 6vw, 6rem);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 0.82;
        margin-top: 1rem;
}

.wishlist-page__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: clamp(3rem, 6vw, 6rem);
}

.wishlist-page__grid .product-card {
        transition: background-color 0.45s ease, border-color 0.45s ease, color 0.45s ease, opacity 0.3s ease, transform 0.45s cubic-bezier(0.2, 0.65, 0.3, 1);
}

.wishlist-page__grid .product-card.is-removing {
        opacity: 0;
        transform: scale(0.97);
}

.wishlist-page__notice {
        border: 1px solid rgba(17, 17, 17, 0.18);
        font-size: 0.65rem;
        margin-top: 2rem;
        padding: 1rem;
}

.wishlist-page__empty {
        align-items: flex-start;
        border: 1px solid rgba(17, 17, 17, 0.18);
        display: flex;
        flex-direction: column;
        margin-top: 3rem;
        min-height: 27rem;
        padding: clamp(2rem, 5vw, 4rem);
}

.wishlist-page__empty[hidden],
.wishlist-page__grid[hidden] {
        display: none;
}

.wishlist-page__empty > span {
        color: rgba(17, 17, 17, 0.13);
        font-family: "Cormorant Garamond", serif;
        font-size: 8rem;
        line-height: 0.75;
}

.wishlist-page__empty > p {
        color: rgba(17, 17, 17, 0.58);
        line-height: 1.8;
        margin: 1.5rem 0 2rem;
        max-width: 42ch;
}

.wishlist-page__empty .button {
        margin-top: auto;
}

.account-panel__link {
        border-top: 1px solid rgba(17, 17, 17, 0.14);
        color: #111;
        font-size: 0.56rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        margin-top: 1.5rem;
        padding-top: 1rem;
        text-transform: uppercase;
}

.account-panel__link span {
        float: right;
}

.account-panel--wishlist {
        background: #111;
        border-color: #111;
        color: #fff;
}

.account-panel--wishlist header {
        border-color: rgba(255, 255, 255, 0.2);
}

.account-panel--wishlist header span {
        color: rgba(255, 255, 255, 0.4);
}

.account-panel__wishlist-total {
        align-items: end;
        display: flex;
        gap: 1rem;
        margin: 2rem 0 1.5rem;
}

.account-panel__wishlist-total strong {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(5rem, 8vw, 8rem);
        font-weight: 500;
        letter-spacing: -0.08em;
        line-height: 0.62;
}

.account-panel__wishlist-total span,
.account-panel__empty-copy {
        color: rgba(255, 255, 255, 0.55);
        font-size: 0.58rem;
        line-height: 1.7;
}

.account-wishlist-preview {
        border-top: 1px solid rgba(255, 255, 255, 0.18);
        display: grid;
        gap: 0.65rem;
        margin-bottom: 1.25rem;
        padding-top: 1rem;
}

.account-wishlist-preview a {
        align-items: center;
        color: #fff;
        display: grid;
        font-size: 0.58rem;
        gap: 0.75rem;
        grid-template-columns: 2.6rem minmax(0, 1fr);
}

.account-wishlist-preview img {
        aspect-ratio: 1;
        height: 2.6rem;
        object-fit: cover;
        width: 2.6rem;
}

.account-panel--wishlist > .button {
        margin-top: auto;
}

.account-profile-settings {
        border: 1px solid rgba(17, 17, 17, 0.18);
        margin-top: clamp(2rem, 4vw, 4rem);
}

.account-profile-settings > summary {
        align-items: center;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        list-style: none;
        padding: 1.5rem clamp(1.25rem, 3vw, 2.5rem);
}

.account-profile-settings > summary::-webkit-details-marker {
        display: none;
}

.account-profile-settings > summary span,
.account-profile-settings > summary em {
        font-size: 0.57rem;
        font-style: normal;
        font-weight: 800;
        letter-spacing: 0.13em;
        text-transform: uppercase;
}

.account-profile-settings > summary b {
        color: rgba(17, 17, 17, 0.38);
        margin-right: 1rem;
}

.account-profile-settings > summary em::after {
        content: "+";
        margin-left: 1rem;
}

.account-profile-settings[open] > summary {
        border-bottom: 1px solid rgba(17, 17, 17, 0.18);
}

.account-profile-settings[open] > summary em::after {
        content: "−";
}

.account-profile-settings__body {
        background: #fff;
        padding: clamp(1.5rem, 4vw, 4rem);
}

.account-profile-settings__body > header {
        align-items: end;
        display: flex;
        gap: 3rem;
        justify-content: space-between;
        margin-bottom: 3rem;
}

.account-profile-settings__body > header > p {
        color: rgba(17, 17, 17, 0.58);
        line-height: 1.8;
        max-width: 42ch;
}

.account-profile-settings__body > header div > p {
        font-size: 0.55rem;
        font-weight: 800;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.account-profile-settings__body h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3rem, 5vw, 5rem);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 0.84;
        margin-top: 1rem;
}

.account-profile-form {
        display: grid;
        gap: 3rem;
}

.account-profile-form fieldset {
        border: 0;
        display: grid;
        gap: 1.25rem;
        margin: 0;
        min-width: 0;
        padding: 0;
}

.account-profile-form legend {
        border-bottom: 1px solid rgba(17, 17, 17, 0.16);
        font-family: "Cormorant Garamond", serif;
        font-size: 2rem;
        margin-bottom: 1.5rem;
        padding-bottom: 0.8rem;
        width: 100%;
}

.account-profile-form legend span {
        color: rgba(17, 17, 17, 0.4);
        font-family: "Manrope", sans-serif;
        font-size: 0.55rem;
        font-weight: 800;
        margin-right: 0.75rem;
}

.account-profile-form__grid {
        display: grid;
        gap: 1rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-profile-form input[readonly] {
        background: #f3f1ec;
        color: rgba(17, 17, 17, 0.55);
}

.account-profile-form__actions {
        align-items: center;
        border-top: 1px solid rgba(17, 17, 17, 0.16);
        display: flex;
        gap: 2rem;
        justify-content: space-between;
        padding-top: 1.5rem;
}

.account-profile-form__actions p {
        color: rgba(17, 17, 17, 0.55);
        font-size: 0.6rem;
        line-height: 1.7;
        max-width: 45ch;
}

.account-profile-form__actions .button {
        min-width: 17rem;
}

.checkout-saved-profile {
        align-items: center;
        background: #fff;
        border: 1px solid rgba(17, 17, 17, 0.18);
        display: grid;
        gap: 1.5rem;
        grid-template-columns: auto minmax(0, 1fr) auto;
        margin: 0 auto clamp(2rem, 4vw, 4rem);
        max-width: 88rem;
        padding: 1.25rem;
}

.checkout-saved-profile__mark {
        align-items: center;
        background: #111;
        color: #fff;
        display: flex;
        font-size: 0.58rem;
        font-weight: 800;
        height: 4rem;
        justify-content: center;
        width: 4rem;
}

.checkout-saved-profile p {
        font-size: 0.52rem;
        font-weight: 800;
        letter-spacing: 0.15em;
        text-transform: uppercase;
}

.checkout-saved-profile h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.85rem;
        font-weight: 500;
        margin-top: 0.25rem;
}

.checkout-saved-profile address {
        color: rgba(17, 17, 17, 0.56);
        font-size: 0.6rem;
        font-style: normal;
        line-height: 1.6;
        margin-top: 0.25rem;
}

.checkout-saved-profile .button {
        gap: 0.75rem;
        white-space: nowrap;
}

.checkout-saved-profile .button.is-applied {
        background: #fff;
        color: #111;
}

.checkout-saved-profile--empty {
        grid-template-columns: minmax(0, 1fr) auto;
}

.checkout-page__notice {
        align-items: center;
        background: #111;
        color: #fff;
        display: flex;
        gap: 1rem;
        margin: 0;
        padding: 1rem clamp(1.5rem, 5vw, 5rem);
}

.checkout-page__notice > span {
        align-items: center;
        border: 1px solid currentColor;
        display: inline-flex;
        flex: 0 0 1.75rem;
        font-size: 0.65rem;
        font-weight: 800;
        height: 1.75rem;
        justify-content: center;
}

.checkout-page__notice p {
        font-size: 0.65rem;
        line-height: 1.6;
}

.checkout-page__notice.is-error {
        background: #241111;
}

.checkout-saved-profile__applied {
        align-items: center;
        border: 1px solid rgba(17, 17, 17, 0.18);
        display: inline-flex;
        gap: 0.65rem;
        min-height: 2.8rem;
        padding: 0 1rem;
}

.checkout-saved-profile__applied svg {
        fill: none;
        height: 1rem;
        stroke: currentColor;
        stroke-linecap: square;
        stroke-linejoin: miter;
        stroke-width: 1.8;
        width: 1rem;
}

.checkout-saved-profile__applied span {
        font-size: 0.55rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
}

.checkout-card-types {
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
        margin-top: 1rem;
}

.checkout-card-types span {
        border: 1px solid rgba(17, 17, 17, 0.24);
        color: #111;
        font-size: 0.46rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        line-height: 1;
        padding: 0.45rem 0.55rem;
}

.checkout-security-notice {
        align-items: center;
        background: #f3f1ec;
        display: grid;
        gap: 0.9rem;
        grid-template-columns: auto minmax(0, 1fr);
        padding: 1rem;
}

.checkout-security-notice svg {
        fill: none;
        height: 1.35rem;
        stroke: #111;
        stroke-linecap: square;
        stroke-linejoin: miter;
        stroke-width: 1.5;
        width: 1.35rem;
}

.checkout-security-notice p {
        color: rgba(17, 17, 17, 0.58);
        font-size: 0.58rem;
        line-height: 1.7;
}

.checkout-security-notice strong {
        color: #111;
}

.checkout-page-form__submit .checkout-paystack-icon {
        fill: none;
        height: 1rem;
        margin-left: 0.65rem;
        stroke: currentColor;
        stroke-linecap: square;
        stroke-linejoin: miter;
        stroke-width: 1.5;
        width: 1rem;
}

.order-confirmation-page,
.track-order-page {
        background: #f7f6f2;
        overflow: hidden;
}

.order-confirmation-hero {
        background: #090909;
        color: #fff;
        min-height: 38rem;
        overflow: hidden;
        padding: clamp(5rem, 9vw, 8rem) clamp(1.5rem, 5vw, 5rem);
        position: relative;
}

.order-confirmation-hero__wordmark,
.track-order-hero__wordmark {
        color: rgba(255, 255, 255, 0.035);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(11rem, 24vw, 25rem);
        font-weight: 500;
        left: -1.5rem;
        letter-spacing: -0.08em;
        line-height: 0.7;
        pointer-events: none;
        position: absolute;
        text-transform: uppercase;
        top: 45%;
        transform: translateY(-50%);
        white-space: nowrap;
}

.order-confirmation-hero__inner {
        align-items: center;
        display: grid;
        gap: clamp(2rem, 5vw, 5rem);
        grid-template-columns: minmax(8rem, 0.35fr) minmax(24rem, 1.2fr) minmax(17rem, 0.55fr);
        margin: 0 auto;
        max-width: 86rem;
        min-height: 22rem;
        position: relative;
        z-index: 1;
}

.order-confirmation-hero__mark {
        align-items: center;
        border: 1px solid rgba(255, 255, 255, 0.36);
        display: flex;
        height: clamp(7rem, 10vw, 10rem);
        justify-content: center;
        width: clamp(7rem, 10vw, 10rem);
}

.order-confirmation-hero__mark svg {
        fill: none;
        height: 42%;
        stroke: #fff;
        stroke-linecap: square;
        stroke-linejoin: miter;
        stroke-width: 1.4;
        width: 42%;
}

.order-confirmation-hero__inner > div:nth-child(2) > p:first-child,
.order-confirmation-details__heading > div > p,
.track-order-hero__inner > p:first-child,
.track-order-lookup__intro > p,
.order-confirmation-summary__delivery > span,
.order-confirmation-hero__reference > span {
        font-size: 0.55rem;
        font-weight: 800;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.order-confirmation-hero h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(5.5rem, 9vw, 9rem);
        font-weight: 400;
        letter-spacing: -0.065em;
        line-height: 0.72;
        margin: 1.5rem 0 2rem;
}

.order-confirmation-hero__inner > div:nth-child(2) > p:last-child {
        color: rgba(255, 255, 255, 0.62);
        font-size: 0.7rem;
        line-height: 1.8;
        max-width: 34rem;
}

.order-confirmation-hero__inner > div:nth-child(2) > p strong {
        color: #fff;
        font-weight: 600;
}

.order-confirmation-hero__reference {
        border-bottom: 1px solid rgba(255, 255, 255, 0.25);
        border-top: 1px solid rgba(255, 255, 255, 0.25);
        display: grid;
        gap: 0.75rem;
        padding: 1.5rem 0;
}

.order-confirmation-hero__reference > span,
.order-confirmation-hero__reference small {
        color: rgba(255, 255, 255, 0.5);
}

.order-confirmation-hero__reference strong {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2rem, 3vw, 3rem);
        font-weight: 500;
        letter-spacing: -0.03em;
}

.order-confirmation-hero__reference small {
        font-size: 0.55rem;
        line-height: 1.6;
}

.order-confirmation-details {
        padding: clamp(5rem, 9vw, 9rem) clamp(1.5rem, 5vw, 5rem);
}

.order-confirmation-details__heading {
        align-items: end;
        display: flex;
        gap: 3rem;
        justify-content: space-between;
        margin: 0 auto clamp(3rem, 6vw, 5rem);
        max-width: 86rem;
}

.order-confirmation-details__heading h2,
.track-order-lookup__intro h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4rem, 7vw, 7rem);
        font-weight: 400;
        letter-spacing: -0.06em;
        line-height: 0.82;
        margin-top: 1rem;
}

.order-confirmation-details__heading > p {
        color: rgba(17, 17, 17, 0.52);
        font-size: 0.65rem;
        line-height: 1.8;
        max-width: 24rem;
}

.order-confirmation-details__layout {
        align-items: start;
        display: grid;
        gap: clamp(2rem, 5vw, 5rem);
        grid-template-columns: minmax(0, 1.25fr) minmax(22rem, 0.75fr);
        margin: 0 auto;
        max-width: 86rem;
}

.order-confirmation-items {
        border-top: 1px solid #111;
}

.order-confirmation-item {
        align-items: center;
        border-bottom: 1px solid rgba(17, 17, 17, 0.16);
        display: grid;
        gap: 1.25rem;
        grid-template-columns: 6.5rem minmax(0, 1fr) auto;
        padding: 1.25rem 0;
}

.order-confirmation-item__media {
        align-items: center;
        background: #eceae5;
        display: flex;
        height: 7.5rem;
        justify-content: center;
        overflow: hidden;
}

.order-confirmation-item__media img {
        height: 100%;
        object-fit: cover;
        width: 100%;
}

.order-confirmation-item__media span {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.5rem;
}

.order-confirmation-item__body {
        display: grid;
        gap: 0.45rem;
}

.order-confirmation-item__body p,
.order-confirmation-item__body span {
        color: rgba(17, 17, 17, 0.48);
        font-size: 0.52rem;
        letter-spacing: 0.1em;
        text-transform: uppercase;
}

.order-confirmation-item__body > a {
        color: #111;
        font-family: "Cormorant Garamond", serif;
        font-size: 1.8rem;
        letter-spacing: -0.025em;
        text-decoration: none;
}

.order-confirmation-item > strong {
        font-size: 0.7rem;
        white-space: nowrap;
}

.order-confirmation-summary {
        background: #111;
        color: #fff;
        padding: clamp(1.5rem, 3vw, 2.5rem);
        position: sticky;
        top: 8rem;
}

.order-confirmation-summary__total {
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        display: grid;
        gap: 0.5rem;
        padding-bottom: 1.5rem;
}

.order-confirmation-summary__total span,
.order-confirmation-summary__total small,
.order-confirmation-summary dt {
        color: rgba(255, 255, 255, 0.48);
        font-size: 0.5rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
}

.order-confirmation-summary__total strong {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3rem, 5vw, 4.5rem);
        font-weight: 400;
        letter-spacing: -0.05em;
}

.order-confirmation-summary dl {
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        padding: 1rem 0;
}

.order-confirmation-summary dl > div {
        align-items: baseline;
        display: flex;
        gap: 1rem;
        justify-content: space-between;
        padding: 0.55rem 0;
}

.order-confirmation-summary dd {
        font-size: 0.62rem;
        margin: 0;
        text-align: right;
}

.order-confirmation-summary__delivery {
        display: grid;
        gap: 0.65rem;
        padding: 1.5rem 0;
}

.order-confirmation-summary__delivery > span {
        color: rgba(255, 255, 255, 0.48);
}

.order-confirmation-summary__delivery strong {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.8rem;
        font-weight: 500;
}

.order-confirmation-summary__delivery address {
        color: rgba(255, 255, 255, 0.58);
        font-size: 0.58rem;
        font-style: normal;
        line-height: 1.7;
}

.order-confirmation-summary__actions {
        display: grid;
        gap: 0.65rem;
}

.order-confirmation-missing {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin: 0 auto;
        max-width: 86rem;
        min-height: 42rem;
        padding: 6rem clamp(1.5rem, 5vw, 5rem);
}

.order-confirmation-missing > p:first-child {
        font-size: 0.55rem;
        font-weight: 800;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.order-confirmation-missing h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(5rem, 10vw, 9rem);
        font-weight: 400;
        letter-spacing: -0.065em;
        line-height: 0.75;
        margin: 2rem 0;
}

.order-confirmation-missing > p:nth-child(3) {
        color: rgba(17, 17, 17, 0.56);
        font-size: 0.68rem;
        line-height: 1.8;
        max-width: 34rem;
}

.order-confirmation-missing > div {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        margin-top: 2rem;
}

.track-order-hero {
        min-height: 38rem;
        overflow: hidden;
        padding: clamp(5rem, 9vw, 8rem) clamp(1.5rem, 5vw, 5rem);
        position: relative;
}

.track-order-hero__wordmark {
        color: rgba(17, 17, 17, 0.035);
}

.track-order-hero__inner {
        display: grid;
        gap: 1.5rem;
        margin: 0 auto;
        max-width: 86rem;
        min-height: 22rem;
        position: relative;
        z-index: 1;
}

.track-order-hero h1 {
        align-self: center;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(6rem, 12vw, 12rem);
        font-weight: 400;
        letter-spacing: -0.075em;
        line-height: 0.68;
}

.track-order-hero__inner > p:last-child {
        align-self: end;
        color: rgba(17, 17, 17, 0.56);
        font-size: 0.68rem;
        line-height: 1.8;
        margin-left: auto;
        max-width: 28rem;
}

.track-order-lookup {
        background: #111;
        color: #fff;
        display: grid;
        gap: clamp(2.5rem, 6vw, 5rem);
        grid-template-columns: minmax(15rem, 0.55fr) minmax(24rem, 1fr);
        padding: clamp(5rem, 9vw, 9rem) max(clamp(1.5rem, 5vw, 5rem), calc((100vw - 86rem) / 2));
}

.track-order-lookup__intro h2 {
        font-size: clamp(4rem, 7vw, 6.5rem);
}

.track-order-form {
        align-self: start;
        display: grid;
        gap: 0.8rem;
}

.track-order-form > label {
        color: rgba(255, 255, 255, 0.52);
        font-size: 0.52rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
}

.track-order-form > div {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
}

.track-order-form input {
        background: transparent;
        border: 1px solid rgba(255, 255, 255, 0.5);
        border-right: 0;
        color: #fff;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(1.8rem, 3vw, 2.6rem);
        min-height: 4.25rem;
        outline: none;
        padding: 0 1.25rem;
        text-transform: uppercase;
        width: 100%;
}

.track-order-form input:focus {
        border-color: #fff;
}

.track-order-form .button {
        background: #fff;
        border-color: #fff;
        color: #111;
        min-width: 10rem;
}

.track-order-form > small {
        color: rgba(255, 255, 255, 0.42);
        font-size: 0.52rem;
        line-height: 1.6;
}

.track-order-preview,
.track-order-lookup__note {
        grid-column: 2;
}

.track-order-preview {
        border: 1px solid rgba(255, 255, 255, 0.24);
}

.track-order-preview > header {
        align-items: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        display: flex;
        gap: 2rem;
        justify-content: space-between;
        padding: 1.5rem;
}

.track-order-preview > header p,
.track-order-preview > header > span {
        color: rgba(255, 255, 255, 0.46);
        font-size: 0.5rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
}

.track-order-preview > header h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: 2.3rem;
        font-weight: 500;
        letter-spacing: -0.03em;
        margin-top: 0.5rem;
}

.track-order-preview ol {
        list-style: none;
        margin: 0;
        padding: 0;
}

.track-order-preview li {
        display: grid;
        gap: 1rem;
        grid-template-columns: 2rem minmax(0, 1fr);
        opacity: 0.45;
        padding: 1.5rem;
        position: relative;
}

.track-order-preview li + li {
        border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.track-order-preview li.is-active {
        opacity: 1;
}

.track-order-preview li.is-complete {
        opacity: 0.78;
}

.track-order-preview li.is-complete > span {
        font-size: 0;
}

.track-order-preview li.is-complete > span::after {
        content: "\2713";
        font-size: 0.65rem;
}

.track-order-preview li > span {
        font-size: 0.5rem;
        font-weight: 800;
        letter-spacing: 0.1em;
}

.track-order-preview li strong {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.5rem;
        font-weight: 500;
}

.track-order-preview li p {
        color: rgba(255, 255, 255, 0.56);
        font-size: 0.56rem;
        line-height: 1.7;
        margin-top: 0.4rem;
}

.track-order-substeps {
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem;
        margin-top: 0.85rem;
}

.track-order-substeps span {
        border: 1px solid rgba(255, 255, 255, 0.24);
        color: rgba(255, 255, 255, 0.45);
        font-size: 0.46rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        padding: 0.45rem 0.55rem;
        text-transform: uppercase;
}

.track-order-substeps span.is-active,
.track-order-substeps span.is-complete {
        background: #fff;
        border-color: #fff;
        color: #111;
}

.track-order-payment-state {
        align-items: start;
        background: rgba(255, 255, 255, 0.08);
        border-bottom: 1px solid rgba(255, 255, 255, 0.14);
        display: grid;
        gap: 0.8rem;
        grid-template-columns: 1.75rem minmax(0, 1fr);
        padding: 1rem 1.5rem;
}

.track-order-payment-state > span {
        align-items: center;
        border: 1px solid rgba(255, 255, 255, 0.38);
        display: flex;
        font-size: 0.65rem;
        height: 1.75rem;
        justify-content: center;
        width: 1.75rem;
}

.track-order-payment-state p {
        color: rgba(255, 255, 255, 0.62);
        font-size: 0.56rem;
        line-height: 1.7;
}

.track-order-payment-state.is-cancelled {
        background: #fff;
        color: #111;
}

.track-order-payment-state.is-cancelled > span {
        border-color: rgba(17, 17, 17, 0.4);
}

.track-order-payment-state.is-cancelled p {
        color: rgba(17, 17, 17, 0.62);
}

.track-order-preview > footer {
        align-items: center;
        background: #fff;
        color: #111;
        display: flex;
        gap: 2rem;
        justify-content: space-between;
        padding: 1.25rem 1.5rem;
}

.track-order-preview > footer p {
        color: rgba(17, 17, 17, 0.54);
        font-size: 0.52rem;
        line-height: 1.6;
        max-width: 24rem;
}

.track-order-preview > footer a {
        color: #111;
        font-size: 0.52rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-decoration: none;
        text-transform: uppercase;
}

.track-order-lookup__note {
        align-items: center;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        display: grid;
        gap: 1rem;
        grid-template-columns: 2rem minmax(0, 1fr);
        padding-top: 1.25rem;
}

.track-order-lookup__note span {
        font-size: 0.5rem;
        font-weight: 800;
}

.track-order-lookup__note p {
        color: rgba(255, 255, 255, 0.5);
        font-size: 0.58rem;
        line-height: 1.7;
}

.track-order-message {
        align-items: start;
        border: 1px solid rgba(255, 255, 255, 0.24);
        display: grid;
        gap: 1rem;
        grid-column: 2;
        grid-template-columns: 2rem minmax(0, 1fr);
        padding: 1.5rem;
}

.track-order-message > span {
        align-items: center;
        border: 1px solid rgba(255, 255, 255, 0.36);
        display: flex;
        font-size: 0.5rem;
        font-weight: 800;
        height: 2rem;
        justify-content: center;
        width: 2rem;
}

.track-order-message strong {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.5rem;
        font-weight: 500;
}

.track-order-message p {
        color: rgba(255, 255, 255, 0.54);
        font-size: 0.56rem;
        line-height: 1.7;
        margin-top: 0.4rem;
}

/* Global product search */
body.search-open {
        overflow: hidden;
}

.site-search {
        inset: 0;
        opacity: 0;
        pointer-events: none;
        position: fixed;
        transition: opacity 0.35s ease, visibility 0s linear 0.35s;
        visibility: hidden;
        z-index: 400;
}

.site-search.is-open {
        opacity: 1;
        pointer-events: auto;
        transition-delay: 0s;
        visibility: visible;
}

.site-search__panel {
        background: #f4f2ed;
        color: #111;
        display: grid;
        grid-template-rows: auto minmax(0, 1fr) auto;
        height: 100%;
        min-height: 100dvh;
        overflow-x: hidden;
        overflow-y: auto;
        position: relative;
        transform: translateY(-1.5rem);
        transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.25, 1);
}

.site-search.is-open .site-search__panel {
        transform: translateY(0);
}

.site-search__topbar {
        align-items: center;
        background: rgba(244, 242, 237, 0.94);
        border-bottom: 1px solid rgba(17, 17, 17, 0.16);
        display: grid;
        gap: 2rem;
        grid-template-columns: minmax(10rem, 1fr) auto minmax(10rem, 1fr);
        padding: 1rem clamp(1.25rem, 3vw, 3rem);
        position: sticky;
        top: 0;
        z-index: 4;
}

.site-search__brand {
        display: block;
        width: min(12rem, 100%);
}

.site-search__brand img {
        display: block;
        height: auto;
        width: 100%;
}

.site-search__topbar > p,
.site-search__footer,
.site-search__meta {
        font-size: 0.56rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.site-search__topbar > p {
        color: rgba(17, 17, 17, 0.5);
}

.site-search > .site-search__close {
        align-items: center;
        background: #111;
        border: 1px solid #111;
        border-radius: 0;
        color: #fff;
        cursor: pointer;
        display: inline-flex;
        height: 3rem;
        justify-content: center;
        position: fixed;
        right: clamp(1.25rem, 3vw, 3rem);
        top: 1rem;
        transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
        width: 3rem;
        opacity: 1;
        visibility: visible;
        z-index: 1000;
}

.site-search > .site-search__close:hover,
.site-search > .site-search__close:focus-visible {
        background: transparent;
        color: #111;
        transform: rotate(4deg);
}

.site-search > .site-search__close svg,
.site-search__form > svg {
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.6;
}

.site-search > .site-search__close svg {
        height: 1.2rem;
        width: 1.2rem;
}

.site-search__body {
        margin: 0 auto;
        max-width: 1400px;
        padding: clamp(3.5rem, 7vw, 7rem) clamp(1.25rem, 3vw, 3rem) clamp(4rem, 8vw, 8rem);
        position: relative;
        width: 100%;
}

.site-search__wordmark {
        color: transparent;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(11rem, 24vw, 24rem);
        font-weight: 500;
        left: 50%;
        letter-spacing: -0.08em;
        line-height: 0.72;
        opacity: 0.22;
        pointer-events: none;
        position: absolute;
        top: 0.18em;
        transform: translateX(-50%);
        white-space: nowrap;
        -webkit-text-stroke: 1px rgba(17, 17, 17, 0.28);
}

.site-search__intro {
        display: grid;
        gap: clamp(1.5rem, 3vw, 3rem);
        grid-template-columns: minmax(9rem, 0.25fr) minmax(0, 1fr);
        position: relative;
        z-index: 1;
}

.site-search__intro > p {
        color: rgba(17, 17, 17, 0.52);
        font-size: 0.6rem;
        font-weight: 800;
        letter-spacing: 0.2em;
        padding-top: 0.8rem;
        text-transform: uppercase;
}

.site-search__intro h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4rem, 7.5vw, 8rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.82;
        max-width: 9ch;
}

.site-search__form {
        align-items: center;
        border-bottom: 1px solid #111;
        display: grid;
        gap: clamp(0.8rem, 2vw, 1.5rem);
        grid-template-columns: auto minmax(0, 1fr) auto;
        margin-top: clamp(3rem, 7vw, 7rem);
        position: relative;
        z-index: 2;
}

.site-search__form > svg {
        height: clamp(1.6rem, 2.5vw, 2.4rem);
        width: clamp(1.6rem, 2.5vw, 2.4rem);
}

.site-search__form input {
        appearance: none;
        background: transparent;
        border: 0;
        border-radius: 0;
        color: #111;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.8rem, 6vw, 6.25rem);
        font-weight: 500;
        letter-spacing: -0.045em;
        line-height: 1;
        min-width: 0;
        outline: 0;
        padding: 0.35em 0;
        width: 100%;
}

.site-search__form input::-webkit-search-cancel-button {
        display: none;
}

.site-search__form input::placeholder {
        color: rgba(17, 17, 17, 0.25);
        opacity: 1;
}

.site-search__clear {
        background: transparent;
        border: 0;
        border-bottom: 1px solid currentColor;
        border-radius: 0;
        color: #111;
        cursor: pointer;
        font-size: 0.55rem;
        font-weight: 800;
        letter-spacing: 0.16em;
        padding: 0.35rem 0;
        text-transform: uppercase;
}

.site-search__clear[hidden],
.site-search__starter[hidden] {
        display: none;
}

.site-search__meta {
        align-items: center;
        color: rgba(17, 17, 17, 0.46);
        display: flex;
        gap: 2rem;
        justify-content: space-between;
        margin-top: 1rem;
}

.site-search__results {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: clamp(2.5rem, 5vw, 5rem);
}

.site-search.is-loading .site-search__results {
        min-height: 9rem;
        opacity: 0.45;
}

.site-search-result {
        align-items: center;
        border-top: 1px solid rgba(17, 17, 17, 0.2);
        color: #111;
        display: grid;
        gap: 1.25rem;
        grid-template-columns: 6.5rem minmax(0, 1fr) auto;
        min-width: 0;
        padding: 1rem;
        transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.site-search-result:nth-child(odd) {
        border-right: 1px solid rgba(17, 17, 17, 0.2);
}

.site-search-result:hover,
.site-search-result:focus-visible {
        background: #111;
        color: #fff;
        transform: translateY(-0.15rem);
}

.site-search-result__media {
        aspect-ratio: 4 / 5;
        background: #dedbd4;
        display: block;
        overflow: hidden;
}

.site-search-result__media img {
        display: block;
        height: 100%;
        object-fit: cover;
        transition: transform 0.45s ease;
        width: 100%;
}

.site-search-result:hover .site-search-result__media img,
.site-search-result:focus-visible .site-search-result__media img {
        transform: scale(1.045);
}

.site-search-result__copy {
        display: grid;
        gap: 0.45rem;
        min-width: 0;
}

.site-search-result__match,
.site-search-result__copy > span:last-child {
        font-size: 0.52rem;
        font-weight: 800;
        letter-spacing: 0.15em;
        text-transform: uppercase;
}

.site-search-result__match {
        color: rgba(17, 17, 17, 0.5);
        transition: color 0.3s ease;
}

.site-search-result__match--exact {
        color: #111;
}

.site-search-result:hover .site-search-result__match,
.site-search-result:focus-visible .site-search-result__match,
.site-search-result:hover .site-search-result__copy > span:last-child,
.site-search-result:focus-visible .site-search-result__copy > span:last-child {
        color: rgba(255, 255, 255, 0.6);
}

.site-search-result__copy strong {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(1.65rem, 2.5vw, 2.35rem);
        font-weight: 500;
        letter-spacing: -0.04em;
        line-height: 0.95;
}

.site-search-result__copy > span:last-child {
        color: rgba(17, 17, 17, 0.45);
        overflow: hidden;
        text-overflow: ellipsis;
        transition: color 0.3s ease;
        white-space: nowrap;
}

.site-search-result__arrow {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.5rem;
}

.site-search__starter,
.site-search__no-results {
        align-items: end;
        border-top: 1px solid rgba(17, 17, 17, 0.2);
        display: grid;
        gap: 2rem;
        grid-template-columns: minmax(6rem, 0.25fr) minmax(0, 1fr);
        margin-top: clamp(3rem, 6vw, 6rem);
        padding-top: 1.5rem;
}

.site-search__starter > span {
        color: rgba(17, 17, 17, 0.18);
        font-family: "Cormorant Garamond", serif;
        font-size: 5rem;
        line-height: 0.75;
}

.site-search__starter > p {
        color: rgba(17, 17, 17, 0.55);
        font-size: 0.72rem;
        line-height: 1.8;
        max-width: 44ch;
}

.site-search__no-results {
        align-items: start;
        grid-column: 1 / -1;
}

.site-search__no-results > span {
        font-size: 0.56rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.site-search__no-results > strong {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.5rem, 5vw, 5rem);
        font-weight: 500;
        letter-spacing: -0.05em;
        line-height: 0.9;
        max-width: 12ch;
}

.site-search__footer {
        align-items: center;
        background: #111;
        color: rgba(255, 255, 255, 0.58);
        display: flex;
        gap: 2rem;
        justify-content: space-between;
        padding: 1.25rem clamp(1.25rem, 3vw, 3rem);
}

.site-search__footer a {
        color: #fff;
        display: inline-flex;
        gap: 0.75rem;
}

/* Public catalogue filters and infinite pagination */
.shop-catalog__search-context {
        align-items: center;
        background: #111;
        color: #fff;
        display: grid;
        gap: 1rem;
        grid-template-columns: auto minmax(0, 1fr) auto;
        margin-top: clamp(2.5rem, 4vw, 4rem);
        padding: 1rem 1.25rem;
}

.shop-catalog__search-context > span,
.shop-catalog__search-context > a {
        font-size: 0.54rem;
        font-weight: 800;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.shop-catalog__search-context > strong {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(1.5rem, 2.4vw, 2.2rem);
        font-weight: 500;
        letter-spacing: -0.035em;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
}

.shop-catalog__search-context > a {
        border-bottom: 1px solid rgba(255, 255, 255, 0.72);
        color: #fff;
        padding-bottom: 0.25rem;
}

.shop-line-filter {
        display: inline-flex;
        flex-wrap: wrap;
        gap: 0.45rem;
        margin-top: clamp(2.5rem, 5vw, 5rem);
}

.shop-line-filter__button {
        border: 1px solid #111;
        color: #111;
        font-size: 0.56rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        padding: 0.8rem 1.15rem;
        text-transform: uppercase;
        transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.shop-line-filter__button:hover,
.shop-line-filter__button:focus-visible,
.shop-line-filter__button.is-active {
        background: #111;
        color: #fff;
        transform: translateY(-2px);
}

.shop-catalog__filters {
        border-bottom: 1px solid rgba(17, 17, 17, 0.22);
        border-top: 1px solid rgba(17, 17, 17, 0.22);
        display: grid;
        grid-template-columns: minmax(10rem, 0.24fr) minmax(0, 1fr);
        margin-top: 1.25rem;
}

.shop-catalog__filter-label {
        align-content: center;
        border-right: 1px solid rgba(17, 17, 17, 0.22);
        display: grid;
        gap: 0.5rem;
        padding: 1.25rem 1.25rem 1.25rem 0;
}

.shop-catalog__filter-label > span,
.shop-catalog__filter-label > p,
.shop-category-filter__item {
        font-size: 0.54rem;
        font-weight: 800;
        letter-spacing: 0.15em;
        text-transform: uppercase;
}

.shop-catalog__filter-label > span {
        color: rgba(17, 17, 17, 0.43);
}

.shop-category-filter {
        display: flex;
        min-width: 0;
}

.shop-category-groups {
        min-width: 0;
}

.shop-category-group {
        border-bottom: 1px solid rgba(17, 17, 17, 0.16);
}

.shop-category-group:last-child {
        border-bottom: 0;
}

.shop-category-group[hidden] {
        display: none;
}

.shop-category-group > summary {
        align-items: center;
        cursor: pointer;
        display: grid;
        gap: 0.8rem;
        grid-template-columns: minmax(0, 1fr) auto auto;
        list-style: none;
        min-height: 3.4rem;
        padding: 0.75rem 1rem;
}

.shop-category-group > summary::-webkit-details-marker {
        display: none;
}

.shop-category-group > summary span,
.shop-category-group > summary small {
        font-size: 0.52rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
}

.shop-category-group > summary small {
        color: rgba(17, 17, 17, 0.45);
}

.shop-category-group > summary i {
        height: 0.55rem;
        position: relative;
        width: 0.55rem;
}

.shop-category-group > summary i::before,
.shop-category-group > summary i::after {
        background: #111;
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        top: 50%;
        transition: transform 0.25s ease;
        width: 100%;
}

.shop-category-group > summary i::after {
        transform: rotate(90deg);
}

.shop-category-group[open] > summary i::after {
        transform: rotate(0deg);
}

.shop-category-group.is-fixed > summary {
        cursor: default;
}

.shop-category-group.is-fixed > summary i {
        visibility: hidden;
}

.shop-category-filter__item {
        align-items: center;
        border-right: 1px solid rgba(17, 17, 17, 0.16);
        color: #111;
        display: flex;
        flex: 1 1 9rem;
        gap: 1rem;
        justify-content: space-between;
        min-height: 4.75rem;
        min-width: 0;
        padding: 1rem;
        transition: background-color 0.28s ease, color 0.28s ease;
}

.shop-category-filter__item:last-child {
        border-right: 0;
}

.shop-category-filter__item small {
        color: rgba(17, 17, 17, 0.38);
        font-size: 0.48rem;
        transition: color 0.28s ease;
}

.shop-category-filter__item:hover,
.shop-category-filter__item:focus-visible,
.shop-category-filter__item.is-active {
        background: #111;
        color: #fff;
}

.shop-category-filter__item:hover small,
.shop-category-filter__item:focus-visible small,
.shop-category-filter__item.is-active small {
        color: rgba(255, 255, 255, 0.58);
}

.shop-catalog__inner.is-filtering .product-grid--catalog {
        opacity: 0.35;
        transform: translateY(0.5rem);
}

.product-grid--catalog {
        transition: opacity 0.3s ease, transform 0.3s ease;
}

.product-grid--catalog[hidden],
.shop-catalog__empty[hidden],
.shop-pagination__button[hidden],
.shop-pagination__loader[hidden] {
        display: none;
}

.shop-catalog__empty {
        align-items: end;
        border-bottom: 1px solid rgba(17, 17, 17, 0.2);
        border-top: 1px solid rgba(17, 17, 17, 0.2);
        display: grid;
        gap: clamp(2rem, 5vw, 5rem);
        grid-template-columns: minmax(8rem, 0.25fr) minmax(0, 1fr);
        margin-top: clamp(3.5rem, 6vw, 6rem);
        min-height: 24rem;
        padding: clamp(2rem, 5vw, 4rem) 0;
}

.shop-catalog__empty > span {
        color: rgba(17, 17, 17, 0.12);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(6rem, 12vw, 11rem);
        line-height: 0.7;
}

.shop-catalog__empty > div {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
}

.shop-catalog__empty p {
        font-size: 0.56rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.shop-catalog__empty h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3rem, 6vw, 6rem);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 0.85;
        margin: 1rem 0 2.5rem;
        max-width: 9ch;
}

.shop-pagination {
        align-items: center;
        border-top: 1px solid rgba(17, 17, 17, 0.2);
        display: grid;
        gap: 1.5rem;
        justify-items: center;
        margin-top: clamp(4rem, 7vw, 7rem);
        padding-top: 2rem;
        position: relative;
}

.shop-pagination__status {
        color: rgba(17, 17, 17, 0.5);
        font-size: 0.54rem;
        font-weight: 800;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.shop-pagination__status strong {
        color: #111;
}

.shop-pagination__button {
        gap: 2.5rem;
        min-width: 18rem;
}

.shop-pagination__loader {
        display: flex;
        gap: 0.45rem;
        min-height: 2.75rem;
        place-items: center;
}

.shop-pagination__loader span {
        animation: shop-loader-pulse 0.85s ease-in-out infinite alternate;
        background: #111;
        display: block;
        height: 0.35rem;
        width: 0.35rem;
}

.shop-pagination__loader span:nth-child(2) {
        animation-delay: 0.15s;
}

.shop-pagination__loader span:nth-child(3) {
        animation-delay: 0.3s;
}

.shop-pagination__sentinel {
        bottom: -1px;
        height: 1px;
        position: absolute;
        width: 100%;
}

@keyframes shop-loader-pulse {
        from { opacity: 0.2; transform: translateY(0); }
        to { opacity: 1; transform: translateY(-0.3rem); }
}

/* Maintenance, coming-soon and 404 pages */
.site-message-body {
        background: #f5f4f0;
        color: #080808;
        min-height: 100vh;
        overflow-x: hidden;
}

.site-message-shell {
        display: grid;
        grid-template-columns: minmax(0, 1.14fr) minmax(24rem, 0.86fr);
        min-height: 100svh;
}

.site-message__main {
        display: flex;
        flex-direction: column;
        min-width: 0;
        padding: clamp(1.5rem, 3vw, 3.5rem) clamp(1.5rem, 5.5vw, 6.5rem) clamp(1.25rem, 2.5vw, 2.75rem);
}

.site-message__header {
        align-items: center;
        display: flex;
        justify-content: space-between;
}

.site-message__brand {
        display: block;
        width: clamp(9rem, 13vw, 13.5rem);
}

.site-message__brand img {
        display: block;
        height: auto;
        width: 100%;
}

.site-message__mode {
        align-items: center;
        border: 1px solid rgba(0, 0, 0, 0.16);
        display: inline-flex;
        font-size: 0.58rem;
        font-weight: 800;
        gap: 0.55rem;
        letter-spacing: 0.13em;
        padding: 0.65rem 0.75rem;
        text-transform: uppercase;
}

.site-message__mode i {
        background: #111;
        height: 0.4rem;
        width: 0.4rem;
}

.site-message__copy {
        margin: auto 0;
        max-width: 48rem;
        padding: clamp(4rem, 10vh, 8rem) 0;
}

.site-message__copy > p:first-child {
        font-size: 0.66rem;
        font-weight: 800;
        letter-spacing: 0.2em;
        text-transform: uppercase;
}

.site-message__copy h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4rem, 7.3vw, 8.2rem);
        font-weight: 500;
        letter-spacing: -0.07em;
        line-height: 0.82;
        margin-top: clamp(1.5rem, 3vw, 2.7rem);
        max-width: 10ch;
        text-wrap: balance;
}

.site-message__rule {
        background: rgba(0, 0, 0, 0.16);
        height: 1px;
        margin-top: clamp(2rem, 4vw, 3.5rem);
        max-width: 28rem;
        position: relative;
}

.site-message__rule i {
        background: #111;
        display: block;
        height: 2px;
        width: 14%;
}

.site-message__description {
        color: rgba(8, 8, 8, 0.58);
        font-size: clamp(0.9rem, 1.1vw, 1.05rem);
        line-height: 1.75;
        margin-top: 1.4rem;
        max-width: 39rem;
}

.site-message__date {
        border-left: 1px solid #111;
        display: grid;
        gap: 0.3rem;
        margin-top: 1.5rem;
        padding-left: 0.8rem;
}

.site-message__date dt {
        color: rgba(8, 8, 8, 0.46);
        font-size: 0.55rem;
        font-weight: 800;
        letter-spacing: 0.13em;
        text-transform: uppercase;
}

.site-message__date dd {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.45rem;
        font-weight: 600;
}

.site-message__contact {
        gap: 2.25rem;
        margin-top: 2rem;
}

.newsletter-unsubscribe-form {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 1rem 1.5rem;
        margin-top: 2rem;
}

.newsletter-unsubscribe-form button {
        align-items: center;
        background: #080808;
        border: 1px solid #080808;
        color: #fff;
        cursor: pointer;
        display: inline-flex;
        font: inherit;
        font-size: 0.62rem;
        font-weight: 800;
        gap: 2.25rem;
        justify-content: space-between;
        letter-spacing: 0.12em;
        min-height: 3.2rem;
        padding: 0.9rem 1.15rem;
        text-transform: uppercase;
}

.newsletter-unsubscribe-form > a {
        border-bottom: 1px solid currentColor;
        color: #080808;
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        padding-bottom: 0.2rem;
        text-transform: uppercase;
}

.newsletter-unsubscribe-form button:hover,
.newsletter-unsubscribe-form button:focus-visible {
        background: transparent;
        color: #080808;
}

.site-message-shell--unsubscribe .site-message__copy h1 {
        max-width: 11ch;
}

.site-message__footer {
        align-items: center;
        border-top: 1px solid rgba(0, 0, 0, 0.16);
        display: flex;
        font-size: 0.56rem;
        font-weight: 700;
        justify-content: space-between;
        letter-spacing: 0.13em;
        padding-top: 1.1rem;
        text-transform: uppercase;
}

.site-message__footer a {
        color: inherit;
        overflow-wrap: anywhere;
        text-align: right;
        text-transform: none;
}

.site-message__visual {
        background: #050505;
        color: #fff;
        min-height: 100%;
        overflow: hidden;
        padding: clamp(1.5rem, 3vw, 3rem);
        position: relative;
}

.site-message__grid {
        background-image: linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px);
        background-size: 3rem 3rem;
        inset: 0;
        mask-image: linear-gradient(to bottom right, #000, transparent 80%);
        position: absolute;
}

.site-message__word {
        color: transparent;
        font-family: "Manrope", sans-serif;
        font-size: clamp(7rem, 17vw, 18rem);
        font-weight: 800;
        left: -0.04em;
        letter-spacing: -0.09em;
        line-height: 0.72;
        opacity: 0.18;
        position: absolute;
        top: 7%;
        transform: rotate(90deg) translateY(-100%);
        transform-origin: left top;
        white-space: nowrap;
        -webkit-text-stroke: 1px #fff;
}

.site-message-shell--not-found .site-message__word {
        font-size: clamp(12rem, 24vw, 27rem);
        left: 50%;
        top: 45%;
        transform: translate(-50%, -50%);
}

.site-message__visual-card {
        border: 1px solid rgba(255, 255, 255, 0.22);
        bottom: clamp(4.5rem, 8vw, 7rem);
        display: grid;
        left: clamp(1.5rem, 3vw, 3rem);
        max-width: 22rem;
        padding: clamp(1.2rem, 2.5vw, 2rem);
        position: absolute;
        right: clamp(1.5rem, 3vw, 3rem);
}

.site-message__visual-card span,
.site-message__visual-card p {
        color: rgba(255, 255, 255, 0.5);
        font-size: 0.53rem;
        font-weight: 700;
        letter-spacing: 0.14em;
        text-transform: uppercase;
}

.site-message__visual-card strong {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2rem, 3.6vw, 3.6rem);
        font-weight: 500;
        letter-spacing: -0.055em;
        line-height: 0.9;
        margin: clamp(2rem, 5vw, 4.5rem) 0 1.1rem;
}

.site-message__social {
        bottom: 1.7rem;
        display: flex;
        flex-wrap: wrap;
        gap: 0.8rem 1.2rem;
        left: clamp(1.5rem, 3vw, 3rem);
        position: absolute;
        right: clamp(1.5rem, 3vw, 3rem);
}

.site-message__social a {
        color: rgba(255, 255, 255, 0.58);
        font-size: 0.52rem;
        font-weight: 700;
        letter-spacing: 0.11em;
        text-transform: uppercase;
}

.site-message__social a:hover,
.site-message__social a:focus-visible {
        color: #fff;
}

/* Public collection directory and detail pages */
.collections-page,
.collection-page {
        background: #fff;
        color: #111;
}

.collections-page__hero,
.collection-page__hero {
        overflow: hidden;
        position: relative;
}

.collections-page__hero {
        min-height: 40rem;
        padding: clamp(7rem, 12vw, 11rem) clamp(1.5rem, 4vw, 4rem) clamp(5rem, 8vw, 8rem);
}

.collections-page__wordmark,
.collection-page__wordmark {
        color: transparent;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(9rem, 20vw, 21rem);
        font-weight: 600;
        left: 50%;
        letter-spacing: -0.08em;
        line-height: 0.68;
        opacity: 0.06;
        pointer-events: none;
        position: absolute;
        text-transform: uppercase;
        top: clamp(8rem, 13vw, 12rem);
        transform: translateX(-50%);
        white-space: nowrap;
        -webkit-text-stroke: 1px #111;
}

.collections-page__hero-inner,
.collection-page__hero-inner,
.collections-directory__inner {
        margin: 0 auto;
        max-width: 1400px;
        position: relative;
        width: 100%;
}

.collections-page__crumbs,
.collection-page__crumbs {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        font-size: 0.64rem;
        font-weight: 700;
        gap: 0.65rem;
        letter-spacing: 0.14em;
        text-transform: uppercase;
}

.collections-page__crumbs a,
.collection-page__crumbs a {
        color: inherit;
        opacity: 0.6;
}

.collections-page__heading {
        align-items: end;
        display: grid;
        gap: clamp(2rem, 5vw, 6rem);
        grid-template-columns: minmax(10rem, 0.32fr) minmax(0, 1fr);
        margin-top: clamp(5rem, 9vw, 8rem);
}

.collections-page__heading > p,
.collection-page__copy > p,
.collection-gallery__header p {
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.collections-page__heading h1,
.collection-page__copy h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(5rem, 9vw, 9rem);
        font-weight: 500;
        letter-spacing: -0.07em;
        line-height: 0.77;
        margin: 0;
        max-width: 9ch;
}

.collections-page__intro {
        font-size: clamp(1rem, 1.4vw, 1.2rem);
        line-height: 1.8;
        margin: 3rem 0 0 auto;
        max-width: 34rem;
}

.collections-directory {
        background: #f3f1ed;
        padding: clamp(5rem, 9vw, 9rem) clamp(1.5rem, 4vw, 4rem);
}

.collections-grid--directory {
        margin-top: 0;
}

.collections-grid--directory .collection-card:nth-child(n) {
        grid-column: span 6;
        margin-top: 0;
}

.collections-grid--directory .collection-card:nth-child(4n + 2),
.collections-grid--directory .collection-card:nth-child(4n + 3) {
        margin-top: clamp(3rem, 7vw, 7rem);
}

.collections-directory__empty {
        align-items: start;
        border-top: 1px solid rgba(0, 0, 0, 0.15);
        display: grid;
        gap: 3rem;
        grid-template-columns: minmax(5rem, 0.18fr) minmax(0, 1fr);
        padding-top: 3rem;
}

.collections-directory__empty > span {
        font-family: "Cormorant Garamond", serif;
        font-size: 5rem;
}

.collections-directory__empty h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(3rem, 6vw, 6rem);
        font-weight: 500;
        line-height: 0.9;
        margin: 0 0 2rem;
}

.collection-page__hero {
        padding: clamp(6rem, 9vw, 9rem) clamp(1.5rem, 4vw, 4rem);
}

.collection-page__wordmark {
        top: 10rem;
}

.collection-page__hero-inner {
        align-items: center;
        display: grid;
        gap: clamp(3rem, 8vw, 9rem);
        grid-template-columns: minmax(0, 0.9fr) minmax(22rem, 0.72fr);
}

.collection-page__copy > p {
        margin: clamp(5rem, 9vw, 8rem) 0 1.5rem;
}

.collection-page__summary {
        border-left: 1px solid rgba(0, 0, 0, 0.2);
        margin: 3rem 0;
        max-width: 35rem;
        padding-left: 1.5rem;
}

.collection-page__summary span {
        display: block;
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.15em;
        margin-bottom: 0.8rem;
        text-transform: uppercase;
}

.collection-page__summary p {
        line-height: 1.75;
        margin: 0;
}

.collection-page__cover {
        background: #f1efeb;
        margin: 0;
        min-height: 42rem;
        overflow: hidden;
        position: relative;
}

.collection-page__cover img {
        height: 100%;
        inset: 0;
        object-fit: cover;
        position: absolute;
        width: 100%;
}

.collection-page__cover figcaption {
        align-items: center;
        background: rgba(255, 255, 255, 0.94);
        bottom: 0;
        display: flex;
        font-size: 0.58rem;
        font-weight: 700;
        justify-content: space-between;
        left: 0;
        letter-spacing: 0.13em;
        padding: 1rem;
        position: absolute;
        text-transform: uppercase;
        width: 100%;
}

.collection-gallery {
        padding: clamp(6rem, 10vw, 10rem) clamp(1.5rem, 4vw, 4rem);
}

.collection-gallery__header,
.collection-gallery__grid,
.collection-gallery__empty,
.collection-gallery__cta {
        margin-left: auto;
        margin-right: auto;
        max-width: 1400px;
}

.collection-gallery__header {
        align-items: end;
        display: grid;
        gap: 3rem;
        grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.35fr);
        margin-bottom: clamp(4rem, 7vw, 7rem);
}

.collection-gallery__header h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4.5rem, 8vw, 8rem);
        font-weight: 500;
        letter-spacing: -0.07em;
        line-height: 0.78;
        margin: 1.4rem 0 0;
}

.collection-gallery__header > span {
        border-top: 1px solid rgba(0, 0, 0, 0.2);
        line-height: 1.7;
        padding-top: 1rem;
}

.collection-gallery__grid {
        display: grid;
        gap: clamp(1rem, 2vw, 2rem);
        grid-auto-flow: dense;
        grid-template-columns: repeat(12, minmax(0, 1fr));
}

.collection-look {
        color: #111;
        grid-column: span 5;
}

.collection-look:nth-child(4n + 2),
.collection-look:nth-child(4n + 3) {
        grid-column: span 7;
}

.collection-look figure {
        margin: 0;
}

.collection-look img {
        aspect-ratio: 4 / 5;
        display: block;
        object-fit: cover;
        transition: filter 0.4s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
        width: 100%;
}

.collection-look:nth-child(4n + 2) img,
.collection-look:nth-child(4n + 3) img {
        aspect-ratio: 7 / 5;
}

.collection-look figcaption {
        align-items: baseline;
        border-bottom: 1px solid rgba(0, 0, 0, 0.16);
        display: grid;
        gap: 0.8rem;
        grid-template-columns: auto minmax(0, 1fr) auto;
        padding: 1rem 0 1.5rem;
}

.collection-look figcaption span,
.collection-look figcaption small {
        font-size: 0.6rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
}

.collection-look figcaption strong {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(1.5rem, 2.5vw, 2.5rem);
        font-weight: 500;
}

.collection-look:hover img,
.collection-look:focus-visible img {
        filter: contrast(1.04);
        transform: scale(1.015);
}

.collection-gallery__empty {
        border: 1px solid rgba(0, 0, 0, 0.15);
        padding: 5rem 2rem;
        text-align: center;
}

.collection-gallery__cta {
        align-items: end;
        background: #080808;
        color: #fff;
        display: grid;
        gap: 3rem;
        grid-template-columns: minmax(0, 1fr) auto;
        margin-top: clamp(5rem, 9vw, 9rem);
        padding: clamp(2rem, 5vw, 5rem);
}

.collection-gallery__cta span {
        font-size: 0.64rem;
        font-weight: 700;
        letter-spacing: 0.15em;
        text-transform: uppercase;
}

.collection-gallery__cta h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.8rem, 5vw, 5rem);
        font-weight: 500;
        line-height: 0.9;
        margin: 1rem 0 0;
        max-width: 11ch;
}

/* Our story page */
.story-page {
        background: #f2eee7;
        color: #17130f;
        overflow: hidden;
}

.story-page__hero {
        background: #000;
        color: #fff;
        min-height: min(52rem, calc(100svh - 5rem));
        overflow: hidden;
        padding: clamp(1.5rem, 3vw, 3rem);
        position: relative;
}

.story-page__hero-word {
        bottom: -0.16em;
        color: transparent;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(10rem, 23vw, 25rem);
        font-weight: 500;
        left: -0.03em;
        letter-spacing: -0.085em;
        line-height: 0.7;
        opacity: 0.16;
        pointer-events: none;
        position: absolute;
        white-space: nowrap;
        -webkit-text-stroke: 1px rgba(255, 255, 255, 0.55);
}

.story-page__hero-inner,
.story-origin__inner,
.story-film__inner,
.story-values__inner {
        margin: 0 auto;
        max-width: 1400px;
        width: 100%;
}

.story-page__hero-inner {
        display: flex;
        flex-direction: column;
        min-height: min(46rem, calc(100svh - 11rem));
        position: relative;
        z-index: 1;
}

.story-page__crumbs {
        align-items: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
        color: rgba(255, 255, 255, 0.68);
        display: flex;
        font-size: 0.62rem;
        font-weight: 700;
        gap: 0.8rem;
        letter-spacing: 0.15em;
        padding-bottom: 1.25rem;
        text-transform: uppercase;
}

.story-page__crumbs a {
        color: inherit;
        text-decoration: none;
}

.story-page__eyebrow {
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.24em;
        margin-top: clamp(3rem, 7vh, 6rem);
        text-transform: uppercase;
}

.story-page__hero h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4.6rem, 9.5vw, 10rem);
        font-weight: 500;
        letter-spacing: -0.07em;
        line-height: 0.78;
        margin-top: 1.5rem;
        max-width: 10ch;
        text-wrap: balance;
}

.story-page__hero-foot {
        align-items: end;
        display: grid;
        gap: 3rem;
        grid-template-columns: minmax(16rem, 31rem) auto;
        justify-content: space-between;
        margin-top: auto;
        padding-top: 4rem;
}

.story-page__hero-foot > p {
        color: rgba(255, 255, 255, 0.72);
        font-size: clamp(0.95rem, 1.2vw, 1.1rem);
        line-height: 1.85;
}

.story-page__hero-foot > span {
        align-items: center;
        display: flex;
        font-size: 0.58rem;
        font-weight: 700;
        gap: 0.75rem;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.story-page__hero-foot i {
        background: #a57b4f;
        border-radius: 50%;
        height: 0.25rem;
        width: 0.25rem;
}

.story-origin {
        padding: clamp(5rem, 10vw, 10rem) clamp(1.5rem, 3vw, 3rem);
}

.story-origin__inner {
        align-items: center;
        display: grid;
        gap: clamp(3rem, 8vw, 9rem);
        grid-template-columns: minmax(18rem, 0.84fr) minmax(18rem, 0.72fr);
}

.story-origin__portrait {
        margin: 0;
        position: relative;
}

.story-origin__portrait::before {
        border: 1px solid rgba(23, 19, 15, 0.26);
        content: "";
        inset: -1rem 1rem 1rem -1rem;
        position: absolute;
}

.story-origin__portrait img {
        aspect-ratio: 3 / 2;
        display: block;
        object-fit: cover;
        position: relative;
        width: 100%;
}

.story-origin__portrait figcaption {
        align-items: center;
        background: #000;
        color: #fff;
        display: flex;
        font-size: 0.56rem;
        font-weight: 700;
        justify-content: space-between;
        letter-spacing: 0.14em;
        padding: 1rem 1.2rem;
        position: relative;
        text-transform: uppercase;
}

.story-origin__copy > p:first-child,
.story-film__header > p,
.story-values__inner > header > p {
        color: #8a633f;
        font-size: 0.65rem;
        font-weight: 800;
        letter-spacing: 0.2em;
        text-transform: uppercase;
}

.story-origin__copy h2,
.story-film__header h2,
.story-values__inner > header h2,
.story-page__closing h2 {
        font-family: "Cormorant Garamond", serif;
        font-weight: 500;
        letter-spacing: -0.055em;
        line-height: 0.9;
}

/* Journal */
.home-journal {
        background: #f4f0e9;
        color: #17130f;
        overflow: hidden;
        padding: clamp(5rem, 10vw, 10rem) clamp(1rem, 4vw, 4rem);
        position: relative;
}

.home-journal__inner,
.journal-hero__inner,
.journal-directory,
.journal-article__hero,
.journal-article__layout,
.journal-comments {
        margin: 0 auto;
        max-width: 1440px;
}

.home-journal__header {
        align-items: end;
        display: grid;
        gap: 2rem;
        grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.42fr);
        margin-bottom: clamp(3rem, 6vw, 6rem);
}

.home-journal__header p,
.journal-hero p,
.journal-article__meta,
.journal-comments > header > p {
        font-size: 0.65rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.home-journal__header h2 {
        color: #000;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4rem, 7vw, 7.5rem);
        font-weight: 500;
        letter-spacing: -0.055em;
        line-height: 0.82;
        margin-top: 1.1rem;
}

.home-journal .journal-card {
        background: transparent;
        border: 1px solid #17130f;
        transition: background-color 0.3s ease, color 0.3s ease;
}

.home-journal .journal-card__copy {
        padding: 1.25rem 1rem;
        transition: background-color 0.3s ease, color 0.3s ease;
}

.home-journal .journal-card__meta {
        margin-top: 0;
}

.home-journal .journal-card__copy h3,
.home-journal .journal-card__copy h3 a {
        color: #000;
        transition: color 0.3s ease;
}

.home-journal .journal-card:hover {
        background: #000;
        color: #fff;
}

.home-journal .journal-card:hover .journal-card__copy h3,
.home-journal .journal-card:hover .journal-card__copy h3 a,
.home-journal .journal-card:hover .journal-card__meta span,
.home-journal .journal-card:hover .journal-card__meta time,
.home-journal .journal-card:hover .journal-card__copy > p {
        color: #fff;
}

.home-journal__header > div:last-child p {
        color: rgba(23, 19, 15, 0.62);
        font-size: 0.87rem;
        font-weight: 400;
        letter-spacing: 0;
        line-height: 1.85;
        margin-bottom: 1.5rem;
        text-transform: none;
}

.home-journal__grid,
.journal-grid {
        display: grid;
        gap: clamp(1.5rem, 3vw, 3rem) clamp(1rem, 2vw, 2rem);
        grid-template-columns: repeat(4, minmax(0, 1fr));
}

.journal-card { min-width: 0; }
.journal-card__media {
        aspect-ratio: 4 / 5;
        background: #ddd5ca;
        display: block;
        overflow: hidden;
        position: relative;
}
.journal-card__media img { height: 100%; object-fit: cover; transition: transform 0.7s cubic-bezier(.2,.7,.2,1); width: 100%; }
.journal-card__media > span {
        align-items: center;
        background: rgba(0, 0, 0, 0.88);
        bottom: 0;
        color: #fff;
        display: flex;
        font-size: 0.56rem;
        font-weight: 800;
        justify-content: space-between;
        left: 0;
        letter-spacing: 0.12em;
        padding: 0.85rem 1rem;
        position: absolute;
        right: 0;
        text-transform: uppercase;
        transform: translateY(100%);
        transition: transform 0.3s ease;
}
.journal-card__media:hover img { transform: scale(1.035); }
.journal-card__media:hover > span { transform: translateY(0); }
.journal-card__meta { display: flex; gap: 1rem; justify-content: space-between; margin-top: 1.25rem; }
.journal-card__meta span,
.journal-card__meta time { color: rgba(23, 19, 15, 0.56); font-size: 0.55rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.journal-card__copy h3 { font-family: "Cormorant Garamond", serif; font-size: clamp(1.65rem, 2.2vw, 2.25rem); font-weight: 600; letter-spacing: -0.035em; line-height: 0.98; margin: 0.9rem 0 0.7rem; overflow: hidden; overflow-wrap: anywhere; }
.journal-card__copy h3 a { display: -webkit-box; overflow: hidden; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.journal-card__copy > p { color: rgba(23, 19, 15, 0.64); display: -webkit-box; font-size: 0.78rem; line-height: 1.7; overflow: hidden; overflow-wrap: anywhere; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

.journal-page,
.journal-article { background: #000; color: #fff; }
.journal-hero { background: #000; color: #fff; min-height: min(43rem, 70vh); overflow: hidden; padding: clamp(2rem, 4vw, 4rem); position: relative; }
.journal-hero__word { bottom: clamp(1rem, 3vw, 3rem); color: rgba(255,255,255,.07); font-family: "Cormorant Garamond", serif; font-size: clamp(9rem, 24vw, 22rem); font-weight: 600; left: 0; line-height: .72; pointer-events: none; position: absolute; white-space: nowrap; }
.journal-hero__inner { display: flex; flex-direction: column; height: 100%; justify-content: space-between; min-height: min(40rem, 66vh); position: relative; z-index: 1; }
.journal-hero nav,
.journal-article__hero nav { display: flex; font-size: .59rem; font-weight: 700; gap: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.journal-hero nav { color: rgba(255,255,255,.55); }
.journal-hero__inner > div { align-items: end; display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr) minmax(17rem, .35fr); }
.journal-hero h1 { font-family: "Cormorant Garamond", serif; font-size: clamp(3.8rem, 7.2vw, 7.4rem); font-weight: 500; letter-spacing: -.055em; line-height: .8; margin-top: 1rem; }
.journal-hero__inner > div > span { color: rgba(255,255,255,.65); font-size: .88rem; line-height: 1.85; }
.journal-directory { background: #000; color: #fff; padding: clamp(5rem, 9vw, 9rem) clamp(1rem, 4vw, 4rem); }
.journal-filters { align-items: end; border-bottom: 1px solid rgba(255,255,255,.24); display: grid; gap: 1rem; grid-template-columns: minmax(12rem, 1fr) minmax(11rem, .35fr) auto auto; margin-bottom: clamp(3rem, 6vw, 6rem); padding-bottom: 1.4rem; }
.journal-filters input,
.journal-filters select { background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.34); border-radius: 0; color: #fff; font: inherit; font-size: .75rem; height: 3rem; outline: 0; padding: 0 .15rem; width: 100%; }
.journal-filters input::placeholder { color: rgba(255,255,255,.5); }
.journal-filters select option { background: #000; color: #fff; }
.journal-filters button { background: #fff; border: 1px solid #fff; color: #000; cursor: pointer; font-size: .58rem; font-weight: 800; height: 3rem; letter-spacing: .12em; padding: 0 1.6rem; text-transform: uppercase; }
.journal-filters > a { font-size: .58rem; font-weight: 800; letter-spacing: .1em; padding: 1rem .3rem; text-transform: uppercase; }
.journal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: clamp(4rem, 7vw, 7rem); }
.journal-grid .journal-card__media { aspect-ratio: 16 / 11; }
.journal-grid .journal-card__copy h3,
.journal-grid .journal-card__copy h3 a { color: #fff; font-size: clamp(2rem, 2.8vw, 3rem); }
.journal-grid .journal-card__copy h3 a { display: block; max-height: 1.96em; -webkit-box-orient: initial; -webkit-line-clamp: initial; }
.journal-grid .journal-card__meta span,
.journal-grid .journal-card__meta time { color: rgba(255,255,255,.58); }
.journal-grid .journal-card__copy > p { color: rgba(255,255,255,.66); display: block; max-height: 5.1em; max-width: 46rem; -webkit-box-orient: initial; -webkit-line-clamp: initial; }
.journal-load { align-items: center; display: flex; flex-direction: column; margin-top: 5rem; min-height: 4rem; position: relative; }
.journal-load button { background: transparent; border: 1px solid rgba(255,255,255,.65); color: #fff; cursor: pointer; font-size: .58rem; font-weight: 800; letter-spacing: .12em; min-height: 3.1rem; padding: 0 2rem; text-transform: uppercase; }
.journal-load button:hover { background: #fff; color: #000; }
.journal-load span { color: rgba(255,255,255,.58); font-size: .7rem; margin-top: 1rem; }
.journal-load i { height: 1px; position: absolute; top: -22rem; width: 100%; }
.journal-empty { padding: 8rem 1rem; text-align: center; }
.journal-empty span { font-size: .6rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.journal-empty h2 { font-family: "Cormorant Garamond", serif; font-size: clamp(3rem, 6vw, 6rem); font-weight: 500; margin: 1rem 0; }
.journal-empty p { color: rgba(255,255,255,.62); }

.journal-article__hero { background: #000; color: #fff; padding: clamp(4rem, 8vw, 8rem) clamp(1rem, 5vw, 5rem) clamp(3rem, 7vw, 7rem); }
.journal-article__hero nav { color: rgba(255,255,255,.58); }
.journal-article__meta { display: flex; gap: 1.5rem; justify-content: center; margin-top: clamp(4rem, 8vw, 8rem); }
.journal-article__hero h1 { font-family: "Cormorant Garamond", serif; font-size: clamp(2.8rem, 5.5vw, 5.8rem); font-weight: 500; letter-spacing: -.05em; line-height: .86; margin: 2rem auto; max-width: 14ch; overflow-wrap: anywhere; text-align: center; }
.journal-article__hero > p { color: rgba(255,255,255,.68); font-size: clamp(.9rem, 1.3vw, 1.08rem); line-height: 1.8; margin: 0 auto; max-width: 42rem; text-align: center; }
.journal-article__cover { aspect-ratio: 16 / 10; background: #171717; margin: 0 auto; max-width: 1050px; overflow: hidden; width: min(78vw, 1050px); }
.journal-article__cover img { height: 100%; object-fit: cover; width: 100%; }
.journal-article__layout { display: block; max-width: 760px; padding: clamp(4rem, 8vw, 8rem) 0; width: min(50vw, 760px); }
.journal-article__layout > aside { border-top: 1px solid rgba(255,255,255,.28); margin-bottom: clamp(2.5rem, 5vw, 5rem); padding-top: 1rem; }
.journal-article__layout > aside span { font-size: .58rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.journal-article__layout > aside p { color: rgba(255,255,255,.58); font-size: .74rem; line-height: 1.8; margin-top: 1rem; }
.journal-prose { color: rgba(255,255,255,.9); font-size: clamp(1rem, 1.35vw, 1.14rem); line-height: 1.95; width: 100%; }
.journal-prose p + p,
.journal-prose p + h2,
.journal-prose p + h3,
.journal-prose figure + p,
.journal-prose blockquote + p { margin-top: 2rem; }
.journal-prose h2 { font-family: "Cormorant Garamond", serif; font-size: clamp(3rem, 5.5vw, 5.5rem); font-weight: 500; letter-spacing: -.05em; line-height: .9; margin: 4rem 0 1.5rem; }
.journal-prose h3 { font-family: "Cormorant Garamond", serif; font-size: clamp(2rem, 3.5vw, 3.5rem); font-weight: 600; line-height: .95; margin: 3rem 0 1rem; }
.journal-prose blockquote { border-left: 2px solid #9c7047; font-family: "Cormorant Garamond", serif; font-size: clamp(2rem, 4vw, 4rem); line-height: 1; margin: 4rem 0; padding-left: clamp(1.5rem, 4vw, 4rem); }
.journal-prose ul,
.journal-prose ol { padding-left: 1.5rem; }
.journal-prose > * { max-width: 100%; }
.journal-prose > img { display: block; height: auto; margin: 4rem auto; max-width: 100%; object-fit: contain; }
.journal-prose figure { box-sizing: border-box; margin: 4rem auto; overflow: hidden; width: 100%; }
.journal-prose figure img { display: block; height: auto; margin: 0 auto; max-width: 100%; object-fit: contain; width: auto; }
.journal-prose figcaption { color: rgba(255,255,255,.58); font-size: .65rem; margin-top: .75rem; }
.journal-prose iframe { aspect-ratio: 16 / 9; border: 0; display: block; width: 100%; }
.journal-prose a { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.journal-prose .journal-content-button { align-items: center; background: #fff; border: 1px solid #fff; color: #000; display: inline-flex; font-family: "Manrope", sans-serif; font-size: .62rem; font-weight: 800; justify-content: center; letter-spacing: .12em; min-height: 3.2rem; padding: .8rem 1.5rem; text-decoration: none; text-transform: uppercase; transition: background-color .2s ease, color .2s ease; }
.journal-prose .journal-content-button:hover { background: transparent; color: #fff; }

.journal-comments { background: #000; border-top: 1px solid rgba(255,255,255,.24); color: #fff; padding: clamp(5rem, 9vw, 9rem) clamp(1rem, 5vw, 5rem); }
.journal-comments > header { align-items: end; display: grid; gap: 1rem; grid-template-columns: auto minmax(0, 1fr) auto; }
.journal-comments > header h2 { font-family: "Cormorant Garamond", serif; font-size: clamp(3rem, 6vw, 6rem); font-weight: 500; letter-spacing: -.05em; line-height: .85; justify-self: center; max-width: 8ch; }
.journal-comments > header > span { color: rgba(255,255,255,.58); font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.journal-comments__notice { background: #000; color: #fff; font-size: .72rem; margin-top: 2rem; padding: 1rem 1.2rem; }
.journal-comments__layout { align-items: start; display: grid; gap: clamp(2rem, 7vw, 7rem); grid-template-columns: minmax(17rem, .38fr) minmax(0, .62fr); margin-top: clamp(3rem, 6vw, 6rem); }
.journal-comment-form { background: #f4f0e9; color: #17130f; padding: clamp(1.25rem, 3vw, 3rem); }
.journal-comment-form label:not(.journal-comment-trap) { display: block; margin-bottom: 1.2rem; }
.journal-comment-form label > span { display: block; font-size: .55rem; font-weight: 800; letter-spacing: .12em; margin-bottom: .55rem; text-transform: uppercase; }
.journal-comment-form input,
.journal-comment-form textarea { background: #fff; border: 1px solid rgba(23,19,15,.2); border-radius: 0; color: #17130f; font: inherit; font-size: .78rem; outline: 0; padding: .85rem; resize: vertical; width: 100%; }
.journal-comment-form input:focus,
.journal-comment-form textarea:focus { border-color: #000; }
.journal-comment-trap { height: 0; left: -9999px; overflow: hidden; position: absolute; width: 0; }
.journal-emoji { display: flex; flex-wrap: wrap; gap: .35rem; }
.journal-emoji button { background: #fff; border: 1px solid rgba(23,19,15,.16); cursor: pointer; font-size: 1rem; height: 2.2rem; width: 2.2rem; }
.journal-comment-form > p { color: rgba(23,19,15,.55); font-size: .62rem; line-height: 1.5; margin: 1rem 0; }
.journal-comment-form > button { background: #000; border: 0; color: #fff; cursor: pointer; display: flex; font-size: .58rem; font-weight: 800; justify-content: space-between; letter-spacing: .12em; padding: 1rem 1.2rem; text-transform: uppercase; width: 100%; }
.journal-comment { border-top: 1px solid rgba(255,255,255,.22); display: grid; gap: 1.2rem; grid-template-columns: 2rem minmax(0, 1fr); padding: 1.5rem 0; }
.journal-comment > span { color: #9c7047; font-size: .58rem; font-weight: 800; }
.journal-comment header { display: flex; gap: 1rem; justify-content: space-between; }
.journal-comment header strong { font-family: "Cormorant Garamond", serif; font-size: 1.35rem; }
.journal-comment header time { color: rgba(255,255,255,.52); font-size: .55rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.journal-comment p { font-size: .8rem; line-height: 1.8; margin-top: .6rem; overflow-wrap: anywhere; }
.journal-comment-empty { border-top: 1px solid rgba(255,255,255,.22); display: flex; gap: 1rem; padding: 2rem 0; }
.journal-comment-empty span { color: #9c7047; font-size: .58rem; font-weight: 800; }
.journal-comment-empty p { color: rgba(255,255,255,.6); }
.journal-article__closing { align-items: center; background: #000; color: #fff; display: flex; flex-direction: column; padding: clamp(5rem, 11vw, 11rem) 1rem; text-align: center; }
.journal-article__closing > span { font-size: .6rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.journal-article__closing h2 { font-family: "Cormorant Garamond", serif; font-size: clamp(4rem, 8vw, 8rem); font-weight: 500; letter-spacing: -.055em; line-height: .82; margin: 1.5rem 0 2.5rem; }

.story-origin__copy h2 {
        font-size: clamp(3.4rem, 6vw, 6rem);
        margin: 1.15rem 0 2rem;
        max-width: 8ch;
}

.story-origin__copy > p:nth-of-type(2) {
        color: rgba(23, 19, 15, 0.72);
        font-size: clamp(0.95rem, 1.12vw, 1.08rem);
        line-height: 1.9;
        max-width: 38rem;
}

.story-origin__copy blockquote {
        border-top: 1px solid rgba(23, 19, 15, 0.22);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(1.75rem, 2.75vw, 2.8rem);
        line-height: 1.12;
        margin-top: clamp(2.5rem, 5vw, 5rem);
        padding-top: clamp(2rem, 3vw, 3rem);
}

.story-origin__copy > span {
        display: block;
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.17em;
        margin-top: 1.4rem;
        text-transform: uppercase;
}

.story-film {
        background: #000;
        color: #fff;
        padding: clamp(5rem, 9vw, 9rem) clamp(1.5rem, 3vw, 3rem);
}

.story-film__header {
        align-items: end;
        border-top: 1px solid rgba(255, 255, 255, 0.3);
        display: grid;
        gap: clamp(1.5rem, 4vw, 4rem);
        grid-template-columns: minmax(0, 1.1fr) minmax(16rem, 0.55fr);
        padding-top: clamp(1.5rem, 3vw, 3rem);
}

.story-film__header > p {
        grid-column: 1 / -1;
}

.story-film__header h2 {
        font-size: clamp(3.5rem, 7vw, 7.5rem);
        max-width: 8ch;
}

.story-film__header > span {
        color: rgba(255, 255, 255, 0.64);
        font-size: clamp(0.9rem, 1vw, 1rem);
        line-height: 1.85;
        max-width: 30rem;
}

.story-film__player {
        aspect-ratio: 1 / 1;
        background: #000;
        cursor: pointer;
        margin-top: clamp(3rem, 6vw, 6rem);
        margin-inline: auto;
        max-width: 40rem;
        overflow: hidden;
        position: relative;
}

.story-film__player::after {
        border: 1px solid rgba(255, 255, 255, 0.34);
        content: "";
        inset: clamp(0.7rem, 1.3vw, 1.3rem);
        pointer-events: none;
        position: absolute;
        transition: inset 0.4s ease, opacity 0.4s ease;
        z-index: 2;
}

.story-film__player video {
        display: block;
        height: 100%;
        object-fit: cover;
        object-position: center;
        width: 100%;
}

.story-film__play {
        align-items: center;
        background: linear-gradient(90deg, rgba(10, 7, 4, 0.48), rgba(10, 7, 4, 0.04));
        border: 0;
        color: #fff;
        cursor: pointer;
        display: grid;
        grid-template-columns: auto 1fr auto;
        height: 100%;
        inset: 0;
        padding: clamp(2rem, 5vw, 5rem);
        position: absolute;
        text-align: left;
        width: 100%;
        z-index: 3;
}

.story-film__play > span {
        align-items: center;
        backdrop-filter: blur(8px);
        background: rgba(255, 255, 255, 0.94);
        border-radius: 50%;
        color: #17130f;
        display: flex;
        height: clamp(5rem, 8vw, 8rem);
        justify-content: center;
        transition: transform 0.35s ease;
        width: clamp(5rem, 8vw, 8rem);
}

.story-film__play svg {
        fill: currentColor;
        height: 1.8rem;
        margin-left: 0.2rem;
        width: 1.8rem;
}

.story-film__play b,
.story-film__play small {
        font-size: 0.65rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
}

.story-film__play b {
        margin-left: 1.5rem;
}

.story-film__play small {
        align-self: end;
        color: rgba(255, 255, 255, 0.74);
}

.story-film__play:hover > span,
.story-film__play:focus-visible > span {
        transform: scale(1.08);
}

.story-film__loading {
        background: rgba(8, 7, 6, 0.82);
        bottom: 1.8rem;
        font-size: 0.6rem;
        font-weight: 700;
        left: 50%;
        letter-spacing: 0.12em;
        padding: 0.8rem 1rem;
        position: absolute;
        text-transform: uppercase;
        transform: translateX(-50%);
        z-index: 4;
}

.story-film__player.is-loading .story-film__play {
        opacity: 0.55;
        pointer-events: none;
}

.story-film__player.is-playing .story-film__play,
.story-film__player.is-playing::after {
        opacity: 0;
        pointer-events: none;
}

.story-values {
        padding: clamp(5rem, 10vw, 10rem) clamp(1.5rem, 3vw, 3rem);
}

.home-point-of-view {
        background: #f2eee7;
        color: #17130f;
}

.story-values__inner > header {
        align-items: end;
        display: grid;
        gap: 2rem;
        grid-template-columns: auto minmax(0, 1fr);
}

.story-values__inner > header h2 {
        font-size: clamp(3.5rem, 7vw, 7rem);
        justify-self: end;
        max-width: 9ch;
}

.story-values__grid {
        border-top: 1px solid rgba(23, 19, 15, 0.3);
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: clamp(3rem, 6vw, 6rem);
}

.story-values__grid article {
        min-height: 27rem;
        padding: clamp(1.5rem, 3vw, 3rem);
}

.story-values__grid article + article {
        border-left: 1px solid rgba(23, 19, 15, 0.22);
}

.story-values__grid article > span {
        color: #8a633f;
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.16em;
}

.story-values__grid h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.3rem, 3.7vw, 4rem);
        font-weight: 500;
        letter-spacing: -0.045em;
        line-height: 0.94;
        margin: clamp(3rem, 8vw, 8rem) 0 1.5rem;
        max-width: 8ch;
}

.story-values__grid p {
        color: rgba(23, 19, 15, 0.68);
        font-size: 0.92rem;
        line-height: 1.85;
        max-width: 26rem;
}

.story-page__closing {
        align-items: center;
        background: #a57b4f;
        color: #fff;
        display: flex;
        flex-direction: column;
        padding: clamp(5rem, 11vw, 11rem) 1.5rem;
        text-align: center;
}

.story-page__closing > span {
        font-size: 0.65rem;
        font-weight: 800;
        letter-spacing: 0.2em;
        text-transform: uppercase;
}

.story-page__closing h2 {
        font-size: clamp(3.3rem, 7.5vw, 7.5rem);
        margin: 1.5rem 0 2.5rem;
}

/* Contact page */
.contact-page-body {
        background: #eee9e1;
}

.contact-page {
        background: #eee9e1;
        color: #111;
        overflow: hidden;
}

.contact-hero {
        background: #000;
        color: #fff;
        min-height: min(54rem, calc(100svh - 5rem));
        overflow: hidden;
        padding: clamp(2rem, 4vw, 4rem) clamp(1.5rem, 3vw, 3rem) clamp(3rem, 5vw, 5rem);
        position: relative;
}

.contact-hero::after {
        background: #a57b4f;
        border-radius: 50%;
        bottom: clamp(3rem, 8vw, 7rem);
        content: "";
        height: clamp(0.5rem, 0.8vw, 0.8rem);
        position: absolute;
        right: clamp(1.5rem, 4vw, 4rem);
        width: clamp(0.5rem, 0.8vw, 0.8rem);
}

.contact-hero__word {
        color: rgba(255, 255, 255, 0.045);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(12rem, 26vw, 29rem);
        font-weight: 500;
        left: -0.035em;
        letter-spacing: -0.095em;
        line-height: 0.72;
        pointer-events: none;
        position: absolute;
        top: 13%;
        white-space: nowrap;
}

.contact-hero__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(20rem, 1.2fr);
        grid-template-rows: auto 1fr auto;
        min-height: min(45rem, calc(100svh - 13rem));
        position: relative;
        z-index: 1;
}

.contact-hero__crumbs {
        align-items: center;
        display: flex;
        font-size: 0.65rem;
        font-weight: 700;
        gap: 0.8rem;
        grid-column: 1 / -1;
        letter-spacing: 0.16em;
        text-transform: uppercase;
}

.contact-hero__crumbs a,
.contact-hero__crumbs span {
        color: rgba(255, 255, 255, 0.62);
}

.contact-hero__crumbs a:hover {
        color: #fff;
}

.contact-hero__heading {
        align-self: center;
        grid-column: 1 / -1;
        padding: clamp(4rem, 10vw, 9rem) 0 clamp(3rem, 7vw, 6rem);
}

.contact-hero__heading > p,
.contact-section-heading > p,
.contact-enquiries__intro > p,
.contact-social__headline > p {
        font-size: 0.66rem;
        font-weight: 800;
        letter-spacing: 0.2em;
        text-transform: uppercase;
}

.contact-hero__heading > p {
        color: #caa77f;
        margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.contact-hero h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(5rem, 10vw, 10.5rem);
        font-weight: 500;
        letter-spacing: -0.065em;
        line-height: 0.76;
        margin: 0;
        max-width: 9ch;
}

.contact-hero__foot {
        align-items: end;
        display: grid;
        gap: 2rem;
        grid-column: 2;
        grid-template-columns: minmax(0, 1fr) auto;
}

.contact-hero__foot > p {
        color: rgba(255, 255, 255, 0.65);
        font-size: clamp(0.85rem, 1.1vw, 1rem);
        line-height: 1.9;
        margin: 0;
        max-width: 36rem;
}

.contact-hero__foot > a {
        border-bottom: 1px solid rgba(255, 255, 255, 0.35);
        color: #fff;
        font-size: 0.7rem;
        font-weight: 800;
        letter-spacing: 0.13em;
        padding: 0 0 0.65rem;
        text-transform: uppercase;
        white-space: nowrap;
}

.contact-hero__foot > a span {
        display: inline-block;
        margin-left: 0.7rem;
        transition: transform 180ms ease;
}

.contact-hero__foot > a:hover span {
        transform: translate(0.2rem, -0.2rem);
}

.contact-directory,
.contact-social {
        padding: clamp(5rem, 10vw, 10rem) clamp(1.5rem, 3vw, 3rem);
}

.contact-section-heading {
        align-items: end;
        display: grid;
        gap: 2rem;
        grid-template-columns: minmax(9rem, 0.55fr) minmax(0, 1.45fr);
}

.contact-section-heading > p,
.contact-social__headline > p {
        color: #8a633f;
}

.contact-section-heading h2,
.contact-enquiries__intro h2,
.contact-social__headline h2,
.contact-closing h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4rem, 7.2vw, 7.7rem);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 0.82;
        margin: 0;
}

.contact-directory__grid {
        border-bottom: 1px solid rgba(17, 17, 17, 0.25);
        border-top: 1px solid rgba(17, 17, 17, 0.25);
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: clamp(3.5rem, 7vw, 7rem);
}

.contact-directory__grid article {
        display: flex;
        flex-direction: column;
        gap: clamp(2rem, 4vw, 4rem);
        justify-content: space-between;
        min-height: 24rem;
        padding: clamp(1.5rem, 3vw, 3rem);
}

.contact-directory__grid article + article {
        border-left: 1px solid rgba(17, 17, 17, 0.2);
}

.contact-directory__grid article > span:first-child,
.contact-directory__grid article small {
        color: #8a633f;
        font-size: 0.62rem;
        font-style: normal;
        font-weight: 800;
        letter-spacing: 0.17em;
        text-transform: uppercase;
}

.contact-directory__grid h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2.45rem, 3.5vw, 3.8rem);
        font-weight: 500;
        letter-spacing: -0.05em;
        line-height: 0.95;
        margin: 0.8rem 0 1.25rem;
}

.contact-directory__grid article div > p {
        color: rgba(17, 17, 17, 0.65);
        font-size: 0.84rem;
        line-height: 1.8;
        margin: 0;
        max-width: 22rem;
}

.contact-directory__grid article > a,
.contact-directory__placeholder {
        align-items: center;
        border-top: 1px solid rgba(17, 17, 17, 0.2);
        color: #111;
        display: flex;
        font-size: clamp(0.72rem, 1vw, 0.88rem);
        font-weight: 700;
        gap: 1rem;
        justify-content: space-between;
        letter-spacing: 0.02em;
        padding-top: 1.25rem;
}

.contact-directory__grid article > a i {
        font-size: 1.15rem;
        font-style: normal;
        transition: transform 180ms ease;
}

.contact-directory__grid article > a:hover i {
        transform: translate(0.2rem, -0.2rem);
}

.contact-directory__placeholder small {
        color: rgba(17, 17, 17, 0.42);
        font-size: 0.52rem;
}

.contact-enquiries {
        background: #000;
        color: #fff;
        display: grid;
        gap: clamp(4rem, 8vw, 9rem);
        grid-template-columns: minmax(18rem, 0.8fr) minmax(0, 1.2fr);
        padding: clamp(5rem, 10vw, 10rem) clamp(1.5rem, 3vw, 3rem);
}

.contact-enquiries__intro {
        align-self: start;
        position: sticky;
        top: 8rem;
}

.contact-enquiries__intro > p {
        color: #caa77f;
        margin-bottom: clamp(2rem, 4vw, 4rem);
}

.contact-enquiries__intro h2 {
        font-size: clamp(4rem, 6.5vw, 7rem);
}

.contact-enquiries__intro > span {
        color: rgba(255, 255, 255, 0.55);
        display: block;
        font-size: 0.82rem;
        line-height: 1.85;
        margin-top: 2.5rem;
        max-width: 25rem;
}

.contact-enquiries__list {
        border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.contact-enquiries__list > a {
        align-items: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.25);
        color: #fff;
        display: grid;
        gap: 1.5rem;
        grid-template-columns: auto minmax(0, 1fr) auto;
        min-height: 10.5rem;
        padding: 1.5rem 0;
        transition: background-color 200ms ease, padding 200ms ease;
}

.contact-enquiries__list > a:hover {
        background: #fff;
        color: #000;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
}

.contact-enquiries__list > a > span {
        color: #caa77f;
        font-size: 0.6rem;
        font-weight: 800;
        letter-spacing: 0.16em;
}

.contact-enquiries__list h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2rem, 3.4vw, 3.6rem);
        font-weight: 500;
        letter-spacing: -0.045em;
        line-height: 1;
        margin: 0 0 0.65rem;
}

.contact-enquiries__list p {
        color: rgba(255, 255, 255, 0.5);
        font-size: 0.78rem;
        line-height: 1.7;
        margin: 0;
        max-width: 34rem;
        transition: color 200ms ease;
}

.contact-enquiries__list > a:hover p {
        color: rgba(0, 0, 0, 0.62);
}

.contact-enquiries__list i {
        font-size: 1.5rem;
        font-style: normal;
}

.contact-social {
        background: #f7f4ef;
}

.contact-social__headline {
        display: grid;
        gap: 2rem;
        grid-template-columns: minmax(9rem, 0.55fr) minmax(0, 1.45fr);
}

.contact-social__grid {
        border-left: 1px solid rgba(17, 17, 17, 0.2);
        border-top: 1px solid rgba(17, 17, 17, 0.2);
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        margin-top: clamp(3.5rem, 7vw, 7rem);
}

.contact-social__grid > a,
.contact-social__grid > span {
        border-bottom: 1px solid rgba(17, 17, 17, 0.2);
        border-right: 1px solid rgba(17, 17, 17, 0.2);
        color: #111;
        display: grid;
        grid-template-columns: 1fr auto;
        min-height: 17rem;
        padding: clamp(1.25rem, 2.5vw, 2.5rem);
        transition: background-color 200ms ease, color 200ms ease;
}

.contact-social__grid > a:hover {
        background: #000;
        color: #fff;
}

.contact-social__grid small {
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.16em;
}

.contact-social__grid strong {
        align-self: end;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2rem, 3vw, 3.2rem);
        font-weight: 500;
        grid-column: 1 / -1;
        letter-spacing: -0.04em;
}

.contact-social__grid em {
        align-self: end;
        color: rgba(17, 17, 17, 0.5);
        font-size: 0.63rem;
        font-style: normal;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
}

.contact-social__grid > a:hover em {
        color: rgba(255, 255, 255, 0.58);
}

.contact-social__grid i {
        align-self: end;
        font-size: 1.15rem;
        font-style: normal;
}

.contact-social__grid .is-unavailable {
        color: rgba(17, 17, 17, 0.46);
}

.contact-closing {
        align-items: center;
        background: #000;
        color: #fff;
        display: flex;
        flex-direction: column;
        padding: clamp(6rem, 12vw, 12rem) 1.5rem;
        text-align: center;
}

.contact-closing > span {
        color: #caa77f;
        font-size: 0.63rem;
        font-weight: 800;
        letter-spacing: 0.2em;
        text-transform: uppercase;
}

.contact-closing h2 {
        margin: 2rem 0;
        max-width: 11ch;
}

.contact-closing > p {
        color: rgba(255, 255, 255, 0.55);
        font-size: 0.82rem;
        line-height: 1.8;
        margin: 0 0 2.5rem;
        max-width: 30rem;
}

.contact-closing .button {
        background: #fff;
        border-color: #fff;
        color: #000;
}

.contact-form {
        border-top: 1px solid rgba(255, 255, 255, 0.25);
        padding-top: clamp(2rem, 4vw, 4rem);
        position: relative;
        scroll-margin-top: 6rem;
}

.contact-form__guard {
        height: 1px;
        left: -10000px;
        overflow: hidden;
        position: absolute;
        top: auto;
        width: 1px;
}

.contact-form__notice {
        border: 1px solid rgba(255, 255, 255, 0.35);
        color: #fff;
        font-size: 0.78rem;
        line-height: 1.7;
        margin-bottom: 2rem;
        padding: 1rem 1.25rem;
}

.contact-form__notice.is-success {
        background: #f4efe8;
        border-color: #f4efe8;
        color: #17130f;
}

.contact-form__notice.is-error {
        border-color: #b77272;
        color: #f3b8b8;
}

.contact-form__grid {
        display: grid;
        gap: 2rem 1.5rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-form__grid > label,
.contact-form__consent {
        display: flex;
        flex-direction: column;
        gap: 0.7rem;
}

.contact-form__grid > label > span {
        color: rgba(255, 255, 255, 0.76);
        font-size: 0.61rem;
        font-weight: 800;
        letter-spacing: 0.15em;
        text-transform: uppercase;
}

.contact-form__grid > label > span i {
        color: #caa77f;
        font-size: 0.52rem;
        font-style: normal;
        margin-left: 0.45rem;
}

.contact-form__grid input,
.contact-form__grid select,
.contact-form__grid textarea {
        background: transparent;
        border: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.32);
        border-radius: 0;
        color: #fff;
        font: inherit;
        font-size: 0.88rem;
        outline: 0;
        padding: 0.8rem 0 1rem;
        width: 100%;
}

.contact-form__grid select {
        color-scheme: dark;
}

.contact-form__grid textarea {
        border: 1px solid rgba(255, 255, 255, 0.32);
        line-height: 1.8;
        min-height: 13rem;
        padding: 1.25rem;
        resize: vertical;
}

.contact-form__grid input:focus,
.contact-form__grid select:focus,
.contact-form__grid textarea:focus {
        border-color: #caa77f;
}

.contact-form__grid input:-webkit-autofill,
.contact-form__grid input:-webkit-autofill:hover,
.contact-form__grid input:-webkit-autofill:focus {
        -webkit-text-fill-color: #fff;
        box-shadow: 0 0 0 1000px #000 inset;
        transition: background-color 9999s ease-out;
}

.contact-form__wide {
        grid-column: 1 / -1;
}

.contact-form__grid label > small,
.contact-form__consent > small {
        color: #f3b8b8;
        font-size: 0.66rem;
        line-height: 1.5;
        min-height: 1em;
}

.contact-form__grid label.has-error input,
.contact-form__grid label.has-error select,
.contact-form__grid label.has-error textarea {
        border-color: #b77272;
}

.contact-form__consent {
        display: grid;
        gap: 0.75rem 1rem;
        grid-template-columns: auto minmax(0, 1fr);
        margin-top: 2rem;
}

.contact-form__consent input {
        accent-color: #a57b4f;
        height: 1rem;
        margin-top: 0.2rem;
        width: 1rem;
}

.contact-form__consent > span {
        color: rgba(255, 255, 255, 0.62);
        font-size: 0.72rem;
        line-height: 1.7;
}

.contact-form__consent > small {
        grid-column: 2;
}

.contact-form > footer {
        align-items: center;
        border-top: 1px solid rgba(255, 255, 255, 0.25);
        display: flex;
        gap: 2rem;
        justify-content: space-between;
        margin-top: 2rem;
        padding-top: 2rem;
}

.contact-form > footer p {
        color: rgba(255, 255, 255, 0.5);
        font-size: 0.65rem;
        line-height: 1.65;
        margin: 0;
        max-width: 25rem;
}

.contact-form > footer p strong {
        color: #fff;
}

.contact-form > footer button {
        background: #fff;
        border: 1px solid #fff;
        color: #000;
        cursor: pointer;
        font-size: 0.65rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        min-width: 12rem;
        padding: 1rem 1.25rem;
        text-transform: uppercase;
}

.contact-form > footer button:disabled {
        cursor: wait;
        opacity: 0.6;
}

.contact-social__grid {
        align-items: center;
        border: 0;
        display: flex;
        flex-wrap: wrap;
        gap: 0.8rem;
        justify-content: center;
        margin: clamp(2.5rem, 5vw, 5rem) auto 0;
        max-width: min(100%, 32rem);
        width: fit-content;
}

.contact-social__grid > a {
        align-items: center;
        background: transparent;
        border: 1px solid rgba(17, 17, 17, 0.28);
        border-radius: 999px;
        color: #111;
        display: inline-flex;
        border-radius: 50%;
        gap: 0;
        height: 3rem;
        justify-content: center;
        min-height: 0;
        padding: 0;
        transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
        width: 3rem;
}

.contact-social__grid > a:hover {
        background: #000;
        color: #fff;
        transform: translateY(-0.15rem);
}

.contact-social__grid > a > i {
        align-self: auto;
        font-size: 0.6rem;
        font-style: normal;
        font-weight: 800;
        letter-spacing: -0.02em;
}

.contact-form-disclosure {
        align-self: start;
        border-bottom: 1px solid rgba(255, 255, 255, 0.25);
        border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.contact-form-disclosure > summary {
        align-items: center;
        cursor: pointer;
        display: flex;
        gap: 2rem;
        justify-content: space-between;
        list-style: none;
        min-height: 10rem;
        padding: 1.5rem 0;
}

.contact-form-disclosure > summary::-webkit-details-marker {
        display: none;
}

.contact-form-disclosure > summary span {
        display: grid;
        gap: 0.65rem;
}

.contact-form-disclosure > summary small {
        color: #caa77f;
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.17em;
        text-transform: uppercase;
}

.contact-form-disclosure > summary strong {
        color: #fff;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(2rem, 3.5vw, 3.6rem);
        font-weight: 500;
        letter-spacing: -0.045em;
}

.contact-form-disclosure > summary > i {
        border: 1px solid rgba(255, 255, 255, 0.5);
        border-radius: 50%;
        flex: 0 0 3.25rem;
        height: 3.25rem;
        position: relative;
        transition: background-color 180ms ease, transform 220ms ease;
        width: 3.25rem;
}

.contact-form-disclosure > summary > i::before,
.contact-form-disclosure > summary > i::after {
        background: #fff;
        content: "";
        height: 1px;
        left: 50%;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 0.85rem;
}

.contact-form-disclosure > summary > i::after {
        transform: translate(-50%, -50%) rotate(90deg);
}

.contact-form-disclosure > summary:hover > i {
        background: #a57b4f;
        border-color: #a57b4f;
}

.contact-form-disclosure[open] > summary > i {
        transform: rotate(45deg);
}

.contact-form-disclosure__open,
.contact-form-disclosure[open] .contact-form-disclosure__closed {
        display: none !important;
}

.contact-form-disclosure[open] .contact-form-disclosure__open {
        display: grid !important;
}

.contact-form-disclosure[open] .contact-form {
        animation: contact-form-reveal 260ms ease both;
        padding-bottom: clamp(2rem, 4vw, 4rem);
}

@keyframes contact-form-reveal {
        from { opacity: 0; transform: translateY(-0.75rem); }
        to { opacity: 1; transform: translateY(0); }
}

.contact-form__grid select,
.contact-form__grid select option {
        background: #fff;
        color: #111;
        color-scheme: light;
}

.contact-form__grid select {
        padding-left: 0.8rem;
}

.contact-social__grid > a[data-social-provider] > i {
        font-family: "Font Awesome 6 Brands";
        font-size: 0;
        font-style: normal;
        font-weight: 400;
        letter-spacing: 0;
}

.contact-social__grid > a[data-social-provider] > i::before {
        font-size: 1rem;
}

.contact-social__grid > a[data-social-provider="instagram"] > i::before { content: "\f16d"; }
.contact-social__grid > a[data-social-provider="facebook"] > i::before { content: "\f39e"; }
.contact-social__grid > a[data-social-provider="tiktok"] > i::before { content: "\e07b"; }
.contact-social__grid > a[data-social-provider="x"] > i::before { content: "\e61f"; }
.contact-social__grid > a[data-social-provider="threads"] > i::before { content: "\e618"; }
.contact-social__grid > a[data-social-provider="youtube"] > i::before { content: "\f167"; }
.contact-social__grid > a[data-social-provider="pinterest"] > i::before { content: "\f231"; }
.contact-social__grid > a[data-social-provider="linkedin"] > i::before { content: "\f0e1"; }
.contact-social__grid > a[data-social-provider="whatsapp"] > i::before { content: "\f232"; }
.contact-social__grid > a[data-social-provider="snapchat"] > i::before { content: "\f2ab"; }
.contact-social__grid > a[data-social-provider="telegram"] > i::before { content: "\f2c6"; }
.contact-social__grid > a[data-social-provider="behance"] > i::before { content: "\f1b4"; }
.contact-social__grid > a[data-social-provider="vimeo"] > i::before { content: "\f27d"; }
.contact-social__grid > a[data-social-provider="tumblr"] > i::before { content: "\f173"; }
.contact-social__grid > a[data-social-provider="medium"] > i::before { content: "\f23a"; }

.contact-social__grid > a[data-social-provider="website"] > i {
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
}

.contact-social__grid > a[data-social-provider="website"] > i::before { content: "\f0c1"; }

.site-whatsapp {
        align-items: flex-end;
        bottom: max(1.5rem, env(safe-area-inset-bottom));
        display: flex;
        flex-direction: column;
        gap: 0.8rem;
        position: fixed;
        right: max(1.5rem, env(safe-area-inset-right));
        z-index: 180;
}

.site-whatsapp__panel[hidden] {
        display: none;
}

.site-whatsapp__panel {
        background: #000;
        border: 1px solid rgba(191, 157, 102, 0.7);
        box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.28);
        color: #fff;
        max-width: calc(100vw - 2rem);
        opacity: 0;
        overflow: hidden;
        pointer-events: none;
        transform: translateY(0.75rem) scale(0.98);
        transform-origin: right bottom;
        transition: opacity 0.22s ease, transform 0.22s ease;
        width: 21rem;
}

.site-whatsapp.is-open .site-whatsapp__panel {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0) scale(1);
}

.site-whatsapp__header {
        align-items: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
        display: flex;
        justify-content: space-between;
        padding: 1rem 1.1rem;
}

.site-whatsapp__header > div {
        display: grid;
        gap: 0.2rem;
}

.site-whatsapp__header span {
        color: #bf9d66;
        font-size: 0.53rem;
        font-weight: 800;
        letter-spacing: 0.17em;
        text-transform: uppercase;
}

.site-whatsapp__header strong {
        font-size: 0.75rem;
        font-weight: 600;
        letter-spacing: 0.04em;
}

.site-whatsapp__header button {
        align-items: center;
        background: transparent;
        border: 1px solid rgba(255, 255, 255, 0.2);
        color: #fff;
        cursor: pointer;
        display: flex;
        height: 2rem;
        justify-content: center;
        padding: 0;
        transition: border-color 0.2s ease, color 0.2s ease;
        width: 2rem;
}

.site-whatsapp__header button:hover,
.site-whatsapp__header button:focus-visible {
        border-color: #bf9d66;
        color: #bf9d66;
}

.site-whatsapp__header button svg,
.site-whatsapp__send svg {
        fill: none;
        height: 1rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.6;
        width: 1rem;
}

.site-whatsapp__content {
        padding: 1.35rem;
}

.site-whatsapp__mark {
        align-items: center;
        background: #25d366;
        border-radius: 50%;
        color: #fff;
        display: flex;
        height: 2.5rem;
        justify-content: center;
        margin-bottom: 1rem;
        width: 2.5rem;
}

.site-whatsapp__mark svg,
.site-whatsapp__launcher-icon svg {
        fill: currentColor;
        height: 1.35rem;
        width: 1.35rem;
}

.site-whatsapp__content h2 {
        color: #fff;
        font-family: "Cormorant Garamond", serif;
        font-size: 2rem;
        font-weight: 500;
        line-height: 1;
        margin: 0 0 0.65rem;
}

.site-whatsapp__content p {
        color: rgba(255, 255, 255, 0.72);
        font-size: 0.78rem;
        line-height: 1.65;
        margin: 0 0 1.25rem;
}

.site-whatsapp__send {
        align-items: center;
        background: #bf9d66;
        color: #000;
        display: flex;
        font-size: 0.62rem;
        font-weight: 800;
        justify-content: space-between;
        letter-spacing: 0.13em;
        min-height: 3.25rem;
        padding: 0 1rem;
        text-decoration: none;
        text-transform: uppercase;
        transition: background-color 0.2s ease, color 0.2s ease;
}

.site-whatsapp__send:hover,
.site-whatsapp__send:focus-visible {
        background: #fff;
        color: #000;
}

.site-whatsapp__launcher {
        align-items: center;
        background: #000;
        border: 1px solid rgba(191, 157, 102, 0.82);
        box-shadow: 0 0.85rem 2.5rem rgba(0, 0, 0, 0.2);
        color: #fff;
        cursor: pointer;
        display: flex;
        font-size: 0.62rem;
        font-weight: 800;
        gap: 0.7rem;
        letter-spacing: 0.08em;
        min-height: 3.5rem;
        padding: 0.45rem 1rem 0.45rem 0.55rem;
        text-transform: uppercase;
        transition: background-color 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
}

.site-whatsapp__launcher:hover,
.site-whatsapp__launcher:focus-visible,
.site-whatsapp.is-open .site-whatsapp__launcher {
        background: #17130d;
        border-color: #bf9d66;
        transform: translateY(-0.12rem);
}

.site-whatsapp__launcher-icon {
        align-items: center;
        background: #25d366;
        border-radius: 50%;
        color: #fff;
        display: flex;
        flex: 0 0 auto;
        height: 2.4rem;
        justify-content: center;
        width: 2.4rem;
}

@media (max-width: 575.98px) {
        .site-whatsapp {
                bottom: max(1rem, env(safe-area-inset-bottom));
                right: max(1rem, env(safe-area-inset-right));
        }

        .site-whatsapp__panel {
                width: min(21rem, calc(100vw - 2rem));
        }

        .site-whatsapp__launcher {
                max-width: calc(100vw - 2rem);
        }
}

@media (prefers-reduced-motion: reduce) {
        .site-whatsapp__panel,
        .site-whatsapp__launcher {
                transition: none;
        }
}








/* Coupon controls */
.cart-coupon {
        margin: 18px 0;
        padding: 16px 0;
        border-top: 1px solid rgba(17, 17, 17, .18);
        border-bottom: 1px solid rgba(17, 17, 17, .18);
}
.cart-coupon label { display:block; margin-bottom:9px; font:700 10px/1.2 "Manrope", sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.cart-coupon > div { display:grid; grid-template-columns:minmax(0, 1fr) auto; }
.cart-coupon input { min-width:0; height:43px; padding:0 13px; border:1px solid #111; border-right:0; border-radius:0; background:#fff; color:#111; font:700 12px "Manrope", sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.cart-coupon button { min-width:76px; border:1px solid #111; background:#111; color:#fff; font:700 9px "Manrope", sans-serif; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.cart-coupon button:disabled { opacity:.55; cursor:wait; }
.cart-coupon p { min-height:16px; margin:8px 0 0; color:#8b2f26; font:500 10px/1.5 "Manrope", sans-serif; }
.cart-coupon p.is-success { color:#315b3b; }
.cart-coupon--drawer { margin:0 0 14px; padding:0 0 14px; border-top:0; }
.cart-summary__discount span, .cart-drawer__subtotal--discount span { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.cart-summary__discount b, .cart-drawer__subtotal--discount b { letter-spacing:.08em; }
.cart-summary__discount button, .cart-drawer__subtotal--discount button { padding:0; border:0; border-bottom:1px solid currentColor; background:transparent; color:inherit; font:600 8px "Manrope", sans-serif; text-transform:uppercase; cursor:pointer; }
.cart-summary__discount strong, .cart-drawer__subtotal--discount strong { color:#315b3b; }
.cart-summary__total--subtotal { padding-bottom:9px; border-bottom:0; }
.cart-summary__total--subtotal strong { font-size:17px; }
.cart-drawer__subtotal--total { margin-top:3px; padding-top:12px; border-top:1px solid rgba(255,255,255,.35); }
.cart-drawer__subtotal--total strong { font-size:21px; }
.cart-drawer .cart-coupon { border-color:rgba(255,255,255,.25); }
.cart-drawer .cart-coupon input { border-color:#fff; background:#fff; color:#111; }
.cart-drawer .cart-coupon button { border-color:#fff; background:#fff; color:#111; }
.cart-drawer .cart-coupon p { color:#f0b0a9; }
.cart-drawer .cart-coupon p.is-success { color:#b8ddb9; }
.checkout-order-summary__totals b { font-weight:700; letter-spacing:.06em; }
