.footer{padding:34px 7vw 38px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;border-top:1px solid var(--line);font-size:13px;background:rgba(255,254,253,.76);text-align:center}.footer-links{width:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 24px}.footer-links a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:6px 2px;color:var(--ink-soft);font-size:13px;font-weight:500;line-height:1.35;text-decoration:none}.footer-links a:hover,.footer-links a:focus-visible{text-decoration:underline;text-underline-offset:4px}.footer-copy{color:var(--muted);font-size:11px;line-height:1.4}.section-link,.section-head>a,.back-link,.artist-track-link{font-weight:700;color:#8f7765}@media(max-width:700px){.section-link,.section-head>a,.back-link,.artist-track-link{font-size:14px;font-weight:600;line-height:1.35;letter-spacing:-.01em}.section-head>a{white-space:nowrap}.artist-track-link{display:inline-flex;align-items:center;min-height:38px}.back-link{min-height:40px}.track-card .section-link,.artist-card .section-link{margin-top:10px}.footer{gap:18px}}@media(max-width:600px){.footer{padding:28px 18px 30px;gap:12px}.footer-links{gap:4px 14px}.footer-links a{min-height:40px;padding:6px 2px;font-size:13px}.footer-copy{font-size:11px}}@media(max-width:520px){.section-link,.section-head>a,.back-link,.artist-track-link{font-size:14px;font-weight:600}.footer{align-items:center;flex-direction:column}.footer-links{justify-content:center}.footer-links a{min-height:40px}.footer-copy{text-align:center}}

/* HIT SIGNATURE — final editorial layer */
.orh-scroll-progress{
  position:fixed;left:0;top:0;width:100%;height:3px;z-index:9999;
  transform-origin:left center;transform:scaleX(0);
  background:linear-gradient(90deg,#ff3d81,#704cff,#ff8a3d);
  box-shadow:0 1px 10px rgba(112,76,255,.22);
  pointer-events:none;
}
.artist-banner,.subscribe,.home-news-section,.home-artists-section,.home-release-section{
  position:relative;
}
.artist-banner:before,.subscribe:before{
  content:"";position:absolute;pointer-events:none;border-radius:50%;
  width:260px;height:260px;right:-100px;top:-110px;
  background:radial-gradient(circle,rgba(255,61,129,.13),transparent 68%);
}
.artist-banner{
  overflow:hidden;
  box-shadow:0 24px 60px rgba(55,42,34,.10);
  transition:transform .35s ease,box-shadow .35s ease;
}
.artist-banner:hover{transform:translateY(-4px);box-shadow:0 30px 70px rgba(55,42,34,.14)}
.artist-banner .button{position:relative;z-index:2;min-height:54px}
.subscribe{
  overflow:hidden;
  box-shadow:0 18px 50px rgba(55,42,34,.07);
}
.subscribe form{
  position:relative;
  z-index:2;
}
.subscribe input:focus{
  border-color:rgba(112,76,255,.38)!important;
  box-shadow:0 0 0 5px rgba(112,76,255,.08),0 10px 30px rgba(55,42,34,.07);
}
.footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 0%,rgba(255,61,129,.08),transparent 24%),
    radial-gradient(circle at 85% 100%,rgba(112,76,255,.08),transparent 26%),
    #eee9e4;
}
.footer:before{
  content:"ОНЛАЙН РАДИО ХИТ";
  display:block;
  font-size:9px;font-weight:1000;letter-spacing:.2em;
  color:#9b9aa1;
}
.footer-links a{
  position:relative;
  transition:color .2s ease,transform .2s ease;
}
.footer-links a:hover{color:#704cff;transform:translateY(-1px);text-decoration:none}
.orh-section-visible{animation:orhEditorialIn .7s cubic-bezier(.2,.75,.2,1) both}
@keyframes orhEditorialIn{from{opacity:.35;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:600px){
  .artist-banner:hover{transform:none}
  .footer:before{margin-bottom:2px}
}
@media(prefers-reduced-motion:reduce){
  .artist-banner,.orh-section-visible{animation:none;transition:none}
}


/* HIT TYPOGRAPHY SYSTEM — hierarchy and mobile readability */
:root{
  --hit-display:clamp(42px,5.4vw,76px);
  --hit-h2:clamp(30px,3.2vw,46px);
  --hit-h3:clamp(19px,2vw,27px);
  --hit-body:15px;
  --hit-small:13px;
}
body{font-size:var(--hit-body);line-height:1.58;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6{font-weight:850;line-height:1.08}
.home-hero .hero-copy h1{font-size:var(--hit-display);line-height:.98;max-width:720px}
.section-head h2,.home-release-section .section-head h2{font-size:var(--hit-h2);line-height:1.02}
.section-head p,.home-section-intro{max-width:62ch;line-height:1.62}
.kicker{font-size:11px;font-weight:850;line-height:1.25}
.track-card h3,.artist-card h3,.home-release-copy h3,.news-grid h3{font-size:var(--hit-h3);line-height:1.08}
.track-card p,.artist-card p,.news-grid p,.home-release-meta,.home-release-artist{font-size:var(--hit-small);line-height:1.45}
.section-link,.section-head>a,.back-link,.artist-track-link{font-size:13px;font-weight:750;line-height:1.3}
.button,.nav-cta{font-size:13px;font-weight:800;line-height:1.2;letter-spacing:-.01em}
.hero-subline{font-size:16px;line-height:1.6;max-width:58ch}
.footer-links a{font-size:13px;line-height:1.35}
.footer-copy{font-size:11px;line-height:1.45}
@media(max-width:850px){
  .home-hero .hero-copy h1{font-size:clamp(38px,9vw,58px);line-height:1.01}
  .section-head h2,.home-release-section .section-head h2{font-size:clamp(28px,7vw,38px)}
  .hero-subline{font-size:15px;line-height:1.55}
}
@media(max-width:520px){
  body{font-size:15px;line-height:1.55}
  .home-hero .hero-copy h1{font-size:clamp(36px,10vw,50px);letter-spacing:-.055em}
  .section-head h2,.home-release-section .section-head h2{font-size:29px;letter-spacing:-.045em}
  .section-head p,.home-section-intro{font-size:14px;line-height:1.55}
  .track-card h3,.artist-card h3,.home-release-copy h3,.news-grid h3{font-size:18px;line-height:1.12}
  .track-card p,.artist-card p,.news-grid p,.home-release-meta,.home-release-artist{font-size:13px}
  .kicker{font-size:10px;letter-spacing:.14em}
  .section-link,.section-head>a,.back-link,.artist-track-link{font-size:13px}
  .button,.nav-cta{font-size:13px}
}


/* HIT GEOMETRY SYSTEM — unified spacing, radii and control heights */
:root{--hit-radius-sm:12px;--hit-radius-md:18px;--hit-radius-lg:24px;--hit-radius-xl:30px;--hit-control-sm:40px;--hit-control-md:46px;--hit-control-lg:54px;--hit-gap-xs:8px;--hit-gap-sm:12px;--hit-gap-md:18px;--hit-gap-lg:24px;--hit-gap-xl:32px}
.button,.nav-cta{min-height:var(--hit-control-md);padding:12px 22px;border-radius:999px;box-sizing:border-box}.hero-actions .button{min-height:var(--hit-control-lg)}
.track-card,.artist-card,.news-grid article,.featured-card,.home-promotion-card,.home-release-card,.chart-intro,.player-shell,.subscribe,.orh-empty{border-radius:var(--hit-radius-lg)}
.track-card,.artist-card{padding:18px}.news-grid article,.featured-card,.home-promotion-card{padding:24px}.chart-intro{padding:24px 28px}.player-shell{padding:22px}.subscribe{padding:56px 7vw}.subscriber-form input,.subscribe input,.subscribe textarea,.subscribe select{min-height:var(--hit-control-lg);border-radius:var(--hit-radius-sm)}
.section-head{gap:var(--hit-gap-md);margin-bottom:var(--hit-gap-xl)}.track-grid,.artist-grid,.news-grid{gap:var(--hit-gap-md)}.hero-actions{gap:var(--hit-gap-sm)}
@media(max-width:850px){.section{padding-top:72px;padding-bottom:72px}.section-head{margin-bottom:22px;gap:14px}.track-grid,.artist-grid,.news-grid{gap:14px}.track-card,.artist-card{padding:16px}.news-grid article,.featured-card,.home-promotion-card{padding:20px}.chart-intro{padding:20px}.player-shell{padding:18px}.subscribe{padding:44px 6vw}}
@media(max-width:520px){.section{padding-top:56px;padding-bottom:56px}.section-head{margin-bottom:18px;gap:10px}.track-grid,.artist-grid,.news-grid{gap:12px}.track-card,.artist-card{padding:14px}.news-grid article,.featured-card,.home-promotion-card{padding:18px}.chart-intro{padding:18px}.player-shell{padding:16px}.subscribe{padding:36px 18px}.button,.nav-cta{min-height:44px;padding:11px 18px}.hero-actions{gap:10px}}

/* Shared legal navigation: one desktop row and a vertical mobile list. */
.footer .footer-links{
  display:flex;
  max-width:1400px;
  flex-wrap:wrap;
  gap:4px 8px;
}
.footer .footer-links a{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  white-space:normal;
  overflow-wrap:normal;
}
@media(min-width:1100px){
  .footer{padding-inline:3vw}
  .footer .footer-links{flex-wrap:nowrap}
  .footer .footer-links a{
    white-space:nowrap;
    font-size:clamp(11px,.9vw,12px);
  }
  .footer .footer-links a:not(:last-child)::after{
    content:"·";
    margin-left:8px;
    color:var(--muted);
  }
}
@media(max-width:700px){
  .footer .footer-links{
    flex-direction:column;
    align-items:center;
    gap:2px;
  }
  .footer .footer-links a{
    font-size:13px;
    min-height:40px;
  }
  .footer .footer-links a::after{content:none}
}

/* Compact footer groups, including the listener links. */
.footer{gap:10px;padding-block:26px}
.footer .footer-project-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 18px;width:100%;max-width:1100px;margin:0;font-size:13px;line-height:1.4}
.footer .footer-project-links a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:4px 0;font-size:13px;line-height:1.4;white-space:normal}
.footer .footer-links{flex:0 0 auto;margin:4px 0 0;padding-top:10px;border-top:1px solid var(--hit-line,#e6e1eb);row-gap:0}
.footer .footer-links a{min-height:30px;padding:4px 0;font-size:12px;line-height:1.45}
.footer .footer-copy{margin-top:4px}
@media(max-width:700px){
 .footer{padding:22px 18px 24px;gap:8px}
 .footer .footer-project-links{gap:0 16px}
 .footer .footer-project-links[aria-label="Для слушателей и артистов"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;max-width:360px}
 .footer .footer-links{padding-top:10px;margin-top:2px;gap:0}
 .footer .footer-links a{min-height:30px;max-width:100%;font-size:12px;line-height:1.4;text-align:center}
 .footer:before{margin:0;font-size:9px;line-height:1.4}
}
.footer .orh-visit-counter:not([hidden]){display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #e3def3;border-radius:999px;background:#fff;box-shadow:0 4px 16px rgba(62,42,123,.05);color:#555b75;font-size:12px;line-height:1.2}
.orh-visit-icon{display:inline-flex;width:17px;height:17px;color:#7450cc}.orh-visit-icon svg{width:100%;height:100%}.footer .orh-visit-counter strong{color:#30234e;font-size:13px;font-variant-numeric:tabular-nums}
