/* Generated by _scripts/core_styles.py; edit the source files. */
/* Source: styles.css */
/* Editorial ledger. Design tokens and layout shared by every public page. */
:root {
  --paper: #f1f3ed; --paper-light: #fafbf7; --panel: #e2e8dc;
  --basalt: #111b16; --ink-soft: #48534b; --green: #243d30;
  --red: #b42332; --line: #c7cec3; --line-dark: #6c776d;
  --sans: "Schibsted Grotesk", "Segoe UI", Arial, sans-serif;
  --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --mono: "IBM Plex Mono", Consolas, "Liberation Mono", monospace;
  --max: 1240px; --rail: 154px; --gutter: 42px;
}
* { box-sizing: border-box; }
html { background: var(--paper); scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; color: var(--basalt); background: var(--paper); font-family: var(--sans); line-height: 1.6; -webkit-font-smoothing: antialiased; }
::selection { background: var(--red); color: white; }
a { color: inherit; text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { text-decoration-color: var(--red); }
h1, h2, h3, p, figure { margin-top: 0; }
h1, h2, h3 { font-family: var(--sans); line-height: 1.12; letter-spacing: -.045em; }
h1, h2 { font-weight: 750; }
p { margin-bottom: 1.25rem; }
.shell, .ledger { width: min(calc(100% - 80px), var(--max)); margin-inline: auto; }
.site-bar { color: #e2e8dc; background: var(--basalt); font: 400 .65rem/1.5 var(--mono); letter-spacing: .055em; text-transform: uppercase; }
.site-bar .shell { display: flex; justify-content: space-between; gap: 20px; padding-block: 8px; }
.site-bar a { text-decoration: none; }
.site-header { position: sticky; top: 0; z-index: 20; background: var(--paper); }
.nav { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 76px; border-bottom: 1px solid var(--line-dark); }
.brand { display: inline-flex; align-items: center; gap: 11px; font-size: .95rem; font-weight: 700; letter-spacing: -.025em; text-decoration: none; white-space: nowrap; }
.brand-mark { display: grid; place-items: center; width: 33px; height: 33px; color: var(--paper); background: var(--basalt); font-size: .85rem; letter-spacing: -.06em; }
.nav-links { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; list-style: none; padding: 0; margin: 0; }
.nav-links a { display: inline-flex; align-items: center; min-height: 44px; font: .69rem/1.2 var(--mono); text-transform: uppercase; text-decoration: none; }
.nav-links a[aria-current] { text-decoration: underline; text-decoration-color: var(--red); text-underline-offset: 6px; }
.nav-links li:last-child a { padding: 12px 18px; background: var(--basalt); color: var(--paper); }
.nav-links li:last-child a:hover { background: var(--red); }
.ledger { position: relative; }
.ledger::before { content: ""; position: absolute; top: 0; bottom: 0; left: var(--rail); width: 2px; background: var(--red); opacity: .6; pointer-events: none; }
.ledger .shell { width: 100%; margin: 0; }
.folio-row, .editorial-grid { display: grid; grid-template-columns: var(--rail) minmax(0, 1fr); column-gap: var(--gutter); }
.section { padding: 56px 0; border-top: 1px solid var(--line-dark); }
.section-meta { padding-top: 5px; display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.section-number { color: var(--red); font: 750 3.35rem/1 var(--sans); letter-spacing: -.06em; }
.section-label, .eyebrow, .note-label, .page-kicker, .copy-label, .note-category, .utility-label { font: 400 .69rem/1.5 var(--mono); text-transform: uppercase; letter-spacing: .035em; }
.section-label { margin: 0; max-width: 128px; color: var(--ink-soft); }
.section-content { min-width: 0; }
.section-title { font-size: clamp(2rem, 3.5vw, 3rem); margin: 0 0 14px; }
.section-deck { font: 1.16rem/1.55 var(--serif); max-width: 620px; margin-bottom: 30px; }
.hero { padding-block: 32px 60px; }
.hero .section-meta { padding-top: 6px; }
.hero-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 0 0 46px; background: repeating-linear-gradient(transparent 0, transparent 30px, #dde2d744 30px, #dde2d744 31px); }
.hero h1 { display: inline-block; width: fit-content; max-width: 100%; font-size: clamp(3.6rem, 8.9vw, 7.45rem); font-weight: 750; letter-spacing: -.066em; line-height: 1.02; margin: 0; border-bottom: 5px double var(--red); padding: 0 0 9px; }
.seal { width: 152px; height: 152px; flex: 0 0 152px; color: var(--red); transform: rotate(-12deg); }
.seal circle, .seal path { fill: none; stroke: currentColor; }
.seal .seal-copy { fill: currentColor; font: 10px var(--mono); letter-spacing: 1.8px; }
.seal .seal-nk { fill: currentColor; font: 750 45px var(--sans); letter-spacing: -3px; }
.hero-details { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(270px, .9fr); gap: 45px; align-items: start; }
.hero-copy { font: 1.7rem/1.32 var(--serif); letter-spacing: -.02em; margin: 16px 0 16px; max-width: 630px; }
.hero-caption { color: var(--ink-soft); font: 1.1rem/1.6 var(--serif); max-width: 560px; margin-bottom: 28px; }
.link-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
.text-link, .button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; font: 500 .83rem/1.3 var(--sans); }
.button { background: var(--basalt); color: var(--paper-light); padding: 13px 19px; border: 1px solid var(--basalt); text-decoration: none; }
.button:hover { background: var(--red); border-color: var(--red); }
.button-red { background: var(--red); border-color: var(--red); color: white; }
.button-red:hover { background: #931927; border-color: #931927; }
.at-glance { border: 1px solid var(--line-dark); background: var(--paper-light); margin-top: 14px; }
.at-glance h2 { font: .68rem/1.5 var(--mono); text-transform: uppercase; letter-spacing: .07em; padding: 12px 15px; border-bottom: 1px solid var(--red); margin: 0; }
.at-glance dl { margin: 0; padding: 0 15px; }
.at-glance dl > div { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.at-glance dl > div:last-child { border: 0; }
.at-glance dt { font: .65rem/1.7 var(--mono); text-transform: uppercase; color: var(--ink-soft); }
.at-glance dd { margin: 0; font-size: .8rem; line-height: 1.5; text-align: right; }
.stat-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 42px 0 0; }
.stat-strip > div { border-top: 1px solid var(--basalt); padding-top: 13px; }
.stat-strip dt { font: 750 clamp(1.8rem, 3.1vw, 2.8rem)/1.2 var(--sans); letter-spacing: -.055em; }
.stat-strip dd { margin: 6px 0 0; font: .65rem/1.6 var(--mono); color: var(--ink-soft); text-transform: uppercase; }
.interest-list { border-top: 1px solid var(--line); }
.work-row { display: grid; grid-template-columns: 160px minmax(0, 1.2fr) minmax(190px, .8fr); gap: 27px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.work-art { align-self: start; background: var(--panel); position: relative; aspect-ratio: 1.4; }
.work-art svg { width: 100%; height: 100%; display: block; fill: none; stroke: var(--basalt); stroke-width: 1.25; }
.work-art .accent { stroke: var(--red); }
.work-art .fill-accent { fill: var(--red); stroke: var(--red); }
.work-letter { position: absolute; top: 7px; left: 9px; color: var(--red); font: .65rem var(--mono); }
.work-copy h3 { margin-bottom: 12px; font-size: 1.45rem; }
.work-copy p { font: 1.08rem/1.55 var(--serif); margin-bottom: 0; }
.work-facts { margin: 0; border-top: 1px solid var(--line-dark); align-self: start; }
.work-facts > div { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.work-facts dt { font: .6rem/1.7 var(--mono); color: var(--ink-soft); text-transform: uppercase; }
.work-facts dd { margin: 0; font-size: .78rem; line-height: 1.55; }
.reading-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .91rem; }
.reading-table th { background: var(--basalt); color: var(--paper); text-align: left; font: .66rem/1.5 var(--mono); text-transform: uppercase; letter-spacing: .03em; padding: 12px 16px; }
.reading-table th:first-child { width: 105px; }
.reading-table th:last-child { width: 160px; }
.reading-table td { padding: 17px 16px; vertical-align: top; border-bottom: 1px solid var(--line); }
.reading-table tbody tr:nth-child(odd) { background: var(--panel); }
.reading-table td:first-child, .reading-table td:last-child { font: .66rem/1.6 var(--mono); color: var(--ink-soft); text-transform: uppercase; }
.reading-table td a { display: inline-block; font-weight: 550; }
.collection-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line-dark); font: .66rem/1.5 var(--mono); text-transform: uppercase; color: var(--ink-soft); }
.resource-list { border-top: 1px solid var(--line); }
.resource-row { display: grid; grid-template-columns: 100px minmax(0, 1fr) 74px; gap: 22px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.resource-date, .resource-kind { font: .66rem/1.6 var(--mono); color: var(--ink-soft); text-transform: uppercase; padding-top: 4px; }
.resource-kind { text-align: right; }
.resource-row h3 { margin: 0 0 8px; font-size: 1.06rem; letter-spacing: -.025em; line-height: 1.4; }
.resource-row p { margin: 0; font: 1.04rem/1.6 var(--serif); }
.contact-block { background: var(--basalt); color: var(--paper); padding: 40px; }
.contact-block h2 { margin: 0 0 22px; font-size: clamp(2.5rem, 4.7vw, 4.2rem); }
.contact-block .contact-bottom { display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.contact-block p { font: 1.15rem/1.6 var(--serif); max-width: 530px; margin: 0; color: #d4ddd2; }
.contact-block .button { flex-shrink: 0; }
.page-hero { padding: 52px 0 48px calc(var(--rail) + var(--gutter)); }
.page-kicker { color: var(--red); margin-bottom: 18px; }
.page-title { font-size: clamp(2.7rem, 5.6vw, 5rem); max-width: 1000px; margin: 0; overflow-wrap: break-word; }
.page-deck, .intro { font: 1.65rem/1.4 var(--serif); letter-spacing: -.02em; max-width: 760px; margin-bottom: 28px; }
.prose { font: 1.16rem/1.75 var(--serif); overflow-wrap: break-word; }
.prose > p { max-width: 760px; }
.prose h2 { font: 700 1.6rem/1.25 var(--sans); letter-spacing: -.035em; margin: 2.2rem 0 1rem; max-width: 760px; }
.prose h2:first-child { margin-top: 0; }
.prose > h3 { font: 650 1.25rem/1.35 var(--sans); }
.notes-list { border-top: 1px solid var(--line-dark); margin-block: 28px; }
.note-entry { padding: 27px 0; border-bottom: 1px solid var(--line); }
.note-category { color: var(--red); margin: 0 0 12px; }
.note-entry h3 { font-size: 1.6rem; line-height: 1.25; margin-bottom: 12px; }
.note-entry p:last-child { color: var(--ink-soft); font: 1.1rem/1.6 var(--serif); margin: 0; }
.breadcrumb { display: inline-flex; min-height: 36px; align-items: center; font: .72rem var(--mono); margin-bottom: 20px; }
.note-meta { font: .7rem/1.6 var(--mono); color: var(--ink-soft); margin: 22px 0 0; text-transform: uppercase; }
.ledger .article-body { padding: 0 0 60px calc(var(--rail) + var(--gutter)); }
.article-body > * { max-width: 720px; }
.article-body > .article-lead { font-size: 1.5rem; line-height: 1.5; }
.article-takeaway { padding: 20px 22px; margin-block: 32px; background: var(--panel); border-left: 3px solid var(--red); }
.editorial-note, .small-copy { color: var(--ink-soft); font: .83rem/1.7 var(--sans); }
.editorial-note { margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--line); }
.article-navigation { display: flex; flex-wrap: wrap; gap: 15px 30px; padding-top: 12px; font: .8rem/1.7 var(--sans); }
.bio-block { border-top: 1px solid var(--line); padding: 25px 0; margin-top: 28px; }
.bio-block p { max-width: 760px; }
.prose .bio-block h2 { font: .7rem var(--mono); color: var(--red); margin-top: 0; text-transform: uppercase; }
.card-qr-wrap { display: flex; gap: 24px; align-items: center; max-width: 580px; border-top: 1px solid var(--line); padding-top: 28px; margin-top: 28px; }
.card-qr { width: 132px; height: 132px; flex-shrink: 0; border: 8px solid var(--paper-light); background: var(--paper-light); }
.card-qr-wrap p { font: .9rem/1.6 var(--sans); margin: 0; }
.contact-form { margin: 28px 0; padding: 28px 0; border-top: 1px solid var(--line-dark); }
.contact-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.field { display: grid; gap: 9px; }
.field > span { font: .7rem/1.5 var(--mono); text-transform: uppercase; letter-spacing: .02em; }
.field em { font-style: normal; text-transform: none; color: var(--ink-soft); }
.field input, .field select, .field textarea { width: 100%; min-width: 0; border: 1px solid var(--line-dark); border-radius: 0; background: var(--paper-light); color: var(--basalt); font: 1rem/1.5 var(--sans); padding: 12px 14px; }
.field select { min-height: 50px; }
.field textarea { min-height: 190px; resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: var(--ink-soft); opacity: 1; }
.message-field { margin-top: 24px; }
.turnstile-wrap { display: grid; gap: 10px; margin-top: 24px; padding-block: 18px 4px; border-top: 1px solid var(--line); }
.turnstile-wrap p { font: .8rem/1.6 var(--sans); margin: 0; color: var(--ink-soft); }
.challenge-widget { max-width: 100%; }
.inline-button { justify-self: start; border: 0; padding: 8px 0; background: transparent; color: var(--red); font: .85rem/1.5 var(--sans); text-decoration: underline; min-height: 40px; cursor: pointer; }
.form-footer { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-top: 22px; }
.form-footer p { font: .8rem/1.6 var(--sans); color: var(--ink-soft); max-width: 560px; margin: 0; }
.submit-button { background: var(--red); color: white; border: 1px solid var(--red); padding: 14px 22px; min-height: 48px; flex-shrink: 0; font: 500 .88rem/1.4 var(--sans); cursor: pointer; }
.submit-button:hover:not(:disabled) { background: #931927; }
.submit-button:disabled { opacity: .6; cursor: wait; }
.form-message { padding: 16px 20px; border-left: 3px solid var(--red); background: #f5e6e5; color: #7b1821; margin-top: 24px; font: .96rem/1.6 var(--sans); }
.form-success { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; padding: 30px; background: var(--panel); border: 1px solid var(--line-dark); margin-block: 30px; }
.form-success h2 { font: 700 1.7rem/1.2 var(--sans); margin-top: 0; }
.form-success p { font-size: 1.05rem; }
.status-dot { width: 9px; height: 9px; margin-top: 8px; background: var(--red); border-radius: 50%; }
.worksheet { padding: 0 0 32px; margin-bottom: 32px; border-bottom: 1px solid var(--line); scroll-margin-top: 100px; }
.worksheet h2 { margin-top: 0; }
.worksheet details { margin-top: 20px; border: 1px solid var(--line); background: var(--paper-light); }
.worksheet summary { font: .87rem/1.5 var(--sans); padding: 15px 18px; cursor: pointer; }
.worksheet pre { font: .85rem/1.7 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; padding: 18px; border-top: 1px solid var(--line); }
.worksheet .text-link { font-size: .8rem; }
footer { width: min(calc(100% - 80px), var(--max)); margin-inline: auto; padding-block: 24px 32px; border-top: 1px solid var(--line-dark); }
.footer-row { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 18px 30px; }
footer .shell { width: 100%; margin: 0; }
.footer-identity, .footer-types { font: .65rem/1.6 var(--mono); text-transform: uppercase; letter-spacing: .025em; color: var(--ink-soft); }
.footer-links { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.footer-links a { display: inline-flex; align-items: center; min-height: 32px; font: .65rem var(--mono); text-transform: uppercase; }
.footer-types { margin: 14px 0 0; font-size: .59rem; }
@media (max-width: 1050px) {
  :root { --rail: 108px; --gutter: 30px; }
  .shell, .ledger, footer { width: min(calc(100% - 56px), var(--max)); }
  .hero-heading { padding-bottom: 32px; }
  .hero h1 { font-size: clamp(3rem, 8.6vw, 6rem); }
  .seal { flex-basis: 118px; width: 118px; height: 118px; }
  .hero-details { gap: 28px; grid-template-columns: minmax(0, 1.1fr) minmax(230px, .9fr); }
  .hero-copy { font-size: 1.5rem; }
  .work-row { grid-template-columns: 120px minmax(0, 1fr); gap: 25px; }
  .work-facts { grid-column: 2; }
  .work-facts > div { grid-template-columns: 75px minmax(0, 1fr); }
  .section-label { max-width: 100px; }
  .contact-block { padding: 32px; }
  .contact-block .contact-bottom { align-items: start; flex-direction: column; }
}
@media (max-width: 760px) {
  :root { --rail: 0px; --gutter: 0px; }
  .shell, .ledger, footer { width: calc(100% - 40px); }
  .ledger::before { display: none; }
  .nav { gap: 12px; min-height: 72px; }
  .nav-links { gap: 15px; }
  .nav-links a { font-size: .64rem; }
  .nav-links li:last-child a { padding: 10px 12px; }
  .folio-row, .editorial-grid { grid-template-columns: minmax(0, 1fr); }
  .section-meta { flex-direction: row; gap: 15px; align-items: center; padding: 0; margin-bottom: 26px; }
  .section-number { font-size: 2.65rem; }
  .section-label { max-width: none; }
  .hero { padding-block: 28px 42px; }
  .hero .section-meta { margin-bottom: 14px; }
  .hero-heading { padding-bottom: 24px; }
  .hero h1 { font-size: clamp(3.25rem, 10.5vw, 5.7rem); }
  .seal { width: 104px; height: 104px; flex-basis: 104px; }
  .hero-details { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .hero-copy { font-size: 1.7rem; margin-top: 0; }
  .at-glance { margin-top: 0; }
  .at-glance dl > div { grid-template-columns: 86px minmax(0, 1fr); }
  .stat-strip { margin-top: 30px; }
  .section { padding-block: 36px 44px; }
  .page-hero { padding: 36px 0; }
  .page-title { font-size: clamp(2.5rem, 8.5vw, 4rem); }
  .ledger .article-body { padding: 0 0 42px; }
  .work-row { grid-template-columns: 104px minmax(0, 1fr); gap: 20px; }
  .resource-row { grid-template-columns: 78px minmax(0, 1fr); gap: 12px; }
  .resource-kind { grid-column: 2; text-align: left; padding-top: 0; }
  .reading-table th:last-child, .reading-table td:last-child { display: none; }
  .reading-table th:first-child { width: 84px; }
  .reading-table th, .reading-table td { padding: 14px 12px; }
  .contact-block { padding: 28px; }
  .form-footer { flex-direction: column; align-items: stretch; gap: 20px; }
  .card-qr-wrap { gap: 18px; }
}
@media (max-width: 520px) {
  .site-bar .shell { gap: 8px; font-size: .55rem; }
  .site-bar .site-edition { letter-spacing: 0; }
  .brand > span:last-child { display: none; }
  .nav-links { gap: 13px; }
  .nav-links a { font-size: .61rem; }
  .nav-links li:last-child a { padding-inline: 11px; }
  .hero-heading { display: block; position: relative; }
  .hero h1 { font-size: clamp(3.2rem, 12.7vw, 4.4rem); }
  .seal { display: none; }
  .hero-copy { font-size: 1.52rem; }
  .stat-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .work-row { grid-template-columns: 78px minmax(0, 1fr); gap: 16px; }
  .work-copy h3 { font-size: 1.25rem; }
  .work-copy p { font-size: 1.03rem; }
  .work-facts { grid-column: 1 / -1; }
  .work-facts > div { grid-template-columns: 78px minmax(0, 1fr); }
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .form-success { padding: 22px; }
  .card-qr { width: 100px; height: 100px; }
  .contact-block .button { width: 100%; }
  .resource-row { grid-template-columns: minmax(0, 1fr); }
  .resource-kind { grid-column: 1; }
}


/* Source: assets/site.css */
/* State and accessibility rules, independent from the approved decorative styling. */
[hidden] { display: none !important; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--red); outline-offset: 4px; }
.site-bar a:focus-visible, .contact-block a:focus-visible, .nav-links li:last-child a:focus-visible { outline-color: #50715b; }
main:focus { outline: none; }
.form-success:focus, .form-message:focus { outline: 2px solid var(--red); outline-offset: 6px; }
.visually-hidden, .honeypot { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.honeypot { pointer-events: none; }
.skip-link { position: fixed; top: 8px; left: 8px; transform: translateY(-180%); z-index: 100; background: var(--basalt); color: white; padding: 12px 18px; }
.skip-link:focus { transform: none; }
/* Preserve content when readers enlarge text or override spacing. */
.hero h1, .contact-block h2 { overflow-wrap: anywhere; }
.hero-details > *, .work-copy, .work-facts, .at-glance dd, .form-grid > * { min-width: 0; overflow-wrap: anywhere; }
.site-bar .shell { flex-wrap: wrap; }
.contact-form fieldset { min-inline-size: 0; }
.worksheet .worked-example > .prose { padding: 18px; border-top: 1px solid var(--line); }
.worksheet .worked-example > .prose > :last-child, .article-takeaway > :last-child { margin-bottom: 0; }
.worksheet > .link-row { margin-top: 20px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  .site-bar, .site-header, footer, .skip-link, .article-navigation, .contact-form, .seal { display: none !important; }
  body { background: white; color: black; }
  .ledger { width: 100%; }
  .ledger::before { display: none; }
  .page-hero, .ledger .article-body { padding: 0 0 18px; }
  .page-title { font-size: 2rem; }
  .section { padding: 18px 0; }
  .folio-row, .editorial-grid { display: block; }
  .work-row, .resource-row, .note-entry, .worksheet { break-inside: avoid; }
}


/* Source: assets/hubs.css */
/* Personal gateway and topic sections. The approved base design stays unchanged. */
.brand-home { padding-bottom: 32px; }
.brand-home .hero-heading { padding-bottom: 24px; }
.brand-home .brand-statement { max-width: 800px; font-size: clamp(1.9rem, 3.5vw, 3rem); line-height: 1.2; margin-top: 4px; }
.brand-home .hero-caption { max-width: 640px; margin-bottom: 0; }
.destination-section { padding-block: 30px 42px; }
.destination-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 20px; }
.destination { display: flex; flex-direction: column; min-width: 0; padding: 30px; border: 1px solid var(--line-dark); text-decoration: none; }
.destination h3 { font-size: clamp(1.8rem, 3.3vw, 2.8rem); overflow-wrap: anywhere; margin: 22px 0 16px; }
.destination p { font: 1.1rem/1.6 var(--serif); max-width: 33ch; margin-bottom: 28px; }
.destination-label { font: .68rem/1.6 var(--mono); text-transform: uppercase; }
.destination-action { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: auto; padding-top: 16px; border-top: 1px solid currentColor; font: 500 .9rem/1.5 var(--sans); }
.destination-action > span { font-size: 1.4rem; }
.destination-technology { grid-column: 1 / -1; background: var(--green); color: var(--paper-light); border-top: 4px solid var(--red); padding: 30px 34px; }
.destination-technology h3 { font-size: clamp(2.25rem, 5.7vw, 4.6rem); margin: 18px 0 14px; }
.destination-technology p { max-width: 44ch; font-size: 1.2rem; }
.technology-panel-body { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 30px; align-items: center; }
.technology-topics { display: grid; align-content: center; gap: 12px; border-left: 1px solid #809489; padding-left: 28px; font: .8rem/1.65 var(--mono); }
.technology-topics span { display: block; }
.destination-poker { background: var(--panel); color: var(--basalt); }
.destination-creative { background: var(--paper-light); }
.topic-introduction { padding-top: 24px; }
.topic-introduction .intro { font-family: var(--serif); font-weight: 400; }
.destination-copy { min-width: 0; }
.site-bar .shell { flex-wrap: wrap; }
@media (max-width: 1050px) and (min-width: 761px) {
  .technology-panel-body { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .technology-topics { display: none; }
}
@media (max-width: 620px) {
  .nav { flex-wrap: wrap; padding-block: 8px; gap: 4px 14px; }
  .nav-links { flex: 1; display: grid; grid-template-columns: auto auto auto; justify-content: end; gap: 2px 12px; }
  .nav-links a { white-space: nowrap; }
  .nav-links li:nth-child(4) { grid-column: 2; justify-self: end; }
  .nav-links li:last-child { grid-column: 3; justify-self: end; }
  .nav-links li:last-child a { padding: 0; background: transparent; color: var(--basalt); text-decoration: underline; }
  .nav { align-items: flex-start; }
  .nav .brand { margin-top: 5px; }
}
@media (prefers-reduced-motion: no-preference) {
  .destination { transition: border-color .15s ease; }
}

.destination:hover h3, .destination:focus-visible h3 { text-decoration: underline; text-underline-offset: .15em; }
.destination:focus-visible { outline: 3px solid var(--red); outline-offset: 4px; }
.home-connection { padding-block: 28px 36px; }
.home-connection .section-content > p { font: 1.1rem/1.6 var(--serif); margin-bottom: 12px; }
.subsite-bar { border-bottom: 1px solid var(--line); background: var(--panel); }
.subsite-bar .shell { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; padding-block: 8px; }
.subsite-name { font: 500 .7rem/1.5 var(--mono); text-transform: uppercase; }
.subsite-links { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.subsite-links a { display: inline-flex; align-items: center; min-height: 44px; font: .8rem/1.5 var(--sans); }
.subsite-links a[aria-current] { font-weight: 700; text-decoration-color: var(--red); }
.poker-introduction { padding-top: 24px; }
.poker-introduction .intro { font-family: var(--serif); font-weight: 400; }
.poker-lede { max-width: 680px; font: 1.1rem/1.65 var(--serif); }
.poker-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
.poker-principles > div { border-top: 2px solid var(--line-dark); padding-top: 18px; min-width: 0; }
.poker-principles h3 { font-size: 1.35rem; margin-bottom: 10px; }
.poker-principles p { font: 1rem/1.65 var(--serif); margin: 0; }
.poker-feature { padding: 30px; background: var(--panel); border-left: 3px solid var(--red); }
.resource-help { margin-top: 18px; max-width: 640px; }
.fictional-hand { margin-block: 28px; padding: 26px; background: var(--panel); border: 1px solid var(--line-dark); }
.fictional-hand h3 { margin-bottom: 18px; }
.hand-illustration { margin: 24px 0; }
.card-groups { display: flex; flex-wrap: wrap; gap: 24px 32px; }
.card-group-label { font: .7rem/1.5 var(--mono); text-transform: uppercase; margin-bottom: 10px; }
.card-row { display: flex; flex-wrap: wrap; gap: 8px; }
.playing-card { display: grid; place-items: center; width: 52px; height: 72px; border: 1px solid var(--line-dark); border-radius: 3px; background: var(--paper-light); color: var(--basalt); font: 700 1.45rem/1.2 var(--sans); }
.card-red { color: var(--red); }
.hand-illustration figcaption { margin-top: 16px; font: .85rem/1.65 var(--sans); }
.hand-facts { margin: 24px 0; }
.hand-facts > div { border-top: 1px solid var(--line-dark); padding: 14px 0; }
.hand-facts dt { font: 600 .85rem/1.5 var(--sans); margin-bottom: 5px; }
.hand-facts dd { margin: 0; }
.poker-guide .link-row { align-items: flex-start; }
@media (max-width: 760px) {
  .destination-grid { grid-template-columns: minmax(0, 1fr); }
  .destination { padding: 24px; }
  .technology-panel-body { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .technology-topics { display: none; }
  .destination-technology h3 { font-size: clamp(1.85rem, 7.8vw, 3.5rem); }
  .destination-technology p { font-size: 1.15rem; }
  .destination h3 { margin-top: 16px; }
  .destination p { max-width: 46ch; }
  .poker-principles { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .poker-feature { padding: 24px; }
  .subsite-bar .shell { align-items: flex-start; flex-direction: column; gap: 0; }
  .subsite-links { gap: 6px 20px; }
  .fictional-hand { padding: 18px; }
}
@media print {
  .subsite-bar { display: none; }
  .destination, .poker-feature, .fictional-hand { background: white; color: black; }
  .playing-card { color: black; background: white; }
}

/* Living Well major destination; retain Technology first and the existing Poker/Creative pair. */
.destination-living-well { grid-column: 1 / -1; background: var(--paper-light); border-top: 3px solid var(--green); }
.destination-living-well p { max-width: 64ch; }
@media (max-width: 620px) {
  .nav-links li:nth-child(4), .nav-links li:last-child { grid-column: auto; justify-self: auto; }
  .nav-links { grid-template-columns: repeat(3, minmax(0, auto)); gap: 2px 12px; }
}
@media (max-width: 400px) {
  .nav { flex-direction: column; align-items: stretch; }
  .nav .brand { align-self: flex-start; }
  .nav-links { width: 100%; justify-content: space-between; }
}

/* Personal architecture: identity first, selected reading second, topic libraries third. */
.identity-actions { margin-top: 24px; }
.identity-selection { padding-block: 36px; }
.identity-readings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.identity-reading { min-width: 0; border-top: 2px solid var(--line-dark); padding-top: 18px; }
.identity-reading h3 { font-size: 1.25rem; line-height: 1.3; margin-bottom: 12px; overflow-wrap: anywhere; }
.identity-reading p:not(.note-category) { font: 1rem/1.65 var(--serif); margin-bottom: 0; }
.identity-reading .note-category { color: var(--ink-soft); line-height: 1.6; }
.identity-reading-footer { margin: 22px 0 0; }
.site-bar .utility-start { text-decoration: underline; min-height: 24px; display: inline-flex; align-items: center; }
.site-bar .shell { align-items: center; }
.identity-footer a { margin-left: 12px; }
@media (max-width: 900px) {
  .identity-readings { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .identity-reading { max-width: 70ch; }
}
@media (max-width: 620px) {
  .site-bar .site-edition { display: none; }
  .identity-footer a { display: block; margin-left: 0; margin-top: 10px; }
}

/* Reading context and utility discovery; preserve the six-item subject navigation. */
.utility-navigation { display:flex; flex-wrap:wrap; gap:18px; align-items:center; }
.site-bar .utility-navigation a { display:inline-flex; align-items:center; min-height:28px; text-decoration:underline; }
.site-bar .utility-navigation a[aria-current] { text-decoration-thickness:2px; }
.reading-date, .identity-reading p.reading-date { font: .78rem/1.6 var(--sans); color:var(--ink-soft); margin:12px 0 0; }
.essay-context { font:.82rem/1.5 var(--sans); color:var(--ink-soft); margin:12px 0 0; }
@media (max-width: 760px) { .site-bar .site-edition { display:none; } }
@media (max-width: 360px) { .site-bar .shell { gap:10px; } .utility-navigation { gap:12px; } }

/* Keep the compact site shortcuts usable at narrow widths and enlarged text. */
@media (max-width: 420px) {
  .site-bar .shell { flex-wrap: wrap; row-gap: 2px; }
  .site-bar .utility-navigation { gap: 14px; }
}

