/* Freedom Life Fest identity and navigation */
.bar{min-height:82px;gap:24px}.festival-brand{display:flex;flex-direction:column;line-height:.84;text-decoration:none;letter-spacing:-.05em;color:var(--blue);font-weight:950;min-width:170px}.festival-brand span{font-size:1.05rem}.festival-brand strong{font-size:1.85rem;color:var(--red)}.festival-brand small{font-size:.61rem;letter-spacing:.23em;color:var(--ink);margin-top:8px}.bar nav{gap:28px}.bar nav>a:last-child{background:var(--blue);color:#fff;border-radius:999px;padding:11px 17px}.bar nav>a:last-child:hover{background:#0613a8}.nav-group{position:relative;display:flex;align-items:center;gap:3px}.nav-group>a{text-decoration:none;font-weight:800;font-size:.88rem;white-space:nowrap}.nav-group>a:hover,.nav-group>a[aria-current]{color:var(--red)}.submenu-toggle{border:0;background:transparent;color:var(--blue);font-weight:900;padding:7px;line-height:1;font-size:1.3rem}.submenu{position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:9px;box-shadow:0 18px 40px #0d154b30;display:none;z-index:50}.submenu a{display:block;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:750;font-size:.9rem}.submenu a:hover,.submenu a[aria-current]{background:#f1f3ff;color:var(--blue)}.nav-group:hover .submenu,.nav-group:focus-within .submenu,.nav-group.expanded .submenu{display:block}.footer-brand{color:#fff;min-width:auto}.footer-brand strong{color:var(--gold)}.foot>div:first-child{max-width:360px}
/* Preserve the original festival homepage, with navigable sport cards. */
.sport{display:block;text-decoration:none}.sport:focus-visible{outline:4px solid var(--gold);outline-offset:3px}.sport small{line-height:1.4}.games-deep-link{margin-top:32px}.fest-mark img{filter:drop-shadow(0 5px 12px #0008)}.sport-grid a:hover h3{text-decoration:underline}
/* Video introduction spaces keep the same festival image until videos are supplied. */
.intro-video{background:#101853;padding:58px 24px 76px}.intro-video .eyebrow{margin-bottom:17px}.intro-video .video-frame{width:min(100%,970px);margin:auto;background:linear-gradient(130deg,#07104a8c,#dc1c2c74),url('/assets/life-fest.png') center/cover;border:3px solid #ffffff8c}.intro-video .video-frame strong{font-size:clamp(1.15rem,2.2vw,1.65rem)}.intro-video .video-frame>div{padding:20px;text-shadow:0 2px 8px #000b}
.games-hero{position:relative;background:linear-gradient(100deg,#0b1459f0,#1728dfaa 65%,#10207470),url('/assets/life-fest.png') center/cover;color:#fff;padding:92px 24px 95px;overflow:hidden}.games-hero .wrap{position:relative}.games-hero h1{font-size:clamp(3.5rem,8vw,7.3rem);line-height:.95;letter-spacing:-.06em;margin:15px 0 20px;max-width:950px}.games-hero h1 em{color:var(--gold);font-style:normal}.games-hero p{max-width:690px;font-size:1.28rem;line-height:1.5;color:#f5f6ff}.games-hero .btn{margin-top:15px}.sport-hero{padding:62px 24px 72px}.sport-hero-icon{font-size:3.5rem;margin-top:15px}.sport-hero h1{margin:5px 0 12px}.sport-hero p{margin:0 0 18px}.games-story{background:#fffaf1}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:34px}.detail-grid article,.detail-grid>div{padding:30px;border-radius:22px;border:1px solid var(--line);background:#fff;box-shadow:0 12px 30px #1019580a}.detail-grid article:nth-child(4n+1){border-top:7px solid var(--red)}.detail-grid article:nth-child(4n+2){border-top:7px solid var(--blue)}.detail-grid article:nth-child(4n+3){border-top:7px solid var(--gold)}.detail-grid article:nth-child(4n){border-top:7px solid var(--red)}.detail-grid article b{color:var(--blue);font-size:.83rem;letter-spacing:.13em}.detail-grid h3{font-size:1.55rem;line-height:1.15;margin:12px 0}.detail-grid p{color:var(--muted);margin:0}.games-next{background:#fff5eb;text-align:center}.games-next .wrap{max-width:760px}.games-next p{font-size:1.15rem;color:var(--muted)}.sport-sponsors{background:#f6f7ff}.sport-sponsors .sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){.bar{min-height:72px}.festival-brand{min-width:150px}.festival-brand strong{font-size:1.55rem}.bar nav{gap:0}.nav-group{display:block;border-bottom:1px solid var(--line);padding-right:40px}.nav-group>a{display:block;padding:13px}.submenu-toggle{position:absolute;right:4px;top:8px;border:1px solid var(--line);border-radius:8px;padding:3px 11px}.submenu{position:static;display:none;min-width:0;box-shadow:none;border:none;border-radius:0;padding:0 0 8px 20px}.nav-group:hover .submenu{display:none}.nav-group.expanded .submenu,.nav-group:focus-within .submenu{display:block}.submenu a{border:0;padding:9px 12px}.bar nav>a:last-child{margin-top:12px;text-align:center}.bar nav a{white-space:normal}}
@media(max-width:700px){.games-hero{padding:68px 20px}.games-hero h1{font-size:3.8rem}.games-hero p{font-size:1.12rem}.intro-video{padding:42px 16px 58px}.detail-grid,.sport-sponsors .sponsor-grid{grid-template-columns:1fr}.detail-grid article,.detail-grid>div{padding:23px}}
/* Shared single-line site name in the header and footer. */
.header-lockup,.footer-lockup{display:inline-flex;align-items:center;white-space:nowrap;text-decoration:none}.site-name{font:950 1.25rem/1 Inter,Arial,sans-serif;letter-spacing:-.025em;white-space:nowrap;color:var(--blue)}.site-name strong{color:var(--red);font-weight:950}.footer-lockup .site-name{color:#dce4ff}.footer-lockup .site-name strong{color:#ff555d}.bar{gap:20px}.bar nav{gap:20px}
/* Center and contain the complete mobile cover, including its video portal. */
.fest-top .wrap{width:min(100%,1200px);min-width:0;margin-inline:auto}.fest-video-wrap{width:100%;min-width:0;max-width:100%;margin-inline:auto;box-sizing:border-box}.fest-video-wrap .video-frame{width:100%;max-width:100%;box-sizing:border-box}
@media(max-width:1050px){.site-name{font-size:1.12rem}.bar nav{gap:0}}
@media(max-width:700px){.fest-top{padding-inline:18px}.fest-top .wrap{text-align:left}.fest-top .fest-mark{margin-left:0;margin-right:0}.fest-top h1{margin-left:0;margin-right:0}.fest-video-wrap{padding:12px;margin:35px auto 0}.fest-video-wrap .video-frame{margin-inline:auto}.site-name{font-size:.94rem}.footer-lockup .site-name{font-size:.94rem}}
/* On narrow screens keep the desktop hierarchy while shortening the copy block
   so the date sits near the tent roofline in the cover photograph. */
@media(max-width:700px){
  .fest-top{padding-top:28px;padding-bottom:56px}
  .fest-top .fest-mark{width:220px;height:115px;margin-bottom:10px}
  .fest-top .fest-mark img{width:448px;height:269px;left:-114px;top:-77px}
  .fest-top .eyebrow{font-size:.7rem;line-height:1.35;letter-spacing:.13em}
  .fest-top h1{font-size:clamp(2.65rem,12vw,3rem);line-height:.93;margin:9px 0 11px}
  .fest-top .date{font-size:1.05rem;line-height:1.25}
  .fest-video-wrap{margin-top:29px}
}
/* Festival edition and location flank the main title. */
.fest-top .fest-edition{font-size:clamp(1.15rem,2.5vw,1.7rem);font-weight:900;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.fest-top .fest-location{color:#fff;margin-bottom:4px}
@media(max-width:700px){.fest-top .fest-edition{font-size:1.05rem;line-height:1.25}.fest-top .fest-location{margin-bottom:3px}}
