/* Image-led introductions use document scrolling; original reading anchors stay intact. */
html:has(body.site-home),html:has(body.site-illustrated-reader),html:has(body.site-art-404){height:auto}
body.site-one-screen:is(.site-home,.site-illustrated-reader,.site-art-404){height:auto;min-height:100svh;display:flex;flex-direction:column}
:is(.site-home,.site-illustrated-reader,.site-art-404) .site-global-header{height:auto;min-height:72px}
:is(.site-home,.site-illustrated-reader,.site-art-404) .site-global-footer{height:auto;min-height:68px;padding:18px 0!important}
:is(.site-home,.site-illustrated-reader,.site-art-404) .site-global-footer__inner,:is(.site-home,.site-illustrated-reader,.site-art-404) .site-global-footer nav{flex-wrap:wrap;gap:14px}
.site-illustrated-reader .one-screen-main{display:block;padding:32px 0 44px}
.site-illustrated-reader .one-screen-deck{height:auto;display:flex;flex-direction:column;gap:28px}
.site-illustrated-reader .illustrated-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,260px);gap:32px;align-items:center}
.illustrated-intro-copy{min-width:0}
.site-illustrated-reader .one-screen-intro h1{font-size:clamp(28px,4vw,44px)!important}
.site-illustrated-reader .one-screen-lead{font-size:18px!important;line-height:1.6!important;max-width:65ch}
.site-illustrated-reader .one-screen-actions{margin-top:18px;flex-wrap:wrap}
.site-illustrated-reader .screen-panels{height:auto;min-height:300px}
.site-illustrated-reader .screen-panel{height:auto;min-height:300px;position:relative;gap:24px}
.site-illustrated-reader .screen-panel__content{max-width:76ch;gap:14px}
.site-illustrated-reader .screen-block{font-size:18px!important;line-height:1.65!important}
.site-illustrated-reader .screen-pager{position:static}
.page-art{margin:0;min-width:0}
.page-art>a{display:block;border-radius:8px;background:#f2f8fc;overflow:hidden}
.page-art img{display:block!important;width:100%!important;height:auto!important;max-height:350px!important;object-fit:contain!important;margin:0!important;border:0!important}
.page-art figcaption{font-size:14px;line-height:1.4;color:#46596b;margin-top:9px}
.page-art a:focus-visible,[data-art-zoom]:focus-visible{outline:3px solid #087bb0;outline-offset:4px}
.art-dialog{width:min(1400px,96vw);max-width:96vw;height:min(950px,94dvh);max-height:94dvh;padding:16px;border:1px solid #b5c7d4;border-radius:10px;background:#fff}
.art-dialog::backdrop{background:#0b1f3acc}
.art-dialog[open]{display:flex;flex-direction:column;gap:12px}
.art-dialog button{align-self:flex-end;min-height:44px;padding:9px 15px;background:#fff8dc;border:1px solid #786524;border-radius:5px;color:#0b1f3a;font:700 16px var(--site-font-family);cursor:pointer}
.art-dialog img{width:100%;height:calc(100% - 60px);min-height:0;object-fit:contain}
.site-art-404 .not-found-main{width:min(960px,calc(100% - 36px));display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,300px);gap:32px;padding:40px 0}
.site-art-404 .not-found-card{min-width:0}
.site-art-404 .not-found-card h1{font-size:clamp(28px,4vw,42px)}
/* Homepage: a legible hero and three illustrated entry points, never a text overlay. */
.site-home .home-main{display:block;width:min(1180px,calc(100% - 48px));padding:36px 0 54px}
.site-home .home-screen-panels,.site-home .home-screen-panel{height:auto;position:static;display:block}
.site-home .home-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center;background:#fff;border:0;overflow:visible}
.site-home .home-hero__copy{position:static;background:transparent;border:0;padding:0}
.site-home .home-hero__art{display:block;min-width:0;border-radius:10px;overflow:hidden;background:#e6f6ff}
.site-home .home-hero__image{position:static;width:100%!important;height:auto!important;object-fit:contain!important;display:block}
.site-home .home-hero__kicker{font-size:15px;line-height:1.4;letter-spacing:.06em!important}
.site-home .home-hero h1{font-size:clamp(42px,5vw,64px);line-height:1.07;margin:16px 0}
.home-promise{font-size:clamp(25px,3vw,35px);line-height:1.2;font-weight:900;color:#a31e22;margin:0 0 20px}
.site-home .home-hero__lead{font-size:20px;line-height:1.6;font-weight:500;max-width:48ch}
.site-home .home-hero__credit{font-size:15px;line-height:1.6;margin-top:22px}
.site-home .home-hero__actions{position:static;display:flex;flex-wrap:wrap;margin-top:24px;gap:12px}
.site-home .home-action{font-size:17px;min-height:48px;padding:12px 18px}
.home-explore{margin:48px 0 0}
.home-explore>h2,.home-world h2{font-size:30px;line-height:1.2;margin:0 0 24px;color:#0b1f3a}
.site-home .home-paths{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;background:transparent;border:0}
.home-entry{min-width:0;border-bottom:3px solid #f0c44b;padding-bottom:20px}
.home-entry__art{display:block;background:#edf8ff;overflow:hidden;border-radius:8px}
.home-entry__art img{display:block;width:100%;height:250px;object-fit:contain}
.home-entry h3{font-size:24px;margin:18px 0 10px}
.home-entry p{font-size:17px;line-height:1.65;color:#46596b;margin:0 0 16px}
.home-entry__link{display:inline-flex;align-items:center;min-height:44px;color:#a31e22!important;font-size:17px;font-weight:800;text-underline-offset:4px}
.home-world{margin-top:44px;border-left:4px solid #e2ba36;padding:24px;background:#f3faff}
.home-world p{font-size:18px;line-height:1.65;max-width:76ch}
.home-world nav{display:flex;flex-wrap:wrap;gap:12px 24px}
.home-world nav a{min-height:44px;display:inline-flex;align-items:center;font-weight:800;color:#a31e22}
@media(max-width:700px){
.site-home .home-main{width:calc(100% - 36px);padding:22px 0 32px}
.site-home .home-hero{grid-template-columns:1fr;gap:24px}
.site-home .home-hero__art{grid-row:2}
.site-home .home-hero__lead{font-size:18px}
.site-home .home-paths{grid-template-columns:1fr;gap:28px}
.home-entry__art img{height:260px}.home-explore{margin-top:32px}
.site-illustrated-reader .illustrated-intro{grid-template-columns:1fr;gap:24px}
.illustrated-intro .page-art{max-width:260px;justify-self:center}
.site-illustrated-reader .one-screen-main{width:calc(100% - 36px)}
.site-art-404 .not-found-main{grid-template-columns:1fr;gap:24px}
.site-art-404 .page-art{max-width:240px;justify-self:center}
.site-illustrated-reader .screen-panel__content{padding-left:12px}
}
@media print{.page-art,.art-dialog{display:none!important}}

.natural-intro.illustrated-intro{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:32px;align-items:start}
@media(max-width:700px){.natural-intro.illustrated-intro{grid-template-columns:1fr}}

@media(max-width:700px){:is(.site-home,.site-illustrated-reader,.site-art-404) .site-global-footer__inner{display:flex!important;flex-direction:column!important;align-items:flex-start!important}:is(.site-home,.site-illustrated-reader,.site-art-404) .site-global-footer nav{width:100%!important;max-width:100%;margin:0!important;justify-content:flex-start!important}}

:is(.site-home,.site-illustrated-reader,.site-art-404) .site-global-footer__inner{height:auto!important;flex-wrap:nowrap!important}

.illustrated-intro .page-art{width:100%}

/* Keep enlarged text readable instead of forcing the brand or hero beyond the viewport. */
:is(.site-home,.site-illustrated-reader,.site-art-404) .site-global-brand{min-width:0;white-space:normal}
:is(.site-home,.site-illustrated-reader,.site-art-404) .site-global-brand>span{min-width:0;overflow-wrap:anywhere}
:is(.site-home,.site-illustrated-reader,.site-art-404) .site-global-menu{flex-shrink:0}
:is(.site-home,.site-illustrated-reader,.site-art-404) main{overflow-wrap:anywhere}
.site-home .home-hero__copy{min-width:0}
.site-home .home-action{max-width:100%}
[data-natural-reader][data-illustrated-reader]{overflow-wrap:anywhere}
body:has(>main[data-natural-reader][data-illustrated-reader]) .site-global-header{height:auto;min-height:72px}
body:has(>main[data-natural-reader][data-illustrated-reader]) .site-global-brand{min-width:0;white-space:normal}
body:has(>main[data-natural-reader][data-illustrated-reader]) .site-global-brand>span{min-width:0;overflow-wrap:anywhere}
body:has(>main[data-natural-reader][data-illustrated-reader]) .site-global-menu{flex-shrink:0}
[data-natural-reader][data-illustrated-reader] .natural-toolbar label{display:flex;flex-wrap:wrap;min-width:0;gap:8px}
[data-natural-reader][data-illustrated-reader] .natural-toolbar select{min-width:0;max-width:100%}
@media(max-width:700px){.site-home .home-hero,.site-home .home-paths,.site-illustrated-reader .illustrated-intro,.natural-intro.illustrated-intro,.site-art-404 .not-found-main{grid-template-columns:minmax(0,1fr)}}
