@font-face {
  font-family: "Fabric Inter";
  src: url("/extension/fonts/Inter-Regular.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Fabric Inter";
  src: url("/extension/fonts/Inter-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Fabric Fraunces";
  src: url("/extension/fonts/Fraunces-Regular.woff2") format("woff2");
  font-display: swap;
}
:root { --ink: #0a0a09; --paper: #f1f0ea; --surface: #f8f7f3; --white: #fff; --muted: #706e67; --line: #c9c6bc; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 16px/1.58 "Fabric Inter", Arial, sans-serif; text-rendering: optimizeLegibility; }
a { color: inherit; text-underline-offset: 3px; }
img { display: block; max-width: 100%; height: auto; }
::selection { color: var(--paper); background: var(--ink); }
.page-header, .page-footer { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; padding: 24px clamp(18px, 4vw, 58px); border-bottom: 1px solid var(--ink); background: var(--white); }
.page-footer { grid-template-columns: 1fr auto 1fr; border-top: 1px solid var(--ink); border-bottom: 0; }
.page-brand { display: inline-flex; gap: 10px; align-items: center; width: max-content; font-weight: 600; text-decoration: none; }
.page-brand img { width: 28px; height: 28px; }
.page-nav { display: flex; gap: 24px; align-items: center; }
.page-nav a, .breadcrumb a, .eyebrow, .meta-line, .source-label { font-size: 10px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.page-nav a { text-decoration: none; }
.page-nav a:hover { text-decoration: underline; }
.breadcrumb { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 52px; color: var(--muted); }
.breadcrumb a { text-decoration: none; }
.article-hero, .directory-hero { padding: clamp(60px, 10vw, 150px) clamp(18px, 8vw, 140px) clamp(56px, 8vw, 110px); border-bottom: 1px solid var(--ink); }
.article-hero h1, .directory-hero h1 { max-width: 1150px; margin: 18px 0 36px; font: 400 clamp(62px, 9.6vw, 155px)/.82 "Fabric Fraunces", Georgia, serif; letter-spacing: -.055em; }
.article-hero .dek, .directory-hero .dek { max-width: 740px; margin: 0; font-size: clamp(18px, 2vw, 27px); line-height: 1.35; }
.meta-line { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 46px; color: var(--muted); }
.article-layout { display: grid; grid-template-columns: minmax(210px, .45fr) minmax(0, 1.1fr) minmax(210px, .45fr); gap: clamp(34px, 6vw, 100px); padding: clamp(66px, 9vw, 128px) clamp(18px, 6vw, 100px); }
.article-toc { position: sticky; top: 32px; align-self: start; border-top: 1px solid var(--ink); }
.article-toc a { display: block; padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; text-decoration: none; }
.article-toc a:hover { color: var(--ink); }
.article-copy { min-width: 0; }
.article-copy section { margin-bottom: 76px; scroll-margin-top: 28px; }
.article-copy h2 { margin: 0 0 24px; font: 400 clamp(42px, 5vw, 74px)/.93 "Fabric Fraunces", Georgia, serif; letter-spacing: -.035em; }
.article-copy h3 { margin: 38px 0 12px; font: 400 30px/1 "Fabric Fraunces", Georgia, serif; }
.article-copy p, .article-copy li { font-size: 17px; }
.article-copy p { margin: 0 0 20px; }
.article-copy ul, .article-copy ol { padding-left: 22px; }
.article-copy li { margin-bottom: 10px; }
.article-copy blockquote { margin: 32px 0; padding: 22px 26px; border: 1px solid var(--ink); background: var(--surface); font: 400 26px/1.25 "Fabric Fraunces", Georgia, serif; }
.article-aside { align-self: start; padding: 22px; border: 1px solid var(--ink); background: var(--surface); }
.article-aside strong { display: block; margin: 8px 0; font: 400 28px/1 "Fabric Fraunces", Georgia, serif; }
.article-aside p { margin: 0; color: var(--muted); font-size: 12px; }
.decision-table { width: 100%; border-collapse: collapse; margin: 30px 0; }
.decision-table th, .decision-table td { padding: 14px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.decision-table th { background: var(--ink); color: var(--paper); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.formula { margin: 32px 0; padding: clamp(24px, 4vw, 46px); border: 1px solid var(--ink); background: var(--white); font: 400 clamp(30px, 4vw, 60px)/1 "Fabric Fraunces", Georgia, serif; text-align: center; }
.sources { padding-top: 26px; border-top: 1px solid var(--ink); }
.sources li { font-size: 13px; }
.article-cta { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: end; padding: clamp(52px, 8vw, 100px) clamp(18px, 6vw, 100px); border-top: 1px solid var(--ink); background: var(--ink); color: var(--paper); }
.article-cta h2 { max-width: 850px; margin: 0; font: 400 clamp(50px, 8vw, 118px)/.82 "Fabric Fraunces", Georgia, serif; letter-spacing: -.045em; }
.button { display: inline-flex; justify-content: space-between; gap: 36px; min-width: 250px; padding: 17px 18px; border: 1px solid currentColor; font-size: 10px; font-weight: 600; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.directory-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border-bottom: 1px solid var(--ink); background: var(--ink); }
.directory-card { min-height: 420px; padding: clamp(28px, 4vw, 60px); background: var(--paper); text-decoration: none; }
.directory-card span { color: var(--muted); font-size: 10px; }
.directory-card h2 { margin: 100px 0 20px; font: 400 clamp(37px, 4vw, 64px)/.92 "Fabric Fraunces", Georgia, serif; }
.directory-card p { max-width: 430px; color: var(--muted); }
.directory-card:hover { color: var(--paper); background: var(--ink); }
.retailer-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border-bottom: 1px solid var(--ink);
  background: var(--ink);
}
.retailer-entry { display: flex; min-width: 0; flex-direction: column; background: var(--paper); }
.retailer-entry-copy { min-height: 270px; padding: clamp(30px, 3.5vw, 58px); }
.retailer-entry-copy > p:last-child { max-width: 520px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.retailer-logo { display: flex; align-items: center; height: 72px; margin: 22px 0 24px; }
.retailer-logo img { width: auto; max-width: 78%; max-height: 64px; object-fit: contain; object-position: left center; }
.retailer-logo-zara img { width: 150px; }
.retailer-logo-hm img { width: 94px; }
.retailer-logo-mango img { width: 180px; }
.retailer-logo-uniqlo img { width: 62px; }
.retailer-logo-cos img { width: 124px; }
.retailer-entry figure { margin: auto 0 0; overflow: hidden; border-top: 1px solid var(--ink); background: var(--white); }
.retailer-entry figure > img { width: 100%; height: auto; aspect-ratio: 2400 / 1258; object-fit: cover; object-position: top center; }
.retailer-entry figcaption { min-height: 58px; padding: 12px 14px; border-top: 1px solid var(--ink); color: var(--muted); font-size: 11px; }
.evidence-note { padding: clamp(54px, 8vw, 110px) clamp(18px, 8vw, 140px); }
.evidence-note h2 { max-width: 980px; margin: 0 0 28px; font: 400 clamp(48px, 7vw, 104px)/.85 "Fabric Fraunces", Georgia, serif; }
.evidence-note p { max-width: 720px; font-size: 18px; }
.legal-layout { display: grid; grid-template-columns: minmax(200px, .4fr) minmax(0, 1.2fr); gap: clamp(40px, 8vw, 130px); padding: clamp(66px, 9vw, 128px) clamp(18px, 8vw, 140px); }
.legal-copy { max-width: 840px; }
.legal-copy section { margin-bottom: 50px; }
.legal-copy h2 { font: 400 40px/1 "Fabric Fraunces", Georgia, serif; }
.page-footer p { margin: 0; color: var(--muted); font-size: 10px; }
.page-footer .page-nav { justify-self: end; }
@media (max-width: 900px) {
  .page-header { grid-template-columns: 1fr; }
  .page-header .page-nav { overflow-x: auto; padding-bottom: 3px; }
  .article-layout { grid-template-columns: 1fr; }
  .article-toc { position: static; }
  .article-aside { order: -1; }
  .article-cta { grid-template-columns: 1fr; }
  .directory-grid { grid-template-columns: 1fr; }
  .directory-card { min-height: 300px; }
  .directory-card h2 { margin-top: 62px; }
  .retailer-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legal-layout { grid-template-columns: 1fr; }
  .page-footer { grid-template-columns: 1fr; }
  .page-footer .page-nav { justify-self: start; flex-wrap: wrap; }
}
@media (max-width: 560px) {
  .page-nav { gap: 16px; }
  .article-hero h1, .directory-hero h1 { font-size: clamp(58px, 18vw, 92px); }
  .article-copy p, .article-copy li { font-size: 16px; }
  .decision-table { display: block; overflow-x: auto; }
  .retailer-list { grid-template-columns: 1fr; }
  .retailer-entry-copy { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
