/* Shared contrast and responsive corrections. */
.inside-book-grid article,
.book-world .inside-book-grid article { color:#101319 !important; }
.inside-book-grid article h3,
.inside-book-grid article p,
.inside-book-grid article > span { color:#101319 !important; opacity:1; }
.inside-book-grid article p { font-size:1rem !important; }
.next-event-card h3 { position:relative; z-index:1; margin:0; font:500 clamp(2rem,5vw,4.375rem)/1.05 var(--serif); letter-spacing:-.045em; overflow-wrap:break-word; }
.next-event-card .event-label { position:relative; z-index:1; font-size:1rem; line-height:1.5; letter-spacing:.04em; }
.next-event-card::after { content:none; }
/* A single-column foundation for narrow screens; desktop retains its composition. */
img,video { max-width:100%; }
main,section,article,header,footer,nav { min-width:0; }
p,a,h1,h2,h3,strong { overflow-wrap:break-word; }
@media(max-width:780px) {
 .sub-header { position:relative !important; }
 .sub-nav { gap:8px 18px; }
 .sub-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:.875rem !important; }
 .social-links a { display:inline-flex; align-items:center; min-height:44px; font-size:.875rem !important; letter-spacing:.06em; }
 .sub-hero,.book-world .sub-hero,.author-world .sub-hero,.reading-hero,.reading-layout,.reading-end { grid-template-columns:minmax(0,1fr) !important; }
 .content-grid,.inside-book-heading,.quote-cards-heading,.press-events,.press-more-heading,.press-items,.inside-book-grid { grid-template-columns:minmax(0,1fr) !important; }
 .sub-hero h1,.book-world .sub-hero h1,.reading-hero h1,.press-intro h1 { font-size:clamp(2.5rem,12.5vw,3.875rem) !important; line-height:1.02 !important; }
 .sub-actions .button,.reading-end .button { min-height:48px; white-space:normal; gap:12px; }
 .reading-sheet blockquote { font-size:1.0625rem !important; line-height:1.8 !important; }
 .inside-book-grid article,.book-world .inside-book-grid article { padding:24px 20px !important; }
 .next-event-card { min-height:0; padding:28px 22px; }
 .next-event-card h3 { font-size:clamp(2rem,9vw,3rem); }
 .press-events-heading { position:static; }
 .bio-facts strong { overflow-wrap:anywhere; }
 .track-info,.hero-copy,.story-body,.backlist-copy,.reading-sheet { min-width:0; }
}
@media(min-width:781px) and (max-width:1050px) {
 .sub-hero,.book-world .sub-hero,.author-world .sub-hero,.reading-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:32px !important; }
 .sub-hero h1,.book-world .sub-hero h1,.reading-hero h1 { font-size:clamp(3rem,7vw,4.625rem) !important; line-height:1 !important; }
 .sub-header { gap:24px; height:auto; min-height:82px; padding-block:16px; }
 .sub-nav { flex-wrap:wrap; justify-content:flex-end; }
 .press-events { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; }
}

/* Book title on the lime presentation card. */
.next-event-card .event-book-title { color:#263cae; }

/* Make the full album action prominent at every screen size. */
.soundtrack .tracks-toggle {
 width:100% !important; min-height:60px !important; margin-top:24px !important;
 padding:18px 22px !important; font-size:1rem !important; font-weight:800 !important;
 line-height:1.4; letter-spacing:.04em !important;
 background:#d9ff43 !important; color:#101319 !important;
 border:2px solid #101319 !important; box-shadow:6px 6px 0 #4558ff;
}
.soundtrack .tracks-toggle:hover,.soundtrack .tracks-toggle:focus-visible {
 background:#fff !important; outline:3px solid #4558ff; outline-offset:4px;
}
.soundtrack .tracks-toggle i { font-size:1.5rem !important; }

.soundtrack .tracks-toggle,
.soundtrack .tracks-toggle:hover,
.soundtrack .tracks-toggle:focus-visible {
 background:#000 !important; color:#ffe600 !important;
 border-color:#ffe600 !important; box-shadow:6px 6px 0 #4558ff;
}
.book-world .sub-hero .book-release-highlight {
 display:inline-block; margin:0 0 24px; padding:14px 20px;
 background:#d9ff43; color:#101319;
 font-size:clamp(1rem,1.6vw,1.375rem) !important;
 line-height:1.5; letter-spacing:.04em !important; border:2px solid #101319;
}
.book-release-highlight strong { font-weight:800; }

/* Highlight the full release announcement on the home page. */
.story-release .release-date {
 display:inline-block; max-width:100%; padding:14px 20px;
 background:#d9ff43 !important; color:#101319 !important;
 border:2px solid #101319; box-shadow:5px 5px 0 #ff8a3d;
 font-size:clamp(1rem,1.5vw,1.25rem) !important;
 font-weight:800 !important; letter-spacing:.035em !important;
 line-height:1.5 !important; white-space:normal;
}
@media(max-width:780px) {
 .story-release .release-date { padding:12px 16px; }
}

/* Book-page character cards use their own grid, without legacy spans. */
#personaggi-posto-accanto { padding:clamp(56px,7vw,96px) var(--edge,24px); scroll-margin-top:100px; }
#personaggi-posto-accanto .place-character-grid {
 display:grid !important; grid-template-columns:minmax(0,1fr) !important;
 gap:20px !important; margin:0 !important; padding:0 !important;
 border:0; background:transparent; overflow:visible !important;
}
#personaggi-posto-accanto .place-character-grid > .place-character {
 grid-column:auto !important; grid-row:auto !important; min-width:0;
 display:flex; min-height:0 !important; padding:28px !important;
 justify-content:flex-start; height:auto; flex-basis:auto !important;
}
#personaggi-posto-accanto .place-character-grid > .place-character:nth-child(n+4) { display:none; }
#personaggi-posto-accanto .place-character-grid.is-expanded > .place-character:nth-child(n+4) { display:flex; }
#personaggi-posto-accanto .place-character-role { align-self:flex-start; margin:0 0 28px !important; font-size:.875rem !important; }
#personaggi-posto-accanto .place-character h3 { font-size:clamp(1.875rem,3vw,2.5rem) !important; line-height:1.08 !important; }
#personaggi-posto-accanto .place-character > p:last-child { font-size:1rem !important; line-height:1.65 !important; }
#personaggi-posto-accanto .place-character-renato { background:#ff9f1c !important; color:#101319 !important; }
#personaggi-posto-accanto .place-character-renato .place-character-role { color:#101319 !important; }
#personaggi-posto-accanto .place-characters-heading { grid-template-columns:minmax(0,1fr) !important; }
#personaggi-posto-accanto .place-characters-heading h2 { margin:0; }
#personaggi-posto-accanto .story-pullquote-reflective { display:none; }
#personaggi-posto-accanto .place-characters-more { display:inline-flex; align-items:center; gap:16px; min-height:48px; padding:14px 20px; margin-top:32px; background:#d9ff43; color:#101319; border:2px solid #101319; font:700 1rem var(--sans); cursor:pointer; }
#personaggi-posto-accanto .place-characters-more b { transition:transform .2s; }
#personaggi-posto-accanto .place-characters-more[aria-expanded=true] b { transform:rotate(180deg); }
@media(min-width:781px) {
 #personaggi-posto-accanto .place-character-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
 #personaggi-posto-accanto .place-characters-heading { grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; }
}
