:root { color-scheme: light dark; --ink:#1f2328; --muted:#59636e; --paper:#ffffff; --surface:#f6f8fa; --line:#d0d7de; --accent:#8b302b; font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; }
[data-theme="light"] { color-scheme:light; --ink:#1f2328; --muted:#59636e; --paper:#ffffff; --surface:#f6f8fa; --line:#d0d7de; --accent:#8b302b; }
[data-theme="dark"] { color-scheme:dark; --ink:#f1f3f5; --muted:#b3bbc4; --paper:#17191c; --surface:#20242a; --line:#414852; --accent:#e38a7c; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); }
a { color:var(--accent); text-underline-offset:.18em; }
a:hover { color:#67271f; }
.skip-link { position:absolute; left:1rem; top:-5rem; padding:.7rem 1rem; background:var(--ink); color:#fff; z-index:10; }
.skip-link:focus { top:1rem; }
.site-header { border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; background:var(--paper); }
.nav-shell,.layout { max-width:76rem; margin:auto; padding-left:clamp(1rem,4vw,3rem); padding-right:clamp(1rem,4vw,3rem); }
.nav-shell { padding-top:.8rem; padding-bottom:.8rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.brand { color:var(--ink); text-decoration:none; display:inline-flex; align-items:center; gap:.65rem; font-weight:700; letter-spacing:.02em; }
.brand-logo { width:2rem; height:2rem; object-fit:cover; border-radius:50%; border:1px solid var(--line); background:var(--paper); }
.brand small { display:block; color:var(--muted); font:500 .7rem/1.3 "Courier New",Courier,monospace; letter-spacing:.04em; }
.site-nav { display:flex; gap:1.1rem; align-items:center; }
.site-nav a { color:var(--muted); text-decoration:none; font-size:.9rem; min-height:2.75rem; display:inline-flex; align-items:center; }
.site-nav a[aria-current="page"] { color:var(--ink); font-weight:700; }
.menu-button { display:none; min-height:2.75rem; border:1px solid var(--ink); border-radius:0; padding:.45rem .75rem; background:var(--paper); color:var(--ink); font:inherit; }
.theme-button { min-height:2.75rem; border:1px solid var(--line); border-radius:.4rem; padding:.45rem .7rem; background:var(--paper); color:var(--ink); font:600 .78rem/1 "Courier New",Courier,monospace; cursor:pointer; }
.theme-button:hover { border-color:var(--ink); }
.layout { padding-top:clamp(1.5rem,3vw,2.5rem); padding-bottom:3rem; }
.breadcrumbs { color:var(--muted); font-size:.85rem; margin-bottom:2rem; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.6rem; padding:0; margin:0; list-style:none; }
.breadcrumbs li + li::before { content:"/"; margin-right:.6rem; color:var(--muted); }
.breadcrumbs [aria-current="page"] { color:var(--ink); font-weight:600; }
.hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr); gap:clamp(2rem,7vw,6rem); padding:1rem 0 clamp(2.5rem,5vw,4rem); align-items:start; position:relative; }
.hero-aside { display:grid; gap:1rem; }
.brand-card { margin:0; padding:1rem; border:1px solid var(--line); border-radius:.75rem; background:var(--paper); }
.brand-card img { display:block; width:min(100%,12rem); aspect-ratio:1; margin:0 auto .8rem; object-fit:cover; border-radius:.5rem; background:#fff; }
.brand-card figcaption { border-top:1px solid var(--line); padding:.8rem .15rem .15rem; }
.brand-card strong,.brand-card span { display:block; }
.brand-card strong { font-family:Georgia,"Times New Roman",serif; font-size:1.25rem; font-weight:500; }
.brand-card span { color:var(--muted); margin-top:.2rem; font-size:.86rem; }
.eyebrow { color:var(--muted); font:650 .74rem/1.3 "Courier New",Courier,monospace; letter-spacing:.1em; text-transform:uppercase; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; letter-spacing:-.045em; line-height:1.08; margin:0; }
h1 { max-width:12ch; font-size:clamp(2.8rem,7vw,6rem); font-weight:500; text-wrap:balance; }
h2 { font-size:clamp(1.7rem,3vw,2.7rem); font-weight:500; }
h3 { font-size:1.05rem; }
.issue-mark { color:var(--accent); margin:1.35rem 0 .65rem; font:700 .72rem/1.3 "Courier New",Courier,monospace; letter-spacing:.1em; }
.lead { max-width:44rem; color:var(--muted); font-size:clamp(1.05rem,1.8vw,1.22rem); }
.source-line { color:var(--muted); font-size:.9rem; }
.status-panel { border:1px solid var(--line); border-radius:.5rem; padding:1.25rem; background:var(--surface); color:var(--muted); position:relative; }
.status-panel::before { content:"PUBLICATION NOTE"; display:block; color:var(--accent); font:700 .68rem/1.3 "Courier New",Courier,monospace; letter-spacing:.1em; border-bottom:1px solid var(--line); padding-bottom:.65rem; }
.status-panel strong,.status-panel span,.status-panel a { display:block; }
.status-panel strong { color:var(--ink); margin:.55rem 0 .2rem; }
.section { border-top:1px solid var(--line); padding:clamp(2.5rem,5vw,4rem) 0; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2rem; }
.section-heading p { max-width:40rem; color:var(--muted); margin:0; }
.lineage-grid,.estate-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.estate-grid { grid-template-columns:repeat(4,1fr); }
.lineage-card,.estate-card { border:1px solid var(--line); border-radius:.5rem; padding:1.25rem; background:var(--surface); }
.lineage-card img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border:1px solid var(--line); border-radius:.35rem; filter:grayscale(.12) saturate(.9); margin-bottom:1rem; }
.lineage-card h3 { margin-bottom:.45rem; }
.lineage-card p,.estate-card p { color:var(--muted); }
.lineage-card figcaption { color:var(--muted); font-size:.85rem; margin-top:.7rem; }
.estate-card { border-top:2px solid var(--ink); border-left:0; border-right:0; border-bottom:0; border-radius:0; padding:1rem 0; background:transparent; }
.estate-card strong,.estate-card span { display:block; }
.estate-card span { color:var(--muted); margin-top:.35rem; font-size:.9rem; }
.statement { max-width:52rem; margin:0; padding:1.4rem 1.6rem; border:0; border-left:4px solid var(--accent); background:transparent; font-size:1.3rem; }
.boundary { color:var(--muted); max-width:48rem; }
.footer { border-top:1px solid var(--line); padding:2rem 0 1rem; color:var(--muted); font-size:.85rem; position:relative; }
.footer::before { content:"FC"; display:block; color:var(--accent); font:700 .8rem/1.3 "Courier New",Courier,monospace; letter-spacing:.15em; margin-bottom:1.25rem; }
.footer p { margin:.45rem 0; }
/* The historic marks are monochrome source illustrations. In dark mode their
   light canvas and dark ink otherwise collapse into the surface. Invert the
   complete asset so the ink remains legible without introducing a new colour
   palette or altering the published light presentation. */
[data-theme="dark"] .brand-logo,
[data-theme="dark"] .brand-card img,
[data-theme="dark"] .lineage-card img { filter:invert(1) grayscale(1); }
@media (max-width:48rem) { .menu-button { display:inline-flex; align-items:center; } .site-nav { display:none; position:absolute; left:1rem; right:1rem; top:calc(100% + .5rem); padding:.5rem; flex-direction:column; align-items:stretch; gap:0; background:var(--paper); border:1px solid var(--line); border-radius:.4rem; box-shadow:0 .5rem 1.5rem rgba(0,0,0,.12); } .site-nav[data-open="true"] { display:flex; } .site-nav a { padding:.7rem; } .hero,.section-heading { display:block; } .status-panel { margin-top:2rem; } .lineage-grid,.estate-grid { grid-template-columns:1fr; } .section-heading p { margin-top:1rem; } }
