/* Shared navigation polish. The page's native scrolling stays in control. */
.nav .nav__logo--branch{flex-direction:column;gap:3px;line-height:1}
.nav .nav__branch{
  display:block;color:#242424;font-size:11px;font-weight:500;line-height:1.4;
  letter-spacing:.13em;white-space:nowrap;text-align:center;
}
.home-film:not(.menu-open) .nav:not(.solid) .nav__logo--branch,
.home-cinema:not(.menu-open) .nav:not(.solid) .nav__logo--branch,
.home-film:not(.menu-open) .nav:not(.solid) .nav__branch,
.home-cinema:not(.menu-open) .nav:not(.solid) .nav__branch{
  color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.75);
}
.nav.solid .nav__branch,body.menu-open .nav .nav__branch{color:#242424;text-shadow:none}
.nav__mobile-philosophy{display:none}
.nav :is(.nav__logo,.nav__burger,.nav__menu a):focus-visible{
  outline:2px solid currentColor;outline-offset:5px;
}
html{scroll-padding-top:calc(var(--nav-h,76px) + 18px)}
@media(max-width:900px){
  .nav .nav__branch{font-size:10.5px;letter-spacing:.1em}
  .nav__mobile-philosophy{display:list-item}
  body.menu-open .nav__nav{
    height:100vh;height:100dvh;max-height:100dvh;overflow-y:auto;
    justify-content:flex-start;padding:calc(var(--nav-h,76px) + 18px) 0 max(28px,env(safe-area-inset-bottom));
    overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  body.menu-open .nav__menu{flex:none}
  body.menu-open .nav__menu a{min-height:48px;padding:10px;line-height:1.5}
  body.menu-open .nav__menu--l .nav__mobile-philosophy{animation-delay:.37s}
}
/* Short, clear entrances instead of a long blur; no additional observers needed. */
.reveal,.process.reveal{
  filter:none;transform:translateY(18px);will-change:auto;
  transition:opacity .7s var(--ease-soft),transform .75s var(--ease-soft);
}
.reveal.in{filter:none;transform:none}
.reveal:focus-within{opacity:1;filter:none;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.process.reveal,.shead.reveal :is(.eyebrow,h2,p){
    opacity:1;transform:none;filter:none;transition:none;
  }
}

/* Brand philosophy: use the original TORSO letterforms, with a quiet descriptor. */
.philosophy-wordmark,
.foot__col a.philosophy-wordmark,
.nav__menu a.philosophy-wordmark{
  display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;
  max-width:100%;line-height:1.2;letter-spacing:0;white-space:nowrap;text-transform:none;
}
.philosophy-wordmark .philosophy-wordmark__torso{
  display:block;flex:0 0 auto;width:62px;height:26.3px;margin:0;background:currentColor;
  /* 394px of the 1068px source preserves only the original TORSO word. */
  -webkit-mask:url('../logo/logo_black.png') left center / 271.07% 100% no-repeat;
  mask:url('../logo/logo_black.png') left center / 271.07% 100% no-repeat;
}
.philosophy-wordmark .philosophy-wordmark__for{
  display:inline;margin:0;color:inherit;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none;
}
.philosophy-wordmark .philosophy-wordmark__label{
  display:inline;margin:0 0 0 3px;color:inherit;font-size:14px;font-weight:550;
}
.philosophy-wordmark--hero{display:flex;width:620px;max-width:100%;justify-content:center;color:#fff!important;margin:0 0 22px}
.philosophy-wordmark--hero .philosophy-wordmark__torso{width:86px;height:36.5px}
.philosophy-wordmark--hero .philosophy-wordmark__for{font-size:15px}
.philosophy-wordmark--hero .philosophy-wordmark__label{font-size:17px}
@media(max-width:900px){
  .nav .nav__menu a.philosophy-wordmark{display:flex;width:100%;justify-content:center;text-transform:none}
  .nav__menu .philosophy-wordmark__torso{width:76px;height:32.2px}
  .nav__menu .philosophy-wordmark__for{font-size:15px}
  .nav__menu .philosophy-wordmark__label{font-size:18px}
}
