:root{font-family:Inter,system-ui,sans-serif;color:#222b27;background:#f3f5f1;line-height:1.5}*{box-sizing:border-box}body{margin:0}.hero{padding:34px max(20px,calc((100% - 1180px)/2));background:#183f35;color:#fff}.hero-nav{display:flex;justify-content:space-between;gap:16px}.hero a{color:#d9ede4;text-decoration:none}.hero h1{font-size:clamp(2rem,5vw,4rem);margin:.15em 0}.hero>p:last-child{max-width:760px}.eyebrow{text-transform:uppercase;font-size:.75rem;font-weight:800;color:#6a7b72;margin:0;letter-spacing:.08em}.hero .eyebrow{color:#b9d8ca;margin-top:28px}main{max-width:1180px;margin:auto;padding:24px 18px 60px}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.status-grid article,.panel{background:#fff;border:1px solid #dce3de;border-radius:8px}.status-grid article{padding:16px;display:flex;flex-direction:column}.status-grid strong{font-size:1.65rem;color:#9c4f36}.status-grid span{font-size:.86rem;color:#66716b}.panel{padding:20px;margin-bottom:16px}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.section-head h2,.panel h2{margin:.15em 0 .7em}.badge{font-size:.78rem;font-weight:700;padding:5px 8px;border-radius:4px}.pending{background:#fff0c7;color:#694e00}.toolbar{display:grid;grid-template-columns:180px minmax(220px,1fr) 185px minmax(220px,1fr);gap:12px;margin:16px 0;align-items:end}.toolbar label{font-weight:700;font-size:.85rem}.toolbar select,.toolbar input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #ccd5cf;background:#f7f9f7}.toolbar .historical-map-toggle{display:flex;align-items:center;gap:8px;min-height:42px;padding:9px 11px;border:1px solid #ccd5cf;background:#f7f9f7}.toolbar .historical-map-toggle input{width:18px;height:18px;margin:0;padding:0}.opacity-control{display:grid!important;grid-template-columns:1fr auto;column-gap:8px;align-items:center}.opacity-control input{grid-column:1;margin-top:5px;padding:0}.opacity-control output{grid-column:2;grid-row:2;font-variant-numeric:tabular-nums;min-width:38px}.map-action{min-height:42px;border:0;border-radius:4px;background:#315f50;color:#fff;font-weight:750;padding:10px 14px;cursor:pointer}.map-action:hover{background:#244b40}.map-note{padding:10px 12px;background:#fff7df;border-left:4px solid #c69034;font-size:.9rem}.history-map{height:min(68vh,680px);min-height:430px;border:1px solid #bdc9c1;background:#e9eee9}.map-legend{display:flex;gap:18px;flex-wrap:wrap;padding-top:10px;font-size:.8rem;color:#59655e}.map-legend i{display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-right:5px;border:2px solid #526d60;background:#dce6df}.map-legend i.verified{border-color:#8b4b35;background:#cf8061}.building-popup h3{margin:0 0 6px}.building-popup p{margin:4px 0}.building-popup .pending-text{color:#755b15}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.source{font-size:.82rem;color:#68746d}@media(max-width:980px){.toolbar{grid-template-columns:1fr 1fr}}@media(max-width:760px){.status-grid{grid-template-columns:1fr 1fr}.two-col,.toolbar{grid-template-columns:1fr}.hero{padding-top:22px}.history-map{height:62vh;min-height:380px}}@media(max-width:420px){.hero-nav{flex-direction:column}.status-grid{grid-template-columns:1fr}.section-head{display:block}.badge{display:inline-block;margin-bottom:10px}}
.available{background:#dcefe5;color:#17563d}.archive-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.archive-list>a,.archive-year,.archive-missing{min-height:112px;padding:14px;border:1px solid #dce3de;background:#f8faf8;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:5px}.archive-list>a:hover{border-color:#708d7f;background:#f0f6f2}.archive-list strong{font-size:1.3rem;color:#8b4b35}.archive-list span,.archive-list small{display:block}.archive-list small{color:#647169}.archive-year span{display:flex;flex-direction:column;gap:4px}.archive-year a{color:#285f4c}.archive-missing{background:#fff7df;border-color:#ead8a7}.archive-missing span{font-size:.85rem}@media(max-width:760px){.archive-list{grid-template-columns:1fr}}
.index-search{display:block;max-width:300px;font-size:.85rem;font-weight:700}.index-search input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #ccd5cf;background:#f7f9f7}.index-summary{margin:14px 0;padding:10px 12px;background:#eef4f0;color:#365347;font-weight:700}.house-index{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;max-height:350px;overflow:auto;padding-right:4px}.house-index-item{padding:9px;border:1px solid #dce3de;background:#fafbfa;display:flex;flex-direction:column;min-width:0}.house-index-item strong{color:#8b4b35}.house-index-item span,.house-index-item small{font-size:.68rem;color:#68746d}.house-index-item span{margin-top:3px}@media(max-width:900px){.house-index{grid-template-columns:repeat(5,1fr)}}@media(max-width:560px){.house-index{grid-template-columns:repeat(3,1fr);max-height:420px}}
.house-index-item a{font-size:.7rem;color:#285f4c;margin-top:5px}
.house-index-item.has-transcription{grid-column:span 2;border-color:#9bb9a9;background:#f0f7f3}.house-index-item details{margin-top:7px}.house-index-item summary{cursor:pointer;font-size:.72rem;font-weight:700;color:#285f4c}.house-index-item ul{list-style:none;margin:7px 0 0;padding:0}.house-index-item li{padding:5px 0;border-top:1px solid #dce7e0}.house-index-item li strong,.house-index-item li span{display:block;font-size:.72rem}.house-index-item li span{color:#617068}@media(max-width:560px){.house-index-item.has-transcription{grid-column:span 3}}
.transcribed-households{display:grid;grid-template-columns:1fr;gap:7px}.household-card{border:1px solid #cbdad1;background:#f6faf7;padding:0 12px}.household-card>summary{cursor:pointer;padding:10px 0;display:grid;grid-template-columns:minmax(170px,.55fr) minmax(0,1fr);gap:12px;align-items:baseline}.household-card>summary strong{font-size:1rem;color:#8b4b35}.household-card>summary span{font-size:.8rem;color:#607068}.household-card ul{list-style:none;padding:0;margin:0 0 8px}.household-person-head,.household-person-row>details>summary{display:grid;grid-template-columns:minmax(150px,1.35fr) minmax(105px,.8fr) minmax(110px,1fr) minmax(150px,1.4fr);gap:10px;align-items:center}.household-person-head{padding:6px 8px;background:#e5eee8;color:#607068;font-size:.68rem;font-weight:800;text-transform:uppercase}.household-card .household-person-row{border-top:1px solid #dce7e0;padding:0}.household-person-row>details>summary{cursor:pointer;padding:8px;list-style-position:inside}.household-person-row strong{font-size:.86rem;color:#294b3e}.household-person-row span{font-size:.78rem;color:#526159;overflow-wrap:anywhere}.person-record-detail{margin:0 8px 10px;padding:10px 12px;background:#fff;border-left:3px solid #91aa9d}.reading-confidence{display:inline-block;margin-left:7px;padding:2px 5px;border-radius:3px;background:#edf1ee;color:#56645d;font-size:.62rem;font-weight:800;white-space:nowrap}.reading-confidence.verified,.reading-confidence.high{background:#dcefe5;color:#17563d}.reading-confidence.probable,.reading-confidence.medium{background:#fff0c7;color:#694e00}.reading-confidence.partial,.reading-confidence.low{background:#f8dfc9;color:#7a421d}.reading-confidence.illegible,.reading-confidence.unverified{background:#eceeed;color:#657069}.household-card>a{display:inline-block;margin:0 0 10px;color:#285f4c;font-size:.78rem}@media(max-width:650px){.household-card>summary{grid-template-columns:1fr}.household-person-head{display:none}.household-person-row>details>summary{grid-template-columns:minmax(120px,1fr) minmax(95px,.75fr)}.household-person-row>details>summary span:nth-of-type(2),.household-person-row>details>summary span:nth-of-type(3){grid-column:1/-1}.person-record dl div{grid-template-columns:1fr}.reading-confidence{margin:3px 0 0}}
.surname-search-box{display:grid;grid-template-columns:minmax(180px,320px) minmax(0,1fr);gap:5px 14px;align-items:end;margin:14px 0;padding:13px 14px;background:#eef5f1;border-left:4px solid #4f7969}.surname-search-box label{grid-row:1;font-size:.82rem;font-weight:800;color:#294b3e}.surname-search-box input{grid-row:2;width:100%;padding:10px;border:1px solid #aebfb5;background:#fff}.surname-search-box p{grid-column:2;grid-row:2;margin:0;align-self:center;color:#5e6e65;font-size:.82rem}.surname-search-empty{grid-column:1/-1;margin:0;padding:18px;background:#f7f9f7;color:#68746d}.household-card .person-record>strong{font-size:.95rem;color:#294b3e}@media(max-width:620px){.surname-search-box{grid-template-columns:1fr}.surname-search-box label,.surname-search-box input,.surname-search-box p{grid-column:1;grid-row:auto}}
.person-record dl{margin:6px 0;display:grid;gap:3px}.person-record dl div{display:grid;grid-template-columns:minmax(105px,42%) 1fr;gap:7px;font-size:.72rem}.person-record dt{color:#68746d}.person-record dd{margin:0;color:#26342d}.person-record>a{font-size:.7rem;color:#285f4c}.house-index-item .person-record dl{display:none}
.census-statistics-grid{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.65fr);gap:14px}.census-statistics-grid>article{border:1px solid #dce3de;background:#f8faf8;padding:16px;min-width:0}.census-statistics-grid h3{margin:0;color:#294b3e}.statistics-help{margin:3px 0 14px;color:#68746d;font-size:.8rem}.surname-ranking,.occupation-ranking{list-style:none;padding:0;margin:0;display:grid;gap:6px}.surname-ranking{counter-reset:surnames}.surname-ranking li,.occupation-ranking li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;background:#fff;border:1px solid #e1e7e3}.surname-ranking li{counter-increment:surnames;grid-template-columns:26px minmax(0,1fr) auto}.surname-ranking li::before{content:counter(surnames);font-weight:800;color:#9c4f36}.surname-ranking strong,.occupation-ranking strong{overflow-wrap:anywhere}.surname-ranking span,.occupation-ranking span{font-variant-numeric:tabular-nums;color:#52645a;font-weight:750}.occupation-statistics{grid-column:1/-1}.occupation-ranking{grid-template-columns:repeat(3,minmax(0,1fr))}.statistics-footnote{margin:10px 0 0;color:#68746d;font-size:.76rem}.age-histogram{min-height:245px;display:grid;grid-template-columns:repeat(18,minmax(24px,1fr));gap:4px;align-items:end;padding:12px 4px 0;border-bottom:2px solid #9eaaa3}.age-bin{height:220px;display:grid;grid-template-rows:24px 1fr 24px;align-items:end;text-align:center;min-width:0}.age-bin strong{font-size:.72rem;color:#385347}.age-bin i{display:block;width:min(24px,78%);height:var(--bar-height);min-height:2px;margin:0 auto;background:#b96548;border-radius:3px 3px 0 0}.age-bin span{font-size:.62rem;color:#68746d;white-space:nowrap}.statistics-empty{color:#68746d;font-size:.85rem}@media(max-width:900px){.occupation-ranking{grid-template-columns:1fr 1fr}}@media(max-width:760px){.census-statistics-grid,.occupation-ranking{grid-template-columns:1fr}.age-histogram{overflow-x:auto;grid-template-columns:repeat(18,minmax(38px,1fr))}}

/* Independent controls for both historical rasters. */
.toolbar{grid-template-columns:180px minmax(220px,1fr) 210px minmax(220px,1fr)}
.map-action.secondary{background:#526b7c}.map-action.secondary:hover{background:#3f5666}
.map-notes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.map-note.topo{background:#eef5f8;border-left-color:#597d91}
.map-note.aerial-note{grid-column:1/-1;background:#f2f0e8;border-left-color:#756d4f}
.map-note.aerial-note a{color:#285f4c;font-weight:800}
.aerial-controls{grid-column:1/-1;display:grid;grid-template-columns:minmax(360px,1.6fr) minmax(240px,1fr) auto;gap:12px;align-items:end;padding-top:12px;border-top:1px solid #d7e1da}
.aerial-controls label{font-weight:700;font-size:.85rem}
.aerial-controls select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #ccd5cf;background:#fff;border-radius:4px}
.aerial-years{min-width:0;margin:0;padding:0;border:0}.aerial-years legend{font-weight:700;font-size:.85rem;margin-bottom:5px}.year-buttons{display:flex;flex-wrap:wrap;gap:5px}.year-buttons button{min-height:38px;padding:7px 10px;border:1px solid #aebdb4;border-radius:4px;background:#fff;color:#31453b;font:inherit;font-weight:750;cursor:pointer}.year-buttons button:hover{background:#edf3ef}.year-buttons button.active{border-color:#315f50;background:#315f50;color:#fff}
.map-action.aerial{background:#6b6045}.map-action.aerial:hover{background:#504731}
@media(max-width:980px){.toolbar{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.toolbar,.map-notes,.aerial-controls{grid-template-columns:1fr}.map-note.aerial-note{grid-column:auto}}

/* Readable census overview: summary first, detail charts second. */
.census-statistics-panel>#census-statistics-note{margin:0 0 14px;color:#5d6c64;font-size:.88rem}
.census-statistics-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}
.census-statistics-summary article{min-width:0;padding:13px 14px;border:1px solid #d8e2dc;border-top:3px solid #4f7969;background:#f6f9f7;display:flex;flex-direction:column}
.census-statistics-summary span{font-size:.72rem;font-weight:800;text-transform:uppercase;color:#68766f}
.census-statistics-summary strong{margin:2px 0;font-size:1.5rem;line-height:1.15;color:#8b4b35;font-variant-numeric:tabular-nums}
.census-statistics-summary small{font-size:.72rem;color:#66736c;overflow-wrap:anywhere}
.census-statistics-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);gap:12px}
.census-statistics-grid>article{padding:15px;border-radius:4px}
.household-person-head,.household-person-row>details>summary{grid-template-columns:minmax(170px,1.35fr) minmax(145px,.9fr) minmax(120px,.8fr) minmax(150px,1fr)}
.occupation-summary{font-size:.76rem;color:#465a51}.person-birth{display:flex;align-items:baseline;gap:7px}.person-birth small{font-size:.68rem;color:#78847e;white-space:nowrap}
.maiden-name{display:block;margin-top:2px;color:#6f6257;font-size:.68rem;font-weight:600}
.nested-household{margin:0 0 8px;border:1px solid #d7e2dc;background:#fff}.nested-household>summary{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;cursor:pointer;background:#edf4f0}.nested-household>summary strong{color:#315f50}.nested-household>summary span{font-size:.75rem;color:#66736c}.nested-household .household-person-head{margin:8px 8px 0}.nested-household ul{margin:0 8px 8px}
.nested-household[open]>summary{border-bottom:1px solid #d7e2dc;background:#e5efe9}.person-parents{display:flex;flex-wrap:wrap;gap:5px 16px;margin:0 0 10px;padding:8px 10px;border-left:3px solid #b58a58;background:#faf4ea;color:#51463a;font-size:.78rem}.person-parents span{color:inherit}.person-parents b{text-transform:capitalize}.person-parents.compact{grid-column:1/-1;margin:0;padding:3px 0 0;border:0;background:transparent;font-size:.72rem}.person-parents.compact span{color:#735b42}
.person-parents small{margin-left:3px;color:#7a6a58;font-size:.66rem;font-style:italic}.person-parents.compact small{display:none}
.person-parents small.data-warning{padding:2px 4px;background:#f7dfd2;color:#8b3f27;font-weight:800}.person-parents.compact small.data-warning{display:inline-block}

/* The project now presents census statistics for 1921 only. */
.status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.toolbar{grid-template-columns:minmax(220px,1fr) 210px minmax(220px,1fr)}
@media(max-width:980px){.toolbar{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.toolbar{grid-template-columns:1fr}}
@media(max-width:650px){.household-person-row>details>summary span:nth-of-type(n+2){grid-column:auto}}
.age-statistics{grid-column:1}
.birth-calendar-statistics{grid-column:1/-1}.birth-calendar-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px;padding:9px 11px;border-left:4px solid #b96548;background:#f8eee9}.birth-calendar-summary strong{color:#743d2b;font-size:.84rem}.birth-calendar-summary span{color:#5f6d66;font-size:.76rem}.birth-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.birth-month{min-width:0;padding:10px;border:1px solid #dce4df;background:#fff}.birth-month h4{margin:0 0 7px;color:#425b50;font-size:.78rem}.birth-month>div{display:grid;grid-template-columns:repeat(8,minmax(24px,1fr));gap:3px}.birth-day{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;border:1px solid #e4e9e6;background:#f7f9f8;color:#87928c;font-size:.62rem;font-variant-numeric:tabular-nums}.birth-day b{font-weight:650}.birth-day em{position:absolute;right:1px;bottom:0;color:#fff;font-size:.52rem;font-style:normal;font-weight:900}.birth-day.has-births{border-color:rgba(139,75,53,.38);background:rgba(185,101,72,var(--birth-intensity));color:#35241e}.birth-day.has-births[style*="--birth-intensity:1"]{color:#fff}
.age-pyramid-legend{display:grid;grid-template-columns:1fr 1fr;gap:54px;margin:0 0 8px;text-align:center;font-size:.72rem;font-weight:800}.age-pyramid-legend .male{color:#315f7b}.age-pyramid-legend .female{color:#914d62}.age-pyramid{display:grid;gap:3px}.age-pyramid-row{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);align-items:center;min-height:19px}.age-pyramid-row>b{text-align:center;color:#5f6d66;font-size:.67rem;font-variant-numeric:tabular-nums}.age-side{display:flex;align-items:center;gap:5px;min-width:0}.age-side span{width:24px;color:#53635b;font-size:.66rem;font-weight:800;font-variant-numeric:tabular-nums}.age-side i{display:block;height:14px;min-width:0}.age-side.male{justify-content:flex-end}.age-side.male span{text-align:right}.age-side.male i{background:#5688a5}.age-side.female i{background:#b86d82}.age-side.female span{text-align:left}.age-pyramid-row:nth-child(5n+1) .age-side i{filter:brightness(.94)}
.occupation-statistics{grid-column:1/-1}
.given-name-statistics{grid-column:1/-1}.given-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.given-name-grid section{min-width:0}.given-name-grid h4{margin:0 0 7px;color:#52645a;font-size:.82rem;text-transform:uppercase}.given-name-grid .surname-ranking{grid-template-columns:repeat(2,minmax(0,1fr));counter-reset:surnames}.given-name-grid .surname-ranking li{min-width:0}
.occupation-ranking{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.occupation-ranking li{padding:8px 10px}
.occupation-ranking li>div{min-width:0}
.occupation-ranking li i,.breakdown-row>i{display:block;height:5px;margin-top:5px;background:#e3e9e5;overflow:hidden;border-radius:2px}
.occupation-ranking li i b,.breakdown-row>i b{display:block;height:100%;background:#4f7969}
.statistics-breakdown{display:grid;gap:10px}
.breakdown-row>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.breakdown-row strong{font-size:.82rem;color:#32483e}
.breakdown-row span{font-size:.78rem;font-weight:800;color:#8b4b35;font-variant-numeric:tabular-nums}
.breakdown-row>i b{background:#b96548}
@media(max-width:900px){.census-statistics-summary{grid-template-columns:1fr 1fr}.census-statistics-grid{grid-template-columns:1fr}.age-statistics,.occupation-statistics{grid-column:auto}}
@media(max-width:900px){.birth-calendar-statistics{grid-column:auto}.birth-calendar{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.birth-calendar{grid-template-columns:1fr}.birth-calendar-summary{display:grid}.birth-month>div{grid-template-columns:repeat(8,minmax(26px,1fr))}}
@media(max-width:620px){.census-statistics-summary,.occupation-ranking,.given-name-grid,.given-name-grid .surname-ranking{grid-template-columns:1fr}.census-statistics-summary article{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center}.census-statistics-summary strong{grid-column:2;grid-row:1/3}.census-statistics-summary small{grid-column:1}.age-histogram{min-height:210px}.age-bin{height:185px}}

/* Expandable occupation groups with the literal wording from the census sheet. */
.occupation-ranking>li{display:block;padding:0}
.occupation-details>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;list-style-position:inside}
.occupation-details>summary>div{min-width:0;display:inline-block;width:calc(100% - 22px);vertical-align:middle}
.occupation-details>summary>span{align-self:start;padding-top:1px}
.occupation-details[open]>summary{background:#eef5f1;border-bottom:1px solid #dce7e0}
.occupation-details ul{list-style:none;margin:0;padding:4px 12px 9px 34px;background:#fbfcfb}
.occupation-details ul li{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(180px,1.5fr) auto;gap:10px;align-items:baseline;padding:6px 0;border:0;border-bottom:1px solid #e5ebe7;background:transparent;font-size:.78rem}
.occupation-details ul li:last-child{border-bottom:0}
.occupation-details ul li strong{color:#294b3e}
.occupation-details ul li span{font-weight:500;color:#35483f}
.occupation-details ul li small{color:#718078;white-space:nowrap}
@media(max-width:620px){.occupation-details ul{padding-left:18px}.occupation-details ul li{grid-template-columns:minmax(0,1fr) auto}.occupation-details ul li span{grid-column:1/-1}.occupation-details ul li small{grid-column:2;grid-row:1}}

/* Page hierarchy and responsive polish. */
html{scroll-behavior:smooth;scroll-padding-top:66px}
body{background:#eef2ee}
.skip-link{position:fixed;z-index:2000;top:8px;left:8px;transform:translateY(-150%);padding:9px 12px;background:#fff;color:#183f35;border:2px solid #183f35;font-weight:800}
.skip-link:focus{transform:none}
.hero{padding-top:28px;padding-bottom:30px;background:linear-gradient(110deg,#173d34,#285748)}
.hero h1{font-size:clamp(2.2rem,5vw,3.8rem);letter-spacing:0;line-height:1.05}
.hero>p:last-child{margin-bottom:0;color:#e3eee8}
.page-nav{position:sticky;top:0;z-index:900;border-bottom:1px solid #cad6ce;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.page-nav>div{max-width:1180px;margin:auto;padding:8px 18px;display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin}
.page-nav a{flex:0 0 auto;padding:7px 10px;color:#315f50;text-decoration:none;font-size:.8rem;font-weight:800;border-radius:4px}
.page-nav a:hover,.page-nav a:focus-visible{background:#e7f0eb;color:#183f35;outline:none}
main{padding-top:18px}
section[id]{scroll-margin-top:66px}
.panel{box-shadow:0 2px 9px rgba(31,61,48,.045)}
.section-head h2{line-height:1.15}
.section-head .badge{flex:0 0 auto}
.toolbar{padding:14px;background:#f3f7f4;border:1px solid #d7e1da;border-radius:6px}
.toolbar input,.toolbar select,.index-search input,.surname-search-box input{border-radius:4px}
.map-notes{margin-bottom:10px}
.history-map{border-radius:6px;overflow:hidden}
.leaflet-control-layers{max-width:min(290px,72vw);font-size:.8rem}
.leaflet-control-layers-overlays label{padding:2px 0}
.transcriptions-panel>p{max-width:900px;color:#5d6c64}
.surname-search-box{grid-template-columns:minmax(220px,340px) minmax(220px,1fr) auto;align-items:end;border-radius:4px}
.surname-search-box label{grid-column:1;grid-row:1}
.surname-search-box input{grid-column:1;grid-row:2}
.surname-search-box p{grid-column:2;grid-row:2}
.household-actions{grid-column:3;grid-row:2;display:flex;gap:6px}
.household-actions button{min-height:40px;padding:8px 11px;border:1px solid #9daf9f;border-radius:4px;background:#fff;color:#315f50;font-weight:800;cursor:pointer;white-space:nowrap}
.household-actions button:hover{background:#e4eee8}
.household-card{border-radius:5px;overflow:hidden}
.household-card>summary{padding:11px 2px}
.household-card[open]{background:#fbfdfb;border-color:#9eb5a8}
.household-card[open]>summary{border-bottom:1px solid #dce7e0}
.household-person-row>details[open]>summary{background:#f0f5f2}
.person-record-detail{border-radius:3px}
.person-record dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
.person-record dl div{grid-template-columns:minmax(125px,42%) 1fr;padding:4px 0;border-bottom:1px solid #edf1ee}
.house-index{scrollbar-color:#9eb2a6 #edf2ef}
.archive-panel{order:initial}

@media(min-width:1181px){
  main,.page-nav>div{max-width:1320px}
  .page-nav>div{padding-left:18px;padding-right:18px}
  .toolbar{grid-template-columns:180px minmax(240px,1fr) 220px minmax(240px,1fr)}
}
@media(max-width:900px){
  .surname-search-box{grid-template-columns:1fr 1fr}
  .surname-search-box label,.surname-search-box input{grid-column:1}
  .surname-search-box p{grid-column:2;grid-row:2}
  .household-actions{grid-column:1/-1;grid-row:3}
  .person-record dl{grid-template-columns:1fr}
}
@media(max-width:650px){
  .page-nav>div{padding:6px 12px}
  .page-nav a{padding:6px 8px;font-size:.76rem}
  main{padding-left:10px;padding-right:10px}
  .panel{padding:15px;margin-bottom:12px}
  .status-grid{gap:7px}
  .status-grid article{padding:12px}
  .toolbar{padding:10px;gap:9px}
  .map-notes{gap:6px}
  .map-note{font-size:.8rem}
  .history-map{height:56vh;min-height:360px}
  .surname-search-box{grid-template-columns:1fr;padding:11px}
  .surname-search-box label,.surname-search-box input,.surname-search-box p,.household-actions{grid-column:1;grid-row:auto}
  .household-actions{display:grid;grid-template-columns:1fr 1fr}
  .household-card{padding:0 9px}
  .household-card>summary span{line-height:1.35}
  .household-person-row>details>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px}
  .household-person-row>details>summary strong{font-size:.92rem}
  .household-person-row>details>summary span{font-size:.74rem}
  .household-person-row>details>summary .person-birth{justify-self:end}
  .household-person-row>details>summary span:nth-of-type(2),.household-person-row>details>summary span:nth-of-type(3){grid-column:1/-1}
  .person-record-detail{margin-left:0;margin-right:0;padding:8px}
  .person-record dl div{grid-template-columns:1fr;gap:1px}
  .person-record dd{font-size:.78rem}
  .archive-list>a,.archive-year,.archive-missing{min-height:auto}
}

.history-cemetery-map{height:min(66vh,620px);min-height:430px;margin-top:14px;border:1px solid #c9d6ce;border-radius:7px;background:#edf2ef;overflow:hidden}
.cemetery-overview-legend{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:11px;color:#52665b;font-size:.82rem}

/* Historical employer context connected directly to verified census rows. */
.sugar-factory-panel{border-top:4px solid #a66837;background:#fffdf8}.sugar-factory-lead{max-width:980px;color:#4f5d55}.sugar-factory-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px}.sugar-factory-layout>div{min-width:0;padding:16px;border:1px solid #dfded5;background:#fff}.sugar-factory-layout h3{margin:0 0 10px;color:#67452d}.sugar-timeline{list-style:none;margin:0;padding:0;display:grid;gap:7px}.sugar-timeline li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid #ece7dd}.sugar-timeline time{font-weight:850;color:#9a542d;font-variant-numeric:tabular-nums}.sugar-timeline span{font-size:.86rem;color:#46534c}.sugar-capacity{margin:12px 0 0;padding:10px 12px;background:#f7eee1;border-left:4px solid #bd7841;font-size:.84rem}.sugar-census>p{font-size:.86rem;color:#526159}.sugar-role-summary{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0}.sugar-role-summary span{display:flex;align-items:center;gap:7px;padding:5px 7px;background:#edf3ef;border:1px solid #d7e1da;font-size:.73rem}.sugar-role-summary b{font-weight:750}.sugar-role-summary em{min-width:20px;padding:1px 5px;background:#fff;color:#8b4b35;text-align:center;font-style:normal;font-weight:850}.sugar-worker-details{margin-top:12px;border-top:1px solid #d9e1dc}.sugar-worker-details>summary{padding:10px 0;cursor:pointer;color:#285f4c;font-size:.82rem;font-weight:800}.sugar-worker-details ul{list-style:none;margin:0;padding:0;max-height:360px;overflow:auto}.sugar-worker-details li{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,1fr) auto;gap:8px;padding:6px 3px;border-top:1px solid #edf1ee;font-size:.74rem}.sugar-worker-details li span{color:#526159}.sugar-worker-details li small{color:#8b4b35;font-weight:750}.sugar-sources{margin:14px 0 0}.sugar-sources a{color:#285f4c}
.industry-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.industry-facts article{padding:10px;border:1px solid #eadfce;background:#fffaf2}.industry-facts strong,.industry-facts span{display:block}.industry-facts strong{margin-bottom:4px;color:#764c2f;font-size:.78rem}.industry-facts span{color:#58635d;font-size:.74rem;line-height:1.45}
.oil-history-panel{border-top:4px solid #344d5f;background:#fbfcfd}.oil-history-lead{max-width:1040px;color:#4f5d65}.oil-history-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:18px}.oil-history-layout>div{min-width:0;padding:16px;border:1px solid #d8e0e5;background:#fff}.oil-history-layout h3{margin:0 0 10px;color:#314c5f}.oil-evidence-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.oil-evidence-list li{padding:10px;border-left:3px solid #738b99;background:#f2f5f7}.oil-evidence-list strong,.oil-evidence-list span{display:block}.oil-evidence-list strong{margin-bottom:4px;color:#27485d;font-size:.8rem}.oil-evidence-list span{color:#53636d;font-size:.76rem;line-height:1.45}.oil-census>p{color:#53636d;font-size:.84rem}.oil-worker-details{border-top:1px solid #dbe2e6}.oil-worker-details>summary{padding:10px 0;cursor:pointer;color:#28536b;font-size:.82rem;font-weight:800}.oil-worker-details ul{list-style:none;margin:0;padding:0}.oil-worker-details li{display:grid;grid-template-columns:minmax(135px,.8fr) minmax(150px,1fr);gap:4px 10px;padding:9px 2px;border-top:1px solid #e4e9ec;font-size:.75rem}.oil-worker-details li div{display:flex;justify-content:space-between;gap:7px}.oil-worker-details li small{color:#8b4b35;font-weight:800}.oil-worker-details li span{color:#374d59}.oil-worker-details li em{grid-column:1/-1;color:#687780;font-size:.7rem;font-style:normal}.oil-sources{margin:14px 0 0}.oil-sources a{color:#28536b}
@media(max-width:820px){.sugar-factory-layout{grid-template-columns:1fr}.sugar-worker-details li{grid-template-columns:minmax(0,1fr) auto}.sugar-worker-details li span{grid-column:1/-1;grid-row:2}.sugar-timeline li{grid-template-columns:76px minmax(0,1fr)}}
@media(max-width:820px){.oil-history-layout{grid-template-columns:1fr}.oil-evidence-list{grid-template-columns:1fr}}
@media(max-width:560px){.industry-facts{grid-template-columns:1fr}.oil-worker-details li{grid-template-columns:1fr}.oil-worker-details li em{grid-column:1}.oil-worker-details li div{justify-content:flex-start}.oil-worker-details li small{margin-left:auto}}
.cemetery-overview-legend span{display:flex;align-items:center;gap:7px}
.cemetery-overview-legend i{display:inline-block;width:18px;height:13px;border:1px solid #8e9d94;border-radius:2px;background:#e5e9e6}
.cemetery-overview-legend i.linked{border:2px solid #7b382c;background:#d66d57}
.history-cemetery-popup h3{margin:0 0 7px;font-size:1rem}
.history-cemetery-popup ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.history-cemetery-popup li{padding-top:5px;border-top:1px solid #e5e9e6;font-size:.82rem}
.history-cemetery-popup strong,.history-cemetery-popup span{display:block}
.history-cemetery-popup span{color:#59685f;font-size:.76rem}
@media(max-width:650px){.history-cemetery-map{height:54vh;min-height:360px}.cemetery-overview-legend{display:grid;gap:6px}}

/* Unified census statistics dashboard. */
.census-statistics-panel{--stats-green:#315f50;--stats-rust:#a95f43;--stats-blue:#4f7890;--stats-rose:#a85f76;padding:22px;background:#f8faf8;border-top:4px solid var(--stats-green)}
.census-statistics-panel>.section-head{margin-bottom:5px}.census-statistics-panel>#census-statistics-note{max-width:900px;margin:0 0 18px;padding-left:11px;border-left:3px solid #a9bbb0;color:#53645b;line-height:1.5}
.census-statistics-summary{gap:10px;margin-bottom:18px}.census-statistics-summary article{position:relative;min-height:98px;padding:15px 16px 13px;border:1px solid #d4dfd8;border-top:0;border-left:4px solid var(--stats-green);border-radius:4px;background:#fff;box-shadow:0 2px 7px rgba(35,68,54,.055)}
.census-statistics-summary article:nth-child(2){border-left-color:var(--stats-blue)}.census-statistics-summary article:nth-child(3){border-left-color:var(--stats-rust)}.census-statistics-summary article:nth-child(4){border-left-color:var(--stats-rose)}
.census-statistics-summary span{color:#5c6b63;font-size:.7rem;letter-spacing:.04em}.census-statistics-summary strong{font-size:1.72rem;color:#263f35}.census-statistics-summary small{color:#718078;line-height:1.3}
.census-statistics-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"age age age age age age age surname surname surname surname surname" "calendar calendar calendar calendar calendar calendar calendar calendar calendar calendar calendar calendar" "given given given given given given population population population marital marital marital" "occupation occupation occupation occupation occupation occupation occupation occupation occupation occupation occupation occupation" "birthplace birthplace birthplace birthplace birthplace birthplace birthplace birthplace birthplace birthplace birthplace birthplace" "nationality nationality nationality nationality nationality nationality literacy literacy literacy literacy literacy literacy";gap:12px}
.census-statistics-grid>article{padding:16px 17px;border:1px solid #d8e1dc;border-radius:5px;background:#fff;box-shadow:0 1px 5px rgba(37,65,53,.04)}
.census-statistics-grid>article>h3{display:flex;align-items:center;gap:8px;margin:0;color:#29483b;font-size:1rem}.census-statistics-grid>article>h3::before{content:"";width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--stats-green)}
.census-statistics-grid .statistics-help{margin:4px 0 13px;padding-left:16px;color:#6c7972;font-size:.75rem;line-height:1.4}.census-statistics-grid .statistics-footnote{padding-top:8px;border-top:1px solid #e7ece9;line-height:1.4}
.age-statistics{grid-area:age}.surname-statistics{grid-area:surname}.birth-calendar-statistics{grid-area:calendar}.given-name-statistics{grid-area:given}.population-statistics{grid-area:population}.marital-statistics{grid-area:marital}.occupation-statistics{grid-area:occupation}.birthplace-statistics{grid-area:birthplace}.nationality-statistics{grid-area:nationality}.literacy-statistics{grid-area:literacy}
.age-statistics>h3::before{background:var(--stats-blue)!important}.surname-statistics>h3::before,.occupation-statistics>h3::before{background:var(--stats-rust)!important}.birth-calendar-statistics>h3::before,.given-name-statistics>h3::before{background:var(--stats-rose)!important}.population-statistics>h3::before,.nationality-statistics>h3::before{background:#7c6b91!important}.marital-statistics>h3::before{background:#668477!important}.literacy-statistics>h3::before{background:#b18a38!important}
.age-pyramid{padding:8px 10px;border:1px solid #e3e9e5;background:#fafcfb}.age-pyramid-row{min-height:20px}.age-pyramid-row>b{color:#64736b}.age-pyramid-legend{margin-left:10px;margin-right:10px}.age-side i{border-radius:2px}.age-side.male i{background:var(--stats-blue)}.age-side.female i{background:var(--stats-rose)}
.surname-ranking{gap:5px}.surname-ranking li{padding:6px 8px;border-color:#e2e8e4;background:#fbfcfb}.surname-ranking li::before{color:var(--stats-rust);font-size:.72rem}.surname-ranking strong{font-size:.78rem}.surname-ranking span{font-size:.72rem}
.surname-statistics>.surname-ranking{max-height:425px;padding-right:5px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ad7965 #edf1ee}.surname-statistics>.surname-ranking::-webkit-scrollbar{width:8px}.surname-statistics>.surname-ranking::-webkit-scrollbar-track{background:#edf1ee}.surname-statistics>.surname-ranking::-webkit-scrollbar-thumb{background:#ad7965;border-radius:4px}
.birth-calendar-summary{margin-bottom:8px;border-left-color:var(--stats-rose);border-radius:3px;background:#f8eef1}.birth-calendar-key{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin:0 0 8px;color:#718078;font-size:.65rem}.birth-calendar-key i{width:13px;height:13px;border:1px solid rgba(139,75,53,.25);background:rgba(185,101,72,.18)}.birth-calendar-key i:nth-of-type(2){background:rgba(185,101,72,.38)}.birth-calendar-key i:nth-of-type(3){background:rgba(185,101,72,.65)}.birth-calendar-key i:nth-of-type(4){background:rgba(185,101,72,1)}.birth-calendar-key span:first-child{margin-right:3px}.birth-calendar-key span:last-child{margin-left:3px}
.birth-month-chart{display:grid;grid-template-columns:1fr 1fr;gap:5px 22px;margin:0 0 8px;padding:11px 12px;border:1px solid #eadde1;border-radius:4px;background:#fdfafb}.birth-month-row{display:grid;grid-template-columns:58px minmax(60px,1fr) 76px;align-items:center;gap:8px;min-width:0}.birth-month-row>strong{color:#4d5f56;font-size:.72rem;font-weight:650}.birth-month-row>i{height:9px;overflow:hidden;border-radius:5px;background:#eee9eb}.birth-month-row>i>b{display:block;height:100%;border-radius:5px;background:var(--stats-rose)}.birth-month-row>span{display:flex;align-items:baseline;justify-content:space-between;gap:5px;color:#593945;font-size:.76rem;font-weight:750;font-variant-numeric:tabular-nums}.birth-month-row small{color:#7f6d74;font-size:.62rem;font-weight:500}.birth-month-note{margin:0 0 10px!important;padding-top:3px!important;border-top:0!important}
.birth-calendar{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.birth-month{padding:9px;border-radius:3px;background:#fcfdfc}.birth-month h4{padding-bottom:5px;border-bottom:1px solid #e5ebe7}.birth-month>div{grid-template-columns:repeat(8,minmax(21px,1fr));gap:2px}.birth-day{border-radius:2px}.birth-day.has-births{background:rgba(185,101,72,var(--birth-intensity))}
.given-name-grid{gap:10px}.given-name-grid section{padding:10px;border:1px solid #e2e8e4;background:#fafcfb}.given-name-grid h4{padding-bottom:6px;border-bottom:1px solid #e3e9e5}.given-name-grid .surname-ranking{grid-template-columns:1fr 1fr}
.occupation-ranking{gap:6px}.occupation-details>summary{padding:9px 11px}.occupation-details[open]>summary{background:#f4f7f5}.occupation-details ul{background:#fff}.occupation-ranking li i b{background:var(--stats-rust)}
.statistics-breakdown{gap:11px}.breakdown-row>div{gap:16px}.breakdown-row strong{font-size:.78rem}.breakdown-row span{font-size:.75rem}.breakdown-row>i{height:6px;border-radius:3px}.breakdown-row>i b{border-radius:3px;background:var(--stats-green)}.population-statistics .breakdown-row>i b,.nationality-statistics .breakdown-row>i b{background:#7c6b91}.marital-statistics .breakdown-row>i b{background:#668477}.literacy-statistics .breakdown-row>i b{background:#b18a38}
.birthplace-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.birthplace-ranking{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:8px;margin:0;padding:0;list-style:none}.birthplace-ranking details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.birthplace-ranking summary strong{overflow-wrap:anywhere}.birthplace-ranking summary span{color:#65766d;font-size:.73rem;font-weight:750}.birthplace-territory{min-width:0;border:1px solid #cfdcd4;background:#f8fbf9}.birthplace-territory>details>summary{padding:11px 12px}.birthplace-territory>details>summary strong{color:#294d3e;font-size:.88rem}.birthplace-territory>details[open]>summary{background:#edf4f0}.birthplace-districts{display:grid;gap:6px;padding:7px;border-top:1px solid #dce6e0}.birthplace-district{border:1px solid #dce5df;background:#fff}.birthplace-district>summary{padding:8px 10px}.birthplace-district>summary strong{color:#466356;font-size:.78rem}.birthplace-places{display:grid;gap:5px;padding:6px;border-top:1px solid #e8edea;background:#fafcfb}.birthplace-place{border-left:3px solid #9db6a8;background:#fff}.birthplace-place>summary{padding:7px 9px}.birthplace-place>summary strong{color:#315f50;font-size:.76rem}.birthplace-place>ul{display:grid;gap:0;margin:0;padding:0;border-top:1px solid #e8edea;list-style:none}.birthplace-place li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:7px 9px;border-bottom:1px solid #edf1ee}.birthplace-place li:last-child{border-bottom:0}.birthplace-place li strong{font-size:.74rem}.birthplace-place li span{color:#586a60;font-size:.69rem}.birthplace-place li small{grid-column:1/-1;color:#75837c;font-size:.67rem;overflow-wrap:anywhere}
@media(max-width:1050px){.birth-calendar{grid-template-columns:repeat(3,minmax(0,1fr))}.census-statistics-grid{grid-template-areas:"age age age age age age surname surname surname surname surname surname" "calendar calendar calendar calendar calendar calendar calendar calendar calendar calendar calendar calendar" "given given given given given given population population population marital marital marital" "occupation occupation occupation occupation occupation occupation occupation occupation occupation occupation occupation occupation" "birthplace birthplace birthplace birthplace birthplace birthplace birthplace birthplace birthplace birthplace birthplace birthplace" "nationality nationality nationality nationality nationality nationality literacy literacy literacy literacy literacy literacy"}.birthplace-ranking{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.census-statistics-panel{padding:15px}.census-statistics-grid{display:grid;grid-template-columns:1fr;grid-template-areas:"age" "surname" "calendar" "given" "population" "marital" "occupation" "birthplace" "nationality" "literacy"}.birth-calendar{grid-template-columns:1fr 1fr}.birth-month-chart{grid-template-columns:1fr}.census-statistics-grid>article{padding:14px}.given-name-grid .surname-ranking{grid-template-columns:1fr}.occupation-ranking,.birthplace-ranking{grid-template-columns:1fr}.birthplace-summary{grid-template-columns:1fr}}

.war-memorial-panel{background:linear-gradient(180deg,#fbfaf7 0,#fff 180px)}.war-memorial-lead{max-width:920px}.war-memorial-panel blockquote{margin:16px 0 18px;padding:11px 14px;border-left:4px solid #7b6b59;background:#f1eee8;color:#4d443b;font-family:Georgia,serif;font-size:1rem;font-style:italic}.war-casualty-years{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.war-casualty-years section{min-width:0;padding:12px;border:1px solid #ddd8cf;border-radius:4px;background:rgba(255,255,255,.86)}.war-casualty-years h3{display:flex;justify-content:space-between;gap:8px;margin:0 0 8px;padding-bottom:7px;border-bottom:1px solid #e4dfd7;color:#4e493f;font-size:.92rem}.war-casualty-years h3 span{color:#786f62;font-size:.7rem;font-weight:650}.war-casualty-years ol{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;margin:0;padding:0;list-style:none}.war-casualty-years li{display:grid;min-width:0;padding:5px 0;border-bottom:1px dotted #e1ddd5}.war-casualty-years strong{font-size:.78rem;overflow-wrap:anywhere}.war-casualty-years small{color:#756d62;font-size:.68rem}.war-casualty-years .war-aftermath{background:#f5f2ec}.war-memorial-sources{margin-top:14px}
@media(max-width:980px){.war-casualty-years{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.war-casualty-years{grid-template-columns:1fr}.war-casualty-years ol{grid-template-columns:1fr 1fr}.war-memorial-panel blockquote{font-size:.9rem}}
@media(max-width:390px){.war-casualty-years ol{grid-template-columns:1fr}}
@media(max-width:480px){.census-statistics-panel{padding:12px}.census-statistics-summary{grid-template-columns:1fr 1fr}.census-statistics-summary article{min-height:86px;padding:12px}.census-statistics-summary strong{font-size:1.4rem}.birth-calendar{grid-template-columns:1fr}.birth-month-row{grid-template-columns:54px minmax(45px,1fr) 70px;gap:6px}.birth-month>div{grid-template-columns:repeat(8,minmax(25px,1fr))}.birth-calendar-key{justify-content:flex-start}.age-pyramid{padding:7px 3px}.age-pyramid-row{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)}}
