:root { --ink:#17362f; --paper:#efeee8; --accent:#a9684d; --muted:#5e6761; --line:rgba(23,54,47,.22); --soft:#e6e8df; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Georgia,'Times New Roman',serif; }
a { color:inherit; text-decoration:none; }
a:focus-visible, audio:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.shell { width:min(1160px,calc(100% - 48px)); margin:0 auto; }
header { background:var(--ink); border-bottom:1px solid rgba(239,238,232,.28); }
.nav { min-height:118px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.brand-logo { width:205px; height:auto; display:block; filter:brightness(0) invert(1); opacity:.94; }
nav { display:flex; align-items:center; gap:28px; color:var(--paper); font:12px/1.4 Arial,sans-serif; letter-spacing:1.4px; text-transform:uppercase; }
nav a { border-bottom:1px solid transparent; padding-bottom:4px; }
nav a:hover, nav a:focus-visible, nav a[aria-current="page"] { border-color:var(--accent); }
.location { color:#c8d2cc; font-size:10px; letter-spacing:2px; white-space:nowrap; }
.eyebrow, .section-label, .resource-label { color:var(--accent); font:12px/1.4 Arial,sans-serif; letter-spacing:2.3px; text-transform:uppercase; }
.resource-hero { padding:82px 0 88px; border-bottom:1px solid var(--line); }
.resource-hero .eyebrow { margin:0 0 26px; }
h1 { margin:0; font-size:clamp(60px,9vw,118px); line-height:.92; letter-spacing:-.045em; font-weight:normal; }
.resource-kicker { margin:24px 0 0; font-size:clamp(25px,3.5vw,42px); line-height:1.2; }
.resource-lede { max-width:720px; margin:30px 0 0; color:#394b42; font-size:19px; line-height:1.72; }
.hero-link { display:inline-block; margin-top:28px; border-bottom:1px solid var(--accent); padding-bottom:5px; font-size:16px; }
.resource-section { padding:68px 0 78px; border-bottom:1px solid var(--line); }
.resource-grid { display:grid; grid-template-columns:190px minmax(0,1fr); gap:52px; }
.resource-section h2 { margin:0 0 18px; font-size:clamp(34px,4.5vw,54px); line-height:1.08; font-weight:normal; letter-spacing:-.02em; }
.resource-copy { max-width:760px; margin:0 0 30px; color:#394b42; font-size:18px; line-height:1.72; }
.resource-links { display:flex; flex-wrap:wrap; gap:15px 28px; }
.resource-links a { border-bottom:1px solid var(--accent); padding-bottom:5px; font:16px/1.5 Arial,sans-serif; }
.listen-card { max-width:820px; border-top:1px solid var(--line); padding:24px 0 6px; }
.listen-card + .listen-card { margin-top:22px; }
.listen-head { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:12px; }
.listen-head strong { font-size:21px; font-weight:normal; }
.listen-head span { color:var(--muted); font:11px/1.5 Arial,sans-serif; letter-spacing:1.2px; text-transform:uppercase; white-space:nowrap; }
.listen-card audio { display:block; width:100%; max-width:700px; height:48px; }
.listen-note { margin:11px 0 0; color:var(--muted); font:13px/1.65 Arial,sans-serif; }
.spoiler { max-width:820px; margin:0 0 26px; padding:15px 18px; border-left:2px solid var(--accent); background:rgba(169,104,77,.06); color:#394b42; font:14px/1.65 Arial,sans-serif; }
.after-reading { background:var(--soft); }
.closing { display:flex; justify-content:space-between; gap:28px; padding:56px 0 76px; }
.closing a { border-bottom:1px solid var(--accent); padding-bottom:5px; font-size:16px; }
footer { background:var(--ink); border-top:1px solid rgba(239,238,232,.28); padding:28px 0 35px; color:#c8d2cc; font:11px/1.5 Arial,sans-serif; letter-spacing:1px; text-transform:uppercase; }
.footer-inner { display:flex; justify-content:space-between; gap:20px; }
@media (max-width:760px) {
  .shell { width:min(100% - 34px,580px); }
  .nav { min-height:0; flex-direction:column; align-items:flex-start; gap:12px; padding:18px 0 16px; }
  .brand-logo { width:160px; }
  nav { width:100%; justify-content:space-between; gap:8px; font-size:12px; letter-spacing:.08em; white-space:nowrap; }
  .location { display:none; }
  .resource-hero { padding:62px 0 66px; }
  .resource-section { padding:52px 0 60px; }
  .resource-grid { display:block; }
  .section-label { display:block; margin:0 0 24px; }
  .resource-copy { font-size:17px; }
  .listen-head { display:block; }
  .listen-head span { display:block; margin-top:6px; }
  .closing { flex-direction:column; padding:48px 0 62px; }
  .footer-inner { display:block; }
  .footer-inner span + span { display:block; margin-top:10px; }
}

/* Sites prepares complete audio on request, then uses the native seekable player. */
.listen-card [hidden] { display:none; }
.listen-load { min-height:48px; padding:12px 22px; border:1px solid var(--ink); border-radius:24px; background:var(--ink); color:var(--paper); font:16px/1.4 Arial,sans-serif; cursor:pointer; }
.listen-load:disabled { cursor:wait; opacity:.7; }
.listen-load:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.listen-head span { font-size:14px; }
.listen-card { scroll-margin-top:24px; }
