/* ===== Hero: единые кнопки и новый логотип К ===== */
/* кнопки: одинаковый размер, форма и выравнивание (десктоп) */
@media (min-width:901px){
  .hero .hero-cta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:700px;align-items:stretch}
  .hero.kpos .hero-g>div:first-child{max-width:min(60%,740px)}
}
.hero .hero-cta .btn{display:flex;align-items:center;justify-content:center;gap:0;margin:0;min-height:58px;padding:.7em 1em;text-align:center;
  font-size:13.5px;font-weight:800;letter-spacing:.04em;line-height:1.15;text-transform:uppercase;box-shadow:none;translate:none}
.hero .hero-cta .btn::after{display:none!important}
.hero .hero-cta .btn.blk{background:var(--red);color:#fff;--sw:#fff}
.hero .hero-cta .btn.blk:hover{background:var(--red);color:var(--black)}
.hero .hero-cta .btn.ln{background:rgba(255,255,255,.14);color:#fff;box-shadow:none;--sw:#fff}
.hero .hero-cta .btn.ln:hover{background:rgba(255,255,255,.14);color:var(--black)}

/* логотип К */
.kmo{width:min(42%,560px);animation:none!important;transform:none!important;translate:none!important}
.hero.kpos .kmo{position:absolute;right:0;top:170px;z-index:2}
.kmo-svg{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45)) drop-shadow(0 0 70px rgba(252,44,44,.22))}
.km-beige{fill:var(--beige)}
.km-graph{fill:#1E1E1E;opacity:.92}
.km-sheen{opacity:.0}
@media (max-width:900px){.kmo{position:static!important;width:min(70%,320px);margin:28px 0 0}}

/* движение: собирается один раз, затем редкий блик (только transform/opacity — не нагружает страницу) */
.kmo .km-body{animation:kmIn 1s var(--ease) both!important}
.kmo .km-beige,.kmo .km-graph{animation:kmAcc .7s .8s ease both!important}
.kmo .km-sheen{animation:kmSheen 9s 2s ease-in-out infinite!important}
/* (общее правило «без анимаций» перебиваем только для логотипа К) */
@keyframes kmIn{from{transform:translate(-22px,26px);opacity:0}to{transform:none;opacity:1}}
@keyframes kmAcc{from{opacity:0}to{opacity:1}}
@keyframes kmSheen{0%,70%{opacity:0;transform:skewX(-18deg) translateX(0)}74%{opacity:1}92%{opacity:1}96%,100%{opacity:0;transform:skewX(-18deg) translateX(420px)}}

/* ===== Строка слов «Теория · Практика · Экзамен · Права» — статичная, помещается целиком ===== */
.mqs-s{display:block;margin-bottom:clamp(36px,6vw,80px);padding:0 clamp(16px,4vw,48px)}
.mq-s{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:clamp(12px,1.6vw,26px);max-width:1360px;margin:0 auto}
.mq-s .mw{padding:0;font-size:clamp(26px,3.9vw,66px);letter-spacing:-.04em;white-space:nowrap;-webkit-text-stroke:1.5px rgba(255,255,255,.7)}
.mq-s .mw:last-of-type{color:var(--red);-webkit-text-stroke:0}
.mq-s .st{width:clamp(20px,2.6vw,42px);height:clamp(14px,1.8vw,29px);margin:0;background:var(--red)}
@media (max-width:999px){.mq-s{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;justify-items:center}.mq-s .st{display:none}.mq-s .mw{font-size:clamp(30px,8.5vw,64px)}}
@media (max-width:480px){.mq-s{grid-template-columns:1fr}.mq-s .mw{font-size:clamp(38px,13vw,60px)}}

/* ===== Главный заголовок первого экрана ===== */
.hero .hk{margin:0 0 14px;font-size:clamp(12px,1.05vw,14px);font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--beige);display:flex;align-items:center;gap:12px}
.hero .hk::before{content:"";width:34px;height:3px;background:var(--red);flex:none}
.hero.cine h1{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;margin:0 0 clamp(18px,2.2vw,30px);
  font-size:clamp(34px,5vw,78px);line-height:.94;letter-spacing:-.035em;color:#fff;animation:none}
.hero.cine h1 span:last-child{color:var(--red)}
.hero.cine .lead{font-size:clamp(17px,1.55vw,22px);font-weight:600;line-height:1.38;letter-spacing:0;max-width:27em;color:rgba(255,255,255,.86);margin-bottom:clamp(22px,2.6vw,34px)}
@media (max-width:900px){.hero.cine h1{font-size:clamp(28px,8.8vw,64px)}}
