: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(--accent); }
.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; }
@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; } }
