.podcast-nav{display:flex;align-items:center;gap:24px;padding:12px 6vw;border-bottom:1px solid var(--line)}.podcast-nav img{width:70px;height:70px;object-fit:contain}.podcast-nav a:nth-child(2){margin-left:auto}.podcast-nav a{font-size:.9rem}.podcast-intro,.episode{display:grid;grid-template-columns:minmax(220px,.8fr) 1fr;gap:6vw;align-items:center;padding:64px 8vw}.podcast-intro{background:var(--ink);color:var(--paper)}.podcast-intro>img,.episode>img{width:100%;height:auto;max-width:460px}.podcast-intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,6vw,5.2rem);line-height:1.08;margin:10px 0 20px}.subtitle{font-family:Georgia,"Times New Roman",serif;font-size:1.6rem}.episode h2,.feedback h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1.15}.episode{scroll-margin-top:24px}.episode audio{width:100%;margin:20px 0 8px}.small{font-size:.9rem}.feedback{padding:56px 8vw 72px;background:var(--powder);scroll-margin-top:24px}.feedback form{max-width:760px;display:grid;gap:12px}.feedback label{margin-top:16px;font-weight:500}.feedback input,.feedback textarea,.feedback select{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--ink);padding:12px;border-radius:3px}.feedback textarea{resize:vertical}.feedback button{font:inherit;cursor:pointer;justify-self:start;border:1px solid var(--ink);padding:14px 22px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}footer{padding:24px 8vw}#feedback-status:empty{display:none}@media(max-width:700px){.podcast-nav{gap:16px;padding:10px 5vw}.podcast-nav img{width:52px;height:52px}.podcast-intro,.episode{grid-template-columns:1fr;gap:28px;padding:36px 6vw}.podcast-intro>img,.episode>img{max-width:360px;margin:auto}.feedback{padding:36px 6vw 48px}.podcast-intro h1{font-size:3rem}.podcast-nav a{font-size:.85rem}}

/* Una soglia narrativa leggibile, anche su tablet e con testo ingrandito. */
.podcast-intro h1 { max-width: none; font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1.18; }
.podcast-intro > div, .episode > div { min-width: 0; }
.podcast-intro .button { background: var(--sun); color: var(--ink); }
.novel-preview { max-width: 48ch; margin: 28px 0; font-size: 1rem; line-height: 1.8; }
.novel-preview p { margin: 0 0 18px; }
.novel-preview .novel-whisper { font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-style: italic; line-height: 1.5; color: var(--sun); }
.feedback .button { white-space: normal; text-align: left; }
.feedback button:disabled { opacity: .65; cursor: default; }
.feedback form { min-width: 0; }
.podcast-nav { flex-wrap: wrap; }
.podcast-nav a { overflow-wrap: anywhere; min-width: 0; }
.podcast-nav img { display: block; }
@media (max-width: 900px) {
  .podcast-intro, .episode { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 40px 6vw; }
  .podcast-intro > img, .episode > img { width: 100%; max-width: 360px; margin: auto; }
}
@media (max-width: 400px) {
  .podcast-nav { gap: 10px; }
  .podcast-nav a { font-size: .875rem; }
  .podcast-intro, .episode { padding-left: 20px; padding-right: 20px; }
}
.subscription-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#subscription-status:empty { display: none; }
#subscription-status { padding: 16px 18px; margin: 8px 0 0; border-left: 3px solid var(--blue); background: var(--paper); line-height: 1.65; }
#subscription-status[data-state="success"] { border-color: var(--sun); }
.subscription button[aria-busy="true"] { cursor: wait; }

.episode-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.podcast-intro .button-outline { background: transparent; color: var(--paper); }
#puntata-1 { border-top: 1px solid var(--line); }

/* Un contenitore comune per le voci e le immagini del romanzo. */
.skip-link { position: absolute; left: 16px; top: -160px; padding: 12px 18px; background: var(--sun); color: var(--ink); z-index: 50; }
.skip-link:focus { top: 12px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.story-intro { grid-template-columns: minmax(180px, .6fr) minmax(0, 1.4fr); padding-block: clamp(36px, 5vw, 72px); }
.story-intro > img { max-width: 280px; margin-inline: auto; box-shadow: 0 12px 36px rgb(0 0 0 / .18); }
.story-intro > div { max-width: 58ch; }
.story-intro h1 { max-width: 13ch; font-size: clamp(2.5rem, 5vw, 4.6rem); }
.story-intro .eyebrow { color: var(--sun); }
.story-intro .subtitle { margin-block: 0 22px; }
.story-whisper { margin-block: 24px 0; font-family: Georgia, "Times New Roman", serif; color: var(--sun); font-style: italic; }
.story-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 24px 8vw; border-bottom: 1px solid var(--line); background: var(--paper); }
.story-menu a { display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 16px 22px; min-height: 94px; text-decoration: none; border: 1px solid var(--line); border-radius: 3px; color: var(--ink); }
.story-menu a span { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.2; }
.story-menu a small { font-size: .85rem; line-height: 1.5; }
.story-menu a[aria-current] { background: var(--ink); border-color: var(--ink); color: var(--paper); box-shadow: inset 0 -4px 0 var(--sun); }
.story-menu a:hover { border-color: var(--blue); }
.story-menu a:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.story-section-intro { padding: 56px 8vw 24px; scroll-margin-top: 24px; }
.story-section-intro > p { max-width: 65ch; }
.story-section-intro h2 { margin-bottom: 22px; font-size: clamp(2.4rem, 4vw, 3.6rem); }
.story-section-intro .episode-actions { margin-top: 26px; }
.story-section-intro .button-outline { border: 1px solid var(--ink); background: transparent; color: var(--ink); }
.story-heading { padding: 36px 8vw; background: var(--ink); color: var(--paper); }
.story-heading > a { display: inline-block; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.4rem, 3vw, 2rem); text-transform: none; letter-spacing: 0; margin: 0; text-decoration: none; }
.story-heading > a:hover { text-decoration: underline; text-underline-offset: 6px; }
.story-heading > p { margin-bottom: 0; font-size: .95rem; }
.traces-intro h1 { max-width: none; font-size: clamp(2.8rem, 6vw, 5rem); line-height: 1.12; margin-bottom: 24px; }
.trace-invitation { color: var(--blue); }
.traces-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 32px; padding: 24px 8vw 64px; }
.trace-card { min-width: 0; border: 1px solid var(--line); background: var(--paper); }
.traces-research .trace-card { scroll-margin-top: 24px; }
.traces-research .manifesto-link img { aspect-ratio: 1055 / 1491; }
.traces-research .trace-card-body > p { line-height: 1.8; }
.trace-card-heading { padding: 28px 28px 16px; }
.trace-card-heading .eyebrow { margin-bottom: 16px; font-size: .7rem; color: var(--blue); }
.trace-card h2 { font-size: clamp(2.2rem, 3vw, 3rem); margin-bottom: 16px; line-height: 1.15; }
.trace-card-heading > p:last-child { margin: 0 0 12px; }
.manifesto-link { display: block; margin: 0 20px; background: #eee4d3; }
.manifesto-link img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: contain; }
.trace-card-body { padding: 24px 28px 28px; }
.trace-open { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 44px; margin-bottom: 18px; text-underline-offset: 5px; font-weight: 500; }
.trace-card details { border-top: 1px solid var(--line); }
.trace-card details:last-child { border-bottom: 1px solid var(--line); }
.trace-card summary { padding: 18px 0; cursor: pointer; font-size: .95rem; font-weight: 500; line-height: 1.6; }
.trace-card summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.trace-transcript { padding-bottom: 16px; overflow-wrap: anywhere; }
.trace-transcript h3 { font-size: 1.6rem; line-height: 1.3; margin-top: 12px; }
.trace-transcript p { font-size: .95rem; }
.trace-transcript .trace-verse { font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; line-height: 1.6; }
.trace-transcript .small { font-size: .85rem; color: var(--blue); }
.traces-next { padding: 56px 8vw 64px; background: var(--powder); }
.traces-next h2 { font-size: clamp(2.1rem, 4vw, 3.4rem); line-height: 1.15; max-width: 22ch; margin-bottom: 20px; }
.traces-next .button { margin-top: 12px; }
@media (max-width: 900px) {
  .story-intro { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .story-intro > img { max-width: 200px; }
  .story-intro > div { max-width: none; }
  .story-intro h1 { max-width: none; }
  .traces-grid { gap: 20px; }
  .trace-card-heading { padding: 24px 20px 12px; }
  .trace-card-body { padding: 20px; }
  .manifesto-link { margin-inline: 12px; }
}
@media (max-width: 760px) {
  .story-menu { padding: 20px 6vw; gap: 10px; }
  .story-menu a { padding: 16px 12px; min-height: 100px; }
  .story-heading { padding: 30px 6vw; }
  .story-section-intro { padding: 40px 6vw 16px; }
  .traces-grid { grid-template-columns: minmax(0, 1fr); padding: 16px 6vw 40px; gap: 32px; }
  .traces-next { padding: 40px 6vw 48px; }
}
@media (max-width: 360px) {
  .story-menu { grid-template-columns: minmax(0, 1fr); }
  .story-menu a { min-height: 76px; }
}
