/* Section navigation only. Shared header, reader, cards and themes stay in style.css. */
.world-sections { padding-block: 1.25rem 2.5rem; }
.world-section-heading { margin-bottom: 1.25rem; }
.world-section-heading .eyebrow { margin-bottom: .5rem; }
.world-age-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
.world-section-card { min-width: 0; overflow: hidden; border: 1px solid var(--card-line); border-radius: 1.25rem; background: var(--card); }
.world-section-link { transition: transform .2s ease, box-shadow .2s ease; }
.world-section-link:hover { transform: translateY(-3px); box-shadow: 0 12px 28px var(--shadow); }
.world-section-link:focus-visible { outline-offset: 5px; }
.world-section-image { position: relative; aspect-ratio: 1.25; overflow: hidden; background: var(--image-base); }
.world-section-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 37%; filter: var(--art-filter); }
.world-age { position: absolute; top: 1rem; left: 1rem; display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: #fff9ed; color: #254d50; box-shadow: 0 2px 12px #18394215; font: 600 1.7rem/1 Georgia,serif; }
.world-section-copy { padding: 1.25rem 1.5rem 1.3rem; }
.world-section-copy h3 { font-size: clamp(1.2rem,2.5vw,2rem); }
.world-section-copy p { margin-top: .45rem; color: var(--muted); font-size: .9rem; }
.world-section-action { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 2.75rem; margin-top: .8rem; color: var(--teal); font-size: .85rem; font-weight: 600; }
.world-section-action>span { font-size: 1.3rem; }
.world-coming { display: inline-flex; align-items: center; width: fit-content; min-height: 1.9rem; padding: .3rem .7rem; border: 1px solid var(--control-line); border-radius: 2rem; color: var(--muted); font: 500 .75rem/1.3 Arial,sans-serif; }
.world-section-action.world-coming { margin-block: 1.05rem .35rem; }
.world-format-list { display: grid; gap: 1rem; margin-top: 1.25rem; }
.world-format { position: relative; display: grid; grid-template-columns: 1fr 42%; min-height: 12rem; overflow: hidden; border: 1px solid var(--card-line); border-radius: 1.1rem; background: var(--card); }
.world-format-copy { z-index: 1; padding: 1.5rem 2rem; }
.world-format-kind { color: var(--muted); font-size: .6rem; letter-spacing: .1em; }
.world-format h3 { margin-top: .5rem; font-size: 2rem; }
.world-format p { margin-block: .45rem .9rem; color: var(--muted); font-size: .85rem; }
.world-format-art { position: relative; overflow: hidden; }
.world-format-art img { width: 100%; height: 100%; max-height: 15rem; object-fit: cover; object-position: center 37%; filter: var(--art-filter); }
.world-format-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,var(--card),transparent 36%); }
.world-comic-frame { position: absolute; inset: 12% 15% 12% 25%; border: 3px solid #fff7e8bb; transform: rotate(-7deg); border-radius: .5rem; }
.world-film-frame { position: absolute; inset: 16% 14% 16% 23%; border: 2px solid #fff7e8a6; border-radius: 1.5rem; }
.world-film-frame::before,.world-film-frame::after { content: ''; position: absolute; left: 10%; right: 10%; height: 3px; background: repeating-linear-gradient(90deg,#fff7e8a6 0 8px,transparent 8px 20px); }
.world-film-frame::before { top: 7%; }.world-film-frame::after { bottom: 7%; }
.world-library { padding-block: .75rem 3.5rem; }
.world-library-heading { display: flex; align-items: center; gap: 1.25rem; padding-block: 1.25rem 2rem; }
.world-age-inline { position: static; flex: none; width: 4.5rem; height: 4.5rem; font-size: 2rem; }
.world-library-heading h1 { margin-block: .5rem .75rem; }
.world-library-heading p:last-child { color: var(--muted); }
@media (max-width:620px) {
  .world-sections { padding-block: 1rem 1.5rem; }
  .world-section-heading { margin-bottom: 1rem; }
  .world-section-heading h2 { font-size: 1.8rem; }
  .world-age-grid { gap: .75rem; }
  .world-section-card { border-radius: .9rem; }
  .world-section-image { aspect-ratio: .82; }
  .world-age { top: .6rem; left: .6rem; width: 2.65rem; height: 2.65rem; font-size: 1.45rem; }
  .world-section-copy { padding: .85rem .75rem; }
  .world-section-copy h3 { font-size: 1.2rem; line-height: 1.15; min-height: 2.3em; letter-spacing: -.4px; }
  .world-section-copy p { font-size: .75rem; line-height: 1.45; min-height: 2.9em; }
  .world-section-action { font-size: .75rem; margin-top: .6rem; }
  .world-section-action.world-coming { margin-top: .95rem; }
  .world-format-list { gap: .75rem; margin-top: .75rem; }
  .world-format { min-height: 10rem; grid-template-columns: 62% 38%; border-radius: .9rem; }
  .world-format-copy { padding: 1.2rem 0 1.2rem 1rem; }
  .world-format-kind { font-size: .5rem; letter-spacing: .06em; }
  .world-format h3 { font-size: 1.5rem; }
  .world-format p { font-size: .7rem; line-height: 1.45; }
  .world-format-art img { max-height: none; }
  .world-library-heading { gap: .85rem; padding-block: 1rem 1.5rem; align-items: flex-start; }
  .world-library-heading h1 { font-size: 2rem; letter-spacing: -.8px; }
  .world-library-heading p:last-child { font-size: .85rem; }
  .world-age-inline { width: 3.25rem; height: 3.25rem; margin-top: .25rem; }
}
@media (max-width:359px) {
  .world-age-grid { gap: .6rem; }
  .world-section-copy { padding-inline: .65rem; }
  .world-section-copy h3 { font-size: 1.07rem; }
  .world-section-action { font-size: .68rem; }
}
