/* Dawson Press conventions shared across all page families. */
:root { --muted:#5e6761; --line:rgba(23,54,47,.22); }
header { border-bottom:1px solid rgba(239,238,232,.28); }
header .brand-logo { display:block; height:auto; }
nav[aria-label="Primary navigation"] { font:12px/1.4 Arial,sans-serif; letter-spacing:1.4px; }
nav[aria-label="Primary navigation"] a { padding-bottom:4px; }
.eyebrow, .section-label { font:12px/1.4 Arial,sans-serif; letter-spacing:2.6px; }
.links { gap:18px 35px; }
a.action-link {
  display:inline-block; width:fit-content; max-width:100%; min-height:44px;
  box-sizing:border-box; padding:8px 0; border:0;
  font:17px/1.5 Georgia,serif; text-decoration:underline;
  text-decoration-color:var(--accent); text-decoration-thickness:1px;
  text-underline-offset:7px; text-decoration-skip-ink:auto;
}
a.action-link:hover { color:var(--accent); }
a:focus-visible, button:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.tile:hover strong, .scene:hover strong, .life:hover span, .explore-links a:hover strong,
.author h2 a:hover, .author h3 a:hover, .author-name a:hover { color:var(--accent); }
.email, .author-email { font:14px/1.5 Arial,sans-serif; }
footer { background:#17362f; border-top:1px solid rgba(239,238,232,.28); padding:28px 0 30px; color:#c8d2cc; font:12px/1.5 Arial,sans-serif; letter-spacing:.06em; text-transform:uppercase; }
footer .foot, footer .footer-inner { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; }
footer .footer-social { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); align-items:center; width:640px; max-width:100%; gap:4px 32px; }
footer .footer-social a { display:inline-flex; align-items:center; justify-content:flex-start; gap:10px; min-height:44px; max-width:100%; color:inherit; font:14px/1.5 Arial,sans-serif; letter-spacing:.04em; text-transform:none; white-space:normal; overflow-wrap:anywhere; text-decoration:none; transition:color .15s ease; }
footer .footer-social a:hover, footer .footer-social a:focus-visible { color:var(--accent); }
footer .footer-social .social-icon { display:block; flex:0 0 20px; width:20px; height:20px; fill:currentColor; }
footer .footer-social a span { display:inline; margin:0; }
footer .footer-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:4px .65em; max-width:100%; text-align:center; }
footer .footer-meta > span { display:block; margin:0; }
footer .footer-meta > span + span::before { content:"·"; margin-right:.65em; }
@media(max-width:760px) {
  nav[aria-label="Primary navigation"] { letter-spacing:.08em; }
  footer { padding:24px 0 28px; }
  footer .foot, footer .footer-inner { gap:22px; }
  footer .footer-social { grid-template-columns:repeat(2, minmax(0, max-content)); width:max-content; margin-inline:auto; gap:4px 24px; }
  footer .footer-social a { width:100%; min-height:44px; box-sizing:border-box; }
}
@media(max-width:360px) {
  footer .footer-meta { flex-direction:column; gap:4px; }
  footer .footer-meta > span + span::before { content:none; }
}
@media(prefers-reduced-motion:reduce) { footer .footer-social a { transition:none; } }

/* Quiet, opt-in soundtrack control; never overlays reading or footer content. */
.site-music { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:0 12px; min-height:44px; }
.site-music button { min-height:44px; padding:8px 0 8px 12px; border:0; border-radius:0; background:transparent; color:var(--ink); font:14px/1.4 Georgia,serif; cursor:pointer; text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:5px; }
.site-music button[hidden] { display:none; }
.site-music button:hover, .site-music button[aria-pressed="true"] { color:var(--accent); }
.site-music .music-status { font:13px/1.5 Arial,sans-serif; color:var(--ink); }
.site-music .music-status:empty { display:none; }
