:root{--ink:#1d1d1f;--muted:#757d8e;--line:#ebebeb;--blue:#f0f6ff;--max:1360px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:#fff}.nav{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - var(--max))/2));border-bottom:1px solid #f3f4f6;background:#fff}.brand{display:flex;align-items:center;gap:10px;color:#17171a;text-decoration:none;font-weight:700;font-size:21px}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f23a50;color:#fff;font-size:18px}.nav-links{display:flex;gap:32px}.nav-links a{color:#5d687d;text-decoration:none;font-size:16px}.hero{background:var(--blue);padding:142px 0 80px}.hero-inner,.content-inner{display:flex;justify-content:center;width:var(--max);margin:auto}.hero-copy{width:655px;margin-right:105px}.eyebrow{display:inline-block;padding:0 15px;border-radius:8px;background:#e7f0ff;color:#1e5aad;font-size:14px;line-height:30px}.hero h1{margin:8px 0 0;font-size:48px;line-height:1.35;letter-spacing:-1px}.hero-desc{margin:20px 0 0;color:var(--muted);font-size:16px;line-height:26px}.metrics{display:flex;gap:58px;margin-top:24px}.metric{font-size:24px;font-weight:600;line-height:26px}.metric span{display:block;margin-top:5px;color:var(--muted);font-size:16px;font-weight:400;line-height:26px;white-space:nowrap}.button{display:inline-block;min-width:320px;margin-top:41px;padding:0 30px;border-radius:32px;background:#121212;color:#fff;font-weight:600;font-size:20px;line-height:64px;text-align:center;text-decoration:none}.hero-image{width:600px;height:420px;object-fit:cover;border-radius:30px;background:#fff}.content{padding:80px 0}.content-main{width:960px;margin-right:48px}.wordmark{margin:0;font-size:34px;letter-spacing:-1px}.project-goal{margin-top:24px;font-size:20px;font-weight:600;line-height:28px}.goal-meta{display:flex;gap:12px;align-items:center;margin-top:16px;color:var(--muted);font-size:16px}.goal-dot{width:24px;height:24px;border-radius:50%;background:#111;color:#fff;text-align:center;font-size:13px;line-height:24px}.divider{height:1px;margin-top:40px;background:var(--line)}section{margin-top:40px}h2{margin:0;font-size:24px;line-height:33px}p{font-size:16px;line-height:32px}.about p{margin:16px 0 0}.core-list{overflow:hidden}.core-item{display:grid;grid-template-columns:400px 14px 400px;justify-content:space-between;min-height:180px;margin-top:16px;padding:24px 24px 18px}.core-item:nth-child(1){background:#f8f9fd}.core-item:nth-child(2){background:#f6fcfb}.core-item:nth-child(3){background:#f4fcff}.core-title{font-size:16px;font-weight:600;line-height:22px}.core-copy{margin:16px 0 0;font-size:14px;line-height:24px}.arrow{align-self:start;margin-top:52px;color:#aab9d2;font-size:30px;line-height:28px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.tag{padding:0 6px;border:1px solid #b2c3dd;border-radius:6px;color:#1e3487;background:#eef1ff;font-size:12px;line-height:22px}.core-item:nth-child(2) .tag{border-color:#b1d4ce;color:#06715e;background:#dffaf6}.core-item:nth-child(3) .tag{border-color:#b2d3df;color:#21539d;background:#daf3ff}.article h3{margin:38px 0 15px;font-size:18px;line-height:34px}.article p{margin:0 0 16px}.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px}.media-grid figure{margin:0}.media-grid img,.media-grid video{display:block;width:100%;border-radius:8px;background:#edf1f6}.media-grid figcaption{margin-top:10px;color:var(--muted);font-size:14px;line-height:22px}.result{display:flex;gap:15px;margin-top:24px;padding:16px;border:1px solid #bbcdfd;border-radius:8px;background:#f0f4ff}.result-icon{flex:0 0 auto;font-size:22px;line-height:32px}.result strong{font-size:16px;line-height:32px}.side-card{position:sticky;top:84px;width:352px;height:261px;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 20px 60px -10px rgba(62,75,96,.13)}.side-main{display:flex;justify-content:space-between;height:158px;padding:30px 24px 0;background:linear-gradient(180deg,#ebf3ff,#f7f9fc)}.side-main h3{margin:0;font-size:23px}.side-main p{margin:16px 0 0;color:var(--muted);font-size:14px;line-height:24px}.side-icon{display:grid;place-items:center;width:82px;height:104px;border-radius:40px 40px 8px 8px;background:#2563eb;color:#fff;font-size:35px}.side-button{display:block;width:304px;margin:23px auto 0;border:2px solid #1d1d20;border-radius:32px;color:#1d1d20;font-weight:600;font-size:16px;line-height:52px;text-align:center;text-decoration:none}.footer{margin-top:80px;padding:48px max(32px,calc((100vw - var(--max))/2));background:#f7f9fc;color:#757d8e;font-size:14px}.footer strong{color:#1d1d1f}.case-index{max-width:1000px;margin:0 auto;padding:80px 24px}.case-index h1{font-size:46px}.case-index p{color:var(--muted)}.case-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}.case-list a{padding:24px;border:1px solid #e4e9f1;border-radius:12px;color:var(--ink);font-size:20px;font-weight:600;text-decoration:none}.case-list a span{display:block;margin-top:10px;color:var(--muted);font-size:14px;font-weight:400;line-height:22px}@media(max-width:1536px){:root{--max:1088px}.hero{padding:113px 0 64px}.hero-copy{width:524px;margin-right:84px}.hero h1{font-size:38px}.hero-desc{width:492px;font-size:12px;line-height:20px}.hero-image{width:480px;height:336px}.metrics{gap:46px}.metric{font-size:19px}.metric span{font-size:12px;line-height:20px}.button{min-width:256px;font-size:16px;line-height:51px}.content{padding:64px 0}.content-main{width:768px;margin-right:38px}.core-item{grid-template-columns:320px 11px 320px}.side-card{width:281px;height:208px}.side-main{height:126px;padding:25px 19px 0}.side-main h3{font-size:18px}.side-main p{margin-top:12px;font-size:12px;line-height:19px}.side-icon{width:65px;height:83px;font-size:28px}.side-button{width:243px;margin-top:18px;font-size:12px;line-height:40px}}
@media(max-width:900px){.nav{height:64px;padding:0 20px}.nav-links{display:none}.hero{padding:96px 24px 52px}.hero-inner,.content-inner{display:block;width:auto}.hero-copy{width:auto;margin:0}.hero h1{font-size:34px;line-height:1.3}.hero-desc{width:auto;font-size:15px;line-height:25px}.metrics{flex-wrap:wrap;gap:22px}.metric{font-size:20px}.metric span{font-size:13px}.button{min-width:0;width:100%;margin-top:30px;font-size:16px;line-height:54px}.hero-image{width:100%;height:280px;margin-top:36px;border-radius:20px}.content{padding:48px 24px}.content-main{width:auto;margin:0}.side-card{display:none}.wordmark{font-size:30px}.project-goal{font-size:18px}.core-item{display:block;min-height:0;padding:22px}.arrow{margin:12px 0;font-size:25px;transform:rotate(90deg)}.core-copy{font-size:14px}.media-grid{grid-template-columns:1fr}p{font-size:15px;line-height:29px}.footer{margin-top:36px;padding:38px 24px}.case-list{grid-template-columns:1fr}.case-index{padding-top:48px}.case-index h1{font-size:34px}}

.site-header {
  position: fixed;
  z-index: 100;
  top: 32px;
  left: 50%;
  display: flex;
  width: min(1280px, calc(100% - 48px));
  min-height: 68px;
  padding: 16px 48px;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.56);
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.25),
    rgba(255, 255, 255, 0.5)
  );
  box-shadow: 0 8px 36px rgba(15, 23, 42, 0.04);
  backdrop-filter: blur(18px);
  transform: translateX(-50%);
}

.site-header-left,
.site-nav {
  display: flex;
  align-items: center;
}

.site-header-left {
  min-width: 0;
  gap: 48px;
}

.site-logo {
  display: flex;
  width: 98px;
  height: 36px;
  flex: 0 0 auto;
  align-items: center;
}

.site-logo img {
  display: block;
  width: 98px;
  max-height: 36px;
}

.site-nav {
  gap: 24px;
}

.site-nav a {
  color: #737373;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-decoration: none;
  white-space: nowrap;
  transition: color 160ms ease;
}

.site-nav a:hover,
.site-nav .active {
  color: #171717;
}

.site-nav a:focus-visible,
.site-logo:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 3px;
}

.site-footer {
  display: flex;
  width: min(1280px, calc(100% - 48px));
  min-height: 120px;
  margin: 80px auto 0;
  padding-bottom: 62px;
  align-items: flex-end;
  justify-content: space-between;
  color: #737373;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

.site-footer-links {
  display: flex;
  gap: 24px;
}

.site-footer a {
  color: inherit;
  text-decoration: none;
}

.site-footer a:hover {
  color: #171717;
}

@media (max-width: 1180px) {
  .site-header {
    top: 20px;
    width: calc(100% - 32px);
    padding-right: 32px;
    padding-left: 32px;
  }

  .site-header-left {
    gap: 28px;
  }

  .site-nav {
    gap: 16px;
  }
}

@media (max-width: 900px) {
  .site-header {
    min-height: 60px;
    padding: 12px 16px;
  }

  .site-header-left {
    gap: 16px;
  }

  .site-footer {
    min-height: 140px;
    padding: 24px 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 12px;
  }

  .site-footer-links {
    flex-wrap: wrap;
    gap: 6px 16px;
  }
}

@media (max-width: 600px) {
  .site-header {
    top: 12px;
    width: calc(100% - 24px);
  }

  .site-logo,
  .site-logo img {
    width: 82px;
  }

  .site-nav {
    display: none;
  }

  .site-footer {
    width: calc(100% - 40px);
    font-size: 13px;
    line-height: 20px;
  }
}
.process-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.process-step{position:relative;min-height:122px;padding:18px 16px;background:#f7f9fc;border-radius:8px}.process-step b{display:block;font-size:16px}.process-step span{display:block;margin-top:10px;color:var(--muted);font-size:14px;line-height:22px}.process-step:not(:last-child)::after{position:absolute;top:48px;right:-8px;z-index:2;color:#9aa9c2;content:'→';font-size:22px}.gallery-3,.gallery-4{display:grid;gap:12px;margin-top:20px}.gallery-3{grid-template-columns:repeat(3,1fr)}.gallery-4{grid-template-columns:repeat(4,1fr)}.gallery-3 figure,.gallery-4 figure{margin:0}.gallery-3 img,.gallery-4 img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:#edf1f6}.gallery-3 figcaption,.gallery-4 figcaption{margin-top:8px;color:var(--muted);font-size:13px;line-height:20px}.article-wall{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.article-wall div{padding:16px;border:1px solid #e4e9f1;border-radius:8px;font-size:14px;line-height:22px}.article-wall span{display:block;margin-top:5px;color:var(--muted);font-size:12px}.strategy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.strategy-card{padding:18px;background:#f7f9fc;border-radius:8px}.strategy-card b{font-size:16px}.strategy-card p{margin:10px 0 0;font-size:14px;line-height:23px}.strategy-card span{display:block;margin-top:10px;color:#52637d;font-size:13px;line-height:20px}@media(max-width:900px){.process-flow,.gallery-3,.gallery-4,.strategy-grid{grid-template-columns:1fr 1fr}.process-step:not(:last-child)::after{display:none}.article-wall{grid-template-columns:1fr}}@media(max-width:520px){.process-flow,.gallery-3,.gallery-4,.strategy-grid{grid-template-columns:1fr}}

/* Responsive layout shared by all enterprise case detail pages. */
body {
  overflow-x: clip;
}

.service-case-document h1,
.service-case-document h2,
.service-case-document h3,
.service-case-document h4,
.service-case-document h5,
.service-case-document h6 {
  color: inherit;
  font-weight: 700;
}

.service-case-document .about h3 {
  margin: 1em 0;
  font-size: 1.17em;
  line-height: normal;
}

img,
video {
  max-width: 100%;
}

.hero-inner,
.content-inner,
.content-main,
.hero-copy,
.core-item > div,
.strategy-card,
.process-step {
  min-width: 0;
}

.hero h1,
.project-goal,
.core-copy,
.strategy-card,
.process-step,
.article-wall,
.result {
  overflow-wrap: anywhere;
}

.goal-meta {
  flex-wrap: wrap;
}

@media (max-width: 1180px) {
  .hero {
    padding: 124px 32px 64px;
  }

  .hero-inner {
    display: grid;
    width: 100%;
    max-width: 1080px;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 44%);
    gap: 48px;
    align-items: center;
  }

  .hero-copy {
    width: auto;
    margin: 0;
  }

  .hero h1 {
    font-size: clamp(36px, 4vw, 44px);
  }

  .hero-desc {
    width: auto;
    font-size: 15px;
    line-height: 25px;
  }

  .hero-image {
    width: 100%;
    height: auto;
    margin: 0;
    aspect-ratio: 10 / 7;
    object-fit: cover;
  }

  .metrics {
    gap: 28px;
  }

  .metric {
    font-size: 20px;
  }

  .metric span {
    font-size: 13px;
    line-height: 21px;
    white-space: normal;
  }

  .content {
    padding: 64px 32px;
  }

  .content-inner {
    display: grid;
    width: 100%;
    max-width: 1080px;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 32px;
    align-items: start;
  }

  .content-main {
    width: auto;
    margin: 0;
  }

  .core-item {
    grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
    gap: 16px;
  }

  .side-card {
    width: 100%;
  }

  .side-button {
    width: calc(100% - 38px);
  }

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

  .process-step:not(:last-child)::after {
    display: none;
  }

  .site-footer {
    width: calc(100% - 64px);
  }
}

@media (max-width: 960px) {
  .hero {
    padding: 112px 24px 56px;
  }

  .hero-inner {
    display: flex;
    max-width: 820px;
    flex-direction: column;
    gap: 36px;
    align-items: stretch;
  }

  .hero-copy {
    max-width: 760px;
  }

  .hero h1 {
    font-size: 38px;
  }

  .hero-image {
    max-height: 520px;
    border-radius: 20px;
    aspect-ratio: 16 / 10;
  }

  .content {
    padding: 52px 24px;
  }

  .content-inner {
    display: flex;
    max-width: 820px;
    flex-direction: column;
    gap: 48px;
  }

  .core-item {
    display: block;
    min-height: 0;
    padding: 22px;
  }

  .arrow {
    margin: 12px 0;
    transform: rotate(90deg);
  }

  .side-card {
    position: static;
    display: block;
    width: 100%;
    height: auto;
    overflow: hidden;
  }

  .side-main {
    min-height: 142px;
    height: auto;
    padding: 28px 24px 20px;
  }

  .side-main h3 {
    font-size: 23px;
  }

  .side-main p {
    margin-top: 12px;
    font-size: 14px;
    line-height: 24px;
  }

  .side-icon {
    width: 76px;
    height: 94px;
    font-size: 32px;
  }

  .side-button {
    width: calc(100% - 48px);
    margin: 22px auto 24px;
    font-size: 15px;
    line-height: 48px;
  }

  .gallery-3,
  .gallery-4,
  .strategy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .media-grid img,
  .media-grid video {
    height: auto;
  }

  .site-footer {
    width: calc(100% - 48px);
    margin-top: 36px;
  }
}

@media (max-width: 640px) {
  .hero {
    padding: 104px 20px 44px;
  }

  .hero-inner {
    gap: 28px;
  }

  .eyebrow {
    padding: 0 12px;
    font-size: 13px;
    line-height: 28px;
  }

  .hero h1 {
    margin-top: 10px;
    font-size: 30px;
    line-height: 1.35;
    letter-spacing: -0.5px;
  }

  .hero-desc {
    margin-top: 16px;
    font-size: 14px;
    line-height: 24px;
  }

  .metrics {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }

  .metric {
    font-size: 18px;
    line-height: 24px;
  }

  .metric span {
    margin-top: 4px;
    font-size: 11px;
    line-height: 17px;
  }

  .button {
    width: 100%;
    min-width: 0;
    margin-top: 28px;
    padding: 0 20px;
    font-size: 15px;
    line-height: 50px;
  }

  .hero-image {
    max-height: none;
    border-radius: 16px;
    aspect-ratio: 4 / 3;
  }

  .content {
    padding: 40px 20px;
  }

  .content-inner {
    gap: 40px;
  }

  .wordmark {
    font-size: 26px;
    line-height: 1.35;
  }

  .project-goal {
    font-size: 16px;
    line-height: 26px;
  }

  .goal-meta {
    gap: 8px 10px;
    font-size: 14px;
    line-height: 22px;
  }

  section {
    margin-top: 32px;
  }

  h2 {
    font-size: 22px;
    line-height: 30px;
  }

  p {
    font-size: 15px;
    line-height: 28px;
  }

  .core-item {
    padding: 18px;
  }

  .process-flow,
  .strategy-grid {
    grid-template-columns: 1fr;
  }

  .gallery-3,
  .gallery-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .article-wall {
    grid-template-columns: 1fr;
  }

  .result {
    padding: 14px;
  }

  .side-main {
    min-height: 132px;
    padding: 24px 20px 18px;
  }

  .side-icon {
    width: 68px;
    height: 84px;
    font-size: 28px;
  }

  .side-button {
    width: calc(100% - 40px);
    margin: 20px auto;
  }

  .site-footer {
    width: calc(100% - 40px);
    margin-top: 24px;
    padding-bottom: 32px;
  }

  .site-footer-links {
    flex-direction: column;
    gap: 4px;
  }
}
