:root{
  --paper:#f5eddc;
  --paper-dark:#ead8b6;
  --card:#fffaf0;
  --card-strong:#fff6df;
  --navy:#10264a;
  --navy-soft:#223f69;
  --red:#8f2f2f;
  --red-dark:#6f2020;
  --gold:#b99245;
  --gold-soft:#e1c98e;
  --ink:#172033;
  --muted:#667085;
  --line:#d9c28f;
  --shadow:0 18px 45px rgba(23,32,51,.13);
  --soft-shadow:0 8px 24px rgba(23,32,51,.08);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font:18px/1.65 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(circle at 10% 0%,rgba(185,146,69,.18),transparent 26rem),
    radial-gradient(circle at 90% 12%,rgba(143,47,47,.10),transparent 24rem),
    linear-gradient(90deg,rgba(16,38,74,.035) 1px,transparent 1px),
    linear-gradient(0deg,rgba(16,38,74,.028) 1px,transparent 1px),
    var(--paper);
  background-size:auto,auto,34px 34px,34px 34px,auto;
}
body:before{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.08));
}
h1,h2,h3,.brand{font-family:Georgia,'Times New Roman',serif;color:var(--navy);line-height:1.08;letter-spacing:-.02em}
h1{font-size:clamp(2.35rem,7vw,5rem);margin:.2rem 0 1rem}
h2{font-size:clamp(1.65rem,4vw,2.65rem);margin:.25rem 0 1rem}
h3{font-size:1.35rem;margin:.2rem 0 .5rem}
a{color:var(--navy);text-decoration-thickness:2px;text-underline-offset:.18em}
a:hover{color:var(--red)}
img{max-width:100%;height:auto;display:block}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;background:white;padding:.6rem .8rem;z-index:10;border-radius:.5rem}
.site-header{
  display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem clamp(1rem,4vw,2rem);
  border-bottom:1px solid rgba(185,146,69,.65);background:rgba(255,248,232,.93);backdrop-filter:blur(10px);position:sticky;top:0;z-index:5;
  box-shadow:0 2px 20px rgba(16,38,74,.08)
}
.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;font-weight:800;font-size:1.05rem}.brand-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--navy);color:var(--gold-soft);font-size:.85rem;box-shadow:inset 0 0 0 2px rgba(255,255,255,.2)}
.site-header nav{display:flex;gap:.3rem;align-items:center}.site-header nav a{font-weight:800;text-decoration:none;padding:.55rem .7rem;border-radius:999px}.site-header nav a:hover{background:rgba(16,38,74,.08)}
main{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 1rem}.home-hero,.person-hero,.timeline,.toc-card,.story-card,.card{background:linear-gradient(180deg,rgba(255,250,240,.98),rgba(255,246,223,.94));border:1px solid rgba(185,146,69,.48);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden}.home-hero:before,.person-hero:before,.timeline:before,.toc-card:before,.story-card:before,.card:before{content:"";position:absolute;inset:0 0 auto 0;height:7px;background:linear-gradient(90deg,var(--navy),var(--red),var(--gold));opacity:.92}.home-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:2rem;align-items:stretch;min-height:420px;padding:clamp(1.4rem,5vw,4rem);margin:1.2rem 0 1.5rem}.home-hero:after{content:"";position:absolute;right:-7rem;bottom:-9rem;width:24rem;height:24rem;border:1px solid rgba(185,146,69,.35);border-radius:50%;box-shadow:0 0 0 1.2rem rgba(16,38,74,.035),0 0 0 2.4rem rgba(143,47,47,.035),0 0 0 3.6rem rgba(185,146,69,.055)}.hero-copy{position:relative;z-index:1;align-self:center}.lead{font-size:clamp(1.08rem,2.2vw,1.45rem);max-width:68ch}.eyebrow,.section-kicker{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red);font-weight:900;margin:0 0 .7rem}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--navy);color:#fff!important;text-decoration:none;padding:.85rem 1.15rem;border-radius:999px;border:0;font-weight:900;min-height:48px;box-shadow:0 9px 18px rgba(16,38,74,.18);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover{transform:translateY(-2px);box-shadow:0 13px 24px rgba(16,38,74,.22);background:var(--navy-soft)}.button.secondary{background:#39506f}.button.ghost{background:rgba(255,255,255,.55);color:var(--navy)!important;box-shadow:inset 0 0 0 2px rgba(16,38,74,.15)}.button.danger{background:#7a1f1f}.hero-panel{position:relative;z-index:1;background:rgba(16,38,74,.96);color:#fff;border-radius:20px;padding:1.4rem;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}.hero-panel strong{font:700 3rem Georgia,serif;color:var(--gold-soft)}.seal{width:5rem;height:5rem;border-radius:50%;display:grid;place-items:center;border:2px solid var(--gold-soft);color:var(--gold-soft);font-size:2rem;margin-bottom:auto}.panel-label{font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);font-size:.78rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1rem}.timeline{padding:clamp(1.2rem,4vw,2rem);margin:1.5rem 0}.timeline-list{position:relative}.timeline-list:before{content:"";position:absolute;left:1.35rem;top:1rem;bottom:1rem;width:3px;background:linear-gradient(var(--red),var(--gold),var(--navy));border-radius:99px}.timeline-item{position:relative;display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:1rem;padding:1rem 0}.timeline-number{position:relative;z-index:1;background:var(--red);color:#fff;border:4px solid var(--card);border-radius:50%;width:2.8rem;height:2.8rem;display:grid;place-items:center;font-weight:900;box-shadow:0 5px 16px rgba(143,47,47,.25)}.timeline-content{background:#fffdf7;border:1px solid rgba(185,146,69,.38);border-radius:18px;padding:1rem 1.1rem;box-shadow:var(--soft-shadow);transition:transform .18s ease,box-shadow .18s ease}.timeline-content:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(23,32,51,.12)}.timeline-content .lifespan{margin:0}.text-link{font-weight:900;text-decoration:none;color:var(--red)}.toc-card{display:grid;grid-template-columns:minmax(0,.7fr) minmax(280px,1fr);gap:2rem;padding:clamp(1.2rem,4vw,2rem);margin:1.5rem 0}.toc{columns:2;column-gap:2rem;margin:.3rem 0 0;padding-left:1.25rem}.toc li{break-inside:avoid;margin:.55rem 0;font-weight:800}.person-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,380px);gap:2rem;padding:clamp(1.2rem,4vw,2.2rem);margin:1.2rem 0 1.4rem}.person-hero-copy{align-self:center}.lifespan{font-weight:800;color:var(--muted);letter-spacing:.02em}.quick-callout{margin-top:1.2rem;padding:1.2rem;border-left:5px solid var(--red);background:rgba(255,255,255,.58);border-radius:0 16px 16px 0}.quick-callout span{display:block;font-weight:900;color:var(--red);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}.quick-callout p{margin:.35rem 0 0;font-size:1.1rem}.portrait{margin:0;align-self:start}.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;border:10px solid #fff;box-shadow:0 18px 35px rgba(0,0,0,.19);background:#eee;transform:rotate(1deg)}.portrait figcaption,.gallery figcaption{font-size:.88rem;color:var(--muted);margin-top:.55rem;text-align:center}.story-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1rem}.story-card,.card{padding:clamp(1.1rem,3vw,1.6rem);margin:1rem 0}.feature-card{border-left:7px solid var(--red)}.narrative{font-size:1.04rem}.facts-card dl{display:grid;grid-template-columns:minmax(8rem,.75fr) minmax(0,1.25fr);gap:.65rem 1rem;margin:0}.facts-card dt{font-weight:900;color:var(--navy)}.facts-card dd{margin:0;color:#2b3445}.relationship-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}.relation-group{background:#fffdf7;border:1px solid rgba(185,146,69,.4);border-radius:16px;padding:1rem;box-shadow:var(--soft-shadow)}.relation-label{font:800 1.08rem Georgia,serif;color:var(--navy);border-bottom:1px solid var(--line);padding-bottom:.5rem;margin-bottom:.65rem}.relation-group ul{margin:.3rem 0 0;padding-left:1.15rem}.relation-group li{margin:.45rem 0}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.gallery figure{margin:0;background:#fffdf7;border:1px solid var(--line);border-radius:16px;padding:.7rem}.gallery img{border-radius:12px;aspect-ratio:4/3;object-fit:cover}.tour-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;margin:1.4rem 0}.tour-nav .button{border-radius:18px;text-align:center;line-height:1.2;white-space:normal}.site-footer{text-align:center;padding:2rem;color:var(--muted)}.footer-rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 auto 1rem;max-width:700px}.admin-shell{max-width:1100px}.admin-table{width:100%;border-collapse:collapse;background:#fffaf0;border-radius:14px;overflow:hidden}.admin-table th,.admin-table td{border-bottom:1px solid #ddd;padding:.75rem;text-align:left}label{display:block;font-weight:800;margin:1rem 0 .35rem}input,textarea,select{width:100%;font:inherit;padding:.7rem;border:1px solid #b9aa89;border-radius:10px;background:#fff}select[multiple]{min-height:8rem}.form-grid{display:grid;grid-template-columns:1fr;gap:1rem}.error{background:#fde8e8;color:#7a1f1f;padding:.75rem;border-radius:10px}.success{background:#e8f7ed;color:#14532d;padding:.75rem;border-radius:10px}.muted{color:var(--muted)}.js .reveal,.js .timeline-item,.js .story-card{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}.js .is-visible{opacity:1!important;transform:none!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.timeline-content,.js .reveal,.js .timeline-item,.js .story-card{transition:none!important}.button:hover,.timeline-content:hover{transform:none}}
@media(max-width:820px){main{width:min(100% - 1rem,1180px);padding:1rem 0}.home-hero,.person-hero,.toc-card,.story-grid{grid-template-columns:1fr}.home-hero{min-height:auto}.hero-panel{min-height:240px}.toc{columns:1}.tour-nav{grid-template-columns:1fr}.site-header{align-items:flex-start}.brand{max-width:68%;line-height:1.15}.person-hero{gap:1.1rem}.portrait{max-width:350px}.section-heading{display:block}}
@media(max-width:520px){body{font-size:17px}.site-header{padding:.75rem}.site-header nav a{padding:.45rem}.brand-mark{display:none}.home-hero,.timeline,.toc-card,.person-hero,.story-card,.card{border-radius:16px}.facts-card dl{grid-template-columns:1fr}.facts-card dt{border-top:1px solid rgba(185,146,69,.45);padding-top:.55rem}.timeline-item{grid-template-columns:2.9rem minmax(0,1fr)}.timeline-list:before{left:1.2rem}.hero-panel strong{font-size:2.4rem}}
