.home-shell{grid-template-rows:64px auto 1fr 28px;height:auto;min-height:100dvh;overflow:visible}.magical-home-hero{background:#02070d;align-self:start;min-width:0}.magical-banner-art{isolation:isolate;position:relative;overflow:hidden}.magical-banner-art>img{width:100%;height:auto;display:block}.banner-magic{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.banner-trail{stroke-linecap:round;stroke-linejoin:round;color:#43caff}.banner-trail-gold{color:#ffc569}.banner-halo{stroke:currentColor;stroke-width:12px;opacity:.24;filter:blur(4px)}.banner-thread{stroke:currentColor;stroke-width:1.5px;opacity:.4}.banner-current{stroke:currentColor;stroke-width:6px;stroke-dasharray:55 945;filter:blur(2px);opacity:.85;animation:banner-flow var(--duration) linear var(--phase) infinite}.banner-sparks{stroke:#e2faff;stroke-width:3px;stroke-dasharray:1.8 127 .7 216 2.5 152 1 499;filter:drop-shadow(0 0 4px);animation:banner-flow var(--duration) linear var(--phase) infinite}.banner-trail-gold .banner-sparks{stroke:#fff0c8}.banner-trail-gold .banner-current,.banner-trail-gold .banner-sparks{animation-direction:reverse}.banner-caption{background:linear-gradient(100deg,#06121b,#030609 65%);border-top:1px solid #876335;justify-content:space-between;align-items:center;gap:16px;padding:14px 3.4vw;display:flex}.banner-caption span{color:#edbd75;letter-spacing:.22em;margin-bottom:5px;font-size:11px;display:block}.banner-caption strong{font-size:clamp(14px,1.25vw,20px);display:block}.banner-caption button{color:#dceaf2;cursor:pointer;background:#061019;border:1px solid #456678;border-radius:3px;flex-shrink:0;min-height:44px;padding:10px 15px;font:14px/1.4 Arial,sans-serif}.banner-caption button:hover{border-color:#edbd75}.banner-caption button:focus-visible{outline-offset:3px;outline:3px solid #ffc46b}.banner-caption button:disabled{cursor:default}@keyframes banner-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-1000px}}.magical-home-hero[data-motion=paused] .banner-magic *{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.banner-magic *{animation:none!important}}@media (width<=850px){.home-shell{grid-template-rows:54px auto 1fr 28px}.banner-caption{gap:10px;padding:12px 14px}.banner-caption span{letter-spacing:.16em;font-size:10px}.banner-caption strong{font-size:14px}.banner-caption button{padding:9px 10px;font-size:12px}.banner-halo{stroke-width:15px}.banner-current{stroke-width:8px}.banner-sparks{stroke-width:5px}}@media (width<=360px){.banner-caption{flex-wrap:wrap}.banner-caption button{margin-left:auto}}.home-shell{flex-direction:column;min-width:0;height:auto;min-height:100dvh;display:flex}.home-shell>.topbar{flex-shrink:0;min-height:64px}.home-shell>.magical-home-hero{align-self:stretch;width:100%}.home-shell>.route-grid{flex:none;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px;width:100%;max-width:1600px;margin-inline:auto;padding:24px clamp(16px,2.5vw,40px)}.home-shell .route-card{align-items:stretch;min-width:0;min-height:240px;padding:24px;display:flex;overflow:visible}.home-shell .route-text{gap:12px;width:100%}.home-shell .route-text small{letter-spacing:.13em;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.5}.home-shell .route-text strong{letter-spacing:0;overflow-wrap:anywhere;margin:0;font-size:clamp(20px,1.7vw,26px);line-height:1.25}.home-shell .route-text>span{max-width:none;font-size:16px;line-height:1.5}.home-shell .route-text .route-action{letter-spacing:.1em;align-self:flex-start;align-items:center;width:auto;max-width:100%;min-height:44px;margin-top:auto;padding:10px 14px;font-size:12px;line-height:1.4;display:flex}.home-shell>footer{flex-wrap:wrap;min-height:40px;margin-top:auto;padding:10px 16px;line-height:1.5}.home-shell .banner-caption{flex-wrap:wrap}.home-shell .banner-caption>div{min-width:0}.home-shell .social-nav .menu-button{min-width:44px;min-height:44px;display:grid}@media (width<=1199px){.home-shell>.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-shell .route-card{min-height:240px}}@media (width<=850px){.home-shell>.topbar{min-height:54px}}@media (width<=599px){.home-shell>.route-grid{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.home-shell .route-card{min-height:0;padding:20px}.home-shell .route-text{gap:10px}.home-shell .route-text strong{font-size:22px}.home-shell .route-text .route-action{margin-top:6px}.home-shell .banner-caption button{font-size:14px}.home-shell>footer{gap:8px;font-size:8px}}.home-shell>.route-grid{gap:12px!important;padding:14px clamp(12px,2vw,28px)!important}.home-shell .route-card{min-height:0!important;padding:16px!important}.home-shell .route-text{gap:7px!important}.home-shell .route-text small{font-size:11px!important;line-height:1.4!important}.home-shell .route-text strong{font-size:clamp(18px,1.5vw,23px)!important;line-height:1.2!important}.home-shell .route-text>span{font-size:14px!important;line-height:1.4!important}.home-shell .route-text .route-action{min-height:32px!important;margin-top:auto!important;padding:7px 10px!important;font-size:10px!important;line-height:1.4!important}.home-shell .banner-caption{gap:10px!important;padding:10px clamp(14px,2vw,28px)!important}.home-shell .banner-caption span{margin-bottom:3px!important}.home-shell .banner-caption button{padding:7px 10px!important;font-size:12px!important}@media (width<=599px){.home-shell>.route-grid{gap:8px!important;padding:10px!important}.home-shell .route-card{padding:12px!important}.home-shell .route-text{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px!important;display:grid!important}.home-shell .route-text small,.home-shell .route-text strong,.home-shell .route-text>span:not(.route-action){grid-column:1}.home-shell .route-text small{letter-spacing:.07em!important;font-size:10px!important}.home-shell .route-text strong{font-size:18px!important}.home-shell .route-text>span{font-size:14px!important}.home-shell .route-text .route-action{text-align:center;grid-area:1/2/span 3;justify-content:center;max-width:74px;align-self:center!important;margin-top:0!important;font-size:10px!important}.home-shell .banner-caption span{font-size:10px!important}.home-shell .banner-caption strong{font-size:14px!important}.home-shell .banner-caption button{max-width:120px;min-height:44px!important}}.home-shell>footer{margin-top:0!important}
