/* WOOD-SMITH — page-specific composition */

/* ============== HERO ============== */
.hero {
  position: relative;
  padding: var(--s-8) 0 var(--s-7);
  border-bottom: 1px solid var(--ws-rule);
}
.hero__head {
  display: flex; justify-content: space-between; align-items: baseline;
  gap: var(--s-5);
  margin-bottom: var(--s-7);
  flex-wrap: wrap;
}
.hero__title {
  font-family: var(--ws-display);
  font-size: var(--fs-hero);
  line-height: 0.92;
  letter-spacing: -0.025em;
  font-weight: 400;
}
.hero__title em {
  font-style: italic;
  color: var(--ws-stripe-deep);
  font-variation-settings: "SOFT" 30, "opsz" 144;
}
.hero__lede {
  font-family: var(--ws-display);
  font-style: italic;
  font-size: var(--fs-lg);
  color: var(--ws-mute);
  max-width: 46ch;
  line-height: 1.35;
  font-variation-settings: "SOFT" 50, "opsz" 144;
}
.hero__meta {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s-5);
  padding-top: var(--s-5);
  border-top: 1px solid var(--ws-rule);
  margin-top: var(--s-6);
}
.hero__meta .cell .eyebrow { display: block; margin-bottom: var(--s-2); }
.hero__meta .cell .val { font-family: var(--ws-mono); font-size: var(--fs-sm); }
.hero__meta .cell .val b { font-weight: 500; }

@media (max-width: 760px) {
  .hero__meta { grid-template-columns: repeat(2, 1fr); }
}

/* ============== HERO CREED (small inline rule) ============== */
.hero__creed {
  display: grid;
  grid-template-columns: 80px auto 1fr;
  align-items: center;
  gap: var(--s-4);
  max-width: 720px;
}
.hero__creed .hc-line {
  height: 2px; background: var(--ws-stripe);
}
.hero__creed .hc-text {
  font-size: var(--fs-xs);
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--ws-stripe-deep);
  white-space: nowrap;
}
@media (max-width: 560px) {
  .hero__creed { grid-template-columns: 40px auto 1fr; }
}

/* ============== LEDGER ============== */
.ledger {
  background: var(--ws-bone-2);
  padding: var(--s-9) 0;
  border-top: 1px solid var(--ws-rule);
  border-bottom: 1px solid var(--ws-rule);
  position: relative;
}
.ledger__head {
  display: grid;
  grid-template-columns: 1.6fr 0.8fr;
  gap: var(--s-7);
  align-items: start;
  padding-bottom: var(--s-6);
  border-bottom: 1px solid var(--ws-rule);
}
.ledger__head h2 {
  font-family: var(--ws-display);
  font-size: clamp(2rem, 4.4vw, 3.4rem);
  line-height: 1.02; letter-spacing: -0.02em;
}
.ledger__head h2 em { color: var(--ws-stripe-deep); font-style: italic; }
.ledger__lede {
  font-family: var(--ws-display);
  font-style: italic;
  font-size: var(--fs-lg);
  color: var(--ws-mute);
  max-width: 56ch;
  line-height: 1.4;
  font-variation-settings: "SOFT" 50, "opsz" 144;
}
.ledger__seal { width: 200px; justify-self: end; }
.ledger__seal svg { width: 100%; height: auto; display: block; }

.ledger__table {
  margin-top: var(--s-6);
  display: grid;
}
.ledger__row {
  display: grid;
  grid-template-columns: 60px 2fr 100px 120px 1fr;
  align-items: center;
  gap: var(--s-5);
  padding: var(--s-4) 0;
  border-bottom: 1px solid var(--ws-rule);
  font-family: var(--ws-mono);
  font-size: var(--fs-sm);
}
.ledger__row--head span {
  font-size: var(--fs-xs);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ws-mute);
}
.ledger__row--head { padding: var(--s-3) 0; }
.ledger__row .no { color: var(--ws-mute); letter-spacing: 0.18em; }
.ledger__row .piece {
  font-family: var(--ws-display);
  font-size: var(--fs-md);
  letter-spacing: -0.01em;
  color: var(--ws-black);
  transition: color var(--dur) var(--ease);
}
a.piece:hover { color: var(--ws-stripe-deep); }
.ledger__row .state {
  font-size: var(--fs-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.ledger__row .state--closed { color: var(--ws-stripe-deep); }
.ledger__row--total {
  background: var(--ws-bone);
  border-top: 1px solid var(--ws-rule-strong);
  border-bottom: 1px solid var(--ws-rule-strong);
  padding: var(--s-4) var(--s-3);
}
.ledger__row--total .total {
  font-family: var(--ws-mono);
  font-size: var(--fs-xs);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ws-black);
}
.ledger__foot {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: var(--s-4);
  font-size: var(--fs-xs);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ws-mute);
  gap: var(--s-4); flex-wrap: wrap;
}
.ledger__link { color: var(--ws-stripe-deep); }
@media (max-width: 860px) {
  .ledger__head { grid-template-columns: 1fr; }
  .ledger__seal { width: 140px; justify-self: start; }
  .ledger__row { grid-template-columns: 40px 1fr auto; }
  .ledger__row > :nth-child(3),
  .ledger__row > :nth-child(4) { display: none; }
}

/* ============== MANIFESTO ============== */
.manifesto {
  background: var(--ws-bone);
  padding: var(--s-10) 0;
  position: relative;
}
.manifesto::before,
.manifesto::after {
  content: "";
  position: absolute; left: 0; right: 0; height: 1px;
  background: var(--ws-stripe); opacity: 0.45;
}
.manifesto::before { top: 0; }
.manifesto::after  { bottom: 0; }
.manifesto__inner { max-width: 980px; margin: 0 auto; text-align: left; }
.manifesto__q {
  font-family: var(--ws-display);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(2.25rem, 5.4vw, 4.25rem);
  line-height: 1.06;
  letter-spacing: -0.018em;
  color: var(--ws-black);
  margin-top: var(--s-5);
  font-variation-settings: "SOFT" 40, "opsz" 144;
  position: relative;
}
.manifesto__q em {
  font-style: italic;
  color: var(--ws-stripe-deep);
  font-variation-settings: "SOFT" 70, "opsz" 144;
}
.manifesto__pull {
  font-family: var(--ws-display);
  font-style: italic;
  color: var(--ws-stripe);
  font-size: 2em;
  line-height: 0;
  margin-right: 0.1em;
  vertical-align: -0.15em;
}
.manifesto__line {
  display: inline;
  background-image: linear-gradient(var(--ws-stripe), var(--ws-stripe));
  background-repeat: no-repeat;
  background-position: 0 92%;
  background-size: 100% 2px;
  padding-bottom: 2px;
}
.manifesto__attrib {
  margin-top: var(--s-5);
  padding-top: var(--s-4);
  border-top: 1px solid var(--ws-rule);
  font-size: var(--fs-xs);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ws-mute);
}
.manifesto__doctrine {
  margin-top: var(--s-7);
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: var(--s-7);
  padding-top: var(--s-6);
  border-top: 1px solid var(--ws-rule);
}
.manifesto__doctrine p {
  font-family: var(--ws-display);
  font-style: italic;
  font-size: var(--fs-lg);
  color: var(--ws-mute);
  line-height: 1.45;
  max-width: 30ch;
  margin: 0;
  font-variation-settings: "SOFT" 50, "opsz" 144;
}
.manifesto__creed {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; flex-direction: column;
  gap: var(--s-4);
}
.manifesto__creed li {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: var(--s-3);
  align-items: baseline;
  font-family: var(--ws-display);
  font-size: var(--fs-lg);
  line-height: 1.35;
  color: var(--ws-black);
  padding-bottom: var(--s-4);
  border-bottom: 1px solid var(--ws-rule);
}
.manifesto__creed .n {
  font-size: var(--fs-xs);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ws-stripe-deep);
}
@media (max-width: 860px) {
  .manifesto__doctrine { grid-template-columns: 1fr; gap: var(--s-5); }
}

/* ============== STEWARDSHIP ============== */
.stewardship {
  background: var(--ws-black);
  color: var(--ws-bone);
  padding: var(--s-9) 0;
  position: relative;
}
.stewardship::before,
.stewardship::after {
  content: "";
  position: absolute; left: 0; right: 0; height: 1px;
  background: var(--ws-stripe);
  opacity: 0.7;
}
.stewardship::before { top: 0; }
.stewardship::after  { bottom: 0; }
.stewardship__inner { max-width: 880px; }
.stewardship h2 {
  font-family: var(--ws-display);
  font-size: clamp(2.4rem, 6vw, 4.5rem);
  line-height: 0.98;
  letter-spacing: -0.02em;
}
.stewardship h2 em { color: var(--ws-stripe-glow); font-style: italic; }
.stewardship__lede {
  font-family: var(--ws-display);
  font-style: italic;
  font-size: var(--fs-lg);
  line-height: 1.4;
  color: var(--ws-bone-3);
  max-width: 56ch;
  font-variation-settings: "SOFT" 50, "opsz" 144;
}
.stewardship__creed {
  list-style: none;
  margin: var(--s-7) 0 0;
  padding: var(--s-5) 0 0;
  border-top: 1px solid rgba(236,231,220,0.18);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-5);
}
.stewardship__creed li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--s-3);
  align-items: baseline;
  font-family: var(--ws-display);
  font-style: italic;
  font-size: var(--fs-md);
  line-height: 1.35;
  color: var(--ws-bone);
  max-width: 32ch;
}
.stewardship__creed .n {
  font-style: normal;
  font-size: var(--fs-xs);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ws-stripe-glow);
}
@media (max-width: 860px) {
  .stewardship__creed { grid-template-columns: 1fr; }
}

/* ============== SECTION HEAD ============== */
.sec-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: end;
  gap: var(--s-5);
  margin-bottom: var(--s-6);
  padding-bottom: var(--s-3);
  border-bottom: 1px solid var(--ws-rule);
}
.sec-head h2 {
  font-family: var(--ws-display);
  font-size: var(--fs-2xl);
  line-height: 0.98;
  letter-spacing: -0.02em;
}
.sec-head .sub {
  font-family: var(--ws-mono);
  font-size: var(--fs-xs);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ws-mute);
}
.sec-head .right { justify-self: end; }

@media (max-width: 760px) {
  .sec-head { grid-template-columns: 1fr; }
  .sec-head .right { justify-self: start; }
}

/* ============== PRODUCT GRID ============== */
.products {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--s-6) var(--s-5);
}
.product-card { grid-column: span 3; }
.product-card.span-4 { grid-column: span 4; }
.product-card.span-6 { grid-column: span 6; }
.product-card a.product-card__link { display: block; }
.product-card__media {
  position: relative;
  aspect-ratio: 4 / 5;
  background: var(--ws-bone-2);
  overflow: hidden;
  border: 1px solid var(--ws-rule);
}
.product-card__media svg.illus { width: 100%; height: 100%; }
.product-card__overlay {
  position: absolute; inset: 0;
  display: flex; align-items: flex-start; justify-content: space-between;
  padding: 1rem 1rem;
  pointer-events: none;
}
.product-card__overlay .tag {
  font-family: var(--ws-mono);
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.3rem 0.5rem;
  background: var(--ws-black);
  color: var(--ws-bone);
}
.product-card__overlay .tag--ghost { background: transparent; color: var(--ws-black); border: 1px solid var(--ws-black); }
.product-card__body { padding-top: var(--s-3); }
.product-card__row {
  display: flex; justify-content: space-between; align-items: baseline;
  gap: var(--s-3);
}
.product-card__name {
  font-family: var(--ws-display);
  font-size: var(--fs-md);
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.product-card__price {
  font-family: var(--ws-mono);
  font-size: var(--fs-sm);
}
.product-card__meta {
  margin-top: var(--s-2);
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--ws-mono);
  font-size: var(--fs-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ws-mute);
}
.product-card__meta .soldout { color: var(--ws-stripe-deep); }
.product-card__link { color: inherit; }
.product-card__link:hover .product-card__name { color: var(--ws-tobacco); transition: color var(--dur) var(--ease); }

@media (max-width: 1020px) {
  .product-card { grid-column: span 6; }
  .product-card.span-4 { grid-column: span 6; }
}
@media (max-width: 560px) {
  .product-card, .product-card.span-4, .product-card.span-6 { grid-column: span 12; }
}

/* ============== HALLMARK STRIP ============== */
.hallmark {
  padding: var(--s-8) 0;
  border-top: 1px solid var(--ws-rule);
  border-bottom: 1px solid var(--ws-rule);
}
.hallmark__lede { max-width: 880px; }
.hallmark__lede h2 {
  font-family: var(--ws-display);
  font-size: clamp(2rem, 4.4vw, 3.4rem);
  line-height: 1.02; letter-spacing: -0.02em;
}
.hallmark__lede h2 em { color: var(--ws-tobacco); font-style: italic; }
.hallmark__doctrine {
  font-family: var(--ws-display);
  font-style: italic;
  font-size: var(--fs-lg);
  line-height: 1.4;
  color: var(--ws-mute);
  max-width: 62ch;
  font-variation-settings: "SOFT" 50, "opsz" 144;
}
.hallmark__stripe-demo {
  margin-top: var(--s-6);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--s-4);
  max-width: 560px;
}
.hallmark__stripe-demo .hd-label {
  font-size: var(--fs-xs);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ws-mute);
}
.hallmark__stripe-demo .hd-label--end { color: var(--ws-stripe-deep); }
.hallmark__stripe-demo .hd-line {
  height: 1px;
  background: var(--ws-stripe);
}

/* Paired hallmark cards (primary stripe + alternate registry number) */
.hallmark__pair {
  margin-top: var(--s-7);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-5);
}
.hallmark__card {
  border: 1px solid var(--ws-rule);
  background: var(--ws-bone-2);
  padding: var(--s-5);
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}
.hallmark__card-head {
  display: flex; justify-content: space-between; align-items: baseline;
  gap: var(--s-3); flex-wrap: wrap;
}
.hallmark__tag {
  font-size: var(--fs-xs);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ws-stripe-deep);
}
.hallmark__art {
  width: 100%;
  aspect-ratio: 520 / 320;
  overflow: hidden;
  border: 1px solid var(--ws-rule);
}
.hallmark__art svg { width: 100%; height: 100%; display: block; }
.hallmark__art--dark { background: var(--ws-black); }
.hallmark__art--bone { background: var(--ws-bone); }
.hallmark__card-copy {
  font-family: var(--ws-display);
  font-size: var(--fs-md);
  line-height: 1.4;
  color: var(--ws-black);
  max-width: 46ch;
  margin: 0;
}
.hallmark__card-copy em {
  font-style: italic;
  color: var(--ws-stripe-deep);
}
@media (max-width: 860px) {
  .hallmark__pair { grid-template-columns: 1fr; }
}

/* Cuff diagram — a literal cuff illustration with the house stripe */
.cuff-diagram {
  margin-top: var(--s-7);
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: var(--s-6);
  align-items: center;
  padding: var(--s-5) 0 0;
  border-top: 1px solid var(--ws-rule);
}
.cuff-diagram__art {
  aspect-ratio: 5 / 3;
  background: var(--ws-black);
  position: relative;
  overflow: hidden;
}
.cuff-diagram__art svg { width: 100%; height: 100%; display: block; }
.cuff-diagram__caption .eyebrow { display: block; margin-bottom: var(--s-3); }
.cuff-diagram__caption p {
  font-family: var(--ws-display);
  font-style: italic;
  font-size: var(--fs-md);
  line-height: 1.4;
  color: var(--ws-mute);
  max-width: 44ch;
}
.cuff-diagram__caption .spec {
  margin-top: var(--s-4);
  font-family: var(--ws-mono);
  font-size: var(--fs-xs);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ws-stripe-deep);
}
@media (max-width: 760px) {
  .cuff-diagram { grid-template-columns: 1fr; }
}
.hallmark__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s-6) var(--s-5);
  padding-top: var(--s-6);
  border-top: 1px solid var(--ws-rule);
}
.hallmark__cell .eyebrow { display: block; margin-bottom: var(--s-3); }
.hallmark__cell p { font-family: var(--ws-display); font-size: var(--fs-md); line-height: 1.3; color: var(--ws-black); max-width: 34ch; }
.hallmark__cell p em { color: var(--ws-stripe-deep); font-style: italic; }
@media (max-width: 860px) { .hallmark__grid { grid-template-columns: repeat(2, 1fr); } }

/* ============== EDITORIAL (Workshop intro on home) ============== */
.editorial {
  display: grid; grid-template-columns: 5fr 7fr; gap: var(--s-7);
  align-items: start;
}
.editorial__media {
  aspect-ratio: 4/5;
  background: var(--ws-bone-2);
  border: 1px solid var(--ws-rule);
  position: relative; overflow: hidden;
}
.editorial__copy h3 {
  font-family: var(--ws-display);
  font-size: var(--fs-2xl); line-height: 1; letter-spacing: -0.02em;
  margin-bottom: var(--s-4);
}
.editorial__copy h3 em { color: var(--ws-tobacco); font-style: italic; }
.editorial__copy p { color: var(--ws-mute); font-size: var(--fs-md); max-width: 56ch; }
.editorial__copy .specs {
  margin-top: var(--s-5);
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-4) var(--s-5);
  padding-top: var(--s-4); border-top: 1px solid var(--ws-rule);
}
.editorial__copy .specs .row { display: block; }
.editorial__copy .specs .eyebrow { display: block; margin-bottom: var(--s-1); }
.editorial__copy .specs .v { font-family: var(--ws-mono); font-size: var(--fs-sm); }
@media (max-width: 860px) { .editorial { grid-template-columns: 1fr; } }

/* ============== ACCESS / WAITLIST ============== */
.access {
  background: var(--ws-black);
  color: var(--ws-bone);
  padding: var(--s-9) 0;
}
.access__inner { display: grid; grid-template-columns: 5fr 7fr; gap: var(--s-7); align-items: end; }
.access h2 {
  font-family: var(--ws-display);
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  line-height: 0.95; letter-spacing: -0.02em;
}
.access h2 em { color: var(--ws-tobacco-soft); font-style: italic; }
.access .lede { color: var(--ws-bone-3); font-family: var(--ws-display); font-style: italic; font-size: var(--fs-lg); margin-top: var(--s-4); max-width: 38ch; }
.access form { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-4) var(--s-5); }
.access .full { grid-column: span 2; }
.access label {
  display: block;
  font-family: var(--ws-mono);
  font-size: var(--fs-xs);
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--ws-bone-3);
  margin-bottom: var(--s-2);
}
.access input, .access textarea, .access select {
  width: 100%;
  background: transparent;
  border-bottom: 1px solid rgba(236,231,220,0.32);
  padding: 0.65rem 0;
  color: var(--ws-bone);
  font-size: var(--fs-md);
  transition: border-color var(--dur) var(--ease);
}
.access input::placeholder, .access textarea::placeholder { color: rgba(236,231,220,0.32); }
.access input:focus, .access textarea:focus, .access select:focus { border-bottom-color: var(--ws-bone); outline: none; }
.access textarea { resize: vertical; min-height: 80px; }
.access .actions { grid-column: span 2; display: flex; justify-content: space-between; align-items: center; gap: var(--s-5); margin-top: var(--s-3); flex-wrap: wrap; }
.access .fineprint { font-family: var(--ws-mono); font-size: var(--fs-xs); letter-spacing: 0.16em; text-transform: uppercase; color: var(--ws-bone-3); max-width: 36ch; }
.access .ok {
  display: none;
  grid-column: span 2;
  padding: var(--s-4);
  border: 1px solid rgba(236,231,220,0.32);
  font-family: var(--ws-mono);
  font-size: var(--fs-sm); letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--ws-bone);
}
.access .ok.is-shown { display: block; }
@media (max-width: 860px) { .access__inner { grid-template-columns: 1fr; } .access form { grid-template-columns: 1fr; } .access .full, .access .actions, .access .ok { grid-column: span 1; } }

/* ============== ARCHIVE (compact list) ============== */
.archive-list {
  border-top: 1px solid var(--ws-rule);
}
.archive-row {
  display: grid;
  grid-template-columns: 80px 1.4fr 1fr 1fr auto;
  align-items: center;
  gap: var(--s-5);
  padding: var(--s-4) 0;
  border-bottom: 1px solid var(--ws-rule);
  font-family: var(--ws-mono);
  font-size: var(--fs-sm);
}
.archive-row .no { font-size: var(--fs-xs); letter-spacing: 0.2em; color: var(--ws-mute); }
.archive-row .title { font-family: var(--ws-display); font-size: var(--fs-md); letter-spacing: -0.01em; }
.archive-row .meta { color: var(--ws-mute); font-size: var(--fs-xs); letter-spacing: 0.18em; text-transform: uppercase; }
.archive-row .status { text-transform: uppercase; letter-spacing: 0.18em; font-size: var(--fs-xs); color: var(--ws-stripe-deep); }
.archive-row .status--paper { color: var(--ws-mute); }
.archive-row .status--coming { color: var(--ws-tobacco); }
@media (max-width: 860px) {
  .archive-row { grid-template-columns: 60px 1fr auto; row-gap: var(--s-1); }
  .archive-row .meta, .archive-row .right-extra { display: none; }
}

/* ============== INSTAGRAM CTA ============== */
.ig {
  padding: var(--s-8) 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-7);
  align-items: center;
}
.ig .display { font-size: var(--fs-2xl); line-height: 1; letter-spacing: -0.02em; }
.ig .display em { color: var(--ws-tobacco); font-style: italic; }
.ig .handle { font-family: var(--ws-mono); letter-spacing: 0.16em; text-transform: uppercase; font-size: var(--fs-sm); color: var(--ws-mute); margin-top: var(--s-3); }
.ig__tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-3); }
.ig__tile { aspect-ratio: 1/1; background: var(--ws-bone-2); border: 1px solid var(--ws-rule); position: relative; overflow: hidden; }
.ig__tile .code { position: absolute; left: 0.6rem; bottom: 0.6rem; font-family: var(--ws-mono); font-size: 0.6rem; letter-spacing: 0.2em; color: var(--ws-mute); }
@media (max-width: 860px) { .ig { grid-template-columns: 1fr; } }

/* ============== PRODUCT DETAIL ============== */
.pdp {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: var(--s-8);
  padding: var(--s-7) 0 var(--s-9);
  align-items: start;
}
.pdp__gallery { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-3); }
.pdp__gallery .frame {
  aspect-ratio: 4/5;
  background: var(--ws-bone-2);
  border: 1px solid var(--ws-rule);
  position: relative;
  overflow: hidden;
}
.pdp__gallery .frame.lead { grid-column: span 2; aspect-ratio: 4/4.4; }
.pdp__info { position: sticky; top: 96px; }
.pdp__crumbs {
  font-family: var(--ws-mono); font-size: var(--fs-xs);
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--ws-mute);
  margin-bottom: var(--s-5);
}
.pdp__title {
  font-family: var(--ws-display);
  font-size: clamp(2.2rem, 4.4vw, 3.4rem);
  line-height: 1; letter-spacing: -0.02em;
  margin-bottom: var(--s-3);
}
.pdp__title em { color: var(--ws-tobacco); font-style: italic; }
.pdp__sub {
  font-family: var(--ws-display); font-style: italic; color: var(--ws-mute);
  font-size: var(--fs-md);
  margin-bottom: var(--s-5);
}
.pdp__price-row {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: var(--s-4) 0;
  border-top: 1px solid var(--ws-rule);
  border-bottom: 1px solid var(--ws-rule);
}
.pdp__price-row .price { font-family: var(--ws-mono); font-size: var(--fs-lg); }
.pdp__price-row .issue { font-family: var(--ws-mono); font-size: var(--fs-xs); letter-spacing: 0.18em; text-transform: uppercase; color: var(--ws-mute); }
.pdp__price-row .issue b { color: var(--ws-stripe-deep); }

.pdp__sizes {
  display: flex; gap: var(--s-2); flex-wrap: wrap;
  margin: var(--s-5) 0 var(--s-4);
}
.pdp__sizes .sz {
  font-family: var(--ws-mono);
  font-size: var(--fs-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.6rem 0.9rem;
  border: 1px solid var(--ws-rule-strong);
  color: var(--ws-mute);
  position: relative;
}
.pdp__sizes .sz.strike::after {
  content: ""; position: absolute; left: 8%; right: 8%; top: 50%;
  height: 1px; background: var(--ws-rule-strong);
  transform: rotate(-8deg);
}
.pdp__cta { margin-top: var(--s-4); display: flex; gap: var(--s-3); flex-wrap: wrap; align-items: center; }
.pdp__cta .note { font-family: var(--ws-mono); font-size: var(--fs-xs); letter-spacing: 0.18em; text-transform: uppercase; color: var(--ws-mute); }

.pdp__specs {
  margin-top: var(--s-6);
  padding-top: var(--s-5);
  border-top: 1px solid var(--ws-rule);
}
.pdp__specs h4 {
  font-family: var(--ws-mono);
  font-size: var(--fs-xs); letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--ws-black); margin-bottom: var(--s-4);
}
.pdp__specs dl { margin: 0; display: grid; grid-template-columns: 1fr 2fr; row-gap: var(--s-3); column-gap: var(--s-5); }
.pdp__specs dt {
  font-family: var(--ws-mono); font-size: var(--fs-xs);
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--ws-mute);
}
.pdp__specs dd { margin: 0; font-size: var(--fs-sm); color: var(--ws-black); }

.pdp__notes {
  margin-top: var(--s-6);
  padding: var(--s-5); border: 1px solid var(--ws-rule);
  background: rgba(255,255,255,0.4);
}
.pdp__notes p { font-family: var(--ws-display); font-style: italic; color: var(--ws-mute); font-size: var(--fs-md); margin: 0; }

@media (max-width: 960px) {
  .pdp { grid-template-columns: 1fr; gap: var(--s-6); }
  .pdp__info { position: static; }
}

/* ============== REGISTRY (footer mini) ============== */
.registry-pre {
  padding: var(--s-7) 0;
  border-top: 1px solid var(--ws-rule);
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-7);
  align-items: end;
}
.registry-pre h3 { font-family: var(--ws-display); font-size: var(--fs-2xl); line-height: 1; letter-spacing: -0.02em; }
.registry-pre h3 em { color: var(--ws-tobacco); font-style: italic; }
.registry-pre p { color: var(--ws-mute); font-size: var(--fs-md); max-width: 52ch; }
@media (max-width: 760px) { .registry-pre { grid-template-columns: 1fr; } }

/* ============== REPAIR — MARKS OF SERVICE ============== */
.repair {
  padding: var(--s-9) 0;
  border-top: 1px solid var(--ws-rule);
  border-bottom: 1px solid var(--ws-rule);
  background:
    linear-gradient(180deg, rgba(176,100,100,0.04) 0%, rgba(236,231,220,0) 30%),
    var(--ws-bone);
}
.repair__head {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: var(--s-8);
  align-items: start;
}
.repair__head h2 {
  font-family: var(--ws-display);
  font-size: var(--fs-3xl);
  line-height: 1.02;
  letter-spacing: -0.02em;
}
.repair__head h2 em {
  font-style: italic;
  color: var(--ws-stripe-deep);
  font-family: var(--ws-display);
}
.repair__lede {
  color: var(--ws-mute);
  font-size: var(--fs-md);
  max-width: 56ch;
  line-height: 1.6;
}
.repair__lede em {
  color: var(--ws-black);
  font-style: italic;
}
.repair__diagram {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  border: 1px solid var(--ws-rule);
  padding: var(--s-4);
  background: var(--ws-bone);
}
.repair__diagram svg {
  width: 100%;
  height: auto;
  display: block;
}
.repair__caption {
  font-size: var(--fs-xs);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ws-mute);
  margin: 0;
}

.repair__creed {
  list-style: none;
  padding: 0;
  margin: var(--s-8) 0 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-6);
  border-top: 1px solid var(--ws-rule);
  padding-top: var(--s-7);
}
.repair__creed li {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}
.repair__creed h3 {
  font-family: var(--ws-display);
  font-size: var(--fs-xl);
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--ws-black);
  margin-top: var(--s-2);
}
.repair__creed p {
  color: var(--ws-mute);
  font-size: var(--fs-sm);
  line-height: 1.55;
  margin: 0;
  max-width: 36ch;
}

.repair__note {
  margin-top: var(--s-7);
  padding-top: var(--s-5);
  border-top: 1px solid var(--ws-rule);
  font-size: var(--fs-xs);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ws-mute);
  text-align: center;
}

@media (max-width: 960px) {
  .repair__head { grid-template-columns: 1fr; }
  .repair__creed { grid-template-columns: 1fr; gap: var(--s-5); }
}
