/* Homepage: readable without JavaScript, with scoped styles and system fonts. */
.reload-home { --ink:#17201d; --paper:#fff; --red:#b83223; color:var(--ink); background:var(--paper); font-family:Arial,Helvetica,sans-serif; font-size:18px; line-height:1.6; padding-bottom:4rem; }
.home-wrap { width:min(1600px,calc(100% - 64px)); margin-inline:auto; }
.reload-home h1,.reload-home h2,.reload-home h3 { color:var(--ink); font-weight:900; letter-spacing:-.055em; line-height:1.02; margin:0; }
.reload-home a { color:inherit; }
.reload-home a:focus-visible,.reload-home summary:focus-visible { outline:3px solid #b83223; outline-offset:5px; }
.home-skip { position:fixed; top:-100px; left:1rem; z-index:100; background:#fff; color:#111; padding:1rem; }
.home-skip:focus { top:60px; }
.home-eyebrow { font-size:.95rem; font-weight:800; text-transform:uppercase; letter-spacing:.16em; margin-bottom:1rem; }
.home-intro { display:grid; grid-template-columns:1.35fr 1fr; gap:5rem; align-items:center; padding-block:4rem 3.5rem; }
.reload-home h1 { font-size:clamp(3rem,6.2vw,5.4rem); line-height:.95; }
.reload-home h1 em { color:var(--red); font-style:normal; }
.home-lead { font-size:clamp(1.1rem,1.6vw,1.35rem); font-weight:700; margin-top:1.5rem; }
.home-intro-copy { max-width:44rem; margin-top:.6rem; color:#505952; }
.home-age-picker { border-top:2px solid var(--ink); padding-top:1.25rem; }
.home-age-picker>a { display:grid; grid-template-columns:86px 1fr 24px; align-items:center; gap:1.1rem; padding:1rem 0; border-bottom:1px solid #d1d5cc; font-weight:800; font-size:1.3rem; text-decoration:none; }
.home-age-picker>a:hover { color:var(--red); }
.home-age-picker small { display:block; font-size:1rem; font-weight:400; letter-spacing:0; }
.home-age { display:block; text-align:center; border-radius:10px; padding:.65rem .2rem; color:var(--ink); font-size:1.65rem; font-weight:900; line-height:1.1; }
.home-age small { font-size:.85rem; text-transform:uppercase; margin-top:.3rem; font-weight:700; }
.age-lime { background:#d8ed7c; }.age-purple { background:#dcd2f7; }.age-blue { background:#c0e3ee; }
.home-section-heading { display:flex; justify-content:space-between; gap:1rem; align-items:baseline; margin-bottom:1.3rem; }
.home-section-heading h2 { font-size:clamp(1.6rem,2.4vw,2.1rem); letter-spacing:-.04em; }
.home-section-heading>p { font-size:.9rem; color:#505952; }
.home-experience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.home-experience { position:relative; border-radius:18px; overflow:hidden; display:flex; flex-direction:column; scroll-margin-top:75px; border:1px solid #d4d8cd; background:#fff; }
.home-experience-image { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.home-experience-body { display:flex; flex-direction:column; align-items:stretch; padding:1.5rem; flex:1; }
.experience-lime .home-experience-body { background:#eef4da; }.experience-purple .home-experience-body { background:#eeebf8; }.experience-blue .home-experience-body { background:#e5f1f5; }
.home-card-label { font-size:1.4rem; line-height:1.15; font-weight:900; margin-bottom:1.3rem; }

.home-experience h3 { font-size:clamp(2rem,3vw,2.65rem); }
.home-card-tagline { font-size:1.3rem; font-weight:750; line-height:1.2; margin-block:.8rem 1rem; }
.home-experience-body>p:not(.home-card-label):not(.home-card-tagline) { font-size:1rem; margin-bottom:1.25rem; }
.home-experience-body .home-room-facts { font-size:1rem!important; font-weight:700; }
.reload-home .home-action { display:flex; justify-content:space-between; align-items:center; gap:.5rem; min-height:54px; padding:.8rem 1rem; background:var(--ink); color:white; border-radius:8px; font-size:.95rem; font-weight:700; line-height:1.3; margin-top:auto; text-decoration:none; }
.reload-home .home-action:hover { background:#344c3e; }
.home-secondary-link { display:block; margin-top:.85rem; font-size:.8rem; text-decoration:underline; text-underline-offset:3px; }
.home-groups { margin-block:5.5rem; background:#f1a18c; border-radius:18px; padding:3.5rem 3rem; display:grid; grid-template-columns:1fr 1.3fr; gap:3rem; align-items:center; }
.home-groups h2,.home-plan h2 { font-size:clamp(2.5rem,4.4vw,4rem); }
.home-groups nav { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin-top:1.25rem; }
.home-groups nav a { font-size:1rem; font-weight:800; padding-block:.5rem; text-decoration:underline; text-underline-offset:5px; }
.home-plan { display:grid; grid-template-columns:1fr 1fr; gap:5rem; }
.home-location>p:not(.home-eyebrow) { margin-top:1.5rem; max-width:30rem; }
.home-location address { font-style:normal; font-weight:700; margin-block:1.2rem; }
.home-text-link { display:inline-block; font-weight:700; text-decoration:underline; text-underline-offset:5px; padding-block:.5rem; }
@media(min-width:1500px) { .home-intro { padding-top:5rem; } }
@media(max-width:1100px) { .home-intro { gap:2rem; }.home-experience-body { padding:1.1rem; }.home-section-heading>p { display:none; }.home-plan { gap:3rem; } }
@media(max-width:900px) {
 .home-wrap { width:calc(100% - 48px); }.home-intro { grid-template-columns:1fr; gap:3rem; padding-block:3rem 3.5rem; }.reload-home h1 { font-size:clamp(2.35rem,8vw,5rem); }
 .home-age-picker { max-width:none; }.home-age-picker>a { grid-template-columns:78px 1fr 24px; padding:.75rem 0; }.home-age { padding:.5rem; }
 .home-experience-grid { grid-template-columns:1fr; gap:2.5rem; }.home-experience-body { padding:2rem 1.5rem; }.home-experience h3 { font-size:2.7rem; }
 .home-experience-image { max-height:380px; }
 .home-groups { grid-template-columns:1fr; padding:2.5rem 1.5rem; gap:2rem; margin-block:3.5rem; }
 .home-plan { grid-template-columns:1fr; gap:3.5rem; }.reload-home { padding-bottom:3.5rem; }
}
@media(prefers-reduced-motion:no-preference) { .home-action { transition:background-color .15s; } }

.home-vr-actions { display:grid; gap:.65rem; margin-top:auto; }
.reload-home .home-vr-actions .home-action { margin-top:0; }
.home-vr-actions small { display:block; font-size:.95rem; font-weight:400; line-height:1.4; margin-top:.25rem; }

/* Let the desktop layout fill the screen with larger, readable type. */
@media (min-width: 1101px) {
 .reload-home { font-size:21px; }
 .reload-home h1 { font-size:clamp(4rem,6.4vw,7rem); }
 .home-intro { gap:clamp(3rem,5vw,6rem); padding-block:4.5rem 5rem; }
 .home-lead { font-size:1.65rem; }
 .home-age-picker>a { grid-template-columns:104px 1fr 28px; font-size:1.6rem; }
 .home-age { font-size:2rem; }
 .home-age-picker small { font-size:1.1rem; }
 .home-age small { font-size:.95rem; }
 .home-section-heading h2 { font-size:clamp(2rem,3vw,3rem); }
 .home-experience-body { padding:2.25rem; }
 .home-card-label { font-size:1.82rem; }

 .home-experience h3 { font-size:clamp(2rem,3.1vw,3.2rem); }
 .home-card-tagline { font-size:1.5rem; }
 .home-experience-body>p:not(.home-card-label):not(.home-card-tagline) { font-size:1.2rem; }
 .home-experience-body .home-room-facts { font-size:1.05rem!important; }
 .reload-home .home-action { min-height:64px; font-size:1.15rem; padding:1rem; }
 .home-vr-actions small { font-size:1rem; }
 .home-groups nav a { font-size:1.2rem; }
}

.home-new-ribbon { position:absolute; z-index:1; top:24px; right:-48px; width:190px; padding:.6rem; transform:rotate(45deg); background:#c32032; color:#fff; font-size:1.3rem; line-height:1.2; font-weight:900; text-align:center; letter-spacing:.08em; box-shadow:0 3px 8px rgb(0 0 0 / 20%); }
.home-video { min-width:0; }
.home-video video { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#111; border-radius:14px; }
.home-video .home-text-link { margin-top:.75rem; }
/* Enlarge the assistance strip on this homepage without changing other pages. */
body:has(.reload-home) #site-footer .site-footer-assistance { flex-wrap:wrap; }
body:has(.reload-home) #site-footer .site-footer-help-title { font-size:clamp(1.8rem,3vw,3rem); font-weight:800; line-height:1.15; }
body:has(.reload-home) #site-footer .site-footer-help-copy { font-size:clamp(1.15rem,1.6vw,1.5rem); margin-top:.6rem; }
body:has(.reload-home) #site-footer .site-footer-phone { font-size:clamp(1.3rem,2vw,2rem); min-height:68px; padding:.8rem 1.2rem; }

/* Preserve the Fun Factory banner's full width and natural panoramic ratio. */
.home-video-banner { width:100%; margin:0; padding:0; background:#111; }
.home-banner-video { display:block; width:100%; height:auto; margin:0; }
.home-age-picker>.home-eyebrow { font-size:clamp(1.35rem,2vw,1.8rem); line-height:1.3; letter-spacing:.04em; margin-bottom:1.5rem; }
.home-card-tagline { margin-block:1.15rem 1.5rem; }
.home-experience-body>p:not(.home-card-label):not(.home-card-tagline) { margin-bottom:1.75rem; }
.home-vr-actions { gap:1rem; }
