@font-face {
  font-family: "Guide Sans";
  src: url("/code/fonts/sema-consult-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --ink: #1A1A1A;
  --grey: #4A4A4A;
  --blue: #0066FF;
  --paper: #FFFFFF;
  --rail: 16rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: auto; }
body { margin: 0; }
body { background: var(--paper); }
body { color: var(--ink); }
body { font-family: "Guide Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { font-size: 16px; }
body { font-weight: 400; }
body { line-height: 1.6; }
body { overflow-wrap: break-word; }
h1, h2, h3, p, ul, figure { margin-block-start: 0; }
h1, h2, h3 { font-weight: 700; }
h1, h2, h3 { line-height: 1.15; }
h1 { font-size: 2.25rem; }
h1 { letter-spacing: -0.035em; }
h1 { margin-block-end: 1.25rem; }
h2 { font-size: 1.5rem; }
h2 { letter-spacing: -0.025em; }
h2 { margin-block-end: 1rem; }
h3 { font-size: 1.125rem; }
/* Heading levels express nesting; retain the existing section typography. */
.sema-consult-section-title { font-size: 1.5rem; }
.sema-consult-section-title { letter-spacing: -0.025em; }
.sema-consult-section-title { margin-block-end: 1rem; }
p { margin-block-end: 1rem; }
a { color: var(--blue); }
a { text-underline-offset: 0.22em; }
a { text-decoration-thickness: 1px; }
a { font-size: 1rem; }
a { transition: color 120ms ease, background-color 120ms ease, opacity 120ms ease; }
a:hover { text-decoration-thickness: 2px; }
button, textarea { font: inherit; }
button { cursor: pointer; }
button { border-radius: 0; }
button { transition: color 120ms ease, background-color 120ms ease; }
button:disabled { cursor: default; }
button:disabled { opacity: 0.65; }
textarea { border-radius: 0; }
textarea { color: var(--ink); }
:focus-visible { outline: 3px solid var(--ink); }
:focus-visible { outline-offset: 4px; }
main:focus { outline: none; }
::selection { background: var(--blue); }
::selection { color: var(--paper); }
code { font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; }
.technical-value { font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; }
[hidden] { display: none !important; }

.measure { max-inline-size: 72ch; }
.blue { color: var(--blue); }
.block { display: block; }
.weight-medium { font-weight: 500; }
.label { font-size: 0.875rem; }
.label { font-weight: 500; }
.label { line-height: 1.6; }
.label { letter-spacing: 0.01em; }
.icon { inline-size: 24px; }
.icon { block-size: 24px; }
.icon { flex-shrink: 0; }
.skip-link { position: fixed; }
.skip-link { inset-block-start: -6rem; }
.skip-link { inset-inline-start: 1rem; }
.skip-link { z-index: 20; }
.skip-link { padding: 0.75rem 1rem; }
.skip-link { min-block-size: 44px; }
.skip-link { background: var(--paper); }
.skip-link { color: var(--ink); }
.skip-link:focus { inset-block-start: 1rem; }

.site-frame { display: grid; }
.site-frame { grid-template-columns: var(--rail) minmax(0, 1fr); }
.side-index { position: sticky; }
.side-index { inset-block-start: 0; }
.side-index { block-size: 100dvh; }
.side-index { overflow-y: auto; }
.side-index { padding: 1.25rem 1rem; }
.side-index { border-inline-end: 1px solid var(--ink); }
.site-name { display: flex; }
.site-name { align-items: center; }
.site-name { gap: 0.75rem; }
.site-name { min-block-size: 60px; }
.site-name { color: var(--ink); }
.site-name { text-decoration: none; }
.site-name { font-weight: 700; }
.site-name { line-height: 1.25; }
.index-symbol { display: grid; }
.index-symbol { place-items: center; }
.index-symbol { inline-size: 2rem; }
.index-symbol { block-size: 2rem; }
.index-symbol { flex-shrink: 0; }
.index-symbol { background: var(--blue); }
.index-symbol { color: var(--paper); }
.index-symbol { font-size: 1.5rem; }
.site-caption { color: var(--grey); }
.site-caption { margin-block: 0.5rem 1.75rem; }
.index-stage { font-size: 0.875rem; }
.index-stage { font-weight: 500; }
.index-stage { color: var(--grey); }
.index-stage { margin-block: 1.15rem 0.4rem; }
.index-list { list-style: none; }
.index-list { padding: 0; }
.index-list { margin: 0; }
.index-link { display: flex; }
.index-link { justify-content: space-between; }
.index-link { align-items: center; }
.index-link { gap: 0.4rem; }
.index-link { min-block-size: 44px; }
.index-link { padding-inline: 0.65rem; }
.index-link { color: var(--ink); }
.index-link { text-decoration: none; }
.index-link { line-height: 1.35; }
.index-link[aria-current="page"] { background: var(--blue); }
.index-link[aria-current="page"] { color: var(--paper); }
.index-link[aria-current="page"] { font-weight: 500; }
.index-link:hover { background: var(--ink); }
.index-link:hover { color: var(--paper); }
.index-mark { opacity: 0; }
.index-link:hover .index-mark { opacity: 1; }
.index-link[aria-current="page"] .index-mark { opacity: 1; }
.sidebar-notes { display: flex; }
.sidebar-notes { align-items: center; }
.sidebar-notes { justify-content: space-between; }
.sidebar-notes { min-block-size: 48px; }
.sidebar-notes { margin-block-start: 1.5rem; }
.sidebar-notes { border-block-start: 1px solid var(--ink); }
.sidebar-notes { text-decoration: none; }
.page-frame { min-inline-size: 0; }
.mobile-header { display: none; }
.top-strip { display: flex; }
.top-strip { align-items: center; }
.top-strip { justify-content: space-between; }
.top-strip { gap: 1rem; }
.top-strip { padding-inline: clamp(1.5rem, 4vw, 3.5rem); }
.top-strip { min-block-size: 65px; }
.top-strip { border-block-end: 1px solid var(--ink); }
.top-strip > span { color: var(--grey); }
.top-strip a { display: inline-flex; }
.top-strip a { align-items: center; }
.top-strip a { gap: 0.5rem; }
.top-strip a { min-block-size: 44px; }
.top-strip a { text-decoration: none; }
.main-space { padding: 2.5rem clamp(1.5rem, 4vw, 3.5rem) 0; }
.main-space { max-inline-size: 90rem; }
.hero-grid { display: grid; }
.hero-grid { align-items: center; }
.intro-copy { max-inline-size: 62ch; }
.hero-copy .intro-copy:first-of-type { font-weight: 500; }
.hero-afterword { color: var(--grey); }
.hero-afterword { margin-block: 1rem 0; }
.hero-title { font-weight: 700; }
.figure-reset { margin: 0; }
.photo-space { aspect-ratio: 30 / 17; }
.photo-space { overflow: hidden; }
.photo-space { background: var(--blue); }
.photo-space { border: 1px solid var(--ink); }
.editorial-photo { display: block; }
.editorial-photo { inline-size: 100%; }
.editorial-photo { block-size: 100%; }
.editorial-photo { object-fit: cover; }
.awaiting-photo { opacity: 0; }
.photo-caption { padding-block: 0.6rem; }
.photo-caption { color: var(--grey); }
.button-primary { display: inline-flex; }
.button-primary { align-items: center; }
.button-primary { justify-content: space-between; }
.button-primary { gap: 1rem; }
.button-primary { min-block-size: 52px; }
.button-primary { padding: 0.75rem 1.1rem; }
.button-primary { background: var(--blue); }
.button-primary { color: var(--paper); }
.button-primary { border: 1px solid var(--blue); }
.button-primary { text-decoration: none; }
.button-primary { font-weight: 500; }
.button-primary:hover { background: var(--ink); }
.button-primary:hover { border-color: var(--ink); }
.button-plain { display: inline-flex; }
.button-plain { align-items: center; }
.button-plain { justify-content: center; }
.button-plain { gap: 0.75rem; }
.button-plain { min-block-size: 52px; }
.button-plain { padding: 0.75rem 1.1rem; }
.button-plain { background: var(--paper); }
.button-plain { color: var(--ink); }
.button-plain { border: 1px solid var(--ink); }
.button-plain { text-decoration: none; }
.button-plain { font-weight: 500; }
.button-plain:hover { background: var(--ink); }
.button-plain:hover { color: var(--paper); }
.path-cards { display: grid; }
.path-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.path-cards { gap: 1rem; }
.path-cards { margin-block: 2.5rem 3.5rem; }
.path-card { display: flex; }
.path-card { flex-direction: column; }
.path-card { gap: 1rem; }
.path-card { padding: 1.5rem; }
.path-card { border: 1px solid var(--ink); }
.path-card { color: var(--ink); }
.path-card { text-decoration: none; }
.path-card { min-inline-size: 0; }
.path-card .label { font-size: 1rem; }
.path-card:hover { background: var(--ink); }
.path-card:hover { color: var(--paper); }
.card-title { font-size: 1.5rem; }
.card-title { font-weight: 700; }
.card-title { letter-spacing: -0.025em; }
.card-title { line-height: 1.2; }
.card-action { margin-block-start: auto; }
.card-action { padding-block-start: 0.75rem; }
.card-action { color: var(--blue); }
.card-action { font-weight: 500; }
.path-card:hover .card-action { color: var(--paper); }
.home-row { display: grid; }
.home-row { gap: 2.5rem; }
.home-row { border-block-start: 1px solid var(--ink); }
.home-row { padding-block: 2rem; }
.home-row h2 { font-size: 2rem; }
.reading-list { padding-inline-start: 1.25rem; }
.reading-list { margin-block: 1.1rem 0; }
.reading-list li { padding-inline-start: 0.3rem; }
.reading-list li { margin-block: 0.65rem; }
.reading-list li::marker { color: var(--blue); }
.quick-checks { border-block-start: 1px solid var(--ink); }
.quick-checks { padding-block: 2rem; }
.quick-links { display: flex; }
.quick-links { flex-wrap: wrap; }
.quick-links { gap: 0.5rem 2rem; }
.quick-links a { display: inline-flex; }
.quick-links a { align-items: center; }
.quick-links a { min-block-size: 44px; }
.quick-links a { text-decoration: none; }
.article-heading { padding-block-start: 0.5rem; }
.article-heading { max-inline-size: 75ch; }
.reading-grid { display: grid; }
.reading-grid { gap: 2.5rem; }
.reading-grid > * { min-inline-size: 0; }
.reading-aside { align-self: start; }
.carry-note { border: 1px solid var(--ink); }
.carry-note { padding: 1.25rem; }
.carry-note { margin-block-end: 1.5rem; }
.carry-note p:last-child { margin-block-end: 0; }
.aside-title { font-size: 1.25rem; }
.inline-source { display: inline-flex; }
.inline-source { align-items: center; }
.inline-source { min-block-size: 44px; }
.inline-source { max-inline-size: 100%; }
.inline-source { padding-block: 0.25rem; }
.takeaway { border-block-start: 1px solid var(--ink); }
.takeaway { margin-block-start: 2rem; }
.takeaway { padding: 1.5rem; }
.takeaway { background: var(--blue); }
.takeaway { color: var(--paper); }
.takeaway-copy { max-inline-size: 65ch; }
.takeaway-copy { margin-block-end: 0; }
.takeaway-copy { font-weight: 500; }
.takeaway-copy { font-size: 1.125rem; }
.notes-region { max-inline-size: 72ch; }
.notes-region { margin-block: 2.75rem; }
.notes-heading { display: flex; }
.notes-heading { align-items: center; }
.notes-heading { justify-content: space-between; }
.notes-heading { margin-block-end: 0.75rem; }
.notes-label { display: block; }
.notes-label { font-weight: 500; }
.notes-label { margin-block: 1.25rem 0.5rem; }
.notes-input { inline-size: 100%; }
.notes-input { min-block-size: 145px; }
.notes-input { padding: 0.75rem; }
.notes-input { border: 1px solid var(--ink); }
.notes-input { background: var(--paper); }
.notes-input { resize: vertical; }
.notes-actions { display: flex; }
.notes-actions { flex-wrap: wrap; }
.notes-actions { gap: 0.75rem; }
.notes-actions { margin-block-start: 0.75rem; }
.notes-status { color: var(--grey); }
.notes-status { margin-block-start: 0.75rem; }
.collection-region { padding-block: 1.75rem; }
.saved-entry { border: 1px solid var(--ink); }
.saved-entry { margin-block: 1rem; }
.saved-entry { padding: 1rem; }
.saved-entry > a { display: inline-flex; }
.saved-entry > a { align-items: center; }
.saved-entry > a { min-block-size: 44px; }
.saved-entry > a { font-weight: 500; }
.saved-note { white-space: pre-wrap; }
.saved-note { overflow-wrap: anywhere; }
.saved-note { margin-block: 0.5rem 0; }
.page-turn { display: grid; }
.page-turn { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.page-turn { gap: 1rem; }
.page-turn { border-block-start: 1px solid var(--ink); }
.page-turn { padding-block: 1.5rem 2.5rem; }
.previous-link, .next-link { display: flex; }
.previous-link, .next-link { align-items: center; }
.previous-link, .next-link { min-block-size: 52px; }
.previous-link, .next-link { text-decoration: none; }
.previous-link { color: var(--grey); }
.next-link { justify-content: space-between; }
.next-link { gap: 1rem; }
.next-link { font-weight: 500; }
.previous-label { align-self: center; }
.previous-label { color: var(--grey); }
.footer { background: var(--ink); }
.footer { color: var(--paper); }
.footer { padding: 1.75rem clamp(1.5rem, 4vw, 3.5rem); }
.footer-links { display: flex; }
.footer-links { flex-wrap: wrap; }
.footer-links { gap: 0.5rem 2rem; }
.footer-links a { display: inline-flex; }
.footer-links a { align-items: center; }
.footer-links a { min-block-size: 44px; }
.footer-links a { color: var(--paper); }
.footer-links a { text-decoration: none; }
.error-links { display: flex; }
.error-links { flex-wrap: wrap; }
.error-links { gap: 1rem; }

@media (min-width: 1800px) {
  .main-space { padding-inline-end: 5rem; }
}
@media (max-width: 1100px) {
  :root { --rail: 14.5rem; }
  .reading-aside { display: grid; }
  .reading-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reading-aside { gap: 1.5rem; }
  .carry-note { margin-block-end: 0; }
  .path-cards { grid-template-columns: minmax(0, 1fr); }
  .path-card { padding: 1.25rem; }
}
@media (max-width: 760px) {
  .site-frame { grid-template-columns: minmax(0, 1fr); }
  .side-index { display: none; }
  .top-strip { display: none; }
  .mobile-header { display: flex; }
  .mobile-header { flex-wrap: wrap; }
  .mobile-header { justify-content: space-between; }
  .mobile-header { align-items: start; }
  .mobile-header { padding: 1rem 1.5rem; }
  .mobile-header { border-block-end: 1px solid var(--ink); }
  .mobile-name { display: inline-flex; }
  .mobile-name { flex-direction: column; }
  .mobile-name { justify-content: center; }
  .mobile-name { min-block-size: 44px; }
  .mobile-name { color: var(--ink); }
  .mobile-name { font-weight: 700; }
  .mobile-name { text-decoration: none; }
  .mobile-name { line-height: 1.25; }
  .mobile-index { inline-size: 100%; }
  .mobile-index { margin-block-start: 0.5rem; }
  .index-toggle { display: flex; }
  .index-toggle { align-items: center; }
  .index-toggle { justify-content: space-between; }
  .index-toggle { min-block-size: 44px; }
  .index-toggle { cursor: pointer; }
  .index-toggle { color: var(--blue); }
  .index-toggle { font-weight: 500; }
  .index-toggle { list-style: none; }
  .index-toggle::-webkit-details-marker { display: none; }
  .mobile-index[open] .index-toggle > span { transform: rotate(45deg); }
  .mobile-index nav { border-block-start: 1px solid var(--ink); }
  .mobile-index nav { padding-block: 0.5rem 1rem; }
  .main-space { padding-block-start: 1.75rem; }
  .path-cards { margin-block: 2rem; }
  .home-row { gap: 0.5rem; }
  .home-row h2 { font-size: 1.75rem; }
  .reading-aside { grid-template-columns: minmax(0, 1fr); }
  .reading-grid { gap: 1.5rem; }
  .carry-note { padding: 1.25rem; }
  .page-turn { grid-template-columns: minmax(0, 1fr); }
  .page-turn { gap: 0.5rem; }
  .previous-label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
}
@media print {
  .site-frame { display: block; }
  .side-index, .mobile-header, .top-strip, .page-turn, .footer-links, .notes-region, .reading-aside { display: none; }
  .main-space { padding: 0; }
  .reading-grid { display: block; }
  .takeaway { background: var(--paper); }
  .takeaway { color: var(--ink); }
  .footer { background: var(--paper); }
  .footer { color: var(--ink); }
  .inline-source { display: inline; }
  .inline-source { padding: 0; }
  button { display: none; }
  .saved-entry { break-inside: avoid; }
}
