/* Stride After 40 — single stylesheet. No build step, no dependencies. */
:root{
  --ink:#15211c; --ink-soft:#4a5c54; --line:#dfe6e2; --bg:#fbfcfb;
  --accent:#1f6f4f; --accent-soft:#eaf4ef; --warn:#fff8e6; --warn-line:#e8d9a8;
  --max:44rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:1.0625rem/1.65 ui-serif,Georgia,"Times New Roman",serif;
}
img{max-width:100%;height:auto}
a{color:var(--accent)}
a:hover{color:#14513a}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
header.site{border-bottom:1px solid var(--line);background:#fff}
header.site .wrap{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:baseline;padding-top:1.1rem;padding-bottom:1.1rem}
.brand{font:700 1.25rem/1 ui-sans-serif,system-ui,sans-serif;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.brand span{color:var(--accent)}
nav.site{margin-left:auto;font:0.9rem/1 ui-sans-serif,system-ui,sans-serif}
nav.site a{margin-left:1.1rem;text-decoration:none;color:var(--ink-soft)}
nav.site a:hover{color:var(--accent)}
main{padding:2.5rem 0 3rem}
h1{font:700 2rem/1.2 ui-sans-serif,system-ui,sans-serif;letter-spacing:-.02em;margin:0 0 .6rem}
h2{font:700 1.35rem/1.3 ui-sans-serif,system-ui,sans-serif;margin:2.4rem 0 .7rem;letter-spacing:-.01em}
h3{font:700 1.08rem/1.35 ui-sans-serif,system-ui,sans-serif;margin:1.8rem 0 .5rem}
.dek{font-size:1.15rem;color:var(--ink-soft);margin:0 0 1.5rem}
.meta{font:0.85rem/1.5 ui-sans-serif,system-ui,sans-serif;color:var(--ink-soft);margin:0 0 1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}
.disclosure{
  background:var(--warn);border:1px solid var(--warn-line);border-radius:6px;
  padding:.8rem 1rem;font:0.875rem/1.5 ui-sans-serif,system-ui,sans-serif;
  color:#5c4a1a;margin:0 0 2rem
}
.callout{background:var(--accent-soft);border-left:3px solid var(--accent);padding:1rem 1.15rem;margin:1.75rem 0;border-radius:0 6px 6px 0}
.callout p{margin:.4rem 0}
.callout strong{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.95rem}
table{border-collapse:collapse;width:100%;margin:1.75rem 0;font:0.95rem/1.5 ui-sans-serif,system-ui,sans-serif}
th,td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}
th{background:#fff;font-weight:700;border-bottom:2px solid var(--line)}
.pick{font:0.75rem/1 ui-sans-serif,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-weight:700;display:block;margin-bottom:.2rem}
ul.posts{list-style:none;padding:0;margin:0}
ul.posts li{padding:1.15rem 0;border-bottom:1px solid var(--line)}
ul.posts a{font:700 1.15rem/1.35 ui-sans-serif,system-ui,sans-serif;text-decoration:none;display:block;margin-bottom:.3rem}
ul.posts p{margin:0;color:var(--ink-soft);font-size:.98rem}
.tag{display:inline-block;font:0.72rem/1 ui-sans-serif,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:.45rem}
footer.site{border-top:1px solid var(--line);background:#fff;padding:2rem 0;margin-top:3rem;font:0.875rem/1.6 ui-sans-serif,system-ui,sans-serif;color:var(--ink-soft)}
footer.site a{color:var(--ink-soft);margin-right:1rem}
.med{font-size:.85rem;color:var(--ink-soft);border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.25rem;font-family:ui-sans-serif,system-ui,sans-serif}
@media (max-width:34rem){h1{font-size:1.6rem}body{font-size:1rem}}
