@font-face {
  font-family: "Helvetica Inserat LT Std";
  src: url("assets/fonts/HelveticaInseratLTStd-Roman.otf") format("opentype");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

@font-face {
  font-family: "FMAI JiYing HuiPianHuiSong";
  src: url("assets/fonts/JiYingHuiPianHuiSong-2.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "FMAI FeiHua SongTi";
  src: url("assets/fonts/FeiHuaSongTi-2.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --color-primary: #2f38d7;
  --color-primary-dark: #1d236f;
  --color-secondary: #151515;
  --color-background: #f2efe8;
  --color-surface: #fffdf8;
  --color-surface-alt: #e9e5dc;
  --color-text: #141414;
  --color-text-secondary: #5f5b54;
  --color-text-muted: #817b72;
  --color-border: #d3cdc2;
  --color-orange: #f0644d;
  --color-pink: #cf68a8;
  --color-success: #167a51;
  --color-warning: #a35d00;
  --color-error: #b52a35;
  --font-display: "Arial Narrow", "Aptos Display Condensed", "Helvetica Neue Condensed", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-editorial: "Bodoni 72 Condensed", Didot, "Times New Roman", "Songti SC", STSong, serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-hand: "KaiTi", "STKaiti", "Kaiti SC", "FZKai-Z03", "Songti SC", STSong, serif;
  --font-jiying-huipian: "FMAI JiYing HuiPianHuiSong", "Songti SC", STSong, serif;
  --font-feihua-song: "FMAI FeiHua SongTi", "Songti SC", STSong, serif;
  --container: 1184px;
  --page-gutter: clamp(20px, 4vw, 48px);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 80px;
  --space-10: 96px;
  --header-height: 112px;
  --ease: cubic-bezier(.2, .72, .18, 1);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; background: var(--color-background); }

body {
  margin: 0;
  background: var(--color-background);
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

body.intro-active { overflow: hidden; }

button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img, video { display: block; max-width: 100%; }

:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 4px;
}

::selection { color: #fff; background: var(--color-primary); }

.container {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--container));
  margin-inline: auto;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.nowrap { white-space: nowrap; }

.skip-link {
  position: fixed;
  left: var(--space-4);
  top: var(--space-4);
  z-index: 10000;
  padding: 10px 14px;
  background: var(--color-secondary);
  color: #fff;
  transform: translateY(-160%);
  transition: transform 180ms ease;
}

.skip-link:focus { transform: translateY(0); }

section { scroll-margin-top: var(--header-height); }

.label {
  margin: 0;
  color: var(--color-primary);
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.45;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.label--orange { color: var(--color-orange); }
.label--light { color: #fff; }

.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 1px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
  cursor: pointer;
  transition: transform 220ms var(--ease), background-color 220ms ease, border-color 220ms ease, color 220ms ease;
}

.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button--primary { background: var(--color-primary); color: #fff; }
.button--primary:hover { background: #252dbe; }
.button--ghost-light { border-color: rgba(255,255,255,.55); color: #fff; background: rgba(0,0,0,.08); }
.button--ghost-light:hover { background: #fff; color: var(--color-text); }
.button--dark { min-width: 220px; background: var(--color-secondary); color: #fff; }
.button--dark:hover { background: var(--color-primary); }

.text-link {
  min-height: 44px;
  padding: 0 0 3px;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: none;
  color: var(--color-primary);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
  cursor: pointer;
  transition: color 180ms ease, border-color 180ms ease;
}

.text-link:hover { color: var(--color-orange); }

/* Brand intro */
.brand-intro {
  position: fixed;
  inset: 0;
  z-index: 9999;
  overflow: hidden;
  background: #000;
  will-change: opacity, filter;
}

.brand-intro__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background: #000;
  opacity: 0;
  filter: brightness(1.2) contrast(.92) blur(3px);
  will-change: opacity, filter;
}

.brand-intro.is-gate-playing .brand-intro__video {
  opacity: 1;
}

.brand-intro.is-gate-revealed .brand-intro__video {
  filter: brightness(1) contrast(1) blur(0);
  transition: filter 240ms cubic-bezier(.16,1,.3,1);
}

body.enter-gate-active .brand-intro__skip {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* FMAI Enter Gate: isolated prelude above the existing brand film. */
.enter-gate {
  --gate-tilt-x: 0deg;
  --gate-tilt-y: 0deg;
  --gate-shift-x: 0px;
  --gate-shift-y: 0px;
  --gate-lift: 0px;
  --gate-scale: 1;
  --gate-light-rgb: 255, 188, 52;
  --gate-light-x: 50%;
  --gate-light-y: 50%;
  --gate-specular-x: 50%;
  --gate-specular-y: 28%;
  --gate-edge-angle: 0deg;
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  background: #000;
  color: #f8fbff;
  touch-action: none;
}

.enter-gate__field,
.enter-gate__atmosphere,
.enter-gate__bloom {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.enter-gate__field {
  z-index: 0;
  display: block;
}

.enter-gate__atmosphere {
  z-index: 1;
  background:
    radial-gradient(circle at var(--gate-light-x) var(--gate-light-y), rgba(var(--gate-light-rgb), .13) 0, rgba(var(--gate-light-rgb), .045) 24%, transparent 58%),
    radial-gradient(circle at 49% 52%, rgba(255,195,62,.055) 0, rgba(255,167,30,.018) 27%, transparent 60%),
    linear-gradient(90deg, rgba(255,31,13,.024), rgba(255,174,25,.015) 43%, rgba(40,182,255,.026));
  box-shadow: inset 0 0 19vmax rgba(0,0,0,.7);
  transition: background 110ms linear;
}

.enter-gate__atmosphere::after {
  content: "";
  position: absolute;
  inset: -50%;
  opacity: .14;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.17'/%3E%3C/svg%3E");
  transform: rotate(.01deg);
  mix-blend-mode: screen;
}

.enter-gate__button {
  position: relative;
  z-index: 4;
  width: clamp(112px, 8.8vw, 132px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(246,252,255,.7);
  border-radius: 50%;
  background:
    linear-gradient(148deg, rgba(255,255,255,.11), rgba(255,255,255,.022) 36%, rgba(165,214,228,.018) 64%, rgba(0,0,0,.018)),
    rgba(9,16,20,.055);
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.88),
    inset 0 0 0 1px rgba(255,255,255,.14),
    inset 0 -16px 34px rgba(1,8,13,.14),
    inset 0 0 40px rgba(226,244,249,.055),
    0 25px 70px rgba(0,0,0,.62),
    0 0 3px rgba(255,255,255,1),
    0 0 18px rgba(243,251,255,.58),
    0 0 46px rgba(232,247,255,.14);
  color: #fbfdff;
  -webkit-backdrop-filter: blur(28px) saturate(88%) brightness(.98);
  backdrop-filter: blur(28px) saturate(88%) brightness(.98);
  transform:
    perspective(980px)
    translate3d(var(--gate-shift-x), var(--gate-shift-y), var(--gate-lift))
    rotateX(var(--gate-tilt-x))
    rotateY(var(--gate-tilt-y))
    scale(var(--gate-scale));
  transform-style: preserve-3d;
  cursor: pointer;
  will-change: transform, filter, opacity;
  animation: enter-gate-float 4.8s ease-in-out infinite;
  transition:
    transform 90ms linear,
    border-color 260ms ease,
    box-shadow 320ms ease,
    background 320ms ease;
}

.enter-gate__button::before {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow:
    inset 0 1px 7px rgba(255,255,255,.28),
    inset 0 0 0 1px rgba(255,255,255,.075),
    inset 0 -10px 22px rgba(0,0,0,.13);
  pointer-events: none;
}

.enter-gate__button::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  pointer-events: none;
  opacity: .72;
  background: conic-gradient(
    from 0deg,
    rgba(255,255,255,.82),
    rgba(255,255,255,.42) 36%,
    rgba(255,255,255,.86) 68%,
    rgba(255,255,255,.82)
  );
  -webkit-mask: radial-gradient(circle, transparent 65%, #000 67% 70%, transparent 72%);
  mask: radial-gradient(circle, transparent 65%, #000 67% 70%, transparent 72%);
  filter: blur(.2px) brightness(1.08);
  transition: opacity 240ms ease, filter 240ms ease, background 120ms linear;
}

.enter-gate__button-glow {
  position: absolute;
  z-index: -1;
  inset: -115%;
  border-radius: 50%;
  opacity: .58;
  background:
    radial-gradient(circle at 50% 50%, rgba(247,252,255,.18), rgba(231,246,255,.065) 25%, rgba(255,255,255,.025) 44%, transparent 70%);
  filter: blur(21px) brightness(1);
  transform: translateZ(-1px);
  scale: .98;
  animation: enter-gate-halo-breathe 4.8s ease-in-out infinite;
  transition: opacity 360ms ease, transform 500ms cubic-bezier(.16,1,.3,1);
}

.enter-gate__label {
  position: absolute;
  left: 50%;
  bottom: calc(100% + clamp(34px, 4.8vh, 52px));
  z-index: 1;
  min-width: 8.4em;
  color: transparent;
  font-family: "Microsoft YaHei UI", "Noto Sans CJK SC", sans-serif;
  font-size: clamp(23px, 2.05vw, 30px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .12em;
  text-align: center;
  text-indent: .12em;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  filter: blur(3px) brightness(.75);
  background-image: radial-gradient(circle, #fffef2 0 1.28px, rgba(255,225,119,.98) 1.36px, transparent 1.72px);
  background-size: 4px 4px;
  background-position: center;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: translate3d(-50%, 9px, 34px) scale(.96);
  transition: opacity 150ms ease, transform 320ms cubic-bezier(.16,1,.3,1), filter 220ms ease;
}

.enter-gate__label::after {
  content: "";
  position: absolute;
  inset: -8px -12px;
  z-index: -1;
  opacity: .36;
  background-image: radial-gradient(circle, currentColor 0 1px, transparent 1.4px);
  background-size: 5px 5px;
  -webkit-mask: linear-gradient(90deg, transparent, #000 18% 82%, transparent);
  mask: linear-gradient(90deg, transparent, #000 18% 82%, transparent);
}

.enter-gate.is-label-visible .enter-gate__label {
  opacity: 1;
  filter:
    blur(0)
    brightness(1.42)
    drop-shadow(0 0 3px rgba(255,252,222,1))
    drop-shadow(0 0 8px rgba(255,220,111,.96))
    drop-shadow(0 0 19px rgba(255,164,21,.72));
  transform: translate3d(-50%, 0, 34px) scale(1);
}

.enter-gate__arrow {
  position: absolute;
  z-index: 1;
  width: clamp(33px, 2.65vw, 39px);
  height: auto;
  color: rgba(255,255,255,.96);
  filter: drop-shadow(0 0 3px rgba(255,255,255,.5));
  transform: translateZ(31px);
}

.enter-gate__button:hover {
  --gate-lift: 14px;
  --gate-scale: 1.045;
  border-color: rgba(251,254,255,.98);
  background:
    linear-gradient(148deg, rgba(255,255,255,.17), rgba(255,255,255,.035) 36%, rgba(181,229,241,.03) 64%, rgba(255,255,255,.012)),
    rgba(226,240,245,.045);
  -webkit-backdrop-filter: blur(26px) saturate(88%) brightness(1.08);
  backdrop-filter: blur(26px) saturate(88%) brightness(1.08);
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.94),
    inset 0 0 0 1px rgba(255,255,255,.15),
    inset 0 -16px 34px rgba(1,8,13,.12),
    0 30px 86px rgba(0,0,0,.66),
    0 0 4px rgba(255,255,255,1),
    0 0 34px rgba(250,254,255,.98),
    0 0 98px rgba(239,250,255,.5),
    0 0 118px rgba(var(--gate-light-rgb), .19);
}

.enter-gate__button:hover .enter-gate__button-glow {
  opacity: 1;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.36), rgba(255,237,171,.16) 24%, rgba(var(--gate-light-rgb), .1) 44%, transparent 70%);
  filter: blur(24px) brightness(1.22);
  transform: translateZ(-1px) scale(1.12);
  animation-name: enter-gate-halo-breathe-hover;
  animation-duration: 4s;
}

.enter-gate__button:hover::after {
  opacity: 1;
  background: conic-gradient(
    from calc(var(--gate-edge-angle) - 88deg),
    transparent 0deg,
    rgba(255,67,47,.82) 24deg,
    rgba(255,162,50,.88) 56deg,
    rgba(255,251,230,1) 88deg,
    rgba(83,228,255,.96) 120deg,
    rgba(45,137,255,.76) 152deg,
    transparent 184deg,
    transparent 360deg
  );
  filter:
    blur(.45px)
    brightness(1.82)
    drop-shadow(0 0 9px rgba(255,255,255,1))
    drop-shadow(0 0 28px rgba(238,250,255,.9));
}

.enter-gate__button:focus-visible {
  outline: 2px solid rgba(236,248,255,.94);
  outline-offset: 8px;
}

.enter-gate__bloom {
  z-index: 5;
  left: 50%;
  top: 50%;
  right: auto;
  bottom: auto;
  width: 26vmax;
  height: 26vmax;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.02);
  will-change: transform, opacity, filter;
}

.enter-gate__bloom--diffuse {
  background: radial-gradient(circle, #fff 0 10%, rgba(239,248,255,.95) 21%, rgba(216,238,255,.44) 44%, transparent 72%);
  filter: blur(24px);
}

.enter-gate__bloom--core {
  z-index: 6;
  background: radial-gradient(circle, #fff 0 30%, rgba(255,255,255,.98) 49%, rgba(244,250,255,.68) 66%, transparent 78%);
  filter: blur(5px);
}

.enter-gate.is-entering .enter-gate__button {
  pointer-events: none;
  animation: enter-gate-press 210ms cubic-bezier(.3,0,.2,1) both;
}

.enter-gate.is-entering .enter-gate__bloom--diffuse {
  animation: enter-gate-bloom-diffuse 540ms cubic-bezier(.4,0,.2,1) 70ms forwards;
}

.enter-gate.is-entering .enter-gate__bloom--core {
  animation: enter-gate-bloom-core 485ms cubic-bezier(.4,0,.2,1) 115ms forwards;
}

.enter-gate.is-peak {
  background: #fff;
}

.enter-gate.is-revealing {
  opacity: 0;
  transition: opacity 200ms cubic-bezier(.16,1,.3,1);
}

.enter-gate.is-failed .enter-gate__button {
  animation: enter-gate-recover 520ms cubic-bezier(.16,1,.3,1) both;
}

@keyframes enter-gate-float {
  0%, 100% { translate: 0 -6px; filter: brightness(.98); }
  50% { translate: 0 7px; filter: brightness(1.055); }
}

@keyframes enter-gate-halo-breathe {
  0%, 100% { opacity: .62; scale: .95; filter: blur(22px) brightness(.92); }
  50% { opacity: .84; scale: 1.06; filter: blur(24px) brightness(1.12); }
}

@keyframes enter-gate-halo-breathe-hover {
  0%, 100% { opacity: .86; scale: 1.03; filter: blur(22px) brightness(1.05); }
  50% { opacity: 1; scale: 1.14; filter: blur(25px) brightness(1.2); }
}

@keyframes enter-gate-press {
  0% { scale: 1; filter: brightness(1); }
  48% { scale: .955; filter: brightness(1.36); }
  100% { scale: 1.025; filter: brightness(1.12); }
}

@keyframes enter-gate-bloom-diffuse {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.02); filter: blur(34px); }
  45% { opacity: .3; transform: translate(-50%, -50%) scale(.14); filter: blur(31px); }
  68% { opacity: .68; transform: translate(-50%, -50%) scale(.7); filter: blur(24px); }
  84% { opacity: .94; transform: translate(-50%, -50%) scale(2.5); filter: blur(18px); }
  100% { opacity: 1; transform: translate(-50%, -50%) scale(9.5); filter: blur(13px); }
}

@keyframes enter-gate-bloom-core {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.025); }
  42% { opacity: .28; transform: translate(-50%, -50%) scale(.08); }
  68% { opacity: .76; transform: translate(-50%, -50%) scale(.52); }
  85% { opacity: .98; transform: translate(-50%, -50%) scale(2.25); }
  100% { opacity: 1; transform: translate(-50%, -50%) scale(9.7); }
}

@keyframes enter-gate-recover {
  0% { opacity: .42; scale: .96; }
  100% { opacity: 1; scale: 1; }
}

body.intro-active .site-header,
body.intro-active main {
  opacity: 0;
  filter: blur(8px);
  pointer-events: none;
}

body.intro-active.intro-revealing .site-header,
body.intro-active.intro-revealing main {
  opacity: 1;
  filter: blur(0);
}

body.intro-active .site-header {
  transition: opacity 880ms cubic-bezier(.22,.72,.22,1), filter 980ms cubic-bezier(.22,.72,.22,1), border-color 180ms ease, background 180ms ease;
}

body.intro-active main {
  transition: opacity 920ms cubic-bezier(.22,.72,.22,1), filter 1040ms cubic-bezier(.22,.72,.22,1);
}

.brand-intro__skip:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

.brand-intro__skip {
  position: absolute;
  right: var(--space-5);
  bottom: var(--space-5);
  min-width: 64px;
  min-height: 44px;
  border: 1px solid rgba(255,255,255,.45);
  background: rgba(0,0,0,.24);
  color: #fff;
  font-size: 11px;
  letter-spacing: .12em;
  cursor: pointer;
  transition: background 180ms ease, opacity 180ms ease;
}

.brand-intro__skip:hover { background: rgba(255,255,255,.14); }
.brand-intro.is-ending .brand-intro__skip { opacity: 0; visibility: hidden; pointer-events: none; }

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  height: var(--header-height);
  background: var(--color-background);
  border-bottom: 1px solid rgba(20,20,20,.1);
  transition: border-color 180ms ease, background 180ms ease;
}

.site-header.is-scrolled { border-bottom-color: var(--color-border); background: var(--color-background); }

.site-nav {
  width: min(calc(100% - clamp(32px, 4vw, 64px)), 1320px);
  height: 100%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr) minmax(0, 1.3fr) minmax(0, 2.2fr) minmax(0, 1.2fr) minmax(0, .85fr) minmax(0, .75fr) minmax(0, .5fr);
  align-items: stretch;
  gap: 0;
}

.nav-cell {
  position: relative;
  min-width: 0;
  display: grid;
  place-items: center;
  padding-inline: clamp(8px, 1vw, 15px);
  border: 0;
  background: transparent;
  color: var(--color-text);
}

.nav-cell:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 54px;
  background: rgba(20,20,20,.18);
  transform: translateY(-50%);
}

.nav-cell--copy {
  grid-template-rows: 18px 16px;
  align-content: center;
  row-gap: 7px;
  font-family: var(--font-sans);
  text-align: center;
  cursor: pointer;
}

.nav-cell--copy::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 23px;
  width: 24px;
  height: 1px;
  background: var(--color-primary);
  opacity: 0;
  transform: translateX(-50%);
  transition: opacity 180ms ease;
}

.nav-cell--copy:hover::after { opacity: 1; }
.nav-cell--copy:hover .nav-cell__title { color: var(--color-primary); }

.nav-cell__title {
  align-self: end;
  font-size: 13px;
  font-weight: 620;
  line-height: 18px;
  letter-spacing: -.015em;
  white-space: nowrap;
  transition: color 180ms ease;
}

.nav-cell__subtitle {
  align-self: start;
  color: var(--color-text-muted);
  font-size: 10.5px;
  font-weight: 430;
  line-height: 16px;
  letter-spacing: .035em;
  white-space: nowrap;
}

.site-logo { line-height: 0; }
.site-logo img { width: 170px; height: auto; }

.nav-cell--contact { padding-inline: 12px 0; }

.nav-contact {
  width: min(100%, 80px);
  min-height: 40px;
  padding: 0 10px;
  border: 1px solid var(--color-secondary);
  background: var(--color-secondary);
  color: #fff;
  font-size: 12px;
  font-weight: 650;
  cursor: pointer;
  transition: background 180ms ease, border-color 180ms ease;
}

.nav-contact:hover { background: #2b2b2b; border-color: #2b2b2b; }

.focus-media-mark {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  overflow: hidden;
  line-height: 0;
}

.focus-media-mark img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 155%;
  max-width: none;
  height: auto;
  transform: translate(-50%, -50%);
}

.nav-cell--focus { padding-inline: 0 12px; }
.nav-cell--focus::before { display: none; }
.focus-media-mark--nav { width: 56px; height: 42px; }
.focus-media-mark--mobile { width: 82px; height: 46px; margin-top: var(--space-5); }

.menu-toggle, .mobile-menu { display: none; }

/* Hero */
.hero {
  position: relative;
  height: calc(100svh - var(--header-height));
  min-height: 640px;
  max-height: 760px;
  overflow: hidden;
  background: #111;
  color: #fff;
}

.hero__film, .hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__film { object-fit: cover; object-position: center; }

.hero__veil {
  background: linear-gradient(90deg, rgba(5,7,16,.76) 0%, rgba(5,7,16,.4) 46%, rgba(5,7,16,.08) 76%), linear-gradient(0deg, rgba(5,7,16,.32), transparent 46%);
}

.hero__content {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-bottom: 122px;
}

.hero h1 {
  max-width: 920px;
  margin: 24px 0 22px;
  font-family: "Helvetica Inserat LT Std", "Arial Narrow", "Helvetica Neue Condensed", sans-serif;
  font-size: clamp(76px, 9.4vw, 138px);
  font-stretch: condensed;
  font-weight: 800;
  line-height: .76;
  letter-spacing: -.075em;
  text-transform: uppercase;
}

.hero-title__line { display: block; }
.hero-title__line + .hero-title__line { margin-top: clamp(11px, 1.15vw, 18px); }

.hero__lead {
  max-width: 570px;
  margin: 0;
  font-size: clamp(18px, 1.55vw, 23px);
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: -.015em;
  white-space: nowrap;
}

.hero__motto {
  margin: var(--space-3) 0 0;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .2em;
  white-space: nowrap;
}

.hero__actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); }

.hero__stats {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  min-height: 122px;
  background: rgba(242,239,232,.96);
  color: var(--color-text);
  border-top: 1px solid rgba(255,255,255,.32);
}

.hero__stats > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  padding: 20px clamp(20px, 3.4vw, 52px);
  border-right: 1px solid var(--color-border);
}

.hero__stats > div:last-child { border-right: 0; }
.hero__stats strong { font-family: var(--font-display); font-size: clamp(46px, 4.4vw, 64px); font-weight: 900; line-height: .74; letter-spacing: -.065em; }
.hero__stats sup { position: relative; top: -.65em; margin-left: 2px; color: var(--color-primary); font-size: .32em; vertical-align: baseline; }
.hero__stats span { color: var(--color-text-secondary); font-size: 10px; font-weight: 700; line-height: 1.2; letter-spacing: .1em; }
.hero__stat-number--reach { position: relative; top: 1px; letter-spacing: -.08em; }

/* Talent spotlight */
.talent-section { background: var(--color-background); }

.spotlight {
  position: relative;
  height: calc(100svh - var(--header-height));
  min-height: 620px;
  max-height: 720px;
  overflow: hidden;
  background: var(--color-background);
  border-bottom: 1px solid var(--color-border);
}

.spotlight__slide { position: absolute; inset: 0; isolation: isolate; overflow: hidden; }
.spotlight__slide.is-entering { animation: spotlight-enter 620ms cubic-bezier(.22,.8,.24,1) both; }
.spotlight__slide.accent-indigo { --slide-glow: rgba(47,56,215,.085); }
.spotlight__slide.accent-orange { --slide-glow: rgba(255,91,69,.075); }
.spotlight__slide.accent-pink { --slide-glow: rgba(199,86,216,.07); }
.spotlight__slide.accent-ink { --slide-glow: rgba(31,35,52,.07); }
.spotlight__slide.accent-mist { --slide-glow: rgba(79,111,166,.07); }

@keyframes spotlight-enter {
  from { opacity: 0; transform: translateX(42px); filter: blur(7px); }
  to { opacity: 1; transform: none; filter: none; }
}

.spotlight__slide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 50% 42%, var(--slide-glow, rgba(47,56,215,.08)), transparent 36%);
}

.spotlight__editorial-note {
  position: absolute;
  z-index: 3;
  left: max(var(--page-gutter), calc((100vw - var(--container)) / 2));
  top: var(--space-7);
  max-width: 350px;
}

.spotlight__editorial-note strong,
.spotlight__editorial-note span { display: block; }
.spotlight__editorial-note strong { margin-top: 8px; font-family: var(--font-editorial); font-size: 18px; font-weight: 500; line-height: 1.2; letter-spacing: -.02em; }
.spotlight__editorial-note span { margin-top: 5px; color: var(--color-text-secondary); font-size: 11px; line-height: 1.55; }

.spotlight__word {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 43%;
  width: 100%;
  color: #151515;
  font-family: var(--font-editorial);
  font-size: clamp(112px, 16vw, 240px);
  font-weight: 700;
  line-height: .72;
  letter-spacing: -.095em;
  text-align: center;
  white-space: nowrap;
  transform: translate(-50%, -50%) scaleX(.76);
  transform-origin: center;
}

.spotlight__model {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 0;
  width: 43%;
  height: 96%;
  object-fit: contain;
  object-position: center bottom;
  transform: translate3d(calc(-50% + var(--star-hero-x, 0px)), var(--star-hero-y, 0px), 0) scale(var(--star-hero-scale, 1));
  transform-origin: center bottom;
  filter: drop-shadow(0 22px 28px rgba(0,0,0,.08));
}

.spotlight__model--concept {
  bottom: 7%;
  width: min(440px, 34vw);
  height: 78%;
  object-fit: cover;
  object-position: center 24%;
  clip-path: ellipse(43% 49% at 50% 50%);
  filter: saturate(.82) contrast(1.02);
}

.spotlight__copy {
  position: absolute;
  z-index: 3;
  left: max(var(--page-gutter), calc((100vw - var(--container)) / 2));
  bottom: var(--space-8);
  max-width: 260px;
}

.spotlight__copy h3 {
  display: inline-block;
  margin: 0 0 24px;
  font-family: var(--font-jiying-huipian);
  font-size: 54px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.025em;
  white-space: nowrap;
  scale: 1 1.3;
  transform-origin: left top;
}
.spotlight__copy .spotlight__theme { margin: 0; color: var(--color-text); font-family: var(--font-editorial); font-size: 15px; letter-spacing: .02em; }
.spotlight__copy .button { margin-top: var(--space-5); }

.spotlight__index {
  position: absolute;
  z-index: 3;
  right: max(var(--page-gutter), calc((100vw - var(--container)) / 2));
  top: var(--space-7);
  display: flex;
  align-items: baseline;
  gap: 3px;
  font-family: var(--font-editorial);
}

.spotlight__index strong { font-size: 31px; font-weight: 500; }
.spotlight__index span { color: var(--color-text-secondary); font-size: 12px; }

.spotlight__controls {
  position: absolute;
  z-index: 4;
  right: max(var(--page-gutter), calc((100vw - var(--container)) / 2));
  bottom: var(--space-8);
  display: grid;
  grid-template-columns: repeat(2, 52px);
  gap: var(--space-2);
}

.spotlight__controls button {
  width: 52px;
  height: 48px;
  border: 0;
  background: transparent;
  font-size: 21px;
  cursor: pointer;
  transition: color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.spotlight__controls button:hover { color: var(--color-primary); border-color: var(--color-primary); transform: translateX(var(--move, 0)); }
.spotlight__controls button:first-child { --move: -2px; }
.spotlight__controls button:last-child { --move: 2px; }

.spotlight__dots { position: absolute; z-index: 4; right: max(var(--page-gutter), calc((100vw - var(--container)) / 2)); bottom: 42px; display: flex; gap: 7px; }
.spotlight__dots button { width: 24px; height: 12px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.spotlight__dots button::after { content: ""; display: block; width: 100%; height: 2px; background: #b9b3a9; }
.spotlight__dots button.is-active::after { background: var(--color-primary); }

/* Theme-film page only; the eight STAR layouts and transitions stay unchanged. */
.spotlight__slide--theme-film::before { background: none; }
.spotlight__slide--theme-film { background: var(--color-background); color: #fff; }
.spotlight__slide--theme-film.is-entering { animation: none; }
.spotlight__slide--theme-film .spotlight__index span { color: #fff; }
.spotlight__slide--theme-film .spotlight__index { text-shadow: 0 1px 6px #111; }
.spotlight__slide--theme-film .spotlight__controls button { color: #fff; border-color: #fff; }
.spotlight__slide--theme-film .spotlight__dots button::after { background: #929292; }
.spotlight__slide--theme-film .spotlight__dots button.is-active::after { background: #fff; }
.spotlight__film-cover {
  position: absolute;
  top: 16px;
  bottom: 16px;
  left: 50%;
  width: auto;
  height: calc(100% - 32px);
  max-width: calc(100% - 32px);
  aspect-ratio: 16 / 9;
  transform: translateX(-50%);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 24px;
  background: #101010;
  isolation: isolate;
}
.spotlight__film-cover::after { content: ""; position: absolute; inset: 55% 0 0; z-index: 1; background: linear-gradient(transparent, rgba(0,0,0,.42)); pointer-events: none; }
.spotlight__film-cover picture { display: block; width: 100%; height: 100%; visibility: hidden; }
.is-film-settled .spotlight__film-cover picture { visibility: visible; }
.spotlight__film-cover img { width: 100%; height: 100%; object-fit: cover; }
.spotlight__film-intro { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #101010; opacity: 1; pointer-events: none; }
.is-film-settled .spotlight__film-intro { opacity: 0; transition: opacity 350ms ease; }
.spotlight__slide--theme-film:not(.is-film-settled) .spotlight__film-badge { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(8px); }
.spotlight__film-badge {
  position: absolute;
  z-index: 5;
  right: max(var(--page-gutter), calc((100vw - var(--container)) / 2));
  bottom: 132px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 12px 18px;
  border: 1px solid var(--color-text);
  background: var(--color-text);
  color: var(--color-background);
  font: 600 12px/1.2 var(--font-sans, sans-serif);
  letter-spacing: .035em;
  white-space: nowrap;
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
  border-color: rgba(255,255,255,.7);
  opacity: 1;
  transition: opacity 500ms ease 250ms, transform 500ms ease 250ms, visibility 0s 250ms, background 180ms ease, color 180ms ease;
}
.spotlight__film-badge:hover { background: var(--color-background); color: var(--color-text); }
.spotlight__film-badge:focus-visible, .focusstyle-film-player__close:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }
.focusstyle-film-player {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 72px 24px 24px;
  border: 0;
  background: #080808;
  color: #fff;
}
.focusstyle-film-player[open] { display: grid; place-items: center; }
.focusstyle-film-player::backdrop { background: #080808; }
.focusstyle-film-player video { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.focusstyle-film-player__close {
  position: absolute;
  top: max(16px, env(safe-area-inset-top));
  right: max(16px, env(safe-area-inset-right));
  z-index: 1;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.65);
  background: transparent;
  color: #fff;
  font-size: 28px;
  cursor: pointer;
  touch-action: manipulation;
}
body:has(#focusstyleFilmDialog[open]) { overflow: hidden; }
@media (max-width: 760px) {
  .spotlight__film-badge { gap: 9px; padding: 12px 14px; font-size: 11px; }
  .focusstyle-film-player { padding: 72px 12px 24px; }
}
@media (max-width: 1100px) {
  .spotlight__film-cover { inset: 12px; width: auto; height: auto; max-width: none; aspect-ratio: auto; transform: none; border-radius: 20px; }
  .spotlight__film-intro { object-fit: cover; object-position: 60% center; }
  .spotlight__film-cover img { object-position: 20% center; }
  .spotlight__slide--theme-film .spotlight__film-badge { right: max(var(--page-gutter), 28px); bottom: 94px; }
  .spotlight__slide--theme-film .spotlight__controls { right: max(var(--page-gutter), 28px); bottom: 30px; grid-template-columns: repeat(2, 44px); }
  .spotlight__slide--theme-film .spotlight__controls button { width: 44px; height: 44px; }
  .spotlight__slide--theme-film .spotlight__dots { left: max(var(--page-gutter), 28px); right: auto; bottom: 45px; gap: 5px; }
  .spotlight__slide--theme-film .spotlight__dots button { width: 16px; }
}
@media (max-width: 600px) and (orientation: portrait) {
  .spotlight__film-cover img { object-position: 8% center; }
}
@media (prefers-reduced-motion: reduce) {
  .spotlight__film-intro, .is-film-settled .spotlight__film-intro, .spotlight__film-badge { transition: none; }
}

.talent-index { padding-top: var(--space-10); padding-bottom: 120px; scroll-margin-top: calc(var(--header-height) + var(--space-4)); }

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
  align-items: end;
  gap: var(--space-8);
  margin-bottom: var(--space-7);
}

.section-heading h2 {
  max-width: 830px;
  margin: var(--space-3) 0 0;
  font-family: var(--font-display);
  font-size: clamp(52px, 6.2vw, 88px);
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.065em;
}

.editorial-line { display: block; white-space: nowrap; }
.talent-index .section-heading h2 {
  max-width: none;
  padding-bottom: .28em;
  font-family: var(--font-feihua-song);
  font-size: clamp(68px, 7vw, 100px);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.035em;
}
.talent-index .section-heading h2 .editorial-line {
  width: max-content;
  scale: 1 1.3;
  transform-origin: left top;
}
.talent-index .section-heading h2 .editorial-line + .editorial-line { margin-top: .3em; }
.section-heading > p { max-width: 36ch; margin: 0; color: var(--color-text-secondary); font-size: 14px; line-height: 1.7; }
.section-heading > .talent-index__intro { width: 100%; max-width: 100%; font-size: 14px; line-height: 1.7; }
.talent-index__intro > span { display: block; white-space: nowrap; }

.talent-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--color-border); border: 1px solid var(--color-border); }

.talent-card { min-width: 0; background: var(--color-surface); }
.talent-card__button { width: 100%; min-height: 100%; padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.talent-card__media { position: relative; aspect-ratio: 2 / 3; overflow: hidden; background: linear-gradient(155deg, var(--star-card-bg-a, #e3e4df), var(--star-card-bg-b, #cbd2d0)); }
.talent-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 420ms var(--ease), filter 260ms ease; }
.talent-card__button:hover img { transform: scale(1.018); filter: saturate(1.04); }
.talent-card__asset-missing,
.spotlight__asset-missing,
.avatar-detail__asset-missing { display: grid; place-items: center; width: 100%; height: 100%; padding: var(--space-5); color: var(--color-text-muted); font-size: 10px; font-weight: 750; letter-spacing: .08em; text-align: center; }
.talent-card__body { min-height: 152px; padding: 20px 18px 18px; border-top: 1px solid var(--color-border); }
.talent-card__body h3 { margin: 0; font-family: var(--font-editorial); font-size: 25px; font-weight: 500; line-height: 1.1; }
.talent-card__edition { display: block; margin-top: 5px; color: var(--color-text-muted); font-size: 9px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.talent-card__role { margin: 15px 0 0; color: var(--color-text-secondary); font-size: 12px; }
.talent-card__link { display: inline-block; margin-top: 16px; color: var(--color-primary); font-size: 11px; font-weight: 750; }
.section-action { display: flex; justify-content: center; margin-top: var(--space-7); }
.star-archive-controls { display: flex; align-items: center; justify-content: center; gap: clamp(20px, 3vw, 44px); margin-top: var(--space-7); }
.star-refresh { position: relative; min-width: 156px; min-height: 50px; padding: 0 28px; border: 1px solid rgba(18,18,18,.72); border-radius: 2px; background: transparent; color: var(--color-text); font-family: var(--font-editorial); font-size: 13px; font-weight: 600; letter-spacing: .14em; cursor: pointer; transition: color 180ms ease, border-color 180ms ease, background 180ms ease, transform 180ms ease; }
.star-refresh::after { content: ""; position: absolute; inset: 4px; border: 1px solid rgba(18,18,18,.13); pointer-events: none; transition: border-color 180ms ease; }
.star-refresh:hover { border-color: var(--color-primary); background: rgba(45,62,214,.035); color: var(--color-primary); transform: translateY(-1px); }
.star-refresh:hover::after { border-color: rgba(45,62,214,.2); }
.star-refresh:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }

/* Cases */
.case-section {
  --selects-title-a: #253ed4;
  --selects-title-b: #6832bf;
  --selects-title-c: #e05256;
  --selects-halo-x: 50%;
  --selects-halo-y: 62%;
  position: relative;
  isolation: isolate;
  padding: clamp(96px, 9vw, 144px) 0 clamp(104px, 10vw, 156px);
  overflow: hidden;
  background: var(--color-surface);
  border: 0;
}

.case-section::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background:
    radial-gradient(ellipse 54% 38% at var(--selects-halo-x) var(--selects-halo-y), color-mix(in srgb, var(--selects-halo-a, var(--selects-title-a)) 13%, transparent) 0%, color-mix(in srgb, var(--selects-halo-a, var(--selects-title-a)) 5%, transparent) 34%, transparent 74%),
    radial-gradient(ellipse 64% 44% at calc(var(--selects-halo-x) + 5%) calc(var(--selects-halo-y) + 2%), color-mix(in srgb, var(--selects-halo-b, var(--selects-title-b)) 8%, transparent) 0%, transparent 76%),
    radial-gradient(ellipse 48% 36% at calc(var(--selects-halo-x) - 4%) calc(var(--selects-halo-y) - 2%), color-mix(in srgb, var(--selects-halo-c, var(--selects-title-c)) 6%, transparent) 0%, transparent 72%);
  opacity: 0;
  transform: translateZ(0) scale(.985);
  transition: opacity 380ms cubic-bezier(.22,.72,.22,1), transform 440ms cubic-bezier(.22,.72,.22,1);
  will-change: opacity, transform;
  pointer-events: none;
}

.case-section.is-selects-halo-active::before {
  opacity: 1;
  transform: translateZ(0) scale(1);
}

.case-section > .container {
  position: relative;
  z-index: 1;
}

.section-heading--cases {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  margin-bottom: clamp(32px, 4.4vw, 68px);
  text-align: center;
}

.section-heading--cases .label {
  margin-bottom: clamp(18px, 2.2vw, 30px);
  font-size: clamp(10px, .82vw, 13px);
  letter-spacing: .2em;
}

.section-heading--cases h2 {
  position: relative;
  display: grid;
  max-width: 12.6em;
  margin: 0;
  padding-block: .12em .3em;
  overflow: visible;
  color: var(--color-primary);
  font-size: clamp(68px, 8.7vw, 132px);
  font-weight: 900;
  line-height: .9;
  letter-spacing: -.065em;
  text-align: center;
  text-wrap: balance;
}

.selects-title__layer {
  grid-area: 1 / 1;
  display: grid;
  row-gap: .085em;
  padding-bottom: .035em;
  opacity: 0;
  background: linear-gradient(108deg, var(--title-layer-a, var(--selects-title-a)) 6%, var(--title-layer-b, var(--selects-title-b)) 55%, var(--title-layer-c, var(--selects-title-c)) 96%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: opacity 480ms cubic-bezier(.22, .72, .22, 1);
  pointer-events: none;
}

.selects-title__layer.is-active { opacity: 1; }
.selects-title__line { display: block; white-space: nowrap; }

.selects-heading__cta {
  min-height: 38px;
  margin-top: clamp(22px, 2.4vw, 34px);
  padding-inline: 2px;
  color: var(--color-primary);
  font-size: clamp(11px, .88vw, 14px);
  letter-spacing: .02em;
}
.section-heading__aside { display: grid; justify-items: start; gap: var(--space-4); }
.section-heading__aside p { margin: 0; color: var(--color-text-secondary); font-size: 14px; line-height: 1.7; }
.section-heading__aside .section-heading__note { max-width: 30ch; color: var(--color-text-muted); font-size: 11px; }
.section-heading__aside--cta { align-self: end; justify-items: end; }

.case-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  grid-template-rows: repeat(2, 270px);
  gap: var(--space-3);
}

.case-card { position: relative; overflow: hidden; min-width: 0; background: #171717; }
.case-grid .case-card:first-child { grid-row: 1 / span 2; }
.case-card__button { width: 100%; height: 100%; padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.case-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 480ms var(--ease), filter 260ms ease; }
.case-card__button:hover img { transform: scale(1.035); filter: saturate(1.08); }
.case-card__veil { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,8,8,.84), rgba(8,8,8,.04) 64%); }
.case-card__play { position: absolute; right: var(--space-4); top: var(--space-4); display: grid; place-items: center; width: 42px; height: 42px; background: var(--color-primary); color: #fff; font-size: 12px; transition: background 180ms ease, transform 180ms ease; }
.case-card__button:hover .case-card__play { background: var(--color-orange); transform: scale(1.05); }
.case-card__copy { position: absolute; left: 20px; right: 20px; bottom: 18px; color: #fff; }
.case-card__copy small { color: #fff; font-size: 9px; font-weight: 700; letter-spacing: .08em; }
.case-card__copy h3 { width: 100%; margin: 7px 0 0; font-size: 20px; font-weight: 720; line-height: 1.28; letter-spacing: -.025em; line-break: strict; overflow-wrap: break-word; text-wrap: pretty; word-break: normal; }
.case-grid .case-card:first-child .case-card__copy h3 { font-size: 30px; }

/* Homepage FMAI SELECTS continuous motion track */
.selects-carousel {
  position: relative;
  width: 100%;
  margin-top: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.section-heading--cases,
.selects-carousel,
.selects-carousel__viewport,
.selects-carousel__track,
.selects-carousel__footer {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.selects-carousel__viewport {
  position: relative;
  height: clamp(400px, 36vw, 500px);
  overflow: hidden;
  outline: none;
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
  perspective: 1450px;
  perspective-origin: 50% 48%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}

.selects-carousel__viewport.is-center-drag,
.selects-carousel__viewport.is-track-drag { cursor: grabbing; }
.selects-carousel__viewport:focus-visible { outline: 1px solid var(--color-primary); outline-offset: 5px; }
.selects-carousel__track { position: absolute; z-index: 1; inset: 0; transform-style: preserve-3d; }

.selects-film {
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(390px, 35vw, 500px);
  aspect-ratio: 4 / 3;
  opacity: var(--card-opacity, 1);
  transform: translate3d(calc(-50% + var(--card-x, 0px)), calc(-50% + var(--card-y, 0px)), var(--card-z, 0px)) rotateX(var(--card-rx, 0deg)) rotateY(var(--card-ry, 0deg)) rotateZ(var(--card-rz, 0deg)) scale(var(--card-scale, 1));
  filter: blur(var(--card-blur, 0px));
  transform-origin: 50% 50%;
  border-radius: 19px;
  box-shadow:
    0 28px 72px rgba(22, 19, 34, calc(var(--shadow-opacity, .08) * .72)),
    0 8px 24px rgba(22, 19, 34, calc(var(--shadow-opacity, .08) * .42));
  will-change: transform, opacity, filter;
  backface-visibility: hidden;
  transform-style: preserve-3d;
  contain: layout style;
}

.selects-film__button {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
  color: #fff;
  text-align: left;
  cursor: pointer;
  border-radius: inherit;
  transform: translateZ(0);
  transform-style: preserve-3d;
}

.selects-film__button::before,
.selects-film__button::after {
  content: "";
  position: absolute;
  z-index: 5;
  pointer-events: none;
  border-radius: inherit;
}

.selects-film__button::before {
  inset: 0;
  border: 1px solid rgba(255,255,255,.62);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.76),
    inset 1px 0 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(20,18,32,.16),
    0 0 0 1px rgba(255,255,255,.14);
}

.selects-film__button::after {
  inset: 1px;
  background: linear-gradient(135deg, rgba(255,255,255,.17) 0%, transparent 24%, transparent 76%, rgba(255,255,255,.08) 100%);
  box-shadow: inset 0 0 18px rgba(255,255,255,.055);
}

.selects-film__button:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }
.selects-film[data-stack-top] { z-index: 4000 !important; }
.selects-film__visual {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  background: #151515;
  box-shadow: inset 0 0 12px rgba(255,255,255,.08);
  -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, var(--seam-left-opacity, 1)) 0, #000 var(--seam-left-width, 0px), #000 calc(100% - var(--seam-right-width, 0px)), rgba(0, 0, 0, var(--seam-right-opacity, 1)) 100%);
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, var(--seam-left-opacity, 1)) 0, #000 var(--seam-left-width, 0px), #000 calc(100% - var(--seam-right-width, 0px)), rgba(0, 0, 0, var(--seam-right-opacity, 1)) 100%);
  pointer-events: none;
}
.selects-film__visual img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; pointer-events: none; }

.selects-film__edge-softener {
  position: absolute;
  top: 0;
  bottom: 0;
  pointer-events: none;
}

.selects-film__edge-softener--left {
  left: 0;
  width: var(--seam-left-width, 0px);
  opacity: var(--seam-left-strength, 0);
  -webkit-backdrop-filter: blur(var(--seam-left-blur, 0px));
  backdrop-filter: blur(var(--seam-left-blur, 0px));
  background: linear-gradient(90deg, rgba(18, 14, 9, var(--seam-left-shadow, 0)) 0%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, #000, transparent);
  mask-image: linear-gradient(90deg, #000, transparent);
}

.selects-film__edge-softener--right {
  right: 0;
  width: var(--seam-right-width, 0px);
  opacity: var(--seam-right-strength, 0);
  -webkit-backdrop-filter: blur(var(--seam-right-blur, 0px));
  backdrop-filter: blur(var(--seam-right-blur, 0px));
  background: linear-gradient(90deg, transparent 0%, rgba(18, 14, 9, var(--seam-right-shadow, 0)) 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000);
  mask-image: linear-gradient(90deg, transparent, #000);
}

.selects-film__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.07), transparent 24%, transparent 78%, rgba(8,8,12,.07));
  opacity: 1;
  pointer-events: none;
  border-radius: inherit;
}

.selects-film__meta {
  display: none;
}

.selects-film__meta small {
  overflow: hidden;
  color: rgba(255,255,255,.84);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .11em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.selects-film__meta h3 {
  width: 100%;
  margin: 0;
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 720;
  line-height: 1.16;
  letter-spacing: -.035em;
  opacity: var(--info-opacity, 0);
  line-break: strict;
  overflow-wrap: break-word;
  text-wrap: pretty;
  word-break: normal;
  transition: opacity 120ms ease;
}

.selects-film__play {
  position: absolute;
  z-index: 6;
  right: clamp(15px, 1.7vw, 24px);
  bottom: clamp(15px, 1.7vw, 24px);
  display: grid;
  place-items: center;
  width: clamp(46px, 4.25vw, 60px);
  height: clamp(46px, 4.25vw, 60px);
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 50%;
  background: rgba(244,244,255,.13);
  color: rgba(255,255,255,.96);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.4),
    0 9px 24px rgba(12,10,25,.14);
  -webkit-backdrop-filter: blur(12px) saturate(1.1);
  backdrop-filter: blur(12px) saturate(1.1);
  opacity: calc(.36 + (var(--info-opacity, 0) * .42));
  transform: scale(calc(.86 + (var(--info-opacity, 0) * .14)));
  transform-origin: 50% 50%;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, opacity 180ms ease, transform 220ms var(--ease);
  pointer-events: none;
}

.selects-film.is-active .selects-film__button:hover .selects-film__play {
  border-color: rgba(255,255,255,.58);
  background: rgba(244,244,255,.19);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 11px 28px rgba(12,10,25,.18);
  transform: scale(1.045);
}

.selects-film__play svg {
  width: clamp(15px, 1.7vw, 24px);
  height: auto;
  margin-left: 4px;
  filter: drop-shadow(0 1px 2px rgba(12,10,25,.18));
}

.selects-carousel__footer {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 64px;
  margin-top: clamp(8px, 1.5vw, 22px);
}

.selects-carousel__shuffle {
  position: relative;
  min-width: clamp(172px, 15vw, 218px);
  min-height: clamp(54px, 4.6vw, 66px);
  padding: 0 32px;
  border: 1px solid color-mix(in srgb, var(--selects-title-b) 52%, rgba(255,255,255,.7));
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(33,35,55,.94), rgba(14,16,31,.97));
  color: #fff;
  font-size: clamp(13px, 1vw, 16px);
  font-weight: 620;
  letter-spacing: .08em;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(0,0,0,.32),
    0 14px 34px rgba(25,27,56,.18),
    0 0 18px color-mix(in srgb, var(--selects-title-b) 20%, transparent);
  cursor: pointer;
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease, opacity 180ms ease;
}
.selects-carousel__shuffle:hover {
  border-color: color-mix(in srgb, var(--selects-title-c) 68%, white);
  background: linear-gradient(180deg, rgba(42,44,68,.96), rgba(17,19,36,.98));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 16px 40px rgba(25,27,56,.21),
    0 0 22px color-mix(in srgb, var(--selects-title-b) 26%, transparent);
}
.selects-carousel__shuffle:focus-visible { outline: 2px solid var(--selects-title-a); outline-offset: 4px; }
.selects-carousel__shuffle:disabled { opacity: .38; cursor: wait; }

/* Workflow */
.workflow-section { padding: 120px 0; background: #fff; }
.section-heading--workflow {
  grid-template-columns: minmax(0, 1fr) minmax(300px, .36fr);
  gap: clamp(52px, 6vw, 84px);
  margin-bottom: var(--space-7);
}
.section-heading--workflow h2 {
  max-width: none;
  color: var(--color-primary);
  font-size: clamp(68px, 7.4vw, 108px);
  line-height: .96;
  letter-spacing: -.07em;
}
.workflow-statement { padding-bottom: 4px; }
.workflow-statement > span { display: block; white-space: nowrap; }
.section-heading--workflow > p,
.process-list p,
.manifesto-copy p,
.contact-panel p {
  line-break: strict;
  overflow-wrap: normal;
  text-wrap: pretty;
  word-break: normal;
}

.process-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--color-primary);
  border-bottom: 1px solid var(--color-border);
}

.process-list li { min-height: 286px; padding: var(--space-5) var(--space-4) var(--space-6) 0; border-right: 1px solid var(--color-border); }
.process-list li:not(:first-child) { padding-left: var(--space-5); }
.process-list li:last-child { border-right: 0; }
.process-list__index { color: var(--color-primary); }
.process-list li:nth-child(2) .process-list__index { color: var(--color-orange); }
.process-list li:nth-child(3) .process-list__index { color: var(--color-pink); }
.process-list li:nth-child(4) .process-list__index { color: var(--color-primary-dark); }
.process-list li:nth-child(5) .process-list__index { color: var(--color-orange); }
.process-list li:nth-child(1) .process-list__index strong { color: #3f63ff; }
.process-list li:nth-child(2) .process-list__index strong { color: #ff674d; }
.process-list li:nth-child(3) .process-list__index strong { color: #d957a8; }
.process-list li:nth-child(4) .process-list__index strong { color: #36bfa0; }
.process-list li:nth-child(5) .process-list__index strong { color: #f0b73f; }
.process-list__index strong {
  display: block;
  font-family: var(--font-editorial);
  font-size: clamp(58px, 5vw, 76px);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.055em;
}
.process-list__index span { display: block; margin-top: 14px; font-family: var(--font-editorial); font-size: 10px; font-weight: 600; letter-spacing: .08em; }
.process-list h3 { margin: var(--space-5) 0 var(--space-3); font-family: var(--font-feihua-song); font-size: 26px; font-weight: 800; line-height: 1.2; letter-spacing: -.015em; }
.process-list p { max-width: 22ch; margin: 0; color: var(--color-text-secondary); font-size: 13px; line-height: 1.72; }
.process-list p > span { display: block; }

/* Brand value */
.manifesto-section {
  --after-film-parallax-x: 0px;
  --after-film-parallax-y: 0px;
  --after-film-code-x: 0px;
  --after-film-code-y: 0px;
  position: relative;
  isolation: isolate;
  height: clamp(620px, 78svh, 780px);
  min-height: 620px;
  padding: 0;
  overflow: hidden;
  background: #f3efe7;
  border-top: 1px solid var(--color-border);
}

.manifesto-section::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(243,239,231,.98) 0%, rgba(243,239,231,.91) 33%, rgba(243,239,231,.42) 59%, rgba(243,239,231,.1) 100%),
    linear-gradient(180deg, rgba(243,239,231,.2) 0%, transparent 64%, rgba(243,239,231,.24) 100%);
  pointer-events: none;
}

.manifesto-section::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  opacity: .24;
  background-image: radial-gradient(circle, rgba(20,20,20,.26) .55px, transparent .7px);
  background-size: 7px 7px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0 43%, #000 68% 100%);
  mask-image: linear-gradient(90deg, transparent 0 43%, #000 68% 100%);
  pointer-events: none;
}

.after-film-visual {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.after-film-skyline {
  --after-film-skyline-opacity: .29;
  position: absolute;
  right: -1vw;
  bottom: -1.5%;
  width: auto;
  max-width: none;
  height: 88%;
  object-fit: contain;
  object-position: right bottom;
  opacity: var(--after-film-skyline-opacity);
  filter: grayscale(1) contrast(1.04) brightness(1.02);
  mix-blend-mode: color-burn;
  transform: translate3d(var(--after-film-parallax-x), var(--after-film-parallax-y), 0) scale(1.015);
  translate: 0 0;
  transform-origin: 76% 72%;
  transition: transform 620ms cubic-bezier(.16,.76,.18,1);
  animation: after-film-skyline-breathe 7.2s ease-in-out infinite;
  will-change: transform;
}

.after-film-code {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: space-around;
  width: 76%;
  height: 94%;
  overflow: hidden;
  color: rgba(20,20,20,.64);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 7px;
  line-height: 1.55;
  letter-spacing: .04em;
  white-space: pre-line;
  mix-blend-mode: multiply;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 24%, #000 88%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 24%, #000 88%, transparent 100%);
  transform: translate3d(var(--after-film-code-x), var(--after-film-code-y), 0);
  transition: transform 720ms cubic-bezier(.16,.76,.18,1);
  will-change: transform;
}

.after-film-code--far {
  right: 2%;
  width: 68%;
  opacity: .22;
  filter: blur(.2px);
}

.after-film-code--near {
  opacity: .34;
  -webkit-mask-image: linear-gradient(180deg, transparent 4%, #000 34%, #000 92%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 4%, #000 34%, #000 92%, transparent 100%);
}

.after-film-code__column {
  flex: 0 0 auto;
  width: 1.3em;
  margin-top: -110%;
  animation: after-film-code-scroll var(--after-film-code-duration, 22s) linear infinite;
  animation-delay: var(--after-film-code-delay, 0s);
}

.after-film-code--far .after-film-code__column:nth-child(3n) { opacity: .42; }
.after-film-code--near .after-film-code__column:nth-child(3n + 1) { opacity: .52; }

.manifesto-layout {
  position: relative;
  z-index: 3;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  padding-top: clamp(88px, 12vh, 124px);
  padding-bottom: clamp(76px, 10vh, 108px);
}

.manifesto-heading {
  flex: 0 0 auto;
  color: var(--color-primary);
}

.after-film-title {
  width: min(760px, 62vw);
  margin: clamp(30px, 5vh, 48px) 0 0;
  line-height: 0;
}

.after-film-title__reveal {
  position: relative;
  display: block;
  width: 100%;
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  transform: translate3d(0, 10px, 0);
}

.after-film-title__reveal img {
  display: block;
  width: 100%;
  height: auto;
}

.manifesto-section.is-visible .after-film-title__reveal {
  animation: after-film-title-write 2100ms cubic-bezier(.18,.72,.16,1) 120ms both;
}

.manifesto-copy {
  max-width: 620px;
  margin: auto 0 0;
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: clamp(16px, 1.3vw, 19px);
  font-weight: 430;
  line-height: 2.08;
  letter-spacing: .055em;
  line-break: strict;
  overflow-wrap: normal;
  word-break: normal;
}

.manifesto-copy > span {
  display: block;
  width: max-content;
  max-width: 100%;
  opacity: 0;
  white-space: nowrap;
  transform: translate3d(0, 26px, 0);
  transition:
    opacity 780ms var(--ease) calc(var(--after-film-line) * 120ms),
    transform 920ms var(--ease) calc(var(--after-film-line) * 120ms);
}

.manifesto-section.is-visible .manifesto-copy > span {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@keyframes after-film-code-scroll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(0, 50%, 0); }
}

@keyframes after-film-skyline-breathe {
  0%, 100% {
    opacity: .15;
    translate: 0 8px;
    filter: grayscale(1) contrast(1.01) brightness(1.04);
  }
  50% {
    opacity: var(--after-film-skyline-opacity);
    translate: 0 -9px;
    filter: grayscale(1) contrast(1.08) brightness(1);
  }
}

@keyframes after-film-title-write {
  0% {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transform: translate3d(0, 10px, 0);
  }
  8% { opacity: 1; }
  100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: translate3d(0, 0, 0);
  }
}

.manifesto-closing {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  gap: var(--space-6);
  padding-top: clamp(72px, 8vw, 112px);
  border-top: 1px solid var(--color-text);
}

.manifesto-closing__core { min-width: 0; }
.manifesto-closing__core p { margin: 0 0 var(--space-5); color: var(--color-primary); font-family: var(--font-display); font-size: clamp(27px, 3.1vw, 44px); font-weight: 900; line-height: .9; letter-spacing: .065em; }
.manifesto-closing__core h3 { margin: 0; font-family: var(--font-display); font-size: clamp(48px, 4.8vw, 64px); font-weight: 900; line-height: .95; letter-spacing: -.065em; white-space: nowrap; }
.manifesto-closing__note { justify-self: end; margin: 0; color: var(--color-text-secondary); font-size: 13px; font-weight: 620; letter-spacing: .02em; white-space: nowrap; }

/* Contact and footer */
.contact-section { padding: 0 0 var(--space-9); background: #fff; }

.contact-panel {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: var(--space-8);
  padding-top: var(--space-9);
  padding-bottom: var(--space-9);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.contact-panel::before { content: ""; position: absolute; left: 0; top: -1px; width: 96px; height: 4px; background: var(--color-orange); }
.contact-panel > div { min-width: 0; }
.contact-panel__kicker { margin: 22px 0 32px; color: var(--color-text-secondary); font-family: var(--font-feihua-song); font-size: clamp(18px, 1.5vw, 23px); font-weight: 800; line-height: 1.35; letter-spacing: .015em; }
.contact-panel h2 { max-width: 100%; margin: 0; font-family: var(--font-display); font-size: clamp(46px, 4.35vw, 62px); font-weight: 900; line-height: .98; letter-spacing: -.055em; }
.contact-panel__headline-line { display: flex; align-items: baseline; gap: .06em; white-space: nowrap; }
.contact-panel__headline-line + .contact-panel__headline-line { margin-top: .2em; }
.contact-panel__promise { display: inline-flex; align-items: baseline; white-space: nowrap; }
.contact-panel__promise strong { display: inline-block; color: var(--color-orange); font-size: 1.82em; font-weight: 900; line-height: .7; letter-spacing: -.07em; vertical-align: -.08em; white-space: nowrap; }
.contact-panel p:last-child { margin: 0; color: var(--color-text-secondary); font-size: 13px; }
.contact-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 270px)); gap: clamp(30px, 3.4vw, 48px); max-width: 588px; margin-top: 44px; }
.contact-summary > div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 15px; }
.contact-summary strong { font-family: var(--font-display); font-size: clamp(40px, 3.8vw, 56px); line-height: .78; letter-spacing: -.06em; white-space: nowrap; }
.contact-summary strong sup { color: var(--color-orange); font-size: .34em; }
.contact-summary p { font-size: 11px; font-weight: 600; line-height: 1.55; }

.site-footer { background: #0e102b; color: rgba(255,255,255,.64); }
.site-footer__inner { min-height: 98px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); font-size: 11px; }
.site-footer__brand { display: flex; align-items: center; gap: var(--space-4); color: #fff; font-weight: 650; }
.focus-media-mark--footer { width: 90px; height: 50px; }

/* Dialogs */
.dialog {
  width: min(1080px, calc(100% - 40px));
  max-height: calc(100dvh - 40px);
  margin: auto;
  padding: 56px;
  border: 0;
  border-radius: 0;
  background: var(--color-background);
  color: var(--color-text);
  box-shadow: 0 28px 80px rgba(0,0,0,.24);
}

.dialog::backdrop { background: rgba(12,12,12,.72); backdrop-filter: blur(14px); }
.dialog[open] { animation: dialog-in 260ms var(--ease) both; }

@keyframes dialog-in { from { opacity: 0; transform: translateY(16px) scale(.992); } to { opacity: 1; transform: none; } }

.dialog__close {
  position: absolute;
  z-index: 10;
  top: 18px;
  right: 18px;
  width: 44px;
  height: 44px;
  border: 1px solid var(--color-text);
  background: transparent;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  transition: background 180ms ease, color 180ms ease;
}

.dialog__close:hover { background: var(--color-text); color: #fff; }
.dialog__close--floating { position: fixed; }
.dialog__close--dark { color: #fff; border-color: rgba(255,255,255,.7); }
.dialog__close--dark:hover { background: #fff; color: #111; }

.dialog__heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-6); margin-bottom: var(--space-6); }
.dialog__heading h2 { margin: var(--space-2) 0 0; font-family: var(--font-display); font-size: clamp(44px, 6vw, 74px); font-weight: 900; line-height: .95; letter-spacing: -.06em; }
.dialog__heading > p { margin: 0; color: var(--color-text-secondary); font-size: 12px; }

.search-input { width: 100%; min-height: 50px; padding: 0 var(--space-4); border: 1px solid var(--color-border); border-radius: 0; background: var(--color-surface); color: var(--color-text); font-size: 14px; }
.search-input:focus { border-color: var(--color-primary); outline: 1px solid var(--color-primary); }

.filter-list { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-4) 0 var(--space-6); }
.filter-button { min-height: 42px; padding: 0 var(--space-4); border: 1px solid var(--color-border); background: transparent; color: var(--color-text-secondary); font-size: 11px; font-weight: 650; cursor: pointer; transition: color 180ms ease, border-color 180ms ease, background 180ms ease; }
.filter-button:hover { border-color: var(--color-text); color: var(--color-text); }
.filter-button.is-active { border-color: var(--color-primary); background: var(--color-primary); color: #fff; }

.selects-filter-panel {
  display: grid;
  grid-template-columns: .48fr .9fr 1.18fr 1.65fr;
  margin: var(--space-5) 0 var(--space-7);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.selects-filter-group { min-width: 0; padding: 18px var(--space-5); }
.selects-filter-group:first-child { padding-left: 0; }
.selects-filter-group + .selects-filter-group { border-left: 1px solid var(--color-border); }
.selects-filter-group__heading { display: flex; min-height: 22px; align-items: baseline; justify-content: space-between; gap: var(--space-3); margin-bottom: 12px; }
.selects-filter-group__heading > span { color: var(--color-text-muted); font-size: 9px; font-weight: 750; letter-spacing: .12em; }
.selects-filter-group__buttons { display: flex; flex-wrap: wrap; gap: 7px; }
.selects-filter-panel .filter-button { min-height: 36px; padding: 0 13px; font-size: 10px; white-space: nowrap; }
.style-refresh { flex: 0 0 auto; padding: 0; border: 0; background: transparent; color: var(--color-text); font-size: 10px; font-weight: 700; cursor: pointer; transition: color 180ms ease; }
.style-refresh:hover { color: var(--color-primary); }

.dialog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1px; background: var(--color-border); border: 1px solid var(--color-border); }
.dialog-grid .talent-card__body { min-height: 138px; }
.dialog-grid .talent-card__media { aspect-ratio: 2 / 3; }
.dialog-case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: row dense; gap: var(--space-3); }
.dialog-case-grid .case-card { aspect-ratio: 16 / 9; }
.empty-state { grid-column: 1 / -1; margin: 0; padding: var(--space-8); background: var(--color-surface); color: var(--color-text-secondary); text-align: center; }

.dialog--detail { width: min(1240px, 100%); max-width: 1240px; max-height: 100dvh; padding: 0; }
.avatar-detail__hero { position: relative; min-height: 620px; overflow: hidden; background: var(--color-surface-alt); isolation: isolate; }
.avatar-detail__hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 25% 18%, rgba(47,56,215,.08), transparent 30%); }
.avatar-detail__poster { position: absolute; inset: 0; transition: opacity 560ms var(--ease), filter 620ms var(--ease), transform 620ms var(--ease); }
.avatar-detail__word { position: absolute; z-index: 0; left: clamp(20px, 4vw, 48px); right: clamp(20px, 4vw, 48px); bottom: 7%; width: auto; font-family: var(--font-editorial); font-size: clamp(58px, 14vw, 176px); font-weight: 700; line-height: .72; letter-spacing: -.075em; text-align: center; white-space: nowrap; transform: none; transform-origin: center; }
.avatar-detail__model { position: absolute; z-index: 2; left: 58%; bottom: 0; width: 48%; height: 95%; object-fit: contain; object-position: center bottom; transform: translate3d(calc(-50% + var(--star-hero-x, 0px)), var(--star-hero-y, 0px), 0) scale(var(--star-hero-scale, 1)); transform-origin: center bottom; }
.avatar-detail__identity { position: absolute; z-index: 3; left: 8%; top: var(--space-8); max-width: 290px; }
.avatar-detail__identity h2 {
  display: inline-block;
  margin: var(--space-4) 0 var(--space-6);
  font-family: var(--font-jiying-huipian);
  font-size: 72px;
  font-weight: 700;
  line-height: .9;
  letter-spacing: -.035em;
  white-space: nowrap;
  scale: 1 1.3;
  transform-origin: left top;
}
.avatar-detail__identity p { margin: 0; color: var(--color-text-secondary); font-size: 13px; }
.avatar-detail__identity .avatar-detail__edition { color: var(--color-text); font-family: var(--font-editorial); font-size: 16px; letter-spacing: .02em; }
.avatar-detail__identity .avatar-detail__statement { max-width: 24ch; margin-top: 8px; font-size: 12px; line-height: 1.6; }

.avatar-detail__feature-cta {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 232px;
  margin-top: var(--space-7);
  padding: 15px 0;
  border: 0;
  border-top: 1px solid rgba(16,16,16,.82);
  border-bottom: 1px solid rgba(16,16,16,.82);
  background: transparent;
  color: var(--color-text);
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  transition: color 180ms ease, border-color 180ms ease;
}
.avatar-detail__feature-cta small { display: block; margin-bottom: 3px; color: var(--color-primary); font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.avatar-detail__feature-cta > span:last-child { line-height: 1.45; }
.avatar-detail__feature-icon { display: grid; flex: 0 0 36px; place-items: center; width: 36px; height: 36px; border: 1px solid currentColor; border-radius: 50%; transition: color 180ms ease, transform 220ms var(--ease); }
.avatar-detail__feature-cta:hover { color: var(--color-primary); border-color: var(--color-primary); }
.avatar-detail__feature-cta:hover .avatar-detail__feature-icon { transform: scale(1.06); }

.avatar-detail__feature-film {
  position: absolute;
  z-index: 5;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #050505;
  opacity: 0;
  pointer-events: none;
  transition: opacity 620ms var(--ease);
}
.avatar-detail__feature-return { position: absolute; z-index: 6; top: 22px; left: 22px; min-height: 42px; padding: 0 16px; border: 1px solid rgba(255,255,255,.5); background: rgba(5,5,5,.52); color: #fff; font-size: 11px; font-weight: 700; backdrop-filter: blur(12px); opacity: 0; pointer-events: none; cursor: pointer; transition: opacity 240ms ease, background 180ms ease; }
.avatar-detail__feature-return:hover { background: rgba(5,5,5,.78); }
.avatar-detail__hero.is-playing .avatar-detail__poster { opacity: 0; filter: blur(12px); transform: scale(1.018); pointer-events: none; }
.avatar-detail__hero.is-playing .avatar-detail__feature-film,
.avatar-detail__hero.is-playing .avatar-detail__feature-return { opacity: 1; pointer-events: auto; }
.avatar-detail__hero.is-playing { min-height: 0; aspect-ratio: 16 / 9; }

.avatar-detail__body { padding: var(--space-9) 8% var(--space-10); background: var(--color-background); }
.casting-guide { margin-bottom: var(--space-9); }
.casting-guide > .label { margin-bottom: var(--space-5); }
.casting-guide__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--color-text); border-bottom: 1px solid var(--color-border); }
.casting-guide__item { min-width: 0; min-height: 188px; padding: var(--space-5) var(--space-5) var(--space-6) 0; border-bottom: 1px solid var(--color-border); }
.casting-guide__item:nth-child(even) { padding-left: var(--space-5); padding-right: 0; border-left: 1px solid var(--color-border); }
.casting-guide__item:nth-last-child(-n + 2) { border-bottom: 0; }
.casting-guide__item > span { display: block; margin-bottom: var(--space-4); color: var(--color-text-secondary); font-size: 9px; font-weight: 750; letter-spacing: .13em; }
.casting-guide__item strong { display: block; margin-bottom: 10px; font-family: var(--font-editorial); font-size: 38px; font-weight: 500; line-height: 1; letter-spacing: -.04em; }
.casting-guide__item p { max-width: 20ch; margin: 0; color: var(--color-text-secondary); font-size: 12px; line-height: 1.6; }
.casting-guide__item ul { display: flex; flex-wrap: wrap; gap: 9px 18px; margin: 0; padding: 0; list-style: none; }
.casting-guide__item li { position: relative; padding-left: 12px; font-size: 13px; line-height: 1.45; white-space: nowrap; }
.casting-guide__item li::before { content: ""; position: absolute; left: 0; top: .58em; width: 3px; height: 3px; border-radius: 50%; background: var(--color-primary); }
.detail-heading { margin-bottom: var(--space-6); }
.detail-heading h3 { margin: var(--space-3) 0 0; font-family: var(--font-editorial); font-size: clamp(40px, 5vw, 64px); font-weight: 500; line-height: 1.05; letter-spacing: -.045em; }
.detail-film-heading h3 {
  width: max-content;
  font-family: var(--font-jiying-huipian);
  font-weight: 700;
  letter-spacing: -.025em;
  white-space: nowrap;
  scale: 1 1.3;
  transform-origin: left top;
}
.detail-heading--gallery { margin-bottom: var(--space-5); }

.portrait-grid { display: grid; grid-template-columns: 1.35fr .65fr; grid-template-rows: repeat(3, 190px); gap: var(--space-3); }
.portrait-grid figure { margin: 0; overflow: hidden; background: var(--color-surface-alt); }
.portrait-grid figure:first-child { grid-row: 1 / span 3; }
.portrait-grid picture { display: block; width: 100%; height: 100%; }
.portrait-grid img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.portrait-grid .portrait--1 img { object-position: var(--portrait-focus-x, 50%) var(--portrait-focus-y, 22%); transform: scale(var(--portrait-scale, 1)); transform-origin: var(--portrait-focus-x, 50%) var(--portrait-focus-y, 22%); }
.portrait-grid .portrait--2 img { object-position: center 16%; }
.portrait-grid .portrait--3 img { object-position: center 28%; }
.portrait-grid .portrait--4 img { object-position: center 20%; }

.detail-film-heading { margin-top: var(--space-9); }
.star-selects__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: var(--space-3); }
.star-selects__grid .case-card { aspect-ratio: 16 / 9; }
.star-selects--empty { margin-top: var(--space-9); padding: var(--space-8) 0 var(--space-9); border-top: 1px solid var(--color-text); border-bottom: 1px solid var(--color-border); }
.star-selects__empty-copy { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(220px, .55fr); align-items: end; gap: var(--space-6); margin-top: var(--space-5); }
.star-selects__empty-copy h3 {
  width: max-content;
  max-width: 100%;
  margin: 0;
  padding-bottom: .28em;
  font-family: var(--font-jiying-huipian);
  font-size: clamp(46px, 6vw, 76px);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.035em;
}
.star-selects__empty-copy h3 span {
  display: block;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
  scale: 1 1.3;
  transform-origin: left top;
}
.star-selects__empty-copy h3 span + span { margin-top: .3em; }
.star-selects__empty-copy p { max-width: 29ch; margin: 0; color: var(--color-text-secondary); font-family: var(--font-editorial); font-size: 18px; line-height: 1.5; }

.dialog--video { width: min(1060px, calc(100% - 40px)); padding: 0; background: #0d0d0d; color: #fff; }
.dialog--video.is-shared-transitioning[open] {
  overflow: visible;
  background: transparent;
  box-shadow: none;
  animation: none;
}
.dialog--video.is-shared-opening > :not(.selects-shared-surface) { opacity: 0; }
.dialog--video.is-shared-opening::backdrop { animation: selects-shared-backdrop-in 420ms cubic-bezier(.16,1,.3,1) both; }
.dialog--video.is-shared-closing::backdrop { animation: selects-shared-backdrop-out 360ms cubic-bezier(.55,.05,.8,.25) both; }
@keyframes selects-shared-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes selects-shared-backdrop-out { from { opacity: 1; } to { opacity: 0; } }
.selects-film.is-shared-source-hidden { visibility: hidden; }
.selects-shared-surface {
  position: fixed;
  z-index: 2147483000;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #0d0d0d;
  box-shadow: 0 30px 90px rgba(8,8,14,.25);
  transform: translateZ(0);
  transform-origin: 50% 50%;
  will-change: left, top, width, height, border-radius;
  pointer-events: none;
}
.selects-shared-surface img {
  position: absolute;
  inset: 0 0 auto;
  display: block;
  width: 100%;
  object-fit: cover;
  will-change: height, filter;
  pointer-events: none;
}
.video-player-shell { position: relative; background: #000; }
.dialog--video video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #000; }
.case-type-badge { position: absolute; top: 28px; left: 28px; z-index: 3; max-width: calc(100% - 56px); padding: 12px 17px; border: 1px solid rgba(255,255,255,.3); border-radius: 12px; background: rgba(15,15,15,.42); color: rgba(255,255,255,.94); font-size: 12px; font-weight: 650; line-height: 1.35; letter-spacing: .035em; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); pointer-events: none; }
.player-fullscreen-button { position: absolute; right: 18px; bottom: 66px; z-index: 4; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid rgba(255,255,255,.28); border-radius: 10px; background: rgba(15,15,15,.46); color: #fff; font-size: 18px; line-height: 1; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); cursor: pointer; }
.player-fullscreen-button:hover { background: rgba(34,34,34,.7); }
.dialog--video video::-webkit-media-controls-fullscreen-button { display: none; }
.video-player-shell:fullscreen, .video-player-shell.is-full-viewport { display: grid; place-items: center; width: 100vw; height: 100dvh; background: #000; }
.video-player-shell:fullscreen video, .video-player-shell.is-full-viewport video { width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; }
.video-player-shell:fullscreen .case-type-badge, .video-player-shell.is-full-viewport .case-type-badge { top: max(30px, env(safe-area-inset-top)); left: max(30px, env(safe-area-inset-left)); }
.video-player-shell:fullscreen .player-fullscreen-button, .video-player-shell.is-full-viewport .player-fullscreen-button { right: max(22px, env(safe-area-inset-right)); bottom: max(74px, calc(env(safe-area-inset-bottom) + 64px)); }
.video-player-shell.is-full-viewport { position: fixed; inset: 0; z-index: 10000; }
body.has-full-viewport-player { overflow: hidden; }
.video-copy { padding: var(--space-6); }
.video-copy__meta { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-5); }
.video-copy__meta p { margin: 0; }
.video-copy__credit { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; color: rgba(255,255,255,.84); font-size: 12px; font-weight: 650; letter-spacing: .04em; }
.video-copy__credit .label { margin: 0; }
.video-copy__credit > span:nth-child(2) { color: rgba(255,255,255,.34); }
.video-copy__production { color: rgba(255,255,255,.62); font-size: 10px; font-weight: 520; letter-spacing: .055em; text-align: right; }
.video-copy h2 { max-width: 100%; margin: var(--space-3) 0 var(--space-5); font-family: var(--font-display); font-size: clamp(38px, 5vw, 58px); line-height: .96; letter-spacing: -.05em; }
.video-copy__tags { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.video-copy__tags span { position: relative; color: rgba(255,255,255,.76); font-size: 10px; letter-spacing: .05em; }
.video-copy__tags span + span::before { content: "/"; position: absolute; left: -12px; color: rgba(255,255,255,.28); }
.video-copy__description { max-width: 60ch; margin: 0; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.7; }
.video-copy__disclaimer { margin-top: var(--space-7); padding-top: var(--space-4); border-top: 1px solid rgba(255,255,255,.14); }
.video-copy__disclaimer p { width: 100%; max-width: none; margin: 0; color: rgba(255,255,255,.46); font-size: 10px; font-weight: 400; line-height: 1.85; letter-spacing: .025em; line-break: strict; text-wrap: pretty; white-space: normal; word-break: normal; }

.dialog--contact {
  width: min(calc(100vw - 40px), calc(133.333dvh - 53.333px));
  max-width: none;
  height: min(calc(100dvh - 40px), calc(75vw - 30px));
  max-height: none;
  aspect-ratio: 4 / 3;
  padding: clamp(64px, 6.7vw, 96px) clamp(52px, 5.15vw, 74px) clamp(48px, 4.8vw, 68px);
  overflow: hidden;
  isolation: isolate;
  background-color: #f7f4ef;
  background-image: url("assets/images/sections/07_CONTACT_PAGE/01_背景/contact-background-clean.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
body:has(.dialog--contact[open]) { overflow: hidden; }
.dialog--contact::backdrop { background: rgba(12,12,12,.72); backdrop-filter: blur(10px); }
.dialog--contact .dialog__close {
  z-index: 6;
  top: clamp(22px, 2.4vw, 36px);
  right: clamp(22px, 2.4vw, 36px);
  width: clamp(48px, 4vw, 58px);
  height: clamp(48px, 4vw, 58px);
  border-color: rgba(20,20,20,.22);
  border-radius: 14px;
  background: rgba(255,255,255,.2);
  font-size: 25px;
  backdrop-filter: blur(5px);
}
.dialog--contact .dialog__close:hover { border-color: var(--color-text); background: var(--color-text); color: #fff; }
.contact-dialog__layout {
  position: relative;
  z-index: 2;
  display: flex;
  width: 69%;
  height: 100%;
  flex-direction: column;
}
.contact-dialog__eyebrow {
  margin: 0;
  font-size: clamp(10px, .85vw, 13px);
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: clamp(.14em, .2vw, .23em);
  white-space: nowrap;
}
.dialog--contact .contact-dialog__title {
  display: flex;
  gap: .025em;
  margin: clamp(60px, 7.2vh, 70px) 0 0;
  flex-direction: column;
  font-family: "Arial Black", Arial, "Helvetica Neue", sans-serif;
  font-size: clamp(74px, 7.05vw, 102px);
  font-weight: 900;
  line-height: .79;
  letter-spacing: -.055em;
}
.contact-dialog__title > span { display: block; width: max-content; white-space: nowrap; }
.contact-dialog__details { width: 82%; margin-top: clamp(28px, 3.5vh, 42px); }
.contact-dialog__statement {
  margin: 0;
  padding: clamp(22px, 2.5vh, 32px) 0;
  border-top: 1px solid rgba(20,20,20,.15);
  font-size: clamp(17px, 1.45vw, 24px);
  font-weight: 680;
  line-height: 1.4;
  letter-spacing: .075em;
  white-space: nowrap;
}
.contact-dialog__email {
  display: flex;
  padding: clamp(22px, 2.7vh, 34px) 0 0;
  border-top: 1px solid rgba(20,20,20,.15);
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(15px, 2vh, 22px);
  font-style: normal;
}
.contact-dialog__email-label { color: var(--color-text-secondary); font-size: 11px; font-weight: 650; letter-spacing: .18em; }
.contact-dialog__email a {
  width: max-content;
  max-width: 100%;
  font-size: clamp(19px, 2vw, 31px);
  font-weight: 720;
  line-height: 1.1;
  letter-spacing: -.035em;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 7px;
}
.contact-dialog__email a:hover { color: var(--color-primary); }
.contact-dialog__model {
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: 0;
  width: auto;
  max-width: none;
  height: 102%;
  object-fit: contain;
  object-position: right bottom;
  pointer-events: none;
  user-select: none;
}

@media (max-width: 1100px) {
  :root { --header-height: 72px; }
  .site-nav { width: min(calc(100% - 40px), 1320px); grid-template-columns: 1fr auto 1fr; align-items: center; }
  .site-nav > .nav-cell { display: none; }
  .site-nav > .site-logo { grid-column: 2; display: grid; padding: 0; }
  .site-logo::before { display: none; }
  .site-logo img { width: 168px; }
  .menu-toggle { grid-column: 3; justify-self: end; display: grid; place-content: center; gap: 6px; width: 48px; height: 48px; padding: 0; border: 1px solid var(--color-text); background: transparent; cursor: pointer; }
  .menu-toggle > span:not(.sr-only) { width: 20px; height: 1px; background: currentColor; transition: transform 180ms ease; }
  .menu-toggle[aria-expanded="true"] > span:nth-last-child(2) { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] > span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .mobile-menu { position: fixed; z-index: 99; left: 0; right: 0; top: var(--header-height); display: grid; grid-template-columns: 1fr; padding: var(--space-5) var(--page-gutter) var(--space-6); background: var(--color-background); border-bottom: 1px solid var(--color-border); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease; }
  .mobile-menu.is-open { opacity: 1; visibility: visible; transform: none; }
  .mobile-menu a, .mobile-menu button { min-height: 52px; display: flex; align-items: center; padding: 0; border: 0; border-bottom: 1px solid var(--color-border); background: transparent; font-size: 15px; font-weight: 650; text-align: left; }
  .mobile-menu button { color: var(--color-primary); cursor: pointer; }
  .mobile-menu .mobile-menu__stacked { flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; }
  .mobile-menu__stacked strong { font-size: 14px; }
  .mobile-menu__stacked small { color: var(--color-text-muted); font-size: 9px; font-weight: 520; letter-spacing: .04em; }
  .section-heading--workflow h2 { font-size: clamp(68px, 7.2vw, 82px); line-height: .97; }
  .contact-panel h2 { font-size: clamp(38px, 4vw, 46px); }
  .contact-panel__promise strong { font-size: 1.66em; }
}

@media (max-width: 1024px) {
  .dialog-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  :root { --page-gutter: 28px; }
  .hero { height: 700px; }
  .hero h1 { font-size: clamp(72px, 11vw, 110px); }
  .hero__stats > div { padding-inline: var(--space-5); }
  .spotlight { height: 660px; }
  .spotlight__model { width: 52%; }
  .talent-grid { grid-template-columns: repeat(3, 1fr); }
  .case-grid { grid-template-columns: 1.3fr 1fr; grid-template-rows: repeat(3, 220px); }
  .case-grid .case-card:first-child { grid-row: 1 / span 2; }
  .selects-carousel__viewport { height: 410px; }
  .selects-film { width: clamp(360px, 47vw, 460px); }
  .process-list { grid-template-columns: repeat(5, 1fr); }
  .process-list li, .process-list li:not(:first-child) { padding-inline: var(--space-4); }
  .dialog-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
}

@media (max-width: 820px) {
  :root { --page-gutter: 20px; }
  .hero { height: calc(100svh - var(--header-height)); min-height: 700px; max-height: 780px; }
  .hero__content { padding-bottom: 202px; }
  .hero h1 { max-width: 660px; font-size: clamp(68px, 15vw, 108px); line-height: .78; }
  .hero__stats { grid-template-columns: repeat(2, 1fr); min-height: 190px; }
  .hero__stats > div { min-height: 95px; padding: var(--space-4) var(--space-5); }
  .hero__stats > div:nth-child(2) { border-right: 0; }
  .hero__stats > div:nth-child(-n+2) { border-bottom: 1px solid var(--color-border); }
  .spotlight { height: calc(100svh - var(--header-height)); min-height: 640px; max-height: 720px; }
  .spotlight__editorial-note { top: var(--space-5); max-width: 290px; }
  .spotlight__word { top: 27%; font-size: 18vw; transform: translate(-50%, -50%) scaleX(.66); }
  .spotlight__model { left: 58%; width: 72%; height: 89%; }
  .spotlight__model--concept { left: 58%; bottom: 17%; width: 54%; height: 62%; }
  .spotlight__copy { bottom: var(--space-7); }
  .spotlight__copy h3 { font-size: 44px; }
  .spotlight__controls { bottom: var(--space-7); }
  .spotlight__dots { bottom: 28px; }
  .section-heading { grid-template-columns: 1fr; align-items: start; gap: var(--space-5); }
  .talent-index .section-heading h2 { font-size: clamp(64px, 10vw, 76px); line-height: .91; }
  .section-heading > .talent-index__intro { font-size: 14px; }
  .section-heading--cases { align-items: center; gap: 0; text-align: center; }
  .section-heading > p { max-width: 46ch; }
  .talent-grid { grid-template-columns: repeat(2, 1fr); }
  .case-section, .workflow-section { padding: var(--space-10) 0; }
  .case-grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: 340px repeat(2, 230px); }
  .case-grid .case-card:first-child { grid-column: 1 / -1; grid-row: auto; }
  .selects-carousel__viewport { height: 390px; }
  .selects-film { width: clamp(340px, 58vw, 440px); }
  .process-list { grid-template-columns: repeat(2, 1fr); }
  .process-list li, .process-list li:not(:first-child) { min-height: 210px; padding: var(--space-6) var(--space-5); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
  .process-list li:nth-child(even) { border-right: 0; }
  .process-list li:last-child { grid-column: 1 / -1; min-height: 184px; border-right: 0; border-bottom: 0; }
  .contact-panel { grid-template-columns: 1fr; align-items: start; gap: var(--space-7); }
  .manifesto-section::before { background: linear-gradient(180deg, rgba(243,239,231,.97) 0%, rgba(243,239,231,.78) 40%, rgba(243,239,231,.24) 76%, rgba(243,239,231,.12) 100%); }
  .manifesto-section::after { opacity: .18; -webkit-mask-image: linear-gradient(180deg, transparent 0 35%, #000 62% 100%); mask-image: linear-gradient(180deg, transparent 0 35%, #000 62% 100%); }
  .after-film-title { width: min(720px, 78vw); }
  .after-film-skyline { --after-film-skyline-opacity: .28; right: -9vw; bottom: -1%; width: auto; height: 82%; object-position: right bottom; }
  .after-film-code { width: 88%; opacity: .28; }
  .after-film-code--far { right: 1%; width: 78%; opacity: .18; }
  .contact-panel h2 { font-size: clamp(36px, 5.2vw, 44px); }
  .manifesto-closing { grid-template-columns: 1fr; gap: var(--space-6); }
  .manifesto-closing__core h3 { white-space: normal; }
  .manifesto-closing__note { white-space: normal; }
  .dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); padding: var(--space-7) var(--space-5); }
  .dialog-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
  .dialog-case-grid { grid-template-columns: repeat(2, 1fr); }
  .selects-filter-panel { grid-template-columns: 1fr; }
  .selects-filter-group, .selects-filter-group:first-child { padding: 16px 0; }
  .selects-filter-group + .selects-filter-group { border-top: 1px solid var(--color-border); border-left: 0; }
  .dialog--detail, .dialog--video { width: 100%; max-height: 100dvh; }
  .avatar-detail__model { left: 61%; width: 60%; height: 93%; }
  .portrait-grid { grid-template-rows: repeat(3, 150px); }
  .detail-film { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 560px) {
  :root { --page-gutter: 18px; }
  .brand-intro__video { object-fit: cover; }
  .brand-intro__skip { right: var(--space-4); bottom: var(--space-4); }
  .hero { height: calc(100svh - var(--header-height)); min-height: 700px; max-height: 780px; }
  .hero__veil { background: linear-gradient(90deg, rgba(5,7,16,.65), rgba(5,7,16,.1)), linear-gradient(0deg, rgba(5,7,16,.45), transparent 60%); }
  .hero__content { justify-content: flex-start; padding-top: 68px; padding-bottom: 166px; }
  .hero__content > .label { max-width: none; font-size: clamp(7.5px, 2vw, 9px); letter-spacing: clamp(.03em, .15vw, .1em); white-space: nowrap; }
  .hero h1 { margin-top: 18px; font-size: clamp(62px, 19vw, 86px); line-height: .76; letter-spacing: -.07em; }
  .hero-title__line + .hero-title__line { margin-top: clamp(9px, 2.8vw, 13px); }
  .hero__lead { max-width: 330px; font-size: 16px; line-height: 1.45; }
  .hero__motto { font-size: 9px; letter-spacing: .16em; }
  .hero__actions { width: 100%; gap: var(--space-2); }
  .hero__actions .button { flex: 1; padding-inline: 12px; font-size: 11px; }
  .hero__stats strong { font-size: 38px; }
  .hero__stats span { font-size: 10px; }
  .hero__stats > div { gap: 9px; padding: var(--space-4) var(--space-4); }
  .spotlight { height: calc(100svh - var(--header-height)); min-height: 620px; max-height: 700px; }
  .spotlight__editorial-note { top: var(--space-4); max-width: 220px; }
  .spotlight__editorial-note strong { font-size: 15px; }
  .spotlight__editorial-note span { max-width: 21ch; font-size: 9px; }
  .spotlight__word { top: 21%; font-size: 19vw; transform: translate(-50%, -50%) scaleX(.62); }
  .spotlight__model { left: 63%; width: 94%; height: 83%; }
  .spotlight__model--concept { left: 63%; bottom: 21%; width: 68%; height: 56%; }
  .spotlight__index { top: var(--space-5); }
  .spotlight__index strong { font-size: 26px; }
  .spotlight__copy { left: var(--page-gutter); bottom: var(--space-6); max-width: 190px; }
  .spotlight__copy h3 { font-size: 39px; }
  .spotlight__copy .spotlight__theme { max-width: 18ch; font-size: 13px; }
  .spotlight__copy .button { min-height: 44px; margin-top: var(--space-4); padding-inline: 14px; font-size: 11px; }
  .spotlight__controls { right: var(--page-gutter); bottom: var(--space-6); grid-template-columns: repeat(2, 44px); }
  .spotlight__controls button { width: 44px; height: 44px; }
  .spotlight__dots { right: var(--page-gutter); bottom: 20px; }
  .talent-index { padding-top: var(--space-8); padding-bottom: var(--space-10); }
  .section-heading { margin-bottom: var(--space-6); }
  .section-heading h2 { font-size: clamp(42px, 12vw, 56px); line-height: .95; }
  .talent-index .section-heading h2 { font-size: clamp(36px, 10.8vw, 43px); line-height: .94; }
  .section-heading--workflow h2 { font-size: clamp(39px, 11.3vw, 45px); line-height: .98; }
  .talent-grid { gap: 1px; }
  .talent-card__body { min-height: 146px; padding: var(--space-4) 14px; }
  .talent-card__body h3 { font-size: 22px; }
  .talent-card__role { margin-top: 12px; font-size: 11px; }
  .case-section, .workflow-section { padding: var(--space-9) 0; }
  .case-section { padding-block: 68px 88px; }
  .section-heading--cases {
    align-items: center;
    gap: 0;
    margin-bottom: 30px;
    text-align: center;
  }
  .section-heading--cases .label { margin-bottom: 16px; }
  .section-heading--cases h2 { max-width: none; font-size: clamp(46px, 14.4vw, 58px); line-height: .9; letter-spacing: -.065em; }
  .selects-heading__cta { margin-top: 20px; font-size: 11px; }
  .case-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .case-card, .case-grid .case-card:first-child { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 3; }
  .case-grid .case-card:first-child { aspect-ratio: 4 / 5; }
  .dialog-case-grid .case-card,
  .dialog-case-grid .case-card:first-child { aspect-ratio: 16 / 9; }
  .case-grid .case-card:first-child .case-card__copy h3 { font-size: 25px; }
  .selects-carousel { width: calc(100% + (var(--page-gutter) * 2)); margin-left: calc(var(--page-gutter) * -1); }
  .selects-carousel__viewport { height: 330px; }
  .selects-film { width: min(78vw, 360px); }
  .selects-carousel__footer { margin: 10px var(--page-gutter) 0; }
  .selects-carousel__shuffle { min-width: 166px; min-height: 52px; padding-inline: 24px; font-size: 12px; }
  .selects-film__play { right: 14px; bottom: 14px; width: 48px; height: 48px; }
  .selects-film__play svg { width: 15px; margin-left: 3px; }
  .process-list { grid-template-columns: 1fr; }
  .process-list li, .process-list li:not(:first-child) { min-height: 180px; padding: var(--space-6) 0; border-right: 0; border-bottom: 1px solid var(--color-border); }
  .process-list li:last-child { grid-column: auto; border-bottom: 0; }
  .process-list__index strong { font-size: 62px; }
  .process-list h3 { margin-top: var(--space-5); }
  .manifesto-section { height: clamp(620px, 78svh, 730px); min-height: 620px; }
  .manifesto-layout { padding-top: 72px; padding-bottom: 64px; }
  .manifesto-heading { font-size: 10px; letter-spacing: .2em; }
  .after-film-title { width: 100%; margin-top: 30px; }
  .manifesto-copy { max-width: 100%; font-size: clamp(14px, 3.75vw, 16px); line-height: 2.08; letter-spacing: .018em; }
  .manifesto-copy > span { transform: translate3d(0, 20px, 0); }
  .after-film-skyline { --after-film-skyline-opacity: .26; right: -10vw; bottom: -1%; width: auto; height: 72%; object-position: right bottom; transform-origin: 72% 75%; }
  .after-film-code { right: -5%; width: 105%; height: 74%; font-size: 6px; opacity: .24; }
  .after-film-code--far { display: none; }
  .manifesto-closing { padding-top: var(--space-8); }
  .manifesto-closing__core p { margin-bottom: var(--space-4); font-size: clamp(22px, 7vw, 30px); letter-spacing: .035em; }
  .manifesto-closing__core h3 { font-size: clamp(46px, 13vw, 58px); line-height: .94; letter-spacing: -.075em; }
  .manifesto-closing__note { font-size: 13px; }
  .contact-section { padding-bottom: var(--space-8); }
  .contact-panel { padding-top: var(--space-8); padding-bottom: var(--space-8); }
  .contact-panel__kicker { margin-block: var(--space-4) 28px; font-size: 17px; }
  .contact-panel h2 { font-size: clamp(30px, 8.3vw, 35px); line-height: 1.01; letter-spacing: -.045em; }
  .contact-panel__headline-line { display: block; margin-top: 22px; white-space: normal; }
  .contact-panel__headline-line:first-child { margin-top: 0; }
  .contact-panel__headline-line > span { display: block; width: max-content; max-width: 100%; white-space: nowrap; }
  .contact-panel__headline-line > span + span { margin-top: 4px; }
  .contact-panel__promise { margin-top: 2px; }
  .contact-panel__promise strong { font-size: 1.64em; }
  .contact-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: var(--space-8); }
  .contact-summary > div { display: block; }
  .contact-summary strong { font-size: 44px; }
  .contact-summary p { margin-top: var(--space-3); font-size: 10px; }
  .contact-panel .button { width: 100%; }
  .site-footer__inner { min-height: 148px; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--space-3); line-height: 1.6; }
  .site-footer__brand { gap: var(--space-3); }
  .focus-media-mark--footer { width: 76px; height: 42px; }
  .dialog { width: 100%; max-height: 100dvh; padding: var(--space-8) var(--space-4) var(--space-6); }
  .dialog__heading { display: block; }
  .dialog__heading > p { margin-top: var(--space-2); }
  .dialog-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
  .dialog-case-grid { grid-template-columns: 1fr; }
  .selects-filter-panel { margin-bottom: var(--space-6); }
  .selects-filter-group__buttons { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
  .selects-filter-group__buttons::-webkit-scrollbar { display: none; }
  .selects-filter-panel .filter-button { flex: 0 0 auto; }
  .video-copy { padding: var(--space-5) var(--space-4) var(--space-6); }
  .video-copy h2 { font-size: clamp(34px, 10vw, 44px); }
  .video-copy__meta { align-items: flex-start; flex-direction: column; gap: 7px; }
  .video-copy__production { text-align: left; }
  .case-type-badge { top: 16px; left: 16px; max-width: calc(100% - 32px); padding: 9px 12px; font-size: 10px; }
  .player-fullscreen-button { right: 12px; bottom: 56px; width: 36px; height: 36px; font-size: 16px; }
  .video-player-shell:fullscreen .case-type-badge, .video-player-shell.is-full-viewport .case-type-badge { top: max(16px, env(safe-area-inset-top)); left: max(16px, env(safe-area-inset-left)); }
  .video-copy__disclaimer { margin-top: var(--space-6); }
  .dialog-grid .talent-card__body { min-height: 128px; }
  .dialog-grid .talent-card__link { display: inline-block; }
  .avatar-detail__hero { min-height: 540px; }
  .avatar-detail__word { left: 18px; right: 18px; bottom: 12%; width: auto; font-size: clamp(44px, 12vw, 54px); letter-spacing: -.08em; transform: none; }
  .avatar-detail__model { z-index: 4; left: 74%; bottom: 0; width: 68%; height: 88%; pointer-events: none; }
  .avatar-detail__identity { right: var(--space-4); left: var(--space-5); top: var(--space-7); z-index: 3; max-width: none; }
  .avatar-detail__identity > .label,
  .avatar-detail__identity > h2,
  .avatar-detail__identity > .avatar-detail__edition,
  .avatar-detail__identity > .avatar-detail__statement { position: relative; z-index: 5; width: max-content; max-width: 100%; }
  .avatar-detail__identity h2 { font-size: clamp(44px, 12.8vw, 52px); }
  .avatar-detail__identity .avatar-detail__edition { font-size: clamp(10px, 2.9vw, 12px); line-height: 1.4; letter-spacing: 0; white-space: nowrap; }
  .avatar-detail__identity .avatar-detail__statement { margin-top: 6px; font-size: clamp(8.5px, 2.4vw, 10px); line-height: 1.45; letter-spacing: -.01em; white-space: nowrap; }
  .avatar-detail__feature-cta { width: 202px; min-width: 0; gap: 10px; margin-top: var(--space-5); padding-block: 12px; font-size: 10px; }
  .avatar-detail__feature-icon { flex-basis: 30px; width: 30px; height: 30px; }
  .avatar-detail__feature-return { top: 16px; left: 16px; }
  .avatar-detail__body { padding: var(--space-8) var(--space-4) var(--space-9); }
  .casting-guide { margin-bottom: var(--space-8); }
  .casting-guide__grid { grid-template-columns: 1fr; }
  .casting-guide__item { min-height: 0; padding: var(--space-5) 0; border-left: 0 !important; border-bottom: 1px solid var(--color-border); }
  .casting-guide__item:nth-child(even) { padding-left: 0; }
  .casting-guide__item:nth-last-child(2) { border-bottom: 1px solid var(--color-border); }
  .casting-guide__item:last-child { border-bottom: 0; }
  .casting-guide__item > span { margin-bottom: var(--space-3); }
  .casting-guide__item strong { font-size: 34px; }
  .casting-guide__item ul { gap: 8px 16px; }
  .detail-heading h3 { font-size: clamp(34px, 9.6vw, 42px); letter-spacing: -.055em; }
  .detail-film-heading h3 { font-size: clamp(32px, 8.8vw, 39px); }
  .portrait-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto auto; gap: 8px; }
  .portrait-grid figure { aspect-ratio: 2 / 3; }
  .portrait-grid figure:first-child { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 4 / 5; }
  .star-archive-controls { flex-direction: column; gap: var(--space-4); }
  .detail-film-heading { margin-top: var(--space-8); }
  .star-selects__grid { grid-template-columns: 1fr; }
  .star-selects--empty { margin-top: var(--space-8); padding-block: var(--space-8); }
  .star-selects__empty-copy { grid-template-columns: 1fr; gap: var(--space-5); }
  .star-selects__empty-copy h3 { font-size: clamp(34px, 9.6vw, 44px); }
  .star-selects__empty-copy h3 span,
  .star-selects__empty-copy p span { display: block; width: max-content; max-width: 100%; white-space: nowrap; }
}

@media (max-width: 560px) {
  .enter-gate__button {
    width: clamp(102px, 29vw, 116px);
    height: auto;
    border-radius: 50%;
    -webkit-backdrop-filter: blur(22px) saturate(132%);
    backdrop-filter: blur(22px) saturate(132%);
  }

  .enter-gate__label {
    bottom: calc(100% + 26px);
    font-size: clamp(18px, 5.1vw, 21px);
    letter-spacing: .1em;
    text-indent: .1em;
  }
  .enter-gate.is-touch .enter-gate__label {
    opacity: .62;
    filter: blur(0) brightness(.9);
    transform: translate3d(-50%, 0, 34px) scale(1);
  }
  .enter-gate__arrow { width: 33px; height: auto; }
  .enter-gate__atmosphere { box-shadow: inset 0 0 24vmax rgba(0,0,0,.7); }
}

@media (prefers-reduced-motion: reduce) {
  .enter-gate__button { animation: none; transition-duration: 1ms !important; }
  .enter-gate.is-entering .enter-gate__button { animation: enter-gate-press-reduced 120ms ease-out both; }
  .enter-gate.is-entering .enter-gate__bloom--diffuse,
  .enter-gate.is-entering .enter-gate__bloom--core { animation-duration: 300ms; animation-delay: 0ms; }
  .enter-gate.is-revealing { transition-duration: 120ms; }

  @keyframes enter-gate-press-reduced {
    from { scale: 1; }
    to { scale: .98; }
  }

  .brand-intro__video,
  body.intro-active .site-header,
  body.intro-active main { transition-duration: 1ms !important; }
  .selects-film__meta h3 { transition: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .after-film-title__reveal { opacity: 1; clip-path: inset(0); transform: none; }
  .after-film-skyline { animation: none; opacity: var(--after-film-skyline-opacity); translate: none; }
  .enter-gate.is-entering .enter-gate__button { animation-duration: 120ms !important; }
  .enter-gate.is-entering .enter-gate__bloom--diffuse,
  .enter-gate.is-entering .enter-gate__bloom--core { animation-duration: 300ms !important; }
  .enter-gate.is-revealing { transition-duration: 120ms !important; }
}

/* Contact page — scoped editorial responsive composition */
@media (max-width: 1100px) {
  .dialog--contact {
    width: min(calc(100vw - 24px), calc(133.333dvh - 32px));
    height: min(calc(100dvh - 24px), calc(75vw - 18px));
    max-height: none;
    aspect-ratio: 4 / 3;
    padding: 58px 50px 42px;
  }
  .contact-dialog__layout { width: 72%; }
  .dialog--contact .contact-dialog__title { margin-top: clamp(48px, 7vh, 62px); font-size: clamp(62px, 7.8vw, 86px); }
  .contact-dialog__details { width: 78%; margin-top: clamp(26px, 3.4vh, 36px); }
  .contact-dialog__statement { font-size: clamp(16px, 1.9vw, 20px); }
  .contact-dialog__model { right: 0; height: 102%; }
}

@media (max-width: 820px) {
  .dialog--contact {
    width: calc(100vw - 24px);
    height: calc(100dvh - 24px);
    aspect-ratio: auto;
    padding: 54px 40px 38px;
  }
  .contact-dialog__layout { width: 100%; height: 100%; }
  .contact-dialog__eyebrow { font-size: 10px; letter-spacing: .16em; }
  .dialog--contact .contact-dialog__title {
    margin-top: clamp(46px, 6vh, 64px);
    font-family: "Helvetica Inserat LT Std", "Arial Narrow", "Helvetica Neue Condensed", sans-serif;
    font-size: clamp(104px, 17vw, 134px);
    font-weight: 900;
    line-height: .82;
    letter-spacing: -.055em;
  }
  .dialog--contact .contact-dialog__title > span { transform-origin: left center; }
  .dialog--contact .contact-dialog__title > span:nth-child(1) { transform: scaleX(.95); }
  .dialog--contact .contact-dialog__title > span:nth-child(2) { transform: scaleX(.8); }
  .dialog--contact .contact-dialog__title > span:nth-child(3) { transform: scaleX(.72); }
  .contact-dialog__details { width: min(70%, 620px); margin-top: auto; margin-bottom: 0; }
  .contact-dialog__statement { padding-block: 20px; font-size: clamp(15px, 2.25vw, 18px); }
  .contact-dialog__email { padding-top: 20px; }
  .contact-dialog__email a { font-size: clamp(18px, 2.8vw, 23px); }
  .contact-dialog__model {
    right: -15%;
    bottom: clamp(168px, 18.4dvh, 185px);
    width: auto;
    height: 68%;
    transform: none;
  }
}

@media (max-width: 560px) {
  .dialog--contact {
    width: 100vw;
    height: 100dvh;
    max-height: none;
    aspect-ratio: auto;
    padding: 52px 18px 20px;
    background-position: 54% center;
  }
  .dialog--contact .dialog__close {
    top: 15px;
    right: 15px;
    width: 50px;
    height: 50px;
    border-radius: 12px;
    font-size: 23px;
  }
  .contact-dialog__layout { width: 100%; height: 100%; }
  .contact-dialog__eyebrow { font-size: clamp(9px, 2.55vw, 11px); letter-spacing: .105em; }
  .dialog--contact .contact-dialog__title {
    margin-top: clamp(30px, 4.25vh, 38px);
    font-family: "Helvetica Inserat LT Std", "Arial Narrow", "Helvetica Neue Condensed", sans-serif;
    font-size: clamp(116px, 32.8vw, 132px);
    font-weight: 900;
    line-height: .84;
    letter-spacing: -.055em;
  }
  .dialog--contact .contact-dialog__title > span { transform-origin: left center; }
  .dialog--contact .contact-dialog__title > span:nth-child(1) { transform: scaleX(.66); }
  .dialog--contact .contact-dialog__title > span:nth-child(2) { transform: scaleX(.48); }
  .dialog--contact .contact-dialog__title > span:nth-child(3) { transform: scaleX(.41); }
  .contact-dialog__details { width: 100%; margin-top: auto; margin-bottom: 0; }
  .contact-dialog__statement {
    padding: 17px 0;
    font-size: clamp(14px, 4vw, 17px);
    letter-spacing: .035em;
  }
  .contact-dialog__email { gap: 12px; padding-top: 17px; }
  .contact-dialog__email-label { font-size: 9px; }
  .contact-dialog__email a { font-size: clamp(15.5px, 4.35vw, 18px); white-space: nowrap; text-underline-offset: 5px; }
  .contact-dialog__model {
    right: auto;
    bottom: calc(105.5px + 8.4vw);
    left: calc(18.3vw - 41.15dvh);
    width: auto;
    height: 68.4%;
    transform: none;
  }
}
