:root {
  color-scheme: light;
  --paper: oklch(97.6% .012 82);
  --paper-deep: oklch(93.5% .018 78);
  --ink: oklch(17% .025 55);
  --muted: oklch(48% .025 62);
  --line: oklch(81% .022 75);
  --font-display: "Instrument Serif", Georgia, serif;
  --font-body: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", monospace;
  --active-album: oklch(0.30 0.12 265);
  --active-album-deep: oklch(0.23 0.10 265);
  --active-album-accent: oklch(0.95 0.03 88);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; background: var(--paper); color: var(--ink); font: 400 13px/1.45 var(--font-body); -webkit-font-smoothing: antialiased; }
body.cart-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select { color: inherit; font: inherit; border-radius: 0; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--active-album); outline-offset: 5px; }
img { display: block; max-width: 100%; }
h1, h2, h3, p, dl, dd, dt { margin: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.eyebrow { color: var(--muted); font: 500 10px/1.2 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }

.announcement { min-height: 30px; display: flex; align-items: center; justify-content: center; background: var(--ink); color: var(--paper); font: 500 9px/1 var(--font-mono); letter-spacing: .13em; text-transform: uppercase; }
.site-header { position: relative; z-index: 20; background: color-mix(in oklch, var(--paper) 97%, var(--active-album) 3%); }
.utility { min-height: 66px; display: flex; align-items: center; justify-content: space-between; margin: 0 28px; border-bottom: 1px solid var(--line); }
nav, .tools { display: flex; align-items: center; gap: 24px; }
nav a, .header-button { position: relative; padding: 12px 0; border: 0; background: transparent; font: 500 10px/1 var(--font-mono); letter-spacing: .03em; text-transform: uppercase; }
nav a::after { position: absolute; right: 0; bottom: 7px; left: 0; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transform-origin: left; transition: transform 300ms cubic-bezier(.16, 1, .3, 1); }
nav a:hover::after, nav a[aria-current]::after { transform: scaleX(1); }
.tools { gap: 20px; }
.currency { color: var(--muted); font: 400 10px/1 var(--font-mono); }
.header-button:hover { color: var(--active-album-deep); }
.wordmark { display: block; padding: 20px 2% 29px; color: var(--ink); font: 400 clamp(60px, 12vw, 192px)/.78 var(--font-display); letter-spacing: -.06em; text-align: center; white-space: nowrap; }
.wordmark:hover { color: var(--active-album-deep); }
.search-panel { padding: 20px 28px 30px; border-bottom: 1px solid var(--line); }
.search-panel form { max-width: 720px; margin: auto; }
.search-panel label { display: block; margin-bottom: 8px; color: var(--muted); font: 500 10px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.search-field, .email-field { display: flex; align-items: center; border-bottom: 1px solid var(--ink); }
.search-field input, .email-field input { width: 100%; padding: 12px 0; border: 0; outline: 0; background: transparent; font-size: 15px; }
.search-submit, .email-field button { padding: 8px 0 8px 15px; border: 0; background: transparent; font-size: 19px; transition: transform 300ms cubic-bezier(.16, 1, .3, 1); }
.search-submit:hover, .email-field button:hover { transform: translateX(5px); }

.shop-intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); min-height: 570px; margin: 0 28px; background: var(--active-album-deep); color: var(--paper); overflow: hidden; }
.intro-copy { align-self: end; padding: clamp(42px, 7vw, 96px); }
.intro-copy .eyebrow { color: color-mix(in oklch, var(--paper) 70%, var(--active-album-accent) 30%); }
.intro-copy h1 { max-width: 8ch; margin: 25px 0 28px; font: 400 clamp(66px, 10vw, 152px)/.78 var(--font-display); letter-spacing: -.055em; }
.intro-copy h1 em { color: var(--active-album-accent); font-style: italic; }
.intro-description { max-width: 38ch; color: color-mix(in oklch, var(--paper) 72%, var(--active-album-accent) 28%); font-size: 15px; line-height: 1.42; }
.intro-link { display: inline-flex; align-items: center; gap: 18px; margin-top: 34px; padding-bottom: 8px; border-bottom: 1px solid color-mix(in oklch, var(--paper) 65%, var(--active-album-accent) 35%); font: 500 10px/1 var(--font-mono); letter-spacing: .04em; text-transform: uppercase; transition: gap 300ms cubic-bezier(.16, 1, .3, 1), color 300ms ease; }
.intro-link:hover { gap: 25px; color: var(--active-album-accent); }
.intro-record { position: relative; display: flex; align-items: center; justify-content: center; min-height: 570px; background: var(--active-album-surface); isolation: isolate; }
.record-disc { position: relative; width: min(31vw, 390px); aspect-ratio: 1; display: grid; place-items: center; background: var(--album-deep); box-shadow: 22px 26px 0 color-mix(in oklch, var(--album-accent) 72%, var(--album-deep) 28%); transform: rotate(4deg); }
.record-disc::before { position: absolute; inset: 7%; border: 1px solid color-mix(in oklch, var(--album-accent) 55%, transparent); content: ""; }
.record-disc img { width: 78%; height: 78%; object-fit: cover; }
.record-ring { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--album-accent); }
.record-copy { position: absolute; right: 10%; bottom: 9%; display: flex; flex-direction: column; gap: 3px; color: var(--album-deep); font: 500 10px/1.15 var(--font-mono); text-transform: uppercase; }
.record-copy span { opacity: .65; }
.record-copy strong { max-width: 19ch; font: 400 24px/.92 var(--font-display); letter-spacing: -.02em; text-transform: none; }
.record-copy small { opacity: .7; font-size: 9px; }

.album-picker { padding: 86px 28px 78px; background: var(--paper-deep); }
.picker-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.picker-heading h2 { margin-top: 11px; font: 400 clamp(34px, 5vw, 62px)/.9 var(--font-display); letter-spacing: -.045em; }
.picker-heading > p { max-width: 20ch; color: var(--muted); font-size: 14px; text-align: right; }
.album-chooser { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(178px, 1fr); gap: 18px; overflow-x: auto; padding: 0 0 12px; scrollbar-color: var(--active-album-deep) transparent; scrollbar-width: thin; }
.album-choice { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto 1fr; gap: 11px 13px; min-width: 178px; padding: 0 0 16px; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; transition: border-color 300ms ease, transform 300ms cubic-bezier(.16, 1, .3, 1); }
.album-choice:hover { border-color: var(--active-album-deep); transform: translateY(-4px); }
.album-choice.is-active { border-bottom: 2px solid var(--active-album-deep); }
.album-choice-number { grid-row: 1 / span 2; padding-top: 3px; color: var(--muted); font: 400 10px/1 var(--font-mono); }
.album-choice-art { width: 78px; aspect-ratio: 1; grid-row: 1 / span 2; background: var(--album-deep); box-shadow: 5px 5px 0 var(--album-accent); transform: rotate(-2deg); transition: transform 300ms cubic-bezier(.16, 1, .3, 1); }
.album-choice:hover .album-choice-art, .album-choice.is-active .album-choice-art { transform: rotate(2deg) scale(1.03); }
.album-choice-art img { width: 100%; height: 100%; object-fit: cover; }
.album-choice-copy { align-self: end; display: flex; flex-direction: column; gap: 4px; }
.album-choice-copy strong { max-width: 17ch; font: 400 19px/.92 var(--font-display); letter-spacing: -.015em; }
.album-choice-copy small { color: var(--muted); font: 400 9px/1.25 var(--font-mono); text-transform: uppercase; }
.album-select-label, #album-select { display: none; }

.fashion-opening { padding: 112px 28px 124px; }
.opening-label { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 27px; }
.opening-label h2 { margin-top: 10px; font: 400 clamp(36px, 5vw, 70px)/.86 var(--font-display); letter-spacing: -.045em; }
.opening-label a, .section-heading > a { display: inline-flex; align-items: center; gap: 14px; padding-bottom: 6px; border-bottom: 1px solid currentColor; font: 500 10px/1 var(--font-mono); text-transform: uppercase; }
.opening-label a:hover, .section-heading > a:hover { color: var(--active-album-deep); }
.featured-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, .85fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 18px; }
.product-card { min-width: 0; animation: card-in 650ms both cubic-bezier(.16, 1, .3, 1); animation-delay: calc(var(--card-index, 0) * 35ms); }
@keyframes card-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.featured-grid .product-card--feature-1 { grid-row: 1 / span 2; }
.featured-grid .product-card--feature-1 .product-art { aspect-ratio: 1 / 1.04; }
.featured-grid .product-card--feature-2 .product-art, .featured-grid .product-card--feature-3 .product-art, .featured-grid .product-card--feature-4 .product-art, .featured-grid .product-card--feature-5 .product-art, .featured-grid .product-card--feature-6 .product-art { aspect-ratio: 1.12 / 1; }

.collection { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: clamp(30px, 5vw, 96px); align-items: start; padding: 0 28px 124px; }
.collection-sidebar { min-width: 0; }
.section-heading { position: sticky; top: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 26px; }
.section-heading h2 { margin-top: 11px; font: 400 clamp(34px, 4.5vw, 58px)/.86 var(--font-display); letter-spacing: -.045em; }
.filters { position: sticky; top: 180px; display: flex; flex-direction: column; gap: 13px; margin-top: 54px; }
.filters label { color: var(--muted); font: 500 9px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.filters select { width: 100%; padding: 8px 0; border: 0; border-bottom: 1px solid var(--line); outline: 0; background: transparent; font-size: 11px; }
.filters select:hover { border-color: var(--active-album-deep); }
.clear-button { align-self: flex-start; margin-top: 10px; padding: 0 0 5px; border: 0; border-bottom: 1px solid currentColor; background: transparent; font: 500 9px/1 var(--font-mono); text-transform: uppercase; }
.clear-button:hover { color: var(--active-album-deep); }
.catalog-main { min-width: 0; }
.catalog-status { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 21px; padding-bottom: 12px; border-bottom: 1px solid var(--line); color: var(--muted); font: 400 10px/1 var(--font-mono); letter-spacing: .03em; text-transform: uppercase; }
.catalog-status span:last-child { color: var(--ink); text-align: right; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px 16px; }
.product-image-button { display: block; width: 100%; padding: 0; border: 0; background: var(--paper-deep); overflow: hidden; text-align: left; }
.product-art { position: relative; display: block; aspect-ratio: 1 / 1.08; overflow: hidden; background: var(--paper-deep); isolation: isolate; }
.product-art .mockup { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform 700ms cubic-bezier(.16, 1, .3, 1), filter 500ms ease, opacity 500ms ease; }
.product-image-button:hover .mockup, .product-image-button:focus-visible .mockup { transform: scale(1.035); }
.proof-note { position: absolute; z-index: 3; bottom: 11px; left: 11px; max-width: calc(100% - 22px); padding: 5px 7px; background: color-mix(in oklch, var(--paper) 88%, transparent); color: var(--muted); font: 400 8px/1 var(--font-mono); letter-spacing: .02em; text-transform: uppercase; }
.product-caption { padding-top: 12px; }
.caption-meta, .caption-bottom { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; color: var(--muted); font: 400 9px/1.2 var(--font-mono); letter-spacing: .02em; text-transform: uppercase; }
.caption-meta span:last-child { text-align: right; }
.product-caption h3 { margin: 7px 0 8px; font: 400 clamp(18px, 1.7vw, 24px)/.92 var(--font-display); letter-spacing: -.02em; }
.product-name { padding: 0; border: 0; background: transparent; text-align: left; }
.product-name:hover { color: var(--active-album-deep); }
.price { color: var(--ink); font: 500 10px/1 var(--font-mono); }
.price span { color: var(--muted); font-weight: 400; }
.product-badge { color: var(--active-album-deep); font: 400 8px/1 var(--font-mono); text-align: right; text-transform: uppercase; }
.empty-state { grid-column: 1 / -1; padding: 85px 0; color: var(--muted); text-align: center; }
.empty-state h3 { font: 400 34px/.9 var(--font-display); color: var(--ink); }
.text-button { margin-top: 17px; padding: 0 0 5px; border: 0; border-bottom: 1px solid currentColor; background: transparent; font: 500 9px/1 var(--font-mono); text-transform: uppercase; }

.site-footer { padding: 0 28px; border-top: 1px solid var(--line); }
.newsletter { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; padding: 55px 0; }
.newsletter h2 { font: 400 clamp(32px, 4vw, 54px)/.86 var(--font-display); letter-spacing: -.04em; }
.newsletter-form { width: 100%; max-width: 390px; justify-self: end; }
.email-field input { font-size: 12px; }
.footer-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; padding: 25px 0 31px; border-top: 1px solid var(--line); }
.footer-region { display: flex; flex-direction: column; gap: 7px; color: var(--muted); font: 400 9px/1 var(--font-mono); text-transform: uppercase; }
.footer-links, .legal { display: flex; flex-wrap: wrap; gap: 18px; font: 400 9px/1 var(--font-mono); text-transform: uppercase; }
.footer-links { justify-content: flex-end; }
.footer-links a:hover, .legal a:hover { color: var(--active-album-deep); }
.legal { grid-column: 1 / -1; padding-top: 8px; color: var(--muted); }

.cart-scrim { position: fixed; inset: 0; z-index: 29; background: oklch(17% .025 55 / .34); opacity: 0; pointer-events: none; transition: opacity 300ms ease; }
.cart-drawer { position: fixed; z-index: 30; inset: 0 0 0 auto; width: min(100%, 460px); display: flex; flex-direction: column; background: var(--paper); box-shadow: -20px 0 42px oklch(17% .025 55 / .12); transform: translateX(101%); transition: transform 420ms cubic-bezier(.16, 1, .3, 1); }
.cart-open .cart-scrim { opacity: 1; pointer-events: auto; }
.cart-open .cart-drawer { transform: none; }
.cart-drawer[aria-hidden="true"] { visibility: hidden; }
.cart-open .cart-drawer[aria-hidden="false"] { visibility: visible; }
.cart-head { display: flex; align-items: baseline; justify-content: space-between; padding: 23px 26px; border-bottom: 1px solid var(--line); }
.cart-head h2 { font: 400 31px/.85 var(--font-display); }
.cart-head p { margin-top: 5px; color: var(--muted); font: 400 9px/1 var(--font-mono); text-transform: uppercase; }
.icon-button { width: 36px; height: 36px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); background: transparent; font-size: 21px; }
.icon-button:hover { border-color: var(--active-album-deep); color: var(--active-album-deep); }
.cart-lines { flex: 1; overflow-y: auto; margin: 0; padding: 0 26px; list-style: none; }
.cart-line { display: grid; grid-template-columns: 70px 1fr auto; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.cart-line > img { width: 70px; height: 82px; object-fit: contain; background: var(--paper-deep); }
.cart-line-copy h3 { margin-top: 4px; font: 400 19px/.92 var(--font-display); }
.cart-line-copy p:not(.cart-line-album) { margin-top: 6px; color: var(--muted); font: 400 10px/1 var(--font-mono); }
.cart-line-album { color: var(--active-album-deep); font: 500 8px/1 var(--font-mono); letter-spacing: .04em; text-transform: uppercase; }
.quantity-control { width: max-content; display: grid; grid-template-columns: 28px 28px 28px; margin-top: 14px; border: 1px solid var(--line); text-align: center; }
.quantity-control button { height: 27px; padding: 0; border: 0; background: transparent; }
.quantity-control button:hover { background: var(--paper-deep); }
.quantity-control span { align-self: center; font: 400 10px/1 var(--font-mono); }
.remove-line { align-self: start; padding: 0; border: 0; background: transparent; font-size: 19px; }
.remove-line:hover { color: var(--active-album-deep); }
.cart-empty { min-height: 300px; display: grid; place-content: center; justify-items: center; color: var(--muted); text-align: center; }
.cart-empty .text-button { color: var(--ink); }
.cart-footer { padding: 18px 26px 26px; border-top: 1px solid var(--line); }
.cart-total { display: flex; justify-content: space-between; margin-bottom: 16px; }
.cart-total span { color: var(--muted); font: 500 9px/1 var(--font-mono); text-transform: uppercase; }
.cart-total strong { font: 400 22px/.9 var(--font-display); }
.checkout-button { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: space-between; padding: 15px 18px; border: 1px solid var(--ink); background: var(--ink); color: var(--paper); font: 500 10px/1 var(--font-mono); text-transform: uppercase; transition: background 250ms ease, color 250ms ease; }
.checkout-button:hover { background: var(--paper); color: var(--ink); }
.checkout-status { margin-top: 13px; color: var(--muted); font-size: 10px; }
.cart-footnote { margin-top: 13px; color: var(--muted); font: 400 9px/1.35 var(--font-mono); }

.product-dialog { width: min(980px, calc(100% - 2rem)); max-height: calc(100% - 2rem); padding: 0; border: 0; background: var(--paper); color: var(--ink); }
.product-dialog::backdrop { background: oklch(17% .025 55 / .5); }
.dialog-close { position: absolute; z-index: 1; top: 17px; right: 17px; }
.product-dialog-content { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 560px; }
.dialog-image { min-height: 560px; background: var(--paper-deep); }
.dialog-image .product-art { width: 100%; height: 100%; min-height: 560px; aspect-ratio: auto; }
.dialog-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 5vw, 72px); }
.dialog-kicker { color: var(--active-album-deep); font: 500 9px/1.25 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.dialog-copy h2 { max-width: 9ch; margin: 18px 0 16px; font: 400 clamp(38px, 5vw, 62px)/.82 var(--font-display); letter-spacing: -.04em; }
.dialog-description { max-width: 33ch; color: var(--muted); font-size: 14px; line-height: 1.45; }
.dialog-specs { display: grid; gap: 13px; margin-top: 33px; padding-top: 17px; border-top: 1px solid var(--line); }
.dialog-specs div { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; }
.dialog-specs dt { color: var(--muted); font: 500 8px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.dialog-specs dd { max-width: 22ch; font-size: 11px; text-align: right; }
.dialog-buy { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 35px; }
.dialog-buy strong { font: 400 26px/.9 var(--font-display); }
.dialog-buy strong small { color: var(--muted); font: 400 9px/1 var(--font-mono); }
.solid-button { min-height: 48px; padding: 14px 18px; border: 1px solid var(--ink); background: var(--ink); color: var(--paper); font: 500 10px/1 var(--font-mono); text-transform: uppercase; }
.solid-button:hover { background: var(--paper); color: var(--ink); }
.toast { position: fixed; z-index: 40; right: 18px; bottom: 18px; max-width: min(360px, calc(100% - 36px)); padding: 13px 16px; background: var(--ink); color: var(--paper); font: 400 10px/1.25 var(--font-mono); opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity 220ms ease, transform 420ms cubic-bezier(.16, 1, .3, 1); }
.toast.show { opacity: 1; transform: none; }

@media (max-width: 1050px) {
  .currency { display: none; }
  .shop-intro { grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); }
  .intro-copy { padding: 60px 46px; }
  .intro-copy h1 { font-size: clamp(62px, 9vw, 110px); }
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .announcement { min-height: 27px; font-size: 8px; }
  .utility { min-height: 86px; align-items: end; margin: 0 14px; padding-bottom: 5px; }
  nav, .tools { gap: 15px; }
  nav a, .header-button { font-size: 8px; }
  .wordmark { position: absolute; top: 15px; left: 50%; padding: 0; font-size: 31px; letter-spacing: -.06em; transform: translateX(-50%); }
  .search-panel { padding: 16px 14px 24px; }
  .shop-intro { display: block; min-height: 0; margin: 0 12px; }
  .intro-copy { padding: 58px 25px 47px; }
  .intro-copy h1 { max-width: 7ch; margin: 22px 0 24px; font-size: clamp(65px, 18vw, 105px); }
  .intro-description { max-width: 31ch; font-size: 14px; }
  .intro-record { min-height: 390px; }
  .record-disc { width: min(67vw, 300px); box-shadow: 16px 18px 0 color-mix(in oklch, var(--album-accent) 72%, var(--album-deep) 28%); }
  .record-copy { right: 8%; bottom: 8%; }
  .record-copy strong { font-size: 21px; }
  .album-picker { padding: 63px 12px 57px; }
  .picker-heading { align-items: start; margin-bottom: 22px; }
  .picker-heading h2 { font-size: 42px; }
  .picker-heading > p { max-width: 15ch; font-size: 12px; }
  .album-select-label { display: block; margin-bottom: 7px; color: var(--muted); font: 500 9px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
  #album-select { display: block; width: 100%; margin-bottom: 24px; padding: 11px 0; border: 0; border-bottom: 1px solid var(--ink); outline: 0; background: transparent; }
  .album-chooser { grid-auto-columns: 166px; gap: 14px; }
  .album-choice { min-width: 166px; }
  .fashion-opening { padding: 73px 12px 80px; }
  .opening-label h2 { font-size: 43px; }
  .opening-label a { font-size: 8px; }
  .featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; gap: 26px 11px; }
  .featured-grid .product-card--feature-1 { grid-column: 1 / -1; grid-row: auto; }
  .featured-grid .product-card--feature-1 .product-art { aspect-ratio: 1 / .93; }
  .featured-grid .product-card--feature-2 .product-art, .featured-grid .product-card--feature-3 .product-art, .featured-grid .product-card--feature-4 .product-art, .featured-grid .product-card--feature-5 .product-art, .featured-grid .product-card--feature-6 .product-art { aspect-ratio: 1 / 1.05; }
  .collection { display: block; padding: 0 12px 80px; }
  .section-heading { position: static; flex-direction: row; align-items: end; justify-content: space-between; gap: 14px; }
  .section-heading h2 { font-size: 43px; }
  .section-heading > a { font-size: 8px; }
  .filters { position: static; display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 10px; margin: 25px 0 23px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
  .filters label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .filters select { padding: 5px 0; font-size: 10px; }
  .clear-button { margin: 0; font-size: 8px; }
  .catalog-status { margin-bottom: 17px; font-size: 8px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 11px; }
  .product-caption { padding-top: 9px; }
  .product-caption h3 { margin: 6px 0 7px; font-size: 19px; }
  .caption-meta, .price, .product-badge { font-size: 8px; }
  .proof-note { bottom: 7px; left: 7px; font-size: 7px; }
  .newsletter { grid-template-columns: 1fr; gap: 24px; padding: 39px 0; }
  .newsletter h2 { font-size: 42px; }
  .newsletter-form { max-width: none; }
  .footer-bottom { display: flex; flex-wrap: wrap; gap: 20px; }
  .footer-links { justify-content: flex-start; }
  .legal { width: 100%; }
  .site-footer { padding: 0 14px; }
  .product-dialog { width: calc(100% - 24px); max-height: calc(100% - 24px); }
  .product-dialog-content { display: block; min-height: 0; }
  .dialog-image, .dialog-image .product-art { min-height: 330px; max-height: 56svh; }
  .dialog-copy { padding: 29px 24px 27px; }
  .dialog-copy h2 { font-size: 47px; }
  .dialog-description { font-size: 13px; }
  .dialog-specs { margin-top: 25px; }
  .dialog-buy { margin-top: 27px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Keep the original SSENSE presentation. The catalog model underneath is swappable. */
:root {
  --paper: oklch(99.4% .002 85);
  --ink: oklch(12% .004 65);
  --muted: oklch(44% .005 65);
  --line: oklch(87% .004 85);
  --image: oklch(96.5% .003 85);
  --font-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink); font: 12px/1.5 var(--font-body); }
.announcement { height: 29px; min-height: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); font: 9px/1.5 var(--font-body); letter-spacing: .08em; }
.site-header { position: sticky; top: 0; z-index: 20; background: var(--paper); }
.utility { height: 70px; min-height: 0; margin: 0 24px; padding: 0; border-bottom: 1px solid var(--line); }
nav { gap: 24px; }
nav a { padding: 15px 0; font: 10px/1.5 var(--font-body); letter-spacing: normal; }
nav a::after { bottom: 11px; width: 0; height: 1px; background: currentColor; transform: none; transition: width 220ms ease; }
nav a:hover::after, nav a[aria-current]::after { width: 100%; transform: none; }
.tools { gap: 23px; }
.currency { margin-right: 0; color: var(--ink); font: 9px/1.5 var(--font-body); }
.header-button { min-width: 28px; height: 40px; padding: 0; font: 10px/1.5 var(--font-body); letter-spacing: normal; }
.header-button:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.wordmark { display: block; padding: 25px 2% 30px; color: var(--ink); font: 600 clamp(72px, 12.2vw, 218px)/.96 var(--font-body); letter-spacing: -.085em; text-align: center; }
.wordmark:hover { color: var(--muted); }
.search-panel { padding: 20px 24px 30px; border-bottom: 1px solid var(--line); }
.search-panel form { max-width: 700px; }
.search-panel label { font-size: 10px; text-transform: uppercase; }
.search-field input, .email-field input { padding: 12px 0; font-size: 14px; }
.search-submit, .email-field button { padding: 10px 0 10px 15px; font-size: 18px; }

.album-bar { display: flex; align-items: center; gap: 20px; margin: 0 24px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 10px; text-transform: uppercase; }
.album-bar-copy { display: flex; align-items: baseline; gap: 12px; min-width: 150px; }
.album-bar-copy span, .album-bar > label, #active-album-status { color: var(--muted); }
.album-bar-copy strong { font-weight: 400; }
.album-bar > label { margin-left: auto; }
.album-bar select { width: 260px; padding: 6px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; font-size: 10px; text-transform: uppercase; }
#active-album-status { white-space: nowrap; }

.fashion-opening { padding: 12px 24px 0; }
.opening-label { align-items: center; margin-bottom: 18px; font-size: 10px; text-transform: uppercase; }
.opening-label h1 { font: 400 10px/1.3 var(--font-body); }
.opening-label a { gap: 16px; }
.fashion-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.fashion-pair .product-image-button { height: calc(100svh - 250px); min-height: 420px; max-height: 820px; }
.fashion-pair .product-art { height: 100%; aspect-ratio: auto; }
.fashion-pair .product-caption { flex-direction: row; align-items: baseline; justify-content: space-between; gap: 24px; padding-top: 16px; }
.fashion-pair .product-caption h3 { max-width: 31ch; font-size: 18px; line-height: 1.18; letter-spacing: -.05em; text-transform: uppercase; }
.fashion-pair .price { white-space: nowrap; color: var(--ink); }

.collection { grid-template-columns: 170px minmax(0, 1fr); gap: 28px; padding: 100px 24px 75px; }
.section-heading { position: sticky; top: 105px; gap: 20px; padding-top: 8px; }
.section-heading h2 { font: 400 11px/1.35 var(--font-body); text-transform: uppercase; }
.section-heading > a { gap: 12px; padding-bottom: 0; border-bottom: 0; font: 10px/1.5 var(--font-body); }
.section-heading > a:hover { text-decoration: underline; text-underline-offset: 4px; }
.filters { top: 160px; gap: 18px; margin-top: 26px; font-size: 11px; }
.filters label { font: 10px/1.5 var(--font-body); letter-spacing: normal; }
.filters select { padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 11px; }
.clear-button { padding: 0; font: 10px/1.5 var(--font-body); }
.catalog-status { margin-bottom: 14px; padding-bottom: 0; border-bottom: 0; color: var(--muted); font: 10px/1.5 var(--font-body); letter-spacing: normal; }
.product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 42px 14px; }
.product-card { animation: none; }
.product-image-button { background: var(--image); }
.product-art { aspect-ratio: 3 / 4; background: var(--image); }
.product-art .mockup { width: 100%; height: 100%; padding: 0; object-fit: contain; mix-blend-mode: multiply; transition: opacity 400ms cubic-bezier(.16, 1, .3, 1), transform 650ms cubic-bezier(.16, 1, .3, 1); }
.product-image-button:hover .mockup, .product-image-button:focus-visible .mockup { transform: scale(1.035); }
.proof-note { display: none; }
.product-caption { gap: 3px; padding-top: 9px; }
.product-caption h3 { font: 400 11px/1.4 var(--font-body); }
.product-name { font: inherit; }
.product-name:hover { text-decoration: underline; text-underline-offset: 4px; }
.price { color: var(--ink); font: 11px/1.5 var(--font-body); }

.site-footer { padding: 0 24px; border-top: 1px solid var(--line); }
.newsletter { grid-template-columns: 1fr 1fr; gap: 30px; padding: 45px 0; }
.newsletter h2 { font: 400 12px/1.5 var(--font-body); text-transform: uppercase; }
.newsletter-form { max-width: 370px; }
.email-field input { font-size: 11px; }
.footer-bottom { grid-template-columns: 1fr 1fr; gap: 22px; padding: 25px 0; }
.footer-region { gap: 8px; font-size: 10px; }
.footer-links, .legal { gap: 18px; font-size: 9px; }
.footer-links { justify-content: flex-end; }
.legal { padding-top: 15px; }

.cart-scrim { background: oklch(12% .004 65 / .28); }
.cart-drawer { background: var(--paper); box-shadow: -10px 0 30px oklch(12% .004 65 / .12); }
.cart-head { padding: 22px 24px; }
.cart-head h2 { font: 400 14px/1.5 var(--font-body); text-transform: uppercase; }
.cart-head p { font-size: 10px; }
.cart-lines { padding: 0 24px; }
.cart-line { grid-template-columns: 62px 1fr auto; gap: 12px; padding: 16px 0; }
.cart-line > img { width: 62px; height: 78px; background: var(--image); }
.cart-line-copy h3 { font: 400 11px/1.4 var(--font-body); }
.cart-line-copy p { font-size: 10px; }
.quantity-control { grid-template-columns: 27px 27px 27px; margin-top: 12px; }
.cart-footer { padding: 16px 24px 24px; }
.cart-total span { font-size: 10px; }
.checkout-button { min-height: 49px; font-size: 11px; }
.cart-footnote { font-size: 9px; }

.product-dialog { width: min(900px, calc(100% - 2rem)); background: var(--paper); }
.product-dialog::backdrop { background: oklch(12% .004 65 / .35); }
.product-dialog-content { grid-template-columns: 1fr 1fr; }
.dialog-image { min-height: 540px; background: var(--image); }
.dialog-image .product-art { height: 100%; aspect-ratio: auto; }
.dialog-copy { justify-content: center; padding: 48px; }
.dialog-kicker, .dialog-description, .dialog-specs { display: none; }
.dialog-copy h2 { margin: 0 0 11px; font: 400 16px/1.4 var(--font-body); text-transform: uppercase; }
.dialog-price { display: block; color: var(--muted); font-size: 12px; }
.dialog-buy { margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--line); }
.dialog-buy strong { font: 400 12px/1.5 var(--font-body); }
.solid-button { min-height: 45px; font-size: 10px; }

@media (max-width: 1000px) {
  .currency { display: none; }
  .utility { margin: 0 20px; }
  .tools, nav { gap: 15px; }
  .wordmark { padding: 23px 2% 26px; font-size: 26px; }
  .fashion-pair .product-image-button { height: min(70svh, 660px); }
  .collection { grid-template-columns: 135px minmax(0, 1fr); gap: 20px; }
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
  .announcement { height: 26px; }
  .utility { height: 94px; margin: 0 14px; align-items: flex-end; padding-bottom: 4px; }
  nav { gap: 20px; }
  nav a, .tools .header-button { font-size: 9px; }
  .tools { gap: 18px; }
  .wordmark { top: 15px; padding: 0; font-size: 28px; }
  .album-bar { display: grid; grid-template-columns: 1fr auto; gap: 7px 12px; margin: 0 12px; padding: 10px 0; }
  .album-bar-copy { min-width: 0; }
  .album-bar > label { grid-column: 1; grid-row: 2; margin: 0; }
  .album-bar select { grid-column: 2; grid-row: 2; width: 190px; }
  #active-album-status { grid-column: 1 / -1; grid-row: 3; font-size: 9px; }
  .fashion-opening { padding: 8px 12px 0; }
  .opening-label { margin-bottom: 13px; font-size: 9px; }
  .opening-label h1 { font-size: 9px; }
  .fashion-pair { grid-template-columns: 1fr; gap: 34px; }
  .fashion-pair .product-image-button { height: 58svh; min-height: 330px; max-height: 500px; }
  .fashion-pair .product-caption { flex-direction: row; align-items: baseline; gap: 18px; padding-top: 12px; }
  .fashion-pair .product-caption h3 { max-width: 25ch; font-size: 14px; line-height: 1.35; letter-spacing: -.02em; }
  .fashion-pair .price { font-size: 10px; }
  .collection { display: block; padding: 65px 12px 50px; }
  .section-heading { position: static; flex-direction: row; align-items: center; padding: 0; }
  .section-heading h2 { font-size: 10px; }
  .section-heading > a { font-size: 10px; }
  .filters { position: static; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; margin: 18px 0 25px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
  .filters label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .filters select { width: 120px; padding: 4px 0; font-size: 10px; }
  .clear-button { margin-left: auto; font-size: 9px; }
  .catalog-status { margin-bottom: 12px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 31px 12px; }
  .product-caption h3, .price { font-size: 10px; }
  .newsletter { grid-template-columns: 1fr; gap: 22px; padding: 32px 0; }
  .newsletter-form { max-width: none; }
  .footer-bottom { display: flex; flex-wrap: wrap; gap: 20px; }
  .footer-links { justify-content: flex-start; }
  .legal { width: 100%; }
  .site-footer { padding: 0 16px; }
  .product-dialog-content { display: block; }
  .dialog-image { min-height: 300px; max-height: 65svh; }
  .dialog-copy { padding: 28px; }
}


.product-page { padding: 28px 24px 120px; }
.product-breadcrumb { display: flex; gap: 9px; margin-bottom: 24px; color: var(--muted); font: 10px/1.2 var(--font-mono); text-transform: uppercase; }
.product-breadcrumb a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.product-detail { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: clamp(34px, 7vw, 112px); max-width: 1440px; margin: 0 auto; }
.product-detail-visual { min-width: 0; background: var(--image); }
.product-detail-visual .product-art { width: 100%; height: min(76svh, 780px); min-height: 500px; aspect-ratio: auto; }
.product-detail-copy { position: sticky; top: 120px; align-self: start; padding: 8px 0 40px; }
.product-detail-kicker { color: var(--active-album-deep); font: 500 9px/1.25 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.product-detail-copy h1 { max-width: 11ch; margin: 19px 0 18px; font: 400 clamp(42px, 5.2vw, 78px)/.84 var(--font-display); letter-spacing: -.045em; }
.product-detail-price { font: 400 24px/.95 var(--font-display); }
.product-detail-price small { color: var(--muted); font: 400 9px/1 var(--font-mono); }
.product-detail-description { max-width: 34ch; margin-top: 29px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.product-detail-note { max-width: 42ch; margin-top: 16px; color: var(--muted); font: 400 10px/1.45 var(--font-mono); }
.product-cover-picker { display: grid; grid-template-columns: 92px 12px 1fr; align-items: center; gap: 9px; max-width: 430px; margin-top: 27px; padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted); font: 10px/1.2 var(--font-mono); text-transform: uppercase; }
.product-cover-picker .album-swatch { width: 9px; height: 9px; }
.product-cover-picker select { width: 100%; padding: 10px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; font-size: 10px; text-transform: uppercase; }
.product-cover-picker select:hover { border-color: var(--active-album-deep); }
.product-options { display: grid; gap: 13px; max-width: 430px; margin-top: 36px; padding-top: 17px; border-top: 1px solid var(--line); }
.product-option { display: grid; grid-template-columns: 92px 1fr; align-items: center; gap: 16px; font: 10px/1.2 var(--font-mono); text-transform: uppercase; }
.product-option span { color: var(--muted); }
.product-option select { width: 100%; padding: 10px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; font-size: 10px; text-transform: uppercase; }
.product-purchase-row { display: flex; align-items: stretch; gap: 11px; max-width: 430px; margin-top: 20px; }
.quantity-field { display: flex; align-items: center; gap: 11px; padding: 0 11px; border: 1px solid var(--line); color: var(--muted); font: 10px/1 var(--font-mono); text-transform: uppercase; }
.quantity-field input { width: 35px; padding: 12px 0; border: 0; background: transparent; text-align: center; }
.product-add-button { flex: 1; display: flex; align-items: center; justify-content: space-between; min-height: 49px; }
.product-detail-specs { display: grid; gap: 10px; max-width: 430px; margin-top: 35px; padding-top: 17px; border-top: 1px solid var(--line); }
.product-detail-specs div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; font-size: 11px; }
.product-detail-specs dt { color: var(--muted); font: 500 8px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.product-detail-specs dd { max-width: 28ch; text-align: right; }
.product-not-found { max-width: 700px; min-height: 45svh; padding-top: 80px; }
.product-not-found h1 { margin: 18px 0 28px; font: 400 clamp(50px, 8vw, 100px)/.84 var(--font-display); letter-spacing: -.05em; }
.text-link { font: 500 10px/1 var(--font-mono); text-transform: uppercase; text-decoration: underline; text-underline-offset: 5px; }
.cart-line-options { color: var(--muted); font: 9px/1.35 var(--font-mono); text-transform: uppercase; }

@media (max-width: 650px) {
  .product-page { padding: 20px 12px 70px; }
  .product-breadcrumb { margin-bottom: 17px; }
  .product-detail { display: block; }
  .product-detail-visual .product-art { height: 64svh; min-height: 330px; max-height: 500px; }
  .product-detail-copy { position: static; padding: 31px 0 0; }
  .product-detail-copy h1 { max-width: 12ch; margin: 16px 0 14px; font-size: 50px; }
  .product-detail-description { margin-top: 23px; font-size: 13px; }
  .product-options { margin-top: 28px; }
  .product-purchase-row { max-width: none; }
  .product-detail-specs { margin-top: 28px; }
}

/* Catalog explorer: the full Printify inventory stays available, but the first view is browseable. */
#product-grid { display: block; }
.category-nav { display: flex; flex-direction: column; gap: 2px; margin-top: 36px; }
.category-chip { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; width: 100%; padding: 7px 0; border: 0; border-bottom: 1px solid transparent; background: transparent; color: var(--muted); font: 500 9px/1.2 var(--font-mono); text-align: left; text-transform: uppercase; }
.category-chip span { color: color-mix(in oklch, var(--muted) 72%, transparent); font-size: 8px; }
.category-chip:hover, .category-chip.is-active { border-bottom-color: var(--active-album-deep); color: var(--active-album-deep); }
.category-chip.is-active span { color: inherit; }
.catalog-section { margin-bottom: 62px; }
.catalog-section--flat { margin-bottom: 0; }
.category-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; margin-bottom: 18px; padding-bottom: 9px; border-bottom: 1px solid var(--line); }
.category-section-heading h3 { font: 400 clamp(24px, 2.6vw, 38px)/.9 var(--font-display); letter-spacing: -.035em; }
.category-section-heading span { color: var(--muted); font: 400 9px/1 var(--font-mono); text-transform: uppercase; }
.category-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px 16px; }
.catalog-more { display: flex; justify-content: center; padding: 6px 0 32px; }
.load-more-button { display: inline-flex; align-items: center; gap: 22px; padding: 13px 0 8px; border: 0; border-bottom: 1px solid var(--ink); background: transparent; font: 500 10px/1 var(--font-mono); text-transform: uppercase; }
.load-more-button span { font-size: 18px; font-weight: 400; line-height: .5; }
.load-more-button:hover { gap: 29px; color: var(--active-album-deep); }
.product-art .mockup { z-index: 1; }
.caption-bottom { align-items: center; }
.card-album-swap { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; color: var(--muted); font: 9px/1 var(--font-body); text-transform: uppercase; }
.card-album-swap select { max-width: 118px; padding: 4px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); font: inherit; text-transform: none; }
.card-album-swap select:hover, .card-album-swap select:focus-visible { border-color: var(--active-album-deep); outline: 0; }
.album-swatch { width: 10px; height: 10px; display: inline-block; flex: 0 0 auto; background: var(--swatch); }
.product-detail-note { max-width: 48ch; padding: 11px 12px; border: 1px solid var(--line); background: color-mix(in oklch, var(--paper-deep) 54%, transparent); }

@media (max-width: 1050px) {
  .category-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .category-nav { flex-direction: row; gap: 9px; margin: 0 -12px 22px; padding: 0 12px 6px; overflow-x: auto; border-bottom: 1px solid var(--line); }
  .category-chip { flex: 0 0 auto; width: auto; padding: 8px 0 7px; border-bottom: 1px solid transparent; white-space: nowrap; }
  .category-chip span { margin-left: 3px; }
  .category-section { margin-bottom: 47px; }
  .category-section-heading { margin-bottom: 14px; }
  .category-section-heading h3 { font-size: 28px; }
  .category-section-heading span { font-size: 8px; }
  .category-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 31px 12px; }
  .card-album-swap { gap: 4px; font-size: 8px; }
  .card-album-swap select { max-width: 82px; font-size: 8px; }
  .catalog-more { padding: 0 0 26px; }
  .load-more-button { font-size: 9px; }
}
