/*
 * P25 Pantoufle — Case Study candidate — 2026-09-06
 * BUILD FRESH. System, not template.
 */
body.page-id-330{
  --p25-copy:880px;
  --p25-gap:64px;
  --p25-gutter:24px;
  --p25-red:#FD0600;
  --p25-grey:#EFF0E9;
  --p25-beige:#F9F9EF;
  --p25-black:#000;
}

/* Case Studies Hero dialect: the final place name resolves inside a 1000px desktop stage. */
body.page-id-330 .mev-hero__resolve--name{
  width:min(1000px,calc(100vw - 48px));
  max-width:1000px;
}

/* ---------------------------------------------------------------
 * P25 Hero geometry hypotheses — DRAFT ONLY.
 * takeover: navigation remains visible; the reading band unfolds into place.
 * splash  : full-screen opening without interface, then reveal of the normal Hero.
 * --------------------------------------------------------------- */
body.page-id-330.mev-p25-hero-takeover:not(.mev-p25-intro-settled) .mev-hero__band{
  max-height:0;
  padding-block:0;
  border-top-width:0;
  border-bottom-width:0;
  opacity:0;
  transform:translateY(18px);
  overflow:hidden;
}
body.page-id-330.mev-p25-hero-takeover .mev-hero__band{
  max-height:360px;
  transition:max-height 480ms cubic-bezier(.22,.61,.36,1),
             padding 480ms cubic-bezier(.22,.61,.36,1),
             border-width 300ms ease,
             opacity 260ms ease 80ms,
             transform 480ms cubic-bezier(.22,.61,.36,1);
}
body.page-id-330.mev-p25-hero-takeover.mev-p25-intro-settled .mev-hero__band{
  max-height:360px;
  padding-block:var(--mev-gap);
  border-top-width:var(--mev-liseré);
  border-bottom-width:var(--mev-liseré);
  opacity:1;
  transform:translateY(0);
}

body.page-id-330.mev-p25-hero-splash::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:99990;
  background:var(--p25-beige);
  opacity:1;
  pointer-events:none;
}
body.page-id-330.mev-p25-hero-splash:not(.mev-p25-intro-settled){overflow:hidden!important}
body.page-id-330.mev-p25-hero-splash:not(.mev-p25-intro-settled) .mev-hero{
  position:fixed;
  inset:0;
  z-index:99999;
  width:100vw;
  height:100svh;
  min-height:100svh;
  opacity:1;
  background:var(--mev-beige-01);
  transition:opacity 160ms ease;
}
body.page-id-330.mev-p25-hero-splash:not(.mev-p25-intro-settled) .mev-hero__band{display:none}
body.page-id-330.mev-p25-hero-splash.mev-p25-intro-exit .mev-hero{opacity:0}
body.page-id-330.mev-p25-hero-splash.mev-p25-intro-settled::before{
  opacity:0;
  transition:opacity 240ms ease;
}
body.page-id-330.mev-p25-hero-splash.mev-p25-intro-settled .mev-hero{
  position:relative;
  inset:auto;
  z-index:auto;
  width:auto;
  height:auto;
  opacity:1;
}

@media (prefers-reduced-motion:reduce){
  body.page-id-330.mev-p25-hero-takeover .mev-hero__band{
    max-height:none!important;
    padding-block:var(--mev-gap)!important;
    border-top-width:var(--mev-liseré)!important;
    border-bottom-width:var(--mev-liseré)!important;
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  body.page-id-330.mev-p25-hero-splash::before{display:none!important}
  body.page-id-330.mev-p25-hero-splash .mev-hero{
    position:relative!important;
    inset:auto!important;
    width:auto!important;
    height:auto!important;
    min-height:calc(100svh - var(--mev-header))!important;
    opacity:1!important;
    transition:none!important;
  }
  body.page-id-330.mev-p25-hero-splash .mev-hero__band{display:block!important}
}

/* ---------------------------------------------------------------
 * P25 Hero comparison hypotheses — DRAFT ONLY.
 * ref     : resolved name stays perfectly fixed.
 * typo    : micro-compression typographique at resolution.
 * line    : black internal separator draws after resolution.
 * cascade : lower editorial band enters in a short sequence.
 * reveal  : the whole lower band enters in one short movement.
 * --------------------------------------------------------------- */
body.page-id-330.mev-p25-hero-typo .mev-hero__resolve--name .mev-hero__name{
  transform:scaleX(1.06);
  transform-origin:center center;
  transition:transform 420ms cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
body.page-id-330.mev-p25-hero-typo .mev-hero__resolve--name.is-on .mev-hero__name{
  transform:scaleX(1);
}

body.page-id-330.mev-p25-hero-line .mev-hero__band{
  position:relative;
  border-top-color:transparent;
}
body.page-id-330.mev-p25-hero-line .mev-hero__band::before{
  content:"";
  position:absolute;
  z-index:2;
  top:-1px;
  left:0;
  width:100%;
  height:1px;
  background:var(--mev-liseré-entree,#000);
  transform:scaleX(0);
  transform-origin:center center;
}
body.page-id-330.mev-p25-hero-line .mev-hero.is-resolved .mev-hero__band::before{
  animation:mev-p25-line-reveal 700ms cubic-bezier(.22,.61,.36,1) 280ms forwards;
}
@keyframes mev-p25-line-reveal{
  to{transform:scaleX(1)}
}

body.page-id-330.mev-p25-hero-cascade .mev-hero__h1,
body.page-id-330.mev-p25-hero-cascade .mev-hero__canon,
body.page-id-330.mev-p25-hero-cascade .mev-hero__cta{
  opacity:0;
  transform:translateY(8px);
  transition:opacity 220ms ease,transform 220ms cubic-bezier(.22,.61,.36,1);
}
body.page-id-330.mev-p25-hero-cascade .mev-hero.is-resolved .mev-hero__h1,
body.page-id-330.mev-p25-hero-cascade .mev-hero.is-resolved .mev-hero__cta{
  opacity:1;
  transform:translateY(0);
}
body.page-id-330.mev-p25-hero-cascade .mev-hero.is-resolved .mev-hero__canon{
  opacity:.82;
  transform:translateY(0);
}
body.page-id-330.mev-p25-hero-cascade .mev-hero.is-resolved .mev-hero__h1{transition-delay:280ms}
body.page-id-330.mev-p25-hero-cascade .mev-hero.is-resolved .mev-hero__canon{transition-delay:370ms}
body.page-id-330.mev-p25-hero-cascade .mev-hero.is-resolved .mev-hero__cta{transition-delay:460ms}

body.page-id-330.mev-p25-hero-reveal .mev-hero__band{
  opacity:0;
  transform:translateY(14px);
  transition:opacity 240ms ease,transform 240ms cubic-bezier(.22,.61,.36,1);
}
body.page-id-330.mev-p25-hero-reveal .mev-hero.is-resolved .mev-hero__band{
  opacity:1;
  transform:translateY(0);
  transition-delay:300ms;
}

@media (prefers-reduced-motion:reduce){
  body.page-id-330.mev-p25-hero-typo .mev-hero__resolve--name .mev-hero__name,
  body.page-id-330.mev-p25-hero-cascade .mev-hero__h1,
  body.page-id-330.mev-p25-hero-cascade .mev-hero__canon,
  body.page-id-330.mev-p25-hero-cascade .mev-hero__cta,
  body.page-id-330.mev-p25-hero-reveal .mev-hero__band{
    transition:none!important;
    transform:none!important;
    opacity:1!important;
    will-change:auto;
  }
  body.page-id-330.mev-p25-hero-line .mev-hero__band::before{
    animation:none!important;
    transform:scaleX(1)!important;
  }
}
body.page-id-330 #page,
body.page-id-330 .site-content,
body.page-id-330 #primary,
body.page-id-330 #main,
body.page-id-330 .inside-article,
body.page-id-330 .entry-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.page-id-330 .site-content{padding-bottom:0!important;background:var(--p25-grey)!important}
body.page-id-330 .entry-content{overflow:hidden}

#post-330 .mev-p25-section{
  box-sizing:border-box;
  width:100%;
  padding:var(--p25-gap) var(--p25-gutter);
}
#post-330 .mev-p25-section--grey{background:var(--p25-grey)!important}
#post-330 .mev-p25-section--beige{background:var(--p25-beige)!important}
#post-330 .mev-p25-inner{width:100%;max-width:var(--p25-copy);margin:0 auto}
#post-330 .mev-p25-inner>*:last-child{margin-bottom:0!important}
#post-330 .mev-p25-separator{width:100%;height:1px;background:var(--p25-red)}

#post-330 .mev-p25-eyebrow{
  display:inline-block;
  margin:0 0 18px!important;
  padding:.45rem .7rem;
  border:1px solid var(--p25-black);
  font-family:'General Sans',sans-serif!important;
  font-size:.66rem!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.09em;
  text-transform:uppercase;
}
#post-330 .mev-p25-opening-lead{
  max-width:820px;
  margin:0 0 52px!important;
  font-family:'General Sans',sans-serif!important;
  font-size:1.18rem!important;
  font-weight:400!important;
  line-height:1.52!important;
  text-wrap:balance;
}
#post-330 .mev-p25-h2{
  margin:0 0 28px;
  font-family:'Karrik',sans-serif!important;
  font-size:clamp(2rem,4vw,3rem);
  font-weight:400!important;
  line-height:1.02;
  letter-spacing:-.025em;
  color:var(--p25-black);
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
#post-330 .mev-p25-accent{color:var(--p25-red)}

#post-330 .mev-p25-prose,
#post-330 .mev-p25-takeaway{max-width:100%}
#post-330 .mev-p25-prose p,
#post-330 .mev-p25-takeaway p,
#post-330 .mev-p25-daypart p,
#post-330 .mev-p25-dayparts-coda,
#post-330 .mev-p25-shazam p,
#post-330 .mev-p25-quote p{
  font-family:'General Sans',sans-serif!important;
  font-size:1rem;
  font-weight:400;
  line-height:1.62;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:pretty;
}
#post-330 .mev-p25-prose p,
#post-330 .mev-p25-takeaway p{margin:0 0 1.2em}
#post-330 .mev-p25-prose p:last-child,
#post-330 .mev-p25-takeaway p:last-child{margin-bottom:0}
#post-330 .mev-p25-inner a:not(.mev-p25-button){
  color:#000;
  font-weight:400;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}

#post-330 .mev-p25-image{display:block;padding:0}
#post-330 .mev-p25-image img{display:block;width:100%;height:100%;object-fit:cover}
#post-330 .mev-p25-image--place{
  width:100%;
  aspect-ratio:16/9;
  margin:32px 0 0;
  overflow:hidden;
}
#post-330 .mev-p25-image--place img{object-position:50% 55%}
#post-330 .mev-p25-image--relation{
  width:min(560px,64%);
  aspect-ratio:4/5;
  margin:32px auto 0;
  overflow:hidden;
}
#post-330 .mev-p25-image--relation img{object-position:50% 42%}

#post-330 .mev-p25-shazam{
  box-sizing:border-box;
  width:calc(100% - 72px);
  margin:40px 0 40px 72px;
}
#post-330 .mev-p25-shazam p{
  margin:0 0 .8em;
  font-size:1.10rem;
  line-height:1.55;
}
#post-330 .mev-p25-shazam p:last-child{margin-bottom:0}

#post-330 .mev-p25-dayparts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
  margin:34px 0 0;
  border-top:1px solid var(--p25-black);
  border-bottom:1px solid var(--p25-black);
}
#post-330 .mev-p25-daypart{
  position:relative;
  min-width:0;
  padding:28px 24px 30px;
}
#post-330 .mev-p25-daypart:first-child{padding-left:0}
#post-330 .mev-p25-daypart:last-child{padding-right:0}
#post-330 .mev-p25-daypart+.mev-p25-daypart:before{
  content:"";
  position:absolute;
  left:0;
  top:24px;
  bottom:24px;
  width:1px;
  background:rgba(0,0,0,.38);
}
#post-330 .mev-p25-daypart h3{
  margin:0 0 14px;
  font-family:'Karrik',sans-serif!important;
  font-size:1.45rem;
  font-weight:400!important;
  line-height:1.08;
  letter-spacing:-.015em;
  color:#000;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
#post-330 .mev-p25-daypart p{margin:0}
#post-330 .mev-p25-dayparts-coda{
  max-width:760px;
  margin:30px 0 0!important;
  font-size:1.10rem!important;
  line-height:1.52!important;
}
#post-330 .mev-p25-takeaway{
  margin-top:36px;
  padding-top:36px;
  border-top:1px solid var(--p25-black);
}

#post-330 .mev-p25-quote{
  max-width:760px;
  margin:32px 0!important;
  padding:0!important;
  border:0!important;
}
#post-330 .mev-p25-quote p{
  margin:0 0 14px!important;
  font-size:1.24rem!important;
  line-height:1.48!important;
  font-weight:400!important;
  text-wrap:balance;
}
#post-330 .mev-p25-quote cite{
  display:block;
  margin:0;
  font-family:'General Sans',sans-serif!important;
  font-size:.88rem;
  font-style:normal;
  font-weight:400;
  line-height:1.4;
}
#post-330 .mev-p25-coda{
  margin-top:32px!important;
  font-size:1.18rem!important;
  line-height:1.5!important;
  text-wrap:balance;
}

#post-330 .mev-p25-cta{padding-top:var(--p25-gap)!important;padding-bottom:var(--p25-gap)!important}
#post-330 .mev-p25-cta .mev-p25-h2{margin-bottom:0}
#post-330 .mev-p25-cta-action{margin-top:48px;text-align:left}
#post-330 .mev-p25-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%;
  padding:.95rem 1.35rem!important;
  border:2px solid #000!important;
  background:var(--p25-beige)!important;
  color:#000!important;
  font-family:'General Sans',sans-serif!important;
  font-size:.95rem!important;
  font-weight:400!important;
  line-height:1.2!important;
  text-decoration:none!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#post-330 .mev-p25-button:hover,
#post-330 .mev-p25-button:focus-visible{background:#000!important;color:var(--p25-beige)!important}
#post-330 a:focus-visible{outline:2px solid #76FFCC;outline-offset:4px}

@media(max-width:780px){
  body.page-id-330{--p25-gap:48px;--p25-gutter:16px}
  body.page-id-330 .mev-hero__resolve--name{width:calc(100vw - 32px);max-width:none}
  #post-330 .mev-p25-opening-lead{margin-bottom:40px!important;font-size:1.08rem!important;line-height:1.52!important;text-wrap:pretty}
  #post-330 .mev-p25-h2{font-size:clamp(2rem,9.2vw,2.55rem);margin-bottom:24px;text-wrap:balance}
  #post-330 .mev-p25-image--place{aspect-ratio:4/5;margin-top:24px}
  #post-330 .mev-p25-image--place img{object-position:50% 50%}
  #post-330 .mev-p25-shazam{width:calc(100% - 28px);margin:32px 0 32px 28px}
  #post-330 .mev-p25-shazam p{font-size:1.06rem;line-height:1.55}
  #post-330 .mev-p25-dayparts{grid-template-columns:1fr;margin-top:28px}
  #post-330 .mev-p25-daypart{padding:24px 0}
  #post-330 .mev-p25-daypart+.mev-p25-daypart{border-top:1px solid rgba(0,0,0,.45)}
  #post-330 .mev-p25-daypart+.mev-p25-daypart:before{display:none}
  #post-330 .mev-p25-daypart h3{font-size:1.38rem}
  #post-330 .mev-p25-dayparts-coda{margin-top:26px!important;font-size:1.06rem!important}
  #post-330 .mev-p25-takeaway{margin-top:28px;padding-top:28px}
  #post-330 .mev-p25-image--relation{width:min(100%,420px);margin-top:24px}
  #post-330 .mev-p25-quote{margin:24px 0!important}
  #post-330 .mev-p25-quote p{font-size:1.12rem!important;line-height:1.5!important;text-wrap:pretty}
  #post-330 .mev-p25-coda{margin-top:28px!important;font-size:1.10rem!important;line-height:1.52!important}
  #post-330 .mev-p25-cta-action{margin-top:48px;text-align:center}
  #post-330 .mev-p25-button{width:max-content!important;max-width:calc(100% - 32px)!important;margin:0 auto!important}
}
