/* Original worlds, with the familiar native-scroll presentation. */
.showcase-world{--world-accent:#e8b878;--world-muted:#acb4b0;background:#000}.showcase-monastery{--world-accent:#ead6b0;--world-muted:#bab4ad}.showcase-world .eyebrow{color:var(--world-accent);font-size:.875rem}.showcase-world h2{letter-spacing:-.055em}.showcase-world .landmark-first .landmark-opening h1{max-width:1000px}.showcase-world .landmark-opening .eyebrow{font-size:.8rem}.showcase-world .showcase-button{background:linear-gradient(135deg,#f9dbab,#d4a465);border-color:#ffe7c4;color:#251b0d;box-shadow:0 8px 35px #daa6542b;font-size:1rem;padding:18px 28px;min-height:60px}.showcase-world .showcase-button:hover{box-shadow:0 12px 42px #daa65449}.showcase-world .landmark-stage{background:#080909}.showcase-world .landmark.is-motion .landmark-stage{background:#000}.showcase-world .landmark-finish{grid-template-columns:.82fr 1.25fr;gap:45px}.showcase-world .landmark-copy{max-width:470px}.showcase-world .landmark-copy>p:not(.eyebrow){font-size:1rem;max-width:400px}.showcase-world .landmark-copy .landmark-purchase-note{font-size:.875rem!important}.showcase-still{width:100%;height:auto;max-height:77svh;object-fit:contain;mask-image:radial-gradient(ellipse at 50% 50%,#000 48%,#000d 64%,transparent 78%)}.showcase-world .landmark-model{filter:none}.showcase-world .landmark-film-shade{background:linear-gradient(0deg,#000,transparent 25%,transparent 80%,#0007)}.showcase-logo{width:min(570px,90%);height:auto;max-height:310px;object-fit:contain;margin:30px auto 65px}.showcase-monastery .showcase-logo{width:min(650px,96%)}.showcase-world .guardia-intro-lede{font-size:1.1rem}.showcase-world .guardia-scope span,.showcase-world .landmark-index{font-size:.875rem}.showcase-world .landmark-index a{padding:10px 0}.showcase-world .scene-square .landmark-film{display:grid;place-items:center;mask-image:radial-gradient(ellipse at 50% 50%,#000 40%,transparent 75%)}.showcase-world .scene-square .landmark-film video,.showcase-world .scene-square .landmark-film img{width:min(100%,100svh);height:100%;left:50%;transform:translateX(-50%);object-fit:contain}.showcase-world .showcase-purchase .guardia-pledge-art:after{background:linear-gradient(#000,transparent 40%,#000 99%),#0006}.showcase-world .showcase-purchase{min-height:780px}.showcase-world .showcase-purchase .pledge-details{font-size:.875rem!important}
@media(max-width:1000px){.showcase-world .landmark-finish{gap:25px}.showcase-world .landmark-copy h2{font-size:3.2rem}}
@media(max-width:760px){.showcase-world .landmark-finish{gap:12px}.showcase-world .landmark.is-motion .landmark-finish{padding-block:18px 30px;gap:10px}.showcase-world .landmark-copy h2{font-size:clamp(2.2rem,8.4vw,3.3rem);margin-bottom:14px}.showcase-world .landmark-copy .eyebrow{font-size:.875rem;margin-bottom:12px}.showcase-world .landmark-copy>p:not(.eyebrow){font-size:1rem;line-height:1.65;margin-bottom:16px}.showcase-world .landmark-copy .landmark-purchase-note{font-size:.875rem!important;line-height:1.4;margin:12px 0 0}.showcase-world .landmark-copy .button{font-size:.9375rem;min-height:48px}.showcase-world .landmark-model{height:37%;max-height:330px;width:100%}.showcase-world .landmark-model img{max-height:100%;width:100%;object-fit:contain}.showcase-world .landmark.is-motion .landmark-stage{min-height:750px}.showcase-world .landmark-first .landmark-opening h1{font-size:clamp(3.2rem,12vw,5rem)}.showcase-world .landmark-scroll{font-size:.875rem}.showcase-world .showcase-button{font-size:.9375rem;padding:16px 22px}.showcase-world .scene-wide .landmark-film video{object-fit:contain;mask-image:linear-gradient(transparent,#000 24%,#000 78%,transparent)}.showcase-world .scene-wide .landmark-poster{object-fit:contain}.showcase-logo{margin-bottom:45px}.showcase-world .guardia-intro-lede{font-size:1rem}.showcase-world .guardia-scope{grid-template-columns:1fr}.showcase-world .showcase-purchase{min-height:700px}.showcase-world .showcase-purchase h2{font-size:clamp(2.65rem,10vw,4rem)}}
@media(prefers-reduced-motion:reduce){.showcase-world .landmark-film{display:none}.showcase-world .landmark-model{height:auto}.showcase-world .showcase-button{transition:none}}

/* Product pictures are links; enlargement stays a separate, labeled action. */
.showcase-gallery{padding-block:105px 125px;scroll-margin-top:100px}
.showcase-gallery-intro{max-width:800px;margin-bottom:55px}
.showcase-gallery-intro h2{font-size:clamp(3.3rem,5.8vw,6.4rem);line-height:1.02;margin-bottom:27px;text-wrap:balance}
.showcase-gallery-intro>p:not(.eyebrow){font-size:1.0625rem;line-height:1.8;max-width:570px;margin-bottom:20px}
.showcase-gallery-cta{display:inline-flex;align-items:center;gap:14px;padding-block:12px;color:var(--world-accent);font-size:1rem}
.showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 28px}
.showcase-card{min-width:0}
.showcase-product-art{display:block;position:relative;overflow:hidden;aspect-ratio:1/1.12;border:1px solid #ffffff12;border-radius:18px;background:radial-gradient(ellipse at 50% 65%,#28302c66,transparent 80%),#090b0a}
.showcase-product-art img{width:100%;height:100%;object-fit:contain;transition:transform .6s ease}
.showcase-product-art:hover img{transform:scale(1.025)}
.showcase-art-cue{position:absolute;bottom:14px;right:14px;padding:9px 13px;border:1px solid #ffffff2b;border-radius:30px;background:#111713e8;color:#f9e4c3;font-size:.875rem}
.showcase-card-caption{display:flex;gap:12px;align-items:baseline;padding-top:20px}
.showcase-number{color:#89958b;font-size:.875rem;font-variant-numeric:tabular-nums}
.showcase-card h3{font-size:1.125rem;font-weight:500;letter-spacing:-.025em;line-height:1.45;margin:0}
.showcase-card h3 a:hover{color:var(--world-accent)}
.showcase-enlarge{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#b7c0ba;font-size:.875rem;padding-block:10px}
.showcase-enlarge:hover{color:var(--world-accent)}
.showcase-inclusion{display:table;border:1px solid #d9c39838;border-radius:9px;font-size:.875rem;padding:6px 10px;line-height:1.5;margin:10px 0 0!important;color:#d7c6a9!important;background:#d2b9840a}
.showcase-world a:focus-visible{outline:2px solid #ffe0ab;outline-offset:5px}
.layout-portraits .showcase-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 22px}
.layout-portraits .showcase-product-art,.layout-pair .showcase-product-art{aspect-ratio:4/5}
.layout-pair .showcase-grid,.layout-architecture .showcase-grid,.layout-inhabitants .showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.layout-architecture .showcase-product-art{aspect-ratio:1.3}
.layout-inhabitants .showcase-product-art{aspect-ratio:1.1}
.layout-inhabitants .showcase-card:last-child{grid-column:1/-1}
.layout-inhabitants .showcase-card:last-child .showcase-product-art{aspect-ratio:16/7;background:#000}
.layout-extras{display:grid;grid-template-columns:.7fr 1.4fr;gap:6vw;padding-top:75px;padding-bottom:160px;align-items:start}
.layout-extras .showcase-gallery-intro{position:sticky;top:110px;margin:25px 0 0}
.layout-extras .showcase-gallery-intro h2{font-size:clamp(3rem,4.5vw,5rem)}
.layout-extras .showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 25px}
.layout-extras .showcase-card:nth-child(even){transform:translateY(55px)}
.layout-extras .showcase-product-art{aspect-ratio:1}
.showcase-closing>p:not(.eyebrow){max-width:530px;margin:28px auto 35px;line-height:1.8;font-size:1.0625rem}
.showcase-closing .actions{gap:28px}
/* The ruined render is a second product variant, revealed with an editorial fade. */
.blasphemy{position:relative;background:#000;margin-top:45px}
.blasphemy-heading{text-align:center;padding-block:80px 30px}
.blasphemy-heading h2{font-size:clamp(3.3rem,6.3vw,6.8rem);line-height:1.04;margin-bottom:0}
.blasphemy-art{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.blasphemy-art figure{margin:0;min-width:0;text-align:center}
.blasphemy-art img{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain}
.blasphemy-art figcaption{font-size:1.0625rem;letter-spacing:.07em;color:#e4d2b2;padding:16px}
.blasphemy.is-dissolving{height:185svh}
.blasphemy.is-dissolving .blasphemy-stage{position:sticky;top:0;height:100svh;min-height:620px;display:flex;flex-direction:column;overflow:clip}
.blasphemy.is-dissolving .blasphemy-heading{padding-block:6svh 0;flex-shrink:0}
.blasphemy.is-dissolving .blasphemy-art{position:relative;display:block;flex:1;min-height:0}
.blasphemy.is-dissolving figure{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;pointer-events:none}
.blasphemy.is-dissolving figure img{height:100%;min-height:0;object-fit:contain;mask-image:radial-gradient(ellipse at center,#000 48%,transparent 77%)}
.blasphemy.is-dissolving figure figcaption{position:absolute;bottom:3svh;left:50%;transform:translateX(-50%);border:1px solid #ead6b033;border-radius:30px;background:#090908d9;padding:11px 22px;white-space:nowrap}
.blasphemy.is-dissolving .blasphemy-intact{opacity:calc(1 - var(--ruin-progress,0))}
.blasphemy.is-dissolving .blasphemy-ruined{opacity:var(--ruin-progress,0)}
.blasphemy-note{text-align:center;padding-block:50px 100px}
.blasphemy-note p{max-width:600px;margin:0 auto 30px;font-size:1.0625rem;line-height:1.85}
@media(max-width:1100px){.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-portraits .showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-extras{gap:35px;grid-template-columns:.75fr 1.3fr}.layout-extras .showcase-gallery-intro h2{font-size:3.2rem}.layout-extras .showcase-card h3{font-size:1rem}}
@media(max-width:760px){
 .showcase-world .landmark.is-motion .landmark-stage{min-height:680px}
 .showcase-world .landmark-model{height:34%}
 .showcase-world .landmark-copy>p:not(.eyebrow){line-height:1.6}
 .showcase-world .guardia-interlude>p:last-child{font-size:1rem}
 .showcase-gallery{padding-block:75px 70px}
 .showcase-gallery-intro{margin-bottom:35px}
 .showcase-gallery-intro h2,.layout-extras .showcase-gallery-intro h2{font-size:clamp(2.8rem,10vw,4.1rem)}
 .showcase-gallery-intro>p:not(.eyebrow){font-size:1rem;line-height:1.75}
 .showcase-grid,.layout-portraits .showcase-grid,.layout-extras .showcase-grid{gap:30px 16px}
 .showcase-product-art{border-radius:12px}
 .showcase-art-cue{bottom:9px;right:9px;font-size:.8125rem;padding:7px 9px}
 .showcase-card-caption{gap:8px;padding-top:14px}
 .showcase-number{font-size:.8125rem}
 .showcase-card h3,.layout-extras .showcase-card h3{font-size:1rem}
 .showcase-enlarge,.showcase-inclusion{font-size:.875rem}
 .layout-extras{display:block;padding-bottom:100px}
 .layout-extras .showcase-gallery-intro{position:static;margin:0 0 40px}
 .layout-extras .showcase-card:nth-child(even){transform:translateY(35px)}
 .layout-inhabitants .showcase-card:last-child .showcase-product-art{aspect-ratio:16/9}
 .showcase-closing>p:not(.eyebrow),.blasphemy-note p{font-size:1rem}
 .showcase-closing .actions{flex-direction:column;gap:25px}
 .showcase-closing .showcase-button{font-size:.9375rem}
 .blasphemy-heading{padding-block:60px 25px}
 .blasphemy-heading h2{font-size:clamp(2.8rem,10vw,4.2rem)}
 .blasphemy-art{grid-template-columns:1fr;gap:35px}
 .blasphemy.is-dissolving .blasphemy-stage{min-height:600px}
 .blasphemy.is-dissolving .blasphemy-heading{padding-top:10svh}
 .blasphemy.is-dissolving .blasphemy-art{width:100%}
 .blasphemy-note{padding-block:30px 60px}
}
@media(max-width:420px){.showcase-gallery:not(.layout-extras):not(.layout-portraits) .showcase-grid{grid-template-columns:1fr}.showcase-gallery:not(.layout-extras):not(.layout-portraits) .showcase-product-art{aspect-ratio:1.1}.showcase-card-caption{gap:8px}.showcase-number{display:none}.showcase-inclusion{padding:6px 8px}.showcase-world .landmark-copy h2{font-size:2.2rem}.showcase-world .landmark-copy>p:not(.eyebrow){max-width:100%}}
@media(prefers-reduced-motion:reduce){.showcase-product-art img{transition:none}.showcase-product-art:hover img{transform:none}}

/* Panoramic scenery fills the viewport; a shaded edge keeps the story readable.
   Overscan covers the entire slow camera drift, so no render rectangle appears. */
.showcase-world .scene-panorama .landmark-finish{width:100%;max-width:none;margin:0;display:flex;align-items:center;isolation:isolate;min-height:100svh;padding:100px max(56px,calc((100vw - 1400px)/2))}
.showcase-world .scene-panorama.is-motion .landmark-finish{min-height:0;padding-block:6svh}
.showcase-world .scene-panorama .landmark-model{position:absolute;inset:-8% -3% -14%;width:auto;height:auto;max-width:none;max-height:none;z-index:-1;display:block}
.showcase-world .scene-panorama .showcase-still{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:62% 50%;mask-image:none}
.showcase-world .scene-panorama .landmark-model:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000f 3%,#000e 20%,#000b 37%,#0003 62%,transparent 83%),linear-gradient(0deg,#000 2%,transparent 29%,transparent 72%,#000 98%)}
.showcase-world .scene-panorama.is-motion[data-reveal-drift] .landmark-model{transform:translate3d(0,calc(var(--model-drift-y,0px)/4),0)}
.showcase-world .scene-panorama .landmark-copy{max-width:470px;text-shadow:0 2px 24px #0008}
.showcase-world .scene-panorama .landmark-copy>p:not(.eyebrow){color:#d1d5d2}
.showcase-world .showcase-gallery-intro.guardia-reading{position:relative}
.showcase-world .showcase-gallery-intro .guardia-reading-content>p:not(.eyebrow){font-size:1.0625rem;line-height:1.8;max-width:570px;margin-bottom:20px}
.showcase-trolls .layout-portraits .showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 32px}
.showcase-trolls .layout-portraits .showcase-product-art{aspect-ratio:1}
@media(max-width:1000px){.showcase-world .scene-panorama .landmark-finish{padding-inline:32px}}
@media(max-width:760px){
 .showcase-world .scene-panorama .landmark-finish{padding:340px 20px 55px;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:900px}
 .showcase-world .scene-panorama.is-motion .landmark-finish{padding:20px 20px 40px;min-height:0}
 .showcase-world .scene-panorama .landmark-model{width:auto;height:auto;max-height:none}
 .showcase-world .scene-panorama .showcase-still{object-fit:cover;object-position:64% 30%;width:100%;height:100%}
 .showcase-world .scene-panorama .landmark-model:after{background:linear-gradient(0deg,#000 3%,#000f 15%,#000c 39%,#0004 65%,#0003 85%,#000 99%)}
 .showcase-world .scene-panorama .landmark-copy{max-width:500px}
 .showcase-world .showcase-gallery-intro .guardia-reading-content>p:not(.eyebrow){font-size:1rem;line-height:1.75}
 .showcase-world .guardia-interlude .guardia-reading-content>p:last-child{font-size:1rem}
 .showcase-trolls .layout-portraits .showcase-grid{gap:35px 20px}
}
@media(max-width:560px){.showcase-trolls .layout-portraits .showcase-grid{grid-template-columns:1fr}}

/* The demon shares the same card dimensions as the monk groups. */
.showcase-monastery .layout-inhabitants .showcase-card:last-child{grid-column:auto}
.showcase-monastery .layout-inhabitants .showcase-card:last-child .showcase-product-art{aspect-ratio:1.1;background:radial-gradient(ellipse at 50% 65%,#28302c66,transparent 80%),#090b0a}
/* Let the longer cathedral shot reach its open interior before the still arrives. */
.showcase-monastery #monastery-cathedral.is-motion[data-reveal-drift]{height:calc(440svh + var(--reveal-drift-height))}
@media(max-width:760px){.showcase-monastery #monastery-cathedral.is-motion[data-reveal-drift]{height:calc(415svh + var(--reveal-drift-height))}}
