:root {
  --yellow:#f5c400;
  --ink:#171816;
  --paper:#f5f4ee;
  --muted:#585b52;
  --control-line:#85877f;
  --line:#d1d2c8;
  --panel:#e9e9e1;
  --dark-muted:#b7b9ae;
  --error:#a52d24;
  --success:#28563b;
  --font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Consolas,monospace;
  --gutter:32px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:28px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-sans); line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
button,a,summary { touch-action:manipulation; }
button,summary { cursor:pointer; }
button { color:inherit; }
img { display:block; max-width:100%; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid var(--ink); outline-offset:5px; }
input:focus,select:focus,textarea:focus { outline:2px solid var(--ink); outline-offset:3px; }
[hidden] { display:none!important; }
::selection { background:var(--ink); color:var(--yellow); }
h1,h2,h3,p,figure { margin:0; }
.shell { max-width:1344px; padding-inline:var(--gutter); margin-inline:auto; }
.micro { font-family:var(--font-mono); font-size:13px; font-weight:500; letter-spacing:1.1px; line-height:1.6; }
.skip-link { position:fixed; z-index:100; top:-100px; left:20px; padding:12px 20px; color:var(--ink); background:var(--yellow); }
.skip-link:focus { top:12px; }
.section-pad { padding-block:96px; }
.section-label { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:20px; border-bottom:1px solid var(--line); margin-bottom:48px; font:13px/1.4 var(--font-mono); letter-spacing:1.2px; }
.section-label>span:last-child { font:24px/1 var(--font-mono); }
.section-heading { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:48px; margin-bottom:56px; }
.section-heading h2,.capability-intro h2 { font-size:clamp(36px,4vw,48px); font-weight:700; letter-spacing:-2px; line-height:1.15; }
.section-heading>p { max-width:450px; font-size:14px; line-height:1.9; color:var(--muted); justify-self:end; }
.button { min-height:56px; display:inline-flex; align-items:center; justify-content:space-between; gap:28px; padding:16px 22px; border:1px solid transparent; border-radius:0; font-size:13px; line-height:1.5; font-weight:650; transition:background .18s,color .18s; }
.button-dark { color:var(--paper); background:var(--ink); }
.button-dark:hover { background:#363831; }
.button-yellow { color:var(--ink); background:var(--yellow); }
.button-yellow:hover { background:#e2b300; }
.button:disabled { opacity:.55; cursor:wait; }
.arrow { font-size:23px; line-height:1; font-weight:400; transition:transform .18s; }
.button:hover .arrow { transform:translate(3px,-3px); }
.text-link { display:inline-flex; align-items:center; gap:24px; font-size:13px; font-weight:600; padding-bottom:7px; border:0; border-bottom:1px solid currentColor; background:transparent; }
.text-link>span { font-size:20px; }

/* The JPEG is byte-for-byte source artwork. Only its Latin wordmark viewport is displayed. */
.brand { display:block; flex:none; }
.brand-mark { display:grid; place-items:center; width:164px; height:58px; background:var(--yellow); }
.brand-wordmark { position:relative; width:136px; aspect-ratio:768 / 142; overflow:hidden; }
.brand-source { position:absolute; width:122.14%; max-width:none; height:auto; left:-11.07%; top:-175.35%; filter:grayscale(1) brightness(.75) contrast(10); mix-blend-mode:multiply; }
.site-header { background:var(--ink); color:var(--paper); position:relative; z-index:40; }
.header-inner { height:88px; display:flex; align-items:center; gap:28px; }
.header-note { font:13px/1.65 var(--font-mono); letter-spacing:1.2px; max-width:105px; color:var(--dark-muted); }
.site-nav { display:flex; margin-left:auto; align-items:center; gap:28px; font-size:13px; }
.site-nav>a { padding-block:9px; }
.site-nav>a:hover { color:var(--yellow); }
.site-nav .language { padding-left:20px; border-left:1px solid #4b4d44; font-family:var(--font-mono); font-size:13px; }
.site-nav .nav-cta { display:inline-flex; align-items:center; gap:28px; padding:13px 18px; background:var(--yellow); color:var(--ink); font-size:13px; font-weight:650; }
.nav-cta span { font-size:19px; line-height:1; }
.site-nav .nav-cta:hover { background:var(--paper); color:var(--ink); }
.site-header :focus-visible,.capabilities-section :focus-visible { outline-color:var(--yellow); }
.menu-toggle { display:none; }

/* A full-width yellow editorial opening, followed by a horizontal forming sequence. */
.hero { background:var(--yellow); padding-block:32px 24px; overflow:hidden; }
.hero-meta { display:flex; justify-content:space-between; align-items:center; gap:24px; font:13px/1.6 var(--font-mono); letter-spacing:1.1px; padding-bottom:24px; border-bottom:1px solid #17181638; }
.hero-meta>span:last-child { display:flex; gap:22px; align-items:center; white-space:nowrap; }
.hero-meta>span:last-child>span { font-size:19px; }
.hero h1 { font-size:clamp(64px,7.1vw,96px); font-weight:750; letter-spacing:-5.5px; line-height:1.15; padding-block:36px 32px; }
.hero-lower { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.hero-actions { display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.hero-text-link { font-size:13px; font-weight:600; padding-block:9px; border-bottom:1px solid #17181670; white-space:nowrap; }
.hero-lower>p { max-width:425px; font-size:13px; line-height:1.9; }
.hero-figure { margin-top:20px; }
.hero-figure picture { display:block; }
.hero-figure img { width:100%; height:276px; object-fit:contain; }
.hero-figure figcaption { display:flex; justify-content:space-between; gap:24px; padding-top:4px; font:13px/1.7 var(--font-mono); letter-spacing:.6px; }
.starting-points { padding-block:36px 44px; background:var(--paper); }
.start-heading { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:24px; gap:20px; }
.start-heading h2 { font-size:18px; font-weight:650; letter-spacing:-.3px; }
.start-heading p { font-size:13px; color:var(--muted); }
.start-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); }
.start-link { display:grid; grid-template-columns:24px 1fr 18px; align-items:start; gap:10px; padding:24px 18px; min-width:0; transition:background .18s; }
.start-link+.start-link { border-left:1px solid var(--line); }
.start-link:hover { background:var(--yellow); }
.start-no { font:13px/1.7 var(--font-mono); margin-top:3px; }
.start-copy { display:flex; flex-direction:column; gap:8px; min-width:0; }
.start-copy strong { font-size:15px; font-weight:650; line-height:1.5; }
.start-copy>span { font-size:13px; color:var(--muted); line-height:1.7; }
.start-link:hover .start-copy>span { color:var(--ink); }
.start-arrow { font-size:22px; line-height:1; margin-top:2px; }

.capabilities-section { background:var(--ink); color:var(--paper); }
.capabilities-section .section-label { color:var(--yellow); border-color:#45473e; }
.capability-layout { display:grid; grid-template-columns:1fr 1.9fr; gap:72px; }
.capability-intro { min-width:0; align-self:start; position:sticky; top:40px; }
.capability-intro h2 { font-size:clamp(32px,3.4vw,48px); }
.capability-intro>p { color:var(--dark-muted); font-size:13px; line-height:1.95; margin-top:26px; max-width:330px; }
.capability-note { margin-top:44px; padding-top:20px; border-top:1px solid #45473e; }
.capability-note>.micro { color:var(--yellow); }
.capability-note p { font-size:13px; line-height:1.9; margin-top:9px; }
.capability-intro>.button { margin-top:30px; font-size:13px; padding-inline:18px; gap:24px; }
.capability-row { display:grid; grid-template-columns:32px 168px 1fr 44px; align-items:center; gap:20px; padding-block:26px; border-bottom:1px solid #45473e; }
.capability-row:first-child { padding-top:0; }
.cap-number { font:13px/1 var(--font-mono); color:var(--yellow); }
.cap-title h3 { font-size:24px; line-height:1.25; font-weight:550; letter-spacing:-.7px; }
.cap-title>span { display:block; color:var(--dark-muted); font:13px/1.8 var(--font-mono); letter-spacing:.8px; margin-top:10px; }
.capability-row>p { color:var(--dark-muted); font-size:13px; line-height:1.85; }
.technical-icon { width:44px; height:44px; stroke:var(--yellow); stroke-width:1.2; stroke-linecap:square; stroke-linejoin:miter; }
.capability-boundary { color:var(--dark-muted); font-size:13px; line-height:1.9; margin-top:23px; }

.process-section { background:var(--paper); }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.process-step { min-width:0; }
.process-top { height:46px; border-bottom:1px solid var(--control-line); display:flex; align-items:flex-start; justify-content:space-between; position:relative; margin-bottom:28px; }
.process-top>span:first-child { font:13px/1 var(--font-mono); }
.process-dot { width:9px; height:9px; background:var(--ink); position:absolute; bottom:-5px; left:0; }
.process-step h3 { font-size:25px; letter-spacing:-.6px; font-weight:650; line-height:1.3; }
.process-step>p { color:var(--muted); font-size:13px; line-height:1.85; margin-top:13px; }
.process-step .process-subtitle { font-size:13px; color:var(--ink); font-weight:550; margin-top:12px; }
.process-step details { margin-top:24px; border-block:1px solid var(--line); }
.process-step summary { display:flex; align-items:center; justify-content:space-between; gap:12px; list-style:none; font-size:13px; font-weight:600; padding:14px 0; }
.process-step summary::-webkit-details-marker { display:none; }
.process-step summary>span { font-size:20px; font-weight:400; }
.process-step details[open] summary>span { transform:rotate(45deg); }
.process-step details>p { margin:0 0 17px; font-size:13px; line-height:1.9; color:var(--muted); }

.project-section { background:var(--panel); border-top:1px solid var(--line); }
.project-desk { display:grid; grid-template-columns:.8fr 1.2fr; border:1px solid var(--control-line); }
.project-guidance { padding:36px; min-width:0; }
.project-guidance>.micro { color:var(--muted); }
.stage-tabs { display:flex; flex-direction:column; margin-block:23px 32px; border-top:1px solid var(--control-line); }
.stage-tab { display:grid; grid-template-columns:28px 1fr 20px; gap:12px; align-items:center; text-align:left; border:0; border-bottom:1px solid var(--control-line); background:transparent; color:var(--ink); padding:16px 15px; font-size:15px; min-height:60px; }
.stage-number { font:13px/1 var(--font-mono); }
.stage-arrow { font-size:19px; line-height:1; }
.stage-tab[aria-selected=true] { color:var(--yellow); background:var(--ink); }
.stage-tab:hover:not([aria-selected=true]) { background:#dcddd2; }
.stage-panel h3 { font-size:25px; font-weight:650; line-height:1.45; letter-spacing:-.5px; margin-bottom:16px; }
.stage-panel>p,.stage-preparation>p { font-size:13px; color:var(--muted); line-height:1.95; }
.stage-preparation { margin-top:27px; padding-top:20px; border-top:1px solid var(--line); }
.stage-preparation>.micro { display:block; margin-bottom:10px; color:var(--ink); }
.stage-panel .text-link { margin-top:25px; }
.desk-aside { color:var(--muted); font-size:13px; line-height:1.9; padding-top:28px; margin-top:36px; border-top:1px solid var(--line); }
.inquiry-form-area { min-width:0; background:var(--paper); border-left:1px solid var(--control-line); padding:36px; }
#inquiry-form { scroll-margin-top:24px; }
.form-heading { display:flex; align-items:center; gap:15px; border-bottom:1px solid var(--ink); padding-bottom:22px; margin-bottom:29px; }
.form-cross { font:32px/1 var(--font-mono); }
.form-heading h3 { font-size:24px; font-weight:650; letter-spacing:-.6px; }
.form-heading>span:last-child { margin-left:auto; font-size:13px; color:var(--muted); white-space:nowrap; }
fieldset { padding:0; border:0; margin:0 0 30px; min-width:0; }
legend { display:flex; align-items:center; gap:12px; font-size:13px; font-weight:600; padding:0; margin-bottom:18px; width:100%; }
legend>span { font:13px/1 var(--font-mono); display:inline-flex; align-items:center; justify-content:center; background:var(--yellow); width:25px; height:25px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:21px 18px; }
.field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.field.full { grid-column:1/-1; }
.field label { font-size:13px; font-weight:500; line-height:1.65; }
.field label small { font-size:13px; color:var(--muted); font-weight:400; }
.field input,.field select,.field textarea { width:100%; color:var(--ink); background:transparent; border:1px solid var(--control-line); border-radius:0; padding:12px 13px; min-height:49px; font-size:13px; }
.field input::placeholder,.field textarea::placeholder { color:var(--muted); opacity:1; font-size:13px; }
.field textarea { line-height:1.8; resize:vertical; min-height:140px; }
.description-meta { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.field-hint { color:var(--muted); font-size:13px; line-height:1.7; }
#description-count { white-space:nowrap; }
.form-trap { position:absolute!important; left:-10000px!important; top:auto; width:1px; height:1px; overflow:hidden; }
.consent { display:flex; gap:11px; font-size:13px; line-height:1.8; color:var(--muted); margin-bottom:23px; }
.consent input { appearance:auto; accent-color:var(--ink); width:16px; height:16px; margin:3px 0 0; flex:none; }
.consent a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.submit-row { display:flex; flex-direction:column; gap:15px; }
.submit-row .button { width:100%; font-size:14px; min-height:59px; }
.secure-note { color:var(--muted); font-size:13px; line-height:1.8; }
.form-status { margin-top:17px; font-size:13px; line-height:1.9; white-space:pre-line; overflow-wrap:anywhere; }
.form-status[data-state=error] { color:var(--error); }
.success-panel { min-width:0; max-width:100%; }
.success-icon { display:flex; align-items:center; justify-content:center; width:64px; height:64px; margin-bottom:26px; background:var(--yellow); font-size:35px; }
.success-panel h3 { font-size:37px; line-height:1.2; font-weight:650; letter-spacing:-1px; margin-bottom:22px; }
.success-panel>p { color:var(--muted); font-size:14px; line-height:1.95; }
.success-panel .success-reference { font-family:var(--font-mono); font-size:20px; color:var(--ink); white-space:normal; word-break:break-word; overflow-wrap:anywhere; padding-block:24px; border-block:1px solid var(--control-line); margin-block:30px; }
.previous-reference { color:var(--muted); font-size:13px; line-height:1.8; margin-top:24px; padding-top:18px; border-top:1px solid var(--line); overflow-wrap:anywhere; }

.faq-section { background:var(--paper); }
.faq-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; }
.faq-intro h2 { font-size:40px; line-height:1.2; letter-spacing:-1.6px; font-weight:650; max-width:350px; }
.faq-intro>p { font-size:14px; color:var(--muted); line-height:1.9; margin-top:24px; }
.faq-intro .direct-contact { margin-top:44px; padding-top:24px; border-top:1px solid var(--line); }
.direct-contact>.micro { color:var(--muted); }
.contact-phone { display:flex; justify-content:space-between; gap:18px; margin-top:10px; font-size:24px; font-weight:600; letter-spacing:-.8px; line-height:1.5; }
.contact-phone>span { font-weight:400; }
.wechat-line { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:19px; font-size:13px; }
.wechat-line>.micro { color:var(--muted); }
.wechat-line>strong { font-weight:600; font-size:14px; }
.copy-wechat { border:1px solid var(--control-line); padding:5px 9px; background:transparent; border-radius:0; font-size:13px; line-height:1.5; }
.copy-wechat:hover { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.copy-status { font-size:13px; line-height:1.8; margin-top:10px; }
.copy-status:empty { display:none; }
.faq-list { border-top:1px solid var(--control-line); }
.faq-list details { border-bottom:1px solid var(--control-line); }
.faq-list summary { display:grid; grid-template-columns:28px 1fr 24px; gap:20px; padding-block:25px; align-items:center; list-style:none; font-size:15px; font-weight:550; line-height:1.65; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-no { font:13px/1 var(--font-mono); color:var(--muted); }
.faq-plus { font-size:25px; line-height:1; font-weight:400; }
.faq-list details[open] .faq-plus { transform:rotate(45deg); }
.faq-list details>p { padding:0 40px 26px 48px; color:var(--muted); font-size:13px; line-height:1.9; }

.site-footer { background:var(--yellow); color:var(--ink); padding-top:56px; }
.footer-top { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.footer-top h2 { font-size:38px; letter-spacing:-1.5px; font-weight:650; line-height:1.25; }
.footer-contact { justify-self:end; min-width:0; }
.footer-phone { display:flex; align-items:center; gap:40px; font-size:29px; font-weight:650; letter-spacing:-1px; margin-top:10px; line-height:1.4; }
.footer-phone>span { font-weight:400; }
.footer-wechat { display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin-top:15px; font-size:13px; }
.footer-wechat strong { font-weight:650; }
.footer-wechat .copy-wechat { border-color:#17181670; }
.footer-wechat .copy-status { flex-basis:100%; margin:0; }
.footer-wordmark { display:block; margin-top:20px; }
.footer-wordmark .brand-mark { width:100%; height:auto; aspect-ratio:3.205; }
.footer-wordmark .brand-wordmark { width:84.4%; }
.footer-grid { display:grid; grid-template-columns:1.3fr 1.1fr .6fr; gap:40px; border-top:1px solid #17181670; padding-block:30px 35px; }
.footer-company { font-size:13px; font-weight:600; line-height:1.7; }
.footer-tag { font:13px/1.8 var(--font-mono); letter-spacing:.4px; margin-top:13px; }
.footer-grid address { font-size:13px; line-height:1.8; font-style:normal; }
.footer-address-note { font-size:13px; line-height:1.7; margin-top:8px; }
.footer-links { display:flex; flex-direction:column; gap:12px; align-items:flex-end; font-size:13px; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid #17181638; padding-block:20px; font:13px/1.6 var(--font-mono); letter-spacing:.7px; }
.mobile-cta { display:none; }

.legal-mast { background:var(--yellow); padding-block:56px 64px; }
.legal-mast h1 { font-size:64px; line-height:1.15; font-weight:700; letter-spacing:-3px; margin-top:24px; }
.legal-mast p { max-width:680px; margin-top:24px; font-size:15px; line-height:1.9; }
.legal-content { padding-block:72px 88px; display:grid; grid-template-columns:.6fr 1.4fr; gap:80px; }
.legal-content>aside { display:flex; flex-direction:column; align-items:flex-start; gap:28px; }
.legal-content .micro { max-width:220px; }
.legal-sections { min-width:0; }
.legal-sections section { padding-block:26px; border-top:1px solid var(--line); }
.legal-sections section:first-child { padding-top:0; border:0; }
.legal-sections h2 { font-size:23px; font-weight:650; margin-bottom:16px; }
.legal-sections p { color:var(--muted); font-size:14px; line-height:1.95; margin-top:12px; }
.not-found { padding-block:80px 96px; background:var(--yellow); }
.not-found h1 { font-size:76px; font-weight:700; letter-spacing:-3px; line-height:1.15; margin-block:28px; }
.not-found p { max-width:630px; font-size:14px; line-height:1.9; margin-top:12px; }
.not-found .hero-actions { margin-top:32px; }
.lang-en .hero h1 { font-size:clamp(54px,6.4vw,88px); line-height:1.04; letter-spacing:-4.5px; }
.lang-en .hero-lower>p { max-width:400px; font-size:13px; }
.lang-en .capability-intro h2 { font-size:clamp(31px,3.2vw,44px); }
.lang-en .cap-title h3 { font-size:20px; letter-spacing:-.6px; }
.lang-en .capability-row { grid-template-columns:25px 165px 1fr 40px; gap:16px; }
.lang-en .process-step h3 { font-size:22px; min-height:58px; }
.lang-en .footer-company { font-size:13px; }
.lang-en .stage-panel h3 { font-size:25px; line-height:1.3; }
.lang-en .contact-phone { font-size:23px; }

@media(max-width:1100px) {
  :root { --gutter:24px; }
  .header-note { display:none; }
  .site-nav { gap:23px; }
  .hero h1 { font-size:80px; }
  .hero-lower>p { max-width:375px; font-size:13px; }
  .hero-actions { gap:20px; }
  .hero-figure img { height:250px; }
  .capability-layout { gap:40px; grid-template-columns:1fr 1.8fr; }
  .capability-intro h2 { font-size:39px; }
  .capability-row { grid-template-columns:24px 125px 1fr 37px; gap:14px; }
  .cap-title h3 { font-size:22px; }
  .technical-icon { width:37px; height:37px; }
  .lang-en .capability-row { grid-template-columns:23px 133px 1fr 32px; gap:13px; }
  .lang-en .cap-title h3 { font-size:18px; }
  .lang-en .capability-intro>.button { font-size:13px; gap:14px; }
  .capability-row>p { font-size:13px; }
  .start-link { padding-inline:13px; grid-template-columns:20px 1fr 16px; gap:7px; }
  .start-copy strong { font-size:13px; }
  .start-copy>span { font-size:13px; }
  .project-guidance,.inquiry-form-area { padding:28px; }
  .process-grid { gap:24px; }
  .faq-layout { gap:48px; }
  .faq-intro h2 { font-size:34px; }
  .contact-phone { font-size:22px; }
  .footer-top h2 { font-size:34px; }
  .footer-phone { font-size:26px; gap:24px; }
}
@media(max-width:900px) {
  .section-pad { padding-block:72px; }
  .section-label { margin-bottom:36px; font-size:13px; }
  .section-heading { gap:30px; margin-bottom:40px; }
  .section-heading h2 { font-size:39px; letter-spacing:-1.5px; }
  .section-heading>p { font-size:13px; }
  .header-inner { height:78px; justify-content:space-between; }
  .brand-mark { width:146px; height:50px; }
  .brand-wordmark { width:120px; }
  .menu-toggle { display:flex; align-items:center; gap:14px; background:none; border:0; padding:10px 0 10px 14px; font-size:13px; color:var(--paper); }
  .menu-lines { width:21px; height:12px; border-block:1px solid var(--paper); display:block; }
  .menu-toggle[aria-expanded=true] .menu-lines { height:0; transform:rotate(-45deg); border-bottom:0; }
  .site-nav { display:none; position:absolute; left:0; right:0; top:78px; margin:0; background:var(--ink); padding:16px var(--gutter) 26px; flex-direction:column; align-items:stretch; gap:4px; border-top:1px solid #45473e; }
  .site-nav.is-open { display:flex; }
  .site-nav>a { padding-block:14px; }
  .site-nav .language { border:0; padding-left:0; }
  .site-nav .nav-cta { justify-content:space-between; margin-top:6px; }
  .hero { padding-top:24px; }
  .hero-meta { padding-bottom:20px; font-size:13px; gap:16px; }
  .hero-meta>span:last-child { gap:10px; }
  .hero h1 { font-size:64px; letter-spacing:-3.2px; padding-block:30px; }
  .hero-lower { align-items:flex-start; gap:28px; }
  .hero-actions { gap:15px; }
  .hero-actions .button { padding-inline:17px; font-size:13px; gap:22px; }
  .hero-text-link { font-size:13px; }
  .hero-lower>p { max-width:290px; font-size:13px; }
  .hero-figure { margin-top:20px; }
  .hero-figure img { height:210px; }
  .hero-figure figcaption { font-size:13px; }
  .start-grid { grid-template-columns:1fr 1fr; }
  .start-link { padding:20px; gap:13px; grid-template-columns:22px 1fr 20px; }
  .start-link:nth-child(3) { border-left:0; }
  .start-link:nth-child(n+3) { border-top:1px solid var(--line); }
  .start-copy strong { font-size:15px; }
  .start-copy>span { font-size:13px; }
  .capability-layout { grid-template-columns:1fr; gap:40px; }
  .capability-intro { position:static; display:grid; grid-template-columns:1fr 1fr; gap:24px 36px; align-items:start; }
  .capability-intro h2 { font-size:42px; }
  .capability-intro>p { margin:0; max-width:100%; font-size:13px; }
  .capability-note { display:none; }
  .capability-intro>.button { margin:0; grid-column:2; justify-self:start; }
  .capability-row,.lang-en .capability-row { grid-template-columns:30px 180px 1fr 44px; gap:18px; padding-block:23px; }
  .cap-title h3 { font-size:23px; }
  .capability-row>p { font-size:13px; }
  .technical-icon { width:44px; height:44px; }
  .process-grid { grid-template-columns:1fr 1fr; gap:36px 30px; }
  .process-step h3 { font-size:24px; }
  .lang-en .process-step h3 { min-height:0; }
  .process-top { margin-bottom:20px; height:34px; }
  .project-desk { grid-template-columns:.9fr 1.1fr; }
  .project-guidance,.inquiry-form-area { padding:23px; }
  .project-guidance>.micro { font-size:13px; }
  .stage-tab { font-size:13px; grid-template-columns:21px 1fr 16px; gap:9px; padding-inline:12px; }
  .stage-panel h3 { font-size:22px; }
  .stage-panel>p,.stage-preparation>p { font-size:13px; }
  .stage-preparation>.micro { font-size:13px; }
  .form-heading { flex-wrap:wrap; gap:10px; padding-bottom:19px; margin-bottom:25px; }
  .form-heading h3 { font-size:23px; }
  .form-heading>span:last-child { flex-basis:100%; padding-left:33px; }
  .form-grid { grid-template-columns:1fr; gap:18px; }
  .field input,.field select,.field textarea { font-size:16px; }
  .description-meta { flex-direction:column; gap:4px; }
  .success-panel h3 { font-size:30px; }
  .success-panel .success-reference { font-size:17px; }
  .faq-layout { grid-template-columns:1fr; gap:38px; }
  .faq-intro { display:grid; grid-template-columns:1fr 1fr; column-gap:40px; }
  .faq-intro h2 { max-width:100%; font-size:35px; }
  .faq-intro>p { font-size:13px; margin-top:16px; }
  .faq-intro .direct-contact { margin:0; padding:0; border:0; grid-column:2; grid-row:1/3; }
  .contact-phone { font-size:23px; }
  .faq-list summary { font-size:14px; }
  .footer-top { gap:30px; }
  .footer-top h2 { font-size:28px; }
  .footer-phone { font-size:23px; gap:16px; }
  .footer-contact>.micro { font-size:13px; }
  .footer-wechat { gap:10px; font-size:13px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:24px 32px; }
  .footer-links { grid-column:1/-1; flex-direction:row; align-items:flex-start; justify-content:space-between; }
  .footer-bottom { padding-bottom:88px; }
  .mobile-cta { position:fixed; bottom:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; padding:15px var(--gutter) max(15px,env(safe-area-inset-bottom)); background:var(--ink); color:var(--yellow); z-index:50; border-top:1px solid #45473e; font-size:13px; font-weight:600; }
  .mobile-cta>span:last-child { font-size:22px; font-weight:400; line-height:1; }
  .mobile-cta:focus-visible { outline-color:var(--yellow); outline-offset:-5px; }
  .legal-content { grid-template-columns:.6fr 1.4fr; gap:38px; padding-block:56px; }
  .legal-content .micro { font-size:13px; }
  .legal-content .text-link { font-size:13px; }
  .legal-mast h1 { font-size:54px; }
  .not-found h1 { font-size:62px; }
  .lang-en .hero h1 { font-size:57px; letter-spacing:-2.8px; }
  .lang-en .hero-lower>p { font-size:13px; max-width:290px; }
  .lang-en .capability-intro h2 { font-size:39px; }
}
@media(max-width:600px) {
  :root { --gutter:20px; }
  .section-pad { padding-block:56px; }
  .section-label { padding-bottom:16px; margin-bottom:30px; font-size:13px; letter-spacing:.9px; }
  .section-heading { grid-template-columns:1fr; gap:20px; margin-bottom:32px; }
  .section-heading h2 { font-size:37px; }
  .section-heading>p { justify-self:start; max-width:100%; font-size:13px; }
  .hero-meta { font-size:13px; letter-spacing:.5px; padding-bottom:17px; }
  .hero-meta>span:first-child { max-width:230px; }
  .hero-meta>span:last-child { font-size:13px; }
  .hero-meta>span:last-child>span { display:none; }
  .hero h1 { font-size:clamp(34px,9.5vw,55px); line-height:1.2; letter-spacing:-2px; padding-block:29px 23px; }
  .hero-lower { flex-direction:column-reverse; gap:24px; }
  .hero-lower>p { max-width:100%; font-size:13px; }
  .hero-actions { gap:20px; }
  .hero-actions .button { min-height:52px; padding:14px 17px; gap:22px; }
  .hero-text-link { font-size:13px; }
  .hero-figure { margin-top:18px; }
  .hero-figure img { height:auto; max-height:225px; aspect-ratio:560 / 245; }
  .hero-figure figcaption { flex-direction:column; gap:7px; font-size:13px; letter-spacing:.25px; }
  .hero-figure figcaption>span:first-child { display:none; }
  .starting-points { padding-block:30px 36px; }
  .start-heading { margin-bottom:19px; align-items:flex-start; flex-direction:column; gap:5px; }
  .start-heading h2 { font-size:18px; }
  .start-heading p { font-size:13px; }
  .start-link { grid-template-columns:1fr 18px; padding:17px 13px; gap:12px 6px; }
  .start-no { grid-column:1; font-size:13px; margin:0; }
  .start-copy { grid-column:1/3; grid-row:2; gap:5px; }
  .start-copy strong { font-size:14px; }
  .start-copy>span { font-size:13px; }
  .start-arrow { grid-column:2; grid-row:1; font-size:18px; margin:0; }
  .capability-intro { display:block; }
  .capability-intro h2 { font-size:39px; }
  .capability-intro>p { margin-top:23px; font-size:13px; }
  .capability-intro>.button { margin-top:25px; }
  .capability-layout { gap:36px; }
  .capability-row,.lang-en .capability-row { grid-template-columns:23px 1fr 43px; gap:12px 16px; padding-block:22px; }
  .cap-number { align-self:start; padding-top:5px; font-size:13px; }
  .cap-title { grid-column:2; }
  .cap-title h3,.lang-en .cap-title h3 { font-size:23px; }
  .cap-title>span { margin-top:5px; font-size:13px; }
  .capability-row>p { grid-column:2/4; font-size:13px; }
  .technical-icon { grid-column:3; grid-row:1; width:40px; height:40px; }
  .capability-boundary { font-size:13px; }
  .process-grid { gap:30px 22px; }
  .process-step h3 { font-size:22px; }
  .process-step>p { font-size:13px; }
  .process-step .process-subtitle { font-size:13px; line-height:1.7; }
  .process-step details { margin-top:18px; }
  .process-step summary { font-size:13px; padding-block:12px; }
  .process-step details>p { font-size:13px; }
  .project-desk { grid-template-columns:1fr; }
  .project-guidance { padding:24px 22px 27px; }
  .stage-tabs { display:grid; grid-template-columns:1fr 1fr; margin-block:19px 26px; border-left:1px solid var(--control-line); }
  .stage-tab { padding:13px 10px; min-height:54px; font-size:13px; grid-template-columns:18px 1fr; gap:9px; border-right:1px solid var(--control-line); }
  .stage-arrow { display:none; }
  .stage-panel h3 { font-size:23px; }
  .stage-panel>p { font-size:13px; }
  .stage-preparation { padding-top:16px; margin-top:20px; }
  .stage-panel .text-link { margin-top:20px; font-size:13px; }
  .desk-aside { display:none; }
  .inquiry-form-area { padding:26px 22px 30px; border-left:0; border-top:1px solid var(--control-line); }
  .form-heading { flex-wrap:nowrap; gap:11px; }
  .form-heading h3 { font-size:23px; }
  .form-heading>span:last-child { flex-basis:auto; padding:0; font-size:13px; }
  .form-cross { font-size:27px; }
  .form-grid { grid-template-columns:1fr 1fr; gap:20px 15px; }
  .field { grid-column:1/-1; }
  .description-meta { flex-direction:row; gap:12px; }
  .field input,.field select,.field textarea { padding-inline:12px; }
  .consent { font-size:13px; }
  .submit-row .button { min-height:56px; font-size:13px; }
  .success-panel h3 { font-size:30px; }
  .success-panel>p { font-size:13px; }
  .faq-intro { display:block; }
  .faq-intro h2 { font-size:35px; }
  .faq-intro>p { font-size:13px; margin-top:19px; }
  .faq-intro .direct-contact { margin-top:28px; padding-top:23px; border-top:1px solid var(--line); }
  .contact-phone,.lang-en .contact-phone { font-size:25px; max-width:345px; }
  .wechat-line { gap:14px; }
  .faq-layout { gap:32px; }
  .faq-list summary { grid-template-columns:22px 1fr 18px; gap:12px; padding-block:22px; font-size:13px; }
  .faq-no { font-size:13px; }
  .faq-plus { font-size:22px; }
  .faq-list details>p { padding:0 24px 23px 34px; font-size:13px; }
  .site-footer { padding-top:37px; }
  .footer-top { grid-template-columns:1fr; gap:30px; }
  .footer-top h2 { font-size:32px; }
  .footer-contact { justify-self:start; width:100%; }
  .footer-phone { font-size:26px; justify-content:space-between; gap:10px; }
  .footer-wechat { gap:13px; font-size:13px; }
  .footer-wordmark { margin-top:24px; }
  .footer-grid { grid-template-columns:1fr; gap:24px; padding-block:24px; }
  .footer-company { font-size:13px; }
  .footer-tag { font-size:13px; margin-top:9px; }
  .footer-grid address { font-size:13px; }
  .footer-address-note { font-size:13px; }
  .footer-links { grid-column:auto; font-size:13px; padding-top:3px; }
  .footer-bottom { font-size:13px; padding-top:16px; }
  .legal-mast { padding-block:35px 44px; }
  .legal-mast h1 { font-size:45px; letter-spacing:-2px; margin-top:22px; }
  .legal-mast p { font-size:13px; margin-top:22px; }
  .legal-content { grid-template-columns:1fr; gap:35px; padding-block:38px 54px; }
  .legal-content>aside { gap:14px; }
  .legal-content .micro { max-width:none; }
  .legal-sections h2 { font-size:22px; }
  .legal-sections p { font-size:13px; }
  .not-found { padding-block:50px 64px; }
  .not-found h1 { font-size:49px; letter-spacing:-2px; }
  .not-found p { font-size:13px; }
  .not-found .hero-actions { margin-top:28px; }
  .lang-en .hero h1 { font-size:clamp(35px,10.1vw,56px); line-height:1.08; letter-spacing:-1.9px; }
  .lang-en .hero-lower>p { max-width:100%; font-size:13px; }
  .lang-en .hero-actions { gap:16px; }
  .lang-en .hero-actions .button { font-size:13px; gap:13px; }
  .lang-en .hero-text-link { font-size:13px; }
  .lang-en .capability-intro h2 { font-size:38px; }
  .lang-en .process-step h3 { font-size:20px; min-height:52px; }
  .lang-en .stage-panel h3 { font-size:24px; }
  .lang-en .form-heading h3 { font-size:22px; }
  .lang-en .start-copy strong { font-size:13px; }
}
@media(max-width:360px) {
  .hero-meta>span:first-child { max-width:170px; }
  .hero-meta { font-size:13px; }
  .hero h1 { font-size:34px; letter-spacing:-1.5px; }
  .hero-actions { gap:12px; }
  .hero-actions .button { font-size:13px; padding-inline:13px; gap:16px; }
  .hero-text-link { font-size:13px; }
  .section-heading h2 { font-size:33px; }
  .project-guidance,.inquiry-form-area { padding-inline:18px; }
  .form-heading h3 { font-size:21px; }
  .form-heading>span:last-child { font-size:13px; }
  .stage-tab { font-size:13px; gap:5px; }
  .contact-phone,.lang-en .contact-phone { font-size:22px; }
  .footer-phone { font-size:23px; }
  .lang-en .hero h1 { font-size:34px; letter-spacing:-1.8px; }
  .lang-en .form-heading h3 { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}

/* Readable typography and touch targets are shared across both languages. */
.hero-lower>p,.lang-en .hero-lower>p,.capability-intro>p,.capability-row>p,
.process-step>p,.process-step .process-subtitle,.process-step details>p,
.stage-panel>p,.stage-preparation>p,.faq-intro>p,.faq-list details>p,
.legal-mast p,.legal-sections p,.not-found p,.section-heading>p {
  font-size:16px;
  line-height:1.8;
}
.start-copy strong,.start-copy>span,.lang-en .start-copy strong,
.stage-tab,.field label,.site-nav,.site-nav .language,.site-nav .nav-cta,
.button,.hero-actions .button,.lang-en .hero-actions .button,
.capability-intro>.button,.lang-en .capability-intro>.button,
.hero-text-link,.lang-en .hero-text-link,.text-link,.stage-panel .text-link,
.process-step summary,.faq-list summary,.copy-wechat,.footer-links,
.menu-toggle,.mobile-cta {
  font-size:14px;
}
.field input,.field select,.field textarea { font-size:16px; }
.field input::placeholder,.field textarea::placeholder { font-size:14px; }
.consent { font-size:13px; line-height:1.8; }
.copy-wechat,.hero-text-link,.text-link,.site-nav>a,
.footer-links>a,.footer-wechat>strong { min-height:44px; display:inline-flex; align-items:center; }
.menu-toggle { min-height:44px; }
.copy-wechat { padding:9px 12px; }
.site-nav .nav-cta { min-height:48px; }
.hero-meta { font-size:13px; letter-spacing:.4px; }
.hero-figure figcaption { font-size:13px; }
.cap-title>span { font-size:13px; letter-spacing:.2px; }
.cap-title h3,.lang-en .cap-title h3 { font-size:24px; }
.capability-row { grid-template-columns:32px 165px 1fr 44px; }
.lang-en .capability-row { grid-template-columns:28px 178px 1fr 40px; }
.capability-row>p { font-size:16px; }
.capability-boundary,.field-hint,.secure-note,.footer-tag,.footer-address-note,
.footer-bottom,.footer-company,.lang-en .footer-company,.form-heading>span:last-child,
.field label small,.micro { font-size:13px; }
.faq-list summary { font-size:16px; }
.footer-grid address { font-size:14px; }
.footer-wechat { font-size:14px; }
.form-status[data-state=success],.success-icon { color:var(--success); }
@media(max-width:1100px) {
  .capability-layout { grid-template-columns:1fr 1.7fr; gap:32px; }
  .capability-row,.lang-en .capability-row { grid-template-columns:24px 145px 1fr; gap:16px; }
  .technical-icon { display:none; }
  .hero-lower>p,.lang-en .hero-lower>p { max-width:400px; }
  .hero-lower { align-items:flex-start; }
  .hero-actions { gap:14px; }
}
@media(max-width:900px) {
  .capability-layout { grid-template-columns:1fr; }
  .capability-row,.lang-en .capability-row { grid-template-columns:28px 175px 1fr 44px; }
  .technical-icon { display:block; }
  .hero-meta>span:last-child { font-size:13px; }
  .hero-lower { gap:28px; }
  .hero-lower>p,.lang-en .hero-lower>p { max-width:340px; }
  .hero-actions { flex-direction:column; align-items:flex-start; }
  .section-heading h2,.capability-intro h2,.lang-en .capability-intro h2 { font-size:38px; }
  .stage-tab { font-size:14px; }
  .project-desk { grid-template-columns:1fr; }
  .project-guidance { padding:28px; }
  .stage-tabs { display:grid; grid-template-columns:1fr 1fr; border-left:1px solid var(--control-line); }
  .stage-tab { border-right:1px solid var(--control-line); }
  .inquiry-form-area { border-left:0; border-top:1px solid var(--control-line); padding:30px; }
  .form-grid { grid-template-columns:1fr 1fr; }
  .form-heading>span:last-child { flex-basis:auto; padding-left:0; }
  .description-meta { flex-direction:row; }
  .desk-aside { display:none; }
}
@media(max-width:600px) {
  .hero-meta { flex-direction:column; align-items:flex-start; gap:10px; font-size:13px; }
  .hero-meta>span:first-child { max-width:100%; }
  .hero-meta>span:last-child { font-size:13px; }
  .hero h1 { font-size:clamp(38px,10.3vw,48px); line-height:1.15; letter-spacing:-2px; }
  .lang-en .hero h1 { font-size:clamp(38px,10.3vw,48px); line-height:1.1; letter-spacing:-2px; }
  .hero-lower>p,.lang-en .hero-lower>p { max-width:100%; font-size:16px; }
  .hero-actions { flex-direction:row; align-items:center; gap:12px 20px; }
  .hero-actions .button,.lang-en .hero-actions .button { font-size:14px; min-height:56px; }
  .hero-text-link,.lang-en .hero-text-link { font-size:14px; }
  .hero-figure figcaption { font-size:13px; }
  .section-heading h2,.capability-intro h2,.lang-en .capability-intro h2,
  .faq-intro h2,.footer-top h2 { font-size:32px; line-height:1.2; letter-spacing:-1px; }
  .capability-row,.lang-en .capability-row { grid-template-columns:24px 1fr 44px; }
  .capability-row>p { grid-column:2/4; }
  .technical-icon { grid-column:3; grid-row:1; }
  .cap-title>span { font-size:13px; }
  .process-grid { grid-template-columns:1fr; gap:32px; }
  .process-step h3,.lang-en .process-step h3 { font-size:28px; min-height:0; }
  .process-step>p,.process-step .process-subtitle,.process-step details>p { font-size:16px; }
  .process-step summary { font-size:14px; min-height:48px; }
  .project-guidance,.inquiry-form-area { padding:24px 20px; }
  .stage-tab { font-size:14px; grid-template-columns:18px 1fr; gap:9px; }
  .stage-panel h3,.lang-en .stage-panel h3 { font-size:26px; }
  .form-heading { flex-wrap:wrap; }
  .form-heading>span:last-child { font-size:13px; flex-basis:100%; padding-left:0; }
  .form-grid { grid-template-columns:1fr; }
  .field label { font-size:14px; }
  .field input,.field select,.field textarea { font-size:16px; }
  .consent { font-size:13px; }
  .description-meta { flex-direction:column; gap:7px; }
  .faq-list summary { font-size:16px; gap:10px; }
  .faq-list details>p { padding-left:0; padding-right:0; font-size:16px; }
  .start-copy strong,.lang-en .start-copy strong { font-size:16px; }
  .start-copy>span { font-size:14px; }
  .footer-tag,.footer-address-note,.footer-bottom,.footer-company,.lang-en .footer-company { font-size:13px; }
  .footer-grid address { font-size:14px; }
  .footer-bottom { flex-direction:column; gap:12px; }
  .footer-links { flex-wrap:wrap; gap:12px 24px; }
}
