:root {
  --v23-paper: #f2efe7;
  --v23-paper-soft: #faf8f2;
  --v23-ink: #111823;
  --v23-ink-soft: #1a2432;
  --v23-text: #171b21;
  --v23-muted: #66707a;
  --v23-blue: #2e59ec;
  --v23-lime: #b8ff42;
  --v23-line: rgba(17, 24, 35, 0.17);
  --v23-section: clamp(84px, 10vw, 150px);
  --v23-gutter: clamp(20px, 5vw, 72px);
}

body.home-page--v23,
body.project-index-page--v23,
body.project-page--graphic-v23 {
  overflow-x: clip;
  color: var(--v23-text);
  background: var(--v23-paper);
}

.v23-shell {
  width: min(100%, 1440px);
  margin-inline: auto;
  padding-inline: var(--v23-gutter);
}

.home-page--v23 .site-header,
.project-index-page--v23 .site-header,
.project-page--graphic-v23 .site-header {
  color: var(--v23-text);
  border-color: var(--v23-line);
  background: rgba(242, 239, 231, 0.92);
  backdrop-filter: blur(18px) saturate(1.06);
}

.home-page--v23 .nav,
.project-index-page--v23 .nav,
.project-page--graphic-v23 .nav {
  width: min(100%, 1440px);
  padding-inline: var(--v23-gutter);
}

.home-page--v23 .brand-star,
.project-index-page--v23 .brand-star,
.project-page--graphic-v23 .brand-star {
  color: var(--v23-blue);
}

.home-page--v23 .sound-toggle,
.project-index-page--v23 .sound-toggle,
.project-page--graphic-v23 .sound-toggle {
  display: none;
}

.home-page--v23 .eyebrow,
.project-index-page--v23 .eyebrow,
.project-page--graphic-v23 .eyebrow {
  color: var(--v23-blue);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.home-hero-v23 {
  position: relative;
  padding: clamp(76px, 8vw, 124px) 0 clamp(82px, 9vw, 136px);
  background:
    linear-gradient(rgba(17, 24, 35, 0.04) 1px, transparent 1px) 0 0 / 72px 72px,
    linear-gradient(90deg, rgba(17, 24, 35, 0.04) 1px, transparent 1px) 0 0 / 72px 72px,
    var(--v23-paper);
}

.home-hero-v23::after {
  position: absolute;
  right: clamp(22px, 4vw, 70px);
  bottom: 0;
  left: clamp(22px, 4vw, 70px);
  height: 1px;
  background: var(--v23-line);
  content: "";
}

.home-hero-v23__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(480px, 1.14fr);
  gap: clamp(50px, 7vw, 112px);
  align-items: center;
}

.home-hero-v23__copy,
.home-hero-v23__gallery,
.work-tile-v23,
.work-tile-v23 a,
.work-tile-v23 figure {
  min-width: 0;
}

.home-hero-v23 h1 {
  max-width: 760px;
  margin: 1.2rem 0 0;
  color: var(--v23-text);
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(4rem, 6.6vw, 7.25rem);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.075em;
}

.home-hero-v23 h1 em {
  display: block;
  margin-top: 0.14em;
  color: var(--v23-blue);
  font-style: normal;
}

.home-hero-v23__lead {
  max-width: 650px;
  margin: clamp(26px, 4vw, 48px) 0 0;
  color: var(--v23-muted);
  font-size: clamp(1.04rem, 1.35vw, 1.23rem);
  line-height: 1.92;
}

.home-hero-v23__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.72rem;
  margin-top: 2rem;
}

.home-hero-v23__actions .button {
  min-height: 52px;
  border-color: var(--v23-line);
  color: var(--v23-text);
  background: rgba(250, 248, 242, 0.76);
}

.home-hero-v23__actions .button.primary {
  border-color: var(--v23-ink);
  color: #fff;
  background: var(--v23-ink);
}

.home-hero-v23__notes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: clamp(40px, 5vw, 64px) 0 0;
  border-top: 1px solid var(--v23-line);
}

.home-hero-v23__notes div {
  min-width: 0;
  padding: 1rem 0.8rem 0 0;
}

.home-hero-v23__notes dt {
  color: var(--v23-blue);
  font: 800 0.64rem/1.35 ui-monospace, monospace;
  letter-spacing: 0.1em;
}

.home-hero-v23__notes dd {
  margin: 0.38rem 0 0;
  font-size: 0.83rem;
  line-height: 1.5;
}

.home-hero-v23__gallery {
  position: relative;
  min-height: clamp(590px, 49vw, 730px);
}

.hero-frame {
  position: absolute;
  display: block;
  margin: 0;
  overflow: hidden;
  border: 10px solid var(--v23-paper-soft);
  color: var(--v23-text);
  background: #d8d3c9;
  box-shadow: 0 24px 60px rgba(20, 24, 31, 0.15);
  text-decoration: none;
  transition: transform 240ms ease, box-shadow 240ms ease;
}

.hero-frame:hover,
.hero-frame:focus-visible {
  z-index: 5;
  transform: translateY(-8px) rotate(0deg);
  box-shadow: 0 34px 74px rgba(20, 24, 31, 0.22);
}

.hero-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-frame span {
  position: absolute;
  right: 8px;
  bottom: 8px;
  padding: 0.52rem 0.62rem;
  color: #fff;
  background: rgba(17, 24, 35, 0.88);
  font: 800 0.62rem/1.25 ui-monospace, monospace;
  letter-spacing: 0.08em;
}

.hero-frame--game {
  z-index: 3;
  top: 2%;
  right: 2%;
  width: 78%;
  height: 48%;
  transform: rotate(1.2deg);
}

.hero-frame--brand {
  z-index: 2;
  right: 0;
  bottom: 2%;
  width: 54%;
  height: 51%;
  transform: rotate(-1.5deg);
}

.hero-frame--editorial {
  z-index: 1;
  bottom: 6%;
  left: 0;
  width: 52%;
  height: 43%;
  transform: rotate(1.6deg);
}

.work-exhibition-v23 {
  padding: var(--v23-section) 0;
  color: #f8f6f0;
  background: var(--v23-ink);
}

.section-heading-v23 {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.58fr);
  gap: clamp(28px, 7vw, 112px);
  align-items: end;
  margin-bottom: clamp(54px, 8vw, 104px);
}

.section-heading-v23 .eyebrow {
  grid-column: 1 / -1;
  margin: 0 0 -0.5rem;
  color: var(--v23-lime);
}

.section-heading-v23 h2 {
  margin: 0;
  color: #fff;
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(2.9rem, 5.6vw, 6rem);
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -0.065em;
}

.section-heading-v23 > p:last-child {
  margin: 0;
  color: rgba(248, 246, 240, 0.65);
  font-size: 1rem;
  line-height: 1.9;
}

.work-grid-v23 {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 58px) clamp(18px, 2.8vw, 40px);
  align-items: start;
}

.work-tile-v23 {
  grid-column: span 4;
}

.work-tile-v23--wide {
  grid-column: span 8;
}

.work-tile-v23 a {
  display: grid;
  gap: 1.15rem;
  color: inherit;
  text-decoration: none;
}

.work-tile-v23 figure {
  position: relative;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  background: #2a3545;
}

.work-tile-v23--wide figure {
  aspect-ratio: 16 / 9;
}

.work-tile-v23--tall figure {
  aspect-ratio: 4 / 5;
}

.work-tile-v23 figure::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,0.17);
  pointer-events: none;
  content: "";
}

.work-tile-v23 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 520ms cubic-bezier(.2,.65,.2,1), filter 300ms ease;
}

.work-tile-v23--brand img {
  object-position: center;
}

.work-tile-v23--product img {
  object-position: top center;
}

.work-tile-v23 figcaption {
  position: absolute;
  right: 10px;
  bottom: 10px;
  left: 10px;
  z-index: 2;
  padding: 0.64rem 0.7rem;
  color: #fff;
  background: rgba(12, 18, 27, 0.84);
  font: 700 0.64rem/1.35 ui-monospace, monospace;
  letter-spacing: 0.08em;
}

.work-tile-v23 a:hover img,
.work-tile-v23 a:focus-visible img {
  transform: scale(1.035);
}

.work-tile-v23 > a > div {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.35rem 0.85rem;
  padding-top: 0.95rem;
  border-top: 1px solid rgba(255,255,255,0.21);
}

.work-tile-v23 > a > div > span {
  grid-row: 1 / span 3;
  color: var(--v23-lime);
  font: 800 0.67rem/1 ui-monospace, monospace;
}

.work-tile-v23 h3 {
  margin: 0;
  color: #fff;
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(1.65rem, 2.5vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.work-tile-v23 p {
  margin: 0.25rem 0 0;
  color: rgba(248,246,240,0.65);
  font-size: 0.94rem;
  line-height: 1.7;
}

.work-tile-v23 b {
  margin-top: 0.45rem;
  color: #fff;
  font-size: 0.78rem;
}

.work-tile-v23--game > a > div { border-top-color: #83bd71; }
.work-tile-v23--editorial > a > div { border-top-color: #d6b467; }
.work-tile-v23--brand > a > div { border-top-color: #55b3dc; }
.work-tile-v23--product > a > div { border-top-color: #8d82ff; }
.work-tile-v23--character > a > div { border-top-color: #f28a68; }
.work-tile-v23--film > a > div { border-top-color: #a7bdcf; }
.work-tile-v23--tea > a > div { border-top-color: #9da877; }
.work-tile-v23--outdoor > a > div { border-top-color: #f06d70; }

.work-index-link-v23 {
  margin: clamp(52px, 7vw, 92px) 0 0;
  text-align: right;
}

.work-index-link-v23 a {
  color: #fff;
  text-underline-offset: 0.32em;
}

.about-v23 {
  padding: var(--v23-section) 0;
  background: var(--v23-paper-soft);
}

.about-v23__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(300px, 0.72fr);
  gap: clamp(36px, 8vw, 130px);
}

.about-v23 h2 {
  margin: 1rem 0 0;
  color: var(--v23-text);
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(3rem, 5.5vw, 5.8rem);
  line-height: 1.02;
  letter-spacing: -0.065em;
}

.about-v23__copy {
  align-self: end;
}

.about-v23__copy p {
  color: var(--v23-muted);
  font-size: 1.04rem;
  line-height: 1.92;
}

.about-v23__copy a {
  display: inline-block;
  margin-top: 1.1rem;
  color: var(--v23-text);
  font-weight: 800;
  text-underline-offset: 0.32em;
}

.about-v23__steps {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: clamp(46px, 7vw, 86px) 0 0;
  padding: 0;
  border: 1px solid var(--v23-line);
  background: var(--v23-line);
  list-style: none;
}

.about-v23__steps li {
  min-height: 170px;
  padding: clamp(20px, 3vw, 34px);
  display: grid;
  align-content: space-between;
  gap: 1.4rem;
  background: var(--v23-paper);
}

.about-v23__steps span {
  color: var(--v23-blue);
  font: 800 0.7rem/1 ui-monospace, monospace;
}

.about-v23__steps strong {
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: 1.6rem;
}

.about-v23__steps small {
  color: var(--v23-muted);
  line-height: 1.6;
}

.home-page--v23 .site-footer {
  padding: 0 var(--v23-gutter) 58px;
  color: #fff;
  background: #070c13;
}

.resume-gallery-v23 {
  width: min(100%, 1320px);
  margin-inline: auto;
  padding: var(--v23-section) 0 clamp(72px, 9vw, 120px);
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr);
  gap: clamp(38px, 7vw, 104px);
}

.resume-gallery-v23__intro h2 {
  margin: 1rem 0 1.5rem;
  color: #fff;
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(2.8rem, 4.8vw, 5.3rem);
  line-height: 1.02;
  letter-spacing: -0.06em;
}

.resume-gallery-v23__intro p:last-child {
  color: rgba(255,255,255,0.58);
  line-height: 1.85;
}

.resume-gallery-v23__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  align-self: stretch;
  border: 1px solid rgba(255,255,255,0.17);
  background: rgba(255,255,255,0.17);
}

.resume-sheet-v23 {
  min-height: 350px;
  padding: clamp(24px, 3vw, 38px);
  display: flex;
  flex-direction: column;
  color: #fff;
  background: #111a26;
  text-decoration: none;
  transition: background 180ms ease, color 180ms ease;
}

.resume-sheet-v23--visual:hover,
.resume-sheet-v23--visual:focus-visible {
  color: var(--v23-ink);
  background: var(--v23-lime);
}

.resume-sheet-v23--product:hover,
.resume-sheet-v23--product:focus-visible {
  background: var(--v23-blue);
}

.resume-sheet-v23 small {
  font: 800 0.66rem/1.4 ui-monospace, monospace;
  letter-spacing: 0.1em;
}

.resume-sheet-v23 h3 {
  margin: auto 0 1rem;
  color: inherit;
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(2rem, 3.5vw, 3.8rem);
  line-height: 1;
}

.resume-sheet-v23 p {
  margin: 0;
  color: inherit;
  opacity: 0.67;
  line-height: 1.75;
}

.resume-sheet-v23 span {
  margin-top: 2rem;
  font-weight: 800;
}

.home-page--v23 .footer-inner {
  width: min(100%, 1320px);
  margin-inline: auto;
}

.home-page--v23 .footer-role-title {
  max-width: 900px;
  display: flex;
  flex-wrap: wrap;
  gap: 0.18em 0.35em;
  color: #fff;
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(1.6rem, 2.8vw, 3.2rem);
  line-height: 1.2;
}

@media (max-width: 1120px) {
  .home-hero-v23__grid {
    grid-template-columns: 1fr;
  }

  .home-hero-v23__copy {
    max-width: 850px;
  }

  .home-hero-v23__gallery {
    min-height: 660px;
  }

  .hero-frame--game { width: 72%; }
  .hero-frame--brand { width: 48%; }
  .hero-frame--editorial { left: 4%; width: 52%; }
}

@media (max-width: 900px) {
  .home-page--v23 .site-header .nav-links,
  .project-index-page--v23 .site-header .nav-links,
  .project-page--graphic-v23 .site-header .nav-links {
    color: var(--v23-text);
    background: var(--v23-paper);
  }

  .home-page--v23 .site-header .nav-links a,
  .project-index-page--v23 .site-header .nav-links a,
  .project-page--graphic-v23 .site-header .nav-links a {
    color: var(--v23-text);
  }

  .work-tile-v23,
  .work-tile-v23--wide {
    grid-column: span 6;
  }

  .resume-gallery-v23 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .home-hero-v23 {
    padding: 58px 0 78px;
  }

  .home-hero-v23 h1 {
    font-size: clamp(3.25rem, 15vw, 5.2rem);
    letter-spacing: -0.07em;
  }

  .home-hero-v23__lead {
    font-size: 1rem;
    line-height: 1.8;
  }

  .home-hero-v23__actions {
    display: grid;
  }

  .home-hero-v23__actions .button {
    width: 100%;
  }

  .home-hero-v23__notes {
    grid-template-columns: 1fr;
  }

  .home-hero-v23__notes div {
    padding: 0.8rem 0;
    border-bottom: 1px solid var(--v23-line);
  }

  .home-hero-v23__gallery {
    min-height: 590px;
  }

  .hero-frame { border-width: 7px; }
  .hero-frame--game { top: 0; right: 0; width: 96%; height: 42%; }
  .hero-frame--editorial { bottom: 4%; left: 0; width: 66%; height: 38%; }
  .hero-frame--brand { right: 0; bottom: 0; width: 51%; height: 43%; }

  .section-heading-v23,
  .about-v23__grid {
    grid-template-columns: 1fr;
  }

  .section-heading-v23 h2 {
    font-size: clamp(2.75rem, 12vw, 4.7rem);
  }

  .work-grid-v23 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 54px;
  }

  .work-tile-v23,
  .work-tile-v23--wide {
    grid-column: 1;
  }

  .work-tile-v23 figure,
  .work-tile-v23--wide figure,
  .work-tile-v23--tall figure {
    aspect-ratio: 4 / 3;
  }

  .about-v23__steps {
    grid-template-columns: 1fr;
  }

  .about-v23__steps li {
    min-height: 138px;
  }

  .resume-gallery-v23__cards {
    grid-template-columns: 1fr;
  }

  .resume-sheet-v23 {
    min-height: 290px;
  }

  .home-page--v23 .site-footer {
    padding-inline: var(--v23-gutter);
  }
}

@media (max-width: 390px) {
  :root { --v23-gutter: 18px; }
  .home-hero-v23 h1 { font-size: 3.1rem; }
  .home-hero-v23__gallery { min-height: 520px; }
  .hero-frame span { font-size: 0.56rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-frame,
  .work-tile-v23 img,
  .resume-sheet-v23 {
    transition: none;
  }
}

/* Brand worlds: curated, web-native storytelling. The legacy PDF-first sections
   remain in source for rollback, but are no longer part of the reading path. */
.project-page--graphic-v23 .brand-story-v23 ~ .project-hero--v22,
.project-page--graphic-v23 .brand-story-v23 ~ .case-section-v22,
.project-page--graphic-v23 .brand-story-v23 ~ .project-pagination {
  display: none;
}

.project-page--graphic-v23 .site-footer {
  color: #fff;
  background: #080d14;
}

.brand-story-v23 {
  background: var(--v23-paper);
}

.brand-hero-v23 {
  padding: clamp(80px, 9vw, 140px) 0 clamp(76px, 9vw, 132px);
  color: #f8f5ed;
  background:
    radial-gradient(circle at 74% 28%, rgba(65, 98, 235, 0.42), transparent 28%),
    linear-gradient(150deg, #0b111a 0%, #111a27 58%, #071524 100%);
}

.brand-hero-v23__grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.65fr) minmax(500px, 1.15fr);
  gap: clamp(48px, 7vw, 110px);
  align-items: center;
}

.brand-hero-v23__copy h1 {
  margin: 1rem 0 2rem;
  color: #fff;
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(4rem, 6.8vw, 7.4rem);
  line-height: 0.94;
  letter-spacing: -0.075em;
}

.brand-hero-v23__copy h1 em {
  color: #b8ff42;
  font-style: normal;
}

.brand-hero-v23__copy > p:last-of-type {
  max-width: 560px;
  color: rgba(248,245,237,0.67);
  font-size: 1.05rem;
  line-height: 1.9;
}

.brand-hero-v23__copy > a {
  display: inline-block;
  margin-top: 1.6rem;
  color: #fff;
  font-weight: 800;
  text-underline-offset: 0.35em;
}

.brand-hero-v23__mosaic {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 10px;
  height: clamp(570px, 46vw, 680px);
  min-width: 0;
}

.brand-hero-v23__mosaic figure {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: #233149;
}

.brand-hero-v23__mosaic figure:first-child {
  grid-row: span 2;
}

.brand-hero-v23__mosaic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 600ms cubic-bezier(.2,.65,.2,1);
}

.brand-hero-v23__mosaic figure:hover img {
  transform: scale(1.035);
}

.brand-hero-v23__mosaic figcaption {
  position: absolute;
  right: 8px;
  bottom: 8px;
  padding: 0.45rem 0.55rem;
  color: #fff;
  background: rgba(5,10,17,0.82);
  font: 800 0.6rem/1.2 ui-monospace, monospace;
  letter-spacing: 0.08em;
}

.brand-jump-v23 {
  position: sticky;
  top: 64px;
  z-index: 14;
  border-bottom: 1px solid var(--v23-line);
  background: rgba(242,239,231,0.94);
  backdrop-filter: blur(14px);
}

.brand-jump-v23 .v23-shell {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-block: 0;
}

.brand-jump-v23 a {
  padding: 1.05rem 0.8rem;
  border-left: 1px solid var(--v23-line);
  color: var(--v23-text);
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}

.brand-jump-v23 a:last-child { border-right: 1px solid var(--v23-line); }
.brand-jump-v23 a:hover,
.brand-jump-v23 a:focus-visible { color: #fff; background: var(--v23-blue); }
.brand-jump-v23 span { margin-right: 0.5rem; font: 800 0.65rem/1 ui-monospace, monospace; }

.brand-world-v23 {
  --world-bg: #edf0df;
  --world-ink: #183827;
  --world-accent: #dc793b;
  scroll-margin-top: 122px;
  padding: clamp(96px, 12vw, 180px) 0;
  color: var(--world-ink);
  background: var(--world-bg);
}

.brand-world-v23--mushroom { --world-bg: #ead6bb; --world-ink: #452117; --world-accent: #b94124; }
.brand-world-v23--jingjing { --world-bg: #71c6ea; --world-ink: #071c58; --world-accent: #ffef5d; }
.brand-world-v23--space { --world-bg: #102e76; --world-ink: #fff8df; --world-accent: #ff773d; }

.brand-world-v23__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(300px, 0.56fr);
  gap: 1.2rem clamp(40px, 8vw, 130px);
  align-items: end;
  margin-bottom: clamp(66px, 9vw, 120px);
}

.brand-world-v23__intro .eyebrow {
  grid-column: 1 / -1;
  color: var(--world-accent);
}

.brand-world-v23__intro h2 {
  margin: 0;
  color: var(--world-ink);
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(3.5rem, 6.5vw, 7rem);
  line-height: 0.98;
  letter-spacing: -0.07em;
}

.brand-world-v23__intro > p:not(.eyebrow) {
  margin: 0;
  font-size: 1.04rem;
  line-height: 1.92;
}

.brand-world-v23__intro ul {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.brand-world-v23__intro li {
  padding: 0.5rem 0.7rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 800;
}

.brand-manifesto-v23 {
  overflow: hidden;
  margin: 0 0 clamp(62px, 8vw, 110px);
  border-block: 1px solid currentColor;
}

.brand-manifesto-v23 p {
  margin: 0;
  color: var(--world-ink);
  font: 900 clamp(4.5rem, 13vw, 12rem)/0.78 Arial, sans-serif;
  letter-spacing: -0.085em;
  white-space: nowrap;
}

.brand-manifesto-v23 p:nth-child(2) { color: transparent; -webkit-text-stroke: 2px var(--world-ink); text-align: right; }

.brand-gallery-v23 {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(18px, 2.6vw, 38px);
  align-items: start;
}

.brand-gallery-v23 figure {
  grid-column: span 5;
  min-width: 0;
  margin: 0;
}

.brand-gallery-v23 figure:nth-child(even) { grid-column: 7 / span 6; }
.brand-gallery-v23 figure:nth-child(3) { grid-column: 2 / span 5; }
.brand-gallery-v23 .brand-shot-v23--hero { grid-column: span 7; }
.brand-gallery-v23 .brand-shot-v23--wide { grid-column: 1 / -1; }

.brand-gallery-v23 img {
  width: 100%;
  min-height: clamp(320px, 44vw, 670px);
  max-height: 760px;
  object-fit: cover;
  background: rgba(255,255,255,0.36);
  box-shadow: 0 26px 60px rgba(22,24,28,0.14);
}

.brand-gallery-v23--outdoors img,
.brand-gallery-v23--mushroom img { aspect-ratio: 0.707; }
.brand-gallery-v23--jingjing img { aspect-ratio: 1.414; }
.brand-gallery-v23--space img { aspect-ratio: 1.472; }

.brand-gallery-v23 .brand-shot-v23--wide img {
  aspect-ratio: 16 / 8.6;
  min-height: 0;
}

.brand-gallery-v23 figcaption {
  max-width: 620px;
  padding: 0.85rem 0;
  border-top: 1px solid currentColor;
  font-size: 0.82rem;
  line-height: 1.65;
}

.brand-decision-v23 {
  display: grid;
  grid-template-columns: 0.78fr 0.92fr;
  gap: 2rem clamp(42px, 8vw, 120px);
  margin: clamp(80px, 11vw, 150px) 0 0;
  padding: clamp(30px, 5vw, 62px);
  border: 1px solid currentColor;
}

.brand-decision-v23 small { color: var(--world-accent); font: 800 0.67rem/1.3 ui-monospace, monospace; letter-spacing: 0.1em; }
.brand-decision-v23 h3 { margin: 1rem 0 0; color: inherit; font: 700 clamp(2rem, 4vw, 4.4rem)/1.02 "Songti SC", serif; letter-spacing: -0.05em; }
.brand-decision-v23 > p { margin: 0; font-size: 1rem; line-height: 1.9; }
.brand-decision-v23 ol { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 1.5rem 0 0; padding: 1px; background: currentColor; list-style: none; }
.brand-decision-v23 li { display: grid; gap: 0.65rem; min-height: 130px; padding: 1.25rem; color: var(--world-ink); background: var(--world-bg); }
.brand-decision-v23 li span { font-size: 0.78rem; line-height: 1.6; }

.mushroom-recipe-v23 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-bottom: clamp(70px, 9vw, 120px);
  padding: 1px;
  color: #f8e8cd;
  background: #4a2115;
}

.mushroom-recipe-v23 > div {
  display: grid;
  min-height: 280px;
  padding: clamp(22px, 3vw, 40px);
  background: #4a2115;
}

.mushroom-recipe-v23 span { font: 800 0.68rem/1 ui-monospace, monospace; }
.mushroom-recipe-v23 strong { align-self: center; font: 700 clamp(4rem, 8vw, 8rem)/1 "Songti SC", serif; text-align: center; }
.mushroom-recipe-v23 small { align-self: end; text-align: center; }

.brand-quote-v23 {
  max-width: 1120px;
  margin: clamp(80px, 11vw, 150px) auto 0;
  padding: 0;
  border: 0;
  color: var(--world-ink);
  font: 700 clamp(2.5rem, 5vw, 5.4rem)/1.15 "Songti SC", serif;
  letter-spacing: -0.05em;
  text-align: center;
}

.brand-flow-v23 {
  display: flex;
  gap: 0.9rem;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 0 clamp(70px, 9vw, 120px);
  padding: 1.1rem;
  border: 1px solid currentColor;
  font-weight: 800;
}

.brand-flow-v23 span,
.brand-flow-v23 strong { padding: 0.65rem 0.9rem; background: rgba(255,255,255,0.18); }
.brand-flow-v23 strong { color: var(--world-ink); background: var(--world-accent); }
.brand-flow-v23 i { font-style: normal; }

.jingjing-scale-v23 {
  display: grid;
  margin-top: clamp(80px, 11vw, 150px);
  text-align: center;
}

.jingjing-scale-v23 span { font: 800 0.78rem/1.2 ui-monospace, monospace; letter-spacing: 0.12em; }
.jingjing-scale-v23 strong { color: var(--world-ink); font: 900 clamp(4.3rem, 12vw, 12rem)/0.9 Arial, sans-serif; letter-spacing: -0.085em; }
.jingjing-scale-v23 p { margin: 1.5rem auto 0; line-height: 1.8; }

.space-orbit-v23 {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin: 0 0 clamp(70px, 9vw, 120px);
  padding: 1px;
  border-radius: 999px;
  overflow: hidden;
  color: #102e76;
  background: #fff8df;
  list-style: none;
}

.space-orbit-v23 li { display: grid; gap: 1rem; min-height: 250px; padding: clamp(24px, 3vw, 40px); background: #fff8df; }
.space-orbit-v23 span { font: 800 0.68rem/1 ui-monospace, monospace; }
.space-orbit-v23 strong { align-self: center; font-size: clamp(1.2rem, 2vw, 2rem); }
.space-orbit-v23 small { align-self: end; line-height: 1.6; }

.brand-archive-v23 {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto auto;
  gap: 0.8rem;
  align-items: end;
  margin-top: clamp(76px, 10vw, 140px);
  padding-top: 1.5rem;
  border-top: 1px solid currentColor;
}

.brand-archive-v23 small { font: 800 0.67rem/1.3 ui-monospace, monospace; letter-spacing: 0.1em; }
.brand-archive-v23 p { max-width: 520px; margin: 0.45rem 0 0; font-size: 0.82rem; line-height: 1.6; }
.brand-archive-v23 button {
  min-height: 48px;
  padding: 0.8rem 1rem;
  border: 1px solid currentColor;
  color: var(--world-ink);
  background: transparent;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
}
.brand-archive-v23 button:hover,
.brand-archive-v23 button:focus-visible { color: var(--world-bg); background: var(--world-ink); }

.brand-end-v23 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  padding-top: clamp(70px, 9vw, 110px);
  padding-bottom: clamp(70px, 9vw, 110px);
  background: var(--v23-line);
}

.brand-end-v23 a { display: grid; gap: 0.6rem; padding: clamp(22px, 3vw, 38px); color: var(--v23-text); background: var(--v23-paper); text-decoration: none; }
.brand-end-v23 a:hover,
.brand-end-v23 a:focus-visible { color: #fff; background: var(--v23-blue); }
.brand-end-v23 small { opacity: 0.68; }

@media (max-width: 980px) {
  .brand-hero-v23__grid { grid-template-columns: 1fr; }
  .brand-hero-v23__copy { max-width: 760px; }
  .brand-world-v23__intro { grid-template-columns: 1fr; }
  .brand-world-v23__intro > *,
  .brand-world-v23__intro ul { grid-column: 1; }
  .brand-archive-v23 { grid-template-columns: 1fr 1fr; }
  .brand-archive-v23 > div { grid-column: 1 / -1; }
  .space-orbit-v23 { grid-template-columns: repeat(2, 1fr); border-radius: 80px; }
}

@media (max-width: 700px) {
  .brand-hero-v23__copy h1 { font-size: clamp(3.6rem, 17vw, 5.5rem); }
  .brand-hero-v23__mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(2, 210px); height: auto; }
  .brand-hero-v23__mosaic figure:first-child { grid-row: auto; }
  .brand-jump-v23 { position: static; }
  .brand-jump-v23 .v23-shell { grid-template-columns: repeat(2, 1fr); }
  .brand-jump-v23 a:nth-child(3),
  .brand-jump-v23 a:nth-child(4) { border-top: 1px solid var(--v23-line); }
  .brand-world-v23 { scroll-margin-top: 68px; }
  .brand-world-v23__intro h2 { font-size: clamp(3.15rem, 15vw, 5rem); }
  .brand-gallery-v23 { grid-template-columns: 1fr; gap: 48px; }
  .brand-gallery-v23 figure,
  .brand-gallery-v23 figure:nth-child(even),
  .brand-gallery-v23 figure:nth-child(3),
  .brand-gallery-v23 .brand-shot-v23--hero,
  .brand-gallery-v23 .brand-shot-v23--wide { grid-column: 1; }
  .brand-gallery-v23 img,
  .brand-gallery-v23 .brand-shot-v23--wide img { min-height: 0; max-height: none; object-fit: contain; }
  .brand-decision-v23 { grid-template-columns: 1fr; padding: 24px; }
  .brand-decision-v23 ol { grid-column: 1; grid-template-columns: 1fr; }
  .mushroom-recipe-v23 { grid-template-columns: 1fr; }
  .mushroom-recipe-v23 > div { min-height: 200px; }
  .brand-flow-v23 { justify-content: flex-start; }
  .brand-flow-v23 i { transform: rotate(90deg); }
  .jingjing-scale-v23 strong { font-size: clamp(3.7rem, 20vw, 7rem); }
  .space-orbit-v23 { grid-template-columns: 1fr; border-radius: 48px; }
  .space-orbit-v23 li { min-height: 180px; }
  .brand-archive-v23 { grid-template-columns: 1fr; }
  .brand-archive-v23 > div { grid-column: 1; }
  .brand-end-v23 { grid-template-columns: 1fr; }
}

/* One-level project index */
.project-index-page--v23 .project-index-v23 ~ .project-hero--v22,
.project-index-page--v23 .project-index-v23 ~ .case-section-v22,
.project-index-page--v23 .project-index-v23 ~ .archive-v22 {
  display: none;
}

.project-index-hero-v23 {
  padding: clamp(82px, 10vw, 150px) 0 clamp(78px, 9vw, 130px);
  background:
    radial-gradient(circle at 88% 18%, rgba(46,89,236,0.12), transparent 25%),
    var(--v23-paper);
}

.project-index-hero-v23 .v23-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.46fr);
  gap: 1.2rem clamp(48px, 8vw, 128px);
  align-items: end;
}

.project-index-hero-v23 .eyebrow { grid-column: 1 / -1; }

.project-index-hero-v23 h1 {
  margin: 0;
  color: var(--v23-text);
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(3.8rem, 7vw, 7.8rem);
  line-height: 0.98;
  letter-spacing: -0.075em;
}

.project-index-hero-v23 h1 em {
  display: block;
  color: var(--v23-blue);
  font-style: normal;
}

.project-index-hero-v23 .v23-shell > div p {
  margin: 0;
  color: var(--v23-muted);
  line-height: 1.9;
}

.project-index-hero-v23 .v23-shell > div a {
  display: inline-block;
  margin-top: 1.4rem;
  color: var(--v23-text);
  font-weight: 800;
  text-underline-offset: 0.32em;
}

.project-index-work-v23 { padding-top: clamp(74px, 9vw, 120px); }

.project-index-page--v23 .work-tile-v23 h2 {
  margin: 0;
  color: #fff;
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(1.65rem, 2.5vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.project-index-note-v23 {
  display: flex;
  gap: 2rem;
  align-items: center;
  justify-content: space-between;
  margin-top: clamp(64px, 8vw, 110px);
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(255,255,255,0.2);
}

.project-index-note-v23 p { max-width: 680px; margin: 0; color: rgba(255,255,255,0.62); line-height: 1.75; }
.project-index-note-v23 a { color: #fff; font-weight: 800; white-space: nowrap; }

.project-index-page--v23 .site-footer {
  color: #fff;
  background: #080d14;
}

@media (max-width: 760px) {
  .project-index-hero-v23 .v23-shell { grid-template-columns: 1fr; }
  .project-index-hero-v23 .eyebrow { grid-column: 1; }
  .project-index-hero-v23 h1 { font-size: clamp(3.2rem, 15vw, 5.4rem); }
  .project-index-note-v23 { align-items: flex-start; flex-direction: column; }
  .project-index-note-v23 a { white-space: normal; }
}
