/* Quiet navigation; the films and typography carry the identity. */
header.site-header { padding: 8px 0; border: 0; gap: 0; }
header.site-header::after { display: none; }
nav.main-nav { gap: 24px; }
.nav-item, .nav-item.active, .nav-item:hover { padding: 8px 0; border: 0; border-radius: 0; background: none; color: var(--muted); transform: none; letter-spacing: .04em; }
.nav-item.active, .nav-item:hover { color: var(--fg); }
.nav-item.active { text-decoration: underline; text-underline-offset: 7px; text-decoration-color: var(--s-accent); }
.btn { padding: 9px 12px; border-radius: 2px; min-height: 34px; letter-spacing: .04em; }
.btn-secondary, .btn-secondary:hover { background: transparent; border-color: transparent; padding-inline: 0; }
.btn-secondary:hover { text-decoration: underline; text-underline-offset: 5px; }
.filter-chip, .filter-chip.active, .filter-chip:hover { padding: 8px 0; border: 0; background: none; color: var(--muted); border-radius: 0; }
.filter-chip.active { color: var(--fg); text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--s-accent); }
.filter-group { gap: 20px; }
.page-utilities { display: flex; justify-content: flex-end; padding: 12px 0 0; }
.page-utilities .theme-icon-btn { width: 32px; height: 32px; border: 0; background: transparent; }
.page-utilities .theme-icon-btn svg { width: 16px; height: 16px; }
.bat-work { padding: 64px 0 48px; }
.bat-intro { display: grid; grid-template-columns: 1fr 1.2fr; gap: 48px; margin-bottom: 28px; }
.bat-intro h3 { font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1.15; letter-spacing: -.03em; margin: 0; text-wrap: balance; }
.bat-intro p, .bat-projects p { margin: 0; color: var(--dim); font-size: .875rem; line-height: 1.75; }
.bat-cinema { margin: 0; }
.bat-cinema video { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: contain; background: #fff; border-radius: 4px; }
.bat-cinema figcaption { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 8px 0; font-size: .75rem; color: var(--muted); line-height: 1.6; }
.bat-cinema button { min-width: 44px; min-height: 44px; flex-shrink: 0; }
.bat-projects { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 28px; padding: 32px 0; }
.bat-projects h4 { font-size: 1rem; margin: 0 0 12px; }
/* The same reel moves from a full-screen prologue into its permanent frame. */
html.intro-pending { overflow: hidden; }
.intro-pending .shell { visibility: hidden; }
.intro-pending #blueprintCanvas { visibility: hidden; }
.intro-pending #cinemaStage { visibility: visible; position: fixed; inset: 0; width: 100vw; height: 100svh; border: 0; border-radius: 0; z-index: 1000; transition: none; }
.intro-pending #main-content { perspective: none; }
.intro-pending #top { transform: none !important; }
.intro-pending .cinema-hud-bar { visibility: hidden; }
.intro-pending .cinema-logo-rig { width: clamp(220px, 32vw, 540px); }
.intro-pending #cinemaStage.intro-speaking .cinema-logo-wrap { opacity: 0; transition: opacity .55s ease; }
.entrance { position: fixed; inset: 0; z-index: 1001; display: flex; align-items: center; padding: 5vw; background: rgba(10,10,11,.78); opacity: 0; pointer-events: none; }
.entrance.is-speaking { opacity: 1; transition: opacity .6s ease; }
.entrance p { max-width: 1300px; margin: 0 auto; color: #f4f4f5; font: 800 clamp(2.6rem, 7.6vw, 7.5rem)/1.08 var(--ti-font); letter-spacing: -.04em; text-wrap: balance; }
.entrance .word-mask { display: inline-block; overflow: hidden; vertical-align: top; }
.entrance .word { display: inline-block; transform: translateY(110%); }
.entrance .word.emphasis { color: #79d7ff; }
.entrance-skip { position: fixed; bottom: 24px; right: 28px; z-index: 1002; color: #fff; background: #0a0a0b; border: 0; font: 500 12px var(--ti-font); padding: 12px; cursor: pointer; }
@media (max-width: 640px) {
  nav.main-nav { width: 100%; justify-content: space-between; gap: 4px 12px; }
  .nav-item { font-size: 12px; letter-spacing: 0; }
  .bat-intro, .bat-projects { grid-template-columns: 1fr; gap: 24px; }
  .bat-work { padding-top: 44px; }
  .entrance { padding: 24px; }
  .entrance p { font-size: clamp(2.4rem, 10.5vw, 4.5rem); }
}
@media (pointer: coarse) {
  .btn, .nav-item, .filter-chip, .page-utilities .theme-icon-btn { min-height: 44px; }
  .page-utilities .theme-icon-btn { min-width: 44px; }
}
@media (prefers-reduced-motion: reduce) { .entrance, .entrance-skip { display: none; } }
html.intro-pending #main-content { perspective: none !important; }
html.intro-pending #top { container-type: normal; backface-visibility: visible; }
.intro-pending .cinema-logo-img { width: 100%; }
.intro-pending .cinema-logo-slice { display: none; }
.intro-pending .cinema-logo-rig { transform: none; }
.intro-pending .cinema-logo-rig::after { display: none; }
.intro-pending .cinema-logo-wrap { mix-blend-mode: difference; }
.intro-pending .cinema-logo-img { filter: invert(1); }
.nav-item { min-width: 24px; justify-content: center; }
@media (pointer: coarse) { .nav-item { min-width: 44px; } }
