:root{--paper:#f3f1eb;--ink:#12110f;--night:#11100f;--orange:#ff6030;--line:rgba(243,241,235,.18);--muted:rgba(243,241,235,.58);--sans:"Instrument Sans","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--night);scroll-padding-top:74px}
body{margin:0;color:var(--paper);background:var(--night);font-family:var(--sans);overflow-x:hidden}
a{color:inherit}::selection{color:#fff;background:var(--orange)}
.service-grain{position:fixed;z-index:50;inset:0;pointer-events:none;opacity:.055;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='.3'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.service-header{position:fixed;z-index:40;inset:0 0 auto;height:74px;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:rgba(17,16,15,.82);backdrop-filter:blur(16px)}
.service-brand{width:58px;height:50px;display:flex;align-items:center;text-decoration:none;overflow:hidden}.service-brand img{width:54px;height:54px;object-fit:contain;filter:invert(1);transform:scale(1.35)}
.service-header nav{display:flex;gap:clamp(24px,4vw,62px)}.service-header a{font-size:9px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}.service-header nav a,.service-back{position:relative}.service-header nav a::after,.service-back::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--orange);transition:right .25s ease}.service-header nav a:hover::after,.service-header nav a:focus-visible::after,.service-back:hover::after,.service-back:focus-visible::after{right:0}.service-header-tools{justify-self:end;display:flex;align-items:center;gap:clamp(18px,2.2vw,34px)}.language-switch{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:.13em;text-transform:uppercase}.language-switch button{position:relative;padding:8px 0;border:0;background:none;color:inherit;font:inherit;text-transform:uppercase;opacity:.42;cursor:pointer;transition:opacity .25s,color .25s}.language-switch button::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--orange);transition:right .3s cubic-bezier(.2,.72,.2,1)}.language-switch button:hover,.language-switch button:focus-visible,.language-switch button[aria-pressed="true"]{opacity:1}.language-switch button[aria-pressed="true"]::after{right:0}.language-switch i{font-style:normal;opacity:.3}.language-switch button:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.service-flow{position:relative;display:grid;grid-template-columns:minmax(320px,29vw) minmax(280px,24vw) minmax(500px,1fr);align-items:start;padding:74px 24px 0;background:radial-gradient(circle at 6% 32%,rgba(255,96,48,.055),transparent 34%),var(--night)}
.service-flow::before{content:"";position:absolute;z-index:0;inset:74px 0 0;opacity:.22;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.28) .55px,transparent .55px);background-size:4px 4px;mask-image:linear-gradient(90deg,#000,transparent 58%)}
.film-column{position:sticky;z-index:3;top:74px;grid-column:1;height:calc(100vh - 74px);min-height:606px}.film-viewport{position:absolute;left:0;top:50%;width:min(470px,26.5vw);height:56vh;min-height:430px;max-height:610px;overflow:hidden;border-radius:2px;background:#090909;box-shadow:0 24px 60px rgba(0,0,0,.34);transform:translateY(-50%)}
.film-viewport::before,.film-viewport::after{content:"";position:absolute;z-index:3;left:0;right:0;height:96px;pointer-events:none}.film-viewport::before{top:0;background:linear-gradient(var(--night),transparent)}.film-viewport::after{bottom:0;background:linear-gradient(transparent,var(--night))}.film-track{position:absolute;inset:0 auto auto 0;width:100%;display:flex;flex-direction:column;gap:18px;will-change:transform}.film-frame{position:relative;width:100%;height:clamp(230px,30vh,320px);margin:0;padding:14px;display:grid;place-items:center;background:#201e1b;border:1px solid rgba(255,255,255,.1);transition:opacity .35s ease,filter .35s ease}.film-frame::before,.film-frame::after{content:"";position:absolute;left:7px;right:7px;height:4px;background:repeating-linear-gradient(90deg,rgba(243,241,235,.5) 0 7px,transparent 7px 18px)}.film-frame::before{top:5px}.film-frame::after{bottom:5px}.film-frame img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.film-frame{opacity:.28;filter:grayscale(.55)}.film-frame.is-active{opacity:1;filter:none}.film-frame figcaption{position:absolute;left:17px;bottom:16px;padding:6px 8px;color:#eee9e0;background:rgba(17,16,15,.8);font-size:7px;letter-spacing:.13em;text-transform:uppercase}
.service-groups{position:relative;z-index:2;grid-column:2/4}.service-group{display:grid;grid-template-columns:minmax(280px,24vw) minmax(500px,1fr);align-items:stretch}.service-group+.service-group{border-top:1px solid var(--line)}
.group-category{position:relative}.group-category-sticky{position:sticky;top:74px;height:calc(100vh - 74px);min-height:606px;padding:0 clamp(28px,3.4vw,64px);display:flex;flex-direction:column;justify-content:center}.group-category-sticky>span{display:block;margin-bottom:21px;color:var(--orange);font-size:9px;font-weight:600;letter-spacing:.16em;font-variant-numeric:tabular-nums}.group-category-sticky h1{max-width:265px;margin:0;font-size:clamp(38px,3vw,52px);font-weight:400;line-height:.88;letter-spacing:-.07em;text-wrap:balance}
.group-services{min-width:0;padding:0 2vw 13vh 1.2vw}.group-intro{min-height:48vh;padding:13vh 0 7vh;display:flex;align-items:flex-end;border-bottom:1px solid var(--line)}.group-intro p{max-width:780px;margin:0;font-size:clamp(28px,2.6vw,46px);font-weight:400;line-height:1.12;letter-spacing:-.04em;text-wrap:balance}
.service-entry{display:grid;grid-template-columns:78px minmax(0,1fr);gap:0 clamp(18px,2.4vw,42px);padding:34px 0 40px;border-bottom:1px solid var(--line);scroll-margin-top:92px}.service-entry-number{padding-top:7px;color:var(--orange);font-size:9px;font-weight:600;letter-spacing:.16em;font-variant-numeric:tabular-nums}.service-entry-main h2{max-width:620px;margin:0 0 19px;font-size:clamp(30px,2.65vw,47px);font-weight:400;line-height:.94;letter-spacing:-.055em;text-wrap:balance}.service-entry-main>p{max-width:620px;margin:0;color:rgba(243,241,235,.78);font-size:clamp(15px,1.15vw,19px);line-height:1.42}.service-entry-items{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;margin-top:24px;border-top:1px solid var(--line)}.service-entry-items p{margin:0;padding:11px 0;border-bottom:1px solid var(--line);font-size:clamp(11px,.86vw,14px);line-height:1.25}.service-entry-items p:nth-child(odd){padding-right:14px}.service-entry-items p:nth-child(even){padding-left:14px;border-left:1px solid var(--line)}
.flow-progress{position:fixed;z-index:39;right:0;top:74px;bottom:0;width:2px;background:rgba(255,255,255,.08);pointer-events:none}.flow-progress span{display:block;width:100%;height:var(--progress,0%);background:var(--orange)}
.service-footer{position:relative;z-index:4;min-height:72vh;padding:110px 24px 32px;display:grid;grid-template-columns:minmax(0,1.4fr) .6fr auto;gap:40px;align-items:end;color:var(--ink);background:var(--paper)}.service-footer span{font-size:9px;letter-spacing:.15em;text-transform:uppercase}.service-footer h2{margin:22px 0 0;font-size:clamp(64px,9vw,148px);font-weight:500;line-height:.77;letter-spacing:-.075em}.service-footer a{align-self:end;padding-bottom:8px;font-size:12px;text-decoration:none;border-bottom:1px solid rgba(18,17,15,.28)}
@media(max-width:1180px){.service-flow{grid-template-columns:31vw 26vw 1fr}.film-viewport{width:28vw}.service-group{grid-template-columns:26vw 1fr}.group-category-sticky{padding:0 28px}.group-services{padding-right:24px}.service-entry{grid-template-columns:60px minmax(0,1fr);column-gap:20px}.service-entry-main h2{font-size:32px}}
@media(max-width:900px){.service-entry{grid-template-columns:58px 1fr}.service-entry-items{grid-column:2;margin-top:22px}}
@media(max-width:820px){html{scroll-behavior:auto;scroll-padding-top:66px}.service-header{height:66px;padding:0 14px;grid-template-columns:1fr auto}.service-header nav{display:none}.service-header-tools{gap:15px}.service-back{font-size:7px}.language-switch,.language-switch button{font-size:7px}.service-flow{display:block;padding:66px 14px 80px}.film-column{display:none}.service-groups{display:block}.service-group{display:block}.service-group+.service-group{padding-top:60px}.group-category-sticky{position:relative;top:auto;height:auto;min-height:0;padding:70px 0 52px;display:block}.group-category-sticky h1{max-width:600px;font-size:clamp(58px,17vw,92px);line-height:.82}.group-services{padding:0}.group-intro{min-height:0;padding:22px 0 64px;align-items:start}.group-intro p{font-size:clamp(28px,8vw,42px)}.service-entry{display:block;padding:38px 0 52px}.service-entry-number{display:block;margin-bottom:18px}.service-entry-main h2{font-size:clamp(37px,11vw,58px)}.service-entry-main>p{font-size:18px}.service-entry-items{display:block;margin-top:30px}.service-entry-items p,.service-entry-items p:nth-child(odd),.service-entry-items p:nth-child(even){padding:12px 0;border-left:0}.flow-progress{top:66px}.service-footer{min-height:70vh;padding:80px 14px 28px;grid-template-columns:1fr;align-content:end}.service-footer h2{font-size:clamp(58px,17vw,90px)}.service-footer a{width:max-content}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.film-track{will-change:auto}}

/* Shared bilingual type: keep the film/category/service columns unchanged. */
.group-category-sticky h1,.service-entry-main h2{font-weight:500}
html[lang="zh-CN"] .group-category-sticky h1,
html[lang="zh-CN"] .service-entry-main h2,
html[lang="zh-CN"] .service-footer h2{letter-spacing:0;line-height:1.12;word-break:normal;overflow-wrap:anywhere}
html[lang="zh-CN"] .group-intro p{letter-spacing:0;line-height:1.45;font-weight:400}
html[lang="zh-CN"] .service-entry-main>p{font-size:17px;font-weight:400;line-height:1.75;letter-spacing:0}
html[lang="zh-CN"] .service-entry-items p{font-size:14px;font-weight:400;line-height:1.65;letter-spacing:0;overflow-wrap:anywhere}
html[lang="zh-CN"] .service-header a,
html[lang="zh-CN"] .service-footer span{letter-spacing:.04em}
@media(max-width:820px){
  html[lang="zh-CN"] .service-entry-main>p{font-size:16px}
  html[lang="zh-CN"] .group-category-sticky h1{font-size:clamp(48px,12.5vw,78px)}
  html[lang="zh-CN"] .service-entry-main h2{font-size:clamp(32px,8.3vw,48px)}
  html[lang="zh-CN"] .service-footer h2{font-size:clamp(42px,10.7vw,76px)}
}
@media(max-width:400px){
  .group-category-sticky h1{font-size:clamp(42px,14vw,56px)}
}
