.shop-head{background:var(--bg-base);padding-block:calc(var(--header-h-scroll) + clamp(var(--s-48),7vh,var(--s-96))) clamp(var(--s-32),5vh,var(--s-64))}.shop-head .breadcrumb{margin-bottom:var(--s-32)}.shop-head .t-hero{margin-top:var(--s-16);max-width:18ch}.shop-head .t-text{margin-top:var(--s-20);max-width:42rem}.shop-body{background:var(--bg-base);padding-bottom:clamp(var(--s-64),9vh,var(--s-128))}.shop-group+.shop-group{margin-top:clamp(var(--s-64),9vh,var(--s-128))}.shop-group-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s-16);padding-bottom:var(--s-16);border-bottom:1px solid var(--border);margin-bottom:clamp(var(--s-32),5vh,var(--s-64))}.shop-group-count{color:var(--text-secondary)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:clamp(var(--s-24),3vw,var(--s-48))}.shop-grid .product-card{flex:initial}.shop-preowned{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--s-32);margin-top:clamp(var(--s-64),9vh,var(--s-128));padding:clamp(var(--s-32),5vw,var(--s-64));background:var(--bg-raised);border:1px solid var(--border)}.shop-preowned .t-h3{margin-top:var(--s-12)}.shop-preowned .t-text{margin-top:var(--s-12);max-width:40rem}@media (max-width:767px){.shop-preowned{grid-template-columns:1fr}}
body.page-envy #site-header{--header-fg:var(--text-on-dark);background:var(--bg-dark-soft);border-bottom-color:transparent}body.page-envy #site-header .logo-light{opacity:1}body.page-envy #site-header .logo-dark{opacity:0}body.page-envy::before{content:'';position:fixed;inset:0;z-index:var(--z-modal);pointer-events:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="140" height="140"><filter id="g"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2"/><feColorMatrix type="saturate" values="0"/></filter><rect width="140" height="140" filter="url(../../css/%23g)" opacity="0.045"/></svg>');
}

 
body.page-envy main .t-text { max-width: 640px; }

 
body.page-envy main .t-text a:not([class]) { color: var(--accent); }

.legal-head {
  padding-block: var(--pad-section) var(--s-32);
  margin-top: var(--header-h-scroll);
}
.legal-body { padding-bottom: var(--pad-section); }
.legal-body .t-h2 { margin-top: var(--s-48); margin-bottom: var(--s-16); }
.legal-body .t-h3 { margin-top: var(--s-32); margin-bottom: var(--s-12); }
.legal-body .t-eyebrow { margin-top: var(--s-24); margin-bottom: var(--s-8); }
.legal-body .t-text + .t-text { margin-top: var(--s-12); }
.oss-table-wrap { overflow-x: auto; }
.oss-table-wrap:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.oss-table {
  width: 100%; border-collapse: collapse;
  font-family: var(--font-sans); font-size: var(--step-small);
}
.oss-table th, .oss-table td {
  text-align: left; vertical-align: top;
  padding: var(--s-12) var(--s-16) var(--s-12) 0;
  border-bottom: 1px solid var(--border);
}
.oss-table thead th {
  letter-spacing: var(--track-wide); text-transform: uppercase;
  color: var(--text-secondary); font-weight: 400;
}
.oss-table tbody th { font-weight: 500; color: var(--text-primary); white-space: nowrap; }
.oss-table td { color: var(--text-secondary); }
.oss-projects { display: grid; gap: var(--s-24); }
.oss-projects li { max-width: 60ch; }
.oss-project-name {
  font-family: var(--font-sans); font-size: var(--step-body); font-weight: 500;
  color: var(--text-primary); margin-bottom: 2px;
}
.oss-line { font-size: var(--step-small); color: var(--text-secondary); overflow-wrap: anywhere; }
.oss-licence { margin-top: var(--s-24); }
.oss-licence-text {
  margin-top: var(--s-16);
  max-width: 78ch;
  display: grid; gap: var(--s-12);
}
.oss-licence-text[hidden] { display: none; }
.footer-legal-link { color: var(--text-on-dark); }
.footer-legal-link:hover { color: var(--text-on-dark); text-decoration: underline; text-underline-offset: 3px; }

.dl-list { display: grid; }
.dl-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--s-16);
  padding: var(--s-16) 0;
  border-bottom: 1px solid var(--border);
}
.dl-name { font-family: var(--font-sans); font-size: var(--step-body); color: var(--text-primary); }
.dl-get {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 44px; padding: 0 var(--s-16);
  border: 1px solid rgba(var(--text-primary-rgb), 0.4);
  font-family: var(--font-sans); font-size: var(--step-small);
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-primary);
  white-space: nowrap;
}
.dl-get:hover { background: var(--text-primary); color: var(--text-on-dark); border-color: var(--text-primary); }
.dl-pending {
  font-family: var(--font-sans); font-size: var(--step-small);
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-secondary);
}
