* { box-sizing: border-box; }
  .wr-in { max-width: 1280px; margin: 0 auto; width: 100%; }
  html { scroll-behavior: smooth; scroll-padding-top: 88px; touch-action: pan-x pan-y; }
  body { margin: 0; touch-action: pan-x pan-y; }
  a { color: inherit; text-decoration: none; transition: opacity .15s, color .15s; }
  a:hover { opacity: 0.7; }
  p a, .wr-cookie-text a, .wr-doc a, .wr-doc ol a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
  h1, h2 { text-wrap: balance; }

  /* фокус с клавиатуры — кольцо из токенов веба: 2px accent, отступ 2 */
  :focus-visible { outline: 2px solid #243b6b; outline-offset: 2px; border-radius: 4px; }
  .wr-dark :focus-visible { outline-color: #ffffff; }
  .wr-btn:focus-visible { border-radius: 999px; }
  .wr-input:focus-visible { outline: none; border-color: #243b6b !important; box-shadow: 0 0 0 3px rgba(36,59,107,0.18); }
  .wr-input { transition: border-color .15s, box-shadow .15s; }
  .wr-input[aria-invalid="true"] { border-color: #e03131 !important; }
  .wr-input::placeholder { color: #666666; }
  .wr-field { position: relative; }
  .wr-field .wr-ok { position: absolute; right: 16px; top: 16px; pointer-events: none; animation: wr-pop-in .25s cubic-bezier(.2,.8,.2,1) both; }
  .wr-err { font-size: 13px; line-height: 1.4; color: #e03131; margin: 6px 0 0 16px; animation: wr-fade-in .2s ease both; }
  .wr-input[aria-invalid="true"]:focus-visible { border-color: #e03131 !important; box-shadow: 0 0 0 3px rgba(224,49,49,0.15); }
  @keyframes wr-pop-in { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: none; } }

  /* кнопки */
  .wr-btn { transition: background-color .18s, transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s, opacity .15s; }
  .wr-btn:hover { transform: translateY(-1px); }
  .wr-btn:active { transform: translateY(0) scale(0.98); }
  .wr-btn-primary { background: linear-gradient(90deg, #3457a8 0%, #243b6b 100%) !important; }
  .wr-btn-primary:hover { background: linear-gradient(90deg, #2b4a92 0%, #1a2c50 100%) !important; box-shadow: 0 10px 24px -12px rgba(36,59,107,.6); }
  .wr-btn-ink:hover { background: #333333 !important; }
  .wr-btn-white:hover { background: #f0ede8 !important; }
  .wr-btn-soft:hover { background: #e8e8e8 !important; }
  .wr-btn-outline:hover { background: #111111 !important; color: #ffffff !important; }
  .wr-btn-ghost { transition: background-color .18s, border-color .18s, transform .18s; }
  .wr-btn-ghost:hover { background: rgba(255,255,255,0.06) !important; border-color: #555555 !important; }

  /* зоны нажатия для текстовых ссылок ≥ 44 без изменения ритма */
  .wr-nav-links a { padding: 12px 0; margin: -12px 0; position: relative; }
  .wr-nav-links a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 8px; height: 1.5px; background: #243b6b; transform: scaleX(0); transform-origin: left; transition: transform .25s cubic-bezier(.2,.8,.2,1); }
  .wr-nav-links a:hover { opacity: 1; color: #111111; }
  .wr-nav-links a:hover::after, .wr-nav-links a.is-current::after { transform: scaleX(1); }
  .wr-nav-links a.is-current { color: #111111; font-weight: 600; }
  .wr-foot-links a, .wr-foot-links button { padding: 6px 0; margin: -6px 0; }
  .wr-legal a { padding: 12px 0; margin: -12px 0; }

  /* шапка */
  .wr-nav { position: sticky; top: 0; z-index: 500; background: rgba(255,255,255,0.86); -webkit-backdrop-filter: saturate(180%) blur(14px); backdrop-filter: saturate(180%) blur(14px); }
  .wr-burger { display: none; width: 40px; height: 40px; align-items: center; justify-content: center; border: none; background: transparent; border-radius: 50%; cursor: pointer; color: #111111; margin-right: -8px; }
  .wr-burger:hover { background: #f5f5f5; }
  .wr-menu { position: absolute; left: 0; right: 0; top: 100%; background: #ffffff; border-bottom: 1px solid #e8e8e8; padding: 4px 20px 20px; box-shadow: 0 30px 40px -30px rgba(17,17,17,.35); animation: wr-drop .28s cubic-bezier(.2,.8,.2,1) both; }
  .wr-menu a { display: block; padding: 15px 0; font-size: 17px; font-weight: 500; color: #111111; border-bottom: 1px solid #e8e8e8; }
  .wr-menu a:last-of-type { border-bottom: none; }
  .wr-menu .wr-proof { background: transparent !important; border: none !important; padding-left: 0 !important; height: auto !important; }
  .wr-menu a:hover { opacity: 1; color: #243b6b; }
  .wr-lang-row { display: flex; align-items: center; padding: 18px 0 0; }
  .wr-seg-wrap { display: inline-flex; padding: 3px; border-radius: 999px; background: #f1f1f1; }
  .wr-menu .wr-seg { display: inline-flex; align-items: center; height: 32px; padding: 0 16px; border: none; border-radius: 999px; font-size: 14px; font-weight: 500; color: #333333; }
  .wr-menu .wr-seg.is-on { background: #111111; color: #ffffff; }
  .wr-menu a.wr-seg:hover { color: #111111; opacity: 1; }
  .wr-lang:hover { opacity: 1; color: #243b6b; }

  .wr-select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 44px !important; }
  .wr-select.is-empty { color: #666666 !important; }

  .wr-tab { background: transparent; color: #666666; position: relative; z-index: 1; transition: color .25s; }
  .wr-tab[aria-selected="true"] { color: #ffffff; }
  .wr-tab-ind { position: absolute; top: 4px; left: 4px; height: calc(100% - 8px); width: 0; border-radius: 100px; background: linear-gradient(90deg, #3457a8 0%, #243b6b 100%); transition: transform .35s cubic-bezier(.2,.8,.2,1), width .35s cubic-bezier(.2,.8,.2,1); will-change: transform; }
  .wr-tab:not([aria-selected="true"]):hover { color: #111111; }

  .wr-hero-glow { position: absolute; left: 0; top: 0; width: 720px; height: 720px; margin: -360px 0 0 -360px; border-radius: 50%; background: radial-gradient(circle, rgba(219,229,250,0.9) 0%, rgba(219,229,250,0.45) 35%, rgba(219,229,250,0) 70%); opacity: 0; pointer-events: none; transition: opacity .6s ease; will-change: transform; }
  .wr-hero.is-glow .wr-hero-glow { opacity: 1; }
  @media (hover: none), (max-width: 640px) { .wr-hero-glow { display: none; } }
  @keyframes wr-stamp { 0% { opacity: 0; transform: scale(2.2) rotate(-10deg); } 45% { opacity: 1; transform: scale(0.9) rotate(3deg); } 70% { opacity: 1; transform: scale(1.06) rotate(-1.5deg); } 100% { opacity: 1; transform: scale(1) rotate(0); } }
  @keyframes wr-stamp-ring { 0% { box-shadow: 0 0 0 0 rgba(17,17,17,0.25); } 100% { box-shadow: 0 0 0 18px rgba(17,17,17,0); } }
  html.wr-js .wr-cert .wr-cert-badge { opacity: 0; }
  html.wr-js .wr-cert.is-in .wr-cert-badge { animation: wr-stamp 1s cubic-bezier(.2,.8,.2,1) .5s both, wr-stamp-ring .9s ease-out 1s both; }
  html.wr-js .wr-cert .wr-cert-qr { opacity: 0; }
  html.wr-js .wr-cert.is-in .wr-cert-qr { animation: wr-fade-in .6s ease 1.2s both; }
  /* движение */
  @keyframes wr-reel { from { transform: translateY(0); } to { transform: translateY(-50%); } }
  .wr-reel-track { animation: wr-reel 60s linear infinite; }
  @keyframes wr-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
  .wr-rise { animation: wr-rise .8s cubic-bezier(.2,.7,.2,1) both; }
  .wr-rise-2 { animation-delay: .08s; } .wr-rise-3 { animation-delay: .16s; } .wr-rise-4 { animation-delay: .24s; } .wr-rise-5 { animation-delay: .34s; }
  html.wr-js .wr-reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
  html.wr-js .wr-reveal.is-in { opacity: 1; transform: none; }
  html.wr-js .wr-reveal-2 { transition-delay: .1s; }
  html.wr-js .wr-reveal-3 { transition-delay: .2s; }
  @keyframes wr-fade-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
  .wr-panel { animation: wr-fade-in .4s cubic-bezier(.2,.7,.2,1) both; }
  @keyframes wr-drop { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
  @keyframes wr-fade { from { opacity: 0; } to { opacity: 1; } }
  @keyframes wr-pop { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }
  @keyframes wr-slide-up { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
  .wr-modal-wrap { animation: wr-fade .22s ease both; }
  .wr-modal { animation: wr-pop .32s cubic-bezier(.2,.8,.2,1) both; }
  .wr-cookie { animation: wr-slide-up .5s cubic-bezier(.2,.8,.2,1) both; animation-delay: .7s; }
  .wr-cert { transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s; }
  .wr-cert:hover { transform: translateY(-4px); box-shadow: 0 40px 70px -34px rgba(36,59,107,0.45) !important; }
  .wr-slider { max-width: 780px; margin: 0 auto; }
  .wr-covers { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 24px calc(50% - 120px) 56px; margin-bottom: -20px; }
  .wr-covers::-webkit-scrollbar { display: none; }
  .wr-covers:focus-visible { outline: 2px solid #243b6b; outline-offset: 4px; border-radius: 12px; }
  .wr-play { position: absolute; inset: 0; background: rgba(8,10,16,0.28); display: flex; align-items: center; justify-content: center; transition: opacity .25s ease; }
  .wr-play-btn { width: 64px; height: 64px; border-radius: 50%; background: rgba(255,255,255,0.92); display: flex; align-items: center; justify-content: center; transition: transform .25s cubic-bezier(.2,.8,.2,1); }
  .wr-play-tri { width: 0; height: 0; border-left: 19px solid #243b6b; border-top: 12px solid transparent; border-bottom: 12px solid transparent; margin-left: 4px; }
  .wr-cover-main:hover .wr-play-btn { transform: scale(1.08); }
  .wr-trailer.is-playing .wr-play { opacity: 0; pointer-events: none; }
  .wr-trailer.is-loading .wr-play-btn { animation: wr-pulse 1s ease-in-out infinite; }
  @keyframes wr-pulse { 50% { transform: scale(0.9); opacity: .7; } }
  .wr-cover { flex: 0 0 240px; width: 240px; aspect-ratio: 9/16; scroll-snap-align: center; position: relative; overflow: hidden; border-radius: 28px; background: #15131A; cursor: pointer; transform-origin: center; box-shadow: 0 24px 50px -22px rgba(36,59,107,0.5); user-select: none; }
  .wr-slider-nav { display: flex; justify-content: center; gap: 12px; }
  .wr-slider-btn { width: 44px; height: 44px; border-radius: 50%; border: 1px solid #e8e8e8; background: #ffffff; color: #111111; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
  .wr-slider-btn:hover { background: #f5f5f5; }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .wr-reel-track { animation: none; }
    .wr-btn, a, .wr-cert { transition: none; }
    .wr-rise, .wr-panel, .wr-modal-wrap, .wr-modal, .wr-cookie, .wr-menu { animation: none; }
    html.wr-js .wr-cert .wr-cert-badge, html.wr-js .wr-cert .wr-cert-qr { opacity: 1; animation: none; }
    .wr-tab-ind { transition: none; }
    .wr-hero-glow { display: none; }
    html.wr-js .wr-reveal { opacity: 1; transform: none; transition: none; }
  }

  @media (max-width: 960px) { .wr-nav-right .wr-proof, .wr-nav-right .wr-lang { display: none !important; } }
  @media (max-width: 640px) {
    .wr-nav { padding: 12px 20px !important; gap: 12px !important; }
    .wr-nav-logo { font-size: 24px !important; }
    .wr-nav-links { display: none !important; }
    .wr-nav-right { margin-left: auto; }
    .wr-nav-cta { height: 36px !important; font-size: 13px !important; padding: 0 16px !important; }
    .wr-burger { display: inline-flex; }
    .wr-reel { height: 380px !important; }
    .wr-hero-text, .wr-cert-text { text-align: center; }
    .wr-hero-text p, .wr-cert-text p { margin-left: auto !important; margin-right: auto !important; }
    .wr-cookie { left: 12px !important; right: 12px !important; bottom: 12px !important; width: auto !important; max-width: none !important; }
    .wr-cookie-inner { padding: 18px !important; gap: 14px !important; }
    .wr-modal-wrap { padding: 16px !important; align-items: flex-end !important; }
    .wr-modal { padding: 32px 22px 24px !important; border-radius: 28px !important; animation-name: wr-slide-up; }
    .wr-cert { padding: 24px 20px !important; }
    .wr-slider { max-width: none; margin: 0 -20px; }
    .wr-covers { gap: 14px; padding: 20px calc(50% - 34vw) 60px; }
    .wr-cover { flex-basis: 68vw; width: 68vw; }
    .wr-slider-nav { display: none; }
    .wr-footer-pad { padding-left: 20px !important; padding-right: 20px !important; }
    .wr-cta-band { grid-template-columns: 1fr !important; gap: 24px !important; }
    .wr-cta-side { justify-self: start !important; }
    .wr-legal { flex-direction: column; align-items: flex-start !important; gap: 0 !important; }
    .wr-legal-links { flex-direction: column; gap: 0 !important; }
    .wr-legal-links a { padding: 5px 0; margin: 0; }
    .wr-legal-copy { order: 2; padding-top: 10px; }
    .wr-doc { padding: 40px 20px 56px !important; }
    .wr-doc h1 { font-size: 32px !important; }
    .wr-page-hero { padding: 40px 20px 32px !important; }
    .wr-page-hero h1 { font-size: 34px !important; }
    .wr-page-body { padding: 0 20px 56px !important; }
    .wr-pillars { grid-template-columns: 1fr !important; }
    .wr-contacts { grid-template-columns: 1fr !important; }
  }
