
:root{
  --green:#1f563d; --green2:#2f6b4a; --green3:#e9f1eb;
  --navy:#0b2f69; --gold:#f0c43d; --paper:#f7f4ed; --ink:#17251d;
  --brassett:#b8202a; --easton:#2f6fb0; --osborn:#37825b; --clark:#7650a6;
  --tweddell:#c86f2d; --join:#b58a1d; --research:#a97a35;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55}
.sitehead{background:linear-gradient(135deg,#173f2d,#2e6949);color:#fff;text-align:center;padding:34px 18px 38px}
.sitehead .brand{font-size:14px;letter-spacing:.14em;opacity:.72;text-transform:uppercase}
.sitehead h1{font:700 clamp(2.7rem,7vw,5.1rem)/1 Georgia,serif;margin:18px 0 22px}
.sitehead p{font-size:clamp(1rem,2.5vw,1.35rem);margin:0}
.nav{background:#fff;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding:16px;box-shadow:0 2px 12px #0002;position:relative;z-index:20}
.nav a{background:#23543c;color:#fff;text-decoration:none;padding:12px 18px;border-radius:10px;font-weight:700}
.nav a:hover,.nav a.active{background:#143c2a}
.subnav{background:#fff;border-top:1px solid #ddd;border-bottom:4px solid #b90f1c;display:flex;gap:20px;flex-wrap:wrap;justify-content:center;padding:11px 15px}
.subnav a{color:#0b2f69;text-decoration:none;font-weight:800;font-size:.92rem}
.wrap{max-width:1180px;margin:auto;padding:28px 18px}
.hero,.card,.panel{background:#fff;border-radius:14px;padding:22px;box-shadow:0 3px 15px #00000012;margin-bottom:20px}
.hero h2,.card h2,.card h3{font-family:Georgia,serif;color:#23543c}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.btn{display:inline-block;background:#23543c;color:#fff;text-decoration:none;padding:10px 14px;border-radius:8px;font-weight:700}
.note{background:#fff6d9;border-left:5px solid #b58a1d;padding:14px 16px;border-radius:8px}
.tag{display:inline-block;border-radius:999px;padding:4px 9px;font-size:.8rem;font-weight:800;background:#e9f1eb;color:#23543c}
.family-key{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.key{padding:6px 10px;border-radius:999px;background:#fff;border:2px solid #ddd;font-weight:700;font-size:.84rem}
.key.brassett{border-color:var(--brassett)} .key.easton{border-color:var(--easton)}
.key.osborn{border-color:var(--osborn)} .key.clark{border-color:var(--clark)}
.key.tweddell{border-color:var(--tweddell)} .key.join{border-color:var(--join)}
.key.research{border-style:dashed;border-color:var(--research)}
.tree{text-align:center}.generation{max-width:760px;margin:12px auto;background:#fff;border:1px solid #d9cfba;border-radius:12px;padding:14px}.arrow{font-size:25px;color:#a8842b}
.archive-title{background:linear-gradient(90deg,#b90f1c,#e85050,#f2c7ae);color:#fff;padding:30px 18px;margin:0}
.archive-title .inner{max-width:1180px;margin:auto}.archive-title h1{font:700 clamp(2.1rem,5vw,3.5rem)/1 Georgia,serif;margin:0 0 8px}
.archive-title p{font:italic 1.15rem Georgia,serif;margin:0}
.strand-table{width:100%;border-collapse:collapse;background:#fff}.strand-table th{background:#0b2f69;color:#fff;text-align:left;padding:12px}.strand-table td{padding:12px;border:1px solid #d9e0ea;vertical-align:top}
.timeline-shell{overflow-x:auto;padding-bottom:10px}
.timeline-grid{display:grid;grid-template-columns:repeat(7,minmax(235px,1fr));gap:12px;min-width:1700px;align-items:start}
.strand{min-width:0}
.strand-head{position:sticky;top:0;z-index:5;background:#23543c;color:#fff;border-radius:10px;padding:11px;text-align:center;font-weight:800;margin-bottom:16px;box-shadow:0 2px 7px #0002}
.entry{background:#fff;border:1px solid #ddd;border-left:6px solid var(--brassett);border-radius:10px;padding:12px;margin-bottom:12px;box-shadow:0 2px 9px #00000010}
.entry.easton{border-left-color:var(--easton);background:#f4f8fc}.entry.osborn{border-left-color:var(--osborn);background:#f2f9f4}
.entry.clark{border-left-color:var(--clark);background:#f8f4fc}.entry.tweddell{border-left-color:var(--tweddell);background:#fff7f0}
.entry.join{border-left-color:var(--join);background:#fff9e7}.entry.research{border:2px dashed var(--research);background:#fffaf0}
.entry .date{font-size:.78rem;font-weight:900;text-transform:uppercase;color:#687069}.entry h3{font:700 1.05rem Georgia,serif;margin:4px 0 6px}
.profile-card{border-top:5px solid var(--brassett)}.profile-card.easton{border-top-color:var(--easton)}.profile-card.osborn{border-top-color:var(--osborn)}.profile-card.clark{border-top-color:var(--clark)}
.searchbox{width:100%;padding:13px 14px;border:1px solid #bbc6bd;border-radius:9px;font-size:1rem}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.filters button{border:1px solid #9aa99e;background:#fff;padding:8px 12px;border-radius:999px;font-weight:700;cursor:pointer}.filters button.active{background:#23543c;color:#fff}
.newsletter{display:flex;gap:15px;align-items:flex-start}.issue{min-width:68px;text-align:center;background:#23543c;color:#fff;border-radius:10px;padding:10px 5px;font-weight:800}
footer{text-align:center;background:#173f2d;color:#fff;padding:28px 16px;margin-top:28px}
.small{font-size:.88rem;color:#657269}
@media(max-width:700px){
 .sitehead{padding:28px 14px}.nav{justify-content:flex-start;overflow:auto;flex-wrap:nowrap}.nav a{white-space:nowrap}
 .subnav{justify-content:flex-start;overflow:auto;flex-wrap:nowrap}.subnav a{white-space:nowrap}
 .wrap{padding:20px 12px}.timeline-shell{overflow:visible}.timeline-grid{display:block;min-width:0}
 .strand{margin-bottom:22px}.strand-head{position:relative;top:auto}.newsletter{display:block}.issue{display:inline-block;margin-bottom:8px}
}

/* Family review v2 */
.grid > .card{display:flex;flex-direction:column;height:100%}
.grid > .card .btn{margin-top:auto;align-self:flex-start}
.strand:nth-child(1) .strand-head{background:#8b1e2d}
.strand:nth-child(2) .strand-head{background:#184f8c}
.strand:nth-child(3) .strand-head{background:#2f7d4a}
.strand:nth-child(4) .strand-head{background:#6a4c93}
.strand:nth-child(5) .strand-head{background:#b65f20}
.strand:nth-child(6) .strand-head{background:#8a6a12}
.strand:nth-child(7) .strand-head{background:#25747a}

/* 28 Sep 2026 family update */
.timeline-shell{overflow-x:hidden}.timeline-grid{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;gap:8px}.strand-head{padding:9px 5px;font-size:.88rem}.entry{padding:9px 8px;border-left-width:5px}.entry h3{font-size:.94rem;line-height:1.15}.entry p{font-size:.84rem;line-height:1.4;margin:.35rem 0}.entry .date{font-size:.7rem}
.remembrance-title{background:linear-gradient(to right,transparent 0 43%,#c8102e 43% 57%,transparent 57%),linear-gradient(to bottom,transparent 0 36%,#c8102e 36% 64%,transparent 64%),#fff;color:#102b54;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.remembrance-title h1,.remembrance-title p{text-shadow:0 1px 0 #fff,0 0 5px #fff}
.descendant-grid,.strand-tree-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.descendant-grid>div,.strand-tree-grid>div{background:#f7faf8;border:1px solid #d9e4dc;border-radius:10px;padding:12px}.descendant-grid h3{margin:0 0 5px;color:#23543c;font:700 1rem Georgia,serif}.strand-tree-grid b,.strand-tree-grid span{display:block}.strand-tree-grid span{font-size:.86rem;margin-top:4px;color:#56645b}
@media(max-width:1050px) and (min-width:701px){.timeline-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.strand-head{font-size:.74rem;padding:8px 3px}.entry{padding:7px 6px}.entry h3{font-size:.82rem}.entry p{font-size:.75rem}.entry .date{font-size:.62rem}}
