/* Public home + footer: one shared responsive grid */

html,body{width:100%;min-height:100%;overflow-x:hidden}.app-shell:has(.home){width:100%;max-width:none;min-height:100svh;margin:0;padding:0}.home{--public-width:min(1280px,calc(100% - 64px));width:100%;min-height:100svh;display:flex;flex-direction:column;gap:18px;padding-top:clamp(42px,7vh,82px);overflow-x:hidden;font-family:Montserrat,Arial,sans-serif}.home::before,.home>:not(.volk-footer){width:var(--public-width);max-width:var(--public-width);margin-left:auto;margin-right:auto}.home::before{content:"";display:block;height:12px;margin-bottom:4px;background:var(--volk-charcoal)}.home-masthead{display:grid;gap:9px;min-width:0}.home-masthead>*{min-width:0;max-width:100%}.home-masthead::after{content:"";width:58px;height:4px;margin-top:3px;background:var(--volk-purple);transform:skewX(-16deg)}.home .kicker{margin:0;color:var(--volk-charcoal);font-family:"Archivo Black","Arial Narrow",sans-serif;font-size:clamp(1.15rem,1.35vw,1.55rem);font-weight:900;line-height:1;text-transform:uppercase}.home .brand-title{width:100%;max-width:9.5ch;margin:0;color:var(--volk-black);font-family:"Archivo Black","Arial Narrow",sans-serif;font-size:clamp(5.4rem,7vw,8.6rem);font-weight:900;letter-spacing:-.035em;line-height:.78;text-transform:uppercase;word-break:normal;overflow-wrap:normal}.home .subhead{margin:0;color:var(--volk-charcoal);font-family:"Titan One","Arial Black",sans-serif;font-size:clamp(1rem,1.15vw,1.3rem);line-height:1.05}.home .subhead span{color:var(--volk-lime)}.home .home-copy{max-width:760px;margin:0;color:var(--volk-charcoal);font-size:clamp(1rem,1.05vw,1.18rem);font-weight:600;line-height:1.4}.home .home-actions{display:grid;grid-template-columns:1.18fr 1fr;gap:12px;width:var(--public-width);max-width:var(--public-width);margin-left:auto;margin-right:auto}.home .button,.home .hero-button{width:100%;min-height:66px;padding:0 20px;border:1px solid var(--volk-black);font-family:Montserrat,Arial,sans-serif;font-size:clamp(.82rem,.8vw,.96rem);font-weight:800;text-align:center}.home .hero-button{background:var(--volk-lime);color:var(--volk-black)}.home .home-secondary{background:var(--volk-charcoal);color:var(--volk-cream)}.home-staff-link{width:fit-content!important;max-width:none!important;margin:2px auto 0!important;align-self:flex-start;margin-left:max(32px,calc((100% - 1280px)/2))!important;margin-right:auto!important;color:var(--volk-charcoal);font-size:.72rem;font-weight:800;letter-spacing:.06em;line-height:1;text-decoration:none;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px;opacity:.7}.home-staff-link:hover,.home-staff-link:focus-visible{opacity:1}.home .volk-footer{width:100%;margin-top:auto}.volk-footer{display:grid;gap:14px;padding:26px max(32px,calc((100% - 1280px)/2));border:0;background:var(--volk-charcoal);color:var(--volk-cream);font-family:Montserrat,Arial,sans-serif}.volk-footer-main{display:flex;align-items:center;justify-content:space-between;gap:20px}.volk-footer-brand{color:var(--volk-cream);font-family:"Archivo Black","Arial Narrow",sans-serif;font-size:1.3rem;font-weight:900;text-decoration:none;text-transform:uppercase}.volk-footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 24px}.volk-footer-links a{color:var(--volk-cream);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.volk-footer-bottom{display:flex;justify-content:space-between;gap:12px;color:var(--volk-light-gray);font-size:.58rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.leaderboard-page .volk-footer{width:100vw;margin-left:calc(50% - 50vw);margin-top:32px}.app-shell:has(.staff-desk),.app-shell:has(.staff-login){min-height:100svh;display:flex;flex-direction:column}.staff-desk,.staff-login{width:100%;min-height:100svh;display:flex;flex-direction:column}.staff-desk>.volk-footer,.staff-login>.volk-footer{width:100vw;margin-left:calc(50% - 50vw);margin-top:auto}

@media(max-width:699px){
  .app-shell:has(.home){min-height:100dvh}
  .home{--mobile-pad:24px;--public-width:calc(100% - (var(--mobile-pad)*2));min-height:100dvh;gap:14px;padding-top:max(24px,env(safe-area-inset-top));overflow:visible}
  .home::before,.home>:not(.volk-footer),.home .home-actions{width:var(--public-width);max-width:var(--public-width);margin-left:var(--mobile-pad);margin-right:var(--mobile-pad)}
  .home::before{height:9px;margin-bottom:8px}
  .home-masthead{gap:7px}
  .home .kicker{font-size:clamp(.95rem,4.3vw,1.1rem)}
  .home .brand-title{width:100%;max-width:100%;font-size:clamp(2.65rem,11.6vw,3.55rem);line-height:.86;letter-spacing:-.045em;overflow:visible}
  .home .subhead{font-size:clamp(.8rem,3.5vw,.94rem)}
  .home .home-copy{max-width:100%;font-size:clamp(.9rem,3.75vw,1rem);line-height:1.38}
  .home-masthead::after{width:48px;height:4px;margin-top:4px}
  .home .home-actions{grid-template-columns:1fr;gap:9px;margin-top:4px}
  .home .button,.home .hero-button{min-height:56px;padding:0 12px;font-size:clamp(.72rem,3.2vw,.84rem);white-space:normal}
  .home-staff-link{margin:5px auto 0!important;margin-left:var(--mobile-pad)!important;margin-right:auto!important;margin-bottom:0!important;align-self:auto;font-size:.64rem}
  .home .volk-footer{margin-top:auto}
  .leaderboard-page>.volk-footer{margin-top:auto!important}
  .app-shell:has(.staff-desk),.app-shell:has(.staff-login){min-height:100dvh}
  .staff-desk,.staff-login{min-height:100dvh}
  .staff-desk>.volk-footer,.staff-login>.volk-footer{margin-top:auto!important}
  .volk-footer{padding:22px var(--mobile-pad) max(22px,env(safe-area-inset-bottom));gap:18px}
  .volk-footer-main{display:grid;grid-template-columns:1fr;gap:18px}
  .volk-footer-brand{font-size:1rem;line-height:1}
  .volk-footer-links{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px 22px}
  .volk-footer-links a{font-size:.6rem;line-height:1.2;letter-spacing:.05em}
  .volk-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;font-size:.5rem;line-height:1.3;letter-spacing:.025em}
}

@media(max-width:380px){.home{--mobile-pad:20px}.home .brand-title{font-size:clamp(2.45rem,11.2vw,3rem)}.volk-footer-links{gap:9px 17px}.volk-footer-bottom{display:grid;grid-template-columns:1fr}}
