:root{color-scheme:light dark;--paper:#f7f7f4;--ink:#17191d;--muted:#5d615c;--line:#d7d8d4;--accent:#991f36;--card:#fff}
*{box-sizing:border-box}
img{max-width:100%;height:auto}
body{margin:0;background:var(--paper);color:var(--ink);font:1.08rem/1.68 Arial,sans-serif}
a{color:inherit;text-underline-offset:.18em;overflow-wrap:anywhere}
header,main,footer{max-width:920px;margin:auto;padding:1.35rem}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:#fff;color:#17191d;padding:.65rem;z-index:2}
.brand,h1,h2,h3{font-family:Georgia,serif}
.brand{font-size:1.5rem;font-weight:700;text-decoration:none}
.brand b,.kicker{color:var(--accent)}
nav{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.65rem;font-size:.92rem}
.kicker{font:bold .75rem Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-top:2rem}
h1{font-size:clamp(2.25rem,6vw,4.6rem);line-height:1.05;margin:.2em 0 .35em;max-width:19ch}
.deck{font-size:1.25rem;line-height:1.5;max-width:64ch;color:var(--muted)}
.badge{display:block;width:min(100%,620px);height:auto;margin:2rem auto;padding:1.5rem;background:#fff}
.release{max-width:72ch;margin:auto}
.release-label{font-weight:700;letter-spacing:.06em}
blockquote{margin:1.8rem 0;padding-left:1.25rem;border-left:4px solid var(--accent)}
.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1.5rem 0}
.role-grid>div{border:1px solid var(--line);background:var(--card);padding:1rem}
.role-grid h3{font-size:1.05rem;line-height:1.3;margin:0 0 .35rem}
.role-grid p{font-size:.95rem;line-height:1.5;margin:0;color:var(--muted)}
.story-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.75rem 0}
.story-photo{margin:0;border:1px solid var(--line);background:var(--card);overflow:hidden}
.story-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
.story-photo--wide img{aspect-ratio:auto;height:auto;object-fit:contain}
.story-photo--portrait img{object-position:50% 34%}
.story-photo figcaption{padding:.85rem 1rem;color:var(--muted);font-size:.88rem;line-height:1.5}
.news-card{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);border:1px solid var(--line);background:var(--card);margin:1.5rem 0;text-decoration:none;overflow:hidden}
.news-card img{display:block;width:100%;height:100%;min-height:230px;object-fit:cover;object-position:50% 49%}
.news-card>span{display:flex;flex-direction:column;justify-content:center;gap:.45rem;padding:1.25rem}
.news-card strong{font:1.3rem/1.25 Georgia,serif}
.news-card small{color:var(--muted)}
.news-card>span>span{text-decoration:underline;text-underline-offset:.18em}
.source-list{margin:1.6rem 0;padding:1.15rem 1.25rem;border:1px solid var(--line);background:var(--card)}
.source-list h3{margin:0 0 .7rem;font-size:1.2rem}
.source-list ul{margin:0;padding-left:1.25rem}
.source-list li+li{margin-top:.45rem}
.social-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.5rem 0}
.social-links a{display:flex;flex-direction:column;gap:.2rem;border:1px solid var(--line);background:var(--card);padding:1rem;text-decoration:none}
.social-links a:hover{border-color:var(--accent)}
.social-links strong{font-family:Georgia,serif}
.social-links span{color:var(--muted);font-size:.9rem}
.documents{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.25rem}
.button{display:inline-block;background:var(--ink);color:var(--paper);padding:.75rem 1rem;text-decoration:none;margin:.35rem .6rem .35rem 0}
footer{border-top:1px solid var(--line);margin-top:3rem;color:var(--muted);font-size:.9rem}
:where(a):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:680px){.role-grid,.story-gallery,.news-card,.social-links{grid-template-columns:1fr}.story-photo--wide img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.news-card img{aspect-ratio:16/10;min-height:0;object-position:50% 49%}}
@media(prefers-color-scheme:dark){:root{--paper:#17191d;--ink:#f7f7f4;--muted:#c7c9c5;--line:#45494e;--card:#22262b}.badge{background:#fff}}
