:root{
  --ivory:#f4efe5;
  --paper:#faf7f0;
  --navy:#0d2d49;
  --navy-2:#153b5a;
  --red:#bc463d;
  --ink:#183247;
  --muted:#6f746f;
  --line:#d8d0c3;
  --white:#fffdf8;
  --serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --shell:min(1180px,calc(100vw - 48px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
button{color:inherit}
::selection{background:rgba(188,70,61,.18)}
.shell{width:var(--shell);margin-inline:auto}
.section-pad{padding-block:112px}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:16px;z-index:1000;background:var(--navy);color:white;padding:10px 16px;transform:translateY(-200%);transition:.2s}
.skip-link:focus{transform:none}

.site-header{position:sticky;top:0;z-index:50;background:rgba(244,239,229,.96);border-bottom:1px solid rgba(24,50,71,.12);backdrop-filter:blur(14px)}
.header-inner{height:78px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.wordmark{text-decoration:none;color:var(--navy);display:flex;flex-direction:column;line-height:1.05;letter-spacing:.09em;font-family:var(--serif);font-weight:700;font-size:18px}
.wordmark small{font-family:var(--sans);font-size:10px;letter-spacing:.16em;font-weight:500;color:var(--red);margin-top:6px}
.site-nav{display:flex;justify-content:center;gap:22px;align-items:center}
.site-nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:650;position:relative;white-space:nowrap}
.site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--red);transition:right .25s ease}
.site-nav a:hover::after,.site-nav a:focus-visible::after{right:0}
.language-switch{display:flex;gap:7px;align-items:center;font-size:11px;letter-spacing:.08em}
.lang-button{border:0;background:transparent;padding:6px 2px;cursor:pointer;opacity:.5}
.lang-button.is-active{opacity:1;color:var(--red);font-weight:700}
.menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.menu-toggle>span:not(.sr-only){display:block;width:25px;height:1px;background:var(--navy);margin:6px 0;transition:.25s}

.eyebrow,.section-index{text-transform:uppercase;letter-spacing:.16em;font-weight:700;font-size:11px;color:var(--red);margin:0 0 22px}
.eyebrow-light,.section-index-light{color:#e8a29b}
h1,h2,h3{font-family:var(--serif);color:var(--navy);font-weight:500;letter-spacing:-.025em;line-height:1.05;margin:0}
h1{font-size:clamp(62px,8vw,120px);letter-spacing:-.055em}
h2{font-size:clamp(42px,5.2vw,76px);max-width:980px}
h3{font-size:30px}
p{margin:0 0 20px}
.lede{font-family:var(--serif);font-size:clamp(23px,2.4vw,34px);line-height:1.35;color:var(--navy);max-width:930px}
.lede-light{color:var(--white)}
.section-head{max-width:980px;margin-bottom:64px}

.hero{min-height:calc(100vh - 78px);display:grid;grid-template-columns:minmax(0,1.28fr) minmax(330px,.72fr);align-items:center;gap:80px}
.hero-copy{padding-block:38px}
.hero-line{font-family:var(--serif);font-size:clamp(32px,4vw,56px);line-height:1.12;color:var(--navy);margin:26px 0 34px}
.hero-intro{font-size:19px;line-height:1.68;max-width:770px}
.hero-intro-secondary{color:#4f5e65}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:38px}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--navy);min-height:48px;padding:11px 18px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:750;transition:background .2s,color .2s,border-color .2s,transform .2s;cursor:pointer}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--navy);color:var(--white)}
.button-primary:hover{background:var(--red);border-color:var(--red)}
.button-ghost{background:transparent;color:var(--navy)}
.button-ghost:hover{background:var(--navy);color:var(--white)}
.button-light{border-color:var(--white);color:var(--white);background:transparent}
.button-light:hover{background:var(--white);color:var(--navy)}
.mark-frame{border:1px solid var(--line);padding:30px;background:rgba(255,253,248,.5)}
.mark-frame img{width:100%;height:auto}
.hero-principles{margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.hero-principles div{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-principles dt{text-transform:uppercase;letter-spacing:.13em;font-size:10px;color:var(--red);font-weight:800;margin-bottom:5px}
.hero-principles dd{margin:0;font-size:13px;line-height:1.45;color:#4a5c66}

.rule-section{border-top:1px solid var(--line)}
.history-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:22px;align-items:stretch}
.photo-card{margin:0;border:1px solid var(--line);background:var(--paper);padding:14px}
.photo-card img{width:100%;height:100%;min-height:320px;object-fit:cover}
.photo-card-wide img{min-height:450px}
.photo-card figcaption,.community-strip figcaption{font-size:12px;color:var(--muted);padding:11px 2px 0;letter-spacing:.02em}
.history-story{display:grid;grid-template-columns:220px 1fr;gap:60px;border-top:1px solid var(--line);margin-top:78px;padding-top:54px}
.history-year{font-family:var(--serif);font-size:80px;line-height:1;color:var(--red)}
.history-copy{max-width:760px}
.history-copy h3{margin-bottom:24px}
.pull-line{font-family:var(--serif);font-size:28px;line-height:1.4;color:var(--navy);border-left:2px solid var(--red);padding-left:24px;margin-top:34px}

.section-soft{background:var(--paper);border-block:1px solid var(--line)}
.split-story{display:grid;grid-template-columns:1.2fr .8fr;gap:88px;align-items:start}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:50px}
.mini-grid>div{padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.mini-grid span,.method-grid article>span{font-family:var(--serif);font-size:14px;color:var(--red)}
.mini-grid h3{font-size:25px;margin:10px 0}
.mini-grid p{font-size:14px;line-height:1.6;color:#536169;margin:0}
.witness-card{position:relative;top:auto;align-self:start;min-width:0;border:1px solid var(--line);background:var(--ivory);padding:18px}
.witness-card img{width:100%;height:auto}
.witness-copy{padding:24px 10px 8px}
.witness-copy blockquote{font-family:var(--serif);color:var(--navy);font-size:28px;line-height:1.35;margin:0 0 28px}
.witness-copy p:last-child{font-size:13px;color:#59656a;line-height:1.55}

.section-dark{background:var(--navy);color:#e7e6df}
.section-dark h2,.section-dark h3{color:var(--white)}
.work-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:88px;align-items:start}
.work-copy>p:not(.section-index):not(.eyebrow):not(.lede){color:#c9d1d5;max-width:700px}
.work-meta{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#e8a29b!important;margin-top:20px}
.work-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:38px}
.work-tags span,.scope-tags span{border:1px solid rgba(255,255,255,.28);padding:7px 10px;text-transform:uppercase;letter-spacing:.09em;font-size:10px}
.audio-panel{border:1px solid rgba(255,255,255,.25);padding:34px;position:sticky;top:110px}
.audio-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:11px;color:#e8a29b;font-weight:700}
.headphone-note{display:flex;gap:10px;align-items:flex-start;color:#dfe6e9;font-size:13px;margin:16px 0 28px}
.headphone-note span:first-child{color:#e8a29b}
.custom-player{display:flex;gap:20px;align-items:center;padding:24px 0 18px;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.play-button{width:58px;height:58px;flex:0 0 58px;border-radius:50%;border:1px solid var(--white);background:transparent;color:var(--white);display:grid;place-items:center;cursor:pointer;transition:.2s}
.play-button:hover{background:var(--white);color:var(--navy)}
.play-icon{font-size:17px;margin-left:3px}
.player-main{min-width:0;flex:1}
.player-title{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin-bottom:12px;font-size:13px}
.player-title strong{font-family:var(--serif);font-size:18px;color:var(--white)}
.player-title span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#aebbc2;white-space:nowrap}
.audio-progress{width:100%;appearance:none;height:3px;border:0;background:rgba(255,255,255,.25);accent-color:var(--red);cursor:pointer}
.audio-progress::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--white)}
.audio-progress::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--white)}
.time-row{display:flex;justify-content:space-between;font-size:10px;color:#aebbc2;margin-top:8px;font-variant-numeric:tabular-nums}
.excerpt-note{font-size:12px;color:#aebbc2;margin:17px 0 22px}
.excerpt-note p{margin:0}

.method-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.method-grid article{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:290px}
.method-grid h3{font-size:25px;margin:18px 0 16px}
.method-grid p{font-size:14px;color:#56646a;line-height:1.65}
.method-statement{max-width:850px;margin-top:60px}
.method-statement p{font-family:var(--serif);font-size:30px;line-height:1.45;color:var(--navy)}

.memory-section{border-top:1px solid var(--line)}
.memorial-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:72px;align-items:center}
.memorial-photo{margin:0;background:var(--paper);border:1px solid var(--line);padding:14px}
.memorial-photo img{width:100%;height:auto}
.memorial-copy blockquote{font-family:var(--serif);font-size:clamp(34px,4vw,58px);line-height:1.15;color:var(--navy);margin:0 0 36px}
.memorial-copy p{max-width:650px}
.community-strip{margin-top:76px;border-top:1px solid var(--line);padding-top:28px}
.community-strip figure{margin:0;display:grid;grid-template-columns:1.45fr .55fr;gap:28px;align-items:end}
.community-strip img{width:100%;max-height:620px;object-fit:cover}
.community-strip figcaption{padding:0 0 8px;font-size:14px;line-height:1.6}

.archive-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:88px;align-items:start}
.archive-list{margin-top:48px;border-top:1px solid var(--line)}
.archive-list>div{display:grid;grid-template-columns:180px 1fr;gap:30px;border-bottom:1px solid var(--line);padding:20px 0}
.archive-list span{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--red);font-weight:700}
.archive-list p{margin:0;font-size:14px;color:#556269}
.archive-feature{margin:0;border:1px solid var(--line);padding:16px;background:var(--ivory)}
.archive-feature img{width:100%;height:auto}
.archive-feature figcaption{padding:22px 8px 8px;display:flex;flex-direction:column;gap:5px}
.archive-feature figcaption strong{font-family:var(--serif);font-size:26px;color:var(--navy)}
.archive-feature figcaption span{font-size:13px;color:#59666b}

.people-grid{display:grid;gap:92px}
.person-card{display:grid;grid-template-columns:.78fr 1.22fr;gap:72px;align-items:center;border-top:1px solid var(--line);padding-top:46px}
.person-card-reverse{grid-template-columns:.78fr 1.22fr}
.portrait{background:var(--paper);border:1px solid var(--line);padding:14px}
.portrait img{width:100%}
.portrait-kristina img{height:auto;object-fit:contain;aspect-ratio:auto}
.portrait-joe{overflow:hidden}
.portrait-joe img{aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.person-copy{max-width:680px}
.person-copy h3{font-size:40px;margin-bottom:28px}
.person-copy h3 span{display:block;font-family:var(--sans);font-size:13px;letter-spacing:.04em;color:#69777c;margin-top:8px}
.person-copy p{color:#4c5b62}
.family-line{font-family:var(--serif);font-size:24px;color:var(--navy)!important;border-left:2px solid var(--red);padding-left:20px}
.person-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px}
.person-links a{text-transform:uppercase;letter-spacing:.09em;font-size:10px;text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:3px}

.symbol-section{background:var(--paper);border-top:1px solid var(--line)}
.symbol-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:88px;align-items:start}
.symbol-image{margin:0;border:1px solid var(--line);padding:30px;background:var(--ivory);position:sticky;top:110px}
.symbol-image img{width:100%;height:auto}
.symbol-copy p:not(.section-index):not(.pull-line){color:#4f5e64}
.symbol-terms{margin-top:34px;border-top:1px solid var(--line)}
.symbol-terms>div{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}
.symbol-terms strong{text-transform:uppercase;letter-spacing:.13em;font-size:11px;color:var(--red)}
.symbol-terms span{font-size:14px;color:#536068}

.beyond-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}
.beyond-copy p:not(.lede){color:#c9d1d5}
.scope-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:56px}

.family-context{margin:30px 0 34px;padding:24px 26px;border:1px solid var(--line);background:var(--paper)}
.family-context .eyebrow{margin-bottom:10px}
.family-context p:last-child{margin:0;color:#4f5e64;font-size:15px;line-height:1.72}

.history-timeline{margin-top:82px;border-top:1px solid var(--line);padding-top:54px;display:grid;grid-template-columns:.72fr 1.28fr;gap:72px;align-items:start}
.timeline-intro{position:sticky;top:110px}
.timeline-intro h3{font-size:clamp(30px,3.3vw,46px);margin-bottom:24px}
.timeline-intro>p:last-child{font-size:14px;color:#59666b;max-width:440px}
.timeline-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.timeline-list li{display:grid;grid-template-columns:120px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid var(--line)}
.timeline-list time{text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--red);font-weight:750;padding-top:3px}
.timeline-list strong{display:block;font-family:var(--serif);font-size:24px;line-height:1.25;color:var(--navy);margin-bottom:8px}
.timeline-list p{font-size:14px;line-height:1.65;color:#536169;margin:0}
.history-source-note{margin-top:32px;padding:20px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.history-source-note span{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#6c777b;font-weight:750;margin-right:auto}
.history-source-note a,.resource-card>a,.resource-links a{font-size:11px;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:3px;color:var(--navy)}

.resources-section{background:var(--ivory);border-top:1px solid var(--line)}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.resource-card{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:330px;display:flex;flex-direction:column;background:rgba(255,253,248,.34)}
.resource-card-featured{background:var(--navy);color:#dfe5e8}
.resource-card h3{font-size:28px;margin:24px 0 16px}
.resource-card-featured h3{color:var(--white)}
.resource-card p{font-size:14px;line-height:1.68;color:#536169;margin-bottom:28px}
.resource-card-featured p{color:#c9d1d5}
.resource-card>a,.resource-links{margin-top:auto;align-self:flex-start}
.resource-card-featured .resource-links a{color:#f2d6d2}
.resource-meta{display:flex;justify-content:space-between;gap:18px;text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:#788287}
.resource-meta span:first-child{color:var(--red);font-weight:800}
.resource-card-featured .resource-meta{color:#aebbc2}
.resource-card-featured .resource-meta span:first-child{color:#e8a29b}
.resource-links{display:flex;gap:18px;flex-wrap:wrap}
.community-links{margin-top:52px;border:1px solid var(--line);padding:34px;display:grid;grid-template-columns:1.1fr .9fr;gap:54px;background:var(--paper);align-items:center}
.community-links h3{font-size:32px;margin-bottom:14px}
.community-links p:last-child{font-size:14px;color:#59666b;margin:0}
.community-link-list{border-top:1px solid var(--line)}
.community-link-list a{display:flex;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--navy);font-family:var(--serif);font-size:20px}
.community-link-list b{color:var(--red);font-family:var(--sans);font-weight:500}

.hillsborough-note{margin-top:62px;border-top:1px solid rgba(255,255,255,.24);border-bottom:1px solid rgba(255,255,255,.24);padding:34px 0;display:grid;grid-template-columns:220px 1fr;gap:54px}
.hillsborough-label{display:flex;flex-direction:column;gap:8px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;color:#e8a29b;font-weight:700}
.hillsborough-label span:last-child{color:#93a7b4;font-weight:500}
.hillsborough-copy{max-width:800px}
.hillsborough-copy h3{font-size:34px;margin-bottom:20px;color:var(--white)}
.hillsborough-copy p{color:#c9d1d5}
.hillsborough-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px}
.hillsborough-links a{text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:10px;color:#f2d6d2;border-bottom:1px solid rgba(232,162,155,.8);padding-bottom:3px}
.hillsborough-links a:hover{color:var(--white);border-bottom-color:var(--white)}

.mission-section{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mission-head{max-width:1000px;margin-bottom:64px}
.mission-head h2{max-width:980px}
.mission-head .lede{margin-top:34px;max-width:920px}
.mission-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.mission-grid article{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:250px}
.mission-grid article>span{font-family:var(--serif);font-size:14px;color:var(--red)}
.mission-grid h3{font-size:25px;margin:18px 0 16px}
.mission-grid p{font-size:14px;line-height:1.65;color:#56646a;margin:0}

.contact-topics{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 24px}
.contact-topics span{border:1px solid var(--line);padding:7px 10px;text-transform:uppercase;letter-spacing:.09em;font-size:10px;color:#536068;background:rgba(255,253,248,.45)}

.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.email-link{display:inline-block;font-family:var(--serif);font-size:25px;text-decoration:none;color:var(--navy);border-bottom:1px solid var(--red);margin-top:10px}
.contact-form{border-top:1px solid var(--line)}
.contact-form label{display:block;border-bottom:1px solid var(--line);padding:22px 0}
.contact-form label span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:var(--red);font-weight:750;margin-bottom:10px}
.contact-form input,.contact-form textarea{width:100%;border:0;background:transparent;color:var(--ink);outline:none;padding:0;font-size:17px;resize:vertical}
.contact-form label:focus-within{border-bottom-color:var(--navy)}
.contact-form .button{margin-top:28px}
.contact-form .button:disabled{opacity:.65;cursor:wait;transform:none}
.contact-status{margin:20px 0 0;padding:16px 18px;border:1px solid var(--line);font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.contact-status:empty{display:none}
.contact-status[data-state="error"]{border-left:3px solid var(--red)}
.contact-status[data-state="success"]{border-left:3px solid var(--navy)}
.contact-email-option{margin-top:20px;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.contact-email-option a{text-underline-offset:4px}
.contact-email-option small{display:block;margin-top:6px;color:#59666b;font-size:12px}

.site-footer{border-top:1px solid var(--line);padding:34px 0 42px}
.footer-inner{display:flex;justify-content:space-between;gap:30px;font-size:11px;color:#68757a;text-transform:uppercase;letter-spacing:.08em}
.footer-inner>div{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.footer-inner strong{color:var(--navy);font-family:var(--serif);font-size:14px}
.footer-right{justify-content:flex-end}
.footer-right a{text-decoration:none;color:var(--navy)}

.reveal{transition:opacity .7s ease,transform .7s ease}
.has-js .reveal{opacity:0;transform:translateY(18px)}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}

@media (max-width:1050px){
  :root{--shell:min(100% - 40px,920px)}
  .site-nav{position:fixed;inset:78px 0 auto;background:var(--ivory);border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:flex-start;padding:34px 24px 42px;gap:20px}
  body.menu-open .site-nav{display:flex}
  .menu-toggle{display:block;justify-self:end}
  .header-inner{grid-template-columns:auto 1fr auto auto}
  .language-switch{grid-column:3}
  .hero{grid-template-columns:1fr;gap:46px;min-height:auto}
  .hero-mark{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:start}
  .hero-principles{margin:0}
  .split-story,.work-grid,.archive-grid,.symbol-grid,.beyond-grid,.contact-grid{grid-template-columns:1fr;gap:58px}
  .history-timeline{grid-template-columns:1fr;gap:38px}
  .timeline-intro{position:relative;top:auto}
  .resource-grid{grid-template-columns:1fr 1fr}
  .mission-grid{grid-template-columns:1fr 1fr}
  .hillsborough-note{grid-template-columns:180px 1fr;gap:36px}
  .witness-card,.audio-panel,.symbol-image{position:relative;top:auto}
  .method-grid{grid-template-columns:1fr 1fr}
  .memorial-grid{grid-template-columns:1fr 1fr;gap:42px}
  .person-card,.person-card-reverse{grid-template-columns:.7fr 1.3fr;gap:46px}
}

/* Community photographs: retain the full image and its context. */
.photo-story{grid-column:1/-1;margin:0;padding-top:52px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:center}
.photo-story figcaption h3{font-size:clamp(28px,3vw,40px);margin:12px 0 22px}
.photo-story figcaption>p:not(.eyebrow){font-size:15px;color:#536169}
.photo-story .photo-credit{font-size:12px!important;border-top:1px solid var(--line);padding-top:16px;margin-bottom:0}
.photo-link{position:relative;display:block;text-decoration:none;background:var(--paper);overflow:hidden;cursor:zoom-in}
.photo-link img{display:block;width:100%;height:auto;object-fit:contain}
.photo-open{position:absolute;bottom:12px;right:12px;padding:7px 11px;color:var(--white);background:var(--navy);font-size:10px;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;pointer-events:none}
.photo-link:hover .photo-open{background:var(--red)}
.photo-link:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.photo-section-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin:64px 0 28px;border-top:1px solid var(--line);padding-top:34px}
.photo-section-head h3{font-size:clamp(27px,3vw,38px);line-height:1.2;margin:0}
.photo-section-head .eyebrow{margin-bottom:12px}
.photo-section-head>p{font-size:14px;color:#536169;margin:0;max-width:540px}
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}
.photo-grid-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.community-photo{margin:0;min-width:0;background:var(--paper);border:1px solid var(--line);padding:12px}
.community-photo figcaption{padding:20px 8px 8px}
.community-photo figcaption strong{display:block;font-family:var(--serif);font-size:25px;line-height:1.2;color:var(--navy);margin-bottom:12px;font-weight:400}
.community-photo figcaption p{font-size:13px;line-height:1.7;color:#536169;margin:0}
.photo-source-line{font-size:12px;line-height:1.7;color:#59666b;border-top:1px solid var(--line);padding-top:18px;margin:24px 0 0;max-width:900px}
.archive-photo-collection{grid-column:1/-1}
.archive-photo-collection .photo-section-head{margin-top:0}
.archive-source-line p{margin-bottom:10px}
.archive-source-line a,.photo-original-link{font-size:12px;text-underline-offset:4px}
.interview-records{margin-bottom:48px}
.interview-records .photo-section-head{margin-top:0}
.interview-records .photo-link{aspect-ratio:16/13;display:flex;align-items:center}
.interview-records .photo-link img{max-height:100%;width:100%;height:auto}
body.photo-opened{overflow:hidden}
.photo-dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:0;width:min(1120px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);overflow:auto}
.photo-dialog::backdrop{background:rgba(8,22,34,.9)}
.photo-dialog-inner{padding:20px 24px 22px}
.photo-dialog-toolbar{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:18px}
.photo-dialog-toolbar h2{font-family:var(--sans);font-size:12px;letter-spacing:.09em;text-transform:uppercase;line-height:1.5;margin:0}
.photo-dialog-close,.photo-dialog-controls button{border:1px solid var(--line);background:transparent;color:var(--navy);cursor:pointer;min-width:44px;min-height:44px;flex-shrink:0}
.photo-dialog-close{font-size:12px;padding:8px 15px;white-space:nowrap}
.photo-dialog-close:hover,.photo-dialog-controls button:hover{background:var(--navy);color:var(--white)}
.photo-dialog button:focus-visible,.photo-dialog a:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.photo-dialog-stage{background:var(--ivory);display:flex;align-items:center;justify-content:center;min-height:140px}
.photo-dialog-stage img{width:100%;height:auto;max-height:62dvh;object-fit:contain}
.photo-dialog-details{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start;margin:18px 0 10px}
.photo-dialog-details p{font-size:13px;line-height:1.7;margin:0;white-space:pre-line;max-width:780px}
.photo-dialog-controls{display:flex;align-items:center;gap:12px}
.photo-dialog-controls span{font-size:11px;font-variant-numeric:tabular-nums;min-width:46px;text-align:center}
.photo-original-link{color:var(--navy)}
.has-js .reveal.is-visible{opacity:1;transform:none}
@media (max-width:1000px){
  .photo-story{gap:28px}
  .photo-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .photo-story{grid-template-columns:1fr;gap:25px;padding-top:30px}
  .photo-section-head{grid-template-columns:1fr;gap:18px;margin-top:44px;padding-top:28px}
  .photo-grid,.photo-grid-three{grid-template-columns:1fr;gap:24px}
  .community-photo{padding:10px}
  .photo-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
  .photo-dialog-inner{padding:12px}
  .photo-dialog-toolbar{gap:12px;margin-bottom:12px}
  .photo-dialog-toolbar h2{font-size:10px;letter-spacing:.03em}
  .photo-dialog-details{grid-template-columns:1fr;gap:14px}
  .photo-dialog-controls{justify-content:space-between}
  .photo-dialog-stage img{max-height:52dvh}
}
@media (prefers-reduced-motion:reduce){.has-js .reveal{opacity:1;transform:none;transition:none}}

@media (max-width:720px){
  :root{--shell:calc(100vw - 30px)}
  body{font-size:15px}
  .section-pad{padding-block:80px}
  .header-inner{height:68px;gap:12px}
  .site-nav{inset:68px 0 auto}
  .wordmark{font-size:15px}
  .wordmark small{font-size:9px}
  .language-switch{font-size:10px}
  .hero{padding-top:72px}
  h1{font-size:clamp(52px,18vw,78px)}
  h2{font-size:clamp(38px,12vw,56px)}
  .hero-line{font-size:34px}
  .hero-intro{font-size:17px}
  .hero-mark{grid-template-columns:1fr}
  .mark-frame{padding:18px}
  .history-grid{grid-template-columns:1fr}
  .photo-card img,.photo-card-wide img{min-height:0;height:auto}
  .history-story{grid-template-columns:1fr;gap:22px;margin-top:55px}
  .history-timeline{margin-top:60px;padding-top:42px}
  .timeline-list li{grid-template-columns:1fr;gap:8px}
  .history-source-note{align-items:flex-start;flex-direction:column}
  .history-source-note span{margin-right:0}
  .history-year{font-size:62px}
  .mini-grid{grid-template-columns:1fr}
  .witness-copy blockquote{font-size:25px}
  .work-grid{gap:44px}
  .audio-panel{padding:24px 18px}
  .custom-player{align-items:flex-start}
  .play-button{width:50px;height:50px;flex-basis:50px}
  .player-title{display:block}
  .player-title span{display:block;margin-top:5px;white-space:normal}
  .method-grid{grid-template-columns:1fr}
  .method-grid article{min-height:auto}
  .mission-grid{grid-template-columns:1fr}
  .resource-grid{grid-template-columns:1fr}
  .resource-card{min-height:auto}
  .community-links{grid-template-columns:1fr;gap:28px;padding:26px 20px}
  .mission-grid article{min-height:auto}
  .hillsborough-note{grid-template-columns:1fr;gap:18px;margin-top:46px}
  .hillsborough-copy h3{font-size:29px}
  .method-statement p{font-size:25px}
  .memorial-grid{grid-template-columns:1fr}
  .community-strip figure{grid-template-columns:1fr}
  .archive-list>div{grid-template-columns:1fr;gap:5px}
  .person-card,.person-card-reverse{grid-template-columns:1fr;gap:28px}
  .portrait{max-width:520px}
  .person-copy h3{font-size:34px}
  .symbol-terms>div{grid-template-columns:1fr;gap:4px}
  .footer-inner{display:grid;gap:20px}
  .footer-inner>div,.footer-right{justify-content:flex-start}
}
