/* Family pages (family_pages.py): a family's history in chapters, and the families index.
   The site's tokens (site.css), the family's own colour from the valley map (--family), and the map's colours for
   the kinds of date following a family shows (timeline-app/src/lib/follow.ts). */
.fp-page,.fp-arrivals,.fp-family-grid{--first:#94680f;--tragedy:#7a2e2e;--homestead:#4c7a3d;--entry:#3d5566;--event:#7d8378;--card:var(--white);--tint:#efe9dc}
.fp-page .breadcrumbs{margin-bottom:30px}
.fp-page a{color:inherit}

/* The hero */
.fp-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:clamp(32px,5vw,72px);align-items:start;padding-bottom:48px}
.fp-hero .eyebrow{color:var(--accent);margin-bottom:18px}
.fp-hero h1{font-size:clamp(3.4rem,7vw,6.8rem);line-height:.98;letter-spacing:-.045em}
.fp-origin{font-family:var(--serif);font-style:italic;font-size:clamp(18px,1.8vw,23px);color:var(--muted);margin-top:16px;line-height:1.4}
.fp-lede{font-family:var(--serif);font-size:clamp(18px,1.6vw,21px);line-height:1.62;margin-top:30px;max-width:700px}
.fp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:20px 32px;margin:36px 0 0;padding:24px 0 0;border-top:1px solid var(--line);max-width:760px}
.fp-facts dt{font-size:11px;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.fp-facts dd{margin:5px 0 0;font-size:15px;line-height:1.5}
.fp-facts dd a{color:var(--accent);text-decoration:none;white-space:nowrap}
.fp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px;margin-top:36px}
.fp-actions .button{color:var(--white)}
.fp-tree-button{background:none;border:0;border-bottom:1px solid;border-radius:0;font:inherit;font-size:14px;color:var(--ink);cursor:pointer;padding:0 0 3px}
.fp-tree-button[hidden]{display:none}
.fp-hero-figure{background:#ebe5d6;border:1px solid #d9d2c0;padding:14px 14px 12px;box-shadow:0 22px 44px color-mix(in srgb,var(--ink) 8.6%,transparent),0 2px 0 #fff inset;transform:rotate(.8deg);margin-top:8px}
.fp-hero-figure a{display:block}
.fp-hero-figure img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;filter:sepia(.14) contrast(1.02);background:#ddd6c4}
.fp-hero-figure figcaption{font-size:13px;line-height:1.45;color:var(--muted);margin-top:11px;display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.fp-hero-figure figcaption span{flex:none;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.fp-hero-map{transform:none;background:var(--card)}
.fp-hero-map img{filter:none;background:none}
.fp-badge{display:inline-block;font-family:var(--sans);font-size:10.5px;font-weight:600;line-height:1.55;letter-spacing:.02em;padding:0 8px;border:1px solid currentColor;border-radius:999px;color:var(--muted);vertical-align:2px;white-space:nowrap}
.fp-badge.strong{color:var(--homestead)}
.fp-badge.approximate{color:#8a6a1f}
.fp-badge.area{color:var(--tragedy)}

/* The chapter bar */
.fp-chapters{position:sticky;top:0;z-index:15;background:color-mix(in srgb,var(--paper) 95%,transparent);border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.fp-chapters div{display:flex;gap:6px;overflow-x:auto;padding:10px 0;scrollbar-width:none}
.fp-chapters div::-webkit-scrollbar{display:none}
.fp-chapters a{flex:none;font-size:13px;line-height:1.3;text-decoration:none;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.fp-chapters a:hover{border-color:var(--ink)}
.fp-chapters a[aria-current="true"]{background:var(--ink);border-color:var(--ink);color:var(--white)}

/* Chapters */
.fp-chapter{padding:76px 0 20px;scroll-margin-top:58px}
.fp-chapter+.fp-chapter{border-top:1px solid var(--line)}
.fp-chapter-head{max-width:780px;margin-bottom:40px}
.fp-chapter-head .eyebrow{color:var(--accent);margin-bottom:14px}
.fp-chapter-head h2{font-size:clamp(2.2rem,3.8vw,3.5rem)}
.fp-chapter-head p{color:var(--muted);font-size:17px;line-height:1.6;margin-top:16px;max-width:680px}
.fp-chapter h3{font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.15}
.fp-chapter h3 small{font-family:var(--sans);font-size:12px;font-weight:650;letter-spacing:.08em;color:var(--muted);vertical-align:4px;margin-left:6px}
.fp-sources{font-size:12.5px;line-height:1.65;color:var(--muted);margin-top:22px}
.fp-sources a{color:var(--muted)}
.fp-empty{color:var(--muted)}

/* Foreword: the original account in full */
.fp-foreword .account-intro{max-width:820px;margin-bottom:34px}
.fp-foreword .prose{max-width:820px}
.fp-foreword .wp-block-code{white-space:normal;font:inherit;background:none;padding:0;margin:34px 0 0;overflow:visible}
.fp-foreword .wp-block-code code{font:inherit;background:none;padding:0}
.fp-foreword .ccchildpages{font-family:var(--sans);background:var(--card);border:1px solid var(--line);padding:24px 28px}
.fp-foreword .ccchildpage h3{font-size:22px;margin:0 0 10px}
.fp-foreword .ccchildpage h3 a,.fp-foreword .ccsubpages a{text-decoration:none;color:var(--ink)}
.fp-foreword .ccchildpage h3 a:hover,.fp-foreword .ccsubpages a:hover{color:var(--accent)}
.fp-foreword .ccsubpages ul{list-style:none;margin:0;padding:0;columns:2 220px;column-gap:28px;font-size:15px;line-height:1.5}
.fp-foreword .ccsubpages li{break-inside:avoid;padding:5px 0;border-bottom:1px solid var(--line-faint)}
.fp-foreword .ccsubpages ul ul{columns:1;margin:4px 0 0;padding-left:14px;border-left:1px solid var(--line);font-size:14px}
.fp-foreword .ccsubpages ul ul li{border:0;padding:2px 0}

/* Their story */
.fp-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,370px);gap:clamp(36px,5vw,72px);align-items:start}
.fp-story-text p{font-family:var(--serif);font-size:19px;line-height:1.82;margin:0 0 1.15em;max-width:720px}
.fp-story-text>p:first-child::first-letter{float:left;font-size:4.7em;line-height:.82;padding:8px 12px 0 0;color:var(--family,var(--accent));font-weight:500}
.fp-story-aside{display:grid;gap:26px}
.fp-journey h3,.fp-holdings h3,.fp-patents h3{font-size:1.5rem;margin-bottom:14px}
.fp-journey .figure,.fp-holdings .figure{border:1px solid var(--line);background:var(--card);padding:8px;border-radius:6px}
.fp-journey .figure svg,.fp-holdings .figure svg{display:block;width:100%;height:auto}
.fp-journey .figure figcaption,.fp-holdings .figure figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:8px}
.fp-journey ol{list-style:none;margin:18px 0 0;padding:0;counter-reset:step}
.fp-journey li{position:relative;padding:0 0 14px 30px;font-size:15px;line-height:1.45;counter-increment:step}
.fp-journey li:before{content:counter(step);position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;background:var(--family,var(--accent));color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center}
.fp-journey li:not(:last-child):after{content:'';position:absolute;left:9px;top:22px;bottom:2px;width:1px;background:var(--line)}
.fp-journey li small{display:block;font-size:12px;color:var(--muted)}
.fp-own-words{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--family,var(--accent));padding:22px 24px}
.fp-own-words .eyebrow{color:var(--accent);margin-bottom:8px}
.fp-own-words h3{font-size:1.4rem;margin-bottom:10px}
.fp-own-words p{font-size:15px;line-height:1.6;margin-bottom:14px}
.fp-quote{margin:0;padding:6px 0 0}
.fp-quote blockquote{margin:0;position:relative}
.fp-quote blockquote p{font-family:var(--serif);font-size:clamp(21px,2vw,26px);line-height:1.4;font-style:italic;letter-spacing:-.01em}
.fp-quote figcaption{font-size:13px;color:var(--muted);margin-top:12px;line-height:1.5}
.fp-quote figcaption a{color:var(--accent);text-decoration:none;white-space:nowrap}
.fp-land-more{display:grid;grid-template-columns:minmax(0,640px) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;margin-top:64px}
.fp-land-more>.fp-quote:only-child{grid-column:1/-1}
.fp-land-more .fp-quote,.fp-built+.fp-quote{max-width:760px;padding-left:28px;border-left:3px solid var(--family,var(--accent))}
.fp-built+.fp-quote{margin-top:44px}

/* The people (beside the family tree) */
.fp-page .family-reading-layout{align-items:start}
.fp-page .family-panel{top:68px}
.fp-generation{margin-bottom:46px}
.fp-generation>p{font-size:14.5px;color:var(--muted);margin:6px 0 18px}
.fp-person-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(225px,100%),1fr));gap:12px}
.fp-person{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;padding:16px;background:var(--card);border:1px solid var(--line);align-items:start}
.fp-portrait{display:block;width:72px;height:90px;overflow:hidden;background:var(--tint)}
.fp-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:sepia(.18) grayscale(.1);transition:filter .2s}
.fp-portrait:hover img{filter:none}
.fp-monogram{display:grid;place-items:center;font-family:var(--serif);font-size:24px;color:var(--family,var(--accent));background:color-mix(in srgb,var(--family,var(--accent)) 10%,var(--card));border:1px solid color-mix(in srgb,var(--family,var(--accent)) 25%,transparent)}
.fp-person h4{font-family:var(--serif);font-size:18.5px;font-weight:500;line-height:1.25;letter-spacing:-.01em;margin:0}
.fp-years{font-size:11.5px;font-weight:650;letter-spacing:.07em;color:var(--accent);font-variant-numeric:tabular-nums}
.fp-person .fp-years{margin-top:4px}
.fp-role{font-size:13.5px;line-height:1.5;color:var(--muted);margin-top:6px}
.fp-person details{margin-top:8px;font-size:13.5px;line-height:1.55}
.fp-person summary{cursor:pointer;color:var(--ink);font-weight:600;font-size:12.5px}
.fp-person details p{margin-top:6px;color:var(--ink)}
.fp-person .text-link{display:inline-block;margin-top:10px;font-size:12.5px}
.fp-person h4 a{text-decoration:none;border-bottom:1px solid var(--line)}
.fp-person h4 a:hover{border-color:currentColor;color:var(--accent)}

/* Households: the sibling strip, then a card per household (the couple, then their children nested below) */
.fp-siblings{margin:0 0 30px;padding:18px 20px;background:var(--card);border:1px solid var(--line)}
.fp-siblings>p{font-size:11px;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.fp-siblings div{display:flex;flex-wrap:wrap;gap:6px}
.fp-sib{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper);text-decoration:none;font-size:14px;line-height:1.3}
.fp-sib span{font-family:var(--serif)}
.fp-sib small{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.fp-sib:hover{border-color:var(--ink)}
.fp-sib.is-short{border-style:dashed;color:var(--muted)}
.fp-household{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(18px,3vw,36px);background:var(--card);border:1px solid var(--line);border-top:3px solid var(--family,var(--accent));padding:20px 22px 18px;margin-bottom:16px;scroll-margin-top:70px}
.fp-household.is-single{grid-template-columns:minmax(0,1fr)}
.fp-household:target{box-shadow:0 0 0 2px var(--family,var(--accent))}
.fp-household .fp-person{border:0;padding:0;background:none}
.fp-spouses{display:grid;gap:12px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}
.fp-spouse{display:flex;gap:12px;align-items:flex-start}
.fp-thumb{flex:none;width:36px;height:36px;border-radius:50%;object-fit:cover;filter:sepia(.15);background:var(--tint);border:1px solid var(--line)}
.fp-thumb.fp-monogram{display:grid;place-items:center;font-size:15px}
.fp-kin-name{font-family:var(--serif);font-size:16.5px;line-height:1.3}
.fp-kin-name a{text-decoration:none;border-bottom:1px solid var(--line)}
.fp-kin-name a:hover{color:var(--accent);border-color:currentColor}
.fp-kin-name .fp-years{font-family:var(--sans);margin-left:4px;white-space:nowrap}
.fp-kin-note{font-size:12.5px;line-height:1.5;color:var(--muted);margin-top:2px}
.fp-hh-meta{font-size:11px;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.fp-kin{list-style:none;margin:0;padding:0}
.fp-kin>li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line-faint)}
.fp-kin>li:last-child{border-bottom:0}
.fp-kin>li>div{min-width:0;flex:1}
.fp-wed{font-size:13px;line-height:1.5;margin-top:3px}
.fp-wed a{color:var(--ink)}
.fp-kin .fp-kin{margin:6px 0 0 2px;padding-left:14px;border-left:1px solid var(--line)}
.fp-kin .fp-kin>li{padding:6px 0;border:0}
.fp-kin .fp-kin .fp-kin-name{font-size:15px}
.fp-kin .fp-kin .fp-thumb{width:28px;height:28px}

/* Homesteads and land */
.fp-homesteads{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,56px);align-items:start}
.fp-homestead-map{position:sticky;top:72px;margin:0}
.fp-map-frame{position:relative;border:1px solid var(--line);background:var(--sage-pale);overflow:hidden}
.fp-map-frame img{display:block;width:100%;height:100%}
.fp-mark{position:absolute;transform:translate(-50%,-140%);min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--ink);color:#fff;font-size:10.5px;font-weight:700;line-height:20px;text-align:center;box-shadow:0 0 0 2px color-mix(in srgb,var(--white) 80%,transparent);pointer-events:none}
.fp-mark.is-family{background:var(--family,var(--accent));transform:translate(-50%,40%)}
.fp-homestead-map figcaption{font-size:12.5px;line-height:1.55;color:var(--muted);margin-top:12px}
.fp-homestead-map .map-link{display:inline-flex;margin-top:10px}
.fp-homestead-list{list-style:none;margin:0;padding:0}
.fp-homestead-list li{position:relative;padding:0 0 22px 40px;margin-bottom:22px;border-bottom:1px solid var(--line-faint)}
.fp-homestead-list li:last-child{border:0;margin:0}
.fp-homestead-list li:before{content:attr(value);position:absolute;left:0;top:2px;min-width:24px;height:24px;border-radius:999px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}
.fp-homestead-list li:first-child:before{background:var(--family,var(--accent))}
.fp-homestead-list h3{font-size:1.3rem;line-height:1.25}
.fp-meta{font-size:13px;color:var(--muted);margin:6px 0 8px;line-height:1.6}
.fp-meta a{color:var(--ink)}
.fp-homestead-list p:not(.fp-meta){font-size:14.5px;line-height:1.6}
.fp-holdings{max-width:640px}
.fp-holdings .fig-person{cursor:pointer}
.fp-holdings .fig-person:hover rect,.fp-holdings .fig-person:focus rect{fill:#ead2a6}
.fp-holdings .fig-person:focus{outline:none}
.fp-holdings .fig-person:focus-visible rect{stroke:var(--ink);stroke-width:2.4}
.fp-patents{margin-top:60px}
.fp-patents>p{font-size:14.5px;color:var(--muted);margin:-4px 0 16px}
.fp-patent-row{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px}
.fp-patent{flex:0 0 190px;text-decoration:none;font-size:13px;line-height:1.4}
.fp-patent img{display:block;width:100%;height:150px;object-fit:cover;object-position:top;border:1px solid var(--line);background:#fff;margin-bottom:8px}
.fp-patent small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}

/* Through the years */
.fp-strip-wrap{background:var(--card);border:1px solid var(--line);padding:20px 22px 16px;margin-bottom:12px}
.fp-strip{display:block;width:100%;height:auto}
.fp-band0{fill:var(--stone)}
.fp-band1{fill:#ece4d4}
.fp-m-event{fill:var(--event)}
.fp-m-entry{fill:var(--entry);opacity:.75}
.fp-m-homestead{fill:var(--homestead)}
.fp-m-first{fill:var(--first)}
.fp-m-tragedy{fill:var(--tragedy)}
.fp-axis text{font-family:var(--sans);font-size:11px;fill:var(--muted);text-anchor:middle}
.fp-axis line{stroke:var(--muted)}
.fp-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12.5px;color:var(--muted);margin-top:12px}
.fp-legend span{display:inline-flex;align-items:center;gap:6px}
.fp-era-jumps{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-faint)}
.fp-era-jumps a{font-size:12.5px;text-decoration:none;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}
.fp-era-jumps a:hover{border-color:var(--ink)}
.fp-era-jumps small{color:var(--muted);margin-left:3px}
.fp-glyph{width:14px;height:14px;flex:none}
.fp-glyph.fp-event{fill:var(--event)}
.fp-glyph.fp-entry{fill:var(--entry)}
.fp-glyph.fp-homestead{fill:var(--homestead)}
.fp-glyph.fp-first{fill:var(--first)}
.fp-glyph.fp-tragedy{fill:var(--tragedy)}
.fp-era{display:grid;grid-template-columns:minmax(180px,250px) minmax(0,1fr);gap:clamp(24px,4vw,56px);padding:44px 0 28px;border-top:1px solid var(--line);scroll-margin-top:58px}
.fp-era:first-of-type{border-top:0}
.fp-era>header{position:sticky;top:76px;align-self:start}
.fp-era>header .eyebrow{color:var(--accent);font-size:11px;margin-bottom:8px}
.fp-era>header h3{font-size:clamp(1.5rem,2.3vw,2rem)}
.fp-era>header p{font-size:14px;line-height:1.55;color:var(--muted);margin-top:10px}
.fp-era>.fp-chronicle,.fp-era>.fp-more{grid-column:2}
.fp-chronicle{list-style:none;margin:0;padding:0;position:relative}
.fp-chronicle:before{content:'';position:absolute;left:8px;top:8px;bottom:12px;width:1px;background:var(--line)}
.fp-item{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:18px;padding-bottom:26px}
.fp-item>.fp-glyph{width:18px;height:18px;margin-top:2px;background:var(--paper);box-shadow:0 0 0 4px var(--paper);border-radius:50%}
.fp-date{font-size:12.5px;font-weight:650;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.5}
.fp-date span{font-weight:600;color:var(--muted);margin-left:10px;text-transform:uppercase;letter-spacing:.1em;font-size:10px}
.fp-k-first .fp-date span{color:var(--first)}
.fp-k-tragedy .fp-date span{color:var(--tragedy)}
.fp-k-homestead .fp-date span{color:var(--homestead)}
.fp-item h4{font-family:var(--serif);font-size:20px;font-weight:500;line-height:1.3;letter-spacing:-.01em;margin:4px 0 6px}
.fp-item h4 a{text-decoration:none;border-bottom:1px solid var(--line)}
.fp-item h4 a:hover{color:var(--accent)}
.fp-item p:not(.fp-date):not(.fp-with){font-size:15.5px;line-height:1.62;max-width:700px}
.fp-with{font-size:12.5px;color:var(--muted);margin-top:6px}
.fp-with:before{content:'With ';text-transform:none}
.fp-with a{color:var(--ink)}
.fp-more{margin:-6px 0 0}
.fp-more>summary{cursor:pointer;display:inline-block;font-size:13.5px;font-weight:600;color:var(--accent);padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);margin-left:36px;list-style:none}
.fp-more>summary::-webkit-details-marker{display:none}
.fp-more>summary:after{content:' ↓'}
.fp-more[open]>summary:after{content:' ↑'}
.fp-more[open]>summary{margin-bottom:22px}
.fp-compact .fp-item{padding-bottom:18px}
.fp-compact .fp-item h4{font-size:17px}
.fp-compact .fp-item p:not(.fp-date):not(.fp-with){font-size:14px;color:var(--ink-soft)}
.fp-follow{margin:30px 0 0;padding-top:26px;border-top:1px solid var(--line)}

/* Firsts and tragedies */
.fp-stories{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px)}
.fp-stories-col{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--first);padding:26px 28px 28px}
.fp-tragedies{border-top-color:var(--tragedy)}
.fp-stories-col>h3{margin-bottom:20px}
.fp-story-list{list-style:none;margin:0;padding:0}
.fp-story-list li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:14px;padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid var(--line-faint)}
.fp-story-list .fp-glyph{width:16px;height:16px;margin-top:3px}
.fp-story-list h4{font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.3;margin:3px 0 6px}
.fp-story-list h4 a{text-decoration:none}
.fp-story-list h4 a:hover{color:var(--accent)}
.fp-story-list p:not(.fp-date){font-size:14.5px;line-height:1.6;color:var(--ink-soft)}
.fp-story-more{list-style:none;margin:0 0 20px;padding:0;font-size:14px;line-height:1.5}
.fp-story-more li{padding:5px 0}
.fp-story-more a{text-decoration:none;border-bottom:1px solid var(--line)}
.fp-story-more span{color:var(--muted);font-size:12px;margin-left:6px}

/* What they built */
.fp-built{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr));gap:14px}
.fp-built article{background:var(--card);border:1px solid var(--line);padding:22px 22px 24px}
.fp-built .eyebrow{color:var(--accent);font-size:10.5px;margin-bottom:8px}
.fp-built h3{font-size:1.3rem;line-height:1.25;margin-bottom:8px}
.fp-built p{font-size:14.5px;line-height:1.6;color:var(--ink-soft)}
.fp-still{margin-top:44px;padding:clamp(28px,4vw,44px);background:var(--ink);color:var(--white)}
.fp-still .eyebrow{color:#e3b494;margin-bottom:14px}
.fp-still>p{font-family:var(--serif);font-size:clamp(19px,1.8vw,23px);line-height:1.55;max-width:860px}
.fp-still .fp-namesake{font-family:var(--sans);font-size:14px;line-height:1.6;margin-top:20px;padding-top:18px;border-top:1px solid #ffffff2a;color:#dfe4dc}
.fp-still .fp-namesake strong{color:var(--white);margin-right:6px}

/* Photographs */
.fp-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(170px,42%),1fr));gap:18px}
.fp-photo{text-decoration:none;font-size:13.5px;line-height:1.4}
.fp-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;background:var(--tint);border:1px solid var(--line);filter:sepia(.14);transition:filter .2s;margin-bottom:9px}
.fp-photo:hover img{filter:none}
.fp-photo small{display:block;color:var(--muted);font-size:11px;letter-spacing:.06em;margin-top:3px;text-transform:uppercase}
.fp-album-link{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:30px}
.fp-album-link .eyebrow{color:var(--muted);font-size:11px}

/* How we know */
.fp-know{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:40px;align-items:start}
.fp-know h3{font-size:1.4rem;margin-bottom:14px}
.fp-know ul{margin:0;padding-left:18px;font-size:14.5px;line-height:1.6}
.fp-know li{margin-bottom:10px}
.fp-know details{margin-bottom:14px;font-size:14px}
.fp-know summary{cursor:pointer;font-weight:600}
.fp-know details[open] summary{margin-bottom:12px}
.fp-source-list{list-style:none;padding:0!important}
.fp-source-list li{margin-bottom:8px}
.fp-source-list span{display:block;color:var(--muted);font-size:12.5px}
.fp-page .contribute-prompt{margin-top:70px}

/* The families index: when they came, then a card for each family */
.fp-arrivals{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(28px,4vw,64px);padding:52px 0;margin:46px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:start}
.fp-arrivals .eyebrow{color:var(--accent);margin-bottom:14px}
.fp-arrivals h2{font-size:clamp(2rem,3.2vw,3rem)}
.fp-arrivals>div>p{color:var(--muted);font-size:15.5px;margin-top:16px;max-width:430px}
.fp-arrive{list-style:none;margin:0;padding:0}
.fp-arrive a{display:grid;grid-template-columns:118px minmax(0,1fr) 70px;align-items:center;gap:12px;padding:5px 0;text-decoration:none;border-bottom:1px solid var(--line-faint)}
.fp-arrive a:hover .fp-arrive-name{color:var(--accent)}
.fp-arrive-name{font-family:var(--serif);font-size:17px}
.fp-arrive-track{position:relative;height:10px;background:linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/25% 100%}
.fp-arrive-bar{position:absolute;top:0;height:10px;border-radius:999px;background:var(--c)}
.fp-arrive-bar.is-by{background:var(--paper);box-shadow:inset 0 0 0 2px var(--c)}
.fp-arrive-year{font-size:12.5px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.fp-arrive-axis{position:relative;height:22px;margin:6px 82px 0 130px;font-size:11px;color:var(--muted)}
.fp-arrive-axis span{position:absolute;transform:translateX(-50%)}
.fp-arrivals>.fp-arrive,.fp-arrivals>.fp-arrive-axis{grid-column:2}
.fp-arrivals>.fp-arrive{grid-row:1}
.fp-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 30px;margin:56px 0 30px}
.fp-family-card{display:flex;flex-direction:column;gap:18px;padding-top:18px;border-top:3px solid var(--family)}
.fp-card-image{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--tint);border:1px solid var(--line)}
.fp-card-image img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:sepia(.14);transition:filter .25s,transform .4s}
.fp-card-image img.is-map{object-fit:cover;filter:none}
.fp-family-card:hover .fp-card-image img{filter:none;transform:scale(1.02)}
.fp-family-card .eyebrow{color:var(--accent);font-size:11px;margin-bottom:8px}
.fp-family-card h2{font-size:clamp(1.9rem,2.6vw,2.5rem)}
.fp-family-card h2 a{text-decoration:none}
.fp-card-origin{font-family:var(--serif);font-style:italic;color:var(--muted);margin:6px 0 10px;font-size:16px}
.fp-family-card p{font-size:15px;line-height:1.6}
.fp-card-counts{font-size:12.5px!important;color:var(--muted);margin:12px 0 14px}
.fp-family-card.is-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,56px);align-items:center;padding-top:26px}
.fp-family-card.is-featured .fp-card-image{aspect-ratio:auto;height:100%;max-height:460px;background:#ebe5d6;padding:14px}
.fp-family-card.is-featured .fp-card-image img{object-fit:contain}
.fp-family-card.is-featured h2{font-size:clamp(2.6rem,4.4vw,4.2rem)}
.fp-family-card.is-featured p{font-size:16.5px}
.fp-family-card.is-featured .fp-card-origin{font-size:19px}

@media (max-width:1080px){
 .fp-hero{grid-template-columns:minmax(0,1fr) minmax(220px,.6fr)}
 .fp-story{grid-template-columns:minmax(0,1fr) 300px}
 .fp-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:880px){
 .fp-hero{grid-template-columns:minmax(0,1fr);gap:28px}
 .fp-hero-figure{max-width:min(420px,100%);transform:none}
 .fp-story,.fp-homesteads,.fp-stories,.fp-land-more{grid-template-columns:minmax(0,1fr)}
 .fp-homestead-map{position:static}
 .fp-page .family-panel{top:auto}
 .fp-era{grid-template-columns:minmax(0,1fr);gap:18px}
 .fp-era>header{position:static}
 .fp-era>.fp-chronicle,.fp-era>.fp-more{grid-column:1}
 .fp-arrivals{grid-template-columns:minmax(0,1fr)}
 .fp-arrivals>.fp-arrive,.fp-arrivals>.fp-arrive-axis{grid-column:1;grid-row:auto}
 .fp-family-card.is-featured{grid-template-columns:minmax(0,1fr)}
 .fp-family-card.is-featured .fp-card-image{max-height:380px}
}
@media (max-width:760px){
 .fp-chapter{padding-top:54px}
 .fp-family-grid{grid-template-columns:minmax(0,1fr)}
 .fp-person-grid{grid-template-columns:minmax(0,1fr)}
 .fp-household{grid-template-columns:minmax(0,1fr);padding:18px 16px}
 .fp-story-text p{font-size:18px}
 .fp-strip-wrap{padding:14px}
 .fp-stories-col{padding:22px 20px}
 .fp-arrive a{grid-template-columns:96px minmax(0,1fr) 58px;gap:8px}
 .fp-arrive-name{font-size:15px}
 .fp-arrive-axis{margin:6px 66px 0 104px}
 .fp-foreword .ccchildpages{padding:18px}
}
@media (max-width:460px){
 .fp-person{grid-template-columns:60px minmax(0,1fr);gap:12px;padding:14px}
 .fp-portrait{width:60px;height:76px}
 .fp-homestead-list li{padding-left:34px}
 .fp-item{gap:12px}
 .fp-more>summary{margin-left:30px}
}
@media print{
 .fp-chapters,.fp-actions,.fp-tree-button,.fp-era-jumps,.fp-strip-wrap{display:none}
 .fp-hero-figure{transform:none;box-shadow:none}
 .fp-more>summary{display:none}
 .fp-more,details{display:block}
 .fp-chapter{break-inside:auto;padding-top:28px}
 .fp-homestead-map,.fp-era>header{position:static}
}
