:root {
  --cream: #efe1c6;
  --cream-2: #f7ecd8;
  --mint: #9abaaa;
  --mint-deep: #6f9787;
  --red: #bf4a36;
  --ink: #1f211d;
  --muted: #5e5a4d;
  --paper: #f2e5ca;
  --shadow: 10px 12px 0 #1f211d;
  --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 10% 10%, rgba(255,255,255,.45), transparent 28%),
    linear-gradient(180deg, #f1e2c4 0%, #ead8b8 100%);
  font-family: "DM Sans", system-ui, sans-serif;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    repeating-linear-gradient(0deg, rgba(31,33,29,.025) 0, rgba(31,33,29,.025) 1px, transparent 1px, transparent 4px);
  mix-blend-mode: multiply;
  opacity: .7;
  z-index: 40;
}

.grain {
  position: fixed;
  inset: 0;
  z-index: 50;
  pointer-events: none;
  opacity: .11;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
}

a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { max-width: 100%; display: block; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

.site-header {
  width: min(1240px, calc(100% - 32px));
  margin: 18px auto 0;
  min-height: 80px;
  padding: 10px 14px 10px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border: 2px solid var(--ink);
  border-radius: 999px;
  background: rgba(239,225,198,.88);
  backdrop-filter: blur(12px);
  position: sticky;
  top: 16px;
  z-index: 30;
  box-shadow: 0 6px 0 rgba(31,33,29,.16);
}

.brand {
  width: 68px;
  height: 68px;
  overflow: hidden;
  border: 2px solid var(--ink);
  border-radius: 50%;
  flex: 0 0 auto;
}
.brand img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.13); }

.site-nav { display:flex; align-items:center; gap: 28px; font-weight:700; }
.site-nav a:not(.nav-cta) { position: relative; }
.site-nav a:not(.nav-cta)::after {
  content:"";
  position:absolute;
  left:0; right:100%; bottom:-5px; height:2px;
  background: var(--red);
  transition: right .2s ease;
}
.site-nav a:hover::after { right:0; }

.nav-cta {
  padding: 13px 20px;
  border: 2px solid var(--ink);
  border-radius: 999px;
  background: var(--red);
  color: var(--cream-2);
  box-shadow: 4px 4px 0 var(--ink);
}

.menu-btn { display:none; background:none; border:0; cursor:pointer; }
.menu-btn span:not(.sr-only) { display:block; width:26px; height:2px; background:var(--ink); margin:5px 0; }

.hero {
  width: min(1240px, calc(100% - 32px));
  margin: 72px auto 70px;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:64px;
  align-items:center;
}

.eyebrow, .kicker {
  font-family:"Archivo Black", sans-serif;
  letter-spacing:.14em;
  font-size:.78rem;
}
.eyebrow { display:flex; align-items:center; gap:10px; }
.spark { color:var(--red); font-size:1.25rem; }

h1,h2,h3,p { margin-top:0; }
h1 {
  margin: 18px 0 22px;
  font-family:"Archivo Black", sans-serif;
  font-size: clamp(4.3rem, 8.6vw, 8.5rem);
  line-height:.84;
  letter-spacing:-.065em;
  text-transform:uppercase;
}
h1 em {
  font-family:"Pacifico", cursive;
  font-weight:400;
  color:var(--red);
  text-transform:none;
  letter-spacing:-.02em;
  position:relative;
  z-index:1;
}
h1 em::after {
  content:"";
  position:absolute;
  left:0; right:-14px; bottom:-12px; height:10px;
  border-top:3px solid var(--red);
  border-radius:50%;
  transform:rotate(-2deg);
}
.hero-lead { max-width: 620px; font-size:1.15rem; line-height:1.75; color:var(--muted); }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin:30px 0 20px; }
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 20px;
  border-radius:999px;
  border:2px solid var(--ink);
  font-weight:800;
  transition:.2s ease;
}
.btn:hover { transform:translate(-2px,-2px); }
.btn-dark { background:var(--ink); color:var(--cream-2); box-shadow:5px 5px 0 var(--red); }
.btn-outline { background:transparent; box-shadow:5px 5px 0 rgba(31,33,29,.18); }
.hero-note { font-size:.86rem; font-weight:700; color:var(--muted); }

.hero-visual { min-width:0; }
.logo-card {
  position:relative;
  width:min(540px,100%);
  margin-inline:auto;
  transform:rotate(2.5deg);
}
.logo-card > img {
  width:100%;
  border:3px solid var(--ink);
  border-radius:22px;
  position:relative;
  z-index:2;
  filter:saturate(.92) contrast(.98);
}
.logo-shadow {
  position:absolute; inset:16px -14px -18px 16px;
  background:var(--red);
  border:3px solid var(--ink);
  border-radius:22px;
  z-index:1;
}
.sticker {
  position:absolute;
  z-index:4;
  font-family:"Archivo Black", sans-serif;
  font-size:.73rem;
  letter-spacing:.08em;
  padding:10px 14px;
  border:2px solid var(--ink);
  box-shadow:4px 4px 0 var(--ink);
}
.sticker-one { left:-26px; bottom:16%; background:var(--cream-2); transform:rotate(-8deg); }
.sticker-two { right:-22px; top:14%; background:var(--mint); transform:rotate(8deg); }

.ticker {
  border-block:2px solid var(--ink);
  background:var(--red);
  color:var(--cream-2);
  overflow:hidden;
  white-space:nowrap;
}
.ticker-track {
  display:inline-flex;
  align-items:center;
  gap:26px;
  min-width:max-content;
  padding:15px 0;
  font-family:"Archivo Black", sans-serif;
  letter-spacing:.08em;
  animation:ticker 26s linear infinite;
}
@keyframes ticker { to { transform:translateX(-50%); } }

.section { width:min(1240px,calc(100% - 32px)); margin:0 auto; padding:100px 0; }
.section-heading {
  display:grid;
  grid-template-columns: 1fr minmax(280px, 430px);
  gap:40px;
  align-items:end;
  margin-bottom:38px;
}
.kicker { color:var(--red); }
h2 {
  margin:8px 0 0;
  font-family:"Archivo Black", sans-serif;
  text-transform:uppercase;
  font-size:clamp(2.8rem,5vw,5.2rem);
  line-height:.92;
  letter-spacing:-.055em;
}
.section-heading > p { color:var(--muted); line-height:1.7; margin-bottom:4px; }

.filter-row { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:24px; }
.filter {
  border:2px solid var(--ink);
  background:transparent;
  border-radius:999px;
  padding:10px 16px;
  font-weight:800;
  cursor:pointer;
}
.filter.active { background:var(--ink); color:var(--cream-2); }

.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.product-card {
  background:rgba(247,236,216,.78);
  border:2px solid var(--ink);
  border-radius:24px;
  overflow:hidden;
  box-shadow:7px 7px 0 rgba(31,33,29,.18);
  transition:.22s ease;
}
.product-card:hover { transform:translateY(-6px) rotate(-.4deg); box-shadow:10px 12px 0 rgba(31,33,29,.24); }
.product-image {
  aspect-ratio:4/5;
  border-bottom:2px solid var(--ink);
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
}
.product-image::before,
.placeholder-art::before,
.modal-placeholder::before {
  content:"";
  position:absolute;
  width:64%;
  aspect-ratio:1/1.15;
  border:3px solid var(--ink);
  border-radius:36% 36% 22% 22%;
  transform:rotate(-7deg);
  background:rgba(255,255,255,.18);
}
.product-image::after,
.placeholder-art::after,
.modal-placeholder::after {
  content:"HUTTON";
  font-family:"Archivo Black",sans-serif;
  letter-spacing:.08em;
  position:absolute;
  transform:rotate(-11deg);
  opacity:.65;
}
.tone-a { background:linear-gradient(135deg,#9abaaa,#d7b879); }
.tone-b { background:linear-gradient(135deg,#bf4a36,#e7c89f); }
.tone-c { background:linear-gradient(135deg,#2d3029,#8a9f8e); color:#f4ead8; }
.tone-d { background:linear-gradient(135deg,#ceb07c,#8aa89b); }
.tone-e { background:linear-gradient(135deg,#8f6d4f,#d3c0a1); }
.tone-f { background:linear-gradient(135deg,#37514a,#a04d3f); color:#f4ead8; }

.card-badge {
  position:absolute; top:14px; left:14px; z-index:3;
  border:2px solid var(--ink);
  background:var(--cream-2);
  padding:7px 10px;
  font-family:"Archivo Black",sans-serif;
  font-size:.65rem;
  letter-spacing:.08em;
}
.product-info { padding:18px; }
.product-topline { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.product-info h3 { font-size:1.2rem; margin:0; }
.price { font-family:"Archivo Black",sans-serif; }
.meta { margin:8px 0 17px; color:var(--muted); font-size:.9rem; }
.card-actions { display:flex; gap:10px; }
.card-actions button, .card-actions a {
  flex:1;
  border:2px solid var(--ink);
  min-height:44px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-weight:800;
  cursor:pointer;
  background:transparent;
}
.card-actions a { background:var(--ink); color:var(--cream-2); }

.statement {
  width:100%;
  background:var(--mint);
  border-block:2px solid var(--ink);
  min-height:340px;
  padding:65px 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:38px;
  text-align:center;
}
.statement p {
  margin:0;
  font-family:"Archivo Black",sans-serif;
  font-size:clamp(2.3rem,5vw,5rem);
  line-height:1;
  text-transform:uppercase;
}
.statement p span {
  display:block;
  margin-top:12px;
  font-family:"Pacifico",cursive;
  text-transform:none;
  color:var(--cream-2);
  text-shadow:2px 2px 0 var(--ink);
}
.statement-star { font-size:5rem; color:var(--red); transform:rotate(14deg); }
.statement-star.small { font-size:3rem; transform:rotate(-18deg); }

.process-section {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:70px;
  align-items:start;
}
.process-copy { position:sticky; top:130px; }
.process-copy p { color:var(--muted); line-height:1.8; max-width:560px; margin-top:26px; }
.process-steps { display:grid; gap:18px; }
.process-steps article {
  border:2px solid var(--ink);
  border-radius:24px;
  padding:28px;
  background:rgba(247,236,216,.6);
  box-shadow:7px 7px 0 rgba(31,33,29,.15);
}
.process-steps article:nth-child(2) { transform:rotate(.8deg); background:rgba(154,186,170,.42); }
.process-steps article:nth-child(3) { transform:rotate(-.8deg); }
.process-steps article > span { font-family:"Archivo Black",sans-serif; color:var(--red); }
.process-steps h3 { font-family:"Archivo Black",sans-serif; text-transform:uppercase; font-size:1.7rem; margin:10px 0; }
.process-steps p { color:var(--muted); line-height:1.7; margin:0; }

.archive-grid { display:grid; grid-template-columns:1.35fr 1fr; grid-template-rows:1fr 1fr; gap:22px; }
.archive-card.tall { grid-row:1 / 3; }
.archive-card { min-height:260px; }
.placeholder-art {
  height:calc(100% - 54px);
  min-height:220px;
  border:2px solid var(--ink);
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.placeholder-art span { position:absolute; z-index:2; top:16px; left:16px; font-family:"Archivo Black",sans-serif; font-size:.72rem; letter-spacing:.08em; }
.art-a { background:linear-gradient(135deg,#7d8d7a,#d7b079); }
.art-b { background:linear-gradient(135deg,#bc604a,#e5cfaa); }
.art-c { background:linear-gradient(135deg,#567369,#c0976b); }
.archive-card > div:last-child { display:flex; justify-content:space-between; gap:14px; padding:13px 4px 0; }
.archive-card > div:last-child span { color:var(--red); font-family:"Archivo Black",sans-serif; font-size:.75rem; }

.about-card {
  border:2px solid var(--ink);
  border-radius:32px;
  background:var(--ink);
  color:var(--cream-2);
  padding:56px;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:58px;
  align-items:start;
  box-shadow:10px 10px 0 var(--red);
}
.about-mark {
  width:220px; aspect-ratio:1;
  border:3px solid var(--cream-2);
  border-radius:50%;
  display:grid; place-items:center;
  font-family:"Pacifico",cursive;
  font-size:5rem;
  color:var(--red);
  transform:rotate(-8deg);
}
.about-copy .kicker { color:#e49c85; }
.about-copy p { color:#d5c9b5; line-height:1.8; max-width:780px; }

.shop-section { display:grid; grid-template-columns:1.35fr .65fr; gap:30px; align-items:stretch; }
.shop-panel, .drop-card {
  border:2px solid var(--ink);
  border-radius:28px;
  padding:42px;
}
.shop-panel { background:var(--mint); }
.shop-panel p { max-width:650px; line-height:1.7; }
.marketplace-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.marketplace-links a {
  min-width:130px;
  padding:14px 20px;
  border:2px solid var(--ink);
  border-radius:999px;
  background:var(--cream-2);
  font-weight:900;
  text-align:center;
  box-shadow:4px 4px 0 var(--ink);
  transition:.2s ease;
}
.marketplace-links a:hover { transform:translate(-2px,-2px); }
.drop-card { background:var(--red); color:var(--cream-2); display:flex; flex-direction:column; justify-content:center; }
.drop-card > span { font-family:"Archivo Black",sans-serif; font-size:.8rem; letter-spacing:.12em; }
.drop-card strong { font-family:"Archivo Black",sans-serif; font-size:clamp(2.1rem,4vw,4rem); line-height:.95; margin:10px 0 18px; }
.drop-card p { line-height:1.7; color:#f1d8c7; }
.drop-card a { text-decoration:underline; font-weight:800; }

footer {
  width:min(1240px,calc(100% - 32px));
  margin:0 auto 40px;
  border-top:2px solid var(--ink);
  padding:34px 0 0;
  display:grid;
  grid-template-columns:1fr auto;
  gap:22px 40px;
  align-items:end;
}
.footer-brand { display:flex; gap:18px; align-items:center; }
.footer-brand img { width:70px; height:70px; object-fit:cover; border-radius:50%; border:2px solid var(--ink); }
.footer-brand p { margin:0; color:var(--muted); }
.footer-links { display:flex; gap:20px; font-weight:800; }
.copyright { grid-column:1/-1; margin:0; color:var(--muted); font-size:.85rem; }

.product-modal {
  width:min(930px,calc(100% - 28px));
  border:2px solid var(--ink);
  border-radius:28px;
  padding:0;
  background:var(--cream-2);
  box-shadow:12px 12px 0 var(--ink);
  overflow:hidden;
}
.product-modal::backdrop { background:rgba(25,25,20,.72); backdrop-filter:blur(5px); }
.product-modal[open] { display:grid; grid-template-columns:1fr 1fr; }
.modal-close {
  position:absolute;
  top:14px; right:14px;
  width:42px; height:42px;
  border:2px solid var(--ink);
  border-radius:50%;
  background:var(--cream-2);
  font-size:1.5rem;
  z-index:5;
  cursor:pointer;
}
.modal-image-wrap { min-height:590px; border-right:2px solid var(--ink); }
.modal-placeholder { width:100%; height:100%; min-height:590px; position:relative; display:grid; place-items:center; overflow:hidden; background:var(--mint); }
.modal-copy { padding:54px 42px; display:flex; flex-direction:column; justify-content:center; }
.modal-copy h2 { font-size:3.1rem; }
.modal-copy > p { color:var(--muted); line-height:1.7; }
.detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:20px 0 28px; }
.detail-grid div { border-top:2px solid var(--ink); padding-top:10px; }
.detail-grid span { display:block; font-size:.72rem; color:var(--muted); text-transform:uppercase; font-weight:800; letter-spacing:.08em; }
.detail-grid strong { display:block; margin-top:4px; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 900px) {
  .site-header { min-height:68px; padding:8px 10px 8px 12px; }
  .brand { width:54px; height:54px; }
  .menu-btn { display:block; }
  .site-nav {
    position:absolute;
    top:74px; left:0; right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:16px;
    background:var(--paper);
    border:2px solid var(--ink);
    border-radius:24px;
    box-shadow:7px 7px 0 var(--ink);
  }
  .site-nav.open { display:flex; }
  .site-nav a { padding:14px 10px; }
  .nav-cta { text-align:center; margin-top:6px; }
  .hero { grid-template-columns:1fr; gap:44px; margin-top:52px; }
  .hero-copy { order:1; }
  .hero-visual { order:2; }
  h1 { font-size:clamp(4rem,18vw,7rem); }
  .section-heading { grid-template-columns:1fr; gap:16px; }
  .product-grid { grid-template-columns:repeat(2,1fr); }
  .process-section { grid-template-columns:1fr; }
  .process-copy { position:static; }
  .archive-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto auto; }
  .archive-card.tall { grid-row:auto; grid-column:1/-1; }
  .about-card { grid-template-columns:1fr; }
  .about-mark { width:160px; }
  .shop-section { grid-template-columns:1fr; }
  .product-modal[open] { grid-template-columns:1fr; max-height:88vh; overflow:auto; }
  .modal-image-wrap, .modal-placeholder { min-height:360px; }
  .modal-image-wrap { border-right:0; border-bottom:2px solid var(--ink); }
}

@media (max-width: 620px) {
  .site-header, .hero, .section, footer { width:min(100% - 22px,1240px); }
  .hero { margin-top:42px; }
  h1 { font-size:clamp(3.65rem,19vw,5.6rem); }
  .hero-lead { font-size:1rem; }
  .hero-actions { flex-direction:column; }
  .btn { width:100%; }
  .sticker-one { left:-4px; }
  .sticker-two { right:-3px; }
  .section { padding:72px 0; }
  h2 { font-size:clamp(2.65rem,13vw,4rem); }
  .product-grid { grid-template-columns:1fr; }
  .statement { min-height:300px; gap:12px; }
  .statement-star { display:none; }
  .archive-grid { grid-template-columns:1fr; }
  .archive-card.tall { grid-column:auto; }
  .about-card, .shop-panel, .drop-card { padding:30px 24px; border-radius:24px; }
  .about-mark { width:120px; font-size:3.5rem; }
  footer { grid-template-columns:1fr; }
  .footer-links { flex-wrap:wrap; }
  .detail-grid { grid-template-columns:1fr; }
  .modal-copy { padding:34px 24px; }
  .modal-copy h2 { font-size:2.5rem; }
}


/* =========================================================
   HUTTON VINTAGE — FULL RETRO TYPOGRAPHY SYSTEM
   ========================================================= */

:root {
  --font-display: "Archivo Black", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  --font-script: "Pacifico", "Brush Script MT", cursive;
  --font-retro-body: "Courier New", Courier, monospace;
}

body,
button,
input,
select,
textarea {
  font-family: var(--font-retro-body);
  letter-spacing: .018em;
}

body { font-weight: 600; }

.site-nav,
.nav-cta,
.eyebrow,
.kicker,
.filter,
.btn,
.card-actions button,
.card-actions a,
.marketplace-links a,
.footer-links,
.card-badge,
.price,
.archive-card > div:last-child span,
.drop-card > span,
.process-steps article > span,
.detail-grid span {
  font-family: var(--font-display);
  text-transform: uppercase;
}

.product-info h3,
.process-steps h3,
.archive-card strong,
.drop-card strong,
.detail-grid strong {
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: -.02em;
}

h1,
h2,
h3 {
  font-family: var(--font-display);
}

h1 em,
.statement p span,
.about-mark {
  font-family: var(--font-script);
}

p,
.hero-lead,
.section-heading > p,
.process-copy p,
.process-steps p,
.about-copy p,
.shop-panel p,
.drop-card p,
.footer-brand p,
.modal-copy > p,
.meta,
.hero-note,
.copyright {
  font-family: var(--font-retro-body);
  font-weight: 700;
}

.hero-lead,
.section-heading > p,
.process-copy p,
.process-steps p,
.about-copy p,
.shop-panel p,
.drop-card p,
.modal-copy > p {
  letter-spacing: .006em;
  line-height: 1.72;
}

.btn,
.filter,
.card-actions button,
.card-actions a,
.marketplace-links a,
.nav-cta {
  letter-spacing: .045em;
}

.meta,
.hero-note,
.copyright {
  letter-spacing: .035em;
}

.statement p {
  font-family: var(--font-display);
}

.statement p span {
  font-family: var(--font-script);
  text-transform: none;
}

.section-heading h2,
.process-copy h2,
.about-copy h2,
.shop-panel h2,
.modal-copy h2 {
  text-shadow: 2px 2px 0 rgba(31,33,29,.08);
}

@media (max-width: 620px) {
  body { font-size: 15px; }

  .hero-lead,
  .section-heading > p,
  .process-copy p,
  .process-steps p,
  .about-copy p,
  .shop-panel p,
  .drop-card p,
  .modal-copy > p {
    font-size: .97rem;
    line-height: 1.68;
  }

  .site-nav a,
  .btn,
  .filter,
  .card-actions button,
  .card-actions a,
  .marketplace-links a {
    letter-spacing: .03em;
  }
}


/* =========================================================
   V3 — EDITORIAL INVENTORY / VINTAGE CATALOG
   ========================================================= */

.inventory-heading {
  margin-bottom: 28px;
}

.inventory-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-end;
  margin-bottom: 28px;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--ink);
}

.inventory-toolbar .filter-row { margin-bottom: 0; }

.inventory-count {
  flex: 0 0 auto;
  font-family: var(--font-display);
  font-size: .78rem;
  letter-spacing: .09em;
  color: var(--muted);
}

.catalog-grid {
  display: grid;
  gap: 42px;
}

.catalog-card {
  display: grid;
  grid-template-columns: minmax(340px, .9fr) 1.1fr;
  min-height: 560px;
  border: 2px solid var(--ink);
  background: rgba(247,236,216,.72);
  box-shadow: 9px 10px 0 rgba(31,33,29,.18);
}

.catalog-card:nth-child(even) .catalog-image { order: 2; border-right: 0; border-left: 2px solid var(--ink); }
.catalog-card:nth-child(even) .catalog-info { order: 1; }

.catalog-image {
  position: relative;
  min-height: 560px;
  border: 0;
  border-right: 2px solid var(--ink);
  cursor: pointer;
  overflow: hidden;
  display: grid;
  place-items: center;
  color: inherit;
}

.catalog-image::before {
  content: "";
  width: 58%;
  aspect-ratio: 1 / 1.18;
  border: 3px solid currentColor;
  border-radius: 32% 32% 20% 20%;
  opacity: .42;
  transform: rotate(-5deg);
}

.catalog-image::after {
  content: "HUTTON";
  position: absolute;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 4rem);
  letter-spacing: .08em;
  transform: rotate(-11deg);
  opacity: .16;
}

.catalog-stamp {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 3;
  padding: 8px 11px;
  background: var(--cream-2);
  border: 2px solid var(--ink);
  box-shadow: 4px 4px 0 var(--ink);
  font-family: var(--font-display);
  font-size: .67rem;
  letter-spacing: .08em;
}

.catalog-photo-label {
  position: absolute;
  z-index: 3;
  bottom: 18px;
  left: 18px;
  font-family: var(--font-retro-body);
  font-weight: 700;
  font-size: .76rem;
  padding: 7px 9px;
  background: rgba(247,236,216,.78);
  border: 1px solid var(--ink);
}

.catalog-no {
  position: absolute;
  top: 18px;
  right: 18px;
  font-family: var(--font-retro-body);
  font-weight: 800;
  font-size: .78rem;
  letter-spacing: .08em;
}

.catalog-info {
  padding: 34px 38px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.catalog-header {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 2px solid var(--ink);
  padding-bottom: 20px;
}

.catalog-type {
  display: block;
  color: var(--red);
  font-family: var(--font-display);
  font-size: .72rem;
  letter-spacing: .09em;
  margin-bottom: 8px;
}

.catalog-header h3 {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 3.2rem);
  line-height: .98;
}

.catalog-price {
  font-family: var(--font-display);
  font-size: 1.45rem;
  white-space: nowrap;
}

.catalog-description {
  margin: 22px 0;
  color: var(--muted);
  line-height: 1.7;
}

.catalog-facts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid rgba(31,33,29,.35);
  border-left: 1px solid rgba(31,33,29,.35);
}

.catalog-facts span {
  padding: 12px 13px;
  border-right: 1px solid rgba(31,33,29,.35);
  border-bottom: 1px solid rgba(31,33,29,.35);
  font-family: var(--font-retro-body);
  font-size: .84rem;
}

.catalog-facts b {
  display: block;
  font-family: var(--font-display);
  text-transform: uppercase;
  font-size: .64rem;
  letter-spacing: .07em;
  margin-bottom: 4px;
}

.catalog-measure-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 18px 0 24px;
  font-family: var(--font-retro-body);
  font-size: .85rem;
}

.catalog-measure-preview b {
  font-family: var(--font-display);
  text-transform: uppercase;
  font-size: .65rem;
  margin-right: 5px;
}

.catalog-actions {
  display: flex;
  gap: 10px;
  margin-top: auto;
}

.catalog-actions > * {
  flex: 1;
  min-height: 48px;
  border: 2px solid var(--ink);
  border-radius: 999px;
  font-family: var(--font-display);
  text-transform: uppercase;
  font-size: .76rem;
  letter-spacing: .04em;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.catalog-actions button { background: transparent; }
.catalog-actions a { background: var(--ink); color: var(--cream-2); }

.archive-grid {
  grid-template-columns: 1.3fr .85fr .85fr;
  grid-template-rows: 1fr;
}

.archive-listing {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.archive-photo {
  min-height: 330px;
  border: 2px solid var(--ink);
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
}

.archive-listing.feature .archive-photo { min-height: 500px; }

.archive-photo > span {
  position: relative;
  z-index: 2;
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 5vw, 5rem);
  color: var(--red);
  border: 5px solid currentColor;
  padding: 4px 12px;
  transform: rotate(-12deg);
  opacity: .85;
}

.archive-photo small {
  position: absolute;
  top: 14px;
  left: 14px;
  font-family: var(--font-retro-body);
  font-weight: 800;
}

.archive-meta {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.archive-meta span {
  display: block;
  font-family: var(--font-retro-body);
  font-size: .78rem;
  color: var(--muted);
}

.archive-meta strong {
  display: block;
  margin-top: 3px;
  font-family: var(--font-display);
  text-transform: uppercase;
}

.archive-meta > b {
  font-family: var(--font-display);
  color: var(--red);
}

/* Product detail sheet */
.product-modal {
  width: min(1180px, calc(100% - 24px));
  max-height: 92vh;
  overflow: auto;
}

.product-modal[open] {
  grid-template-columns: .92fr 1.08fr;
}

.listing-gallery {
  position: sticky;
  top: 0;
  align-self: start;
  min-height: 760px;
  border-right: 2px solid var(--ink);
  background: var(--paper);
}

.listing-main-image {
  min-height: 660px;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  border-bottom: 2px solid var(--ink);
}

.listing-main-image::before {
  content: "";
  width: 58%;
  aspect-ratio: 1 / 1.18;
  border: 3px solid currentColor;
  border-radius: 32% 32% 20% 20%;
  opacity: .42;
  transform: rotate(-5deg);
}

.photo-label {
  position: absolute;
  bottom: 18px;
  left: 18px;
  border: 2px solid var(--ink);
  background: var(--cream-2);
  padding: 8px 10px;
  font-family: var(--font-display);
  font-size: .66rem;
  letter-spacing: .08em;
}

.gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.gallery-thumb {
  min-height: 74px;
  border: 0;
  border-right: 1px solid var(--ink);
  background: transparent;
  font-family: var(--font-display);
  font-size: .65rem;
  letter-spacing: .07em;
}

.gallery-thumb.active { background: var(--mint); }

.listing-detail {
  padding: 50px 44px 60px;
}

.listing-topline {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.listing-status {
  font-family: var(--font-display);
  font-size: .7rem;
  letter-spacing: .08em;
  border: 2px solid var(--ink);
  padding: 7px 9px;
  background: var(--mint);
}

.listing-detail h2 {
  font-size: clamp(2.7rem, 5vw, 5.2rem);
  margin-top: 14px;
}

.listing-price {
  font-family: var(--font-display);
  color: var(--red);
  font-size: 2rem;
  margin: 10px 0 18px;
}

.listing-intro {
  color: var(--muted);
  line-height: 1.75;
  font-size: 1rem;
}

.listing-specs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 28px 0 32px;
  border-top: 1px solid var(--ink);
  border-left: 1px solid var(--ink);
}

.listing-specs > div {
  padding: 13px;
  border-right: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}

.listing-specs span,
.measurement-grid span {
  display: block;
  font-family: var(--font-display);
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--red);
}

.listing-specs strong,
.measurement-grid strong {
  display: block;
  margin-top: 5px;
  font-family: var(--font-retro-body);
}

.listing-block {
  padding: 24px 0;
  border-top: 2px solid var(--ink);
}

.listing-block h3 {
  font-size: 1rem;
  letter-spacing: .05em;
  margin-bottom: 10px;
}

.listing-block p {
  color: var(--muted);
  line-height: 1.75;
  margin: 0;
}

.measurement-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.measurement-grid > div {
  border: 1px solid rgba(31,33,29,.45);
  padding: 12px;
  background: rgba(154,186,170,.12);
}

.listing-actions {
  display: flex;
  gap: 12px;
  margin-top: 26px;
}

@media (max-width: 900px) {
  .inventory-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .catalog-card,
  .catalog-card:nth-child(even) {
    grid-template-columns: 1fr;
  }

  .catalog-card:nth-child(even) .catalog-image,
  .catalog-card:nth-child(even) .catalog-info {
    order: initial;
  }

  .catalog-image,
  .catalog-card:nth-child(even) .catalog-image {
    border-right: 0;
    border-left: 0;
    border-bottom: 2px solid var(--ink);
    min-height: 500px;
  }

  .archive-grid {
    grid-template-columns: 1fr 1fr;
  }

  .archive-listing.feature {
    grid-column: 1 / -1;
  }

  .product-modal[open] {
    grid-template-columns: 1fr;
  }

  .listing-gallery {
    position: static;
    min-height: 0;
    border-right: 0;
    border-bottom: 2px solid var(--ink);
  }

  .listing-main-image { min-height: 500px; }
}

@media (max-width: 620px) {
  .catalog-grid { gap: 26px; }

  .catalog-card {
    min-height: 0;
  }

  .catalog-image,
  .catalog-card:nth-child(even) .catalog-image {
    min-height: 420px;
  }

  .catalog-info {
    padding: 24px 20px;
  }

  .catalog-header {
    flex-direction: column;
    gap: 10px;
  }

  .catalog-header h3 {
    font-size: 2rem;
  }

  .catalog-facts {
    grid-template-columns: 1fr;
  }

  .catalog-actions,
  .listing-actions {
    flex-direction: column;
  }

  .archive-grid {
    grid-template-columns: 1fr;
  }

  .archive-listing.feature { grid-column: auto; }
  .archive-listing.feature .archive-photo,
  .archive-photo { min-height: 360px; }

  .listing-main-image { min-height: 410px; }

  .listing-detail {
    padding: 34px 22px 44px;
  }

  .listing-specs,
  .measurement-grid {
    grid-template-columns: 1fr;
  }

  .gallery-thumb {
    min-height: 62px;
    font-size: .58rem;
  }
}


/* V4 live inventory photo support */
.catalog-image.has-photo,
.listing-main-image.has-photo,
.archive-photo.has-photo {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
.catalog-image.has-photo::before,
.catalog-image.has-photo::after,
.listing-main-image.has-photo::before {
  display:none;
}
.archive-photo.has-photo::before,
.archive-photo.has-photo::after {
  display:none;
}
.catalog-image.has-photo .catalog-no,
.catalog-image.has-photo .catalog-stamp,
.archive-photo.has-photo small {
  background: rgba(247,236,216,.88);
  padding: 6px 8px;
  border: 1px solid var(--ink);
}

.listing-note { margin:0 0 14px; color:var(--muted); line-height:1.65; }
.listing-tags { display:flex; flex-wrap:wrap; gap:8px; }
.listing-tags span {
  border:1px solid var(--ink);
  background:rgba(154,186,170,.18);
  padding:7px 9px;
  font-family:var(--font-display);
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.listing-extra[hidden] { display:none; }


/* =========================================================
   V9 — Full multi-photo product gallery
   ========================================================= */

.gallery-control-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-bottom:1px solid var(--ink);
  background:rgba(247,236,216,.92);
}

.gallery-arrow {
  width:42px;
  height:42px;
  border:2px solid var(--ink);
  border-radius:999px;
  background:var(--cream-2);
  color:var(--ink);
  font-size:1.25rem;
  cursor:pointer;
}

.gallery-arrow:disabled {
  opacity:.35;
  cursor:default;
}

.gallery-counter {
  font-family:var(--font-display);
  font-size:.72rem;
  letter-spacing:.08em;
}

.gallery-thumbs {
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:10px;
  background:var(--paper);
  scrollbar-width:thin;
}

.gallery-thumb {
  flex:0 0 92px;
  min-height:0;
  padding:0;
  border:2px solid transparent;
  background:transparent;
  cursor:pointer;
  overflow:hidden;
}

.gallery-thumb img {
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  display:block;
  border:1px solid rgba(31,33,29,.35);
}

.gallery-thumb span {
  display:block;
  padding:6px 3px 2px;
  font-family:var(--font-display);
  font-size:.55rem;
  letter-spacing:.05em;
  line-height:1.1;
  color:var(--ink);
}

.gallery-thumb.active {
  border-color:var(--red);
  background:rgba(183,58,45,.07);
}

.listing-main-image {
  background-size:contain !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-color:#efe4cf;
}

@media (max-width:620px) {
  .gallery-thumb { flex-basis:78px; }
  .gallery-arrow { width:38px; height:38px; }
}


/* =========================================================
   V10 — MOBILE PRODUCT DETAIL LAYOUT FIX
   Prevent gallery/title/price overlap on iPhone
   ========================================================= */

@media (max-width: 620px) {
  .product-modal {
    width: calc(100% - 16px);
    max-height: 94vh;
    border-radius: 26px;
    overflow-y: auto;
    overflow-x: hidden;
  }

  .product-modal[open] {
    display: block;
  }

  .listing-gallery {
    position: relative;
    min-height: 0;
    border-right: 0;
    border-bottom: 2px solid var(--ink);
  }

  .listing-main-image {
    min-height: 0 !important;
    height: min(58vh, 520px);
    aspect-ratio: auto;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .photo-label {
    left: 14px;
    bottom: 14px;
    font-size: .58rem;
    padding: 6px 8px;
  }

  .gallery-control-row {
    position: relative;
    z-index: 3;
    padding: 8px 14px;
    min-height: 56px;
    background: var(--cream-2);
  }

  .gallery-arrow {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
  }

  .gallery-counter {
    flex: 1;
    text-align: center;
    font-size: .72rem;
  }

  .gallery-thumbs {
    padding: 10px 12px 12px;
    gap: 10px;
    border-bottom: 0;
    background: var(--cream-2);
  }

  .gallery-thumb {
    flex: 0 0 86px;
  }

  .gallery-thumb img {
    aspect-ratio: 1 / 1;
  }

  .listing-detail {
    padding: 22px 20px 34px !important;
    background: var(--cream-2);
  }

  .listing-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
  }

  .listing-detail h2 {
    margin: 6px 0 8px !important;
    font-size: clamp(2rem, 9vw, 3.3rem) !important;
    line-height: .95 !important;
    overflow-wrap: anywhere;
  }

  .listing-price {
    margin: 0 0 18px !important;
    font-size: 2rem !important;
    line-height: 1;
  }

  .listing-intro {
    margin-top: 0;
    font-size: .95rem;
    line-height: 1.65;
  }

  .listing-specs {
    grid-template-columns: 1fr !important;
    margin-top: 20px;
  }

  .listing-block {
    padding: 20px 0;
  }

  .listing-block h3 {
    margin-bottom: 8px;
  }

  .listing-actions {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .modal-close {
    position: fixed;
    top: calc(env(safe-area-inset-top, 0px) + 12px);
    right: 18px;
    z-index: 1000;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(247, 236, 216, .96);
    box-shadow: 3px 3px 0 rgba(31,33,29,.2);
  }
}

/* Extra narrow iPhones */
@media (max-width: 390px) {
  .listing-main-image {
    height: min(52vh, 460px);
  }

  .listing-detail {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .listing-detail h2 {
    font-size: clamp(1.8rem, 8.7vw, 2.8rem) !important;
  }

  .gallery-thumb {
    flex-basis: 76px;
  }
}


/* V11 Stripe checkout */
.stripe-buy-btn {
  border: 2px solid var(--ink);
  cursor: pointer;
}
.stripe-buy-btn:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.checkout-message {
  min-height: 1.3em;
  margin: 12px 0 0;
  color: var(--red);
  font-weight: 700;
}


/* =========================================================
   V13 STOREFRONT + BAG
   ========================================================= */
.storefront-hero{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:28px;
  align-items:stretch;
  padding-top:48px;
}
.storefront-hero-copy{
  border:2px solid var(--ink);
  padding:42px;
  background:rgba(247,236,216,.84);
  box-shadow:9px 9px 0 rgba(31,33,29,.15);
}
.storefront-hero-copy h1{
  margin:14px 0 18px;
  font-size:clamp(3.8rem,8vw,8rem);
  line-height:.85;
}
.storefront-hero-copy h1 em{color:var(--red)}
.storefront-hero-copy p{max-width:680px;line-height:1.7;color:var(--muted)}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.storefront-feature{min-height:520px}
.feature-card{
  width:100%;height:100%;min-height:520px;border:2px solid var(--ink);
  background:var(--mint);background-size:cover;background-position:center;
  display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;
  padding:22px;cursor:pointer;box-shadow:9px 9px 0 var(--red);position:relative;overflow:hidden;text-align:left
}
.feature-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.7))}
.feature-card>span,.feature-card>div{position:relative;z-index:2}
.feature-card>span{background:var(--cream-2);border:2px solid var(--ink);padding:8px 10px;font-family:var(--font-display);font-size:.66rem}
.feature-card>div{color:#fff;max-width:min(92%,620px)}
.feature-card strong{display:-webkit-box;font-family:var(--font-display);font-size:clamp(1.85rem,3.35vw,3.35rem);line-height:.93;text-transform:uppercase;letter-spacing:-.025em;max-width:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;text-wrap:balance}
.feature-card em{display:block;margin-top:10px;font-family:var(--font-display);font-size:1.5rem;color:#fff}
.shop-tools{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin-bottom:16px}
.shop-search input,.shop-selects select{width:100%;border:2px solid var(--ink);background:var(--cream-2);padding:12px}
.shop-selects{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.drop-countdown{
  margin:0 0 24px;border:2px solid var(--red);background:var(--ink);color:var(--cream-2);
  padding:18px 20px;display:flex;justify-content:space-between;gap:16px;align-items:center;
  font-family:var(--font-display);text-transform:uppercase
}
.drop-countdown strong{font-size:clamp(1.3rem,3vw,2.3rem);color:var(--mint)}
.drop-countdown em{font-family:var(--font-retro-body);font-style:normal;font-size:.8rem}
.coming-soon-card .catalog-image::after{content:"COMING SOON";font-size:clamp(2rem,5vw,5rem);opacity:.24}
.bag-button{
  position:fixed;right:20px;bottom:20px;z-index:900;border:2px solid var(--ink);border-radius:999px;
  background:var(--red);color:#fff;padding:14px 18px;font-family:var(--font-display);cursor:pointer;
  box-shadow:5px 5px 0 var(--ink)
}
.bag-button span{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:5px;border-radius:999px;background:var(--cream-2);color:var(--ink)}
.bag-button.pulse{transform:scale(1.06)}
.bag-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);z-index:1100;background:var(--cream-2);
  border-left:2px solid var(--ink);transform:translateX(100%);transition:transform .25s ease;
  display:grid;grid-template-rows:auto 1fr auto;box-shadow:-10px 0 30px rgba(0,0,0,.24)
}
.bag-drawer.open{transform:translateX(0)}
.bag-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:22px;border-bottom:2px solid var(--ink)}
.bag-head h2{margin:4px 0 0;font-size:2.3rem}
.bag-close{width:42px;height:42px;border:2px solid var(--ink);border-radius:50%;background:transparent;font-size:1.5rem}
.bag-items{overflow:auto;padding:14px;display:grid;align-content:start;gap:10px}
.bag-item{display:grid;grid-template-columns:84px 1fr 36px;gap:12px;align-items:center;border:1px solid rgba(31,33,29,.4);padding:10px}
.bag-item-photo{width:84px;aspect-ratio:1;background:var(--mint);background-size:cover;background-position:center}
.bag-item strong{display:block;font-family:var(--font-display);text-transform:uppercase;font-size:.78rem}
.bag-item span{display:block;color:var(--muted);font-size:.78rem;margin:4px 0}
.bag-item b{color:var(--red)}
.bag-item button{border:0;background:transparent;font-size:1.4rem;cursor:pointer}
.bag-empty{padding:30px;text-align:center;color:var(--muted)}
.bag-summary{border-top:2px solid var(--ink);padding:18px 22px 24px}
.bag-summary>div{display:flex;justify-content:space-between;font-family:var(--font-display)}
.bag-summary p{font-size:.78rem;color:var(--muted)}
.bag-summary .btn{width:100%}
.bag-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000}
@media(max-width:900px){
  .storefront-hero{grid-template-columns:1fr}
  .storefront-feature{min-height:420px}
  .feature-card{min-height:420px}
  .shop-tools{grid-template-columns:1fr}
}
@media(max-width:700px){
  .storefront-hero-copy{padding:26px 20px}
  .feature-card{padding:18px}
  .feature-card strong{font-size:clamp(1.75rem,9vw,2.8rem);-webkit-line-clamp:4;line-clamp:4}
  .feature-card em{font-size:1.25rem}
  .shop-selects{grid-template-columns:1fr 1fr}
  .drop-countdown{flex-direction:column;align-items:flex-start}
}
@media(max-width:460px){
  .shop-selects{grid-template-columns:1fr}
  .bag-button{right:12px;bottom:12px}
}


/* =========================================================
   V13.1 — FIRST-FOLD / HERO SPACING FIX
   ========================================================= */

/* Legacy top-stage containers from earlier versions should not reserve space. */
.hero,
.hero-stage,
.hero-shell,
.landing-hero,
.masthead-hero,
.home-hero,
.intro-hero {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Hide empty legacy containers if they survived older markup. */
.hero:empty,
.hero-stage:empty,
.hero-shell:empty,
.landing-hero:empty,
.masthead-hero:empty,
.home-hero:empty,
.intro-hero:empty {
  display: none !important;
}

/* Bring the storefront immediately under the nav/ticker. */
.storefront-hero {
  margin-top: 0 !important;
  padding-top: 28px !important;
}

/* Make the top ticker compact and intentional. */
.ticker,
.marquee,
.brand-strip {
  margin-top: 0 !important;
}

/* Featured image should use the actual garment photo cleanly. */
.feature-card.has-photo {
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: var(--mint);
}

.feature-card.has-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.08);
  pointer-events: none;
}

.feature-card.has-photo::after {
  background: linear-gradient(180deg, rgba(0,0,0,.02) 45%, rgba(0,0,0,.72) 100%) !important;
}

/* Make the header-to-shop transition feel tighter on desktop. */
@media (min-width: 901px) {
  .site-header {
    margin-bottom: 0 !important;
  }

  .storefront-hero {
    min-height: 0 !important;
  }
}

/* Mobile should also start content immediately below nav. */
@media (max-width: 900px) {
  .storefront-hero {
    padding-top: 18px !important;
  }
}

/* V15 crawlable product links */
.catalog-image{color:inherit;text-decoration:none}
.catalog-action-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit}
.catalog-actions .catalog-action-link{border:2px solid var(--ink);padding:10px 14px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;background:var(--cream-2)}
.catalog-actions .catalog-action-link:hover{background:var(--ink);color:var(--cream-2)}
.archive-product-link{display:block;color:inherit;text-decoration:none}

/* V15.1 product-link visibility + navigation affordance */
.catalog-actions .catalog-action-link {
  background: var(--ink);
  color: var(--cream-2);
  opacity: 1;
  visibility: visible;
}
.catalog-actions .catalog-action-link:hover,
.catalog-actions .catalog-action-link:focus-visible {
  background: var(--red);
  color: var(--cream-2);
}
.catalog-image { cursor: pointer; }
.catalog-image:focus-visible,
.catalog-action-link:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 3px;
}

/* V17 Text Club */
.text-club-card{align-self:stretch;background:var(--red);color:#fff;border-color:var(--ink);padding:24px;display:flex;flex-direction:column;justify-content:flex-start;gap:8px}
.text-club-card>span{font-family:var(--font-display);font-size:.78rem;letter-spacing:.08em;color:#f7dfaf}
.text-club-card>strong{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.6rem);line-height:.95}
.text-club-card>p{color:#fff;margin:4px 0 10px;line-height:1.5}
.text-club-form{display:grid;gap:12px;margin-top:2px}
.text-club-fields{display:grid;grid-template-columns:1fr 1.25fr;gap:10px}
.text-club-form label,.text-club-preferences legend{font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.text-club-form label span{font-weight:600;opacity:.8;text-transform:none;letter-spacing:0}
.text-club-form input[type="text"],.text-club-form input[type="tel"],.text-club-fields input{display:block;width:100%;box-sizing:border-box;margin-top:5px;min-height:44px;border:2px solid var(--ink);background:#fff5df;padding:10px 12px;color:var(--ink);font:inherit;border-radius:0}
.text-club-preferences{border:1px solid rgba(255,255,255,.55);padding:10px 12px;margin:0;display:flex;gap:14px;flex-wrap:wrap}
.text-club-preferences legend{padding:0 5px;color:#f7dfaf}
.text-club-preferences label{display:flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0;font-weight:700;font-size:.75rem}
.text-club-preferences input,.text-club-consent input{accent-color:var(--ink)}
.text-club-consent{display:grid!important;grid-template-columns:20px 1fr;gap:8px;align-items:start;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;font-size:.68rem!important;line-height:1.35}
.text-club-consent input{width:18px;height:18px;margin:1px 0 0}
.text-club-form .btn{width:100%;background:var(--ink);color:#fff;border-color:#fff}
.text-club-legal{font-size:.62rem!important;line-height:1.4!important;margin:0!important;color:#f9ecd6!important}
.text-club-legal a{color:#fff;text-decoration:underline}
.text-club-status{min-height:1.1em;margin:0!important;font-size:.76rem!important;font-weight:800}
.text-club-status.success{color:#fff6be!important}
.text-club-status.error{color:#ffe0dd!important}
.text-club-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.legal-page{width:min(860px,calc(100% - 32px));margin:40px auto 80px;background:#fff5df;border:2px solid var(--ink);padding:clamp(24px,5vw,56px);box-shadow:8px 8px 0 rgba(31,33,29,.12)}
.legal-logo img{width:84px;height:84px;object-fit:cover;border-radius:50%;border:2px solid var(--ink)}
.legal-page h1{font-family:var(--font-display);font-size:clamp(2.6rem,7vw,5.5rem);text-transform:uppercase;margin:10px 0;color:var(--red);line-height:.95}
.legal-page h2{font-family:var(--font-display);text-transform:uppercase;font-size:1.25rem;margin:30px 0 8px}
.legal-page p{line-height:1.7}
.legal-updated{color:var(--muted);font-size:.8rem}
@media(max-width:700px){.text-club-fields{grid-template-columns:1fr}.text-club-preferences{display:grid;gap:8px}}
.catalog-auction-badge{position:absolute;left:12px;bottom:12px;background:#1d1d19;color:#fff6df;border:1px solid #fff6df;padding:7px 9px;font:800 .68rem 'DM Sans',sans-serif;letter-spacing:.08em;z-index:2}
