/* Public additions; existing players and map gestures keep their styles. */
.series-page .series-purpose-title{max-width:1000px;margin:12px auto 22px;color:var(--gold-light);font:400 42px/1.2 Cormorant Garamond,Georgia,serif;letter-spacing:0;text-wrap:balance}
.series-page .series-purpose-lede{max-width:720px;margin:0 auto 28px;color:var(--mist);font:400 17px/1.7 var(--sans)}
@media(max-width:600px){.series-page .series-purpose-title{font-size:29px}.series-page .series-purpose-lede{font-size:16px}}
html.home-discovery{--home-background:#06100a;--home-action:linear-gradient(110deg,var(--gold),var(--gold-light),var(--gold))}
html.home-discovery body{background:var(--home-background)}
.world-home .hero-actions .primary{background:var(--home-action);color:var(--deep);border-radius:8px;letter-spacing:0;text-transform:none;font-size:16px}
.home-lore-detail{width:100%;margin:30px 0}
.home-lore-detail img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;border-radius:8px}
:root { --world-caption:color-mix(in srgb,var(--deep) 96%,transparent); --world-soft-text:color-mix(in srgb,var(--mist) 78%,transparent); --world-caption-shade:linear-gradient(transparent,var(--world-caption)); --legend-gold-lettering:linear-gradient(110deg,var(--gold),var(--gold-light) 42%,var(--gold) 70%,var(--gold-light)); }
.world-legend { border-block:1px solid var(--line); }
.legend-heading { max-width:780px; margin:0 auto 32px; text-align:center; }
.legend-heading h2 { margin:0; font:400 2.8rem/1.2 Georgia,serif; letter-spacing:0; color:var(--gold-light); text-wrap:balance; }
@supports (background-clip:text) { .legend-heading h2 { background:var(--legend-gold-lettering); background-clip:text; -webkit-background-clip:text; color:transparent; } }
.legend-art { width:100%; max-width:1100px; margin:0 auto 40px; }
.legend-art img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; border-radius:8px; }
.legend-narrative { max-width:680px; margin-inline:auto; font:400 1.05rem/1.85 var(--sans); color:var(--world-soft-text); }
.legend-narrative p { margin:0 0 22px; }
.legend-narrative strong { font-weight:700; color:var(--mist); }
.legend-chapter+.legend-chapter { margin-top:36px; padding-top:30px; border-top:1px solid var(--line); }
.legend-narrative .legend-refrain { font:400 1.6rem/1.5 Georgia,serif; }
.legend-refrain strong { color:var(--gold-light); font-weight:400; }
.legend-crafts { padding-left:22px; border-left:2px solid var(--gold); }
.legend-crafts span { display:block; margin-block:8px; }
.legend-crafts strong { color:var(--gold-light); }
.legend-narrative .legend-closing { margin:36px 0 0; padding-top:28px; border-top:1px solid var(--line); font:400 1.4rem/1.6 Georgia,serif; text-align:center; }
.legend-closing strong { color:var(--gold-light); }
@media(max-width:700px) { .legend-heading h2 { font-size:1.9rem; }.legend-heading { margin-bottom:24px; }.legend-art { margin-bottom:28px; }.legend-narrative { font-size:1rem; line-height:1.8; }.legend-narrative .legend-refrain { font-size:1.4rem; }.legend-crafts { padding-left:16px; }.legend-chapter+.legend-chapter { margin-top:28px; padding-top:24px; }.legend-narrative .legend-closing { font-size:1.3rem; } }
.world-home .hero-copy h1 { font-size:3.3rem; line-height:1.08; letter-spacing:0; }
.world-home .world-hero { min-height:auto; padding-block:52px; gap:44px; }
.world-home .hero-actions { gap:10px; }
.world-home .hero-how { flex-basis:100%; justify-content:center; max-width:430px; min-height:52px; }
.world-home .hero-story-button { font-size:.75rem; padding:12px 15px; min-height:44px; }
.hero-entry-note { max-width:440px; font:400 .78rem/1.6 var(--sans); color:var(--world-soft-text); margin:12px 0 0; }
.world-doorways { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:0 auto 36px; max-width:1100px; }
.world-doorway { position:relative; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--panel); }
.world-doorway img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.world-doorway figcaption { position:relative; margin-top:-58px; padding:64px 24px 24px; background:var(--world-caption-shade); }
.world-doorway h3 { margin:0 0 12px; color:var(--gold-light); font-weight:400; font-size:1.9rem; line-height:1.15; letter-spacing:0; }
.world-doorway .eyebrow { font-size:.62rem; letter-spacing:0; }
.world-doorway figcaption>p { margin:0; font:400 .9rem/1.65 var(--sans); color:var(--world-soft-text); }
.world-access-banner { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:center; gap:28px; margin:38px auto; padding:24px; border-block:1px solid var(--gold); background:var(--panel); color:var(--mist); }
.world-access-banner>img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; border-radius:8px; }
.world-access-banner h2 { margin:0 0 12px; font-size:1.9rem; line-height:1.15; font-weight:400; letter-spacing:0; }
.world-access-banner p:not(.eyebrow) { margin:0 0 16px; color:var(--world-soft-text); font:400 .9rem/1.6 var(--sans); }
.world-access-banner .world-banner-entry { font-size:.78rem; }
.world-access-banner .eyebrow { font-size:.62rem; letter-spacing:0; }
.world-access-banner .primary { max-width:100%; white-space:normal; text-align:center; justify-content:center; line-height:1.5; }
.world-faq>h2,.world-entry-transition>h2 { margin:0 0 24px; font-size:2.7rem; font-weight:400; line-height:1.12; letter-spacing:0; }
.world-entry-transition { text-align:center; max-width:880px; }
.world-entry-transition>p:not(.eyebrow) { font:400 1rem/1.8 var(--sans); color:var(--world-soft-text); margin:0 0 24px; }
.world-faq details { border-top:1px solid var(--line); padding:0; }
.world-faq details:last-child { border-bottom:1px solid var(--line); }
.world-faq summary { position:relative; padding:22px 36px 22px 0; cursor:pointer; font:400 1.2rem/1.45 Georgia,serif; color:var(--gold-light); list-style:none; }
.world-faq summary::-webkit-details-marker { display:none; }
.world-faq summary::after { content:'+'; position:absolute; right:6px; top:22px; }
.world-faq details[open] summary::after { content:'−'; }
.world-faq details>p { max-width:850px; padding:0 0 26px; margin:0; color:var(--world-soft-text); font:400 .95rem/1.8 var(--sans); }
.world-faq details>p strong { font-weight:700; color:var(--mist); }
.world-faq summary:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
.world-map-lore { max-width:620px; margin:8px auto 20px; text-align:center; font:400 .84rem/1.6 var(--sans); color:var(--world-soft-text); }
.map-dock #map-instructions { max-width:280px; }
.series-discovery-label { font:700 .66rem/1.5 var(--sans); color:var(--gold-light); }
.story-world-visual { max-width:1100px; margin:0 auto 34px; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--panel); }
.story-world-visual img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.story-world-visual figcaption { padding:16px 20px; color:var(--world-soft-text); font:400 .86rem/1.6 var(--sans); text-align:center; }
.two-ways { max-width:1100px; margin:52px auto 0; }
.two-ways-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.two-ways-grid article { border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--panel); }
.two-ways-art { position:relative; aspect-ratio:16/9; background:var(--deep); border-bottom:1px solid var(--line); overflow:hidden; }
.two-ways-art img { position:absolute; top:50%; left:0; width:200%; height:auto; transform:translateY(-50%); }
.two-ways-art[data-future-art="two-ways-series"] img { transform:translateY(-50%); }
.two-ways-art[data-future-art]{aspect-ratio:836/941}
.two-ways-art[data-future-art="two-ways-world"] img { left:auto; right:0; }
.story-explainer { max-width:860px; margin:0 auto 40px; padding:0 20px; }
.story-explainer-chapter { margin:0 0 18px; }
.story-explainer-chapter p { margin:0 0 12px; color:var(--world-soft-text); font:400 .95rem/1.8 var(--sans); }
.story-explainer-chapter strong { color:var(--gold-light); font-weight:700; }
.story-explainer-chapter .story-refrain { font:400 1.05rem/1.6 var(--sans); }
.two-ways-grid article>div:last-child { padding:24px; }
.two-ways-grid h3 { margin:8px 0 12px; color:var(--gold-light); font-size:1.8rem; line-height:1.15; font-weight:400; letter-spacing:0; }
.two-ways-grid article>div>p:not(.eyebrow) { min-height:5.2em; margin:0 0 18px; color:var(--world-soft-text); font:400 .9rem/1.7 var(--sans); }
.two-ways-grid a { color:var(--gold-light); font:700 .75rem/1.5 var(--sans); text-transform:uppercase; text-decoration:none; }
.world-home .steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:1000px) { .world-home .hero-copy h1 { font-size:2.7rem; }.world-home .world-hero { grid-template-columns:minmax(0,1fr); padding-block:32px; }.world-home .hero-map { max-width:660px; margin-inline:auto; } }
@media(max-width:700px) {
 .world-home .hero-copy h1 { font-size:1.8rem; line-height:1.15; }
 .world-home .hero-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
 .world-home .hero-how { grid-column:1/-1; max-width:none; }
 .world-home .hero-story-button { font-size:.7rem; padding:10px 8px; }
 .world-home .concept-line { flex-wrap:wrap; gap:10px; margin-top:18px; letter-spacing:0; }.world-home .concept-line b+b::before { margin-right:10px; }
 .world-doorways { grid-template-columns:minmax(0,1fr); gap:20px; }.world-doorway figcaption { padding:52px 18px 22px; }.world-doorway h3 { font-size:1.7rem; }
 .world-access-banner { grid-template-columns:minmax(0,1fr); gap:18px; padding:20px 16px; }.world-access-banner>img { aspect-ratio:auto; }.world-access-banner h2 { font-size:1.65rem; }.world-access-banner .primary { width:100%; font-size:.7rem; gap:8px; }
 .two-ways-grid,.world-home .steps { grid-template-columns:minmax(0,1fr); }.two-ways-grid article>div>p:not(.eyebrow) { min-height:0; }.story-world-visual figcaption { text-align:left; }

  .world-faq>h2,.world-entry-transition>h2 { font-size:2rem; }.world-faq summary { font-size:1.08rem; }
}

/* Studios explanation between the existing lore and the series. */
.studios-section { max-width:1080px; margin:0 auto; padding:clamp(50px,8vw,100px) 20px clamp(30px,5vw,56px); text-align:center; }
.studios-brand { display:inline-flex; flex-direction:column; align-items:center; gap:9px; }
.studios-brand img { width:min(340px,76vw); height:auto; }
.studios-brand span { color:var(--gold-light); font:700 1.05rem/1 var(--sans); letter-spacing:0; text-transform:uppercase; }
.studios-lede { max-width:620px; margin:24px auto 32px; color:var(--world-soft-text); font:400 .95rem/1.7 var(--sans); }
.studios-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; text-align:left; }
.studios-card { display:flex; flex-direction:column; min-width:0; gap:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--panel); }
.studios-card>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--deep)}
.studios-card>div{display:flex;flex:1;flex-direction:column;gap:14px;padding:24px 22px}
.studios-card a{margin-top:auto;padding-top:8px;color:var(--gold-light);font:700 .8rem/1.5 var(--sans);text-decoration:none}
.studios-card a:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}
.studios-section .story-world-visual{margin-top:36px;margin-bottom:0}
.home-entertainment{max-width:1080px;margin:auto}
.home-entertainment-table{width:100%;border-collapse:collapse;table-layout:fixed;color:var(--world-soft-text);font:400 .95rem/1.7 var(--sans)}
.home-entertainment-table th,.home-entertainment-table td{padding:20px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.home-entertainment-table th{color:var(--gold-light);font-weight:600}
.home-entertainment-table th:first-child{width:22%}
.home-entertainment-table thead th{font:400 1.3rem/1.4 Georgia,serif;vertical-align:bottom}
.home-entertainment-table img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;margin-bottom:16px;border-radius:4px}
.home-entertainment-table td:last-child{background:var(--panel)}
@media(max-width:600px){.home-entertainment-table{font-size:.8rem;line-height:1.55}.home-entertainment-table th,.home-entertainment-table td{padding:12px 7px}.home-entertainment-table thead th{font-size:1rem}.home-entertainment-table th:first-child{width:23%}}
.studios-card:hover,.studios-card:focus-visible { transform:translateY(-3px); border-color:var(--gold); box-shadow:0 14px 36px var(--line); }
.studios-card h3 { margin:0; color:var(--gold-light); font-size:1.35rem; line-height:1.2; font-weight:400; }
.studios-card p { margin:0; color:var(--world-soft-text); font:400 .88rem/1.65 var(--sans); }
.studios-card span { margin-top:auto; padding-top:8px; color:var(--gold); font:700 .7rem/1 var(--sans); letter-spacing:.12em; text-transform:uppercase; }
@media(max-width:900px){ .studios-grid { grid-template-columns:minmax(0,1fr); } }

/* Reserved artwork areas contain no unapproved imagery; captions stay in normal flow. */
.world-art-slot { width:100%; aspect-ratio:3/2; min-width:0; background:var(--deep); border-bottom:1px solid var(--line); }
.world-doorway-pending figcaption { margin-top:0; padding:24px; background:var(--panel); }
.world-art-landscape { aspect-ratio:21/9; border:1px solid var(--line); border-radius:8px; margin-bottom:32px; }
@media(max-width:700px) { .world-doorway-pending .world-art-slot { aspect-ratio:16/9; }.world-doorway-pending figcaption { padding:20px 18px; }.world-art-landscape { aspect-ratio:16/9; } }
/* Full-width banner with in-image CTA, copy section below */
.world-access-banner { grid-template-columns:minmax(0,1fr) !important; gap:0 !important; padding:0 !important; max-width:1100px; border:1px solid var(--gold); border-radius:10px; overflow:hidden; }
.world-banner-art { position:relative; display:block; line-height:0; }
.world-access-banner .world-banner-art>img { border-radius:0; width:100%; height:auto; }
.world-banner-art-cta { position:absolute; right:3%; bottom:8%; display:inline-flex; align-items:center; gap:8px; padding:12px 22px; border-radius:999px; line-height:1.2; background:linear-gradient(135deg,#8c7038,#e0c48c 55%,#8c7038); color:var(--deep); font:700 .78rem/1.2 var(--sans); letter-spacing:.06em; text-transform:uppercase; box-shadow:0 6px 22px rgba(0,0,0,.45); transition:transform .2s; }
.world-banner-art:hover .world-banner-art-cta,.world-banner-art:focus-visible .world-banner-art-cta { transform:translateY(-2px); }
.world-banner-art:focus-visible { outline:2px solid var(--gold-light); outline-offset:-4px; }
.world-banner-copy { padding:28px 32px 32px; text-align:center; max-width:760px; margin:0 auto; }
@media(max-width:700px){ .world-banner-art-cta { right:50%; transform:translateX(50%); bottom:6%; padding:8px 14px; font-size:.6rem; } .world-banner-art:hover .world-banner-art-cta { transform:translateX(50%); } .world-banner-copy { padding:20px 16px 24px; } }

/* Five Lands craft blocks: 3 + 2 on desktop, stacked on mobile */
.craft-thread { color:var(--gold-light,#e0c48c); font:700 .82rem/1.6 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.craft-card h3 { font-size:clamp(1.5rem,2.4vw,2rem) !important; line-height:1.2; margin:6px 0 12px !important; }
.craft-card .craft-label, .craft-grid .craft-card>span { display:block; margin:0 0 4px; }
.craft-card .craft-label img, .craft-grid .craft-card>span img { display:block; width:100%; max-width:100%; height:96px; aspect-ratio:auto; object-fit:contain; object-position:center; }
.land-card.craft-card>div>p:not(.craft-label) { color:rgba(232,238,232,.78); font:400 .95rem/1.7 var(--sans); margin:0 0 18px; }
.craft-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 18px; border:1px solid var(--gold-light,#e0c48c); border-radius:999px; color:var(--gold-light,#e0c48c); font:700 .85rem/1 var(--sans); text-decoration:none; }
.craft-link:hover,.craft-link:focus-visible { background:rgba(224,196,140,.12); }
.sales-page .mini-land-grid.craft-grid { grid-template-columns:repeat(6,1fr); gap:20px; }
.sales-page .craft-grid .craft-card { grid-column:span 2; scroll-margin-top:96px; }
.sales-page .craft-grid .craft-card:nth-child(4) { grid-column:2/span 2; }
.sales-page .craft-grid img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
.sales-page .craft-grid summary { min-height:44px; }
.craft-deep { margin:0 0 8px; }
.craft-deep dt { margin-top:12px; color:var(--gold-light,#e0c48c); font:700 .74rem/1.4 var(--sans); letter-spacing:.1em; text-transform:uppercase; }
.craft-deep dd { margin:4px 0 0; font:400 .9rem/1.65 var(--sans); color:rgba(232,238,232,.8); }
@media(max-width:900px){ .sales-page .mini-land-grid.craft-grid { grid-template-columns:1fr; } .sales-page .craft-grid .craft-card,.sales-page .craft-grid .craft-card:nth-child(4){ grid-column:auto; } }
.sales-page .craft-grid { align-items:start; }
.sales-page .craft-grid .craft-card>span { padding:18px 24px 0; }
.sales-page .craft-grid .craft-card>h3 { padding:0 24px; }
.sales-page .craft-grid .craft-card>p, .sales-page .craft-grid .craft-card>details { margin-left:24px; margin-right:24px; padding-left:0; padding-right:0; }

/* Original Aura scenes and gold lettering have separate uncropped frames. */
.land-card.craft-card>img.craft-art, .sales-page .craft-grid img.craft-art { display:block; width:100%; height:auto; aspect-ratio:1365/768; object-fit:contain; object-position:center; padding:0; box-sizing:border-box; background:transparent; }

/* Homepage closing action: one free-experience button directly above the shared footer, shimmering like the other gold calls to action. */
.home-free-cta { text-align:center; padding-bottom:clamp(30px,4vw,52px); }
.home-free-cta .hero-actions { justify-content:center; }
.home-free-cta .primary { position:relative; overflow:hidden; }
.home-free-cta .primary::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 30%,rgba(255,250,235,.65) 50%,transparent 70%); transform:translateX(-120%); animation:home-free-cta-shimmer 5.2s ease-in-out infinite; pointer-events:none; }
@keyframes home-free-cta-shimmer { 0%,35% { transform:translateX(-120%); } 75%,100% { transform:translateX(120%); } }
@media (prefers-reduced-motion: reduce) { .home-free-cta .primary::after { animation:none; opacity:0; } }
