:root {
  --ink: #05060b;
  --instrument: #0b0d15;
  --panel: #10131d;
  --optic: #f7f8ff;
  --muted: #8d93a4;
  --quiet: #686e7f;
  --signal-violet: #b56cff;
  --signal-iris: #816fff;
  --signal-blue: #5b8cff;
  --signal-mint: #70d8c3;
  --hairline: rgba(219, 223, 255, 0.11);
  --hairline-strong: rgba(219, 223, 255, 0.18);
  --ease-heavy: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-snap: cubic-bezier(0.32, 0.72, 0, 1);
  --page-x: clamp(1.25rem, 4vw, 4.5rem);
}

* { box-sizing: border-box; }

html {
  color-scheme: dark;
  background: var(--ink);
  scroll-behavior: smooth;
  /* Mid-strength snap: settle on the nearest screen without trapping every wheel step. */
  scroll-snap-type: y mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgba(129, 111, 255, 0.5) var(--ink);
}

body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--optic);
  background: var(--ink);
  font-family: "Avenir Next", "SF Pro Display", "PingFang SC", "Hiragino Sans GB", sans-serif;
  font-feature-settings: "tnum" 1, "ss01" 1;
  -webkit-font-smoothing: antialiased;
}

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

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

:focus-visible {
  outline: 2px solid rgba(138, 119, 255, 0.95);
  outline-offset: 5px;
}

::selection { background: rgba(129, 111, 255, .42); color: #fff; }

.site-field {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 80% 12%, rgba(107, 86, 255, 0.08), transparent 33%),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: auto, 64px 64px, 64px 64px;
}

.site-header {
  position: fixed;
  z-index: 6;
  top: max(1.15rem, env(safe-area-inset-top));
  left: var(--page-x);
  right: var(--page-x);
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

.brand-island,
.language-switch {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  min-height: 2.65rem;
  border-radius: 999px;
  background: rgba(5, 6, 11, 0.68);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.1),
    0 0 0 1px rgba(216, 220, 255, .09);
  backdrop-filter: blur(18px) saturate(130%);
}

.brand-island { gap: .65rem; padding: .48rem .95rem .48rem .55rem; transition: transform 560ms var(--ease-heavy), background-color 560ms var(--ease-heavy); }
.brand-island:hover { transform: translateY(-2px); background: rgba(15, 17, 28, .88); }
.brand-island:active { transform: scale(.98); }
.brand-island img { width: 1.55rem; height: 1.55rem; }
.brand-island span { font-size: 1.08rem; font-weight: 650; letter-spacing: -.045em; }

.language-switch {
  gap: .48rem;
  padding: .42rem .45rem .42rem .85rem;
  color: #d1d5e2;
  font-family: "DIN Alternate", "Avenir Next Condensed", sans-serif;
  font-size: .75rem;
  letter-spacing: .12em;
  transition: transform 560ms var(--ease-heavy), background-color 560ms var(--ease-heavy);
}

.language-switch:hover { transform: translateY(-2px); background: rgba(15, 17, 28, .88); }
.language-switch:active { transform: scale(.98); }
.language-switch .switch-icon {
  display: grid;
  width: 1.8rem;
  height: 1.8rem;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  transition: transform 650ms var(--ease-heavy);
}
.language-switch:hover .switch-icon { transform: translateX(2px) rotate(-10deg); }

.page-dots {
  position: fixed;
  z-index: 6;
  top: 50%;
  right: clamp(.85rem, 2.5vw, 2.95rem);
  display: flex;
  flex-direction: column;
  gap: .85rem;
  transform: translateY(-50%);
}

.page-dot {
  position: relative;
  width: .55rem;
  height: .55rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  background: rgba(255,255,255,.28);
  transition: transform 520ms var(--ease-heavy), background-color 520ms var(--ease-heavy), box-shadow 520ms var(--ease-heavy);
}

.page-dot::before {
  content: attr(data-label);
  position: absolute;
  top: 50%;
  right: 1.25rem;
  width: max-content;
  padding: .38rem .58rem;
  border-radius: 999px;
  color: #d7d9e3;
  background: rgba(8, 9, 15, .78);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.09);
  font-size: .62rem;
  letter-spacing: .08em;
  opacity: 0;
  transform: translate(8px, -50%);
  pointer-events: none;
  transition: opacity 420ms var(--ease-heavy), transform 420ms var(--ease-heavy);
}

.page-dot:hover::before,
.page-dot:focus-visible::before { opacity: 1; transform: translate(0, -50%); }
.page-dot[aria-current="true"] {
  background: var(--signal-iris);
  box-shadow: 0 0 0 .24rem rgba(128, 105, 255, .14), 0 0 1.15rem rgba(128, 105, 255, .85);
  transform: scale(1.28);
}

main { position: relative; z-index: 1; }

.screen {
  position: relative;
  min-height: 100dvh;
  overflow: hidden;
  scroll-snap-align: start;
  scroll-snap-stop: normal;
  isolation: isolate;
}

.screen-inner {
  width: min(100%, 1480px);
  min-height: 100dvh;
  margin: 0 auto;
  padding: clamp(7.5rem, 12vh, 8.5rem) var(--page-x) clamp(3rem, 7vh, 4.5rem);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: #b7a8ff;
  font-family: "DIN Alternate", "Avenir Next Condensed", sans-serif;
  font-size: clamp(.66rem, .72vw, .78rem);
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.eyebrow::before {
  content: "";
  width: .42rem;
  height: .42rem;
  border-radius: 50%;
  background: var(--signal-iris);
  box-shadow: 0 0 1rem rgba(129, 111, 255, .8);
}

.display-title {
  margin: 1.1rem 0 0;
  max-width: 13ch;
  font-size: clamp(3.2rem, 5.4vw, 6rem);
  font-weight: 650;
  letter-spacing: -.058em;
  line-height: .99;
  text-wrap: balance;
}

.section-title {
  margin: 1rem 0 0;
  font-size: clamp(2.65rem, 4.15vw, 4.65rem);
  font-weight: 650;
  letter-spacing: -.052em;
  line-height: 1.02;
  text-wrap: balance;
}

html[lang="zh-CN"] .fixed-lines > span {
  display: block;
  white-space: nowrap;
}

html[lang="zh-CN"] .display-title.fixed-lines {
  font-size: clamp(2.8rem, 5vw, 5.2rem);
}

html[lang="zh-CN"] .section-title.fixed-lines {
  font-size: clamp(2rem, 2.7vw, 3.2rem);
}

.section-copy {
  margin: 1.35rem 0 0;
  max-width: 38rem;
  color: var(--muted);
  font-size: clamp(.95rem, 1.1vw, 1.08rem);
  line-height: 1.78;
}

[data-reveal] {
  opacity: 0;
  filter: blur(10px);
  transform: translateY(44px);
  transition:
    opacity 920ms var(--ease-heavy),
    filter 920ms var(--ease-heavy),
    transform 920ms var(--ease-heavy);
}

[data-reveal].is-visible { opacity: 1; filter: blur(0); transform: translateY(0); }
[data-reveal-delay="1"] { transition-delay: 100ms; }
[data-reveal-delay="2"] { transition-delay: 190ms; }
[data-reveal-delay="3"] { transition-delay: 280ms; }

.double-bezel {
  padding: .42rem;
  border-radius: 2rem;
  background: rgba(255,255,255,.025);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 0 1px rgba(218,222,255,.085);
}

.bezel-core {
  position: relative;
  height: 100%;
  overflow: hidden;
  border-radius: calc(2rem - .42rem);
  background: var(--instrument);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055);
}

/* 01 — cinematic data wall */
.hero { background: #030408; }
.hero .screen-inner { display: grid; place-items: center; padding: 0; }

.hero-wall {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(5, 1fr);
  gap: clamp(.28rem, .7vw, .72rem);
  background: #030408;
}

.hero-tile {
  position: relative;
  overflow: hidden;
  background: #0b0d12;
}

.hero-tile img,
.hero-tile video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.78) contrast(1.08) brightness(.78);
  transform: scale(1.02);
}

.hero-tile:nth-child(4n+2) img,
.hero-tile:nth-child(4n+2) video { transform: scale(1.09); }
.hero-tile::after { content: ""; position: absolute; inset: 0; background: rgba(48, 31, 84, .13); mix-blend-mode: color; }

.hero-scrim {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 44%, rgba(4,5,10,.08), rgba(4,5,10,.88) 71%),
    linear-gradient(180deg, rgba(4,5,10,.32), rgba(4,5,10,.12) 44%, rgba(4,5,10,.94));
}

.hero-content {
  position: relative;
  z-index: 2;
  width: min(72rem, calc(100% - 3rem));
  margin-top: clamp(2rem, 6vh, 4rem);
  text-align: center;
}

.hero-content .eyebrow { padding: .55rem .78rem; border-radius: 999px; background: rgba(5,6,11,.42); box-shadow: inset 0 0 0 1px rgba(255,255,255,.13); }
.hero-content .eyebrow::before { display: none; }
.hero-content .display-title { max-width: 13em; margin: 1.35rem auto 0; text-shadow: 0 .75rem 2.6rem rgba(0,0,0,.62); }
html[lang="en"] .hero-content .display-title { max-width: 18ch; font-size:clamp(3.15rem,4.8vw,5.25rem); }
.hero-subtitle { margin-top: 1.15rem; color: #c8ccd8; font-size: clamp(.75rem, 1vw, .92rem); letter-spacing: .13em; }

.hero-stats {
  display: grid;
  width: min(62rem, calc(100% - 3rem));
  margin: clamp(2.2rem, 6vh, 4.5rem) auto 0;
  grid-template-columns: repeat(3, 1fr);
  background: rgba(6,7,12,.48);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.17), inset 0 -1px 0 rgba(255,255,255,.11);
}

.hero-stat { position: relative; padding: 1.3rem 1rem 1.15rem; }
.hero-stat + .hero-stat::before { content: ""; position: absolute; left: 0; top: 1rem; bottom: 1rem; width: 1px; background: rgba(255,255,255,.14); }
.hero-stat strong { display: block; font-size: clamp(2rem, 3.2vw, 3.35rem); font-weight: 650; letter-spacing: -.055em; line-height: .95; }
.hero-stat span { display: block; margin-top: .65rem; color: #a3a8b9; font-size: .65rem; letter-spacing: .19em; text-transform: uppercase; }
.hero-meta { position: absolute; z-index: 2; left: var(--page-x); bottom: 1.85rem; color: #7a8091; font-size: .58rem; letter-spacing: .15em; }
.scroll-cue { position: absolute; z-index: 2; right: clamp(4rem, 7vw, 7rem); bottom: 1.45rem; display: flex; align-items: center; gap: .65rem; color: #9197a7; font-size: .6rem; letter-spacing: .15em; }
.scroll-cue i { width: 2.7rem; height: 1px; background: rgba(255,255,255,.28); transform-origin: left; animation: cue 2200ms var(--ease-heavy) infinite; }
@keyframes cue { 0%,100% { transform: scaleX(.35); opacity:.4; } 50% { transform: scaleX(1); opacity:1; } }

/* 02 — field evidence */
.field-layout {
  display: grid;
  min-height: calc(100dvh - clamp(10.5rem, 19vh, 13rem));
  grid-template-columns: minmax(20rem, .77fr) minmax(34rem, 1.35fr);
  gap: clamp(3rem, 6vw, 6.25rem);
  align-items: center;
}

.evidence-process { display: grid; margin-top: clamp(2.2rem, 6vh, 4.2rem); grid-template-columns: repeat(4,1fr); box-shadow: inset 0 1px 0 rgba(255,255,255,.15); }
.evidence-step { position: relative; padding: 1.15rem .45rem 0 0; color: #858b9c; font-size: .6rem; line-height: 1.55; letter-spacing: .12em; text-transform: uppercase; }
.evidence-step::before { content:""; position:absolute; top:-.18rem; left:0; width:.36rem; height:.36rem; border-radius:50%; background:var(--signal-iris); box-shadow:0 0 .85rem var(--signal-iris); }

.field-visual { position: relative; min-height: min(69vh, 41rem); }
.field-main { position: absolute; inset: 0 8% 18% 0; }
.field-main img { width: 100%; height: 100%; object-fit: cover; object-position: center 44%; filter: saturate(.78) contrast(1.02); }
.media-caption { position:absolute; left:1.25rem; right:1.25rem; bottom:1.05rem; display:flex; justify-content:space-between; align-items:end; gap:1rem; text-shadow:0 2px 10px #000; }
.media-caption b { font-size:.9rem; }.media-caption span { color:#c2c6d3; font-size:.57rem; letter-spacing:.13em; text-transform:uppercase; }
.auto-gallery { position:relative; isolation:isolate; touch-action:pan-y; }
.auto-gallery .gallery-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.025); transition:opacity 980ms var(--ease-heavy),transform 1600ms var(--ease-heavy); }
.auto-gallery .gallery-slide.is-current { opacity:1; transform:scale(1); }
.auto-gallery .gallery-meta { position:absolute; z-index:3; left:1.25rem; right:6rem; bottom:1.05rem; display:flex; align-items:end; justify-content:space-between; gap:1rem; text-shadow:0 2px 12px #000; }
.auto-gallery .gallery-meta b { font-size:.9rem; }.auto-gallery .gallery-meta span { color:#c2c6d3;font-size:.56rem;letter-spacing:.11em;text-transform:uppercase }
.gallery-progress { position:absolute; z-index:4; left:1.25rem; right:1.25rem; top:1.05rem; display:flex; gap:.35rem; }
.gallery-progress i { height:2px; flex:1; background:rgba(255,255,255,.22); overflow:hidden; }
.gallery-progress i::after { content:"";display:block;width:100%;height:100%;background:#a28cff;transform:scaleX(0);transform-origin:left;transition:transform 520ms var(--ease-heavy) }
.gallery-progress i.is-active::after { transform:scaleX(1); }
.auto-gallery[data-paused="true"] .gallery-progress i.is-active::after { opacity:.45; }
.gallery-controls { position:absolute; z-index:5; right:1.1rem; bottom:.9rem; display:flex; gap:.35rem; }
.gallery-control { width:2rem; height:2rem; padding:0; border:1px solid rgba(255,255,255,.2); border-radius:50%; color:#fff; background:rgba(5,6,11,.58); cursor:pointer; transition:transform 160ms ease-out, background-color 160ms ease-out; }
.gallery-control:hover { background:rgba(129,111,255,.7); }
.gallery-control:active { transform:scale(.97); }
.field-detail { position: absolute; right: 0; bottom: 0; width: min(22rem, 43%); height: min(15rem, 36%); }
.field-detail img,
.field-detail video { width:100%; height:100%; object-fit:cover; filter:saturate(.76) brightness(.82); }
.proof-cards { position:absolute; left:2%; bottom:0; display:grid; width:52%; grid-template-columns:repeat(2,1fr); gap:.8rem; }
.proof-card { padding:1.15rem 1rem; background:linear-gradient(180deg,rgba(255,255,255,.035),transparent); box-shadow:inset 0 1px 0 rgba(255,255,255,.15); transition:transform 340ms var(--ease-heavy), box-shadow 340ms var(--ease-heavy); }
.proof-card:hover { transform:translateY(-.14rem); box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 .8rem 1.8rem rgba(0,0,0,.3); }
.proof-card b { font-size:.82rem; }.proof-card small { display:block; margin-top:.45rem; color:#7f8596; font-size:.65rem; line-height:1.5; }

/* 03 — task graph */
.task-layout { display:grid; grid-template-columns:minmax(19rem,.62fr) minmax(46rem,1.65fr); gap:clamp(2rem,4vw,4.5rem); align-items:center; }
.task-photo { margin-top:auto; width:min(21rem,100%); height:13rem; }
.task-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(.62) brightness(.62); }
.task-photo .gallery-slide { filter:saturate(.62) brightness(.62); }
.task-photo .gallery-meta { display:block; font-size:.65rem; }
.task-graph { min-height:min(75vh,44rem); padding:1.45rem; border-radius:2rem; background:rgba(12,14,23,.78); box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(218,222,255,.09); }
.task-columns { display:grid; grid-template-columns:.72fr 1fr 1.28fr 1.38fr; gap:1rem; }
.task-column { position:relative; display:flex; flex-direction:column; justify-content:center; gap:.52rem; min-width:0; }
.task-column-title { margin-bottom:.8rem; padding-bottom:.65rem; color:#747a8b; box-shadow:inset 0 -1px 0 rgba(255,255,255,.12); font-size:.56rem; letter-spacing:.13em; text-transform:uppercase; }
.task-root,.task-node { position:relative; border-radius:1rem; background:rgba(14,17,27,.94); box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(218,222,255,.095); }
.task-root { display:grid; min-height:5.2rem; place-items:center; padding:.8rem; text-align:center; box-shadow:inset .12rem 0 0 var(--signal-iris),inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(145,127,255,.22); }
.task-root b { font-size:1rem; }.task-root small { display:block; margin-top:.4rem; color:#9e94d1; font-size:.5rem; letter-spacing:.12em; }
.task-node { padding:.68rem .82rem; }
.task-node::before { content:""; position:absolute; top:50%; left:-1rem; width:1rem; height:1px; background:rgba(143,125,255,.45); }
.task-node b { display:block; font-size:.71rem; }.task-node span { display:block; margin-top:.28rem; color:#7e8495; font-size:.53rem; line-height:1.4; }
.task-node.role { box-shadow:inset .11rem 0 0 var(--signal-iris),inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(218,222,255,.095); }
.task-node.event { padding:.55rem .68rem; background:rgba(10,12,20,.86); }.task-node.event b{font-size:.64rem}.task-node.event span{font-size:.48rem}
.task-grow { margin-top:.85rem; color:#666c7c; font-size:.52rem; letter-spacing:.13em; text-align:right; text-transform:uppercase; }.task-grow i{color:#a28cff;font-style:normal}

/* The task tree reads as a lineage instrument: stage rails, branches and event endpoints. */
.task-graph {
  position: relative;
  overflow: hidden;
  border-radius: .8rem;
  background:
    linear-gradient(90deg, rgba(112,216,195,.025), transparent 22%),
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    rgba(10,12,20,.9);
  background-size: auto, 100% 2.7rem, auto;
}
.task-graph::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(218,222,255,.08), inset 0 1px 0 rgba(255,255,255,.07);
}
.task-columns { position: relative; z-index: 1; grid-template-columns: .66fr 1fr 1.3fr 1.42fr; gap: 1.2rem; }
.task-column-title {
  min-height: 2.35rem;
  margin-bottom: .35rem;
  padding: .15rem .25rem .7rem;
  color: #aeb4c5;
  font-size: .62rem;
  font-weight: 650;
}
.task-root,
.task-node {
  border-radius: .55rem;
  transition: transform 420ms var(--ease-heavy), background-color 420ms var(--ease-heavy), box-shadow 420ms var(--ease-heavy);
}
.task-root {
  min-height: 6rem;
  background: linear-gradient(135deg, rgba(129,111,255,.18), rgba(14,17,27,.96) 58%);
  box-shadow: inset .16rem 0 0 var(--signal-iris), inset 0 1px 0 rgba(255,255,255,.1), 0 0 0 1px rgba(145,127,255,.3);
}
.task-root b { font-size: 1.08rem; }
.task-root small { font-size: .58rem; }
.task-node { padding: .68rem .78rem; background: rgba(13,16,25,.96); }
.task-node:hover { z-index: 2; transform: translateX(.22rem); background: rgba(19,23,35,.99); }
.task-node b { font-size: .76rem; line-height: 1.25; }
.task-node span { margin-top: .3rem; font-size: .59rem; line-height: 1.45; }
.task-node.role {
  background: linear-gradient(90deg, rgba(129,111,255,.11), rgba(13,16,25,.96) 42%);
  box-shadow: inset .12rem 0 0 var(--signal-iris), inset 0 1px 0 rgba(255,255,255,.07), 0 0 0 1px rgba(218,222,255,.095);
}
.task-column:nth-child(3) .task-node {
  box-shadow: inset .1rem 0 0 var(--signal-blue), inset 0 1px 0 rgba(255,255,255,.07), 0 0 0 1px rgba(218,222,255,.095);
}
.task-node.event {
  padding: .58rem .72rem;
  background: linear-gradient(90deg, rgba(112,216,195,.1), rgba(10,12,20,.92) 45%);
  box-shadow: inset .1rem 0 0 var(--signal-mint), inset 0 1px 0 rgba(255,255,255,.055), 0 0 0 1px rgba(112,216,195,.12);
}
.task-node.event b { font-size: .68rem; }
.task-node.event span { color: #879c99; font-size: .55rem; }
.task-grow {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .5rem;
  min-height: 2rem;
  margin-top: .65rem;
  color: #858c9d;
  font-size: .58rem;
}
.task-grow i { color: var(--signal-mint); text-shadow: 0 0 .8rem rgba(112,216,195,.8); }

/* Task graph layout. */
.task-layout { display:block; }

@media (min-width: 768px) {
  .task-column:not(:first-child) { padding-left: .9rem; }
  .task-column:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 2.75rem;
    bottom: .15rem;
    left: 0;
    width: 1px;
    background: linear-gradient(180deg, rgba(129,111,255,.65), rgba(91,140,255,.35) 54%, rgba(112,216,195,.5));
  }
  .task-column:not(:first-child)::after {
    content: "";
    position: absolute;
    top: 2.55rem;
    left: -.2rem;
    width: .42rem;
    height: .42rem;
    border-radius: 50%;
    background: #c8bfff;
    box-shadow: 0 0 .8rem rgba(129,111,255,.75);
  }
  .task-root::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -1.2rem;
    width: 1.2rem;
    height: 1px;
    background: rgba(129,111,255,.55);
  }
}

/* 04 — data pyramid */
.pyramid-layout { display:grid; grid-template-columns:minmax(24rem,.7fr) minmax(38rem,1.3fr); gap:clamp(2.5rem,5vw,5rem); align-items:center; }
.source-grid { display:grid; margin-top:clamp(2rem,5vh,3.5rem); grid-template-columns:repeat(2,1fr); gap:.75rem; }
.source-card { position:relative; min-height:7.2rem; padding:1.15rem; border-radius:1.25rem; background:rgba(14,17,27,.88); box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(218,222,255,.09); overflow:hidden; transition:transform 340ms var(--ease-heavy), box-shadow 340ms var(--ease-heavy); }
.source-card:hover,.source-card:focus-visible { transform:translateY(-.18rem); box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(160,145,255,.38),0 1.1rem 2.4rem rgba(0,0,0,.38); }
.source-card .code { display:block; color:#a897ff; font-size:.5rem; letter-spacing:.13em; }.source-card b{display:block;margin-top:.75rem;font-size:.83rem}.source-card span{display:block;margin-top:.4rem;color:#7f8596;font-size:.62rem;line-height:1.5}
.source-card.has-image::before { content:"";position:absolute;inset:0;background:#15182a; transition:opacity 420ms var(--ease-heavy); }
.source-card.has-image>* { position:relative; z-index:1; }
.source-card.has-image:hover::before,.source-card.has-image:focus-visible::before { opacity:.26; }
.source-card.has-image:focus-visible { outline:2px solid rgba(112,216,195,.85); outline-offset:3px; }
.source-card.is-generating { background:#15182a; }
.source-card.is-generating::before { opacity:1; background:#15182a; }
.pyramid-shell { min-height:min(74vh,43rem); padding:1.55rem; }
.pyramid-core { position:relative; display:flex; height:100%; min-height:min(70vh,40rem); flex-direction:column; align-items:center; justify-content:flex-end; gap:.55rem; padding:4.5rem 3rem 2.2rem; }
.pyramid-ghost { position:absolute; top:1.1rem; right:1.8rem; color:rgba(255,255,255,.035); font-size:clamp(3.2rem,5vw,5.8rem); font-weight:700; letter-spacing:-.05em; }
.pyramid-layer { position:relative; display:flex; min-height:5.7rem; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 2.25rem; clip-path:polygon(9% 0,91% 0,100% 100%,0 100%); background:rgba(27,29,49,.94); box-shadow:inset 0 1px 0 rgba(172,156,255,.28); }
.pyramid-layer.is-generating { background:linear-gradient(135deg,rgba(35,37,70,.98),rgba(10,12,23,.98)); }
.pyramid-layer:nth-child(3) { clip-path:polygon(50% 0,100% 100%,0 100%); padding-top:2.2rem; }
.pyramid-layer::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(181,108,255,.07),rgba(91,140,255,.05)); }
.pyramid-layer>*{position:relative;z-index:1}.pyramid-layer b{font-size:clamp(.85rem,1.2vw,1.15rem)}.pyramid-layer span{color:#a2a7b8;font-size:.53rem;letter-spacing:.12em;text-align:right;text-transform:uppercase}.pyramid-layer:nth-child(3){width:46%}.pyramid-layer:nth-child(4){width:64%}.pyramid-layer:nth-child(5){width:82%}.pyramid-layer:nth-child(6){width:100%;min-height:6.7rem}
.pyramid-axis { position:absolute; left:1.8rem; top:5rem; bottom:2.3rem; width:1px; background:rgba(255,255,255,.14); }.pyramid-axis::before{content:"ROBOT ALIGNMENT ↑";position:absolute;top:-.5rem;left:-.25rem;writing-mode:vertical-rl;color:#787e8e;font-size:.48rem;letter-spacing:.13em}

/* 05 — object universe */
.object-head { display:flex; align-items:end; justify-content:space-between; gap:2rem; }
.object-count { flex:0 0 auto; text-align:right; }.object-count strong{display:block;font-size:clamp(3.7rem,6vw,7rem);letter-spacing:-.065em;line-height:.9}.object-count span{display:block;margin-top:.65rem;color:#898fa0;font-size:.55rem;letter-spacing:.16em;text-transform:uppercase}
.object-universe { display:grid; height:min(57vh,33rem); margin-top:clamp(2rem,5vh,3.3rem); grid-template-columns:1.34fr .82fr .82fr .75fr; grid-template-rows:repeat(2,1fr); gap:.8rem; }
.object-card { position:relative; overflow:hidden; border-radius:1.65rem; background:#0c0f17; box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(218,222,255,.09); cursor:pointer; transition:transform 180ms ease-out, box-shadow 340ms var(--ease-heavy); }
.object-card:hover { box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(160,145,255,.42),0 1.2rem 2.8rem rgba(0,0,0,.42); }
.object-card:active { transform:scale(.985); }.object-card.is-selected { box-shadow:0 0 0 2px var(--signal-mint), 0 0 1.6rem rgba(112,216,195,.25); }
.object-viewer { position:fixed; inset:0; z-index:20; display:grid; place-items:center; padding:clamp(1rem,4vw,4rem); background:rgba(3,4,8,.88); backdrop-filter:blur(18px); animation:viewerFade 260ms ease-out; }
.object-viewer img { animation:viewerZoom 420ms var(--ease-heavy); }
@keyframes viewerFade { from { opacity:0; } }
@keyframes viewerZoom { from { opacity:0; transform:scale(.94) translateY(1.2rem); } }
.object-viewer[hidden] { display:none; }
.object-viewer img { width:min(78rem, 88vw); height:min(72vh, 46rem); object-fit:contain; border-radius:.7rem; box-shadow:0 2rem 6rem rgba(0,0,0,.55); }
.object-viewer > button { position:absolute; top:clamp(1rem,3vw,2.5rem); right:clamp(1rem,3vw,2.5rem); z-index:2; width:2.8rem; height:2.8rem; border:1px solid rgba(255,255,255,.2); border-radius:50%; color:#fff; background:rgba(13,16,25,.8); cursor:pointer; font-size:1.35rem; }
.object-viewer > div { position:absolute; left:clamp(1.5rem,6vw,6rem); bottom:clamp(1.5rem,5vw,4.5rem); padding:.8rem 1rem; background:rgba(5,6,11,.7); text-shadow:0 2px 10px #000; }.object-viewer b{display:block;font-size:1rem}.object-viewer span{display:block;margin-top:.35rem;color:#aab0c0;font-size:.7rem}
.object-card.main { grid-column:1;grid-row:1/3 }.object-card:nth-child(2){grid-column:2;grid-row:1}.object-card:nth-child(3){grid-column:3;grid-row:1}.object-card:nth-child(4){grid-column:2;grid-row:2}.object-card:nth-child(5){grid-column:3;grid-row:2}
.object-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.67) brightness(.62);transition:transform 900ms var(--ease-heavy),filter 900ms var(--ease-heavy)}.object-card:hover img{transform:scale(1.035);filter:saturate(.8) brightness(.7)}
.object-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 24%,rgba(4,5,9,.94))}.object-label{position:absolute;z-index:2;left:1.05rem;right:1rem;bottom:.95rem}.object-label b{font-size:.88rem}.object-label span{display:block;margin-top:.38rem;color:#989eaf;font-size:.52rem;letter-spacing:.08em}.object-chips{position:absolute;z-index:2;left:1rem;top:1rem;display:flex;flex-wrap:wrap;gap:.38rem}.object-chips span{padding:.38rem .52rem;border-radius:999px;background:rgba(5,6,11,.7);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);font-size:.5rem}
.physics-panel { grid-column:4;grid-row:1/3;padding:1.1rem;border-radius:1.65rem;background:rgba(13,16,25,.92);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(218,222,255,.09) }.physics-panel h3{margin:0 0 .9rem;color:#baaff0;font-size:.66rem;letter-spacing:.1em;font-weight:500}.physics-row{padding:.52rem 0;box-shadow:inset 0 1px 0 rgba(255,255,255,.09)}.physics-row b{display:flex;align-items:center;justify-content:space-between;font-size:.68rem}.physics-row i{width:.42rem;height:.42rem;border-radius:50%;background:var(--signal-iris);box-shadow:0 0 .75rem var(--signal-iris)}.physics-row span{display:block;margin-top:.3rem;color:#787e8e;font-size:.5rem;line-height:1.4}.physics-note{margin-top:.7rem;color:#686e7f;font-size:.49rem;line-height:1.45}

/* 06 — map and flywheel */
.flywheel-layout { display:grid; grid-template-columns:minmax(35rem,1.45fr) minmax(27rem,.92fr); gap:clamp(1.2rem,2.5vw,2.6rem); margin-top:clamp(1.7rem,4vh,2.6rem); }
.map-shell,.flywheel-shell { height:min(59vh,34rem); }
.map-core { position:relative; height:100%; overflow:hidden; border-radius:calc(2rem - .42rem); background:#070911; }
.map-core::before { content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 53% 50%,rgba(99,81,208,.19),transparent 58%); }
.china-map { position:absolute;inset:1.2rem;width:calc(100% - 2.4rem);height:calc(100% - 2.4rem);object-fit:contain;filter:invert(1) hue-rotate(180deg) brightness(.62) contrast(1.18) saturate(.55);opacity:.82;mix-blend-mode:screen; }
.map-point { position:absolute;width:.48rem;height:.48rem;border-radius:50%;background:#d6cbff;box-shadow:0 0 0 .23rem rgba(129,111,255,.14),0 0 1.15rem #806cff;animation:pulse 2600ms var(--ease-heavy) infinite; }
.map-point:nth-of-type(2n){animation-delay:-900ms}.map-point:nth-of-type(3n){animation-delay:-1600ms}@keyframes pulse{0%,100%{transform:scale(.78);opacity:.58}50%{transform:scale(1.18);opacity:1}}
.map-label { position:absolute;left:1.2rem;top:1.1rem;color:#b7a9ff;font-size:.57rem;letter-spacing:.14em;text-transform:uppercase }.map-compliance{position:absolute;left:1.1rem;right:1.1rem;bottom:.9rem;display:flex;justify-content:space-between;gap:1rem;color:#8d93a4;font-size:.5rem;line-height:1.45}.map-compliance b{color:#d7d9e3;font-weight:500}
.flywheel-core { display:grid; place-items:center; height:100%; padding:1.25rem; overflow:hidden; }
.flywheel { position:relative; width:min(23rem,70%); aspect-ratio:1; border-radius:50%; transform:translateY(-.7rem); box-shadow:inset 0 0 0 1rem rgba(255,255,255,.065),inset 0 0 0 1.55rem rgba(129,111,255,.24),0 0 5rem rgba(92,76,190,.08); }
.flywheel::before { content:"";position:absolute;inset:2rem;border-radius:50%;box-shadow:inset 0 0 0 .65rem rgba(5,6,11,.8),inset 0 0 0 .72rem rgba(161,144,255,.22)}
.flywheel-center { position:absolute;inset:31%;z-index:2;overflow:hidden;border-radius:50%;box-shadow:0 0 0 .5rem rgba(5,6,11,.75),0 0 0 .58rem rgba(141,122,255,.58) }.flywheel-center img{width:100%;height:100%;object-fit:cover;filter:saturate(.64) brightness(.7)}.flywheel-center span{position:absolute;left:0;right:0;bottom:.75rem;text-align:center;font-size:.48rem;letter-spacing:.12em;text-shadow:0 2px 8px #000}
.fly-node { position:absolute;z-index:3;font-size:.78rem;font-weight:600;white-space:nowrap}.fly-node.top{top:-.2rem;left:50%;transform:translateX(-50%)}.fly-node.right{right:-3rem;top:50%;transform:translateY(-50%)}.fly-node.bottom{bottom:-.15rem;left:50%;transform:translateX(-50%)}.fly-node.left{left:-3rem;top:50%;transform:translateY(-50%)}
.fly-arrow { position:absolute;z-index:4;width:1rem;height:1rem;background:var(--signal-iris);clip-path:polygon(0 0,100% 50%,0 100%);filter:drop-shadow(0 0 .5rem rgba(129,111,255,.8))}.fly-arrow.a{top:5%;left:48%;transform:rotate(-90deg)}.fly-arrow.b{right:5%;top:48%}.fly-arrow.c{bottom:5%;left:48%;transform:rotate(90deg)}.fly-arrow.d{left:5%;top:48%;transform:rotate(180deg)}
.return-strip { position:absolute;left:8%;right:8%;bottom:1.15rem;z-index:4;display:flex;align-items:center;justify-content:center;gap:.9rem;min-height:2.8rem;border-radius:999px;background:#10131d;box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 0 0 1px rgba(159,143,255,.16);color:#aeb3c2;font-size:.58rem;letter-spacing:.06em}.return-strip i{color:#8f78ff;font-style:normal}.return-strip b{color:#fff}

.footer-line { position:absolute;left:var(--page-x);right:clamp(4.5rem,6vw,6rem);bottom:1.35rem;display:flex;justify-content:space-between;gap:1rem;color:#717788;font-size:.52rem;letter-spacing:.09em;text-transform:uppercase }

/* English desktop density: keep the acquisition pyramid inside one viewport and lift microcopy legibility. */
@media (min-width: 1101px) {
  html[lang="en"] .section-copy { font-size: clamp(1rem, 1.08vw, 1.14rem); line-height: 1.62; }
  html[lang="en"] .hero-meta,
  html[lang="en"] .scroll-cue,
  html[lang="en"] .footer-line { font-size: .64rem; }
  html[lang="en"] .pyramid-layout {
    grid-template-columns: minmax(22rem, .78fr) minmax(35rem, 1.22fr);
    gap: 3rem;
  }
  html[lang="en"] #data-pyramid .screen-inner {
    padding-top: clamp(5.5rem, 8vh, 6.5rem);
    padding-bottom: 2rem;
  }
  html[lang="en"] #data-pyramid .section-title { font-size: clamp(2.35rem, 3.1vw, 3.45rem); }
  html[lang="en"] #data-pyramid .section-copy { font-size: .98rem; line-height: 1.55; }
  html[lang="en"] #data-pyramid .source-grid { margin-top: 1.45rem; gap: .65rem; }
  html[lang="en"] #data-pyramid .source-card { min-height: 5.8rem; padding: .9rem; }
  html[lang="en"] #data-pyramid .source-card .code { font-size: .6rem; }
  html[lang="en"] #data-pyramid .source-card b { margin-top: .5rem; font-size: .86rem; }
  html[lang="en"] #data-pyramid .source-card span { margin-top: .3rem; font-size: .68rem; line-height: 1.4; }
  html[lang="en"] #data-pyramid .pyramid-shell { height: min(68vh, 35rem); min-height: 0; padding: 1.1rem; }
  html[lang="en"] #data-pyramid .pyramid-core { min-height: 0; padding: 3.5rem 2rem 1.3rem; gap: .4rem; }
  html[lang="en"] #data-pyramid .pyramid-layer { min-height: 4.35rem; padding: .75rem 1.65rem; }
  html[lang="en"] #data-pyramid .pyramid-layer b { font-size: 1rem; }
  html[lang="en"] #data-pyramid .pyramid-layer span { font-size: .64rem; }
  html[lang="en"] #data-pyramid .pyramid-layer:nth-child(6) { min-height: 5.15rem; }
  html[lang="en"] #data-pyramid .pyramid-axis::before { font-size: .55rem; }
}

@media (max-width: 1100px) {
  .field-layout,.task-layout,.pyramid-layout,.flywheel-layout { grid-template-columns:1fr; }
  .screen-inner { padding-top:7rem; padding-right:4rem; }
  .field-layout,.task-layout,.pyramid-layout { padding-bottom:3rem; }
  .field-visual { min-height:34rem; }
  .task-photo { margin-top:2rem; }
  .object-universe { height:auto; min-height:34rem; grid-template-columns:1.25fr 1fr 1fr; grid-template-rows:repeat(3,1fr); }
  .object-card.main{grid-column:1;grid-row:1/3}.object-card:nth-child(2){grid-column:2;grid-row:1}.object-card:nth-child(3){grid-column:3;grid-row:1}.object-card:nth-child(4){grid-column:2;grid-row:2}.object-card:nth-child(5){grid-column:3;grid-row:2}.physics-panel{grid-column:1/4;grid-row:3;display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}.physics-panel h3{grid-column:1/-1}.physics-row{padding:.6rem}.physics-note{grid-column:1/-1}
  .map-shell,.flywheel-shell { height:19rem; }
}

@media (max-width: 767px) {
  .gallery-control { width:2.5rem; height:2.5rem; }
  html { scroll-snap-type: y proximity; }
  .site-header { left:1rem;right:1rem;top:max(.8rem,env(safe-area-inset-top)) }.brand-island{min-height:2.4rem}.brand-island span{font-size:.94rem}.language-switch{min-height:2.4rem}
  .page-dots { top:auto;right:1rem;left:1rem;bottom:max(.75rem,env(safe-area-inset-bottom));flex-direction:row;justify-content:center;transform:none }.page-dot{width:1.8rem;height:.2rem;border-radius:999px}.page-dot[aria-current="true"]{transform:scaleX(1.24)}.page-dot::before{display:none}
  .screen { min-height:100dvh; overflow:visible; scroll-snap-stop:normal }.screen-inner{min-height:100dvh;padding:6.7rem 1rem 5.5rem}
  .display-title{font-size:clamp(2.8rem,14vw,4.1rem)}.section-title{font-size:clamp(2.35rem,11vw,3.4rem)}
  .hero .screen-inner{min-height:100dvh;padding:0}.hero-wall{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(6,1fr);gap:.28rem}.hero-tile:nth-child(n+19){display:none}.hero-content{width:calc(100% - 2rem);margin-top:0}.hero-content .display-title{font-size:clamp(2.8rem,13vw,4.2rem)}.hero-subtitle{font-size:.68rem}.hero-stats{width:calc(100% - 2rem);margin-top:2.5rem}.hero-stat{padding:1rem .35rem}.hero-stat strong{font-size:clamp(1.55rem,7vw,2.3rem)}.hero-stat span{font-size:.48rem;letter-spacing:.08em}.hero-meta{left:1rem;bottom:3.5rem}.scroll-cue{display:none}
  .field-layout,.task-layout,.pyramid-layout,.flywheel-layout{display:block}.field-visual{min-height:31rem;margin-top:2.5rem}.field-main{inset:0 0 25%}.field-detail{width:52%;height:34%}.proof-cards{left:0;width:48%;grid-template-columns:1fr}.proof-card{padding:.8rem}.evidence-process{grid-template-columns:repeat(2,1fr);gap:1rem}.task-photo{width:100%;height:12rem}
  .task-graph{margin-top:2rem;padding:1rem;min-height:0}.task-columns{display:block}.task-column{display:grid;grid-template-columns:repeat(2,1fr);margin-top:1.15rem}.task-column:first-child{grid-template-columns:1fr}.task-column-title{grid-column:1/-1}.task-node::before{display:none}.task-grow{text-align:left}
  .source-grid{grid-template-columns:1fr}.pyramid-shell{margin-top:2rem;min-height:31rem}.pyramid-core{min-height:30rem;padding:4rem 1rem 1.5rem}.pyramid-layer{padding:.8rem 1rem}.pyramid-layer span{display:none}.pyramid-layer:nth-child(3){width:56%}.pyramid-layer:nth-child(4){width:70%}.pyramid-layer:nth-child(5){width:84%}.pyramid-layer:nth-child(6){width:100%}.pyramid-axis{left:.85rem}
  .object-head{display:block}.object-count{text-align:left;margin-top:.8rem}.object-count strong{font-size:3.1rem}.object-universe{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;min-height:0;margin-top:1rem}.object-card,.object-card.main{height:5.8rem;margin-top:0}.object-card.main{grid-column:1/-1;height:10rem}.object-label{left:.62rem;right:.55rem;bottom:.58rem}.object-label b{font-size:.64rem}.object-label span{margin-top:.2rem;font-size:.39rem;line-height:1.2}.object-chips{left:.55rem;top:.55rem;gap:.2rem}.object-chips span{padding:.2rem .28rem;font-size:.37rem}.physics-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .55rem;margin-top:0;padding:.6rem;border-radius:.85rem}.physics-panel h3,.physics-note{grid-column:1/-1}.physics-panel h3{margin-bottom:.25rem;font-size:.5rem}.physics-row{padding:.36rem 0}.physics-row b{font-size:.53rem}.physics-row span{margin-top:.16rem;font-size:.39rem;line-height:1.2}.physics-note{margin-top:.25rem;font-size:.39rem}
  #flywheel .screen-inner{padding-top:5.3rem;padding-bottom:3.8rem}
  .flywheel-layout{margin-top:.8rem}.map-shell{height:13rem;margin-top:.4rem}.flywheel-shell{height:14rem;margin-top:.4rem}.flywheel{width:55%}.fly-node{font-size:.5rem}.fly-node.right{right:-1.8rem}.fly-node.left{left:-1.8rem}.return-strip{gap:.3rem;font-size:.4rem}.map-compliance{display:block;font-size:.4rem}.map-compliance span{display:block;margin-top:.18rem}
  #flywheel .section-copy{font-size:.88rem;line-height:1.35}
  .footer-line{position:static;margin-top:1rem;padding:0;display:block}.footer-line span{display:block;margin-top:.3rem;font-size:.44rem}
}

/* Screen 03 is a full-viewport task tree with contextual video windows. */
#task-tree .task-layout {
  display:flex;
  width:100%;
  max-width:none;
  height:100dvh;
  min-height:100dvh;
  flex-direction:column;
  align-items:stretch;
  gap:.75rem;
  padding-right:clamp(4.5rem,5vw,6rem);
  padding-left:clamp(1.25rem,3vw,3.5rem);
  padding-top:clamp(4.8rem,8vh,5.8rem);
  padding-bottom:clamp(.8rem,2vh,1.25rem);
}
#task-tree [data-reveal] { opacity:1; filter:none; transform:none; }
#task-tree .task-tree-head {
  display:flex;
  flex:0 0 auto;
  align-items:end;
  justify-content:space-between;
  gap:2rem;
}
#task-tree .task-tree-head h2 { margin:.25rem 0 0; font-size:clamp(1.75rem,2.8vw,3.15rem); line-height:1; }
#task-tree .task-tree-head p { max-width:37rem; margin:0; color:#8d93a4; font-size:.76rem; line-height:1.55; text-align:right; }
#task-tree .task-graph {
  width:100%;
  min-height:0;
  flex:1 1 auto;
  padding:clamp(.8rem,1.7vw,1.35rem);
  overflow:hidden;
  border-radius:.5rem;
}
#task-tree .task-columns { height:calc(100% - 1.9rem); grid-template-columns:.72fr 1fr 1.28fr 1.42fr; gap:clamp(.75rem,1.25vw,1.5rem); }
#task-tree .task-column { height:100%; justify-content:space-between; gap:.38rem; }
#task-tree .task-column-title { min-height:1.75rem; margin:0; padding:.1rem .2rem .45rem; }
#task-tree .task-root { min-height:6.5rem; }
#task-tree .task-root { cursor:pointer; }
#task-tree .task-root.is-selected { z-index:3; outline:1px solid var(--signal-mint); background:rgba(20,28,36,.99); box-shadow:0 0 0 1px rgba(112,216,195,.24),0 0 1.3rem rgba(112,216,195,.2); }
#task-tree .task-node { display:flex; min-height:0; flex:1 1 0; flex-direction:column; justify-content:center; padding:.45rem .65rem; cursor:pointer; }
#task-tree .task-node b { font-size:clamp(.58rem,.72vw,.76rem); }
#task-tree .task-node span { margin-top:.18rem; font-size:clamp(.45rem,.55vw,.58rem); line-height:1.3; }
#task-tree .task-node.is-selected { z-index:3; transform:translateX(.22rem); outline:1px solid var(--signal-mint); background:rgba(20,28,36,.99); box-shadow:0 0 0 1px rgba(112,216,195,.24),0 0 1.3rem rgba(112,216,195,.2); }
#task-tree .task-grow { height:1.4rem; min-height:0; margin:.35rem 0 0; }

@media (min-width: 1600px) {
  #task-tree .task-tree-head p { max-width:42rem; font-size:.82rem; }
  #task-tree .task-node { padding:.55rem .78rem; }
  #task-tree .task-node b { font-size:.8rem; }
  #task-tree .task-node span { font-size:.6rem; }
  #task-tree .task-root b { font-size:1.2rem; }
}
.task-preview {
  position:absolute;
  z-index:4;
  width:clamp(14rem,22vw,20rem);
  aspect-ratio:16/10;
  overflow:hidden;
  border:1px solid rgba(195,232,226,.42);
  border-radius:.4rem;
  opacity:0;
  pointer-events:none;
  transform:scale(.82) translateX(-.7rem);
  transform-origin:left center;
  background:#070910;
  box-shadow:0 1.2rem 3rem rgba(0,0,0,.58),0 0 0 1px rgba(112,216,195,.1);
  transition:opacity 260ms ease-out,transform 420ms var(--ease-heavy),left 520ms var(--ease-heavy),top 520ms var(--ease-heavy);
}
.task-preview.opens-left { transform-origin:right center; transform:scale(.82) translateX(.7rem); }
.task-preview.is-open { opacity:1; transform:scale(1) translateX(0); }
.task-preview video { width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.06) brightness(.78); }
.task-preview::after { content:"LIVE NODE"; position:absolute; top:.55rem; left:.6rem; padding:.25rem .35rem; border-radius:.2rem; color:#dffcf5; background:rgba(5,9,12,.68); font-size:.42rem; letter-spacing:.12em; }
.task-preview > div { position:absolute; inset:auto 0 0; padding:1.7rem .7rem .6rem; background:linear-gradient(transparent,rgba(3,5,9,.92)); text-shadow:0 2px 8px #000; }
.task-preview b,.task-preview span { display:block; }
.task-preview b { font-size:.7rem; }
.task-preview span { margin-top:.22rem; color:#b9c5c4; font-size:.45rem; letter-spacing:.1em; }

#data-pyramid .pyramid-shell { min-height:min(70vh,40rem); padding:.7rem; }
#data-pyramid .section-title { font-size:clamp(2.2rem,2.9vw,3.2rem); line-height:1.04; }
html[lang="zh-CN"] #data-pyramid .pyramid-title { font-size:clamp(2rem,2.15vw,2.7rem); }
@media (max-width:767px) {
  html[lang="zh-CN"] .display-title.fixed-lines { font-size:clamp(1.55rem,8vw,2.35rem); }
  html[lang="zh-CN"] .section-title.fixed-lines,
  html[lang="zh-CN"] #data-pyramid .pyramid-title { font-size:clamp(1.48rem,7.2vw,2rem); }
}
#data-pyramid .pyramid-core {
  display:block;
  min-height:min(68vh,38.5rem);
  padding:0;
  overflow:hidden;
}
#data-pyramid .pyramid-ghost { top:1rem; right:1.1rem; }
#data-pyramid .pyramid-layer {
  position:absolute;
  left:54%;
  display:flex;
  min-height:0;
  height:22%;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  padding:1rem clamp(.8rem,2vw,1.5rem);
  border-radius:0;
  text-align:center;
  transform:translateX(-50%);
  background:linear-gradient(90deg,rgba(62,51,111,.96),rgba(28,34,62,.98) 52%,rgba(48,47,91,.96));
  box-shadow:inset 0 1px 0 rgba(211,204,255,.35),inset 0 -1px 0 rgba(5,6,11,.65);
  opacity:0;
  transition:filter 260ms ease-out, scale 320ms var(--ease-heavy);
}
#data-pyramid .pyramid-layer:hover { z-index:2; filter:brightness(1.14); scale:1.015; }
/* Layers stack in bottom-up once the shell reveals; `translate` is animated
   independently of `transform` so the -50% centering is never disturbed. */
#data-pyramid .pyramid-shell.is-visible .pyramid-layer { animation:pyramidLayerIn 720ms var(--ease-heavy) both; }
#data-pyramid .pyramid-shell.is-visible .pyramid-layer:nth-child(6) { animation-delay:60ms; }
#data-pyramid .pyramid-shell.is-visible .pyramid-layer:nth-child(5) { animation-delay:170ms; }
#data-pyramid .pyramid-shell.is-visible .pyramid-layer:nth-child(4) { animation-delay:280ms; }
#data-pyramid .pyramid-shell.is-visible .pyramid-layer:nth-child(3) { animation-delay:390ms; }
@keyframes pyramidLayerIn { from { opacity:0; translate:0 .9rem; } to { opacity:1; translate:0 0; } }
#data-pyramid .pyramid-layer::after { background:linear-gradient(90deg,rgba(255,255,255,.1),transparent 45%,rgba(255,255,255,.06)); }
/* Pyramid geometry: apex at y=2%, base full-width at y=96%. Width grows linearly
   w(y)=(y-2)/94, each layer's clip-path is derived from the same line so all
   edges sit on one straight slope; vertical gaps are a uniform 1%. */
#data-pyramid .pyramid-layer:nth-child(3) {
  top:2%;
  width:26.6%;
  height:29%;
  padding:clamp(3.6rem,8vh,4.7rem) .8rem .55rem;
  clip-path:polygon(50% 0,100% 100%,0 100%);

}
#data-pyramid .pyramid-layer:nth-child(4) {
  top:32%;
  width:46.7%;
  height:21%;
  clip-path:polygon(20.6% 0,79.4% 0,100% 100%,0 100%);

}
#data-pyramid .pyramid-layer:nth-child(5) {
  top:54%;
  width:66.8%;
  height:21%;
  clip-path:polygon(14.4% 0,85.6% 0,100% 100%,0 100%);

}
#data-pyramid .pyramid-layer:nth-child(6) {
  top:76%;
  width:86%;
  height:20%;
  clip-path:polygon(10.6% 0,89.4% 0,100% 100%,0 100%);

}
#data-pyramid .pyramid-layer b { max-width:70%; font-size:clamp(.72rem,1vw,1rem); line-height:1.25; text-shadow:0 1px 12px rgba(0,0,0,.85),0 0 3px rgba(0,0,0,.7); }
#data-pyramid .pyramid-layer span { max-width:15rem; font-size:.48rem; }
#data-pyramid .pyramid-layer:nth-child(3) span { display:none; }
#data-pyramid .pyramid-axis {
  z-index:3;
  top:2%;
  bottom:4%;
  left:5%;
  width:2px;
  background:linear-gradient(180deg,#9a8cff 0%,rgba(129,111,255,.58) 44%,rgba(112,216,195,.32) 100%);
  box-shadow:0 0 .8rem rgba(129,111,255,.26);
}
#data-pyramid .pyramid-axis::before {
  content:"ROBOT ALIGNMENT";
  top:50%;
  left:-1.35rem;
  color:#9da3b9;
  font-size:.46rem;
  font-weight:600;
  letter-spacing:.16em;
  writing-mode:vertical-rl;
  transform:translateY(-50%) rotate(180deg);
}
#data-pyramid .pyramid-axis::after {
  content:"";
  position:absolute;
  top:-.42rem;
  left:50%;
  width:0;
  height:0;
  border-right:.3rem solid transparent;
  border-bottom:.48rem solid #b5aaff;
  border-left:.3rem solid transparent;
  transform:translateX(-50%);
  filter:drop-shadow(0 0 .35rem rgba(129,111,255,.7));
}
/* zh: layer labels are single centered titles — no English subtitle, no width cap. */
html[lang="zh-CN"] #data-pyramid .pyramid-layer { gap:0; }
html[lang="zh-CN"] #data-pyramid .pyramid-layer span { display:none; }
html[lang="zh-CN"] #data-pyramid .pyramid-layer b { max-width:none; }
html[lang="en"] #data-pyramid .pyramid-core { padding:0; }
html[lang="en"] #data-pyramid .pyramid-layer { min-height:0; padding:1rem clamp(.8rem,2vw,1.5rem); }
html[lang="en"] #data-pyramid .pyramid-layer:nth-child(3) { padding:clamp(3.6rem,8vh,4.7rem) .8rem .55rem; }

@media (max-width: 1100px) {
  #task-tree .task-layout { padding-right:clamp(2.5rem,4vw,3.5rem); }
  #data-pyramid .pyramid-shell { min-height:34rem; }
  #data-pyramid .pyramid-core { min-height:32.5rem; }
}

@media (max-width: 767px) {
  #task-tree { min-height:100dvh; overflow:hidden; }
  #task-tree .task-layout { height:100dvh; min-height:100dvh; padding:4.55rem 1rem .7rem; }
  #task-tree .task-tree-head { display:block; }
  #task-tree .task-tree-head h2 { font-size:1.7rem; }
  #task-tree .task-tree-head p { display:none; }
  #task-tree .task-graph { overflow:auto; padding:.7rem; }
  #task-tree .task-columns { width:47rem; min-width:47rem; gap:.65rem; }
  #task-tree .task-node { padding:.4rem .52rem; }
  #task-tree .task-node b { font-size:.58rem; }
  #task-tree .task-node span { font-size:.45rem; }
  #task-tree .task-grow { width:47rem; }
  .task-preview { width:12.5rem; }
  #data-pyramid .pyramid-layer { display:grid; place-items:center; padding:.6rem; }
  #data-pyramid .pyramid-layer:nth-child(3) { padding:3.6rem .3rem .35rem; }
  #data-pyramid .pyramid-layer b { font-size:.63rem; }
  #data-pyramid .pyramid-layer span { display:none; }
  #data-pyramid .pyramid-axis { left:7%; }
  #data-pyramid .pyramid-axis::before { left:-.9rem; font-size:.38rem; letter-spacing:.1em; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto;scroll-snap-type:none }
  *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important }
  [data-reveal] { opacity:1;filter:none;transform:none }
}

/* Data pyramid: use clean solid color blocks until the visual dataset is ready. */
#data-pyramid .source-card.has-image::before { opacity:1; background:#15182a; }
#data-pyramid .source-card:nth-child(1) { background:#15182a; }
#data-pyramid .source-card:nth-child(2) { background:#15182a; }
#data-pyramid .source-card:nth-child(3) { background:#151d35; }
#data-pyramid .source-card:nth-child(4) { background:#17243a; }
#data-pyramid .source-card.is-generating::before { background:#15182a; }

#data-pyramid .pyramid-layer::after { display:none; }
#data-pyramid .pyramid-layer:nth-child(3) { background:#2b2750; }
#data-pyramid .pyramid-layer:nth-child(4) { background:#263961; }
#data-pyramid .pyramid-layer:nth-child(5) { background:#214b59; }
#data-pyramid .pyramid-layer:nth-child(6) { background:#34425b; }
html[lang="zh-CN"] #data-pyramid .pyramid-layer.is-generating { background:#214b59; }

.task-preview-close { display:none; }

/* Mobile is a continuous field guide: large touch targets, swipeable evidence,
   and a bottom video drawer replace desktop hover-only affordances. */
@media (max-width: 767px) {
  :root { --page-x:1rem; }
  html { scroll-snap-type:none; scroll-padding-top:4.8rem; }
  body { overflow-x:clip; }

  .site-header { top:max(.65rem,env(safe-area-inset-top)); left:.75rem; right:.75rem; }
  .brand-island,
  .language-switch { min-height:2.75rem; background:rgba(5,6,11,.78); }
  .brand-island { padding:.45rem .85rem .45rem .5rem; }
  .brand-island img { width:1.65rem; height:1.65rem; }
  .language-switch { padding:.38rem .4rem .38rem .8rem; }
  .language-switch .switch-icon { width:1.95rem; height:1.95rem; }

  .page-dots {
    right:auto;
    left:50%;
    bottom:max(.55rem,env(safe-area-inset-bottom));
    width:max-content;
    gap:0;
    padding:.24rem .38rem;
    border:1px solid rgba(218,222,255,.12);
    border-radius:999px;
    background:rgba(5,6,11,.76);
    box-shadow:0 .7rem 2rem rgba(0,0,0,.35);
    backdrop-filter:blur(18px) saturate(130%);
    transform:translateX(-50%);
  }
  .page-dot,
  .page-dot[aria-current="true"] {
    display:grid;
    width:2.75rem;
    height:2.75rem;
    place-items:center;
    border-radius:50%;
    background:transparent;
    box-shadow:none;
    transform:none;
  }
  .page-dot::after {
    content:"";
    width:1.05rem;
    height:.18rem;
    border-radius:999px;
    background:rgba(255,255,255,.3);
    transition:width 260ms var(--ease-heavy),background-color 260ms ease,box-shadow 260ms ease;
  }
  .page-dot[aria-current="true"]::after {
    width:1.55rem;
    background:var(--signal-iris);
    box-shadow:0 0 .75rem rgba(129,111,255,.9);
  }

  .screen { min-height:auto; overflow:visible; scroll-snap-align:none; }
  .screen-inner { min-height:100svh; padding:5.75rem 1rem calc(5.6rem + env(safe-area-inset-bottom)); }
  .eyebrow { font-size:.62rem; letter-spacing:.16em; }
  .section-copy { margin-top:1rem; font-size:.93rem; line-height:1.68; }
  .double-bezel { padding:.3rem; border-radius:1.15rem; }
  .bezel-core,
  .map-core { border-radius:calc(1.15rem - .3rem); }

  .hero .screen-inner { min-height:100svh; padding:0; }
  .hero-wall { grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(5,1fr); gap:.3rem; }
  .hero-tile:nth-child(n+11) { display:none; }
  .hero-scrim { background:radial-gradient(circle at 50% 42%,rgba(4,5,10,.16),rgba(4,5,10,.9) 76%),linear-gradient(180deg,rgba(4,5,10,.3),rgba(4,5,10,.12) 42%,rgba(4,5,10,.96)); }
  .hero-content { width:calc(100% - 1.5rem); margin-top:-1rem; }
  .hero-content .eyebrow { padding:.48rem .68rem; font-size:.56rem; }
  .hero-content .display-title,
  html[lang="en"] .hero-content .display-title { margin-top:1rem; font-size:clamp(2.25rem,10.8vw,3.25rem); line-height:1.03; }
  html[lang="zh-CN"] .hero-content .display-title.fixed-lines { font-size:clamp(1.85rem,8.4vw,2.65rem); }
  .hero-subtitle { margin-top:.85rem; font-size:.65rem; letter-spacing:.1em; }
  .hero-stats { width:calc(100% - .5rem); margin-top:1.8rem; border-radius:.8rem; background:rgba(6,7,12,.58); }
  .hero-stat { padding:1rem .25rem .9rem; }
  .hero-stat strong { font-size:clamp(1.45rem,6.8vw,2.1rem); }
  .hero-stat span { margin-top:.5rem; font-size:.46rem; letter-spacing:.06em; }
  .hero-meta { left:1rem; bottom:4.25rem; max-width:70%; font-size:.48rem; line-height:1.5; }

  #field .screen-inner { padding-bottom:6rem; }
  .field-visual {
    display:grid;
    min-height:0;
    margin-top:1.75rem;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:.7rem;
  }
  .field-main { position:relative; inset:auto; grid-column:1/-1; height:19rem; }
  .field-detail { position:relative; right:auto; bottom:auto; width:auto; height:auto; min-height:10.5rem; }
  .proof-cards { position:static; width:auto; grid-template-columns:1fr; gap:.55rem; }
  .proof-card { min-height:5rem; padding:.8rem .75rem; border-radius:.8rem; background:rgba(14,17,27,.74); box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(218,222,255,.06); }
  .proof-card b { font-size:.72rem; }
  .proof-card small { margin-top:.32rem; font-size:.56rem; line-height:1.4; }
  .evidence-process { margin-top:1.5rem; gap:.45rem .85rem; }
  .evidence-step { min-height:3.4rem; padding-top:.85rem; font-size:.53rem; }
  .gallery-control { width:2.75rem; height:2.75rem; border-color:rgba(255,255,255,.32); background:rgba(5,6,11,.72); }
  .gallery-controls { right:.7rem; bottom:.7rem; gap:.3rem; }
  .auto-gallery .gallery-meta { left:.85rem; right:6.5rem; bottom:.85rem; display:block; }
  .auto-gallery .gallery-meta b { display:block; font-size:.78rem; line-height:1.3; }
  .auto-gallery .gallery-meta span { display:block; margin-top:.25rem; font-size:.48rem; }
  .gallery-progress { top:.8rem; right:.8rem; left:.8rem; }

  #task-tree { min-height:auto; overflow:visible; }
  #task-tree .task-layout { height:auto; min-height:100svh; gap:.65rem; padding:5.2rem .75rem calc(5.6rem + env(safe-area-inset-bottom)); }
  #task-tree .task-tree-head { display:block; padding:0 .25rem; }
  #task-tree .task-tree-head h2 { font-size:2rem; }
  #task-tree .task-tree-head p { display:block; margin-top:.65rem; font-size:.78rem; line-height:1.55; text-align:left; }
  #task-tree .task-graph { flex:none; margin-top:.35rem; padding:.65rem; overflow:hidden; border-radius:1rem; }
  #task-tree .task-graph::before {
    content:"横向滑动浏览任务层级 →";
    position:relative;
    z-index:2;
    display:block;
    padding:.15rem .2rem .65rem;
    color:#9da4b6;
    font-size:.56rem;
    letter-spacing:.1em;
  }
  html[lang="en"] #task-tree .task-graph::before { content:"Swipe across task levels →"; }
  #task-tree .task-columns {
    display:flex;
    width:auto;
    min-width:0;
    height:auto;
    gap:.7rem;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    padding:.1rem .15rem .6rem;
    scroll-padding-inline:.15rem;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  #task-tree .task-columns::-webkit-scrollbar { display:none; }
  #task-tree .task-column,
  #task-tree .task-column:first-child {
    display:flex;
    min-width:0;
    min-height:34rem;
    height:auto;
    flex:0 0 calc(100vw - 3.9rem);
    justify-content:flex-start;
    gap:.55rem;
    margin:0;
    padding:.75rem;
    border:1px solid rgba(218,222,255,.09);
    border-radius:.8rem;
    background:rgba(7,9,15,.7);
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
  #task-tree .task-column-title { flex:0 0 auto; min-height:2rem; margin:0 0 .15rem; padding:.15rem .2rem .55rem; }
  #task-tree .task-root { width:100%; min-height:9rem; margin:auto 0; }
  #task-tree .task-node,
  #task-tree .task-node.event { min-height:3.25rem; flex:0 0 auto; padding:.65rem .72rem; }
  #task-tree .task-node b,
  #task-tree .task-node.event b { font-size:.72rem; }
  #task-tree .task-node span,
  #task-tree .task-node.event span { font-size:.55rem; line-height:1.35; }
  #task-tree .task-node.is-selected { transform:none; }
  #task-tree .task-grow { width:auto; min-height:1.5rem; justify-content:flex-start; margin:.5rem .2rem 0; font-size:.5rem; }

  .task-preview {
    position:fixed;
    z-index:9;
    top:auto!important;
    right:.75rem;
    bottom:calc(4.25rem + env(safe-area-inset-bottom));
    left:.75rem!important;
    width:auto;
    height:min(12rem,36vh);
    aspect-ratio:auto;
    border-radius:1rem;
    opacity:0;
    transform:translateY(1rem) scale(.97);
    transform-origin:center bottom;
    box-shadow:0 1.5rem 4rem rgba(0,0,0,.72),0 0 0 1px rgba(112,216,195,.18);
  }
  .task-preview.opens-left { transform:translateY(1rem) scale(.97); transform-origin:center bottom; }
  .task-preview.is-open { opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }
  .task-preview::after { top:.7rem; left:.75rem; }
  .task-preview > div { padding:2.1rem 3.4rem .75rem .8rem; }
  .task-preview b { font-size:.82rem; }
  .task-preview span { font-size:.52rem; }
  .task-preview-close {
    position:absolute;
    z-index:3;
    top:.55rem;
    right:.55rem;
    display:grid;
    width:2.75rem;
    height:2.75rem;
    padding:0;
    place-items:center;
    border:1px solid rgba(255,255,255,.25);
    border-radius:50%;
    color:#fff;
    background:rgba(5,6,11,.72);
    font-size:1.2rem;
  }

  #data-pyramid .source-grid {
    display:grid;
    margin-top:1.55rem;
    grid-auto-columns:82%;
    grid-auto-flow:column;
    grid-template-columns:none;
    gap:.65rem;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    padding:.1rem .1rem .75rem;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  #data-pyramid .source-grid::-webkit-scrollbar { display:none; }
  #data-pyramid .source-card { min-height:8.5rem; scroll-snap-align:start; }
  #data-pyramid .pyramid-shell { margin-top:1.35rem; min-height:28rem; padding:.4rem; }
  #data-pyramid .pyramid-core { min-height:27rem; }
  #data-pyramid .pyramid-ghost { top:.7rem; right:.8rem; font-size:2.25rem; }

  .object-count strong { font-size:3.4rem; }
  .object-universe { gap:.6rem; }
  .object-card,
  .object-card.main { min-height:7rem; height:7rem; border-radius:1rem; }
  .object-card.main { min-height:12rem; height:12rem; }
  .object-viewer { align-items:end; padding:.75rem .75rem calc(4.5rem + env(safe-area-inset-bottom)); }
  .object-viewer img { width:100%; height:auto; max-height:72vh; border-radius:1rem; }
  .object-viewer > button { top:max(.75rem,env(safe-area-inset-top)); right:.75rem; width:3rem; height:3rem; }
  .object-viewer > div { right:.75rem; bottom:calc(4.8rem + env(safe-area-inset-bottom)); left:.75rem; border-radius:.8rem; }

  #flywheel .screen-inner { padding-top:5.4rem; padding-bottom:calc(5.6rem + env(safe-area-inset-bottom)); }
  .flywheel-layout { display:grid; gap:.75rem; }
  .map-shell { height:15rem; }
  .flywheel-shell { height:17rem; }
  .footer-line { margin-top:1rem; padding:0 .2rem; }
}

@media (max-width: 767px) and (hover: none) {
  .brand-island:hover,
  .language-switch:hover,
  .proof-card:hover,
  .source-card:hover,
  .object-card:hover,
  .task-node:hover { transform:none; }
}

/* 03 — anonymous per-site output. */
.collection-screen { background:radial-gradient(ellipse at 80% 20%,rgba(96,76,169,.09),transparent 60%); }
#collection .collection-inner { display:flex; flex-direction:column; justify-content:center; padding-top:6rem; padding-bottom:2.5rem; }
.collection-head { display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin:1rem 0 1.8rem; }
#collection .section-title { margin:0; font-size:clamp(1.75rem,2.55vw,2.6rem); line-height:1.3; }
#collection .section-title > span { display:block; }
.collection-copy { margin:.9rem 0 0; color:var(--muted); font-size:.8rem; line-height:1.8; max-width:29rem; }
.collection-metrics { display:flex; flex-shrink:0; gap:1.5rem; margin:0 0 .3rem; }
.collection-metrics > div:first-child { padding-right:1.5rem; border-right:1px solid rgba(218,222,255,.1); }
.collection-metrics dt { margin-bottom:.65rem; font-size:.6rem; color:#a0a5ba; }
.collection-metrics dd { display:flex; align-items:baseline; gap:.4rem; margin:0; white-space:nowrap; }
.collection-metrics strong { font-size:clamp(1.75rem,3vw,2.85rem); line-height:1.05; font-weight:550; letter-spacing:-.055em; font-variant-numeric:tabular-nums; }
.collection-metrics dd > span { color:#989db2; font-size:.65rem; }
.collection-average strong { color:#b4a9fa; background:linear-gradient(110deg,#e5dcff,#a899f9 55%,#82baff); background-clip:text; -webkit-text-fill-color:transparent; }
.collection-selection { display:flex; align-items:center; gap:.8rem; margin-bottom:1rem; }
.collection-selection > span { color:#cabaff; font-size:.66rem; letter-spacing:.15em; }
.collection-selection p { margin:0; color:#939bb1; font-size:.66rem; }
.collection-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.collection-card { --card-accent:#c5b4ff; --card-bar:#8272ca; position:relative; min-width:0; border:1px solid rgba(184,186,255,.13); border-radius:1.3rem; padding:1.2rem; background:linear-gradient(145deg,rgba(23,23,41,.87),rgba(8,11,19,.94)); box-shadow:inset 0 1px 0 rgba(255,255,255,.03); transition:border-color 240ms ease; }
.collection-card--large { --card-accent:#8edfcc; --card-bar:#55aa9a; background:linear-gradient(145deg,rgba(17,32,35,.8),rgba(8,11,19,.94)); }
.collection-card:hover { border-color:var(--card-accent); }
.collection-rank { display:block; color:#8f97b0; font-size:.55rem; letter-spacing:.13em; }
.collection-name { display:inline-block; margin:.75rem 0 1.1rem; color:var(--card-accent); font-size:.9rem; line-height:1.5; font-weight:550; }
.collection-name::before { content:""; display:inline-block; width:.3rem; height:.3rem; margin-right:.5rem; vertical-align:middle; border-radius:50%; background:var(--card-accent); }
.collection-card-label { margin:0 0 .4rem; color:#939bb1; font-size:.63rem; }
.collection-amount { display:flex; align-items:baseline; gap:.35rem; white-space:nowrap; }
.collection-amount strong { color:#f1eeff; font-size:clamp(1.45rem,2vw,2.1rem); font-weight:500; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.collection-amount > span { color:#989db2; font-size:.6rem; }
.collection-track { height:3px; margin-top:1.15rem; background:rgba(169,169,220,.07); border-radius:1rem; overflow:hidden; }
.collection-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--card-bar),var(--card-accent)); transform-origin:left; }
.collection-card.is-visible .collection-track i { animation:collectionBarIn 700ms var(--ease-heavy) both; }
@keyframes collectionBarIn { from { transform:scaleX(0); } to { transform:scaleX(1); } }
.collection-footer { display:flex; justify-content:space-between; gap:1rem; margin-top:1rem; color:#939bb1; font-size:.6rem; line-height:1.8; }
.collection-footer > span:last-child { flex-shrink:0; }
.hero-stat [data-collection-average] { font-size:clamp(1.45rem,3.2vw,3.1rem); letter-spacing:-.06em; }
@media (max-width:1100px) {
  .collection-head { display:block; }
  .collection-metrics { margin-top:1.5rem; }
  .collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  #collection .collection-inner { min-height:auto; padding:5.75rem 1rem calc(5.6rem + env(safe-area-inset-bottom)); }
  #collection .section-title { font-size:clamp(1.55rem,6.3vw,2.4rem); }
  .collection-metrics { gap:1rem; }
  .collection-metrics > div:first-child { padding-right:1rem; }
  .collection-metrics dt { max-width:10rem; font-size:.57rem; line-height:1.5; }
  .collection-metrics strong { font-size:clamp(1.4rem,5.8vw,2rem); }
  .collection-metrics dd > span { font-size:.55rem; }
  .collection-grid { gap:.7rem; }
  .collection-card { padding:.95rem; border-radius:1rem; }
  .collection-name { font-size:.78rem; }
  .collection-amount strong { font-size:clamp(1.15rem,4.7vw,1.8rem); }
  .collection-amount > span { font-size:.52rem; }
  .collection-footer { display:block; }
  .collection-footer > span { display:block; margin-top:.4rem; }
  .hero-stat [data-collection-average] { font-size:clamp(1.2rem,5.3vw,2rem); }
}
@media (max-width:360px) {
  .collection-grid { grid-template-columns:minmax(0,1fr); }
  .collection-name { font-size:.9rem; }
  .collection-amount strong { font-size:1.9rem; }
  .page-dot,.page-dot[aria-current="true"] { width:2.5rem; }
}
@media (min-width:1101px) and (max-height:820px) {
  #collection .collection-inner { padding-top:5rem; padding-bottom:1.5rem; }
  #collection .section-title { font-size:1.8rem; }
  .collection-head { margin:.75rem 0 1.1rem; }
  .collection-copy { margin-top:.5rem; }
  .collection-card { padding:1rem; }
  .collection-name { margin:.55rem 0 .8rem; }
}
