@font-face{font-family:ui-serif-fallback;src:local("Noto Serif CJK SC")}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#071018;color:#e8f1f2;font-family:ui-serif-fallback,"Source Han Serif SC",Georgia,serif;overflow-x:hidden}.grain{position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:radial-gradient(circle at 20% 10%,rgba(255,255,255,.14),transparent 22%),radial-gradient(circle at 82% 18%,rgba(103,232,249,.13),transparent 26%),radial-gradient(circle at 44% 85%,rgba(251,146,60,.1),transparent 28%);z-index:-2}.grain:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(to bottom,black,transparent 85%)}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:16px 5vw;background:rgba(7,16,24,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.1)}.brand{color:#f8fafc;text-decoration:none;font-weight:900;letter-spacing:.08em}.navlinks{display:flex;gap:20px}.navlinks a{color:#a9c5cd;text-decoration:none;font-size:14px}.navlinks a:hover{color:#fbbf24}.section{padding:96px 5vw}.hero{min-height:92vh;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#67e8f9;font-size:13px;font-weight:900}.hero h1,.section-title h2{font-size:clamp(44px,7vw,104px);line-height:.92;margin:12px 0 24px;letter-spacing:-.06em}.section-title h2{font-size:clamp(34px,4.5vw,72px);max-width:980px}.lede,.section-title p{font-size:20px;line-height:1.75;color:#b9cbd1;max-width:820px}.hero-actions{display:flex;gap:14px;margin-top:32px}.button{border-radius:999px;padding:14px 22px;text-decoration:none;font-weight:900;border:1px solid rgba(255,255,255,.18)}.primary{background:#fbbf24;color:#071018}.ghost{color:#dff7ff;background:rgba(255,255,255,.06)}.hero-panel{position:relative;min-height:540px;border:1px solid rgba(255,255,255,.14);border-radius:36px;background:linear-gradient(145deg,rgba(15,23,42,.88),rgba(8,47,73,.48));box-shadow:0 30px 90px rgba(0,0,0,.45);padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:18px;overflow:hidden}.pulse-orbit{position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid rgba(103,232,249,.28);right:-90px;top:-80px;animation:spin 18s linear infinite}.pulse-orbit:before,.pulse-orbit:after{content:"";position:absolute;border-radius:50%;inset:56px;border:1px dashed rgba(251,191,36,.34)}.pulse-orbit:after{inset:132px;background:rgba(103,232,249,.07)}@keyframes spin{to{transform:rotate(360deg)}}.stat-card{position:relative;align-self:end;min-height:156px;border-radius:28px;padding:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15)}.stat-card.large{grid-column:span 2;min-height:220px}.stat-card span{display:block;font-size:clamp(38px,6vw,84px);font-weight:900;color:#fbbf24;line-height:.9}.stat-card em{display:block;margin-top:14px;color:#b9cbd1;font-style:normal}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px}.outcome-board,.model-detail,.radar-card,.metric-stack,.gallery-grid article,.limit-grid article,.case-strip article,.type-grid article{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);border-radius:30px;box-shadow:0 24px 80px rgba(0,0,0,.24)}.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.tabs button,.model-list button{cursor:pointer;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:#dff7ff;border-radius:999px;padding:10px 14px;font-weight:800}.tabs button.active,.model-list button.active{background:#fbbf24;color:#071018}.outcome-card{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;padding:28px}.bar-wrap{margin:28px 0}.bar-wrap label{display:block;color:#9fb8c1;margin-bottom:8px}.bar{height:34px;border-radius:999px;transform-origin:left;transition:width .6s cubic-bezier(.2,.8,.2,1)}.bar.shrink{background:linear-gradient(90deg,#fb923c,#fbbf24)}.bar.control{background:linear-gradient(90deg,#22d3ee,#0ea5e9)}.bar-wrap strong{display:block;margin-top:8px;font-size:22px}.caveat{color:#fcd34d;font-size:14px}.model-layout{display:grid;grid-template-columns:360px 1fr;gap:26px}.model-list{display:grid;gap:10px}.model-list button{text-align:left;border-radius:18px;padding:14px}.model-detail{padding:28px}canvas{width:100%;height:auto}.type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.type-grid article{padding:24px;position:relative;overflow:hidden}.type-grid article:before{content:"";position:absolute;inset:auto 18px 18px auto;width:72px;height:72px;border-radius:50%;background:rgba(103,232,249,.12)}.type-grid b{font-size:48px;color:#fbbf24}.type-grid span{display:block;color:#a9c5cd;margin-top:8px}.case-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}.case-strip article{padding:22px}.case-strip span{display:block;color:#67e8f9;font-size:26px;font-weight:900}.case-strip b{display:block;margin:10px 0;color:#fbbf24}.spatial-controls{display:flex;gap:14px;margin:24px 0}.spatial-controls select{background:#102333;color:#e8f1f2;border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:12px 16px;font-size:16px}.spatial-dashboard{display:grid;grid-template-columns:280px 1fr 360px;gap:22px;align-items:stretch}.radar-card{padding:26px;text-align:center}.ring{--pct:50;display:grid;place-items:center;margin:auto;width:190px;height:190px;border-radius:50%;background:conic-gradient(#fbbf24 calc(var(--pct)*1%),rgba(255,255,255,.1) 0)}.ring:before{content:"";position:absolute;width:128px;height:128px;border-radius:50%;background:#071018}.ring span{position:relative;font-size:36px;font-weight:900}.metric-stack{padding:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric-stack div{border-radius:20px;background:rgba(255,255,255,.07);padding:18px}.metric-stack b{display:block;color:#67e8f9;font-size:28px}.city-illustration{position:relative;border-radius:30px;background:linear-gradient(180deg,rgba(14,116,144,.28),rgba(251,191,36,.08));overflow:hidden;border:1px solid rgba(255,255,255,.12)}.road{position:absolute;height:70px;background:#0f172a;left:0;right:0;bottom:0;transform:skewY(-5deg)}.tower{position:absolute;bottom:62px;width:62px;background:#1d4ed8;border-radius:12px 12px 0 0}.t1{height:170px;left:60px}.t2{height:240px;left:145px;background:#0e7490}.t3{height:120px;left:235px;background:#334155}.clinic{position:absolute;right:45px;top:56px;width:86px;height:86px;border-radius:24px;background:#f43f5e;display:grid;place-items:center;font-size:54px;font-weight:900}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-grid article{overflow:hidden;cursor:pointer}.gallery-grid img{display:block;width:100%;height:220px;object-fit:cover;background:#fff}.gallery-grid h3{padding:0 18px}.gallery-grid p{padding:0 18px 18px;color:#b9cbd1}.limit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.limit-grid article{padding:24px}.limit-grid b{color:#fbbf24;font-size:22px}dialog{border:none;border-radius:26px;padding:18px;background:#071018;max-width:min(92vw,1200px)}dialog::backdrop{background:rgba(0,0,0,.78)}dialog img{max-width:100%;display:block;border-radius:16px}#closeDialog{float:right;border:none;background:#fbbf24;color:#071018;border-radius:50%;width:38px;height:38px;font-size:24px}.footer{text-align:center;color:#91a8b0;padding:38px}.reveal{opacity:0;transform:translateY(24px);animation:rise .8s ease forwards}.delay-1{animation-delay:.16s}@keyframes rise{to{opacity:1;transform:none}}@media(max-width:900px){.hero,.split,.model-layout,.spatial-dashboard{grid-template-columns:1fr}.type-grid,.case-strip,.gallery-grid,.limit-grid{grid-template-columns:1fr}.navlinks{display:none}}


/* Final polish: Chinese-first layout rhythm */
.section,
.topbar {
  width: min(100%, 1280px);
  margin-inline: auto;
}

.topbar {
  left: 0;
  right: 0;
}

.section {
  padding-inline: 40px;
}

.hero {
  min-height: 84vh;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
  gap: 56px;
}

.hero-panel {
  min-height: 460px;
  align-self: center;
}

.stat-card.large {
  min-height: 180px;
}

.split {
  grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr);
  gap: 48px;
}

.outcome-card {
  grid-template-columns: minmax(280px, 1fr) minmax(260px, .85fr);
  align-items: center;
}

.bar-wrap {
  display: grid;
  grid-template-columns: 92px minmax(120px, 1fr) 88px;
  align-items: center;
  gap: 14px;
}

.bar-wrap label,
.bar-wrap strong {
  margin: 0;
  white-space: nowrap;
}

.model-layout {
  grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
  gap: 32px;
  align-items: stretch;
}

.model-list button {
  min-height: 76px;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  line-height: 1.28;
}

.model-list button span {
  font-size: 16px;
}

.model-list button small {
  color: #8fb4bd;
  font-size: 12px;
  line-height: 1.35;
}

.model-list button.active small {
  color: rgba(7,16,24,.72);
}

.model-detail canvas {
  width: 100%;
  max-width: 760px;
  height: auto;
  display: block;
  margin-inline: auto;
}

.type-grid,
.case-strip,
.limit-grid {
  align-items: stretch;
}

.type-grid article,
.case-strip article,
.limit-grid article,
.gallery-grid article {
  min-height: 100%;
}

.spatial-dashboard {
  grid-template-columns: minmax(220px, 260px) minmax(240px, 1fr) minmax(280px, 340px);
  gap: 28px;
  align-items: stretch;
}

.metric-stack > div {
  min-height: 90px;
}

.gallery-grid img {
  object-fit: contain;
  background: rgba(255,255,255,.96);
  padding: 8px;
}

@media (max-width: 1180px) {
  .section { padding-block: 84px; }
  .hero,
  .split,
  .model-layout,
  .spatial-dashboard {
    grid-template-columns: 1fr;
  }
  .hero-panel { min-height: 360px; }
  .type-grid,
  .case-strip,
  .limit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .section { padding-inline: 22px; padding-block: 72px; }
  .topbar { padding-inline: 22px; }
  .hero-actions,
  .spatial-controls {
    flex-direction: column;
  }
  .outcome-card,
  .bar-wrap,
  .type-grid,
  .case-strip,
  .limit-grid,
  .gallery-grid {
    grid-template-columns: 1fr;
  }
  .bar-wrap { gap: 8px; }
  .bar-wrap strong { justify-self: start; }
}


/* User review polish: simplify hierarchy and remove empty decoration */
.hero h1 {
  font-size: clamp(42px, 5.8vw, 82px);
  line-height: 1.02;
}

.section-title h2 {
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1.12;
  letter-spacing: -.035em;
  max-width: 720px;
}

.section-title p {
  font-size: 18px;
}

.hero-panel {
  min-height: 390px;
  gap: 16px;
}

.stat-card {
  min-height: 150px;
}

.stat-card.large {
  min-height: 164px;
}

.stat-card em {
  white-space: nowrap;
  letter-spacing: .08em;
}

.split {
  grid-template-columns: minmax(360px, .88fr) minmax(0, 1.12fr);
}

.type-grid article::before,
.type-grid article::after,
.case-strip article::before,
.case-strip article::after {
  display: none !important;
  content: none !important;
}

.type-grid article {
  position: relative;
  overflow: hidden;
  padding: 24px;
}

.type-grid article b {
  position: relative;
  z-index: 1;
}

.type-grid article span {
  position: relative;
  z-index: 1;
}

.spatial-note {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 28px;
  padding: 28px;
  min-height: 100%;
  background: linear-gradient(145deg,rgba(251,191,36,.14),rgba(34,211,238,.08));
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}

.spatial-note b {
  color: #fbbf24;
  font-size: 24px;
}

.spatial-note p {
  margin: 0;
  color: #c6d7dc;
  line-height: 1.72;
}

.footer {
  display: none;
}

@media (max-width: 1180px) {
  .split { grid-template-columns: 1fr; }
  .section-title h2 { max-width: 100%; }
}

@media (max-width: 720px) {
  .hero h1 { font-size: clamp(38px, 12vw, 58px); }
  .section-title h2 { font-size: clamp(28px, 9vw, 38px); }
  .stat-card em { white-space: normal; }
}


/* Detail chapters and chart readability polish */
.section-kicker {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.section-kicker .eyebrow {
  margin: 0;
}

.detail-button {
  border: 1px solid rgba(103,232,249,.38);
  background: rgba(103,232,249,.08);
  color: #dff7ff;
  border-radius: 999px;
  padding: 10px 16px;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.detail-button:hover {
  transform: translateY(-1px);
  border-color: rgba(251,191,36,.7);
  background: rgba(251,191,36,.13);
}

.tabs {
  gap: 12px;
  padding: 12px;
  margin-bottom: 18px;
  border-radius: 28px;
}

.tabs button {
  padding: 11px 16px;
  line-height: 1.25;
}

.outcome-board {
  padding: 8px;
}

.model-detail canvas {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background: #071018;
}

.detail-dialog {
  width: min(920px, calc(100vw - 36px));
  max-height: min(820px, calc(100vh - 36px));
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 30px;
  padding: 0;
  color: #e8f1f2;
  background: linear-gradient(145deg,rgba(7,16,24,.98),rgba(12,35,48,.98));
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
}

.detail-dialog::backdrop {
  background: rgba(2,6,12,.72);
  backdrop-filter: blur(8px);
}

.dialog-close {
  position: sticky;
  top: 18px;
  float: right;
  margin: 18px 18px 0 0;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #e8f1f2;
  font-size: 24px;
  cursor: pointer;
  z-index: 2;
}

.detail-content {
  padding: 42px;
  overflow: auto;
}

.detail-content h2 {
  margin: 8px 52px 18px 0;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.detail-lead {
  color: #c9dbe1;
  font-size: 18px;
  line-height: 1.78;
  max-width: 760px;
}

.detail-blocks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 28px 0;
}

.detail-blocks section,
.formula-card {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  padding: 20px;
  background: rgba(255,255,255,.055);
}

.detail-blocks h3 {
  margin: 0 0 10px;
  color: #fbbf24;
  font-size: 18px;
}

.detail-blocks p,
.formula-card p {
  margin: 0;
  color: #c9dbe1;
  line-height: 1.72;
}

.formula-card b {
  display: block;
  margin-bottom: 8px;
  color: #67e8f9;
}

@media (max-width: 900px) {
  .detail-blocks { grid-template-columns: 1fr; }
  .detail-content { padding: 34px 24px; }
  .section-kicker { align-items: flex-start; }
}
