/* KARS Arena motion. Loaded in the document head before content is painted. */
.motion-preview { --arena-ease: cubic-bezier(.16,1,.3,1); --arena-fast: cubic-bezier(.22,1,.36,1); }
.motion-enabled .site-header { view-transition-name: kars-header; }
.motion-preview .home-hero .hero-ghost { visibility: hidden; }
/* The head script sets this scope before body parsing. Original app reveals
   cannot expose a card before our observer has started its entrance. */
.motion-enabled.motion-content-ready [data-reveal],
.motion-enabled .motion-pending { opacity: 0 !important; pointer-events: none; }
.motion-enabled .home-hero .hero-title > span,
.motion-enabled .home-hero .hero-photo,
.motion-enabled .athlete-profile-copy,
.motion-enabled .profile-portrait { animation: none; }
.motion-line { display: block; overflow: clip; padding-bottom: .08em; margin-bottom: -.08em; }
.motion-line-inner { display: block; transform-origin: left bottom; }
.motion-preview .motion-card {
  position: relative; isolation: isolate; background: #161315;
  border-color: #514244; clip-path: polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);
}
.motion-enabled .motion-card {
  transform: perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--card-lift,0px));
  transition: transform .5s var(--arena-ease),border-color .25s;
}
.motion-enabled .motion-card:is(:hover,:focus-within) { --card-lift: -8px; border-color: var(--red); }
.motion-preview .motion-card::before {
  content: ''; position: absolute; right: 8px; top: 14px; width: 4px; height: 54px;
  background: var(--red); transform: rotate(32deg); z-index: 4; pointer-events: none;
}
.motion-preview .athlete-card.motion-card { padding: 8px; }
.motion-preview .motion-card .athlete-meta { padding: 20px 8px 12px; gap: 8px 12px; }
.motion-preview .motion-card .athlete-meta h3 { font: 600 clamp(22px,2.15vw,30px)/1.12 var(--font-display); text-transform: uppercase; letter-spacing: -.018em; }
.motion-preview .motion-card .athlete-latin { font-size: 9px; letter-spacing: .12em; }
.motion-preview .motion-card .athlete-disc { font-size: 9px; letter-spacing: .09em; }
.motion-enabled .motion-card .athlete-meta h3 { transition: transform .4s var(--arena-ease),color .25s; }
.motion-enabled .motion-card:is(:hover,:focus-within) .athlete-meta h3 { transform: translateX(4px); color: var(--ink); }
.motion-foil {
  position: absolute; inset: -25%; z-index: 3; pointer-events: none;
  background: linear-gradient(115deg,transparent 33%,rgba(255,249,242,.02) 40%,rgba(255,249,242,.2) 49%,rgba(255,249,242,.03) 57%,transparent 64%);
  opacity: 0; transform: translateX(var(--foil-x,-45%));
}
.motion-enabled .motion-card .motion-foil { transition: opacity .4s,transform .5s var(--arena-ease); }
.motion-enabled .motion-card:is(:hover,:focus-within) .motion-foil { opacity: .7; }
.motion-enabled .motion-card .photo-arrow { transition: transform .4s var(--arena-ease),background .25s; }
.motion-enabled .motion-card:is(:hover,:focus-within) .photo-arrow { transform: rotate(-12deg) scale(1.1); background: var(--red); }
.motion-enabled .motion-card .discipline-link svg { transition: transform .4s var(--arena-ease); }
.motion-enabled .motion-card:is(:hover,:focus-within) .discipline-link svg { transform: translateX(8px); }
.motion-stage { position: absolute; inset: 0; z-index: 2; overflow: hidden; pointer-events: none; }
.motion-stage-word {
  position: absolute; right: 1%; bottom: -4%; font: 600 clamp(150px,25vw,400px)/.86 var(--font-display);
  letter-spacing: -.045em; color: transparent; -webkit-text-stroke: 1px rgba(239,31,47,.18);
}
.motion-stage-rails { position: absolute; top: 0; right: 0; width: 28%; height: 6px; background: var(--red); transform-origin: right; }
.motion-stage-rails::after { content: ''; position: absolute; right: 14%; top: 24px; width: 55%; height: 1px; background: rgba(239,31,47,.45); }
.motion-enabled .motion-stage-word { transform: translateX(calc(var(--scene-progress,0) * -90px)); }
.motion-enabled .motion-stage-rails { transform: scaleX(calc(1 - var(--scene-progress,0) * .5)); }
.motion-enabled .home-hero .hero-photo { transform: translateY(calc(var(--scene-progress,0) * -18px)); }
.motion-enabled .home-hero .home-hero-content { transform: translateY(calc(var(--scene-progress,0) * 38px)); }
.motion-enabled .home-hero .hero-description { opacity: calc(1 - var(--scene-progress,0) * .45); }
.motion-enabled .motion-scroll-title { transform: translateX(var(--heading-drift,0px)); }
.motion-preview .motion-portrait { border: 1px solid #514244; isolation: isolate; }
.motion-enabled .motion-portrait { transform: perspective(1300px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition: transform .6s var(--arena-ease),border-color .3s; }
.motion-enabled .motion-portrait:is(:hover,:focus-within) { border-color: var(--red); }
.motion-portrait .motion-foil { opacity: 0; transition: opacity .4s,transform .6s var(--arena-ease); }
.motion-enabled .motion-portrait:hover .motion-foil { opacity: .45; }
.motion-preview .motion-portrait::before { content: ''; position: absolute; z-index: 4; right: 20px; top: 20px; width: 45px; height: 45px; border-top: 2px solid var(--red); border-right: 1px solid var(--red); pointer-events: none; }
.motion-enabled .hero-achievements li { transition: background .3s,transform .35s var(--arena-ease); }
.motion-enabled .hero-achievements li:hover { transform: translateX(8px); background: rgba(239,31,47,.035); }
.motion-enabled .button svg { transition: transform .35s var(--arena-ease); }
.motion-enabled .button:is(:hover,:focus-visible) svg { transform: translateX(5px); }
.motion-enabled::view-transition { pointer-events: none; }
.motion-enabled::view-transition-group(*) { animation-duration: .7s; animation-timing-function: var(--arena-ease); }
.motion-enabled::view-transition-old(root) { animation: arena-scene-out .5s var(--arena-fast) both; mix-blend-mode: normal; }
.motion-enabled::view-transition-new(root) { animation: arena-scene-in .65s var(--arena-ease) both; mix-blend-mode: normal; }
.motion-enabled::view-transition-group(kars-header) { z-index: 7; animation: none; }
.motion-enabled::view-transition-old(kars-header) { animation: none; }
.motion-enabled::view-transition-new(kars-header) { animation: none; }
.motion-enabled::view-transition-group(kars-fighter) { z-index: 4; overflow: clip; }
.motion-enabled::view-transition-old(kars-fighter) { animation: arena-photo-out .55s linear both; }
.motion-enabled::view-transition-new(kars-fighter) { animation: arena-photo-in .6s linear both; }
.motion-enabled:active-view-transition-type(arena-back)::view-transition-old(root) { animation-name: arena-scene-out-back; }
.motion-enabled:active-view-transition-type(arena-back)::view-transition-new(root) { animation-name: arena-scene-in-back; }
@keyframes arena-scene-out { to { transform: translateX(-14%) scale(.96); opacity: 0; clip-path: polygon(0 0,48% 0,22% 100%,0 100%); } }
@keyframes arena-scene-in { from { transform: translateX(8%); clip-path: polygon(100% 0,100% 0,100% 100%,76% 100%); } to { transform: none; clip-path: polygon(0 0,100% 0,100% 100%,0 100%); } }
@keyframes arena-scene-out-back { to { transform: translateX(14%) scale(.96); opacity: 0; clip-path: polygon(52% 0,100% 0,100% 100%,78% 100%); } }
@keyframes arena-scene-in-back { from { transform: translateX(-8%); clip-path: polygon(0 0,0 0,24% 100%,0 100%); } to { transform: none; clip-path: polygon(0 0,100% 0,100% 100%,0 100%); } }
@keyframes arena-photo-out { 0%,25% { opacity: 1; } to { opacity: 0; } }
@keyframes arena-photo-in { from { opacity: 0; } 60%,100% { opacity: 1; } }
@media (max-width:760px) {
  .motion-stage-word { font-size: clamp(150px,46vw,250px); right: -8%; bottom: 2%; }
  .motion-preview .motion-card .athlete-meta h3 { font-size: 24px; }
  .motion-preview .motion-card .athlete-meta { padding: 16px 4px 8px; }
  .motion-preview .motion-portrait::before { top: 12px; right: 12px; width: 30px; height: 30px; }
}
@media (hover:none) {
  .motion-enabled .motion-card,.motion-enabled .motion-portrait { transform: none; }
  .motion-enabled .motion-card:is(:hover,:focus-within) { --card-lift: 0px; }
}
@media (prefers-reduced-motion:reduce) {
  .motion-preview .motion-card,.motion-preview .motion-portrait,.motion-preview .motion-line-inner,.motion-preview .motion-scroll-title { transform: none !important; }
  .motion-preview .motion-foil { display: none; }
  .motion-preview::view-transition-group(*),.motion-preview::view-transition-old(*),.motion-preview::view-transition-new(*) { animation: none !important; }
}
