/* Scroll edition. The article remains a complete document before enhancement. */
.world-book{--world-gutter:clamp(20px,4vw,72px)}
.world-book h1,.world-book h2,.world-book h3{text-wrap:balance}
.world-book p{text-wrap:pretty}
.world-book .lore-hero{position:relative;isolation:isolate;min-height:650px;height:min(850px,calc(100svh - 92px));overflow:hidden;background:#132936}
.world-book .lore-hero-art{position:absolute;inset:0;margin:0;z-index:-3}
.world-book .lore-hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:59% 50%;transform:scale(1.04)}
.world-book .lore-hero-weave{position:absolute;inset:-9% -4% 27%;z-index:-2;background:url('/world/art/sky-weave.svg') center/100% 100% no-repeat;pointer-events:none;opacity:.7}
.world-book .lore-hero-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 13% 85%,#081620f5 0,#081620ce 23%,#08162070 43%,transparent 68%),linear-gradient(0deg,#0a151e 0,transparent 25%)}
.world-book .lore-hero-copy{position:absolute;bottom:clamp(48px,7vh,94px);left:var(--world-gutter);max-width:680px;width:calc(100% - 2*var(--world-gutter))}
.world-book .lore-hero h1{font:400 clamp(3.5rem,7.6vw,7.5rem)/.98 var(--icesus-display);letter-spacing:-.045em;margin:0 0 24px;color:#f0f5ef;text-shadow:0 2px 22px #07131b70}
.world-book .lore-hero h1 em{font-weight:400;color:#d0e7ec}
.world-book .lore-hero p{max-width:42ch;font-size:clamp(16px,1.3vw,19px);line-height:1.7;color:#e1ebed;margin:0 0 24px}
.world-book .lore-hero .text-link{color:#f4d59b;border-color:#efc781;min-height:46px;font-size:15px}
.world-book .chapter-nav-inner{justify-content:flex-start;max-width:1440px;margin:auto;padding-inline:var(--world-gutter);gap:24px}
.world-book .chapter-nav a span{display:none}
.world-book .motion-toggle{margin-left:auto;flex:none;min-height:44px;padding:8px 12px;border:1px solid #496373;background:#13232e;color:#d5e3e9;border-radius:2px;font:500 11px/1.3 var(--icesus-sans);cursor:pointer}
.world-book .motion-toggle[hidden]{display:none}
.world-book .motion-toggle:hover{border-color:#d9bf8f;color:#fff}
.world-book .motion-toggle:active,.world-book button:active{transform:translateY(1px)}
.world-book .chapter{padding-block:clamp(56px,7vw,106px)}
.world-book .chapter-heading .eyebrow{display:none}
.world-book .chapter-heading>p{margin-top:4px}
.world-book .chapter-heading h2{font-size:clamp(2.2rem,4vw,3.7rem)}
.world-book .valley-intro .opening::first-letter{float:none;font:inherit;padding:0;color:inherit}
.world-book .sky-controls{padding-top:18px}
.world-book .unraveling-chapter .sky-gallery{margin-inline:calc(-1*var(--world-gutter))}
.world-book .unraveling-chapter .sky-image figcaption,.world-book .unraveling-chapter .sky-controls,.world-book .unraveling-chapter .sky-caption{margin-inline:var(--world-gutter)}
.world-book .unraveling-stages{display:block;max-width:960px;margin:46px auto 0;columns:2;column-gap:70px}
.world-book .unraveling-stages>div{break-inside:avoid;margin-bottom:28px;padding:0;border:0}
.world-book .unraveling-stages h3{font-size:26px}
.world-book .unraveling-stages p{font-size:16px}
.world-book .rebuilding-chapter{background:#12232c;border-block:1px solid #39515c}
.world-book .rebuilding-intro{max-width:880px;margin-bottom:54px}
.world-book .rebuilding-intro h2{font:400 clamp(2.4rem,4.5vw,4.5rem)/1.1 var(--icesus-display);letter-spacing:-.035em;margin:0 0 24px}
.world-book .rebuilding-intro>p{font-size:18px;line-height:1.8;color:#c0d1d8;max-width:65ch;margin:0}
.world-book .rebuild-story{position:relative}
.world-book .rebuild-stage[hidden]{display:none}
.world-book .rebuild-steps{max-width:850px;margin-inline:auto}
.world-book .rebuild-step{padding:0 0 60px}
.world-book .rebuild-step:last-child{padding-bottom:0}
.world-book .rebuild-step h3{font:400 clamp(1.8rem,2.4vw,2.55rem)/1.2 var(--icesus-display);letter-spacing:-.02em;margin:0 0 22px}
.world-book .rebuild-step p{font-size:16px;line-height:1.85;color:#c3d1d8;margin:0 0 20px;max-width:58ch}
.world-book .rebuild-step .rebuild-work{color:#e1c89c;font-size:13px;margin:22px 0 0;padding-top:14px;border-top:1px solid #667365}
.world-book .rebuild-step-media{margin:0 0 30px}
.world-book .rebuild-step-media img{display:block;width:100%;height:auto}
.world-book .rebuild-step-media figcaption{color:#acc0cb;font-size:12px;line-height:1.5;padding-top:10px}
.world-book .rebuild-stage{margin:0;background:#0a1720;overflow:hidden;align-self:start;border:1px solid #48616e}
.world-book .rebuild-stage-images{position:relative;aspect-ratio:16/9}
.world-book .rebuild-stage-images>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 500ms ease-out}
.world-book .rebuild-stage-images>img[data-active]{opacity:1}
.world-book .rebuild-stage-canopy{position:absolute;inset:0 0 72%;background:url('/world/art/sky-weave.svg') center/cover;opacity:var(--canopy-strength,.2);transform:translateY(calc((1 - var(--rebuild-progress,0))*-14px));pointer-events:none}
/* The shrine painting already carries the altar's power into the sky.
   Add only soft light at those anchors, using the image's own crop. */
.world-book .rebuild-offering-light{position:absolute;inset:0;pointer-events:none;width:100%;height:100%;opacity:0;mix-blend-mode:screen;transition:opacity 500ms ease-out}
.world-book .rebuild-stage[data-scene="offerings"] .rebuild-offering-light{opacity:.75}
.world-book .rebuild-stage[data-scene="offerings"] .rebuild-stage-canopy{opacity:0}
.world-book .rebuild-markers{display:flex;gap:7px;padding:0 22px 20px}
.world-book .rebuild-markers i{display:block;width:25%;height:2px;background:#354e5b}
.world-book .rebuild-markers i[data-active]{background:#e7c589}
@media(min-width:981px) and (min-height:650px){
  html[data-world-motion="on"] .world-book .rebuild-story[data-rebuild-enhanced="on"]{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);gap:clamp(38px,5vw,80px);align-items:start}
  html[data-world-motion="on"] .world-book [data-rebuild-enhanced="on"] .rebuild-stage{display:block;position:sticky;top:88px}
  html[data-world-motion="on"] .world-book [data-rebuild-enhanced="on"] .rebuild-stage-images{aspect-ratio:16/9;height:auto;max-height:calc(100svh - 240px)}
  html[data-world-motion="on"] .world-book [data-rebuild-enhanced="on"] .rebuild-step{min-height:65svh;display:flex;flex-direction:column;justify-content:center;padding:30px 0 70px}
  html[data-world-motion="on"] .world-book [data-rebuild-enhanced="on"] .rebuild-step:last-child{min-height:58svh;padding-bottom:36px}
  html[data-world-motion="on"] .world-book [data-rebuild-enhanced="on"] .rebuild-step-media{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:-1px;padding:0;border:0}
}
.world-book .live-settlements{margin-top:70px;padding-top:36px;border-top:1px solid #638080}
.world-book .live-settlements h3{font:400 34px/1.2 var(--icesus-display);margin:0 0 16px}
.world-book .live-settlements>p{color:#bccdd5;font-size:15px;line-height:1.8}
.world-book .live-settlement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:30px}
.world-book .live-settlement{border-top:1px solid #6a7e83;padding-top:20px;min-width:0}
.world-book .live-settlement h4{font:400 28px/1.2 var(--icesus-display);margin:0 0 16px}
.world-book .live-settlement h4 a{color:#e6d4ac;text-underline-offset:6px}
.world-book .live-settlement p,.world-book .live-settlement-facts{font-size:13px;line-height:1.8;color:#bdcdd5}
.world-book .live-settlement-facts{padding:0;list-style:none;margin:16px 0}
.world-book .live-settlement-facts li+li{margin-top:5px}
.world-book .live-settlement-notice{border-top:1px solid #314a54;padding-top:14px}
.world-book .priest-index{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:50px -20px 70px}
.world-book .priest-index a{position:relative;display:block;min-width:0;color:var(--element);text-decoration:none;text-align:center;padding:12px 8px 20px;border-bottom:1px solid #516778;background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--element) 7%,transparent),transparent 65%)}
.world-book .priest-index img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;filter:drop-shadow(0 16px 14px #0006)}
.world-book .priest-index strong{display:block;font:400 clamp(20px,2vw,27px)/1.3 var(--icesus-display);margin-top:15px;color:#e7edf0}
.world-book .priest-index span{display:block;font:500 11px/1.6 var(--icesus-sans);margin-top:5px;color:var(--element)}
.world-book .priest-index a:hover{border-color:var(--element)}
.world-book .god,.world-book .god:nth-child(even){display:block;padding:64px 0 74px;border-color:#405865}
.world-book .faith-copy{max-width:820px;margin-bottom:36px}
.world-book .god-heading{gap:0;margin-bottom:18px}
.world-book .faith-number{display:none}
.world-book .god-heading small{font-size:12px;letter-spacing:.1em}
.world-book .god h3{font-size:clamp(2.7rem,5vw,4.7rem);color:var(--element)}
.world-book .god h4{font-size:25px;max-width:38ch}
.world-book .god p{font-size:16px;line-height:1.85}
.world-book .faith-visuals{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center;margin:35px 0 45px}
.world-book .faith-art{order:initial!important}
.world-book .faith-art img{border:0}
.world-book .faith-art figcaption{font-size:12px;line-height:1.7}
.world-book .faith-portraits{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:end;background:radial-gradient(ellipse at 50% 55%,color-mix(in srgb,var(--element) 8%,transparent),transparent 69%)}
.world-book .faith-person{min-width:0;margin:0;text-align:center}
.world-book .faith-person img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;filter:drop-shadow(0 16px 16px #02090a99)}
.world-book .faith-person figcaption{font:400 20px/1.3 var(--icesus-display);color:#dfe9eb;padding:8px 4px 0}
.world-book .faith-person figcaption span{display:block;font:400 11px/1.6 var(--icesus-sans);color:var(--element);margin-top:6px}
.world-book .faith-guild{grid-template-columns:.65fr 1.7fr;margin:0;padding-top:28px}
.world-book .faith-guild .eyebrow{display:none}
.world-book .faith-guild h4{font-size:27px}
.world-book .guild-passages{display:block;column-count:2;column-gap:36px}
.world-book .guild-passages p{font-size:15px;break-inside:avoid}
.world-book .guild-passages p+p{margin-top:20px}
.world-book .element-links{display:none}
.world-book .element-art{margin-top:32px}
.world-book .invitation{background:#142731;text-align:left;padding:50px clamp(24px,5vw,70px)}
.world-book .invitation::before{display:none}
.world-book .invitation h2{max-width:760px;margin:0 0 24px}
.world-book .invitation p{margin:0 0 24px}
.world-book .world-actions{justify-content:flex-start}
.world-book .invitation .note{margin:20px 0 0}
.world-book :is(a,button):focus-visible{outline:3px solid #f0d396;outline-offset:5px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html[data-world-motion="on"] .world-book .priest-index img{transition:transform 220ms ease-out}
  html[data-world-motion="on"] .world-book .priest-index a:hover img{transform:translateY(-8px)}
}
@media(max-width:1100px){.world-book .faith-visuals{gap:24px}.world-book .faith-guild{grid-template-columns:1fr;gap:20px}.world-book .guild-passages{column-count:2}}
@media(max-width:980px){
  .world-book .lore-hero{min-height:580px;height:76svh;max-height:780px}
  .world-book .lore-hero h1{font-size:clamp(3.7rem,9vw,6.5rem)}
  .world-book .rebuild-stage{display:none!important}
  .world-book .rebuild-steps{max-width:760px}
  .world-book .faith-visuals{grid-template-columns:1fr;gap:34px}
  .world-book .faith-portraits{max-width:700px;width:100%;margin:auto}
  .world-book .faith-art{max-width:820px}
  .world-book .priest-index{margin-inline:0;gap:10px;grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}
  .world-book .priest-index a{scroll-snap-align:start}
}
@media(max-width:760px){
  .world-book .lore-hero{height:76svh;min-height:570px;max-height:720px}
  .world-book .lore-hero-art img{object-position:59% center;transform:none}
  .world-book .lore-hero-copy{bottom:36px;max-width:460px}
  .world-book .lore-hero h1{font-size:clamp(3.3rem,12vw,5rem);margin-bottom:22px}
  .world-book .lore-hero p{font-size:16px;max-width:33ch}
  .world-book .lore-hero-shade{background:linear-gradient(0deg,#0a151e 0,#081620dc 20%,#08162075 49%,transparent 77%)}
  .world-book .lore-hero-weave{inset:-3% -20% 40%}
  .world-book .chapter-nav-inner{gap:22px;padding-inline:20px}
  .world-book .chapter-heading>p{margin-top:22px}
  .world-book .unraveling-stages{columns:1;max-width:65ch}
  .world-book .unraveling-stages>div{margin-bottom:26px}
  .world-book .rebuilding-intro{margin-bottom:36px}
  .world-book .rebuilding-intro>p{font-size:16px}
  .world-book .rebuild-step{padding-bottom:48px}
  .world-book .live-settlement-grid{grid-template-columns:1fr;gap:20px}
  .world-book .live-settlement{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}
  .world-book .live-settlement h4{grid-column:1/-1}
  .world-book .live-settlement-facts{margin:0}
  .world-book .live-settlement-notice{grid-column:1/-1}
  .world-book .priest-index{margin-block:32px 52px}
  .world-book .god,.world-book .god:nth-child(even){padding:44px 0 48px}
  .world-book .god p{font-size:15px}
  .world-book .god h3{font-size:46px}
  .world-book .faith-visuals{margin-block:28px 32px}
  .world-book .faith-person figcaption{font-size:22px}
  .world-book .guild-passages{column-count:1}
  .world-book .faith-guild h4{font-size:26px}
}
@media(max-width:400px){.world-book .lore-hero{min-height:540px}.world-book .lore-hero h1{font-size:3.25rem}.world-book .lore-hero p{font-size:15px}.world-book .live-settlement{display:block}.world-book .faith-person figcaption{font-size:19px}}
@media(prefers-reduced-motion:reduce){.world-book .lore-hero-art img,.world-book .lore-hero-weave,.world-book .priest-index img{transform:none!important}.world-book .rebuild-stage{display:none!important}.world-book .rebuild-step-media{display:block!important}.world-book .rebuild-story{display:block!important}.world-book .rebuild-step{min-height:0!important}.world-book .rebuild-stage-images>img{transition:none}}
@media print{.world-book .lore-hero{height:auto;min-height:0;padding:30px}.world-book .lore-hero-copy{position:static}.world-book .lore-hero-art,.world-book .lore-hero-weave,.world-book .lore-hero-shade,.world-book .motion-toggle,.world-book .rebuild-stage{display:none!important}.world-book .rebuild-story{display:block!important}.world-book .rebuild-step{min-height:0!important}.world-book .rebuild-step-media{display:block!important}.world-book .priest-index{display:none}}

.world-book .chapter-nav a{text-decoration:none!important}
.world-book .live-settlements-heading>p{font-size:16px;line-height:1.8;color:#c0d1d8}
.world-book .rebuild-step-picture{position:relative;overflow:hidden}
.world-book .rebuild-step-sky{position:absolute;inset:0 0 72%;background:url('/world/art/sky-weave.svg') center/cover;pointer-events:none;opacity:.65}

.world-page .world-book .priest-index a{text-decoration:none}

/* The first scroll carries the intact sky into the Unraveling on every screen. */
.world-book .lore-opening{position:relative}
.world-book .lore-hero-disaster{position:absolute;inset:0;z-index:-3;display:block;width:100%;height:100%;object-fit:cover;object-position:59% center;opacity:0;pointer-events:none}
html[data-world-motion="on"] .world-book .lore-opening[data-opening-enhanced="on"]{height:175svh}
html[data-world-motion="on"] .world-book [data-opening-enhanced="on"] .lore-hero{position:sticky;top:0;height:100svh;min-height:0;max-height:none}
html[data-world-motion="on"] .world-book [data-opening-enhanced="on"] .lore-hero-copy{bottom:max(110px,12svh)}
.world-book .rebuild-markers{padding:18px 22px}
@media(max-height:650px){html[data-world-motion="on"] .world-book [data-opening-enhanced="on"] .lore-hero h1{font-size:clamp(2.6rem,11svh,4.5rem);margin-bottom:16px}html[data-world-motion="on"] .world-book [data-opening-enhanced="on"] .lore-hero p{line-height:1.5;margin-bottom:12px}html[data-world-motion="on"] .world-book [data-opening-enhanced="on"] .lore-hero-copy{bottom:90px}}
@media(prefers-reduced-motion:reduce){html[data-world-motion="on"] .world-book .lore-opening[data-opening-enhanced="on"]{height:auto}html[data-world-motion="on"] .world-book [data-opening-enhanced="on"] .lore-hero{position:relative}.world-book .lore-hero-disaster{display:none}}
@media print{html[data-world-motion="on"] .world-book .lore-opening[data-opening-enhanced="on"]{height:auto}html[data-world-motion="on"] .world-book [data-opening-enhanced="on"] .lore-hero{position:relative;height:auto}.world-book .lore-hero-disaster{display:none}}

/* Illustrated elemental forms carry the same identity from altars to clergy. */
.world-book .faith-copy{max-width:1040px}
.world-book .god-heading{display:flex;align-items:center;gap:32px;margin:0 0 24px}
.world-book .god-heading .element-graphic{display:block;flex:none;width:220px;height:220px;object-fit:contain;filter:drop-shadow(0 14px 24px #0007)}
.world-book .god-heading>div{min-width:0}
.world-book .shrine-elements>div>img{display:block;width:140px;height:140px;object-fit:contain;margin:0 0 18px -8px;filter:drop-shadow(0 12px 18px #0006)}
@media(max-width:760px){.world-book .god-heading{gap:16px;margin-left:-8px}.world-book .god-heading .element-graphic{width:120px;height:140px}.world-book .god-heading h3{font-size:clamp(34px,8vw,46px)}.world-book .shrine-elements>div>img{width:116px;height:116px;margin-bottom:12px}}
@media(max-width:360px){.world-book .god-heading{gap:10px}.world-book .god-heading .element-graphic{width:100px;height:120px}.world-book .god-heading h3{font-size:34px}}

.world-book .graemor-guilds{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:-15px 0 70px;padding:30px 0;border-block:1px solid #43565d}
.world-book .graemor-guilds article{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:center;gap:20px}
.world-book .graemor-guilds img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 18px #02090a99)}
.world-book .graemor-guilds h4{font:400 25px/1.25 var(--icesus-display);color:#c7bfd5;margin:0 0 16px}
.world-book .graemor-guilds p{font-size:14px;line-height:1.85;color:#bccbd3;margin:0 0 16px}
.world-book .graemor-guilds .text-link{font-size:12px}
@media(max-width:1100px){.world-book .graemor-guilds article{grid-template-columns:110px minmax(0,1fr);gap:16px}}
@media(max-width:760px){.world-book .graemor-guilds{grid-template-columns:1fr;gap:32px;margin:0 0 50px}.world-book .graemor-guilds article{grid-template-columns:100px minmax(0,1fr);gap:18px}.world-book .graemor-guilds p{font-size:14px}}
@media(max-width:520px){.world-book .graemor-guilds article{grid-template-columns:1fr}.world-book .graemor-guilds img{width:180px;margin:auto}.world-book .graemor-guilds p{font-size:15px}}
