:root {
  --journal-rule: #B9BDC1;
  --journal-muted: #5D6C73;
}

html { scroll-behavior: smooth; }
body.journal-edition { background: var(--ivory); overflow-wrap: break-word; }
.journal-edition a { text-decoration-thickness: 1px; }
.journal-page { max-width: 1440px; min-height: 100vh; margin: auto; display: grid; grid-template-columns: minmax(210px, 23%) minmax(0, 1fr); }
.journal-rail { grid-column: 1; grid-row: 1; border-right: 1px solid var(--journal-rule); }
.rail-inner { position: sticky; top: 0; min-height: 100vh; padding: 48px 31px 33px max(27px, calc((100vw - 1360px) / 2)); display: flex; flex-direction: column; }
.identity-name { color: var(--charcoal); font: 500 30px/.98 var(--heading-font); letter-spacing: -.035em; text-decoration: none; white-space: nowrap; }
.identity-name span, .footer-period { color: var(--vermilion); }
.identity p { margin-top: 10px; color: var(--journal-muted); font: 13px/1.45 var(--label-font); }
.rail-index { display: grid; align-content: start; gap: 11px; margin-top: 32px; }
.rail-label { color: var(--journal-muted); font: 600 10px/1.4 var(--label-font); letter-spacing: .14em; text-transform: uppercase; }
.rail-index a { display: grid; grid-template-columns: 24px 1fr; gap: 8px; align-items: baseline; width: fit-content; color: var(--charcoal); font: 14px/1.5 var(--label-font); text-decoration: none; }
.rail-index a span { color: var(--vermilion); font: 11px var(--label-font); }
.rail-index a:hover, .edition-links a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: .3em; }
.rail-bottom { margin-top: auto; padding-top: 58px; }
.rail-contacts { display: grid; gap: 8px; }
.rail-contact { width: fit-content; font: 14px/1.4 var(--label-font); }
.edition-links { display: grid; gap: 6px; margin-top: 37px; }
.edition-links .rail-label { margin-bottom: 5px; }
.edition-links a { color: var(--journal-muted); font: 12px/1.4 var(--label-font); text-decoration: none; width: fit-content; }
.edition-links a[aria-current="page"] { color: var(--vermilion); }
.journal-main { grid-column: 2; grid-row: 1; min-width: 0; padding: 45px clamp(32px, 5.2vw, 86px) 120px; }
.journal-main > section { max-width: 900px; margin-inline: auto; scroll-margin-top: 28px; }
.spread-topline { border-top: 3px solid var(--blue); padding-top: 14px; display: flex; justify-content: space-between; gap: 15px; color: var(--journal-muted); font: 600 11px/1.3 var(--label-font); letter-spacing: .12em; text-transform: uppercase; }
.spread-topline span:first-child { color: var(--vermilion); }
.opening-image-row { display: grid; grid-template-columns: minmax(0, 1fr) 126px; gap: 25px; align-items: end; margin-top: 64px; padding-bottom: 22px; border-bottom: 1px solid var(--journal-rule); }
.opening-coast { max-width: none; margin: 0; }
.opening-coast .loupe-scene { width: 100%; }
.opening-coast .loupe-art { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: auto; object-fit: contain; mix-blend-mode: normal; }
.opening-image-note { align-self: end; padding-bottom: 5px; }
.marginal-number { color: var(--vermilion); font: 600 11px var(--label-font); letter-spacing: .1em; }
.opening-image-note p { margin-top: 17px; color: var(--journal-muted); font: 13px/1.55 var(--label-font); }
.opening-copy { padding: 51px 0 4px; }
.kicker { color: var(--vermilion); font: 600 11px/1.4 var(--label-font); letter-spacing: .17em; text-transform: uppercase; }
.opening-copy h1 { max-width: 13ch; margin-top: 18px; font: 400 clamp(55px, 6vw, 81px)/.99 var(--heading-font); letter-spacing: -.045em; }
.title-stop { color: var(--vermilion); }
.opening-lede { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 20px; margin-top: 44px; }
.small-rule { width: 40px; height: 2px; margin-top: 16px; background: var(--blue); }
.opening-lede p { max-width: 600px; font: 23px/1.45 var(--body-font); }
.journal-section { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 30px; margin-top: 105px; padding-top: 15px; border-top: 1px solid var(--journal-rule); }
.section-marker { padding-top: 2px; }
.section-marker > span { display: block; color: var(--vermilion); font: 600 11px/1.4 var(--label-font); letter-spacing: .1em; }
.section-marker h2 { margin-top: 20px; font: 400 28px/1.05 var(--heading-font); letter-spacing: -.025em; }
.section-marker p { margin-top: 9px; color: var(--journal-muted); font: 12px/1.4 var(--label-font); }
.section-content { min-width: 0; }
.writing-section .section-content { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.entry-overline { display: flex; align-items: center; gap: 8px; color: var(--journal-muted); font: 600 11px/1.4 var(--label-font); letter-spacing: .12em; text-transform: uppercase; }
.entry-overline span + span::before { content: "/"; margin-right: 8px; color: var(--journal-rule); }
.writing-entry h3 { margin: 18px 0 15px; font: 400 clamp(35px, 4vw, 52px)/1.05 var(--heading-font); letter-spacing: -.035em; }
.writing-entry h3 a, .project-head h3 a { color: var(--charcoal); text-decoration: none; }
.writing-entry h3 a:hover, .project-head h3 a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: .12em; }
.writing-entry h3 a span, .project-head h3 a span { font: 19px var(--label-font); color: var(--vermilion); }
.writing-entry > p, .project-entry > p { max-width: 44ch; font: 17px/1.58 var(--body-font); }
.entry-link { display: inline-block; margin-top: 17px; font: 14px/1.4 var(--label-font); }
.entry-link span { margin-left: 3px; }
.workbench-figure { max-width: none; margin: 8px 0 0; width: 100%; }
.workbench-figure .loupe-art { display: block; width: 100%; max-height: none; mix-blend-mode: normal; }
.project-entry { padding: 26px 0 31px; border-top: 1px solid color-mix(in srgb, var(--journal-rule) 75%, transparent); }
.project-entry:first-child { padding-top: 0; border-top: 0; }
.project-entry:last-child { padding-bottom: 0; }
.project-head { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 12px; align-items: baseline; }
.entry-number { color: var(--vermilion); font: 11px var(--label-font); }
.project-head h3 { margin: 0; font: 400 31px/1.1 var(--heading-font); letter-spacing: -.025em; }
.project-head h3 a span { font-size: 15px; }
.project-status { color: var(--journal-muted); font: 11px/1.4 var(--label-font); text-align: right; white-space: nowrap; }
.project-entry > p, .project-entry > .entry-link { margin-left: 36px; }
.project-entry > p { margin-top: 10px; }
.project-entry > .entry-link { margin-top: 10px; }
.about-content { display: grid; grid-template-columns: minmax(0, 1fr) 122px; gap: 30px; align-items: start; }
.about-copy p { font: 18px/1.6 var(--body-font); }
.about-copy p + p { margin-top: 18px; }
.human-note { margin: 2px 0 0; }
.human-note img { display: block; width: 100%; height: auto; mix-blend-mode: normal; }
.human-note figcaption { margin-top: 8px; color: var(--journal-muted); font: 11px/1.4 var(--label-font); }
.about-contact { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-top: 1px solid var(--journal-rule); margin-top: 29px; padding-top: 16px; }
.about-contact span { color: var(--journal-muted); font: 12px/1.4 var(--label-font); }
.about-contact a { white-space: nowrap; font: 14px/1.4 var(--label-font); }
.journal-footer { grid-column: 1 / -1; border-top: 1px solid var(--journal-rule); padding: 25px clamp(30px, 5vw, 72px) 35px; display: grid; grid-template-columns: 1fr auto; gap: 18px 28px; font: 12px/1.4 var(--label-font); color: var(--journal-muted); }
.journal-footer > span { color: var(--charcoal); font: 500 23px/1 var(--heading-font); }
.journal-footer nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.journal-footer a { color: var(--journal-muted); text-decoration: none; }
.journal-footer a:hover { color: var(--blue); text-decoration: underline; }
.journal-footer .footer-studies { grid-column: 2; gap: 18px; }
.journal-footer .footer-studies a[aria-current="page"] { color: var(--vermilion); }

@media (max-width: 1040px) {
  .journal-page { grid-template-columns: 205px minmax(0, 1fr); }
  .rail-inner { padding-left: 27px; padding-right: 20px; }
  .identity-name { font-size: 25px; }
  .journal-main { padding-inline: 38px; }
  .journal-section { grid-template-columns: 110px minmax(0, 1fr); gap: 22px; }
}
@media (max-width: 760px) {
  .journal-page { display: block; }
  .journal-rail { border-right: 0; border-bottom: 1px solid var(--journal-rule); }
  .rail-inner { position: static; min-height: 0; display: grid; grid-template-columns: 1fr; gap: 20px; padding: 23px 24px 19px; }
  .identity-name { font-size: 27px; }
  .rail-index { grid-column: 1 / -1; grid-row: 2; display: flex; flex-wrap: wrap; gap: 10px 19px; margin: 0; }
  .rail-index a { display: inline-flex; gap: 5px; font-size: 13px; }
  .rail-bottom { grid-column: 1; grid-row: 3; margin: 0; padding: 0; text-align: left; }
  .rail-contacts { display: flex; flex-wrap: wrap; gap: 8px 18px; }
  .rail-contact { font-size: 12px; }
  .edition-links { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 20px 0 0; text-align: left; }
  .edition-links .rail-label { display: none; }
  .edition-links a { font-size: 11px; }
  .journal-main { padding: 26px 24px 75px; }
  .journal-main > section { scroll-margin-top: 18px; }
  .spread-topline { font-size: 10px; }
  .opening-image-row { margin-top: 37px; grid-template-columns: minmax(0, 1fr) 100px; gap: 15px; }
  .opening-image-note p { font-size: 11px; margin-top: 9px; }
  .opening-copy { padding-top: 38px; }
  .opening-copy h1 { font-size: clamp(50px, 9vw, 70px); }
  .opening-lede { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; margin-top: 30px; }
  .opening-lede p { font-size: 21px; }
  .journal-section { margin-top: 74px; grid-template-columns: 92px minmax(0, 1fr); gap: 18px; }
  .section-marker h2 { font-size: 24px; }
  .section-marker p { font-size: 11px; }
  .writing-section .section-content { display: block; }
  .workbench-figure { width: 100%; margin: 28px 0 0; }
  .project-head { grid-template-columns: 20px minmax(0, 1fr); gap: 8px; }
  .project-status { grid-column: 2; text-align: left; }
  .project-entry > p, .project-entry > .entry-link { margin-left: 28px; }
  .about-content { grid-template-columns: minmax(0, 1fr) 96px; gap: 14px; }
  .about-copy p { font-size: 17px; }
  .about-contact { display: block; }
  .about-contact a { display: block; margin-top: 7px; }
  .journal-footer { padding: 23px 24px 30px; grid-template-columns: 1fr; }
  .journal-footer .footer-studies { grid-column: 1; }
}
@media (max-width: 500px) {
  .opening-image-row { display: block; margin-top: 24px; }
  .opening-image-note { display: flex; align-items: baseline; gap: 12px; margin-top: 6px; }
  .opening-image-note p { margin: 0; }
  .opening-copy h1 { font-size: clamp(46px, 11vw, 58px); }
  .opening-lede { display: block; margin-top: 26px; }
  .small-rule { display: block; margin: 0 0 16px; }
  .opening-lede p { font-size: 20px; }
  .journal-section { display: block; margin-top: 62px; }
  .section-marker { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin-bottom: 23px; }
  .section-marker h2 { margin: 0; }
  .section-marker p { margin: 0 0 0 auto; }
  .writing-entry h3 { font-size: 37px; }
  .about-content { grid-template-columns: 1fr; }
  .human-note { width: 180px; max-width: 70%; margin-left: auto; }
  .human-note figcaption { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
