/*
 * BANSHO MOKUROKU — Editorial direction, 2026.08
 * Typography, spacing and rules carry the identity. No decorative imagery.
 */

:root {
  --e-paper: #f6f4ee;
  --e-paper-deep: #ece9e1;
  --e-ink: #11110f;
  --e-muted: #6f6d66;
  --e-line: rgba(17, 17, 15, .2);
  --e-line-strong: #11110f;
  --e-pink: #ef2c83;
  --e-serif: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  --e-sans: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", system-ui, sans-serif;
  --e-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
}

body.page-now,
body.page-catalogue {
  color: var(--e-ink);
  background: var(--e-paper);
  background-image: none;
  font-family: var(--e-sans);
  font-weight: 500;
}

body.page-now::before,
body.page-catalogue::before { display: none; }

body.page-now ::selection,
body.page-catalogue ::selection { color: #fff; background: var(--e-pink); }

body.page-now :focus-visible,
body.page-catalogue :focus-visible { outline: 2px solid var(--e-pink); outline-offset: 4px; }

body.page-now .shell,
body.page-catalogue .shell {
  width: min(100%, 1600px);
  border-color: var(--e-line);
}

body.page-now .topbar,
body.page-catalogue .topbar {
  min-height: 78px;
  color: var(--e-ink);
  background: rgba(246, 244, 238, .96);
  border-bottom: 1px solid var(--e-line-strong);
  backdrop-filter: blur(14px);
}

body.page-now .brand,
body.page-catalogue .brand { border-color: var(--e-line); }

body.page-now .brand-mark,
body.page-catalogue .brand-mark {
  width: 26px;
  height: 36px;
  color: var(--e-ink);
  background: transparent;
  border: 1px solid var(--e-ink);
  box-shadow: none;
  transform: none;
  font-family: var(--e-serif);
  font-weight: 700;
}

body.page-now .brand-copy,
body.page-catalogue .brand-copy {
  font-family: var(--e-serif);
  font-weight: 700;
  letter-spacing: .09em;
}

body.page-now .brand-copy small,
body.page-catalogue .brand-copy small { color: var(--e-muted); }

body.page-now .back-link,
body.page-catalogue .desktop-nav a { color: var(--e-ink); }

body.page-now .back-link,
body.page-catalogue .utility button { border-color: var(--e-line); }

body.page-now .back-link:hover,
body.page-catalogue .utility button:hover,
body.page-catalogue .utility button:focus-visible {
  color: #fff;
  background: var(--e-ink);
}

body.page-catalogue .utility .random-top {
  color: var(--e-ink);
  background: transparent;
  box-shadow: inset 0 -2px var(--e-pink);
}

body.page-catalogue .ticker { display: none; }

/* Current edition */
body.page-now .progress { background: var(--e-pink); }

body.page-now .hero {
  grid-template-columns: minmax(0, 1.62fr) minmax(250px, .38fr);
  min-height: min(840px, calc(100svh - 78px));
  border-color: var(--e-line-strong);
}

body.page-now .hero-main {
  padding: clamp(70px, 10vw, 150px) clamp(24px, 6vw, 96px) clamp(48px, 6vw, 90px);
  border-color: var(--e-line-strong);
}

body.page-now .hero-main::after { display: none; }
body.page-now .eyebrow { color: var(--e-pink); }

body.page-now h1 {
  max-width: 1000px;
  margin-top: clamp(76px, 13vw, 180px);
  color: var(--e-ink);
  font-family: var(--e-serif);
  font-size: clamp(72px, 11.4vw, 174px);
  font-weight: 700;
  line-height: .97;
  letter-spacing: -.05em;
}

body.page-now h1 span { display: block; }
body.page-now h1 em { color: var(--e-ink); text-decoration: underline; text-decoration-color: var(--e-pink); text-decoration-thickness: .055em; text-underline-offset: .12em; }

body.page-now .hero-lead {
  max-width: 670px;
  margin-top: clamp(90px, 10vw, 150px);
  color: var(--e-muted);
  font-size: 15px;
  font-weight: 500;
  line-height: 2;
}

body.page-now .hero-side { color: var(--e-ink); background: var(--e-paper); }
body.page-now .hero-side > * { border-color: var(--e-line); }
body.page-now .issue { color: var(--e-muted); }
body.page-now .hero-index strong {
  color: var(--e-ink);
  font-family: var(--e-serif);
  font-weight: 400;
}
body.page-now .hero-index span,
body.page-now .hero-rule small { color: var(--e-pink); }
body.page-now .hero-rule p { color: var(--e-muted); font-weight: 500; line-height: 1.8; }

body.page-now .intro {
  grid-template-columns: .78fr 1fr 1.32fr;
  background: var(--e-paper);
  border-color: var(--e-line-strong);
}

body.page-now .intro article {
  min-height: 270px;
  padding: clamp(35px, 5vw, 72px) clamp(22px, 4vw, 60px);
  color: var(--e-ink);
  border-color: var(--e-line);
}

body.page-now .intro .mono { color: var(--e-pink); }
body.page-now .intro h2 { font-size: clamp(25px, 3.4vw, 48px); font-weight: 700; letter-spacing: -.02em; }
body.page-now .intro p { color: var(--e-muted); font-weight: 500; line-height: 1.9; }

body.page-now .filterbar {
  position: sticky;
  top: 78px;
  z-index: 8;
  gap: 0;
  padding: 0 clamp(18px, 4vw, 58px);
  color: var(--e-ink);
  background: rgba(246, 244, 238, .96);
  border-color: var(--e-line-strong);
  backdrop-filter: blur(12px);
}

body.page-now .filterbar > .mono { margin-right: auto; color: var(--e-muted); }
body.page-now .filter {
  min-height: 62px;
  padding: 0 18px;
  color: var(--e-muted);
  background: transparent;
  border: 0;
  border-left: 1px solid var(--e-line);
  border-radius: 0;
}
body.page-now .filter:hover,
body.page-now .filter[aria-pressed="true"] { color: var(--e-ink); background: transparent; box-shadow: inset 0 -3px var(--e-pink); }

body.page-now .catalogue-head {
  grid-template-columns: .28fr .72fr;
  color: var(--e-ink);
  border-color: var(--e-line-strong);
}
body.page-now .catalogue-head div { padding: clamp(54px, 8vw, 110px) clamp(24px, 6vw, 90px); }
body.page-now .catalogue-head div:first-child { color: var(--e-pink); border-color: var(--e-line); }
body.page-now .catalogue-head h2 { font-family: var(--e-serif); font-size: clamp(42px, 6vw, 88px); letter-spacing: -.03em; }
body.page-now .catalogue-head p { color: var(--e-muted); }

body.page-now .record {
  grid-template-columns: clamp(118px, 17vw, 260px) 1fr;
  color: var(--e-ink);
  background: var(--e-paper);
  border-color: var(--e-line-strong);
}

body.page-now .record-index {
  min-height: 680px;
  padding: clamp(32px, 5vw, 72px) clamp(18px, 3vw, 45px);
  color: var(--e-ink);
  background: var(--e-paper-deep);
  border-color: var(--e-line);
}
body.page-now .record-index strong { color: var(--e-pink); font-family: var(--e-serif); font-size: clamp(60px, 8vw, 120px); font-weight: 400; }
body.page-now .record-index .status { color: var(--e-ink); background: transparent; border: 1px solid var(--e-line-strong); }
body.page-now .record-index .vertical { color: var(--e-muted); }

body.page-now .record-main { padding: clamp(62px, 9vw, 130px) clamp(24px, 7vw, 110px) clamp(60px, 8vw, 110px); }
body.page-now .record-top { color: var(--e-muted); border-color: var(--e-line); }
body.page-now .record-top .category { color: var(--e-pink); }
body.page-now .record-title,
body.page-now .record-title.long {
  max-width: 1080px;
  margin-top: clamp(50px, 7vw, 100px);
  color: var(--e-ink);
  font-family: var(--e-serif);
  font-size: clamp(48px, 7.5vw, 112px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.045em;
}
body.page-now .why-now { max-width: 700px; color: var(--e-muted); font-weight: 500; line-height: 1.9; }
body.page-now .five-sec { max-width: 980px; color: var(--e-ink); font-family: var(--e-serif); font-size: clamp(24px, 3.2vw, 45px); font-weight: 700; line-height: 1.6; }

body.page-now .record-grid {
  display: block;
  margin-top: clamp(48px, 7vw, 92px);
  background: transparent;
  border-top: 1px solid var(--e-line-strong);
}
body.page-now .record-cell {
  display: grid;
  grid-template-columns: minmax(130px, .28fr) minmax(0, .72fr);
  gap: 30px;
  padding: 26px 0;
  color: var(--e-ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--e-line);
}
body.page-now .record-cell h3 { margin: 0; color: var(--e-muted); }
body.page-now .record-cell p { margin: 0; color: var(--e-ink); font-weight: 500; line-height: 1.9; }
body.page-now .keywords { align-self: start; gap: 0; }
body.page-now .keywords span { padding: 0 16px 0 0; color: var(--e-ink); background: transparent; border: 0; border-right: 1px solid var(--e-line); border-radius: 0; }
body.page-now .keywords span + span { padding-left: 16px; }

body.page-now .talking-point { margin-top: 54px; color: var(--e-ink); background: transparent; border: 0; border-left: 3px solid var(--e-pink); }
body.page-now .talking-point small { color: var(--e-pink); }
body.page-now .talking-point p { color: var(--e-ink); font-family: var(--e-serif); font-size: clamp(19px, 2.2vw, 30px); }
body.page-now .record-links { gap: 0; border-color: var(--e-line-strong); }
body.page-now .record-links a,
body.page-now .record-links button { color: var(--e-ink); background: transparent; border: 0; border-right: 1px solid var(--e-line); border-radius: 0; }
body.page-now .record-links a:first-child { color: #fff; background: var(--e-ink); }
body.page-now .record-links a:hover,
body.page-now .record-links button:hover { color: #fff; background: var(--e-pink); }

body.page-now .archive-link { color: var(--e-ink); background: var(--e-paper-deep); }
body.page-now .archive-link .mono { color: var(--e-pink); }
body.page-now .archive-link a { text-underline-offset: 5px; }
body.page-now .method { color: var(--e-ink); background: var(--e-paper); border-color: var(--e-line-strong); }
body.page-now .method p { color: var(--e-muted); }
body.page-now footer { color: var(--e-ink); background: var(--e-paper); border-color: var(--e-line-strong); }

/* Full catalogue */
body.page-catalogue .hero {
  grid-template-columns: minmax(0, 1.72fr) minmax(260px, .28fr);
  min-height: min(900px, calc(100svh - 78px));
  color: var(--e-ink);
  background: var(--e-paper);
  border-color: var(--e-line-strong);
}
body.page-catalogue .hero-main {
  padding: clamp(78px, 10vw, 154px) clamp(24px, 6vw, 96px) clamp(48px, 6vw, 92px);
  border-color: var(--e-line-strong);
}
body.page-catalogue .hero-main::after { display: none; }
body.page-catalogue .eyebrow { color: var(--e-pink); }
body.page-catalogue h1 {
  max-width: 1050px;
  margin-top: clamp(86px, 12vw, 176px);
  color: var(--e-ink);
  font-family: var(--e-serif);
  font-size: clamp(76px, 12vw, 182px);
  font-weight: 700;
  line-height: .96;
  letter-spacing: -.055em;
}
body.page-catalogue h1 .outline { color: var(--e-ink); -webkit-text-stroke: 0; }
body.page-catalogue h1 .slash { display: block; color: var(--e-ink); text-decoration: underline; text-decoration-color: var(--e-pink); text-decoration-thickness: .055em; text-underline-offset: .11em; }
body.page-catalogue .hero-bottom { align-items: end; margin-top: clamp(90px, 11vw, 170px); }
body.page-catalogue .hero-copy { max-width: 720px; color: var(--e-muted); font-size: 15px; font-weight: 500; line-height: 2; }
body.page-catalogue .hero-copy strong { color: var(--e-ink); font-weight: 600; }
body.page-catalogue .scroll-cue { color: var(--e-ink); border-color: var(--e-line-strong); }
body.page-catalogue .scroll-cue:hover { color: #fff; background: var(--e-ink); }
body.page-catalogue .hero-side { color: var(--e-ink); background: var(--e-paper-deep); }
body.page-catalogue .side-label { color: var(--e-muted); border-color: var(--e-line); }
body.page-catalogue .hero-book { padding: 0; border-color: var(--e-line); }
body.page-catalogue .hero-book::before { display: none; }
body.page-catalogue .big-spine {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  min-height: 460px;
  margin: 0;
  padding: clamp(30px, 4vw, 58px) clamp(22px, 3vw, 44px);
  color: var(--e-ink);
  background: transparent;
  border: 0;
  box-shadow: none;
  transform: none;
}
body.page-catalogue .big-spine:hover { color: #fff; background: var(--e-ink); transform: none; }
body.page-catalogue .big-spine small { color: var(--e-pink); }
body.page-catalogue .big-spine strong { font-family: var(--e-serif); font-size: clamp(28px, 3.2vw, 48px); line-height: 1.35; }
body.page-catalogue .big-spine em { color: var(--e-muted); }
body.page-catalogue .hero-now { color: var(--e-ink); background: transparent; border-color: var(--e-line); }
body.page-catalogue .hero-now span { color: var(--e-pink); }

body.page-catalogue .time-gate {
  grid-template-columns: .68fr 1fr 1.32fr;
  color: var(--e-ink);
  background: var(--e-paper);
  border-color: var(--e-line-strong);
}
body.page-catalogue .time-card {
  min-height: 310px;
  padding: clamp(38px, 6vw, 84px) clamp(24px, 5vw, 72px);
  color: var(--e-ink);
  background: transparent;
  border-color: var(--e-line);
}
body.page-catalogue .time-card::after { display: none; }
body.page-catalogue .time-card:hover { color: var(--e-ink); background: var(--e-paper-deep); }
body.page-catalogue .time-kicker { color: var(--e-pink); }
body.page-catalogue .time-card strong { font-family: var(--e-serif); font-weight: 400; }
body.page-catalogue .time-card p { color: var(--e-muted); font-weight: 500; }

body.page-catalogue .section { color: var(--e-ink); background: var(--e-paper); border-color: var(--e-line-strong); }
body.page-catalogue .section-head {
  grid-template-columns: .22fr .46fr .32fr;
  padding: clamp(78px, 10vw, 150px) var(--pad) clamp(50px, 7vw, 100px);
  border-color: var(--e-line-strong);
}
body.page-catalogue .section-no { color: var(--e-pink); }
body.page-catalogue .section-head h2 { color: var(--e-ink); font-family: var(--e-serif); font-size: clamp(46px, 7vw, 104px); line-height: 1.05; letter-spacing: -.04em; }
body.page-catalogue .section-note { color: var(--e-muted); font-weight: 500; line-height: 1.9; }

body.page-catalogue .category-grid { display: block; color: var(--e-ink); background: var(--e-paper); }
body.page-catalogue .category-button,
body.page-catalogue .category-button.is-private {
  display: grid;
  grid-template-columns: minmax(150px, .22fr) minmax(0, .78fr);
  width: 100%;
  min-height: 0;
  padding: 28px var(--pad);
  color: var(--e-ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--e-line);
  text-align: left;
}
body.page-catalogue .category-button::before { inset: auto 0 0; height: 2px; background: var(--e-pink); }
body.page-catalogue .category-button:hover,
body.page-catalogue .category-button:focus-visible,
body.page-catalogue .category-button[aria-pressed="true"],
body.page-catalogue .category-button.is-private[aria-pressed="true"] { color: var(--e-ink); background: var(--e-paper-deep); }
body.page-catalogue .category-button .cat-code { align-items: center; justify-content: flex-start; gap: 24px; color: var(--e-muted); }
body.page-catalogue .category-button .cat-code span:last-child { color: var(--e-pink); }
body.page-catalogue .category-button strong { margin: 0; font-family: var(--e-serif); font-size: clamp(23px, 3vw, 42px); font-weight: 700; letter-spacing: .02em; }

body.page-catalogue .private-catalogue {
  grid-template-columns: .15fr 1.2fr .65fr;
  color: var(--e-ink);
  background: var(--e-paper-deep);
  border-color: var(--e-line-strong);
}
body.page-catalogue .private-mark { color: var(--e-pink); background: transparent; border-color: var(--e-line); font-family: var(--e-serif); }
body.page-catalogue .private-copy { border-color: var(--e-line); }
body.page-catalogue .private-copy small { color: var(--e-pink); }
body.page-catalogue .private-copy strong { color: var(--e-ink); font-family: var(--e-serif); }
body.page-catalogue .private-copy p { color: var(--e-muted); font-weight: 500; }
body.page-catalogue .private-actions button { color: var(--e-ink); background: transparent; border-color: var(--e-line-strong); border-radius: 0; }
body.page-catalogue .private-actions button:hover { color: #fff; background: var(--e-ink); }

body.page-catalogue .shelf-stage { color: var(--e-ink); background: var(--e-paper); }
body.page-catalogue .shelf-toolbar { color: var(--e-ink); background: var(--e-paper); border-color: var(--e-line-strong); }
body.page-catalogue .shelf-toolbar p { color: var(--e-muted); }
body.page-catalogue .shelf-toolbar p span { color: var(--e-pink); }
body.page-catalogue .control-label { color: var(--e-muted); }
body.page-catalogue .view-button,
body.page-catalogue .mini-button,
body.page-catalogue .catalog-select { color: var(--e-ink); background: transparent; border-color: var(--e-line); border-radius: 0; }
body.page-catalogue .view-button[aria-pressed="true"] { color: var(--e-ink); background: transparent; box-shadow: inset 0 -2px var(--e-pink); }
body.page-catalogue .shelf-window { min-height: 480px; color: var(--e-ink); background: var(--e-paper-deep); }
body.page-catalogue .shelf-track { min-height: 480px; align-items: stretch; gap: 0; padding: 0; }
body.page-catalogue .shelf-track::after { display: none; }
body.page-catalogue .book-spine,
body.page-catalogue .book-spine.is-primary {
  min-width: 150px;
  height: auto;
  padding: 28px 18px;
  color: var(--e-ink);
  background: transparent !important;
  border: 0;
  border-right: 1px solid var(--e-line);
  box-shadow: none;
  transform: none;
}
body.page-catalogue .book-spine:nth-child(3n),
body.page-catalogue .book-spine:nth-child(5n) { transform: none; }
body.page-catalogue .book-spine:hover,
body.page-catalogue .book-spine:focus-visible { color: #fff; background: var(--e-ink) !important; transform: none; outline: 0; }
body.page-catalogue .book-spine .book-code { color: var(--e-pink); }
body.page-catalogue .book-spine .book-title { font-family: var(--e-serif); }
body.page-catalogue .book-peek { color: var(--e-ink); background: var(--e-paper); border-color: var(--e-pink); }
body.page-catalogue .book-peek h3 { color: var(--e-ink); font-family: var(--e-serif); }
body.page-catalogue .peek-save,
body.page-catalogue .peek-link { color: var(--e-ink); background: transparent; border-color: var(--e-line-strong); border-radius: 0; }

body.page-catalogue .feature-grid { display: block; color: var(--e-ink); background: var(--e-paper); }
body.page-catalogue .feature-card,
body.page-catalogue .feature-card.large {
  display: grid;
  grid-template-columns: minmax(160px, .22fr) minmax(0, .78fr);
  min-height: 0;
  padding: clamp(34px, 5vw, 68px) var(--pad);
  color: var(--e-ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--e-line);
}
body.page-catalogue .feature-card::before,
body.page-catalogue .feature-card::after { display: none; }
body.page-catalogue .feature-card:hover,
body.page-catalogue .feature-card:focus-visible { color: var(--e-ink); background: var(--e-paper-deep); }
body.page-catalogue .feature-card .feature-top { display: block; color: var(--e-pink); }
body.page-catalogue .feature-card .feature-top span { display: block; margin-bottom: 8px; }
body.page-catalogue .feature-card > div:last-child { grid-column: 2; grid-row: 1; padding: 0; }
body.page-catalogue .feature-card h3,
body.page-catalogue .feature-card:not(.large) h3 { max-width: 920px; color: var(--e-ink); font-family: var(--e-serif); font-size: clamp(30px, 5vw, 72px); line-height: 1.25; letter-spacing: -.03em; }
body.page-catalogue .feature-card p { color: var(--e-muted); font-weight: 500; line-height: 1.9; }

body.page-catalogue .affiliate-wrap { color: var(--e-ink); background: var(--e-paper-deep); }
body.page-catalogue .affiliate-intro { border-color: var(--e-line-strong); }
body.page-catalogue .affiliate-intro h2 { color: var(--e-ink); font-family: var(--e-serif); }
body.page-catalogue .affiliate-intro p,
body.page-catalogue .affiliate-status { color: var(--e-muted); }
body.page-catalogue .affiliate-grid { background: transparent; }
body.page-catalogue .affiliate-slot { color: var(--e-ink); background: transparent; border-color: var(--e-line); }
body.page-catalogue .affiliate-slot:hover { color: var(--e-ink); background: var(--e-paper); }
body.page-catalogue .affiliate-slot small,
body.page-catalogue .affiliate-slot span { color: var(--e-pink); }

body.page-catalogue .manifesto { color: var(--e-ink); background: var(--e-paper); border-color: var(--e-line-strong); }
body.page-catalogue .manifesto-title { border-color: var(--e-line); }
body.page-catalogue .manifesto h2 { color: var(--e-ink); font-family: var(--e-serif); }
body.page-catalogue .manifesto h2 b { color: var(--e-ink); text-decoration: underline; text-decoration-color: var(--e-pink); }
body.page-catalogue .manifesto-copy p { color: var(--e-muted); }
body.page-catalogue .manifesto-copy em { color: var(--e-ink); }
body.page-catalogue footer { color: var(--e-ink); background: var(--e-paper); border-color: var(--e-line-strong); }

body.page-catalogue .search-dialog,
body.page-catalogue .catalogue-dialog,
body.page-catalogue .random-drawer { color: var(--e-ink); background: var(--e-paper); border: 1px solid var(--e-line-strong); border-radius: 0; box-shadow: 8px 8px 0 var(--e-pink); }

/* Existing long-form articles: invert the established structure without flattening it. */
body.page-article {
  --ink: var(--e-paper);
  --ink-2: var(--e-paper-deep);
  --ink-3: #e5e1d8;
  --paper: var(--e-ink);
  --paper-2: #393833;
  --muted: var(--e-muted);
  --accent: var(--e-pink);
  --accent-soft: #ff75ad;
  --line: var(--e-line);
  font-weight: 500;
  background-image: none;
}
body.page-article::before { display: none; }
body.page-article .topbar { background: rgba(246,244,238,.96); border-bottom-color: var(--e-line-strong); }
body.page-article .hero-main::after { color: rgba(17,17,15,.025); }
body.page-article .brand-mark { border-color: var(--e-ink); }
body.page-article .brand-copy,
body.page-article h1,
body.page-article h2,
body.page-article h3 { letter-spacing: .01em; }
body.page-article .back-link { color: var(--e-ink); background: transparent; border-color: var(--e-line-strong); border-radius: 0; }
body.page-article .back-link:hover { color: #fff; background: var(--e-ink); }
body.page-article .speed-nav a,
body.page-article .quick-nav a,
body.page-article .action-link,
body.page-article button { border-radius: 0; box-shadow: none; }
body.page-article footer { border-top-color: var(--e-line-strong); }

@media (max-width: 900px) {
  body.page-now .hero,
  body.page-catalogue .hero { grid-template-columns: 1fr; }
  body.page-now .hero-main,
  body.page-catalogue .hero-main { min-height: 680px; border-right: 0; border-bottom: 1px solid var(--e-line-strong); }
  body.page-now .hero-side,
  body.page-catalogue .hero-side { display: grid; grid-template-columns: 1fr 1fr; }
  body.page-now .hero-rule,
  body.page-catalogue .hero-now { grid-column: 1 / -1; }
  body.page-catalogue .section-head { grid-template-columns: .25fr .75fr; }
  body.page-catalogue .section-note { grid-column: 2; }
}

@media (max-width: 680px) {
  body.page-now .topbar,
  body.page-catalogue .topbar { min-height: 64px; }
  body.page-now .brand,
  body.page-catalogue .brand { padding-inline: 15px; }
  body.page-now .back-link { min-width: 0; padding: 0 14px; }
  body.page-catalogue .desktop-nav { display: none; }
  body.page-catalogue .utility button { min-width: 0; padding: 0 11px; font-size: 10px; }
  body.page-catalogue .utility button[data-catalogue-open] { display: none; }

  body.page-now .hero-main,
  body.page-catalogue .hero-main { min-height: 620px; padding: 70px 20px 42px; }
  body.page-now h1,
  body.page-catalogue h1 { margin-top: 94px; font-size: clamp(64px, 21vw, 100px); line-height: 1.02; }
  body.page-now .hero-lead,
  body.page-catalogue .hero-bottom { margin-top: 90px; }
  body.page-now .hero-side,
  body.page-catalogue .hero-side { grid-template-columns: 1fr; }
  body.page-now .hero-rule,
  body.page-catalogue .hero-now { grid-column: auto; }
  body.page-catalogue .big-spine { min-height: 300px; }

  body.page-now .intro,
  body.page-catalogue .time-gate { display: block; }
  body.page-now .intro article,
  body.page-catalogue .time-card { min-height: 0; padding: 42px 20px; border-right: 0; border-bottom: 1px solid var(--e-line); }
  body.page-now .filterbar { top: 64px; padding: 0; overflow-x: auto; }
  body.page-now .filterbar > .mono { display: none; }
  body.page-now .filter { flex: 0 0 auto; min-height: 54px; padding: 0 14px; }
  body.page-now .catalogue-head { display: block; }
  body.page-now .catalogue-head div { padding: 54px 20px; }

  body.page-now .record { display: block; }
  body.page-now .record-index { display: flex; min-height: 0; padding: 22px 20px; border-right: 0; border-bottom: 1px solid var(--e-line); }
  body.page-now .record-index > div { display: flex; align-items: center; }
  body.page-now .record-index strong { font-size: 48px; }
  body.page-now .record-main { padding: 54px 20px 62px; }
  body.page-now .record-title,
  body.page-now .record-title.long { font-size: clamp(44px, 14vw, 68px); }
  body.page-now .record-cell { grid-template-columns: 1fr; gap: 12px; padding: 23px 0; }
  body.page-now .record-links { display: block; }
  body.page-now .record-links a,
  body.page-now .record-links button { width: 100%; border-right: 0; border-bottom: 1px solid var(--e-line); }

  body.page-catalogue .section-head { display: block; padding: 72px 20px 50px; }
  body.page-catalogue .section-head h2 { margin: 38px 0; }
  body.page-catalogue .category-button,
  body.page-catalogue .category-button.is-private,
  body.page-catalogue .feature-card,
  body.page-catalogue .feature-card.large { grid-template-columns: 1fr; gap: 20px; padding: 28px 20px; }
  body.page-catalogue .feature-card > div:last-child { grid-column: 1; grid-row: 2; }
  body.page-catalogue .private-catalogue { display: block; }
  body.page-catalogue .private-mark { min-height: 100px; border-right: 0; border-bottom: 1px solid var(--e-line); }
  body.page-catalogue .private-copy,
  body.page-catalogue .private-actions { padding: 28px 20px; }
  body.page-catalogue .shelf-toolbar { display: block; padding: 24px 20px; }
  body.page-catalogue .catalog-controls { margin-top: 20px; }
  body.page-catalogue .shelf-window,
  body.page-catalogue .shelf-track { min-height: 410px; }
  body.page-catalogue .book-spine,
  body.page-catalogue .book-spine.is-primary { min-width: 132px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
