/* 英文字体由服务器 /fonts/ 提供；中文用系统字体，不从 Google 加载（大陆打不开） */@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/dm-sans-latin-400-normal.woff2') format('woff2')}@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/dm-sans-latin-500-normal.woff2') format('woff2')}@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/dm-sans-latin-600-normal.woff2') format('woff2')}@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/dm-sans-latin-700-normal.woff2') format('woff2')}

:root{font-family:'DM Sans',-apple-system,'PingFang SC','Microsoft YaHei','Noto Sans SC','Noto Sans CJK SC',Arial,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}::selection{background:#f2a33a;color:#181818}
.shell{width:min(100% - 80px,1360px);margin-inline:auto}.skip-link{position:absolute;left:20px;top:-60px;z-index:20;padding:12px 18px;background:#181818;color:white}.skip-link:focus{top:12px}
.site-header{border-bottom:1px solid #d8d8d8;background:#f2f2f2;position:relative;z-index:10}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:25px;font-weight:800;letter-spacing:-1.7px;white-space:nowrap}.brand-light{font-weight:500}.brand-dot{color:#f2a33a}.brand-mark{width:44px;height:34px;display:block;flex:none}.brand-name{letter-spacing:-.04em}.site-nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:700}.site-nav>a:not(.nav-cta){transition:opacity .2s}.site-nav>a:not(.nav-cta):hover{opacity:.55}.language-switch{display:flex;align-items:center;gap:5px;border:1px solid #cacaca;border-radius:4px;padding:6px 8px;font-size:11px;color:#9f9f9f}.lang-button{border:0;background:transparent;padding:3px 4px;color:#8e8e8e;font-size:11px;font-weight:800;cursor:pointer}.lang-button.is-active{color:#181818}.lang-button:focus-visible{outline:2px solid #c2700f;outline-offset:2px}.nav-cta{padding:14px 20px;border-radius:4px;background:#181818;color:#fff;display:flex;gap:24px;align-items:center;transition:background .2s,color .2s}.nav-cta:hover,.button-dark:hover{background:#f2a33a;color:#181818}html:lang(en) .stage-label{display:none}
.hero{min-height:680px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;position:relative;padding-top:72px;padding-bottom:100px}.hero-copy{position:relative;z-index:2;padding-bottom:28px}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:.15em}.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:35px}.eyebrow-line{width:32px;height:2px;background:var(--bg)}.hero h1{font-size:clamp(50px,5vw,76px);line-height:1.14;letter-spacing:-.075em;font-weight:800;margin-bottom:30px;white-space:normal}.hero h1 em{font-style:normal;color:var(--muted)}.hero-copy>p{max-width:520px;color:var(--muted);font-size:18px;line-height:1.9;margin-bottom:36px}.hero-actions{display:flex;align-items:center;gap:32px}.button{min-height:55px;padding:0 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;border-radius:4px;font-size:13px;font-weight:700;transition:background .2s,color .2s}.button-dark{background:#181818;color:#fff}.button span,.text-link span{font-size:18px;font-weight:400}.text-link{display:inline-flex;gap:16px;align-items:center;font-size:13px;font-weight:700;border-bottom:1px solid var(--text);padding-bottom:7px}
.intro-band{background:#f2a33a}.band-symbol{font-size:23px;font-weight:400}
.section{padding-top:132px;padding-bottom:140px}.section-heading{display:grid;grid-template-columns:1fr .48fr;gap:70px;align-items:end;margin-bottom:60px}.section-kicker{margin-bottom:27px;color:var(--muted)}.section-heading h2,.feature-copy h2,.contact-layout h2{font-size:clamp(39px,4.25vw,66px);line-height:1.25;letter-spacing:-.06em;font-weight:800;margin-bottom:0}.section-lead{font-size:16px;line-height:1.9;color:var(--muted);max-width:390px;margin:0 0 8px auto}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-card{min-height:390px;background:var(--surface);border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;transition:transform .25s,background .25s}.service-card:hover{transform:translateY(-5px);background:var(--surface)}.service-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:auto}.service-number{font-size:12px;font-weight:800}.service-icon{width:49px;height:49px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:24px}.service-card h3{font-size:27px;letter-spacing:-.05em;margin-bottom:14px}.service-card p{font-size:14px;line-height:1.9;color:var(--muted);max-width:280px;margin-bottom:30px}.service-tags{display:flex;flex-wrap:wrap;gap:7px}.service-tags span{border:1px solid var(--line);border-radius:99px;padding:6px 10px;font-size:11px;color:var(--muted);font-weight:700}
.feature-section{background:#181818;color:#f2f2f2;padding:115px 0}.feature-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}.feature-visual{min-height:520px;background:#282828;position:relative;overflow:hidden;padding:28px;display:flex;flex-direction:column;justify-content:space-between}.feature-copy .section-kicker{color:#c7c7c7}.feature-copy h2{margin-bottom:28px}.feature-copy>p:not(.section-kicker){color:#bcbcbc;font-size:16px;line-height:1.95;margin-bottom:42px;max-width:500px}.feature-points{border-top:1px solid #5b5b5b}.feature-points>div{padding:17px 0;border-bottom:1px solid #5b5b5b;display:grid;grid-template-columns:38px 125px 1fr;gap:14px;align-items:start}.feature-points strong{font-size:14px}.feature-points p{font-size:12px;line-height:1.7;color:#b3b3b3;margin:0}
.approach-heading{margin-bottom:52px}.steps{border-top:1px solid var(--line)}.step{display:grid;grid-template-columns:20% 1fr 50px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line);gap:20px}.step-number{font-size:13px;font-weight:700;color:var(--muted)}.step>div{display:flex;align-items:baseline;gap:38px}.step h3{font-size:26px;min-width:150px;margin:0;letter-spacing:-.05em}.step p{font-size:14px;color:var(--muted);margin:0;line-height:1.7}.step-arrow{justify-self:end;font-size:23px}
.contact-section{background:#f2a33a;padding:110px 0 118px}.contact-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:70px;align-items:end}.contact-layout .section-kicker{color:var(--accent-text)}.contact-layout h2{font-size:clamp(42px,4.8vw,72px)}.contact-side{padding-bottom:7px}.contact-side p{font-size:16px;line-height:1.9;max-width:360px;margin-bottom:30px}.contact-note{font-size:10px;letter-spacing:.1em;font-weight:800;border-top:1px solid #c2700f;padding-top:15px;display:block}.site-footer{background:#181818;color:#f0f0f0}.footer-inner{min-height:122px;display:flex;justify-content:space-between;align-items:center;gap:20px}.site-footer .brand-dot{color:#f2a33a}.footer-inner>span,.footer-inner>a:last-child{font-size:12px;color:#b1b1b1}.footer-inner>a:last-child:hover{color:#f2a33a}
@media(max-width:1000px){.shell{width:min(100% - 48px,1360px)}.hero{min-height:600px}.hero h1{font-size:clamp(49px,5.6vw,72px)}.hero-copy>p{font-size:16px}.section{padding-top:95px;padding-bottom:105px}.feature-layout{gap:6%}.feature-visual{min-height:450px}.feature-points>div{grid-template-columns:30px 1fr}.feature-points p{grid-column:2}.contact-layout{gap:30px}}
@media(max-width:720px){.shell{width:min(100% - 36px,1360px)}.header-inner{min-height:72px}.brand{font-size:22px}.brand-mark{width:38px;height:29px}.hero{grid-template-columns:1fr;min-height:auto;padding-top:72px;padding-bottom:72px}.hero-copy{padding-bottom:0}.eyebrow{margin-bottom:25px}.hero h1{font-size:clamp(43px,10vw,68px);white-space:normal;letter-spacing:-.07em}.hero-copy>p{font-size:15px;line-height:1.8;max-width:460px}.hero-art{width:min(100%,420px);justify-self:center;margin-top:38px}.section-heading,.feature-layout,.contact-layout{grid-template-columns:1fr;gap:28px}.section{padding-top:80px;padding-bottom:85px}.section-kicker{margin-bottom:19px}.section-heading h2,.feature-copy h2{font-size:clamp(39px,8vw,56px)}.section-lead{margin:0;max-width:580px;font-size:14px}.section-heading{margin-bottom:38px}.service-grid{grid-template-columns:1fr}.service-card{min-height:300px}.service-card p{max-width:100%}.feature-section{padding:70px 0}.feature-visual{min-height:390px;order:2}.feature-copy{order:1}.feature-copy>p:not(.section-kicker){font-size:14px}.feature-points>div{grid-template-columns:35px 130px 1fr}.feature-points p{grid-column:auto}.step{grid-template-columns:40px 1fr 25px;padding:22px 0}.step>div{display:block}.step h3{font-size:22px;margin-bottom:8px}.step p{font-size:13px}.contact-section{padding:78px 0}.contact-layout h2{font-size:clamp(42px,8vw,60px)}.contact-side p{font-size:14px}.footer-inner{padding:30px 0;min-height:130px;flex-wrap:wrap}.footer-inner>span{order:3;width:100%}}
@media(max-width:430px){.hero-actions{align-items:flex-start;flex-direction:column;gap:23px}.hero h1{font-size:41px}.feature-points>div{grid-template-columns:30px 1fr}.feature-points p{grid-column:2}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Interior pages */
.site-nav a[aria-current="page"]{border-bottom:2px solid #181818;padding-bottom:6px}.page-hero{padding-top:88px;padding-bottom:100px}.page-hero .section-kicker{margin-bottom:34px}.page-hero-grid{display:grid;grid-template-columns:1.28fr .72fr;align-items:end;gap:8%}.page-hero h1{font-size:clamp(52px,5.6vw,82px);line-height:1.19;letter-spacing:-.07em;margin:0;font-weight:800}.page-hero-side{padding-bottom:8px}.page-hero-side p{font-size:17px;line-height:1.9;color:var(--muted);max-width:420px;margin-bottom:34px}.jump-band{background:#f2a33a}.jump-links{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:12px}.jump-links a{font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid transparent;transition:border-color .2s}.jump-links a:hover,.jump-links a:focus-visible{border-color:#181818}.jump-links a span:first-child:not(:last-child){font-size:10px;opacity:.65}.page-section{padding-top:110px;padding-bottom:125px}.compact-heading{margin-bottom:55px}.compact-heading h2{font-size:clamp(38px,4vw,62px);line-height:1.25;letter-spacing:-.06em}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.offer-card{min-height:360px;padding:30px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;scroll-margin-top:25px;transition:transform .25s,background .25s}.offer-card:hover{transform:translateY(-5px);background:var(--surface)}.offer-index{font-size:11px;font-weight:800;letter-spacing:.13em}.offer-icon{width:51px;height:51px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:23px;margin:30px 0 auto}.offer-card h3{font-size:25px;line-height:1.25;letter-spacing:-.045em;margin:24px 0 13px}.offer-card p{font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:24px}.offer-tags{display:flex;gap:7px;flex-wrap:wrap}.offer-tags span{font-size:11px;font-weight:700;padding:6px 10px;border:1px solid var(--line);border-radius:99px;color:var(--muted)}.page-callout{background:#f2a33a;padding:90px 0}.callout-inner{display:flex;align-items:end;justify-content:space-between;gap:30px}.callout-inner h2{font-size:clamp(39px,4.5vw,68px);line-height:1.24;letter-spacing:-.06em;margin:0}.callout-inner .section-kicker{color:var(--accent-text)}.callout-inner .button{min-width:205px}.about-dark{background:#181818;color:#f2f2f2;padding:110px 0}.about-dark-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:start}.about-dark .section-kicker{color:#c4c4c4}.about-dark h2{font-size:clamp(39px,4.2vw,64px);line-height:1.25;letter-spacing:-.06em;margin:0}.about-dark-copy{padding-top:38px}.about-dark-copy p{font-size:17px;line-height:1.95;color:#bcbcbc;margin-bottom:26px}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.principle-grid article{min-height:280px;background:var(--surface);padding:30px;display:flex;flex-direction:column}.principle-grid article>span{font-size:12px;font-weight:800;margin-bottom:auto}.principle-grid h3{font-size:25px;letter-spacing:-.045em;margin:0 0 14px}.principle-grid p{font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:0}.process-list{padding-bottom:120px}.process-stage{display:grid;grid-template-columns:12% 1fr 250px;gap:5%;padding:36px 0;border-top:1px solid var(--line);scroll-margin-top:25px}.process-stage:last-child{border-bottom:1px solid var(--line)}.stage-number{font-size:22px;font-weight:800;color:var(--muted)}.stage-label{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--muted);margin-bottom:20px}.process-stage h3{font-size:29px;letter-spacing:-.05em;margin-bottom:13px}.process-stage p:not(.stage-label){font-size:15px;line-height:1.85;color:var(--muted);max-width:570px;margin-bottom:0}.stage-output{align-self:end;padding:17px 18px;background:var(--surface);display:flex;flex-direction:column;gap:9px}.stage-output strong{font-size:11px}.stage-output span{font-size:13px;color:var(--muted);line-height:1.5}
@media(max-width:1000px){.page-hero{padding-top:72px;padding-bottom:80px}.page-hero-grid{gap:5%}.page-hero h1{font-size:clamp(46px,5.3vw,68px)}.page-section{padding-top:90px;padding-bottom:100px}.offer-card{min-height:350px;padding:24px}.offer-card h3{font-size:22px}.process-stage{grid-template-columns:9% 1fr 210px;gap:4%}}
@media(max-width:900px){.site-nav a[aria-current="page"]{border-bottom:2px solid #181818}.page-hero-grid{grid-template-columns:1fr;gap:28px}.page-hero-side{max-width:600px}.page-hero h1{font-size:clamp(44px,7vw,64px)}.offer-grid,.principle-grid{grid-template-columns:repeat(2,1fr)}.about-dark-layout{grid-template-columns:1fr;gap:30px}.about-dark-copy{padding-top:0}.process-stage{grid-template-columns:70px 1fr;gap:20px}.stage-output{grid-column:2;align-self:start;max-width:350px}}
@media(max-width:720px){.page-hero{padding-top:64px;padding-bottom:70px}.page-hero h1{font-size:clamp(41px,9vw,58px)}.page-hero-side p{font-size:15px}.jump-links{justify-content:flex-start;gap:8px 22px;min-height:0;padding-block:18px}.jump-links a{font-size:12px}.page-section{padding-top:72px;padding-bottom:78px}.compact-heading{margin-bottom:36px}.compact-heading h2{font-size:clamp(37px,8vw,54px)}.offer-grid,.principle-grid{grid-template-columns:1fr}.offer-card{min-height:300px}.offer-icon{margin:28px 0 35px}.offer-card h3{margin-top:0}.about-dark{padding:75px 0}.about-dark h2{font-size:clamp(38px,8vw,55px)}.about-dark-copy p{font-size:15px}.principle-grid article{min-height:230px}.page-callout{padding:75px 0}.callout-inner{align-items:flex-start;flex-direction:column}.callout-inner h2{font-size:clamp(39px,8vw,56px)}.process-stage{grid-template-columns:42px 1fr;gap:14px;padding:28px 0}.stage-number{font-size:17px}.process-stage h3{font-size:23px}.process-stage p:not(.stage-label){font-size:14px}.stage-output{grid-column:2}}

.team-section{background:var(--surface);padding:105px 0 120px}.team-section .section-lead{max-width:400px}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.team-card{display:grid;grid-template-columns:42% 58%;min-height:330px;background:var(--bg);border:1px solid var(--line)}.team-portrait{background:radial-gradient(circle at 50% 45%,var(--surface),var(--surface-3) 55%,#565656);display:grid;place-items:center;overflow:hidden}.team-portrait span{font-size:clamp(65px,7vw,110px);font-weight:800;letter-spacing:-.09em;color:rgba(36,36,36,.53)}.team-details{padding:30px;display:flex;flex-direction:column;align-items:flex-start}.team-index{font-size:10px;font-weight:800;letter-spacing:.12em;margin-bottom:auto;color:var(--muted)}.team-details h3{font-size:34px;letter-spacing:-.06em;margin:24px 0 6px}.team-role{font-size:13px;font-weight:800;color:var(--muted);margin:0 0 28px}.team-details p:last-child{font-size:13px;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin:0;width:100%}.contact-page-section{scroll-margin-top:24px}.contact-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.contact-method{min-height:320px;background:var(--surface);border:1px solid var(--line);padding:30px;display:flex;flex-direction:column}.contact-method-index{font-size:11px;font-weight:800;letter-spacing:.12em;margin-bottom:auto}.contact-method h3{font-size:27px;letter-spacing:-.05em;margin:35px 0 12px}.contact-method p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:24px}.contact-placeholder{font-size:12px;font-weight:800;border-top:1px solid var(--line);padding-top:14px;color:var(--muted)}.contact-prep{background:#181818;color:#f2f2f2;padding:105px 0 120px}.contact-prep-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-prep .section-kicker{color:#c0c0c0}.contact-prep h2{font-size:clamp(39px,4.2vw,64px);line-height:1.25;letter-spacing:-.06em;margin:0}.contact-prep-list{border-top:1px solid #5a5a5a}.contact-prep-list>div{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:25px 0;border-bottom:1px solid #5a5a5a}.contact-prep-list span{font-size:12px;font-weight:800;color:#f2a33a}.contact-prep-list p{font-size:16px;line-height:1.7;color:#c0c0c0;margin:0}
@media(max-width:1000px){.team-section,.contact-prep{padding:90px 0}.team-card{grid-template-columns:38% 62%;min-height:290px}.team-details{padding:23px}.contact-method{padding:24px}}
@media(max-width:720px){.team-section,.contact-prep{padding:75px 0}.team-grid,.contact-method-grid,.contact-prep-layout{grid-template-columns:1fr}.team-card{min-height:260px}.team-details h3{font-size:28px}.team-portrait span{font-size:70px}.contact-method{min-height:260px}.contact-method h3{margin-top:26px}.contact-prep-layout{gap:38px}.contact-prep h2{font-size:clamp(38px,8vw,55px)}}

.core-badge{display:inline-block;margin-left:10px;padding:4px 9px;border-radius:99px;background:#f2a33a;color:#181818;font-size:10px;font-weight:800;letter-spacing:.1em;vertical-align:1px}.offer-head{display:flex;align-items:center}.core-grid{grid-template-columns:repeat(2,1fr)}.core-grid .offer-card{min-height:420px}.more-services{padding-top:0}.offer-card.is-core,.service-card.is-core{background:#181818;border-color:#181818;color:#f0f0f0}.offer-card.is-core:hover,.service-card.is-core:hover{background:#282828}.offer-card.is-core p,.service-card.is-core p{color:#bcbcbc}.offer-card.is-core .offer-icon,.service-card.is-core .service-icon{border-color:#4e4e4e;color:#f2a33a}.offer-card.is-core .offer-tags span,.service-card.is-core .service-tags span{border-color:#4e4e4e;color:#f2a33a}.offer-card.is-core h3{font-size:32px}@media(max-width:720px){.core-grid{grid-template-columns:1fr}.core-grid .offer-card{min-height:320px}.offer-card.is-core h3{font-size:26px}}

/* ===== Motion & polish ===== */
html{scroll-padding-top:100px}
html,body{overflow-x:clip}
.site-header{position:sticky;top:0;background:rgba(242,242,242,.8);-webkit-backdrop-filter:saturate(1.5) blur(14px);backdrop-filter:saturate(1.5) blur(14px);transition:box-shadow .3s,background .3s}
.site-header.is-scrolled{box-shadow:0 10px 30px rgba(24,24,24,.08);background:rgba(242,242,242,.9)}
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:#f2a33a;z-index:50;pointer-events:none}

/* Scroll reveal (only when effects.js adds .fx) */
.fx .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.2,1) calc(var(--i,0)*90ms),transform .8s cubic-bezier(.2,.7,.2,1) calc(var(--i,0)*90ms)}
.fx .reveal.is-visible{opacity:1;transform:none}

/* Hero entrance */
@media(prefers-reduced-motion:no-preference){
  .hero-copy>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .hero-copy>:nth-child(2){animation-delay:.1s}.hero-copy>:nth-child(3){animation-delay:.2s}.hero-copy>:nth-child(4){animation-delay:.3s}.hero-copy>:nth-child(5){animation-delay:.4s}
  .hero-art{animation:galaxy-in 1.4s cubic-bezier(.2,.7,.2,1) .15s both}
  
}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes galaxy-in{from{opacity:0;transform:scale(.86) rotate(-8deg)}to{opacity:1;transform:none}}

/* Hero numbers */
.hero-stats{display:flex;gap:38px;margin-top:44px;padding-top:26px;border-top:1px solid var(--line);max-width:520px}
.hero-stats div{display:flex;flex-direction:column;gap:6px}
.hero-stats strong{font-size:42px;line-height:1;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.hero-stats span{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.04em}

/* Ticker */
.intro-band{overflow:hidden}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}
.intro-band:hover .marquee-track{animation-play-state:paused}
.marquee-group{display:flex;align-items:center;gap:34px;padding-right:34px;min-height:78px;font-size:14px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Buttons */
.button,.nav-cta{position:relative;overflow:hidden;isolation:isolate}
.button span[aria-hidden],.nav-cta span[aria-hidden],.text-link span[aria-hidden]{display:inline-block;transition:transform .3s}
.button:hover span[aria-hidden],.nav-cta:hover span[aria-hidden],.text-link:hover span[aria-hidden]{transform:translate(3px,-3px)}

/* Inner page headers: drifting dot grid + glow */
.page-hero{position:relative;isolation:isolate}

/* Dark sections get a faint lime dot field */
.about-dark,.site-footer{position:relative;isolation:isolate}

@media(max-width:720px){
  .hero-stats{gap:24px;margin-top:34px}
  .hero-stats strong{font-size:34px}
  .marquee-group{min-height:62px;font-size:12px;gap:24px;padding-right:24px}
  
  html{scroll-padding-top:84px}
}

/* ===== Space theme: dark header + starry page tops ===== */
.site-header{background:rgba(8,8,8,.94);border-bottom:1px solid rgba(255,255,255,.07);color:#f2f2f2}
.site-header.is-scrolled{background:rgba(8,8,8,.86);box-shadow:0 12px 34px rgba(0,0,0,.28)}
.site-nav a[aria-current="page"]{border-bottom-color:#f2a33a}
.language-switch{border-color:rgba(255,255,255,.16);color:#666666}
.lang-button{color:#949494}.lang-button.is-active{color:#fff}
.nav-cta{background:#f2a33a;color:#0c0c0c}
.nav-cta:hover{background:#fff;color:#0c0c0c}
.menu-toggle{border-color:rgba(255,255,255,.22)!important}.menu-toggle span{background:#f2f2f2!important}
@media(max-width:1000px){.site-nav{background:#080808!important;border-bottom-color:rgba(255,255,255,.08)!important}.site-nav>a:not(.nav-cta){border-bottom-color:rgba(255,255,255,.08)!important}}
.site-footer{background:#080808}

.space{position:relative;isolation:isolate;color:#f2f2f2}
.space-bg{position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;z-index:-1;overflow:hidden;
  background:radial-gradient(ellipse 80% 90% at 72% 38%,#1e1e1e 0%,#101010 45%,#080808 100%)}
.space-bg canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.space-bg::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(8,8,8,.72) 0%,rgba(8,8,8,.3) 38%,transparent 62%),linear-gradient(0deg,rgba(8,8,8,.55) 0%,transparent 26%)}
.space .section-kicker,.space .eyebrow{color:rgba(242,242,242,.72)}
.space .eyebrow-line{background:rgba(242,242,242,.8)}
.space h1{color:#f8f8f8}
.space .hero-copy>p,.space .page-hero-side p{color:#b2b2b2}
.space .text-link{border-bottom-color:rgba(242,242,242,.5)}
.space .text-link:hover{border-bottom-color:#f2a33a}
.space .button-dark{background:#f2f2f2;color:#0c0c0c}
.space .button-dark:hover{background:#f2a33a;color:#0c0c0c}
.space .hero-stats{border-top-color:rgba(255,255,255,.12)}
.space .hero-stats strong{color:#fff}
.space .hero-stats span{color:#9a9a9a}
.page-hero.space{padding-bottom:110px}
@media(prefers-reduced-motion:no-preference){
  .page-hero>:not(.space-bg){animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .page-hero>.page-hero-grid{animation-delay:.12s}
}

/* Galaxy disc floats freely in space now */
.hero-art{width:min(100%,600px);aspect-ratio:1;position:relative;justify-self:end;overflow:visible}
.galaxy-canvas{position:absolute;inset:-36.5%;width:173%;height:173%;display:block;pointer-events:none}@media(max-width:720px){.galaxy-canvas{inset:-15%;width:130%;height:130%}}

@media(max-width:1000px){.hero-art{width:min(100%,480px)}}
@media(max-width:720px){.hero-art{width:min(100%,400px);justify-self:center;margin-top:30px}.page-hero.space{padding-bottom:80px}}

/* Silver bands in place of the old lime ones */
.intro-band,.jump-band,.page-callout,.contact-section{background:linear-gradient(100deg,#d7d7d7 0%,#e9e9e9 34%,#f6f6f6 50%,#e7e7e7 66%,#d4d4d4 100%)}
.intro-band,.jump-band{border-block:1px solid rgba(20,20,20,.06)}
.contact-layout .section-kicker{color:var(--accent-text)}

/* Warm touches on the light sections */
.section-kicker{color:var(--accent-text)}.space .section-kicker,.space .eyebrow{color:rgba(255,214,160,.85)}
.space .eyebrow-line{background:#f2a33a}

/* Ticker + directory strips: dark, with thin edge lines, so they don't glare */
.intro-band,.jump-band{background:linear-gradient(180deg,#111111,#0e0e0e);color:#d6d6d6;
  border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(242,163,58,.45);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 1px 0 rgba(242,163,58,.12)}
.marquee-group .band-symbol{color:#f2a33a}
.marquee-group span:not(.band-symbol){opacity:.9}
.jump-links a{color:#d6d6d6}
.jump-links a:hover,.jump-links a:focus-visible{border-color:#f2a33a;color:#fff}
.jump-links a span:first-child:not(:last-child){color:#f2a33a;opacity:.85}

/* Bottom call-to-action blocks: soft matte silver instead of a shiny streak */
.page-callout,.contact-section{background:linear-gradient(180deg,var(--surface) 0%,var(--surface) 100%);border-top:1px solid var(--line)}

/* ===== Dark theme fixes ===== */
.button-dark{background:#e4e4e4;color:#141414}
.button-dark:hover{background:#f2a33a;color:#141414}
.text-link{border-bottom-color:rgba(228,228,228,.5)}
.text-link:hover{border-bottom-color:#f2a33a}
.offer-card.is-core,.service-card.is-core{background:#202020;border-color:rgba(242,163,58,.28)}
.offer-card.is-core:hover,.service-card.is-core:hover{background:#262626}
.page-callout,.contact-section{background:linear-gradient(180deg,var(--bg),var(--bg));border-top:1px solid rgba(242,163,58,.3)}
.contact-layout .section-kicker,.callout-inner .section-kicker{color:var(--accent-text)}
.section-kicker{color:var(--accent-text)}
.feature-section,.about-dark,.contact-prep{border-top:1px solid rgba(255,255,255,.06)}
.site-header.is-scrolled{box-shadow:0 12px 34px rgba(0,0,0,.4)}
.team-portrait span{color:var(--accent-text)}

/* ===== Two background themes ===== */
:root,html[data-theme="dark"]{color-scheme:dark;
  --bg:#121212;--surface:#1c1c1e;--surface-2:#232325;--surface-3:#2c2c2e;--line:#2e2e30;
  --text:#ececec;--muted:#a6a6a8;--accent-text:#f2a33a}
html[data-theme="light"]{color-scheme:light;
  --bg:#fdfbf7;--surface:#f4f0ea;--surface-2:#eee8df;--surface-3:#e4ddd2;--line:#e3dcd0;
  --text:#1f1c18;--muted:#6e675d;--accent-text:#b5650c}
body{background:var(--bg)}
.page-callout,.contact-section{background:linear-gradient(180deg,var(--surface),var(--bg))}
.button-dark{background:var(--text);color:var(--bg)}
.button-dark:hover{background:#f2a33a;color:#141414}
.space .button-dark{background:#ececec;color:#141414}
.text-link{border-bottom-color:color-mix(in srgb,var(--text) 50%,transparent)}
.space .text-link{border-bottom-color:rgba(236,236,236,.5)}
.text-link:hover,.space .text-link:hover{border-bottom-color:#f2a33a}

/* Theme switch button */
.theme-toggle{width:36px;height:36px;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:transparent;color:#e6e6e6;
  display:grid;place-items:center;cursor:pointer;padding:0;transition:border-color .25s,color .25s,transform .25s}
.theme-toggle:hover{border-color:#f2a33a;color:#f2a33a;transform:rotate(-12deg)}
.theme-toggle:focus-visible{outline:2px solid #f2a33a;outline-offset:2px}
.theme-toggle svg{width:17px;height:17px;grid-area:1/1;transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .3s}
html[data-theme="light"] .theme-toggle .icon-moon,html:not([data-theme="light"]) .theme-toggle .icon-sun{opacity:0;transform:rotate(-90deg) scale(.5)}
@media(max-width:1000px){.theme-toggle{align-self:flex-start;margin-top:16px}}
html.theme-anim,html.theme-anim *{transition:background-color .45s ease,color .45s ease,border-color .45s ease!important}
.contact-link{display:block;color:var(--text,inherit);text-decoration:none;word-break:break-all;transition:color .2s}.contact-link:hover{color:#f2a33a}
.contact-method-grid.single{grid-template-columns:1fr}.contact-method-grid.single .contact-method{min-height:260px}.contact-method-grid.single .contact-link{font-size:clamp(18px,2.4vw,28px);letter-spacing:-.03em;padding-top:20px}
/* Footer: contact + legal rows */
.site-footer .footer-inner{display:grid;grid-template-columns:auto 1fr auto auto;grid-template-areas:"brand tag email top" "legal legal legal legal";align-items:center;gap:18px 36px;padding:38px 0 26px;min-height:0}
.footer-inner>.brand{grid-area:brand}.footer-inner>.footer-tagline{grid-area:tag;order:0;width:auto;font-size:12px;color:#b1b1b1}
.footer-email{grid-area:email;font-size:13px;font-weight:700;color:#f0f0f0;transition:color .2s}.footer-email:hover{color:#f2a33a}
.footer-inner>.footer-top{grid-area:top;font-size:12px;color:#b1b1b1}.footer-inner>.footer-top:hover{color:#f2a33a}
.footer-legal{grid-area:legal;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding-top:18px;border-top:1px solid rgba(255,255,255,.09);font-size:11px;color:#8a8a8a}
@media(max-width:720px){.site-footer .footer-inner{grid-template-columns:1fr auto;grid-template-areas:"brand top" "tag tag" "email email" "legal legal";gap:14px 20px}}
.notfound{min-height:62vh}.notfound-links{display:flex;flex-wrap:wrap;gap:22px 30px}

/* Team skill tags */
.team-role{margin-bottom:16px}.team-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}.team-tags span{font-size:11px;font-weight:700;padding:6px 10px;border:1px solid var(--line);border-radius:99px;color:var(--accent-text)}
@media(max-width:720px){.team-card{grid-template-columns:1fr;min-height:0}.team-portrait{height:170px}.team-details h3{margin-top:14px}}
.team-tags .tag-strong{background:#f2a33a;border-color:#f2a33a;color:#181818}
/* Team portraits: always a dark sky so the star initials read in both themes */
.team-portrait{position:relative;background:radial-gradient(circle at 50% 42%,#26262a,#18181a 58%,#0f0f10)}
.team-stars{position:absolute;inset:0;width:100%;height:100%;display:block}
.team-portrait.has-stars span{visibility:hidden}

/* Navigation: usable without scripts; collapse only after controls are ready. */
.menu-toggle { display: none; }
.theme-toggle { display: none; }
.theme-ready .theme-toggle { display: grid; }
.service-card, .service-tags, .service-tags span { min-width: 0; }
@media (max-width: 1100px) {
  .site-header:not(.nav-ready) { position: relative; }
  .header-inner { flex-wrap: wrap; }
  .site-nav {
    flex-basis: 100%; flex-direction: column; align-items: stretch; gap: 0;
    padding: 20px 24px 24px; background: #080808;
  }
  .site-nav > a:not(.nav-cta) { padding: 14px 5px; border-bottom: 1px solid rgba(255,255,255,.08); }
  .site-nav .language-switch { align-self: flex-start; margin-top: 16px; }
  .site-nav .theme-toggle { align-self: flex-start; margin-top: 16px; }
  .site-nav .nav-cta { margin-top: 18px; justify-content: space-between; }
  .nav-ready .header-inner { flex-wrap: nowrap; }
  .nav-ready .menu-toggle {
    display: flex; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.22);
    border-radius: 3px; background: transparent; flex-direction: column;
    align-items: center; justify-content: center; gap: 6px; cursor: pointer;
  }
  .menu-toggle span { display: block; width: 19px; height: 2px; background: #f2f2f2; }
  .nav-ready .site-nav {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    max-height: calc(100dvh - 86px); overflow-y: auto; overscroll-behavior: contain;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .nav-ready .site-nav.is-open { display: flex; }
}
@media (max-width: 900px) {
  .service-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .site-nav { padding-inline: 18px; }
  .nav-ready .site-nav { max-height: calc(100dvh - 72px); }
}

/* ===== Polish: calmer type, one icon set, quiet motion =====
   Design pass guided by unslop by Damir Sokolovsky (@heydamir), CC BY 4.0. */
:root{--ease:cubic-bezier(.22,1,.36,1);--beacon:#f2a33a}

/* Type: lighter weights and gentler tracking that suits Chinese and English */
.hero h1,.page-hero h1{font-weight:600;letter-spacing:-.03em}
.section-heading h2,.feature-copy h2,.contact-layout h2,.compact-heading h2,.callout-inner h2,.about-dark h2,.contact-prep h2{font-weight:600;letter-spacing:-.025em}
h3,.service-card h3,.offer-card h3,.principle-grid h3,.step h3,.process-stage h3,.contact-method h3,.team-details h3{font-weight:600;letter-spacing:-.02em}
.brand{font-size:21px;font-weight:600;letter-spacing:-.02em}.brand-name{letter-spacing:-.02em}
.site-nav{font-size:14px;font-weight:500}
.lang-button{font-size:12px;font-weight:500}
.team-role{font-weight:500}
.contact-placeholder{font-weight:500}
.stage-output strong{font-weight:600;font-size:12px}
.feature-points strong{font-weight:600}
.marquee-group{font-weight:500;letter-spacing:0}
.jump-links a{font-weight:500}

/* Section labels: short sentence-case words in a quiet color */
.eyebrow,.section-kicker{font-size:13px;font-weight:500;letter-spacing:0;color:var(--muted)}
.space .section-kicker,.space .eyebrow,.feature-copy .section-kicker,.about-dark .section-kicker,.contact-prep .section-kicker{color:#a8a8a8}
.contact-layout .section-kicker,.callout-inner .section-kicker{color:var(--muted)}
.eyebrow-line,.space .eyebrow-line{width:24px;height:1px;background:#6a6a6c}

/* Headline: one solid amber line instead of a shimmering gradient */
.hero h1 em{color:#f2a33a}

/* Beacon: a small amber dot marks core services and the current page */
.core-badge{display:inline-flex;align-items:center;gap:8px;margin:0;padding:0;border-radius:0;background:none;color:#f2a33a;font-size:13px;font-weight:500;letter-spacing:0}
.core-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--beacon);flex:none}
.site-nav a[aria-current="page"]{border-bottom:0;display:inline-flex;align-items:center;gap:8px}
.site-nav a[aria-current="page"]::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--beacon);flex:none}
@media(min-width:1101px){.site-nav a[aria-current="page"]{padding-bottom:0}}

/* Buttons and links */
.button{min-height:48px;padding:0 20px;gap:16px;font-size:14px;font-weight:500;transition:background .16s var(--ease),color .16s var(--ease),transform .16s var(--ease)}
.button span,.text-link span{font-size:inherit;font-weight:inherit}
.text-link{font-size:14px;font-weight:500;gap:10px}
.nav-cta{padding:10px 16px;gap:12px;font-weight:500;transition:background .16s var(--ease),color .16s var(--ease),transform .16s var(--ease)}
.button:active,.nav-cta:active{transform:scale(.98)}
.icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s var(--ease)}
.button:hover .icon,.nav-cta:hover .icon,.text-link:hover .icon{transform:translate(2px,-2px)}
.text-link:hover .icon-down{transform:translateY(2px)}
.theme-toggle:hover{transform:none}

/* Cards: a surface step on hover, no lift, tilt or spotlight */
.service-card,.offer-card{transition:background .16s var(--ease),border-color .16s var(--ease)}
.service-card:hover,.offer-card:hover{transform:none;background:var(--surface-2)}
.offer-card.is-core:hover,.service-card.is-core:hover{background:#262628}
.offer-card.is-core,.service-card.is-core{border-color:rgba(255,255,255,.1)}
.service-top,.offer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:auto}

/* One line-icon set */
.service-icon,.offer-icon,.contact-method-icon{width:44px;height:44px;margin:0;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted);font-size:0}
.service-icon .icon,.offer-icon .icon,.contact-method-icon .icon{width:20px;height:20px}
.offer-card.is-core .offer-icon,.service-card.is-core .service-icon{border-color:#3a3a3c;color:#e6e6e6}
.contact-method-icon{margin-bottom:auto}
.offer-card h3{margin-top:40px}

/* Tags: small radius, regular weight */
.service-tags span,.offer-tags span,.team-tags span{border-radius:6px;font-size:12px;font-weight:500}
.offer-card.is-core .offer-tags span,.service-card.is-core .service-tags span{color:#bcbcbc;border-color:#3a3a3c}
.team-tags span{color:var(--muted)}

/* Numbers only where they mark a real sequence */
.step-number,.stage-number{font-weight:500;font-variant-numeric:tabular-nums;color:var(--muted)}
.stage-number{font-size:18px}
.step{grid-template-columns:20% 1fr}
.contact-prep-list span{color:#8a8a8c;font-weight:500;font-variant-numeric:tabular-nums}
.jump-links a span:first-child:not(:last-child){color:#8a8a8c;opacity:1;font-variant-numeric:tabular-nums}
.feature-points>div{grid-template-columns:150px 1fr;gap:20px}
.feature-points p{grid-column:auto}
.principle-grid article{min-height:0}
.principle-grid h3{margin-top:0}
.team-details h3{margin-top:0}
.hero-stats strong{font-size:36px;font-weight:500;letter-spacing:-.02em}
.hero-stats span{font-size:13px;font-weight:400;letter-spacing:0}

/* Ticker and directory strips: plain hairlines, a still dot between items */
.intro-band,.jump-band{background:#0f0f10;border-bottom-color:rgba(255,255,255,.07);box-shadow:none}
.marquee-group .band-symbol{display:inline-block;width:4px;height:4px;border-radius:50%;background:#5a5a5c}

/* Data-cleaning preview in place of the old decorative chart */
.feature-section{background:#141415}
.feature-visual.data-preview{min-height:0;margin:0;padding:24px;gap:16px;justify-content:flex-start;background:#1c1c1e;border:1px solid rgba(255,255,255,.08);overflow:visible}
.dc-caption{font-size:13px;color:#a8a8a8}
.dc-head{margin:0 0 6px;font-size:12px;color:#8a8a8c}
.dc-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums}
.dc-table th:nth-child(1){width:42%}.dc-table th:nth-child(2){width:36%}
.dc-table th{padding:0 10px 8px 0;text-align:left;font-size:12px;font-weight:500;color:#8a8a8c;border-bottom:1px solid rgba(255,255,255,.08)}
.dc-table td{padding:8px 10px 8px 0;border-bottom:1px solid rgba(255,255,255,.05);color:#e6e6e6;overflow-wrap:anywhere}
.dc-before td{color:#a8a8a8}
.dc-before .is-dup td{color:#6e6e70;text-decoration:line-through;text-decoration-color:rgba(255,255,255,.28)}
.dc-before .is-off{color:#d8d8d8;text-decoration:underline wavy rgba(242,163,58,.7);text-decoration-thickness:1px;text-underline-offset:4px}
.dc-table .dc-flag{color:#f2a33a}
.dc-step{display:flex;align-items:center;gap:10px;margin:0;font-size:13px;color:#a8a8a8}
.dc-step-icon{width:28px;height:28px;flex:none;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:50%;color:#e6e6e6}
.dc-step-icon .icon{width:14px;height:14px}

/* Motion: one curve, short fades and small rises */
.fx .reveal{transform:translateY(10px);transition:opacity .45s var(--ease) calc(var(--i,0)*50ms),transform .45s var(--ease) calc(var(--i,0)*50ms)}
.hero-copy>*,.page-hero>:not(.space-bg){animation-duration:.5s;animation-timing-function:var(--ease)}
.hero-art{animation-duration:.9s}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes galaxy-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.scroll-progress{height:2px}

@media(max-width:1000px){.feature-points>div{grid-template-columns:1fr;gap:6px}}
@media(max-width:720px){.step{grid-template-columns:40px 1fr}.hero-stats strong{font-size:30px}}
@media(max-width:430px){.feature-visual.data-preview{padding:16px}.dc-table{font-size:12px}}
