:root {
  --ink: #231f20;
  --paper: #f6f6f5;
  --red: #991a1e;
  --gold: #a79055;
  --blue: #164c83;
  --gray: #767779;
  --line: rgba(35,31,32,.18);
  --white: #fff;
  --max: 1240px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.65 "PT Serif", Georgia, serif; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; background: var(--white); padding: .75rem 1rem; }
.skip-link:focus { top: 1rem; }
.site-header { width: min(calc(100% - 2.5rem), var(--max)); margin: 0 auto; min-height: 96px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: flex; align-items: center; text-decoration: none; }
.brand-logo { display:block; width:190px; height:auto; }
nav,.button,.eyebrow,.card-kicker,.profile-label,.profile-role,.when,.photo-credit { font-family:Roboto,"Arial Narrow",Arial,sans-serif; }
nav { display:flex; align-items:center; gap:1.45rem; font-size:.86rem; font-weight:700; } nav a { text-decoration:none; } nav a:hover { color:var(--red); }
.nav-cta { border:1px solid var(--ink); padding:.7rem 1rem; }
.menu-toggle { display:none; }
.hero { position:relative; width:min(calc(100% - 2.5rem),var(--max)); min-height:690px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr); gap:6vw; align-items:center; overflow:hidden; }
.hero:before { content:""; position:absolute; width:520px; height:520px; right:15%; top:4%; background:repeating-linear-gradient(74deg,transparent 0 32px,rgba(167,144,85,.12) 32px 48px,transparent 48px 62px); pointer-events:none; }
.eyebrow,.card-kicker { margin:0 0 1rem; color:var(--red); text-transform:uppercase; letter-spacing:.16em; font-size:.78rem; font-weight:800; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:1.25rem; font:700 clamp(5rem,11vw,9.25rem)/.78 Roboto,Arial,sans-serif; letter-spacing:-.07em; text-transform:uppercase; }
h1 em { color:var(--red); font-weight:700; font-style:normal; }.statement em { color:#fff; font-weight:700; font-style:normal; text-decoration:underline var(--gold); text-decoration-thickness:.08em; text-underline-offset:.12em; }
.hero-lede { max-width:690px; font-size:clamp(1.12rem,2vw,1.45rem); line-height:1.5; }
.hero-actions { display:flex; gap:1.5rem; align-items:center; flex-wrap:wrap; margin-top:2rem; }
.button { display:inline-flex; gap:.8rem; align-items:center; min-height:52px; font-weight:750; text-decoration:none; }
.button-primary { padding:.8rem 1.1rem; background:var(--red); color:var(--white); box-shadow:5px 5px 0 var(--ink); }
.button-primary:hover { transform:translate(2px,2px); box-shadow:3px 3px 0 var(--ink); }
.hero-card { position:relative; z-index:1; padding:2rem; background:var(--blue); color:var(--white); box-shadow:14px 14px 0 var(--gold); }
.hero-card h2 { font:700 2.25rem/1.05 Roboto,Arial,sans-serif; }.hero-card p { color:rgba(255,255,255,.82); }
.hero-card dl { border-top:1px solid rgba(255,255,255,.25); }.hero-card dl div { display:grid; grid-template-columns:70px 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.25); }
.hero-card dt { color:var(--gold); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }.hero-card dd { margin:0; font-weight:650; }
.hero-card a { display:inline-block; margin-top:.75rem; color:#fff; font-weight:750; }
.hero-index { position:absolute; right:0; bottom:-.24em; font:900 12rem/1 Roboto,Arial,sans-serif; color:transparent; -webkit-text-stroke:1px var(--line); }
.statement { background:var(--blue); color:var(--white); padding:clamp(4rem,8vw,7rem) max(1.25rem,calc((100vw - var(--max))/2)); }
.statement p { color:#fff; text-transform:uppercase; letter-spacing:.15em; font-size:.8rem; font-weight:800; }
.statement h2 { max-width:1050px; margin:0; font:700 clamp(2.8rem,6.5vw,6.5rem)/1 Roboto,Arial,sans-serif; letter-spacing:-.045em; }
.pillars { width:min(calc(100% - 2.5rem),var(--max)); margin:0 auto; padding:7rem 0; }
.section-intro { display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; margin-bottom:3rem; }.section-intro h2 { max-width:700px; font:700 clamp(2.4rem,5vw,4.5rem)/1 Roboto,Arial,sans-serif; letter-spacing:-.04em; }
.pillar-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); }
.pillar-grid article { padding:2rem 2rem 1rem 0; border-right:1px solid var(--line); }.pillar-grid article+article { padding-left:2rem; }
.pillar-grid span { font:700 3rem/1 Roboto,Arial,sans-serif; color:var(--red); }.pillar-grid h3 { margin:2rem 0 .75rem; font:700 1.65rem/1.15 Roboto,Arial,sans-serif; }.pillar-grid p { color:rgba(35,31,32,.75); }.pillar-grid a { font-weight:750; }
.initiative { display:grid; grid-template-columns:1.1fr .9fr; min-height:650px; background:#ede9df; }
.initiative-image { position:relative; min-height:500px; overflow:hidden; }.initiative-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.75) contrast(1.06); }.initiative-image:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(7,25,45,.62)); pointer-events:none; }
.photo-credit { position:absolute; left:1.5rem; bottom:1.25rem; z-index:1; color:#fff; font-size:.78rem; }
.initiative-copy { align-self:center; padding:clamp(3rem,7vw,7rem); }.initiative-copy h2 { margin-bottom:2rem; font:700 clamp(2.8rem,5.2vw,5.2rem)/.96 Roboto,Arial,sans-serif; letter-spacing:-.05em; }.initiative-copy>p:not(.eyebrow) { max-width:580px; font-size:1.2rem; }
.button-dark { margin-top:1.25rem; padding:.8rem 1.1rem; color:#fff; background:var(--ink); box-shadow:5px 5px 0 var(--red); }
.stories { width:min(calc(100% - 2.5rem),var(--max)); margin:0 auto; padding:7rem 0; }.story-heading { border-bottom:1px solid var(--ink); padding-bottom:2.5rem; }.story-heading h2 { max-width:760px; }
.profile { display:grid; grid-template-columns:.55fr 1.2fr .8fr; gap:clamp(2rem,5vw,5rem); align-items:start; padding:4rem 0; border-bottom:1px solid var(--line); }.profile-number { font:900 clamp(7rem,13vw,12rem)/.75 Roboto,Arial,sans-serif; color:var(--blue); letter-spacing:-.08em; }.profile-body h3 { margin:.3rem 0; font:900 clamp(2.2rem,4vw,4rem)/1 Roboto,Arial,sans-serif; }.profile-label,.profile-role { color:var(--red); text-transform:uppercase; letter-spacing:.11em; font-size:.76rem; font-weight:800; }.profile-role { color:rgba(35,31,32,.62); }.profile-body a { font-weight:750; }.profile-conviction { margin:0; padding:0 0 0 2rem; border-left:4px solid var(--red); }.profile-conviction span { display:block; margin-bottom:.75rem; color:var(--red); font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.profile-conviction strong { font:italic 1.65rem/1.35 "PT Serif",Georgia,serif; }
.memory-link { display:grid; grid-template-columns:auto 1fr auto; gap:1.5rem; align-items:center; padding:2rem 0; }.memory-link>span { color:var(--red); font-size:1.8rem; }.memory-link p { margin:0; }.memory-link a { font-weight:750; }
.gather { padding:7rem max(1.25rem,calc((100vw - var(--max))/2)); background:var(--ink); color:#fff; }.gather-title { display:grid; grid-template-columns:.55fr 1.45fr; gap:2rem; align-items:start; margin-bottom:3rem; }.gather-title h2 { max-width:840px; font:900 clamp(3rem,6vw,6rem)/.95 Roboto,Arial,sans-serif; letter-spacing:-.05em; }
.gather-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.35); border-bottom:1px solid rgba(255,255,255,.35); }.gather-grid article { min-height:315px; padding:2rem 2rem 2rem 0; border-right:1px solid rgba(255,255,255,.25); }.gather-grid article+article { padding-left:2rem; }.gather-grid article:last-child { border-right:0; }.gather-grid h3 { font:900 2rem/1.1 Roboto,Arial,sans-serif; }.gather-grid p { color:rgba(255,255,255,.68); }.when { color:var(--gold)!important; font-size:.76rem; font-weight:800; letter-spacing:.14em; }.location-card { background:var(--red); padding-right:2rem!important; }.location-card .when,.location-card p { color:#fff!important; }.location-card a { font-weight:750; }
.facility-note { max-width:800px; margin:2rem 0 0; color:rgba(255,255,255,.72); }
.final-cta { padding:8rem max(1.25rem,calc((100vw - var(--max))/2)); background:var(--red); color:#fff; }.final-cta .eyebrow { color:#fff; }.final-cta h2 { max-width:1000px; margin-bottom:1.5rem; font:900 clamp(3.2rem,7vw,7rem)/.9 Roboto,Arial,sans-serif; letter-spacing:-.06em; }.final-cta>p:not(.eyebrow) { max-width:650px; font-size:1.2rem; }.final-cta .button-primary { background:#fff; color:var(--ink); }.light-link { color:#fff; }
footer { display:grid; grid-template-columns:1.2fr 1fr auto; gap:2rem; align-items:end; padding:3rem max(1.25rem,calc((100vw - var(--max))/2)); background:#141414; color:#fff; }.footer-brand strong,.footer-brand span { display:block; }.footer-brand span { margin-top:.35rem; color:rgba(255,255,255,.6); font-size:.82rem; }.footer-links { display:flex; gap:1.5rem; flex-wrap:wrap; }.footer-links a { color:#fff; font-weight:700; }.footer-links+ p { margin:0; font:italic 1.1rem "PT Serif",Georgia,serif; }

/* Interior pages */
.inner-main { min-height:70vh; }
.subhero { position:relative; overflow:hidden; padding:clamp(5rem,10vw,9rem) max(1.25rem,calc((100vw - var(--max))/2)); background:var(--blue); color:#fff; }
.subhero:after { content:""; position:absolute; inset:-10% 0 -10% 58%; background:repeating-linear-gradient(74deg,transparent 0 30px,rgba(255,255,255,.08) 30px 50px,transparent 50px 66px); }
.subhero>div { position:relative; z-index:1; max-width:960px; }
.subhero .eyebrow { color:var(--gold); }
.subhero h1 { max-width:1050px; margin-bottom:1.5rem; font-size:clamp(3.2rem,8vw,7.5rem); line-height:.88; }
.subhero>div>p:last-child { max-width:760px; font-size:clamp(1.1rem,2vw,1.35rem); }
.subhero-mark { position:absolute; right:2vw; bottom:-.25em; font:900 clamp(7rem,17vw,17rem)/1 Roboto,Arial,sans-serif; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.18); }
.content-section { width:min(calc(100% - 2.5rem),var(--max)); margin:0 auto; padding:clamp(4rem,8vw,7rem) 0; }
.content-section+.content-section { border-top:1px solid var(--line); }
.section-heading { max-width:860px; margin-bottom:2.5rem; }
.section-heading h2,.action-panel h2,.mission-grid h2,.feature-photo h2,.sponsors h2 { font:900 clamp(2.4rem,5vw,4.8rem)/.98 Roboto,Arial,sans-serif; letter-spacing:-.045em; }
.large-copy { max-width:1050px; font-size:clamp(1.65rem,3.2vw,3.1rem); line-height:1.25; }
.meta { color:var(--red); font:800 .76rem/1.2 Roboto,Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.profile-cards,.service-list,.officer-list { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.profile-cards article,.service-list article,.officer-list article { min-height:280px; padding:clamp(1.6rem,3vw,2.6rem); background:var(--paper); }
.profile-cards h3,.service-list h2,.officer-list h2,.pack-grid h2 { font:900 clamp(1.7rem,3vw,2.7rem)/1.05 Roboto,Arial,sans-serif; }
.veteran-story-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin-top:2.5rem; }
.veteran-story-list article { position:relative; padding:clamp(1.75rem,3vw,2.75rem); border-top:5px solid var(--red); background:#fff; }
.veteran-story-list h2 { margin:.5rem 0 1.25rem; font:900 clamp(2rem,3.5vw,3.2rem)/1 Roboto,Arial,sans-serif; letter-spacing:-.035em; }
.veteran-story-list p:last-child { margin-bottom:0; font-size:1.06rem; }
.story-number { margin:0 0 2.5rem; color:var(--gold); font:900 2.5rem/1 Roboto,Arial,sans-serif; }
.story-accordion { margin-top:2.5rem; }
.story-accordion summary { grid-template-columns:1fr auto; }
.story-accordion .profile-story { max-width:900px; margin:0 0 2.5rem; padding-right:4rem; }
.story-accordion .profile-story p { margin:0; font-size:1.12rem; }
.roster-heading { margin-top:5rem; }
.compact-officers { gap:1px; border:0; background:transparent; }
.compact-officers article { min-height:190px; border:1px solid var(--line); }
.text-link { display:inline-block; margin-top:2rem; font-family:Roboto,Arial,sans-serif; font-weight:800; }
.split-callout { display:grid; grid-template-columns:1fr 1fr; width:100%; padding:0; }
.split-callout>div { padding:clamp(3rem,7vw,7rem) max(1.25rem,calc((100vw - var(--max))/2)); }
.split-callout>div:first-child { padding-right:clamp(2rem,6vw,6rem); background:var(--ink); color:#fff; }
.split-callout>div:last-child { padding-left:clamp(2rem,6vw,6rem); background:#ede9df; }
.split-callout h2 { font:900 clamp(2.2rem,4vw,4rem)/1 Roboto,Arial,sans-serif; }
.link-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--ink); border:1px solid var(--ink); }
.link-grid>a { min-height:260px; padding:2.5rem; background:var(--paper); text-decoration:none; }
.link-grid>a:hover { background:#ede9df; }
.link-grid span { color:var(--red); font:900 .78rem/1 Roboto,Arial,sans-serif; letter-spacing:.14em; }
.link-grid h2 { margin-top:2.5rem; font:900 clamp(1.8rem,3.4vw,3.25rem)/1 Roboto,Arial,sans-serif; }
.link-grid.compact { margin-top:3rem; }
.action-panel { margin-top:4rem; padding:clamp(2.5rem,6vw,5rem); background:#ede9df; border-left:8px solid var(--gold); }
.prose { max-width:1000px; }
.prose>h2 { margin-top:3.5rem; font:900 clamp(2.2rem,4vw,4rem)/1 Roboto,Arial,sans-serif; }
.numbered { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin:2.5rem 0; }
.numbered article { padding:2rem; border-top:5px solid var(--red); background:#fff; }
.numbered span { color:var(--gold); font:900 2.4rem/1 Roboto,Arial,sans-serif; }
.numbered h3 { margin-top:1.5rem; font:900 1.45rem/1.1 Roboto,Arial,sans-serif; }
.button-row { display:flex; gap:1.25rem; align-items:center; flex-wrap:wrap; margin-top:2rem; }
.button-outline { padding:.8rem 1.1rem; border:1px solid currentColor; }
.note { margin-top:2.5rem; padding:1.5rem 2rem; border-left:5px solid var(--gold); background:#fff; }
.steps { margin:0; padding:0; list-style:none; }
.steps li { display:grid; grid-template-columns:100px 1fr; gap:2rem; padding:2.5rem 0; border-top:1px solid var(--line); }
.steps span,.timeline time { color:var(--red); font:900 1rem/1 Roboto,Arial,sans-serif; letter-spacing:.1em; }
.steps h2,.timeline h2 { font:900 clamp(1.8rem,3vw,3rem)/1 Roboto,Arial,sans-serif; }
.visual-steps li { grid-template-columns:70px minmax(0,1fr) minmax(220px,320px); align-items:start; }
.visual-steps figure { margin:0; text-align:center; }
.visual-steps img { display:block; width:100%; max-height:560px; object-fit:contain; background:#fff; }
.visual-steps figcaption { margin-top:.65rem; color:var(--gray); font:700 .78rem/1.35 Roboto,Arial,sans-serif; }
.contact-card { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,7vw,7rem); padding:clamp(2rem,5vw,4.5rem); background:var(--ink); color:#fff; }
.contact-card h2 { font:900 clamp(2.2rem,5vw,4.6rem)/1 Roboto,Arial,sans-serif; }
.contact-card a { color:#fff; }
.resource-grid,.sponsors>div,.values { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.resource-grid a,.sponsors a,.values span { padding:.8rem 1rem; border:1px solid var(--line); background:#fff; font:700 .9rem/1.2 Roboto,Arial,sans-serif; text-decoration:none; }
.timeline article { display:grid; grid-template-columns:180px 1fr; gap:2rem; padding:2.5rem 0; border-top:1px solid var(--line); }
.timeline-photo { margin:1.75rem 0 0; }
.timeline-photo img { display:block; width:100%; max-height:460px; aspect-ratio:16/9; object-fit:cover; background:#ddd; }
.timeline-photo figcaption { margin-top:.55rem; color:var(--gray); font:700 .75rem/1.35 Roboto,Arial,sans-serif; letter-spacing:.04em; }
.numbered.four-items { grid-template-columns:repeat(4,minmax(0,1fr)); }
.pack-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.pack-grid article { padding:2rem; border:1px solid var(--line); background:#fff; }
.feature-photo { display:grid; grid-template-columns:1fr 1fr; background:#ede9df; }
.feature-photo img { width:100%; height:100%; min-height:520px; object-fit:cover; }
.feature-photo>div { align-self:center; padding:clamp(2rem,6vw,5rem); }
.sponsors { margin-top:5rem; }
.partner-section { padding:clamp(4rem,8vw,8rem) max(1.25rem,calc((100% - var(--max))/2)); background:#fff; }
.partner-section .section-intro { margin-bottom:3rem; }
.partner-grid { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem!important; margin-top:2.5rem; }
.partner-card { display:flex!important; min-height:190px; padding:1.5rem!important; border:1px solid var(--line)!important; background:#fff!important; color:var(--ink)!important; flex-direction:column; align-items:center; justify-content:center; gap:1.25rem; text-align:center; text-decoration:none; transition:transform .2s ease,border-color .2s ease; }
.partner-card:hover,.partner-card:focus-visible { transform:translateY(-4px); border-color:var(--red)!important; }
.partner-card img { width:100%; max-width:190px; height:90px; object-fit:contain; }
.partner-card span { font:700 .82rem/1.25 Roboto,Arial,sans-serif; }
.partner-card.partner-dark { background:var(--ink)!important; color:#fff!important; }
.mission-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-bottom:5rem; background:var(--line); }
.mission-grid article { padding:clamp(2rem,5vw,4rem); background:#fff; }
.gather-grid.light { background:var(--paper); color:var(--ink); border-color:var(--line); }
.gather-grid.light article { border-color:var(--line); }
.gather-grid.light p { color:rgba(35,31,32,.72); }
.memorial-intro>.large-copy { margin-bottom:4rem; }
.memorial-grid { border-top:1px solid var(--ink); }
.memorial-grid details { border-bottom:1px solid var(--line); }
.memorial-grid summary { display:grid; grid-template-columns:70px 1fr auto; gap:1.5rem; align-items:center; padding:2rem 0; cursor:pointer; list-style:none; }
.memorial-grid summary::-webkit-details-marker { display:none; }
.memorial-grid summary>span { color:var(--gold); font:900 1.5rem/1 Roboto,Arial,sans-serif; }
.memorial-grid summary p { margin:0 0 .3rem; color:var(--gray); font:700 .75rem/1.2 Roboto,Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.memorial-grid summary h2 { margin:0; font:900 clamp(1.7rem,3vw,2.9rem)/1 Roboto,Arial,sans-serif; }
.memorial-grid summary b { color:var(--red); font:400 2.5rem/1 Roboto,Arial,sans-serif; }
.memorial-grid details[open] summary b { transform:rotate(45deg); }
.memorial-grid.story-accordion summary { grid-template-columns:minmax(0,1fr) auto; }
.memorial-grid.story-accordion summary>div { min-width:0; }
.memorial-story { display:grid; grid-template-columns:220px minmax(0,760px); gap:2rem; align-items:start; margin:0 0 2.5rem 85px; }
.memorial-story figure,.story-photo-grid figure,.event-gallery figure { margin:0; }
.memorial-story img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; background:#e7e7e7; }
.memorial-story figcaption,.event-gallery figcaption { margin-top:.55rem; color:var(--gray); font:700 .75rem/1.35 Roboto,Arial,sans-serif; letter-spacing:.04em; }
.memorial-story p { margin:0; font-size:1.12rem; }
.story-photo-grid { display:grid; grid-template-columns:1.35fr .85fr; grid-template-rows:repeat(2,minmax(230px,1fr)); gap:1rem; margin:3rem 0 4rem; }
.story-photo-grid figure { position:relative; min-height:260px; overflow:hidden; background:#ddd; }
.story-photo-grid figure:first-child { grid-row:1 / span 2; }
.story-photo-grid img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.story-photo-grid figcaption { position:absolute; left:0; right:0; bottom:0; padding:2.5rem 1rem .8rem; color:#fff; background:linear-gradient(transparent,rgba(0,0,0,.76)); font:700 .78rem/1.2 Roboto,Arial,sans-serif; letter-spacing:.04em; }
.event-gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; margin-bottom:4rem; }
.event-gallery figure:first-child:nth-last-child(3) { grid-column:1 / -1; }
.event-gallery img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:#ddd; }
@media (max-width: 850px) {
  .site-header { min-height:78px; }.menu-toggle { display:block; border:1px solid var(--ink); background:transparent; padding:.6rem .8rem; font:inherit; font-weight:700; }
  nav { display:none; position:absolute; z-index:10; top:78px; left:0; right:0; padding:1.5rem; background:var(--paper); border-bottom:1px solid var(--ink); flex-direction:column; align-items:flex-start; } nav.open { display:flex; }
  .hero { min-height:auto; padding:4.5rem 0 6rem; grid-template-columns:1fr; }.hero:before { width:330px;height:330px;right:-140px; }.hero-card { max-width:520px; }.hero-index { font-size:8rem; }
  .section-intro { display:block; }.pillar-grid { grid-template-columns:1fr; }.pillar-grid article,.pillar-grid article+article { padding:2rem 0; border-right:0; border-bottom:1px solid var(--line); }
  .initiative { grid-template-columns:1fr; }.initiative-copy { padding:4rem 1.25rem; }.profile { grid-template-columns:1fr; }.profile-number { font-size:7rem; }.memory-link { grid-template-columns:auto 1fr; }.memory-link a { grid-column:2; }
  .gather-title { grid-template-columns:1fr; }.gather-grid { grid-template-columns:1fr; }.gather-grid article,.gather-grid article+article { min-height:0; padding:2rem 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.25); }.gather-grid article:last-child { padding:2rem!important; }.facility-note { margin-top:2rem; }
  footer { grid-template-columns:1fr; align-items:start; }
  .profile-cards,.service-list,.officer-list,.veteran-story-list,.link-grid,.split-callout,.contact-card,.feature-photo,.mission-grid { grid-template-columns:1fr; }
  .numbered,.pack-grid { grid-template-columns:1fr; }
  .numbered.four-items { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .partner-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .link-grid>a { min-height:0; }
  .timeline article { grid-template-columns:1fr; gap:1rem; }
  .visual-steps li { grid-template-columns:60px 1fr; }
  .visual-steps figure { grid-column:2; max-width:320px; }
  .feature-photo img { min-height:340px; }
  .story-photo-grid { grid-template-columns:1fr; grid-template-rows:none; }
  .story-photo-grid figure:first-child { grid-row:auto; min-height:440px; }
  .event-gallery { grid-template-columns:1fr; }
  .event-gallery figure:first-child:nth-last-child(3) { grid-column:auto; }
  .memorial-story { grid-template-columns:150px 1fr; margin-left:0; }
}
@media (max-width: 520px) { h1 { font-size:4.35rem; }.brand-logo{width:150px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-card{padding:1.5rem}.site-header,.hero,.pillars{width:min(calc(100% - 2rem),var(--max));}.subhero h1{font-size:3rem}.memorial-grid summary{grid-template-columns:42px 1fr auto;gap:.75rem}.story-accordion summary{grid-template-columns:1fr auto}.story-accordion .profile-story{padding-right:0}.memorial-story{grid-template-columns:1fr}.memorial-story figure{max-width:240px}.steps li{grid-template-columns:1fr;gap:1rem}.visual-steps figure{grid-column:auto}.numbered.four-items{grid-template-columns:1fr}.partner-grid{grid-template-columns:1fr}.partner-card{min-height:165px} }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }
