/* One owner for positional animation. Content stays visible if Motion fails. */
:root { --pm-ease: cubic-bezier(.22,1,.36,1); }
/* Disable the old page/child entrance pair even before scripts initialize. */
.page-main,.page-kicker,.page-title,.page-lead,.toolbar,.panel,.contact-card,.faq-item,.lesson,.audience-card,.audience-hero > *,.hero h1,.hero p,.tabs-nav,.timeline-card {
  animation:none!important;
  opacity:1;
}
.site-motion .motion-owned,
.site-motion .motion-owned:hover,
.site-motion .motion-owned[open] {
  --motion-scale:1;
  scale:var(--motion-scale);
  animation:none!important;
  transform:none!important;
  transform-style:flat!important;
  perspective:none!important;
  will-change:auto!important;
  transition:border-color 180ms ease,box-shadow 180ms ease,background-color 180ms ease!important;
}
/* translate belongs to Motion; old stylesheet transform rules cannot compete. */
.pm-reveal,.reveal-3d,.timeline-card { opacity:1; transform:none; }
.site-motion .page-main { transform:none!important; will-change:auto!important; }
.site-motion .hero h1,.site-motion .hero p,.site-motion .tabs-nav {transform:none; opacity:1;}
.site-motion .shape,.site-motion .bg-tag {animation:none!important; will-change:auto!important;}
.site-motion #progress-bar {width:100%; transform-origin:left; scale:0 1; transition:none; animation:none;}
.site-motion .faq-answer {animation:none;}
.site-motion .modal-overlay .modal-box,
.site-motion .section-modal .section-modal-box,
.site-motion .requisites-modal .requisites-dialog,
.site-motion .deep-view .deep-view-shell,
.site-motion .enroll-overlay .enroll-box {animation:none!important; transition:none!important;}
/* Keep colors and emphasis; don't create another positional animation owner. */
.toolbar input,.toolbar select,.material-lookup input {transition:border-color 180ms ease,box-shadow 180ms ease;}
.motion-owned:focus-within {border-color:#CA0F3E;}
#newsGrid .news-card-cover {transition:transform 280ms var(--pm-ease);}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  #newsGrid .card:hover .news-card-cover {transform:scale(1.025);}
}
.faq-item summary {position:relative;}
@media(prefers-reduced-motion:reduce) {
  .motion-owned,.shape {translate:none!important;}
  #newsGrid .news-card-cover {transition:none;transform:none!important;}
}

/* Visible accents, still with a single positional owner. */
.motion-heading {position:relative;}
.motion-heading::after {
  content:"";position:absolute;left:0;bottom:-12px;
  width:clamp(64px,10vw,112px);height:3px;border-radius:999px;
  background:linear-gradient(90deg,#CA0F3E,#FF5F61,transparent);
  transform:scaleX(var(--motion-line,1));transform-origin:left;pointer-events:none;
}
.hero .motion-heading::after {left:50%;margin-left:-56px;}
.motion-card {isolation:isolate;}
.motion-sheen {
  position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;opacity:0;
  background:radial-gradient(320px circle at var(--light-x,50%) var(--light-y,50%),rgba(255,255,255,.19),rgba(202,15,62,.08) 36%,transparent 72%);
  transition:opacity 200ms ease;
}
[data-theme="light"] .motion-sheen {background:radial-gradient(320px circle at var(--light-x,50%) var(--light-y,50%),rgba(202,15,62,.15),transparent 68%);}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .motion-card:hover>.motion-sheen {opacity:1;}
}
@media(prefers-reduced-motion:reduce) {
  .motion-owned {scale:1!important;}
  .motion-sheen {display:none;}
  .motion-heading::after {transform:none;}
}
