/* land offset · round 4: the magazine. Brutalist, low-tech, paper.
   Load after the theme's style.css 0.6.0 in place of look-offset-3.css. Same markup as round 3 (menu checkbox, O plates, cover steps, access column).
   Paper ground, black ink, one green. Times for everything that is read, PT Mono for everything that is labelled, Oswald only for the nameplate.
   Hard 1px rules, black label bars, square black buttons. No shadows, no radii, no gradients, no script. */

:root {
	--paper: #f6f4ee; --paper-2: #e9e6dd; --ink: #0a0a0a; --quiet: #3d3c38; --faint: #9c988d; --green: #00693e;
	--serif: 'Times New Roman', Times, 'Nimbus Roman', Georgia, serif;
	--mono: 'PT Mono', ui-monospace, Menlo, 'Courier New', monospace;
	--plate: Oswald, 'Arial Narrow', Impact, sans-serif;
	--pad: clamp(18px, 3.6vw, 56px);
}

/* ---------- Base ---------- */
html, body { background: var(--paper); }
.wp-site-blocks h1, .wp-site-blocks h2, .wp-site-blocks h3, .wp-site-blocks h4, .wp-site-blocks h5, .wp-site-blocks h6, .wp-site-blocks strong, .wp-site-blocks b { color: var(--ink); }
.lo-label *, .lo-year__label *, .lo-table th *, .lo-measure th * { color: inherit; }
body { color: var(--ink); font: 18px/1.5 var(--serif); -webkit-font-smoothing: auto; -moz-osx-font-smoothing: auto; }
a { color: var(--ink); }
a:hover { color: var(--ink); }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
::selection { background: var(--ink); color: var(--paper); }
.skip-link:focus { background: var(--ink); color: var(--paper); }
.lo-toy { margin: 0; padding: 8px var(--pad); background: var(--ink); color: var(--paper); font: 12px/1.4 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.lo-toy a { color: var(--paper); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Frame: no sidebar; a nameplate across the top ---------- */
.wp-site-blocks { display: block; }
.wp-site-blocks > header { position: static; height: auto; overflow: visible; z-index: auto; }
.wp-site-blocks > main, .wp-site-blocks > footer { min-width: 0; }

.lo-side { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; min-height: 0; padding: 0 var(--pad); background: var(--paper); color: var(--ink); border-bottom: 2px solid var(--ink); container-type: inline-size; }
.lo-mark { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: end; gap: 0 18px; padding: 12px 0 0; overflow: hidden; color: var(--ink); border-bottom: 1px solid var(--ink); }
.lo-mark svg { grid-column: 1; width: 86px; max-width: none; margin-bottom: 11px; }
.lo-mark::after { content: "Research · Feed · Client intelligence · No. 1 · October 2026"; grid-column: 2; justify-self: end; margin-bottom: 12px; font: 13px/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); }
.lo-mark__sub { grid-column: 1 / -1; margin: 4px 0 0 -.03em; font: 600 19.6cqw/.84 var(--plate); letter-spacing: -.02em; text-transform: uppercase; white-space: nowrap; color: var(--ink); }
.lo-mark:hover .lo-mark__sub { color: var(--ink); }
.lo-menu__check { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.lo-menu__btn { display: none; }

.lo-side .lo-nav { grid-column: 1; display: flex; flex-wrap: wrap; gap: 0 26px; margin: 0; padding: 0; border: 0; }
.lo-side .lo-nav a { display: block; padding: 13px 0; border: 0; font: 13px/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); white-space: nowrap; }
.lo-side .lo-nav a:hover { text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; }
.lo-side .lo-nav a[aria-current="page"] { color: var(--ink); text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 7px; text-decoration-skip-ink: none; text-decoration-color: var(--green); }
.lo-side .lo-account { grid-column: 2; display: flex; flex-wrap: nowrap; align-items: center; gap: 14px; margin: 0; padding: 0 0 0 24px; font: 12px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--quiet); }
.lo-side .lo-account span { flex-basis: auto; display: inline; }
.lo-side .lo-account a { padding: 7px 10px; border: 1px solid var(--ink); background: var(--ink); color: var(--paper); white-space: nowrap; }
.lo-side .lo-account a:hover, .lo-side .lo-account a[aria-current="page"] { background: var(--paper); color: var(--ink); border-color: var(--ink); }
.lo-side .lo-account a ~ a { background: transparent; color: var(--ink); }
.lo-side .lo-topics { grid-column: 1 / -1; display: flex; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 20px; padding: 9px 0 10px; border-top: 1px solid var(--ink); }
.lo-side .lo-topics__label { margin: 0; font: 12px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--quiet); }
.lo-side .lo-topics .lo-tag { padding: 0; border: 0; background: none; font: 12px/1.6 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
.lo-side .lo-topics .lo-tag:hover, .lo-side .lo-topics .lo-tag[aria-current] { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.lo-side .lo-topics__all { display: inline; margin-left: auto; font: 12px/1.6 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.lo-side__legal { display: none; }
@media (min-width: 1024px) { .lo-side__panel { display: contents; } }
@media (max-width: 1023px) {
	.lo-side { grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 0 18px; }
	.lo-mark { grid-column: 1; grid-template-columns: minmax(0, 1fr); padding: 10px 0 8px; border-bottom: 0; }
	.lo-mark svg { width: 64px; margin-bottom: 6px; }
	.lo-mark::after { display: none; }
	.lo-mark__sub { font-size: 15.2cqw; }
	.lo-menu__btn { display: inline-flex; align-items: center; height: 38px; margin-left: 16px; padding: 0 12px; border: 1px solid var(--ink); font: 12px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); cursor: pointer; user-select: none; }
	.lo-menu__check:checked ~ .lo-menu__btn { background: var(--ink); color: var(--paper); }
	.lo-menu__check:focus-visible ~ .lo-menu__btn { outline: 2px solid var(--ink); outline-offset: 3px; }
	.lo-menu__check:checked ~ .lo-menu__btn .lo-menu__open, .lo-menu__check:not(:checked) ~ .lo-menu__btn .lo-menu__close { display: none; }
	.lo-side__panel { display: none; grid-column: 1 / -1; padding: 0 0 20px; border-top: 1px solid var(--ink); }
	.lo-menu__check:checked ~ .lo-side__panel { display: block; }
	.lo-side .lo-nav { flex-direction: column; gap: 0; width: auto; margin: 0; padding: 0; overflow: visible; }
	.lo-side .lo-nav a { padding: 14px 0; border-bottom: 1px solid var(--faint); font-size: 15px; }
	.lo-side .lo-account { display: flex; flex-wrap: wrap; order: 0; margin: 0; padding: 18px 0 0; }
	.lo-side .lo-topics { display: flex; padding: 18px 0 0; border-top: 0; }
	.lo-side .lo-topics__all { margin-left: 0; flex-basis: 100%; }
	.lo-side__legal { display: block; margin: 0; padding: 20px 0 0; font: 12px/1.4 var(--mono); letter-spacing: 0; color: var(--quiet); white-space: normal; }
}

/* ---------- Main ---------- */
.lo-main { padding: clamp(28px, 4vw, 56px) var(--pad) clamp(48px, 6vw, 96px); }
.lo-main--home { padding: 0; }
.lo-corner .lo-main::before, .single.lo-corner .lo-main::before { display: none; }
.lo-corner .lo-head, .lo-corner .lo-essay > .lo-article, .lo-corner .lo-about > .lo-article { min-height: 0; padding-right: 0; }
.error404 .lo-main { min-height: 60vh; }
.error404 .wp-site-blocks > main { background: none; }

/* ---------- Type ---------- */
.lo-h1, .lo-title, .lo-display, .lo-cover__head { font-family: var(--serif); font-weight: 400; text-transform: none; color: var(--ink); letter-spacing: -.025em; }
.lo-h1, .lo-title { font-size: clamp(38px, 5vw, 76px); line-height: .98; max-width: 16ch; }
.lo-display { margin: 16px 0 0; font-size: clamp(32px, 3.6vw, 58px); line-height: 1; }
.lo-display a:hover, .lo-h1 a:hover, .lo-title a:hover { color: var(--ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .08em; }
.lo-head { gap: 14px; margin-bottom: clamp(20px, 3vw, 36px); padding-bottom: 14px; border-bottom: 1px solid var(--ink); }
.lo-head__meta { font: 13px/1.5 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--quiet); }
.lo-head__meta a { color: var(--ink); border-bottom: 1px solid var(--ink); }
.lo-head__meta a:hover { color: var(--green); border-color: var(--green); }
.lo-intro { max-width: 60ch; font: 22px/1.4 var(--serif); color: var(--ink); }
.lo-intro a, .lo-edition a, .lo-foot a, .lo-name__link u { color: var(--ink); text-decoration: underline; text-decoration-color: var(--ink); text-underline-offset: 3px; }
.lo-dek { max-width: 56ch; margin: 16px 0 0; font: 21px/1.4 var(--serif); color: var(--ink); }
.lo-label { gap: 16px; padding: 6px 10px; margin-bottom: 0; border: 0; background: var(--ink); font: 12px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--paper); }
.lo-label a { color: var(--paper); text-decoration: underline; text-underline-offset: 3px; }
.lo-label a:hover { color: var(--paper); text-decoration-color: var(--green); }
.lo-meta { gap: 6px 14px; font: 13px/1.5 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--quiet); }
.lo-more { margin-top: 18px; font: 13px/1.4 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); border-bottom: 1px solid var(--ink); }
.lo-more:hover { color: var(--green); border-color: var(--green); }
.lo-empty, .lo-none, .lo-foot { max-width: 64ch; margin-top: 24px; font: 15px/1.5 var(--serif); letter-spacing: 0; color: var(--quiet); }
.lo-tag { padding: 2px 7px 1px; border: 1px solid var(--ink); font: 12px/1.4 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
a.lo-tag:hover, .lo-tag[aria-current] { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.lo-tag--report { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.lo-oplate { display: block; width: 100%; height: auto; filter: grayscale(1) contrast(1.12); }

/* ---------- Cover: a spread, not a hero ---------- */
.lo-cover { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); grid-template-rows: auto auto auto; height: auto; min-height: 0; overflow: visible; background: none; border-bottom: 1px solid var(--ink); isolation: auto; }
.lo-cover::after, .lo-cover__plane, .lo-cover__dots { display: none; }
.lo-cover__bg { position: static; grid-column: 1 / -1; grid-row: 1; align-self: stretch; box-sizing: border-box; width: 100%; height: auto; min-height: 0; max-height: min(62vh, 760px); object-fit: cover; opacity: 1; filter: grayscale(1) contrast(1.1); border-left: 0; border-bottom: 1px solid var(--ink); }
.lo-cover__text { display: contents; }
.lo-cover__text > * { animation: none !important; }
.lo-cover__head { display: none; }
.lo-cover__sub { grid-column: 1 / -1; grid-row: 2; width: auto; box-sizing: border-box; max-width: none; margin: 0 !important; padding: var(--pad) var(--pad) clamp(18px, 2.4vw, 36px); border-bottom: 1px solid var(--ink); font: italic 700 clamp(24px, 2.9vw, 52px)/1.04 var(--serif); letter-spacing: -.03em; color: var(--ink); text-wrap: pretty; }
.lo-cover__kick { display: block; margin-bottom: .18em; font: 600 2.1em/.92 var(--plate); font-style: normal; letter-spacing: -.01em; text-transform: uppercase; text-wrap: balance; }
.lo-cover__steps { grid-column: 1 / -1; grid-row: 3; align-self: start; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 var(--pad) 0; border-top: 0; }

.lo-cover__steps a { display: grid; gap: 8px; align-content: start; padding: clamp(18px, 2vw, 28px) 20px clamp(18px, 2vw, 28px) 0; color: var(--ink); }
.lo-cover__steps a + a { padding-left: 20px; border-left: 1px solid var(--ink); }
.lo-cover__steps b { font: 600 17px/1.2 var(--plate); letter-spacing: .01em; text-transform: uppercase; color: var(--ink); }
.lo-cover__steps span { font: italic 16px/1.3 var(--serif); letter-spacing: -.01em; color: var(--ink); }
.lo-cover__steps a:hover b { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--green); }
@media (max-width: 1100px) {
	.lo-cover__steps { grid-template-columns: minmax(0, 1fr); }
	.lo-cover__steps a, .lo-cover__steps a + a { padding: 12px 0; border-left: 0; border-top: 1px solid var(--ink); }
	.lo-cover__steps a:first-child { border-top: 0; }
	.lo-cover__steps a { grid-template-columns: 9em minmax(0, 1fr); align-items: baseline; }
}
@media (max-width: 900px) {
	.lo-cover { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; }
	.lo-cover__bg { grid-column: 1; grid-row: 1; aspect-ratio: 16 / 10; max-height: none; }
	.lo-cover__sub { grid-column: 1; grid-row: 2; }
	.lo-cover__steps { grid-column: 1; grid-row: 3; margin-top: 8px; margin-bottom: 20px; }
	.lo-cover__steps a, .lo-cover__steps a + a { padding: 12px 0; border-left: 0; border-top: 1px solid var(--ink); }
	.lo-cover__steps a { grid-template-columns: 9em minmax(0, 1fr); align-items: baseline; }
}

/* ---------- Below the cover ---------- */
.lo-home { gap: 36px 0; padding: 0 var(--pad) clamp(40px, 5vw, 72px); }
@media (min-width: 1100px) { .lo-home { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); } .lo-home__aside { grid-column: 1 / -1; } }
@media (min-width: 1500px) { .lo-home { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(260px, .62fr); } .lo-home__aside { grid-column: auto; } }
.lo-featured { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-content: start; padding: clamp(24px, 3vw, 40px) 0 0; }
.lo-featured > * { grid-column: 1; }
.lo-featured .lo-oplate { display: none; }
@media (min-width: 700px) {
	.lo-featured { grid-template-columns: minmax(0, 1fr) clamp(130px, 18%, 220px); column-gap: 36px; }
	.lo-featured .lo-oplate { display: block; grid-column: 2; grid-row: 1 / span 4; align-self: start; }
}
.lo-featured .lo-display { margin: 0; }
.lo-featured .lo-dek { margin: 0; }
.lo-featured .lo-more { margin-top: 4px; }
.lo-recent { padding: clamp(24px, 3vw, 40px) 0 0; }
@media (min-width: 1100px) { .lo-featured { padding-right: clamp(24px, 3vw, 48px); } .lo-recent { padding-left: clamp(24px, 3vw, 48px); border-left: 1px solid var(--ink); } }
.lo-list li { grid-template-columns: 30px minmax(0, 1fr); gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--ink); }
.lo-list--plain li { grid-template-columns: minmax(0, 1fr); }
.lo-list__n { padding-top: 5px; font: 12px/1 var(--mono); color: var(--quiet); }
.lo-list h3 { margin: 0 0 8px; font: 400 22px/1.15 var(--serif); letter-spacing: -.015em; }
.lo-list h3 a { color: var(--ink); }
.lo-list h3 a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.lo-home__aside { gap: 24px; padding-top: clamp(24px, 3vw, 40px); }
.lo-edition, .lo-gate, .lo-included { background: var(--paper-2); border: 1px solid var(--ink); }
.lo-edition { padding: 22px 24px 26px; font: 17px/1.45 var(--serif); color: var(--ink); }
.lo-name__link { padding-top: 12px; color: var(--ink); }
.lo-name__text { font: 17px/1.45 var(--serif); }

/* ---------- Rows: feed, library, topic, search, account ---------- */
.lo-rows { border-top: 1px solid var(--ink); }
.lo-years { border-top: 0; }
.lo-year__label { padding: 6px 10px; margin-top: 28px; border: 0; background: var(--ink); font: 12px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--paper); }
.lo-years .lo-year:first-child .lo-year__label, .lo-section:first-child .lo-year__label { margin-top: 0; }
.lo-section { margin-top: 40px; }
.lo-row { grid-template-columns: 104px minmax(0, 1fr); gap: 6px 28px; padding: 18px 0; border-bottom: 1px solid var(--ink); }
a.lo-row:hover { background: none; }
a.lo-row:hover .lo-row__title { color: var(--ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .08em; }
.lo-date { font: 13px/1.6 var(--mono); letter-spacing: 0; color: var(--ink); }
.lo-row__main { gap: 8px; }
.lo-row__title { font: 400 26px/1.1 var(--serif); letter-spacing: -.02em; color: var(--ink); }
.lo-row__note { grid-column: 2; font: 16px/1.45 var(--serif); color: var(--quiet); }
.lo-row__access { grid-column: 2; font: 12px/1.6 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
.lo-row__access::before { content: ""; display: inline-block; width: 8px; height: 8px; margin: 0 8px 0 0; border: 1px solid var(--ink); vertical-align: 0; }
.lo-row__access--included::before, .lo-row__access--free::before { background: var(--green); border-color: var(--green); }
@media (min-width: 1280px) {
	.lo-row { grid-template-columns: 104px minmax(0, 1fr) minmax(0, 34ch); }
	.lo-row__note, .lo-row__access { grid-column: 3; }
	.lo-row[style*="--lo-o"] { grid-template-columns: 72px 104px minmax(0, 1fr) minmax(0, 34ch); align-items: start; }
	.lo-row[style*="--lo-o"]::before { content: ""; grid-column: 1; grid-row: 1 / span 3; width: 72px; aspect-ratio: 64 / 60.5; margin-top: 3px; background: var(--lo-o) center / contain no-repeat; filter: grayscale(1) contrast(1.12); }
	.lo-row[style*="--lo-o"] .lo-date { grid-column: 2; padding-top: 5px; }
	.lo-row[style*="--lo-o"] .lo-row__main { grid-column: 3; }
	.lo-row[style*="--lo-o"] .lo-row__note, .lo-row[style*="--lo-o"] .lo-row__access { grid-column: 4; }
	.lo-row__title { font-size: 28px; }
}
@media (min-width: 1440px) {
	.lo-row[style*="--lo-o"] { grid-template-columns: 72px 104px minmax(0, 1fr) minmax(0, 36ch) 150px; }
	.lo-row[style*="--lo-o"] .lo-row__access { grid-column: 5; grid-row: 1; justify-self: end; text-align: right; }
}
@media (max-width: 600px) { .lo-row { grid-template-columns: minmax(0, 1fr); } .lo-row__note, .lo-row__access { grid-column: 1; } .lo-row__title { font-size: 23px; } }
.lo-pages { padding-top: 20px; font: 13px/1.5 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--quiet); }
.lo-pages a { color: var(--ink); border-bottom: 1px solid var(--ink); }

/* Library table: ruled on all sides */
.lo-table { font: 16px/1.4 var(--serif); border: 1px solid var(--ink); }
.lo-table th { padding: 8px 12px; border: 1px solid var(--ink); background: var(--ink); font: 11px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--paper); }
.lo-table th a { color: var(--paper); }
.lo-table th a:hover, .lo-table th a[aria-sort] { color: var(--paper); text-decoration: underline; text-underline-offset: 3px; }
.lo-table td { padding: 14px 12px; border: 1px solid var(--ink); color: var(--ink); }
.lo-table__title a { font: 400 22px/1.1 var(--serif); letter-spacing: -.02em; color: var(--ink); }
.lo-table__title .lo-tags { margin-top: 8px; }
.lo-table__access a { font: 12px/1.5 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); border-bottom: 1px solid var(--ink); }

/* Forms */
.lo-search input, .lo-subscribe input[type="email"] { height: 48px; padding: 0 14px; border: 1px solid var(--ink); border-right: 0; background: var(--paper); color: var(--ink); font: 17px var(--serif); }
.lo-search input:focus, .lo-subscribe input:focus { border-color: var(--ink); outline: 2px solid var(--ink); outline-offset: -2px; }
.lo-search input::placeholder, .lo-subscribe input::placeholder { color: var(--quiet); }
.lo-search button, .lo-subscribe button, .lo-btn { height: 48px; padding: 0 20px; border: 1px solid var(--ink); background: var(--ink); color: var(--paper); font: 12px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.lo-search button:hover, .lo-subscribe button:hover, .lo-btn:hover { background: var(--paper); color: var(--ink); }
.lo-subscribe__done { font: 15px/1.5 var(--serif); color: var(--quiet); }

/* ---------- Report and feed item ---------- */
@media (min-width: 1280px) { .lo-essay { grid-template-columns: minmax(0, 70ch) minmax(260px, 320px); gap: 0 clamp(40px, 5vw, 80px); } }
.lo-essay .lo-article { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-bottom: clamp(24px, 3vw, 40px); padding-bottom: clamp(20px, 2.5vw, 32px); border-bottom: 1px solid var(--ink); }
.lo-essay .lo-article > * { grid-column: 1; margin: 0; }
.lo-essay .lo-article .lo-oplate { display: none; }
@media (min-width: 700px) {
	.lo-essay .lo-article { grid-template-columns: minmax(0, 1fr) clamp(120px, 14vw, 200px); column-gap: 36px; }
	.lo-essay .lo-article .lo-oplate { display: block; grid-column: 2; grid-row: 1 / span 4; align-self: start; justify-self: end; }
}
.lo-article .lo-title { margin-top: 4px; }
.lo-actions { gap: 6px 20px; margin-top: 8px; font: 12px/1.5 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.lo-actions a { color: var(--ink); border-bottom: 1px solid var(--ink); }
.lo-actions a:hover { color: var(--green); border-color: var(--green); }
.lo-measure { max-width: 68ch; font: 19px/1.55 var(--serif); color: var(--ink); }
.lo-measure > p:first-child::first-letter { float: left; margin: .08em .08em 0 0; font-size: 4.6em; line-height: .78; font-weight: 400; }
.lo-measure h2 { margin: 1.8em 0 .5em; font: 400 32px/1.05 var(--serif); letter-spacing: -.02em; text-transform: none; color: var(--ink); }
.lo-measure h3 { margin: 1.6em 0 .4em; font: 400 24px/1.15 var(--serif); color: var(--ink); }
.lo-measure h4 { margin: 1.6em 0 .4em; font: 12px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--quiet); }
.lo-measure a { color: var(--ink); text-decoration-color: var(--ink); }
.lo-measure a:hover { text-decoration-color: var(--green); }
.lo-measure strong { color: var(--ink); }
.lo-measure blockquote { padding-left: 1em; border-left: 3px solid var(--ink); color: var(--ink); }
.lo-measure table { font-size: 15px; border: 1px solid var(--ink); }
.lo-measure th, .lo-measure td { padding: 8px 10px; border: 1px solid var(--ink); }
.lo-measure th { background: var(--ink); font: 11px var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--paper); }
.lo-measure td { font-variant-numeric: tabular-nums; }
.lo-measure hr { border-top: 1px solid var(--ink); }
.lo-measure code, .lo-measure pre { background: var(--paper-2); }
.lo-hero img, .lo-still img, .lo-measure img { filter: grayscale(1) contrast(1.08); border: 1px solid var(--ink); }
.lo-hero figcaption, .lo-still figcaption, .lo-measure figcaption { margin-top: 8px; font: 12px/1.5 var(--mono); letter-spacing: .04em; color: var(--quiet); }
.lo-full { color: var(--ink); border-bottom: 1px solid var(--ink); }

/* The access box and the client box */
.lo-gate, .lo-included { margin: 2.2em 0 0; padding: 24px 28px 30px; border: 2px solid var(--ink); background: var(--paper); }
.lo-gate__label { margin-bottom: 14px; font: 12px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--quiet); }
.lo-gate p, .lo-included p { max-width: 24ch; margin: 0; font: 400 clamp(26px, 2.4vw, 36px)/1.02 var(--serif); letter-spacing: -.025em; color: var(--ink); }
.lo-gate .lo-gate__text, .lo-included .lo-gate__text { max-width: 50ch; margin-top: 14px; font: 16px/1.45 var(--serif); letter-spacing: 0; color: var(--ink); }
.lo-gate__row { margin-top: 22px; }
.lo-gate__alt, .lo-gate__row > a:not(.lo-btn) { font: 12px/1.5 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); border-bottom: 1px solid var(--ink); }
.lo-gate__alt:hover, .lo-gate__row > a:not(.lo-btn):hover { color: var(--green); border-color: var(--green); }
.lo-gate__price { font: 12px var(--mono); color: var(--quiet); }
.lo-gate .lo-gate__foot, .lo-included .lo-gate__foot { margin-top: 16px; font: 12px/1.5 var(--mono); letter-spacing: 0; text-transform: none; max-width: none; color: var(--quiet); }

/* Rail */
.lo-rail { margin-top: 48px; }
@media (min-width: 1280px) { .lo-rail { margin-top: 0; } .lo-rail__in { position: static; } }
.lo-rail section + section { margin-top: 32px; }
.lo-rail .lo-list h3 { font-size: 19px; }
.lo-record { grid-template-columns: 104px minmax(0, 1fr); border-bottom: 1px solid var(--ink); }
.lo-record dt, .lo-record dd { padding: 9px 0; border-bottom: 1px solid var(--faint); }
.lo-record dt { font: 12px/1.6 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--quiet); padding-top: 10px; }
.lo-record dd { font: 15px/1.45 var(--serif); color: var(--ink); }
.lo-record dd a { color: var(--ink); text-decoration-color: var(--ink); }
.lo-record > :nth-last-child(-n+2) { border-bottom: 0; }
.lo-prevnext { margin-top: 48px; }
.lo-prevnext a { padding-top: 16px; border-top: 1px solid var(--ink); font: 400 22px/1.15 var(--serif); letter-spacing: -.015em; color: var(--ink); }
.lo-prevnext a span { margin-bottom: 8px; font: 12px/1.4 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--quiet); }

/* ---------- About ---------- */
.lo-about > .lo-article { margin-bottom: clamp(24px, 3vw, 40px); padding-bottom: clamp(20px, 2.5vw, 32px); border-bottom: 1px solid var(--ink); }
.lo-about .lo-hero { max-width: 900px; }
.lo-about .lo-hero img { filter: grayscale(1) contrast(1.05); mix-blend-mode: normal; }
.lo-about .lo-hero__frame span { font: 12px/1.5 var(--mono); color: var(--quiet); }
.lo-diagram { margin: 0; }
.lo-diagram img { display: block; width: 100%; border: 1px solid var(--ink); filter: none; mix-blend-mode: normal; }
.lo-diagram figcaption { margin-top: 8px; font: 13px/1.45 var(--serif); color: var(--quiet); }

/* ---------- Footer ---------- */
.lo-footer { gap: 20px 40px; padding: 28px var(--pad) 44px; border-top: 2px solid var(--ink); }
.lo-footer__links { font: 12px/1.6 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.lo-footer__links a { color: var(--ink); }
.lo-footer__links a:hover { color: var(--green); }
.lo-footer__contact { font: 13px/1.6 var(--mono); letter-spacing: 0; }
.lo-footer__contact a { color: var(--ink); border-bottom: 1px solid var(--ink); }
.lo-footer__contact a:hover { color: var(--green); border-color: var(--green); }
.lo-footer__contact svg { color: var(--ink); }

/* ---------- Print ---------- */
@media print {
	.lo-toy, .lo-menu__btn, .lo-oplate, .lo-cover__bg, .lo-row::before { display: none !important; }
	body, .lo-main, .lo-measure, .lo-gate, .lo-included, .lo-edition { background: #fff !important; }
	.lo-label, .lo-year__label, .lo-table th, .lo-measure th { background: #000 !important; color: #fff !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.lo-side { border-bottom: 2px solid #000; }
	.lo-cover { grid-template-columns: minmax(0, 1fr); }
	.lo-cover__bg { display: none; }
}

/* ---------- Client front page: the signed-in overview ---------- */
.lo-main--client { padding-top: clamp(22px, 3vw, 40px); }
.lo-head--client { gap: 10px; }
.lo-head--client .lo-h1 { font-size: clamp(40px, 5.6vw, 88px); }
.lo-desk { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px clamp(32px, 4vw, 64px); }
@media (min-width: 1100px) { .lo-desk { grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); } .lo-desk__rail { border-left: 1px solid var(--ink); padding-left: clamp(24px, 3vw, 40px); } }
@media (min-width: 1700px) { .lo-desk { grid-template-columns: minmax(0, 1fr) 380px; } }
.lo-desk__main > section + section { margin-top: 40px; }
.lo-ledger .lo-rows { border-top: 0; }
.lo-ledger .lo-row { padding: 16px 0; }
.lo-ledger .lo-row__title { font-size: 24px; }
.lo-desk__rail { display: grid; gap: 32px; align-content: start; }
.lo-desk__rail .lo-record { grid-template-columns: 88px minmax(0, 1fr); }
.lo-desk__rail .lo-edition { margin: 0; }
.lo-mini { width: 100%; border-collapse: collapse; font: 15px/1.35 var(--serif); }
.lo-mini td { padding: 9px 10px 9px 0; border-bottom: 1px solid var(--faint); vertical-align: top; }
.lo-mini td:first-child { width: 52px; white-space: nowrap; font: 13px/1.6 var(--mono); color: var(--quiet); }
.lo-mini td:last-child { padding-right: 0; text-align: right; white-space: nowrap; font: 13px/1.6 var(--mono); letter-spacing: .04em; color: var(--quiet); }
.lo-mini--num td:first-child { width: auto; font: 15px/1.35 var(--serif); color: var(--ink); }
.lo-mini--num td:nth-child(2) { white-space: nowrap; font: 13px/1.6 var(--mono); color: var(--quiet); }
.lo-mini--num td:last-child { font: 700 17px/1.2 var(--serif); font-variant-numeric: tabular-nums; color: var(--ink); }
.lo-mini a { color: var(--ink); }
.lo-mini a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lo-mini tr:last-child td { border-bottom: 1px solid var(--ink); }
.lo-tags--big { padding-top: 12px; gap: 8px; }
.lo-tags--big .lo-tag { padding: 5px 9px 4px; font-size: 12px; }
.lo-desk__rail .lo-foot { margin-top: 14px; font-size: 14px; }
.lo-issue__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 0; border-bottom: 1px solid var(--ink); }
.lo-dept { min-width: 0; padding: 16px 24px 22px 0; }
.lo-dept + .lo-dept { border-left: 1px solid var(--ink); padding-left: 24px; }
@media (max-width: 1100px) {
	.lo-issue__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lo-dept:nth-child(3) { border-left: 0; padding-left: 0; }
	.lo-dept:nth-child(n+3) { border-top: 1px solid var(--ink); }
}
@media (max-width: 700px) {
	.lo-issue__grid { grid-template-columns: minmax(0, 1fr); }
	.lo-dept { padding-right: 0; }
	.lo-dept + .lo-dept { border-left: 0; padding-left: 0; border-top: 1px solid var(--ink); }
}
.lo-dept h2 { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 6px; font: 400 28px/1 var(--serif); letter-spacing: -.02em; }
.lo-dept h2 span { font: 13px/1.6 var(--mono); color: var(--ink); }
.lo-dept ol { margin: 0; padding: 0; list-style: none; counter-reset: dept; }
.lo-dept li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 4px 8px; padding: 10px 0; border-top: 1px solid var(--faint); counter-increment: dept; }
.lo-dept li::before { content: counter(dept, decimal-leading-zero); padding-top: 4px; font: 13px/1 var(--mono); color: var(--ink); }
.lo-dept li a { grid-column: 2; font: 400 19px/1.2 var(--serif); letter-spacing: -.01em; color: var(--ink); text-wrap: pretty; }
.lo-dept li a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lo-dept li span { grid-column: 2; font: 13px/1.5 var(--mono); letter-spacing: .02em; color: var(--quiet); }
.lo-dept .lo-more { margin-top: 14px; }

/* Client desk: search above the ledger */
.lo-search--desk { position: relative; display: flex; flex-wrap: wrap; max-width: none; margin: 0 0 28px; }
.lo-search--desk input { flex: 1 1 320px; height: 52px; font-size: 19px; }
.lo-search--desk button { height: 52px; }
.lo-search__hint { flex-basis: 100%; margin-top: 8px; font: 13px/1.5 var(--mono); letter-spacing: 0; color: var(--quiet); }

/* ---------- Report reading: contents, findings, exhibits, pull quotes, sidenotes, notes, corrections ---------- */
.lo-essay--report { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1280px) { .lo-essay--report { grid-template-columns: minmax(0, calc(68ch + 272px)) minmax(240px, 300px); gap: 0 clamp(36px, 4vw, 64px); } .lo-essay--report > .lo-rail { grid-row: 2 / span 2; } }
.lo-essay--report .lo-article { grid-column: 1 / -1; }
.lo-measure--report { display: grid; grid-template-columns: minmax(0, 68ch) 240px; column-gap: 32px; max-width: none; }
.lo-measure--report > * { grid-column: 1; margin: 0; }
.lo-measure--report > * + * { margin-top: 1.15em; }
.lo-measure--report > .lo-findings, .lo-measure--report > .lo-exhibit--bleed, .lo-measure--report > .lo-para, .lo-measure--report > table, .lo-measure--report > .lo-rows, .lo-measure--report > .lo-included, .lo-measure--report > .lo-gate, .lo-measure--report > .lo-footnotes, .lo-measure--report > .lo-corrections { grid-column: 1 / -1; }
.lo-measure--report > p:first-child::first-letter { float: none; margin: 0; font-size: inherit; line-height: inherit; }
.lo-measure--report h2 { display: grid; grid-template-columns: 3.2em minmax(0, 1fr); gap: 0 12px; align-items: baseline; margin-top: 2.2em; padding-top: 14px; border-top: 1px solid var(--ink); }
.lo-measure--report h2 span { font: 13px/1.6 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--quiet); }
.lo-measure--report h2:first-of-type { margin-top: 1.8em; }
.lo-findings { margin: 0 0 .4em; }
.lo-findings ol { margin: 0; padding: 0; list-style: none; counter-reset: f; border-bottom: 1px solid var(--ink); }
.lo-findings li { display: grid; grid-template-columns: 2.2em minmax(0, 1fr); gap: 0 10px; padding: 12px 0; border-top: 1px solid var(--faint); font: 400 clamp(19px, 1.5vw, 24px)/1.25 var(--serif); letter-spacing: -.015em; counter-increment: f; text-wrap: pretty; }
.lo-findings li:first-child { border-top: 0; }
.lo-findings li::before { content: counter(f, decimal-leading-zero); padding-top: 5px; font: 13px/1 var(--mono); color: var(--ink); }
.lo-para { display: grid; grid-template-columns: minmax(0, 68ch) 240px; column-gap: 32px; }
.lo-para > p { grid-column: 1; margin: 0; }
.lo-sidenote { grid-column: 2; align-self: start; margin: .35em 0 0; padding-top: 6px; border-top: 1px solid var(--ink); font: 14px/1.4 var(--serif); color: var(--ink); }
.lo-sidenote b { font: 13px/1 var(--mono); margin-right: 6px; }
.lo-sidenote a { text-decoration: none; }
.lo-measure--report sup { line-height: 0; }
.lo-measure--report sup a { padding: 0 2px; font: 13px/1 var(--mono); text-decoration: none; border-bottom: 1px solid var(--ink); }
.lo-exhibit { margin: 1.6em 0 0 !important; }
.lo-exhibit img { display: block; box-sizing: border-box; width: 100%; height: auto; border: 1px solid var(--ink); filter: grayscale(1) contrast(1.08); }
.lo-exhibit figcaption { display: block; margin-top: 8px; font: 14px/1.45 var(--serif); color: var(--ink); }
.lo-exhibit figcaption b { font: 13px/1.6 var(--mono); letter-spacing: .08em; text-transform: uppercase; margin-right: 8px; }
.lo-pull { margin: 1.8em 0 0 !important; padding: 18px 0 20px; border-left: 0; border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); font: italic 700 clamp(24px, 2vw, 32px)/1.1 var(--serif); letter-spacing: -.025em; color: var(--ink); text-wrap: balance; }
.lo-measure--report table caption { padding: 0 0 8px; text-align: left; font: 14px/1.45 var(--serif); color: var(--ink); caption-side: top; }
.lo-footnotes, .lo-corrections { margin-top: 2.4em !important; }
.lo-footnotes ol { margin: 0; padding: 0; list-style: none; counter-reset: n; }
.lo-footnotes li { display: grid; grid-template-columns: 2em minmax(0, 1fr); gap: 0 8px; padding: 8px 0; border-bottom: 1px solid var(--faint); font: 15px/1.45 var(--serif); counter-increment: n; }
.lo-footnotes li::before { content: counter(n); font: 13px/1.6 var(--mono); }
.lo-corrections dl { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 0 16px; margin: 0; }
.lo-corrections dt { padding: 10px 0; font: 13px/1.6 var(--mono); border-bottom: 1px solid var(--faint); }
.lo-corrections dd { margin: 0; padding: 10px 0; font: 15px/1.45 var(--serif); border-bottom: 1px solid var(--faint); }
.lo-toc ol { margin: 0; padding: 0; list-style: none; counter-reset: t; border-bottom: 1px solid var(--ink); }
.lo-toc li { display: grid; grid-template-columns: 2em minmax(0, 1fr); gap: 0 8px; padding: 9px 0; border-top: 1px solid var(--faint); counter-increment: t; }
.lo-toc li:first-child { border-top: 0; }
.lo-toc li::before { content: counter(t, decimal-leading-zero); font: 13px/1.6 var(--mono); color: var(--quiet); }
.lo-toc a { font: 400 17px/1.3 var(--serif); color: var(--ink); }
.lo-toc a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 1280px) { .lo-rail__in { position: sticky; top: 24px; } }
.lo-rail section + section { margin-top: 28px; }
.lo-revlog { margin: 0; }
.lo-revlog dt { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px 0 2px; font: 13px/1.6 var(--mono); border-top: 1px solid var(--faint); }
.lo-revlog dt:first-child { border-top: 0; }
.lo-revlog dd { margin: 0; padding: 0 0 10px; font: 15px/1.45 var(--serif); }
.lo-rows--evidence { border-top: 1px solid var(--ink); }
.lo-obs td:nth-child(n+2):nth-child(-n+4) { text-align: right; font-variant-numeric: tabular-nums; }
.lo-obs th:nth-child(n+2):nth-child(-n+4) { text-align: right; }
@media (max-width: 1100px) {
	.lo-measure--report, .lo-para { grid-template-columns: minmax(0, 1fr); }
	.lo-measure--report > *, .lo-para > p, .lo-sidenote { grid-column: 1; }
	.lo-sidenote { margin-top: .6em; padding-left: 0; border-top: 1px solid var(--faint); font-size: 14px; }
}
/* ---------- Platform pages ---------- */
.lo-filters { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: baseline; margin: 0 0 20px; padding: 10px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); font: 13px/1.6 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.lo-filters > span { color: var(--quiet); }
.lo-filters a { color: var(--ink); }
.lo-filters a small { font-size: inherit; color: var(--quiet); }
.lo-filters a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; text-decoration-color: var(--green); }
.lo-filters a:hover { text-decoration: underline; text-underline-offset: 6px; }
.lo-ledger + .lo-ledger { margin-top: 36px; }
.lo-main > .lo-search { max-width: 760px; margin: 0 0 24px; }
.lo-empty-state { max-width: 70ch; }
.lo-empty-state .lo-intro { margin: 18px 0 0; }
.lo-empty-state .lo-actions { margin-top: 20px; }
.lo-article--ws { margin-bottom: clamp(24px, 3vw, 40px); padding-bottom: clamp(20px, 2.5vw, 32px); border-bottom: 1px solid var(--ink); }
.lo-mini small { display: block; font: 13px/1.4 var(--mono); color: var(--quiet); }
.lo-actions--stack { flex-direction: column; gap: 10px; margin-top: 12px; font-size: 14px; }
.lo-actions--stack a { align-self: flex-start; }
.lo-prefs { margin-top: 14px; }
.lo-prefs__addr { margin: 0 0 12px; font: 16px/1.5 var(--serif); }
.lo-prefs__addr .lo-mono { font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--quiet); margin-right: 8px; }
.lo-prefs__addr a { font: 13px/1.6 var(--mono); border-bottom: 1px solid var(--ink); margin-left: 8px; }
.lo-prefs > label, .lo-form__radio { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 0 14px; align-items: start; padding: 12px 0; border-top: 1px solid var(--faint); cursor: pointer; }
.lo-prefs > label:last-of-type { border-bottom: 1px solid var(--ink); }
.lo-prefs input, .lo-form__radio input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--ink); }
.lo-prefs b, .lo-form__radio b { display: block; font: 400 19px/1.25 var(--serif); }
.lo-prefs small, .lo-form__radio small { display: block; margin-top: 2px; font: 15px/1.4 var(--serif); color: var(--quiet); }
.lo-prefs .lo-gate__row { margin-top: 18px; }
.lo-form { display: flex; flex-direction: column; gap: 18px; max-width: 560px; margin-top: 8px; }
.lo-form > label { display: flex; flex-direction: column; gap: 6px; }
.lo-form > label > span, .lo-form legend { font: 13px/1.6 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--quiet); }
.lo-form input[type="text"], .lo-form input[type="email"], .lo-form textarea { box-sizing: border-box; width: 100%; padding: 12px 14px; border: 1px solid var(--ink); border-radius: 0; background: var(--paper); color: var(--ink); font: 18px/1.4 var(--serif); }
.lo-form input:focus, .lo-form textarea:focus { outline: 2px solid var(--ink); outline-offset: -2px; }
.lo-form fieldset { margin: 0; padding: 0; border: 0; }
.lo-form legend { padding: 0; margin-bottom: 4px; }
.lo-form__radio:last-of-type { border-bottom: 1px solid var(--ink); }
.lo-form__ctx { margin: 0; padding: 10px 12px; border: 1px solid var(--ink); font: 16px/1.45 var(--serif); }
.lo-form__ctx a { border-bottom: 1px solid var(--ink); }
.lo-desk--form .lo-head { border-bottom: 0; margin-bottom: 8px; padding-bottom: 0; }
.lo-issue__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
@media (max-width: 1100px) { .lo-issue__grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .lo-issue__grid--3 { grid-template-columns: minmax(0, 1fr); } }
@media print {
	.lo-toc, .lo-filters, .lo-prefs .lo-gate__row { display: none !important; }
	.lo-measure--report, .lo-para { display: block; }
	.lo-sidenote { margin: .4em 0 1em; padding: 0; border: 0; font-size: 12px; }
	.lo-exhibit img { filter: none; }
	.lo-pull { border-color: #000; }
}

/* Buttons inside the reading measure keep paper text (the measure's link colour would otherwise win) */
.lo-measure .lo-btn, .lo-measure .lo-btn:visited, .lo-gate .lo-btn, .lo-included .lo-btn { color: var(--paper); text-decoration: none; }
.lo-measure .lo-btn:hover, .lo-gate .lo-btn:hover, .lo-included .lo-btn:hover { color: var(--ink); background: var(--paper); }
.lo-hero img, .lo-still img, .lo-measure img { box-sizing: border-box; }

/* ---------- Public overview: a little free, the rest behind sign-in ---------- */
.lo-home--public { grid-template-columns: minmax(0, 1fr); gap: 36px clamp(32px, 4vw, 64px); padding-top: clamp(28px, 4vw, 48px); }
@media (min-width: 1100px) { .lo-home--public { grid-template-columns: minmax(0, 1.5fr) minmax(300px, .8fr); } .lo-behind { align-self: start; position: sticky; top: 24px; } }
.lo-free .lo-featured { padding: 20px 0 22px; border-bottom: 1px solid var(--ink); }
.lo-free .lo-featured .lo-display { font-size: clamp(30px, 3.2vw, 50px); }
.lo-free .lo-rows { border-top: 0; }
.lo-behind { padding: 0 0 4px; }
.lo-behind h2 { margin: 18px 0 10px; font: 400 clamp(30px, 2.8vw, 44px)/.98 var(--serif); letter-spacing: -.03em; text-wrap: balance; }
.lo-behind ol { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--ink); }
.lo-behind li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; padding: 10px 0; border-top: 1px solid var(--faint); }
.lo-behind li:first-child { border-top: 1px solid var(--ink); }
.lo-behind b { font: 400 21px/1.15 var(--serif); letter-spacing: -.015em; }
.lo-behind span { font: 15px/1.4 var(--serif); color: var(--quiet); }
.lo-behind .lo-gate__row { margin-top: 20px; }
.lo-behind .lo-foot { margin-top: 16px; font-size: 14px; }
.lo-row__access--clients::before { background: transparent; }
@media print { .lo-behind { position: static; } }

.lo-home--one { grid-template-columns: minmax(0, 1fr) !important; }
.lo-home--one .lo-free { max-width: none; }
@media (min-width: 1100px) {
	.lo-home--one .lo-free { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(32px, 4vw, 72px); align-items: start; }
	.lo-home--one .lo-free > .lo-label, .lo-home--one .lo-free > .lo-foot { grid-column: 1 / -1; }
	.lo-home--one .lo-free > .lo-featured { grid-column: 1; border-bottom: 0; padding-right: clamp(24px, 3vw, 48px); border-right: 1px solid var(--ink); }
	.lo-home--one .lo-free > .lo-rows { grid-column: 2; padding-top: 8px; }
	.lo-home--one .lo-free > .lo-rows .lo-row { grid-template-columns: 104px minmax(0, 1fr); }
	.lo-home--one .lo-free > .lo-rows .lo-row__note, .lo-home--one .lo-free > .lo-rows .lo-row__access { grid-column: 2; }
}

/* ---------- Professional pass ---------- */
.lo-cover__kick { display: block; margin-bottom: .22em; font: 700 1.2em/1.02 var(--serif); font-style: normal; letter-spacing: -.035em; text-transform: none; text-wrap: balance; }
.lo-cover__sub { font-style: normal; font-weight: 400; font-size: clamp(20px, 2vw, 32px); line-height: 1.28; letter-spacing: -.02em; }
.lo-measure > p:first-child::first-letter, .lo-measure--report > p:first-child::first-letter { float: none; margin: 0; font-size: inherit; line-height: inherit; }
.lo-keypoint { margin: 1.6em 0 0 !important; padding: 14px 18px 16px; border: 1px solid var(--ink); }
.lo-keypoint .lo-gate__label { margin-bottom: 6px; }
.lo-keypoint p { margin: 0; font: 400 19px/1.4 var(--serif); letter-spacing: -.01em; }
.lo-date { white-space: nowrap; }
.lo-row { grid-template-columns: 112px minmax(0, 1fr); }
@media (min-width: 1280px) { .lo-row { grid-template-columns: 112px minmax(0, 1fr) minmax(0, 34ch); } }
@media (max-width: 600px) { .lo-row { grid-template-columns: minmax(0, 1fr); } }
.lo-disclaimer { grid-column: 1 / -1; max-width: 68ch; margin: 20px 0 0; font: 13px/1.5 var(--mono); color: var(--quiet); }
.lo-footer__legal { flex-basis: 100%; margin: 0; padding-top: 14px; border-top: 1px solid var(--faint); font: 12px/1.6 var(--mono); color: var(--quiet); }
.lo-footer__legal a { color: var(--ink); }
.lo-gloss { display: grid; grid-template-columns: minmax(0, 1fr); margin: 0; max-width: 72ch; }
.lo-gloss dt { padding: 14px 0 2px; border-top: 1px solid var(--ink); font: 400 22px/1.15 var(--serif); letter-spacing: -.015em; }
.lo-gloss dd { margin: 0; padding: 0 0 14px; font: 17px/1.45 var(--serif); }
.lo-login__lead { margin: 0 0 22px; font: 17px/1.45 'Times New Roman', Times, serif; color: #0a0a0a; }

.lo-actions__hint { color: var(--quiet); }

/* ---------- Ledger: diff, watchlist, scoreboard, sparklines, strip, open questions, reader notes, plates ---------- */
.lo-spark { display: inline-block; vertical-align: middle; }
.lo-strip { margin: 0; }
.lo-strip__track { position: relative; height: 92px; margin: 28px 0 0; border-top: 2px solid var(--ink); }
.lo-strip__tick { position: absolute; top: -2px; width: 11em; padding-top: 14px; border-top: 2px solid var(--ink); font: 15px/1.3 var(--serif); transform: translateX(-1px); }
.lo-strip__tick::before { content: ""; position: absolute; left: 0; top: -6px; width: 10px; height: 10px; background: var(--ink); }
.lo-strip__tick b { display: block; font: 13px/1.6 var(--mono); letter-spacing: .04em; }
.lo-strip__tick--open { transform: translateX(calc(-100% + 1px)); text-align: right; }
.lo-strip__tick--open::before { left: auto; right: 0; background: var(--paper); border: 2px solid var(--ink); width: 6px; height: 6px; }
.lo-strip__span { position: absolute; bottom: 0; padding: 0 0 2px; border-bottom: 1px solid var(--faint); font: 13px/1.4 var(--mono); color: var(--quiet); text-align: center; }
.lo-table--score td { vertical-align: top; font-size: 15px; }
.lo-table--score td.lo-mono { font: 13px/1.6 var(--mono); white-space: nowrap; }
.lo-table--score .lo-table__title a { font-size: 20px; }
.lo-score--strong td:last-child, .lo-score--hold td:last-child { color: var(--green); }
.lo-score--review td:last-child { text-decoration: underline; text-decoration-color: var(--green); text-underline-offset: 3px; }
.lo-openq ol { margin: 0; padding: 0; list-style: none; counter-reset: q; border-bottom: 1px solid var(--ink); }
.lo-openq li { display: grid; grid-template-columns: 2.2em minmax(0, 1fr); gap: 2px 10px; padding: 12px 0; border-top: 1px solid var(--faint); font: 400 19px/1.3 var(--serif); letter-spacing: -.01em; counter-increment: q; }
.lo-openq li:first-child { border-top: 0; }
.lo-openq li::before { content: counter(q, decimal-leading-zero); padding-top: 4px; font: 13px/1 var(--mono); }
.lo-openq li span { grid-column: 2; font: 15px/1.45 var(--serif); color: var(--quiet); }
.lo-rnote { margin: 0; padding: 14px 0 0; border-bottom: 1px solid var(--ink); }
.lo-rnote p { margin: 0; font: italic 400 20px/1.35 var(--serif); letter-spacing: -.01em; }
.lo-rnote footer { padding: 10px 0 14px; font: 13px/1.6 var(--mono); color: var(--quiet); }
.lo-rnote footer a { color: var(--ink); border-bottom: 1px solid var(--ink); }
.lo-plates__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; padding-top: 14px; }
.lo-plates__grid figure { margin: 0; }
.lo-plates__grid img { display: block; width: 100%; height: auto; aspect-ratio: 64 / 60.5; object-fit: contain; filter: grayscale(1) contrast(1.12); }
.lo-plates__grid figcaption { margin-top: 6px; font: 13px/1.45 var(--serif); }
.lo-plates__grid figcaption b { display: block; font: 13px/1.6 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
@media (max-width: 900px) { .lo-plates__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .lo-strip__tick { width: 7em; font-size: 13px; } }

.lo-main--ledger { padding-top: 0; }
.lo-ledger__bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; padding: 10px 0; border-bottom: 1px solid var(--ink); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.lo-diff { margin-top: 28px; }
.lo-table--diff td:first-child { width: 7em; font: 13px/1.6 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.lo-table--diff td:last-child { width: 6em; text-align: right; font: 13px/1.6 var(--mono); }
.lo-table--diff .lo-table__title a { font-size: 21px; }
.lo-table--diff td { font-size: 15px; }
.lo-ledger__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); gap: 40px clamp(32px, 4vw, 64px); margin-top: 40px; }
.lo-ledger__grid > div > section + section, .lo-ledger__grid > aside > section + section { margin-top: 36px; }
.lo-table--watch td { font-size: 15px; padding: 10px 12px; }
.lo-table--watch .lo-table__title a { font-size: 19px; }
.lo-table--watch td.lo-mono, .lo-table--watch td:nth-child(2) { white-space: nowrap; }
.lo-main--ledger .lo-strip, .lo-main--ledger .lo-plates { margin-top: 48px; }
@media (max-width: 1100px) { .lo-ledger__grid { grid-template-columns: minmax(0, 1fr); } }

.lo-plates__grid--page { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 24px; }
.lo-plates__grid--page figcaption a { color: var(--ink); }
@media (max-width: 900px) { .lo-plates__grid--page { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Stream: the feed as the tools they use, in the house grammar ---------- */
.lo-main--stream { padding-top: 0; }
.lo-stories { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: flex-start; padding: 18px 0 16px; border-bottom: 1px solid var(--ink); }
.lo-stories__k { align-self: center; padding-right: 8px; font: 13px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--quiet); white-space: nowrap; }
.lo-stories a { flex: 0 0 auto; display: grid; justify-items: center; gap: 6px; width: 104px; color: var(--ink); text-decoration: none; }
.lo-stories img { width: 60px; height: 57px; object-fit: contain; filter: grayscale(1) contrast(1.12); }
.lo-stories a span { max-width: 104px; font: 12px/1.3 var(--mono); letter-spacing: 0; text-align: center; text-wrap: balance; }
.lo-stories a:hover span { text-decoration: underline; text-underline-offset: 3px; }
.lo-stories__new span::before { content: ""; display: inline-block; width: 7px; height: 7px; margin: 0 5px 1px 0; background: var(--green); }
.lo-stories__edit .lo-av { width: 44px; height: 44px; margin: 6px 0; font-size: 20px; }
.lo-stream-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px clamp(28px, 3vw, 48px); padding-top: 24px; }
@media (min-width: 1100px) { .lo-stream-layout { grid-template-columns: 260px minmax(0, 1fr); } .lo-stream__right { grid-column: 1 / -1; } }
@media (min-width: 1400px) { .lo-stream-layout { grid-template-columns: 260px minmax(0, 720px) minmax(260px, 320px); justify-content: start; } .lo-stream__right { grid-column: auto; } }
@media (min-width: 1700px) { .lo-stream-layout { grid-template-columns: 280px minmax(0, 760px) 340px; } }
.lo-stream__left, .lo-stream__right { display: grid; gap: 28px; align-content: start; }
@media (min-width: 1100px) { .lo-stream__left { position: sticky; top: 24px; align-self: start; } }
@media (min-width: 1400px) { .lo-stream__right { position: sticky; top: 24px; align-self: start; } }
.lo-av { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: var(--ink); color: var(--paper); font: 11px/1 var(--mono); letter-spacing: .04em; flex: 0 0 auto; }
.lo-av--out { background: var(--paper); color: var(--ink); border: 1px solid var(--ink); }
.lo-av--o svg { width: 24px; height: 24px; }
.lo-av--big { width: 64px; height: 64px; font-size: 15px; }
.lo-av--big svg { width: 34px; height: 34px; }
.lo-card { padding: 20px 20px 22px; border: 1px solid var(--ink); background: var(--paper-2); }
.lo-card--me { display: grid; gap: 4px; }
.lo-card--me .lo-av { margin-bottom: 10px; }
.lo-card--me b { font: 400 22px/1.15 var(--serif); letter-spacing: -.015em; }
.lo-card--me > span { font: 15px/1.45 var(--serif); }
.lo-card--me > .lo-mono { font: 12px/1.6 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--quiet); }
.lo-card--me nav { display: grid; margin-top: 14px; border-top: 1px solid var(--ink); }
.lo-card--me nav a { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--faint); font: 13px/1.6 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
.lo-card--me nav a i { font-style: normal; color: var(--quiet); }
.lo-card--me nav a:hover { text-decoration: underline; text-underline-offset: 4px; }
.lo-ask { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 8px 14px; align-items: center; padding: 0 0 18px; border-bottom: 1px solid var(--ink); }
.lo-ask input { height: 44px; padding: 0 14px; border: 1px solid var(--ink); background: var(--paper); font: 17px var(--serif); color: var(--ink); }
.lo-ask input::placeholder { color: var(--quiet); }
.lo-ask button { height: 44px; padding: 0 18px; border: 1px solid var(--ink); background: var(--ink); color: var(--paper); font: 12px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.lo-ask button:hover { background: var(--paper); color: var(--ink); }
.lo-ask__hint { grid-column: 2 / -1; font: 13px/1.5 var(--mono); color: var(--quiet); }
.lo-filters--stream { margin: 0 0 4px; border-top: 0; }
.lo-post { padding: 26px 0 22px; border-bottom: 1px solid var(--ink); }
.lo-post__head { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 0 14px; align-items: center; }
.lo-post__who { display: grid; gap: 1px; min-width: 0; }
.lo-post__who b { font: 400 17px/1.2 var(--serif); }
.lo-post__who span { font: 12px/1.5 var(--mono); letter-spacing: .04em; text-transform: uppercase; color: var(--quiet); }
.lo-post__head > .lo-tag { align-self: start; }
.lo-post__title { margin: 16px 0 0; font: 400 26px/1.12 var(--serif); letter-spacing: -.02em; text-wrap: pretty; }
.lo-post__title a { color: var(--ink); text-decoration: none; }
.lo-post__title a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .08em; }
.lo-post__body { margin-top: 10px; font: 17px/1.5 var(--serif); }
.lo-post__body p { margin: 0; }
.lo-post__body p + p { margin-top: .6em; }
.lo-post__quote { margin: 0; padding: 0 0 0 16px; border-left: 3px solid var(--ink); font: italic 400 19px/1.4 var(--serif); }
.lo-attach { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 18px; margin-top: 16px; padding: 14px 16px; border: 1px solid var(--ink); color: var(--ink); text-decoration: none; }
a.lo-attach:hover { background: var(--paper-2); }
.lo-attach img { width: 84px; height: 80px; object-fit: contain; filter: grayscale(1) contrast(1.12); }
.lo-attach:has(img) { grid-template-columns: 84px minmax(0, 1fr); }
.lo-attach__text { display: grid; gap: 4px; align-content: center; min-width: 0; }
.lo-attach__text b { font: 400 18px/1.25 var(--serif); }
.lo-attach__text > span { font: 14px/1.45 var(--serif); color: var(--quiet); }
.lo-attach__text em { margin-top: 4px; font: 12px/1.6 var(--mono); font-style: normal; letter-spacing: .06em; text-transform: uppercase; }
.lo-attach__text em a { color: var(--ink); border-bottom: 1px solid var(--ink); }
.lo-attach--diff s { color: var(--quiet); }
.lo-attach--tasks .lo-attach__text > span { color: var(--ink); font: 15px/1.5 var(--serif); }
.lo-attach--tasks u { text-decoration-color: var(--green); text-decoration-thickness: 2px; }
.lo-attach--data { grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 0; border: 1px solid var(--ink); }
.lo-obs--mini { width: 100%; border: 0; font-size: 14px; }
.lo-obs--mini th { padding: 7px 12px; }
.lo-obs--mini td { padding: 8px 12px; border-left: 0; border-right: 0; }
.lo-obs--mini td:nth-child(2), .lo-obs--mini td:nth-child(3), .lo-obs--mini th:nth-child(2), .lo-obs--mini th:nth-child(3) { text-align: right; }
.lo-attach__side { display: grid; gap: 10px; justify-items: end; padding: 12px 16px; border-left: 1px solid var(--ink); }
.lo-attach__side a { font: 12px/1.6 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); border-bottom: 1px solid var(--ink); text-align: right; }
@media (max-width: 600px) { .lo-attach--data { grid-template-columns: minmax(0, 1fr); } .lo-attach__side { border-left: 0; border-top: 1px solid var(--ink); justify-items: start; } }
.lo-post__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 20px; margin-top: 16px; }
.lo-post__actions { display: flex; gap: 18px; font: 12px/1.6 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.lo-post__actions a { color: var(--ink); border-bottom: 1px solid transparent; }
.lo-post__actions a:hover { border-bottom-color: var(--green); }
.lo-pages--stream { display: flex; justify-content: space-between; margin-top: 20px; }
.lo-mini--spark td:last-child { width: 96px; text-align: right; }
.lo-mini td small { display: block; font: 12px/1.5 var(--mono); color: var(--quiet); }
.lo-mini td.lo-ok { color: var(--green); }
.lo-mini td.lo-rev { text-decoration: underline; text-decoration-color: var(--green); text-underline-offset: 3px; }
.lo-qlist { margin: 10px 0 0; padding: 0; list-style: none; counter-reset: q; }
.lo-qlist li { display: grid; grid-template-columns: 2em minmax(0, 1fr); gap: 0 8px; padding: 8px 0; border-bottom: 1px solid var(--faint); font: 15px/1.4 var(--serif); counter-increment: q; }
.lo-qlist li::before { content: counter(q, decimal-leading-zero); font: 12px/1.6 var(--mono); }
@media print { .lo-stories, .lo-ask, .lo-post__actions, .lo-stream__left, .lo-stream__right { display: none !important; } .lo-stream-layout { display: block; } }

/* Watchlist editor */
.lo-watchform { margin-top: 14px; }
.lo-watchform__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 0 24px; border-top: 1px solid var(--ink); }
.lo-watchform__grid label { display: grid; grid-template-columns: 18px 44px minmax(0, 1fr); gap: 0 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--faint); cursor: pointer; }
.lo-watchform__grid input { width: 18px; height: 18px; margin: 0; accent-color: var(--ink); }
.lo-watchform__grid img { width: 44px; height: 42px; object-fit: contain; filter: grayscale(1) contrast(1.12); }
.lo-watchform__grid b { display: block; font: 400 17px/1.2 var(--serif); }
.lo-watchform__grid small { display: block; font: 12px/1.5 var(--mono); color: var(--quiet); }
.lo-watchform .lo-gate__row { margin-top: 18px; }

/* ---------- Restraint pass: law-firm quiet. Headings are small caps over a hairline; no filled bars except buttons. ---------- */
.lo-label, .lo-year__label { background: none; color: var(--quiet); padding: 0 0 6px; border-bottom: 1px solid var(--ink); }
.lo-label *, .lo-year__label * { color: var(--quiet); }
.lo-label a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--ink); }
.lo-label a:hover { color: var(--green); border-bottom-color: var(--green); text-decoration: none; }
.lo-table th, .lo-measure th, .lo-obs th { background: none; color: var(--quiet); border: 0; border-bottom: 1px solid var(--ink); }
.lo-table th *, .lo-measure th * { color: var(--quiet); }
.lo-table th a { color: var(--ink); }
.lo-table, .lo-measure table { border: 0; border-top: 1px solid var(--ink); }
.lo-table td, .lo-measure td { border-left: 0; border-right: 0; border-bottom: 1px solid var(--faint); }
.lo-tag--report, .lo-av { background: var(--paper); color: var(--ink); border: 1px solid var(--ink); }
.lo-tag--report { color: var(--ink); }
.lo-av--o { color: var(--ink); }
a.lo-tag:hover, .lo-tag[aria-current] { background: var(--paper); color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.lo-side .lo-account a { background: var(--paper); color: var(--ink); }
.lo-side .lo-account a:hover { background: var(--ink); color: var(--paper); }
.lo-row__access--included::before, .lo-row__access--free::before { background: var(--ink); border-color: var(--ink); }
.lo-pull { font-style: italic; font-weight: 400; border-top-width: 1px; border-bottom-width: 1px; }
.lo-side { border-bottom-width: 1px; }
.lo-footer { border-top-width: 1px; }
.lo-toy { background: var(--paper-2); color: var(--ink); border-bottom: 1px solid var(--faint); }
.lo-toy a { color: var(--ink); }
@media print { .lo-label, .lo-year__label, .lo-table th, .lo-measure th { background: none !important; color: #000 !important; } }

/* Standalone rules for classes the base theme used to style */
.lo-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.lo-about__cols { display: grid; gap: 40px clamp(32px, 4vw, 64px); }
@media (min-width: 1280px) { .lo-about__cols { grid-template-columns: minmax(0, 72ch) minmax(280px, 340px); } }
.lo-about__side { display: grid; gap: 32px; align-content: start; }
.lo-list__body { min-width: 0; }
.lo-prevnext { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.lo-prevnext .lo-next { grid-column: 2; text-align: right; }
.lo-prevnext a:only-child { grid-column: 1; }
.lo-gate__claim { margin: 0; }
.lo-stream { min-width: 0; }
.lo-notes-in, .lo-score, .lo-watch { min-width: 0; }
.lo-login__intro span { display: block; }
