:root{--paper:#f6f3eb;--cream:#eae5d8;--ink:#172b24;--muted:#58655d;--accent:#ac522f;--line:#d4d8ce;--serif:"Libre Caslon Display",Georgia,"Times New Roman",serif;--sans:"DM Sans",Arial,sans-serif;--width:1280px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--accent)}button,input{font:inherit}img{max-width:100%;display:block}svg{display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02}h1{font-size:clamp(3.8rem,7.9vw,7.7rem);letter-spacing:-.055em}h2{font-size:clamp(2.9rem,4.7vw,4.6rem);letter-spacing:-.045em}h3{font-size:2rem;letter-spacing:-.025em}p{max-width:65ch}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}::selection{background:#d9d8bd;color:var(--ink)}
.container{width:min(var(--width),calc(100% - 80px));margin-inline:auto}.skip{position:absolute;left:20px;top:-90px;z-index:20;padding:10px 18px;background:var(--ink);color:white}.skip:focus{top:10px}.site-header{border-bottom:1px solid var(--line)}.masthead{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--ink)}.brand-mark{border:1px solid var(--ink);width:42px;height:48px;display:grid;place-items:center;font-family:var(--serif);font-size:1.55rem;letter-spacing:-.11em;padding-right:4px}.brand-name{font-family:var(--serif);font-size:1.8rem;line-height:1}.brand-subtitle{font-size:.57rem;letter-spacing:.24em;text-transform:uppercase;margin-top:9px}.header-links{display:flex;align-items:center;gap:30px;font-size:.76rem}.header-links a{text-decoration:none}.out-link{display:inline-flex;gap:14px;align-items:center}.out-link:after{content:"↗";font-size:1.1rem}.primary-nav{display:flex;gap:28px;padding:16px 0;overflow-x:auto;white-space:nowrap;font-size:.76rem;font-weight:500;scrollbar-width:thin}.primary-nav a{text-decoration:none;position:relative}.primary-nav a[aria-current=page]{color:var(--accent)}.primary-nav a[aria-current=page]:after{content:"";position:absolute;bottom:-8px;left:0;right:0;height:2px;background:var(--accent)}.nav-wrap{border-top:1px solid var(--line)}
.eyebrow{font-size:.63rem;line-height:1.5;letter-spacing:.22em;text-transform:uppercase;font-weight:600}.eyebrow.dot{display:flex;align-items:center;gap:12px}.eyebrow.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.hero{padding:80px 0 90px;display:grid;grid-template-columns:1.06fr .94fr;gap:68px;align-items:center}.hero h1{margin:28px 0}.hero h1 em{font-weight:400;color:var(--accent)}.hero-copy{max-width:29rem;color:var(--muted);font-size:.95rem;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:48px;padding:13px 22px;background:var(--ink);color:var(--paper);text-decoration:none;font-size:.73rem;font-weight:500;border:1px solid var(--ink);line-height:1.4}.button:after{content:"↗";font-size:1rem}.button:hover{background:#304638;color:white;border-color:#304638}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.light:hover{background:#e7e2d5}.text-link{font-size:.75rem;font-weight:500;display:inline-flex;gap:18px;align-items:center}.text-link:after{content:"→";font-size:1rem}
.hero-art{height:530px;position:relative;display:flex;align-items:center;justify-content:center;background:#dedfd3;overflow:hidden}.hero-art:before{content:"";width:330px;height:330px;border:1px solid #abb3a5;position:absolute;border-radius:50%;top:42px;right:-60px}.hero-art:after{content:"";position:absolute;bottom:44px;left:34px;right:34px;border-top:1px solid #c0c6b7}.art-label{position:absolute;top:24px;left:28px;font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:#55694e}.art-caption{position:absolute;left:28px;bottom:16px;font-size:.56rem;letter-spacing:.16em;text-transform:uppercase}.stack-book{position:absolute;display:flex;flex-direction:column;justify-content:space-between;padding:24px 26px;width:214px;height:326px;background:#294236;color:#f3eee1;box-shadow:14px 18px 28px #24362624;border-left:5px solid #fff2}.stack-book .book-lines{width:100%;height:70px;position:relative;overflow:hidden;border-top:1px solid #eee4;border-bottom:1px solid #eee4}.book-lines:before,.book-lines:after{content:"";position:absolute;inset:10px -30px;border:1px solid #eee3;border-radius:50%;transform:rotate(-20deg)}.book-lines:after{inset:20px -10px;transform:rotate(20deg)}.stack-book .book-top{font-size:.49rem;letter-spacing:.13em;text-transform:uppercase}.stack-book .book-title{font-family:var(--serif);font-size:2.15rem;line-height:1.07;letter-spacing:-.03em}.stack-book .book-author{font-size:.57rem;letter-spacing:.12em;text-transform:uppercase}.stack-book.back{transform:translate(88px,-21px) rotate(9deg);background:#af633c;height:310px;width:204px}.stack-book.front{transform:translate(-54px,12px) rotate(-7deg);z-index:1}
.collection-intro{border-top:1px solid var(--line);padding-top:28px;display:flex;justify-content:space-between;gap:30px;margin-bottom:46px;font-size:.72rem;color:var(--muted)}.collection-intro p{margin:0;max-width:440px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:0 0 36px}.section-head h2{margin:12px 0 0}.section-head p{font-size:.82rem;color:var(--muted);max-width:330px;margin:0}.section{padding:35px 0 80px}.section + .section{padding-top:65px;border-top:1px solid var(--line)}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:45px}.book-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.book-card{min-width:0}.book-card a.card-media{display:flex;text-decoration:none;background:#e7e5db;min-height:340px;align-items:center;justify-content:center;padding:36px;transition:background .2s}.book-card a.card-media:hover{background:#e0e1d4}.book-card a.card-media .cover{transition:transform .2s}.book-card a.card-media:hover .cover{transform:translateY(-5px)}.cover{height:276px;max-width:204px;object-fit:contain;box-shadow:7px 9px 15px #172b241c}.type-cover{width:190px;height:276px;background:var(--book-color,#293e31);color:#faf5e9;padding:20px 21px;display:flex;flex-direction:column;justify-content:space-between;position:relative;box-shadow:7px 9px 15px #172b241c;border-left:5px solid #fff2;overflow:hidden}.type-cover:before{content:"";position:absolute;width:220px;height:220px;border:1px solid #fff2;border-radius:50%;left:54px;top:92px}.type-cover .cover-kicker{font-size:.43rem;letter-spacing:.16em;text-transform:uppercase;position:relative;max-width:120px}.type-cover .cover-title{font-family:var(--serif);font-size:1.9rem;letter-spacing:-.04em;line-height:1.08;position:relative}.type-cover .cover-author{font-size:.49rem;letter-spacing:.13em;text-transform:uppercase;position:relative}.card-meta{display:flex;justify-content:space-between;gap:10px;margin:22px 0 11px;font-size:.54rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.book-card h3{font-size:2rem;line-height:1.08;margin:0 0 12px}.book-card h3 a{text-decoration:none}.book-card p{font-size:.78rem;color:var(--muted);line-height:1.75;margin:0 0 16px}.book-card .text-link{font-size:.66rem}.book-card .subtitle{font-size:.72rem;line-height:1.6;margin-top:-4px;color:var(--muted)}.book-grid.four .card-media{min-height:305px;padding:24px 16px}.book-grid.four .cover{height:244px}.book-grid.four .type-cover{width:168px;height:244px}.book-grid.four .cover-title{font-size:1.65rem}.book-grid.four h3{font-size:1.75rem}
.feature-band{background:var(--ink);color:var(--paper);padding:65px 0;margin:20px 0 70px}.feature-inner{display:grid;grid-template-columns:1fr 1.15fr;gap:90px;align-items:center}.feature-band h2{font-size:clamp(3.2rem,5vw,4.8rem);margin:18px 0 25px}.feature-band p{font-size:.86rem;line-height:1.9;color:#c7cfc3}.feature-band .eyebrow{color:#c5ba91}.feature-quote{padding-left:40px;border-left:1px solid #f0ead638;font-family:var(--serif);font-size:2.9rem;line-height:1.16;letter-spacing:-.03em}.feature-quote small{display:block;margin-top:28px;font-family:var(--sans);font-size:.58rem;letter-spacing:.13em;line-height:1.8;text-transform:uppercase;color:#aab9a8}
.category-hero{padding:65px 0 60px;border-bottom:1px solid var(--line);margin-bottom:55px;display:grid;grid-template-columns:1.25fr 1fr;gap:70px;align-items:end}.category-hero h1{font-size:clamp(3.5rem,6.3vw,6rem);margin:22px 0 0}.category-hero p{color:var(--muted);font-size:.92rem;line-height:1.9;max-width:35rem;margin:0}.category-empty{padding:30px 0 90px;max-width:620px}.category-empty h2{font-size:2.8rem}.category-empty p{color:var(--muted)}.category-footer{font-size:.72rem;color:var(--muted);padding:0 0 60px}
.breadcrumbs{font-size:.66rem;color:var(--muted);display:flex;gap:12px;align-items:center;margin:28px 0}.breadcrumbs a{text-decoration:none}.book-hero{padding:25px 0 64px;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.book-display{background:#e5e5da;min-height:560px;display:flex;align-items:center;justify-content:center;padding:50px;position:relative}.book-display .cover{height:auto;max-height:460px;max-width:310px;width:auto}.book-display .type-cover{width:295px;height:425px;padding:31px 34px;box-shadow:15px 18px 32px #172b242b}.book-display .cover-title{font-size:3rem}.book-display .cover-kicker{font-size:.58rem;max-width:220px}.book-display .cover-author{font-size:.65rem}.book-display .type-cover:before{width:320px;height:320px;left:60px;top:150px}.book-display-label{position:absolute;left:25px;bottom:16px;right:25px;text-align:center;font-size:.5rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.book-heading h1{font-size:clamp(3.1rem,5.2vw,5.2rem);line-height:1.02;margin:22px 0 18px;letter-spacing:-.045em}.book-heading .subtitle{font-family:var(--serif);font-size:1.7rem;line-height:1.28;margin-bottom:24px}.byline{font-size:.72rem;margin:0 0 24px}.book-deck{color:var(--muted);font-size:.98rem;line-height:1.85}.purchase-links{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 0}.purchase-note{font-size:.59rem;color:var(--muted);line-height:1.8;margin:15px 0 0}.book-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:105px;border-top:1px solid var(--line);padding:58px 0 80px}.book-copy h2{font-size:2.8rem;margin:0 0 24px}.book-copy p{font-size:.94rem;line-height:1.95;color:#435349}.book-copy section+section{margin-top:50px}.themes{padding:0;list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}.themes li{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:28px 1fr;gap:14px;font-size:.84rem;color:#435349;line-height:1.85}.themes li:before{content:"↗";color:var(--accent)}.detail-panel{font-size:.72rem}.detail-panel h2{font-family:var(--sans);font-size:.61rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px}.book-facts{margin:0 0 36px}.book-facts div{padding:13px 0;border-bottom:1px solid var(--line)}.book-facts dt{color:var(--muted);font-size:.62rem;margin-bottom:3px}.book-facts dd{margin:0;font-size:.74rem}.source-list{padding-left:17px;color:var(--muted);font-size:.66rem;line-height:1.8}.source-list li{margin-bottom:10px}.source-note{font-size:.63rem;line-height:1.85;color:var(--muted)}.related{padding:60px 0;border-top:1px solid var(--line)}
.site-footer{background:#ebe8df;border-top:1px solid var(--line);padding:45px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:40px}.footer-top .brand-name{font-size:2.4rem}.footer-top p{font-size:.71rem;line-height:1.85;max-width:320px;color:var(--muted);margin:18px 0 0}.footer-links{display:flex;flex-wrap:wrap;gap:35px;font-size:.7rem;align-content:start;padding-top:6px}.footer-links a{text-decoration:none}.footer-bottom{border-top:1px solid #cfd2c5;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.56rem;letter-spacing:.03em}.footer-bottom p{margin:0}.privacy-body{max-width:740px;padding:70px 0 90px}.privacy-body h1{font-size:4rem}.privacy-body h2{font-size:2.1rem;margin-top:35px}.privacy-body p{font-size:.91rem;color:var(--muted)}
@media(min-width:1400px){.container{width:min(var(--width),calc(100% - 120px))}}
@media(max-width:1100px){.hero{gap:35px}.hero-art{height:490px}.stack-book{width:185px;height:290px;padding:21px}.stack-book.back{width:180px;height:280px;transform:translate(66px,-16px) rotate(9deg)}.stack-book.front{transform:translate(-39px,12px) rotate(-7deg)}.stack-book .book-title{font-size:1.85rem}.primary-nav{gap:22px}.book-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.book-hero{gap:50px}.book-body{gap:60px}.book-display{min-height:490px;padding:35px}.book-display .type-cover{width:245px;height:360px;padding:28px}.book-display .cover-title{font-size:2.4rem}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.masthead{min-height:90px}.header-links{gap:16px}.header-links .research-link{display:none}.primary-nav{gap:24px;padding:15px 0;font-size:.7rem}.hero{padding:45px 0 55px;grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:4.4rem}.hero-art{height:430px}.stack-book{width:160px;height:260px;padding:18px}.stack-book.back{width:156px;height:248px;transform:translate(35px,-11px) rotate(9deg)}.stack-book.front{transform:translate(-21px,12px) rotate(-7deg)}.stack-book .book-title{font-size:1.6rem}.stack-book .book-top,.stack-book .book-author{font-size:.45rem}.hero-actions{align-items:start;flex-direction:column;gap:19px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-inner{gap:40px}.feature-quote{padding-left:25px;font-size:2.2rem}.section-head{align-items:start}.section-head p{max-width:240px}.category-hero{gap:35px}.book-hero{gap:35px;grid-template-columns:.85fr 1.15fr}.book-display{padding:25px;min-height:430px}.book-display .type-cover{width:210px;height:320px;padding:24px}.book-display .cover-title{font-size:2.15rem}.book-heading h1{font-size:3.3rem}.book-heading .subtitle{font-size:1.4rem}.book-body{grid-template-columns:minmax(0,1fr) 220px;gap:35px}.book-deck{font-size:.86rem}.footer-links{gap:20px}}
@media(max-width:600px){.masthead{gap:14px}.brand-mark{width:34px;height:40px;font-size:1.3rem}.brand{gap:10px}.brand-name{font-size:1.6rem}.brand-subtitle{font-size:.49rem;letter-spacing:.18em}.header-links{font-size:.6rem}.hero{grid-template-columns:1fr;gap:34px;padding-top:35px}.hero h1{font-size:4.6rem;max-width:350px;line-height:.95;margin:20px 0}.hero-copy{font-size:.87rem;max-width:340px}.hero-actions{flex-direction:row;align-items:center;gap:23px}.hero-art{height:390px}.stack-book{width:183px;height:280px;padding:21px}.stack-book.back{width:176px;height:270px;transform:translate(68px,-13px) rotate(9deg)}.stack-book.front{transform:translate(-49px,10px) rotate(-7deg)}.stack-book .book-title{font-size:1.8rem}.collection-intro{font-size:.65rem;display:block;margin-bottom:28px}.collection-intro p:first-child{margin-bottom:12px}.section-head{display:block}.section-head h2{font-size:3.2rem}.section-head p{max-width:350px;margin-top:22px}.section{padding-bottom:50px}.book-grid,.book-grid.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 15px}.book-card a.card-media,.book-grid.four .card-media{min-height:244px;padding:20px 10px}.cover,.book-grid.four .cover{height:204px;max-width:140px}.type-cover,.book-grid.four .type-cover{width:130px;height:204px;padding:15px 13px;border-left-width:3px}.type-cover .cover-title,.book-grid.four .cover-title{font-size:1.44rem;line-height:1.06}.type-cover .cover-kicker{font-size:.35rem}.type-cover .cover-author{font-size:.36rem}.book-card h3,.book-grid.four h3{font-size:1.65rem}.card-meta{font-size:.44rem;letter-spacing:.1em;margin-top:17px}.card-meta .card-year{display:none}.book-card p{font-size:.7rem}.book-card .subtitle{font-size:.64rem}.book-card .text-link{font-size:.62rem;gap:10px}.feature-band{padding:45px 0;margin:0 0 40px}.feature-inner{grid-template-columns:1fr;gap:35px}.feature-band h2{font-size:3.7rem}.feature-quote{font-size:2.2rem}.category-hero{grid-template-columns:1fr;padding:40px 0;gap:28px;margin-bottom:35px}.category-hero h1{font-size:3.8rem}.category-hero p{font-size:.85rem}.book-hero{grid-template-columns:1fr;gap:32px;padding-top:5px}.book-display{min-height:435px;padding:40px}.book-display .cover{max-height:340px;max-width:245px}.book-display .type-cover{width:236px;height:340px;padding:27px}.book-display .cover-title{font-size:2.45rem}.book-heading h1{font-size:3.7rem}.book-heading .subtitle{font-size:1.5rem}.book-deck{font-size:.93rem}.book-body{grid-template-columns:1fr;gap:45px;padding-top:38px}.book-copy h2{font-size:2.8rem}.book-copy p{font-size:.88rem}.detail-panel{border-top:1px solid var(--line);padding-top:32px}.book-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.footer-top{display:block}.footer-links{margin-top:30px;gap:23px}.footer-bottom{display:block}.footer-bottom p+p{margin-top:8px}.privacy-body h1{font-size:3.3rem}.breadcrumbs{font-size:.61rem;flex-wrap:wrap}.button{font-size:.68rem;gap:20px;padding:12px 18px}.text-link{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media print{.site-header,.site-footer,.purchase-links,.related,.skip{display:none}.container{width:100%}.book-hero,.book-body{display:block}.book-display{display:none}body{color:#000;background:#fff}.book-heading h1{font-size:36pt}.book-copy h2{font-size:22pt}a{color:#000}}

.type-cover.long-title .cover-title{font-size:1.35rem}.book-grid.four .type-cover.long-title .cover-title{font-size:1.2rem}.book-display .type-cover.long-title .cover-title{font-size:2.1rem}.collection-tabs{display:flex;gap:28px;margin:-25px 0 38px;border-bottom:1px solid var(--line);padding:0 0 16px;font-size:.8rem}.collection-tabs a{text-decoration:none}.collection-tabs a[aria-current=page]{color:var(--accent)}
@media(max-width:600px){.type-cover.long-title .cover-title,.book-grid.four .type-cover.long-title .cover-title{font-size:1.08rem}.book-display .type-cover.long-title .cover-title{font-size:1.85rem}.card-meta{font-size:.52rem}.type-cover .cover-kicker{font-size:.4rem}.type-cover .cover-author{font-size:.43rem}.collection-tabs{margin-top:-8px}}

/* Keep long editorial headings within narrow cards and mobile viewports. */
.hero h1{font-size:clamp(3.2rem,6.6vw,6.5rem)}
@media(max-width:800px) and (min-width:601px){.hero h1{font-size:clamp(3rem,6.6vw,4.4rem)}}
@media(max-width:600px){.hero h1{font-size:clamp(3.25rem,13.8vw,4.6rem)}.category-hero h1{font-size:clamp(2.9rem,12vw,3.8rem)}}
@media(max-width:380px){.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.header-links .out-link{max-width:76px;font-size:.56rem}.hero-art{height:355px}.stack-book.back{transform:translate(45px,-13px) rotate(9deg)}.stack-book.front{transform:translate(-31px,10px) rotate(-7deg)}}

/* Mobile book-cover regression fix.
   Covers use content-sized grid rows. Never crop or ellipsise a book title. */
.book-grid, .book-card, .book-card a.card-media, .book-display,
.hero > *, .category-hero > *, .book-hero > *, .book-body > *,
.feature-inner > *, .section-head > * { min-width: 0; }
.book-card a.card-media { width: 100%; }
.type-cover, .book-grid.four .type-cover {
  width: 190px;
  max-width: 100%;
  height: auto;
  min-height: 276px;
  flex: 0 1 auto;
  display: grid;
  grid-template-rows: auto minmax(min-content, 1fr) auto;
  gap: 14px;
  padding: 20px;
  overflow: visible;
}
.type-cover:before {
  width: auto;
  height: auto;
  inset: 34% 8% 14% 25%;
  transform: rotate(-14deg);
}
.type-cover .cover-title, .book-grid.four .type-cover .cover-title {
  display: block;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  align-self: center;
  font-size: 1.65rem;
  line-height: 1.12;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
  text-wrap: balance;
}
.type-cover .cover-kicker, .type-cover .cover-author {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.5;
}
.type-cover.long-title .cover-title,
.book-grid.four .type-cover.long-title .cover-title { font-size: 1.2rem; }
.book-display .type-cover {
  width: 295px;
  max-width: 100%;
  height: auto;
  min-height: 425px;
  padding: 30px;
  gap: 20px;
}
.book-display .type-cover .cover-title { font-size: 2.45rem; }
.book-display .type-cover.long-title .cover-title { font-size: 1.8rem; }
.book-display .type-cover:before { width: auto; height: auto; inset: 34% 8% 14% 25%; }
.book-card h3, .book-card .subtitle, .book-heading h1,
.book-heading .subtitle, .category-hero h1, .section-head h2,
.hero h1, .feature-band h2, .book-copy h2 {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}
@media (max-width: 800px) {
  .book-card a.card-media { padding: 26px 20px; }
  .book-display { padding: 32px 24px; }
  .book-display .type-cover { width: 245px; min-height: 360px; padding: 25px; }
  .book-display .type-cover .cover-title { font-size: 2rem; }
  .book-display .type-cover.long-title .cover-title { font-size: 1.5rem; }
}
@media (max-width: 560px) {
  .book-grid, .book-grid.four { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .book-card a.card-media, .book-grid.four .card-media {
    min-height: 348px;
    padding: 24px;
  }
  .type-cover, .book-grid.four .type-cover {
    width: 204px;
    max-width: 100%;
    height: auto;
    min-height: 300px;
    padding: 20px;
    gap: 14px;
  }
  .type-cover .cover-title, .book-grid.four .type-cover .cover-title { font-size: 1.65rem; }
  .type-cover.long-title .cover-title,
  .book-grid.four .type-cover.long-title .cover-title { font-size: 1.2rem; }
  .type-cover .cover-kicker { font-size: .52rem; }
  .type-cover .cover-author { font-size: .55rem; }
  .book-card h3, .book-grid.four h3 { font-size: 2rem; line-height: 1.12; }
  .book-card p { font-size: .86rem; }
  .book-card .subtitle { font-size: .82rem; }
  .book-card .text-link { font-size: .76rem; }
  .card-meta { font-size: .62rem; }
  .book-display { min-height: 430px; padding: 32px 24px; }
  .book-display .type-cover { width: 245px; min-height: 360px; padding: 25px; }
  .book-display .type-cover .cover-title { font-size: 2rem; }
  .book-display .type-cover.long-title .cover-title { font-size: 1.5rem; }
}


/* Published book artwork, served locally. Preserve the editorial layout. */
.hero-art {
  background: linear-gradient(130deg,rgba(14,28,28,.88),rgba(21,41,40,.35)),url('/assets/covers/cold-forged.png') center 40% / cover;
  isolation: isolate;
}
.hero-art:before { inset:0; width:auto; height:auto; border:0; border-radius:0; background:linear-gradient(180deg,transparent 60%,rgba(6,18,17,.75)); }
.hero-art:after { border-color:#f6f3eb38; }
.hero-art .art-label,.hero-art .art-caption { color:#f6f3eb; z-index:3; }
.hero-art .stack-book { padding:0; border:0; background:none; width:215px; height:auto; display:block; box-shadow:none; }
.hero-art .stack-book .cover { width:100%; height:auto; max-width:none; display:block; box-shadow:12px 20px 28px #0008; }
.hero-art .stack-book.back { width:206px; transform:translate(74px,-30px) rotate(9deg); }
.hero-art .stack-book.front { transform:translate(-57px,25px) rotate(-7deg); }
.book-card .cover,.book-grid.four .cover { width:auto; height:276px; max-width:100%; object-fit:contain; }
.book-grid.four .cover { height:258px; }
.book-display { isolation:isolate; overflow:hidden; background:#d9ddd3; }
.book-display:before { content:"";position:absolute;inset:-20px;z-index:-2;background-image:var(--cover-art);background-size:cover;background-position:center;filter:blur(15px);opacity:.24; }
.book-display:after { content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(125deg,#f6f3eb60,#f6f3eb90); }
.book-display .cover { width:auto;height:auto;max-height:460px;max-width:min(100%,310px); }
.feature-band { background:linear-gradient(90deg,rgba(9,27,23,.98),rgba(9,27,23,.83) 60%,rgba(9,27,23,.66)),url('/assets/covers/the-listening-skin.jpg') center 42% / cover; }
.feature-band p { color:#e3e7df; }
.feature-quote { text-shadow:0 2px 12px #0005; }
@media(max-width:1100px) { .hero-art .stack-book{width:185px}.hero-art .stack-book.back{width:180px;transform:translate(60px,-22px) rotate(9deg)}.hero-art .stack-book.front{transform:translate(-38px,20px) rotate(-7deg)} }
@media(max-width:800px) and (min-width:601px) { .hero-art .stack-book{width:155px}.hero-art .stack-book.back{width:150px;transform:translate(35px,-18px) rotate(9deg)}.hero-art .stack-book.front{transform:translate(-25px,20px) rotate(-7deg)} }
@media(max-width:600px) { .hero-art .stack-book{width:177px}.hero-art .stack-book.back{width:170px;transform:translate(56px,-18px) rotate(9deg)}.hero-art .stack-book.front{transform:translate(-40px,20px) rotate(-7deg)}.book-display .cover{max-height:370px;max-width:min(100%,255px)}.book-card .cover,.book-grid.four .cover{height:285px;max-width:100%}.feature-band{background-position:60% center} }
@media(max-width:380px) { .hero-art .stack-book{width:155px}.hero-art .stack-book.back{width:150px;transform:translate(45px,-16px) rotate(9deg)}.hero-art .stack-book.front{transform:translate(-31px,17px) rotate(-7deg)} }

/* Short fiction follows the existing reading-room typography and cover treatment. */
.story-entry { display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(30px,6vw,88px);align-items:center;padding:24px 0 80px;border-bottom:1px solid var(--line);margin-bottom:60px; }
.story-cover { min-width:0; }
.story-cover img { display:block;width:100%;max-width:340px;height:auto;box-shadow:0 18px 40px #172b2426; }
.story-copy { min-width:0;max-width:690px; }
.story-copy h2 { font-size:clamp(2rem,4vw,3.6rem);line-height:1.08;margin:16px 0 18px;overflow-wrap:anywhere; }
.story-copy .byline { margin-bottom:28px; }
.story-synopsis { font-size:1rem;line-height:1.85;margin:0 0 30px;color:var(--ink); }
.story-copy .button { font-size:.875rem; }
.story-copy .button::after { content:none; }
.story-copy .button:disabled { background:#dce1db;color:#43524b;cursor:default;opacity:1;border:1px solid #bfc9c0; }
.story-availability { max-width:440px;font-size:.875rem;line-height:1.6;color:var(--muted);margin:14px 0 0; }
@media(max-width:700px) { .story-entry{grid-template-columns:1fr;gap:32px;padding-bottom:48px}.story-cover img{max-width:280px;margin:0 auto}.story-copy{max-width:none}.story-copy h2{font-size:2.3rem} }

/* Original reading-room artwork, approved 10 October 2026.
   Decoration is independent of real book covers and carries no page content. */
body { position:relative; isolation:isolate; }
main { position:relative; isolation:isolate; }
main::before {
  content:""; position:absolute; inset:0; z-index:-3; pointer-events:none;
  background:url("/assets/decor/reading-room-background-v1.webp") center / cover no-repeat;
  opacity:.06; filter:grayscale(1);
}
.site-header { background:var(--paper); }
.visual-banner { position:relative; isolation:isolate; }
.banner-art,.visual-banner::before {
  position:absolute; top:0; bottom:0; left:calc(50% - 50vw); width:100vw;
  pointer-events:none;
}
.banner-art { z-index:-2; display:block; overflow:hidden; }
.banner-art img { width:100%; height:100%; object-fit:cover; object-position:center; }
.visual-banner::before { content:""; z-index:-1; }
.hero.visual-banner { min-height:610px; padding:52px 0 60px; }
.hero.visual-banner::before {
  background:linear-gradient(90deg,rgba(246,243,235,.96),rgba(246,243,235,.9) 35%,rgba(246,243,235,.46) 58%,rgba(246,243,235,.08));
}
.hero-art { height:500px; background:none; }
.hero-art::before,.hero-art::after { display:none; }
.hero-art .art-label,.hero-art .art-caption {
  color:var(--ink); background:rgba(246,243,235,.95); padding:7px 10px;
  text-shadow:none; border:0;
}
.hero-art .art-label { top:14px; left:14px; }
.hero-art .art-caption { bottom:14px; left:14px; right:14px; }
.collection-intro { background:var(--paper); margin-top:0; padding-top:30px; }
.category-hero.visual-banner {
  min-height:270px; padding:40px 0; margin-bottom:48px; gap:48px;
  align-items:center; border-bottom:0;
}
.category-hero.visual-banner::before {
  background:linear-gradient(90deg,rgba(246,243,235,.9),rgba(246,243,235,.55) 48%,rgba(246,243,235,.15));
}
.category-hero.visual-banner > div,
.category-hero.visual-banner > p { background:rgba(246,243,235,.96); padding:24px 26px; }
.category-hero.visual-banner > div { justify-self:start; max-width:100%; }
.category-hero.visual-banner h1 { margin-top:16px; }
.category-hero.visual-banner > p { font-size:.95rem; }
.collection-tabs { background:var(--paper); padding-top:16px; }
.book-hero.visual-banner { gap:60px; padding:32px 0 48px; }
.book-hero.visual-banner::before {
  background:linear-gradient(90deg,rgba(246,243,235,.15),rgba(246,243,235,.48) 48%,rgba(246,243,235,.86));
}
.book-display { background:rgba(246,243,235,.78); border:1px solid rgba(246,243,235,.7); min-height:520px; padding:32px; }
.book-display::before,.book-display::after { display:none; }
.book-heading { background:rgba(246,243,235,.98); padding:32px; }
.book-heading h1 { font-size:clamp(2.8rem,4.9vw,5rem); }
.book-body { margin-top:38px; padding:42px 32px 60px; background:var(--paper); gap:70px; }
.book-card { background:rgba(246,243,235,.98); padding-bottom:18px; }
.book-card > :not(.card-media) { margin-left:14px; margin-right:14px; }
.book-card a.card-media { background:rgba(234,229,216,.9); }
.related,.section-head,.privacy-body,.story-copy,.category-empty { background:var(--paper); }
.privacy-body { padding-inline:24px; }
.story-copy { padding:26px; }
.breadcrumbs { background:var(--paper); padding:8px 12px; }
@media(max-width:1100px) {
 .hero.visual-banner { min-height:560px; }
 .hero-art { height:450px; }
 .book-hero.visual-banner { gap:32px; }
 .book-heading { padding:26px; }
 .book-body { gap:40px; padding-inline:24px; }
}
@media(max-width:800px) {
 .hero.visual-banner { min-height:500px; padding:38px 0; }
 .hero-art { height:400px; }
 .category-hero.visual-banner { gap:22px; }
 .category-hero.visual-banner > div,.category-hero.visual-banner > p { padding:20px; }
 .book-hero.visual-banner { gap:24px; }
 .book-display { min-height:450px; padding:24px; }
 .book-heading { padding:22px; }
 .book-heading h1 { font-size:clamp(2.4rem,5.4vw,3.3rem); }
 .book-body { gap:28px; padding-inline:20px; }
}
@media(max-width:600px) {
 main::before { opacity:.035; }
 .hero.visual-banner { min-height:0; padding:30px 0 32px; gap:24px; }
 .hero.visual-banner .banner-art img { object-position:68% center; }
 .hero.visual-banner::before { background:linear-gradient(180deg,rgba(246,243,235,.97),rgba(246,243,235,.94) 43%,rgba(246,243,235,.12) 72%); }
 .hero-art { height:350px; }
 .hero-art .art-caption { bottom:0; }
 .category-hero.visual-banner { min-height:0; gap:16px; padding:30px 0; margin-bottom:30px; }
 .category-hero.visual-banner .banner-art img { object-position:75% center; }
 .category-hero.visual-banner::before { background:rgba(246,243,235,.16); }
 .category-hero.visual-banner > div,.category-hero.visual-banner > p { padding:18px 20px; }
 .category-hero.visual-banner h1 { font-size:clamp(2.5rem,11vw,3.5rem); }
 .book-hero.visual-banner { padding:22px 0 30px; gap:24px; }
 .book-hero.visual-banner::before { background:linear-gradient(180deg,rgba(246,243,235,.65),rgba(246,243,235,.15)); }
 .book-hero.visual-banner .banner-art img { object-position:72% center; }
 .book-heading { order:-1; padding:22px; }
 .book-heading h1 { font-size:clamp(2.65rem,11vw,3.7rem); }
 .book-display { min-height:400px; padding:24px; margin-inline:auto; width:min(100%,360px); }
 .book-body { margin-top:28px; padding:30px 20px 40px; }
 .story-copy { padding:20px; }
 .privacy-body { padding-inline:12px; }
}
@media(forced-colors:active) {
 .banner-art,main::before,.visual-banner::before { display:none; }
 .book-heading,.category-hero.visual-banner > div,.category-hero.visual-banner > p { background:Canvas; }
}
@media print {
 .banner-art,main::before,.visual-banner::before { display:none!important; }
 .book-body,.book-heading,.privacy-body { padding:0; background:white; }
 .book-body { margin-top:20px; }
}
/* Full-bleed decoration must not create page-level horizontal scrolling. */
body { overflow-x:clip; }
