.tap-folio {
  font-family: var(--tap-typography-mono-family);
  font-size: var(--tap-typography-scale-folio-size);
  letter-spacing: var(--tap-typography-scale-folio-letter-spacing);
  text-transform: uppercase;
  color: var(--tap-color-neutral-warm);
}
.tap-folio--accent { color: var(--tap-color-accent-brick); }
.tap-logo { display: inline-flex; align-items: baseline; gap: 0.3em; font-family: var(--tap-typography-sans-family); font-weight: 700; letter-spacing: -0.01em; }
.tap-logo__a { font-family: var(--tap-typography-serif-family); font-style: italic; font-weight: 400; font-size: 1.1em; color: var(--tap-color-accent-brick); }
.tap-logo__bar { align-self: center; width: var(--tap-layout-border-hairline); height: 0.7em; background: var(--tap-color-accent-brick); opacity: 0.55; }
.tap-logo__tagline { display: block; margin-top: var(--tap-layout-spacing-xs); font-family: var(--tap-typography-mono-family); font-size: var(--tap-typography-scale-folio-size); letter-spacing: var(--tap-typography-scale-folio-letter-spacing); text-transform: uppercase; color: var(--tap-color-neutral-warm); }

.tap-proof {
  display: flex;
  align-items: center;
  gap: var(--tap-layout-spacing-md);
  padding: var(--tap-layout-spacing-sm) var(--tap-layout-grid-desktop-margin);
  background: var(--tap-color-paper-base);
  border-bottom: var(--tap-layout-border-hairline) solid var(--tap-color-neutral-rule);
}
.tap-proof__bar { display: flex; flex: 1; height: var(--tap-layout-spacing-sm); }
.tap-proof__seg { flex: 1; }
.tap-proof__seg--cyan { background: var(--tap-color-proof-cyan); }
.tap-proof__seg--magenta { background: var(--tap-color-proof-magenta); }
.tap-proof__seg--yellow { background: var(--tap-color-proof-yellow); }
.tap-proof__seg--ink { background: var(--tap-color-ink-base); }
.tap-proof__seg--brick { background: var(--tap-color-accent-brick); }

.tap-masthead {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--tap-layout-spacing-lg);
  padding: var(--tap-layout-spacing-md) var(--tap-layout-grid-desktop-margin);
  border-bottom: var(--tap-layout-border-strong) solid var(--tap-color-ink-base);
  background: var(--tap-color-paper-base);
}
.tap-masthead__group { display: flex; gap: var(--tap-layout-spacing-lg); align-items: baseline; }
.tap-masthead__group--end { justify-content: flex-end; }

.tap-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--tap-layout-spacing-lg);
  padding: var(--tap-layout-spacing-md) var(--tap-layout-grid-desktop-margin);
  background: var(--tap-color-ink-panel);
  color: var(--tap-color-paper-base);
}
.tap-nav__brand { display: flex; flex-direction: column; gap: var(--tap-layout-spacing-xs); }
.tap-nav__items { display: flex; flex-wrap: wrap; gap: var(--tap-layout-spacing-lg); }
.tap-nav__num { font-family: var(--tap-typography-mono-family); color: var(--tap-color-accent-brick); }
.tap-nav__label { font-family: var(--tap-typography-sans-family); }
.tap-nav__page { font-family: var(--tap-typography-mono-family); color: var(--tap-color-paper-deep); }
.tap-nav__cta {
  padding: var(--tap-layout-spacing-sm) var(--tap-layout-spacing-md);
  background: var(--tap-color-accent-brick);
  color: var(--tap-color-paper-base);
  font-family: var(--tap-typography-sans-family);
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.04em;
  font-size: var(--tap-typography-scale-folio-size);
}

.tap-mh {
  position: relative;
  display: grid;
  grid-template-columns: 3fr 9fr;
  gap: var(--tap-layout-grid-gutter);
  padding: var(--tap-layout-spacing-section) var(--tap-layout-grid-desktop-margin);
  background: var(--tap-color-paper-base);
  color: var(--tap-color-ink-base);
  font-family: var(--tap-typography-sans-family);
}
.tap-mh__issue {
  font-weight: var(--tap-typography-scale-display-page-weight);
  font-size: var(--tap-typography-scale-display-page-size);
  line-height: var(--tap-typography-scale-display-page-line-height);
  letter-spacing: -0.05em;
  color: var(--tap-color-accent-brick);
}
.tap-mh__folio {
  display: block;
  margin-bottom: var(--tap-layout-spacing-xs);
  font-family: var(--tap-typography-mono-family);
  font-size: var(--tap-typography-scale-folio-size);
  letter-spacing: var(--tap-typography-scale-folio-letter-spacing);
  text-transform: uppercase;
  color: var(--tap-color-accent-brick);
}
.tap-mh__headline {
  margin: 0;
  font-weight: var(--tap-typography-scale-display-hero-weight);
  font-size: var(--tap-typography-scale-display-hero-size);
  line-height: var(--tap-typography-scale-display-hero-line-height);
  letter-spacing: -0.055em;
  color: var(--tap-color-ink-base);
}
.tap-mh__edit { position: relative; display: inline-block; }
.tap-mh__correction {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 92%;
  text-align: center;
  font-family: var(--tap-typography-serif-family);
  font-style: italic;
  font-size: 0.3em;
  line-height: 1;
  white-space: nowrap;
  color: var(--tap-color-accent-brick);
}
.tap-mh__strike {
  text-decoration: line-through;
  text-decoration-color: var(--tap-color-accent-brick);
  opacity: 0.55;
}
.tap-mh__intro {
  max-width: 38em;
  margin: var(--tap-layout-spacing-xl) 0 0;
  font-size: var(--tap-typography-scale-body-large-size);
  line-height: var(--tap-typography-scale-body-large-line-height);
  color: var(--tap-color-ink-base);
}
.tap-mh__cta {
  display: inline-block;
  margin-top: var(--tap-layout-spacing-lg);
  padding: var(--tap-layout-spacing-md) var(--tap-layout-spacing-lg);
  background: var(--tap-color-ink-base);
  color: var(--tap-color-paper-base);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
  font-size: var(--tap-typography-scale-body-size);
}

.tap-paths {
  padding: var(--tap-layout-spacing-section) var(--tap-layout-grid-desktop-margin);
  background: var(--tap-color-ink-panel);
  color: var(--tap-color-paper-base);
}
.tap-paths__title {
  margin: 0;
  font-family: var(--tap-typography-sans-family);
  font-weight: var(--tap-typography-scale-heading-large-weight);
  font-size: var(--tap-typography-scale-heading-large-size);
  line-height: var(--tap-typography-scale-heading-large-line-height);
  letter-spacing: -0.04em;
}
.tap-paths__accent { font-family: var(--tap-typography-serif-family); font-style: italic; font-weight: 400; color: var(--tap-color-paper-base); }
.tap-paths__intro {
  max-width: 32em;
  margin: var(--tap-layout-spacing-md) 0 var(--tap-layout-spacing-xl);
  font-family: var(--tap-typography-serif-family);
  font-style: italic;
  color: var(--tap-color-paper-deep);
  font-size: var(--tap-typography-scale-body-large-size);
  line-height: var(--tap-typography-scale-body-large-line-height);
}
.tap-paths__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--tap-layout-spacing-lg); }
.tap-paths__card { padding-right: var(--tap-layout-spacing-lg); border-right: var(--tap-layout-border-hairline) solid var(--tap-color-neutral-warm); }
.tap-paths__num {
  font-family: var(--tap-typography-sans-family);
  font-weight: var(--tap-typography-scale-display-page-weight);
  font-size: var(--tap-typography-scale-display-page-size);
  line-height: 0.8;
  letter-spacing: -0.05em;
  color: var(--tap-color-accent-brick);
}
.tap-paths__ct { margin-top: var(--tap-layout-spacing-md); font-family: var(--tap-typography-sans-family); font-weight: 700; font-size: var(--tap-typography-scale-heading-medium-size); }
.tap-paths__cs { font-family: var(--tap-typography-serif-family); font-style: italic; color: var(--tap-color-accent-brick); margin-bottom: var(--tap-layout-spacing-md); }
.tap-paths__meta { display: flex; justify-content: space-between; border-top: var(--tap-layout-border-hairline) solid var(--tap-color-neutral-warm); padding-top: var(--tap-layout-spacing-sm); }

.tap-cat {
  padding: var(--tap-layout-spacing-section) var(--tap-layout-grid-desktop-margin);
  background: var(--tap-color-paper-base);
  color: var(--tap-color-ink-base);
}
.tap-cat__title {
  margin: 0;
  font-family: var(--tap-typography-sans-family);
  font-weight: var(--tap-typography-scale-heading-large-weight);
  font-size: var(--tap-typography-scale-heading-large-size);
  letter-spacing: -0.035em;
}
.tap-cat__accent { font-family: var(--tap-typography-serif-family); font-style: italic; font-weight: 400; color: var(--tap-color-ink-base); }
.tap-cat__intro { margin: var(--tap-layout-spacing-md) 0 var(--tap-layout-spacing-lg); color: var(--tap-color-neutral-warm); font-family: var(--tap-typography-sans-family); }
.tap-cat__rows { border-top: var(--tap-layout-border-strong) solid var(--tap-color-ink-base); }
.tap-cat__row {
  display: grid;
  grid-template-columns: 3em 1fr 8em 5em;
  gap: var(--tap-layout-spacing-md);
  align-items: baseline;
  padding: var(--tap-layout-spacing-sm) 0;
  border-bottom: var(--tap-layout-border-hairline) solid var(--tap-color-neutral-rule);
}
.tap-cat__num { font-family: var(--tap-typography-mono-family); color: var(--tap-color-neutral-warm); }
.tap-cat__ti { font-family: var(--tap-typography-sans-family); font-weight: 600; }
.tap-cat__new { margin-left: var(--tap-layout-spacing-sm); font-family: var(--tap-typography-mono-family); font-size: var(--tap-typography-scale-folio-size); color: var(--tap-color-accent-brick); border: var(--tap-layout-border-hairline) solid var(--tap-color-accent-brick); padding: 0 var(--tap-layout-spacing-xs); }
.tap-cat__au { font-family: var(--tap-typography-serif-family); font-style: italic; color: var(--tap-color-neutral-warm); }
.tap-cat__pr { font-family: var(--tap-typography-sans-family); font-weight: 500; text-align: right; }

.tap-start {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--tap-layout-spacing-xl);
  padding: var(--tap-layout-spacing-section) var(--tap-layout-grid-desktop-margin);
  background: var(--tap-color-paper-base);
  color: var(--tap-color-ink-base);
  border-top: var(--tap-layout-border-strong) solid var(--tap-color-accent-brick);
}
.tap-start__head {
  margin: 0;
  font-family: var(--tap-typography-sans-family);
  font-weight: var(--tap-typography-scale-heading-large-weight);
  font-size: var(--tap-typography-scale-heading-large-size);
  line-height: 1;
  letter-spacing: -0.025em;
}
.tap-start__accent { font-family: var(--tap-typography-serif-family); font-style: italic; font-weight: 400; color: var(--tap-color-ink-base); }
.tap-start__cta {
  white-space: nowrap;
  padding: var(--tap-layout-spacing-md) var(--tap-layout-spacing-lg);
  background: var(--tap-color-ink-base);
  color: var(--tap-color-paper-base);
  font-family: var(--tap-typography-sans-family);
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.04em;
  font-size: var(--tap-typography-scale-body-size);
}
