/* Maps hero and download instructions; home-content.css preserves the home page sections/footer. */
.background { min-height:100vh; padding:127px 24px 90px; background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),#e7ece9 url("images/bg.jpeg") center/cover no-repeat; }
#main-box { width:950px; max-width:100%; margin:0 auto; padding:46px 40px; border-radius:10px; background:white; color:#363636; text-align:center; box-shadow:0 8px 30px #12302b18; }
#main-box h1 { display:flex; align-items:center; justify-content:center; gap:12px; font-size:clamp(32px,4.8vw,40px); font-weight:700; line-height:1.3; letter-spacing:-1px; margin:0 0 20px; color:#333; }
#main-box h1 span { min-width:0; text-wrap:balance; }
#header-icon { width:45px; height:45px; flex:none; object-fit:contain; }
#main-box p { font-size:18px; line-height:1.55; color:#363636; margin:0 0 25px; }
#main-box .main-box-copy { margin-bottom:25px; }
#main-box .main-box-copy p { margin:0; text-wrap:balance; }
#main-box .platform-name { white-space:nowrap; }
ul.dots { width:fit-content; max-width:100%; padding-left:23px; margin:0 auto 26px; list-style:circle; text-align:left; line-height:1.6; font-size:16px; }
ul.dots li { margin-bottom:6px; }
#continue { display:inline-flex; width:540px; max-width:100%; background:#3b82f6; font-size:40px; line-height:1.2; padding:16px 20px; border:0; border-radius:10px; margin-bottom:15px; letter-spacing:0; }
#continue:hover { background:#295bac; }
.byline { max-width:540px; margin:0 auto; font-size:12px; color:#444; line-height:1.5; text-wrap:balance; }
.byline a { color:inherit; text-decoration:underline; white-space:nowrap; }
.funding .section-intro { margin-bottom:0; }
.keep { position:fixed; inset:0; max-width:none; max-height:none; width:100%; height:100%; padding:0; margin:0; border:0; border-radius:0; background:transparent; overflow:auto; }
.keep::backdrop { background:#0008; backdrop-filter:none; }
.keepbox { position:absolute; top:180px; right:30px; width:390px; max-width:calc(100% - 32px); padding:30px 25px; display:flex; align-items:center; gap:18px; background:white; border-radius:10px; box-shadow:0 8px 35px #0003; }
.keepbox>img { flex:none; object-fit:contain; }
.keepbox h2 { font-size:22px; line-height:1.2; letter-spacing:-.4px; margin:6px 0 12px; }
.keepbox p { margin:0; font-size:16px; line-height:1.5; }
.keepbox .dialog-close { top:5px; right:8px; font-size:25px; }
.keep .arrow { position:fixed; top:20px; right:40px; pointer-events:none; }
.vert-move { animation:download-arrow .6s ease-in-out infinite alternate; }
.keep.edge .keepbox { top:246px; }
.keep.edge .arrow { top:85px; right:10%; }
.keep.firefox .keepbox { top:220px; }
.keep.firefox .arrow { top:60px; right:8%; }
@keyframes download-arrow { to { transform:translateY(-10px); } }
@media(max-height:800px) { .background { padding-top:70px; } #main-box { padding-top:30px; padding-bottom:30px; } }
@media(max-width:700px) {
 .background { padding:44px 16px 64px; min-height:100svh; }
 #main-box { padding:30px 22px; }
 #main-box h1 { flex-direction:column; font-size:clamp(26px,8vw,30px); gap:14px; letter-spacing:-.7px; }
 #main-box p { font-size:16px; }
 ul.dots { font-size:15px; }
 #continue { font-size:28px; padding:17px 10px; }
 .keep .keepbox,.keep.edge .keepbox,.keep.firefox .keepbox { top:150px; right:16px; padding:28px 20px; gap:14px; }
 .keep .arrow,.keep.edge .arrow,.keep.firefox .arrow { top:15px; right:30px; }
 .keep .arrow img { height:110px; width:auto; }
}
@media(prefers-reduced-motion:reduce) { .vert-move { animation:none; } }
