/* Home only. Other pages keep their existing content and scene styling. */
body[data-page="home"] {
    color-scheme:light;
    --c-text:var(--brand-ink); --c-text-soft:var(--brand-muted);
    --c-text-muted:var(--brand-muted); --c-primary:var(--brand-blue);
    color:var(--brand-ink); background:var(--brand-paper); font-family:var(--brand-font);
    overflow-x:clip;
}
body[data-page="home"] > :is(#header,#navbar,main,#footer) { opacity:1; }
.home-main { padding-top:var(--header-h); }
.home-main *, .home-main *::before, .home-main *::after { box-sizing:border-box; }
.home-shell { width:min(calc(100% - 80px),1240px); margin-inline:auto; }
.home-main h1, .home-main h2, .home-main h3 { color:inherit; text-wrap:balance; }
.home-main h1 { max-width:none; margin:0; font-size:clamp(42px,4.15vw,60px); line-height:1.35; letter-spacing:-.035em; font-weight:650; }
.home-main h1 > span { display:block; }
.home-main h2 { margin:0; max-width:none; font-size:clamp(28px,3vw,40px); line-height:1.5; letter-spacing:-.035em; font-weight:650; white-space:pre-line; }
.home-main h3 { font-size:22px; font-weight:650; line-height:1.5; letter-spacing:-.015em; }
.home-main p { font-size:15px; line-height:1.9; }
.home-main a { text-decoration:none; }
.home-main a:focus-visible, .home-main button:focus-visible { outline:2px solid #7593ff; outline-offset:5px; }
.home-main svg { display:block; width:32px; height:32px; flex-shrink:0; }
.home-main .home-kicker, .home-main .section-label { font-size:12px; font-weight:600; line-height:1.5; letter-spacing:.12em; margin:0 0 24px; }
.home-main .section-label { color:var(--brand-blue); }
.home-hero { background:var(--brand-navy); color:#fff; position:relative; }
.hero-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:48px; padding-top:52px; padding-bottom:38px; position:relative; }
.home-hero-copy { min-width:0; }
.home-main .home-kicker { color:#b4c5f6; display:flex; align-items:center; gap:12px; }
.home-kicker::before { content:""; width:26px; height:1px; background:#7593ff; flex-shrink:0; }
.home-hero .hero-accent { color:#9bb4ff; }
.home-main .home-lead { color:#d2dbee; font-size:16px; line-height:1.9; margin:24px 0 0; max-width:535px; }
.home-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; margin-top:32px; }
.home-button { min-height:52px; display:inline-flex; justify-content:space-between; align-items:center; gap:32px; padding:13px 22px; border-radius:4px; font-size:14px; font-weight:600; line-height:1.5; border:1px solid transparent; transition:background .18s ease; }
.home-button > span[aria-hidden] { font-size:21px; line-height:1; }
.home-button.primary { color:#fff; background:var(--brand-blue); border-color:#6480dc; }
.home-button.primary:hover { background:#2647ba; }
.home-button.light { color:var(--brand-navy); background:#fff; }
.home-button.light:hover { background:#e5ecff; }
.home-text-link { color:#e1e7f5; font-size:13px; display:inline-flex; align-items:center; gap:16px; min-height:44px; }
.home-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.home-main .preparation-note { color:#c3cfe5; font-size:12px; margin:22px 0 0; }
.hero-bottom { border:1px solid #dce4f1; border-left:3px solid var(--brand-blue); display:flex; align-items:center; gap:24px; padding:18px 24px; color:#52627e; background:#eef2f9; font-size:12px; letter-spacing:.035em; position:relative; z-index:1; transform:translateY(24px); }
.hero-bottom > span:first-child { font-weight:650; color:var(--brand-ink); letter-spacing:.2em; }
.hero-bottom a { margin-left:auto; color:var(--brand-blue); font-size:20px; min-width:32px; text-align:right; }
/* Four architecture layers share a vertical delivery bus. The original
   motion states and control remain intact; all drawings are illustrative. */
.engineering-flow { margin:0; min-width:0; padding:20px 22px 14px; background:#142039; border:1px solid #3a4e73; border-radius:4px; position:relative; }
.flow-heading { display:flex; justify-content:space-between; gap:14px; color:#d3def3; font-size:12px; letter-spacing:.035em; line-height:1.6; padding-bottom:14px; border-bottom:1px solid #405274; }
.flow-decoration { color:#b6caff; font-size:18px; }
.flow-body { position:relative; margin-top:16px; }
.flow-stages { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.flow-stages li { display:grid; grid-template-columns:minmax(0,1fr) 200px; gap:14px; align-items:center; min-height:72px; position:relative; border-bottom:1px solid #304362; }
.flow-stages li:last-child { border-bottom:0; }
.flow-copy strong { color:#f2f5fd; display:block; font-size:20px; line-height:1.4; letter-spacing:.005em; font-weight:550; }
.flow-copy > span { display:block; color:#ccd8ee; margin-top:4px; font-size:12px; line-height:1.6; }
.home-main .layer-blueprint { width:200px; height:auto; color:#91ace9; position:relative; z-index:1; }
.arch-node { fill:#1c3154; stroke:#9fb9f2; }
.arch-core { fill:#294b92; stroke:#b5ccff; }
.arch-boundary { fill:#182945; stroke:#819bd4; }
.arch-detail { stroke:#c4d5ff; stroke-width:2; }
.arch-check { stroke:#e1eaff; stroke-width:2; }
.arch-terminal { fill:#142039; stroke:#b6cbff; stroke-width:1.5; }
.flow-track { position:absolute; width:1px; background:#7290cf; right:32px; top:36px; bottom:36px; }
.flow-track::after { content:""; position:absolute; border-left:3px solid transparent; border-right:3px solid transparent; border-top:4px solid #b6cbff; bottom:6px; left:-2px; }
.flow-pulse { display:block; position:absolute; width:5px; height:5px; top:0; left:-2px; border-radius:50%; background:#e4ecff; opacity:0; }
.engineering-flow[data-motion="running"] .flow-pulse { animation:delivery-flow 6s linear infinite; opacity:1; }
.engineering-flow[data-motion="paused"] .flow-pulse { animation:delivery-flow 6s linear infinite paused; opacity:1; }
@keyframes delivery-flow { from { transform:translateY(0); } to { transform:translateY(258px); } }
.engineering-flow figcaption { display:block; margin-top:14px; padding-top:12px; border-top:1px solid #405274; color:#ccd8ee; font-size:11px; line-height:1.75; }
.motion-toggle { display:flex; align-items:center; gap:8px; min-height:32px; border:0; padding:5px 0 0; background:transparent; color:#d0deff; font-size:11px; cursor:pointer; }
.motion-toggle[hidden] { display:flex; visibility:hidden; }
.motion-toggle:disabled { cursor:default; color:#c3cfe5; }
.motion-icon { width:8px; height:8px; border-left:2px solid currentColor; border-right:2px solid currentColor; }
.motion-toggle[aria-pressed="true"] .motion-icon { border:1px solid currentColor; }
.home-section { padding:96px 0; }
.home-services { padding-top:80px; }
.home-section-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:70px; align-items:end; margin-bottom:48px; }
.home-main .section-intro { margin:0 0 5px; color:var(--brand-muted); max-width:460px; }
.home-services-grid { display:grid; grid-template-columns:1fr 1fr; column-gap:64px; }
.home-service { border-top:1px solid #ccd4e3; padding:28px 0 34px; min-width:0; }
.service-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; color:var(--brand-blue); }
.service-number { font:12px/1.5 ui-monospace,monospace; }
.home-service h3 { margin:0 0 12px; }
.home-service > p { color:var(--brand-muted); max-width:490px; margin:0; }
.home-service .service-tags { margin-top:20px; color:#5b6b88; font-size:11px; }
.home-approach { background:var(--brand-canvas); }
.engineering-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
.engineering-steps li { min-width:0; border-top:1px solid #b7c7ec; padding:28px 24px 0 0; position:relative; }
.engineering-steps li::before { content:""; position:absolute; left:0; top:-4px; width:7px; height:7px; border:1px solid var(--brand-blue); background:var(--brand-canvas); }
.step-number { color:var(--brand-blue); font:12px/1.5 ui-monospace,monospace; }
.engineering-steps h3 { margin:16px 0 10px; font-size:18px; }
.engineering-steps p { color:var(--brand-muted); margin:0; font-size:13px; }
.home-main .scenario-note { border-left:2px solid #b8c8f4; padding-left:18px; font-size:12px; }
.solutions-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--brand-line); border-bottom:1px solid var(--brand-line); }
.solution-item { padding:32px; min-width:0; border-right:1px solid var(--brand-line); }
.solution-item:first-child { padding-left:0; }
.solution-item:last-child { padding-right:0; border:0; }
.solution-symbol { display:flex; align-items:center; width:100%; height:70px; margin-bottom:28px; color:var(--brand-blue); }
.solution-symbol svg { width:48px; height:48px; stroke-width:1; }
.home-main .solution-tag { color:var(--brand-blue); font-size:11px; margin:0 0 12px; }
.solution-item h3 { font-size:21px; margin:0 0 15px; }
.solution-item > p:last-child { color:var(--brand-muted); font-size:14px; margin:0; }
.home-about { background:var(--brand-canvas); }
.about-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.home-main .about-description { margin:26px 0 0; max-width:500px; }
.home-main .about-preparation { font-size:12px; color:var(--brand-blue); margin:20px 0 0; }
.brand-values { list-style:none; margin:0; padding:0; }
.brand-values li { display:flex; align-items:center; gap:24px; border-bottom:1px solid #dce3ef; padding:22px 0; }
.brand-values li:first-child { padding-top:0; }
.value-initial { flex:0 0 56px; color:#3157d6; font-size:56px; font-weight:400; letter-spacing:-.05em; line-height:1; }
.brand-values h3 { margin:0; font-size:22px; font-weight:500; }
.brand-values p { margin:5px 0 0; color:var(--brand-muted); font-size:13px; }
.home-main .brand-note { color:var(--brand-muted); margin:22px 0 0; font-size:11px; }
.home-contact { padding:76px 0; background:var(--brand-navy); color:#fff; }
.contact-cta-layout { display:grid; grid-template-columns:1.45fr 1fr; gap:80px; align-items:center; }
.home-contact .section-label { color:#afc2ff; }
.home-contact h2 { font-size:32px; }
.home-contact p { color:#bdc9df; max-width:580px; margin:22px 0 0; font-size:14px; }
.contact-cta-action { justify-self:end; max-width:320px; }
.contact-cta-action .home-button { width:100%; }
.home-contact .contact-cta-note { font-size:11px; line-height:1.8; margin-top:15px; color:#aab7d1; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:2000; background:white; color:var(--brand-ink); padding:12px 20px; border:2px solid var(--brand-blue); }
.skip-link:focus { top:12px; }
body[data-page="home"] :is(.site-header,.site-footer) .brand-tagline { color:#c8d5ec; font-size:10px; letter-spacing:.015em; }
html[lang="en"] .home-main h1 { font-size:clamp(40px,4.1vw,58px); line-height:1.13; letter-spacing:-.045em; }
html[lang="zh"] .home-main h1 { font-size:clamp(36px,3.7vw,52px); }
@media (max-width:1099px) {
    .hero-layout { gap:32px; grid-template-columns:1fr 1fr; padding-block:42px; }
    .home-main h1 { font-size:40px; }
    .home-actions { gap:12px 20px; }
    .engineering-flow { padding:20px; }
    .flow-stages li { gap:14px; }
    .flow-stages li { grid-template-columns:minmax(0,1fr) 138px; }
    .home-main .layer-blueprint { width:138px; }
    .flow-track { right:22px; }
    .home-section-heading { gap:40px; }
    .engineering-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 0; }
    .about-layout { gap:52px; }
}
@media (max-width:760px) {
    .home-shell { width:calc(100% - 40px); }
    .hero-layout { grid-template-columns:1fr; gap:24px; padding-top:32px; padding-bottom:20px; }
    .home-main h1 { font-size:38px; line-height:1.32; }
    html[lang="en"] .home-main h1 { font-size:37px; }
    html[lang="zh"] .home-main h1 { font-size:32px; }
    .home-main .home-kicker { font-size:11px; margin-bottom:16px; }
    .home-main .home-lead { margin-top:16px; font-size:14px; line-height:1.85; }
    .home-actions { margin-top:20px; gap:12px 24px; }
    .home-button { min-height:50px; font-size:13px; padding:12px 18px; gap:25px; }
    .home-text-link { font-size:12px; }
    .home-main .preparation-note { margin-top:14px; font-size:11px; }
    .engineering-flow { padding:14px 16px 10px; }
    .flow-body { margin-top:10px; }
    .flow-stages { gap:8px; }
    .flow-stages li { min-height:62px; grid-template-columns:minmax(0,1fr) 92px; gap:12px; }
    .home-main .layer-blueprint { width:92px; }
    .flow-track { right:14px; top:31px; bottom:31px; }
    .flow-copy strong { font-size:17px; }
    .flow-copy > span { font-size:11px; line-height:1.5; margin-top:3px; }
    .engineering-flow figcaption { font-size:11px; margin-top:10px; padding-top:10px; }
    .flow-heading { font-size:11px; padding-bottom:10px; }
    .hero-bottom { padding:14px 16px; gap:14px; font-size:10px; letter-spacing:.01em; transform:translateY(16px); }
    body[data-page="home"] .site-header .brand-tagline { font-size:9px; letter-spacing:0; }
    .home-section { padding:64px 0; }
    .home-main h2 { font-size:28px; line-height:1.5; }
    .home-section-heading { grid-template-columns:1fr; gap:20px; margin-bottom:32px; }
    .home-main .section-label { font-size:11px; margin-bottom:16px; }
    .home-main .section-intro { font-size:14px; max-width:none; }
    .home-services-grid { grid-template-columns:1fr; gap:0; }
    .home-service { padding:24px 0 28px; }
    .service-top { margin-bottom:14px; }
    .home-service h3 { font-size:21px; }
    .home-service > p { font-size:14px; }
    .home-service .service-tags { font-size:10px; margin-top:14px; }
    .engineering-steps { grid-template-columns:1fr; gap:0; }
    .engineering-steps li { border-top:0; border-left:1px solid #b7c7ec; padding:0 0 28px 28px; margin-left:4px; display:grid; grid-template-columns:26px 1fr; column-gap:10px; }
    .engineering-steps li::before { top:9px; left:-4px; }
    .engineering-steps li:last-child { padding-bottom:0; }
    .step-number { padding-top:5px; }
    .engineering-steps h3 { margin:0 0 8px; }
    .engineering-steps p { grid-column:2; }
    .solutions-grid { grid-template-columns:1fr; }
    .solution-item, .solution-item:first-child, .solution-item:last-child { border-right:0; border-bottom:1px solid var(--brand-line); padding:28px 0; }
    .solution-item:last-child { border-bottom:0; }
    .solution-symbol { height:48px; margin-bottom:18px; }
    .home-main .scenario-note { font-size:12px; }
    .about-layout { grid-template-columns:1fr; gap:36px; }
    .home-main .about-description { font-size:14px; margin-top:20px; }
    .brand-values li { gap:20px; padding:20px 0; }
    .value-initial { font-size:48px; flex-basis:48px; }
    .contact-cta-layout { grid-template-columns:1fr; gap:28px; }
    .home-contact { padding:56px 0; }
    .home-contact h2 { font-size:27px; }
    .contact-cta-action { justify-self:start; max-width:100%; width:100%; }
    .contact-cta-action .home-button { width:100%; }
    @keyframes delivery-flow { from { transform:translateY(0); } to { transform:translateY(210px); } }
}
@media (prefers-reduced-motion:reduce) {
    .engineering-flow .flow-pulse { animation:none !important; opacity:0 !important; }
    .home-main *, .home-main *::before, .home-main *::after { transition:none !important; }
}
