/* Extend Raven’s monochrome terminal language. */
:root { --dim: #b4b4b4; --dimmer: #929292; }
body { font-size: 1rem; }
.hero-preface { max-width: 86ch; }
.hero-preface .lead, .lead, .band-sub, .row p, .card-p, .branch-card p,
.benefit-card dd, .acc-body, .score-item p, .prose p, .prose li { font-size: 1rem; line-height: 1.7; }
.hero-preface .headline { font-size: clamp(1.5rem, 3vw, 2.2rem); }
.hero-spec-body { font-size: .875rem; }
.hero-spec-body .diagram { font-size: .875rem; padding: 1rem .5rem; }
.term-session, .term-body { font-size: .875rem; line-height: 1.75; }
.term-session { max-height: none; min-height: 0; overflow-wrap: anywhere; }
.hero-demo .boot-term { margin-bottom: 0; }
.boot-term { margin-top: 1.5rem; }
.hero-demo .boot-term { margin-top: 0; }
.boot-line { white-space: pre-wrap; }
.boot-out { margin-top: .4rem; }
.chip, .nav-links a:not(.nav-cta), .nav-cta, .acc summary, .card-meta,
.row h3, .score-item h4, .footer-note, .footer-col li, .btn { font-size: .875rem; }
.kicker, .num, .branch-card .num, .boot-act, .boot-term-bar, .hero-spec-bar,
.term-bar, .footer-bottom, .notice, .chip-row { font-size: .8125rem; }
.acc summary { font-size: 1rem; }
.implementation-note { color: var(--dim); line-height: 1.7; margin-top: 1.5rem; max-width: 85ch; }
.implementation-note a, .row p a, .band-sub a, .lead a, .prose a { text-decoration: underline; text-underline-offset: .2em; }
.tbl { font-size: .875rem; }
.tbl th { font-size: .875rem; }
.table-scroll { overflow-x: auto; margin-top: 1.5rem; }
.table-scroll table { width: 100%; }
.page-hero { padding-top: calc(var(--nav-h) + 3rem); }
.jump-links { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.5rem; font-size: .875rem; }
.jump-links a { border-bottom: 1px solid var(--line-strong); padding-bottom: .2rem; }
.prose { max-width: 85ch; }
.prose h2, .prose h3 { margin: 2rem 0 .75rem; }
.prose p + p { margin-top: 1rem; }
.prose ul { padding-left: 1.25rem; list-style: square; }
.prose li { margin: .5rem 0; }
.branch-card, .hero-spec, .boot-term, .card, .row > div { min-width: 0; }
.score-head, .notice-inner { flex-wrap: wrap; }
code { font: inherit; color: var(--white); overflow-wrap: anywhere; }
section[id] { scroll-margin-top: calc(var(--nav-h) + 1rem); }
.reveal { opacity: 1; transform: none; }
@media (max-width: 1100px) {
    .nav-toggle { display: inline-flex; }
    .nav-right { display: flex; align-items: center; justify-content: flex-end; justify-self: end; gap: .5rem; }
    .nav-links { position: fixed; top: var(--nav-h); left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; background: var(--black); border-bottom: 1px solid var(--line); padding: .35rem var(--pad) .8rem; justify-content: flex-start; max-height: calc(100dvh - var(--nav-h)); overflow-y: auto; }
    .nav-links.is-open { display: flex; }
    .nav-links a:not(.nav-cta) { min-height: 44px; display: flex; align-items: center; font-size: .875rem; border-bottom: 1px solid var(--line); }
    .nav-links .nav-cta { margin-top: .7rem; min-height: 44px; }
}
@media (max-width: 980px) { .hero-demo, .branch-grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 600px) {
    .grid-3 { grid-template-columns: minmax(0,1fr); }
    .hero-spec-body .diagram { font-size: .8125rem; }
    .term-session { padding: .85rem .7rem; }
    .btn-row { align-items: stretch; }
    .tbl td:first-child { white-space: normal; }
}

/* Architecture exposes CLI, Relay and RDAP at equal hierarchy. */
.branch-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.branch-card .btn-row a { text-decoration: underline; text-underline-offset: .2em; font-size: .875rem; }
.legacy-anchors { height: 0; overflow: hidden; }
.tbl caption { text-align: left; font-size: .875rem; color: var(--dim); padding: .75rem 0; }
@media (max-width: 1100px) { .branch-grid { grid-template-columns: minmax(0,1fr); } }
