*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-width: 20rem;
    color: var(--color-ink);
    background: var(--color-background);
    font-family: var(--font-utility);
    font-size: var(--type-body);
    line-height: var(--line-body);
    text-rendering: optimizeLegibility;
}

body,
button,
a {
    -webkit-font-smoothing: antialiased;
}

img,
svg {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.2em;
}

button,
a {
    font: inherit;
}

button:disabled {
    cursor: not-allowed;
    opacity: 0.72;
}

:focus-visible {
    outline: 0;
    box-shadow: var(--focus-ring);
}

.visually-hidden {
    position: absolute !important;
    width: 0.0625rem !important;
    height: 0.0625rem !important;
    padding: 0 !important;
    margin: -0.0625rem !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.container {
    width: min(100% - (2 * var(--page-gutter)), var(--content-max));
    margin-inline: auto;
}

.section {
    padding-block: var(--space-12);
}

.skip-link {
    position: fixed;
    z-index: 100;
    top: var(--space-4);
    left: var(--space-4);
    translate: 0 -200%;
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-control);
    color: var(--color-white);
    background: var(--color-brand-900);
}

.skip-link:focus {
    translate: 0;
}

.eyebrow {
    margin: 0 0 var(--space-4);
    color: var(--color-violet-text);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1.4;
    text-transform: uppercase;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1,
h2,
h3,
.wordmark {
    color: var(--color-brand-900);
    font-family: var(--font-display);
    font-weight: 400;
}

h1,
h2,
h3 {
    margin-bottom: var(--space-6);
    line-height: var(--line-display);
}

h1 {
    max-width: 11ch;
    font-size: var(--type-hero);
}

h1 span {
    color: var(--color-violet-text);
}

h2 {
    font-size: var(--type-section);
}

h3 {
    font-size: var(--type-card);
}

.button {
    display: inline-flex;
    min-height: 2.875rem;
    align-items: center;
    justify-content: center;
    padding: var(--space-3) var(--space-6);
    border: 0.0625rem solid transparent;
    border-radius: var(--radius-control);
    font-size: 0.9rem;
    font-weight: 650;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}

.button--primary {
    color: var(--color-white);
    background: var(--color-action);
}

.button--primary:hover {
    background: var(--color-action-hover);
}

.button--secondary {
    border-color: var(--color-action);
    color: var(--color-action);
    background: transparent;
}

.button--secondary:hover {
    color: var(--color-white);
    background: var(--color-action);
}

.button--danger {
    border-color: #7a2634;
    color: var(--color-white);
    background: #7a2634;
}

.button--danger:hover {
    border-color: #611b27;
    background: #611b27;
}

.text-link {
    color: var(--color-brand-900);
    font-size: 0.88rem;
    font-weight: 650;
}

.site-header {
    position: relative;
    z-index: 10;
    background: var(--color-background);
}

.site-header__inner {
    min-height: 4.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
}

.wordmark {
    display: inline-block;
    font-size: clamp(2rem, 6vw, 2.75rem);
    line-height: 1;
    text-decoration: none;
}

.desktop-navigation,
.desktop-only {
    display: none;
}

.site-header__actions {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.icon-button,
.menu-toggle {
    min-width: 2.75rem;
    min-height: 2.75rem;
    border: 0;
    color: var(--color-brand-900);
    background: transparent;
}

.icon-button {
    display: grid;
    place-items: center;
    padding: var(--space-2);
    border-radius: var(--radius-round);
    text-decoration: none;
}

.icon-button.desktop-only {
    display: none;
}

.icon-button svg {
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
}

.icon-button--wishlist {
    transition: color 160ms ease, background-color 160ms ease;
}

.icon-button--wishlist:hover,
.icon-button--wishlist[aria-current="page"] {
    color: var(--color-violet-text);
    background: var(--color-blush);
}

.menu-toggle {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2);
    cursor: pointer;
}

.menu-toggle__label {
    font-size: 0.8rem;
    font-weight: 650;
}

.menu-toggle__icon,
.menu-toggle__icon::before,
.menu-toggle__icon::after {
    width: 1.1rem;
    height: 0.0625rem;
    display: block;
    background: currentColor;
    transition: rotate 160ms ease, translate 160ms ease;
}

.menu-toggle__icon {
    position: relative;
}

.menu-toggle__icon::before,
.menu-toggle__icon::after {
    content: "";
    position: absolute;
    left: 0;
}

.menu-toggle__icon::before {
    translate: 0 -0.35rem;
}

.menu-toggle__icon::after {
    translate: 0 0.35rem;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon {
    background: transparent;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon::before {
    rotate: 45deg;
    translate: 0;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon::after {
    rotate: -45deg;
    translate: 0;
}

.mobile-navigation {
    border-block: 0.0625rem solid var(--color-border);
}

.js .mobile-navigation[hidden] {
    display: none;
}

.mobile-navigation__inner {
    display: grid;
    gap: var(--space-2);
    padding-block: var(--space-4) var(--space-6);
}

.mobile-navigation a {
    min-height: 2.75rem;
    display: flex;
    align-items: center;
    border-bottom: 0.0625rem solid var(--color-border);
    color: var(--color-brand-900);
    font-family: var(--font-display);
    font-size: 1.4rem;
    text-decoration: none;
}

.mobile-navigation a[aria-current="page"] {
    color: var(--color-violet-text);
    font-weight: 650;
}

.mobile-navigation__note {
    padding-top: var(--space-2);
    color: var(--color-muted);
    font-size: 0.78rem;
}

.hero {
    padding-top: var(--space-10);
}

.hero__layout {
    display: grid;
    gap: var(--space-8);
}

.hero__content {
    align-self: center;
}

.hero__copy {
    max-width: 34rem;
    margin-bottom: var(--space-8);
}

.fixture {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: var(--radius-image);
    background: var(--color-blush);
}

.fixture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fixture--hero {
    aspect-ratio: 1;
    background: var(--color-background);
}

.fixture--hero img {
    object-fit: contain;
}

.benefits {
    padding-block: var(--space-4) var(--space-10);
}

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

.benefit {
    display: grid;
    justify-items: center;
    gap: var(--space-3);
    color: var(--color-brand-900);
    font-size: 0.72rem;
    line-height: 1.45;
    text-align: center;
}

.benefit svg {
    width: 1.75rem;
    height: 1.75rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.2;
}

.section-heading {
    margin-bottom: var(--space-8);
}

.collections {
    padding-top: var(--space-8);
}

.section-heading h2 {
    margin-bottom: 0;
}

.section-heading .text-link {
    display: inline-block;
    margin-top: var(--space-4);
}

.collections__grid {
    display: grid;
    gap: var(--space-10);
}

.collection-card__content {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-4);
    padding-top: var(--space-4);
}

.collection-card h3 {
    margin-bottom: var(--space-1);
}

.collection-card h2 {
    margin-bottom: var(--space-1);
    font-size: inherit;
}

.collection-card__placeholder {
    width: 100%;
    height: 100%;
    min-height: 18rem;
    display: grid;
    place-items: center;
    color: var(--color-violet-text);
    background: linear-gradient(145deg, var(--color-surface-warm), var(--color-surface-green));
    font-family: var(--font-display);
    font-size: 2rem;
}

.collection-card p {
    margin-bottom: 0;
    color: var(--color-muted);
    font-size: 0.82rem;
}

.fixture--collection {
    aspect-ratio: 1 / 1.05;
}

.circle-link {
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border: 0.0625rem solid var(--color-sage-500);
    border-radius: var(--radius-round);
    color: var(--color-brand-900);
    font-size: 1.15rem;
    text-decoration: none;
    transition: color 160ms ease, background-color 160ms ease;
}

.circle-link:hover {
    color: var(--color-white);
    background: var(--color-action);
}

.story__panel {
    display: grid;
    gap: var(--space-6);
    overflow: hidden;
    padding: var(--space-6);
    border-radius: var(--radius-panel);
    background: var(--color-blush);
}

.story__content {
    align-self: center;
}

.story__content p:not(.eyebrow) {
    max-width: 36rem;
}

.fixture--story {
    width: calc(100% + var(--space-6));
    max-width: none;
    justify-self: center;
    margin-inline: calc(var(--space-3) * -1);
    aspect-ratio: 1.18 / 1;
    background: var(--color-blush);
}

.about__layout {
    display: grid;
    gap: var(--space-10);
}

.fixture--maker {
    aspect-ratio: 4 / 3;
    background: var(--color-background);
}

.about__content {
    align-self: center;
}

.about__content > p:not(.eyebrow) {
    max-width: 38rem;
}

.fixture-copy-note {
    color: var(--color-muted);
    font-size: 0.78rem;
    font-style: italic;
}

.wish-piece__panel {
    position: relative;
    display: grid;
    gap: var(--space-8);
    overflow: hidden;
    padding: var(--space-8);
    border-radius: var(--radius-panel);
    background: var(--color-blush);
}

.wish-piece__content h2,
.wish-page__process h2,
.wish-page__agreement h2 {
    max-width: 12ch;
}

.wish-piece__copy,
.wish-piece__aside > p {
    max-width: 38rem;
}

.wish-piece__preferences {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0;
    margin: var(--space-8) 0 0;
    border-block: 0.0625rem solid var(--color-border);
    list-style: none;
}

.wish-piece__preferences li {
    padding-block: var(--space-3);
    color: var(--color-brand-900);
    font-family: var(--font-display);
    font-size: 1.1rem;
}

.wish-piece__aside {
    align-self: end;
}

.wish-piece__actions {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-4);
}

.wish-page__intro {
    padding-top: var(--space-10);
}

.wish-page__intro-layout,
.wish-page__process-layout,
.wish-page__agreement-layout {
    display: grid;
    gap: var(--space-10);
}

.wish-page__intro-copy {
    align-self: center;
}

.wish-page__intro h1 {
    max-width: 11ch;
}

.wish-page__lead {
    max-width: 38rem;
    margin-bottom: var(--space-8);
}

.fixture--wish-maker {
    aspect-ratio: 4 / 3;
    background: var(--color-background);
}

.wish-page__process {
    background: var(--color-blush);
}

.wish-page__steps {
    padding: 0;
    margin: 0;
    border-top: 0.0625rem solid var(--color-border);
    list-style: none;
}

.wish-page__steps li {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: var(--space-4);
    padding-block: var(--space-6);
    border-bottom: 0.0625rem solid var(--color-border);
}

.wish-page__steps li > span {
    color: var(--color-violet-text);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.wish-page__steps h3 {
    margin-bottom: var(--space-2);
    font-size: clamp(1.4rem, 5vw, 1.75rem);
}

.wish-page__steps p,
.wish-page__agreement p {
    max-width: 38rem;
    margin-bottom: 0;
    color: var(--color-muted);
}

.wish-page__agreement .button {
    margin-top: var(--space-6);
}

.shop-catalog {
    padding-top: var(--space-6);
}

.wishlist-page {
    padding-top: var(--space-6);
}

.wishlist-page__intro {
    max-width: 38rem;
    margin-bottom: var(--space-10);
}

.wishlist-page__intro h1 {
    max-width: none;
    margin-bottom: var(--space-4);
    font-size: clamp(2.6rem, 7vw, 3.35rem);
}

.wishlist-page__intro p:last-child {
    margin-bottom: 0;
    color: var(--color-muted);
}

.wishlist-empty {
    max-width: 42rem;
    padding: var(--space-8);
    border-radius: var(--radius-panel);
    background: var(--color-blush);
}

.wishlist-empty h2 {
    margin-bottom: var(--space-3);
    font-size: clamp(1.75rem, 6vw, 2.35rem);
}

.wishlist-empty p {
    max-width: 32rem;
    margin-bottom: var(--space-6);
    color: var(--color-muted);
}

.wishlist-page__grid[hidden],
.wishlist-empty[hidden] {
    display: none;
}

.shop-catalog h1 {
    max-width: none;
    margin-bottom: var(--space-6);
    font-size: clamp(2.6rem, 7vw, 3.35rem);
}

.shop-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding-bottom: var(--space-3);
    margin-bottom: var(--space-8);
    border-bottom: 0.0625rem solid var(--color-border);
}

.shop-preview-control {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: 0;
    border: 0;
    color: var(--color-ink);
    background: transparent;
    font-size: 0.8rem;
    font-weight: 650;
}

.shop-preview-control:disabled {
    cursor: not-allowed;
    opacity: 1;
}

.shop-preview-control svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
}

.product-grid {
    display: grid;
    gap: var(--space-12);
}

.product-card__media {
    position: relative;
}

.product-card__image-link {
    display: block;
    border-radius: var(--radius-image);
    text-decoration: none;
}

.fixture--product {
    aspect-ratio: 1 / 1.03;
}

.wishlist-toggle {
    position: absolute;
    top: var(--space-3);
    right: var(--space-3);
    width: 2.75rem;
    height: 2.75rem;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0.0625rem solid rgb(255 255 255 / 72%);
    border-radius: var(--radius-round);
    color: var(--color-brand-900);
    background: rgb(252 250 249 / 88%);
    cursor: pointer;
    transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.wishlist-toggle:hover {
    color: var(--color-violet-text);
    transform: translateY(-0.1rem);
}

.wishlist-toggle[aria-pressed="true"] {
    color: var(--color-white);
    background: var(--color-violet-text);
}

.wishlist-toggle svg {
    width: 1.3rem;
    height: 1.3rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
}

.wishlist-toggle[aria-pressed="true"] svg {
    fill: currentColor;
}

.product-card__details {
    padding-top: var(--space-4);
}

.product-card__heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-4);
}

.product-card h2 {
    margin-bottom: var(--space-2);
    font-size: clamp(1.4rem, 3vw, 1.75rem);
}

.product-card h2 a {
    text-decoration: none;
}

.product-card h2 a:hover,
.product-card h2 a:focus-visible {
    color: var(--color-violet-text);
}

.product-card__price {
    flex: 0 0 auto;
    margin-bottom: var(--space-2);
    color: var(--color-brand-900);
    font-size: 0.88rem;
    font-weight: 700;
}

.product-card__description {
    margin-bottom: 0;
    color: var(--color-muted);
    font-size: 0.82rem;
}

.product-detail {
    padding-top: var(--space-6);
}

.breadcrumb {
    margin-bottom: var(--space-6);
    color: var(--color-muted);
    font-size: 0.78rem;
}

.breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    padding: 0;
    margin: 0;
    list-style: none;
}

.breadcrumb li {
    list-style: none;
}

.breadcrumb li::marker {
    content: "";
}

.breadcrumb li + li::before {
    content: "/";
    margin-right: var(--space-2);
    color: var(--color-border);
}

.product-detail__layout {
    display: grid;
    gap: var(--space-8);
}

.fixture--product-detail {
    width: 100%;
    aspect-ratio: 1;
}

.product-detail__info {
    align-self: start;
}

.product-detail__info h1 {
    max-width: none;
    margin-bottom: var(--space-3);
    font-size: clamp(2.4rem, 8vw, 3rem);
}

.product-detail__price {
    margin-bottom: var(--space-6);
    color: var(--color-brand-900);
    font-size: 1.05rem;
    font-weight: 750;
}

.product-detail__description {
    max-width: 34rem;
    margin-bottom: var(--space-8);
}

.product-detail__benefits {
    display: grid;
    gap: var(--space-3);
    padding: var(--space-6) 0;
    margin: 0 0 var(--space-8);
    border-block: 0.0625rem solid var(--color-border);
    list-style: none;
}

.product-detail__benefits li {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    color: var(--color-brand-900);
    font-size: 0.86rem;
}

.product-detail__benefits svg {
    width: 1.15rem;
    height: 1.15rem;
    flex: 0 0 auto;
    fill: none;
    stroke: var(--color-violet-text);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.product-detail__actions {
    max-width: 25rem;
}

.quantity-preview {
    padding: 0;
    margin: 0 0 var(--space-6);
    border: 0;
}

.quantity-preview legend {
    padding: 0;
    margin-bottom: var(--space-2);
    color: var(--color-brand-900);
    font-size: 0.78rem;
    font-weight: 700;
}

.quantity-preview__control {
    width: 8.75rem;
    min-height: 2.75rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius-control);
    background: var(--color-white);
}

.quantity-preview__control button,
.quantity-preview__control output,
.quantity-preview__control input {
    display: grid;
    min-height: 2.75rem;
    place-items: center;
    padding: 0;
    border: 0;
    color: var(--color-muted);
    background: transparent;
    font-size: 0.85rem;
}

.quantity-preview__control input {
    width: 100%;
    text-align: center;
    appearance: textfield;
}

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

.quantity-preview__control button {
    cursor: pointer;
}

.quantity-preview__control button:disabled {
    cursor: not-allowed;
    opacity: 1;
}

.product-detail__cart {
    width: 100%;
    margin-bottom: var(--space-3);
}

.product-detail__cart:disabled {
    color: var(--color-white);
    background: var(--color-action);
    opacity: 0.8;
}

.cart-add-form {
    margin: 0;
}

.icon-button--cart[aria-current="page"] {
    color: var(--color-violet-text);
    background: var(--color-blush);
}

.cart-page {
    padding-top: var(--space-6);
}

.cart-page__intro {
    margin-bottom: var(--space-8);
}

.cart-page__intro h1,
.cart-empty h1 {
    margin-bottom: 0;
    font-size: clamp(2.6rem, 7vw, 3.35rem);
}

.cart-empty {
    max-width: 42rem;
    padding: var(--space-8);
    border-radius: var(--radius-panel);
    background: var(--color-blush);
}

.cart-empty h2 {
    margin-bottom: var(--space-3);
    font-size: clamp(1.75rem, 6vw, 2.35rem);
}

.cart-empty p {
    margin-bottom: var(--space-6);
    color: var(--color-muted);
}

.cart-layout,
.cart-items {
    display: grid;
    gap: var(--space-8);
}

.cart-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: var(--space-4);
    padding-bottom: var(--space-6);
    border-bottom: 0.0625rem solid var(--color-border);
}

.cart-item__image {
    width: min(100%, 16rem);
    aspect-ratio: 1;
    align-self: start;
    overflow: hidden;
    border-radius: var(--radius-image);
}

.cart-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-item__content,
.cart-item__actions,
.cart-update-form {
    display: grid;
    gap: var(--space-3);
}

.cart-item h2 {
    margin-bottom: var(--space-1);
    font-size: 1.3rem;
}

.cart-item h2 a {
    text-decoration: none;
}

.cart-item__unit-price,
.cart-item__line-total {
    color: var(--color-muted);
    font-size: 0.88rem;
}

.cart-item__line-total {
    display: flex;
    justify-content: space-between;
    gap: var(--space-3);
}

.cart-update-form {
    grid-template-columns: minmax(4.5rem, 5.5rem) minmax(7rem, max-content);
    align-items: end;
}

.cart-update-form label {
    grid-column: 1;
    color: var(--color-brand-900);
    font-size: 0.78rem;
    font-weight: 700;
}

.cart-update-form input {
    grid-column: 1;
    min-height: 2.875rem;
    padding: var(--space-2) var(--space-3);
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius-control);
}

.cart-update-form .button {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.text-button {
    padding: 0;
    border: 0;
    color: var(--color-violet-text);
    background: transparent;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 650;
    text-decoration: underline;
    cursor: pointer;
}

.cart-summary {
    padding: var(--space-6);
    border-radius: var(--radius-panel);
    background: var(--color-surface-warm);
}

.cart-summary h2 {
    margin-bottom: var(--space-5);
    font-size: 1.6rem;
}

.cart-summary dl,
.cart-summary dl div {
    margin: 0;
}

.cart-summary dl div {
    display: flex;
    justify-content: space-between;
    gap: var(--space-4);
    padding-block: var(--space-3);
    border-bottom: 0.0625rem solid var(--color-border);
}

.cart-summary dd {
    margin: 0;
    font-weight: 700;
}

.cart-summary__total {
    color: var(--color-brand-900);
    font-size: 1.08rem;
}

.cart-summary > .button {
    width: 100%;
    margin-top: var(--space-6);
}

.cart-summary > .button:disabled {
    cursor: not-allowed;
    opacity: 0.72;
}

.cart-summary__shipping p {
    color: var(--color-muted);
    font-size: 0.78rem;
}

.cart-summary__shipping {
    margin-top: var(--space-6);
    padding-top: var(--space-5);
    border-top: 0.0625rem solid var(--color-border);
}

.cart-summary__shipping h3 {
    margin-bottom: var(--space-3);
    font-size: 1rem;
}

.checkout-page {
    min-height: 38rem;
    padding-top: var(--space-6);
}

.checkout-page__intro {
    max-width: 42rem;
    margin-bottom: var(--space-8);
}

.checkout-page__intro h1 {
    max-width: 14ch;
    overflow-wrap: break-word;
    font-size: clamp(2.6rem, 8vw, 3.5rem);
}

.checkout-page__intro > p:not(.eyebrow) {
    max-width: 36rem;
    margin-bottom: 0;
    color: var(--color-muted);
}

.checkout-notice {
    max-width: 42rem;
    margin-bottom: var(--space-6);
    padding: var(--space-4) var(--space-5);
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius-control);
    color: var(--color-brand-900);
    background: var(--color-blush);
}

.checkout-required {
    max-width: 42rem;
    padding: var(--space-8);
    border-radius: var(--radius-panel);
    background: var(--color-blush);
}

.checkout-required h2 {
    max-width: 16ch;
    margin-bottom: var(--space-3);
    overflow-wrap: break-word;
    hyphens: auto;
    font-size: clamp(1.75rem, 6vw, 2.35rem);
}

.checkout-required > p {
    max-width: 34rem;
    margin-bottom: var(--space-6);
    color: var(--color-muted);
}

.checkout-actions {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-4);
}

.checkout-layout,
.checkout-main,
.checkout-sidebar {
    min-width: 0;
    display: grid;
    gap: var(--space-6);
}

.checkout-panel,
.checkout-summary,
.checkout-delivery {
    min-width: 0;
    padding: var(--space-6);
    border-radius: var(--radius-panel);
    background: var(--color-surface-warm);
}

.checkout-panel__heading {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-2) var(--space-4);
    margin-bottom: var(--space-5);
}

.checkout-panel__heading h2,
.checkout-summary h2,
.checkout-delivery h2 {
    margin-bottom: 0;
    font-size: clamp(1.5rem, 5vw, 1.9rem);
}

.checkout-items {
    display: grid;
    gap: var(--space-5);
    padding: 0;
    margin: 0;
    list-style: none;
}

.checkout-item {
    min-width: 0;
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    gap: var(--space-4);
    padding-top: var(--space-5);
    border-top: 0.0625rem solid var(--color-border);
}

.checkout-item__image {
    aspect-ratio: 1;
    align-self: start;
    overflow: hidden;
    border-radius: var(--radius-image);
}

.checkout-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.checkout-item__content {
    min-width: 0;
}

.checkout-item h3 {
    margin-bottom: var(--space-3);
    overflow-wrap: anywhere;
    font-size: 1.3rem;
}

.checkout-item h3 a {
    text-decoration: none;
}

.checkout-item__facts,
.checkout-item__facts div,
.checkout-customer,
.checkout-customer div,
.checkout-summary dl,
.checkout-summary dl div {
    margin: 0;
}

.checkout-item__facts {
    display: grid;
    gap: var(--space-2);
}

.checkout-item__facts div,
.checkout-customer div,
.checkout-summary dl div {
    min-width: 0;
    display: flex;
    justify-content: space-between;
    gap: var(--space-3);
}

.checkout-item__facts dt,
.checkout-customer dt {
    color: var(--color-muted);
    font-size: 0.76rem;
}

.checkout-item__facts dd,
.checkout-customer dd,
.checkout-summary dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--color-brand-900);
    font-size: 0.84rem;
    font-weight: 700;
    text-align: right;
}

.checkout-address {
    display: grid;
    gap: var(--space-1);
    padding-top: var(--space-4);
    border-top: 0.0625rem solid var(--color-border);
    color: var(--color-muted);
    font-style: normal;
    overflow-wrap: anywhere;
}

.checkout-customer {
    display: grid;
    gap: var(--space-3);
    padding-top: var(--space-4);
    border-top: 0.0625rem solid var(--color-border);
}

.checkout-summary {
    background: var(--color-blush);
}

.checkout-summary h2 {
    margin-bottom: var(--space-5);
}

.checkout-summary dl div {
    padding-block: var(--space-3);
    border-bottom: 0.0625rem solid var(--color-border);
}

.checkout-summary__total {
    color: var(--color-brand-900);
    font-size: 1.08rem;
}

.checkout-summary__total dd {
    font-size: 1rem;
}

.checkout-delivery {
    border: 0.0625rem solid var(--color-border);
    background: var(--color-background);
}

.checkout-delivery h2 {
    margin-bottom: var(--space-4);
}

.checkout-delivery p {
    margin-bottom: var(--space-3);
    color: var(--color-muted);
    font-size: 0.8rem;
}

.checkout-delivery p:last-child {
    margin-bottom: 0;
}

.checkout-submit {
    display: grid;
    gap: var(--space-4);
    padding-top: var(--space-2);
}

.checkout-submit .button {
    width: 100%;
}

.checkout-submit p {
    margin: 0;
    color: var(--color-muted);
    font-size: 0.78rem;
}

.checkout-confirmation {
    min-height: 38rem;
    padding-top: var(--space-6);
}

.checkout-confirmation__intro {
    max-width: 42rem;
    margin-bottom: var(--space-8);
}

.checkout-confirmation__intro h1 {
    max-width: 15ch;
    overflow-wrap: break-word;
    font-size: clamp(2.5rem, 8vw, 3.5rem);
}

.checkout-confirmation__intro > p:not(.eyebrow) {
    color: var(--color-muted);
}

.checkout-confirmation__layout {
    min-width: 0;
    display: grid;
    gap: var(--space-6);
}

.checkout-confirmation__layout .checkout-panel h2 {
    margin-bottom: var(--space-5);
    overflow-wrap: anywhere;
    font-size: clamp(1.45rem, 5vw, 1.9rem);
}

.checkout-confirmation__facts,
.checkout-confirmation__facts div {
    margin: 0;
}

.checkout-confirmation__facts {
    display: grid;
    gap: var(--space-3);
}

.checkout-confirmation__facts div,
.checkout-confirmation__items li {
    min-width: 0;
    display: flex;
    justify-content: space-between;
    gap: var(--space-4);
}

.checkout-confirmation__facts dt {
    color: var(--color-muted);
}

.checkout-confirmation__facts dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--color-brand-900);
    font-weight: 700;
    text-align: right;
}

.checkout-confirmation__items {
    display: grid;
    gap: var(--space-4);
    padding: 0;
    margin: 0;
    list-style: none;
}

.checkout-confirmation__items li {
    padding-bottom: var(--space-4);
    border-bottom: 0.0625rem solid var(--color-border);
}

.checkout-confirmation__items span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.checkout-confirmation__items strong {
    flex: 0 0 auto;
}

.checkout-confirmation__actions {
    margin-top: var(--space-8);
    margin-bottom: 0;
}
.checkout-payment-context,
.account-payment-context {
    width: 100%;
    display: grid;
    justify-items: start;
    gap: var(--space-3);
}

.checkout-payment-context p,
.checkout-payment-context form,
.account-payment-context p,
.account-payment-context form {
    margin: 0;
}


@media (min-width: 40rem) {
    .cart-item {
        grid-template-columns: 9rem minmax(0, 1fr);
    }

    .cart-item__image {
        width: 100%;
    }

    .cart-item__content {
        grid-template-columns: minmax(0, 1fr) minmax(8rem, auto);
    }

    .cart-item__actions {
        grid-column: 1 / -1;
    }

    .checkout-required,
    .checkout-panel,
    .checkout-summary,
    .checkout-delivery {
        padding: var(--space-8);
    }

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

    .checkout-confirmation__layout .checkout-panel:first-child {
        grid-column: 1 / -1;
    }

    .checkout-actions {
        align-items: center;
        flex-direction: row;
        gap: var(--space-6);
    }

    .checkout-item {
        grid-template-columns: 7rem minmax(0, 1fr);
    }

    .checkout-item__facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--space-4);
    }

    .checkout-item__facts div {
        display: grid;
        gap: var(--space-1);
    }

    .checkout-item__facts dd {
        text-align: left;
    }
}

@media (min-width: 60rem) {
    .cart-page {
        padding-block: var(--space-8) var(--space-20);
    }

    .checkout-page {
        padding-block: var(--space-8) var(--space-20);
    }

    .checkout-confirmation {
        padding-block: var(--space-8) var(--space-20);
    }
}

@media (min-width: 80rem) {
    .cart-layout {
        grid-template-columns: minmax(0, 1.65fr) minmax(18rem, 0.8fr);
        align-items: start;
        gap: var(--space-12);
    }

    .cart-summary {
        position: sticky;
        top: var(--space-6);
    }

    .checkout-layout {
        grid-template-columns: minmax(0, 1.45fr) minmax(20rem, 0.85fr);
        align-items: start;
        gap: var(--space-10);
    }

    .checkout-sidebar {
        position: sticky;
        top: var(--space-6);
    }
}

.wishlist-toggle--detail {
    position: static;
    width: 100%;
    height: auto;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    border: 0;
    border-radius: var(--radius-control);
    color: var(--color-brand-900);
    background: transparent;
}

.wishlist-toggle--detail:hover {
    background: var(--color-blush);
    transform: none;
}

.wishlist-toggle--detail[aria-pressed="true"] {
    color: var(--color-violet-text);
    background: var(--color-blush);
}

.product-detail__shipping {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: var(--space-2);
    margin: var(--space-6) 0 0;
    color: var(--color-muted);
    font-size: 0.76rem;
    text-align: left;
}

.product-detail__shipping svg {
    width: 1.3rem;
    height: 1.3rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.2;
}

.about-page__intro {
    padding-top: var(--space-10);
}

.about-page__intro-layout,
.about-page__atelier-layout,
.about-page__principles-layout {
    display: grid;
    gap: var(--space-10);
}

.about-page__intro-copy,
.about-page__atelier-copy {
    align-self: center;
}

.about-page__intro h1 {
    max-width: 12ch;
}

.about-page__lead,
.about-page__atelier-copy p {
    max-width: 38rem;
}

.fixture--about-story {
    aspect-ratio: 1.15 / 1;
    background: var(--color-blush);
}

.fixture--about-story img {
    object-fit: contain;
}

.about-page__atelier {
    background: var(--color-blush);
}

.fixture--about-maker {
    aspect-ratio: 4 / 3;
    background: var(--color-background);
}

.about-page__principles h2 {
    max-width: 10ch;
}

.about-page__principle-list {
    padding: 0;
    margin: 0;
    border-top: 0.0625rem solid var(--color-border);
    list-style: none;
}

.about-page__principle-list li {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: var(--space-4);
    padding-block: var(--space-6);
    border-bottom: 0.0625rem solid var(--color-border);
}

.about-page__principle-list li > span {
    color: var(--color-violet-text);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.about-page__principle-list h3 {
    margin-bottom: var(--space-2);
    font-size: clamp(1.4rem, 5vw, 1.75rem);
}

.about-page__principle-list p {
    max-width: 34rem;
    margin-bottom: 0;
    color: var(--color-muted);
}

.contact-page {
    min-height: 38rem;
    display: grid;
    align-items: center;
}

.contact-page__layout {
    display: grid;
    gap: var(--space-10);
}

.contact-page__intro h1 {
    max-width: none;
}

.contact-page__intro > p:not(.eyebrow) {
    max-width: 35rem;
    margin-bottom: var(--space-8);
}

.contact-page__panel {
    padding: var(--space-8);
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius-panel);
    background: var(--color-blush);
}

.contact-page__panel h2 {
    max-width: 12ch;
}

.contact-page__panel address {
    padding-block: var(--space-4);
    margin-bottom: var(--space-4);
    border-block: 0.0625rem solid var(--color-border);
    color: var(--color-muted);
    font-style: normal;
    line-height: 1.7;
}

.contact-page__panel address strong {
    color: var(--color-brand-900);
}

.contact-page__panel dl {
    margin: 0 0 var(--space-6);
}

.contact-page__panel dl div {
    display: grid;
    gap: var(--space-1);
    padding-block: var(--space-4);
    border-top: 0.0625rem solid var(--color-border);
}

.contact-page__panel dl div:last-child {
    border-bottom: 0.0625rem solid var(--color-border);
}

.contact-page__panel dt {
    color: var(--color-brand-900);
    font-size: 0.76rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.contact-page__panel dd {
    margin: 0;
    color: var(--color-muted);
}

.contact-page__panel .fixture-copy-note {
    margin-bottom: 0;
}

.icon-button--account {
    transition: color 160ms ease, background-color 160ms ease;
}

.icon-button--account:hover,
.icon-button--account[aria-current="page"] {
    color: var(--color-violet-text);
    background: var(--color-blush);
}

.account-page {
    min-height: 38rem;
    padding-top: var(--space-6);
}

.account-page__layout {
    display: grid;
    gap: var(--space-8);
}

.account-dashboard {
    min-width: 0;
    display: grid;
    gap: var(--space-6);
}

.account-page__intro h1,
.account-message h1 {
    max-width: 16ch;
    overflow-wrap: break-word;
    hyphens: auto;
    font-size: clamp(2.5rem, 8vw, 3.4rem);
}

.account-page__intro > p:not(.eyebrow) {
    max-width: 32rem;
    color: var(--color-muted);
}

.account-panel,
.account-message {
    width: 100%;
    max-width: 42rem;
    padding: var(--space-6);
    border-radius: var(--radius-panel);
    background: var(--color-surface-warm);
}

.account-message {
    background: var(--color-blush);
}

.account-message p:not(.eyebrow) {
    max-width: 34rem;
    margin-bottom: var(--space-6);
    color: var(--color-muted);
}

.account-form {
    display: grid;
    gap: var(--space-4);
}

.account-form__names {
    display: grid;
    gap: var(--space-4);
}

.account-form__address-line,
.account-form__location {
    display: grid;
    gap: var(--space-4);
}

.account-field {
    min-width: 0;
    display: grid;
    gap: var(--space-2);
}

.account-field label {
    color: var(--color-brand-900);
    font-size: 0.82rem;
    font-weight: 700;
}

.account-field label span {
    color: var(--color-muted);
    font-weight: 500;
}

.account-field input {
    width: 100%;
    min-width: 0;
    min-height: 3rem;
    padding: var(--space-3) var(--space-4);
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius-control);
    color: var(--color-ink);
    background: var(--color-white);
    font: inherit;
}

.account-field input:hover {
    border-color: var(--color-action);
}

.account-field input:focus {
    border-color: var(--color-action);
    outline: 0;
    box-shadow: var(--focus-ring);
}

.account-field input[aria-invalid="true"] {
    border-color: var(--color-violet-text);
}

.account-field__note,
.account-field__error {
    margin: 0;
    font-size: 0.78rem;
}

.account-field__note {
    color: var(--color-muted);
}

.account-field__error {
    color: var(--color-violet-text);
    font-weight: 650;
}

.account-errors,
.account-notice {
    margin-bottom: var(--space-6);
    padding: var(--space-4);
    border-radius: var(--radius-control);
}

.account-errors {
    border: 0.0625rem solid var(--color-violet-text);
    background: var(--color-blush);
}

.account-notice {
    border: 0.0625rem solid var(--color-action);
    color: var(--color-brand-900);
    background: var(--color-background);
}

.account-errors h2 {
    margin-bottom: var(--space-2);
    font-family: var(--font-utility);
    font-size: 0.95rem;
    font-weight: 750;
}

.account-errors p,
.account-errors ul,
.account-notice p {
    margin: 0;
    font-size: 0.86rem;
}

.account-errors ul {
    padding-left: var(--space-4);
}

.account-form > .button {
    width: 100%;
}

.account-panel__alternative,
.account-panel__outlook,
.account-panel__empty {
    margin: var(--space-6) 0 0;
    color: var(--color-muted);
    font-size: 0.86rem;
}

.account-panel__heading {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-2) var(--space-4);
    margin-bottom: var(--space-5);
}

.account-panel__heading h2 {
    margin-bottom: 0;
}

.account-panel--summary h2 {
    font-size: clamp(1.7rem, 5vw, 2.1rem);
}

.account-summary {
    margin: 0;
    border-top: 0.0625rem solid var(--color-border);
}

.account-summary div {
    display: grid;
    gap: var(--space-1);
    padding-block: var(--space-4);
    border-bottom: 0.0625rem solid var(--color-border);
}

.account-summary dt {
    color: var(--color-brand-900);
    font-size: 0.76rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.account-summary dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--color-muted);
}

.account-panel--summary form {
    margin-top: var(--space-6);
}

.account-address {
    display: grid;
    gap: var(--space-1);
    padding-top: var(--space-4);
    border-top: 0.0625rem solid var(--color-border);
    color: var(--color-muted);
    font-style: normal;
}

.account-panel__empty {
    padding-block: var(--space-4);
    margin-top: 0;
    border-top: 0.0625rem solid var(--color-border);
}

.account-order-page__content,
.account-order-detail {
    min-width: 0;
    display: grid;
    gap: var(--space-6);
}

.account-order-page__content .account-panel,
.account-order-detail .account-panel {
    max-width: none;
}

.account-order-count,
.account-order-preview__more {
    margin: 0;
    color: var(--color-muted);
    font-size: 0.88rem;
}

.account-order-list,
.account-order-preview,
.account-order-items {
    display: grid;
    gap: var(--space-4);
    padding: 0;
    margin: 0;
    list-style: none;
}

.account-order-card {
    display: grid;
    gap: var(--space-5);
}

.account-order-card__heading {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3) var(--space-6);
}

.account-order-card__heading .eyebrow {
    margin-bottom: var(--space-1);
}

.account-order-card__heading h2,
.account-order-detail h2 {
    margin-bottom: 0;
    overflow-wrap: anywhere;
    font-size: clamp(1.45rem, 5vw, 2rem);
}

.account-order-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    padding: 0.35rem 0.7rem;
    border: 0.0625rem solid color-mix(in srgb, var(--color-violet-500) 55%, transparent);
    border-radius: 999rem;
    background: color-mix(in srgb, var(--color-violet-500) 12%, var(--color-background));
    color: var(--color-violet-text);
    font-size: 0.78rem;
    font-weight: 750;
    line-height: 1.3;
}

.account-order-card__facts,
.account-order-card__facts div,
.account-order-totals,
.account-order-totals div {
    margin: 0;
}

.account-order-card__facts {
    display: grid;
    gap: var(--space-3);
    padding-block: var(--space-4);
    border-block: 0.0625rem solid var(--color-border);
}

.account-order-card__facts div,
.account-order-totals div {
    min-width: 0;
    display: flex;
    justify-content: space-between;
    gap: var(--space-4);
}

.account-order-card__facts dt,
.account-order-totals dt {
    color: var(--color-muted);
}

.account-order-card__facts dd,
.account-order-totals dd {
    margin: 0;
    color: var(--color-brand-900);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.account-order-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--space-3) var(--space-4);
}

.account-order-pagination span {
    color: var(--color-muted);
    font-size: 0.88rem;
}

.account-order-preview li + li {
    padding-top: var(--space-4);
    border-top: 0.0625rem solid var(--color-border);
}

.account-order-preview a {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3) var(--space-4);
    color: inherit;
    text-decoration: none;
}

.account-order-preview a:hover strong {
    color: var(--color-violet-text);
}

.account-order-preview a > span:first-child {
    min-width: 0;
    display: grid;
    gap: var(--space-1);
}

.account-order-preview strong {
    overflow-wrap: anywhere;
    color: var(--color-brand-900);
}

.account-order-preview small {
    color: var(--color-muted);
}

.account-order-preview__more {
    margin-top: var(--space-4);
}

.account-order-empty p,
.account-order-status-panel p:last-child {
    color: var(--color-muted);
}

.account-order-empty .button {
    margin-top: var(--space-4);
}

.account-order-status-panel {
    border: 0.0625rem solid color-mix(in srgb, var(--color-violet-500) 40%, var(--color-border));
    background: color-mix(in srgb, var(--color-violet-500) 8%, var(--color-background));
}

.account-order-status-panel p:last-child {
    max-width: 34rem;
    margin: var(--space-3) 0 0;
}

.account-order-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
}

.account-order-actions form,
.account-order-actions p {
    margin: 0;
}

.account-cancel-confirmation > p {
    color: var(--color-muted);
}

.account-order-items li {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    padding-bottom: var(--space-4);
    border-bottom: 0.0625rem solid var(--color-border);
}

.account-order-items li > div {
    min-width: 0;
    display: grid;
    gap: var(--space-1);
}

.account-order-items li > div strong {
    overflow-wrap: anywhere;
    color: var(--color-brand-900);
}

.account-order-items span {
    color: var(--color-muted);
    font-size: 0.88rem;
}

.account-order-items li > strong {
    flex: 0 0 auto;
    font-variant-numeric: tabular-nums;
}

.account-order-totals {
    display: grid;
    gap: var(--space-2);
    padding-top: var(--space-5);
}

.account-order-totals__total {
    padding-top: var(--space-3);
    margin-top: var(--space-1) !important;
    border-top: 0.0625rem solid var(--color-border);
    font-size: 1.08rem;
}

.checkout-confirmation__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

@media (min-width: 40rem) {
    .account-order-card__facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--space-5);
    }

    .account-order-card__facts div {
        display: grid;
        gap: var(--space-1);
    }

    .account-order-card__facts dd {
        text-align: left;
    }
}

.account-logout {
    justify-self: start;
}

.account-readonly,
.account-country {
    display: grid;
    gap: var(--space-1);
    padding: var(--space-4);
    margin-bottom: var(--space-6);
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius-control);
    background: var(--color-background);
}

.account-readonly > span,
.account-country > span {
    color: var(--color-brand-900);
    font-size: 0.76rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.account-readonly strong,
.account-country strong {
    min-width: 0;
    overflow-wrap: anywhere;
    font-weight: 650;
}

.account-readonly p {
    margin: var(--space-2) 0 0;
    color: var(--color-muted);
    font-size: 0.78rem;
}

.account-country {
    margin-bottom: 0;
}

.info-page {
    min-height: 38rem;
}

.info-page__layout {
    display: grid;
    gap: var(--space-10);
}

.info-page__intro h1 {
    max-width: 16ch;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
    font-size: clamp(2.5rem, 8vw, 3.4rem);
}

.info-page__intro > p:not(.eyebrow) {
    max-width: 34rem;
}

.info-page__content {
    display: grid;
    gap: var(--space-8);
}

.info-page__notice {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    align-items: start;
    gap: var(--space-4);
    padding: var(--space-6);
    border-radius: var(--radius-panel);
    background: var(--color-blush);
}

.info-page__notice > span {
    position: relative;
    width: 2rem;
    height: 2rem;
    display: block;
    border: 0.0625rem solid var(--color-violet-text);
    border-radius: var(--radius-round);
}

.info-page__notice > span::before {
    content: "";
    position: absolute;
    top: 0.48rem;
    left: 0.72rem;
    width: 0.45rem;
    height: 0.78rem;
    border: 0.0625rem solid var(--color-violet-text);
    border-radius: 100% 0 100% 0;
    rotate: 35deg;
}

.info-page__notice-copy {
    min-width: 0;
}

.info-page__notice p {
    margin-bottom: 0;
    color: var(--color-brand-900);
}

.info-page__notice-detail {
    margin-top: var(--space-4);
    font-size: 0.88rem;
    line-height: 1.65;
}

.info-page__notice-source {
    margin-top: var(--space-3);
    color: var(--color-muted) !important;
    font-size: 0.76rem;
}

.info-page__sections {
    border-top: 0.0625rem solid var(--color-border);
}

.info-page__section {
    padding-block: var(--space-6);
    border-bottom: 0.0625rem solid var(--color-border);
}

.info-page__section h2 {
    margin-bottom: var(--space-3);
    font-size: clamp(1.45rem, 4vw, 1.8rem);
}

.info-page__section p {
    max-width: 42rem;
    margin-bottom: 0;
    color: var(--color-muted);
}

.info-page__section .text-link {
    display: inline-block;
    margin-top: var(--space-3);
}

.not-found {
    min-height: 34rem;
    display: grid;
    align-items: center;
}

.not-found__panel {
    max-width: 44rem;
    padding: var(--space-8);
    border-radius: var(--radius-panel);
    background: var(--color-blush);
}

.not-found__panel h1 {
    max-width: 15ch;
}

.not-found__panel p:not(.eyebrow) {
    max-width: 35rem;
    margin-bottom: var(--space-8);
}

.site-footer {
    padding-top: var(--space-10);
    border-top: 0.0625rem solid var(--color-border);
}

.site-footer__grid {
    display: grid;
    gap: var(--space-8);
    padding-bottom: var(--space-10);
}

.site-footer__brand p {
    margin-block: var(--space-6) var(--space-3);
    color: var(--color-muted);
    font-size: 0.86rem;
}

.footer-contact {
    color: var(--color-muted);
    font-size: 0.78rem;
}

.site-footer nav {
    display: grid;
    align-content: start;
    gap: var(--space-2);
}

.site-footer nav h2 {
    margin-bottom: var(--space-2);
    font-family: var(--font-utility);
    font-size: 0.8rem;
    font-weight: 750;
    letter-spacing: 0.04em;
}

.site-footer nav a,
.site-footer nav span {
    color: var(--color-muted);
    font-size: 0.78rem;
}

.site-footer__bottom {
    min-height: 4.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    border-top: 0.0625rem solid var(--color-border);
    color: var(--color-muted);
    font-size: 0.72rem;
}

@media (min-width: 40rem) {
    .section {
        padding-block: var(--space-16);
    }

    .account-page {
        padding-top: var(--space-10);
    }

    .account-panel,
    .account-message {
        padding: var(--space-8);
    }

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

    .account-form__address-line {
        grid-template-columns: minmax(0, 1fr) minmax(8rem, 0.32fr);
    }

    .account-form__location {
        grid-template-columns: minmax(7rem, 0.35fr) minmax(0, 1fr);
    }

    .account-form > .button {
        width: auto;
        justify-self: start;
    }

    .hero__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-6);
    }

    .hero__content {
        max-width: 39rem;
    }

    .hero h1 {
        max-width: 14ch;
        font-size: clamp(3rem, 6.75vw, 3.5rem);
    }

    .fixture--hero {
        width: min(28rem, 68vw);
        justify-self: end;
        margin-top: calc(var(--space-6) * -1);
    }

    .benefits__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .section-heading--split {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: var(--space-8);
    }

    .section-heading .text-link {
        margin-top: 0;
        margin-bottom: var(--space-2);
    }

    .collections__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--space-6);
    }

    .collections {
        padding-top: var(--space-10);
    }

    .story__panel {
        grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.85fr);
        padding: var(--space-12);
    }

    .fixture--story {
        width: 100%;
        margin-inline: 0;
        aspect-ratio: 4 / 3;
    }

    .about__layout {
        grid-template-columns: minmax(18rem, 0.9fr) minmax(0, 1fr);
        align-items: center;
    }

    .wish-piece__panel {
        padding: var(--space-12);
    }

    .wish-piece__preferences {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .wish-piece__actions {
        align-items: center;
        flex-direction: row;
        gap: var(--space-6);
    }

    .about__content {
        grid-column: 1;
        grid-row: 1;
    }

    .fixture--maker {
        grid-column: 2;
        grid-row: 1;
    }


    .shop-catalog {
        padding-top: var(--space-8);
    }

    .wishlist-page {
        padding-top: var(--space-8);
    }

    .shop-controls {
        margin-bottom: var(--space-10);
    }

    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-12) var(--space-6);
    }

    .product-detail {
        padding-top: var(--space-8);
    }

    .product-detail__layout {
        gap: var(--space-12);
    }

    .product-detail__info h1 {
        font-size: clamp(2.75rem, 6vw, 3.25rem);
    }

    .not-found__panel {
        padding: var(--space-12);
    }

    .site-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-8);
    }
}

@media (min-width: 60rem) {
    .site-header__inner {
        min-height: 5.5rem;
    }

    .desktop-navigation {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: clamp(var(--space-6), 3vw, var(--space-10));
    }

    .desktop-navigation a {
        position: relative;
        padding-block: var(--space-3);
        font-size: 0.82rem;
        font-weight: 600;
        text-decoration: none;
    }

    .desktop-navigation a::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0.35rem;
        left: 0;
        height: 0.0625rem;
        scale: 0 1;
        background: var(--color-violet-text);
        transition: scale 160ms ease;
    }

    .desktop-navigation a:hover::after,
    .desktop-navigation a:focus-visible::after,
    .desktop-navigation a[aria-current="page"]::after {
        scale: 1 1;
    }

    .icon-button.desktop-only {
        display: grid;
    }

    .menu-toggle,
    .mobile-navigation {
        display: none;
    }

    .hero {
        display: flex;
        align-items: center;
        padding-block: var(--space-10) var(--space-16);
    }

    .hero__layout {
        grid-template-columns: minmax(22rem, 0.9fr) minmax(28rem, 1.1fr);
        gap: clamp(var(--space-12), 6vw, var(--space-24));
    }

    .hero__content {
        max-width: none;
    }

    .hero h1 {
        max-width: 11ch;
        font-size: var(--type-hero);
    }

    .fixture--hero {
        width: auto;
        justify-self: stretch;
        margin-top: 0;
        max-height: 42rem;
        aspect-ratio: 1 / 1;
    }

    .benefits {
        padding-block: var(--space-6) var(--space-12);
    }

    .story__panel {
        min-height: 30rem;
        grid-template-columns: minmax(0, 0.9fr) minmax(24rem, 1.1fr);
        padding: var(--space-16);
    }

    .about__layout {
        grid-template-columns: minmax(26rem, 1.05fr) minmax(22rem, 0.95fr);
        gap: clamp(var(--space-16), 8vw, var(--space-24));
    }

    .fixture--maker {
        max-height: 38rem;
        aspect-ratio: 4 / 3;
    }

    .about-page__intro {
        padding-block: var(--space-10) var(--space-20);
    }

    .wish-piece__panel {
        grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
        gap: clamp(var(--space-12), 6vw, var(--space-20));
        padding: var(--space-16);
    }

    .wish-piece__aside {
        padding-left: var(--space-10);
        border-left: 0.0625rem solid var(--color-border);
    }

    .wish-piece__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .wish-page__intro {
        padding-block: var(--space-10) var(--space-20);
    }

    .wish-page__intro-layout {
        grid-template-columns: minmax(22rem, 0.88fr) minmax(28rem, 1.12fr);
        align-items: center;
        gap: clamp(var(--space-12), 7vw, var(--space-24));
    }

    .fixture--wish-maker {
        max-height: 38rem;
    }

    .wish-page__process-layout,
    .wish-page__agreement-layout {
        grid-template-columns: minmax(18rem, 0.72fr) minmax(28rem, 1.28fr);
        align-items: start;
        gap: clamp(var(--space-12), 7vw, var(--space-24));
    }

    .about-page__intro-layout {
        grid-template-columns: minmax(22rem, 0.88fr) minmax(28rem, 1.12fr);
        align-items: center;
        gap: clamp(var(--space-12), 7vw, var(--space-24));
    }

    .fixture--about-story {
        max-height: 38rem;
    }

    .about-page__atelier-layout {
        grid-template-columns: minmax(28rem, 1.08fr) minmax(22rem, 0.92fr);
        align-items: center;
        gap: clamp(var(--space-12), 7vw, var(--space-24));
    }

    .fixture--about-maker {
        max-height: 38rem;
    }

    .about-page__principles-layout {
        grid-template-columns: minmax(16rem, 0.7fr) minmax(0, 1.3fr);
        align-items: start;
        gap: clamp(var(--space-12), 7vw, var(--space-24));
    }

    .contact-page__layout {
        grid-template-columns: minmax(22rem, 0.9fr) minmax(26rem, 1.1fr);
        align-items: center;
        gap: clamp(var(--space-12), 8vw, var(--space-24));
    }

    .contact-page__panel {
        padding: var(--space-12);
    }

    .account-page__layout {
        grid-template-columns: minmax(18rem, 0.72fr) minmax(28rem, 1.28fr);
        align-items: start;
        gap: clamp(var(--space-12), 7vw, var(--space-24));
    }

    .account-dashboard {
        gap: var(--space-8);
    }

    .info-page__layout {
        grid-template-columns: minmax(18rem, 0.72fr) minmax(28rem, 1.28fr);
        align-items: start;
        gap: clamp(var(--space-12), 7vw, var(--space-24));
    }


    .shop-catalog {
        padding-block: var(--space-8) var(--space-20);
    }

    .wishlist-page {
        padding-block: var(--space-8) var(--space-20);
    }

    .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--space-16) var(--space-8);
    }

    .product-detail {
        padding-block: var(--space-8) var(--space-20);
    }

    .breadcrumb {
        margin-bottom: var(--space-8);
    }

    .product-detail__layout {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr);
        align-items: start;
        gap: clamp(var(--space-12), 5vw, var(--space-20));
    }

    .fixture--product-detail {
        max-width: 38rem;
    }

    .product-detail__info h1 {
        font-size: clamp(2.5rem, 3.5vw, 3rem);
    }

    .product-detail__description {
        margin-bottom: var(--space-6);
    }

    .product-detail__benefits {
        gap: var(--space-2);
        padding-block: var(--space-3);
        margin-bottom: var(--space-6);
    }

    .product-detail__benefits li {
        font-size: 0.8rem;
    }

    .site-footer {
        padding-top: var(--space-12);
    }

    .site-footer__grid {
        grid-template-columns: minmax(14rem, 1.6fr) repeat(3, minmax(8rem, 1fr));
        gap: clamp(var(--space-6), 2.5vw, var(--space-10));
        padding-bottom: var(--space-12);
    }
}

@media (min-width: 80rem) {
    .section {
        padding-block: var(--space-20);
    }

    .hero {
        padding-block: var(--space-10) var(--space-16);
    }

    .collections {
        padding-top: var(--space-12);
    }

    .collections__grid {
        gap: var(--space-8);
    }

    .product-grid {
        column-gap: var(--space-10);
    }
}

/* Order experience */
.order-product-image__placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    padding: var(--space-2);
    color: var(--color-violet-text);
    background:
        radial-gradient(circle at 25% 22%, rgba(255, 255, 255, 0.85), transparent 30%),
        linear-gradient(145deg, var(--color-blush), color-mix(in srgb, var(--color-violet-500) 13%, var(--color-background)));
    font-family: var(--font-display);
    font-size: 0.82rem;
    font-style: italic;
}

.cart-summary > .cart-summary__continue {
    margin-top: var(--space-3);
}

.account-order-section {
    min-width: 0;
    display: grid;
    gap: var(--space-5);
}

.account-order-section + .account-order-section {
    padding-top: var(--space-8);
    border-top: 0.0625rem solid var(--color-border);
}

.account-order-section__heading {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: var(--space-3) var(--space-6);
}

.account-order-section__heading h2 {
    margin: 0;
    font-size: clamp(1.8rem, 5vw, 2.45rem);
}

.account-order-section__heading > p {
    max-width: 24rem;
    margin: 0;
    color: var(--color-muted);
    font-size: 0.84rem;
}

.account-order-section__empty {
    padding: var(--space-6);
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius-panel);
    color: var(--color-muted);
    background: color-mix(in srgb, var(--color-surface-warm) 72%, var(--color-background));
}

.account-order-section__empty p {
    margin: 0 0 var(--space-3);
}

.account-order-section__empty--compact p {
    margin: 0;
}

.account-order-list--current {
    gap: var(--space-6);
}

.account-order-card {
    min-width: 0;
    overflow: hidden;
    gap: 0;
    padding: 0;
    border: 0.0625rem solid color-mix(in srgb, var(--color-violet-500) 28%, var(--color-border));
    border-radius: var(--radius-panel);
    background: var(--color-surface-warm);
    box-shadow: 0 1.1rem 2.8rem rgba(44, 69, 62, 0.07);
}

.account-order-card__gallery {
    position: relative;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.18rem;
    padding: var(--space-3);
    background: color-mix(in srgb, var(--color-violet-500) 8%, var(--color-background));
}

.account-order-card__gallery > :only-child {
    grid-column: 1 / -1;
}

.account-order-card__image,
.account-order-history-item__image,
.account-order-preview__image,
.account-order-item__image,
.checkout-confirmation__item-image {
    min-width: 0;
    overflow: hidden;
    border-radius: var(--radius-image);
    background: var(--color-background);
}

.account-order-card__image {
    aspect-ratio: 4 / 5;
}

.account-order-card__image img,
.account-order-history-item__image img,
.account-order-preview__image img,
.account-order-item__image img,
.checkout-confirmation__item-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.account-order-card__more {
    position: absolute;
    right: var(--space-4);
    bottom: var(--space-4);
    display: grid;
    min-width: 2.5rem;
    min-height: 2.5rem;
    place-items: center;
    padding: 0.35rem;
    border: 0.0625rem solid rgba(255, 255, 255, 0.8);
    border-radius: 999rem;
    color: var(--color-brand-900);
    background: rgba(255, 252, 247, 0.92);
    font-size: 0.78rem;
    font-weight: 800;
}

.account-order-card__body {
    min-width: 0;
    display: grid;
    align-content: center;
    gap: var(--space-5);
    padding: var(--space-6);
}

.account-order-reference {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--color-muted);
    font-family: var(--font-utility);
    font-size: 0.72rem;
    letter-spacing: 0.025em;
}

.account-order-card__title {
    margin: 0;
    font-size: clamp(1.55rem, 5vw, 2.1rem);
    line-height: 1.12;
}

.account-order-card__title a {
    color: var(--color-brand-900);
    text-decoration: none;
}

.account-order-card__title a:hover,
.account-order-card__title a:focus-visible {
    color: var(--color-violet-text);
}

.account-order-card__title span,
.account-order-history-item h3 span {
    display: inline-block;
    color: var(--color-muted);
    font-family: var(--font-utility);
    font-size: 0.72em;
    font-weight: 650;
}

.account-order-status--ordered {
    border-color: #d6ba77;
    color: #6e5215;
    background: #fff4d8;
}

.account-order-status--paid {
    border-color: color-mix(in srgb, var(--color-brand-700) 44%, var(--color-border));
    color: var(--color-brand-900);
    background: color-mix(in srgb, var(--color-brand-500) 13%, var(--color-background));
}

.account-order-status--delivered {
    color: var(--color-violet-text);
}

.account-order-status--cancelled {
    border-color: var(--color-border);
    color: var(--color-muted);
    background: color-mix(in srgb, var(--color-muted) 7%, var(--color-background));
}

.account-order-delete-link {
    font-size: 0.8rem;
}

.account-order-history-list {
    display: grid;
    gap: var(--space-2);
    padding: 0;
    margin: 0;
    list-style: none;
}

.account-order-history-item {
    min-width: 0;
    display: grid;
    grid-template-columns: 4.75rem minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-3) var(--space-4);
    padding: var(--space-3);
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius-control);
    background: var(--color-background);
}

.account-order-history-item--cancelled {
    opacity: 0.78;
}

.account-order-history-item__image {
    grid-row: span 2;
    aspect-ratio: 1;
}

.account-order-history-item__summary {
    min-width: 0;
}

.account-order-history-item__summary h3 {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 1.08rem;
}

.account-order-history-item__summary p {
    margin: var(--space-1) 0 0;
    overflow-wrap: anywhere;
    color: var(--color-muted);
    font-size: 0.7rem;
}

.account-order-history-item .account-order-status {
    justify-self: end;
}

.account-order-history-item__total {
    grid-column: 2;
    font-variant-numeric: tabular-nums;
}

.account-order-history-item__link {
    justify-self: end;
    font-size: 0.78rem;
}

.account-order-detail__intro .account-order-reference {
    margin-top: calc(var(--space-2) * -1);
}

.account-order-detail__notice {
    grid-column: 1 / -1;
}

.account-order-detail__products {
    min-width: 0;
}

.account-order-detail__section-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-6);
}

.account-order-detail__section-heading h2 {
    margin: 0;
}

.account-order-detail__section-heading > span {
    color: var(--color-muted);
    font-size: 0.78rem;
}

.account-order-item {
    min-width: 0;
    display: grid !important;
    grid-template-columns: 5.75rem minmax(0, 1fr);
    align-items: center !important;
    gap: var(--space-4) !important;
    padding: var(--space-4) 0 !important;
}

.account-order-item__image {
    aspect-ratio: 4 / 5;
}

.account-order-item__content {
    min-width: 0;
}

.account-order-item__content h3 {
    margin: 0 0 var(--space-2);
    overflow-wrap: anywhere;
    font-size: 1.25rem;
}

.account-order-item__content dl,
.account-order-item__content dl div {
    margin: 0;
}

.account-order-item__content dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
}

.account-order-item__content dl div {
    display: grid;
    gap: 0.1rem;
}

.account-order-item__content dt,
.account-order-item__line-total span {
    color: var(--color-muted);
    font-size: 0.76rem;
}

.account-order-item__content dd {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 750;
}

.account-order-item__line-total {
    grid-column: 2;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-3);
}

.account-order-item__line-total strong {
    font-variant-numeric: tabular-nums;
}

.account-order-detail__sidebar {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: var(--space-6);
}

.account-order-status-panel .account-order-status {
    margin-bottom: var(--space-4);
}

.account-order-status-panel__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin-top: var(--space-5);
}

.account-order-preview a {
    display: grid;
    grid-template-columns: 3.75rem minmax(0, 1fr);
}

.account-order-preview__image {
    grid-row: span 2;
    aspect-ratio: 1;
}

.account-order-preview__summary {
    min-width: 0;
}

.account-order-preview__summary strong {
    display: block;
}

.account-order-preview__summary strong small {
    display: inline;
    font-weight: 600;
}

.account-order-preview .account-order-status {
    grid-column: 2;
}

.checkout-confirmation__products {
    min-width: 0;
}

.checkout-confirmation__sidebar {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: var(--space-6);
}

.checkout-confirmation__item {
    display: grid !important;
    grid-template-columns: 5.75rem minmax(0, 1fr);
    align-items: center;
}

.checkout-confirmation__item-image {
    aspect-ratio: 4 / 5;
}

.checkout-confirmation__item-content {
    min-width: 0;
}

.checkout-confirmation__item-content h3 {
    margin: 0 0 var(--space-3);
    overflow-wrap: anywhere;
    font-size: 1.25rem;
}

.checkout-confirmation__item-content dl,
.checkout-confirmation__item-content dl div {
    margin: 0;
}

.checkout-confirmation__item-content dl {
    display: grid;
    gap: var(--space-2);
}

.checkout-confirmation__item-content dl div {
    display: flex;
    justify-content: space-between;
    gap: var(--space-3);
}

.checkout-confirmation__item-content dt {
    color: var(--color-muted);
    font-size: 0.76rem;
}

.checkout-confirmation__item-content dd {
    margin: 0;
    font-size: 0.82rem;
    font-variant-numeric: tabular-nums;
}

.checkout-confirmation__summary {
    background: var(--color-blush);
}

.checkout-confirmation__total {
    padding-top: var(--space-3);
    border-top: 0.0625rem solid var(--color-border);
    font-size: 1.05rem;
}

.checkout-confirmation__actions {
    padding: var(--space-6);
    border: 0.0625rem solid color-mix(in srgb, var(--color-violet-500) 35%, var(--color-border));
    border-radius: var(--radius-panel);
    background: color-mix(in srgb, var(--color-violet-500) 7%, var(--color-background));
}

@media (min-width: 40rem) {
    .account-order-card {
        grid-template-columns: minmax(11rem, 0.72fr) minmax(0, 1.28fr);
    }

    .account-order-card__body {
        padding: var(--space-8);
    }

    .account-order-item,
    .checkout-confirmation__item {
        grid-template-columns: 7.5rem minmax(0, 1fr) auto;
    }

    .account-order-item__line-total {
        grid-column: auto;
        display: grid;
        justify-items: end;
    }

    .account-order-preview a {
        grid-template-columns: 4.25rem minmax(0, 1fr) auto;
    }

    .account-order-preview .account-order-status {
        grid-column: 3;
        grid-row: 1 / span 2;
    }
}

@media (min-width: 60rem) {
    .account-order-page .account-page__layout,
    .account-order-detail-page .account-page__layout {
        grid-template-columns: minmax(18.5rem, 0.48fr) minmax(0, 1.52fr);
        gap: clamp(var(--space-10), 5vw, var(--space-20));
    }

    .account-order-page__intro {
        position: sticky;
        top: var(--space-8);
    }

    .account-order-page__intro h1 {
        overflow-wrap: normal;
        font-size: clamp(2.75rem, 3.6vw, 3.35rem);
        hyphens: none;
    }

    .account-order-detail {
        grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
        align-items: start;
    }

    .account-order-detail__sidebar {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .checkout-confirmation__layout {
        grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
        align-items: start;
    }

    .checkout-confirmation__layout .checkout-panel:first-child {
        grid-column: auto;
    }
}

@media (max-width: 39.99rem) {
    .account-order-actions .button,
    .account-order-actions form,
    .account-order-actions form .button,
    .account-order-status-panel__actions .button,
    .checkout-confirmation__actions .button,
    .checkout-payment-context form,
    .checkout-payment-context form .button {
        width: 100%;
    }

    .account-order-history-item {
        grid-template-columns: 4.25rem minmax(0, 1fr);
    }

    .account-order-history-item__image {
        grid-row: 1 / span 2;
    }

    .account-order-history-item .account-order-status,
    .account-order-history-item__link {
        justify-self: start;
    }

    .account-order-history-item .account-order-status {
        grid-column: 2;
    }

    .account-order-history-item__total {
        grid-column: 1;
        grid-row: 3;
    }

    .account-order-history-item__link {
        grid-column: 2;
        grid-row: 3;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
[data-payment-submit]:disabled {
    cursor: wait;
    opacity: 0.76;
}
