/* Compact photographic headers for the library's resource and utility pages. */
.page-hero-visual{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center;padding:34px 0 46px}
.page-hero-visual .page-hero-copy{min-width:0}
.page-hero-visual h1{font-size:clamp(2.5rem,4.8vw,4.75rem);max-width:720px}
.page-hero-visual .intro{font-size:1.04rem;max-width:57ch;margin-bottom:0;color:var(--muted)}
.page-hero-visual .eyebrow{margin-bottom:15px}
.page-photo{margin:0;background:var(--white);border:1px solid var(--line);box-shadow:8px 8px 0 var(--light);min-width:0;overflow:hidden}
.page-photo>img{display:block;width:100%;height:290px;object-fit:cover}
.page-photo figcaption{padding:14px 17px;font-size:.78rem;line-height:1.55;color:var(--ink)}
.page-photo figcaption>span{display:block;margin-top:6px;font-size:.73rem;color:var(--muted)}
.page-photo figcaption a{color:var(--dark);text-decoration-thickness:1px}
.page-photo figcaption a:hover{text-decoration-thickness:2px}
.resource-grid{gap:24px}
.resource-grid .resource{border-top:3px solid var(--accent);background:var(--white)}
@media(max-width:900px){.page-hero-visual{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}.page-hero-visual h1{font-size:clamp(2.3rem,5vw,3.6rem)}.page-photo>img{height:260px}}
@media(max-width:760px){.page-hero-visual{grid-template-columns:1fr;gap:25px;padding:24px 0 36px}.page-hero-visual h1{font-size:clamp(2.5rem,8vw,3.8rem)}.page-hero-visual .intro{font-size:1rem}.page-photo{box-shadow:5px 5px 0 var(--light)}.page-photo>img{height:auto;aspect-ratio:16/9;max-height:290px;object-fit:cover}.page-photo figcaption{padding:12px 15px}.page-photo figcaption>span{font-size:.72rem}}
@media print{.page-hero-visual{display:block;padding:0}.page-hero-visual h1{font-size:26pt}.page-photo{display:none}.resource-grid .resource{border-color:#aaa;background:white}}
.game-page-heading{padding:22px 0 26px}.game-page-heading h1{font-size:clamp(2.8rem,5.5vw,4.8rem);margin-top:.15em}.game-page-heading .eyebrow{margin-bottom:12px}.game-page-heading .intro{max-width:65ch;margin-bottom:0;color:var(--muted)}
.game-promo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px;align-items:center;padding:36px;background:var(--light);border:1px solid var(--line)}.game-promo h2{font-size:clamp(2rem,3.5vw,3.1rem)}.game-promo p{color:var(--ink)}.game-promo .small{margin:15px 0 0}.game-promo-art{display:block;background:var(--dark);color:var(--white);text-decoration:none;overflow:hidden;border:1px solid var(--dark)}.game-promo-art img{display:block;width:100%;height:auto;min-height:180px;object-fit:cover}.game-promo-art span{display:block;padding:17px;font-size:.8rem;font-weight:700;letter-spacing:.09em;text-align:center;color:var(--white)}.game-promo-art:hover span{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.game-promo{grid-template-columns:1fr;gap:24px;padding:24px}.game-promo-art{order:-1}.game-promo-art img{min-height:0}.game-page-heading{padding:16px 0 24px}.game-page-heading .intro{font-size:1rem}}
@media print{.game-promo{display:block;background:white;padding:0}.game-promo-art{display:none}.game-page-heading{padding:0}.game-page-heading h1{font-size:26pt}}

.game-reading{border-top:1px solid var(--line)}.game-reading-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0;list-style:none;counter-reset:lesson}.game-reading-list>li{counter-increment:lesson;border:1px solid var(--line);background:var(--light);padding:25px;color:var(--ink)}.game-reading-list h3::before{content:counter(lesson,decimal-leading-zero) " / ";color:var(--dark)}.game-reading-list p{color:var(--ink)}.game-reading-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.game-reading-links a{color:var(--dark);text-decoration:underline;text-underline-offset:3px}.game-reading-list>li:last-child{grid-column:1/-1}@media(max-width:760px){.game-reading-list{grid-template-columns:1fr}.game-reading-list>li{padding:22px}}
@media print{.game-page-heading,.game-faqs,.game-reading{display:none!important}}
