:root { --accent: #076f88; --accent-hover: #06647b; }
html { --masthead-height: 70px; scroll-padding-top: calc(var(--masthead-height) + 18px); }
.masthead { position: sticky; top: 0; z-index: 20; background: var(--paper); border-bottom: 1px solid var(--line); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
button:focus-visible, a:focus-visible { outline-color: var(--accent); }
.masthead-inner { min-height: 70px; border: 0; }
.identity { display: flex; gap: 22px; align-items: center; }
.identity h1 { border-left: 1px solid var(--line); padding-left: 22px; font-size: 15px; font-weight: 500; }
nav { gap: 28px; }
nav a { position: relative; color: var(--ink); }
nav a[aria-current] { color: var(--accent); }
nav a[aria-current]::after { content: ''; position: absolute; bottom: 1px; height: 2px; width: 24px; left: 0; background: var(--accent); }
nav a:hover { color: var(--accent); text-decoration: none; }
.collection { padding: 44px 0; }
.collection + .collection { border: 0; }
.section-heading { margin-bottom: 22px; }
h2 { font-size: 25px; font-weight: 600; gap: 12px; }
.section-number { display: none; }
.collection-count { font-size: 13px; }
.hero-collection { width: 100%; padding: 0 0 4px; }
.hero-collection .work-viewer { display: grid; grid-template-columns: minmax(0, 1fr) 340px; column-gap: 48px; }
.hero-collection .work-panel { display: contents; }
.hero-collection .work-media { grid-column: 1 / -1; grid-row: 1; }
.work-media img { height: auto; max-height: none; }
.hero-collection .work-caption { grid-column: 1; grid-row: 2; margin-left: max(40px, calc((100% + 388px - 1180px) / 2)); display: flex; flex-direction: column; gap: 8px; padding-top: 20px; }
.hero-collection .work-index { grid-column: 2; grid-row: 2; align-self: center; margin: 24px max(40px, calc((100vw - 1180px) / 2)) 0 0; width: 300px; justify-self: end; border: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.hero-collection .work-index button { display: flex; flex-direction: column; gap: 5px; font-size: 13px; padding: 0 0 10px; }
.ai-thumb { width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; margin-bottom: 4px; }
.ai-tab-title { line-height: 1.5; }
.ai-tab-meta { color: var(--muted); font-size: 11px; font-weight: 400; }
.hero-collection .work-index button span:not([class]) { margin-right: 8px; }
.hero-collection .work-index button::after { right: auto; width: 28px; }
.hero-collection h3 { font-family: 'Songti SC', 'SimSun', serif; font-weight: 400; line-height: 1.25; }
.title-prefix { display: block; font: 13px/1.6 'Microsoft YaHei', sans-serif; color: var(--muted); margin-bottom: 5px; }
.title-main { display: block; font-size: 40px; }
.hero-collection .work-context { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; }
.hero-collection .work-context > p { max-width: 36em; line-height: 1.7; }
.hero-collection .work-meta { margin-top: 8px; }
.work-credit { margin-top: 8px; color: var(--ink); font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.film-caption > .work-credit { grid-column: 1; }
.hero-collection .watch-link { flex-shrink: 0; }
.hero-collection .load-status { right: 40px; }
.watch-link { gap: 10px; font-size: 13px; }
.watch-icon { border: 0; width: 34px; height: 34px; background: var(--accent); color: #fff; }
.watch-icon svg { fill: currentColor; stroke: none; width: 17px; height: 17px; }
.watch-link:hover .watch-icon { background: var(--accent-hover); color: #fff; }
.external-mark { font-size: 14px; }
.work-index button[aria-selected='true'] { color: var(--accent); }
.work-index button[aria-selected='true']::after { background: var(--accent); }
.work-index button, .film-index button { color: var(--ink); }
.work-index button:focus-visible, .film-index button:focus-visible { color: var(--accent); }
.film-index button > span, .film-index button small { color: var(--muted); }
@media (hover: hover) and (pointer: fine) {
  .work-index button:hover, .film-index button:hover { color: var(--accent); }
}
[data-media-state] [data-media-link], [data-media-state] .film-zoom, [data-media-state] .gallery-strip,
[data-media-state] .film-still, [data-media-state] .film-poster-entry { display: none !important; }
.film-panel[data-media-state] .film-body, .film-panel[data-media-state] .film-caption { display: block !important; }
.film-panel[data-media-state] .film-caption { margin-top: 20px; }
.work-viewer:has([data-media-state]) .load-status,
.film-viewer:has([data-media-state]) .load-status { position: static; transform: none; grid-column: 1 / -1; padding-block: 20px; }
.brand-catalog { border-top: 0; padding-top: 0; margin-bottom: 28px; gap: 16px; }
.brand-catalog .catalog-item { border: 0; padding-bottom: 14px; gap: 2px; color: var(--ink); }
.brand-catalog .catalog-item:focus-visible { color: var(--accent); }
@media (hover: hover) and (pointer: fine) {
  .brand-catalog .catalog-item:hover { color: var(--accent); }
}
.brand-catalog .catalog-item::after { right: auto; width: 28px; bottom: 0; }
.brand-catalog .catalog-title { min-height: 1.5em; line-height: 1.5; font-weight: 500; }
.brand-catalog .catalog-type { margin-top: auto; }
.brand-catalog .catalog-image { margin-bottom: 9px; }
.panel-tools { display: flex; justify-content: flex-end; margin-top: -12px; margin-bottom: 8px; }
.catalog-return { border: 0; padding: 0; background: none; min-height: 44px; font-size: 12px; color: var(--muted); }
.catalog-return:hover { color: var(--accent); }
.catalog-return span { margin-right: 6px; }
#brand .work-caption { padding-top: 17px; align-items: center; }
#brand h3 { font-size: 20px; line-height: 1.45; }
#brand .work-meta { font-size: 12px; }
.work-panel.is-gallery { width: min(820px, 100%); margin-inline: auto; }
.is-gallery .work-media img { max-height: none; }
.gallery-strip { margin-top: 22px; width: min(820px, 100%); gap: 20px; }
.gallery-strip button:hover { color: var(--accent); }
.film-viewer { display: block; }
.film-index { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-bottom: 32px; }
.film-index button { min-height: 58px; padding: 0 0 12px; border: 0; border-bottom: 1px solid var(--line); grid-template-columns: 36px 1fr; column-gap: 12px; }
.film-index button > span { grid-row: 1; font-size: 11px; align-self: center; }
.film-index button small { grid-column: 2; }
.film-index strong { font-size: 14px; font-weight: 500; }
.film-index button[aria-selected='true'] { color: var(--accent); border-bottom-color: var(--line); }
.film-index button[aria-selected='true']::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 28px; height: 2px; background: var(--accent); }
.film-panel[data-orientation='portrait'] .film-body { grid-template-columns: minmax(220px, 320px) minmax(0, 1fr); gap: 48px; align-items: start; }
.film-panel[data-orientation='portrait'] .film-image { max-height: none; }
.film-caption h3 { font: 400 36px/1.4 'Songti SC', 'SimSun', serif; margin-top: 8px; }
.film-synopsis { max-width: 580px; line-height: 1.8; margin-top: 14px; }
.film-still { margin-top: 24px; max-width: 590px; }
.still-status { padding: 22px 0; color: var(--muted); font-size: 14px; }
.still-status button { min-height: 44px; margin-left: 12px; border: 0; border-bottom: 1px solid currentColor; background: none; color: var(--accent); }
.script-fallback { padding-block: 24px; }
.script-fallback a { display: inline-block; min-height: 44px; margin-right: 24px; color: var(--accent); text-decoration: underline; }
.film-panel[data-orientation='landscape'] .film-body { display: grid; grid-template-columns: minmax(0, 1fr); max-width: 1040px; margin-inline: auto; gap: 24px; align-items: start; }
.film-panel[data-orientation='landscape'] .film-image { max-height: none; }
.film-panel[data-orientation='landscape'] .film-caption { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 40px; padding-top: 0; }
.film-panel[data-orientation='landscape'] .film-caption > .work-meta,
.film-panel[data-orientation='landscape'] .film-caption > h3 { grid-column: 1; }
.film-panel[data-orientation='landscape'] .film-synopsis { grid-column: 2; grid-row: 1 / span 2; align-self: center; margin-top: 0; }
.film-zoom { display: block; position: relative; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; text-align: left; }
.film-zoom .zoom-icon { position: absolute; right: 10px; bottom: 10px; display: grid; place-items: center; width: 32px; height: 32px; background: var(--paper); color: var(--ink); }
.film-zoom:hover .zoom-icon { background: var(--accent); color: #fff; }
.zoom-icon svg { width: 17px; height: 17px; stroke: currentColor; fill: none; stroke-width: 1.6; }
.photo-toolbar h2 { font-size: 16px; }
.icon-button:hover { border-color: var(--accent); color: var(--accent); }
.icon-button:disabled { opacity: .35; cursor: default; }
.photo-stage img { image-rendering: auto; }
.footer { margin-top: 8px; display: grid; grid-template-columns: auto 1fr; gap: 10px 32px; }
.disclosure { margin: 0; align-self: center; }
.filings { grid-column: 1 / -1; margin-top: 3px; }
.filings { align-items: center; }
.filings a { display: inline-flex; align-items: center; min-height: 28px; }
.police-filing { gap: 6px; }
.police-filing img { display: block; width: 20px; height: 20px; flex: 0 0 20px; object-fit: contain; }
@media (min-width: 1500px) {
  .hero-collection .work-media { width: min(1600px, 100%); margin-inline: auto; }
}
@media (min-width: 1051px) {
  .hero-collection .work-viewer { width: min(calc(100% - 80px), 1180px, max(640px, calc((100svh - 410px) * 2.35294))); margin-inline: auto; grid-template-columns: minmax(0, 1fr) 300px; column-gap: 24px; }
  .hero-collection .work-caption { margin-left: 0; }
  .hero-collection .work-index { margin-right: 0; }
}
@media (min-width: 701px) {
  .film-panel[data-layout='standard'][data-orientation='portrait'] .film-body { max-width: 1040px; margin-inline: auto; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); gap: 32px; align-items: center; }
}
@media (max-width: 1050px) {
  .identity { gap: 15px; }
  .identity h1 { padding-left: 15px; }
  .hero-collection .work-viewer { grid-template-columns: minmax(0, 1fr) 300px; gap: 0 24px; }
  .hero-collection .work-caption { margin-left: 24px; }
  .hero-collection .work-index { margin-right: 24px; width: 260px; }
  .brand-catalog { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .film-panel[data-orientation='portrait'] .film-body { grid-template-columns: minmax(170px, 29%) minmax(0, 1fr); gap: 28px; }
  .film-panel[data-orientation='landscape'] .film-caption { column-gap: 28px; }
  .film-index { gap: 16px; }
  .film-index button { grid-template-columns: 1fr; }
  .film-index button small { display: none; }
  .film-index strong { font-size: 13px; }
  .film-caption h3 { font-size: 30px; }
}
@media (max-width: 700px) {
  html { --masthead-height: 90px; }
  .masthead-inner { min-height: 90px; flex-wrap: wrap; gap: 0; padding: 12px 0 5px; }
  .identity { width: 100%; }
  .signature, .identity h1 { font-size: 13px; }
  nav { width: 100%; gap: 24px; }
  nav a { min-height: 38px; font-size: 12px; }
  .hero-collection .work-viewer { display: flex; flex-direction: column; gap: 0; }
  .hero-collection .work-panel { display: flex; flex-direction: column; order: 0; }
  .hero-collection .work-caption { margin: 0 18px; padding-top: 18px; }
  .hero-collection .work-index { order: 1; width: calc(100% - 36px); margin: 18px 18px 0; align-self: auto; }
  .hero-collection .work-index button { min-height: 48px; }
  .title-main { font-size: 32px; }
  .title-prefix { font-size: 12px; }
  .hero-collection .work-context { display: flex; align-items: flex-start; flex-direction: column; gap: 8px; }
  .hero-collection .watch-link { margin-left: 0; }
  .hero-collection .work-context > p { font-size: 12px; }
  .collection { padding: 32px 0; }
  .hero-collection { padding: 0; }
  h2 { font-size: 22px; }
  .section-heading { margin-bottom: 20px; }
  .collection-count { font-size: 12px; }
  .brand-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
  .brand-catalog .catalog-title { font-size: 13px; }
  .brand-catalog .catalog-item { padding-bottom: 10px; }
  #brand h3 { font-size: 18px; }
  #brand .work-caption { grid-template-columns: 1fr; gap: 8px; }
  #brand .work-context { justify-content: flex-start; }
  #brand .watch-link { margin-left: 0; }
  .film-index { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; margin-bottom: 26px; }
  .film-index button { min-height: 44px; padding-bottom: 8px; }
  .film-index button > span { display: none; }
  .film-panel[data-orientation='portrait'] .film-body, .film-panel[data-orientation='landscape'] .film-body { display: flex; flex-direction: column; gap: 22px; }
  .film-mobile-heading { width: 100%; }
  .film-mobile-heading h3 { margin: 0; font: 400 30px/1.4 'Songti SC', 'SimSun', serif; }
  .film-mobile-heading .work-meta { margin-top: 6px; }
  .film-panel[data-orientation='portrait'] .film-body > .film-zoom { width: min(78%, 280px); margin-inline: auto; }
  .film-caption { width: 100%; }
  .film-panel[data-orientation='landscape'] .film-caption { display: block; }
  .film-caption h3 { font-size: 30px; }
  .film-synopsis { margin-top: 0; }
  .film-still { margin-top: 20px; }
  .footer { display: block; }
  .disclosure { margin-top: 12px; }
  .filings { margin-top: 18px; }
  .photo-toolbar h2 { font-size: 14px; }
}
.film-panel[data-layout='still-first'] .film-body { display: grid; grid-template-columns: minmax(0, 1fr) auto; max-width: 1040px; margin-inline: auto; gap: 24px 32px; align-items: start; }
.film-panel[data-layout='still-first'] .film-still { grid-column: 1 / -1; grid-row: 1; margin: 0; max-width: none; }
.film-panel[data-layout='still-first'] .film-still figcaption { display: none; }
.film-panel[data-layout='still-first'] .film-caption { grid-column: 1; grid-row: 2; }
.film-panel[data-layout='still-first'] .film-caption h3 { margin-top: 4px; }
.film-panel[data-layout='still-first'] .film-synopsis { margin-top: 12px; }
.film-poster-entry { grid-column: 2; grid-row: 2; padding-left: 28px; border-left: 1px solid var(--line); }
.film-poster-entry .film-zoom { display: flex; align-items: center; gap: 16px; width: auto; }
.film-poster-entry .film-image { width: 74px; flex-shrink: 0; }
.film-poster-entry .zoom-icon { display: none; }
.poster-label { color: var(--muted); font-size: 12px; }
.film-poster-entry .film-zoom:hover .poster-label { color: var(--accent); }
@media (max-width: 700px) {
  .film-panel[data-layout='still-first'] .film-body { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .film-panel[data-layout='still-first'] .film-poster-entry { grid-column: 1; grid-row: 3; padding: 18px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .film-poster-entry .film-image { width: 72px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
