    /* ─── Reset ──────────────────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { font-size: 16px; -webkit-font-smoothing: antialiased; scroll-behavior: smooth; }

    /* ─── Tokens ─────────────────────────────────────────────── */
    :root {
      --background: #FDFAF6;
      --bg: var(--background);
      --surface1: #F7F2EA;
      --surface2: #F0E9DC;
      --surface3: #ECE5D8;
      --border: #E8E2D8;
      --border-visible: #D8CFC2;
      --text1: #1C1814;
      --text2: #5E5850;
      --text3: #7A746E;
      --text4: #B4ACA4;
      --accent: #A89060;
      --accent-subtle: #FBF6EE;

      --font-display: "Noto Serif SC", "Noto Serif", "Source Han Serif CN", serif;
      --font-body: "Noto Sans SC", "Noto Sans", "Source Han Sans CN", sans-serif;
      --font-label: "Cormorant Garamond", "Garamond", "EB Garamond", serif;

      --text-display: 68px;
      --text-display-sm: 52px;
      --text-heading: 42px;
      --text-subheading: 28px;
      --text-body: 17px;
      --text-body-sm: 15px;
      --text-caption: 13px;
      --text-label: 12px;

      --space-2xs: 2px;
      --space-xs:  4px;
      --space-sm:  8px;
      --space-md:  16px;
      --space-lg:  24px;
      --space-xl:  32px;
      --space-2xl: 48px;
      --space-3xl: 64px;
      --space-4xl: 96px;
      --space-5xl: 128px;

      --ease: cubic-bezier(0.4, 0, 0.2, 1);
      --duration-fast: 200ms;
      --duration-normal: 350ms;
    }

    /* ─── Base ───────────────────────────────────────────────── */
    body {
      background: var(--background);
      color: var(--text1);
      font-family: var(--font-body);
      font-size: var(--text-body);
      line-height: 1.9;
    }

    img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    a {
      color: var(--text2);
      text-decoration: none;
      transition: color var(--duration-fast) var(--ease);
    }
    a:hover { color: var(--accent); }

    /* ─── Navigation ─────────────────────────────────────────── */
    .nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0 var(--space-2xl);
      height: 64px;
      background: rgba(253, 250, 246, 0.92);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      border-bottom: 1px solid var(--border);
      transition: background var(--duration-normal) var(--ease);
    }

    .nav-brand {
      display: flex;
      align-items: baseline;
      gap: 16px;
    }
    .nav-brand-en {
      font-family: var(--font-label);
      font-size: var(--text-label);
      font-weight: 400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--text2);
    }
    .nav-brand-zh {
      font-family: var(--font-body);
      font-size: var(--text-caption);
      color: var(--text3);
      letter-spacing: 0.05em;
    }
    .nav-links {
      display: flex;
      align-items: center;
      gap: var(--space-3xl);
    }
    .nav-links a {
      font-family: var(--font-label);
      font-size: var(--text-label);
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--text3);
      transition: color var(--duration-fast) var(--ease);
    }
    .nav-links a:hover { color: var(--accent); }

    /* ─── Page container ─────────────────────────────────────── */
    .container {
      max-width: 1080px;
      margin: 0 auto;
      padding: 0 var(--space-2xl);
    }

    /* ─── Section base ───────────────────────────────────────── */
    .section { padding: var(--space-4xl) 0; }
    .section-lg { padding: var(--space-4xl) 0; }

    /* ─── Section header ─────────────────────────────────────── */
    .section-header { margin-bottom: var(--space-3xl); }

    .section-label {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: var(--space-lg);
    }
    .section-num {
      font-family: var(--font-label);
      font-size: var(--text-label);
      font-weight: 400;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
    }
    .section-en {
      font-family: var(--font-label);
      font-size: var(--text-label);
      font-weight: 400;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text3);
    }
    .section-heading {
      font-family: var(--font-display);
      font-size: var(--text-heading);
      font-weight: 300;
      line-height: 1.30;
      letter-spacing: -0.01em;
      color: var(--text1);
      margin-bottom: var(--space-lg);
    }
    .section-rule {
      border: none;
      border-top: 1px solid var(--accent);
      opacity: 0.5;
      margin: 0 0 var(--space-xl);
    }
    .section-intro {
      font-family: var(--font-body);
      font-size: var(--text-body);
      color: var(--text2);
      line-height: 1.9;
      max-width: 560px;
    }

    /* ─── Cover ──────────────────────────────────────────────── */
    .cover {
      position: relative;
      height: 100vh;
      min-height: 600px;
      isolation: isolate;
      background-color: #F8F3EA;
      background-image:
        /* edge vignette */
        radial-gradient(ellipse 140% 120% at 50% 50%, transparent 42%, rgba(130,100,60,0.045) 72%, rgba(90,68,40,0.08) 100%),
        /* soft light bloom upper center */
        radial-gradient(ellipse 72% 58% at 48% 18%, rgba(255,253,248,0.52) 0%, transparent 68%),
        /* photo base */
        url('../images/cover1.png');
      background-size: auto, auto, cover;
      background-position: center, center, center;
    }
    /* paper grain — fractal noise, near-invisible, for tactile depth */
    .cover::before {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      opacity: 0.040;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.68' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23g)'/%3E%3C/svg%3E");
      background-repeat: repeat;
      background-size: 180px 180px;
    }
    /* cover entrance — imperceptible drift, opacity only reads as "appears" */
    @keyframes coverReveal {
      from { opacity: 0; transform: translateY(8px); }
      to   { opacity: 1; transform: translateY(0);   }
    }
    @keyframes coverRevealFade {
      from { opacity: 0; }
      to   { opacity: 0.45; }
    }
    @media (prefers-reduced-motion: reduce) {
      .cover-title-en, .cover-title-zh, .cover-rule,
      .cover-tagline, .cover-scroll { animation: none !important; }
    }

    .cover-content {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: var(--space-2xl);
      z-index: 2;
    }
    .cover-title-en {
      font-family: var(--font-label);
      font-size: var(--text-display);
      font-weight: 400;
      letter-spacing: 0.10em;
      text-transform: uppercase;
      color: var(--text1);
      line-height: 1.1;
      margin-bottom: var(--space-lg);
      animation: coverReveal 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0s both;
    }
    .cover-title-zh {
      font-family: var(--font-display);
      font-size: var(--text-subheading);
      font-weight: 300;
      letter-spacing: 0.15em;
      color: var(--accent);
      margin-bottom: var(--space-3xl);
      animation: coverReveal 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.14s both;
    }
    .cover-rule {
      width: 48px;
      border: none;
      border-top: 1px solid var(--accent);
      margin: 0 auto var(--space-xl);
      animation: coverReveal 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.26s both;
    }
    .cover-tagline {
      font-family: var(--font-label);
      font-size: 13px;
      font-style: italic;
      letter-spacing: 0.14em;
      color: var(--text3);
      animation: coverReveal 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.36s both;
    }
    .cover-scroll {
      position: absolute;
      bottom: var(--space-2xl);
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: var(--space-sm);
      opacity: 0.45;
      z-index: 2;
      animation: coverRevealFade 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.55s both;
    }
    .cover-scroll-line {
      width: 1px;
      height: 40px;
      background: var(--border-visible);
    }
    .cover-scroll-label {
      font-family: var(--font-label);
      font-size: 10px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text2);
    }

    /* ─── Philosophy — brand statement + dual modules ───────── */
    .phil-statement {
      max-width: 680px;
      margin-bottom: 100px;
      padding-top: var(--space-lg);
    }
    .phil-eyebrow {
      font-family: var(--font-label);
      font-size: 13px;
      font-weight: 400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--accent);
      display: block;
      margin-bottom: var(--space-xl);
    }
    .phil-title {
      font-family: var(--font-display);
      font-size: clamp(32px, 2.6vw, 34px);
      font-weight: 400;
      line-height: 1.5;
      letter-spacing: 0 em;
      color: var(--text1);
      margin-bottom: var(--space-xl);
    }
    .phil-statement-body {
      font-size: 16px;
      color: var(--text1);
      line-height: 1.95;
      max-width: 560px;
    }
    .phil-statement-core {
      font-size: 14px;
      font-family: var(--font-label);
      letter-spacing: 0.04em;
      color: var(--text3);
      line-height: 1.85;
      max-width: 560px;
      margin-top: var(--space-lg);
    }

    /* Modules grid */
    .phil-modules {
      display: grid;
      grid-template-columns: 1fr 1fr;
      border-top: 1px solid var(--border-visible);
    }
    .phil-module {
      padding: var(--space-2xl) var(--space-3xl) var(--space-2xl) 0;
      border-right: 1px solid var(--border-visible);
      cursor: default;
      transition: opacity 400ms ease;
    }
    .phil-module:last-child {
      border-right: none;
      padding-left: var(--space-3xl);
      padding-right: 0;
    }

    /* Desktop hover: fade inactive sibling */
    @media (hover: hover) {
      .phil-modules:has(.phil-module:hover) .phil-module:not(:hover) {
        opacity: 0.25;
      }
    }
    /* Mobile tap: fade inactive sibling via JS class */
    .phil-modules.has-active .phil-module:not(.is-active) {
      opacity: 0.25;
    }

    .phil-mod-en {
      font-family: var(--font-label);
      font-size: var(--text-label);
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text3);
      display: block;
      margin-bottom: var(--space-lg);
      transition: color 300ms ease, letter-spacing 320ms ease;
    }
    .phil-module:hover .phil-mod-en,
    .phil-module.is-active .phil-mod-en {
      color: var(--accent);
      letter-spacing: 0.25em;
    }

    .phil-mod-zh {
      font-family: var(--font-display);
      font-size: clamp(30px, 3.2vw, 42px);
      font-weight: 300;
      line-height: 1.25;
      color: var(--text1);
      margin-bottom: var(--space-lg);
      transition: transform 380ms cubic-bezier(0.22, 0.61, 0.36, 1);
    }
    .phil-module:hover .phil-mod-zh,
    .phil-module.is-active .phil-mod-zh {
      transform: translateX(6px);
    }

    .phil-mod-desc {
      font-size: 16px;
      color: var(--text3);
      line-height: 1.9;
      transition: color 300ms ease;
    }
    .phil-module:hover .phil-mod-desc,
    .phil-module.is-active .phil-mod-desc {
      color: var(--text2);
    }

    /* Detail reveal */
    .phil-mod-detail {
      overflow: hidden;
      max-height: 0;
      opacity: 0;
      margin-top: 0;
      transition:
        max-height 500ms cubic-bezier(0.22, 0.61, 0.36, 1),
        opacity 350ms ease 80ms,
        margin-top 400ms ease;
    }
    .phil-module:hover .phil-mod-detail,
    .phil-module.is-active .phil-mod-detail {
      max-height: 260px;
      opacity: 1;
      margin-top: var(--space-xl);
    }

    .phil-detail-list {
      list-style: none;
      padding: var(--space-lg) 0 0;
      margin: 0;
      border-top: 1px solid var(--border);
    }
    .phil-detail-list li {
      font-family: var(--font-body);
      font-size: 16px;
      letter-spacing: 0.02em;
      color: var(--text2);
      padding: var(--space-md) 0;
      border-bottom: 1px solid var(--border);
      display: flex;
      align-items: baseline;
      gap: 12px;
      line-height: 1.65;
    }
    .phil-detail-list li::before {
      content: '—';
      color: var(--accent);
      opacity: 0.7;
      flex-shrink: 0;
      font-size: 12px;
    }

    /* ─── Philosophy section background ─────────────────────── */
    #philosophy {
      background-image:
        linear-gradient(
          rgba(253,250,246,0.78) 0%,
          rgba(252,249,244,0.68) 45%,
          rgba(253,250,246,0.78) 100%
        ),
        url('../images/01.jpg');
      background-size: cover;
      background-position: center 30%;
      background-repeat: no-repeat;
    }
    #advantage {
      background-color: var(--surface1);
      position: relative;
      overflow: hidden;
    }
    #advantage::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: url('../images/02.jpg');
      background-size: min(760px, 58vw) auto;
      background-position: right -3vw top -2rem;
      background-repeat: no-repeat;
      opacity: 0.24;
      z-index: 0;
      pointer-events: none;
    }
    #advantage > * {
      position: relative;
      z-index: 1;
    }

    /* ─── Value Return ──────────────────────────────────────── */
    .vr-wrap {
      display: grid;
      grid-template-columns: 420px 1fr;
      gap: 0;
      align-items: stretch;
      width: min(1180px, calc(100% - 2 * var(--space-3xl)));
      margin: var(--space-5xl) auto 0;
      border-top:none;
    }
     .vr-image {
      overflow: hidden;
      min-height: 520px;
    }
    .vr-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: center;
     display: block;
     opacity: 0.50;
}
    .vr-text {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: var(--space-5xl) var(--space-3xl);
    }
    .vr-label {
      font-family: var(--font-label);
      font-size: 13px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: var(--space-lg);
    }
    .vr-heading {
      font-family: var(--font-display);
      font-size: 48px;
      font-weight: 300;
      line-height: 1.35;
      letter-spacing: -0.01em;
      color: var(--text1);
      margin: 0 0 var(--space-xl);
    }
    .vr-number {
      font-family: var(--font-label);
      font-size: clamp(48px, 7vw, 82px);
      font-weight: 400;
      line-height: 1;
      letter-spacing: -0.01em;
      color: var(--accent);
      margin: 0 0 var(--space-xl);
    }
    .vr-divider {
      display:none;
    }
    .vr-body {
      font-size: var(--text-body);
      line-height: 1.9;
      color: var(--text2);
      max-width: 660px;
    }
    @media (max-width: 900px) {
      .vr-wrap { grid-template-columns: 1fr; }
      .vr-image { min-height: 280px; height: 56vw; }
      .vr-text { padding: var(--space-3xl) var(--space-xl); }
      .vr-number { font-size: clamp(56px, 14vw, 110px); white-space: nowrap; }
    }

    /* ─── Full-bleed image band ──────────────────────────────── */
    .image-band {
      width: 100%;
      overflow: hidden;
    }
    .image-band img {
      width: 100%;
      height: 560px;
      object-fit: cover;
    }
    .image-band-tall img {
      height: 700px;
    }

    /* ─── Scope grid ─────────────────────────────────────────── */
    .scope-hero {
      display: grid;
      grid-template-columns: 52% 1fr;
      gap: 0;
      margin-top: 10px;
      margin-bottom: 0;
      min-height: 680px;
    }
    .scope-hero-image {
      overflow: hidden;
      position: relative;
    }
    /* Top-edge fade only — bottom and middle remain fully clear */
    .scope-hero-image::after {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 1;
      background: linear-gradient(
        to top,
        transparent 0%,
        transparent 78%,
        rgba(253,250,246,0.60) 90%,
        rgba(253,250,246,1) 100%
      );
    }
    .scope-hero-text {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: var(--space-5xl) var(--space-3xl) var(--space-5xl) var(--space-3xl);
      background: transparent;
    }
    .scope-hero-label {
      font-family: var(--font-label);
      font-size: 13px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: var(--space-lg);
    }
    .scope-hero-heading {
      font-family: var(--font-display);
      font-size: 48px;
      font-weight: 300;
      line-height: 1.35;
      letter-spacing: -0.01em;
      color: var(--text1);
      margin-bottom: var(--space-xl);
    }
    .scope-hero-body {
      font-size: 17px;
      color: var(--text2);
      line-height: 1.9;
      max-width: 440px;
    }

  .scope-hero-body-second {
  margin-top: 36px;
    }

    /* ─── Our Scope: three-part structure ───────────────────── */
    /* Remove section-lg top/bottom padding — Part 1 is full-bleed */
    #scope { padding: 0; }

    /* Part 1 — Chapter opener */
    .scope-chapter {
      position: relative;
      width: 100%;
      height: 72vh;
      min-height: 540px;
      overflow: hidden;
    }
    .scope-chapter > img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 42%;
      z-index: 0;
    }
    .scope-chapter-overlay { 
       position: absolute; 
  inset: 0; 
  z-index: 1; 
  background:
    radial-gradient(
      circle at 10% 82%,
      rgba(28,24,20,0.68) 0%,
      rgba(28,24,20,0.42) 18%,
      rgba(28,24,20,0.18) 34%,
      transparent 50%
    );
}
    .scope-chapter-text {
      position: absolute;
      bottom: 11vh;
      left: 7vw;
      right: 7vw;
      max-width: 520px;
      padding: 0;
      z-index: 2;
    }
    .scope-chapter-text .section-label {
      margin-bottom: 8px;
    }
    .scope-chapter-text .section-num,
    .scope-chapter-text .section-en {
      color: rgba(253,250,246,0.65);
      text-shadow: 0 1px 8px rgba(28,24,20,0.38);
    }
    .scope-chapter-text .section-heading {
      color: #FDFAF6;
      margin-bottom: 0;
      text-shadow: 0 1px 22px rgba(28,24,20,0.55), 0 2px 6px rgba(28,24,20,0.28);
    }
    .scope-chapter-text .section-rule {
      display: none;
    }
    .scope-chapter-text .section-intro {
      color: rgba(253,250,246,0.82);
      font-size: 14px;
      line-height: 1.75;
      margin-top: 12px;
      text-shadow: 0 1px 12px rgba(28,24,20,0.48);
    }

    /* Part 3 — Modules: 05.jpg atmospheric background */
    .scope-modules {
      background-color: var(--background);
      background-image:
        linear-gradient(
          rgba(253,250,246,0.88) 0%,
          rgba(252,249,244,0.78) 45%,
          rgba(253,250,246,0.88) 100%
        ),
        url('../images/05.jpg');
      background-size: cover;
      background-position: center 85%;
      padding: var(--space-3xl) 0;
    }

    .scope-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      border-top: 1px solid var(--border-visible);
      padding-top: var(--space-2xl);
    }
    .scope-cell {
      padding: var(--space-3xl) var(--space-xl) var(--space-3xl) 0;
      border-bottom: 1px solid var(--border);
      transition: opacity 350ms ease;
      cursor: default;
    }
    .scope-cell:nth-child(even) {
      padding-left: var(--space-xl);
      padding-right: 0;
    }
    @media (hover: hover) {
      .scope-grid:has(.scope-cell:hover) .scope-cell:not(:hover) {
        opacity: 0.35;
      }
    }
    .scope-cell:hover .scope-cell-body {
      color: var(--text1);
    }
    .scope-cell-body {
      transition: color 300ms ease;
    }
    .scope-cell-num {
      font-family: var(--font-label);
      font-size: 13px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: var(--space-md);
    }
    .scope-cell-en {
      font-family: var(--font-label);
      font-size: 13px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--text3);
      margin-bottom: var(--space-sm);
    }
    .scope-cell-title {
      font-family: var(--font-display);
      font-size: 26px;
      font-weight: 400;
      color: var(--text1);
      line-height: 1.5;
      margin-bottom: var(--space-md);
    }
    .scope-cell-body {
      font-size: 16px;
      color: var(--text2);
      line-height: 1.9;
    }

    /* ─── Advantage section ──────────────────────────────────── */
    /* ─── Advantage modules ─────────────────────────────────── */
   .adv-modules {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 760px;
  margin: var(--space-3xl) auto 0;
}

.adv-module {
  width: 100%;
  padding: var(--space-2xl) 0;
  border-top: 1px solid var(--border);
  cursor: default;
  transition: opacity 380ms ease;
}

.adv-module:last-child {
  border-bottom: 1px solid var(--border);
}
    @media (hover: hover) {
      .adv-modules:has(.adv-module:hover) .adv-module:not(:hover) {
        opacity: 0.25;
      }
    }
    .adv-modules.has-active .adv-module:not(.is-active) {
      opacity: 0.25;
    }

    .adv-mod-en {
      font-family: var(--font-label);
      font-size: 13px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text3);
      display: block;
      margin-bottom: 5px;
      transition: color 280ms ease, letter-spacing 280ms ease;
    }
    .adv-module:hover .adv-mod-en,
    .adv-module.is-active .adv-mod-en {
      color: var(--accent);
      letter-spacing: 0.24em;
    }
    .adv-mod-zh {
      font-family: var(--font-display);
      font-size: 24px;
      font-weight: 400;
      color: var(--text1);
      line-height: 1.3;
      margin-bottom: var(--space-lg);
    }

    /* ── Tax comparison two-column (Module 1) */
    .tax-statement {
      font-size: 16px;
      color: var(--text2);
      line-height: 1.85;
      margin-bottom: var(--space-2xl);
      max-width: 500px;
    }
    /* Flat 5-row grid — each row is 3 direct children: left | sep | right.
       Grid auto-places them in order, so row heights are shared and
       elements on both sides are guaranteed to align perfectly. */
    .tax-compare {
      display: grid;
      grid-template-columns: 1fr 1px 1fr;
      grid-template-rows: auto auto auto auto auto;
      column-gap: var(--space-4xl);
      row-gap: 0;
      margin-bottom: var(--space-xl);
      align-items: start;
    }
    /* Continuous 1px separator — one cell per row, all get same background */
    .tax-sep {
      background: var(--border-visible);
      align-self: stretch;
    }
    /* Numbers-row separator carries the delta, centered to the number height */
    .tax-sep--num {
      background: var(--border-visible);
      align-self: stretch;
      position: relative;
    }
    .tax-delta {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background: var(--surface1);
      padding: 6px 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .tax-delta-num {
      font-family: var(--font-label);
      font-size: 40px;
      letter-spacing: 0.06em;
      color: var(--text2);
      line-height: 1;
      white-space: nowrap;
      transform: translateY(-6px);
    }
    .tax-col-label {
      font-family: var(--font-label);
      font-size: 13px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text3);
      display: block;
      text-align: center;
      margin-bottom: 6px;
      white-space: nowrap;
    }
    .tax-col-note {
      font-family: var(--font-label);
      font-size: 11px;
      font-style: italic;
      letter-spacing: 0.02em;
      color: var(--text4);
      display: block;
      text-align: center;
      min-height: 1.4em;
      margin-bottom: var(--space-md);
    }
    .tax-num {
      font-family: var(--font-label);
      font-size: 64px;
      font-weight: 400;
      line-height: 1;
      letter-spacing: -0.02em;
      color: var(--text3);
      margin: 0 auto 28px;
      text-align: center;
      display: block;
      transition: color 300ms ease;
    }
    .tax-num--accent { color: var(--accent); }
    .tax-col-sub {
      font-size: 14px;
      color: var(--text3);
      line-height: 1.5;
       text-align: center;
       margin: 0 auto 28px;
    }
    .tax-col-breakdown {
      font-family: var(--font-label);
      font-size: 12px;
      letter-spacing: 0.08em;
      color: var(--text4);
      margin-top: 3px;
    }
    .tax-savings {
      font-size: 16px;
      color: var(--text2);
      line-height: 1.8;
      margin-bottom: var(--space-md);
    }
    .tax-compliance {
      font-size: 14px;
      color: var(--text3);
      line-height: 1.85;
      font-style: italic;
    }
    .tax-scope {
      display: flex;
      gap: var(--space-3xl);
      padding-top: var(--space-lg);
      border-top: 1px solid var(--border);
    }
    .tax-scope-col {
      display: flex;
      flex-direction: column;
      gap: var(--space-sm);
    }
    .tax-scope-tag {
      font-family: var(--font-label);
      font-size: 12px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      padding: 2px 7px;
      border: 1px solid;
      display: inline-block;
      width: fit-content;
    }
    .tax-scope-tag--ok { color: var(--accent); border-color: var(--accent); }
    .tax-scope-tag--no { color: var(--text3); border-color: var(--border-visible); }
    .tax-scope-text {
      font-size: 15px;
      color: var(--text3);
      line-height: 1.6;
    }

    /* ── Dual flow diagram (Module 2 — RMB) */
    .adv-flows {
      display: flex;
      align-items: stretch;
    }
    .adv-flow-col {
      flex: 1;
      padding-right: var(--space-xl);
    }
    .adv-flow-col:last-child {
      padding-right: 0;
      padding-left: var(--space-xl);
    }
    .adv-flow-col-label {
      font-family: var(--font-label);
      font-size: 11px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text3);
      margin-bottom: var(--space-md);
      transition: color 280ms ease;
    }
    .adv-module:hover .adv-flow-col-label,
    .adv-module.is-active .adv-flow-col-label { color: var(--text2); }

    .adv-flow-chain {
      display: flex;
      flex-direction: column;
      border-left: 1px solid var(--border);
      padding-left: 14px;
      transition: border-color 320ms ease;
    }
    .adv-module:hover .adv-flow-chain,
    .adv-module.is-active .adv-flow-chain { border-left-color: var(--accent); }

    .adv-flow-step {
      font-size: 14px;
      color: var(--text2);
      line-height: 1.4;
      padding: 5px 0;
      position: relative;
      transition: color 280ms ease;
    }
    .adv-flow-step::before {
      content: '';
      position: absolute;
      left: -18px;
      top: calc(50% - 0.5px);
      width: 5px;
      height: 1px;
      background: var(--border);
      transition: background 320ms ease;
    }
    .adv-module:hover .adv-flow-step,
    .adv-module.is-active .adv-flow-step { color: var(--text1); }
    .adv-module:hover .adv-flow-step::before,
    .adv-module.is-active .adv-flow-step::before { background: var(--accent); }

    .adv-flow-sep {
      width: 1px;
      background: var(--border-visible);
      flex-shrink: 0;
    }

    /* ── Chain diagram (Modules 3 & 4) */
    .adv-chain {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
    }
    .adv-chain-entities {
      display: flex;
      align-items: center;
      gap: var(--space-md);
      flex-wrap: wrap;
    }
    .adv-chain-tag {
      font-family: var(--font-label);
      font-size: 12px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text2);
      border: 1px solid var(--border-visible);
      padding: 3px 10px;
      transition: border-color 280ms ease, color 280ms ease;
    }
    .adv-module:hover .adv-chain-tag,
    .adv-module.is-active .adv-chain-tag {
      border-color: var(--accent);
      color: var(--text1);
    }
    .adv-chain-plus {
      font-family: var(--font-label);
      font-size: 16px;
      color: var(--text3);
    }
    .adv-chain-origin {
      font-family: var(--font-label);
      font-size: 11px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      border: 1px solid var(--accent);
      padding: 3px 12px;
      opacity: 0.72;
      transition: opacity 280ms ease;
    }
    .adv-module:hover .adv-chain-origin,
    .adv-module.is-active .adv-chain-origin { opacity: 1; }

    .adv-chain-arrow-txt {
      font-size: 15px;
      color: var(--border-visible);
      padding: 5px 0 5px 2px;
      line-height: 1;
      transition: color 300ms ease;
    }
    .adv-module:hover .adv-chain-arrow-txt,
    .adv-module.is-active .adv-chain-arrow-txt { color: var(--accent); }

    .adv-chain-step {
      font-family: var(--font-display);
      font-size: 16px;
      font-weight: 300;
      color: var(--text2);
      line-height: 1.45;
      transition: color 280ms ease;
    }
    .adv-chain-step--end {
      font-size: 15px;
      font-family: var(--font-body);
      letter-spacing: 0.01em;
    }
    .adv-module:hover .adv-chain-step,
    .adv-module.is-active .adv-chain-step { color: var(--text1); }

    /* ── Reveal panel (all modules) */
    .adv-mod-reveal {
      overflow: hidden;
      max-height: 0;
      opacity: 0;
      margin-top: 0;
      transition:
        max-height 460ms cubic-bezier(0.22, 0.61, 0.36, 1),
        opacity 300ms ease 80ms,
        margin-top 380ms ease;
    }
    .adv-module:hover .adv-mod-reveal,
    .adv-module.is-active .adv-mod-reveal {
      max-height: 240px;
      opacity: 1;
      margin-top: var(--space-lg);
    }

    .adv-reveal-list {
      list-style: none;
      padding: var(--space-md) 0 0;
      margin: 0;
      border-top: 1px solid var(--border);
    }
    .adv-reveal-list li {
      font-size: 14px;
      color: var(--text3);
      padding: 5px 0;
      border-bottom: 1px solid var(--border);
      display: flex;
      align-items: baseline;
      gap: 8px;
      line-height: 1.65;
    }
    .adv-reveal-list li::before {
      content: '—';
      color: var(--accent);
      opacity: 0.5;
      font-size: 11px;
      flex-shrink: 0;
    }
    .adv-reveal-tag {
      font-family: var(--font-label);
      font-size: 11px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      padding: 1px 5px;
      border: 1px solid;
      flex-shrink: 0;
      white-space: nowrap;
    }
    .adv-reveal-tag--ok { color: var(--accent); border-color: var(--accent); }
    .adv-reveal-tag--no { color: var(--text3); border-color: var(--border-visible); }

    .adv-tags {
      display: flex;
      gap: var(--space-lg);
      flex-wrap: wrap;
      padding-top: var(--space-md);
      border-top: 1px solid var(--border);
    }
    .adv-tag {
      font-family: var(--font-label);
      font-size: 12px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--accent);
      padding: 3px 10px;
      border: 1px solid var(--accent);
      opacity: 0.72;
    }

    /* ── Consulting-style framework modules (3 & 4) ──────────── */
    .consulting-conclusion {
      font-family: var(--font-label);
      font-size: 15px;
      font-style: italic;
      letter-spacing: 0.03em;
      color: var(--text2);
      line-height: 1.8;
      padding-bottom: var(--space-md);
      border-bottom: 1px solid var(--border);
      transition: color 280ms ease;
    }
    .adv-module:hover .consulting-conclusion,
    .adv-module.is-active .consulting-conclusion { color: var(--text1); }

    /* Module 3 — stacked legal layers */
    .legal-framework { display: flex; flex-direction: column; }
    .legal-layer {
      display: grid;
      grid-template-columns: 26px 1fr;
      gap: 0 14px;
      padding: var(--space-md) 0;
      border-bottom: 1px solid var(--border);
    }
    .legal-layer:first-child { border-top: 1px solid var(--border); }
    .legal-layer-num {
      font-family: var(--font-label);
      font-size: 11px;
      letter-spacing: 0.1em;
      color: var(--accent);
      opacity: 0.45;
      padding-top: 3px;
      transition: opacity 280ms ease;
    }
    .adv-module:hover .legal-layer-num,
    .adv-module.is-active .legal-layer-num { opacity: 1; }
    .legal-layer-en {
      font-family: var(--font-label);
      font-size: 12px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text4);
      display: block;
      margin-bottom: 3px;
      transition: color 280ms ease;
    }
    .adv-module:hover .legal-layer-en,
    .adv-module.is-active .legal-layer-en { color: var(--accent); }
    .legal-layer-zh {
      font-family: var(--font-display);
      font-size: 18px;
      color: var(--text1);
      line-height: 1.3;
    }
    .legal-layer-sub {
      font-size: 15px;
      color: var(--text3);
      line-height: 1.6;
      margin-top: 4px;
      transition: color 280ms ease;
    }
    .adv-module:hover .legal-layer-sub,
    .adv-module.is-active .legal-layer-sub { color: var(--text2); }

    /* Module 4 — vendor hub / radial */
    .vendor-hub {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin: var(--space-sm) 0;
      padding-bottom: 88px; /* space for absolutely-positioned Plan B branch */
    }
    .vendor-hub-row {
      display: flex;
      align-items: center;
      width: 100%;
    }
    .vendor-hub-connector-h {
      flex: 1;
      height: 1px;
      background: var(--border-visible);
      transition: background 280ms ease;
    }
    .adv-module:hover .vendor-hub-connector-h,
    .adv-module.is-active .vendor-hub-connector-h { background: var(--accent); opacity: 0.45; }
    .vendor-hub-connector-v {
      width: 1px;
      height: 18px;
      background: var(--border-visible);
      transition: background 280ms ease;
    }
    .adv-module:hover .vendor-hub-connector-v,
    .adv-module.is-active .vendor-hub-connector-v { background: var(--accent); opacity: 0.45; }
    .vendor-hub-center {
      font-family: var(--font-label);
      font-size: 14px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      border: 1px solid var(--accent);
      padding: 7px 18px;
      white-space: nowrap;
      flex-shrink: 0;
      opacity: 0.65;
      transition: opacity 280ms ease, background 280ms ease;
    }
    .adv-module:hover .vendor-hub-center,
    .adv-module.is-active .vendor-hub-center { opacity: 1; background: var(--accent-subtle); }
    .vendor-spoke { flex: 1; text-align: center; padding: 0 var(--space-sm); }
    /* Right spoke with downward branch: relative so branch can be absolute */
    .vendor-spoke--branch { position: relative; overflow: visible; }
    .vendor-spoke-en {
      font-family: var(--font-label);
      font-size: 12px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--text4);
      display: block;
      margin-bottom: 3px;
      transition: color 280ms ease;
    }
    .adv-module:hover .vendor-spoke-en,
    .adv-module.is-active .vendor-spoke-en { color: var(--accent); }
    .vendor-spoke-zh {
      font-family: var(--font-display);
      font-size: 16px;
      color: var(--text2);
      line-height: 1.3;
      transition: color 280ms ease;
    }
    .vendor-spoke-top { text-align: center; padding-bottom: 0; }
    .adv-module:hover .vendor-spoke-zh,
    .adv-module.is-active .vendor-spoke-zh { color: var(--text1); }
    /* Plan B secondary branch — hangs below Execution Control */
    .vendor-branch {
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      flex-direction: column;
      align-items: center;
      padding-top: 10px;
      text-align: center;
      width: max-content;
      max-width: 180px;
      pointer-events: none;
    }
    .vendor-branch-line {
      width: 1px;
      height: 16px;
      background: var(--border);
      margin-bottom: 8px;
      flex-shrink: 0;
    }
    .vendor-branch-en {
      font-family: var(--font-label);
      font-size: 9px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text4);
      display: block;
      margin-bottom: 2px;
      opacity: 0.7;
    }
    .vendor-branch-zh {
      font-family: var(--font-display);
      font-size: 13px;
      color: var(--text4);
      line-height: 1.3;
      margin-bottom: 5px;
    }
    .vendor-branch-sub {
      font-size: 11px;
      color: var(--text4);
      line-height: 1.55;
      opacity: 0.65;
      letter-spacing: 0.01em;
    }

    /* ── Module 4 revised: 4-direction balanced hub ──────────── */
    .vendor-hub4 {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin: var(--space-lg) 0 var(--space-sm);
    }
    .vh4-node { text-align: center; }
    .vh4-node-en {
      font-family: var(--font-label);
      font-size: 10px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text4);
      display: block;
      margin-bottom: 3px;
      transition: color 280ms ease;
    }
    .adv-module:hover .vh4-node-en,
    .adv-module.is-active .vh4-node-en { color: var(--accent); }
    .vh4-node-zh {
      font-family: var(--font-display);
      font-size: 15px;
      color: var(--text2);
      line-height: 1.3;
      transition: color 280ms ease;
    }
    .adv-module:hover .vh4-node-zh,
    .adv-module.is-active .vh4-node-zh { color: var(--text1); }
    .vh4-vline {
      width: 1px;
      height: 20px;
      background: var(--border-visible);
      flex-shrink: 0;
      transition: background 280ms ease;
    }
    .adv-module:hover .vh4-vline,
    .adv-module.is-active .vh4-vline { background: var(--accent); opacity: 0.45; }
    .vh4-mid-row {
      display: flex;
      align-items: center;
      width: 100%;
    }
    .vh4-hline {
      flex: 1;
      height: 1px;
      min-width: 20px;
      background: var(--border-visible);
      transition: background 280ms ease;
    }
    .adv-module:hover .vh4-hline,
    .adv-module.is-active .vh4-hline { background: var(--accent); opacity: 0.45; }
    .vh4-side {
      flex: 1;
      text-align: center;
      padding: 0 var(--space-sm);
    }
    .vh4-center {
      font-family: var(--font-label);
      font-size: 11px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      border: 1px solid var(--accent);
      padding: 7px 16px;
      white-space: nowrap;
      flex-shrink: 0;
      opacity: 0.65;
      transition: opacity 280ms ease, background 280ms ease;
    }
    .adv-module:hover .vh4-center,
    .adv-module.is-active .vh4-center { opacity: 1; background: var(--accent-subtle); }

    /* ─── RMB flow diagram (Module 2) — horizontal layout ──── */
    .rmb-statement {
      font-size: 16px;
      color: var(--text2);
      line-height: 1.95;
      margin-bottom: var(--space-xl);
    }
    .rmb-statement--bottom {
      font-size: 16px;
      color: var(--text2);
      line-height: 1.9;
      margin-top: var(--space-2xl);
      margin-bottom: 0;
    }

    .rmb-toggle {
      display: flex;
      margin-bottom: var(--space-xl);
      border-bottom: 1px solid var(--border);
    }
    .rmb-tab {
      font-family: var(--font-label);
      font-size: 14px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--text3);
      background: none;
      border: none;
      padding: var(--space-sm) var(--space-xl) var(--space-sm) 0;
      cursor: pointer;
      position: relative;
      transition: color 200ms ease;
    }
    .rmb-tab::after {
      content: '';
      position: absolute;
      bottom: -1px;
      left: 0;
      right: var(--space-xl);
      height: 1px;
      background: var(--accent);
      opacity: 0;
      transition: opacity 200ms ease;
    }
    .rmb-tab--active { color: var(--text1); }
    .rmb-tab--active::after { opacity: 1; }
    .rmb-tab:not(.rmb-tab--active):hover { color: var(--text2); }

    /* Horizontal flow row */
    .rmb-flow {
      display: none;
      flex-direction: row;
      align-items: center;
    }
    .rmb-flow--active { display: flex; }

    /* Individual node — flex column, centered */
    .rmb-node {
      display: flex;
      flex-direction: column;
      align-items: center;
      cursor: default;
      position: relative;
      flex-shrink: 0;
    }
    .rmb-node-box {
      border: 1px solid var(--border-visible);
      padding: 8px 16px;
      display: flex;
      flex-direction: column;
      gap: 4px;
      text-align: center;
      transition: border-color 280ms ease, background 280ms ease;
    }
    .rmb-node:hover .rmb-node-box {
      border-color: var(--accent);
      background: var(--surface1);
    }
    .rmb-node-en {
      font-family: var(--font-label);
      font-size: 12px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text4);
      transition: color 280ms ease;
    }
    .rmb-node:hover .rmb-node-en { color: var(--accent); }
    .rmb-node-zh {
      font-family: var(--font-body);
      font-size: 14px;
      color: var(--text1);
      line-height: 1.4;
      white-space: nowrap;
    }

    /* Caption area — single line below the entire flow, updated by JS on node hover */
    .rmb-caption-area {
      margin-top: var(--space-lg);
      padding-top: var(--space-md);
      border-top: 1px solid var(--border);
      min-height: 40px;
    }
    .rmb-caption {
      font-family: var(--font-label);
      font-size: 15px;
      font-style: italic;
      letter-spacing: 0.04em;
      color: var(--text3);
      line-height: 1.6;
      opacity: 0;
      transition: opacity 200ms ease;
    }
    .rmb-caption.is-visible { opacity: 1; }

    /* Horizontal arrow connector — line + open chevron arrowhead */
    .rmb-arrow {
      position: relative;
      flex: 1;
      min-width: 56px;
      height: 1.5px;
      background: #B8A890;
      flex-shrink: 0;
      opacity: 0.85;
      transition: background 280ms ease, opacity 280ms ease;
    }
    .rmb-arrow::after {
      content: '';
      position: absolute;
      right: 0;
      top: 50%;
      width: 8px;
      height: 8px;
      border-top: 1.5px solid #B8A890;
      border-right: 1.5px solid #B8A890;
      transform: translateY(-50%) rotate(45deg);
      transition: border-color 280ms ease;
    }
    /* Highlight arrow + chevron on adjacent node hover */
    .rmb-node:hover + .rmb-arrow { background: var(--accent); opacity: 1; }
    .rmb-node:hover + .rmb-arrow::after { border-top-color: var(--accent); border-right-color: var(--accent); }
    .rmb-arrow:has(+ .rmb-node:hover) { background: var(--accent); opacity: 1; }
    .rmb-arrow:has(+ .rmb-node:hover)::after { border-top-color: var(--accent); border-right-color: var(--accent); }

    /* Mobile: vertical stacking, no caption */
    @media (max-width: 600px) {
      .rmb-flow { flex-direction: column; align-items: flex-start; }
      .rmb-arrow {
        flex: none;
        width: 1.5px;
        height: 20px;
        min-width: auto;
        margin-left: 14px;
      }
      .rmb-arrow::after { display: none; }
      .rmb-node { align-items: flex-start; }
      .rmb-node-box { text-align: left; }
      .rmb-node-zh { white-space: normal; }
      .rmb-caption-area { display: none; }
    }

    /* ─── Journey / Timeline ─────────────────────────────────── */
    .journey-no-top-gap {
      padding-top: 0 !important;
    }
    .journey-hero {
      position: relative;
      height: 80vh;
      min-height: 600px;
      overflow: hidden;
      margin-bottom: var(--space-5xl);
    }
    .journey-hero img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 35%;
    }
    .journey-hero-overlay {
      position: absolute;
      inset: 0;
       background: linear-gradient(
        to right,
        transparent 42%,
        rgba(253,250,246,0.70) 68%,
        rgba(253,250,246,0.92) 100%
      );

    }
    .journey-hero-text {
      position: absolute;
      right: var(--space-5xl);
      top: 50%;
      transform: translateY(-50%);
      text-align: right;
      max-width: 360px;
    }
    .journey-hero-heading {
      font-family: var(--font-display);
      font-size: 36px;
      font-weight: 300;
      color: var(--text1);
      line-height: 1.35;
      margin-bottom: var(--space-md);
    }
    .journey-hero-sub {
      font-size: 16px;
      color: var(--text2);
      line-height: 1.85;
    }

    .timeline {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 var(--space-3xl);
      position: relative;
    }
    .timeline::before {
      content: '';
      position: absolute;
      left: calc(50% - 0.5px);
      top: 0;
      bottom: 0;
      width: 1px;
      background: var(--border);
    }

    .phase {
      padding: var(--space-2xl) 0;
      border-bottom: 1px solid var(--border);
      position: relative;
    }
    .phase:nth-child(even) {
      padding-left: var(--space-xl);
    }
    .phase:nth-child(odd) {
      padding-right: var(--space-xl);
      text-align: right;
    }
    .phase-label {
      font-family: var(--font-label);
      font-size: 11px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: var(--space-sm);
    }
    .phase-title {
      font-family: var(--font-display);
      font-size: 26px;
      font-weight: 400;
      color: var(--text1);
      line-height: 1.4;
      margin-bottom: var(--space-md);
    }
    .phase-duration {
      font-family: var(--font-label);
      font-size: 14px;
      font-style: italic;
      color: var(--text3);
      letter-spacing: 0.05em;
      margin-bottom: var(--space-sm);
    }
    .phase-body {
      font-size: 16px;
      color: var(--text2);
      line-height: 1.9;
    }
    .phase-intensity {
      display: inline-block;
      font-family: var(--font-label);
      font-size: 12px;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--text3);
      border: 1px solid var(--border);
      padding: 3px 10px;
      margin-top: var(--space-md);
    }

    /* ─── Journey reveal ────────────────────────────────────── */
    .j-reveal {
      opacity: 0;
      transform: translateY(14px);
      transition: opacity 720ms cubic-bezier(0.16, 1, 0.3, 1),
                  transform 720ms cubic-bezier(0.16, 1, 0.3, 1);
    }
    .j-fade {
      opacity: 0;
      transition: opacity 900ms cubic-bezier(0.16, 1, 0.3, 1);
    }
    .j-reveal.is-visible,
    .j-fade.is-visible {
      opacity: 1;
      transform: translateY(0);
    }
    .j-phase {
      opacity: 0;
      transform: translateY(22px) scale(0.986);
      transition: opacity 900ms cubic-bezier(0.16, 1, 0.3, 1),
                  transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
    }
    .j-phase.is-visible {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
    @media (prefers-reduced-motion: reduce) {
      .j-reveal, .j-fade, .j-phase {
        transition: none;
        opacity: 1;
        transform: none;
      }
    }

    /* ─── Journey phase hover ────────────────────────────────── */
    .phase {
      transition: opacity 160ms ease,
                  transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
      will-change: opacity, transform;
    }
    @media (hover: hover) {
      .timeline:has(.phase:hover) .phase:not(:hover) {
        opacity: 0.5;
        transition-delay: 0ms !important;
      }
      .phase:hover {
        opacity: 1;
        transform: translateY(-3px);
        transition-delay: 0ms !important;
      }
    }

    /* ─── Investment ─────────────────────────────────────────── */
    #investment {
      position: relative;
      padding: 0;
      overflow: hidden;
      background: var(--surface1);
    }
    .inv-strip {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 50%;
      overflow: hidden;
    }
    .inv-strip img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }
    .inv-strip-fade {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        to right,
        transparent 48%,
        var(--surface1) 95%
      );
      pointer-events: none;
    }
    .inv-content {
      margin-left: 50%;
      padding: 88px 88px 88px 56px;
      min-height: 580px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      max-width: 640px;
    }
    .inv-content .section-header {
      margin-bottom: 56px;
    }
    .inv-base {
      margin-bottom: 36px;
    }
    .inv-fee-label {
      font-family: var(--font-label);
      font-size: 12px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      display: block;
      margin-bottom: 12px;
    }
    .inv-fee-subtitle {
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 400;
      color: var(--text2);
      margin: 0 0 12px;
      line-height: 1.65;
    }
    .inv-fee-amount {
      font-family: var(--font-label);
      font-size: clamp(48px, 5vw, 68px);
      font-weight: 400;
      letter-spacing: -0.02em;
      color: var(--text1);
      line-height: 1;
      margin-bottom: 20px;
    }
    .inv-fee-note {
      font-size: 15px;
      color: var(--text3);
      line-height: 2;
      max-width: 350px;
    }
    .inv-tier-label {
      font-family: var(--font-label);
      font-size: 12px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      display: block;
      margin-bottom: 12px;
      margin-top: 20px;
    }
    .inv-tier-note {
      font-family: var(--font-display);
      font-size: 18px;
      color: var(--text3);
      line-height: 1.75;
      margin-bottom: 16px;
    }
    .inv-tier-item {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      padding: 18px 0;
      border-top: 1px solid var(--border);
      margin-bottom: 0;
    }
    .inv-tier-item:last-child {
      border-bottom: 1px solid var(--border);
      margin-bottom: 0;
    }
    .inv-tier-rate {
      font-family: var(--font-display);
      font-style: italic;
      font-size: 26px;
      font-weight: 300;
      color: var(--text1);
      line-height: 1;
      flex-shrink: 0;
    }
    .inv-tier-range {
      font-family: var(--font-body);
      font-size: 16px;
      font-style: italic;
      color: var(--text2);
      letter-spacing: 0.02em;
    }

    /* ─── Next Steps ─────────────────────────────────────────── */
    #nextsteps-heading {
      scroll-margin-top: 80px;
    }
    #nextsteps {
      padding-top: var(--space-2xl);
      padding-bottom: 0;
    }
    .nextsteps-hero {
      position: relative;
      height: 600px;
      overflow: hidden;
      margin-bottom: var(--space-3xl);
    }
    .nextsteps-hero img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
    }
    .nextsteps-hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        to bottom,
        var(--background) 0%,
        transparent 35%
      );
    }

    .steps-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: var(--space-xl);
      margin-bottom: var(--space-3xl);
    }
    .step-card {
      border: 1px solid var(--border);
      padding: var(--space-xl);
      background: var(--background);
    }
    .step-num {
      font-family: var(--font-label);
      font-size: 36px;
      font-weight: 400;
      color: var(--accent);
      opacity: 0.5;
      line-height: 1;
      margin-bottom: var(--space-lg);
    }
    .step-title {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 400;
      color: var(--text1);
      line-height: 1.5;
      margin-bottom: var(--space-md);
    }
    .step-body {
      font-size: 16px;
      color: var(--text2);
      line-height: 1.9;
    }

    .cta-block {
      text-align: center;
      padding: var(--space-5xl) var(--space-2xl);
      position: relative;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      background-image: url('../images/cover1.png');
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      background-attachment: fixed;
    }
    /* Overlay lives exclusively in ::before — never in background-image.
       Desktop: 0.82 opacity (subtle photo beneath cream).
       Mobile:  reduced to 0.45 via media query override below. */
    .cta-block::before {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(253, 250, 246, 0.35);
      pointer-events: none;
      z-index: 0;
    }
    .cta-block > * {
      position: relative;
      z-index: 1;
    }
    .cta-heading {
      font-family: var(--font-display);
      font-size: 42px;
      font-weight: 300;
      letter-spacing: -0.01em;
      color: var(--text1);
      margin-bottom: var(--space-xl);
    }
    .cta-sub {
      font-size: 17px;
      color: var(--text2);
      line-height: 1.9;
      margin-bottom: var(--space-2xl);
    }
    .btn-primary {
      display: inline-flex;
      align-items: center;
      height: 48px;
      padding: 0 40px;
      background: var(--text1);
      color: var(--background);
      font-family: var(--font-label);
      font-size: var(--text-label);
      font-weight: 400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      border: none;
      cursor: pointer;
      text-decoration: none;
      transition: background var(--duration-fast) var(--ease);
    }
    .btn-primary:hover {
      background: var(--accent);
      color: var(--background);
    }

    /* ─── Footer ─────────────────────────────────────────────── */
    footer {
      padding: var(--space-2xl) var(--space-2xl);
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: relative;
      background-image: url('../images/cover1.png');
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      background-attachment: fixed;
    }
    footer::before {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(253, 250, 246, 0.82);
      pointer-events: none;
    }
    footer > * {
      position: relative;
      z-index: 1;
    }
    .footer-brand {
      font-family: var(--font-label);
      font-size: var(--text-label);
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--text3);
    }
    .footer-copy {
      font-family: var(--font-body);
      font-size: var(--text-caption);
      color: var(--text4);
    }

    /* ─── Divider ────────────────────────────────────────────── */
    .divider {
      border: none;
      border-top: 1px solid var(--border);
      margin: var(--space-3xl) 0;
    }
    .divider-accent {
      border: none;
      border-top: 1px solid var(--accent);
      opacity: 0.35;
      margin: var(--space-xl) 0;
    }

    /* ─── Responsive ─────────────────────────────────────────── */
    @media (max-width: 900px) {
      .nav-links { display: none; }

      .advantage-layout {
        grid-template-columns: 1fr;
      }
      .phil-modules {
        grid-template-columns: 1fr;
      }
      .phil-module {
        padding: var(--space-xl) 0;
        border-right: none;
        border-bottom: 1px solid var(--border-visible);
      }
      .phil-module:last-child {
        padding-left: 0;
        border-bottom: none;
      }
      .advantage-image-wrap {
        position: static;
        aspect-ratio: 4/3;
      }
      .advantage-image-wrap img { aspect-ratio: 4/3; }

      #investment { overflow: visible; }
      .inv-strip {
        position: relative;
        width: 100%;
        height: 52vw;
        min-height: 240px;
        bottom: auto;
      }
      .inv-strip-fade {
        background: linear-gradient(
          to bottom,
          transparent 50%,
          var(--surface1) 94%
        );
      }
      .inv-content {
        margin-left: 0;
        padding: var(--space-3xl) var(--space-xl);
        min-height: auto;
        max-width: none;
      }

      .scope-hero { grid-template-columns: 1fr; }
      .scope-hero-image { aspect-ratio: 4/3; height: 320px; }
      .scope-hero-text { padding: var(--space-2xl); }

      .timeline { grid-template-columns: 1fr; }
      .timeline::before { left: 20px; }
      .phase:nth-child(odd) { text-align: left; padding-right: 0; padding-left: var(--space-3xl); }
      .phase:nth-child(even) { padding-left: var(--space-3xl); }

      .steps-grid { grid-template-columns: 1fr; }

      .journey-hero-overlay {
        background: linear-gradient(
          to right,
          transparent 28%,
          rgba(253,250,246,0.62) 64%,
          rgba(253,250,246,0.92) 100%
        );
      }
      .journey-hero-text {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        text-align: right;
        max-width: 240px;
        right: var(--space-lg);
        padding: 0;
      }
      .journey-hero { min-height: 600px; }

      /* ── #advantage mobile fixes ──────────────────────────── */

      /* Tax compare: tighten column gap, allow labels to wrap */
      .tax-compare {
        column-gap: var(--space-xl);
      }
      .tax-col-label {
        white-space: normal;
        font-size: 10px;
        letter-spacing: 0.12em;
      }
      /* Responsive number size */
      .tax-num {
        font-size: clamp(36px, 10vw, 64px);
      }
      /* Smaller delta so it doesn't dominate the separator */
      .tax-delta-num {
        font-size: 28px;
      }

      /* Dual flow columns → stack vertically */
      .adv-flows {
        flex-direction: column;
        gap: var(--space-xl);
      }
      .adv-flow-sep {
        width: 100%;
        height: 1px;
        margin: 0;
        flex-shrink: 0;
      }
      .adv-flow-col,
      .adv-flow-col:last-child {
        padding-right: 0;
        padding-left: 0;
      }

      /* Scope / reveal columns → stack */
      .tax-scope {
        flex-direction: column;
        gap: var(--space-md);
      }

      /* Reveal panel: allow taller content on mobile */
      .adv-module:hover .adv-mod-reveal,
      .adv-module.is-active .adv-mod-reveal {
        max-height: 480px;
      }

      /* Mobile: switch fixed → scroll (iOS Safari ignores fixed on non-root).
         background-image is inherited from the base rule — not redeclared.
         ::before opacity reduced so cover1.png is clearly visible on phone. */
      .cta-block {
        background-attachment: scroll;
      }
      .cta-block::before {
        background: rgba(253, 250, 246, 0.45);
      }
      footer {
        background-attachment: scroll;
      }
    }

    @media (max-width: 600px) {
      :root { --text-display: 44px; }
      .container { padding: 0 var(--space-md); }
      .nav { padding: 0 var(--space-md); }
      .section-heading { font-size: 34px; }
      .cover-title-en { font-size: 38px; }
      .scope-chapter { height: 60vh; min-height: 400px; }
      .scope-chapter-text { bottom: var(--space-2xl); }
      .scope-grid { grid-template-columns: 1fr; padding-top: 0; }
      .scope-cell,
      .scope-cell:nth-child(even) { padding-left: 0; padding-right: 0; }
      .scope-hero { grid-template-columns: 1fr; min-height: auto; }
      .scope-hero-text { background: var(--surface1); padding: var(--space-2xl); }
      .scope-hero-image { min-height: 320px; }
      .scope-modules { padding: var(--space-3xl) 0; }
      footer { flex-direction: column; gap: var(--space-md); text-align: center; }

      /* ── #advantage extra-tight pass for iPhone ─────────────── */
      .tax-compare {
        column-gap: var(--space-md);
      }
      .tax-num {
        font-size: clamp(32px, 9vw, 44px);
      }
      .tax-delta-num {
        font-size: 22px;
      }
      .tax-col-sub {
        font-size: 12px;
      }
      .adv-mod-zh {
        font-size: 20px;
      }
      .vr-heading {
        font-size: clamp(28px, 8vw, 42px);
        white-space: nowrap;
      }
      .vr-number {
        font-size: clamp(44px, 12vw, 72px);
        white-space: nowrap;
      }
    }

    /* ═══════════════════════════════════════════════════════════
       Fusion Weddings — brand-site expansion (additive layer)
       ═══════════════════════════════════════════════════════════ */
    section[id] { scroll-margin-top: 64px; }

    /* reveal — only hidden when JS is present */
    .js .rv {
      opacity: 0;
      transform: translateY(14px);
      transition: opacity 800ms cubic-bezier(0.16, 1, 0.3, 1),
                  transform 800ms cubic-bezier(0.16, 1, 0.3, 1);
    }
    .js .rv.is-visible { opacity: 1; transform: none; }
    .js .rv.rv-d1 { transition-delay: 120ms; }
    .js .rv.rv-d2 { transition-delay: 240ms; }
    @media (prefers-reduced-motion: reduce) {
      .js .rv { opacity: 1; transform: none; transition: none; }
      .cover-sub { animation: none !important; }
      .dest-img img { transition: none !important; }
    }

    .nav-brand { white-space: nowrap; }
    @media (max-width: 1180px) { .nav-links { gap: var(--space-xl); } }

    /* mobile menu */
    .nav-toggle {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
      font-family: var(--font-label);
      font-size: var(--text-label);
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--text2);
      padding: 12px 0;
    }
    .nav-menu { display: none; }

    /* cover positioning line */
    .cover-sub {
      font-family: var(--font-body);
      font-size: 15px;
      letter-spacing: 0.22em;
      color: var(--text2);
      margin-bottom: var(--space-md);
      animation: coverReveal 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.30s both;
    }

    /* shared bits */
    .sub-label {
      font-family: var(--font-label);
      font-size: 13px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      display: block;
      margin-bottom: var(--space-lg);
    }
    .eyebrow-en {
      font-family: var(--font-label);
      font-size: 12px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text3);
    }
    .bg-surface { background: var(--surface1); }
    .body-lg {
      font-size: 16px;
      line-height: 2;
      color: var(--text2);
      max-width: 520px;
    }
    .body-lg + .body-lg { margin-top: var(--space-lg); }
    .display-lg {
      font-family: var(--font-display);
      font-size: clamp(30px, 3.6vw, 44px);
      font-weight: 300;
      line-height: 1.4;
      letter-spacing: -0.01em;
      color: var(--text1);
      margin-bottom: var(--space-xl);
    }
    .fit-img { overflow: hidden; position: relative; }

    /* 01 Brand profile */
    .bp-grid {
      display: grid;
      grid-template-columns: 5fr 6fr;
      gap: var(--space-4xl);
      align-items: center;
    }
    .bp-image { aspect-ratio: 4 / 5; }
    .bp-image img { object-position: center 20%; }
    .trio {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-2xl);
      margin-top: var(--space-4xl);
      border-top: 1px solid var(--border-visible);
    }
    .trio-item { padding-top: var(--space-xl); }
    .trio-en {
      font-family: var(--font-label);
      font-size: 13px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: var(--space-md);
    }
    .trio-body {
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 300;
      line-height: 1.8;
      color: var(--text1);
    }

    /* Mission & Vision */
    .mv-grid {
      display: grid;
      grid-template-columns: 6fr 5fr;
      gap: var(--space-4xl);
      align-items: stretch;
    }
    .mv-block {
      padding: var(--space-2xl) 0;
      border-top: 1px solid var(--border-visible);
    }
    .mv-text {
      font-family: var(--font-display);
      font-size: clamp(22px, 2.4vw, 30px);
      font-weight: 300;
      line-height: 1.65;
      color: var(--text1);
    }
    .mv-direction .mv-text { color: var(--text2); font-size: clamp(18px, 1.8vw, 22px); }
    .mv-image { min-height: 520px; }
    .mv-image img { position: absolute; inset: 0; object-position: center 30%; }

    /* Delivery system */
    .dl-statement {
      font-family: var(--font-display);
      font-size: clamp(30px, 4vw, 52px);
      font-weight: 300;
      line-height: 1.4;
      letter-spacing: -0.01em;
      margin-bottom: var(--space-xl);
    }
    .dl-seq {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      margin-top: var(--space-3xl);
    }
    .dl-step {
      position: relative;
      border-top: 1px solid var(--border-visible);
      padding: var(--space-md) var(--space-xl) 0 0;
    }
    .dl-step::before {
      content: '';
      position: absolute;
      top: -3px;
      left: 0;
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: var(--accent);
    }
    .dl-num {
      font-family: var(--font-label);
      font-size: 13px;
      letter-spacing: 0.2em;
      color: var(--accent);
      margin-bottom: var(--space-md);
    }
    .dl-title {
      font-family: var(--font-display);
      font-size: 24px;
      font-weight: 400;
      line-height: 1.4;
      margin-bottom: var(--space-md);
    }
    .dl-body { font-size: 15px; line-height: 1.9; color: var(--text2); }
    .dl-support {
      list-style: none;
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: var(--space-3xl);
      margin-top: var(--space-4xl);
      border-top: 1px solid var(--border);
    }
    .dl-support li {
      display: flex;
      gap: 12px;
      align-items: baseline;
      padding: 16px 0;
      border-bottom: 1px solid var(--border);
      font-size: 15px;
      color: var(--text2);
      line-height: 1.7;
    }
    .dl-support li::before { content: '—'; color: var(--accent); opacity: 0.7; font-size: 12px; flex-shrink: 0; }

    /* Editorial transition band */
    .band {
      position: relative;
      height: 82vh;
      min-height: 460px;
      overflow: hidden;
      isolation: isolate;
    }
    .band > img { position: absolute; inset: 0; z-index: 0; object-fit: cover; }
    .band-overlay {
      position: absolute;
      inset: 0;
      z-index: 1;
      background: linear-gradient(to top, rgba(28,24,20,0.58) 0%, rgba(28,24,20,0.16) 45%, transparent 70%);
    }
    .band-text {
      position: absolute;
      z-index: 2;
      left: 7vw;
      right: 7vw;
      bottom: 11vh;
      max-width: 640px;
    }
    .band-heading {
      font-family: var(--font-display);
      font-size: clamp(28px, 3.6vw, 48px);
      font-weight: 300;
      line-height: 1.5;
      color: #FDFAF6;
      text-shadow: 0 1px 22px rgba(28,24,20,0.45);
    }
    .band-tag {
      font-family: var(--font-label);
      font-size: 12px;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: rgba(253,250,246,0.78);
      margin-top: var(--space-lg);
    }
    .band--light .band-overlay {
      background: linear-gradient(to left, rgba(253,250,246,0.62) 0%, rgba(253,250,246,0.2) 40%, transparent 62%);
    }
    .band--light .band-text { left: auto; text-align: right; top: 0; bottom: 0; display: flex; flex-direction: column; justify-content: center; }
    .band--light .band-heading { color: var(--text1); text-shadow: none; }
    .band--light .band-tag { color: var(--text3); }
    .band--light > img { object-position: 28% center; }

    /* split: image + text */
    .split { display: grid; grid-template-columns: 5fr 6fr; min-height: 640px; }
    .split--reverse { grid-template-columns: 6fr 5fr; }
    .split--reverse .split-image { order: 2; }
    .split-image img { position: absolute; inset: 0; }
    .split-text {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: var(--space-4xl) var(--space-4xl) var(--space-4xl) var(--space-3xl);
    }
    .split--reverse .split-text { padding: var(--space-4xl) var(--space-3xl) var(--space-4xl) var(--space-4xl); }
    .adv-five { list-style: none; margin-top: var(--space-xl); border-top: 1px solid var(--border-visible); max-width: 460px; }
    .adv-five li {
      display: flex;
      gap: 16px;
      align-items: baseline;
      padding: 14px 0;
      border-bottom: 1px solid var(--border);
      font-family: var(--font-display);
      font-size: 19px;
      font-weight: 300;
      color: var(--text1);
    }
    .adv-five li span {
      font-family: var(--font-label);
      font-size: 14px;
      color: var(--accent);
      width: 14px;
      flex-shrink: 0;
    }

    /* Founder-led trust */
    .trust-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--space-4xl);
      margin-top: var(--space-3xl);
    }
    .trust-item:nth-child(2) { margin-top: var(--space-4xl); }
    .trust-image { aspect-ratio: 4 / 5; margin-bottom: var(--space-xl); }
    .trust-image img { object-position: center 25%; }
    .trust-handle {
      font-family: var(--font-display);
      font-size: clamp(28px, 3vw, 38px);
      font-weight: 300;
      line-height: 1.3;
      margin: 6px 0 10px;
    }
    .trust-tag {
      font-family: var(--font-label);
      font-size: 12px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--text3);
      margin-bottom: var(--space-lg);
    }
    .trust-kw {
      display: flex;
      flex-wrap: wrap;
      gap: 6px 24px;
      margin-top: var(--space-lg);
      padding-top: var(--space-md);
      border-top: 1px solid var(--border);
      font-size: 14px;
      letter-spacing: 0.1em;
      color: var(--text3);
    }

    /* Affluent audience */
    .aud-grid {
      display: grid;
      grid-template-columns: 4fr 7fr;
      gap: var(--space-4xl);
      align-items: start;
    }
    .aud-image { aspect-ratio: 4 / 5; }
    .aud-image img { object-position: center 20%; }
    .stats {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: var(--space-3xl);
      margin-top: var(--space-3xl);
    }
    .stat { padding: var(--space-lg) 0 var(--space-2xl); border-top: 1px solid var(--border-visible); }
    .stat-num {
      display: flex;
      align-items: baseline;
      flex-wrap: wrap;
      gap: 0 6px;
      font-family: var(--font-label);
      font-size: clamp(52px, 5.2vw, 68px);
      line-height: 1;
      color: var(--text1);
      margin: var(--space-md) 0 var(--space-sm);
    }
    .stat-num small { font-size: 0.4em; letter-spacing: 0.04em; color: var(--accent); }
    .stat-title { font-family: var(--font-display); font-size: 18px; font-weight: 400; line-height: 1.5; }
    .stat-note { font-size: 14px; line-height: 1.85; color: var(--text3); margin-top: var(--space-sm); }

    /* Curated ecosystem */
    .eco-grid {
      display: grid;
      grid-template-columns: 7fr 4fr;
      gap: var(--space-4xl);
      align-items: start;
    }
    .eco-list { list-style: none; margin-top: var(--space-2xl); border-top: 1px solid var(--border-visible); }
    .eco-item {
      display: grid;
      grid-template-columns: 48px 1fr;
      padding: var(--space-lg) 0;
      border-bottom: 1px solid var(--border);
    }
    .eco-num { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); padding-top: 6px; }
    .eco-title { font-family: var(--font-display); font-size: 22px; font-weight: 400; line-height: 1.5; }
    .eco-body { grid-column: 2; font-size: 15px; color: var(--text3); line-height: 1.8; }
    .eco-image { aspect-ratio: 4 / 3; margin-top: var(--space-2xl); }
    .eco-image img { object-position: 30% center; }
    .partners { margin-top: var(--space-4xl); }
    .partner-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 var(--space-xl); }
    .partner-slot { height: 72px; border-top: 1px solid var(--border-visible); }

    /* Destination portfolio */
    .dest-sub {
      display: flex;
      align-items: baseline;
      gap: 14px;
      margin-top: var(--space-4xl);
      padding-bottom: var(--space-lg);
      border-bottom: 1px solid var(--border-visible);
    }
    .dest-sub-letter { font-family: var(--font-label); font-style: italic; font-size: 28px; color: var(--accent); line-height: 1; }
    .dest-sub-title { font-family: var(--font-display); font-size: 18px; font-weight: 300; letter-spacing: 0.08em; color: var(--text2); }
    .dest-lead { margin-top: var(--space-2xl); }
    .dest-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: var(--space-2xl) var(--space-lg);
      margin-top: var(--space-3xl);
    }
    .dest-item:nth-child(4n+2), .dest-item:nth-child(4n+4) { margin-top: var(--space-2xl); }
    .dest-img { aspect-ratio: 16 / 11; margin-bottom: var(--space-md); }
    .dest-img img { transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1); }
    @media (hover: hover) { .dest-item:hover .dest-img img { transform: scale(1.04); } }
    .dest-loc { font-family: var(--font-label); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--text3); }
    .dest-name { font-family: var(--font-display); font-size: 18px; font-weight: 400; line-height: 1.5; margin: 6px 0 4px; }
    .dest-desc { font-size: 14px; line-height: 1.8; color: var(--text3); }

    /* Europe portfolio */
    .eu-grid {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      gap: var(--space-2xl) var(--space-lg);
      margin-top: var(--space-3xl);
    }
    .eu-slot { margin: 0; }
    .eu-frame { background: var(--surface2); overflow: hidden; position: relative; }
    .eu-frame img { position: absolute; inset: 0; }
    .eu-frame--empty::after {
      content: attr(data-n);
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-label);
      font-style: italic;
      font-size: 28px;
      color: var(--text4);
    }
    .eu-1 { grid-column: 1 / 6; }  .eu-1 .eu-frame { aspect-ratio: 3 / 4; }
    .eu-2 { grid-column: 6 / 10; margin-top: var(--space-4xl); } .eu-2 .eu-frame { aspect-ratio: 3 / 4; }
    .eu-3 { grid-column: 10 / 13; } .eu-3 .eu-frame { aspect-ratio: 3 / 4; }
    .eu-4 { grid-column: 1 / 8; } .eu-4 .eu-frame { aspect-ratio: 16 / 9; }
    .eu-5 { grid-column: 8 / 13; } .eu-5 .eu-frame { aspect-ratio: 4 / 3; }
    .eu-cap { display: flex; flex-direction: column; gap: 2px; margin-top: var(--space-md); }
    .eu-loc { font-family: var(--font-label); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--text4); }
    .eu-name { font-family: var(--font-display); font-size: 17px; color: var(--text4); }

    /* Partnership models */
    .pm-list { margin-top: var(--space-3xl); border-top: 1px solid var(--border-visible); }
    .pm-row {
      display: grid;
      grid-template-columns: 72px 1.1fr 1.3fr;
      gap: var(--space-xl);
      align-items: baseline;
      padding: var(--space-2xl) 0;
      border-bottom: 1px solid var(--border);
      transition: opacity 350ms ease;
    }
    @media (hover: hover) { .pm-list:has(.pm-row:hover) .pm-row:not(:hover) { opacity: 0.35; } }
    .pm-num { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); }
    .pm-title { font-family: var(--font-display); font-size: 26px; font-weight: 400; line-height: 1.45; }
    .pm-en { display: block; margin-top: 8px; font-family: var(--font-label); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text3); }
    .pm-body { font-size: 16px; line-height: 1.9; color: var(--text2); }
    .value-band { height: 420px; overflow: hidden; position: relative; }
    .value-band img { object-position: center 58%; }

    /* Selected work */
    .case-grid {
      display: grid;
      grid-template-columns: 1.25fr 1fr;
      gap: var(--space-2xl);
      margin-top: var(--space-3xl);
      align-items: start;
    }
    .case:nth-child(2) { margin-top: var(--space-4xl); }
    .case-frame { aspect-ratio: 4 / 3; background: var(--surface2); }
    .case-frame img { position: absolute; inset: 0; }
    .case-cap { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-md); margin-top: var(--space-md); }
    .case-title { font-family: var(--font-display); font-size: 20px; font-weight: 400; }
    .case-sub { font-size: 14px; color: var(--text3); }
    .case-credit { font-family: var(--font-label); font-style: italic; font-size: 14px; letter-spacing: 0.06em; color: var(--text3); white-space: nowrap; }
    .kw-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); margin-top: var(--space-2xl); }
    .kw {
      border-top: 1px solid var(--border-visible);
      padding-top: var(--space-md);
      font-family: var(--font-label);
      font-size: 13px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--text2);
      line-height: 1.7;
    }

    /* Brand closing */
    .closing {
      position: relative;
      height: 100vh;
      height: 100svh;
      min-height: 520px;
      overflow: hidden;
      isolation: isolate;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 0 var(--space-lg);
    }
    .closing > img { position: absolute; inset: 0; z-index: -2; object-fit: cover; object-position: center 60%; }
    .closing::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(rgba(28,24,20,0.2), rgba(28,24,20,0.5)); }
    .closing-heading {
      font-family: var(--font-display);
      font-size: clamp(32px, 5vw, 64px);
      font-weight: 300;
      line-height: 1.5;
      color: #FDFAF6;
      text-shadow: 0 1px 24px rgba(28,24,20,0.4);
    }
    .closing-brand {
      font-family: var(--font-label);
      font-size: 13px;
      letter-spacing: 0.34em;
      text-transform: uppercase;
      color: rgba(253,250,246,0.82);
      margin-top: var(--space-2xl);
    }

    /* Contact */
    .cta-kicker { font-family: var(--font-label); font-size: 12px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--text3); margin-bottom: var(--space-xl); }
    .cta-block .cta-heading { line-height: 1.55; }
    .cta-tag { font-family: var(--font-label); font-size: 12px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--text3); margin-bottom: var(--space-2xl); }
    .contact-begin { font-family: var(--font-label); font-size: 12px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--accent); margin-top: var(--space-4xl); }
    .contact-list {
      list-style: none;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      width: min(960px, 100%);
      margin-top: var(--space-lg);
      border-top: 1px solid var(--border-visible);
    }
    .contact-item { padding: var(--space-lg) var(--space-md) 0; }
    .contact-zh { display: block; font-family: var(--font-display); font-size: 18px; line-height: 1.5; color: var(--text1); }
    .contact-en { display: block; font-family: var(--font-label); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text3); margin-top: 4px; }
    a.contact-item:hover .contact-zh { color: var(--accent); }

    /* Footer */
    .footer-copy { text-align: right; }

    /* ─── Fusion upgrade — responsive ─── */
    @media (max-width: 900px) {
      .nav-toggle { display: block; }
      .nav-menu {
        position: fixed;
        top: 64px;
        left: 0;
        right: 0;
        z-index: 99;
        display: flex;
        flex-direction: column;
        padding: var(--space-sm) var(--space-md) var(--space-lg);
        background: rgba(253, 250, 246, 0.98);
        border-bottom: 1px solid var(--border);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-6px);
        transition: opacity 250ms var(--ease), transform 250ms var(--ease), visibility 250ms;
      }
      .nav-menu.is-open { opacity: 1; visibility: visible; transform: none; }
      .nav-menu a {
        font-family: var(--font-label);
        font-size: 15px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: var(--text2);
        padding: 16px 0;
        border-bottom: 1px solid var(--border);
      }

      /* existing Services opener: height + aspect-ratio forced a 427px track on phones */
      .scope-hero { grid-template-columns: minmax(0, 1fr); }
      .scope-hero-image { aspect-ratio: auto; width: 100%; }

      .bp-grid, .mv-grid, .aud-grid, .eco-grid { grid-template-columns: 1fr; gap: var(--space-2xl); }
      .bp-image { aspect-ratio: 4 / 3; }
      .bp-image img { object-position: center 18%; }
      .trio { grid-template-columns: 1fr; gap: var(--space-xl); margin-top: var(--space-3xl); }
      .mv-image { min-height: 0; aspect-ratio: 4 / 3; order: -1; }
      .dl-seq { grid-template-columns: 1fr 1fr; row-gap: var(--space-2xl); }
      .dl-support { grid-template-columns: 1fr; }

      .split, .split--reverse { grid-template-columns: 1fr; min-height: 0; }
      .split--reverse .split-image { order: 0; }
      .split-image { height: 78vw; min-height: 280px; }
      .split-text, .split--reverse .split-text { padding: var(--space-3xl) var(--space-lg); }

      .trust-grid { grid-template-columns: 1fr; gap: var(--space-3xl); }
      .trust-item:nth-child(2) { margin-top: 0; }
      .aud-image { aspect-ratio: 4 / 3; }
      .eco-image { aspect-ratio: 4 / 3; margin-top: 0; }

      .dest-grid { grid-template-columns: 1fr 1fr; }
      .dest-item:nth-child(4n+2), .dest-item:nth-child(4n+4) { margin-top: 0; }
      .dest-item:nth-child(even) { margin-top: var(--space-xl); }

      .eu-grid { grid-template-columns: 1fr 1fr; }
      .eu-1, .eu-2, .eu-3, .eu-4, .eu-5 { grid-column: auto; margin-top: 0; }
      .eu-4 { grid-column: 1 / -1; }

      .case-grid { grid-template-columns: 1fr; }
      .case:nth-child(2) { margin-top: 0; }
      .value-band { height: 300px; }
      .contact-list { grid-template-columns: 1fr 1fr; }
      .contact-item { padding-bottom: var(--space-lg); }
      .footer-copy { text-align: center; }
    }

    @media (max-width: 600px) {
      .cover-sub { font-size: 13px; letter-spacing: 0.14em; }
      .dl-seq { grid-template-columns: 1fr; }
      .dl-step { padding-right: 0; }
      .stats { grid-template-columns: 1fr; }
      .stat-num { font-size: clamp(48px, 15vw, 64px); }
      .partner-grid { grid-template-columns: 1fr 1fr; }

      .dest-grid { grid-template-columns: 1fr; gap: 0; margin-top: var(--space-2xl); }
      .dest-grid .dest-item, .dest-grid .dest-item:nth-child(even) {
        display: grid;
        grid-template-columns: 38% 1fr;
        gap: var(--space-md);
        align-items: center;
        padding: var(--space-lg) 0;
        margin-top: 0;
        border-bottom: 1px solid var(--border);
      }
      .dest-grid .dest-item:first-child { border-top: 1px solid var(--border-visible); }
      .dest-img { aspect-ratio: 4 / 3; margin-bottom: 0; }
      .dest-name { font-size: 17px; }
      .dest-desc { font-size: 13px; }

      .eu-grid { grid-template-columns: 1fr; gap: var(--space-xl); }
      .eu-4 { grid-column: auto; }
      .eu-1 .eu-frame, .eu-2 .eu-frame { aspect-ratio: 4 / 5; }
      .eu-3 .eu-frame, .eu-4 .eu-frame, .eu-5 .eu-frame { aspect-ratio: 16 / 10; }

      .pm-row { grid-template-columns: 40px 1fr; gap: var(--space-sm) var(--space-md); padding: var(--space-xl) 0; }
      .pm-body { grid-column: 2; font-size: 15px; }
      .pm-title { font-size: 22px; }
      .kw-row { grid-template-columns: 1fr; gap: var(--space-md); }
      .case-cap { flex-direction: column; gap: 4px; }

      .band { height: 72vh; min-height: 420px; }
      .band-text, .band--light .band-text { left: var(--space-lg); right: var(--space-lg); bottom: var(--space-2xl); max-width: none; }
      .band--light .band-text { top: auto; display: block; text-align: left; }
      .band--light .band-overlay { background: linear-gradient(to top, rgba(253,250,246,0.94) 0%, rgba(253,250,246,0.55) 38%, transparent 62%); }
      .band--light > img { object-position: 22% center; }

      .closing > img { object-position: 66% center; }
      .closing { justify-content: flex-start; padding-top: 13svh; }
      .cta-block .btn-primary { padding: 0 24px; white-space: nowrap; letter-spacing: 0.14em; }
      .contact-begin { margin-top: var(--space-3xl); }
      .cta-block .cta-heading { font-size: 32px; }
      .scope-cell-kw { margin-top: var(--space-sm); }
    }

    .scope-cell-kw { margin-top: var(--space-md); font-family: var(--font-label); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text4); }

    /* ═══════════════════════════════════════════════════════════
       Round 2 — Mission, Delivery, Capability, Advantage, Trust,
       Audience, Ecosystem
       ═══════════════════════════════════════════════════════════ */

    /* Mission & Vision (lives in #philosophy, inherits its photo wash) */
    .mv2-row {
      display: grid;
      grid-template-columns: 2fr 9fr;
      gap: var(--space-2xl);
      padding: var(--space-2xl) 0;
      border-top: 1px solid var(--border-visible);
    }
    .mv2-row .sub-label { margin: 8px 0 0; }
    .mv2-mission {
      font-family: var(--font-display);
      font-size: clamp(30px, 4.2vw, 54px);
      font-weight: 300;
      line-height: 1.5;
      letter-spacing: -0.01em;
      color: var(--text1);
    }
    .mv2-vision {
      font-family: var(--font-display);
      font-size: clamp(20px, 2.2vw, 28px);
      font-weight: 300;
      line-height: 1.8;
      color: var(--text2);
      max-width: 640px;
    }
    .mv2-close {
      display: grid;
      grid-template-columns: 2fr 9fr;
      gap: var(--space-2xl);
      margin-top: var(--space-3xl);
      align-items: baseline;
    }
    .mv2-close p {
      font-family: var(--font-label);
      font-size: 13px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text3);
    }
    .mv2-close blockquote {
      font-family: var(--font-display);
      font-size: 16px;
      font-weight: 300;
      line-height: 1.9;
      color: var(--text2);
      padding-left: var(--space-lg);
      border-left: 1px solid var(--accent);
    }

    /* Delivery */
    .dl2-head {
      display: grid;
      grid-template-columns: 6fr 5fr;
      gap: var(--space-4xl);
      align-items: end;
      margin-bottom: var(--space-3xl);
    }
    .dl2-zh { font-family: var(--font-display); font-size: 22px; font-weight: 300; letter-spacing: 0.08em; color: var(--text2); margin-bottom: var(--space-lg); }
    .dl2-num {
      font-family: var(--font-label);
      font-size: 52px;
      line-height: 1;
      color: var(--accent);
      opacity: 0.55;
      margin-bottom: var(--space-md);
    }

    /* Cross-border: number-anchored modules */
    .cb-list { border-top: 1px solid var(--border-visible); }
    .cb-row {
      display: grid;
      grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
      gap: var(--space-3xl);
      padding: var(--space-3xl) 0;
      border-bottom: 1px solid var(--border);
    }
    .cb-visual { min-width: 0; }
    .cb-fig { display: flex; align-items: baseline; gap: var(--space-md); margin-bottom: var(--space-lg); }
    .cb-big { font-family: var(--font-label); font-size: clamp(72px, 8vw, 104px); line-height: 1; color: var(--accent); }
    .cb-cap { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text3); }
    .cb-row .tax-compare { column-gap: var(--space-2xl); margin-bottom: var(--space-lg); }
    .cb-row .tax-num { font-size: clamp(44px, 5vw, 60px); }
    .cb-row .tax-delta-num { font-size: 32px; }
    .cb-row .tax-sep--num, .cb-row .tax-delta { background: transparent; }
    .cb-row .tax-delta { background: var(--surface1); }
    .cb-row .tax-statement { display: none; }
    .cb-row .rmb-arrow { min-width: 24px; }
    .cb-row .rmb-node-box { padding: 8px 10px; }
    .cb-row .rmb-node-zh { font-size: 13px; }
    .cb-row .rmb-statement { margin-bottom: var(--space-md); font-size: 15px; }
    .cb-row .vh4-node-en, .cb-row .vh4-center { color: var(--accent); opacity: 1; }
    .cb-row .vh4-node-zh { color: var(--text1); }
    .cb-row .vh4-vline, .cb-row .vh4-hline { background: var(--border-visible); }
    .cb-row .legal-layer-en { color: var(--accent); }
    .cb-row .legal-layer-num { opacity: 1; }
    .cb-row .legal-layer-sub { color: var(--text2); }
    .cb-row .consulting-conclusion { color: var(--text1); }
    #capability .vr-wrap { margin-top: var(--space-4xl); }

    /* Advantage — editorial opener */
    .adv2 {
      position: relative;
      overflow: hidden;
      padding: var(--space-5xl) 0 var(--space-4xl);
    }
    .adv2-inner {
      display: grid;
      grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
      column-gap: var(--space-3xl);
      align-items: end;
      padding-left: max(var(--space-2xl), calc((100vw - 1080px) / 2 + var(--space-2xl)));
    }
    .adv2-title {
      font-family: var(--font-display);
      font-size: clamp(88px, 14vw, 196px);
      font-weight: 300;
      line-height: 0.98;
      letter-spacing: 0.02em;
      color: var(--text1);
      margin: var(--space-xl) 0 var(--space-lg);
    }
    .adv2-title span { display: block; }
    .adv2-title span + span { padding-left: 0.9em; color: var(--accent); }
    .adv2-en {
      font-family: var(--font-label);
      font-size: 13px;
      letter-spacing: 0.34em;
      text-transform: uppercase;
      color: var(--text3);
      margin-bottom: var(--space-3xl);
    }
    .adv2-text { max-width: 400px; margin-left: clamp(0px, 8vw, 120px); }
    .adv2-text p { font-size: 17px; line-height: 2; color: var(--text2); }
    .adv2-index { list-style: none; margin-top: var(--space-2xl); border-top: 1px solid var(--border-visible); }
    .adv2-index li { border-bottom: 1px solid var(--border); }
    .adv2-index a {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      padding: 12px 0;
      font-family: var(--font-label);
      font-size: 13px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text3);
    }
    .adv2-index a:hover { color: var(--accent); }
    .adv2-index a span { font-family: var(--font-display); letter-spacing: 0; }
    .adv2-img { align-self: stretch; margin-right: 0; position: relative; min-height: 560px; }
    .adv2-img img { position: absolute; inset: 0; object-position: center 35%; }
    .adv2-img::before {
      content: '';
      position: absolute;
      left: -20px;
      top: -20px;
      width: 40%;
      height: 40%;
      border-left: 1px solid var(--accent);
      border-top: 1px solid var(--accent);
      opacity: 0.6;
      z-index: 2;
    }

    /* Founder-led trust — two square avatars */
    .tr-list { margin-top: var(--space-4xl); }
    .tr { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-4xl); align-items: end; }
    .tr + .tr { margin-top: var(--space-5xl); }
    .tr--b { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); padding-left: 6%; }
    .tr--b .tr-sq { order: 2; width: 78%; justify-self: end; }
    .tr-sq { position: relative; margin: 0; }
    .tr-sq::before {
      content: '';
      position: absolute;
      inset: 0;
      border: 1px solid var(--accent);
      opacity: 0.55;
      transform: translate(18px, 18px);
    }
    .tr--b .tr-sq::before { transform: translate(-18px, 18px); }
    .tr-sq-in { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: var(--surface2); }
    .tr-sq-in img { position: absolute; inset: 0; }
    .tr-no { font-family: var(--font-label); font-size: clamp(56px, 6vw, 84px); line-height: 1; color: var(--text4); margin-bottom: var(--space-sm); }
    .tr-handle { font-family: var(--font-display); font-size: clamp(30px, 3.4vw, 44px); font-weight: 300; line-height: 1.3; margin-bottom: 8px; }
    .tr-tag { font-family: var(--font-label); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--text3); margin-bottom: var(--space-lg); }

    /* Affluent audience — typographic */
    .aud2-top {
      display: grid;
      grid-template-columns: 7fr 5fr;
      gap: var(--space-3xl);
      align-items: end;
    }
    .aud2-top .section-heading { font-size: clamp(30px, 3.5vw, 44px); margin-bottom: 0; }
    .aud2-top p { font-size: 17px; line-height: 2; color: var(--text2); }
    .aud2-cap { margin-top: var(--space-5xl); }
    .aud2-cap-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-lg); padding-bottom: var(--space-md); border-bottom: 1px solid var(--accent); }
    .aud2-cap-head .sub-label { margin: 0; }
    .aud2-cap-head .zh { font-family: var(--font-display); font-size: 18px; font-weight: 300; letter-spacing: 0.08em; color: var(--text2); }
    .aud2-row {
      display: grid;
      grid-template-columns: 3fr 8fr;
      gap: var(--space-2xl);
      align-items: baseline;
      padding: var(--space-xl) 0;
      border-bottom: 1px solid var(--border);
    }
    .aud2-lab { font-family: var(--font-display); font-size: 20px; font-weight: 400; line-height: 1.5; }
    .aud2-lab small { display: block; font-family: var(--font-body); font-size: 14px; font-weight: 300; color: var(--text3); letter-spacing: 0.04em; }
    .aud2-fig {
      font-family: var(--font-label);
      font-size: clamp(44px, 10.5vw, 136px);
      line-height: 1;
      letter-spacing: -0.02em;
      color: var(--text1);
      white-space: nowrap;
    }
    .aud2-fig small { font-size: 0.5em; color: var(--accent); letter-spacing: 0; margin-left: 4px; }
    .aud2-row:nth-of-type(2) .aud2-fig { color: var(--accent); }
    .aud2-note { margin: var(--space-xl) 0 0 calc(27.3% + var(--space-2xl) * 0.27); max-width: 460px; font-size: 15px; line-height: 1.95; color: var(--text3); }

    /* Curated ecosystem */
    .eco2-head { max-width: 640px; }
    .eco2-range { list-style: none; margin-top: var(--space-3xl); }
    .eco2-range li {
      display: grid;
      grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1fr);
      gap: 0 var(--space-lg);
      align-items: baseline;
      padding: var(--space-lg) 0;
      border-top: 1px solid var(--border-visible);
    }
    .eco2-range li:last-child { border-bottom: 1px solid var(--border-visible); }
    .eco2-range li:nth-child(2) { margin-left: 6%; }
    .eco2-range li:nth-child(3) { margin-left: 12%; }
    .eco2-range li:nth-child(4) { margin-left: 18%; }
    .eco2-range li:nth-child(5) { margin-left: 24%; }
    .eco2-n { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); }
    .eco2-t { font-family: var(--font-display); font-size: clamp(22px, 2.6vw, 32px); font-weight: 300; line-height: 1.4; }
    .eco2-d { font-size: 14px; line-height: 1.8; color: var(--text3); }

    .pt-band { background: var(--surface2); padding: var(--space-4xl) 0 var(--space-5xl); margin-top: var(--space-4xl); }
    .pt-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-lg); flex-wrap: wrap; }
    .pt-head .sub-label { margin: 0; }
    .pt-title { font-family: var(--font-display); font-size: clamp(26px, 3vw, 38px); font-weight: 300; letter-spacing: 0.04em; }
    .pt-cluster {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: flex-start;
      gap: var(--space-2xl) var(--space-3xl);
      margin-top: var(--space-3xl);
    }
    .pt { --d: 104px; width: var(--d); margin: 0; text-align: center; }
    .pt:nth-child(1) { --d: 120px; }
    .pt:nth-child(2) { --d: 88px; margin-top: 36px; }
    .pt:nth-child(3) { --d: 144px; }
    .pt:nth-child(4) { --d: 96px; margin-top: 48px; }
    .pt:nth-child(5) { --d: 128px; margin-top: 12px; }
    .pt:nth-child(6) { --d: 84px; margin-top: 40px; }
    .pt:nth-child(7) { --d: 112px; }
    .pt-avatar {
      width: var(--d);
      height: var(--d);
      border-radius: 50%;           /* use 0 for square avatars */
      overflow: hidden;
      background: var(--surface3);
      border: 1px solid var(--border-visible);
    }
    .pt-avatar img { object-position: center; }
    .pt figcaption { margin-top: var(--space-md); display: flex; flex-direction: column; gap: 2px; width: max(var(--d), 140px); margin-left: calc((var(--d) - max(var(--d), 140px)) / 2); }
    .pt-name { font-family: var(--font-display); font-size: 15px; color: var(--text3); }
    .pt-handle { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.08em; color: var(--text4); }

    @media (max-width: 900px) {
      .mv2-row, .mv2-close { grid-template-columns: 1fr; gap: var(--space-md); }
      .mv2-close blockquote { margin-left: 0; }
      .dl2-head { grid-template-columns: 1fr; gap: var(--space-lg); }
      .cb-row { grid-template-columns: 1fr; gap: var(--space-xl); padding: var(--space-2xl) 0; }
      .cb-row .tax-compare { column-gap: var(--space-md); }
      .adv2 { padding: var(--space-4xl) 0 var(--space-3xl); }
      .adv2-inner { grid-template-columns: 1fr; padding: 0 var(--space-lg); row-gap: var(--space-2xl); }
      .adv2-title { font-size: clamp(76px, 24vw, 140px); }
      .adv2-text { margin-left: 0; max-width: none; }
      .adv2-img { min-height: 0; aspect-ratio: 4 / 5; width: 82%; margin-left: auto; margin-right: calc(var(--space-lg) * -1); order: -1; }
      .adv2-img::before { left: -14px; top: -14px; }
      .tr, .tr--b { grid-template-columns: 1fr; gap: var(--space-2xl); padding-left: 0; }
      .tr + .tr { margin-top: var(--space-4xl); }
      .tr-sq { width: 82%; justify-self: start; margin-right: 18px; }
      .tr--b .tr-sq { order: 0; width: 70%; justify-self: end; margin-right: 0; margin-left: 18px; }
      .aud2-top { grid-template-columns: 1fr; gap: var(--space-xl); }
      .aud2-cap { margin-top: var(--space-4xl); }
      .aud2-row { grid-template-columns: 1fr; gap: var(--space-sm); }
      .aud2-note { margin-left: 0; }
      .eco2-range li:nth-child(n) { margin-left: 0; }
      .eco2-range li { grid-template-columns: 36px 1fr; }
      .eco2-d { grid-column: 2; margin-top: 4px; }
      .pt-cluster { gap: var(--space-xl) var(--space-xl); }
    }
    @media (max-width: 600px) {
      .cb-big { font-size: 72px; }
      .aud2-fig { font-size: clamp(52px, 16vw, 96px); }
      .cb-row .vh4-center { padding: 6px 8px; font-size: 10px; letter-spacing: 0.08em; }
      .cb-row .vh4-side { padding: 0 4px; min-width: 0; }
      .cb-row .vh4-hline { min-width: 4px; }
      .cb-row .vh4-node-en { font-size: 9px; letter-spacing: 0.08em; }
      .cb-row .vh4-node-zh { font-size: 13px; }
      .cb-row .tax-num { font-size: clamp(34px, 11vw, 48px); }
      .cb-row .tax-delta-num { font-size: 22px; }
      .cb-row .tax-col-sub { font-size: 12px; }
      .pt { --d: 88px !important; margin-top: 0 !important; }
      .pt:nth-child(even) { margin-top: 28px !important; }
      .pt:nth-child(3n+1) { --d: 104px !important; }
      .pt-cluster { gap: var(--space-xl) var(--space-lg); }
      .pt figcaption { width: 112px; margin-left: calc((var(--d) - 112px) / 2); }
      .dl2-num { font-size: 44px; }
    }

    /* ═══════════════════════════════════════════════════════════
       Round 3 — nav sub-menus, Mission, Delivery hover, Advantage, Audience
       ═══════════════════════════════════════════════════════════ */

    /* Navigation dropdowns (desktop) */
    .nav-links { gap: var(--space-2xl); height: 64px; }
    .nav-item { position: relative; height: 64px; display: flex; align-items: center; }
    .nav-item > a { white-space: nowrap; }
    .nav-sub {
      position: absolute;
      top: 100%;
      left: 50%;
      min-width: 232px;
      display: flex;
      flex-direction: column;
      padding: 10px 26px 12px;
      background: rgba(253, 250, 246, 0.94);
      -webkit-backdrop-filter: blur(16px);
      backdrop-filter: blur(16px);
      border: 1px solid var(--border);
      border-top-color: rgba(168, 144, 96, 0.55);
      opacity: 0;
      visibility: hidden;
      transform: translate(-50%, -6px);
      transition: opacity 260ms var(--ease), transform 260ms var(--ease), visibility 260ms;
    }
    .nav-item:nth-last-child(-n+2) .nav-sub { left: auto; right: 0; transform: translate(0, -6px); }
    .nav-item:hover .nav-sub,
    .nav-item:focus-within .nav-sub { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
    .nav-item:nth-last-child(-n+2):hover .nav-sub,
    .nav-item:nth-last-child(-n+2):focus-within .nav-sub { transform: translate(0, 0); }
    .nav-sub a {
      padding: 11px 0;
      font-size: 12px;
      letter-spacing: 0.18em;
      white-space: nowrap;
      border-bottom: 1px solid var(--border);
      transition: color var(--duration-fast) var(--ease), padding-left 260ms var(--ease);
    }
    .nav-sub a:last-child { border-bottom: none; }
    .nav-sub a:hover { padding-left: 6px; }
    @media (max-width: 1100px) {
      .nav-links { gap: 22px; }
      .nav-links a { letter-spacing: 0.12em; }
      .nav-sub a { letter-spacing: 0.14em; }
    }
    @media (prefers-reduced-motion: reduce) { .nav-sub, .nav-sub a { transition: none; } }

    /* Navigation accordion (mobile) */
    .nm-head {
      width: 100%;
      min-height: 52px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: none;
      border: none;
      border-bottom: 1px solid var(--border);
      cursor: pointer;
      font-family: var(--font-label);
      font-size: 15px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text2);
      text-align: left;
    }
    .nm-head i { font-style: normal; color: var(--accent); font-size: 18px; transition: transform 250ms var(--ease); }
    .nm-group.is-open .nm-head i { transform: rotate(45deg); }
    .nm-sub { max-height: 0; overflow: hidden; transition: max-height 350ms var(--ease); }
    .nm-group.is-open .nm-sub { max-height: 360px; }
    .nav-menu .nm-sub a {
      min-height: 46px;
      display: flex;
      align-items: center;
      padding: 0 0 0 16px;
      border-bottom: none;
      font-size: 13px;
      letter-spacing: 0.16em;
      color: var(--text3);
    }
    .nm-group.is-open .nm-sub { padding-bottom: 8px; border-bottom: 1px solid var(--border); }
    @media (max-width: 900px) {
      .nav-menu { max-height: calc(100vh - 64px); overflow-y: auto; }
      .nav-menu .nm-single { display: flex; align-items: center; min-height: 52px; }
    }

    /* Mission & Vision — conclusion first, two supports beneath */
    .mv3-grid {
      display: grid;
      grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
      gap: var(--space-4xl);
      align-items: stretch;
    }
    .mv3-grid > div:first-child { align-self: center; }
    .mv3-title { font-family: var(--font-display); font-size: 20px; font-weight: 300; letter-spacing: 0.12em; color: var(--text2); margin-bottom: var(--space-3xl); }
    .mv3-dir-label { display: flex; align-items: center; gap: 16px; font-family: var(--font-label); font-size: 13px; letter-spacing: 0.26em; text-transform: uppercase; color: var(--accent); margin-bottom: var(--space-xl); }
    .mv3-dir-label::after { content: ''; width: 56px; border-top: 1px solid var(--accent); }
    .mv3-dir {
      font-family: var(--font-display);
      font-size: clamp(28px, 3.3vw, 42px);
      font-weight: 300;
      line-height: 1.55;
      letter-spacing: 0;
      color: var(--text1);
    }
    .mv3-img { min-height: 400px; }
    .mv3-img img { position: absolute; inset: 0; object-position: center 30%; }
    .mv3-branch { position: relative; margin-top: var(--space-4xl); padding-top: var(--space-3xl); }
    .mv3-branch::before { content: ''; position: absolute; left: 0; top: calc(var(--space-3xl) * -1); height: calc(var(--space-3xl) * 2); border-left: 1px solid var(--accent); opacity: 0.5; }
    .mv3-cols { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--accent); position: relative; }
    .mv3-col { position: relative; padding: var(--space-xl) var(--space-3xl) 0 0; }
    .mv3-col + .mv3-col { padding-left: var(--space-3xl); padding-right: 0; border-left: 1px solid var(--border-visible); }
    .mv3-col::before { content: ''; position: absolute; left: 0; top: -3px; width: 5px; height: 5px; border-radius: 50%; background: var(--accent); }
    .mv3-col + .mv3-col::before { left: -3px; }
    .mv3-col p:last-child { font-family: var(--font-display); font-size: clamp(18px, 1.7vw, 22px); font-weight: 300; line-height: 1.85; color: var(--text1); }
    .mv3-col .sub-label { margin-bottom: var(--space-md); }

    /* Delivery — each step reveals its supporting capability */
    .dl3-step { outline: none; transition: opacity 350ms ease; }
    .dl3-step::before { transition: width 420ms var(--ease), height 420ms var(--ease), top 420ms var(--ease), border-radius 420ms var(--ease); }
    .dl3-extra { margin-top: var(--space-lg); padding-top: var(--space-md); border-top: 1px solid var(--accent); }
    .dl3-extra p { font-size: 15px; line-height: 1.85; color: var(--text1); }
    @media (hover: hover) and (min-width: 901px) {
      .dl3-step::after { content: '+'; position: absolute; top: 12px; right: var(--space-xl); font-family: var(--font-label); font-size: 18px; line-height: 1; color: var(--accent); opacity: 0.55; transition: opacity 300ms ease; }
      .dl3-extra {
        max-height: 0; opacity: 0; overflow: hidden; margin-top: 0; padding-top: 0; border-top-color: transparent;
        transition: max-height 520ms cubic-bezier(0.22, 0.61, 0.36, 1), opacity 360ms ease 80ms, margin-top 400ms ease, padding-top 400ms ease, border-color 400ms ease;
      }
      .dl3-step:hover .dl3-extra, .dl3-step:focus-visible .dl3-extra { max-height: 150px; opacity: 1; margin-top: var(--space-lg); padding-top: var(--space-md); border-top-color: var(--accent); }
      .dl3-step:hover::after, .dl3-step:focus-visible::after { opacity: 0; }
      .dl3-step:hover::before, .dl3-step:focus-visible::before { width: 40px; height: 1px; top: -1px; border-radius: 0; }
      .dl-seq:has(.dl3-step:hover) .dl3-step:not(:hover) { opacity: 0.38; }
      .dl3-step .dl2-num { transition: transform 420ms var(--ease), opacity 300ms ease; }
      .dl3-step:hover .dl2-num, .dl3-step:focus-visible .dl2-num { opacity: 1; transform: translateX(6px); }
    }

    /* Fusion Advantage — magazine chapter opener */
    .adv3 { position: relative; overflow: hidden; padding: var(--space-5xl) 0 var(--space-4xl); }
    .adv3-inner {
      display: grid;
      grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
      grid-template-areas: "head img" "copy img";
      column-gap: var(--space-3xl);
      padding-left: max(var(--space-2xl), calc((100vw - 1080px) / 2 + var(--space-2xl)));
    }
    .adv3-head { grid-area: head; }
    .adv3-copy { grid-area: copy; align-self: end; }
    .adv3-img { grid-area: img; position: relative; aspect-ratio: 3 / 4; align-self: start; margin-top: var(--space-3xl); }
    .adv3-img img { position: absolute; inset: 0; object-position: center 35%; }
    .adv3-img::before { content: ''; position: absolute; left: -20px; bottom: -20px; width: 38%; height: 28%; border-left: 1px solid var(--accent); border-bottom: 1px solid var(--accent); opacity: 0.6; z-index: 2; }
    .adv3-en {
      font-family: var(--font-label);
      font-size: clamp(52px, 8.6vw, 124px);
      font-weight: 400;
      line-height: 0.98;
      letter-spacing: -0.01em;
      color: var(--text1);
      margin: var(--space-xl) 0 0;
    }
    .adv3-en span { display: block; }
    .adv3-en span + span { font-style: italic; padding-left: 1.1em; color: var(--accent); }
    .adv3-copy { margin-top: var(--space-2xl); max-width: 420px; margin-left: clamp(0px, 9vw, 130px); }
    .adv3-zh { display: flex; align-items: center; gap: 16px; font-family: var(--font-display); font-size: 20px; font-weight: 300; letter-spacing: 0.3em; color: var(--text1); margin-bottom: var(--space-lg); }
    .adv3-zh::before { content: ''; width: 40px; border-top: 1px solid var(--accent); }
    .adv3-copy p:not(.adv3-zh) { font-size: 17px; line-height: 2; color: var(--text2); }
    .adv3-line { position: absolute; left: max(var(--space-2xl), calc((100vw - 1080px) / 2 + var(--space-2xl))); bottom: 0; height: var(--space-4xl); border-left: 1px solid var(--accent); opacity: 0.5; }

    /* Affluent audience — editorial spread */
    .aud3 { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-4xl); align-items: stretch; }
    .aud3-img { position: relative; min-height: 640px; }
    .aud3-img img { position: absolute; inset: 0; object-position: center 22%; }
    .aud3-page { display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-4xl); }
    .aud3-page .section-heading { font-size: clamp(30px, 3.4vw, 42px); }
    .aud3-lead { font-size: 17px; line-height: 2; color: var(--text2); max-width: 460px; }
    .aud3-cap-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-lg); padding-bottom: var(--space-md); border-bottom: 1px solid var(--border-visible); }
    .aud3-cap-head .sub-label { margin: 0; }
    .aud3-cap-head .zh { font-family: var(--font-display); font-size: 16px; font-weight: 300; letter-spacing: 0.08em; color: var(--text2); }
    .aud3-stats { display: grid; grid-template-columns: 1fr 1fr; padding: var(--space-lg) 0; border-bottom: 1px solid var(--border); }
    .aud3-stat + .aud3-stat { border-left: 1px solid var(--border-visible); padding-left: var(--space-xl); }
    .aud3-lab { font-family: var(--font-display); font-size: 16px; line-height: 1.5; color: var(--text1); }
    .aud3-lab small { display: block; font-family: var(--font-body); font-size: 13px; color: var(--text3); letter-spacing: 0.04em; }
    .aud3-fig { margin-top: var(--space-md); font-family: var(--font-label); font-size: clamp(30px, 3.2vw, 42px); line-height: 1.1; color: var(--text1); white-space: nowrap; }
    .aud3-fig small { font-size: 0.55em; color: var(--accent); margin-left: 3px; }
    .aud3-note { margin-top: var(--space-lg); font-size: 14px; line-height: 1.9; color: var(--text3); max-width: 440px; }

    @media (max-width: 900px) {
      .mv3-grid { grid-template-columns: 1fr; gap: var(--space-2xl); }
      .mv3-grid > div:first-child { align-self: center; }
    .mv3-title { margin-bottom: var(--space-2xl); }
      .mv3-img { min-height: 0; aspect-ratio: 4 / 3; }
      .mv3-branch { margin-top: var(--space-3xl); padding-top: var(--space-2xl); }
      .mv3-branch::before { top: calc(var(--space-2xl) * -1); height: calc(var(--space-2xl) * 2); }
      .mv3-cols { grid-template-columns: 1fr; }
      .mv3-col, .mv3-col + .mv3-col { padding: var(--space-xl) 0 var(--space-xl) 0; border-left: none; }
      .mv3-col + .mv3-col { border-top: 1px solid var(--border-visible); }
      .mv3-col + .mv3-col::before { left: 0; top: -3px; }
      .dl3-extra { margin-top: var(--space-md); }
      .adv3 { padding: var(--space-4xl) 0 var(--space-3xl); }
      .adv3-inner { grid-template-columns: 1fr; grid-template-areas: "head" "img" "copy"; padding: 0 var(--space-lg); row-gap: var(--space-2xl); }
      .adv3-img { width: 72%; margin: 0 calc(var(--space-lg) * -1) 0 auto; }
      .adv3-copy { margin: 0; max-width: none; }
      .adv3-line { display: none; }
      .aud3 { grid-template-columns: 1fr; gap: var(--space-2xl); }
      .aud3-img { min-height: 0; aspect-ratio: 4 / 3; }
      .aud3-page { gap: var(--space-3xl); }
    }
    @media (max-width: 600px) {
      .aud3-stats { grid-template-columns: 1fr; padding: 0; }
      .aud3-stat { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-md); padding: var(--space-lg) 0; }
      .aud3-stat + .aud3-stat { border-left: none; border-top: 1px solid var(--border); padding-left: 0; }
      .aud3-fig { margin-top: 0; font-size: 34px; }
    }

    /* ═══════════════════════════════════════════════════════════
       Round 4 — UX architecture: explorers, steppers, immersive layouts
       ═══════════════════════════════════════════════════════════ */

    /* Nav — Chinese primary, English secondary */
    .nav-item > a { display: flex; flex-direction: column; align-items: center; gap: 3px; line-height: 1.15; letter-spacing: 0; text-transform: none; }
    .nl-zh { font-family: var(--font-body); font-size: 14px; letter-spacing: 0.12em; color: var(--text2); transition: color var(--duration-fast) var(--ease); }
    .nl-en { font-family: var(--font-label); font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--text4); }
    .nav-item:hover .nl-zh, .nav-item:focus-within .nl-zh { color: var(--accent); }
    .nav-links { gap: 40px; }
    .nav-sub a { font-family: var(--font-body); font-size: 14px; letter-spacing: 0.12em; text-transform: none; }
    @media (max-width: 1100px) { .nav-links { gap: 24px; } .nl-zh { letter-spacing: 0.06em; } .nav-sub a { letter-spacing: 0.08em; } }
    .nm-head { font-family: var(--font-body); font-size: 16px; letter-spacing: 0.14em; text-transform: none; }
    .nm-head span small { font-family: var(--font-label); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--text4); margin-left: 10px; }
    .nav-menu .nm-sub a { font-family: var(--font-body); font-size: 14px; letter-spacing: 0.1em; text-transform: none; }

    /* Shared interaction bits */
    .is-hidden { display: none !important; }
    .xfade { position: absolute; inset: 0; opacity: 0; transition: opacity 700ms var(--ease); }
    .xfade.is-active { opacity: 1; }
    .xfade img { position: absolute; inset: 0; }
    .ex-btn { background: none; border: none; cursor: pointer; text-align: left; font: inherit; color: inherit; width: 100%; }
    .kw-inline { font-family: var(--font-label); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); }

    /* Full-screen transitions */
    .band { height: 100vh; height: 100svh; }

    /* ── 02 Brand profile: typography over image ───────────── */
    .ab { padding: var(--space-5xl) 0 var(--space-4xl); }
    .ab-stage { width: min(1240px, 100% - 96px); margin: 0 auto; display: grid; grid-template-columns: repeat(12, 1fr); grid-template-rows: auto auto auto; }
    .ab-img { grid-column: 6 / 13; grid-row: 1 / 4; aspect-ratio: 1 / 1.05; overflow: hidden; position: relative; }
    .ab-img img { position: absolute; inset: 0; object-position: center 20%; }
    .ab-head { grid-column: 1 / 10; grid-row: 1; align-self: start; padding-top: var(--space-3xl); position: relative; z-index: 2; }
    .ab-title { font-family: var(--font-display); font-size: clamp(34px, 4.6vw, 62px); font-weight: 300; line-height: 1.35; letter-spacing: -0.01em; color: var(--text1); }
    .ab-body { grid-column: 1 / 6; grid-row: 3; align-self: end; position: relative; z-index: 2; padding-right: var(--space-xl); padding-bottom: var(--space-xl); }
    .ab-body .body-lg { max-width: 400px; }
    .ab-trig { width: min(1240px, 100% - 96px); margin: var(--space-4xl) auto 0; display: grid; grid-template-columns: 5fr 7fr; gap: var(--space-4xl); align-items: start; border-top: 1px solid var(--border-visible); padding-top: var(--space-2xl); }
    .ab-trig-list { list-style: none; }
    .ab-trig-btn { display: flex; align-items: baseline; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--border); font-family: var(--font-label); font-size: 14px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--text4); transition: color 300ms ease, padding-left 300ms ease; }
    .ab-trig-btn span { color: var(--accent); font-size: 12px; opacity: 0.6; }
    .ab-trig-btn.is-active { color: var(--text1); padding-left: 10px; }
    .ab-trig-btn.is-active span { opacity: 1; }
    .ab-trig-panel { position: relative; min-height: 130px; }
    .ab-trig-pane { position: absolute; inset: 0 auto auto 0; opacity: 0; transform: translateY(8px); transition: opacity 500ms ease, transform 500ms ease; pointer-events: none; font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 30px); font-weight: 300; line-height: 1.7; color: var(--text1); max-width: 520px; }
    .ab-trig-pane.is-active { opacity: 1; transform: none; pointer-events: auto; position: relative; }

    /* ── 03 Mission & Vision: progression ──────────────────── */
    .ms { position: relative; }
    .ms-scene { position: relative; display: grid; grid-template-columns: repeat(12, 1fr); align-items: center; }
    .ms-scene + .ms-scene { margin-top: var(--space-5xl); }
    .ms-1 { min-height: 78vh; }
    .ms-1 .ms-img { grid-column: 8 / 13; grid-row: 1; aspect-ratio: 3 / 4; overflow: hidden; position: relative; }
    .ms-1 .ms-txt { grid-column: 1 / 9; grid-row: 1; position: relative; z-index: 2; }
    .ms-dir { font-family: var(--font-display); font-size: clamp(28px, 3.7vw, 50px); font-weight: 300; line-height: 1.55; color: var(--text1); }
    .ms-img img { position: absolute; inset: 0; object-position: center 30%; }
    .ms-2 .ms-img { grid-column: 2 / 6; grid-row: 1; aspect-ratio: 4 / 5; overflow: hidden; position: relative; mix-blend-mode: multiply; }
    .ms-2 .ms-txt { grid-column: 7 / 13; grid-row: 1; }
    .ms-3 .ms-img { grid-column: 8 / 12; grid-row: 1; aspect-ratio: 4 / 5; overflow: hidden; position: relative; mix-blend-mode: multiply; margin-top: var(--space-4xl); }
    .ms-3 .ms-txt { grid-column: 2 / 8; grid-row: 1; }
    .ms-sup { font-family: var(--font-display); font-size: clamp(22px, 2.5vw, 32px); font-weight: 300; line-height: 1.7; color: var(--text1); }
    .ms-sup-label { display: flex; align-items: center; gap: 16px; margin-bottom: var(--space-lg); font-family: var(--font-label); font-size: 13px; letter-spacing: 0.26em; text-transform: uppercase; color: var(--accent); }
    .ms-sup-label::after { content: ''; width: 48px; border-top: 1px solid var(--accent); }
    .ms-sup-note { display: block; margin-bottom: var(--space-xl); font-family: var(--font-label); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text4); }

    /* ── 04 Services explorer ─────────────────────────────── */
    .sx { padding: var(--space-4xl) 0; background: var(--background); }
    .sx-stage { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-4xl); align-items: start; }
    .sx-index { list-style: none; border-top: 1px solid var(--border-visible); }
    .sx-i { border-bottom: 1px solid var(--border); }
    .sx-head { display: grid; grid-template-columns: 44px 1fr; align-items: baseline; padding: 22px 0; }
    .sx-n { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); }
    .sx-t { font-family: var(--font-display); font-size: clamp(20px, 2vw, 26px); font-weight: 300; color: var(--text3); transition: color 300ms ease, transform 350ms var(--ease); line-height: 1.4; }
    .sx-en { grid-column: 2; font-family: var(--font-label); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text4); margin-top: 3px; }
    .sx-i.is-active .sx-t { color: var(--text1); transform: translateX(6px); }
    .sx-detail { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 500ms var(--ease); }
    .sx-i.is-active .sx-detail { grid-template-rows: 1fr; }
    .sx-detail > div { overflow: hidden; padding-left: 44px; }
    .sx-detail p { font-size: 16px; line-height: 1.95; color: var(--text2); padding-bottom: var(--space-sm); }
    .sx-detail .scope-cell-kw { margin: 0 0 var(--space-lg); color: var(--accent); }
    .sx-media { position: relative; height: clamp(440px, 52vw, 600px); }
    .sx-main { position: absolute; left: 18%; right: 18%; top: 0; bottom: 0; z-index: 2; overflow: hidden; background: var(--surface2); }
    .sx-side { position: absolute; z-index: 1; overflow: hidden; width: 24%; background: var(--surface2); }
    .sx-L { left: 0; top: 14%; height: 58%; }
    .sx-R { right: 0; top: 30%; height: 58%; }
    .sx-side .xfade.is-active { opacity: 0.8; }

    /* ── 05 Delivery stepper ──────────────────────────────── */
    .dv-top { display: grid; grid-template-columns: 6fr 5fr; gap: var(--space-4xl); align-items: end; margin-bottom: var(--space-3xl); }
    .dv-stage { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-4xl); align-items: stretch; outline: none; }
    .dv-text { position: relative; min-height: 420px; display: flex; flex-direction: column; justify-content: space-between; }
    .dv-panes { position: relative; flex: 1; }
    .dv-pane { position: absolute; inset: 0 0 auto 0; opacity: 0; transform: translateY(10px); transition: opacity 500ms ease, transform 500ms ease; pointer-events: none; }
    .dv-pane.is-active { opacity: 1; transform: none; pointer-events: auto; }
    .dv-num { font-family: var(--font-label); font-size: clamp(72px, 9vw, 120px); line-height: 1; color: var(--accent); opacity: 0.5; margin-bottom: var(--space-md); }
    .dv-title { font-family: var(--font-display); font-size: clamp(26px, 3vw, 38px); font-weight: 300; line-height: 1.4; margin-bottom: var(--space-md); }
    .dv-body { font-size: 17px; line-height: 1.95; color: var(--text2); max-width: 440px; }
    .dv-support { margin-top: var(--space-xl); padding-top: var(--space-md); border-top: 1px solid var(--accent); max-width: 440px; font-size: 15px; line-height: 1.85; color: var(--text1); }
    .dv-hint { display: none; }
    @media (hover: hover) and (min-width: 901px) {
      .dv-support { opacity: 0; transform: translateY(6px); transition: opacity 400ms ease, transform 400ms ease; }
      .dv-stage:hover .dv-support, .dv-stage:focus-within .dv-support { opacity: 1; transform: none; }
      .dv-hint { display: block; position: absolute; right: 0; top: 14px; font-family: var(--font-label); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text4); transition: opacity 300ms; }
      .dv-stage:hover .dv-hint { opacity: 0; }
    }
    .dv-media { position: relative; min-height: 420px; overflow: hidden; background: var(--surface2); }
    .dv-media::after { content: ''; position: absolute; inset: 14px; border: 1px solid rgba(253,250,246,0.5); z-index: 2; pointer-events: none; }
    .dv-ctrl { display: flex; align-items: center; gap: var(--space-lg); margin-top: var(--space-xl); }
    .dv-arrow { width: 44px; height: 44px; border: 1px solid var(--border-visible); background: none; cursor: pointer; font-family: var(--font-label); font-size: 18px; color: var(--text2); transition: border-color 250ms, color 250ms; }
    .dv-arrow:hover { border-color: var(--accent); color: var(--accent); }
    .dv-count { font-family: var(--font-label); font-size: 14px; letter-spacing: 0.2em; color: var(--text3); min-width: 64px; text-align: center; }
    .dv-prog { display: flex; gap: 6px; flex: 1; }
    .dv-prog button { flex: 1; height: 22px; background: none; border: none; cursor: pointer; position: relative; }
    .dv-prog button::before { content: ''; position: absolute; left: 0; right: 0; top: 10px; border-top: 1px solid var(--border-visible); transition: border-color 300ms; }
    .dv-prog button.is-active::before { border-top-color: var(--accent); }
    .dv-prog button.is-done::before { border-top-color: var(--accent); opacity: 0.5; }

    /* ── 07 Capability accordion ──────────────────────────── */
    .cx { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--space-4xl); align-items: start; }
    .cx-main { position: sticky; top: 112px; }
    .cx-item { border-top: 1px solid var(--border-visible); }
    .cx-item:last-child { border-bottom: 1px solid var(--border-visible); }
    .cx-head { display: grid; grid-template-columns: 52px 1fr 24px; align-items: baseline; padding: 26px 0; }
    .cx-n { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); }
    .cx-t { font-family: var(--font-display); font-size: clamp(20px, 2.1vw, 26px); font-weight: 300; line-height: 1.4; color: var(--text3); transition: color 300ms ease; }
    .cx-item.is-open .cx-t { color: var(--text1); }
    .cx-head i { font-style: normal; color: var(--accent); font-size: 20px; transition: transform 300ms var(--ease); }
    .cx-item.is-open .cx-head i { transform: rotate(45deg); }
    .cx-panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 550ms var(--ease); }
    .cx-item.is-open .cx-panel { grid-template-rows: 1fr; }
    .cx-panel > .cx-in { overflow: hidden; min-height: 0; padding-left: 52px; }
    .cx-in > p { font-size: 16px; line-height: 1.95; color: var(--text2); margin-bottom: var(--space-xl); max-width: 520px; }
    .cx-in .cb-visual { padding-bottom: var(--space-2xl); }
    .cx-in .tax-compare { column-gap: var(--space-2xl); }
    .cx-in .tax-num { font-size: clamp(40px, 4.4vw, 56px); }
    .cx-in .tax-delta-num { font-size: 30px; }
    .cx-in .tax-statement { display: none; }
    .cx-in .rmb-arrow { min-width: 24px; }
    .cx-in .rmb-node-box { padding: 8px 10px; }
    .cx-in .rmb-node-zh { font-size: 13px; }
    .cx-in .rmb-statement { font-size: 15px; margin-bottom: var(--space-md); }
    .cx-in .vh4-node-en, .cx-in .vh4-center { color: var(--accent); opacity: 1; }
    .cx-in .vh4-node-zh { color: var(--text1); }
    .cx-in .legal-layer-en { color: var(--accent); }
    .cx-in .legal-layer-num { opacity: 1; }
    .cx-in .legal-layer-sub { color: var(--text2); }
    .cx-in .consulting-conclusion { color: var(--text1); }
    .cx-fig { display: flex; align-items: baseline; gap: var(--space-md); margin-bottom: var(--space-md); }
    .cx-big { font-family: var(--font-label); font-size: 64px; line-height: 1; color: var(--accent); }
    .cx-cap { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text3); }

    /* ── 08 Advantage entrance ────────────────────────────── */
    .ae { position: relative; height: 100vh; height: 100svh; min-height: 560px; overflow: hidden; isolation: isolate; display: flex; align-items: flex-end; }
    .ae > img { position: absolute; inset: 0; z-index: -2; object-position: center 55%; }
    .ae::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to right, rgba(28,24,20,0.38), rgba(28,24,20,0.05) 60%); }
    .ae-panel { margin: 0 0 9vh 7vw; max-width: 520px; padding: var(--space-2xl) var(--space-2xl) var(--space-xl); background: rgba(253, 250, 246, 0.82); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border: 1px solid rgba(253,250,246,0.6); }
    .ae-en { font-family: var(--font-label); font-size: clamp(44px, 5.6vw, 80px); line-height: 1; color: var(--text1); margin: var(--space-md) 0 var(--space-md); }
    .ae-en em { display: block; font-style: italic; color: var(--accent); padding-left: 0.8em; }
    .ae-zh { display: flex; align-items: center; gap: 14px; font-family: var(--font-display); font-size: 17px; font-weight: 300; letter-spacing: 0.26em; margin-bottom: var(--space-lg); }
    .ae-zh::before { content: ''; width: 36px; border-top: 1px solid var(--accent); }
    .ae-panel p.t { font-size: 16px; line-height: 1.95; color: var(--text2); }
    .ae-go { display: inline-flex; align-items: center; gap: 10px; margin-top: var(--space-lg); font-size: 14px; letter-spacing: 0.14em; color: var(--text1); border-bottom: 1px solid var(--accent); padding-bottom: 4px; }
    .ae-go:hover { color: var(--accent); }

    /* ── 09 Trust profile switcher ────────────────────────── */
    .ps-entries { display: flex; align-items: flex-start; justify-content: center; gap: var(--space-4xl); margin-top: var(--space-4xl); }
    .ps-entry { width: 260px; flex: none; text-align: left; background: none; border: none; cursor: pointer; transition: width 600ms var(--ease), opacity 500ms ease; padding: 0; color: inherit; font: inherit; }
    .ps-entry:nth-child(2) { margin-top: var(--space-4xl); }
    .ps-sq { position: relative; margin-bottom: var(--space-lg); }
    .ps-sq::before { content: ''; position: absolute; inset: 0; border: 1px solid var(--accent); opacity: 0.55; transform: translate(14px, 14px); transition: transform 500ms var(--ease); }
    .ps-entry:nth-child(2) .ps-sq::before { transform: translate(-14px, 14px); }
    .ps-sq-in { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: var(--surface2); }
    .ps-sq-in img { position: absolute; inset: 0; transition: transform 800ms var(--ease); }
    .ps-entry:hover .ps-sq-in img { transform: scale(1.04); }
    .ps-no { font-family: var(--font-label); font-size: 14px; letter-spacing: 0.2em; color: var(--accent); display: block; margin-bottom: 4px; }
    .ps-h { font-family: var(--font-display); font-size: 22px; font-weight: 300; line-height: 1.4; color: var(--text1); }
    .ps-more { display: block; margin-top: 6px; font-family: var(--font-label); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text4); }
    .ps.has-sel .ps-entry { opacity: 0.45; width: 180px; }
    .ps.has-sel .ps-entry.is-active { opacity: 1; width: 320px; }
    .ps.has-sel .ps-entry.is-active .ps-sq::before { transform: translate(18px, 18px); }
    .ps.has-sel .ps-entry:nth-child(2).is-active .ps-sq::before { transform: translate(-18px, 18px); }
    .ps.has-sel .ps-more { visibility: hidden; }
    .ps-panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 650ms var(--ease); }
    .ps.has-sel .ps-panel { grid-template-rows: 1fr; }
    .ps-panel > div { overflow: hidden; min-height: 0; }
    .ps-pane { display: none; grid-template-columns: 4fr 6fr; gap: var(--space-3xl); padding: var(--space-3xl) 0 0; margin-top: var(--space-3xl); border-top: 1px solid var(--border-visible); }
    .ps-pane.is-active { display: grid; }
    .ps-pane-h { font-family: var(--font-display); font-size: clamp(28px, 3.2vw, 42px); font-weight: 300; line-height: 1.3; }
    .ps-pane .tr-tag { margin: 8px 0 0; }
    .ps-pane .tr-no { color: var(--text4); }

    /* ── 10 Audience: quiet editorial ─────────────────────── */
    .aq-top { display: grid; grid-template-columns: repeat(12, 1fr); align-items: end; }
    .aq-top .section-heading { grid-column: 1 / 8; margin: 0; font-size: clamp(32px, 4vw, 54px); }
    .aq-top .aq-lead { grid-column: 8 / 13; font-size: 17px; line-height: 2; color: var(--text2); padding-bottom: 6px; }
    .aq-img { margin: var(--space-3xl) 0 0 auto; width: 62%; aspect-ratio: 16 / 8; overflow: hidden; position: relative; }
    .aq-img img { position: absolute; inset: 0; object-position: center 24%; }
    .aq-cap { display: grid; grid-template-columns: 3fr 4fr 4fr; gap: var(--space-2xl); margin-top: calc(var(--space-3xl) * -1); position: relative; z-index: 2; align-items: end; }
    .aq-cap-lab { grid-column: 1; background: var(--surface1); padding: var(--space-lg) var(--space-lg) var(--space-lg) 0; }
    .aq-cap-lab .zh { display: block; font-family: var(--font-display); font-size: 16px; font-weight: 300; color: var(--text2); margin-top: -10px; }
    .aq-stat { background: var(--surface1); padding: var(--space-lg) 0; border-top: 1px solid var(--border-visible); }
    .aq-stat .aud3-fig { margin-top: var(--space-sm); }
    .aq-note { margin: var(--space-xl) 0 0 auto; width: 62%; font-size: 14px; line-height: 1.95; color: var(--text3); }

    /* ── 11 Ecosystem explorer ────────────────────────────── */
    .eo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-4xl); margin-top: var(--space-3xl); align-items: start; }
    .eo-list { list-style: none; border-top: 1px solid var(--border-visible); }
    .eo-i { border-bottom: 1px solid var(--border); }
    .eo-btn { display: grid; grid-template-columns: 44px 1fr; align-items: baseline; padding: 20px 0; }
    .eo-n { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); }
    .eo-t { font-family: var(--font-display); font-size: clamp(20px, 2.1vw, 28px); font-weight: 300; color: var(--text3); line-height: 1.4; transition: color 300ms, transform 350ms var(--ease); }
    .eo-d { grid-column: 2; font-size: 14px; color: var(--text4); line-height: 1.8; margin-top: 2px; transition: color 300ms; }
    .eo-i.is-active .eo-t { color: var(--text1); transform: translateX(6px); }
    .eo-i.is-active .eo-d { color: var(--text3); }
    .eo-rail-wrap { background: var(--surface2); padding: var(--space-2xl); min-height: 420px; position: relative; }
    .eo-rail-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-lg); margin-bottom: var(--space-2xl); padding-bottom: var(--space-md); border-bottom: 1px solid var(--border-visible); }
    .eo-rail-head .sub-label { margin: 0; }
    .eo-rail-head .zh { font-family: var(--font-display); font-size: 20px; font-weight: 300; letter-spacing: 0.06em; }
    .eo-rail { display: none; gap: var(--space-2xl); overflow-x: auto; scroll-snap-type: x mandatory; padding: var(--space-md) 4px var(--space-lg); }
    .eo-rail.is-active { display: flex; }
    .eo-rail .pt { flex: none; scroll-snap-align: start; --d: 104px; margin-top: 0; }
    .eo-rail .pt:nth-child(2n) { margin-top: 36px; }
    .eo-rail .pt:nth-child(3n) { --d: 124px; }
    .eo-rail .pt:nth-child(4n) { --d: 88px; }
    .eo-rail .pt-avatar { background: var(--surface3); }

    /* ── 12 Destination explorer ──────────────────────────── */
    .dx-tabs, .wk-tabs { display: flex; gap: var(--space-2xl); margin: var(--space-2xl) 0 var(--space-xl); border-bottom: 1px solid var(--border-visible); }
    .dx-tab, .wk-tab { background: none; border: none; cursor: pointer; padding: 10px 0 14px; font-family: var(--font-display); font-size: 20px; font-weight: 300; letter-spacing: 0.1em; color: var(--text4); position: relative; transition: color 300ms; }
    .dx-tab::after, .wk-tab::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 1px solid var(--accent); opacity: 0; transition: opacity 300ms; }
    .dx-tab.is-active, .wk-tab.is-active { color: var(--text1); }
    .dx-tab.is-active::after, .wk-tab.is-active::after { opacity: 1; }
    .dx-pane { display: none; }
    .dx-pane.is-active { display: block; }
    .dx-lead { max-width: 560px; margin-bottom: var(--space-2xl); }
    .dx-lead .display-lg { margin-bottom: var(--space-md); }
    .dx-stage { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-3xl); align-items: stretch; }
    .dx-list { list-style: none; border-top: 1px solid var(--border-visible); align-self: start; }
    .dx-i { border-bottom: 1px solid var(--border); }
    .dx-btn { display: block; padding: 16px 0; }
    .dx-loc { display: block; font-family: var(--font-label); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--text4); transition: color 300ms; }
    .dx-nm { display: block; font-family: var(--font-display); font-size: 17px; font-weight: 300; color: var(--text3); line-height: 1.5; transition: color 300ms, transform 300ms var(--ease); }
    .dx-i.is-active .dx-loc { color: var(--accent); }
    .dx-i.is-active .dx-nm { color: var(--text1); transform: translateX(6px); }
    .dx-media { position: relative; min-height: 500px; overflow: hidden; background: var(--surface3); }
    .dx-cap { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; padding: var(--space-2xl) var(--space-xl) var(--space-xl); color: #FDFAF6; background: linear-gradient(to top, rgba(28,24,20,0.62), transparent); opacity: 0; transition: opacity 600ms ease; }
    .dx-cap.is-active { opacity: 1; }
    .dx-cap .l { font-family: var(--font-label); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; opacity: 0.85; }
    .dx-cap .n { font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 30px); font-weight: 300; margin: 4px 0; }
    .dx-cap .d { font-size: 15px; opacity: 0.9; }
    .dx-empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--font-label); font-style: italic; font-size: 28px; color: var(--text4); }

    /* ── 13 Journey navigator ─────────────────────────────── */
    .jn { position: relative; height: 100vh; height: 100svh; min-height: 640px; overflow: hidden; isolation: isolate; color: #FDFAF6; outline: none; }
    .jn-bg { position: absolute; inset: 0; z-index: -2; }
    .jn::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(28,24,20,0.7) 0%, rgba(28,24,20,0.2) 55%, rgba(28,24,20,0.35) 100%); }
    .jn-head { position: absolute; top: 112px; left: 7vw; right: 7vw; display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-xl); }
    .jn-head .section-num, .jn-head .section-en { color: rgba(253,250,246,0.75); }
    .jn-head .section-heading { color: #FDFAF6; font-size: clamp(28px, 3.2vw, 42px); margin: 8px 0 0; text-shadow: 0 1px 18px rgba(28,24,20,0.4); }
    .jn-sub { font-size: 15px; line-height: 1.85; color: rgba(253,250,246,0.85); text-align: right; max-width: 280px; }
    .jn-panels { position: absolute; left: 7vw; bottom: 190px; width: min(440px, 86vw); }
    .jn-pane { position: absolute; left: 0; bottom: 0; width: 100%; opacity: 0; transform: translateY(10px); transition: opacity 500ms ease, transform 500ms ease; pointer-events: none; padding: var(--space-xl) var(--space-xl) var(--space-lg); background: rgba(253,250,246,0.82); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); color: var(--text1); }
    .jn-pane.is-active { opacity: 1; transform: none; pointer-events: auto; position: relative; }
    .jn-pane .phase-label { color: var(--accent); }
    .jn-pane .phase-title { font-size: 26px; margin-bottom: 6px; }
    .jn-pane .phase-duration { margin-bottom: var(--space-sm); }
    .jn-pane .phase-body { font-size: 15px; line-height: 1.85; }
    .jn-pane .phase-intensity { margin-top: var(--space-md); }
    .jn-track { position: absolute; left: 7vw; right: 7vw; bottom: 56px; display: flex; align-items: center; gap: var(--space-lg); }
    .jn-arrow { width: 44px; height: 44px; border: 1px solid rgba(253,250,246,0.55); background: none; cursor: pointer; color: #FDFAF6; font-family: var(--font-label); font-size: 18px; transition: background 250ms; flex: none; }
    .jn-arrow:hover { background: rgba(253,250,246,0.15); }
    .jn-steps { display: flex; flex: 1; justify-content: space-between; position: relative; }
    .jn-steps::before { content: ''; position: absolute; left: 0; right: 0; top: 7px; border-top: 1px solid rgba(253,250,246,0.4); }
    .jn-dot { position: relative; background: none; border: none; cursor: pointer; padding: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; color: rgba(253,250,246,0.65); font-family: var(--font-label); font-size: 12px; letter-spacing: 0.16em; flex: 1; }
    .jn-dot i { width: 15px; height: 15px; border-radius: 50%; border: 1px solid rgba(253,250,246,0.8); background: transparent; transition: background 300ms, transform 300ms; }
    .jn-dot.is-active { color: #FDFAF6; }
    .jn-dot.is-active i { background: #FDFAF6; transform: scale(1.25); }
    .jn-dot span { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.08em; max-width: 9em; text-align: center; line-height: 1.4; }

    /* ── 15 Partnership explorer & 16 value ───────────────── */
    .pc { position: relative; height: 80vh; min-height: 480px; overflow: hidden; isolation: isolate; display: flex; align-items: center; justify-content: flex-end; }
    .pc > img { position: absolute; inset: 0; z-index: -2; object-position: center 40%; }
    .pc::after { content: ''; position: absolute; inset: 0; z-index: -1; background: rgba(28,24,20,0.15); }
    .pc-panel { margin-right: 7vw; width: min(460px, 86vw); padding: var(--space-3xl) var(--space-2xl); background: rgba(253,250,246,0.84); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border: 1px solid rgba(253,250,246,0.6); }
    .pm2 { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-4xl); margin-top: var(--space-3xl); align-items: start; }
    .pm2-list { list-style: none; border-top: 1px solid var(--border-visible); }
    .pm2-i { border-bottom: 1px solid var(--border); }
    .pm2-media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--surface2); margin-bottom: var(--space-xl); }
    .pm2-media::before { content: ''; position: absolute; left: -14px; top: -14px; width: 36%; height: 36%; border-left: 1px solid var(--accent); border-top: 1px solid var(--accent); z-index: 3; }
    .pm2-media-wrap { position: sticky; top: 100px; }
    .pm2-tx { position: relative; min-height: 80px; }
    .pm2-tx p { display: none; font-size: 17px; line-height: 1.95; color: var(--text2); }
    .pm2-tx p.is-active { display: block; }
    .pv { position: relative; padding: var(--space-4xl) 0; }
    .pv-grid { position: relative; display: grid; grid-template-columns: repeat(12, 1fr); row-gap: var(--space-3xl); margin-top: var(--space-3xl); }
    .pv-img { position: absolute; right: 0; top: 6%; width: 46%; aspect-ratio: 4 / 5; overflow: hidden; z-index: 0; }
    .pv-img img { position: absolute; inset: 0; object-position: 40% center; }
    .pv-item { position: relative; z-index: 1; padding-top: var(--space-md); border-top: 1px solid var(--border-visible); }
    .pv-item:nth-of-type(1) { grid-column: 1 / 6; }
    .pv-item:nth-of-type(2) { grid-column: 6 / 11; margin-top: var(--space-4xl); background: rgba(247,242,234,0.88); padding: var(--space-lg); }
    .pv-item:nth-of-type(3) { grid-column: 2 / 7; }
    .pv-item:nth-of-type(4) { grid-column: 7 / 12; margin-top: var(--space-3xl); }
    .pv-n { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); margin-bottom: var(--space-sm); }
    .pv-t { font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 30px); font-weight: 300; line-height: 1.45; margin-bottom: var(--space-sm); }
    .pv-b { font-size: 16px; line-height: 1.9; color: var(--text2); }

    /* ── 17 Work gallery & case detail ────────────────────── */
    .wk { width: min(1320px, 100% - 64px); margin: 0 auto; }
    .wk-gallery { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--space-3xl) var(--space-xl); margin-top: var(--space-2xl); }
    .cg { margin: 0; cursor: pointer; background: none; border: none; text-align: left; font: inherit; color: inherit; padding: 0; }
    .cg-frame { position: relative; overflow: hidden; background: var(--surface2); }
    .cg-frame img { position: absolute; inset: 0; transition: transform 1000ms var(--ease); }
    .cg:hover .cg-frame img { transform: scale(1.03); }
    .cg-full { grid-column: 1 / -1; } .cg-full .cg-frame { aspect-ratio: 21 / 9; }
    .cg-portrait { grid-column: 2 / 7; } .cg-portrait .cg-frame { aspect-ratio: 4 / 5; }
    .cg-landscape { grid-column: 7 / 13; margin-top: var(--space-5xl); } .cg-landscape .cg-frame { aspect-ratio: 3 / 2; }
    .cg-wide { grid-column: 1 / 9; } .cg-wide .cg-frame { aspect-ratio: 16 / 10; }
    .cg-tall { grid-column: 9 / 13; margin-top: var(--space-4xl); } .cg-tall .cg-frame { aspect-ratio: 3 / 4; }
    .cg-cap { display: flex; justify-content: space-between; gap: var(--space-md); margin-top: var(--space-md); align-items: baseline; }
    .cg-t { font-family: var(--font-display); font-size: 22px; font-weight: 300; }
    .cg-s { font-size: 14px; color: var(--text3); }
    .cg-c { font-family: var(--font-label); font-style: italic; font-size: 14px; color: var(--text3); white-space: nowrap; }
    .wk-pane { display: none; } .wk-pane.is-active { display: block; }
    .cd { position: fixed; inset: 0; z-index: 400; background: var(--background); overflow-y: auto; opacity: 0; visibility: hidden; transition: opacity 400ms ease, visibility 400ms; }
    .cd.is-open { opacity: 1; visibility: visible; }
    .cd-close { position: fixed; top: 20px; right: 28px; z-index: 2; background: rgba(253,250,246,0.85); border: 1px solid var(--border-visible); padding: 10px 20px; cursor: pointer; font-family: var(--font-body); font-size: 14px; letter-spacing: 0.14em; color: var(--text1); }
    .cd-hero { position: relative; height: 80vh; min-height: 420px; background: var(--surface2); overflow: hidden; }
    .cd-hero img { position: absolute; inset: 0; }
    .cd-wrap { width: min(1080px, 100% - 64px); margin: 0 auto; padding: var(--space-3xl) 0 var(--space-4xl); }
    .cd-title { font-family: var(--font-display); font-size: clamp(30px, 4vw, 52px); font-weight: 300; line-height: 1.4; }
    .cd-info { display: flex; flex-wrap: wrap; gap: var(--space-lg) var(--space-3xl); margin: var(--space-xl) 0 var(--space-3xl); padding-top: var(--space-md); border-top: 1px solid var(--border-visible); }
    .cd-info dt { font-family: var(--font-label); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text3); }
    .cd-info dd { font-size: 16px; }
    .cd-sec { display: grid; grid-template-columns: 2fr 7fr; gap: var(--space-2xl); padding: var(--space-2xl) 0; border-top: 1px solid var(--border); }
    .cd-gallery { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--space-lg); margin: var(--space-3xl) 0; }
    .cd-gallery figure { margin: 0; position: relative; overflow: hidden; }
    .cd-gallery .g-full { grid-column: 1 / -1; aspect-ratio: 16 / 9; } .cd-gallery .g-p { grid-column: span 5; aspect-ratio: 4 / 5; } .cd-gallery .g-l { grid-column: span 7; aspect-ratio: 3 / 2; }
    .cd-gallery img { position: absolute; inset: 0; }
    .cd-credits { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--space-md) var(--space-xl); }
    .cd-next { margin-top: var(--space-3xl); padding: var(--space-2xl) 0; border-top: 1px solid var(--border-visible); display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-lg); background: none; border-left: none; border-right: none; border-bottom: none; width: 100%; cursor: pointer; text-align: left; color: inherit; font: inherit; }
    .cd-next .t { font-family: var(--font-display); font-size: 26px; font-weight: 300; }
    body.cd-lock { overflow: hidden; }

    /* ── 18 Privacy: full-screen + floating panel ─────────── */
    .pr { position: relative; min-height: 100vh; min-height: 100svh; overflow: hidden; isolation: isolate; display: flex; align-items: center; }
    .pr > img { position: absolute; inset: 0; z-index: -2; object-position: center 40%; }
    .pr::after { content: ''; position: absolute; inset: 0; z-index: -1; background: rgba(28,24,20,0.18); }
    .pr-panel { margin-left: 7vw; width: min(540px, 86vw); padding: var(--space-3xl) var(--space-2xl); background: rgba(253,250,246,0.84); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border: 1px solid rgba(253,250,246,0.6); margin-top: 10vh; margin-bottom: 8vh; }

    /* ── 20 Contact ───────────────────────────────────────── */
    .nx .nextsteps-hero { height: 420px; }
    #contact-partner, .contact-begin { scroll-margin-top: 90px; }

    /* ═════ responsive ═════ */
    @media (max-width: 900px) {
      .ab { padding: var(--space-4xl) 0 var(--space-3xl); }
      .ab-stage { width: calc(100% - 48px); grid-template-columns: 1fr; }
      .ab-img { grid-column: 1; grid-row: 2; aspect-ratio: 4 / 4.4; margin: 0 -24px 0 var(--space-3xl); }
      .ab-head { grid-column: 1; grid-row: 1; padding-top: 0; margin-bottom: var(--space-lg); }
      .ab-body { grid-column: 1; grid-row: 3; padding: var(--space-xl) 0 0; }
      .ab-body .body-lg { max-width: none; }
      .ab-trig { width: calc(100% - 48px); grid-template-columns: 1fr; gap: var(--space-xl); margin-top: var(--space-3xl); }
      .ab-trig-btn { font-size: 13px; min-height: 52px; }
      .ab-trig-panel { min-height: 0; }
      .ab-trig-pane { font-size: 21px; }
      .ms-scene { display: block; }
      .ms-1 { min-height: 0; }
      .ms-1 .ms-img { width: 66%; margin: var(--space-xl) 0 0 auto; }
      .ms-2 .ms-img, .ms-3 .ms-img { width: 56%; margin: 0 0 var(--space-xl); }
      .ms-3 .ms-img { margin-left: auto; margin-top: 0; }
      .ms-scene + .ms-scene { margin-top: var(--space-4xl); }
      .sx-stage { grid-template-columns: 1fr; gap: var(--space-2xl); }
      .sx-media { order: -1; height: 360px; }
      .sx-main { left: 16%; right: 16%; }
      .dv-top, .dv-stage { grid-template-columns: 1fr; gap: var(--space-xl); }
      .dv-media { order: -1; min-height: 0; aspect-ratio: 4 / 3; }
      .dv-text { min-height: 0; }
      .dv-panes { min-height: 330px; flex: none; }
      .cx { grid-template-columns: 1fr; gap: var(--space-2xl); }
      .cx-main { position: static; }
      .cx-panel > .cx-in { padding-left: 0; }
      .ae-panel { margin: 0 var(--space-lg) 6vh; padding: var(--space-xl); }
      .ps-entries { gap: var(--space-xl); margin-top: var(--space-3xl); }
      .ps-entry { width: 44vw; max-width: 220px; }
      .ps.has-sel .ps-entry { width: 30vw; }
      .ps.has-sel .ps-entry.is-active { width: 54vw; }
      .ps-entry:nth-child(2) { margin-top: var(--space-2xl); }
      .ps-pane { grid-template-columns: 1fr; gap: var(--space-lg); }
      .aq-top { display: block; }
      .aq-top .aq-lead { margin-top: var(--space-xl); }
      .aq-img { width: 100%; aspect-ratio: 4 / 3; }
      .aq-cap { grid-template-columns: 1fr 1fr; margin-top: var(--space-xl); gap: var(--space-lg); }
      .aq-cap-lab { grid-column: 1 / -1; padding: 0; }
      .aq-note { width: 100%; }
      .eo { grid-template-columns: 1fr; gap: var(--space-2xl); }
      .eo-rail-wrap { padding: var(--space-xl); min-height: 0; }
      .dx-stage { grid-template-columns: 1fr; gap: var(--space-xl); }
      .dx-media { order: -1; min-height: 0; aspect-ratio: 4 / 3; }
      .jn-head { top: 92px; flex-direction: column; }
      .jn-sub { text-align: left; max-width: none; }
      .jn-panels { bottom: 150px; left: var(--space-lg); right: var(--space-lg); width: auto; }
      .jn-track { left: var(--space-lg); right: var(--space-lg); bottom: 36px; gap: var(--space-md); }
      .jn-dot span { display: none; }
      .pc { justify-content: center; height: auto; min-height: 70vh; padding: var(--space-3xl) 0; }
      .pc-panel { margin: 0 var(--space-lg); padding: var(--space-2xl) var(--space-xl); }
      .pm2 { grid-template-columns: 1fr; gap: var(--space-xl); }
      .pm2-media-wrap { position: static; order: -1; }
      .pv-img { position: relative; width: 70%; margin: 0 0 var(--space-xl) auto; top: 0; }
      .pv-grid { display: block; }
      .pv-item:nth-of-type(n) { margin: 0 0 var(--space-2xl); background: none; padding: var(--space-md) 0 0; }
      .pv-item:nth-of-type(even) { margin-left: 12%; }
      .wk { width: calc(100% - 40px); }
      .wk-gallery { gap: var(--space-2xl) var(--space-md); }
      .cg-full .cg-frame { aspect-ratio: 4 / 3; }
      .cg-portrait { grid-column: 1 / 10; } .cg-landscape { grid-column: 4 / 13; margin-top: 0; }
      .cg-wide { grid-column: 1 / -1; } .cg-tall { grid-column: 3 / 12; margin-top: 0; }
      .cd-sec { grid-template-columns: 1fr; gap: var(--space-md); }
      .cd-gallery .g-p, .cd-gallery .g-l { grid-column: 1 / -1; }
      .pr { align-items: flex-end; }
      .pr-panel { margin: 0 var(--space-lg) var(--space-2xl); padding: var(--space-xl); }
    }
    @media (max-width: 600px) {
      .nx .nextsteps-hero { height: 280px; }
      .dx-tab, .wk-tab { font-size: 18px; }
      .dx-list { display: flex; overflow-x: auto; border-top: none; gap: var(--space-lg); scroll-snap-type: x proximity; padding-bottom: 8px; }
      .dx-i { flex: none; border-bottom: 1px solid var(--border); scroll-snap-align: start; min-width: 150px; }
      .dx-i.is-active { border-bottom-color: var(--accent); }
      .dv-count { min-width: 48px; }
      .ae-en { font-size: 44px; }
    }
    /* grid children may shrink (horizontally scrolling rails must not widen the page) */
    .cx > *, .sx-stage > *, .pm2 > *, .dx-stage > *, .dv-stage > *, .eo > *, .ab-trig > *, .ps-pane > * { min-width: 0; }
    @media (max-width: 900px) {
      .eo, .sx-stage, .pm2, .dx-stage, .dv-stage, .cx { grid-template-columns: minmax(0, 1fr); }
    }
    @media (max-width: 600px) {
      .cx-in .vh4-center { padding: 6px 8px; font-size: 10px; letter-spacing: 0.08em; }
      .cx-in .vh4-side { padding: 0 4px; min-width: 0; }
      .cx-in .vh4-hline { min-width: 4px; }
      .cx-in .vh4-node-en { font-size: 9px; letter-spacing: 0.08em; }
      .cx-in .vh4-node-zh { font-size: 13px; }
      .cx-in .tax-compare { column-gap: var(--space-md); }
      .cx-in .tax-num { font-size: clamp(34px, 11vw, 48px); }
      .cx-in .tax-delta-num { font-size: 22px; }
      .cx-in .tax-col-sub { font-size: 12px; }
    }

#scroll-progress {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 0%;
      height: 2px;
      background: var(--accent);
      opacity: 0.6;
      z-index: 500;
      pointer-events: none;
      transition: width 80ms linear;
    }
  

    /* ═══════════════════════════════════════════════════════════
       Round 5 — English primary nav, multi-page, typography restore
       ═══════════════════════════════════════════════════════════ */
    a.nav-brand { text-decoration: none; }
    .nav-links { gap: 48px; }
    .nav-item > a {
      display: block; line-height: normal;
      font-family: var(--font-label); font-size: var(--text-label); font-weight: 400;
      letter-spacing: 0.18em; text-transform: uppercase; color: var(--text3);
    }
    .nav-item:hover > a, .nav-item:focus-within > a, .nav-item.is-current > a { color: var(--accent); }
    @media (max-width: 1180px) { .nav-links { gap: 28px; } }
    @media (max-width: 1100px) { .nav-links { gap: 20px; } .nav-item > a { letter-spacing: 0.12em; } }
    .nm-head { font-family: var(--font-label); font-size: 15px; font-weight: 400; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text2); }
    .nm-group.is-current .nm-head { color: var(--accent); }

    /* typography fixes: headings never fall back to browser-bold; CJK inside Cormorant labels uses the CJK sans */
    h1, h2, h3, h4, h5, h6 { font-weight: 300; }
    .ae-en { font-weight: 400; }
    .cx-cap, .rmb-tab { font-family: var(--font-label), var(--font-body); }

    /* page-to-page strip */

    /* home — gateway previews */
    .hm-cta { display: inline-flex; align-items: center; gap: 12px; margin-top: var(--space-xl); padding-bottom: 6px; border-bottom: 1px solid var(--accent); font-family: var(--font-label); font-size: 13px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--text1); transition: color 300ms ease, gap 400ms var(--ease); }
    .hm-cta:hover { color: var(--accent); gap: 20px; }
    .hm-intro { width: min(1180px, 100% - 96px); margin: 0 auto; padding: var(--space-5xl) 0; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-4xl); align-items: center; }
    .hm-img { position: relative; overflow: hidden; aspect-ratio: 4 / 5; }
    .hm-img img { position: absolute; inset: 0; object-position: center 20%; }
    .hm-svc-list { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 var(--space-xl); margin-top: var(--space-3xl); }
    .hm-svc-list li { border-top: 1px solid var(--border-visible); padding-top: var(--space-md); }
    .hm-svc-n { display: block; font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); margin-bottom: 6px; }
    .hm-svc-t { font-family: var(--font-display); font-size: clamp(18px, 1.8vw, 22px); font-weight: 300; line-height: 1.5; color: var(--text1); }
    .hm-work { width: min(1180px, 100% - 96px); margin: 0 auto; padding: var(--space-5xl) 0; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-4xl); align-items: center; }
    .hm-work-img { position: relative; overflow: hidden; aspect-ratio: 3 / 2; }
    .hm-work-img img { position: absolute; inset: 0; object-position: 60% center; }
    .hm-work-cap { display: flex; justify-content: space-between; align-items: baseline; margin-top: var(--space-md); }
    .ae.ae--home { height: 86vh; height: 86svh; }
    .closing .btn-primary { margin-top: var(--space-2xl); background: rgba(253, 250, 246, 0.92); color: var(--text1); }
    .closing .btn-primary:hover { background: var(--accent); color: #FDFAF6; }
    @media (max-width: 900px) {
      .nav-links { display: none; }
      .hm-intro, .hm-work { width: calc(100% - 48px); grid-template-columns: minmax(0, 1fr); gap: var(--space-2xl); padding: var(--space-4xl) 0; }
      .hm-img { aspect-ratio: 4 / 3; }
      .hm-svc-list { grid-template-columns: 1fr 1fr; gap: var(--space-lg) var(--space-lg); }
      .ae.ae--home { height: auto; min-height: 80vh; padding: var(--space-4xl) 0 var(--space-3xl); }
    }


    /* ═══════════════════════════════════════════════════════════
       Round 6 — landing pages, sub-page openings, global footer
       ═══════════════════════════════════════════════════════════ */

    /* sub-page opening */
    .po { position: relative; min-height: 54vh; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; isolation: isolate; padding: 160px 7vw var(--space-3xl); }
    .po > img { position: absolute; inset: 0; z-index: -2; object-position: center 40%; }
    .po::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(28,24,20,0.66), rgba(28,24,20,0.16) 62%, rgba(28,24,20,0.28)); }
    .po-crumb { display: flex; flex-wrap: wrap; gap: 10px; font-family: var(--font-label), var(--font-body); font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(253,250,246,0.78); }
    .po-crumb a { color: inherit; border-bottom: 1px solid rgba(253,250,246,0.4); }
    .po-crumb a:hover { color: #FDFAF6; }
    .po-t { font-family: var(--font-display); font-size: clamp(34px, 5vw, 64px); font-weight: 300; line-height: 1.3; color: #FDFAF6; margin: 14px 0 10px; text-shadow: 0 1px 20px rgba(28,24,20,0.35); }
    .po-line { font-size: 17px; line-height: 1.9; color: rgba(253,250,246,0.9); max-width: 620px; }
    .back-link { display: inline-block; margin-bottom: var(--space-md); font-family: var(--font-label), var(--font-body); font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(253,250,246,0.8); border-bottom: 1px solid rgba(253,250,246,0.4); }

    /* landing pages */
    .ld { padding: 150px 0 var(--space-5xl); }
    .ld-head { width: min(1180px, 100% - 96px); margin: 0 auto var(--space-4xl); }
    .ld-title { font-family: var(--font-display); font-size: clamp(40px, 6vw, 84px); font-weight: 300; line-height: 1.2; letter-spacing: -0.01em; margin: 14px 0 var(--space-lg); }
    .ld-line { font-size: 17px; line-height: 2; color: var(--text2); max-width: 520px; }
    .ld-two { width: min(1180px, 100% - 96px); margin: 0 auto; display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--space-xl); }
    .ld-entry { display: block; color: inherit; position: relative; }
    .ld-img { position: relative; overflow: hidden; background: var(--surface2); }
    .ld-img img { position: absolute; inset: 0; transition: transform 1200ms var(--ease); }
    .ld-entry:hover .ld-img img { transform: scale(1.045); }
    .ld-body { padding-top: var(--space-lg); }
    .ld-n { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); }
    .ld-t { font-family: var(--font-display); font-size: clamp(26px, 3vw, 38px); font-weight: 300; line-height: 1.35; margin: 4px 0 4px; transition: transform 500ms var(--ease); }
    .ld-entry:hover .ld-t { transform: translateX(8px); }
    .ld-en { font-family: var(--font-label); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text4); }
    .ld-p { font-size: 15px; line-height: 1.9; color: var(--text2); margin-top: var(--space-sm); max-width: 440px; }
    .ld-go { display: inline-flex; gap: 10px; align-items: center; margin-top: var(--space-md); font-family: var(--font-label); font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--accent); transition: gap 400ms var(--ease); }
    .ld-entry:hover .ld-go { gap: 18px; }
    .ld-two .a { grid-column: 1 / 7; } .ld-two .a .ld-img { aspect-ratio: 4 / 5; }
    .ld-two .b { grid-column: 8 / 13; margin-top: var(--space-5xl); } .ld-two .b .ld-img { aspect-ratio: 3 / 4; }
    .ld-two--wide .a { grid-column: 1 / 7; } .ld-two--wide .a .ld-img { aspect-ratio: 4 / 3; }
    .ld-two--wide .b { grid-column: 7 / 13; margin-top: var(--space-4xl); } .ld-two--wide .b .ld-img { aspect-ratio: 4 / 3; }
    /* services landing: index + dynamic image */
    .ld-ix { width: min(1180px, 100% - 96px); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-4xl); align-items: start; }
    .ld-ix-list { list-style: none; border-top: 1px solid var(--border-visible); }
    .ld-ix-link { display: grid; grid-template-columns: 52px 1fr 28px; gap: 4px var(--space-md); align-items: baseline; padding: 30px 0; border-bottom: 1px solid var(--border); color: inherit; }
    .ld-ix-link .n { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); }
    .ld-ix-link .t { font-family: var(--font-display); font-size: clamp(26px, 3vw, 40px); font-weight: 300; line-height: 1.3; color: var(--text3); transition: color 300ms ease, transform 500ms var(--ease); }
    .ld-ix-link .go { font-family: var(--font-label); font-size: 18px; color: var(--accent); opacity: 0; transform: translateX(-6px); transition: opacity 300ms, transform 400ms var(--ease); }
    .ld-ix-link .p { grid-column: 2; font-size: 15px; line-height: 1.8; color: var(--text4); transition: color 300ms; }
    .ld-ix-list li.is-active .t { color: var(--text1); transform: translateX(8px); }
    .ld-ix-list li.is-active .go { opacity: 1; transform: none; }
    .ld-ix-list li.is-active .p { color: var(--text3); }
    .ld-ix-media { position: sticky; top: 100px; aspect-ratio: 4 / 5; overflow: hidden; background: var(--surface2); }
    .ld-ix-media::before { content: ''; position: absolute; left: 14px; top: 14px; right: 14px; bottom: 14px; border: 1px solid rgba(253,250,246,0.5); z-index: 3; pointer-events: none; }
    /* advantage landing: staggered image tiles */
    .ld-tiles { width: min(1180px, 100% - 96px); margin: var(--space-5xl) auto 0; display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--space-3xl) var(--space-xl); }
    .ld-tile { position: relative; display: block; overflow: hidden; color: #FDFAF6; background: var(--surface3); }
    .ld-tile img { position: absolute; inset: 0; transition: transform 1200ms var(--ease); }
    .ld-tile:hover img { transform: scale(1.05); }
    .ld-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(28,24,20,0.68), transparent 60%); }
    .ld-tile .in { position: absolute; left: var(--space-xl); right: var(--space-xl); bottom: var(--space-xl); z-index: 2; }
    .ld-tile .ld-n { color: rgba(253,250,246,0.8); }
    .ld-tile .ld-t { color: #FDFAF6; font-size: clamp(24px, 2.6vw, 34px); }
    .ld-tile .ld-p { color: rgba(253,250,246,0.88); font-size: 14px; }
    .ld-tile .ld-go { color: #FDFAF6; }
    .ld-tile:hover .ld-t { transform: translateX(8px); }
    .ld-tile:hover .ld-go { gap: 18px; }
    .ld-tile:nth-child(1) { grid-column: 1 / 6; aspect-ratio: 1 / 1; }
    .ld-tile:nth-child(2) { grid-column: 7 / 13; aspect-ratio: 4 / 5; margin-top: var(--space-4xl); }
    .ld-tile:nth-child(3) { grid-column: 2 / 8; aspect-ratio: 4 / 3; }
    .ld-tile:nth-child(4) { grid-column: 9 / 13; aspect-ratio: 3 / 4; margin-top: calc(var(--space-3xl) * -1); }
    /* work landing: wide tiles */
    .ld-wide { width: min(1180px, 100% - 96px); margin: 0 auto var(--space-3xl); display: block; position: relative; overflow: hidden; aspect-ratio: 21 / 9; color: #FDFAF6; background: var(--surface3); }
    .ld-wide img { position: absolute; inset: 0; transition: transform 1400ms var(--ease); }
    .ld-wide:hover img { transform: scale(1.04); }
    .ld-wide::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to right, rgba(28,24,20,0.55), transparent 62%); }
    .ld-wide .in { position: absolute; left: var(--space-3xl); bottom: var(--space-2xl); z-index: 2; max-width: 440px; }
    .ld-wide .ld-n, .ld-wide .ld-go { color: rgba(253,250,246,0.88); }
    .ld-wide .ld-t { color: #FDFAF6; font-size: clamp(30px, 4vw, 52px); }
    .ld-wide:hover .ld-t { transform: translateX(8px); }

    /* global footer */

    /* case page */
    .cp .cd-hero { margin-top: 0; }
    .cp .cd-wrap { padding-top: var(--space-3xl); }

    @media (max-width: 900px) {
      .po { min-height: 46vh; padding: 120px var(--space-lg) var(--space-2xl); }
      .ld { padding: 110px 0 var(--space-4xl); }
      .ld-head, .ld-two, .ld-ix, .ld-tiles, .ld-wide { width: calc(100% - 48px); }
      .ld-head { margin-bottom: var(--space-3xl); }
      .ld-two { grid-template-columns: 1fr; gap: var(--space-3xl); }
      .ld-two .a, .ld-two .b, .ld-two--wide .a, .ld-two--wide .b { grid-column: 1; margin-top: 0; }
      .ld-two .b { width: 82%; margin-left: auto; }
      .ld-ix { grid-template-columns: minmax(0, 1fr); gap: var(--space-2xl); }
      .ld-ix-media { position: relative; top: 0; order: -1; aspect-ratio: 4 / 3; }
      .ld-ix-link { padding: 22px 0; }
      .ld-ix-link .go { opacity: 1; transform: none; }
      .ld-tiles { grid-template-columns: 1fr; gap: var(--space-xl); margin-top: var(--space-3xl); }
      .ld-tile:nth-child(n) { grid-column: 1; margin-top: 0; aspect-ratio: 4 / 3; }
      .ld-tile:nth-child(2n) { width: 88%; margin-left: auto; }
      .ld-wide { aspect-ratio: 4 / 3; }
      .ld-wide .in { left: var(--space-lg); bottom: var(--space-lg); }
      .ps-entries { gap: var(--space-md); }
    }


    /* ═══════════════════════════════════════════════════════════
       Round 7 — simplified hierarchy, home rhythm, About / Ecosystem / Destinations
       ═══════════════════════════════════════════════════════════ */
    .nm-single { display: flex; align-items: center; min-height: 52px; border-bottom: 1px solid var(--border); font-family: var(--font-label); font-size: 15px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text2); }
    .nm-single.is-current { color: var(--accent); }
    .nav-menu .nm-single { display: flex; }

    /* home — full-screen image + very light floating panel */
    .fs { position: relative; height: 88vh; height: 88svh; min-height: 520px; overflow: hidden; isolation: isolate; display: flex; }
    .fs > img { position: absolute; inset: 0; z-index: -2; object-position: center 45%; }
    .fs::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to bottom, rgba(28,24,20,0.18), transparent 38%, rgba(28,24,20,0.16)); }
    .fp { width: min(470px, 86vw); padding: var(--space-2xl); background: rgba(253, 250, 246, 0.24); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(253,250,246, 0.5); }
    .fs--bl { align-items: flex-end; justify-content: flex-start; } .fs--bl .fp { margin: 0 0 7vh 7vw; }
    .fs--br { align-items: flex-end; justify-content: flex-end; } .fs--br .fp { margin: 0 7vw 7vh 0; }
    .fp { width: min(400px, 86vw); padding: 26px 30px 28px; }
    .fp .section-label { margin-bottom: 10px; }
    .fp .section-heading { margin: 0 0 12px; line-height: 1.4; }
    .fp .section-rule { margin: 0 0 12px; }
    .fp .body-lg { font-size: 14px; line-height: 1.85; margin: 0; }
    .fp .hm-cta { margin-top: 16px; }
    .hm-intro--r { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
    .hm-intro--r .hm-img { order: 2; }
    .hm-en { font-family: var(--font-label); font-size: clamp(40px, 5vw, 68px); font-weight: 400; line-height: 1; color: var(--text1); margin: var(--space-md) 0; }
    .hm-en em { display: block; font-style: italic; color: var(--accent); padding-left: 0.8em; }
    .hm-zh { display: flex; align-items: center; gap: 14px; font-family: var(--font-display); font-size: 17px; font-weight: 300; letter-spacing: 0.26em; margin-bottom: var(--space-lg); }
    .hm-zh::before { content: ''; width: 36px; border-top: 1px solid var(--accent); }

    /* About — brand profile with secondary images */
    .abx-stage { width: min(1240px, 100% - 96px); margin: 0 auto; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-lg); grid-template-rows: auto auto 1fr; }
    .abx-main { grid-column: 6 / 13; grid-row: 1 / 4; width: 100%; aspect-ratio: 1 / 1.1; position: relative; overflow: hidden; margin: 0; }   /* the largest image on the page */
    .abx-main img, .abx-a img { position: absolute; inset: 0; }
    .abx-head { grid-column: 1 / 6; grid-row: 1; padding-top: var(--space-3xl); position: relative; z-index: 3; }
    .abx-body { grid-column: 1 / 6; grid-row: 2; padding-right: var(--space-lg); position: relative; z-index: 2; }
    .abx-body .body-lg { max-width: 400px; }
    .abx-a { grid-column: 2 / 6; grid-row: 3; align-self: end; width: 100%; aspect-ratio: 4 / 5; margin: calc(var(--space-xl) + 84px) 0 0; position: relative; left: -44px; overflow: hidden; z-index: 2; }   /* bottom-aligned with the large image, clearly smaller */
    .ms-en { font-family: var(--font-label); font-size: clamp(30px, 4vw, 52px); font-weight: 400; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text1); margin-bottom: var(--space-3xl); }
    #philosophy.section-lg { padding-top: var(--space-4xl); }

    /* Destinations — editorial collage */
    .dc-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--space-3xl) var(--space-xl); margin-top: var(--space-2xl); align-items: start; }
    .dc { margin: 0; }
    .dc-img { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: var(--surface3); }
    .dc-img img { position: absolute; inset: 0; transition: transform 1100ms var(--ease); }
    .dc:hover .dc-img img { transform: scale(1.04); }
    .dc-cap { padding-top: var(--space-md); }
    .dc-name { font-family: var(--font-display); font-size: clamp(18px, 1.8vw, 24px); font-weight: 300; line-height: 1.5; margin: 4px 0 2px; }
    .dc-desc { font-size: 14px; line-height: 1.8; color: var(--text3); }
    .dc-site { display: inline-block; margin-top: var(--space-sm); font-size: 13px; letter-spacing: 0.1em; color: var(--text4); border-bottom: 1px dotted var(--border-visible); }
    a.dc-site { color: var(--accent); border-bottom: 1px solid var(--accent); }
    .dc:nth-child(1) { grid-column: 1 / 8; }
    .dc:nth-child(2) { grid-column: 8 / 13; margin-top: var(--space-4xl); }
    .dc:nth-child(3) { grid-column: 1 / 5; }
    .dc:nth-child(4) { grid-column: 5 / 9; margin-top: var(--space-3xl); }
    .dc:nth-child(5) { grid-column: 9 / 13; }
    .dc:nth-child(6) { grid-column: 1 / 6; margin-top: var(--space-xl); }
    .dc:nth-child(7) { grid-column: 6 / 13; margin-top: var(--space-3xl); }
    .dc:nth-child(8) { grid-column: 4 / 10; }
    .dc:nth-child(n+9) { grid-column: span 4; }
    .dc-empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--font-label); font-style: italic; font-size: 28px; color: var(--text4); }

    /* Ecosystem — curated network */
    .ec { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-4xl); margin-top: var(--space-4xl); align-items: start; }
    .ec-index { list-style: none; }
    .ec-i { border-top: 1px solid var(--border-visible); }
    .ec-i:last-child { border-bottom: 1px solid var(--border-visible); }
    .ec-btn { display: grid; grid-template-columns: 38px 1fr; align-items: baseline; padding: 20px 0; }
    .ec-n { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); }
    .ec-t { font-family: var(--font-display); font-size: clamp(20px, 2.1vw, 28px); font-weight: 300; line-height: 1.4; color: var(--text3); transition: color 300ms, transform 400ms var(--ease); }
    .ec-d { grid-column: 2; font-size: 14px; line-height: 1.8; color: var(--text4); max-height: 0; opacity: 0; overflow: hidden; transition: max-height 450ms var(--ease), opacity 300ms; }
    .ec-i.is-active .ec-t { color: var(--text1); transform: translateX(6px); }
    .ec-i.is-active .ec-d { max-height: 60px; opacity: 1; margin-top: 4px; color: var(--text3); }
    .ec-stage { position: relative; background: var(--surface2); padding: var(--space-2xl); min-height: 560px; overflow: hidden; }
    .ec-title { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-lg); padding-bottom: var(--space-md); border-bottom: 1px solid var(--border-visible); }
    .ec-title .sub-label { margin: 0; }
    .ec-title .zh { font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 30px); font-weight: 300; letter-spacing: 0.06em; }
    .ec-art { position: absolute; right: var(--space-2xl); bottom: var(--space-2xl); width: 36%; aspect-ratio: 4 / 3; overflow: hidden; opacity: 0.9; }
    .ec-art img { position: absolute; inset: 0; object-position: 30% center; }
    .ec-art::before { content: ''; position: absolute; inset: 10px; border: 1px solid rgba(253,250,246,0.55); z-index: 2; }
    .ec-field { display: none; flex-wrap: wrap; align-items: flex-start; gap: var(--space-2xl) var(--space-3xl); padding: var(--space-3xl) 0 0; width: 62%; }
    .ec-field.is-active { display: flex; }
    .ec-field .pt { --d: 100px; margin: 0; width: var(--d); }
    .ec-field .pt:nth-child(1) { --d: 150px; }
    .ec-field .pt:nth-child(2) { --d: 84px; margin-top: 46px; }
    .ec-field .pt:nth-child(3) { --d: 116px; margin-top: 12px; }
    .ec-field .pt:nth-child(4) { --d: 92px; margin-top: -8px; }
    .ec-field .pt:nth-child(5) { --d: 128px; }
    .ec-field .pt:nth-child(6) { --d: 80px; margin-top: 30px; }
    .ec-field .pt:nth-child(n+7) { --d: 96px; }

    /* brand profile — what we create / connect / serve: a light colophon line, no boxes, no images */
    .cl { width: min(1080px, 100% - 14vw); margin: var(--space-3xl) auto 0; display: grid; grid-template-columns: repeat(3, 1fr); column-gap: var(--space-3xl); align-items: start; }
    .cl-i:nth-child(2) { margin-top: var(--space-xl); }
    .cl-rule { display: block; height: 1px; background: linear-gradient(to right, var(--accent) 0, var(--accent) 36px, var(--border-visible) 36px); clip-path: inset(0 84% 0 0); transition: clip-path 1400ms var(--ease); }
    .cl-i.is-visible .cl-rule { clip-path: inset(0 0 0 0); }
    .cl-n { display: block; margin-top: 14px; font-family: var(--font-label); font-size: 12px; letter-spacing: 0.22em; color: var(--accent); }
    .cl-v { margin: 10px 0 0; font-family: var(--font-label); font-style: normal; font-weight: 400; font-size: 15px; letter-spacing: 0.26em; text-transform: uppercase; line-height: 1.6; color: var(--text4); transition: color 400ms ease; }
    .cl-v small { display: inline; margin: 0 0.5em 0 0; font-size: inherit; font-style: normal; letter-spacing: inherit; text-transform: inherit; color: inherit; }
    .cl-i p { margin-top: 14px; max-width: 280px; font-family: var(--font-display); font-size: 15px; font-weight: 300; line-height: 1.9; color: var(--text2); }
    @media (hover: hover) { .cl-i:hover .cl-v { color: var(--accent); } }
    @media (max-width: 900px) {
      .cl { width: calc(100% - 56px); grid-template-columns: 1fr; row-gap: var(--space-xl); margin-top: var(--space-lg); }
      .cl-i:nth-child(2) { margin-top: 0; }
      .cl-v { font-size: 14px; }
    }
    @media (prefers-reduced-motion: reduce) { .cl-rule, .cl-v { transition: none; } }

    /* brand profile — calmer scale and wider side margins */
    @media (min-width: 901px) {
      .abx-stage, .ab-trig { width: min(1080px, 100% - 14vw); }
      .ab.abx { padding-top: 140px; }
      .ab-title { font-size: clamp(26px, 3.2vw, 44px); line-height: 1.4; }
      .abx-body { padding-right: var(--space-lg); }
      .abx-head { padding-bottom: var(--space-lg); }
      .abx-body .body-lg { font-size: 15px; line-height: 1.95; max-width: 360px; }
      .ab-trig { margin-top: var(--space-3xl); }
      .ab-trig-btn { font-size: 12px; padding: 14px 0; }
      .ab-trig-pane { font-size: clamp(18px, 1.8vw, 24px); }
      #philosophy .container { padding-left: 7vw; padding-right: 7vw; }
      .ms-en { font-size: clamp(24px, 2.8vw, 36px); margin-bottom: var(--space-2xl); }
      .ms-dir { font-size: clamp(24px, 2.6vw, 36px); }
      .ms-sup { font-size: clamp(18px, 1.9vw, 24px); }
      .ms-scene + .ms-scene { margin-top: var(--space-4xl); }
      .ms-1 { min-height: 64vh; }
    }
    @media (max-width: 900px) {
      .abx-stage, .ab-trig { width: calc(100% - 56px); }
      .ab-title { font-size: 28px; }
      .abx-body .body-lg { font-size: 15px; }
      .ms-en { font-size: 26px; }
      .ms-dir { font-size: 25px; }
      .ms-sup { font-size: 19px; }
      .ab-trig-pane { font-size: 19px; }
    }

    /* delivery system — one step at a time: preview · full main image · preview */
    .ds-sec { padding-top: var(--space-3xl); padding-bottom: var(--space-3xl); overflow: hidden; }
    .ds { margin-top: var(--space-2xl); outline: none; }
    .ds-sec .dl2-zh { font-size: 15px; margin-bottom: 0; }
    .ds-sec .section-label { margin-bottom: var(--space-xs); }
    .ds-top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; column-gap: var(--space-lg); margin-bottom: var(--space-xl); }
    .ds-head { grid-column: 2; text-align: center; margin: 0; }
    @media (max-width: 1239px) { .ds-top { display: block; } .ds-head { margin-top: var(--space-md); } }
    .ds-head .dl-statement { margin: 0 0 var(--space-sm); font-size: clamp(18px, 1.5vw, 22px); font-weight: 300; line-height: 1.6; letter-spacing: 0.04em; }
    .ds-head .section-intro { margin: 0 auto; max-width: none; font-size: 13px; line-height: 1.8; letter-spacing: 0.04em; color: var(--text3); }
    .ds-stage { --mh: min(calc(100vh - 80px), 1000px); --w: calc(var(--mh) * 0.6667); --dx: calc(var(--w) * 1.1); --drop: calc(var(--mh) * 0.27); position: relative; height: var(--mh); touch-action: pan-y; }
    .ds-slide { position: absolute; top: 0; left: 50%; width: var(--w); height: var(--mh); margin: 0 0 0 calc(var(--w) / -2); transition: transform 1000ms var(--ease), opacity 800ms ease; will-change: transform; cursor: pointer; opacity: 0; transform: translate(0, var(--drop)) scale(0.88); }
    .ds-slide img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
    .ds-slide[data-o="0"] { opacity: 1; z-index: 2; cursor: default; transform: none; outline: 1px solid var(--border-visible); outline-offset: 8px; }
    .ds-slide[data-o="-1"] { opacity: 0.88; z-index: 1; transform: translate(calc(var(--dx) * -1), var(--drop)) scale(0.88); }
    .ds-slide[data-o="1"] { opacity: 0.88; z-index: 1; transform: translate(var(--dx), var(--drop)) scale(0.88); }
    .ds-slide[data-o="-2"] { opacity: 0; transform: translate(calc(var(--dx) * -1.6), var(--drop)) scale(0.7); pointer-events: none; }
    .ds-slide[data-o="2"] { opacity: 0; transform: translate(calc(var(--dx) * 1.6), var(--drop)) scale(0.7); pointer-events: none; }
    .ds-slide.nt { transition: none; }
    .ds-copy { display: grid; justify-items: center; text-align: center; margin: var(--space-xl) auto 0; width: min(520px, calc(100% - 48px)); }
    .ds-pane { grid-area: 1 / 1; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity 600ms ease, transform 700ms var(--ease), visibility 0s linear 600ms; }
    .ds-pane.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: 150ms, 150ms, 0s; }
    .ds-n { display: block; font-family: var(--font-label); font-size: 14px; letter-spacing: 0.3em; color: var(--accent); margin-bottom: var(--space-sm); }
    .ds-t { font-family: var(--font-display); font-size: clamp(24px, 2.6vw, 32px); font-weight: 300; line-height: 1.4; margin-bottom: var(--space-sm); }
    .ds-b { font-size: 16px; line-height: 1.95; color: var(--text2); }
    .ds-sup { margin-top: var(--space-md); padding-top: var(--space-md); font-family: var(--font-display); font-size: 15px; font-weight: 300; letter-spacing: 0.06em; line-height: 1.8; color: var(--text1); position: relative; }
    .ds-sup::before { content: ''; position: absolute; top: 0; left: 50%; width: 36px; margin-left: -18px; border-top: 1px solid var(--accent); }
    .ds-ctrl { display: flex; align-items: center; justify-content: center; gap: var(--space-xl); margin-top: var(--space-lg); }
    .ds-dots { display: flex; gap: 16px; }
    .ds-dot { width: 7px; height: 7px; padding: 0; border-radius: 50%; border: 1px solid var(--text4); background: transparent; cursor: pointer; transition: background 400ms ease, border-color 400ms ease, transform 400ms var(--ease); }
    .ds-dot.is-active { background: var(--accent); border-color: var(--accent); transform: scale(1.35); }
    .ds-arrow { position: relative; width: 56px; height: 24px; padding: 0; border: none; background: none; cursor: pointer; color: var(--text3); transition: color 300ms ease, transform 500ms var(--ease); }
    .ds-arrow::before { content: ''; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px solid currentColor; }
    .ds-arrow::after { content: ''; position: absolute; top: 50%; width: 7px; height: 7px; border-top: 1px solid currentColor; border-left: 1px solid currentColor; }
    .ds-arrow--prev::after { left: 0; transform: translateY(-50%) rotate(-45deg); }
    .ds-arrow--next::after { right: 0; transform: translateY(-50%) rotate(135deg); }
    .ds-arrow:hover { color: var(--accent); }
    .ds-arrow--prev:hover { transform: translateX(-5px); } .ds-arrow--next:hover { transform: translateX(5px); }
    @media (max-width: 900px) {
      .ds-sec { padding-top: var(--space-2xl); }
      .ds-head { margin: var(--space-sm) auto var(--space-lg); text-align: left; padding: 0; }
      .ds-head .section-intro { font-size: 13px; }
      .ds-head .section-intro { margin: 0; }
      .ds-stage { --w: min(72vw, 340px); --mh: calc(var(--w) * 1.5); --dx: calc(var(--w) + 14px); --drop: calc(var(--mh) * 0.08); }
      .ds-slide { left: var(--space-lg); margin-left: 0; }
      .ds-slide[data-o="0"] { outline-offset: 6px; }
      .ds-slide[data-o="-1"], .ds-slide[data-o="-2"] { opacity: 0; transform: translate(calc(var(--dx) * -1.4), var(--drop)) scale(0.86); }
      .ds-slide[data-o="1"] { transform: translate(var(--dx), var(--drop)) scale(0.86); }
      .ds-slide[data-o="2"] { transform: translate(calc(var(--dx) * 1.5), var(--drop)) scale(0.86); }
      .ds-copy { margin-top: var(--space-xl); text-align: left; justify-items: start; }
      .ds-sup::before { left: 0; margin-left: 0; }
      .ds-ctrl { gap: var(--space-lg); }
    }
    @media (prefers-reduced-motion: reduce) { .ds-slide, .ds-pane, .ds-dot, .ds-arrow { transition: none; } }

    /* hero-less openings & rich heroes */
    .ab.abx { padding-top: 150px; }
    .abx-head { padding-top: var(--space-xl); }
    .crumb-lite { display: flex; gap: 10px; margin-bottom: var(--space-lg); font-family: var(--font-label); font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--text4); }
    .crumb-lite a { color: var(--text3); border-bottom: 1px solid var(--border-visible); }
    .crumb-lite a:hover { color: var(--accent); }
    /* every page hero = the Service Scope chapter opener (same height, text position, type scale) */
    header.po { position: relative; display: block; width: 100%; height: 72vh; min-height: 540px; padding: 0; overflow: hidden; isolation: isolate; }
    header.po > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; z-index: 0; }
    header.po::after { display: none; }
    header.po--soft .scope-chapter-overlay { background: radial-gradient(circle at 10% 82%, rgba(28,24,20,0.34) 0%, rgba(28,24,20,0.2) 18%, rgba(28,24,20,0.08) 34%, transparent 50%); }
    header.po .scope-chapter-text .section-intro + .section-intro { margin-top: 6px; }
    header.po .scope-chapter-text { z-index: 2; }
    @media (max-width: 600px) { header.po { height: 60vh; min-height: 400px; } }
    /* text-only variant of the same title block (Service Scope, Delivery System) */
    .scope-chapter.scope-chapter--plain, header.po.po--plain { height: auto; min-height: 0; overflow: visible; padding: 150px 7vw var(--space-2xl); }
    .scope-chapter--plain .scope-chapter-text, .po--plain .scope-chapter-text { position: static; max-width: 640px; }
    .scope-chapter--plain .scope-chapter-text .section-num, .po--plain .scope-chapter-text .section-num { color: var(--accent); text-shadow: none; }
    .scope-chapter--plain .scope-chapter-text .section-en, .po--plain .scope-chapter-text .section-en { color: var(--text3); text-shadow: none; }
    .scope-chapter--plain .scope-chapter-text .section-heading, .po--plain .scope-chapter-text .section-heading { color: var(--text1); text-shadow: none; }
    .scope-chapter--plain .scope-chapter-text .section-intro, .po--plain .scope-chapter-text .section-intro { color: var(--text2); text-shadow: none; }
    @media (max-width: 600px) { .scope-chapter.scope-chapter--plain, header.po.po--plain { height: auto; min-height: 0; padding: 110px var(--space-lg) var(--space-xl); } }
    #capability .cx { grid-template-columns: minmax(0, 1fr); }
    #capability .cx-acc { width: min(900px, 100%); margin-left: auto; }
    @media (max-width: 900px) { .ab.abx { padding-top: 110px; } #capability .cx-acc { margin-left: 0; } }

    /* next-page navigation — a quiet reading cue, always secondary to the section it ends */
    #scope, .jn, .band { position: relative; }
    .nx-in { display: grid; grid-template-columns: auto auto; justify-content: end; column-gap: 10px; row-gap: 1px; align-items: baseline; width: fit-content; margin: var(--space-xl) 0 0 auto; padding: 0; background: none; border: none; color: inherit; text-align: left; cursor: pointer; font: inherit; }
    .nx-in .l { grid-column: 1 / -1; font-family: var(--font-label); font-size: 9px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--text4); margin-bottom: 2px; }
    .nx-in .t { font-family: var(--font-display); font-size: 15px; font-weight: 300; letter-spacing: 0.05em; color: var(--text2); padding-bottom: 2px; background: linear-gradient(var(--accent), var(--accent)) left bottom / 0 1px no-repeat; transition: background-size 500ms var(--ease), color 300ms ease; }
    .nx-in .ar { font-family: var(--font-label); font-size: 13px; line-height: 1; color: var(--text4); transition: transform 500ms var(--ease), color 300ms ease; }
    .nx-in .en { grid-column: 1 / -1; font-family: var(--font-label); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text4); opacity: 0.85; }
    .nx-in:hover .t, .nx-in:focus-visible .t { background-size: 100% 1px; color: var(--text1); }
    .nx-in:hover .ar, .nx-in:focus-visible .ar { transform: translateX(5px); color: var(--accent); }
    /* placements */
    .nx-in--inline { justify-content: start; margin: var(--space-xl) 0 0 0; }                       /* inside a text column */
    .nx-in--scene { grid-column: 2 / 8; grid-row: 1; align-self: end; justify-self: start; justify-content: start; margin: 0; }
    .nx-in--pad { margin: var(--space-md) 0 -76px auto; }                                          /* in the section's own bottom padding */
    .nx-in--side { justify-content: start; margin: var(--space-2xl) 0 0 0; }                       /* under a left index */
    .nx-in--vr { position: absolute; right: var(--space-3xl); bottom: var(--space-xl); margin: 0; z-index: 3; }
    .vr-text { position: relative; }
    .nx-in--img, .nx-in--img-light, .nx-in--jn { position: absolute; right: max(var(--space-2xl), calc((100vw - 1180px) / 2)); bottom: var(--space-xl); margin: 0; z-index: 4; }
    .nx-in--img .l, .nx-in--img .en, .nx-in--jn .l, .nx-in--jn .en { color: rgba(253,250,246,0.75); }
    .nx-in--img .t, .nx-in--jn .t, .nx-in--img .ar, .nx-in--jn .ar { color: #FDFAF6; }
    .nx-in--img .t, .nx-in--jn .t { background-image: linear-gradient(#FDFAF6, #FDFAF6); }
    /* Affluent Audience: image and capability figures side by side, no overlap */
    .aq-split { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--space-2xl); align-items: end; margin-top: var(--space-3xl); }
    .aq-split .aq-img { grid-column: 8 / 13; grid-row: 1; width: auto; margin: 0; aspect-ratio: 4 / 5; }
    .aq-split .aq-img img { object-position: 42% center; }
    .aq-split .aq-cap { grid-column: 1 / 7; grid-row: 1; display: block; margin: 0; z-index: auto; }
    .aq-split .aq-cap-lab { background: none; padding: 0 0 var(--space-md); border-bottom: 1px solid var(--border-visible); display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-md); }
    .aq-split .aq-cap-lab .zh { margin-top: 0; }
    .aq-split .aq-stat { background: none; display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-md); padding: var(--space-lg) 0; border-top: none; border-bottom: 1px solid var(--border); }
    .aq-split .aq-stat .aud3-fig { margin-top: 0; }
    .aq-split .aq-note { margin: var(--space-lg) 0 0; width: auto; max-width: 420px; }
    @media (max-width: 900px) {
      .aq-split { display: block; margin-top: var(--space-2xl); }
      .aq-split .aq-img { aspect-ratio: 4 / 5; width: min(78%, 360px); margin: 0 0 var(--space-xl) auto; }
    }
    /* Affluent Audience — editorial composition: portrait plate with an offset hairline frame, large light figures */
    .aqa-grid { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--space-2xl); align-items: start; }
    .aqa-head { grid-column: 1 / 8; grid-row: 1; }
    .aqa-head .section-heading { font-size: clamp(32px, 4vw, 54px); margin: 0; }
    .aqa-lead { grid-column: 1 / 6; grid-row: 2; margin-top: var(--space-xl); font-size: 16px; line-height: 2; color: var(--text2); }
    .aqa-cap { grid-column: 1 / 8; grid-row: 3; margin-top: var(--space-xl); }
    .aqa-lab { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-md); padding-bottom: 6px; border-bottom: 1px solid var(--border-visible); max-width: 520px; }
    .aqa-lab .zh { font-family: var(--font-display); font-size: 16px; font-weight: 300; letter-spacing: 0.08em; color: var(--text2); }
    .aqa-stat { display: grid; grid-template-columns: 120px 1fr; align-items: end; gap: var(--space-md); padding: 6px 0 4px; border-bottom: 1px solid var(--border); max-width: 520px; }
    .aqa-stat .aud3-lab { line-height: 1.4; padding-bottom: 6px; }
    .aqa-stat .aud3-lab small { display: block; margin-top: 2px; line-height: 1.3; }
    .aqa-fig { font-family: var(--font-label); font-weight: 400; font-size: clamp(46px, 4.6vw, 66px); line-height: 0.92; letter-spacing: -0.01em; color: var(--accent); white-space: nowrap; text-align: right; }
    .aqa-fig small { font-size: 0.34em; color: var(--text3); margin-left: 4px; letter-spacing: 0.04em; }
    .aqa-note { grid-column: 1 / 8; grid-row: 4; margin-top: 10px; max-width: 520px; font-size: 14px; line-height: 1.85; text-wrap: pretty; color: var(--text3); }
    .aqa-img { grid-column: 8 / 13; grid-row: 1 / 5; position: relative; isolation: isolate; margin: var(--space-2xl) 0 0; }
    .aqa-ph { position: relative; aspect-ratio: 3 / 4; overflow: hidden; background: var(--surface2); }
    .aqa-ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 42% center; }
    .aqa-img::after { content: ''; position: absolute; inset: 20px -20px -20px 20px; border: 1px solid var(--border-visible); z-index: -1; pointer-events: none; }
    @media (max-width: 900px) {
      .aqa-grid { display: block; }
      .aqa-lead { margin-top: var(--space-lg); }
      .aqa-img { width: min(78%, 360px); margin: var(--space-2xl) 28px var(--space-2xl) auto; }
      .aqa-img::after { inset: 14px -14px -14px 14px; }
      .aqa-cap { margin-top: 0; }
      .aqa-stat { grid-template-columns: 100px 1fr; }
      .aqa-fig { font-size: clamp(26px, 9.4vw, 44px); }
      .aqa-note { margin-top: var(--space-lg); }
    }
    /* Curated Ecosystem — typographic category index + floating avatar bubbles (positions are computed in site.js) */
    .eco3-cats { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); column-gap: var(--space-xl); }
    .eco3-cats li { border-top: 1px solid var(--border-visible); padding-top: var(--space-md); }
    .eco3-cats .n { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); }
    .eco3-cats .t { font-family: var(--font-display); font-size: clamp(17px, 1.5vw, 21px); font-weight: 300; line-height: 1.5; margin: 6px 0 8px; color: var(--text1); }
    .eco3-cats .d { font-size: 13px; line-height: 1.85; color: var(--text3); }
    .eco3-title { display: flex; align-items: baseline; gap: 18px; margin: var(--space-4xl) 0 0; }
    .eco3-title .en { font-family: var(--font-label); font-weight: 400; font-size: clamp(15px, 1.6vw, 21.5px); line-height: 1.1; letter-spacing: 0.10em; text-transform: uppercase; color: var(--text1); white-space: nowrap; }
    .eco3-title .en em { font-style: italic; color: var(--accent); }
    
    .eco3-title .zh { display: block; line-height: 1.1; font-family: var(--font-display); font-weight: 300; font-size: 15px; letter-spacing: 0.34em; color: var(--text2); white-space: nowrap; }
    .eco3-title .zh::before { content: ''; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--accent); margin-right: 18px; vertical-align: 0.28em; }
    .eco3-stage { position: relative; width: 100%; min-height: 360px; touch-action: pan-y; overflow-x: clip; }
    .ep { position: absolute; left: 0; top: 0; width: var(--s); will-change: transform; }
    .ep-fx, .ep-fy { display: block; }
            .ep-a { display: block; color: inherit; outline: none; text-align: center; }
    .ep-av { position: relative; display: grid; place-items: center; width: var(--s); height: var(--s); border-radius: 50%; background: var(--surface2); margin: 0 auto var(--space-md); box-shadow: 0 14px 30px -22px rgba(28,24,20,0.12), inset 0 0 0 1px var(--border); transition: transform 700ms var(--ease), box-shadow 700ms var(--ease), opacity 500ms ease; }
    .ep-av::after { content: ''; position: absolute; inset: -7px; border-radius: 50%; border: 1px solid var(--border); transition: border-color 500ms ease, inset 700ms var(--ease); }
    .ep-av img { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
    .ep-mono { font-family: var(--font-label); font-style: italic; font-size: calc(var(--s) * 0.38); line-height: 1; color: var(--accent); }
    .ep-name { display: block; font-family: var(--font-label); font-size: clamp(18px, 1.5vw, 22px); line-height: 1.3; letter-spacing: 0.02em; color: var(--text1); transition: color 400ms ease; }
    .ep-ig { display: block; margin-top: 3px; font-family: var(--font-label); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text3); opacity: 0; transform: translateY(-4px); transition: opacity 400ms ease, transform 500ms var(--ease), color 300ms ease; }
    .ep-a:hover .ep-av, .ep-a:focus-visible .ep-av { transform: scale(1.09); box-shadow: 0 20px 38px -22px rgba(28,24,20,0.16), inset 0 0 0 1px var(--border); }
    .ep-a:hover .ep-av::after, .ep-a:focus-visible .ep-av::after { border-color: rgba(168,144,96,0.38); inset: -12px; }
    .ep-a:hover .ep-name, .ep-a:focus-visible .ep-name { color: var(--accent); }
    .ep-a:hover .ep-ig, .ep-a:focus-visible .ep-ig { opacity: 1; transform: none; color: var(--accent); }
    .ep-a[aria-disabled="true"] { cursor: default; }
    .ep-name, .ep-ig { width: 220px; margin-left: calc((var(--s) - 220px) / 2); }
    .eco3 .nx-in--inline { margin: var(--space-3xl) 0 0 auto; justify-content: end; }
    @media (hover: none) { .ep-ig { opacity: 1; transform: none; } }
    @media (max-width: 1100px) { .eco3-cats { grid-template-columns: repeat(3, 1fr); row-gap: var(--space-xl); } }
    @media (max-width: 900px) { .eco3-cats { grid-template-columns: 1fr 1fr; } .eco3-title { margin-top: var(--space-3xl); } }
    @media (max-width: 480px) { .eco3-cats { grid-template-columns: 1fr; } }
    /* Destination Portfolio — chapter header across the top, then 8 numbered frames in a cascading 4 x 2 */
    .dt-title { margin-bottom: var(--space-xl); }
    .dtx > .container { max-width: none; width: auto; margin: 0; padding: 0 7vw; }   /* line up with the page title block */
    .dtx .dx-tabs { display: flex; align-items: flex-end; gap: 28px; margin: 0 0 var(--space-xl); border-bottom: none; }
    .dtx .dx-tab { position: relative; display: flex; align-items: baseline; gap: 8px; padding: 2px 0 8px; margin: 0; font-family: var(--font-display); letter-spacing: 0; color: var(--text4); transition: color 400ms ease, transform 500ms var(--ease); }
    .dtx .dx-tab .no { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.2em; color: var(--text4); transition: color 400ms ease; }
    .dtx .dx-tab .zh { font-family: var(--font-display); font-weight: 300; font-size: 18px; letter-spacing: 0.2em; line-height: 1; }
    .dtx .dx-tab .en { font-family: var(--font-label); font-size: 10px; letter-spacing: 0.26em; text-transform: uppercase; color: var(--text4); transition: color 400ms ease; }
    .dtx .dx-tab::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; border: none; background: var(--accent); opacity: 1; transform: scaleX(0); transform-origin: left; transition: transform 700ms var(--ease); }
    .dtx .dx-tab:hover { color: var(--text2); transform: translateY(-2px); }
    .dtx .dx-tab.is-active { color: var(--text1); }
    .dtx .dx-tab.is-active .no, .dtx .dx-tab.is-active .en { color: var(--accent); }
    .dtx .dx-tab.is-active::after { transform: scaleX(1); }
    @media (max-width: 600px) { .dtx .dx-tabs { gap: 24px; } .dtx .dx-tab { gap: 8px; } .dtx .dx-tab .en { display: none; } }
    .dh { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px); column-gap: var(--space-2xl); align-items: end; margin-bottom: var(--space-2xl); padding-top: var(--space-md); }
    .dh-main { grid-column: 1; }
    .dh-main .sub-label { margin-bottom: var(--space-sm); }
    .dh-main .display-lg { font-size: clamp(22px, 2.1vw, 30px); line-height: 1.45; margin: 0; }
    .dh-copy { grid-column: 2; font-size: 14px; line-height: 1.85; color: var(--text2); margin: 0 0 4px; }
    .dg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--space-xl); row-gap: var(--space-3xl); margin: 0; align-items: start; }
    .dg .dc:nth-child(n) { grid-column: auto; margin-top: 0; }
    .dg .dc:nth-child(4n+2) { margin-top: 56px; }
    .dg .dc:nth-child(4n+3) { margin-top: 18px; }
    .dg .dc:nth-child(4n+4) { margin-top: 78px; }
    .dg .dc-img { aspect-ratio: 4 / 3; }
    .dc-no { display: block; margin-bottom: 6px; font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); }
    @media (max-width: 1100px) { .dg { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dg .dc:nth-child(n) { margin-top: 0; } .dg .dc:nth-child(even) { margin-top: 48px; } }
    @media (max-width: 900px) {
      .dtx > .container { padding: 0 var(--space-lg); }
      .dtx { padding-top: var(--space-xl) !important; }
      .dh { display: block; margin-bottom: var(--space-xl); }
      .dh-copy { margin-top: var(--space-lg); }
    }
    @media (max-width: 560px) { .dg { grid-template-columns: 1fr; } .dg .dc:nth-child(n) { margin-top: 0; } }
    /* Fusion Advantage entries: two portraits as a centred pair, the right one slightly larger and set lower */
    .ld-two .a { grid-column: 2 / 6; }
    .ld-two .b { grid-column: 7 / 12; margin-top: var(--space-4xl); }
    @media (max-width: 900px) { .ld-two .a, .ld-two .b { grid-column: 1 / -1; } .ld-two .b { margin-top: var(--space-3xl); } }
    @media (min-width: 901px) { .band--q .band-heading { white-space: nowrap; } }   /* keep the two-line quote from orphaning its last character */
    /* Partnership — plain title, a staggered trio of portraits, then two chapters with portraits set into the text */
    .ptf { padding: 0 7vw var(--space-4xl); }
    .ptf-in { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--space-xl); align-items: start; }
    .ptf-in figure { margin: 0; position: relative; overflow: hidden; background: var(--surface2); }
    .ptf-in img, .pvz-fig img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    .ptf-a { grid-column: 1 / 5; aspect-ratio: 3 / 4; }
    .ptf-in .ptf-b { grid-column: 5 / 9; aspect-ratio: 4 / 5; margin-top: var(--space-3xl); }
    .ptf-in .ptf-c { grid-column: 9 / 13; aspect-ratio: 3 / 4; margin-top: var(--space-xl); }
    @media (max-width: 900px) { .ptf { padding: 0 var(--space-lg) var(--space-3xl); } .ptf-in { column-gap: var(--space-md); } .ptf-a { grid-column: 1 / 5; } .ptf-in .ptf-b { grid-column: 5 / 9; margin-top: var(--space-xl); } .ptf-in .ptf-c { grid-column: 9 / 13; margin-top: var(--space-md); } }
    .pth > .container { max-width: none; width: auto; margin: 0; padding: 0 7vw; }
    .pvz { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--space-xl); row-gap: var(--space-xl); align-items: start; }
    .pvz-fig { margin: 0; position: relative; overflow: hidden; background: var(--surface3); }
    .pvz-fig--a { grid-column: 1 / 5; grid-row: 1; aspect-ratio: 4 / 5; width: 94%; justify-self: start; }
    .pvz-txt--a { grid-column: 5 / 12; grid-row: 1; align-self: center; display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--space-xl); }
    .pvz-txt--b { grid-column: 2 / 9; grid-row: 2; display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--space-xl); align-self: center; }
    .pvz-fig--b { grid-column: 9 / 13; grid-row: 2; aspect-ratio: 3 / 4; width: 94%; justify-self: end; }
    @media (max-width: 900px) {
      .pth > .container { padding: 0 var(--space-lg); }
      .pvz { display: block; }
      .pvz-fig { width: 72%; margin: 0 0 var(--space-2xl); }
      .pvz-fig--b { margin: var(--space-2xl) 0 0 auto; }
      .pvz-txt--a, .pvz-txt--b { display: block; padding: 0; }
      .pvz-txt--a .pvg-i + .pvg-i, .pvz-txt--b .pvg-i + .pvg-i { margin-top: var(--space-xl); }
      .pvz-txt--b { margin-top: var(--space-2xl); }
    }
    .pth { padding-top: var(--space-2xl); padding-bottom: var(--space-3xl); }
    #partnership-value { padding-top: var(--space-3xl); }
    .pth-head { max-width: 640px; margin-bottom: var(--space-xl); }
    .pth-head .section-label { margin-bottom: var(--space-sm); }
    .pth-h { font-family: var(--font-display); font-weight: 300; font-size: clamp(22px, 2.1vw, 30px); line-height: 1.5; margin: 0 0 var(--space-md); color: var(--text1); }
    .pth-i { font-size: 14px; line-height: 1.9; color: var(--text2); margin: 0; max-width: 520px; }
    .pml { list-style: none; border-top: 1px solid var(--border-visible); }
    .pml-i { display: grid; grid-template-columns: 64px minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--space-xl); align-items: baseline; padding: var(--space-xl) 0; border-bottom: 1px solid var(--border); }
    .pml-n { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); }
    .pml-t h3 { font-family: var(--font-display); font-weight: 300; font-size: clamp(20px, 1.9vw, 26px); line-height: 1.4; color: var(--text1); transition: transform 500ms var(--ease), color 400ms ease; }
    .pml-en { display: block; margin-top: 4px; font-family: var(--font-label); font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--text4); }
    .pml-d { font-size: 15px; line-height: 1.95; color: var(--text2); margin: 0; }
    .pml-i:hover .pml-t h3 { transform: translateX(6px); color: var(--accent); }
    .pvg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--space-xl); }
    /* value points: small, quiet type with a hairline that draws itself in, staggered reveal, and a gentle response to the pointer */
    .pvg-i { position: relative; padding-top: 22px; opacity: 0; transform: translateY(14px); transition: opacity 900ms ease, transform 1000ms var(--ease); }
    .pvg-i::before { content: ''; position: absolute; top: 0; left: 0; width: 0; border-top: 1px solid var(--accent); transition: width 1100ms var(--ease) 250ms; }
    .pvg-i.is-seen { opacity: 1; transform: none; }
    .pvg-i.is-seen::before { width: 34px; }
    .pvz-txt .pvg-i:nth-child(2) { transition-delay: 160ms; }
    .pvz-txt .pvg-i:nth-child(2)::before { transition-delay: 410ms; }
    .pvg-n { display: block; font-family: var(--font-label); font-size: 11px; letter-spacing: 0.26em; color: var(--accent); margin-bottom: 10px; }
    .pvg-t { font-family: var(--font-display); font-weight: 300; font-size: 16px; letter-spacing: 0.06em; line-height: 1.6; margin: 0 0 6px; color: var(--text1); transition: transform 600ms var(--ease), color 400ms ease; }
    .pvg-b { font-size: 13px; line-height: 1.95; letter-spacing: 0.02em; color: var(--text3); margin: 0; max-width: 300px; transition: color 400ms ease; }
    @media (hover: hover) { .pvg-i.is-seen:hover::before { width: 72px; } .pvg-i:hover .pvg-t { transform: translateX(6px); color: var(--accent); } .pvg-i:hover .pvg-b { color: var(--text2); } }
    .pvz-fig img { transform: scale(1.08); transition: transform 1400ms var(--ease); will-change: transform; }
    @media (hover: hover) {
      .pvz:has(.pvz-txt--a .pvg-i:hover) .pvz-fig--a img, .pvz:has(.pvz-txt--b .pvg-i:hover) .pvz-fig--b img { transform: scale(1.14); }
    }
    @media (prefers-reduced-motion: reduce) { .pvg-i, .pvg-i::before, .pvz-fig img { transition: none; opacity: 1; transform: none; } .pvg-i::before { width: 34px; } }
    .pth .nx-in--pad { margin-top: var(--space-3xl); margin-bottom: -24px; }
    @media (max-width: 1100px) { .pvg { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-2xl); } }
    @media (max-width: 900px) {
      .pth-head { display: block; margin-bottom: var(--space-2xl); }
      .pth-i { margin-top: var(--space-md); }
      .pml-i { grid-template-columns: 44px minmax(0, 1fr); row-gap: var(--space-sm); }
      .pml-d { grid-column: 2; }
    }
    @media (max-width: 560px) { .pvg { grid-template-columns: 1fr; } }
    /* Partnership models — five tall portrait panels; the one you point at opens to show its text */
    .pmx { display: flex; gap: 10px; height: min(66vh, 600px); min-height: 440px; }
    .pmx-p { position: relative; flex: 1 1 0; min-width: 0; overflow: hidden; cursor: pointer; background: var(--surface3); outline: none; transition: flex-grow 900ms var(--ease); }
    .pmx-p.is-open { flex-grow: 3.2; cursor: default; }
    .pmx-p img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 1400ms var(--ease), filter 600ms ease; filter: saturate(0.85); }
    .pmx-p.is-open img { transform: scale(1); filter: none; }
    .pmx-p::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(28,24,20,0.72) 0%, rgba(28,24,20,0.28) 42%, rgba(28,24,20,0.06) 70%); pointer-events: none; }
    .pmx-in { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: var(--space-lg); color: #FDFAF6; }
    .pmx-n { display: block; font-family: var(--font-label); font-size: 12px; letter-spacing: 0.24em; color: rgba(253,250,246,0.78); margin-bottom: 8px; }
    .pmx-t { font-family: var(--font-display); font-weight: 300; font-size: clamp(17px, 1.5vw, 22px); line-height: 1.45; color: #FDFAF6; }
    .pmx-en { display: block; margin-top: 0; max-height: 0; opacity: 0; overflow: hidden; font-family: var(--font-label); font-size: 10px; letter-spacing: 0.26em; text-transform: uppercase; color: rgba(253,250,246,0.72); transition: max-height 600ms var(--ease), opacity 500ms ease 150ms, margin 600ms var(--ease); }
    .pmx-p.is-open .pmx-en { max-height: 20px; opacity: 1; margin-top: 4px; }
    .pmx-d { font-size: 14px; line-height: 1.85; color: rgba(253,250,246,0.92); max-width: 360px; max-height: 0; opacity: 0; overflow: hidden; margin: 0; transition: max-height 700ms var(--ease), opacity 600ms ease 150ms, margin 700ms var(--ease); }
    .pmx-p.is-open .pmx-d { max-height: 120px; opacity: 1; margin-top: var(--space-md); }
    @media (max-width: 900px) {
      .pmx { flex-direction: column; height: auto; min-height: 0; gap: 8px; }
      .pmx-p { flex: none; height: 104px; transition: height 800ms var(--ease); }
      .pmx-p.is-open { height: 340px; }
      .pmx-in { padding: var(--space-md); }
    }
    @media (prefers-reduced-motion: reduce) { .pmx-p, .pmx-p img, .pmx-d { transition: none; } }
    .ps-ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 300; font-size: clamp(56px, 6vw, 88px); color: var(--accent); }   /* avatar placeholder */
    /* Partnership models: not a second opening — a small label on the left, the statement and its note on the right */
    .pth--models { padding-top: 0; padding-bottom: var(--space-3xl); }
    .pth-split { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--space-2xl); align-items: start; margin-bottom: var(--space-xl); }
    .pth-side { grid-column: 1 / 4; padding-top: 10px; }
    .pth-side .section-label { margin: 0; }
    .pth-main { grid-column: 4 / 12; }
    .pth-main .pth-h { margin: 0 0 var(--space-md); }
    @media (max-width: 900px) { .pth-split { display: block; } .pth-side { padding-top: 0; margin-bottom: var(--space-sm); } }
    /* Brand profile opening: the two photographs open like curtains (wipe + a slow settle), then drift gently against the scroll */
    .js .abx-main.rv, .js .abx-a.rv { opacity: 1; transform: none; transition: none; background: var(--surface2); }   /* the frame is there from the start; only the photograph settles in */
    .abx-main img, .abx-a img { transform: scale(1.07); will-change: transform; }
    .js .abx-main.rv img, .js .abx-a.rv img { opacity: 0; transition: opacity 1100ms ease, transform 2200ms var(--ease); }
    .js .abx-a.rv img { transition-delay: 250ms; }
    .js .abx-main.rv.is-visible img, .js .abx-a.rv.is-visible img { opacity: 1; }
    .abx-main.is-visible img, .abx-a.is-visible img { transform: scale(1); }
    .abx-main.is-visible:hover img { transform: scale(1.035); transition-duration: 1600ms; }
    .abx-a.is-visible:hover img { transform: scale(1.06); transition-duration: 1400ms; }
    .abx-a { translate: 0 0; }
    .abx-head.rv, .abx-body.rv { transition-duration: 1100ms; }
    .cl-i { transition: transform 600ms var(--ease); }
    @media (hover: hover) { .cl-i:hover { transform: translateY(-4px); } .cl-i:hover .cl-n { color: var(--text1); } .cl-i:hover .cl-rule { clip-path: inset(0 0 0 0); } }
    @media (prefers-reduced-motion: reduce) { .js .abx-main.rv img, .js .abx-a.rv img { opacity: 1; transition: none; } .abx-main img, .abx-a img { transform: none; transition: none; } }
    /* Beyond Expectation photo: a much shorter, lighter cream fade at the top so the photograph stays crisp */
    .scope-hero-image::after { background: linear-gradient(to bottom, rgba(253,250,246,0.72) 0%, rgba(253,250,246,0.42) 12%, rgba(253,250,246,0.16) 24%, rgba(253,250,246,0) 36%); }
    /* Service scope: the Next link sits in the bottom-right corner of the text half */
    .scope-hero-text { position: relative; }
    .scope-hero-text .nx-in { position: absolute; right: var(--space-3xl); bottom: var(--space-2xl); margin: 0; }
    @media (max-width: 900px) { .scope-hero-text .nx-in { position: static; align-self: flex-end; margin-top: var(--space-xl); } }
    .ps-entry { text-align: center; }   /* square avatars again; names centred under them */
    /* Founder-led trust, scaled down: small profile avatars, quiet names, and a panel whose type stays below the section heading */
    .ps-entries { gap: var(--space-3xl); margin-top: var(--space-3xl); }
    .ps-h { font-size: 16px; letter-spacing: 0.04em; }
    .ps-no { font-size: 12px; }
    .ps-more { font-size: 11px; }
    .ps-pane { grid-template-columns: 3fr 5fr; gap: var(--space-2xl); padding-top: var(--space-xl); margin-top: var(--space-xl); }
    .ps-pane-h { font-size: clamp(20px, 1.8vw, 24px); line-height: 1.45; }
    .ps-pane .tr-no { font-size: clamp(36px, 3.4vw, 48px); }
    .ps-pane .tr-tag { font-size: 11px; }
    .ps-pane .body-lg { font-size: 14px; line-height: 1.95; color: var(--text2); }
    .ps-pane .trust-kw span { font-size: 12px; }
    .ps-item { flex: none; width: 168px; display: flex; flex-direction: column; align-items: center; transition: width 600ms var(--ease), opacity 500ms ease; }
    .ps-item:nth-child(2) { margin-top: var(--space-2xl); }
    .ps-item .ps-entry { width: 100%; margin: 0; }
    .ps.has-sel .ps-item { width: 132px; opacity: 0.45; }
    .ps.has-sel .ps-item:has(.ps-entry.is-active) { width: 210px; opacity: 1; }
    .ps.has-sel .ps-item .ps-entry, .ps.has-sel .ps-item .ps-entry.is-active { opacity: 1; width: 100%; }
    .ps-go { display: inline-flex; align-items: baseline; gap: 8px; margin-top: 2px; font-family: var(--font-display); font-weight: 300; font-size: 16px; letter-spacing: 0.04em; line-height: 1.5; color: var(--text1); padding-bottom: 4px;
      background-image: linear-gradient(var(--accent), var(--accent)), linear-gradient(var(--border-visible), var(--border-visible));
      background-repeat: no-repeat; background-size: 34% 1px, 100% 1px; background-position: 0 100%, 0 100%;
      animation: ps-glide 4.2s var(--ease) infinite; transition: color 300ms ease; }
    @keyframes ps-glide { 0% { background-position: 0 100%, 0 100%; } 55%, 100% { background-position: 200% 100%, 0 100%; } }
    .ps-go:hover, .ps-go:focus-visible { color: var(--accent); animation: none; background-size: 100% 1px, 100% 1px; background-position: 0 100%, 0 100%; }
    .ps-arr { color: var(--accent); transition: transform 500ms var(--ease); animation: ps-nudge 2.8s ease-in-out infinite; }
    @keyframes ps-nudge { 0%, 70%, 100% { transform: translate(0, 0); } 82% { transform: translate(3px, -3px); } }
    .ps-go:hover { color: var(--accent); }
    .ps-go:hover .ps-arr { animation: none; transform: translate(4px, -4px); }
    @media (prefers-reduced-motion: reduce) { .ps-arr, .ps-go { animation: none; } .ps-go { background-size: 34% 1px, 100% 1px; } }
    /* Work: a gallery that scales to many images — editorial columns, filter, "see more". Only the two region pages carry a landscape hero. */
    .wkx { padding: var(--space-2xl) 0 var(--space-4xl); }
    .wkx-in { padding: 0 max(16px, 2vw); }
    .wkx-tabs { position: relative; display: flex; width: fit-content; gap: 0; margin: 0 auto var(--space-xl); padding: 0 0 12px; border: none; background: none; }
    .wkx-tabs .wk-tab { position: relative; z-index: 1; padding: 6px 28px; font-size: 14px; letter-spacing: 0.3em; text-indent: 0.3em; color: var(--text4); transition: color 500ms ease; }
    .wkx-tabs .wk-tab::after { display: none; }
    .wkx-tabs .wk-tab:hover, .wkx-tabs .wk-tab.is-active { color: var(--text1); }
    .wkx-pill { position: absolute; z-index: 0; left: 0; bottom: 0; height: 1px; width: 0; background: var(--accent); transition: transform 650ms var(--ease), width 650ms var(--ease); }
    .wk-gallery { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 20px; margin: 0; align-items: start; }
    .wk-col { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
    .wk-gallery .cg { position: relative; display: block; opacity: 0; animation: cg-in 900ms var(--ease) forwards; animation-delay: calc(var(--i, 0) * 70ms); }
    @keyframes cg-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
    .wk-gallery .cg-frame { position: relative; overflow: hidden; background: var(--surface2); }
    .wk-gallery .cg-frame img { position: static; display: block; width: 100%; height: auto; transition: transform 1200ms var(--ease), filter 600ms ease; }
    .wk-gallery .cg:hover .cg-frame img { transform: scale(1.04); }
    .cg-ph { aspect-ratio: 4 / 5; display: flex; align-items: center; justify-content: center; }
    .cg-mono { font-family: var(--font-display); font-weight: 300; font-size: clamp(48px, 5vw, 72px); color: var(--text4); }
    .wk-gallery .cg-cap { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; padding: 40px 18px 16px; background: linear-gradient(to top, rgba(28,24,20,.55), transparent); opacity: 0; transition: opacity 500ms ease; pointer-events: none; }
    .wk-gallery .cg:hover .cg-cap, .wk-gallery .cg:focus-visible .cg-cap { opacity: 1; }
    @media (hover: none) { .wk-gallery .cg-cap { opacity: 1; } }
    .wk-gallery .cg-t { font-size: 16px; letter-spacing: 0.05em; color: #FDFAF6; }
    .wk-gallery .cg-s { font-size: 12px; color: rgba(253,250,246,.8); margin-top: 2px; }
    .wk-gallery .cg-c { font-family: var(--font-label); font-style: italic; font-size: 13px; color: rgba(253,250,246,.85); }
    .wk-gallery.is-swapping { opacity: 0; transition: opacity 250ms ease; }
    .wk-gallery { transition: opacity 450ms ease; }
    .wkx-more { display: flex; justify-content: center; margin-top: var(--space-3xl); }
    .wkx-morebtn { background: none; border: none; cursor: pointer; font-family: var(--font-label); font-size: 13px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--text2); border-bottom: 1px solid var(--accent); padding-bottom: 5px; transition: color 300ms ease; }
    .wkx-morebtn:hover { color: var(--accent); }
    .wkx .nx-in--pad { margin-top: var(--space-2xl); }
    @media (max-width: 640px) { .wkx-in { padding: 0 16px; } }
    @media (prefers-reduced-motion: reduce) { .wk-gallery .cg { animation: none; opacity: 1; } }
    /* Case note: a quiet paper-white page (the rose photograph is only a backdrop) with the text set on it */
    .pn { position: relative; min-height: 72vh; overflow: hidden; isolation: isolate; display: flex; align-items: center; padding: var(--space-4xl) 7vw; }
    .pn { background: var(--background); }
    .pn > img { position: absolute; left: 0; top: 4vw; z-index: -1; width: 81vw; max-width: 1380px; height: auto; opacity: .5; -webkit-mask-image: linear-gradient(to bottom, #1C1814 55%, transparent 100%), linear-gradient(to right, #1C1814 45%, transparent 96%), linear-gradient(to bottom, transparent 0, #1C1814 10%); -webkit-mask-composite: source-in; mask-image: linear-gradient(to bottom, #1C1814 55%, transparent 100%), linear-gradient(to right, #1C1814 45%, transparent 96%), linear-gradient(to bottom, transparent 0, #1C1814 10%); mask-composite: intersect; }
    .pn-in { margin-left: auto; width: min(520px, 100%); }
    .pn-h { font-family: var(--font-display); font-weight: 300; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.55; color: var(--text1); margin: var(--space-sm) 0 var(--space-lg); }
    .pn-p { font-size: 14px; line-height: 2; color: var(--text2); margin: 0; max-width: 460px; }
    .pn-kw { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; margin: var(--space-xl) 0 0; padding-top: var(--space-lg); border-top: 1px solid var(--border-visible); }
    .pn-kw li { white-space: nowrap; font-family: var(--font-label); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text3); }
    @media (max-width: 900px) { .pn { min-height: 0; padding: 220px var(--space-lg) var(--space-3xl); } .pn > img { width: 100vw; max-width: none; } .pn-in { margin: 0; } }
    /* Contact: 开启旅程 — one portrait on the left, the three steps on the right */
    #nextsteps.jy { background: var(--background); padding: 0 7vw var(--space-4xl); }
    .js-in { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 480px) minmax(0, 440px); column-gap: 4vw; justify-content: center; align-items: center; }
    .js-fig { margin: 0; aspect-ratio: 3 / 4; max-height: 78vh; overflow: hidden; background: var(--surface2, #F0E9DC); }
    .js-fig img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1800ms var(--ease); }
    .js-list { list-style: none; margin: 0; padding: 0; }
    .js-step { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: var(--space-md); padding: var(--space-xl) 0; cursor: default; outline: none; transition: opacity 500ms ease; }
    .js-step + .js-step { border-top: 1px solid var(--border); }
    .js-step::after { content: ""; position: absolute; left: 0; bottom: -1px; height: 1px; width: 100%; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform 900ms var(--ease); }
    .js-n { font-family: var(--font-label); font-style: italic; font-size: 34px; line-height: 1.2; color: var(--accent); transition: transform 700ms var(--ease), opacity 500ms ease; opacity: .8; }
    .js-t { font-family: var(--font-display); font-weight: 300; font-size: 24px; line-height: 1.6; letter-spacing: .06em; color: var(--text1); margin: 0 0 var(--space-sm); transition: letter-spacing 700ms var(--ease); }
    .js-b { font-size: 14px; line-height: 2; letter-spacing: .02em; color: var(--text2); margin: 0; max-width: 380px; }
    .js-in.is-hot .js-step:not(.is-on) { opacity: .42; }
    .js-step.is-on::after { transform: scaleX(1); }
    .js-step.is-on .js-n { transform: translateX(6px); opacity: 1; }
    .js-step.is-on .js-t { letter-spacing: .12em; }
    .js-fig:hover img { transform: scale(1.05); }
    @media (max-width: 900px) { #nextsteps.jy { padding: 0 var(--space-lg) var(--space-3xl); } .js-in { display: block; } .js-fig { max-height: none; margin-bottom: var(--space-xl); } .js-step { grid-template-columns: 48px minmax(0, 1fr); } .js-n { font-size: 28px; } }
    /* Brand profile on the home page — finishing touches */
    .cover-scroll { cursor: pointer; transition: opacity 500ms ease; }
    .cover-scroll:hover { opacity: 1; }
    .cover-scroll-line { position: relative; overflow: hidden; height: 46px; }
    .cover-scroll-line::after { content: ""; position: absolute; left: 0; top: 0; width: 1px; height: 18px; background: var(--accent); animation: cs-drop 2.4s var(--ease) infinite; }
    @keyframes cs-drop { 0% { transform: translateY(-20px); opacity: 0; } 25% { opacity: 1; } 100% { transform: translateY(48px); opacity: 0; } }
    .cover-scroll-arrow { width: 7px; height: 7px; margin-top: -4px; border-right: 1px solid var(--text2); border-bottom: 1px solid var(--text2); transform: rotate(45deg); transition: transform 500ms var(--ease); }
    .cover-scroll:hover .cover-scroll-arrow { transform: translateY(4px) rotate(45deg); }
    .cover-content { will-change: transform, opacity; }
    .ab-title { font-weight: 300; line-height: 1.5; letter-spacing: 0.03em; }
    .ab-title .tl { display: block; }
    .js .ab-title .tl { overflow: hidden; padding: 0.06em 0 0.12em; margin: -0.06em 0 -0.12em; }
    .js .ab-title .tl > span { display: block; transform: translateY(108%); transition: transform 1300ms var(--ease); }
    .js .abx-head.is-visible .ab-title .tl > span { transform: none; }
    .js .abx-head.is-visible .ab-title .tl:nth-child(2) > span { transition-delay: 160ms; }
    .abx-head .section-label { margin-bottom: var(--space-md); }
    .abx-body .body-lg:first-child { font-family: var(--font-display); font-weight: 300; font-size: 18px; line-height: 2; letter-spacing: 0.03em; color: var(--text1); max-width: 380px; }
    .abx-body .body-lg + .body-lg { position: relative; margin-top: var(--space-xl); padding-top: var(--space-lg); font-size: 14px; line-height: 2; letter-spacing: 0.04em; color: var(--text2); max-width: 340px; }
    .abx-body .body-lg + .body-lg::before { content: ""; position: absolute; left: 0; top: 0; width: 28px; height: 1px; background: var(--accent); opacity: .8; }
    .cl { margin-top: var(--space-4xl); }
    .cl-v { font-size: 16px; letter-spacing: 0.3em; color: var(--text3); }
    .cl-i p { font-size: 14.5px; letter-spacing: 0.04em; }
    @media (min-width: 901px) { .ab-title { font-size: clamp(24px, 2.9vw, 40px); } }
    /* Service scope: the photographs are a sliding track — large centre, neighbours on both sides (same motion as Delivery System) */
    .sx-media { --mm: 14%; }
    .sx-slide { position: absolute; z-index: 1; overflow: hidden; background: var(--surface2); cursor: pointer; opacity: 0; pointer-events: none; left: 50%; width: 12%; top: 22%; height: 58%; transition: left 1000ms var(--ease), width 1000ms var(--ease), top 1000ms var(--ease), height 1000ms var(--ease), opacity 800ms ease; }
    .sx-slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
    .sx-slide[data-o="0"] { left: var(--mm); width: calc(100% - 2 * var(--mm)); top: 0; height: 100%; z-index: 2; opacity: 1; cursor: default; pointer-events: auto; }
    .sx-slide[data-o="-1"] { left: 0; width: 24%; top: 14%; height: 58%; opacity: 0.8; pointer-events: auto; }
    .sx-slide[data-o="1"] { left: 76%; width: 24%; top: 30%; height: 58%; opacity: 0.8; pointer-events: auto; }
    .sx-slide[data-o="-2"] { left: -14%; width: 12%; top: 14%; height: 58%; opacity: 0; }
    .sx-slide[data-o="2"] { left: 102%; width: 12%; top: 30%; height: 58%; opacity: 0; }
    .sx-slide.nt { transition: none; }
    @media (hover: hover) { .sx-slide[data-o="-1"]:hover, .sx-slide[data-o="1"]:hover { opacity: 1; } }
    .sx-slide:focus-visible { outline: 1px solid var(--accent); outline-offset: 3px; }
    @media (max-width: 900px) { .sx-media { --mm: 16%; } }
    /* Titles everywhere rise line by line from behind a mask (same motion as the brand-profile heading) */
    .js .tx .tl { display: block; overflow: hidden; padding: 0.06em 0 0.12em; margin: -0.06em 0 -0.12em; }
    .js .tx .tl > span { display: block; transform: translateY(108%); transition: transform 1300ms var(--ease); }
    .js .tx.tx-in .tl > span { transform: none; }
    .js .tx.tx-in .tl:nth-child(2) > span { transition-delay: 160ms; }
    .js .tx.tx-in .tl:nth-child(3) > span { transition-delay: 320ms; }
    .js .tx.tx-in .tl:nth-child(n+4) > span { transition-delay: 440ms; }
    /* Home brand profile: a quiet light link hanging just beneath the large photograph → Work */
    .abx-main { overflow: visible; background: none; }
    .js .abx-main.rv { background: none; }
    .abx-frame { position: absolute; inset: 0; display: block; overflow: hidden; background: var(--surface2); }
    .abx-work { position: absolute; right: 0; top: 100%; margin-top: var(--space-lg); display: flex; flex-direction: column; align-items: flex-start; gap: 8px; color: var(--text4); }
    .abx-work-t { font-family: var(--font-label); font-style: italic; font-size: 22px; line-height: 1; letter-spacing: 0; color: var(--text3); }
    .abx-work-t em { margin-left: 10px; font-family: var(--font-display); font-style: normal; font-weight: 300; font-size: 12px; letter-spacing: 0.12em; color: var(--text4); }
    .abx-work-go { display: inline-flex; align-items: center; gap: 12px; padding-bottom: 5px; border-bottom: 1px solid var(--text4); font-family: var(--font-label); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; transition: color 400ms ease, border-color 400ms ease; }
    .abx-work-ar { position: relative; display: block; width: 32px; height: 1px; background: currentColor; transition: width 600ms var(--ease); }
    .abx-work-ar::after { content: ""; position: absolute; right: 1px; top: 50%; width: 7px; height: 7px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: translateY(-50%) rotate(45deg); }
    .abx-work:hover .abx-work-go, .abx-work:focus-visible .abx-work-go { color: var(--accent); border-bottom-color: var(--accent); }
    .abx-work:hover .abx-work-ar, .abx-work:focus-visible .abx-work-ar { width: 44px; }
    @media (max-width: 900px) { .abx-work { right: auto; left: calc(-1 * var(--space-3xl)); } .abx-stage .abx-main { margin-bottom: 104px; } }
    @media (max-width: 600px) { .abx-work-t { font-size: 20px; } .abx-work-go { font-size: 11px; gap: 10px; } .abx-work-ar { width: 28px; } .abx-stage .abx-main { margin-bottom: 96px; } }
    /* The scroll cue hangs a fixed distance beneath the tagline, so it never drifts with the window size */
    .cover-tagline { position: relative; }
    .cover-scroll { position: absolute; top: 100%; bottom: auto; margin-top: 56px; }
    .cover-fit { display: flex; flex-direction: column; align-items: center; transform: scale(var(--cs, 1)); transform-origin: 50% 50%; }
    @media (max-width: 900px) { .abx-stage { grid-template-columns: minmax(0, 1fr); } .abx-main { width: auto; } }
    @media (max-width: 900px) { .vr-wrap { width: calc(100% - 48px); grid-template-columns: minmax(0, 1fr); } .vr-text { padding: var(--space-3xl) var(--space-md); } }
    @media (max-width: 600px) { .ps-entries { gap: 28px; } }
    @media (max-width: 480px) { .ps-item { width: 43%; } .ps.has-sel .ps-item { width: 36%; } .ps.has-sel .ps-item:has(.ps-entry.is-active) { width: 56%; } .ps-go { font-size: 14px; } }
    /* Footer: the 小红书 icon opens a small chooser with the two accounts */
    .gf-xhs { position: relative; display: inline-flex; }
    button.gf-ic { background: none; border: none; padding: 0; cursor: pointer; font: inherit; }
    .gf-pop { position: absolute; right: -8px; bottom: calc(100% + 16px); z-index: 20; display: flex; gap: 8px; padding: 12px; background: var(--background); border: 1px solid var(--border-visible); box-shadow: 0 12px 32px rgba(28,24,20,0.1); opacity: 0; transform: translateY(6px); pointer-events: none; transition: opacity 300ms ease, transform 400ms var(--ease); }
    .gf-pop[hidden] { display: none; }
    .gf-pop.is-open { opacity: 1; transform: none; pointer-events: auto; }
    .gf-pop::after { content: ""; position: absolute; right: 24px; bottom: -6px; width: 10px; height: 10px; background: var(--background); border-right: 1px solid var(--border-visible); border-bottom: 1px solid var(--border-visible); transform: rotate(45deg); }
    .gf-pop-i { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 92px; padding: 6px 4px 4px; color: var(--text2); text-decoration: none; transition: color 300ms ease; }
    .gf-pop-i img { width: 60px; height: 60px; object-fit: cover; display: block; }
    .gf-pop-i span { font-family: var(--font-display); font-weight: 300; font-size: 12px; letter-spacing: 0.04em; white-space: nowrap; }
    .gf-pop-i:hover, .gf-pop-i:focus-visible { color: var(--accent); }
    @media (max-width: 600px) { .gf-pop { right: -12px; } }
    html, body { overflow-x: clip; }
    [data-bubbles] { overflow-x: clip; }
    @media (max-width: 360px) { .ps-go { font-size: 13px; letter-spacing: 0; } }
    @media (max-width: 360px) { .eco3-title { flex-wrap: wrap; row-gap: 4px; } .vh4-side .vh4-node-en { letter-spacing: 0.02em; font-size: 8px; } }
    @media (max-width: 900px) { .ms-3 .ms-img { margin-top: var(--space-xl); } }
    @media (max-width: 600px) { .rmb-flow .rmb-arrow, .cb-row .rmb-arrow, .cx-in .rmb-arrow { flex: none; width: 1.5px; min-width: 1.5px; height: 20px; margin-left: 14px; } }
    /* Older mobile browsers without CSS aspect-ratio (e.g. old Android WebViews): give the photo frames their height the classic way, so text never ends up on top of them */
    @supports not (aspect-ratio: 1 / 1) {
      .abx-main::before, .abx-a::before, .ms-img::before { content: ""; display: block; }
      .abx-main::before { padding-top: 110%; }
      .abx-a::before { padding-top: 125%; }
      .ms-1 .ms-img::before { padding-top: 133.33%; }
      .ms-2 .ms-img::before, .ms-3 .ms-img::before { padding-top: 125%; }
    }
    /* Thin line arrow ↗ drawn in CSS, so iOS never swaps in an emoji glyph */
    .ar-ne { display: inline-block; position: relative; width: 9px; height: 9px; margin-left: 6px; flex: none; color: inherit; }
    .ar-ne::before { content: ""; position: absolute; left: 0; bottom: 0; width: 12px; height: 1px; background: currentColor; transform: rotate(-45deg); transform-origin: 0 100%; }
    .ar-ne::after { content: ""; position: absolute; right: 0; top: 0; width: 6px; height: 6px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; }
    .ep-ig .ar-ne { margin-left: 5px; }
    .ps-arr.ar-ne { color: var(--accent); }
    @media (max-width: 900px) { .ep-ig .ar-ne { display: none; } }
    /* WebKit (iPhone Safari / Chrome / WeChat): the aspect-ratio frames in the brand profile are given explicit widths, so a grid item can never stretch to zero height */
    @media (max-width: 900px) {
      .abx-stage .abx-main { width: calc(100% - 40px); margin-right: 0; align-self: start; justify-self: start; height: auto; }
      .abx-stage .abx-a { align-self: start; justify-self: start; height: auto; }
    }
    /* Small screens keep the opening composition: text first, then the two photographs side by side exactly as on desktop (small one lower-left, large one right), simply scaled down — never one behind the other */
    @media (max-width: 900px) {
      .abx .abx-stage { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 10px; grid-template-rows: auto; }
      .abx-stage .abx-head { grid-column: 1 / -1; grid-row: 1; margin-bottom: var(--space-lg); }
      .abx-stage .abx-body { grid-column: 1 / -1; grid-row: 2; padding: 0 0 var(--space-xl); margin: 0; }
      .abx-stage .abx-main { grid-column: 5 / 13; grid-row: 3; width: calc(100% + 24px); margin: 0 -24px 96px 0; align-self: start; justify-self: start; aspect-ratio: 1 / 1.1; }
      .abx-stage .abx-a { grid-column: 1 / 5; grid-row: 3; width: 100%; margin: 0 0 calc(96px - 18%); left: 0; align-self: end; justify-self: start; aspect-ratio: 4 / 5; translate: none; }
      .abx-work { left: auto; right: 24px; }
    }
    .gf-zh, .gf-en { white-space: nowrap; }
    .gf-logo { flex-wrap: wrap; row-gap: 4px; }
    @media (max-width: 360px) { .gf-en { font-size: 20px; letter-spacing: 0.1em; } }
    /* No orphans: the last few characters of any text block stay together (see site.js), and modern engines also balance the last line */
    p, li, dd, figcaption, h1, h2, h3, h4 { text-wrap: pretty; }
    .nw { white-space: nowrap; }
    /* Work page: Next link in the bottom-right corner of the case note */
    .nx-in--pn { position: absolute; right: max(var(--space-2xl), 7vw); bottom: var(--space-xl); margin: 0; z-index: 2; }
    @media (max-width: 900px) { .nx-in--pn { position: static; margin: var(--space-xl) 0 0 auto; } .pn { flex-direction: column; align-items: stretch; } }
    @media (prefers-reduced-motion: reduce) { .cover-scroll-line::after { animation: none; } .js .ab-title .tl > span { transform: none; transition: none; } }
    /* planning journey: normal flow instead of absolute pieces, so title / card / track / Next can never overlap.
       Every phase card is the same module (single-line title, equal height); Next sits under the step track, bottom-right. */
    .jn { height: auto; min-height: 100svh; min-height: max(100vh, 700px); display: flex; flex-direction: column; padding: 112px 7vw 36px; }
    .jn-head, .jn-panels, .jn-track { position: static; }
    .jn-head { left: auto; right: auto; top: auto; flex: none; margin-bottom: var(--space-xl); }
    .jn-panels { display: grid; margin: auto 0 var(--space-2xl); flex: none; }
    .jn-pane, .jn-pane.is-active { position: relative; left: auto; bottom: auto; grid-area: 1 / 1; }
    .jn-pane .phase-title br { display: none; }
    .jn-track { flex: none; }
    /* translucent, flatter phase card with a hairline inner frame */
    .jn-panels { width: min(520px, 86vw); }
    .jn-pane { padding: 22px 34px 20px; background: rgba(253,250,246,0.56); -webkit-backdrop-filter: blur(12px) saturate(1.1); backdrop-filter: blur(12px) saturate(1.1); outline: 1px solid rgba(253,250,246,0.75); outline-offset: -8px; }
    .jn-pane .phase-title { margin-bottom: 2px; }
    .jn-pane .phase-duration { margin-bottom: 6px; }
    .jn-pane .phase-intensity { margin-top: var(--space-sm); }
    .jn-arrow:disabled { opacity: 0.3; cursor: default; pointer-events: none; }
    .nx-in--jn { position: static; align-self: flex-end; margin: var(--space-xl) 0 0; }
    .ec-side { position: sticky; top: 100px; }
    @media (max-width: 900px) {
      .nx-in--vr { position: static; margin: var(--space-md) 0 0 auto; }
      .nx-in--inline { margin-top: var(--space-lg); }
      .nx-in--scene { margin: var(--space-xl) 0 0 auto; justify-content: end; }
      .nx-in--img, .nx-in--img-light { right: var(--space-lg); top: 92px; bottom: auto; }
      .jn { padding: 92px var(--space-lg) 28px; }
      .jn-panels { width: auto; }
      .jn-pane { padding: 20px 24px 18px; }
      .nx-in--jn { margin-top: var(--space-lg); }
      .nx-in--jn .en { display: none; }
      .nx-in--inline { justify-content: end; margin-left: auto; }
      .ec-side { display: contents; }
      .ec-index { order: 0; }
      .ec-stage { order: 1; }
      .nx-in--side { order: 2; justify-self: end; margin: -40px 0 -44px; }
    }
    @media (prefers-reduced-motion: reduce) { .nx-in .t, .nx-in .ar { transition: none; } }

    /* partnership value — asymmetric editorial: image column + 01–04 list, no overlap */
    .pv2-head { max-width: 560px; }
    .pv2 { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--space-xl); row-gap: var(--space-3xl); margin-top: var(--space-4xl); align-items: start; }
    .pv2-fig { margin: 0; position: relative; overflow: hidden; background: var(--surface2); }
    .pv2-fig img { position: absolute; inset: 0; }
    .pv2-fig--a { grid-column: 1 / 6; grid-row: 1 / 3; aspect-ratio: 4 / 5; }
    .pv2-fig--a img { object-position: 38% center; }
    .pv2-fig--b { grid-column: 2 / 6; grid-row: 3 / 5; aspect-ratio: 1 / 1; align-self: end; }
    .pv2-item { grid-column: 7 / 13; padding-top: var(--space-md); border-top: 1px solid var(--border-visible); }
    .pv2-item:nth-of-type(1) { grid-row: 1; }
    .pv2-item:nth-of-type(2) { grid-row: 2; margin-left: 10%; align-self: end; }
    .pv2-item:nth-of-type(3) { grid-row: 3; align-self: start; }
    .pv2-item:nth-of-type(4) { grid-row: 4; margin-left: 10%; align-self: end; }
    .pv2-n { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.2em; color: var(--accent); margin-bottom: var(--space-sm); }
    .pv2-t { font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 30px); font-weight: 300; line-height: 1.45; margin-bottom: var(--space-sm); }
    .pv2-b { font-size: 16px; line-height: 1.95; color: var(--text2); max-width: 440px; }
    @media (max-width: 900px) {
      .pv2 { display: flex; flex-direction: column; gap: var(--space-2xl); margin-top: var(--space-3xl); }
      .pv2-fig--a { width: 100%; aspect-ratio: 4 / 3; }
      .pv2-fig--b { width: 62%; margin-left: auto; aspect-ratio: 4 / 3; }
      .pv2-item:nth-of-type(n) { margin-left: 0; }
    }

    /* global footer — compact */
    .gf { background: var(--surface1); border-top: 1px solid var(--border-visible); padding: var(--space-xl) max(var(--space-2xl), calc((100vw - 1180px) / 2)) var(--space-md); display: block; text-align: left; }
    .gf::before { display: none; }
    .gf-row { display: flex; justify-content: space-between; align-items: center; gap: var(--space-lg); }
    .gf-brand { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 32px; }
    .gf-brand a { color: inherit; }
    .gf-logo { display: inline-flex; align-items: baseline; gap: 16px; }
    .gf-en { font-family: var(--font-label); font-size: 24px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text1); }
    .gf-zh { font-family: var(--font-display); font-size: 14px; font-weight: 300; letter-spacing: 0.3em; color: var(--accent); }
    .gf-line { font-family: var(--font-display); font-size: 14px; font-weight: 300; letter-spacing: 0.08em; line-height: 1.7; color: var(--text2); margin: 0; }
    .gf-soc { display: flex; gap: 20px; align-items: center; }
    .gf-soc { align-items: center; gap: 22px; }
    .gf-ic { display: inline-flex; align-items: center; justify-content: center; height: 24px; color: var(--text3); opacity: 0.85; transition: opacity 250ms ease, transform 300ms var(--ease), color 250ms ease; }
    .gf-ic svg { display: block; fill: currentColor; stroke: none; }
    .gf-ic--ig svg { width: 20px; height: 20px; }     /* optical sizing: square glyph reads larger → smaller box */
    .gf-ic--wc svg { width: 24px; height: 24px; }     /* glyph fills only ~82% of its box height */
    .gf-ic--xhs svg { width: 34px; height: 18px; }    /* wide badge: kept lighter than a square would be */
    .gf-ic:hover { color: var(--accent); opacity: 1; transform: scale(1.08); }
    .gf-nav { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-lg) var(--space-xl); margin: var(--space-lg) 0 var(--space-md); padding-top: var(--space-md); border-top: 1px solid var(--border); }
    .gf-h { display: block; font-family: var(--font-label); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text1); margin-bottom: 6px; border: none; padding: 0; }
    .gf-h:hover { color: var(--accent); }
    .gf-g ul { list-style: none; }
    .gf-g li a { display: block; padding: 0; font-size: 13px; line-height: 1.75; letter-spacing: 0.06em; color: var(--text3); transition: color 250ms, padding-left 300ms var(--ease); }
    .gf-g li a:hover { color: var(--accent); padding-left: 5px; }
    .gf-row--bottom { padding-top: var(--space-md); border-top: 1px solid var(--border); font-size: 12px; color: var(--text3); }
    .gf-copy { font-family: var(--font-body); line-height: 1.7; }
    .gf-top-link { flex: none; font-family: var(--font-label); font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--text2); }
    .gf-top-link:hover { color: var(--accent); }
    @media (max-width: 900px) {
      .gf { padding: var(--space-xl) var(--space-lg) var(--space-lg); }
      .gf-row--top { flex-wrap: wrap; }
      .gf-brand { display: block; }
      .gf-line { margin-top: 4px; }
      .gf-en { font-size: 20px; }
      .gf-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 10px var(--space-lg); margin: var(--space-md) 0; padding-top: var(--space-md); }
      .gf-g ul { display: none; }
      .gf-h { margin: 0; padding: 4px 0; font-size: 11px; }
      .gf-row--bottom { align-items: flex-end; gap: var(--space-md); }
      .gf-copy { font-size: 11px; flex: 1; }
      .gf-row--top { gap: var(--space-md); }
    }

    @media (max-width: 900px) {
      .fs { height: auto; min-height: 84vh; padding: 0; }
      .fs--bl, .fs--br { align-items: flex-end; justify-content: center; }
      .fs--bl .fp, .fs--br .fp { margin: 0 var(--space-lg) var(--space-2xl); padding: var(--space-xl); }
      .hm-intro--r { grid-template-columns: minmax(0, 1fr); }
      .hm-intro--r .hm-img { order: -1; }
      .abx-stage { width: calc(100% - 48px); grid-template-columns: 1fr; }
      .abx-stage { grid-template-rows: auto; }
      .abx-main { grid-column: 1; grid-row: 2; aspect-ratio: 4 / 4.4; margin: 0 -24px 0 var(--space-3xl); }
      .abx-head { grid-column: 1; grid-row: 1; padding-top: 0; margin-bottom: var(--space-lg); }
      .abx-body { grid-column: 1; grid-row: 3; padding: var(--space-xl) 0 0; margin-top: 0; }
      .abx-a { grid-column: 1; grid-row: 4; width: 62%; margin: var(--space-2xl) 0 0; left: 0; }
      .dc-grid { grid-template-columns: 1fr; gap: var(--space-2xl); }
      .dc:nth-child(n) { grid-column: 1; margin-top: 0; }
      .dc:nth-child(2n) { width: 86%; margin-left: auto; }
      .ec { grid-template-columns: minmax(0, 1fr); gap: var(--space-2xl); margin-top: var(--space-3xl); }
      .ec-index { position: static; }
      .ec-stage { padding: var(--space-xl); min-height: 0; }
      .ec-field { width: 100%; justify-content: space-between; padding-top: var(--space-2xl); }
      .ec-art { position: relative; right: auto; bottom: auto; width: 70%; margin: var(--space-2xl) 0 0 auto; }
    }
