@font-face {
  font-family: Fraunces;
  src: url('assets/fraunces-700.woff2') format('woff2');
  font-weight: 700;
  font-display: swap
}

@font-face {
  font-family: 'YunFeng FeiYun';
  src: url('assets/fonts/云峰飞云体.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: Space;
  src: url('assets/space-grotesk-400.woff2') format('woff2');
  font-weight: 400;
  font-display: swap
}

@font-face {
  font-family: Space;
  src: url('assets/space-grotesk-500.woff2') format('woff2');
  font-weight: 500;
  font-display: swap
}

:root {
  --night: #101315;
  --graphite: #1b2224;
  --mist: #e9e5dc;
  --muted: #b4b4ac;
  --amber: #dda861;
  --rust: #b9634e;
  --blue: #7d999c;
  --line: rgba(232, 229, 220, .23);
  --heading-cjk-font: 'YunFeng FeiYun', 'Microsoft YaHei', 'LiSu', '隶书';
  --gutter: clamp(22px, 5.2vw, 94px)
}

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: 78px
}

body {
  margin: 0;
  background: var(--night);
  color: var(--mist);
  font: 400 16px/1.65 Space, 'Microsoft YaHei', sans-serif;
  overflow-x: hidden
}

h1 {
  text-shadow: 3px 3px 3px #c8ccf2, 3px 3px 4px #6e1313, 5px 5px 8px #b4ae0b;
  -webkit-text-stroke: 2px #47a4c3;
}

h1,
h2 {
  font-family: 'YunFeng FeiYun', 'Microsoft YaHei', serif;
  font-kerning: none
}

h3 {
  font-family: Space, var(--heading-cjk-font), 'Microsoft YaHei', sans-serif
}

body,
button,
input,
select {
  letter-spacing: 0
}

button,
input,
select {
  font: inherit
}

button {
  cursor: pointer
}

a {
  color: inherit;
  text-decoration: none
}

img {
  display: block;
  max-width: 100%
}

[hidden] {
  display: none !important
}

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

.skip {
  position: fixed;
  left: 12px;
  top: 0;
  transform: translateY(-120%);
  z-index: 50;
  padding: 10px 18px;
  background: var(--mist);
  color: var(--night)
}

.skip:focus {
  transform: none
}

.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
}

.ambient {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 72% 43%, #334044, #101315 69%)
}

.seasonal-layer {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 7;
  pointer-events: none;
  opacity: .95
}

.grain {
  position: fixed;
  inset: 0;
  z-index: 8;
  pointer-events: none;
  opacity: .14;
  background-image: url('data:image/svg+xml,%3Csvg viewBox="0 0 160 160" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="n"%3E%3CfeTurbulence type="fractalNoise" baseFrequency=".83" numOctaves="3" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23n)" opacity=".18"/%3E%3C/svg%3E')
}

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 32px;
  height: 72px;
  padding: 0 var(--gutter);
  border-bottom: 1px solid var(--line);
  background: rgba(16, 19, 21, .82);
  backdrop-filter: blur(18px)
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: none;
  font-size: 12px;
  line-height: 1.15;
  font-weight: 500
}

.brand strong {
  display: block;
  font: 700 19px/1.1 Fraunces, Georgia, serif
}

.brand-mark {
  display: grid;
  place-items: center;
  position: relative;
  width: 37px;
  height: 37px;
  border: 1px solid var(--amber);
  border-radius: 50%;
  font: 700 12px Fraunces, Georgia, serif;
  white-space: nowrap
}

.brand-mark span {
  color: var(--amber)
}

.site-nav {
  display: flex;
  align-items: center;
  gap: clamp(17px, 3vw, 45px);
  margin-left: auto;
  font-size: 11px;
  text-transform: uppercase
}

.site-nav a {
  color: var(--muted);
  transition: color .2s
}

.site-nav a:hover,
.site-nav a[aria-current=page] {
  color: var(--mist)
}

.site-nav a[aria-current=page]::before {
  content: '\2022  ';
  color: var(--amber)
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 16px
}

.lang-switch {
  display: flex;
  align-items: center;
  gap: 3px;
  padding-left: 18px;
  border-left: 1px solid var(--line)
}

.lang-switch button {
  width: 30px;
  height: 30px;
  border: 0;
  background: none;
  color: var(--muted);
  font-size: 11px
}

.lang-switch button[aria-pressed=true] {
  color: var(--amber);
  border-bottom: 1px solid var(--amber)
}

.season-toggle {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--muted);
  transition: color .2s
}

.season-toggle:hover {
  color: var(--amber)
}

.season-toggle svg {
  width: 15px;
  height: 15px
}

.menu-toggle {
  display: none;
  place-items: center;
  width: 36px;
  height: 36px;
  color: var(--mist);
  background: transparent;
  border: 0
}

.menu-toggle svg,
.action-primary svg,
.action-text svg,
.icon-command svg {
  width: 17px;
  height: 17px
}

.cinema-hud {
  position: fixed;
  top: calc(50% - 110px);
  right: clamp(16px, 2.2vw, 38px);
  z-index: 9;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 13px;
  width: 24px;
  color: var(--amber);
  font-size: 9px;
  font-weight: 500;
  white-space: nowrap;
  pointer-events: none;
  text-shadow: 0 1px 8px var(--night)
}

.cinema-hud>span:first-child,
.cinema-hud>span:last-child {
  writing-mode: vertical-rl
}

.hud-track {
  display: block;
  width: 1px;
  height: 100px;
  background: rgba(232, 229, 220, .35)
}

.hud-fill {
  display: block;
  width: 3px;
  height: var(--film-progress, 0%);
  margin-left: -1px;
  background: var(--amber);
  box-shadow: 0 0 12px var(--amber)
}

main,
.site-footer {
  position: relative;
  z-index: 1
}

.chapter {
  position: relative;
  min-height: min(850px, 92svh);
  display: flex;
  align-items: center;
  padding: 125px var(--gutter);
  border-bottom: 1px solid rgba(232, 229, 220, .12)
}

.chapter-inner {
  width: min(100%, 1440px);
  margin: 0 auto
}

.chapter-index,
.section-number,
.kicker,
.eyeline,
.fine-rule,
.footnote,
.hero-bottom,
.output-top,
.spatial-label,
.spatial-axis {
  font: 500 11px/1.5 Space, 'Microsoft YaHei', sans-serif;
  text-transform: uppercase;
  color: var(--amber)
}

.section-number {
  display: block;
  margin: 0 0 30px
}

.chapter h2,
.studio-section h2,
.film-archive-band h2,
.inner-intro h1 {
  margin: 0;
  font: 700 clamp(38px, 4.9vw, 79px)/1.06 'YunFeng FeiYun', 'Microsoft YaHei', Georgia, serif;
  font-kerning: none;
  max-width: 15ch;
  /* text-shadow: 1px 2px 2px #6676f6, 2px 2px 4px #6e1313, 3px 3px 6px #b4ae0b;
  -webkit-text-stroke: 2px #100944; */
  overflow-wrap: break-word
}

.chapter p,
.studio-section p,
.film-archive-band p {
  max-width: 57ch
}

.chapter p:not(.section-number):not(.kicker):not(.footnote),
.studio-section p:not(.section-number),
.film-archive-band p:not(.section-number) {
  color: #cfcec7
}

.chapter h2+p,
.copy-block>p:not(.section-number) {
  margin: 28px 0 0;
  line-height: 1.8
}

.side-by-side {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(45px, 8vw, 145px);
  align-items: center
}

.copy-block {
  min-width: 0
}

.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 50px;
  margin-bottom: 55px
}

.section-heading>p {
  max-width: 42ch;
  margin: 0
}

.hero {
  min-height: calc(100svh - 34px);
  padding-top: 135px;
  padding-bottom: 80px;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(90deg, rgba(12, 16, 18, .68), rgba(12, 16, 18, .13))
}

.hero-wash {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(14, 17, 18, .98) 0%, rgba(14, 17, 18, .82) 33%, rgba(14, 17, 18, .15) 75%, rgba(14, 17, 18, .38)), url('https://i.ytimg.com/vi/WpxgyJPPqYo/maxresdefault.jpg') 73% center/cover no-repeat;
  opacity: .79;
  animation: hero-focus 1.5s ease-out both
}

.hero-inner {
  position: relative
}

.chapter-index {
  display: flex;
  gap: 25px;
  padding-top: 17px;
  border-top: 1px solid var(--line);
  color: var(--muted)
}

.chapter-index span:first-child {
  color: var(--amber)
}

.kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: clamp(38px, 7vh, 100px) 0 19px
}

.light-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--amber);
  box-shadow: 0 0 18px var(--amber)
}

.hero h1 {
  margin: 0;
  max-width: 11ch;
  font: 700 clamp(60px, 8.8vw, 140px)/.87 'YunFeng FeiYun', 'Microsoft YaHei', Georgia, serif;
  font-kerning: none;
  overflow-wrap: normal
}

.hero h1 em {
  font-style: normal;
  color: var(--amber)
}

.hero .hero-declaration {
  font: 700 clamp(20px, 2.2vw, 33px)/1.2 Fraunces, 'Microsoft YaHei', Georgia, serif;
  color: var(--mist) !important;
  margin: 26px 0 0
}

.hero .hero-copy {
  max-width: 46ch;
  margin: 14px 0 0;
  font-size: 15px
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 25px;
  margin-top: 30px
}

.action-primary {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  min-height: 51px;
  padding: 12px 19px;
  border: 1px solid var(--amber);
  background: var(--amber);
  color: #141513;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  transition: background .2s, color .2s
}

.action-primary:hover {
  background: transparent;
  color: var(--amber)
}

.action-text {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--amber);
  color: var(--mist);
  font-size: 12px;
  text-transform: uppercase
}

.action-text:hover {
  color: var(--amber)
}

.hero-bottom {
  position: absolute;
  bottom: 22px;
  left: var(--gutter);
  right: var(--gutter);
  display: flex;
  justify-content: space-between;
  gap: 15px;
  color: var(--muted)
}

.hero-bottom span:nth-child(2) {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--amber)
}

.hero-bottom svg {
  width: 13px;
  height: 13px
}

.hero .chapter-index,
.hero .kicker,
.hero h1,
.hero .hero-declaration,
.hero .hero-copy,
.hero .hero-actions {
  animation: hero-enter .85s both
}

.hero .kicker {
  animation-delay: .1s
}

.hero h1 {
  animation-delay: .2s
}

.hero .hero-declaration {
  animation-delay: .32s
}

.hero .hero-copy {
  animation-delay: .42s
}

.hero .hero-actions {
  animation-delay: .52s
}

@keyframes hero-enter {
  from {
    opacity: 0;
    transform: translateY(22px)
  }

  to {
    opacity: 1;
    transform: none
  }
}

@keyframes hero-focus {
  from {
    transform: scale(1.08);
    opacity: .54
  }

  to {
    transform: scale(1);
    opacity: .79
  }
}

.threshold {
  overflow: hidden;
  background: linear-gradient(90deg, rgba(16, 19, 21, .94) 0%, rgba(16, 19, 21, .68) 45%, rgba(16, 19, 21, .18) 100%)
}

.fine-rule {
  display: block;
  margin-top: 30px;
  padding-top: 18px;
  border-top: 1px solid var(--line)
}

.prompt-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 410px;
  perspective: 900px
}

.prompt-pane {
  position: relative;
  width: min(100%, 480px);
  min-height: 275px;
  padding: 24px;
  border: 1px solid rgba(232, 229, 220, .6);
  background: linear-gradient(150deg, rgba(210, 221, 219, .19), rgba(30, 42, 46, .35));
  box-shadow: 22px 35px 75px rgba(0, 0, 0, .4);
  transform: rotateY(-13deg) rotateX(4deg)
}

.motion-ready .prompt-pane {
  transform: translateX(var(--pane-shift, 0px)) rotateY(var(--pane-angle, -13deg)) rotateX(4deg);
  opacity: var(--pane-opacity, 1);
  transition: transform .18s linear, opacity .18s linear
}

.prompt-pane::after,
.prompt-pane::before {
  content: '';
  position: absolute;
  background: rgba(234, 230, 215, .65);
  height: 1px;
  transform-origin: left
}

.prompt-pane::before {
  left: 46%;
  top: 1%;
  width: 69%;
  transform: rotate(115deg)
}

.prompt-pane::after {
  left: 13%;
  top: 40%;
  width: 104%;
  transform: rotate(20deg)
}

.prompt-pane span,
.prompt-pane small {
  font-size: 10px;
  color: var(--amber)
}

.prompt-pane p {
  max-width: 23ch;
  margin: 50px 0 28px !important;
  color: var(--mist) !important;
  font: 700 19px/1.4 Fraunces, Georgia, serif
}

.prompt-line {
  height: 1px;
  background: var(--line);
  margin-bottom: 12px
}

.pane-after {
  position: absolute;
  bottom: 13px;
  right: 0;
  font-size: 9px;
  color: var(--blue)
}

.motion-ready .chapter:not(.hero) .chapter-inner,
.motion-ready .studio-section .chapter-inner,
.motion-ready .film-archive-band .chapter-inner {
  opacity: .32;
  transform: translateY(34px);
  transition: opacity .9s ease, transform .9s cubic-bezier(.2, .72, .2, 1)
}

.motion-ready .chapter.is-visible .chapter-inner,
.motion-ready .studio-section.is-visible .chapter-inner,
.motion-ready .film-archive-band.is-visible .chapter-inner {
  opacity: 1;
  transform: none
}

.motion-ready .dna-grid>div {
  opacity: .2;
  transform: translateY(26px);
  transition: opacity .7s ease, transform .7s cubic-bezier(.2, .72, .2, 1)
}

.motion-ready .dna-section.is-visible .dna-grid>div {
  opacity: 1;
  transform: none;
  transition-delay: var(--item-delay, 0ms)
}

.motion-ready .shot-sequence figure {
  opacity: .3;
  transform: translateY(24px);
  transition: opacity .8s ease, transform .8s ease
}

.motion-ready .memory-section.is-visible .shot-sequence figure {
  opacity: 1;
  transform: none
}

.motion-ready .memory-section.is-visible .shot-sequence figure:nth-child(2) {
  transition-delay: .17s
}

.motion-ready .memory-section.is-visible .shot-sequence figure:nth-child(3) {
  transition-delay: .34s
}

.dna-section {
  background: linear-gradient(90deg, rgba(17, 21, 22, .96), rgba(17, 21, 22, .79) 56%, rgba(17, 21, 22, .52))
}

.dna-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line)
}

.dna-grid>div {
  min-height: 165px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 17px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, .02);
  transition: background .2s
}

.dna-grid>div:hover {
  background: rgba(221, 168, 97, .11)
}

.dna-grid b {
  font-size: 11px;
  color: var(--amber);
  font-weight: 400
}

.dna-grid span {
  font-size: 12px;
  font-weight: 500
}

.dna-grid small {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 400
}

.footnote {
  margin: 23px 0 0;
  color: var(--muted) !important
}

.direction-section {
  background: linear-gradient(90deg, rgba(18, 22, 23, .96), rgba(34, 26, 25, .72) 60%, rgba(25, 27, 28, .32))
}

.translation {
  border-top: 1px solid var(--amber);
  padding: 22px 0
}

.translation blockquote {
  max-width: 19ch;
  margin: 35px 0;
  font: 700 clamp(27px, 3vw, 47px)/1.2 Fraunces, 'Microsoft YaHei', Georgia, serif
}

.translation-arrow {
  display: flex;
  align-items: center;
  gap: 13px;
  color: var(--amber);
  font-size: 10px
}

.translation-arrow svg {
  width: 17px;
  height: 17px
}

.translation dl,
.brief-output dl {
  margin: 24px 0 0
}

.translation dl>div,
.brief-output dl>div {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 13px 0;
  border-top: 1px solid var(--line)
}

.translation dt,
.brief-output dt {
  flex: 0 0 110px;
  font-size: 10px;
  color: var(--amber)
}

.translation dd,
.brief-output dd {
  margin: 0;
  text-align: right;
  font-size: 13px
}

.memory-section {
  background: linear-gradient(110deg, rgba(16, 19, 21, .94), rgba(31, 39, 40, .7) 60%, rgba(25, 34, 35, .36))
}

.shot-sequence {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px
}

.shot-sequence figure {
  margin: 0;
  min-width: 0
}

.shot-sequence img {
  width: 100%;
  aspect-ratio: 2.1;
  object-fit: cover;
  filter: saturate(.7)
}

.shot-sequence figcaption {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 10px;
  font-size: 10px;
  color: var(--amber)
}

.shot-sequence figcaption span {
  color: var(--muted)
}

.sequence-rule {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 35px;
  color: var(--muted);
  font-size: 10px
}

.thread {
  flex: 1;
  height: 1px;
  background: var(--amber);
  position: relative
}

.thread::after {
  content: '';
  position: absolute;
  right: 0;
  top: -3px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--amber)
}

.spatial-section {
  background: linear-gradient(90deg, rgba(18, 23, 25, .96), rgba(25, 37, 40, .66) 65%, rgba(25, 37, 40, .28))
}

.spatial-diagram {
  border: 1px solid var(--line);
  padding: 20px;
  min-height: 400px;
  background: repeating-linear-gradient(0deg, transparent 0 49px, rgba(232, 229, 220, .05) 50px), repeating-linear-gradient(90deg, transparent 0 49px, rgba(232, 229, 220, .05) 50px)
}

.spatial-field {
  position: relative;
  height: 310px;
  margin-top: 20px;
  border-left: 1px solid var(--amber);
  border-bottom: 1px solid var(--amber);
  transform: skewY(-6deg)
}

.field-object {
  position: absolute;
  display: grid;
  place-items: center;
  border: 1px solid var(--blue);
  background: rgba(16, 19, 21, .85);
  font-size: 10px
}

.foreground {
  left: 8%;
  bottom: 8%;
  width: 28%;
  height: 45px
}

.subject {
  left: 42%;
  top: 26%;
  width: 24%;
  height: 76px;
  border-color: var(--amber);
  color: var(--amber)
}

.background {
  right: 3%;
  top: 4%;
  width: 28%;
  height: 32px
}

.spatial-axis {
  display: block;
  text-align: center;
  margin-top: 12px
}

.model-section {
  background: linear-gradient(90deg, rgba(16, 19, 21, .96), rgba(16, 19, 21, .77) 60%, rgba(16, 19, 21, .5))
}

.routing {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 30px;
  align-items: center
}

.routing-source {
  padding: 25px;
  border: 1px solid var(--amber);
  color: var(--amber);
  font-size: 13px
}

.routing-source span {
  float: right
}

.routing-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px
}

.routing-options>div {
  min-height: 135px;
  padding: 16px;
  border: 1px solid var(--line)
}

.routing-options span,
.routing-options small {
  display: block;
  font-size: 10px;
  color: var(--muted)
}

.routing-options strong {
  display: block;
  margin: 20px 0 8px;
  color: var(--amber);
  font: 700 19px Fraunces, 'Microsoft YaHei', Georgia, serif
}

.routing-options>div:nth-child(2) strong {
  color: var(--blue)
}

.routing-options>div:nth-child(3) strong {
  color: var(--rust)
}

.compiler-section {
  background: linear-gradient(100deg, rgba(20, 24, 26, .96), rgba(31, 29, 27, .73) 64%, rgba(25, 27, 28, .43))
}

.compiler-intro {
  margin: 25px 0 45px !important
}

.pipeline {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-left: 1px solid var(--line)
}

.pipeline li {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 165px;
  padding: 14px;
  border: 1px solid var(--line);
  border-left: 0;
  font-size: 12px
}

.pipeline b {
  color: var(--amber);
  font-size: 11px;
  font-weight: 400
}

.reveal-section {
  min-height: 80svh;
  text-align: center;
  background: radial-gradient(ellipse at 50% 70%, rgba(89, 75, 58, .28), rgba(16, 19, 21, .96) 65%)
}

.reveal-section h2,
.reveal-section p {
  margin-left: auto !important;
  margin-right: auto !important
}

.reveal-section .action-primary {
  margin-top: 28px
}

.studio-section {
  padding: 120px var(--gutter);
  background: #e4e3dc;
  color: var(--night)
}

.studio-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(35px, 8vw, 135px);
  align-items: start
}

.studio-section .section-number {
  color: #9a493b
}

.studio-section p:not(.section-number) {
  color: #455254
}

#shot-form {
  display: grid;
  gap: 12px;
  max-width: 520px;
  margin-top: 30px
}

#shot-form label {
  font-size: 10px;
  font-weight: 500;
  color: #576568
}

#shot-form input,
#shot-form select {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #a9aeaa;
  border-radius: 0;
  background: #f4f3ec;
  color: var(--night)
}

#shot-form .action-primary {
  margin-top: 13px;
  justify-self: start
}

.brief-output {
  min-height: 470px;
  padding: 26px;
  background: #1c2526;
  color: var(--mist);
  border-top: 3px solid var(--amber)
}

.output-top {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--line)
}

.brief-output .output-empty {
  margin: 140px auto 0 !important;
  text-align: center;
  color: var(--muted) !important;
  font: 700 27px Fraunces, 'Microsoft YaHei', Georgia, serif
}

.brief-output dl {
  margin-top: 40px
}

.brief-output dd {
  text-align: right;
  overflow-wrap: anywhere
}

.icon-command {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin-top: 25px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid var(--amber);
  background: none;
  color: var(--mist);
  font-size: 12px
}

.film-archive-band {
  padding: 90px var(--gutter);
  background: #1a2426
}

.archive-band-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center
}

.film-archive-band h2 {
  font-size: clamp(35px, 4vw, 60px)
}

.film-archive-band .action-text {
  margin-top: 15px
}

.archive-still {
  display: block;
  position: relative;
  overflow: hidden
}

.archive-still img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  filter: saturate(.7);
  transition: transform .4s
}

.archive-still:hover img {
  transform: scale(1.04)
}

.archive-still span {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 10px 14px;
  background: rgba(16, 19, 21, .8);
  color: var(--amber);
  font-size: 10px
}

.site-footer {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 35px;
  padding: 55px var(--gutter);
  border-top: 1px solid var(--line);
  background: #101315;
  color: var(--muted);
  font-size: 11px
}

.footer-brand {
  color: var(--mist);
  font: 700 19px Fraunces, Georgia, serif
}

.footer-brand span {
  display: block;
  margin-top: 7px;
  color: var(--amber);
  font: 400 10px Space, sans-serif
}

.site-footer>div {
  display: flex;
  flex-wrap: wrap;
  gap: 25px
}

.site-footer a:hover {
  color: var(--amber)
}

.inner-page {
  background: #101315
}

.inner-intro {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: end;
  padding: 145px var(--gutter) 85px;
  overflow: hidden;
  background: #263134
}

.inner-intro::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(14, 18, 20, .96), rgba(14, 18, 20, .45)), url('https://i.ytimg.com/vi/MrX3O4MZd2E/maxresdefault.jpg') center 40%/cover;
  opacity: .72
}

.inner-intro>.chapter-inner {
  position: relative
}

.inner-intro h1 {
  font-size: clamp(64px, 6.4vw, 104px);
  max-width: 12ch
}

.inner-intro p:not(.section-number) {
  max-width: 55ch;
  color: #d9d9d2
}

.inner-intro .eyebrow {
  margin-top: 0
}

.interlude {
  padding: 110px var(--gutter);
  background: #e4e3dc;
  color: #192022
}

.interlude .chapter-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9vw
}

.interlude h2,
.people-section h2,
.archive-section h2 {
  margin: 0;
  font: 700 clamp(36px, 4vw, 62px)/1.1 'YunFeng FeiYun', 'Microsoft YaHei', Georgia, serif;
  font-kerning: none
}

.interlude p {
  margin-top: 0;
  color: #455254;
  line-height: 1.85
}

.people-section,
.archive-section {
  padding: 95px var(--gutter);
  background: #172024
}

.people-section header,
.archive-section header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 35px;
  margin-bottom: 35px
}

.people-section header>p,
.archive-section header>p {
  max-width: 40ch;
  margin: 0;
  color: var(--muted)
}

.people-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line)
}

.person {
  min-height: 165px;
  padding: 22px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line)
}

.person b {
  color: var(--amber);
  font-size: 11px;
  font-weight: 400
}

.person h3 {
  margin: 24px 0 5px;
  font: 700 24px Fraunces, var(--heading-cjk-font), 'Microsoft YaHei', Georgia, serif;
  overflow-wrap: anywhere
}

.person p {
  margin: 0;
  color: var(--muted);
  font-size: 13px
}

.about-closing {
  padding: 110px var(--gutter);
  text-align: center;
  background: #232a28
}

.about-closing h2 {
  max-width: 18ch;
  margin: 0 auto 30px;
  font: 700 clamp(36px, 5vw, 70px)/1.1 'YunFeng FeiYun', 'Microsoft YaHei', Georgia, serif;
  font-kerning: none
}

.about-page {
  background: #080e12
}

.about-ambient {
  position: fixed;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: radial-gradient(ellipse at 65% 35%, #263337, #080e12 70%)
}

.about-page .inner-intro {
  min-height: 90svh;
  background: transparent
}

.about-page .inner-intro::before {
  background: linear-gradient(90deg, rgba(8, 14, 18, .91), rgba(8, 14, 18, .35) 72%, rgba(8, 14, 18, .15));
  opacity: 1
}

.about-page .people-section {
  background: rgba(13, 23, 25, .64)
}

.about-page .about-closing {
  background: rgba(12, 20, 24, .68)
}

.archive-section {
  min-height: 650px;
  background: #e4e3dc;
  color: var(--night)
}

.archive-section .section-number {
  color: #9a493b
}

.archive-section header>p {
  color: #475558
}

.archive-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 35px 0 18px
}

.archive-search {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: min(100%, 290px);
  flex: 1;
  padding: 0 13px;
  background: #f5f3ee;
  border: 1px solid #a9aeaa
}

.archive-search svg {
  width: 17px;
  height: 17px
}

.archive-search input {
  width: 100%;
  min-height: 46px;
  border: 0;
  outline: 0;
  background: none;
  color: var(--night)
}

.archive-search:focus-within {
  outline: 2px solid var(--rust);
  outline-offset: 2px
}

.archive-controls select {
  min-height: 48px;
  padding: 0 35px 0 10px;
  border: 1px solid #a9aeaa;
  border-radius: 0;
  background: #f5f3ee;
  color: var(--night)
}

.filter-tabs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px
}

.filter-tabs button {
  min-height: 46px;
  padding: 0 13px;
  border: 1px solid #a9aeaa;
  background: none;
  color: #354144;
  font-size: 12px
}

.filter-tabs button[aria-pressed=true] {
  background: #26383a;
  color: var(--mist)
}

.archive-status {
  min-height: 25px;
  padding: 13px 0;
  border-top: 1px solid #adb5b1;
  color: #4c5a5d;
  font-size: 12px
}

.video-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px 16px;
  margin-top: 22px
}

.video-card {
  min-width: 0
}

.video-card button {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--night);
  text-align: left
}

.video-cover {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16/9;
  background: #314043;
  color: var(--mist)
}

.video-cover img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s
}

.video-card button:hover img {
  transform: scale(1.05)
}

.video-cover svg {
  position: absolute;
  bottom: 9px;
  right: 9px;
  width: 31px;
  height: 31px;
  padding: 8px;
  border-radius: 50%;
  background: var(--mist);
  color: var(--night)
}

.video-cover .fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font: 700 23px Fraunces, Georgia, serif
}

.video-meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin: 12px 0 7px;
  color: #4f6263;
  font-size: 11px
}

.video-card strong {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  min-height: 43px;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 500;
  overflow-wrap: anywhere
}

.video-card>a {
  display: inline-block;
  margin-top: 8px;
  color: #8c3f33;
  text-decoration: underline;
  text-underline-offset: 4px;
  font-size: 11px
}

.archive-empty {
  padding: 55px 0;
  text-align: center
}

.archive-more {
  display: block;
  min-height: 48px;
  margin: 40px auto 0;
  padding: 0 22px;
  border: 1px solid #485959;
  background: none;
  color: #243032
}

.archive-more:hover {
  background: #d0d8d2
}

.video-dialog {
  width: min(92vw, 970px);
  max-height: 90vh;
  padding: 0;
  border: 1px solid #798282;
  background: #172024;
  color: var(--mist)
}

.video-dialog::backdrop {
  background: rgba(0, 0, 0, .85)
}

.dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 18px;
  color: var(--amber);
  font-size: 11px
}

.dialog-head button {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border: 1px solid var(--line);
  background: none;
  color: var(--mist)
}

.dialog-head svg {
  width: 18px;
  height: 18px
}

.dialog-media {
  aspect-ratio: 16/9;
  background: #000
}

.dialog-media iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0
}

.dialog-info {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: start;
  padding: 14px 20px 20px
}

.dialog-info h3 {
  margin: 0;
  font: 700 21px/1.3 Fraunces, var(--heading-cjk-font), 'Microsoft YaHei', Georgia, serif;
  overflow-wrap: anywhere
}

.dialog-info a {
  flex: none;
  color: var(--amber);
  font-size: 11px
}

@media(max-width:1100px) {
  .dna-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .video-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .pipeline {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }

  .pipeline li {
    border-bottom: 0
  }

  .pipeline li:nth-last-child(-n+3) {
    border-bottom: 1px solid var(--line)
  }
}

@media(max-width:760px) {
  html {
    scroll-padding-top: 65px
  }

  .site-header {
    height: 64px;
    gap: 14px
  }

  .brand {
    font-size: 10px
  }

  .brand strong {
    font-size: 16px
  }

  .brand-mark {
    width: 31px;
    height: 31px
  }

  .site-nav {
    display: none;
    position: absolute;
    top: 64px;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px var(--gutter) 16px;
    background: #14191a;
    border-bottom: 1px solid var(--line)
  }

  .site-nav.open {
    display: flex
  }

  .site-nav a {
    padding: 12px 0;
    border-bottom: 1px solid var(--line)
  }

  .header-actions {
    margin-left: auto;
    gap: 7px
  }

  .lang-switch {
    padding-left: 0;
    border: 0
  }

  .menu-toggle {
    display: grid
  }

  .chapter {
    min-height: auto;
    padding-top: 105px;
    padding-bottom: 105px
  }

  .hero {
    min-height: calc(100svh - 34px);
    padding-top: 100px;
    padding-bottom: 58px
  }

  .hero h1 {
    font-size: clamp(61px, 13vw, 100px)
  }

  .hero-bottom span:last-child {
    display: none
  }

  .side-by-side,
  .studio-layout,
  .archive-band-inner,
  .interlude .chapter-inner {
    grid-template-columns: 1fr;
    gap: 50px
  }

  .prompt-visual {
    min-height: 320px
  }

  .section-heading {
    display: block;
    margin-bottom: 33px
  }

  .section-heading>p {
    margin: 20px 0 0
  }

  .dna-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .dna-grid>div {
    min-height: 135px
  }

  .shot-sequence {
    gap: 7px
  }

  .shot-sequence figcaption {
    display: block
  }

  .shot-sequence figcaption span {
    display: block
  }

  .routing {
    grid-template-columns: 1fr;
    gap: 10px
  }

  .pipeline {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .pipeline li {
    border-bottom: 0 !important
  }

  .pipeline li:nth-last-child(-n+1) {
    border-bottom: 1px solid var(--line) !important
  }

  .studio-section,
  .interlude,
  .people-section,
  .archive-section,
  .about-closing {
    padding: 80px var(--gutter)
  }

  .inner-intro {
    min-height: 480px
  }

  .people-list {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .people-section header,
  .archive-section header {
    display: block
  }

  .people-section header>p,
  .archive-section header>p {
    margin-top: 18px
  }

  .video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .site-footer {
    flex-wrap: wrap
  }
}

@media(max-width:480px) {
  .hero h1 {
    font-size: clamp(54px, 13vw, 72px)
  }

  .hero .hero-copy {
    font-size: 13px
  }

  .hero-bottom span:first-child {
    display: none
  }

  .hero-actions {
    gap: 12px
  }

  .section-heading h2,
  .chapter h2 {
    font-size: 39px
  }

  .prompt-pane {
    transform: none
  }

  .dna-grid>div {
    padding: 12px;
    min-height: 125px
  }

  .dna-grid span {
    font-size: 10px
  }

  .routing-options {
    grid-template-columns: 1fr
  }

  .routing-options>div {
    min-height: 95px
  }

  .routing-options strong {
    margin: 8px 0
  }

  .shot-sequence img {
    aspect-ratio: 1
  }

  .sequence-rule {
    font-size: 8px;
    gap: 6px
  }

  .pipeline li {
    min-height: 110px
  }

  .people-list {
    grid-template-columns: 1fr
  }

  .person {
    min-height: 120px
  }

  .person h3 {
    margin-top: 12px
  }

  .video-grid {
    gap: 25px 10px
  }

  .video-card strong {
    font-size: 12px
  }

  .video-meta {
    font-size: 10px
  }

  .dialog-info {
    display: block
  }

  .dialog-info a {
    display: inline-block;
    margin-top: 10px
  }

  .site-footer {
    display: block
  }

  .site-footer>div {
    margin: 25px 0
  }
}

@media(max-width:760px) {
  .cinema-hud {
    top: 64px;
    left: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: rgba(232, 229, 220, .24)
  }

  .cinema-hud>span:first-child,
  .cinema-hud>span:last-child {
    display: none
  }

  .hud-track {
    width: 100%;
    height: 2px;
    background: transparent
  }

  .hud-fill {
    width: var(--film-progress, 0%);
    height: 2px;
    margin: 0
  }
}

@media(max-width:480px) {
  .motion-ready .prompt-pane {
    transform: none;
    opacity: 1
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important
  }

  .landing .hero-media,
  .landing .feature-scene .scene-media,
  .craft-page .hero-media,
  .gallery-page .feature-image,
  .craft-page .song-scene .scene-media,
  .craft-page .film-scene .scene-media {
    animation-duration: 18s !important;
    animation-iteration-count: infinite !important;
    animation-timing-function: linear !important
  }

  .gallery-page .feature-image {
    animation-duration: 1.2s, 16s !important;
    animation-iteration-count: 1, infinite !important;
    animation-timing-function: ease-out, linear !important
  }
}

.gallery-page .video-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 70px 32px
}

.gallery-page .video-card strong {
  min-height: auto;
  font: 700 clamp(22px, 2.3vw, 35px)/1.18 Fraunces, 'Microsoft YaHei', Georgia, serif;
  -webkit-line-clamp: 3
}

.gallery-page .gallery-feature {
  position: relative;
  background: #122024;
  color: #f1f2ec
}

.gallery-page .feature-stage {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 82svh;
  padding: 108px var(--gutter) 32px;
  overflow: hidden
}

.gallery-page .feature-frame {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden
}

.gallery-page .feature-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 43%;
  animation: gallery-arrive 1.2s ease-out both, gallery-photo-drift 18s linear infinite alternate
}

.gallery-page .feature-liquid {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  mix-blend-mode: screen;
  pointer-events: none;
  transition: opacity .7s ease
}

.gallery-page .feature-liquid[data-state="ready"] {
  opacity: .78
}

.gallery-page .feature-shade {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgba(8, 17, 19, .94), rgba(8, 17, 19, .71) 39%, rgba(8, 17, 19, .1) 85%), linear-gradient(270deg, rgba(8, 17, 19, .72), transparent 16%), linear-gradient(180deg, rgba(8, 17, 19, .55), transparent 24%), linear-gradient(0deg, rgba(8, 17, 19, .7), transparent 40%)
}

.gallery-page .feature-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 35px;
  min-width: 0
}

.gallery-page .feature-edition {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 12px;
  border-top: 1px solid rgba(241, 242, 236, .5);
  font-size: 10px;
  font-weight: 500;
  color: #d8dfd8
}

.gallery-page .feature-caption {
  max-width: min(100%, 870px);
  margin: auto 0
}

.gallery-page .feature-caption .section-number {
  margin-bottom: 15px;
  color: #efb79f
}

.gallery-page .feature-caption h1 {
  margin: 0;
  max-width: 14ch;
  font: 700 clamp(55px, 5.84vw, 88px)/.98 'YunFeng FeiYun', 'Microsoft YaHei', Georgia, serif;
  font-kerning: none;
  overflow-wrap: anywhere;
  /* text-shadow: 0 3px 24px rgba(0, 0, 0, .38); */
  /* text-shadow: 1px 2px 2px #6676f6, 2px 2px 4px #6e1313, 3px 3px 6px #b4ae0b;
  -webkit-text-stroke: 2px #100944; */
}

.gallery-page .feature-meta {
  margin: 22px 0 0;
  font-size: 12px;
  font-weight: 500;
  color: #d8e3dc;
  text-transform: uppercase
}

.gallery-page .feature-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 26px;
  margin-top: 30px
}

.gallery-page .feature-actions .action-primary {
  justify-content: center;
  gap: 13px;
  background: #eedaca;
  border-color: #eedaca;
  color: #192426
}

.gallery-page .feature-actions .action-primary:hover {
  background: transparent;
  color: #eedaca
}

.gallery-page .feature-actions .action-text {
  border-color: #eedaca
}

.gallery-page .feature-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 14px;
  border-top: 1px solid rgba(241, 242, 236, .42);
  font-size: 11px;
  color: #e2eae4
}

.gallery-page .feature-pagination>div {
  display: flex;
  gap: 8px
}

.gallery-page .feature-pagination button {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(241, 242, 236, .6);
  background: rgba(10, 19, 21, .3);
  color: #f1f2ec
}

.gallery-page .feature-pagination button:hover {
  background: #eedaca;
  color: #192426
}

.gallery-page .feature-pagination button:disabled {
  opacity: .35;
  cursor: default
}

.gallery-page .feature-pagination svg {
  width: 17px;
  height: 17px
}

@keyframes gallery-arrive {
  from {
    opacity: .6
  }

  to {
    opacity: 1
  }
}

@keyframes gallery-photo-drift {
  from {
    transform: scale(1) translate3d(0, 0, 0)
  }

  to {
    transform: scale(1.055) translate3d(-.45%, .3%, 0)
  }
}

.gallery-page .archive-section {
  padding: 105px var(--gutter) 125px;
  background: #e6ebe7;
  color: #1c2929
}

.gallery-page .archive-section header {
  align-items: end;
  gap: 55px;
  margin-bottom: 48px
}

.gallery-page .archive-section h2 {
  font-size: clamp(50px, 6.2vw, 88px)
}

.gallery-page .archive-section header>p {
  max-width: 36ch;
  color: #425453
}

.gallery-page .archive-controls {
  gap: 12px;
  margin-bottom: 25px
}

.gallery-page .archive-status {
  border-top-color: #9caeaa
}

.gallery-page .video-cover {
  background: #223331
}

.gallery-page .video-cover img {
  filter: saturate(.93);
  transition: filter .5s, transform .7s
}

.gallery-page .video-card button:hover img {
  filter: saturate(1.08);
  transform: scale(1.035)
}

.gallery-page .video-cover svg {
  bottom: 15px;
  right: 15px;
  width: 41px;
  height: 41px;
  padding: 12px;
  border: 1px solid #ecf1ed;
  background: rgba(11, 23, 24, .75);
  color: #f5f4ec
}

.gallery-page .video-meta {
  margin-top: 18px;
  color: #796453;
  font-size: 10px;
  text-transform: uppercase
}

.gallery-page .video-card>a {
  margin-top: 16px;
  border-bottom: 1px solid #9a4d3c;
  color: #803c30;
  text-decoration: none;
  font-size: 11px;
  text-transform: uppercase
}

.gallery-page .about-closing {
  background: #182a2b
}

@media(max-width:700px) {
  .gallery-page .video-grid {
    grid-template-columns: 1fr;
    gap: 44px
  }
}

@media(max-width:760px) {
  .gallery-page .feature-stage {
    min-height: 82svh;
    padding: 92px var(--gutter) 26px
  }

  .gallery-page .feature-image {
    object-position: 62% center
  }

  .gallery-page .feature-liquid[data-state="ready"] {
    opacity: .42
  }

  .gallery-page .feature-shade {
    background: linear-gradient(0deg, rgba(8, 17, 19, .92), rgba(8, 17, 19, .48) 70%, rgba(8, 17, 19, .15))
  }

  .gallery-page .feature-caption h1 {
    font-size: clamp(48px, 9.5vw, 72px)
  }

  .gallery-page .archive-section {
    padding-top: 75px;
    padding-bottom: 90px
  }

  .gallery-page .archive-section header {
    display: block;
    margin-bottom: 32px
  }

  .gallery-page .archive-section header>p {
    margin-top: 20px
  }

  .gallery-page.header-light .site-nav {
    background: #e6ebe7
  }
}

@media(prefers-reduced-motion: reduce) {
  .gallery-page .feature-liquid {
    transition: none
  }
}

@media(max-width:480px) {
  .gallery-page .feature-stage {
    min-height: 80svh;
    padding-top: 82px
  }

  .gallery-page .feature-caption h1 {
    font-size: clamp(42px, 10vw, 56px)
  }

  .gallery-page .feature-edition span:last-child {
    display: none
  }

  .gallery-page .feature-actions {
    gap: 12px
  }

  .gallery-page .archive-search {
    width: 100%
  }

  .gallery-page .video-card strong {
    font-size: 27px
  }
}

.gallery-page .site-header {
  color: var(--mist);
  transition: background-color .45s ease, border-color .45s ease, color .45s ease
}

.gallery-page.header-light .site-header {
  --mist: #1c2929;
  --muted: #4b5c5b;
  --amber: #9a4d3c;
  --line: rgba(28, 41, 41, .2);
  background: rgba(230, 235, 231, .86)
}

.split-word {
  display: inline-block
}

.gallery-motion .reveal-item,
.gallery-motion .split-word,
.gallery-motion .reveal-card {
  opacity: 0
}

.gallery-motion .is-revealed .reveal-item,
.gallery-motion .reveal-card.is-revealed {
  animation: gallery-rise 1s cubic-bezier(.2, .7, .2, 1) both;
  animation-delay: calc(var(--d, 0)*120ms)
}

.gallery-motion .is-revealed .split-word {
  animation: gallery-word .9s cubic-bezier(.2, .7, .2, 1) both;
  animation-delay: calc(var(--d, 0)*120ms + var(--w, 0)*60ms)
}

.gallery-motion .reveal-card.is-revealed .video-cover img {
  animation: gallery-settle 1.5s cubic-bezier(.2, .7, .2, 1) both;
  animation-delay: calc(var(--d, 0)*120ms)
}

@keyframes gallery-rise {
  from {
    opacity: 0;
    translate: 0 26px
  }

  to {
    opacity: 1;
    translate: 0 0
  }
}

@keyframes gallery-word {
  from {
    opacity: 0;
    translate: 0 .5em
  }

  to {
    opacity: 1;
    translate: 0 0
  }
}

@keyframes gallery-settle {
  from {
    scale: 1.14
  }

  to {
    scale: 1
  }
}

@media(min-width:992px) {
  .gallery-motion .gallery-feature {
    height: 220svh
  }

  .gallery-motion .feature-stage {
    position: sticky;
    top: 0;
    height: 100svh;
    min-height: 0
  }

  .gallery-motion .feature-stage::before,
  .gallery-motion .feature-stage::after {
    content: "";
    position: absolute;
    top: var(--header-offset, 0px);
    right: 0;
    left: 0;
    z-index: 1;
    height: 2px;
    pointer-events: none
  }

  .gallery-motion .feature-stage::before {
    background: rgba(241, 242, 236, .32)
  }

  .gallery-motion .feature-stage::after {
    background: #efb79f;
    transform: scaleX(var(--progress, 0));
    transform-origin: left center
  }

  .gallery-motion .feature-frame {
    clip-path: inset(calc(var(--frame, 1)*16svh) calc(var(--frame, 1)*var(--gutter)) calc(var(--frame, 1)*15svh) calc(var(--frame, 1)*44vw))
  }

  .gallery-motion .feature-image {
    scale: calc(1 + var(--progress, 0)*.12)
  }

  .gallery-motion .feature-caption {
    translate: 0 calc(var(--progress, 0)*-5svh)
  }
}

.landing {
  --mist: #f0f1e9;
  --muted: #c4cec7;
  --amber: #e6bc85;
  --line: rgba(236, 238, 228, .28)
}

.landing .ambient {
  z-index: 2;
  opacity: .82;
  background: none;
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .35) 38%, #000 75%)
}

.landing .hero {
  min-height: 84svh;
  background: #182325
}

.landing .hero-media,
.landing .scene-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.landing .hero-media {
  z-index: -2;
  object-position: center 42%;
  animation: opening-shot 18s linear infinite alternate
}

.landing .hero-wash {
  background: linear-gradient(90deg, rgba(10, 17, 19, .92) 0%, rgba(10, 17, 19, .7) 38%, rgba(10, 17, 19, .16) 80%), linear-gradient(0deg, rgba(10, 17, 19, .56), transparent 38%);
  opacity: 1;
  animation: none
}

.landing .hero h1 {
  max-width: none;
  line-height: .94;

}

.glow {
  text-shadow: 0 0 10px gold, 0 0 30px orange;
}

.raised {
}

.landing .hero .hero-declaration {
  margin-top: 18px;
  color: var(--amber) !important;
  font-size: clamp(29px, 3.7vw, 53px)
}

.landing .hero .hero-copy {
  max-width: 33ch;
  font-size: 16px;
  color: var(--mist) !important;
  text-shadow: 0 2px 10px #0a1113
}

.landing .hero .action-primary {
  justify-content: center;
  gap: 13px
}

.landing .hero-bottom {
  color: #e3e7e0;
  text-shadow: 0 1px 8px #0a1113
}

@keyframes opening-shot {
  from {
    transform: scale(1.025) translate3d(0, 0, 0)
  }

  to {
    transform: scale(1.11) translate3d(-.7%, .45%, 0)
  }
}

@keyframes scene-photo-drift {
  from {
    translate: 0 0;
    scale: 1
  }

  to {
    translate: -.7% .45%;
    scale: 1.07
  }
}

.landing .program-section {
  min-height: auto;
  padding-top: 80px;
  padding-bottom: 110px;
  background: linear-gradient(160deg, #dbe4dc, #cbd6ce 66%, #dae2d9);
  color: #192a29
}

.landing .program-section .section-number {
  color: #994e38
}

.landing .program-section.chapter p:not(.section-number) {
  color: #344440
}

.landing .program-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 50px;
  margin-bottom: 53px
}

.landing .program-heading h2 {
  max-width: none;
  font-size: clamp(48px, 6vw, 88px)
}

.landing .program-heading>p {
  max-width: 36ch;
  margin: 0;
  font-size: 15px;
  line-height: 1.65
}

.landing .filmstrip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(15px, 2.3vw, 34px)
}

.landing .film-frame {
  display: block;
  min-width: 0;
  border-top: 1px solid rgba(20, 40, 38, .45);
  padding-top: 10px
}

.landing .frame-image {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16/9;
  background: #1a2526
}

.landing .frame-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.88);
  transition: transform .7s ease, filter .7s ease
}

.landing .film-frame:hover .frame-image img,
.landing .film-frame:focus-visible .frame-image img {
  transform: scale(1.055);
  filter: saturate(1.08)
}

.landing .frame-image::after {
  content: '';
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(246, 248, 241, .45);
  pointer-events: none
}

.landing .frame-image svg {
  position: absolute;
  bottom: 19px;
  right: 19px;
  width: 32px;
  height: 32px;
  padding: 8px;
  background: rgba(10, 16, 16, .75);
  border: 1px solid rgba(246, 248, 241, .65);
  border-radius: 50%;
  color: #f4f4ea
}

.landing .frame-meta {
  display: block;
  margin: 18px 0 7px;
  font-size: 10px;
  color: #8d4b38
}

.landing .film-frame strong {
  display: block;
  max-width: 22ch;
  font: 700 clamp(23px, 2.4vw, 35px)/1.16 Fraunces, 'Microsoft YaHei', Georgia, serif;
  overflow-wrap: anywhere
}

.landing .film-frame:hover strong {
  color: #9b503a
}

.landing .feature-scene {
  min-height: min(900px, 94svh);
  overflow: hidden;
  isolation: isolate;
  background: #1b2a29
}

.landing .feature-scene .scene-media {
  z-index: -2;
  object-position: center;
  transform: scale(1.075);
  transition: transform 1.9s cubic-bezier(.2, .7, .2, 1);
  animation: scene-photo-drift 18s linear infinite alternate
}

.landing .feature-scene.is-visible .scene-media {
  transform: scale(1)
}

.landing .feature-scene::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(9, 18, 18, .92), rgba(9, 18, 18, .68) 42%, rgba(9, 18, 18, .06) 90%), linear-gradient(0deg, rgba(9, 18, 18, .5), transparent 35%)
}

.landing .sunrise-scene .scene-media {
  object-position: center 35%
}

.landing .autumn-scene .scene-media {
  object-position: center 42%
}

.landing .now-scene .scene-media {
  object-position: center 45%
}

.landing .autumn-scene::before {
  background: linear-gradient(90deg, rgba(32, 21, 20, .94), rgba(32, 21, 20, .63) 45%, rgba(32, 21, 20, .08) 90%), linear-gradient(0deg, rgba(23, 20, 19, .55), transparent 35%)
}

.landing .now-scene::before {
  background: linear-gradient(90deg, rgba(18, 25, 32, .93), rgba(18, 25, 32, .62) 43%, rgba(18, 25, 32, .06) 92%), linear-gradient(0deg, rgba(16, 24, 29, .6), transparent 35%)
}

.landing .scene-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  min-height: 580px
}

.landing .feature-scene h2 {
  max-width: 17ch;
  font-size: clamp(50px, 6.6vw, 102px);
  overflow-wrap: anywhere;
  /* text-shadow: 0 3px 28px rgba(0, 0, 0, .32) */
}

.landing .feature-scene p:not(.section-number) {
  margin: 22px 0 25px;
  color: var(--mist);
  font-size: clamp(16px, 1.5vw, 20px);
  text-shadow: 0 2px 12px #101719
}

.landing .scene-watch {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--amber);
  font-size: 12px;
  text-transform: uppercase;
  color: var(--mist)
}

.landing .scene-watch:hover {
  color: var(--amber)
}

.landing .scene-watch svg {
  width: 17px;
  height: 17px
}

.landing .scene-watch svg:last-child {
  margin-left: 10px
}

.landing .scene-credit {
  margin-top: 65px;
  font-size: 10px;
  color: var(--amber)
}

.landing .archive-finale {
  min-height: 75svh;
  text-align: center;
  overflow: hidden;
  isolation: isolate;
  background: #152326
}

.landing .archive-finale::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(rgba(13, 25, 26, .8), rgba(13, 25, 26, .9)), url('https://i.ytimg.com/vi/MrX3O4MZd2E/maxresdefault.jpg') center/cover no-repeat
}

.landing .finale-inner {
  display: flex;
  flex-direction: column;
  align-items: center
}

.landing .archive-finale h2 {
  width: 100%;
  max-width: 18ch;
  font-size: clamp(48px, 6.7vw, 100px)
}

.landing .archive-finale p:not(.section-number) {
  margin: 25px auto 0;
  font-size: 17px
}

.landing .finale-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 36px
}

@media(max-width:760px) {
  .landing {
    --gutter: 22px
  }

  .landing .hero {
    min-height: 82svh;
    padding-top: 85px;
    padding-bottom: 60px
  }

  .landing .hero-media {
    object-position: 63% center
  }

  .landing .hero-wash {
    background: linear-gradient(90deg, rgba(10, 17, 19, .82), rgba(10, 17, 19, .28)), linear-gradient(0deg, rgba(10, 17, 19, .75), transparent 78%)
  }

  .landing .hero h1 {
    font-size: clamp(65px, 12vw, 100px)
  }

  .landing .program-section {
    padding-top: 60px;
    padding-bottom: 90px
  }

  .landing .program-heading {
    display: block;
    margin-bottom: 35px
  }

  .landing .program-heading>p {
    margin: 18px 0 0
  }

  .landing .filmstrip {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .landing .feature-scene {
    min-height: 80svh;
    padding-top: 100px;
    padding-bottom: 105px
  }

  .landing .feature-scene::before {
    background: linear-gradient(0deg, rgba(8, 17, 18, .93), rgba(8, 17, 18, .48) 70%, rgba(8, 17, 18, .1))
  }

  .landing .feature-scene .scene-media {
    object-position: 60% center
  }

  .landing .scene-inner {
    min-height: 460px;
    justify-content: end
  }

  .landing .feature-scene h2 {
    font-size: clamp(45px, 9vw, 72px)
  }

  .landing .scene-credit {
    margin-top: 35px
  }
}

@media(max-width:480px) {
  .landing .hero {
    min-height: 80svh;
    padding-top: 80px;
    padding-bottom: 55px
  }

  .landing .hero h1 {
    font-size: clamp(54px, 12.5vw, 70px)
  }

  .landing .hero .hero-copy {
    font-size: 14px
  }

  .landing .hero-bottom {
    bottom: 10px
  }

  .landing .program-section {
    padding-top: 50px
  }

  .landing .program-heading h2 {
    font-size: 45px
  }

  .landing .filmstrip {
    grid-template-columns: 1fr;
    gap: 35px
  }

  .landing .film-frame strong {
    font-size: 30px
  }

  .landing .feature-scene h2 {
    font-size: clamp(38px, 9vw, 55px)
  }

  .landing .scene-credit {
    font-size: 9px
  }

  .landing .archive-finale h2 {
    font-size: clamp(43px, 10vw, 60px)
  }
}

.craft-page .hero-media {
  object-position: center 30%;
  animation: opening-shot 18s linear infinite alternate
}

.craft-page .hero h1 {
  font-size: clamp(50px, 6.56vw, 102px)
}

.craft-page .hero h1 span,
.craft-page .hero h1 em {
  display: block
}

.craft-page .hero h1 em {
  color: inherit
}

.craft-page .hero .hero-declaration {
  max-width: 26ch;
  font-size: clamp(24px, 2.8vw, 40px)
}

.craft-page .song-scene .scene-media,
.craft-page .film-scene .scene-media {
  object-position: center 30%;
  animation: scene-photo-drift 18s linear infinite alternate
}

.craft-page .archive-finale::before {
  background: linear-gradient(rgba(13, 25, 26, .8), rgba(13, 25, 26, .9)), url('https://i.ytimg.com/vi/2Mj3bkHdL50/maxresdefault.jpg') center 30%/cover no-repeat
}

.craft-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(15px, 2.3vw, 34px);
  margin: 0;
  padding: 0;
  list-style: none
}

.craft-steps li {
  min-width: 0;
  padding-top: 20px;
  border-top: 1px solid rgba(20, 40, 38, .45)
}

.craft-steps svg {
  width: 28px;
  height: 28px;
  color: #994e38
}

.craft-steps .step-label {
  display: block;
  margin: 26px 0 8px;
  font-size: 10px;
  color: #8d4b38
}

.craft-steps h3 {
  margin: 0;
  font: 700 clamp(25px, 2.5vw, 37px)/1.16 Fraunces, var(--heading-cjk-font), 'Microsoft YaHei', Georgia, serif;
  overflow-wrap: anywhere
}

.craft-steps p {
  max-width: 34ch;
  margin: 14px 0 0;
  line-height: 1.7
}

.craft-price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 14px;
  margin-top: 32px
}

.craft-price strong {
  font: 700 clamp(62px, 8vw, 122px)/1 Fraunces, Georgia, serif;
  color: var(--amber)
}

.craft-price span {
  font-size: 13px;
  text-transform: uppercase;
  color: var(--mist)
}

.craft-note {
  max-width: 52ch;
  margin: 28px auto 0;
  font-size: 13px;
  color: var(--muted)
}

@media(max-width:760px) {
  .craft-steps {
    grid-template-columns: 1fr;
    gap: 40px
  }
}

.page-video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(15px, 2.3vw, 34px)
}

.page-video-grid .page-video-card {
  display: block;
  min-width: 0;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  color: inherit;
  text-decoration: none
}

.page-video-grid .frame-image {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16/9;
  background: #1a2526
}

.page-video-grid .frame-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease, filter .7s ease
}

.page-video-grid .page-video-card:hover .frame-image img,
.page-video-grid .page-video-card:focus-visible .frame-image img {
  transform: scale(1.055);
  filter: saturate(1.08)
}

.page-video-grid .frame-image::after {
  content: '';
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(246, 248, 241, .45);
  pointer-events: none
}

.page-video-grid .frame-image svg {
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 32px;
  height: 32px;
  padding: 8px;
  border: 1px solid rgba(246, 248, 241, .65);
  border-radius: 50%;
  background: rgba(10, 16, 16, .75);
  color: #f4f4ea
}

.page-video-grid .frame-meta {
  display: block;
  margin: 15px 0 7px;
  color: var(--rust);
  font-size: 10px;
  letter-spacing: .12em
}

.page-video-grid .page-video-card strong {
  display: block;
  max-width: 28ch;
  font: 700 clamp(20px, 2vw, 30px)/1.18 Fraunces, var(--heading-cjk-font), 'Microsoft YaHei', Georgia, serif;
  overflow-wrap: anywhere
}

.page-video-grid .page-video-card:hover strong {
  color: var(--amber)
}

.page-video-loading,
.page-video-status,
.page-video-noscript {
  color: var(--muted);
  font-size: 13px
}

.page-video-status {
  margin: 20px 0 0
}

.about-page .inner-intro.about-hero {
  isolation: isolate;
  z-index: 1;
  background: transparent
}

.about-page .about-hero-media {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  background: #101719
}

.about-page .about-hero-media > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 36%;
  opacity: 1;
  transition: opacity .8s ease
}

.about-page .about-hero-media > #about-hero-player {
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(100vw, 177.78vh);
  height: max(56.25vw, 100vh);
  border: 0;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity .8s ease;
  pointer-events: none
}

.about-page #about-hero-player iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none
}

.about-page .about-hero-media[data-state="playing"] > img {
  opacity: .28
}

.about-page .about-hero-media[data-state="playing"] > #about-hero-player {
  opacity: .58
}

.about-page .about-hero-media[data-state="fallback"] > img,
.about-page .about-hero-media[data-state="reduced-motion"] > img {
  opacity: 1
}

.about-page .inner-intro.about-hero::before {
  z-index: -1;
  background: linear-gradient(90deg, rgba(8, 14, 18, .88), rgba(8, 14, 18, .36) 74%, rgba(8, 14, 18, .12));
  opacity: 1
}

.about-page .about-hero > .chapter-inner {
  position: relative;
  z-index: 1
}

.about-hero-video-title {
  max-width: 48ch;
  margin: 0 0 22px;
  color: var(--amber);
  font-size: 13px;
  letter-spacing: .12em
}

.about-sound-toggle {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--line);
  background: rgba(16, 19, 21, .72);
  color: var(--mist);
  font: inherit;
  font-size: 12px;
  cursor: pointer
}

.about-sound-toggle:hover,
.about-sound-toggle:focus-visible {
  border-color: var(--amber);
  color: var(--amber)
}

.about-origin-slides,
.about-legacy-story,
.about-albums,
.about-lyrics,
.about-video-section,
.about-image-archive,
.about-support {
  padding: 88px var(--gutter)
}

.about-origin-slides {
  background: #e4e3dc;
  color: #192022
}

.about-section-heading {
  max-width: 760px;
  margin-bottom: 35px
}

.about-section-heading h2 {
  margin: 0;
  font: 700 clamp(36px, 4vw, 62px)/1.1 'YunFeng FeiYun', 'Microsoft YaHei', Georgia, serif;
  font-kerning: none
}

.about-section-heading > p:last-child {
  max-width: 54ch;
  margin: 16px 0 0;
  color: var(--muted)
}

.about-origin-slides .about-section-heading > p:last-child {
  color: #455254
}

.about-origin-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid rgba(25, 32, 34, .24);
  background: rgba(25, 32, 34, .24)
}

.about-origin-grid article {
  min-width: 0;
  padding: clamp(20px, 3vw, 42px);
  background: #e4e3dc
}

.about-origin-grid h3 {
  margin: 20px 0 12px;
  font: 700 clamp(22px, 2.3vw, 32px)/1.16 Fraunces, 'Microsoft YaHei', Georgia, serif
}

.about-origin-grid .legacy-copy {
  color: #455254;
  font-size: 14px;
  line-height: 1.8
}

.about-legacy-story {
  background: rgba(23, 32, 36, .82);
  color: var(--mist)
}

.about-legacy-story .chapter-inner {
  display: grid;
  grid-template-columns: minmax(230px, .8fr) minmax(0, 1.2fr);
  gap: clamp(35px, 8vw, 120px);
  align-items: start
}

.about-legacy-story h2 {
  max-width: 12ch;
  margin: 0;
  font: 700 clamp(36px, 4vw, 62px)/1.1 'YunFeng FeiYun', 'Microsoft YaHei', Georgia, serif
}

.about-legacy-prose {
  max-width: 72ch;
  color: #d7d9d1;
  font-size: 14px;
  line-height: 1.9
}

.legacy-copy .en,
.legacy-locale .en,
.about-albums summary .en,
.about-team-grid summary .en {
  display: inline
}

.legacy-copy .zh,
.legacy-locale .zh,
.about-albums summary .zh,
.about-team-grid summary .zh {
  display: none
}

html[lang^="zh"] .legacy-copy .en,
html[lang^="zh"] .legacy-locale .en,
html[lang^="zh"] .about-albums summary .en,
html[lang^="zh"] .about-team-grid summary .en {
  display: none
}

html[lang^="zh"] .legacy-copy .zh,
html[lang^="zh"] .legacy-locale .zh,
html[lang^="zh"] .about-albums summary .zh,
html[lang^="zh"] .about-team-grid summary .zh {
  display: inline
}

.about-albums {
  background: #e4e3dc;
  color: #192022
}

.about-album-list {
  border-top: 1px solid rgba(25, 32, 34, .28)
}

.about-album-list details {
  border-bottom: 1px solid rgba(25, 32, 34, .22)
}

.about-album-list summary {
  padding: 20px 4px;
  font: 700 clamp(19px, 2vw, 28px)/1.3 Fraunces, 'Microsoft YaHei', Georgia, serif;
  cursor: pointer
}

.about-album-list ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 28px;
  margin: 0;
  padding: 0 4px 24px 28px;
  color: #455254;
  font-size: 13px
}

.about-album-list p {
  margin: 0;
  padding: 0 4px 26px;
  color: #455254;
  font-size: 14px;
  line-height: 1.9
}

.about-lyrics {
  background: rgba(36, 43, 41, .78);
  color: var(--mist)
}

.about-lyric-lede {
  max-width: 38ch;
  margin: 0 0 35px;
  color: var(--amber);
  font: 700 clamp(20px, 2.4vw, 32px)/1.5 Fraunces, Georgia, serif
}

.about-lyrics-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  grid-template-areas: "copy video";
  gap: clamp(30px, 5vw, 76px);
  align-items: start
}

.about-lyrics-copy {
  grid-area: copy;
  min-width: 0
}

.about-lyrics-copy .about-section-heading {
  margin-bottom: 22px
}

.about-lyric-text {
  padding: 0 4px 26px;
  color: var(--mist);
  font-size: 14px;
  line-height: 1.9
}

.about-lyrics-video {
  position: sticky;
  top: 96px;
  grid-area: video;
  min-width: 0
}

.about-lyrics-video-frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
  background: #080e12;
  border: 1px solid var(--line)
}

.about-lyrics-video-frame iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0
}

.about-lyrics-video-link {
  display: inline-block;
  margin-top: 14px;
  color: var(--amber);
  font-size: 12px;
  text-decoration: none
}

.about-lyrics-video-link:hover,
.about-lyrics-video-link:focus-visible {
  text-decoration: underline
}

.about-lyrics .about-album-list {
  border-color: var(--line)
}

.about-lyrics .about-album-list details {
  border-color: var(--line)
}

.about-lyrics .about-album-list summary,
.about-lyrics .about-album-list p {
  color: var(--mist)
}

.about-video-section {
  background: rgba(16, 23, 25, .78)
}

.about-team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line)
}

.about-person {
  min-width: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(13, 23, 25, .56)
}

.about-person > img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  background: #202b2d
}

.about-person > div {
  padding: 20px
}

.about-person b {
  color: var(--amber);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .1em
}

.about-person h3 {
  margin: 14px 0 4px;
  font: 700 24px/1.2 Fraunces, var(--heading-cjk-font), 'Microsoft YaHei', Georgia, serif;
  overflow-wrap: anywhere
}

.about-person .person-role {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 12px
}

.about-team-grid details {
  padding-top: 12px;
  border-top: 1px solid var(--line)
}

.about-team-grid summary {
  color: var(--mist);
  font-size: 12px;
  cursor: pointer
}

.about-image-variations summary .en {
  display: inline
}

.about-image-variations summary .zh {
  display: none
}

html[lang^="zh"] .about-image-variations summary .en {
  display: none
}

html[lang^="zh"] .about-image-variations summary .zh {
  display: inline
}

.about-team-grid details .legacy-copy {
  margin-top: 12px;
  color: #c3c8c0;
  font-size: 12px;
  line-height: 1.75
}

.about-image-archive {
  background: #e4e3dc;
  color: #192022
}

.about-band-portrait {
  margin: 0 0 16px;
  overflow: hidden;
  background: #192022
}

.about-band-portrait img {
  display: block;
  width: 100%;
  max-height: 480px;
  object-fit: cover;
  object-position: center 35%
}

.about-band-portrait figcaption {
  padding: 12px 16px;
  color: #d9d9d2;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase
}

.about-image-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px
}

.about-image-grid figure {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: #1b2224
}

.about-image-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  transition: transform .7s ease
}

.about-image-grid figure:hover img {
  transform: scale(1.045)
}

.about-image-grid figcaption {
  padding: 8px;
  color: #e4e3dc;
  font-size: 10px;
  letter-spacing: .06em
}

.about-image-variations {
  margin-top: 24px;
  border-top: 1px solid rgba(25, 32, 34, .25)
}

.about-image-variations summary {
  padding: 15px 4px;
  font-size: 13px;
  cursor: pointer
}

.about-image-variations > .about-image-grid {
  margin-bottom: 30px
}

.about-support {
  background: rgba(23, 32, 36, .82);
  color: var(--mist)
}

.about-support .chapter-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr);
  gap: clamp(30px, 7vw, 100px);
  align-items: center
}

.about-support h2 {
  max-width: 14ch;
  margin: 0 0 24px;
  font: 700 clamp(36px, 4vw, 62px)/1.1 'YunFeng FeiYun', 'Microsoft YaHei', Georgia, serif
}

.about-support-copy {
  max-width: 60ch;
  color: #c3c8c0;
  line-height: 1.85
}

.about-support-card {
  width: 90%;
  display: block;
  /* display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 18px; */
  padding: clamp(20px, 3vw, 36px);
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, .035)
}

.about-support-card > img {
  width: 64px;
  height: 64px;
  object-fit: contain
}

.about-support-card .section-number {
  margin: 0 0 10px;
  color: var(--amber);
  font-size: 10px;
  letter-spacing: .12em
}

.about-support-card h3 {
  margin: 0;
  font: 700 clamp(18px, 1.7vw, 25px)/1.25 Fraunces, var(--heading-cjk-font), 'Microsoft YaHei', Georgia, serif
}

.about-support-price {
  margin: 16px 0 8px;
  color: var(--amber);
  font: 700 25px/1 Fraunces, Georgia, serif
}

.about-support-card .legacy-copy,
.about-support-note {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7
}

.about-support-note {
  margin: 14px 0
}

.paypal-subscription-buttons {
  max-width: 420px;
  min-height: 45px;
  margin-top: 18px
}

.paypal-subscription-status {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7
}

@media(max-width:900px) {
  .about-lyrics-layout {
    grid-template-columns: 1fr;
    grid-template-areas: "video" "copy"
  }

  .about-lyrics-video {
    position: static;
    margin-bottom: 36px
  }

  .about-origin-grid,
  .about-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .about-image-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }

  .about-support .chapter-inner {
    grid-template-columns: 1fr
  }
}

@media(max-width:760px) {
  .page-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .about-origin-slides,
  .about-legacy-story,
  .about-albums,
  .about-lyrics,
  .about-video-section,
  .about-image-archive,
  .about-support {
    padding-top: 62px;
    padding-bottom: 62px
  }

  .about-origin-grid {
    grid-template-columns: 1fr
  }

  .about-legacy-story .chapter-inner {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .about-album-list ol {
    grid-template-columns: 1fr
  }

  .about-image-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .about-band-portrait img {
    min-height: 230px
  }
}

@media(max-width:480px) {
  .page-video-grid {
    grid-template-columns: 1fr
  }

  .about-team-grid {
    grid-template-columns: 1fr
  }

  .about-image-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px
  }

  .about-image-grid figure {
    max-width: 420px
  }

  .about-support-card {
    grid-template-columns: 1fr
  }
}

@media(prefers-reduced-motion: reduce) {
  .page-video-grid .frame-image img,
  .about-image-grid img,
  .about-page .about-hero-media > img,
  .about-page .about-hero-media > #about-hero-player {
    transition: none
  }
}

img {
  opacity: 0.6;
}

.about-band-portrait img, 
.about-image-grid img,
.about-person > img {
  filter: grayscale(80%) brightness(160%) contrast(130%);
  transition: filter 0.6s;
  opacity: 0.7;
}

.lab-left {
  width: 50%;
   #paypal-support-title {
     font-size: 3rem;
   }
}

.about-support--story .chapter-inner {
  grid-template-columns: minmax(0, 60ch)
}

.membership-component,
.landing .membership-component {
  position: relative;
  min-height: 75svh;
  padding: clamp(132px, 15vh, 165px) var(--gutter) 90px;
  overflow: hidden;
  isolation: isolate;
  color: var(--mist);
  text-align: center;
  background: #152326
}

.membership-component::before,
.landing .membership-component::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: linear-gradient(rgba(13, 25, 26, .8), rgba(13, 25, 26, .9)), url("images/alayendo/Alayendo-Band-Team-banner 3-small.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat
}

.membership-component .finale-inner {
  display: flex;
  flex-direction: column;
  align-items: center
}

.membership-component h2,
.landing .membership-component h2 {
  width: 100%;
  max-width: 18ch;
  margin: 0 auto;
  font-size: clamp(42px, 6.7vw, 100px)
}

.membership-component p:not(.section-number),
.landing .membership-component p:not(.section-number) {
  margin: 25px auto 0;
  font-size: 17px
}

.membership-component .finale-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
  width: 100%;
  margin-top: 36px
}

.membership-component .lab-left {
  width: min(100%, 420px)
}

.membership-component .about-support-card {
  width: min(100%, 460px);
  grid-template-columns: minmax(0, 1fr);
  text-align: left
}

.membership-component .paypal-subscription-buttons {
  width: min(100%, 420px)
}

@media(max-width:760px) {
  .membership-component,
  .landing .membership-component {
    min-height: 0;
    padding-top: 100px;
    padding-bottom: 70px
  }

  .membership-component .finale-actions {
    flex-direction: column
  }
}