/* Homepage only. Navigation, footer and other pages retain their shared styles. */
.home-page .wrap{padding:30px 0}
.home-page h3{font-size:1.15rem;line-height:1.35;margin:0 0 8px}
.home-page article p{margin:0}
.home-page .home-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:46px;align-items:center;padding-top:32px;padding-bottom:30px}
.home-hero-copy{display:grid;gap:22px;justify-items:start;min-width:0}
.home-hero-copy h1{font-size:clamp(36px,3.4vw,48px);line-height:1.12}
.home-hero-copy p{font-size:1.12rem;margin:0;max-width:620px}
.home-hero-visual{margin:0;min-width:0;justify-self:center;width:100%;max-width:420px}
.home-hero-visual img{display:block;width:100%;height:auto;max-height:500px;object-fit:contain}
.home-page figcaption{color:var(--muted);font-size:.78rem;line-height:1.4;margin-top:8px}
.home-hero-visual figcaption{text-align:center}
.home-page .section-head{margin-bottom:20px}
.home-page .section-head h2{margin:0;font-size:clamp(26px,2.4vw,34px)}
.home-page .section-head p{margin:0}
.home-maps-feature{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center;gap:30px;padding:24px;margin-bottom:20px}
.home-maps-feature>div{display:grid;gap:16px}
.home-page .home-maps-feature h3{font-size:1.6rem;margin:0}
.home-maps-feature figure{margin:0;min-width:0}
.home-maps-feature img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;border-radius:6px}
.home-maps-feature .actions{align-items:center;gap:16px}
.home-products{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-products .generator-card{padding:0;gap:0;overflow:hidden}
.home-product-image{position:relative;display:block;background:var(--panel);aspect-ratio:4/3}
.home-product-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.home-product-copy{padding:18px;display:flex;flex-direction:column;gap:12px;flex:1}
.home-page .home-product-copy h3{margin:0}
.home-product-copy .btn{padding:12px 10px;margin-top:auto}
.home-text-link,.home-related a{color:#9cc3ff;text-underline-offset:4px}
.home-text-link{font-size:.9rem}
.home-related{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:20px;line-height:1.6}
.home-section-action{margin-top:20px}
.home-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.home-map-card{padding:0;overflow:hidden}
.home-map-card>a{display:block;background:var(--panel);height:210px}
.home-map-card img{display:block;width:100%;height:100%;object-fit:contain}
.home-map-card>div{padding:16px}
.home-page .home-map-card h3{margin:0 0 8px;font-size:1.08rem}
.home-map-card p{font-size:.92rem}
.home-about{border-top:1px solid #243244}
.home-about p{max-width:940px}
.home-about strong{color:var(--txt)}
.home-questions{display:grid;gap:10px;max-width:940px}
.home-questions summary{font-weight:700;line-height:1.5;cursor:pointer}
.home-questions p{margin:14px 0 0}
.home-page a:focus-visible,.home-page summary:focus-visible{outline:3px solid var(--amber);outline-offset:4px}
.home-page #our-maps,.home-page #generators{scroll-margin-top:110px}
@media(max-width:1000px){.home-products,.home-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .home-hero{gap:28px}.home-hero-copy h1{font-size:36px}.home-maps-feature{gap:22px}.home-maps-feature .actions .btn{width:100%}}
@media(max-width:760px){.home-page .wrap{padding:24px 0}.home-page .home-hero{grid-template-columns:1fr;gap:24px;padding-top:28px}.home-hero-copy{gap:16px}.home-hero-copy h1{font-size:32px}.home-hero-copy p{font-size:1rem;max-width:none}.home-hero-copy .actions{width:100%}.home-hero-visual{max-width:330px}.home-hero-visual img{max-height:390px}.home-maps-feature{grid-template-columns:1fr;padding:18px;gap:20px}.home-page .home-maps-feature h3{font-size:1.4rem}.home-page #our-maps,.home-page #generators{scroll-margin-top:280px}}
@media(max-width:540px){.home-products,.home-gallery{grid-template-columns:1fr}.home-product-image{aspect-ratio:4/3}.home-map-card>a{height:230px}.home-hero-visual{max-width:280px}.home-hero-visual img{max-height:350px}}


.home-hero-copy p a{color:#9cc3ff;text-underline-offset:4px}
.home-hero-copy .home-games{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
