/* Collection layer; preserves the reviewed edition-01 visual language. */
.header-inner { gap: 24px; }
nav a[aria-current] { text-decoration: underline; text-decoration-thickness: 2px; }
.collection-hero { padding-top: 66px; }
.collection-hero .hero-grid { gap: 60px; margin-top: 32px; }
.collection-hero h1 { font-size: clamp(3rem, 5.2vw, 4.7rem); }
.collection-index { border: 1px solid var(--pine); padding: 28px; background: var(--surface); box-shadow: 9px 9px 0 #e0e5d8; }
.index-count { display: flex; align-items: center; gap: 22px; margin: 22px 0 26px; padding-bottom: 23px; border-bottom: 1px solid var(--line); }
.index-count strong { font: 4.8rem/1 Georgia,serif; color: var(--pine); letter-spacing: -.07em; }
.index-count > span { font-size: .83rem; line-height: 1.6; color: var(--muted); }
.index-rule { display: flex; gap: 15px; align-items: center; margin: 18px 0; }
.index-rule p { font-size: .85rem; line-height: 1.5; }
.index-rule .sample { flex: 0 0 28px; border-color: var(--pine); }
.index-rule .sample::after { border-color: var(--pine); }
.collection-index > .small { border-top: 1px solid var(--line); padding-top: 18px; }
.collection-section { padding-top: 64px; padding-bottom: 64px; }
.collection-heading { display: flex; justify-content: space-between; align-items: end; gap: 35px; margin-bottom: 32px; }
.collection-heading h2 { font-size: 2.9rem; margin-top: 16px; }
.collection-heading > p { font-size: .88rem; color: var(--muted); max-width: 390px; }
.edition-card { display: grid; grid-template-columns: 82px minmax(0,1fr) 205px; gap: 27px; background: var(--surface); border: 1px solid var(--line); margin-top: 24px; padding: 30px; }
.edition-card.latest { border-color: #9bac95; background: #edf0e7; }
.card-rail { display: flex; flex-direction: column; gap: 18px; }
.card-rail > span { font: 3.1rem/1 Georgia,serif; color: var(--pine); }
.card-rail small { font: .64rem/1.7 ui-monospace,monospace; color: var(--muted); letter-spacing: .04em; }
.card-copy .eyebrow { font-size: .64rem; flex-wrap: wrap; }
.card-copy h3 { font: 2rem/1.14 Georgia,serif; letter-spacing: -.03em; margin: 15px 0; }
.card-copy h3 a { text-decoration: none; }
.card-copy h3 a:hover { text-decoration: underline; }
.card-copy > p { font-size: .9rem; color: var(--muted); }
.card-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 18px; }
.card-tags > span { font-size: .64rem; font-weight: 600; border: 1px solid #b5c2af; border-radius: 2px; padding: 4px 7px; }
.card-actions { display: flex; gap: 20px; flex-wrap: wrap; align-items: baseline; margin-top: 25px; }
.card-actions > a { font-size: .76rem; }
.card-fact { display: flex; flex-direction: column; align-self: stretch; justify-content: center; border-left: 1px solid var(--line); padding-left: 25px; gap: 7px; }
.card-fact > span { font: .61rem/1.6 ui-monospace,monospace; color: var(--muted); }
.card-fact > strong { font: 2rem/1.3 Georgia,serif; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.card-fact > b { font-size: 1.17rem; font-weight: 600; }
.card-fact hr { width: 100%; border: 0; border-top: 1px solid var(--line); margin: 10px 0; }
.card-fact small { font-size: .68rem; color: var(--muted); margin-top: 13px; line-height: 1.65; }
.light-button { color: var(--paper); border-color: #829c8d; margin-top: 24px; }
.light-button:hover { background: #2a5045; }
.collection-end { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.collection-end h2 { font-size: 2.7rem; margin-top: 15px; }
.collection-end p { color: var(--muted); font-size: .95rem; }
.collection-end .text-link { display: inline-block; margin-top: 22px; }
.domain-label { font: .73rem/1.6 ui-monospace,monospace; letter-spacing: .015em; }
.edition-breadcrumb { display: flex; justify-content: space-between; gap: 15px; flex-wrap: wrap; padding-top: 23px; font-size: .73rem; color: var(--muted); }
.technology-hero { padding-top: 37px; }
.technology-hero h1 { max-width: 1050px; margin-top: 27px; font-size: clamp(2.7rem,5vw,4.45rem); }
.technology-hero .hero-intro { max-width: 760px; }
.finding-banner { padding: 26px 30px; border: 1px solid #cdb874; border-left: 4px solid #907220; background: var(--gold-soft); margin-top: 18px; }
.finding-banner > p { margin-top: 12px; font-size: 1rem; max-width: 1000px; }
.narrative { border-top: 1px solid var(--line); }
.narrative p { font-size: .98rem; }
.narrative h3 { margin: 0 0 16px; font-size: 1.3rem; }
.narrative .two-columns > section > p { margin-top: 15px; }
.narrative .lead { font-size: 1.12rem; }
.narrative .intro-columns > p:not(.lead) { font-size: .96rem; }
.status-flow { background: var(--surface); border: 1px solid var(--line); padding: 24px; margin: 28px 0 40px; }
.status-flow figcaption { font: .66rem/1.5 ui-monospace,monospace; color: var(--muted); letter-spacing: .06em; margin-bottom: 25px; }
.status-flow-grid { display: grid; grid-template-columns: 1fr 40px 1fr 40px 1fr; align-items: center; gap: 10px; }
.status-flow-grid > div { padding: 18px; border: 1px dashed #90a08a; min-height: 166px; background: var(--paper); }
.status-flow-grid div > span { display: block; font: .61rem/1.7 ui-monospace,monospace; color: var(--muted); }
.status-flow-grid div > strong { display: block; margin-top: 10px; font-size: 1.1rem; line-height: 1.3; }
.status-flow-grid div > p { font-size: .79rem; color: var(--muted); margin-top: 7px; }
.status-flow-grid .cite { margin-top: 9px; }
.status-flow-arrow { text-align: center; font: 1.8rem/1 Georgia,serif; color: var(--pine); }
.status-flow-grid .status-stop { border-style: solid; border-left: 4px solid var(--pine); background: #e5ebdf; }
.ownership-notes { padding: 4px 10px; }
.comparison-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin: 28px 0 22px; }
.comparison-grid > section { background: var(--surface); border: 1px solid var(--line); padding: 24px; }
.comparison-grid h3 { margin-top: 13px; }
.comparison-grid p { font-size: .9rem; margin-bottom: 13px; }
.takeaway-list { margin: 26px 0; padding-left: 26px; max-width: 850px; }
.takeaway-list li { padding-left: 7px; margin-top: 14px; }
#limits h2 { font-size: 2.6rem; margin-top: 15px; }
#limits > p { max-width: 950px; margin-top: 18px; }
.text-hero { padding-bottom: 43px; }
.text-hero h1 { margin-top: 27px; }
.text-hero .hero-intro { max-width: 750px; }
.reading-column { max-width: 800px; padding-bottom: 55px; margin-top: 10px; }
.reading-column > section { padding: 35px 0; border-bottom: 1px solid var(--line); }
.reading-column h2 { font-size: 2.35rem; margin-bottom: 23px; }
.reading-column ul { padding-left: 23px; }
.reading-column li { margin: 12px 0; padding-left: 4px; }
.method-claims { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); margin-bottom: 24px; }
.method-claims > div { padding: 23px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--surface); }
.method-claims h3 { font-size: 1.08rem; margin-bottom: 13px; }
.method-claims p { font-size: .9rem; }
.history-entry { border-left: 2px solid #9bac95; padding: 4px 0 5px 24px; margin-top: 30px; }
.history-entry time { font: .72rem/1.6 ui-monospace,monospace; color: var(--muted); }
.history-entry h3 { font-size: 1.16rem; margin: 11px 0 15px; }

@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } * { transition: none!important; } }
@media screen and (max-width:1000px) {
 .edition-card { grid-template-columns: 52px minmax(0,1fr) 164px; padding: 25px; gap: 22px; }
 .card-fact { padding-left: 18px; }
 .card-copy h3 { font-size: 1.8rem; }
 .collection-hero .hero-grid { gap: 34px; grid-template-columns: 1.4fr 1fr; }
 .collection-index { padding: 22px; }
 .index-count { gap: 15px; }
 .index-count strong { font-size: 4rem; }
 .status-flow-grid { grid-template-columns: 1fr 22px 1fr 22px 1fr; gap: 5px; }
 .status-flow-grid > div { padding: 15px; min-height: 180px; }
}
@media screen and (max-width:760px) {
 .collection-hero { padding-top: 37px; }
 .collection-hero .hero-grid { grid-template-columns: 1fr; gap: 33px; margin-top: 23px; }
 .collection-hero h1 { font-size: 3.2rem; }
 .collection-index { padding: 23px; box-shadow: 6px 6px 0 #e0e5d8; }
 .index-count { margin: 17px 0 19px; padding-bottom: 18px; }
 .index-rule p { font-size: .9rem; }
 .index-count > span { font-size: .9rem; }
 .collection-heading { display: block; margin-bottom: 27px; }
 .collection-heading h2 { font-size: 2.45rem; }
 .collection-heading > p { margin-top: 18px; }
 .collection-section { padding-block: 42px; }
 .edition-card { grid-template-columns: 1fr; gap: 19px; padding: 23px; }
 .card-rail { flex-direction: row; align-items: center; gap: 20px; }
 .card-rail > span { font-size: 2.2rem; }
 .card-rail small { font-size: .62rem; }
 .card-copy h3 { font-size: 2rem; }
 .card-copy > p { font-size: .95rem; }
 .card-actions > a { font-size: .82rem; }
 .card-fact { border-left: 0; border-top: 1px solid var(--line); padding: 19px 0 0; }
 .card-fact hr { max-width: 200px; margin-inline: 0; }
 .card-fact small { font-size: .77rem; margin-top: 8px; }
 .collection-end { grid-template-columns: 1fr; gap: 26px; }
 .collection-end h2 { font-size: 2.5rem; }
 .edition-breadcrumb { padding-top: 17px; font-size: .72rem; gap: 10px; }
 .edition-breadcrumb > span { display: none; }
 .technology-hero h1 { font-size: 2.95rem; }
 .finding-banner { padding: 22px; margin-top: 12px; }
 .finding-banner p { font-size: .94rem; }
 .status-flow { padding: 20px; }
 .status-flow-grid { grid-template-columns: 1fr; gap: 10px; }
 .status-flow-grid > div { min-height: 0; padding: 20px; }
 .status-flow-grid div > span { font-size: .68rem; }
 .status-flow-grid div > p { font-size: .88rem; }
 .status-flow-arrow { transform: rotate(90deg); padding-block: 6px; }
 .status-flow-arrow.stop { transform: none; }
 .status-flow figcaption { font-size: .7rem; }
 .narrative .lead { font-size: 1.05rem; }
 .narrative .two-columns { gap: 26px; }
 .narrative .ledger-panel { padding: 20px; }
 .narrative .ledger-panel table { font-size: .82rem; }
 .ownership-notes { padding: 5px 0 0; }
 .comparison-grid { grid-template-columns: 1fr; gap: 18px; }
 .comparison-grid p { font-size: .95rem; }
 .reading-column h2 { font-size: 2.05rem; }
 .method-claims { grid-template-columns: 1fr; }
 .method-claims p { font-size: .95rem; }
 .reading-column > section { padding-block: 28px; }
 .history-entry { padding-left: 18px; }
 .history-entry h3 { font-size: 1.1rem; }
}
@media screen and (max-width:430px) {
 .header-inner { flex-wrap: wrap; gap: 10px; padding-top: 16px; padding-bottom: 5px; }
 .collection-hero h1 { font-size: 2.95rem; }
 .technology-hero h1 { font-size: 2.64rem; }
 .card-copy h3 { font-size: 1.77rem; }
 .card-tags > span { font-size: .67rem; }
 .card-actions { gap: 17px; }
 .collection-hero .eyebrow { flex-wrap: wrap; font-size: .65rem; }
 .index-count strong { font-size: 4rem; }
 .collection-section .collection-heading h2 { font-size: 2.28rem; }
 .collection-index > .section-label { font-size: .66rem; }
}
@media print {
 @page { size: A4; margin: 15mm 14mm 17mm; }
 .edition-breadcrumb,.hero-actions,.card-actions,.source-heading button,.site-header,.skip-link,.footer-actions button { display: none!important; }
 .collection-hero { padding-top: 6pt; }
 .collection-hero h1,.technology-hero h1 { font-size: 33pt; margin-top: 14pt; }
 .collection-hero .hero-grid { gap: 24pt; margin-top: 18pt; }
 .collection-hero .hero-intro { font-size: 10.5pt; margin-top: 15pt; }
 .collection-index { padding: 16pt; box-shadow: none; }
 .index-count { margin-block: 14pt; gap: 14pt; }
 .index-count strong { font-size: 42pt; }
 .index-count > span,.index-rule p { font-size: 8pt; }
 .collection-section { padding-block: 25pt; }
 .collection-heading { margin-bottom: 19pt; break-inside: avoid; }
 .collection-heading h2 { font-size: 27pt; }
 .collection-heading > p { font-size: 8pt; }
 .edition-card { padding: 16pt; gap: 17pt; grid-template-columns: 35pt 1fr 117pt; break-inside: avoid; }
 .card-rail > span { font-size: 26pt; }
 .card-rail small,.card-copy .eyebrow { font-size: 6pt; }
 .card-copy h3 { font-size: 20pt; }
 .card-copy > p { font-size: 8.5pt; }
 .card-tags { margin-top: 10pt; }
 .card-tags > span { font-size: 6pt; }
 .card-fact { padding-left: 16pt; }
 .card-fact strong { font-size: 20pt; }
 .card-fact > span { font-size: 6pt; }
 .card-fact > b { font-size: 12pt; }
 .card-fact small { font-size: 6.5pt; }
 .collection-end { gap: 35pt; }
 .collection-end h2 { font-size: 26pt; }
 .collection-end p { font-size: 9pt; }
 .light-button { display: none; }
 .finding-banner { margin-top: 8pt; padding: 15pt; break-inside: avoid; }
 .finding-banner > p,.narrative p,.narrative .intro-columns > p:not(.lead) { font-size: 9pt; }
 .narrative .lead { font-size: 10pt; }
 .narrative h3 { font-size: 13pt; margin-bottom: 12pt; }
 .status-flow { padding: 15pt; margin: 20pt 0; break-inside: avoid; }
 .status-flow figcaption { font-size: 6.5pt; margin-bottom: 17pt; }
 .status-flow-grid { grid-template-columns: 1fr 17pt 1fr 17pt 1fr; gap: 7pt; }
 .status-flow-grid > div { padding: 12pt; min-height: 110pt; }
 .status-flow-grid div > span { font-size: 6pt; }
 .status-flow-grid div > strong { font-size: 11pt; margin-top: 8pt; }
 .status-flow-grid div > p { font-size: 8pt; }
 .status-flow-arrow { font-size: 18pt; }
 .narrative .boundary-note { break-inside: avoid; }
 .ownership-notes { padding: 3pt 0; }
 .comparison-grid { gap: 15pt; margin-block: 18pt; }
 .comparison-grid > section { padding: 15pt; break-inside: avoid; }
 .comparison-grid p { font-size: 8.5pt; }
 #ownership,#different-project,#limits { break-before: page; }
 #ownership .control-diagrams { break-inside: avoid; }
 #limits h2 { font-size: 27pt; }
 .takeaway-list { margin-block: 18pt; font-size: 9pt; }
 .takeaway-list li { margin-top: 10pt; }
 #limits { padding-bottom: 5pt; }
 .reading-column { max-width: none; margin-top: 0; padding-bottom: 0; }
 .reading-column > section { padding-block: 20pt; }
 .reading-column h2 { font-size: 24pt; margin-bottom: 15pt; }
 .reading-column ul { font-size: 9pt; }
 .reading-column li { margin-block: 8pt; }
 .method-claims { break-inside: avoid; }
 .method-claims > div { padding: 16pt; }
 .method-claims h3 { font-size: 11pt; }
 .method-claims p { font-size: 8.5pt; }
 .history-entry { padding-left: 15pt; margin-top: 20pt; break-inside: avoid; }
 .history-entry time { font-size: 7pt; }
 .history-entry h3 { font-size: 12pt; }
 .source-record { break-inside: avoid; }
 .source-body,.editorial-detail > div { display: block!important; }
 .source-record::details-content,.editorial-detail::details-content { display: block; content-visibility: visible; }
 .source-body .source-original::after { content: " — " attr(href); font-size: 7pt; overflow-wrap: anywhere; }
 .site-footer { margin-top: 15pt; padding-top: 10pt; }
 .domain-label { font-size: 7pt; }
}
