/*
 * P25 Pantoufle — separator-only motion — overlay engine.
 * Absolute law: every visible body separator animates; typography/copy never animate.
 */
body.mev-p25-motion-lab{
  --p25-motion-red:#FD0600;
  --p25-motion-black:#000;
  --p25-motion-soft:rgba(0,0,0,.38);
  --p25-motion-ease:cubic-bezier(.18,.72,.22,1);
}

/* Typography/content immutable. */
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 :is(h1,h2,h3,h4,p,blockquote,cite,a,span:not(.mev-p25-motion-line)){
  clip-path:none!important;
  transform:none!important;
  opacity:1!important;
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
}

/* Hosts and technical overlay lines. */
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-host{position:relative!important}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line{
  position:absolute;
  display:block;
  z-index:9;
  pointer-events:none;
  will-change:transform;
}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line--h{
  left:0;right:0;height:1px;
  transform:scaleX(0);
  transition:transform var(--p25-motion-ms,1000ms) var(--p25-motion-ease);
}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line--v{
  top:0;bottom:0;width:1px;
  transform:scaleY(0);
  transition:transform var(--p25-motion-ms,880ms) var(--p25-motion-ease);
}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-dir="ltr"]{transform-origin:0 50%}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-dir="rtl"]{transform-origin:100% 50%}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-dir="ttb"]{transform-origin:50% 0}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-dir="btt"]{transform-origin:50% 100%}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-dir="c2e"]{transform-origin:50% 50%}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line.is-built.mev-p25-motion-line--h{transform:scaleX(1)}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line.is-built.mev-p25-motion-line--v{transform:scaleY(1)}

/* Hero→body D4 uses the same overlay grammar outside the #post-330 proxy. */
html.mev-p25-motion-js body.mev-p25-motion-ref .mev-p25-motion-hero-boundary{
  position:relative!important;
  border-bottom-color:transparent!important;
  overflow:visible!important;
}
html.mev-p25-motion-js body.mev-p25-motion-ref .mev-p25-motion-hero-boundary .mev-p25-motion-line{
  position:absolute;display:block;z-index:9;pointer-events:none;will-change:transform;
}
html.mev-p25-motion-js body.mev-p25-motion-ref .mev-p25-motion-hero-boundary .mev-p25-motion-line--h{
  left:0;right:0;bottom:-1px;height:3px;background:#FD0600;transform:scaleX(0);transform-origin:50% 50%;transition:none!important;
}
html.mev-p25-motion-js body.mev-p25-motion-ref .mev-p25-motion-hero-boundary .mev-p25-motion-line--h.is-building{
  animation:mev-p25-d4-balanced var(--p25-motion-ms,1280ms) linear forwards;
}
html.mev-p25-motion-js body.mev-p25-motion-ref .mev-p25-motion-hero-boundary .mev-p25-motion-line--h.is-built{transform:scaleX(1)!important}

/* Edge positioning. */
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-edge="top"]{top:0}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-edge="bottom"]{bottom:0}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-edge="center"]{top:50%;margin-top:-1.5px}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-edge="left"]{left:0}

/* Tones. */
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-tone="black"]{background:#000}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-tone="soft"]{background:rgba(0,0,0,.38)}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-tone="red-solid"]{background:#FD0600}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-tone="red-gradient"]{
  background:linear-gradient(to right,rgba(253,6,0,0) 0%,rgba(253,6,0,.42) 8%,#FD0600 14%,#FD0600 86%,rgba(253,6,0,.42) 92%,rgba(253,6,0,0) 100%);
}

/* SECTION→SECTION D4: 3px visual line, validated 1280ms balanced profile. */
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-native-section{
  background:transparent!important;
  overflow:visible!important;
}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-role="section"]{
  height:3px!important;
  transition:none!important;
}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-role="section"].is-building{
  animation:mev-p25-d4-balanced var(--p25-motion-ms,1280ms) linear forwards;
}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-role="section"].is-built{transform:scaleX(1)!important}
@keyframes mev-p25-d4-balanced{
  0%{transform:scaleX(0)}
  20%{transform:scaleX(.08)}
  45%{transform:scaleX(.48)}
  70%{transform:scaleX(.80)}
  100%{transform:scaleX(1)}
}

/* Hide native separators; overlays rebuild identical geometry. */
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-native-doctrinal::before,
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-native-doctrinal::after{content:none!important;display:none!important}

html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-native-border[data-mev-p25-native-edge="top"]{border-top-color:transparent!important}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-native-border[data-mev-p25-native-edge="bottom"]{border-bottom-color:transparent!important}

html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-native-pair-black{
  border-top-color:transparent!important;
  border-bottom-color:transparent!important;
  background-image:none!important;
}

html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-native-takeaway::before{content:none!important;display:none!important}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-native-takeaway{border-top-color:transparent!important;border-bottom-color:transparent!important}

html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-native-shazam-v::before{content:none!important;display:none!important}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-native-cycle-v::after{content:none!important;display:none!important}
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-native-prose-v{border-left-color:transparent!important}

@media(min-width:901px){
  html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-native-daypart-v::after{content:none!important;display:none!important}
  html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-native-resource-v::before{content:none!important;display:none!important}
}
@media(max-width:900px){
  html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-native-resource-h::before{content:none!important;display:none!important}
}

/* Daypart row overlays must not disturb background. */
html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-daypart.mev-p25-motion-host{background-image:none!important}

/* Mobile remains horizontal-only for dayparts. */
@media(max-width:900px){
  html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line[data-role^="daypart-v"]{display:none!important}
}

/* Reduced motion resolves immediately. */
@media(prefers-reduced-motion:reduce){
  html.mev-p25-motion-js body.mev-p25-motion-ref #post-330 .mev-p25-motion-line,
  html.mev-p25-motion-js body.mev-p25-motion-ref .mev-p25-motion-hero-boundary .mev-p25-motion-line{
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
}

/* Lab switcher only. */
.mev-p25-motion-switcher{
  position:fixed;z-index:100005;right:12px;bottom:12px;
  width:min(290px,calc(100vw - 24px));padding:10px 12px 12px;
  border:1px solid #000;background:rgba(249,249,239,.97);color:#000;
  font-family:'General Sans',sans-serif;font-size:10px;line-height:1.25;
}
.mev-p25-motion-switcher strong{display:block;margin-bottom:7px;font-size:9px;letter-spacing:.06em;text-transform:uppercase}
.mev-p25-motion-switcher div{display:flex;flex-wrap:wrap;gap:5px 10px}
.mev-p25-motion-switcher a{color:#000!important;text-decoration:none!important;border-bottom:1px solid transparent}
.mev-p25-motion-switcher a:hover,.mev-p25-motion-switcher a:focus-visible{border-bottom-color:#000}
.mev-p25-motion-switcher a[aria-current="page"]{color:#FD0600!important;border-bottom-color:#FD0600}
@media(max-width:900px){.mev-p25-motion-switcher{right:6px;bottom:6px;width:calc(100vw - 12px);padding:8px 9px}}
