/* Il posto accanto — compact editorial page */
.book-world {
  --place-navy:#101b45;
  --place-blue:#4558ff;
  --place-cyan:#8ee9df;
  --place-acid:#d9ff43;
  --place-orange:#ff8a3d;
  --place-coral:#ff5f78;
  background:var(--place-navy);
}

.book-world .sub-header {
  background:rgba(16,27,69,.92);
  backdrop-filter:blur(14px);
  position:sticky;
  top:0;
}

.book-world .sub-hero {
  min-height:auto;
  padding:clamp(54px,6.5vw,92px) clamp(22px,7vw,110px) clamp(64px,7.5vw,106px);
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);
  gap:clamp(42px,7vw,105px);
  background:
    radial-gradient(circle at 82% 18%,rgba(217,255,67,.17),transparent 24%),
    radial-gradient(circle at 12% 82%,rgba(142,233,223,.14),transparent 28%),
    linear-gradient(135deg,#101b45 0%,#263cae 100%);
}
.book-world .sub-hero::after {
  content:"ROMANZO 02";
  position:absolute;
  right:clamp(18px,2vw,34px);
  bottom:24px;
  color:rgba(255,255,255,.48);
  font:700 10px/1 var(--sans);
  letter-spacing:.24em;
  writing-mode:vertical-rl;
}
.book-world .sub-hero h1 {
  margin:18px 0 28px;
  font-size:clamp(64px,8.6vw,126px);
  line-height:.84;
}
.book-world .sub-hero .lead {
  max-width:680px;
  font-size:clamp(21px,2vw,30px);
}
.book-world .sub-cover img {
  width:min(330px,62vw);
  box-shadow:-18px 22px 0 var(--place-acid);
}
.book-world .sub-actions { margin-top:28px; }

.book-world .content {
  padding:clamp(64px,7vw,96px) clamp(22px,8vw,130px);
  background:#f5f1e9;
  color:var(--ink);
}
.book-world .content-grid {
  grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);
  gap:clamp(42px,7vw,105px);
}
.book-world .content h2 { font-size:clamp(43px,5.3vw,72px); }
.book-world .prose { font-size:17px;line-height:1.72; }
.book-world .prose p:first-child { font-size:22px; }

.book-world .inside-book {
  padding:clamp(66px,7.5vw,104px) clamp(22px,8vw,130px);
  background:#101b45;
}
.book-world .inside-book-heading {
  align-items:start;
  gap:clamp(42px,7vw,105px);
  margin-bottom:42px;
}
.book-world .inside-book-heading h2 { font-size:clamp(42px,5.2vw,72px); }
.book-world .inside-book-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  border:0;
}
.book-world .inside-book-grid article {
  min-height:330px;
  padding:30px;
  border:0;
  color:var(--ink);
  box-shadow:6px 6px 0 rgba(0,0,0,.25);
  transition:transform .2s ease,box-shadow .2s ease;
}
.book-world .inside-book-grid article:hover {
  transform:translate(-3px,-3px);
  box-shadow:10px 10px 0 rgba(0,0,0,.28);
}
.book-world .inside-book-grid article:nth-child(1) { background:var(--place-coral); }
.book-world .inside-book-grid article:nth-child(2) { background:var(--place-acid); }
.book-world .inside-book-grid article:nth-child(3) { background:var(--place-cyan); }
.book-world .inside-book-grid article:nth-child(4) { background:#7f8cff; }
.book-world .inside-book-grid article:nth-child(5) { background:var(--place-orange); }
.book-world .inside-book-grid article:nth-child(6) { background:#f5f1e9; }
.book-world .inside-book-grid article>span,
.book-world .inside-book-grid article:nth-child(3n+2)>span,
.book-world .inside-book-grid article:nth-child(3n)>span {
  margin-bottom:24px;
  color:currentColor;
  opacity:.62;
}
.book-world .inside-book-grid h3 {
  margin-bottom:16px;
  font-size:clamp(23px,2vw,30px);
}
.book-world .inside-book-grid p {
  color:inherit;
  font-size:15px;
  line-height:1.55;
}
.book-world .inside-book-grid p+p { margin-top:10px; }

.book-world .quote-cards {
  padding:clamp(64px,7vw,98px) clamp(22px,8vw,130px);
  background:#263cae;
}
.book-world .quote-cards-heading {
  gap:clamp(42px,7vw,105px);
  margin-bottom:40px;
}
.book-world .quote-cards-heading h2 { font-size:clamp(42px,5vw,70px); }
.book-world .quote-cards-grid { gap:18px; }
.book-world .quote-cards-grid blockquote,
.book-world .quote-cards-grid blockquote:first-child {
  min-height:230px;
  padding:30px;
  font-size:clamp(22px,2.5vw,36px);
}
.book-world .quote-cards-grid blockquote:first-child { min-height:270px; }

.book-world .quote {
  padding:clamp(54px,6vw,84px) clamp(22px,8vw,130px);
  background:var(--place-acid);
  color:var(--ink);
}
.book-world .quote blockquote {
  font-size:clamp(22px,2.7vw,38px);
  max-width:980px;
}
.book-world .sub-footer { background:#101b45; }

@media(max-width:1050px) and (min-width:781px) {
  .book-world .inside-book-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:780px) {
  .book-world .sub-header { position:relative; }
  .book-world .sub-hero {
    padding:34px 18px 54px;
    gap:34px;
  }
  .book-world .sub-hero::after { display:none; }
  .book-world .sub-cover { grid-row:auto; }
  .book-world .sub-cover img { width:min(220px,62vw); }
  .book-world .sub-hero h1 {
    margin:14px 0 24px;
    font-size:clamp(52px,15vw,72px);
  }
  .book-world .sub-hero .lead { font-size:20px; }
  .book-world .content,
  .book-world .inside-book,
  .book-world .quote-cards,
  .book-world .quote { padding:48px 18px; }
  .book-world .content-grid,
  .book-world .inside-book-heading,
  .book-world .quote-cards-heading { gap:22px; }
  .book-world .inside-book-heading,
  .book-world .quote-cards-heading { margin-bottom:30px; }
  .book-world .inside-book-grid { grid-template-columns:1fr;gap:12px; }
  .book-world .inside-book-grid article {
    min-height:auto;
    padding:26px 24px 30px;
  }
  .book-world .inside-book-grid article:hover { transform:none; }
  .book-world .quote-cards-grid blockquote,
  .book-world .quote-cards-grid blockquote:first-child {
    min-height:205px;
    padding:24px;
    font-size:clamp(23px,6.7vw,29px);
  }
}

@media(prefers-reduced-motion:reduce) {
  .book-world .inside-book-grid article { transition:none; }
}
