/* Анимации из библиотеки: срабатывают один раз при появлении блока.
   Отключаются системной настройкой «уменьшить движение». */
@keyframes omRise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes omFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes omBarX { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes omBarY { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes omStroke { from { stroke-dashoffset: 240; } to { stroke-dashoffset: 0; } }
@keyframes omPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(240,106,0,.42); } 50% { box-shadow: 0 0 0 10px rgba(240,106,0,0); } }
@keyframes omDrip { 0% { transform: translateY(-6px); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateY(16px); opacity: 0; } }
.om-rise { opacity: 0; }
.om-in .om-rise { animation: omRise .62s cubic-bezier(.22,.7,.28,1) both; }
.om-fade { opacity: 0; }
.om-in .om-fade { animation: omFade .8s ease both; }
.om-barx { transform: scaleX(0); transform-origin: left center; }
.om-in .om-barx { animation: omBarX .9s cubic-bezier(.22,.7,.28,1) both; }
.om-bary { transform: scaleY(0); transform-origin: top center; }
.om-in .om-bary { animation: omBarY 1s cubic-bezier(.22,.7,.28,1) both; }
.om-line { stroke-dasharray: 240; stroke-dashoffset: 240; }
.om-in .om-line { animation: omStroke 1.1s ease both; }
.om-pulse { animation: omPulse 2.6s ease-in-out infinite; }
.om-drip { animation: omDrip 2.2s ease-in-out infinite; }
.om-hdr { transition: padding .22s cubic-bezier(.22,.7,.28,1), background .22s, box-shadow .22s; }
.om-hdr.om-small { padding-top: 8px; padding-bottom: 8px; box-shadow: 0 8px 28px rgba(0,0,0,.32); }
.om-hdr .om-logo { transition: font-size .22s cubic-bezier(.22,.7,.28,1); }
.om-hdr.om-small .om-logo { font-size: 18px; }
.om-hdr .om-sub { max-height: 22px; opacity: 1; overflow: hidden; transition: max-height .22s, opacity .18s; }
.om-hdr.om-small .om-sub { max-height: 0; opacity: 0; }
.om-progress { height: 3px; background: #F06A00; width: 0; transition: width .1s linear; }
.om-acc { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .32s cubic-bezier(.22,.7,.28,1); }
.om-acc.om-open { grid-template-rows: 1fr; }
.om-acc > div { overflow: hidden; }
.om-accbtn { transition: background .18s; }
.om-accbtn:hover { background: #E8EFF5; }
.om-accchev { transition: transform .3s cubic-bezier(.22,.7,.28,1); }
.om-open-chev { transform: rotate(-135deg) translate(-2px, -2px); }
.om-press { transition: transform .12s cubic-bezier(.3,.7,.4,1), background .15s; }
.om-press:active { transform: scale(.97); }
.om-anchor { scroll-behavior: smooth; }
.om-shot { transition: opacity .7s ease, transform .7s cubic-bezier(.22,.7,.28,1), filter .7s ease; opacity: 0; transform: scale(1.04); filter: blur(6px); }
.om-in .om-shot { opacity: 1; transform: none; filter: none; }
.om-card { transition: transform .22s cubic-bezier(.22,.7,.28,1), border-color .22s, box-shadow .22s; }
.om-card:hover { transform: translateY(-4px); border-color: #1573AE; box-shadow: 0 1px 2px rgba(15,30,40,.06), 0 14px 34px rgba(15,30,40,.12); }
.om-card .om-ic { transition: transform .22s cubic-bezier(.22,.7,.28,1); }
.om-card:hover .om-ic { transform: translateY(-3px) scale(1.06); }
.om-card .om-arrow { transition: transform .22s; }
.om-card:hover .om-arrow { transform: translateX(5px); }
.om-row { transition: background .18s, padding-left .18s; }
.om-row:hover { background: #E8EFF5; padding-left: 8px; }
.om-uline { background-image: linear-gradient(#F06A00, #F06A00); background-size: 0% 2px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .28s; text-decoration: none; }
.om-uline:hover { background-size: 100% 2px; }

@media (prefers-reduced-motion: reduce) {
    .om-rise, .om-fade, .om-barx, .om-bary, .om-line { opacity: 1 !important; transform: none !important; stroke-dashoffset: 0 !important; animation: none !important; }
    .om-pulse, .om-drip { animation: none !important; }
  }
