.header-links {
  display:flex;
  align-items:center;
  gap:clamp(14px,2.4vw,32px);
}

.header-links a {
  padding-bottom:4px;
  border-bottom:1px solid transparent;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  transition:border-color .2s ease,color .2s ease;
}

.header-links a:hover,
.header-links a:focus-visible {
  border-color:currentColor;
  outline:none;
}

.header-links .back {
  border-color:var(--ink);
}

.breadcrumbs {
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 28px;
  color:var(--muted);
  font-size:11px;
  font-weight:750;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.breadcrumbs a {
  text-decoration:none;
}

.breadcrumbs a:hover,
.breadcrumbs a:focus-visible {
  color:var(--ink);
  outline:none;
}

.publication-meta {
  display:grid;
  gap:2px;
}

.publication-date {
  margin-top:7px;
  color:var(--ink);
  letter-spacing:.04em;
  text-transform:none;
}

.toc-mobile {
  display:none;
  margin:0 0 42px;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--line);
}

.toc-mobile summary {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:18px 0;
  cursor:pointer;
  font-size:12px;
  font-weight:850;
  letter-spacing:.1em;
  list-style:none;
  text-transform:uppercase;
}

.toc-mobile summary::-webkit-details-marker {
  display:none;
}

.toc-mobile summary span {
  color:var(--violet);
  font-size:18px;
  line-height:.7;
  transition:transform .2s ease;
}

.toc-mobile[open] summary span {
  transform:rotate(45deg);
}

.toc-mobile nav {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  padding:0 0 18px;
}

.toc-mobile a {
  padding:12px 14px;
  background:var(--paper-2);
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
  text-decoration:none;
}

.toc-mobile a.is-active {
  background:var(--acid);
  color:var(--ink);
  font-weight:800;
}

.reader-route {
  padding:clamp(70px,9vw,130px) var(--pad);
  background:var(--paper);
}

.reader-route-head {
  display:grid;
  grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);
  gap:28px;
  align-items:start;
  margin-bottom:42px;
  padding-top:18px;
  border-top:1px solid var(--ink);
}

.reader-route-head > span {
  color:var(--violet);
  font-family:var(--serif);
  font-size:18px;
  font-style:italic;
}

.reader-route-head h2 {
  max-width:940px;
  margin:0;
  font-size:clamp(38px,5.2vw,76px);
  line-height:.94;
  letter-spacing:-.055em;
}

.reader-route-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}

.reader-route-card {
  min-height:390px;
  padding:clamp(25px,3vw,42px);
  display:flex;
  flex-direction:column;
  background:var(--paper);
  color:var(--ink);
  text-decoration:none;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}

.reader-route-card > span {
  margin-bottom:56px;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.reader-route-card h3 {
  max-width:640px;
  margin:0 0 20px;
  font-size:clamp(29px,3.3vw,48px);
  line-height:.98;
  letter-spacing:-.045em;
}

.reader-route-card p {
  max-width:600px;
  margin:0 0 42px;
  color:var(--muted);
  font-family:var(--serif);
  font-size:18px;
  line-height:1.52;
}

.reader-route-card b {
  margin-top:auto;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.reader-route-contact {
  background:var(--acid);
}

.reader-route-contact > span,
.reader-route-contact p {
  color:#434334;
}

.reader-route-card:hover,
.reader-route-card:focus-visible {
  z-index:1;
  background:var(--ink);
  color:var(--paper);
  outline:none;
  transform:translateY(-6px);
}

.reader-route-card:hover > span,
.reader-route-card:hover p,
.reader-route-card:focus-visible > span,
.reader-route-card:focus-visible p {
  color:#b8b3aa;
}

.series-nav {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin-top:36px;
  background:var(--line);
  border:1px solid var(--line);
}

.series-nav-link {
  min-height:150px;
  padding:24px;
  display:flex;
  flex-direction:column;
  background:var(--paper);
  text-decoration:none;
  transition:background .2s ease,color .2s ease;
}

.series-nav-link span {
  margin-bottom:25px;
  color:var(--violet);
  font-family:var(--serif);
  font-size:14px;
  font-style:italic;
}

.series-nav-link strong {
  max-width:540px;
  font-size:clamp(18px,2vw,26px);
  line-height:1.14;
}

.series-nav-next {
  text-align:right;
  align-items:flex-end;
}

.series-nav-link:hover,
.series-nav-link:focus-visible {
  background:var(--violet);
  color:#fff;
  outline:none;
}

.series-nav-link:hover span,
.series-nav-link:focus-visible span {
  color:var(--acid);
}

@media (max-width:980px) {
  .toc {
    display:none !important;
  }

  .toc-mobile {
    display:block;
  }

  .reader-route-head {
    grid-template-columns:minmax(0,1fr);
  }

  .reader-route-head > * {
    min-width:0;
  }
}

@media (max-width:700px) {
  .brand-accent {
    display:block !important;
  }

  .header-links {
    gap:12px;
  }

  .header-links a {
    font-size:10px;
  }

  .breadcrumbs {
    margin-bottom:22px;
    font-size:9px;
  }

  .toc-mobile nav,
  .reader-route-grid,
  .series-nav {
    grid-template-columns:minmax(0,1fr);
  }

  .reader-route-card {
    min-height:330px;
    min-width:0;
  }

  .series-nav-next {
    text-align:left;
    align-items:flex-start;
  }
}

@media (max-width:360px) {
  .header {
    padding-left:16px;
    padding-right:16px;
  }

  .header-links {
    gap:9px;
  }

  .header-links a {
    font-size:9px;
  }

  .reader-route-head h2,
  .reader-route-card h3,
  .decision h2,
  .series-nav-link strong {
    overflow-wrap:anywhere;
  }
}

@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }

  .reader-route-card,
  .series-nav-link,
  .toc-mobile summary span {
    transition:none;
  }
}
