:root{
  --ink:#12312a; --ink-soft:#4a5c56; --cream:#fbf8f1; --card:#fff;
  --accent:#c9512f; --accent-soft:#f4e2da; --green:#2c6a4e; --line:#e4ded1;
  --max:44rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font:17px/1.65 Georgia,'Iowan Old Style','Times New Roman',serif;
}
h1,h2,h3,.sans{font-family:'Helvetica Neue',Arial,system-ui,sans-serif}
h1,h2,h3{line-height:1.2; color:var(--ink)}
a{color:var(--accent)}
a:hover{text-decoration:none}
img{max-width:100%; height:auto; display:block}
.wrap{max-width:var(--max); margin:0 auto; padding:0 1.25rem}
.wide{max-width:64rem}

header.site{border-bottom:1px solid var(--line); background:var(--card)}
header.site .wrap{display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding-top:.9rem; padding-bottom:.9rem; max-width:64rem}
.brand{font-weight:700; font-size:1.15rem; letter-spacing:.02em;
  text-decoration:none; color:var(--ink); font-family:'Helvetica Neue',Arial,sans-serif}
.brand span{color:var(--accent)}
nav.site a{margin-left:1.1rem; font-size:.92rem; text-decoration:none;
  color:var(--ink-soft); font-family:'Helvetica Neue',Arial,sans-serif}
nav.site a:hover{color:var(--accent)}

.hero{background:var(--card); border-bottom:1px solid var(--line);
  padding:3rem 0 2.5rem; text-align:center}
.hero h1{font-size:clamp(1.9rem,5vw,2.9rem); margin:0 0 .6rem}
.hero p{margin:0 auto; max-width:34rem; color:var(--ink-soft); font-size:1.06rem}

article{padding:2.5rem 0 3rem}
article h1{font-size:clamp(1.7rem,4.6vw,2.5rem); margin:0 0 .5rem}
article h2{font-size:1.35rem; margin:2.4rem 0 .7rem;
  padding-top:1.4rem; border-top:1px solid var(--line)}
article p{margin:0 0 1.05rem}
.kicker{font-family:'Helvetica Neue',Arial,sans-serif; font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--accent);
  margin:0 0 .7rem; font-weight:700}
.standfirst{font-size:1.12rem; color:var(--ink-soft); margin:0 0 1.6rem}
.checked{font-size:.85rem; color:var(--ink-soft); font-style:italic;
  border-left:3px solid var(--accent-soft); padding-left:.9rem; margin:1.5rem 0}

figure{margin:0 0 1.8rem}
figure img{border-radius:6px}
figcaption{font-size:.83rem; color:var(--ink-soft); margin-top:.5rem}

.facts{background:var(--card); border:1px solid var(--line); border-radius:8px;
  padding:1.3rem 1.4rem; margin:0 0 2rem}
.facts h2{margin:0 0 .8rem; font-size:1.05rem; border:0; padding:0;
  letter-spacing:.02em}
.facts dl{margin:0; display:grid; grid-template-columns:minmax(8.5rem,auto) 1fr;
  gap:.5rem 1rem; font-size:.95rem}
.facts dt{font-family:'Helvetica Neue',Arial,sans-serif; font-weight:600;
  color:var(--ink-soft)}
.facts dd{margin:0}

.cards{display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));
  padding:2.5rem 0}
.card{background:var(--card); border:1px solid var(--line); border-radius:8px;
  overflow:hidden; display:flex; flex-direction:column}
.card img{aspect-ratio:3/2; object-fit:cover; width:100%}
.card .body{padding:1.1rem 1.2rem 1.3rem; display:flex; flex-direction:column; flex:1}
.card h3{margin:0 0 .4rem; font-size:1.1rem}
.card h3 a{color:var(--ink); text-decoration:none}
.card h3 a:hover{color:var(--accent)}
.card p{margin:0 0 1rem; font-size:.94rem; color:var(--ink-soft); flex:1}
.card .where{font-family:'Helvetica Neue',Arial,sans-serif; font-size:.75rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin:0 0 .45rem}

.faq{margin-top:1rem}
.faq details{border-bottom:1px solid var(--line); padding:.85rem 0}
.faq summary{cursor:pointer; font-family:'Helvetica Neue',Arial,sans-serif;
  font-weight:600; font-size:1rem}
.faq p{margin:.7rem 0 0; color:var(--ink-soft)}

.note{background:var(--accent-soft); border-radius:8px; padding:1.1rem 1.3rem;
  font-size:.94rem; margin:2rem 0}
.note strong{font-family:'Helvetica Neue',Arial,sans-serif}

footer.site{border-top:1px solid var(--line); background:var(--card);
  margin-top:3rem; padding:2rem 0; font-size:.9rem; color:var(--ink-soft)}
footer.site .wrap{max-width:64rem}
footer.site a{color:var(--ink-soft)}
footer.site .links{margin-bottom:.8rem}
footer.site .links a{margin-right:1.1rem; display:inline-block}

@media (max-width:34rem){
  .facts dl{grid-template-columns:1fr; gap:.15rem}
  .facts dd{margin-bottom:.6rem}
  nav.site a{margin-left:.7rem; font-size:.85rem}
}