/* 09 Rome on Saturn: marble, gold rules, Roman numerals, Saturn's rings drawing themselves. */
[data-world="rome-on-saturn"] {
  --grain: 0.04;
  --title-case: uppercase;
  --title-track: 0.12em;
  --head-track: 0.1em;
  --enter: curtain-rise 900ms cubic-bezier(.2, .7, .1, 1);
}
@keyframes curtain-rise { from { opacity: 0; transform: translateY(36px); clip-path: inset(100% 0 0 0); } to { opacity: 1; transform: none; clip-path: inset(0 0 -20% 0); } }
@keyframes push-in { from { transform: scale(1); } to { transform: scale(1.06); } }
@keyframes draw { to { stroke-dashoffset: 0; } }

/* a very light stone texture on the ground */
[data-world="rome-on-saturn"] body {
  background-image:
    radial-gradient(120% 60% at 20% 10%, color-mix(in srgb, var(--rule) 22%, transparent), transparent 60%),
    radial-gradient(90% 50% at 85% 70%, color-mix(in srgb, var(--rule) 18%, transparent), transparent 60%);
  background-attachment: fixed;
}
[data-world="rome-on-saturn"] .hero-title { font-size: clamp(2rem, 6.4vw, 4.5rem); }
[data-world="rome-on-saturn"] .hero-img img { animation: push-in 22s ease-out both; }
[data-world="rome-on-saturn"] .rings { position: absolute; left: -6%; width: 112%; bottom: -26%; height: 64%; }
[data-world="rome-on-saturn"] .rings ellipse {
  fill: none; stroke: var(--spice); stroke-width: 2; vector-effect: non-scaling-stroke; opacity: 0.7;
  stroke-dasharray: 3200; stroke-dashoffset: 3200; animation: draw 2.6s ease-out 300ms forwards;
}
[data-world="rome-on-saturn"] .rings ellipse + ellipse { opacity: 0.4; animation-delay: 700ms; }
/* thin gold rules with Roman-numeral section markers */
[data-world="rome-on-saturn"] .block + .block { border-top: 3px double var(--spice); }
[data-world="rome-on-saturn"] .block-num { display: inline-block; font-family: var(--font-display); color: var(--accent); letter-spacing: 0.1em; min-width: 2.2em; }
[data-world="rome-on-saturn"] .block-num::before { content: attr(data-roman) "."; }
[data-world="rome-on-saturn"] .site-header { border-bottom: 3px double var(--spice); }
