/* One compact identity shared by the homepage, archive and film routes. */
body .site-header.flow-header { display:block; position:fixed; inset:16px auto auto 16px; width:206px; height:auto; padding:0; background:transparent; pointer-events:none; z-index:30; }
.flow-navigation { height:124px; width:100%; overflow:hidden; color:#eee; background:#000; border:1px solid #ffffff24; border-radius:18px; pointer-events:auto; transition:height .55s cubic-bezier(.22,1,.36,1); }
.flow-navigation[open] { height:358px; max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; }
.flow-navigation summary { position:relative; height:123px; padding:24px 16px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:0; list-style:none; cursor:pointer; user-select:none; }
.flow-navigation summary::-webkit-details-marker { display:none; }
.site-header.flow-header .flow-navigation .brand-name { font-size:20px; font-weight:500; letter-spacing:-.025em; line-height:1.1; }
.site-header.flow-header .flow-navigation .brand-roles { display:flex; flex-direction:row; font-size:7.5px; font-weight:700; letter-spacing:0; gap:8px; line-height:1.3; margin-top:9px; white-space:nowrap; }
.flow-menu-mark { position:absolute; top:12px; right:14px; font:400 15px/1 var(--ui); color:#777; transition:transform .4s; }
.flow-navigation[open] .flow-menu-mark { transform:rotate(45deg); }
.flow-menu { padding:3px 25px 23px; font:500 14px/1.4 var(--display); letter-spacing:0; }
.flow-menu nav { display:grid; margin-bottom:15px; }
.flow-menu nav>a { display:flex; align-items:center; min-height:37px; width:100%; font-weight:700; transition:color .2s,transform .35s; }
.flow-menu nav>a:hover,.flow-menu nav>a[aria-current] { color:#aaa; transform:translateX(4px); }
.flow-menu>a { display:block; font-size:10px; line-height:1.6; color:#888; padding-block:8px; }
.flow-navigation summary:focus-visible { outline:1px solid #eee; outline-offset:-6px; border-radius:18px; }


.flow-menu-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.flow-menu-footer>a,.flow-menu-footer>button { display:flex; align-items:center; min-height:36px; font:500 10px/1.3 var(--display); color:#999; }
.page-film>.page-content,.page-information>.page-content { padding-top:164px; }
@media(max-width:760px) {
  body .site-header.flow-header { top:12px; left:50%; right:auto; width:168px; padding:0; transform:translateX(-50%); }
  .flow-navigation { height:100px; border-radius:15px; }
  .flow-navigation summary { height:99px; padding:19px 12px; }
  .flow-navigation[open] { height:370px; max-height:calc(100dvh - 24px); }
  .site-header.flow-header .flow-navigation .brand-name { font-size:18px; }
  .site-header.flow-header .flow-navigation .brand-roles { font-size:6.5px; gap:6px; margin-top:8px; }
  .flow-menu { padding-inline:23px; }
  .flow-menu nav>a { min-height:44px; }
 .page-film>.page-content,.page-information>.page-content { padding-top:140px; }
 .flow-menu-footer>a,.flow-menu-footer>button { min-height:44px; }
}
@media(max-width:380px) {
 body .site-header.flow-header { width:156px; }
 .site-header.flow-header .flow-navigation .brand-name { font-size:17px; }
 .site-header.flow-header .flow-navigation .brand-roles { font-size:6px; }
}
@media(prefers-reduced-motion:reduce) { .flow-navigation,.flow-menu-mark { transition:none; } }
