/* Shared visual system: local system fonts and the existing device-led theme. */
:root{
  color-scheme:light dark;
  --bg:#F4F1EA;--ink:#350F0D;--muted:#6B4340;--rule:rgba(53,15,13,.16);
  --serif:"Georgia Pro",Georgia,"Times New Roman",serif;
  --ui:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root{--bg:#350F0D;--ink:#F4F1EA;--muted:#C6ABA6;--rule:rgba(244,241,234,.22)}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:clamp(16px,1rem + .28vw,18.5px);line-height:1.7;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.wrap{max-width:37rem;margin:0 auto;padding:0 1.5rem}
a{color:inherit}
a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.skip-link{position:absolute;left:1rem;top:1rem;transform:translateY(-200%);background:var(--bg);padding:.5rem .8rem;font-family:var(--ui);z-index:1}
.skip-link:focus{transform:none}
.masthead{text-align:center;padding:clamp(2.75rem,8vw,4.5rem) 0 0}
.brand{display:inline-block;text-decoration:none;line-height:0;transition:opacity .25s ease}
.brand:hover{opacity:.75}
.brand img{display:block;margin:0 auto}
.brand .emblem{width:clamp(50px,12vw,65px);height:auto}
.brand .wordmark{width:clamp(196px,44vw,260px);height:auto;margin-top:1.2rem}
.site-nav{display:flex;justify-content:center;gap:2rem;margin:2rem 0 0;font-family:var(--ui);font-size:.8rem}
.site-nav a{text-decoration:none;color:var(--muted);padding:.15rem 0;border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.section{padding:clamp(2.75rem,8vw,4.25rem) 0}
.hero{padding-top:clamp(3rem,9vw,5rem)}
h1,h2{font-weight:400;font-style:italic;line-height:1.35}
h1{font-size:clamp(1.85rem,1.35rem + 2vw,2.7rem);margin:0 0 1.5rem}
h2{font-size:clamp(1.35rem,1.05rem + 1.3vw,1.85rem);margin:0 0 1.3rem}
p{margin:0 0 1.3rem}
p:last-child{margin-bottom:0}
.kicker{font-family:var(--ui);font-size:.7rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:var(--muted);margin:0 0 1.25rem}
.lede{font-size:1.1em;line-height:1.6}
.audition{position:relative;display:inline-block;font-style:italic;color:var(--muted);font-size:clamp(1.05rem,.98rem + .4vw,1.28rem);line-height:1.4;margin:0 0 1.45rem}
.audition s{text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left 53%;background-size:100% 1.5px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.js .audition s{background-size:0% 1.5px;transition:background-size .7s cubic-bezier(.65,0,.35,1) .45s}
.js .audition.in s{background-size:100% 1.5px}
.standfirst{font-size:clamp(1.5rem,1.1rem + 1.9vw,2.15rem);line-height:1.45;margin:0}
hr.rule{border:0;height:1px;background:var(--rule);margin:2.8rem 0}
.quiet{color:var(--muted);font-size:.95rem;line-height:1.66}
.divider{border:0;height:1px;background:var(--rule);max-width:37rem;margin:0 auto}
.book-title{font-size:clamp(1.55rem,1.1rem + 2vw,2.2rem);margin-bottom:.75rem;line-height:1.35}
.book-link{text-decoration:none}
.book-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.byline{font-style:italic;color:var(--muted);margin-bottom:2rem}
.text-link{display:inline-block;font-family:var(--ui);font-size:.88rem;text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:.2rem}
.text-link:hover{border-bottom-color:currentColor}
.btn{display:inline-block;font-family:var(--ui);font-style:normal;font-size:.92rem;line-height:1.25;padding:1rem 1.8rem;border:1px solid currentColor;border-radius:2px;text-decoration:none;transition:background-color .22s ease,color .22s ease}
.btn:hover{background:var(--ink);color:var(--bg)}
.book-details{margin:0;font-family:var(--ui);font-size:.95rem}
.publication-details{margin-top:2.4rem}
.reader-care{padding-top:0}
.book-details div{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--rule)}
.book-details div:first-child{padding-top:0}
.book-details dt{color:var(--muted)}
.book-details dd{margin:0}
.isbn{white-space:nowrap;font-variant-numeric:tabular-nums}
.reading-link{margin:1.8rem 0 0}
.reading-note{font-family:var(--ui);font-size:.78rem;color:var(--muted);margin:1rem 0 0}
.reader-note{border-left:2px solid var(--rule);padding-left:1.2rem}
.reader-note a{text-underline-offset:.2em}
.site-footer{padding:2rem 0 3rem;font-family:var(--ui);font-size:.78rem;color:var(--muted)}
.footer-links{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;margin-bottom:1.4rem}
.footer-links a{text-decoration:none;border-bottom:1px solid var(--rule)}
.footer-links a:hover{border-bottom-color:currentColor}
.copyright{font-size:.73rem;margin:0;line-height:1.8}
.not-found{min-height:100vh;display:flex;flex-direction:column}
.not-found main{flex:1;text-align:center}
.not-found .return-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}
@media(max-width:350px){.book-details div{grid-template-columns:4.5rem minmax(0,1fr);gap:.5rem}}
/* Original float-in motion; content stays visible when JavaScript is off. */
.js .rise{opacity:0;transform:translateY(16px);transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1)}
.js .rise.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .js .rise{opacity:1!important;transform:none!important;transition:none!important}
  .js .audition s{background-size:100% 1.5px!important;transition:none!important}
  *{transition:none!important}
}
