:root{--section-space:clamp(56px,7vw,88px)}
body>header{background:var(--navy);border-bottom-color:#77dcff40;box-shadow:0 4px 18px #010b1926}
.brand,.links a,.button,.vk,.menu,.fans-social a,.footer-social a{min-height:44px}
.links a{display:flex;align-items:center;white-space:nowrap}
.button,.vk,.fans-social a,.footer-social a{display:inline-flex;align-items:center;justify-content:center;border-radius:3px}
.menu{align-items:center;justify-content:center;border-radius:3px}
.button.secondary:hover{background:#77dcff18;border-color:var(--ice)}
.vk:hover,.menu:hover,.footer-social a:hover{color:var(--ice);border-color:var(--ice);background:#77dcff0c}
.calendar-section,.team-section,.news-section,.media-section,.history-section{padding-block:var(--section-space)}
.calendar-heading,.news-heading,.media-heading,.gallery-heading{max-width:100%}
.calendar-heading h2,.news-heading h2,.media-heading h2,.team-section h2,.history-section h2,.fans-section h2{ text-wrap:balance }
.team-intro,.news-card p,.history-event p,.fans-section p{max-width:65ch}
.news-card,.gallery-item{border-color:#77dcff30;border-radius:4px;overflow:hidden}
.news-body{display:flex;flex-direction:column;align-items:flex-start}
.news-body p{margin:0 0 24px}
.news-link{margin-top:auto;padding-top:6px}
.news-cup{gap:24px}
.gallery-item{transition:border-color .18s ease,box-shadow .18s ease}
.gallery-item:hover,.gallery-item:focus-visible{box-shadow:0 0 0 1px var(--ice)}
.gallery-item:focus-visible{outline-offset:4px}
.gallery-item span{min-height:48px;display:flex;align-items:center;line-height:1.4}
.gallery-more summary{min-height:48px;padding:14px 18px;border:1px solid #77dcff60;border-radius:3px;list-style-position:inside}
.gallery-more summary:hover{background:#77dcff10}
.gallery-more[open] .gallery-grid{margin-top:24px}
.gallery-dialog{border-radius:6px;box-shadow:0 24px 80px #0008}
.gallery-dialog button{min-height:44px;border-radius:3px}
.gallery-full{height:auto;max-height:65vh;object-fit:contain}
.history-photo img{border-radius:4px}
.site-footer{border-top:1px solid #77dcff30}
.footer-row>a{display:inline-flex;align-items:center;min-height:44px}
html:has(#home:target) .brand,
html:has(#matches:target) .links a[href="#matches"],
html:has(#team:target) .links a[href="#team"],
html:has(#achievements:target) .links a[href="#achievements"],
html:has(#news:target) .links a[href="#news"],
html:has(#fans:target) .links a[href="#fans"],
html:has(#media:target) .links a[href="#media"],
html:has(#history:target) .links a[href="#history"]{color:var(--ice)}
html:has(#matches:target) .links a[href="#matches"],
html:has(#team:target) .links a[href="#team"],
html:has(#achievements:target) .links a[href="#achievements"],
html:has(#news:target) .links a[href="#news"],
html:has(#fans:target) .links a[href="#fans"],
html:has(#media:target) .links a[href="#media"],
html:has(#history:target) .links a[href="#history"]{box-shadow:inset 0 -2px var(--ice)}
@media(max-width:1250px){.links.open{gap:4px;padding:16px 5%;max-height:calc(100dvh - 84px);overflow-y:auto}.links a{padding:8px 12px;border-radius:3px}.links a:hover{background:#77dcff10}}
@media(max-width:800px){.links.open{max-height:calc(100dvh - 74px)}.news-body{padding:24px}.news-cup{padding:24px;min-height:180px;gap:16px}.gallery-full{height:auto;max-height:57vh}.gallery-more summary{width:100%;text-align:center}.history-timeline{padding-left:24px}.history-event:before{left:-31px}}
@media(max-width:380px){.nav{gap:8px}.brand{font-size:13px;gap:8px;letter-spacing:.04em}.brand-logo{width:48px}.brand small{font-size:10px}.menu{padding-inline:10px}}
@media(max-width:600px){.hero .actions{flex-direction:column;align-items:stretch;max-width:420px;gap:12px}.hero .button{width:100%;min-height:50px;text-align:center}.hero h1{font-size:clamp(32px,8.7vw,52px)}.hero p{max-width:34ch}.hero-note{letter-spacing:.08em;line-height:1.6}.gallery-dialog-header{align-items:start}.gallery-dialog h3{font-size:16px;line-height:1.4;min-width:0}.gallery-close{flex-shrink:0}.gallery-dialog-controls button{flex:1;min-width:0;font-size:14px}.gallery-counter{flex:0 0 60px}.gallery-item span{padding:12px 14px}}
@media(prefers-reduced-motion:reduce){.gallery-item{transition:none}}
