/* React/Next reference parity. Keep this layer after all reusable styles. */
.home-hero{padding:1.75rem 0 3.5rem}.home-hero__intro{min-height:unset;padding:1.75rem}.home-hero__visual{min-height:37.5rem}.home-hero__intro h1{font-size:3.75rem;line-height:1;margin:1.75rem 0}.home-hero__lead{font-size:1rem;line-height:1.6}.hero-stats b{font-size:2.25rem}.hero-stats span{font-size:.625rem}.hero-photo{border-radius:1.5rem}#route .section-heading h2{max-width:14ch}
@media(min-width:768px){.home-hero{padding:2.5rem 0 5rem}.home-hero__grid,.home-hero__intro,.home-hero__visual{min-height:47.875rem}.home-hero__intro{padding:2.5rem}.home-hero__intro h1{font-size:6rem;margin:2.25rem 0}.home-hero__lead{font-size:1.125rem}.hero-stats b{font-size:2.5rem}#route .section-heading h2{font-size:4.6vw;line-height:1}}
@media(min-width:1024px){#route .section-heading{grid-template-columns:.9fr 1.1fr;gap:2rem}#route .section-heading>div{width:auto}#route .section-heading>p{align-self:end;width:auto;margin-bottom:0}#route .section-heading h2{max-width:none;margin-top:1.25rem}#route .route-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:18.75rem;gap:1rem;margin-top:3rem}#route .route-card{min-height:0;height:18.75rem}#route .route-card--wide{grid-column:span 2}#route .route-card:last-child{grid-column:span 2}#route .route-card>div{right:1.5rem;bottom:1.5rem;left:1.5rem}#route .route-card__number{top:1.25rem;bottom:auto;font-size:2.75rem}#route .route-card h3{font-size:2.25rem}}
@media(min-width:1200px){#route .section-heading{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem}#route .section-heading>p{width:100%;max-width:100%;font-size:1.125rem;line-height:2;align-self:start}#route .route-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:18.75rem}}
/* Source service template: its navigation overlays the hero rather than pushing it down. */
.page-service .site-header{position:fixed;inset:0 0 auto}.page-service .site-header__inner{height:4.5rem}.page-service .service-hero{min-height:48.75rem;padding-top:7rem}.page-service .service-hero__content{padding-bottom:6rem}.page-service .service-hero h1{max-width:64rem;margin:1.25rem 0 1.75rem;font-size:clamp(3.6rem,10vw,8.6rem);line-height:.82;letter-spacing:-.035em}.page-service .service-hero p:not(.eyebrow){max-width:48rem;font-size:1.25rem;line-height:2}.page-service .service-facts{margin-top:-2.5rem}.page-service .service-facts__grid{border-radius:1.5rem}.page-service .service-facts article{padding:1.5rem}.page-service .service-facts small{margin-top:.75rem}.page-service .service-facts b{margin-top:.5rem}
.club-logo__mark svg{width:1.25rem;height:1.25rem}
.page-service #details .section-heading{display:block}.page-service #details .section-heading h2{margin-top:1.25rem;font-size:4.5rem;line-height:1}.page-service #details .section-heading>p{display:none}.page-service #details .details-grid{grid-template-columns:1fr .82fr;gap:1rem;margin:0}.page-service #details .details-grid__main{min-height:24.375rem!important}.page-service #details .details-grid__side{grid-template-rows:12.2rem auto;gap:1rem}.page-service #details .details-grid__side figure{min-height:12.2rem}.page-service #details .details-grid__side article{padding:1.25rem}.page-service #details .highlights-grid{gap:1rem;margin-top:1rem}.page-service #details .highlight-card{min-height:11.5rem;padding:1.5rem}.page-service #details .highlight-card>.media-cover{position:absolute;inset:0}.page-service #details .highlight-card b{font-size:3rem}.page-service #details .highlight-card h3{margin-top:2rem}
@media(max-width:767px){.page-service .service-hero{min-height:42rem;padding-top:6rem}.page-service .service-hero__content{padding-bottom:4rem}.page-service .service-hero p:not(.eyebrow){font-size:1rem;line-height:1.75}.page-service .service-facts{margin-top:-1.5rem}}
@media(max-width:1023px){.page-service #details .section-heading{height:auto}.page-service #details .section-heading>div{width:auto}.page-service #details .details-grid{position:static;width:auto;margin-top:2rem}}
@media(max-width:767px){.page-service #details .section-heading h2{font-size:3rem;line-height:.9}}
@media(max-width:767px){.program-card,.faq-panel{max-width:100%}.program-card>b{font-size:7rem}.faq-panel{min-width:0;grid-template-columns:minmax(0,1fr)}.faq-panel>div,.faq-panel .faq-list{min-width:0;width:100%}.faq-panel summary{font-size:.92rem}}
@media(max-width:767px){.section-heading--split>div,.section-heading--split>p{max-width:100%;min-width:0}.section-heading--split>p{font-size:1rem;line-height:1.75}}
@media(max-width:1279px){.site-header__inner{min-width:0}.site-header__phone{margin-left:auto}}@media(min-width:1280px) and (max-width:1439px){.site-nav{gap:.7rem}.site-header__phone{font-size:.72rem}.site-header__cta{padding-inline:.85rem;font-size:.72rem}}@media(max-width:767px){#route .section-heading h2{font-size:2.5rem;word-break:normal}}
/* На телефоне и планшете связь доступна из меню: ничего не перекрывает контент при прокрутке. */
@media(min-width:768px){.messenger-widget__toggle{display:none}.messenger-widget__links{display:flex;flex-direction:column;gap:.45rem;padding:.45rem;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(7,20,15,.94);box-shadow:0 16px 45px rgba(0,0,0,.35)}}
@media(min-width:768px){.messenger-widget{gap:0;padding:0;border:0;background:transparent;box-shadow:none}}
/* News and policy pages use the same editorial structure as the React reference. */
.page-article .article-hero{padding-top:0}.page-article .article-hero .container{width:min(calc(100% - 4rem),64rem);padding-top:6rem;padding-bottom:3rem}.page-article .article-hero .text-link{display:none}.page-article .article-hero .eyebrow{margin-top:0}.page-article .article-hero h1{max-width:100%;margin:1.5rem 0 2rem;font-size:3.25rem;line-height:.9}.page-article .article-hero figure{width:min(calc(100% - 4rem),var(--container));height:auto;aspect-ratio:1.8;margin:0 auto;border-radius:2rem}.page-article .article-body{max-width:48rem;padding-top:5rem;padding-bottom:5rem}.page-article .article-body blockquote{display:none}.page-article .article-body h2:has(+ .photo-gallery:empty),.page-article .article-body h2:has(+ .article-video-grid:empty),.page-article .photo-gallery:empty,.page-article .article-video-grid:empty{display:none}.page-article .article-body h2{margin-top:4rem}.page-article .article-body h2+.photo-gallery,.page-article .article-body h2+.article-video-grid{margin-top:2rem}
@media(min-width:768px){.page-article .article-hero h1{font-size:6rem}}
/* News index: preserve the source composition - one large lead story and two compact cards. */
body:has(.news-hero) .news-hero{padding:6rem 0 3.5rem}body:has(.news-hero) .news-hero+.section--white{padding-top:0;background:transparent}body:has(.news-hero) .news-grid--all{margin-top:0}body:has(.news-hero) .news-grid--all .news-card:first-child{grid-column:span 2}body:has(.news-hero) .news-grid--all .news-card:first-child .news-card__image{height:auto;aspect-ratio:2.1}
@media(max-width:767px){body:has(.news-hero) .news-hero{padding:4rem 0 2.5rem}body:has(.news-hero) .news-grid--all .news-card:first-child{grid-column:auto}}
@media(max-width:767px){.page-article .article-hero .container{width:calc(100% - 2.5rem);padding-top:4rem;padding-bottom:2.5rem}.page-article .article-hero h1{font-size:3.25rem}.page-article .article-hero figure{width:calc(100% - 2.5rem);border-radius:1.5rem}.page-article .article-body{width:calc(100% - 2.5rem);padding-top:3.5rem;padding-bottom:3.5rem}}
.faq-panel>div:first-child{background:linear-gradient(135deg,rgba(7,20,15,.98),rgba(7,20,15,.7))}
