/* Final visual system — shared across the whole site */
:root{
  --layout-max:1280px;
  --edge:max(24px,calc((100vw - var(--layout-max))/2));
  --space-section:clamp(76px,8vw,116px);
  --radius-card:18px;
  --line-soft:rgba(16,19,25,.16);
  --shadow-sharp:10px 10px 0 rgba(16,19,25,.12);
}
html{scroll-padding-top:88px}
body{font-size:16px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
p{widows:3;orphans:3}
.eyebrow,.kicker,.meta,.character-role,.place-character-role,.event-label{letter-spacing:.16em!important;line-height:1.35}

/* Navigation */
.site-header,.sub-header{
  min-height:82px;height:auto!important;padding:14px var(--edge)!important;
  background:rgba(244,242,237,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line-soft);position:sticky!important;top:0;z-index:80;
}
.wordmark,.sub-brand{font-size:22px!important;line-height:.95!important;letter-spacing:-.045em!important}
.site-header nav{gap:clamp(14px,1.65vw,26px)!important}
.site-header nav a,.sub-nav a{font-size:10.5px!important;font-weight:700;letter-spacing:.105em!important;line-height:1.35}
.site-header nav a{position:relative;padding-block:8px}
.site-header nav a:not(.nav-contact)::after{content:"";position:absolute;right:0;bottom:2px;left:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .2s ease}
.site-header nav a:hover{opacity:1!important}.site-header nav a:hover::after,.site-header nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.nav-contact{padding:12px 17px!important;box-shadow:4px 4px 0 var(--blue)}

/* Home: a controlled editorial scale */
.hero{min-height:calc(100svh - 82px)!important;padding:clamp(62px,7vw,96px) var(--edge)!important;grid-template-columns:minmax(0,1.04fr) minmax(330px,.76fr)!important;gap:clamp(56px,7vw,104px)!important}
.hero h1{font-size:clamp(68px,8.8vw,128px)!important;line-height:.86!important;letter-spacing:-.055em!important}
.hero-line{max-width:520px!important;margin:32px 0!important;font-size:clamp(18px,1.45vw,21px)!important;line-height:1.48!important}
.hero-links{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px!important}
.hero-buy{min-height:50px;padding:14px 22px!important;border:0!important;border-radius:999px;background:var(--ink);color:#fff!important;box-shadow:6px 6px 0 var(--blue)}
.hero .text-link-secondary{font-size:10px!important}
.cover-stage{height:auto!important;min-height:520px!important}
.cover-column{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:20px}
.cover-column .cover-stage{width:100%}
.cover-read-link{min-width:230px;min-height:48px;justify-content:space-between;padding:14px 19px!important;border-color:var(--ink)!important;background:var(--ink)!important;color:#fff!important;font-size:11px!important;font-weight:800!important;box-shadow:6px 6px 0 var(--red)}
.cover-read-link::before{background:var(--acid)!important}.cover-read-link:hover,.cover-read-link:focus-visible{color:var(--ink)!important;transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--red)}
.hero-current-cover{width:min(280px,66%)!important;box-shadow:-18px 22px 0 var(--ink),18px 22px 0 var(--red)!important}
.hero-author{width:min(470px,100%)!important;margin-top:30px!important;border-radius:12px!important;background:rgba(255,255,255,.66)!important}

.section{padding:var(--space-section) var(--edge)!important}
.section-number{top:28px!important;left:var(--edge)!important;width:34px!important;height:34px!important;display:grid;place-items:center;padding:0!important;border-radius:50%!important}
.backlist,.story,.about,.events,.soundtrack{gap:clamp(48px,6vw,90px)!important}
.backlist-title h2,.characters-intro h2,.story-heading h2,.place-characters-heading h2,.soundtrack-heading h2,.about-copy h2,.events h2,.contact h2{
  font-size:clamp(48px,5.9vw,84px)!important;line-height:.92!important;letter-spacing:-.045em!important;
}
.backlist{grid-template-columns:minmax(170px,.46fr) minmax(230px,.72fr) minmax(420px,1.35fr)!important;align-items:center!important;column-gap:clamp(38px,5vw,76px)!important}
.backlist-title{grid-column:1/-1!important;grid-row:1!important;align-self:end!important;padding-bottom:clamp(10px,1vw,18px)}
.backlist-title h2 br{display:none}.backlist-title h2 em{margin-left:.18em}
.backlist-cover{grid-column:1!important;grid-row:2!important;width:min(230px,100%)!important;justify-self:center}
.backlist-copy{grid-column:2/-1!important;grid-row:2!important;width:100%!important;max-width:900px!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;align-items:start!important;font-size:16px!important;line-height:1.72!important}
.backlist-copy .lead{grid-column:1/-1;max-width:680px;margin:0 0 22px!important;font-size:clamp(23px,2.1vw,30px)!important;line-height:1.32!important}
.backlist-copy>p:not(.lead){margin:0!important}
.backlist-copy .book-buy{width:max-content;margin-top:26px!important}
.backlist-copy .book-buy:last-child{justify-self:start}
.reader-reviews{margin-top:56px!important}
.review-viewport{max-width:none!important}
.review-card{min-height:280px!important;padding:30px!important;border-radius:var(--radius-card)!important;box-shadow:var(--shadow-sharp)!important}

/* Character grids: generous, aligned, readable */
.characters-intro,.place-characters-heading{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr)!important;gap:clamp(38px,6vw,82px)!important;align-items:end!important;margin-bottom:36px!important}
.characters-intro h2,.place-characters-heading h2{font-size:clamp(40px,4.55vw,64px)!important;line-height:.95!important;letter-spacing:-.04em!important}
.characters-intro p:last-child,.place-characters-heading p:last-child{max-width:560px!important;margin:0 0 4px!important;font-family:var(--sans)!important;font-size:clamp(16px,1.35vw,19px)!important;font-weight:450!important;letter-spacing:-.012em!important;line-height:1.62!important}
.character-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important}
.character-list>.character-card,.character-card,.character-chiara,.character-tonino,.character-tweed{
  min-height:330px!important;margin:0!important;padding:30px!important;border-radius:var(--radius-card)!important;
}
.character-role{margin-bottom:34px!important;font-size:10px!important}
.character-copy h3{margin:0 0 20px!important;font-size:clamp(34px,3.15vw,48px)!important;line-height:.96!important;letter-spacing:-.035em!important}
.character-copy>p:last-child{max-width:44rem;font-size:15px!important;line-height:1.58!important}
.character-tag{margin-top:22px!important;font-size:9px!important;line-height:1.45!important}

.story{grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr)!important;align-items:start!important}
.story-heading{grid-column:1!important}.story-body{grid-column:2!important;max-width:650px}
.story-release{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0 0 24px!important}
.story-release .coming-stamp{margin:0!important;padding:10px 14px!important;border:0!important;border-radius:999px;background:var(--acid);color:var(--ink)!important;box-shadow:5px 5px 0 var(--place-orange);font-size:11px!important;font-weight:800;letter-spacing:.15em;line-height:1;transform:rotate(-1.5deg)}
.story-release .release-date{display:block;color:var(--place-cyan);font-size:11px;font-weight:750;letter-spacing:.15em;line-height:1.4}
.story-visual{grid-column:1/-1!important;width:min(520px,48%)!important;margin:0 auto 22px!important;border-radius:14px!important;box-shadow:16px 16px 0 var(--blue)!important}
.story-visual-title{padding:24px!important}.story-visual-title strong{font-size:clamp(30px,3.1vw,44px)!important;transform:none!important}
.story-body{font-size:17px!important;line-height:1.72!important}.story-body .lead{font-size:clamp(22px,2vw,29px)!important}
.story>.story-pullquote:not(.story-pullquote-reflective){grid-column:1/-1!important;width:min(760px,100%)!important;margin:38px auto 0!important;padding:28px 32px!important;border-radius:14px!important}

.place-character-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;align-items:stretch!important}
.place-character-grid>.place-character,.place-character-grid>.place-character:nth-child(-n+3),.place-character-grid.is-expanded>.place-character{
  min-height:300px!important;margin:0!important;padding:26px!important;border-radius:var(--radius-card)!important;
}
.place-character-role{margin-bottom:32px!important;font-size:10px!important}
.place-character h3{margin:0 0 18px!important;font-size:clamp(30px,2.7vw,40px)!important;line-height:.98!important;letter-spacing:-.03em!important}
.place-character>p:last-child,.place-character-main>p:last-child{font-size:14px!important;line-height:1.58!important}

/* Album: compact without feeling crushed */
.soundtrack{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr)!important;padding-top:64px!important;padding-bottom:68px!important;align-items:center!important}
.soundtrack-heading h2{font-size:clamp(40px,4.2vw,60px)!important;line-height:.96!important}
.soundtrack-cover{width:min(150px,48%)!important;margin-top:18px!important;border-radius:10px!important}
.soundtrack-intro{max-width:390px!important;margin:18px 0!important;font-size:14px!important;line-height:1.55!important}
.soundtrack .track{padding:16px 0!important}.soundtrack .track-play{width:46px!important;height:46px!important}.soundtrack .track-info h3{font-size:clamp(21px,2vw,28px)!important}
.tracks-toggle,.play-all{min-height:44px!important}

.about{grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr)!important;align-items:center!important}
.about .portrait-wrap{width:min(310px,82%)!important}.about-copy h2{margin-bottom:34px!important}.about-copy p{font-size:16px!important;line-height:1.72!important}
.events{grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr)!important}.event{padding:26px 0!important}.event h3{font-size:23px!important}
.contact{padding:clamp(58px,6vw,82px) var(--edge)!important}.contact h2{max-width:780px!important;font-size:clamp(42px,5vw,68px)!important;line-height:.94!important}.contact a{margin-top:28px!important;font-size:clamp(16px,1.55vw,21px)!important}
footer{padding:26px var(--edge)!important}

/* Secondary pages share the same geometry */
.sub-hero{min-height:auto!important;padding:clamp(66px,7vw,104px) var(--edge)!important;grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr)!important;gap:clamp(54px,7vw,104px)!important}
.sub-hero h1{margin:18px 0 28px!important;font-size:clamp(62px,7.6vw,108px)!important;line-height:.87!important;letter-spacing:-.052em!important}
.sub-hero .lead{max-width:650px!important;font-size:clamp(20px,1.8vw,27px)!important;line-height:1.42!important}
.sub-cover img{width:min(320px,68vw)!important;max-height:500px!important;object-fit:contain}
.sub-actions{margin-top:28px!important}.button{min-height:46px;padding:13px 18px!important;font-size:11px!important;transition:transform .18s ease,box-shadow .18s ease}
.content,.inside-book,.quote-cards{padding:var(--space-section) var(--edge)!important}
.content-grid,.inside-book-heading,.quote-cards-heading{grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr)!important;gap:clamp(48px,7vw,104px)!important;max-width:var(--layout-max)!important}
.content h2,.inside-book-heading h2,.quote-cards-heading h2,.press-world .interview-copy h2,.press-world .press-more-heading h2,.press-world .press-events-heading h2{
  font-size:clamp(42px,5vw,68px)!important;line-height:.96!important;letter-spacing:-.04em!important;
}
.prose{max-width:700px!important;font-size:17px!important;line-height:1.72!important}.prose p:first-child{font-size:21px!important;line-height:1.52!important}
.inside-book-heading,.quote-cards-heading{margin-bottom:42px!important}
.inside-book-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1px;border:0!important;background:rgba(244,242,237,.28)}
.inside-book-grid article{min-height:270px!important;padding:32px!important;border:0!important}
.inside-book-grid article>span{margin-bottom:24px!important}.inside-book-grid h3{font-size:clamp(24px,2vw,30px)!important;line-height:1.12!important}.inside-book-grid p{font-size:15.5px!important;line-height:1.62!important}
.quote-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.quote-cards-grid blockquote,.quote-cards-grid blockquote:first-child{grid-column:auto!important;min-height:250px!important;padding:28px!important;border-radius:var(--radius-card)!important;font-size:clamp(21px,2vw,29px)!important;line-height:1.3!important;transform:none!important}
.quote{padding:clamp(58px,6vw,86px) var(--edge)!important}.quote blockquote{max-width:960px!important;font-size:clamp(22px,2.45vw,34px)!important;line-height:1.42!important}
.sub-footer{padding:24px var(--edge)!important}

/* Press and quiz */
.press-world .press-intro,.quiz-world .quiz-intro{padding:clamp(66px,7vw,102px) var(--edge)!important}
.press-world .press-intro h1,.quiz-world .quiz-intro h1{font-size:clamp(58px,7.4vw,104px)!important;line-height:.89!important;letter-spacing:-.052em!important}
.press-world .interview,.press-world .press-more,.press-world .press-events,.quiz-world .quiz-result{padding:var(--space-section) var(--edge)!important}
.press-world .press-item{min-height:330px!important;padding:34px!important;border-radius:var(--radius-card)!important}
.press-world .press-items{gap:18px!important}.press-world .press-item h3{font-size:clamp(26px,2.4vw,34px)!important;line-height:1.1!important}
.press-world .interview-video{border-radius:var(--radius-card)!important;overflow:hidden}
.quiz-world .quiz{width:min(920px,calc(100% - 48px));margin:0 auto;padding:56px clamp(24px,5vw,64px)!important;border-radius:var(--radius-card)}

@media(max-width:1050px) and (min-width:781px){
  .site-header nav{gap:12px!important}.site-header nav a{font-size:9px!important}.nav-contact{padding:10px 12px!important}
  .hero{grid-template-columns:minmax(0,1fr) minmax(280px,.7fr)!important}.character-list{grid-template-columns:repeat(2,1fr)!important}
  .backlist{grid-template-columns:minmax(170px,.5fr) minmax(0,1fr)!important}.backlist-title{grid-column:1/-1!important}.backlist-cover{grid-column:1!important}.backlist-copy{grid-column:2!important;max-width:none!important;display:block!important}.backlist-copy>p:not(.lead){margin:0 0 16px!important}
}

@media(max-width:780px){
  :root{--edge:18px;--space-section:70px}
  html{scroll-padding-top:70px}
  .site-header,.sub-header{min-height:70px!important;padding:13px 18px!important;position:sticky!important}
  .wordmark,.sub-brand{font-size:20px!important}.site-header nav{padding:18px!important;gap:4px!important}.site-header nav a{min-height:44px;font-size:12px!important}
  .sub-header{align-items:flex-start!important;gap:14px}.sub-nav{gap:8px 16px!important;flex-wrap:wrap}.sub-nav a{font-size:10px!important}
  .hero{grid-template-columns:1fr!important;gap:28px!important;padding:48px 18px 64px!important}
  .hero h1{font-size:clamp(54px,16.2vw,76px)!important;line-height:.89!important;letter-spacing:-.045em!important}
  .hero-line{margin:24px 0 28px!important;font-size:18px!important}.hero-links{align-items:stretch!important;gap:14px!important}.hero-buy{width:100%;justify-content:space-between}
  .cover-column{gap:16px}.cover-column .cover-stage{margin-top:12px!important}.cover-read-link{width:min(230px,100%);justify-content:space-between}
  .cover-stage{min-height:300px!important;margin-top:12px!important}.hero-current-cover{width:min(48vw,185px)!important}
  .hero-author{grid-template-columns:58px minmax(0,1fr) auto!important;margin-top:24px!important}.hero-author img{width:58px!important;height:72px!important}
  .section{padding:70px 18px!important}.section-number{top:18px!important;left:18px!important}
  .backlist,.story,.about,.events,.soundtrack{grid-template-columns:1fr!important;gap:34px!important}
  .backlist-title h2,.characters-intro h2,.story-heading h2,.place-characters-heading h2,.soundtrack-heading h2,.about-copy h2,.events h2,.contact h2{font-size:clamp(42px,12.4vw,58px)!important;line-height:.94!important}
  .backlist-title{grid-column:1!important;grid-row:1!important;padding-bottom:0}.backlist-title h2 br{display:block}.backlist-title h2 em{margin-left:0}.backlist-cover{grid-column:1!important;grid-row:2!important;width:min(52vw,190px)!important}.backlist-copy{display:block!important;grid-column:1!important;grid-row:3!important}.backlist-copy>p:not(.lead){margin:0 0 16px!important}.backlist-copy .book-buy{width:100%;justify-content:space-between;margin-top:20px!important}.review-card{min-height:300px!important;padding:24px!important}
  .character-list,.place-character-grid{grid-template-columns:1fr!important;gap:14px!important;margin:0!important;padding:0!important;overflow:visible!important}
  .characters-intro,.place-characters-heading{grid-template-columns:1fr!important;gap:18px!important;margin-bottom:30px!important}.characters-intro h2,.place-characters-heading h2{font-size:clamp(36px,10.5vw,48px)!important;line-height:.97!important}.characters-intro p:last-child,.place-characters-heading p:last-child{font-size:16px!important;line-height:1.58!important}
  .character-list>.character-card,.character-card,.character-chiara,.character-tonino,.character-tweed,.place-character-grid>.place-character,.place-character-grid>.place-character:nth-child(-n+3),.place-character-grid.is-expanded>.place-character{min-height:0!important;padding:26px 24px!important;flex-basis:auto!important}
  .character-role,.place-character-role{margin-bottom:24px!important}.character-copy h3,.place-character h3{font-size:clamp(31px,9vw,40px)!important}
  .story-heading,.story-body{grid-column:1!important}.story-visual{width:min(78vw,360px)!important;margin-bottom:8px!important}.story-body{font-size:16px!important}.story>.story-pullquote:not(.story-pullquote-reflective){padding:22px!important;margin-top:20px!important}
  .soundtrack{padding:60px 18px!important}.soundtrack-heading{display:block!important}.soundtrack-heading h2{white-space:normal!important}.soundtrack-cover{display:block!important;width:120px!important;margin:18px 0!important}.soundtrack-intro{font-size:14px!important}.soundtrack .track{padding:17px 0!important}.soundtrack .track-play{width:48px!important;height:48px!important}
  .about .portrait-wrap{width:min(68vw,270px)!important}.events .event{grid-template-columns:68px minmax(0,1fr) 18px!important;gap:12px!important}
  .contact{padding:54px 18px!important}.contact h2{font-size:clamp(38px,10.8vw,48px)!important;line-height:.97!important}.contact a{margin-top:24px!important;font-size:17px!important}footer{padding:24px 18px!important}
  .sub-hero{grid-template-columns:1fr!important;gap:34px!important;padding:48px 18px 64px!important}.sub-cover{grid-row:auto!important}.sub-cover img{width:min(58vw,240px)!important;max-height:360px!important}
  .sub-hero h1{font-size:clamp(50px,14vw,68px)!important;line-height:.9!important}.sub-hero .lead{font-size:19px!important}.sub-actions{flex-direction:column}.button{width:100%;justify-content:space-between}
  .content,.inside-book,.quote-cards{padding:70px 18px!important}.content-grid,.inside-book-heading,.quote-cards-heading{grid-template-columns:1fr!important;gap:22px!important}.content h2,.inside-book-heading h2,.quote-cards-heading h2,.press-world .interview-copy h2,.press-world .press-more-heading h2,.press-world .press-events-heading h2{font-size:clamp(38px,11vw,50px)!important}
  .inside-book-grid,.quote-cards-grid{grid-template-columns:1fr!important}.inside-book-grid article{min-height:0!important;padding:28px 24px!important}.quote-cards-grid blockquote,.quote-cards-grid blockquote:first-child{min-height:210px!important;padding:24px!important;font-size:clamp(21px,6.4vw,27px)!important}
  .quote{padding:54px 18px!important}.quote blockquote{font-size:21px!important;line-height:1.5!important}
  .press-world .press-intro,.quiz-world .quiz-intro,.press-world .interview,.press-world .press-more,.press-world .press-events,.quiz-world .quiz-result{padding:60px 18px!important}.press-world .press-intro h1,.quiz-world .quiz-intro h1{font-size:clamp(46px,13vw,62px)!important}.press-world .press-item{min-height:0!important;padding:28px 24px!important}
  .quiz-world .quiz{width:calc(100% - 36px);padding:38px 22px!important}
}

@media(max-width:380px){
  :root{--edge:16px}.site-header,.sub-header,.section,.soundtrack,.contact,.content,.inside-book,.quote-cards{padding-left:16px!important;padding-right:16px!important}
  .hero h1{font-size:16vw!important}.hero-current-cover{width:165px!important}.sub-nav a{font-size:9px!important}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hero-current-cover,.character-card,.place-character,.review-card,.button{transition:none!important}}

/* Dark author gateway in the home hero */
.hero>.hero-copy>.hero-author{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important;border-radius:12px!important}
.hero>.hero-copy>.hero-author small{color:var(--acid)!important}.hero>.hero-copy>.hero-author em{color:rgba(255,255,255,.76);opacity:1}
.hero>.hero-copy>.hero-author:hover,.hero>.hero-copy>.hero-author:focus-visible{background:#222833!important;box-shadow:7px 7px 0 var(--red)}
.hero-links>.text-link-secondary{min-height:48px;padding:14px 19px!important;border-color:var(--ink)!important;background:var(--ink)!important;color:#fff!important;font-size:10px!important;font-weight:800!important;box-shadow:6px 6px 0 var(--red)}
.hero-links>.text-link-secondary::before{background:var(--acid)!important}.hero-links>.text-link-secondary:hover,.hero-links>.text-link-secondary:focus-visible{color:var(--ink)!important;transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--red)}

/* Final visual calibration: one strong rhythm, fewer competing shapes */
@media(min-width:781px){
  .hero{padding-block:54px!important;align-items:center!important}
  .hero h1{max-width:650px;font-size:clamp(66px,8.1vw,116px)!important;line-height:.87!important}
  .hero-line{margin:26px 0 28px!important}
  .hero-links{gap:14px 20px!important}
  .hero-buy,.hero-links>.text-link-secondary{min-height:50px!important}
  .hero-author{width:min(450px,100%)!important;margin-top:24px!important;padding:9px 12px 9px 9px!important}
  .cover-column{gap:14px!important}
  .cover-stage{min-height:450px!important}
  .hero-current-cover{width:min(260px,64%)!important;box-shadow:-15px 19px 0 var(--ink),15px 19px 0 var(--red)!important}
  .cover-read-link{min-width:236px!important}
}
@media(max-width:780px){
  .hero{padding-top:42px!important}
  .hero-links>.text-link-secondary{width:100%;justify-content:space-between}
  .cover-stage{min-height:285px!important}
  .cover-read-link{min-height:48px!important}
}
.story-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 32px;
}

.story-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 18px;
  align-items: center;
  min-height: 82px;
  padding: 16px 18px;
  border: 1px solid currentColor;
  border-radius: 12px;
  color: inherit;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.story-action-primary {
  grid-column: 1 / -1;
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
  box-shadow: 6px 6px 0 var(--acid);
}

.story-action small {
  grid-column: 1;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  opacity: .68;
}

.story-action strong {
  grid-column: 1;
  font: 600 15px / 1.25 var(--sans);
}

.story-action > span {
  grid-column: 2;
  grid-row: 1 / 3;
  font-size: 20px;
}

.story-action:hover,
.story-action:focus-visible {
  transform: translate(-2px, -2px);
  box-shadow: 7px 7px 0 var(--red);
}

.story-action-primary:hover,
.story-action-primary:focus-visible {
  background: #222833;
  box-shadow: 8px 8px 0 var(--acid);
}

@media (max-width: 780px) {
  .story-actions {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 26px;
  }

  .story-action-primary {
    grid-column: auto;
  }

  .story-action {
    min-height: 72px;
    padding: 14px 16px;
  }
}

/* 2026-09 final audit: type, spacing, focus and cross-page consistency */
html { overflow-x: clip; }

body { letter-spacing: -.006em; }

h1, h2, h3, .lead, blockquote {
  text-wrap: balance;
  overflow-wrap: normal;
  hyphens: none;
}

.eyebrow,
.kicker,
.meta,
.character-role,
.place-character-role,
.character-tag,
.event-label,
.event-mark,
.detail span,
.bio-facts span,
.story-action small {
  font-size: 12px !important;
  letter-spacing: .145em !important;
}

.site-header nav a,
.sub-nav a,
.button,
.hero .text-link-secondary,
.cover-read-link,
.quote-share,
.tracks-toggle,
.play-all {
  font-size: 12px !important;
}

.site-header nav a { font-size: 11.5px !important; }

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 3px solid var(--acid);
  outline-offset: 4px;
}

.sub-hero > div,
.content-grid > *,
.inside-book-heading > *,
.quote-cards-heading > *,
.story > *,
.soundtrack > * { min-width: 0; }

.inside-book-grid article,
.quote-cards-grid blockquote,
.character-card,
.place-character,
.press-item {
  isolation: isolate;
}

.sub-actions {
  gap: 12px 14px !important;
}

.sub-actions .button {
  min-height: 48px !important;
  padding: 14px 19px !important;
}

.book-world .sub-actions .button.primary {
  box-shadow: 5px 5px 0 var(--place-orange);
}

.book-world .sub-actions .button:not(.primary) {
  border-color: rgba(255,255,255,.72);
}

.author-world .content,
.author-world .sub-footer {
  background: #101319;
}

.press-world .press-intro,
.press-world .press-more {
  background: #f4f2ed;
}

.reading-sheet blockquote {
  max-width: 43rem;
}

@media (min-width: 781px) {
  .sub-header {
    align-items: center !important;
  }

  .sub-hero,
  .content-grid,
  .inside-book-heading,
  .quote-cards-heading,
  .press-intro,
  .press-world .interview,
  .press-world .press-more,
  .press-world .press-events {
    max-width: none;
  }

  .inside-book-grid article {
    display: flex;
    flex-direction: column;
  }

  .inside-book-grid article p:last-child {
    margin-bottom: 0;
  }
}

@media (max-width: 780px) {
  .eyebrow,
  .kicker,
  .meta,
  .character-role,
  .place-character-role,
  .character-tag,
  .event-label,
  .event-mark,
  .detail span,
  .bio-facts span,
  .story-action small {
    font-size: 11.5px !important;
  }

  .site-header nav a,
  .sub-nav a,
  .button,
  .hero .text-link-secondary,
  .cover-read-link,
  .quote-share,
  .tracks-toggle,
  .play-all {
    font-size: 12px !important;
  }

  .sub-header {
    position: relative !important;
  }

  .sub-nav {
    row-gap: 12px !important;
  }

  .sub-nav a {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
  }

  .details,
  .bio-facts {
    gap: 1px;
  }

  .story-actions {
    width: 100%;
  }

  .story-action {
    min-height: 76px;
  }
}
