:root {
  --sc-font-display: "Miguer Sans", Georgia, serif;
  --sc-font-body: "DM Sans", Arial, sans-serif;
  --store-header-height: 7.6rem;
}

html { scroll-behavior: smooth; background: var(--sc-color-surface); }
body { margin: 0; overflow-x: hidden; background: var(--sc-color-surface); transition: background-color var(--sc-duration-standard) var(--sc-ease-standard), color var(--sc-duration-standard) var(--sc-ease-standard); }
#app-header { position: sticky; inset-block-start: 0; z-index: var(--sc-z-sticky); }
body.has-overlay { overflow: hidden; }
img { display: block; max-inline-size: 100%; }
button, input, select { font: inherit; }
a { color: inherit; }
.store-container { inline-size: min(calc(100% - 2 * var(--sc-space-page-inline)), var(--sc-container-wide)); margin-inline: auto; }
.store-section { padding-block: var(--sc-space-section); }
.eyebrow { margin: 0 0 var(--sc-space-4); font-size: var(--sc-font-size-00); font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.mobile-only { display: none !important; }
.store-icon { inline-size: 1.2rem; block-size: 1.2rem; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.icon-button { display: inline-flex; align-items: center; gap: .45rem; min-block-size: 2.75rem; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; font-size: .75rem; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.icon-button b { display: grid; place-items: center; min-inline-size: 1.2rem; block-size: 1.2rem; border-radius: 50%; background: var(--sc-color-brand-cart); color: white; font-size: .62rem; }
.store-header__actions { display: flex; align-items: center; gap: 1.25rem; }

.announcement { display: grid; place-items: center; min-block-size: 2rem; max-block-size: 2rem; padding-inline: 1rem; overflow: hidden; background: var(--sc-color-brand-earth); color: white; font-size: .68rem; letter-spacing: .1em; text-align: center; text-transform: uppercase; transition: min-block-size var(--sc-duration-standard) var(--sc-ease-standard), max-block-size var(--sc-duration-standard) var(--sc-ease-standard), opacity var(--sc-duration-fast) var(--sc-ease-standard); }
.store-header { position: relative; z-index: 100; border-block-end: 1px solid var(--sc-color-border); background: color-mix(in srgb, var(--sc-color-surface) 96%, transparent); transition: background-color var(--sc-duration-standard) var(--sc-ease-standard), box-shadow var(--sc-duration-standard) var(--sc-ease-standard); }
#app-header.is-scrolled .announcement { min-block-size: 0; max-block-size: 0; opacity: 0; }
#app-header.is-scrolled .store-header { background: color-mix(in srgb, var(--sc-color-surface-raised) 82%, transparent); box-shadow: var(--sc-shadow-xs); -webkit-backdrop-filter: blur(14px) saturate(115%); backdrop-filter: blur(14px) saturate(115%); }
.store-header__main { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-block-size: 4.7rem; }
.brand-logo { display: block; inline-size: clamp(10.5rem, 16vw, 14rem); }
.brand-logo img { inline-size: 100%; }
.store-header__utilities { display: flex; justify-content: flex-end; gap: 1.4rem; }
.mini-cart-wrap { position: relative; display: flex; align-items: center; }
.mini-cart { position: absolute; inset: calc(100% + .65rem) 0 auto auto; inline-size: min(25rem, calc(100vw - 2rem)); padding: 1.25rem; visibility: hidden; border: 1px solid var(--sc-color-border); background: color-mix(in srgb, var(--sc-color-surface-raised) 96%, transparent); box-shadow: var(--sc-shadow-md); opacity: 0; transform: translateY(-.4rem); transition: visibility var(--sc-duration-fast), opacity var(--sc-duration-fast) var(--sc-ease-standard), transform var(--sc-duration-fast) var(--sc-ease-standard); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.mini-cart::before { content: ''; position: absolute; inset: -.75rem 0 auto; block-size: .75rem; }
.mini-cart-wrap:hover .mini-cart, .mini-cart-wrap:focus-within .mini-cart { visibility: visible; opacity: 1; transform: translateY(0); }
.mini-cart__head, .mini-cart__total { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.mini-cart__head { padding-block-end: .9rem; border-block-end: 1px solid var(--sc-color-border); font: 400 1.05rem/1.2 var(--sc-font-display); }
.mini-cart__head span, .mini-cart__total strong { color: var(--sc-color-brand-cart); }
.mini-cart__head small { color: var(--sc-color-text-muted); font: 400 .65rem/1 var(--sc-font-body); }
.mini-cart__items { display: grid; }
.mini-cart__item { display: grid; grid-template-columns: 3.75rem 1fr auto; align-items: center; gap: .8rem; padding-block: .8rem; border-block-end: 1px solid var(--sc-color-border); text-decoration: none; }
.mini-cart__item img { inline-size: 3.75rem; aspect-ratio: 4 / 5; object-fit: cover; }
.mini-cart__item strong, .mini-cart__item small { display: block; }
.mini-cart__item strong { font-size: .75rem; font-weight: 500; }
.mini-cart__item small { margin-block-start: .25rem; color: var(--sc-color-text-muted); font-size: .62rem; }
.mini-cart__item b { font-size: .68rem; font-weight: 500; }
.mini-cart__remaining { margin: .7rem 0 0; color: var(--sc-color-text-muted); font-size: .62rem; text-align: center; }
.mini-cart__total { padding-block: 1rem; font-size: .75rem; }
.mini-cart__total strong { font-size: .9rem; }
.mini-cart > .store-button { inline-size: 100%; min-block-size: 2.8rem; border-color: var(--sc-color-brand-cart); background: var(--sc-color-brand-cart); }
.mini-cart__empty { display: grid; justify-items: center; padding-block: 1.25rem .75rem; text-align: center; }
.mini-cart__empty img { inline-size: 2.5rem; margin-block-end: .8rem; }
.mini-cart__empty strong { font: 400 1rem/1.3 var(--sc-font-display); }
.mini-cart__empty p { margin: .45rem 0 .8rem; color: var(--sc-color-text-muted); font-size: .68rem; }
.mini-cart__empty a { border-block-end: 1px solid currentColor; font-size: .62rem; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.store-nav { min-block-size: 2.8rem; border-block-start: 1px solid var(--sc-color-border); }
.store-nav ul { display: flex; justify-content: center; gap: clamp(1.5rem, 3vw, 3.5rem); padding: 0; margin: 0; list-style: none; }
.store-nav__item { display: flex; align-items: center; gap: .35rem; min-block-size: 2.8rem; font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.store-nav__item a { text-decoration: none; }
.store-nav__item a::after { content: ""; display: block; inline-size: 0; margin-block-start: .15rem; border-block-end: 1px solid currentColor; transition: inline-size .25s ease; }
.store-nav__item:hover a::after { inline-size: 100%; }
.store-nav__caret { font-size: .8rem; }
.mega-menu { position: absolute; inset: 100% 0 auto; z-index: 90; visibility: hidden; padding-block: 2.5rem; border-block-start: 1px solid var(--sc-color-border); background: var(--sc-color-surface-raised); box-shadow: var(--sc-shadow-sm); opacity: 0; transform: translateY(-.5rem); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.mega-menu.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
.mega-menu__inner { display: grid; grid-template-columns: repeat(2, minmax(10rem, 1fr)) minmax(18rem, 1.5fr); gap: 4rem; }
.mega-menu__inner > div { display: grid; align-content: start; gap: .75rem; }
.mega-menu__inner a { font-size: .88rem; text-decoration: none; }
.mega-menu__inner a:hover { color: var(--sc-color-brand-terracotta); }
.mega-menu__editorial { position: relative; display: block; justify-self: end; inline-size: min(100%, 25rem); overflow: hidden; }
.mega-menu__editorial img { inline-size: 100%; aspect-ratio: 16 / 7; object-fit: cover; transition: transform .5s ease; }
.mega-menu__editorial:hover img { transform: scale(1.025); }
.mega-menu__editorial span { position: absolute; inset: auto 1.25rem 1.25rem; color: white; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; }
.mega-menu__editorial strong { display: block; margin-block-start: .25rem; font: 400 1.5rem/1.2 var(--sc-font-display); letter-spacing: 0; text-transform: none; }
.mobile-menu { display: none; }
.store-overlay { position: fixed; inset: 0; z-index: 110; visibility: hidden; background: rgb(17 17 17 / 48%); opacity: 0; transition: .25s ease; }
.store-overlay.is-open { visibility: visible; opacity: 1; }
.search-panel { position: fixed; inset: 0 0 auto; z-index: 130; visibility: hidden; padding-block: 3rem; background: var(--sc-color-surface-raised); box-shadow: var(--sc-shadow-md); opacity: 0; transform: translateY(-100%); transition: .35s var(--sc-ease-standard); }
.search-panel.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
.search-panel__inner { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 2rem; }
.search-panel form { max-inline-size: 60rem; }
.search-panel label { display: block; margin-block-end: .8rem; font: 400 var(--sc-font-size-3)/1.2 var(--sc-font-display); }
.search-panel form > div { display: flex; border-block-end: 1px solid var(--sc-color-text); }
.search-panel input { flex: 1; padding: 1rem 0; border: 0; outline: 0; background: transparent; font-size: var(--sc-font-size-2); }
.search-panel form button { border: 0; background: transparent; cursor: pointer; }

.home-hero { position: relative; block-size: 50svh; min-block-size: 30rem; max-block-size: 38rem; color: white; }
.home-hero > img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: center 25%; }
.home-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(12 23 16 / 64%), rgb(12 23 16 / 12%) 65%), linear-gradient(0deg, rgb(17 17 17 / 30%), transparent 40%); }
.home-hero__content { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; min-block-size: inherit; max-inline-size: 48rem; padding: 6rem var(--sc-space-page-inline); }
.home-hero h1 { max-inline-size: 13ch; margin: 0; font: 400 clamp(2.5rem, 5vw, 5.3rem)/1.04 var(--sc-font-display); letter-spacing: -.04em; }
.home-hero__content > p:not(.eyebrow) { max-inline-size: 34rem; margin-block: 1.5rem 2rem; font-size: clamp(1rem, 1.3vw, 1.2rem); }
.store-button { display: inline-flex; min-block-size: 3.4rem; align-items: center; justify-content: center; padding: .9rem 1.8rem; border: 1px solid var(--sc-color-action); background: var(--sc-color-action); color: white; cursor: pointer; font-size: .72rem; font-weight: 600; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; transition: .25s ease; }
.store-button:hover { border-color: var(--sc-color-action-hover); background: var(--sc-color-action-hover); transform: translateY(-1px); }
.store-button--light { border-color: white; background: white; color: var(--sc-color-brand-earth); }
.store-button--light:hover { background: transparent; color: white; }
.home-hero__scroll { position: absolute; inset: auto var(--sc-space-page-inline) 2rem auto; z-index: 1; display: flex; align-items: center; gap: 1rem; color: white; font-size: .68rem; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.home-hero__scroll span { font-size: 1.2rem; }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-block-end: clamp(2rem, 4vw, 4rem); }
.section-heading h2 { margin: 0; font: 400 clamp(2rem, 3vw, 3.5rem)/1.1 var(--sc-font-display); letter-spacing: -.035em; }
.text-link { display: inline-flex; align-items: center; gap: .65rem; padding-block-end: .2rem; border-block-end: 1px solid currentColor; font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem) clamp(.75rem, 1.5vw, 1.5rem); }
.product-card { min-inline-size: 0; }
.product-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 5.35; background: var(--sc-color-cream-200); }
.product-card__media > a { position: absolute; inset: 0; display: block; }
.product-card__media img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; transition: opacity .5s ease, transform .6s ease; }
.product-card__secondary { opacity: 0; }
.product-card:hover .product-card__primary { opacity: 0; }
.product-card:hover .product-card__secondary { opacity: 1; transform: scale(1.015); }
.product-badge { position: absolute; inset: .8rem auto auto .8rem; z-index: 2; padding: .38rem .55rem; background: color-mix(in srgb, var(--sc-color-cream-100) 92%, transparent); color: var(--sc-color-text); font-size: .58rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.product-badge--inline { position: static; display: inline-flex; margin-block-end: 1rem; }
.wishlist { position: absolute; inset: .7rem .7rem auto auto; z-index: 3; inline-size: 2.3rem; aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--sc-color-text) 18%, transparent); border-radius: 50%; background: color-mix(in srgb, var(--sc-color-surface-raised) 88%, transparent); color: var(--sc-color-text); box-shadow: var(--sc-shadow-xs); cursor: pointer; font-size: 1.2rem; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.wishlist:hover { border-color: color-mix(in srgb, var(--sc-color-text) 40%, transparent); transform: scale(1.04); }
.wishlist.is-active { border-color: var(--sc-color-accent); color: var(--sc-color-accent); }
.product-card__info { display: flex; justify-content: space-between; gap: 1rem; padding-block: 1rem; }
.product-card__info p, .product-card__info small { margin: 0; }
.product-card__info p { font-size: .9rem; }
.product-card__info small { display: block; margin-block-start: .2rem; color: var(--sc-color-text-muted); font-size: .7rem; }
.product-card__price { display: flex; flex-direction: column; align-items: flex-end; flex: none; font-size: .83rem; }
.product-card__price del { color: var(--sc-color-text-muted); font-size: .7rem; }
.product-card__price strong { font-weight: 500; }
.product-card__price small { color: var(--sc-color-danger); }

.collections-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.collection-card { position: relative; display: block; min-block-size: 42rem; overflow: hidden; color: white; }
.collection-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(17 17 17 / 55%), transparent 55%); }
.collection-card img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform .8s ease; }
.collection-card:hover img { transform: scale(1.025); }
.collection-card span { position: absolute; inset: auto 2rem 2rem; z-index: 1; }
.collection-card small, .collection-card strong, .collection-card i { display: block; }
.collection-card small { font-size: .66rem; letter-spacing: .15em; text-transform: uppercase; }
.collection-card strong { margin-block: .45rem 1.2rem; font: 400 2.5rem/1.1 var(--sc-font-display); }
.collection-card i { font-size: .7rem; font-style: normal; letter-spacing: .1em; text-transform: uppercase; }

.lookbook { padding-block: var(--sc-space-section); background: var(--sc-color-brand-earth); color: white; }
.lookbook__grid { display: grid; grid-template-columns: 1fr 1.3fr 1fr; grid-template-rows: 24rem 15rem; gap: 1rem; }
.lookbook__item { position: relative; overflow: hidden; margin: 0; }
.lookbook__item--1 { grid-row: 1 / 3; }
.lookbook__item--2 { grid-column: 2; grid-row: 1; }
.lookbook__item--3 { grid-column: 2; grid-row: 2; }
.lookbook__item--4 { grid-column: 3; grid-row: 1 / 3; }
.lookbook__item img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.lookbook__item figcaption { position: absolute; inset: auto .8rem .8rem; padding: .35rem .5rem; background: rgb(17 17 17 / 45%); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
.institutional { display: grid; grid-template-columns: 1.15fr .85fr; min-block-size: 48rem; background: var(--sc-color-surface-raised); }
.institutional__image img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.institutional__content { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(3rem, 7vw, 8rem); }
.institutional__content > img { inline-size: 4rem; margin-block-end: 2rem; }
.institutional__content h2 { margin: 0 0 1.5rem; font: 400 clamp(2rem, 3.3vw, 3.7rem)/1.15 var(--sc-font-display); letter-spacing: -.04em; }
.institutional__content > p:not(.eyebrow) { max-inline-size: 34rem; margin: 0 0 2rem; color: var(--sc-color-text-muted); }
.testimonials__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--sc-color-border); }
.testimonials blockquote { margin: 0; padding: clamp(2rem, 4vw, 4rem); background: var(--sc-color-surface); }
.testimonials blockquote > span { color: var(--sc-color-gold-500); font: 400 3rem/1 var(--sc-font-display); }
.testimonials blockquote > p { min-block-size: 7rem; font: 400 clamp(1.15rem, 1.6vw, 1.45rem)/1.6 var(--sc-font-display); }
.testimonials footer { font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.testimonials footer small { display: block; margin-block-start: .3rem; color: var(--sc-color-text-muted); font-weight: 400; }
.instagram__grid { display: grid; grid-template-columns: repeat(6, 1fr); }
.instagram__grid a { position: relative; overflow: hidden; aspect-ratio: 1; }
.instagram__grid img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform .5s ease; }
.instagram__grid a:hover img { transform: scale(1.04); }
.instagram__grid span { position: absolute; inset: auto 1rem 1rem; color: #fff; font-size: .75rem; line-height: 1.45; opacity: 0; transform: translateY(.5rem); transition: opacity .3s ease, transform .3s ease; z-index: 1; }
.instagram__grid a::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgb(0 0 0 / .62)); opacity: 0; transition: opacity .3s ease; }
.instagram__grid a:hover span, .instagram__grid a:hover::after, .instagram__grid a:focus-visible span, .instagram__grid a:focus-visible::after { opacity: 1; transform: translateY(0); }
.newsletter { padding-block: clamp(4rem, 7vw, 7rem); background: var(--sc-color-brand-terracotta); color: white; }
.newsletter__inner { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 5rem; }
.newsletter h2 { margin: 0; font: 400 clamp(2rem, 3vw, 3.2rem)/1.15 var(--sc-font-display); }
.newsletter__inner > div > p:last-child { max-inline-size: 34rem; color: rgb(255 255 255 / 70%); }
.newsletter form label { display: flex; border-block-end: 1px solid rgb(255 255 255 / 55%); }
.newsletter input { flex: 1; padding: 1rem 0; border: 0; outline: 0; background: transparent; color: white; font-size: 1rem; }
.newsletter input::placeholder { color: rgb(255 255 255 / 65%); }
.newsletter form button { border: 0; background: transparent; color: white; cursor: pointer; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.newsletter form small { display: block; margin-block-start: .8rem; color: rgb(255 255 255 / 55%); }
.newsletter-success { font-family: var(--sc-font-display); font-size: 1.2rem; }

.category-hero { position: relative; display: grid; place-items: center; min-block-size: 26rem; color: white; text-align: center; }
.category-hero::after { content: ""; position: absolute; inset: 0; background: rgb(17 17 17 / 42%); }
.category-hero > img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; }
.category-hero > div { position: relative; z-index: 1; max-inline-size: 45rem; padding: 2rem; }
.category-hero h1 { margin: 0 0 1rem; font: 400 clamp(2.5rem, 5vw, 4.5rem)/1 var(--sc-font-display); }
.category-body { display: grid; grid-template-columns: 15rem 1fr; gap: clamp(2rem, 5vw, 5rem); padding-block: 3rem var(--sc-space-section); }
.filters__head, .category-toolbar { display: flex; justify-content: space-between; align-items: center; min-block-size: 3rem; border-block-end: 1px solid var(--sc-color-border); }
.filters__head p { font-weight: 600; }
.filters__head button, .filter-toggle { border: 0; background: transparent; cursor: pointer; font-size: .7rem; text-decoration: underline; }
.filters details { padding-block: 1.2rem; border-block-end: 1px solid var(--sc-color-border); }
.filters summary { cursor: pointer; font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.filters details > label { display: block; margin-block-start: .8rem; font-size: .8rem; }
.filter-sizes { display: grid; grid-template-columns: repeat(4, 1fr); gap: .35rem; margin-block-start: 1rem; }
.filter-sizes input { position: absolute; opacity: 0; }
.filter-sizes span { display: grid; place-items: center; aspect-ratio: 1; border: 1px solid var(--sc-color-border); font-size: .68rem; cursor: pointer; }
.filter-sizes input:checked + span { border-color: var(--sc-color-brand-gold); background: var(--sc-color-brand-gold); color: white; }
.category-toolbar { margin-block-end: 2rem; }
.category-toolbar p { font-size: .78rem; }
.category-toolbar label { font-size: .7rem; text-transform: uppercase; }
.category-toolbar select { margin-inline-start: .5rem; border: 0; background: transparent; }

.product-breadcrumb { display: flex; gap: .6rem; padding-block: 1.2rem; color: var(--sc-color-text-muted); font-size: .7rem; }
.product-breadcrumb a { text-decoration: none; }
.product-detail { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(22rem, .75fr); gap: clamp(2rem, 4vw, 5rem); }
.product-gallery { display: grid; grid-template-columns: repeat(2, 1fr); align-self: start; align-content: start; gap: .5rem; }
.product-gallery button { display: block; padding: 0; border: 0; background: transparent; cursor: zoom-in; line-height: 0; }
.product-gallery img { inline-size: 100%; aspect-ratio: 4 / 5.2; object-fit: cover; }
.product-info__sticky { position: sticky; inset-block-start: 1rem; padding-block: 2rem 5rem; }
.product-info h1 { margin: 0 0 1rem; font: 400 clamp(2rem, 3vw, 3rem)/1.1 var(--sc-font-display); }
.product-phrase { margin: -.35rem 0 1.25rem; color: var(--sc-color-brand-terracotta); font: 400 clamp(1.05rem, 1.5vw, 1.25rem)/1.5 var(--sc-font-display); }
.rating { color: var(--sc-color-text-muted); font-size: .72rem; }
.rating span { color: var(--sc-color-gold-700); letter-spacing: .1em; }
.product-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .6rem; padding-block: 1.5rem; }
.product-price del { color: var(--sc-color-text-muted); }
.product-price strong { font-size: 1.25rem; font-weight: 500; }
.product-price small { flex-basis: 100%; color: var(--sc-color-text-muted); }
.product-description { padding-block-end: 1.5rem; color: var(--sc-color-text-muted); }
.product-reflection { color: var(--sc-color-brand-earth); font-family: var(--sc-font-display); font-size: 1.05rem; line-height: 1.6; }
.product-verse { padding-inline-start: 1rem; border-inline-start: 1px solid var(--sc-color-gold); color: var(--sc-color-text-muted); font-style: italic; }
.product-info fieldset { padding: 1.2rem 0; border: 0; border-block-start: 1px solid var(--sc-color-border); }
.product-info legend { inline-size: 100%; font-size: .75rem; font-weight: 500; }
.product-info legend a { float: right; color: var(--sc-color-text-muted); }
.color-options, .size-options { display: flex; flex-wrap: wrap; gap: .6rem; margin-block-start: 1rem; }
.color-options input, .size-options input { position: absolute; opacity: 0; }
.color-options span { display: block; inline-size: 1.6rem; aspect-ratio: 1; border: 3px solid var(--sc-color-surface); border-radius: 50%; outline: 1px solid var(--sc-color-border); background: var(--swatch); cursor: pointer; }
.color-options input:checked + span { outline: 2px solid var(--sc-color-text); }
.size-options span { display: grid; place-items: center; min-inline-size: 2.8rem; block-size: 2.8rem; border: 1px solid var(--sc-color-border); cursor: pointer; font-size: .72rem; }
.size-options input:checked + span { border-color: var(--sc-color-brand-gold); background: var(--sc-color-brand-gold); color: white; }
.fit-finder-trigger { display: grid; grid-template-columns: 1fr auto; align-items: center; inline-size: 100%; margin-block-start: 1rem; padding: 1rem 1.1rem; border: 1px solid var(--sc-color-brand-gold); background: color-mix(in srgb, var(--sc-color-brand-gold) 7%, transparent); color: var(--sc-color-text); text-align: start; cursor: pointer; transition: var(--sc-transition-color); }
.fit-finder-trigger:hover { background: color-mix(in srgb, var(--sc-color-brand-gold) 14%, transparent); }
.fit-finder-trigger span, .fit-finder-trigger small { display: block; }
.fit-finder-trigger span { font-size: .78rem; font-weight: 600; }
.fit-finder-trigger small { margin-block-start: .2rem; color: var(--sc-color-text-muted); font-size: .64rem; }
.fit-finder-trigger b { grid-area: 1 / 2 / 3; font-size: 1rem; font-weight: 400; }
.buy-row { display: grid; grid-template-columns: auto 1fr; gap: .75rem; margin-block: 1rem 1.5rem; }
.quantity { display: grid; grid-template-columns: 2.4rem 2.5rem 2.4rem; border: 1px solid var(--sc-color-border); }
.quantity button, .quantity input { inline-size: 100%; border: 0; background: transparent; text-align: center; }
.quantity button { cursor: pointer; }
.product-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; padding: 1.2rem; background: var(--sc-color-cream-200); text-align: center; }
.product-benefits span { font-size: .65rem; }
.product-info details { padding-block: 1.2rem; border-block-end: 1px solid var(--sc-color-border); }
.product-info summary { cursor: pointer; font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.product-info details p { color: var(--sc-color-text-muted); font-size: .83rem; }
.has-gallery { overflow: hidden; }
.gallery-modal { position: fixed; inset: 0; z-index: var(--sc-z-modal); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; padding: clamp(1rem, 2vw, 2rem); background: rgb(24 22 18 / 96%); color: white; }
.gallery-modal__header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-block-size: 3rem; border-block-end: 1px solid rgb(255 255 255 / 18%); }
.gallery-modal__header span, .gallery-modal__header p { margin: 0; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.gallery-modal__header p { font-family: var(--sc-font-display); font-size: .86rem; letter-spacing: .04em; text-transform: none; }
.gallery-modal__header > button { justify-self: end; inline-size: 2.75rem; block-size: 2.75rem; border: 0; background: transparent; color: white; cursor: pointer; font: 300 1.8rem/1 sans-serif; }
.gallery-modal__stage { position: relative; display: grid; grid-template-columns: clamp(2.75rem, 5vw, 4.5rem) minmax(0, 1fr) clamp(2.75rem, 5vw, 4.5rem); align-items: center; min-block-size: 0; }
.gallery-modal__image { position: relative; display: grid; place-items: center; align-self: stretch; min-block-size: 0; padding: 1rem; overflow: auto; border: 0; background: transparent; color: white; cursor: zoom-in; }
.gallery-modal__image img { display: block; max-inline-size: 100%; max-block-size: calc(100vh - 12rem); object-fit: contain; transition: transform var(--sc-duration-standard) var(--sc-ease-standard); }
.gallery-modal__image.is-zoomed { display: block; cursor: zoom-out; }
.gallery-modal__image.is-zoomed img { max-inline-size: none; max-block-size: none; inline-size: min(145%, 120rem); margin: auto; }
.gallery-modal__image > span { position: absolute; inset: auto 50% 1.5rem auto; translate: 50% 0; padding: .55rem .8rem; background: rgb(17 17 17 / 62%); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; pointer-events: none; }
.gallery-modal__image.is-zoomed > span { opacity: 0; }
.gallery-modal__nav { display: grid; place-items: center; inline-size: clamp(2.5rem, 4vw, 3.5rem); aspect-ratio: 1; border: 1px solid rgb(255 255 255 / 28%); border-radius: 50%; background: transparent; color: white; cursor: pointer; font-size: 1rem; transition: var(--sc-transition-color), var(--sc-transition-transform); }
.gallery-modal__nav:hover { border-color: white; background: white; color: var(--sc-color-black); transform: scale(1.04); }
.gallery-modal__nav--next { justify-self: end; }
.gallery-modal__thumbs { display: flex; justify-content: center; gap: .5rem; padding-block-start: 1rem; overflow-x: auto; border-block-start: 1px solid rgb(255 255 255 / 18%); }
.gallery-modal__thumbs button { flex: 0 0 3rem; padding: 0; border: 1px solid transparent; background: transparent; cursor: pointer; opacity: .48; transition: opacity var(--sc-duration-fast), border-color var(--sc-duration-fast); }
.gallery-modal__thumbs button.is-active { border-color: var(--sc-color-brand-gold); opacity: 1; }
.gallery-modal__thumbs img { display: block; inline-size: 100%; aspect-ratio: 4 / 5; object-fit: cover; }

@media (max-width: 47.99rem) {
  .gallery-modal { padding: .75rem; }
  .gallery-modal__header { grid-template-columns: 1fr auto; }
  .gallery-modal__header p { display: none; }
  .gallery-modal__stage { grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem; }
  .gallery-modal__image { padding: .5rem; }
  .gallery-modal__image img { max-block-size: calc(100vh - 10rem); }
  .gallery-modal__image > span { display: none; }
  .gallery-modal__thumbs { justify-content: flex-start; }
}

.fit-finder-modal { position: fixed; inset: 0; z-index: var(--sc-z-modal); display: grid; place-items: center; padding: clamp(.75rem, 3vw, 2.5rem); background: rgb(17 17 17 / 72%); }
.fit-finder { position: relative; display: grid; grid-template-columns: minmax(18rem, .82fr) minmax(25rem, 1.18fr); inline-size: min(70rem, 100%); max-block-size: min(48rem, 94vh); overflow: auto; background: var(--sc-color-surface-raised); box-shadow: var(--sc-shadow-overlay); }
.fit-finder__close { position: absolute; inset: 1rem 1rem auto auto; z-index: 2; display: grid; place-items: center; inline-size: 2.75rem; aspect-ratio: 1; border: 1px solid var(--sc-color-border); border-radius: 50%; background: var(--sc-color-surface-raised); color: var(--sc-color-text); cursor: pointer; font: 300 1.5rem/1 sans-serif; }
.fit-finder__intro { position: relative; min-block-size: 38rem; overflow: hidden; color: white; }
.fit-finder__intro::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgb(17 17 17 / 78%)); }
.fit-finder__intro > img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; }
.fit-finder__intro > div { position: absolute; inset: auto clamp(1.5rem, 4vw, 3rem) clamp(2rem, 5vw, 3.5rem); z-index: 1; }
.fit-finder__intro h2 { margin: .5rem 0 1rem; font: 400 clamp(2rem, 3vw, 3.25rem)/1.05 var(--sc-font-display); }
.fit-finder__intro p:last-child { max-inline-size: 28rem; color: rgb(255 255 255 / 78%); font-size: .82rem; }
.fit-finder__content { display: grid; align-items: center; padding: clamp(2rem, 5vw, 4.5rem); }
.fit-finder__step h3, .fit-result h3 { margin: .4rem 0 2rem; font: 400 clamp(1.75rem, 3vw, 2.5rem)/1.15 var(--sc-font-display); }
.fit-finder__fields { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }
.fit-finder__fields label { color: var(--sc-color-text-muted); font-size: .68rem; }
.fit-finder__fields label > span { display: flex; align-items: center; margin-block-start: .4rem; border: 1px solid var(--sc-color-border-strong); }
.fit-finder__fields input { min-inline-size: 0; inline-size: 100%; block-size: 3.25rem; padding: .75rem; border: 0; outline: 0; background: transparent; color: var(--sc-color-text); font-size: 1rem; }
.fit-finder__fields small { padding-inline-end: .65rem; color: var(--sc-color-text-soft); }
.fit-finder fieldset { margin: 2rem 0; padding: 0; border: 0; }
.fit-finder legend { margin-block-end: .75rem; font-size: .72rem; font-weight: 600; }
.fit-preference { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
.fit-preference input { position: absolute; opacity: 0; }
.fit-preference span { display: grid; place-items: center; min-block-size: 3.25rem; padding: .5rem; border: 1px solid var(--sc-color-border); font-size: .68rem; text-align: center; cursor: pointer; }
.fit-preference input:checked + span { border-color: var(--sc-color-brand-gold); background: var(--sc-color-brand-gold); color: white; }
.fit-finder .store-button { inline-size: 100%; }
.fit-finder__privacy { color: var(--sc-color-text-soft); font-size: .62rem; text-align: center; }
.fit-finder__loading { text-align: center; }
.fit-finder__loading-mark { position: relative; display: grid; place-items: center; inline-size: 7rem; aspect-ratio: 1; margin: 0 auto 1.75rem; border: 1px solid var(--sc-color-border); border-radius: 50%; }
.fit-finder__loading-mark::before { content: ''; position: absolute; inset: -.35rem; border: 1px solid transparent; border-block-start-color: var(--sc-color-brand-gold); border-inline-end-color: var(--sc-color-brand-gold); border-radius: 50%; animation: fit-loading-spin 1.15s linear infinite; }
.fit-finder__loading-mark img { inline-size: 3.1rem; block-size: 3.1rem; object-fit: contain; animation: fit-loading-breathe 1.6s ease-in-out infinite; }
.fit-finder__loading h3 { margin: .5rem auto 1rem; max-inline-size: 24rem; font: 400 clamp(1.8rem, 3vw, 2.5rem)/1.15 var(--sc-font-display); }
.fit-finder__loading > p:not(.eyebrow) { max-inline-size: 25rem; margin-inline: auto; color: var(--sc-color-text-muted); font-size: .82rem; }
.fit-finder__loading > small { color: var(--sc-color-text-soft); font-size: .62rem; }
.fit-finder__progress { block-size: 2px; margin: 2rem auto 1rem; overflow: hidden; background: var(--sc-color-gray-100); }
.fit-finder__progress span { display: block; inline-size: 100%; block-size: 100%; background: var(--sc-color-brand-gold); transform: scaleX(0); transform-origin: left; animation: fit-loading-progress 4s var(--sc-ease-standard) forwards; }
@keyframes fit-loading-spin { to { rotate: 1turn; } }
@keyframes fit-loading-breathe { 50% { opacity: .55; transform: scale(.94); } }
@keyframes fit-loading-progress { to { transform: scaleX(1); } }
.fit-result { text-align: center; }
.fit-result__size { position: relative; display: grid; place-items: center; inline-size: 8rem; aspect-ratio: 1; margin: 1.5rem auto; background: var(--sc-color-cream-100); color: var(--sc-color-brand-earth); font: 400 4rem/1 var(--sc-font-display); }
.fit-result__size span { position: absolute; inset: -.4rem -.4rem auto auto; display: grid; place-items: center; inline-size: 2rem; aspect-ratio: 1; border-radius: 50%; background: var(--sc-color-brand-gold); color: white; font: 400 1rem/1 sans-serif; }
.fit-result > p:not(.eyebrow) { color: var(--sc-color-text-muted); font-size: .82rem; }
.fit-result__available { display: flex; justify-content: center; gap: .5rem; margin-block: 1.5rem; }
.fit-result__available span { display: grid; place-items: center; inline-size: 3rem; aspect-ratio: 1; border: 1px solid var(--sc-color-border); font-size: .75rem; }
.fit-result__available .is-recommended { border-color: var(--sc-color-brand-gold); background: color-mix(in srgb, var(--sc-color-brand-gold) 12%, white); font-weight: 600; }
.fit-result__back { margin-block: 1rem; border: 0; background: transparent; color: var(--sc-color-text-muted); cursor: pointer; font-size: .7rem; text-decoration: underline; }
.fit-result > small { display: block; color: var(--sc-color-text-soft); font-size: .6rem; line-height: 1.5; }

@media (max-width: 47.99rem) {
  .fit-finder-modal { place-items: end center; padding: 0; }
  .fit-finder { grid-template-columns: 1fr; inline-size: 100%; max-block-size: 94vh; }
  .fit-finder__intro { min-block-size: 13rem; }
  .fit-finder__intro > div { inset: auto 1.25rem 1.25rem; }
  .fit-finder__intro h2 { max-inline-size: 18rem; margin-block-end: 0; font-size: 1.75rem; }
  .fit-finder__intro p:last-child { display: none; }
  .fit-finder__content { padding: 1.5rem 1.25rem 2rem; }
  .fit-finder__step h3, .fit-result h3 { margin-block-end: 1.25rem; }
  .fit-finder__fields { grid-template-columns: 1fr 1fr; }
  .fit-finder__fields label:last-child { grid-column: 1 / -1; }
}

.cart-page { min-block-size: 60vh; }
.cart-title { display: grid; grid-template-columns: auto 1fr; align-items: end; column-gap: 1rem; padding-block-end: 2rem; border-block-end: 1px solid var(--sc-color-border); }
.cart-title .eyebrow { grid-column: 1 / -1; margin-block-end: .65rem; }
.cart-title h1 { margin: 0; font: 400 clamp(2.5rem, 4vw, 4rem)/1 var(--sc-font-display); }
.cart-title span { padding-block-end: .35rem; color: var(--sc-color-text-muted); font-size: .75rem; }
.cart-title h1 { color: var(--sc-color-brand-cart); }
.cart-layout { display: grid; grid-template-columns: 1fr minmax(18rem, 25rem); gap: clamp(3rem, 7vw, 7rem); padding-block-start: 2rem; }
.cart-item { display: grid; grid-template-columns: 8rem 1fr auto; gap: 1.5rem; padding-block: 1.5rem; border-block-end: 1px solid var(--sc-color-border); }
.cart-item img { inline-size: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.cart-item a { text-decoration: none; }
.cart-item h2 { margin: 0 0 .5rem; font: 400 1.1rem/1.3 var(--sc-font-display); }
.cart-item p { color: var(--sc-color-text-muted); font-size: .75rem; }
.cart-item .quantity { inline-size: 7.4rem; block-size: 2.3rem; grid-template-columns: repeat(3, 1fr); }
.remove-link { margin-block-start: .8rem; padding: 0; border: 0; background: transparent; color: var(--sc-color-text-muted); cursor: pointer; font-size: .7rem; text-decoration: underline; }
.cart-summary { align-self: start; padding: 2rem; background: var(--sc-color-surface-raised); }
.cart-summary { border-block-start: 3px solid var(--sc-color-brand-cart); }
.cart-summary h2 { margin: 0 0 2rem; font: 400 1.5rem/1 var(--sc-font-display); }
.cart-summary > div { display: flex; justify-content: space-between; gap: 1rem; margin-block: .8rem; font-size: .8rem; }
.cart-summary .cart-total { padding-block: 1rem; border-block: 1px solid var(--sc-color-border); font-size: 1rem; }
.cart-summary > small { color: var(--sc-color-text-muted); }
.cart-summary .store-button { inline-size: 100%; margin-block: 1.5rem 1rem; }
.cart-summary .store-button, .cart-page .empty-cart .store-button { border-color: var(--sc-color-brand-cart); background: var(--sc-color-brand-cart); }
.cart-summary .store-button:hover, .cart-page .empty-cart .store-button:hover, .mini-cart > .store-button:hover { border-color: #0e2918; background: #0e2918; }
.cart-summary > a { display: block; text-align: center; font-size: .72rem; }
.empty-cart { display: grid; justify-items: center; padding-block: 6rem; text-align: center; }
.empty-cart img { inline-size: 4rem; }
.empty-cart h2 { margin: 1.5rem 0 .5rem; font: 400 2rem/1.2 var(--sc-font-display); }
.empty-cart p { color: var(--sc-color-text-muted); }

.is-checkout #app-header .announcement, .is-checkout #app-header .store-nav, .is-checkout #app-footer { display: none; }
.is-checkout .store-header__actions, .is-checkout .store-header__utilities { visibility: hidden; }
.is-checkout .store-header__main { min-block-size: 5rem; }
.checkout-notice { padding: .65rem var(--sc-space-page-inline); background: var(--sc-color-brand-earth); color: white; font-size: .66rem; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, 27rem); gap: clamp(2rem, 6vw, 6rem); padding-block: clamp(2rem, 5vw, 4rem) 6rem; }
.checkout-progress { display: flex; gap: 1.5rem; padding-block-end: 1.25rem; border-block-end: 1px solid var(--sc-color-border); color: var(--sc-color-text-soft); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.checkout-progress .is-active { color: var(--sc-color-text); }
.checkout-block { padding-block: 2rem; border-block-end: 1px solid var(--sc-color-border); }
.checkout-block > header { display: flex; align-items: flex-start; gap: 1rem; margin-block-end: 1.5rem; }
.checkout-block > header > span { display: grid; place-items: center; inline-size: 2rem; aspect-ratio: 1; border: 1px solid var(--sc-color-border-strong); border-radius: 50%; color: var(--sc-color-text-muted); font-size: .62rem; }
.checkout-block .eyebrow { margin-block-end: .25rem; }
.checkout-block h1, .checkout-block h2 { margin: 0; font: 400 clamp(1.4rem, 2.2vw, 2rem)/1.2 var(--sc-font-display); }
.checkout-fields { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.checkout-fields label, .checkout-note { color: var(--sc-color-text-muted); font-size: .68rem; }
.checkout-fields .is-wide { grid-column: 1 / -1; }
.checkout-fields input, .checkout-fields select, .checkout-note textarea { display: block; inline-size: 100%; min-block-size: 3rem; padding: .75rem; margin-block-start: .35rem; border: 1px solid var(--sc-color-border-strong); border-radius: 0; outline: 0; background: var(--sc-color-surface-raised); color: var(--sc-color-text); }
.checkout-fields input:focus, .checkout-fields select:focus, .checkout-note textarea:focus, .coupon-form input:focus { border-color: var(--sc-color-focus); box-shadow: var(--sc-shadow-focus); }
.checkout-options { display: grid; gap: .6rem; padding: 0; margin-block-start: 1.5rem; border: 0; }
.checkout-options legend { margin-block-end: .75rem; font-size: .72rem; font-weight: 600; }
.checkout-options label { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem; padding: 1rem; border: 1px solid var(--sc-color-border); cursor: pointer; }
.checkout-options label:has(input:checked) { border-color: var(--sc-color-action); background: color-mix(in srgb, var(--sc-color-action) 5%, transparent); }
.checkout-options strong, .checkout-options small { display: block; }
.checkout-options strong { font-size: .78rem; }
.checkout-options small { margin-block-start: .2rem; color: var(--sc-color-text-muted); font-size: .65rem; }
.checkout-options b { font-size: .72rem; font-weight: 500; }
.card-fields { padding-block-start: 1.5rem; }
.checkout-note { display: block; margin-block-start: 1.5rem; }
.checkout-note textarea { resize: vertical; }
.checkout-submit { inline-size: 100%; margin-block-start: 2rem; }
.checkout-secure { color: var(--sc-color-text-muted); font-size: .62rem; text-align: center; }
.checkout-summary { position: sticky; inset-block-start: 6.5rem; align-self: start; padding: 1.75rem; background: var(--sc-color-surface-raised); box-shadow: var(--sc-shadow-xs); }
.checkout-summary > h2 { margin: 0 0 1.5rem; font: 400 1.6rem/1.2 var(--sc-font-display); }
.checkout-summary__items article { display: grid; grid-template-columns: 3.75rem 1fr auto; align-items: center; gap: .8rem; padding-block: .75rem; border-block-end: 1px solid var(--sc-color-border); }
.checkout-summary__items img { inline-size: 3.75rem; aspect-ratio: 4 / 5; object-fit: cover; }
.checkout-summary__items strong, .checkout-summary__items small { display: block; }
.checkout-summary__items strong { font-size: .72rem; }
.checkout-summary__items small { margin-block-start: .2rem; color: var(--sc-color-text-muted); font-size: .6rem; }
.checkout-summary__items b { font-size: .68rem; font-weight: 500; }
.coupon-form { padding-block: 1.25rem; border-block-end: 1px solid var(--sc-color-border); }
.coupon-form label { display: block; margin-block-end: .55rem; font-size: .68rem; }
.coupon-form > div { display: grid; grid-template-columns: 1fr auto; }
.coupon-form input { min-inline-size: 0; padding: .7rem; border: 1px solid var(--sc-color-border-strong); background: transparent; color: var(--sc-color-text); outline: 0; }
.coupon-form button { padding-inline: 1rem; border: 0; background: var(--sc-color-action); color: var(--sc-color-text-inverse); cursor: pointer; font-size: .65rem; text-transform: uppercase; }
.coupon-form p { min-block-size: 1rem; margin: .5rem 0 0; color: var(--sc-color-danger); font-size: .62rem; }
.coupon-form p.is-success { color: var(--sc-color-success); }
.checkout-summary dl { margin: 1rem 0; }
.checkout-summary dl > div { display: flex; justify-content: space-between; gap: 1rem; padding-block: .35rem; font-size: .72rem; }
.checkout-summary dd { margin: 0; }
.checkout-summary__total { padding-block-start: 1rem !important; margin-block-start: .65rem; border-block-start: 1px solid var(--sc-color-border); font-size: 1rem !important; font-weight: 600; }
.checkout-summary > small { display: block; color: var(--sc-color-text-muted); font-size: .6rem; line-height: 1.5; }
.checkout-empty, .checkout-confirmation { display: grid; min-block-size: calc(100svh - 5rem); place-items: center; align-content: center; padding: 2rem; text-align: center; }
.checkout-empty img, .checkout-confirmation img { inline-size: 4rem; }
.checkout-empty h1, .checkout-confirmation h1 { max-inline-size: 18ch; margin: 1.5rem 0 .75rem; font: 400 clamp(2rem, 4vw, 3.5rem)/1.12 var(--sc-font-display); }
.checkout-empty p, .checkout-confirmation > p:not(.eyebrow) { max-inline-size: 38rem; margin: 0 0 1.5rem; color: var(--sc-color-text-muted); }
.checkout-confirmation .eyebrow { margin-block: 1.5rem 0; color: var(--sc-color-accent); }

.search-page { min-block-size: 60vh; }
.search-page h1 { margin: 0 0 2rem; font: 400 clamp(2.2rem, 4vw, 4rem)/1.1 var(--sc-font-display); }
.search-page > form { display: grid; grid-template-columns: 1fr auto; max-inline-size: 55rem; margin-block-end: 3rem; }
.search-page > form input { min-block-size: 3.4rem; padding: 0 1rem; border: 1px solid var(--sc-color-border-strong); border-inline-end: 0; background: white; }
.search-count { padding-block: 1rem; margin-block-end: 2rem; border-block: 1px solid var(--sc-color-border); font-size: .75rem; }
.empty-search { padding-block: 4rem; text-align: center; }
.load-error { display: grid; place-items: center; min-block-size: 60vh; padding: 2rem; text-align: center; }

.store-footer { padding-block-start: clamp(4rem, 7vw, 7rem); background: var(--sc-color-brand-earth); color: white; }
.store-footer__top { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 4rem; padding-block-end: 4rem; }
.store-footer__top > div:not(.footer-brand) { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; }
.store-footer__top a { color: rgb(255 255 255 / 68%); font-size: .78rem; text-decoration: none; }
.store-footer__top a:hover { color: white; }
.footer-brand img { inline-size: min(100%, 13rem); margin-block-end: 1.5rem; }
.footer-brand > p { max-inline-size: 20rem; color: rgb(255 255 255 / 65%); }
.footer-contact { margin-block-start: 1rem; color: rgb(255 255 255 / 50%); font-size: .72rem; }
.store-footer__bottom { display: flex; justify-content: space-between; gap: 2rem; padding-block: 1.5rem; border-block-start: 1px solid rgb(255 255 255 / 15%); color: rgb(255 255 255 / 45%); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.store-toast { position: fixed; inset: auto 1.5rem 1.5rem auto; z-index: 350; display: grid; grid-template-columns: 2.5rem 1fr auto; align-items: center; gap: 1rem; inline-size: min(calc(100% - 3rem), 28rem); padding: 1rem; border: 1px solid color-mix(in srgb, var(--sc-color-brand-cart) 35%, transparent); border-inline-start: 3px solid var(--sc-color-brand-cart); background: var(--sc-color-surface-raised); color: var(--sc-color-text); box-shadow: var(--sc-shadow-overlay); opacity: 0; transform: translateY(1rem); transition: .3s ease; }
.store-toast.is-visible { opacity: 1; transform: translateY(0); }
.store-toast img { inline-size: 2rem; }
.store-toast strong, .store-toast span { display: block; }
.store-toast strong { font-size: .78rem; }
.store-toast span { color: var(--sc-color-text-muted); font-size: .7rem; }
.store-toast a { color: var(--sc-color-brand-cart); font-size: .65rem; font-weight: 600; text-transform: uppercase; }
.reveal { opacity: 0; transform: translateY(1rem); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 63.99rem) {
  :root { --store-header-height: 6rem; }
  .desktop-only { display: none !important; }
  .mobile-only { display: inline-flex !important; }
  .announcement { min-block-size: 1.8rem; max-block-size: 1.8rem; font-size: .58rem; }
  .store-header__main { min-block-size: 4.2rem; }
  .brand-logo { inline-size: 9.2rem; }
  .store-header__utilities { gap: .7rem; }
  .mega-menu { display: none; }
  .mobile-menu { position: fixed; inset: 0 auto 0 0; z-index: 130; display: flex; flex-direction: column; inline-size: min(90%, 25rem); background: var(--sc-color-surface); visibility: hidden; transform: translateX(-100%); transition: .35s var(--sc-ease-standard); }
  .mobile-menu.is-open { visibility: visible; transform: translateX(0); }
  .mobile-menu__header { display: flex; align-items: center; justify-content: space-between; padding: 1rem var(--sc-space-page-inline); border-block-end: 1px solid var(--sc-color-border); }
  .mobile-menu__header img { inline-size: 9rem; }
  .mobile-menu nav { display: flex; flex-direction: column; padding: 1rem var(--sc-space-page-inline); }
  .mobile-menu nav a { display: flex; justify-content: space-between; padding-block: 1rem; border-block-end: 1px solid var(--sc-color-border); font-family: var(--sc-font-display); text-decoration: none; }
  .mobile-menu__foot { margin-block-start: auto; padding: 2rem var(--sc-space-page-inline); background: var(--sc-color-brand-earth); color: white; font-size: .75rem; }
  .home-hero__content { padding-block: 5rem; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .collections-grid { grid-template-columns: 1fr; }
  .collection-card { min-block-size: 34rem; }
  .lookbook__grid { grid-template-columns: 1fr 1fr; grid-template-rows: 28rem 20rem; }
  .lookbook__item--1 { grid-row: 1; }
  .lookbook__item--2 { grid-column: 2; grid-row: 1; }
  .lookbook__item--3 { grid-column: 1; grid-row: 2; }
  .lookbook__item--4 { grid-column: 2; grid-row: 2; }
  .institutional { grid-template-columns: 1fr; }
  .institutional__image { min-block-size: 34rem; }
  .testimonials__grid { grid-template-columns: 1fr; }
  .testimonials blockquote > p { min-block-size: auto; }
  .instagram__grid { grid-template-columns: repeat(3, 1fr); }
  .newsletter__inner { grid-template-columns: 1fr; gap: 2rem; }
  .category-body { grid-template-columns: 1fr; }
  .filters { display: none; padding: 1rem; border: 1px solid var(--sc-color-border); }
  .filters.is-open { display: block; }
  .product-detail { grid-template-columns: 1fr; }
  .product-info__sticky { position: static; }
  .cart-layout { grid-template-columns: 1fr; }
  .checkout-layout { grid-template-columns: 1fr; }
  .checkout-summary { position: static; grid-row: 1; }
  .store-footer__top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 35rem) {
  .home-hero { block-size: auto; min-block-size: 42rem; max-block-size: none; }
  .home-hero__content { justify-content: flex-end; }
  .home-hero h1 { font-size: 2.55rem; }
  .home-hero__scroll { display: none; }
  .section-heading { align-items: start; }
  .section-heading .text-link { display: none; }
  .product-grid { gap: 1.5rem .55rem; }
  .product-card__info { display: block; padding-block: .7rem; }
  .product-card__price { align-items: flex-start; margin-block-start: .45rem; }
  .product-badge { inset: .45rem auto auto .45rem; font-size: .5rem; }
  .wishlist { inset: .4rem .4rem auto auto; inline-size: 2rem; }
  .collection-card { min-block-size: 29rem; }
  .collection-card span { inset: auto 1.25rem 1.5rem; }
  .lookbook__grid { grid-template-columns: 1fr; grid-template-rows: repeat(4, 28rem); }
  .lookbook__item--1, .lookbook__item--2, .lookbook__item--3, .lookbook__item--4 { grid-column: 1; grid-row: auto; }
  .institutional__image { min-block-size: 28rem; }
  .institutional__content { padding: 3rem var(--sc-space-page-inline); }
  .instagram__grid { grid-template-columns: repeat(2, 1fr); }
  .category-hero { min-block-size: 20rem; }
  .category-toolbar label { font-size: 0; }
  .category-toolbar select { font-size: .7rem; }
  .product-gallery { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .product-gallery button { min-inline-size: 88%; scroll-snap-align: start; }
  .product-info__sticky { padding-block-start: 1rem; }
  .product-benefits { grid-template-columns: 1fr; text-align: start; }
  .buy-row { grid-template-columns: 1fr; }
  .quantity { inline-size: 100%; grid-template-columns: repeat(3, 1fr); min-block-size: 2.8rem; }
  .cart-item { grid-template-columns: 6rem 1fr; }
  .cart-item > strong { grid-column: 2; }
  .cart-summary { padding: 1.3rem; }
  .checkout-fields { grid-template-columns: 1fr; }
  .checkout-fields .is-wide { grid-column: auto; }
  .checkout-progress { justify-content: space-between; gap: .5rem; font-size: .55rem; }
  .search-page > form { grid-template-columns: 1fr; gap: .5rem; }
  .search-page > form input { border-inline-end: 1px solid var(--sc-color-border-strong); }
  .store-footer__top { grid-template-columns: 1fr; gap: 2.5rem; }
  .store-footer__bottom { flex-direction: column; gap: .6rem; }
  .store-toast { inset: auto 1rem 1rem; inline-size: auto; grid-template-columns: 2rem 1fr; }
  .store-toast a { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; }
}
