@import"https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&family=Source+Sans+3:wght@300;400;500;600;700&display=swap";:root{--color-navy: #1e2a3a;--color-slate: #2c3e50;--color-stone: #f5f0eb;--color-cream: #faf8f5;--color-white: #ffffff;--color-green: #4a6741;--color-green-light: #6b8f63;--color-green-muted: #e8ede6;--color-poppy: #c0392b;--color-poppy-muted: #e8a49e;--color-text: #2c2c2c;--color-text-light: #5a5a5a;--color-border: #d4cfc9;--color-link: #2c5f7c;--color-link-hover: #1a3d52;--font-heading: "Crimson Text", Georgia, "Times New Roman", serif;--font-body: "Source Sans 3", "Segoe UI", system-ui, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--max-width: 72rem;--content-width: 52rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:1.0625rem;line-height:1.7;color:var(--color-text);background-color:var(--color-cream);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.3;color:var(--color-navy)}h1{font-size:2.25rem;margin-bottom:var(--space-lg)}h2{font-size:1.75rem;margin-top:var(--space-2xl);margin-bottom:var(--space-md)}h3{font-size:1.375rem;margin-top:var(--space-xl);margin-bottom:var(--space-sm)}h4{font-size:1.125rem;margin-top:var(--space-lg);margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md)}a{color:var(--color-link);text-decoration-thickness:1px;text-underline-offset:2px;transition:color .2s}a:hover{color:var(--color-link-hover)}a:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}img{max-width:100%;height:auto;display:block}blockquote{border-left:3px solid var(--color-green);padding-left:var(--space-lg);margin:var(--space-lg) 0;color:var(--color-text-light);font-style:italic}ul,ol{padding-left:var(--space-xl);margin-bottom:var(--space-md)}li{margin-bottom:var(--space-xs)}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-2xl) 0}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.content{max-width:var(--content-width);margin:0 auto}.site-header{background:var(--color-navy);color:var(--color-white);padding:var(--space-md) 0;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #00000026}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.site-title{font-family:var(--font-heading);font-size:1.375rem;font-weight:700;color:var(--color-white);text-decoration:none;letter-spacing:.02em}.site-title:hover{color:var(--color-stone)}.site-title span{font-weight:400;opacity:.8;font-size:.875rem;display:block}.main-nav{display:flex;align-items:center}.nav-list{display:flex;list-style:none;gap:var(--space-xs);padding:0;margin:0}.nav-list a{color:#ffffffd9;text-decoration:none;padding:var(--space-sm) var(--space-md);border-radius:4px;font-size:.9375rem;font-weight:500;transition:background .2s,color .2s}.nav-list a:hover,.nav-list a[aria-current=page],.nav-list a[aria-current=true]{background:#ffffff1f;color:var(--color-white)}.nav-dropdown{position:relative}.nav-dropdown-content{display:none;position:absolute;top:100%;left:0;background:var(--color-white);border-radius:6px;box-shadow:0 4px 16px #0000001f;min-width:12rem;padding:var(--space-sm) 0;z-index:200}.nav-dropdown:hover .nav-dropdown-content,.nav-dropdown:focus-within .nav-dropdown-content{display:block}.nav-dropdown-content a{display:block;color:var(--color-text);padding:var(--space-sm) var(--space-lg);font-size:.9375rem}.nav-dropdown-content a:hover{background:var(--color-green-muted);color:var(--color-navy)}.nav-toggle{display:none;background:none;border:none;color:var(--color-white);cursor:pointer;padding:var(--space-sm);font-size:1.5rem;line-height:1}@media(max-width:768px){.nav-toggle{display:block}.nav-list{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--color-navy);padding:var(--space-md);box-shadow:0 4px 16px #0003}.nav-list.open{display:flex}.nav-dropdown-content{position:static;box-shadow:none;background:#ffffff0d;border-radius:4px;padding:0}.nav-dropdown-content a{color:#ffffffd9;padding-left:var(--space-2xl)}.nav-dropdown-content a:hover{background:#ffffff14;color:var(--color-white)}.nav-dropdown:hover .nav-dropdown-content,.nav-dropdown:focus-within .nav-dropdown-content{display:block}}.site-footer{background:var(--color-navy);color:#ffffffb3;padding:var(--space-2xl) 0 var(--space-lg);margin-top:var(--space-3xl)}.footer-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-2xl);margin-bottom:var(--space-xl)}.footer-section h3{color:var(--color-white);font-size:1rem;font-family:var(--font-body);font-weight:600;margin-bottom:var(--space-md);margin-top:0}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section li{margin-bottom:var(--space-sm)}.footer-section a{color:#ffffffb3;text-decoration:none;font-size:.9375rem}.footer-section a:hover{color:var(--color-white)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--space-lg);font-size:.875rem;text-align:center}.footer-bottom a{color:#ffffffb3}.footer-bottom a:hover{color:var(--color-white)}.hero{background:var(--color-navy);color:var(--color-white);padding:var(--space-3xl) 0;text-align:center}.hero-emblem{width:16rem;height:auto;margin:0 auto var(--space-lg);mask-image:radial-gradient(ellipse 85% 85% at center,black 50%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 85% 85% at center,black 50%,transparent 80%)}.hero h1{color:var(--color-white);font-size:2.75rem;margin-bottom:var(--space-md)}.hero p{font-size:1.25rem;opacity:.9;max-width:36rem;margin:0 auto var(--space-lg)}.page-content{padding:var(--space-2xl) 0}.section{margin-bottom:var(--space-3xl)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--space-lg)}.card{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-lg);transition:box-shadow .2s,transform .15s}.card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.card a{text-decoration:none}.card h3{margin-top:0;font-size:1.125rem}.card .meta{font-size:.875rem;color:var(--color-text-light);margin-bottom:var(--space-sm)}.person-card{border-top:3px solid var(--color-poppy-muted)}.person-card .rank-regiment{font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light);margin-bottom:var(--space-xs)}.person-card .dates{font-size:.875rem;color:var(--color-text-light)}.map-container{border-radius:8px;overflow:hidden;border:1px solid var(--color-border);margin:var(--space-lg) 0}.map-container .leaflet-container{height:400px;width:100%}.person-header{background:var(--color-navy);color:var(--color-white);padding:var(--space-2xl) 0;border-bottom:4px solid var(--color-poppy)}.person-header h1{color:var(--color-white);margin-bottom:var(--space-sm)}.person-header .rank-regiment{font-size:1.125rem;opacity:.85;text-transform:uppercase;letter-spacing:.05em}.person-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-md);background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-lg);margin:var(--space-lg) 0}.person-meta dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-light);font-weight:600}.person-meta dd{font-size:1rem;margin:0 0 var(--space-md)}.external-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-sm)}.external-links a{display:inline-block;padding:var(--space-sm) var(--space-md);background:var(--color-green-muted);border-radius:4px;font-size:.875rem;text-decoration:none;color:var(--color-green);font-weight:500}.external-links a:hover{background:var(--color-green);color:var(--color-white)}.weather-widget{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-xl);text-align:center;max-width:28rem}.weather-temp{font-size:3rem;font-weight:300;color:var(--color-navy);line-height:1}.weather-desc{font-size:1.125rem;color:var(--color-text-light);margin:var(--space-sm) 0}.weather-details{display:flex;justify-content:center;gap:var(--space-xl);margin-top:var(--space-md);font-size:.9375rem;color:var(--color-text-light)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:var(--space-md)}.gallery-grid img{border-radius:6px;width:100%;aspect-ratio:4 / 3;object-fit:cover;cursor:pointer;transition:transform .2s}.gallery-grid img:hover{transform:scale(1.02)}@media(max-width:768px){h1{font-size:1.75rem}h2{font-size:1.375rem}.hero h1{font-size:2rem}.hero p{font-size:1.0625rem}.person-meta{grid-template-columns:1fr 1fr}.footer-inner{grid-template-columns:1fr}}@media(max-width:480px){.person-meta{grid-template-columns:1fr}}.skip-link{position:absolute;top:-100%;left:var(--space-md);background:var(--color-navy);color:var(--color-white);padding:var(--space-sm) var(--space-md);border-radius:0 0 4px 4px;z-index:1000;font-size:.875rem;text-decoration:none}.skip-link:focus{top:0}[data-theme=dark]{--color-navy: #0f1724;--color-slate: #1a2535;--color-stone: #1e2a3a;--color-cream: #141c28;--color-white: #1a2332;--color-green: #7ab06e;--color-green-light: #8bc480;--color-green-muted: #1e2e1e;--color-poppy: #e05a4f;--color-poppy-muted: #5a2a27;--color-text: #d4d8de;--color-text-light: #8a95a5;--color-border: #2a3a4e;--color-link: #6ba3c4;--color-link-hover: #8fc0de}[data-theme=dark] .site-header,[data-theme=dark] .hero,[data-theme=dark] .site-footer,[data-theme=dark] .person-header{background:#0a1220}[data-theme=dark] .nav-dropdown-content{background:#1a2332}[data-theme=dark] .nav-dropdown-content a{color:var(--color-text)}[data-theme=dark] .nav-dropdown-content a:hover{background:var(--color-green-muted)}.a11y-toolbar{display:flex;align-items:center;gap:var(--space-xs)}.a11y-toolbar-item{position:relative}.a11y-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:#ffffffb3;cursor:pointer;padding:6px;border-radius:4px;transition:color .2s,background .2s;position:relative}.a11y-btn:hover{color:var(--color-white);background:#ffffff1a}.a11y-badge{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:50%;background:var(--color-poppy);font-size:0}.a11y-popover{position:absolute;right:0;top:calc(100% + 8px);background:var(--color-white);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 8px 24px #0000001f;min-width:12rem;padding:var(--space-sm) 0;z-index:300;color:var(--color-text)}[data-theme=dark] .a11y-popover{box-shadow:0 8px 24px #0006}.reading-prefs-popover{width:17rem;padding:var(--space-md)}.a11y-popover-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.a11y-popover-header h3{font-size:.8125rem;font-family:var(--font-body);font-weight:600;color:var(--color-text);margin:0}.a11y-reset{background:none;border:none;font-size:.6875rem;color:var(--color-text-light);cursor:pointer;padding:2px 6px;border-radius:3px}.a11y-reset:hover{color:var(--color-text);background:var(--color-green-muted)}.a11y-option{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;padding:6px 12px;font-size:.875rem;color:var(--color-text);cursor:pointer;text-align:left;border-radius:6px;transition:background .15s;font-family:var(--font-body)}.a11y-option:hover{background:var(--color-green-muted)}.a11y-option[aria-selected=true],.a11y-option[aria-checked=true]{color:var(--color-green);font-weight:600}.a11y-option small{display:block;font-size:.6875rem;color:var(--color-text-light);font-weight:400;margin-top:2px}.filter-swatch{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid var(--color-border);flex-shrink:0}.a11y-check{display:inline-block;width:14px;height:14px;border:2px solid var(--color-border);border-radius:3px;flex-shrink:0;position:relative}.a11y-option[aria-checked=true] .a11y-check,.a11y-option[aria-selected=true] .a11y-check{background:var(--color-green);border-color:var(--color-green)}.a11y-option[aria-checked=true] .a11y-check:after,.a11y-option[aria-selected=true] .a11y-check:after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.a11y-group{border:none;padding:0;margin:0 0 var(--space-md)}.a11y-group legend{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-light);margin-bottom:4px;padding:0}.reading-preview{background:var(--color-stone);border:1px solid var(--color-border);border-radius:6px;padding:var(--space-md);margin-bottom:var(--space-md)}.reading-preview .preview-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light);margin-bottom:4px}.reading-preview p{font-size:.75rem;margin:0;color:var(--color-text)}.theme-toggle-group{display:flex;align-items:center;gap:2px;background:#ffffff14;border-radius:6px;padding:2px}.theme-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:#ffffff80;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s,background .2s}.theme-btn:hover{color:#ffffffe6}.theme-btn[aria-checked=true]{color:var(--color-white);background:#ffffff26}.colour-filter-overlay{position:fixed;inset:0;z-index:9999;pointer-events:none;mix-blend-mode:multiply;transition:background-color .3s ease,opacity .3s ease;opacity:0}[data-colour-filter=warm]~* .colour-filter-overlay,body[data-colour-filter=warm] .colour-filter-overlay{background-color:#faecd1;opacity:.2}body[data-colour-filter=cool] .colour-filter-overlay{background-color:#d6e6f5;opacity:.15}body[data-colour-filter=rose] .colour-filter-overlay{background-color:#f5d6e0;opacity:.15}body[data-colour-filter=green] .colour-filter-overlay{background-color:#d4edd4;opacity:.15}body[data-colour-filter=yellow] .colour-filter-overlay{background-color:#f9f1c8;opacity:.2}body[data-colour-filter=highcontrast]{filter:contrast(1.3)}@font-face{font-family:OpenDyslexic;src:url(https://cdn.jsdelivr.net/npm/open-dyslexic@1.0.3/woff/OpenDyslexic-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(https://cdn.jsdelivr.net/npm/open-dyslexic@1.0.3/woff/OpenDyslexic-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}body[data-reading-font=hyperlegible]{font-family:Atkinson Hyperlegible,system-ui,sans-serif}body[data-reading-font=dyslexic]{font-family:OpenDyslexic,system-ui,sans-serif;letter-spacing:.015em}body[data-reading-motion=none],body[data-reading-motion=none] *,body[data-reading-motion=none] *:before,body[data-reading-motion=none] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}body[data-reading-spacing=relaxed]{line-height:1.75;word-spacing:.03em}body[data-reading-spacing=loose]{line-height:2;word-spacing:.08em;letter-spacing:.01em}body[data-reading-focus=on] [data-decorative=true],body[data-reading-focus=on] .card-grid .card .meta{opacity:.15;filter:grayscale(.8);transition:opacity .2s ease,filter .2s ease}body[data-reading-focus=on] [data-decorative=true]:hover,body[data-reading-focus=on] .card-grid .card .meta:hover{opacity:1;filter:none}*:focus-visible{outline:3px solid var(--color-green);outline-offset:2px}@media print{.site-header,.site-footer,.nav-toggle,.a11y-toolbar,.colour-filter-overlay,.skip-link{display:none}body{font-size:11pt;background:#fff;color:#000}a{color:#000;text-decoration:underline}}@media(max-width:768px){.a11y-toolbar{gap:0}.a11y-popover{position:fixed;left:var(--space-md);right:var(--space-md);top:auto;bottom:var(--space-md);width:auto}.reading-prefs-popover{width:auto}}
