@font-face {
  font-family: Geist;
  src: url("/fonts/geist-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Geist Mono";
  src: url("/fonts/geist-mono-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  color-scheme: dark;
  --paper: #0a1117;
  --sheet: #131d26;
  --ink: #f3f6fa;
  --muted: #aebbc7;
  --forest: #c5d0d9;
  --green: #52db71;
  --blue: #62bdff;
  --rule: #34434f;
  --subtle-rule: #28353f;
  --hover: #21303b;
  --lime: #79e18c;
  --focus: #53aaff;
  --radius: 14px;
  --mono: "Geist Mono", "Cascadia Mono", Consolas, monospace;
  --sans: Geist, "Aptos", "Segoe UI", system-ui, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
body {
  min-width: 0;
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  background-color: var(--paper);
  background-image:
    radial-gradient(ellipse 15rem 11rem at 6% 9.5rem, rgb(22 127 67 / .54), transparent 76%),
    radial-gradient(ellipse 24rem 16rem at 91% 76vh, rgb(12 66 120 / .35), transparent 79%),
    radial-gradient(ellipse 25rem 13rem at 71% 100vh, rgb(9 66 110 / .31), transparent 82%);
  background-attachment: fixed;
  font: 16px/1.55 var(--sans);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .64; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
main:focus, [tabindex="-1"]:focus { outline: none; }
h1, h2, h3, p { margin: 0; }
img { display: block; max-width: 100%; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  z-index: 3;
  top: .5rem;
  left: .5rem;
  transform: translateY(-160%);
  padding: .625rem 1rem;
  background: var(--green);
  color: var(--sheet);
}
.skip-link:focus { transform: none; }
.shell { width: min(100% - 5rem, 74rem); margin-inline: auto; }
.site-header {
  position: sticky;
  z-index: 2;
  top: 0;
  border: 1px solid var(--rule);
  border-radius: 1.25rem;
  background: rgb(17 26 33 / .95);
  backdrop-filter: blur(14px);
}
.header-row {
  width: min(100%, 100rem);
  min-height: 4.875rem;
  margin-inline: auto;
  padding-inline: clamp(1rem, 3vw, 3rem);
  display: flex;
  align-items: center;
  gap: clamp(1rem, 1.75vw, 1.75rem);
}
.brand {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: .625rem;
  font-size: 1.125rem;
  font-weight: 650;
  letter-spacing: -.03em;
  white-space: nowrap;
}
.brand img { flex: none; border-radius: .625rem; }
.header-brand {
  padding-right: clamp(1rem, 1.8vw, 1.75rem);
  border-right: 1px solid #3e4a54;
}
.header-search {
  position: relative;
  flex: 1 1 26rem;
  min-width: 9rem;
  max-width: 26rem;
}
.header-search svg {
  position: absolute;
  top: 50%;
  left: .875rem;
  transform: translateY(-50%);
  color: var(--ink);
  pointer-events: none;
}
.header-search input[type="search"] {
  min-height: 3rem;
  padding: .5rem 2.75rem .5rem 2.75rem;
  border-color: #3f4d59;
  background: #1a252e;
  font-size: 1rem;
}
.header-search input:hover { border-color: #596a78; }
.header-search input::placeholder { color: #c2cbd3; }
.header-search kbd {
  position: absolute;
  top: 50%;
  right: .625rem;
  min-width: 1.75rem;
  padding: .2rem .375rem;
  transform: translateY(-50%);
  border-radius: .375rem;
  background: #303b45;
  text-align: center;
  font: 500 .875rem/1.25 var(--mono);
  pointer-events: none;
}
.site-nav {
  display: flex;
  flex: none;
  align-items: center;
  gap: .625rem;
  margin-right: auto;
  padding-left: clamp(.75rem, 1.8vw, 2rem);
  border-left: 1px solid #3e4a54;
  font-size: clamp(.9rem, 1.3vw, 1.225rem);
  font-weight: 550;
  white-space: nowrap;
}
.site-nav a, .mobile-menu > a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  border-radius: .625rem;
  color: var(--muted);
}
.site-nav a { padding: .375rem clamp(.625rem, 1.25vw, 1.25rem); }
.site-nav a:hover, .site-nav a[aria-current], .mobile-menu > a[aria-current] {
  color: var(--ink);
  background: #2b3741;
}
.site-nav a[aria-current], .mobile-menu > a[aria-current] { font-weight: 650; }
.header-end { display: flex; flex: none; align-items: center; white-space: nowrap; }
.header-end .button { min-height: 3rem; padding-inline: 1.25rem; font-size: 1rem; }
.site-header .menu-toggle, .mobile-menu { display: none; }
.environment, .status {
  display: inline-flex;
  gap: .4375rem;
  align-items: center;
  font-size: .75rem;
  line-height: 1.35;
  font-weight: 650;
  white-space: nowrap;
}
.environment { color: var(--forest); }
.environment i, .status i { width: .5rem; height: .5rem; border-radius: 50%; background: #568147; flex: none; }
.button {
  display: inline-flex;
  width: fit-content;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: .625rem 1rem;
  border: 1px solid transparent;
  border-radius: .5rem;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.3;
  transition: background-color 140ms ease, border-color 140ms ease;
}
.button-small { min-height: 2.375rem; padding: .4375rem .75rem; font-size: .8125rem; gap: .5rem; }
.button-primary, .button-highlight { border-color: #2b8d43; background: #237a36; color: #fff; }
.button-primary:hover, .button-highlight:hover { background: #268439; }
.button-secondary, .desk-link { background: var(--sheet); border-color: var(--rule); color: var(--ink); }
.button-secondary:hover, .desk-link:hover, .desk-link[aria-current] { background: #20303b; border-color: #516574; }


.hero {
  display: grid;
  grid-template-columns: minmax(0, .89fr) minmax(0, 1.11fr);
  gap: clamp(1.75rem, 5vw, 4.75rem);
  align-items: center;
  padding-block: 3rem 3.25rem;
}
.hero-copy { padding-block: .5rem; }
.eyebrow, .section-number, .overline, .hero-count, .feature-index {
  font: 650 .6875rem/1.4 var(--mono);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.eyebrow, .overline { display: flex; align-items: center; flex-wrap: wrap; gap: .5625rem; color: var(--forest); }
.eyebrow-dot { display: inline-block; width: .5rem; height: .5rem; background: #5ed476; transform: rotate(45deg); margin-inline: .125rem; }
.hero h1 {
  font: normal clamp(3rem, 6.5vw, 6.25rem)/.94 var(--sans);
  letter-spacing: -.06em;
  margin-block: 1.125rem 1.375rem;
}
.hero h1 em { color: #65d983; font-weight: 400; }
.hero-copy > p { max-width: 30rem; color: var(--muted); font-size: clamp(1rem, 1.42vw, 1.125rem); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .875rem 1.125rem; margin-top: 1.5rem; }
.hero-count { color: var(--muted); font-size: .625rem; }
.hero-count span { margin-inline: .1875rem; color: #8899a8; }
.hero-visual {
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  background: var(--sheet);
}
.hero-visual img { width: 100%; height: auto; }
.section { border-top: 1px solid var(--rule); padding-top: 1.5rem; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.section-number { margin-bottom: .5rem; color: var(--forest); }
.section-heading h2, .content-section h2, .desk-panel h2, .receipt h2 {
  font: normal clamp(1.8rem, 3vw, 2.625rem)/1.1 var(--sans);
  letter-spacing: -.052em;
}
.section-heading > p { color: var(--muted); font-size: .875rem; margin-bottom: .25rem; }
.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.feature-card {
  overflow: hidden;
  min-width: 0;
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  background: var(--sheet);
  display: flex;
  flex-direction: column;
  transition: border-color 140ms ease, transform 140ms ease;
}
.feature-card:hover { border-color: #567083; transform: translateY(-3px); }
.feature-art { position: relative; }
.artwork {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  color: var(--art-ink, #9bdbb2);
  background: var(--art-bg, #223b32);
  border-radius: .625rem;
}
.artwork svg { width: 62%; height: 62%; }
.tone-sage, .tone-mint { --art-ink: #9bdbb2; --art-bg: #223b32; }
.tone-orange, .tone-peach { --art-ink: #f2c19e; --art-bg: #443126; }
.tone-lilac { --art-ink: #d6bdff; --art-bg: #332a49; }
.tone-blue { --art-ink: #a9d6f2; --art-bg: #253a4a; }
.tone-rose, .tone-pink { --art-ink: #efb0be; --art-bg: #45303c; }
.tone-yellow, .tone-cream { --art-ink: #edd097; --art-bg: #423823; }
.artwork-large { width: 8rem; height: 8rem; }
.feature-art .artwork-large {
  width: 100%;
  height: 8.375rem;
  border-radius: 0;
  border-bottom: 1px solid var(--rule);
  background-image: repeating-linear-gradient(90deg, transparent 0 27px, rgb(230 238 249 / .075) 27px 28px), repeating-linear-gradient(0deg, transparent 0 27px, rgb(230 238 249 / .075) 27px 28px);
  background-position: center;
}
.feature-art .artwork-large svg {
  width: 4rem;
  height: 4rem;
  border: 1px solid currentColor;
  background: var(--art-bg);
  border-radius: .875rem;
  padding: .375rem;
  box-shadow: 3px 3px 0 currentColor;
  transform: rotate(-7deg);
  transition: transform 170ms ease;
}
.feature-card:nth-child(2) .artwork-large svg { transform: rotate(7deg); }
.feature-card:hover .artwork-large svg { transform: rotate(0); }
.feature-index { position: absolute; z-index: 1; left: .875rem; top: .75rem; color: var(--green); }
.arrow { flex: none; font: 600 1em/1 var(--sans); }
.feature-art > .arrow {
  position: absolute;
  display: grid;
  place-items: center;
  top: .75rem;
  right: .75rem;
  width: 1.875rem;
  height: 1.875rem;
  border: 1px solid rgb(204 217 235 / .25);
  border-radius: 50%;
  background: rgb(13 23 32 / .74);
}
.feature-info { display: flex; flex: 1; flex-direction: column; align-items: start; padding: 1.125rem 1.125rem .9375rem; }
.feature-info h3 { font: normal 1.75rem/1.1 var(--sans); letter-spacing: -.04em; margin-top: .375rem; }
.feature-info p { color: var(--muted); font-size: .875rem; margin-block: .375rem 1rem; }
.divider { width: .1875rem; height: .1875rem; border-radius: 50%; background: #7e8a75; }
.byline { margin-top: auto; color: var(--forest); font-size: .75rem; font-weight: 650; }

.browse { margin-block: 3rem 4.5rem; scroll-margin-top: 6rem; }
.filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(8rem, .26fr) minmax(10rem, .32fr); gap: .75rem; }
.search-field { position: relative; }
.search-field svg { position: absolute; top: .875rem; left: .875rem; color: var(--forest); pointer-events: none; }
input, select, textarea {
  width: 100%;
  min-width: 0;
  min-height: 2.875rem;
  padding: .625rem .75rem;
  border: 1px solid var(--rule);
  border-radius: .5rem;
  background: var(--sheet);
  font-size: .9375rem;
}
input[type="search"] { padding-left: 2.625rem; }
input::placeholder { color: #a0b0be; }
select {
  appearance: none;
  padding-right: 2rem;
  text-overflow: ellipsis;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23aebbc7' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .625rem center;
}
textarea { resize: vertical; }
.results-bar { display: flex; justify-content: space-between; align-items: center; min-height: 2.75rem; color: var(--muted); font-size: .8125rem; }
.text-button { padding: .25rem 0; border: 0; background: transparent; color: var(--blue); font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.listing-list { list-style: none; padding: 0; margin: 0; border-block: 1px solid var(--rule); }
.listing-list > li + li { border-top: 1px solid var(--rule); }
.listing-row {
  display: grid;
  grid-template-columns: auto minmax(8rem, 1fr) minmax(0, 2fr) minmax(7rem, .7fr) 7rem auto;
  gap: 1rem;
  align-items: center;
  min-height: 4.875rem;
  padding: .75rem .625rem;
  transition: background-color 140ms ease;
}
.listing-row:hover { background: #1d2a34; }
.listing-row > .arrow { justify-self: end; color: var(--forest); }
.row-title, .row-kind { display: grid; justify-items: start; gap: .125rem; }
.row-title strong { font-size: 1rem; line-height: 1.25; font-weight: 700; }
.row-title span, .row-category { color: var(--muted); font-size: .75rem; }
.row-description { color: var(--muted); font-size: .8125rem; }
.tag {
  display: inline-flex;
  padding: .125rem .5rem;
  border: 1px solid #3a4d58;
  border-radius: .25rem;
  color: var(--forest);
  background: #1a2731;
  font-size: .6875rem;
  font-weight: 650;
  white-space: nowrap;
}
.status { width: fit-content; background: #1b2a35; border: 1px solid #405663; border-radius: 2rem; padding: .3rem .625rem; color: var(--forest); }
.status-pending { background: #3d2c14; border-color: #6f5023; color: #ffda98; }
.status-pending i { background: #d89a42; }
.status-rehearsed { background: #173623; border-color: #325d43; color: #a4edb1; }
.row-status .status { font-size: .6875rem; }
.empty-state, .loading { background: var(--sheet); border: 1px dashed #526777; border-radius: var(--radius); padding: 2rem; }
.empty-state h2 { font: normal 1.625rem/1.15 var(--sans); letter-spacing: -.045em; }
.empty-state p { margin-block: .5rem; color: var(--muted); }
.empty-state .button { margin-top: .75rem; }
.loading { margin-block: 3rem; color: var(--muted); }

.subpage { padding-block: 2.25rem 4.5rem; min-height: min(37rem, 75vh); }
.back-link { display: inline-flex; align-items: center; gap: .5rem; min-height: 2rem; margin-bottom: 1.75rem; color: var(--forest); font-size: .875rem; font-weight: 650; }
.back-link:hover, .text-link:hover { text-decoration-thickness: 2px; }
.back-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.page-title, .detail-hero h1 {
  font: 650 clamp(2.75rem, 6vw, 5.25rem)/1.02 var(--sans);
  letter-spacing: -.07em;
  overflow-wrap: anywhere;
}
.lede { max-width: 40rem; margin-top: 1rem; color: var(--muted); font-size: 1.125rem; }
.detail-hero { display: flex; gap: clamp(1rem, 4vw, 2.5rem); align-items: center; padding-bottom: 2.5rem; }
.detail-copy .overline { margin-bottom: .625rem; }
.detail-copy .text-link { margin-top: .75rem; }
.text-link { display: inline-flex; align-items: center; gap: .375rem; color: var(--blue); text-decoration: underline; text-underline-offset: 3px; font-size: .875rem; font-weight: 650; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .52fr); gap: 2rem; align-items: start; }
.content-section { padding-block: 1.5rem 1.75rem; border-top: 1px solid var(--rule); }
.content-section > p:not(.section-number) { margin-block: .625rem; color: var(--muted); }
.usage { padding-left: 1.375rem; color: var(--muted); }
.usage li { padding-left: .375rem; }
.usage li + li { margin-top: .625rem; }
.usage li::marker { color: var(--green); font: 650 .875rem var(--mono); }
.tags { display: flex; flex-wrap: wrap; gap: .375rem; list-style: none; padding: 0; margin-bottom: 0; }
.panel { padding: 1.5rem; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--sheet); }
.status-panel p:not(.section-number), .desk-aside p:not(.section-number), .receipt > p:not(.section-number) { margin-top: .75rem; color: var(--muted); font-size: .9375rem; }
.status-panel .button { margin-top: 1rem; }
.receipt-reference { display: grid; gap: .25rem; margin-top: .75rem; font-size: .8125rem; color: var(--forest); }
.receipt-reference code { overflow-wrap: anywhere; }
.facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1.125rem; margin-block: 1rem; }
.facts div { min-width: 0; border-top: 1px solid var(--rule); padding-top: .5rem; }
.facts dt { color: var(--muted); font-size: .75rem; }
.facts dd { margin: .125rem 0 0; font-weight: 650; overflow-wrap: anywhere; }
code { font: .8125rem/1.45 var(--mono); }
.source-facts { max-width: 30rem; }
.fixture-panel { max-width: 46rem; margin-top: 2rem; }
.fixture-panel h2 { font: normal 1.75rem/1.1 var(--sans); letter-spacing: -.035em; }
.fixture-panel h3 { margin-bottom: .375rem; font-size: .9375rem; }
.fixture-url { grid-column: 1 / -1; }
.fixture-aliases { margin: 0; padding-left: 1.25rem; overflow-wrap: anywhere; }
.publisher-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.publisher-card { display: flex; flex-direction: column; align-items: start; transition: border-color 140ms ease; }
.publisher-card:hover { border-color: #567083; }
.monogram { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: .625rem; background: #213946; color: var(--green); font: 700 .875rem var(--mono); }
.monogram-large { width: 7.5rem; height: 7.5rem; font-size: 1.875rem; flex: none; background-image: repeating-linear-gradient(135deg, transparent 0 10px, rgb(230 238 249 / .065) 10px 11px); }
.publisher-card h2 { margin-block: .875rem .375rem; font: normal 1.5rem/1.1 var(--sans); letter-spacing: -.04em; }
.publisher-card p { margin-bottom: 1rem; color: var(--muted); font-size: .875rem; }
.publisher-card-end { width: 100%; display: flex; justify-content: space-between; margin-top: auto; color: var(--forest); font-size: .8125rem; }
.handle { display: inline-block; margin-top: .625rem; color: var(--forest); font: .8125rem var(--mono); }
.publisher-hero { padding-bottom: 2rem; }

.desk-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, .48fr); align-items: start; gap: 1.25rem; margin-top: 2rem; }
.desk-panel + .desk-panel, #review-stage:not(:empty), #receipt-stage:not(:empty) { margin-top: 1rem; }
.desk-panel form { margin-top: 1rem; }
.form-field { margin-bottom: 1rem; }
.form-field label { display: block; margin-bottom: .25rem; font-size: .875rem; font-weight: 700; }
.form-field p, .form-feedback p { margin-top: .375rem; color: var(--muted); font-size: .8125rem; }
.form-feedback .form-error { margin-top: .75rem; padding: .75rem; border-radius: .375rem; background: #3f231f; color: #ffb9aa; }
.form-progress { padding-block: .375rem; }
.desk-aside { background: #1a2731; }
.desk-aside h2 { margin-top: .75rem; font: normal 1.5rem/1.15 var(--sans); letter-spacing: -.03em; }
.desk-aside details { margin-top: .875rem; border-top: 1px solid var(--rule); padding-top: .75rem; font-size: .875rem; }
.desk-aside summary { color: var(--green); font-weight: 700; cursor: pointer; }
.source-links { padding-left: 1rem; margin-bottom: 0; }
.source-links a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.review-status { display: flex; flex-wrap: wrap; align-items: center; gap: .625rem; margin-top: .75rem; color: var(--muted); font-size: .8125rem; }
.wallet-card { padding: 1rem; border: 1px solid #66572b; border-radius: .625rem; background: #2c2817; }
.wallet-card strong, .wallet-card code { display: block; }
.wallet-card code { margin-block: .375rem .625rem; color: var(--forest); overflow-wrap: anywhere; }
.wallet-card > div { display: flex; flex-wrap: wrap; gap: .375rem 1rem; color: var(--green); font-size: .8125rem; font-weight: 700; }
.policy-note { margin-block: .875rem; color: var(--muted); font-size: .875rem; }
.policy-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.review-listing-link { margin: .75rem 0 0 .5rem; }
.receipt { background: #1b2d25; }
.receipt .facts { margin-bottom: 0; }

.site-footer { border-top: 1px solid var(--rule); }
.footer-row { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; align-items: center; justify-content: space-between; padding-block: 1.125rem; }
.footer-brand { font-size: .875rem; }
.footer-nav { display: flex; flex-wrap: wrap; gap: .5rem 1rem; color: var(--muted); font-size: .875rem; }
.footer-nav a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 65rem) {
  .shell { width: min(100% - 3rem, 74rem); }
  .hero { gap: 2rem; }
  .listing-row { grid-template-columns: auto minmax(7rem, 1fr) minmax(0, 1.6fr) minmax(6rem, .65fr) auto; }
  .row-status { display: none; }
}
@media (max-width: 48rem) {
  .hero { grid-template-columns: 1fr; padding-block: 2rem; gap: 1.5rem; }
  .hero h1 { font-size: clamp(3.5rem, 11vw, 5.5rem); }
  .hero-visual img { max-height: 19rem; object-fit: cover; }
  .feature-grid { gap: .625rem; }
  .feature-info { padding-inline: .75rem; }
  .feature-info h3 { font-size: 1.375rem; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .row-description { display: none; }
  .listing-row { grid-template-columns: auto minmax(0, 1fr) auto auto; gap: .625rem; }
  .detail-grid, .desk-layout { grid-template-columns: 1fr; }


  .publisher-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 34rem) {
  .shell { width: calc(100% - 2rem); }
  .brand { gap: .5rem; }
  .brand img { width: 2rem; height: 2rem; }
  .button-small { font-size: .75rem; padding-inline: .5rem; gap: .375rem; }
  .feature-grid { grid-template-columns: 1fr; gap: .75rem; }
  .feature-card { display: grid; grid-template-columns: minmax(5.5rem, .65fr) minmax(0, 1.45fr); }
  .feature-info { padding-block: .75rem; }
  .feature-art .artwork-large { height: 100%; min-height: 8rem; border-bottom: 0; border-right: 1px solid var(--rule); }
  .feature-index { left: .5rem; top: .5rem; font-size: .5625rem; }
  .feature-art .artwork-large svg { width: 2.75rem; height: 2.75rem; border-radius: .5rem; padding: .1875rem; }
  .feature-art > .arrow { display: none; }
  .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .search-field { grid-column: 1 / -1; }
  .listing-row { padding-inline: .125rem; }
  .listing-row .artwork { width: 2.375rem; height: 2.375rem; }
  .row-title strong { font-size: .875rem; }
  .row-category { display: none; }
  .subpage { padding-block: 1.5rem 3rem; }
  .detail-hero { align-items: start; flex-direction: column; gap: .75rem; padding-bottom: 1.5rem; }
  .detail-hero .artwork-large, .monogram-large { width: 4.5rem; height: 4.5rem; }
  .publisher-grid { grid-template-columns: 1fr; }
  .panel { padding: 1rem; }
  .policy-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-count { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
}

@media (max-width: 62rem) {
  .header-row { min-height: 3.875rem; justify-content: space-between; gap: .75rem; }
  .header-brand { padding-right: 0; border: 0; }
  .header-brand img { width: 2.125rem; height: 2.125rem; }
  .site-nav, .header-end, .header-search kbd { display: none; }
  .header-search { min-width: 0; max-width: none; }
  .header-search input[type="search"] { min-height: 2.5rem; padding: .375rem .625rem .375rem 2.25rem; font-size: .875rem; }
  .header-search svg { left: .625rem; width: 1.0625rem; height: 1.0625rem; }
  .site-header .menu-toggle, .menu-close { display: inline-grid; place-items: center; width: 2.75rem; padding: 0; background: transparent; }
  .mobile-menu:popover-open {
    position: fixed;
    inset: 0 0 0 auto;
    width: min(85vw, 22rem);
    max-width: none;
    height: 100dvh;
    max-height: none;
    margin: 0;
    padding: 0 1rem 1rem;
    border: 0;
    border-left: 1px solid var(--rule);
    background: var(--sheet);
    box-shadow: -8px 0 28px rgb(0 0 0 / .35);
    display: flex;
    flex-direction: column;
    gap: .375rem;
    overflow: auto;
  }
  .mobile-menu::backdrop { background: rgb(0 0 0 / .55); }
  html:has(.mobile-menu:popover-open) { overflow: hidden; }
  .mobile-menu-header { display: flex; justify-content: space-between; gap: .5rem; min-height: 4rem; align-items: center; margin-bottom: .5rem; border-bottom: 1px solid var(--rule); }
  .mobile-menu > a:not(.button) { padding-inline: .625rem; }
  .mobile-menu > a:not(.button):hover { background: var(--hover); color: var(--ink); }
  .mobile-menu > .button { width: 100%; margin-top: .25rem; }
  .mobile-menu > .button-primary { color: #fff; }
}
@media (max-width: 24rem) {
  .filters { grid-template-columns: 1fr; }
  .desk-panel .form-field select { font-size: .875rem; }
}

.hug-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 6rem);
  min-height: 38.5rem;
  padding-block: 3.4375rem 4rem;
  background: var(--sheet);
  box-shadow: 0 0 0 100vmax var(--sheet);
  clip-path: inset(0 -100vmax);
}
.hug-hero-copy { align-self: start; min-width: 0; }
.hug-kicker {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  width: fit-content;
  max-width: 100%;
  padding: .25rem .625rem .25rem .25rem;
  border: 1px solid var(--rule);
  border-radius: 2rem;
  color: var(--forest);
  background: var(--sheet);
  font-size: .75rem;
  font-weight: 500;
}
.hug-kicker > span {
  padding: .125rem .5rem;
  border-radius: 1rem;
  background: var(--lime);
  color: var(--ink);
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.hug-hero h1 {
  max-width: 12ch;
  margin-top: 1.375rem;
  font: 650 clamp(3.4rem, 5.4vw, 4.25rem)/1.06 var(--sans);
  letter-spacing: -.065em;
}
.hug-desktop-break { display: none; }
@media (min-width: 70rem) {
  .hug-desktop-break { display: initial; }
  .hug-hero h1 { max-width: none; }
}
.hug-hero h1 mark {
  color: inherit;
  background: linear-gradient(transparent 81%, var(--lime) 81%, var(--lime) 93%, transparent 93%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.hug-hero-copy > p {
  max-width: 32rem;
  margin-top: 1.125rem;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.65;
}
.hug-hero-copy > .hug-source-detail { font-size: .8125rem; }
.hug-actions { display: flex; flex-wrap: wrap; gap: .625rem; margin-top: 1.625rem; }
.hug-actions .button { min-height: 2.875rem; padding-inline: 1.125rem; }
.hug-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: .375rem 1rem;
  padding: 0;
  margin: .75rem 0 0;
  color: var(--muted);
  font-size: .75rem;
  list-style: none;
}
.hug-benefits li { display: inline-flex; align-items: center; gap: .375rem; }
.hug-benefits li::before {
  content: "";
  flex: none;
  width: .375rem;
  height: .375rem;
  border-radius: 50%;
  background: #54d879;
}
.hug-hero-art { display: grid; place-items: center; align-self: stretch; min-width: 0; }
.hug-hero-art img { filter: grayscale(.7); width: 100%; max-width: 24rem; height: auto; aspect-ratio: 628 / 408; }
.hug-section { padding-block: 2.25rem; scroll-margin-top: 5rem; }
.hug-section-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem 1rem;
  margin-bottom: .875rem;
}
.hug-section-heading h2 {
  font: 650 1.375rem/1.2 var(--sans);
  letter-spacing: -.035em;
}
.hug-section-heading .section-number { margin-bottom: .35rem; }
.hug-section-note { margin-top: .25rem; color: var(--muted); font-size: .875rem; }
.hug-section-heading .text-link { align-self: end; font-size: .8125rem; text-decoration: none; }
.hug-section-heading .text-link:hover { text-decoration: underline; }
.hug-feature-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.hug-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: .75rem;
  padding: .875rem 1rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  background: var(--sheet);
  box-shadow: 0 1px 2px rgb(30 30 27 / .04);
  transition: border-color 140ms ease, box-shadow 140ms ease;
}
.hug-card:hover { border-color: #4c6272; box-shadow: 0 3px 10px rgb(30 30 27 / .07); }
.hug-card-top, .hug-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}
.hug-card-icon {
  display: grid;
  place-items: center;
  width: 2.375rem;
  height: 2.375rem;
  border-radius: .625rem;
  background: #32274b;
  color: #d6bdff;
  font: 650 .8125rem var(--mono);
}
.hug-card:nth-child(3n + 2) .hug-card-icon { background: #203d32; color: #a8ebbf; }
.hug-card:nth-child(3n + 3) .hug-card-icon { background: #463423; color: #f9d29a; }
.hug-card h3 { color: var(--ink); font-size: .9375rem; font-weight: 650; line-height: 1.35; }
.hug-card p { margin-top: .25rem; color: var(--muted); font-size: .8125rem; line-height: 1.45; }
.hug-card :is(p, h3, span) { overflow-wrap: anywhere; }
.hug-card-meta {
  margin-top: auto;
  padding-top: .625rem;
  border-top: 1px solid var(--rule);
  color: var(--muted);
  font-size: .75rem;
}
.hug-feature-grid > :first-child { grid-row: span 2; overflow: hidden; }
.hug-feature-grid > :first-child .hug-card-top {
  min-height: 7rem;
  margin: -.875rem -1rem 0;
  padding: .875rem 1rem;
  background: #211b34 radial-gradient(#3b2d59 1px, transparent 1px) center / 13px 13px;
}
.hug-feature-grid > :first-child .hug-card-icon {
  width: 3.625rem;
  height: 3.625rem;
  border: 1px solid #4e3d74;
  background: #33274d;
  font-size: 1.125rem;
}
.hug-feature-grid > :first-child h3 { font-size: 1.25rem; }
.hug-discover, .hug-launches { border-top: 1px solid var(--rule); }
.hug-chips, .hug-tabs {
  display: flex;
  gap: .5rem;
  align-items: center;
  max-width: 100%;
  margin: 0 0 .875rem;
  padding: .25rem;
  overflow-x: auto;
}
.hug-chips button, .hug-tabs button {
  flex: none;
  min-height: 2.25rem;
  padding: .375rem .75rem;
  border: 1px solid var(--rule);
  border-radius: .5rem;
  background: var(--sheet);
  color: var(--muted);
  font-size: .8125rem;
  font-weight: 550;
  white-space: nowrap;
}
.hug-chips button:hover, .hug-tabs button:hover { border-color: #586b7c; color: var(--ink); }
.hug-chips button[aria-pressed="true"], .hug-tabs button[aria-pressed="true"] {
  border-color: #526573;
  background: #2e3d48;
  color: var(--ink);
}
.hug-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .625rem;
  margin-block: .75rem 1rem;
}
.hug-toolbar .search-field { flex: 1 1 14rem; max-width: 26rem; margin-right: auto; }
.hug-toolbar input[type="search"] { min-height: 2.5rem; border-color: var(--rule); background-color: #18242d; }
.hug-toolbar select { width: auto; min-height: 2.5rem; font-size: .8125rem; }
.hug-toolbar .search-field svg { top: .6875rem; }
.hug-view-switch {
  display: inline-flex;
  gap: .125rem;
  padding: .125rem;
  border: 1px solid var(--rule);
  border-radius: .5rem;
  background: var(--sheet);
}
.hug-view-switch button {
  display: grid;
  place-items: center;
  width: 2.125rem;
  height: 2.125rem;
  padding: 0;
  border: 0;
  border-radius: .375rem;
  background: transparent;
  color: var(--muted);
}
.hug-view-switch button:hover, .hug-view-switch button[aria-pressed="true"] { background: #2e3e49; color: var(--ink); }
.hug-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.hug-card-grid.is-list { grid-template-columns: 1fr; }
.hug-card-grid.is-list .hug-card { display: grid; grid-template-columns: minmax(7rem, auto) minmax(0, 1fr) minmax(8rem, auto); align-items: center; }
.hug-card-grid.is-list .hug-card-meta { margin-top: 0; padding-top: 0; border: 0; flex-direction: column; align-items: flex-start; }
.hug-card-grid > .empty-state { grid-column: 1 / -1; }
.hug-table { overflow: auto; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--sheet); }
.hug-table table { width: 100%; min-width: 22rem; border-collapse: collapse; text-align: left; font-size: .875rem; }
.hug-table th, .hug-table td { padding: .875rem; }
.hug-table th { border-bottom: 1px solid var(--rule); color: var(--muted); font-size: .75rem; font-weight: 600; }
.hug-table td[colspan] { padding-block: 1.75rem; color: var(--muted); text-align: center; }

@media (max-width: 60rem) {
  .hug-hero { gap: 1.25rem; min-height: 34rem; }
  .hug-hero h1 { font-size: clamp(2.75rem, 6vw, 3.75rem); }
  .hug-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 46rem) {
  .hug-hero { display: block; min-height: 37.625rem; padding-block: 2.375rem 3rem; }
  .hug-hero h1 { margin-top: 1rem; font-size: clamp(2.625rem, 8vw, 3.75rem); }
  .hug-hero-art { display: none; }
  .hug-actions .button { flex: 1 1 13rem; }
  .hug-feature-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .hug-feature-grid > :first-child { grid-row: auto; }
}
@media (max-width: 36rem) {
  .hug-card-grid { grid-template-columns: 1fr; }
  .hug-card-grid.is-list .hug-card { grid-template-columns: minmax(0, 1fr); }
  .hug-card-grid.is-list .hug-card-meta { flex-direction: row; padding-top: .625rem; border-top: 1px solid var(--rule); }
  .hug-actions { flex-direction: column; }
  .hug-actions .button { flex: none; width: fit-content; }
  .hug-section { padding-block: 1.75rem; }
  .hug-toolbar .search-field { flex-basis: 100%; max-width: none; }
}
