/* Massia V9 — quiet cinematic storytelling. Preserve original image/motion art direction. */
.m-cinema .m-topbar{gap:20px}.m-cinema .m9-nav{color:#fff4e9;gap:clamp(12px,1.4vw,25px);font-size:12px}.m-cinema .m9-nav .m9-mega{color:#35202b}.m-cinema .m9-nav .m9-mega a{color:#482838}
.m-cinema .m-topbar__end{display:flex;align-items:center;gap:25px}.m-cinema .m9-top-account{font-size:12px;text-decoration:none;color:inherit;white-space:nowrap}
.m-cinema .m-menu-sheet .m9-nav{display:flex;flex-direction:column;align-items:stretch;gap:4px;color:#fff6eb;font-size:clamp(18px,2.4vw,28px)}
.m-cinema .m-menu-sheet .m9-nav>a,.m-cinema .m-menu-sheet .m9-nav>.m9-shop-menu>summary{display:block;padding:7px 0}
.m-cinema .m-menu-sheet .m9-mega{position:static;width:100%;max-height:46vh;overflow:auto;box-shadow:none;background:#f9f2e8;border-color:#e9dacb;padding:13px 18px;font-size:14px;color:#38212b}
.m-cinema .m-menu-sheet .m9-mega-heading a{font-size:14px}.m-cinema .m-menu-sheet .m9-tree-row a{font-size:13px}
.m-cinema .m-hero-model__tag,.m-cinema .m-hero-info,.m-cinema .m-hero-base,.m-cinema .m-archive-stats,.m-cinema .m-archive-bottom,.m-cinema .m-rack__bottom,.m-cinema .m-rack__product-disclaimer{display:none!important}
.m-cinema .m-hero-intro{padding-top:0;display:flex;align-items:flex-start;justify-content:flex-end;pointer-events:none}.m-cinema .m-hero-actions{pointer-events:auto;margin-block:10px}.m-cinema .m-hero-actions .m-cut-button{background:#f9f1e5;color:#5d293b}.m-cinema .m-archive-intro{gap:5px}
.m-cinema .m-timeline__head>p:not(.m-kicker){display:none}.m-cinema .m-timeline-row__index{opacity:.68}
.m-cinema .m-v7-story{height:333svh!important}.m-cinema .m-v7-story__steps,.m-cinema .m-v7-story__track,.m-cinema .m-v7-story__number,.m-cinema .m-v7-story__bottom p{display:none!important}.m-cinema .m-v7-story__bottom{min-height:6px;padding:0!important}
.m-cinema .m-v7-scene{transition:opacity .22s linear!important}.m-cinema .m-v7-scene__copy{transition:transform .24s ease!important}
.m9-landing-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:115px;padding:22px clamp(20px,6vw,100px);background:#241920;color:#f3e4da;position:relative;z-index:14}
.m9-landing-footer .m9-footer-logo img{display:block;width:120px;height:auto;filter:brightness(0) invert(1)}.m9-landing-footer nav{display:flex;gap:clamp(12px,2.4vw,35px);flex-wrap:wrap}.m9-landing-footer a{color:#f3e4da;text-decoration:none;font-size:12px}.m9-landing-footer a:hover{color:#dab395}.m9-landing-footer small{font:10px Arial,sans-serif;letter-spacing:.1em;color:#c8b7b0}
.m9-sr{position:absolute!important;width:1px!important;height:1px!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
@media(max-width:1100px){.m-cinema .m9-nav--desktop{display:none!important}.m-cinema .m-topbar__end .m9-top-account{display:none}.m-cinema .m-topbar__start{gap:14px}}
@media(max-width:700px){.m9-landing-footer{flex-direction:column;justify-content:center;text-align:center;gap:15px}.m9-landing-footer nav{justify-content:center}.m-cinema .m-hero-intro{justify-content:end}.m-cinema .m-hero-actions{margin-bottom:12vh}.m-cinema .m-v7-story{height:305svh!important}}
@media(prefers-reduced-motion:reduce){.m-cinema .m-v7-story{height:auto!important}.m-cinema .m-v7-scene{transition:none!important}}


/* V9.1 HERO + FULL-VIEWPORT RACK — scoped to the cinematic narratives landing.
   Storytelling tracks remain taller than one viewport for their existing sticky scroll animation;
   the visible stage of each chapter is viewport-height. Do not enable mandatory scroll snapping. */
.m-cinema .m-hero-intro {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  gap:0;
  width:min(58vw,790px);
  max-width:calc(100vw - 2 * clamp(20px,5vw,90px));
}
.m-cinema .m-hero-intro .m-hero-title {
  display:block;
  position:relative;
  width:auto;
  height:auto;
  overflow:visible;
  clip-path:none;
  visibility:visible;
  opacity:1;
  font-size:clamp(75px,10vw,156px);
  line-height:.98;
  margin:0!important;
  white-space:nowrap;
}
.m-cinema .m-hero-intro .m-hero-title__sub {
  display:block;
  margin:clamp(5px,.8vw,12px) 0 0!important;
  font-size:clamp(10px,1.2vw,15px);
  letter-spacing:clamp(.16em,.45vw,.55em);
  line-height:1.5;
  white-space:nowrap;
}
.m-cinema .m-hero-intro .m-hero-actions {
  align-self:flex-start;
  flex-shrink:0;
  margin:clamp(14px,2.4svh,24px) 0 0!important;
}
/* Independent rack: no bleed/overlap with archive or journal, enough room for rack controls. */
.m-cinema .m-stack > #atelier-rack.m-rack {
  box-sizing:border-box;
  position:relative;
  z-index:22;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  align-content:stretch;
  min-height:100vh;
  min-height:100svh;
  height:auto;
  padding-top:clamp(72px,10svh,120px);
  padding-bottom:clamp(18px,3svh,45px);
  overflow:hidden;
  isolation:isolate;
  scroll-margin-top:0;
}
.m-cinema .m-stack > #atelier-rack .m-rack__head,
.m-cinema .m-stack > #atelier-rack .m-rack__filters {position:relative;z-index:2}
.m-cinema .m-stack > #atelier-rack .m-rack__stage {
  --art-h:clamp(235px,40svh,465px);
  box-sizing:border-box;
  height:auto;
  min-height:calc(var(--art-h) + 88px);
  margin:clamp(6px,1.6svh,18px) 0 8px;
  z-index:1;
}
.m-cinema .m-stack > #atelier-rack .m-rack__rail-viewport {
  height:100%;
  min-height:inherit;
}
/* Other major chapters already have sticky full-screen stages. Preserve them. */
.m-cinema .m-stack > #intro .m-hero-stage,
.m-cinema .m-stack > #collection .m-archive-stage,
.m-cinema #editorial-story .m-v7-story__stage,
.m-cinema #complete-look .m-v3-focus__stage {height:100svh}
.m-cinema .m-stack > #journal.m-timeline {min-height:100svh}
@media(max-width:700px) {
  .m-cinema .m-hero-intro {
    right:clamp(14px,5vw,24px);
    left:clamp(14px,5vw,24px);
    width:auto;
    max-width:none;
    align-items:flex-start;
  }
  .m-cinema .m-hero-intro .m-hero-title {
    font-size:clamp(58px,17vw,96px);
  }
  .m-cinema .m-hero-intro .m-hero-title__sub {
    font-size:clamp(9px,2.5vw,12px);
    letter-spacing:.26em;
  }
  .m-cinema .m-stack > #atelier-rack.m-rack {
    grid-template-rows:auto minmax(0,1fr) auto;
    padding-top:calc(var(--m-head,58px) + 16px);
    padding-bottom:max(16px,env(safe-area-inset-bottom));
  }
  .m-cinema .m-stack > #atelier-rack .m-rack__stage {
    --art-h:clamp(230px,36svh,356px);
    min-height:calc(var(--art-h) + 88px);
    margin:6px 0;
  }
}
@media(max-height:600px) and (min-width:701px) {
  .m-cinema .m-hero-intro .m-hero-title {font-size:clamp(60px,8vw,110px)}
  .m-cinema .m-stack > #atelier-rack.m-rack {padding-top:58px;padding-bottom:15px}
  .m-cinema .m-stack > #atelier-rack .m-rack__stage {--art-h:clamp(190px,36svh,310px)}
}
@media(prefers-reduced-motion:reduce) {
  .m-cinema .m-hero-intro .m-hero-title {opacity:1!important;transform:scaleX(.88)}
}

/* V9.2: grid children must not expand to the minimum width of all garments.
   Keep the rail viewport at the screen width so dragging/arrows can scroll the row. */
.m-cinema .m-stack > #atelier-rack.m-rack {
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
}
.m-cinema .m-stack > #atelier-rack .m-rack__head,
.m-cinema .m-stack > #atelier-rack .m-rack__stage,
.m-cinema .m-stack > #atelier-rack .m-rack__rail-viewport {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
