/* Services: page-scoped presentation. Original shared stylesheet is unchanged. */
:root{--paper:#fbfcfd;--surface:#fff;--ink:#101828;--brand:#101828;--brand-600:#1d2939;--brand-400:#475467;--text-2:#475467;--muted:#55647a;--line:#cad4e1;--line-strong:#aab8cb;--bg:#fbfcfd;--bg-alt:#f2f5f9;--light:#f2f5f9;--tint:#e9eff6;--accent:#0071e3;--accent-ink:#0058b0;--accent-soft:#eaf2fd;--accent-lite:#6aa8ff;--dark:#101828;--ease:cubic-bezier(.22,.68,0,1);--header-height:73px;color-scheme:light}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}svg{flex-shrink:0}h1,h2,h3,h4,p,figure,ol,ul,dl{margin:0}h1,h2,h3,h4{font-weight:550;line-height:1.35}button{color:inherit}ul,ol{padding:0;list-style:none}[hidden]{display:none!important}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.mono{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:13px;letter-spacing:.04em;font-weight:400}a:focus-visible,button:focus-visible{outline:2px solid #3c66a2;outline-offset:5px}section[id],article[id]{scroll-margin-top:112px}.skip-link{position:fixed;top:8px;left:8px;padding:8px 16px;background:var(--ink);color:white;transform:translateY(-140%);z-index:200}.skip-link:focus{transform:none}
/* Global navigation keeps all original routes and mega menu content. */
.site-header{height:var(--header-height);position:sticky;top:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid transparent;transition:border-color .3s var(--ease),background-color .24s var(--ease)}.site-header.is-scrolled{border-bottom-color:var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{width:36px;height:36px;object-fit:contain}.brand>span{display:flex;flex-direction:column}.brand-name{font-size:17px;font-weight:650;line-height:1.4}.brand-sub{font-size:11px;letter-spacing:.1em;line-height:1.4;color:var(--muted);margin-top:4px}.nav{display:flex;align-items:center;gap:24px}.nav-item{display:flex}.nav-link{display:flex;align-items:center;min-height:44px;font-size:14px;color:var(--text-2,#475467);position:relative;white-space:nowrap}.nav-link::after{content:"";position:absolute;inset:auto 0 4px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .24s var(--ease)}.nav-link:hover::after,.nav-link.is-active::after{transform:scaleX(1)}.nav-link.is-active{color:var(--ink);font-weight:600}.header-actions{display:flex;align-items:center;gap:16px}.header-actions .btn{min-height:44px;display:inline-flex;align-items:center;border:0;font-size:14px;font-weight:550;white-space:nowrap}.header-actions .btn:hover{color:var(--accent)}.nav-toggle{display:none}.lang{position:relative}.lang-btn{display:flex;align-items:center;gap:7px;background:transparent;border:1px solid #cad4e1;padding:0 12px;min-height:38px;border-radius:4px;font-size:13px}.lang-btn:hover{background:#e9eff6}.lang-menu{position:absolute;top:calc(100% + 12px);right:0;min-width:180px;background:#fbfcfd;padding:8px;box-shadow:0 12px 30px #17242c12;border:1px solid var(--line);visibility:hidden;opacity:0;transform:translateY(-4px);transition:opacity .18s var(--ease),transform .18s var(--ease);z-index:105}.lang.is-open .lang-menu{visibility:visible;opacity:1;transform:none}.lang-menu button{display:block;width:100%;padding:8px 12px;border:0;background:none;text-align:left;font-size:15px;min-height:44px}.lang-menu button:hover,.lang-menu button.is-active{background:#e9eff6}.lang-menu button.is-active::after{content:"✓";float:right}.mega{display:none;position:absolute;top:calc(var(--header-height) - 1px);left:0;width:100%;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-height:calc(100dvh - var(--header-height));overflow:auto;box-shadow:0 18px 22px #17242c0a}.mega.is-open{display:block}.mega>.container{padding-block:32px 40px}.mega-split{display:grid;grid-template-columns:290px 1fr;gap:60px}.mega-side{display:flex;flex-direction:column;border-right:1px solid var(--line);padding-right:24px;gap:2px}.mega-pick{background:none;text-align:left;border:0;padding:8px 16px;min-height:54px}.mega-pick b{display:block;font-size:17px;font-weight:550}.mega-pick span{display:block;font-size:13px;line-height:1.65;color:var(--muted);margin-top:3px}.mega-pick.is-active{background:#e9eff6}.mega-pane{display:none;padding-top:8px}.mega-pane.is-active{display:block}.mega-lead{font-size:23px;max-width:700px;line-height:1.5;margin-bottom:24px}.mega-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px}.mega-a{padding-block:8px;font-size:17px;border-bottom:1px solid var(--line);display:block}.mega-a:hover,.mega-more:hover{color:var(--accent)}.mega-more{display:inline-flex;font-size:15px;margin-top:32px;padding-block:8px}.mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}.mega-h{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:.02em;margin-bottom:12px}.mega-col .mega-a{font-size:16px;line-height:1.5}.mega-col .mega-a span{display:block;font-size:13px;color:var(--muted);margin-top:4px}
/* Type scale and the primary links. Chinese headings have no Latin tracking. */
.section-kicker{display:flex;align-items:center;gap:16px;font-size:14px;font-weight:550;line-height:1.5;color:var(--accent-ink);margin-bottom:24px}.section-kicker .mono{font-size:14px;color:inherit}h1{font-size:clamp(54px,5.55vw,80px);line-height:1.24;font-weight:570;letter-spacing:0}h2{font-size:clamp(40px,4.45vw,64px);line-height:1.28;letter-spacing:0}h3{font-size:25px;line-height:1.45;letter-spacing:0}h4{font-size:19px;line-height:1.5;letter-spacing:0}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding-block:12px;min-height:48px;font-size:16px;font-weight:500;border-bottom:1px solid currentColor;transition:color .24s var(--ease)}.text-link:hover{color:var(--accent)}.text-link svg{transition:transform .35s var(--ease)}.text-link:hover svg{transform:translateX(4px)}.solid-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:16px 20px;background:var(--ink);color:#fff;font-size:16px;font-weight:550;border:1px solid var(--ink);transition:background .25s var(--ease),border-color .25s var(--ease)}.solid-link:hover{background:var(--accent);border-color:var(--accent)}
/* Opening: clear service index and a small independent GPU diagram. */
.service-hero{padding-top:64px;padding-bottom:0}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:56px;align-items:center;min-height:550px;padding-bottom:56px}.breadcrumb{display:flex;gap:8px;font-size:13px;color:var(--muted);margin-bottom:32px}.breadcrumb a:hover{color:var(--accent)}.hero-copy .section-kicker{margin-bottom:20px}.headline-line{display:block}.hero-lead{font-size:18px;line-height:1.85;max-width:560px;margin-top:24px;color:var(--muted)}.hero-actions{display:flex;gap:32px;flex-wrap:wrap;margin-top:32px;align-items:center}.hero-actions .text-link{border-bottom:0}.system-visual{height:500px;position:relative;background:#e9eff6;overflow:hidden;border:1px solid #cad4e1;isolation:isolate}.visual-topline{position:absolute;top:22px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;z-index:2;gap:16px}.visual-topline .mono{font-size:11px;color:#475467}.visual-legend{display:flex;align-items:center;gap:7px;font-size:12px;color:#475467}.visual-legend i{width:5px;height:5px;background:#475e7e;border-radius:50%}.system-canvas{position:absolute;width:100%;height:100%;top:0;left:0;display:block;opacity:0;transition:opacity .3s var(--ease)}.webgl-ready .system-canvas{opacity:1}.system-label{position:absolute;top:49%;z-index:2;pointer-events:none;display:flex;flex-direction:column;gap:4px}.system-label .mono{font-size:10px;color:#55647a}.system-label strong{font-size:13px;line-height:1.5;font-weight:500;max-width:85px}.system-label--input{left:24px}.system-label--output{right:24px}.system-tabs{position:absolute;left:24px;right:24px;bottom:64px;display:flex;gap:7px;z-index:2}.system-tabs button{flex:1;min-height:42px;font-size:14px;border:1px solid #aab8cb;background:#edf0ebcc;transition:background .2s var(--ease),color .2s var(--ease)}.system-tabs button[aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}.system-description{position:absolute;bottom:22px;left:24px;right:24px;z-index:2}.system-description p{font-size:12px;color:#475467;line-height:1.55}.system-fallback{position:absolute;inset:110px 80px 140px;display:grid;grid-template-columns:1fr 1fr;gap:24px;transform:rotate(-15deg) skewY(10deg)}.system-fallback div{border:1px solid #737d8c;background:#9db2aa33}.webgl-ready .system-fallback{display:none}.service-index{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #aab8cb;border-bottom:1px solid #aab8cb}.service-index a{position:relative;display:grid;grid-template-columns:28px 1fr;gap:6px 8px;padding:24px 24px 28px 0;min-width:0;transition:background .3s var(--ease)}.service-index a+a{border-left:1px solid #aab8cb;padding-left:24px}.service-index .mono{grid-row:1 / 3;margin-top:3px;font-size:12px;color:#55647a}.service-index strong{font-size:18px;font-weight:550;line-height:1.6}.service-index a>span:not(.mono){font-size:13px;color:var(--muted)}.service-index svg{position:absolute;right:12px;top:28px;width:14px}.service-index a:hover{background:#e9eff6}.service-index a:hover svg{transform:translate(3px,-3px)}
/* Chapters each have their own composition; readable content is never hidden. */
.service-section{padding-block:112px}.chapter-heading{display:grid;grid-template-columns:1.05fr 1fr;gap:24px 100px;margin-bottom:48px;align-items:end}.chapter-heading .section-kicker{grid-column:1 / -1;margin-bottom:0}.chapter-heading>p:last-child{color:var(--muted);font-size:19px;line-height:1.9;max-width:460px;padding-bottom:6px}.compact-heading{display:grid;grid-template-columns:1fr 1fr;gap:20px 80px;margin-bottom:48px}.compact-heading .section-kicker{grid-column:1 / -1;margin:0}.compact-heading>p:last-child{align-self:end;max-width:400px;color:var(--muted);font-size:19px;line-height:1.85}.fde-field{display:grid;grid-template-columns:1.13fr 1fr;min-height:506px;gap:0}.field-photo{position:relative;overflow:hidden;min-height:500px;background:#353e4a}.field-photo img{position:absolute;width:100%;height:100%;object-fit:cover;filter:saturate(.48);transition:transform 1.2s var(--ease)}.field-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#21303800 40%,#142b36e0)}.field-photo figcaption{position:absolute;bottom:30px;left:34px;right:25px;z-index:1;color:white}.field-photo figcaption .mono{font-size:11px;color:#d9dee6}.field-photo figcaption p{font-size:24px;line-height:1.55;margin-top:12px}.field-photo:hover img{transform:scale(1.035)}.role-pair{padding:32px 44px;background:#e9eff6;display:flex;flex-direction:column;justify-content:center}.role-pair>.section-kicker{margin-bottom:24px;font-size:13px}.role-name{display:flex;align-items:baseline;gap:8px;font-size:34px;font-weight:450;letter-spacing:-.02em}.role-name .mono{font-size:12px;color:#55647a}.role h3{font-size:21px;margin-top:3px}.role p{font-size:16px;line-height:1.8;color:#475467;margin-top:8px}.role-output{display:block;font-size:13px;color:#475467;margin-top:16px}.role-connector{margin:16px 0 16px;color:#55647a;line-height:1}.context-strip{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:24px;border-block:1px solid #aab8cb;margin-block:32px 40px;padding-block:24px;align-items:center}.context-strip h3{font-size:15px;font-weight:500;color:var(--muted)}.context-strip p{font-size:16px;line-height:1.55}.service-item h3{font-size:23px;line-height:1.5;font-weight:550}.service-item>p{font-size:16px;line-height:1.85;color:var(--muted);margin-block:12px 20px}.service-item ul{display:grid;gap:8px}.service-item li{position:relative;padding-left:16px;font-size:15px;line-height:1.75;color:#475467}.service-item li::before{content:"";position:absolute;top:.75em;left:0;width:5px;height:1px;background:currentColor}.fde-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:0 68px}.fde-capabilities .service-item{border-top:1px solid var(--line);padding-block:24px 36px}.fde-capabilities .service-item ul{grid-template-columns:1fr 1fr;gap:8px 24px}.fde-method{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;margin-top:36px;padding:44px 44px;background:#e9eff6}.fde-method .section-kicker{margin-bottom:20px}.fde-method h3{font-family:-apple-system,"Noto Sans SC",sans-serif;font-size:27px;font-weight:500;line-height:1.4}.fde-method>div>p:last-child{font-size:16px;margin-top:16px;color:var(--muted)}.fde-method ol{display:grid;gap:24px}.fde-method li{display:grid;grid-template-columns:25px 1fr;gap:16px}.fde-method li>.mono{font-size:12px;color:#55647a;margin-top:4px}.fde-method h4{font-size:18px}.fde-method li p{font-size:15px;color:var(--muted);line-height:1.8;margin-top:7px}.chapter-foot{display:flex;align-items:center;justify-content:space-between;gap:36px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.chapter-foot>p{font-size:16px;color:var(--muted)}.chapter-foot .text-link{border-bottom:0}
/* Agent: product-like demonstration with explicit sample status. */
.agent-section{background:var(--dark);color:var(--light);--brand:#fff;--brand-400:rgba(255,255,255,.72);--text-2:rgba(255,255,255,.72);--muted:rgba(255,255,255,.56);--line:rgba(255,255,255,.14);--line-strong:rgba(255,255,255,.24);--surface:#101828;--accent:#0071e3;--accent-ink:var(--accent-lite);--accent-soft:rgba(0,113,227,.18)}.agent-section .section-kicker{color:#a2b3cb}.agent-section h2>span{color:#a4b1c3}.agent-section .text-link:hover{color:#c9d8ee}.agent-workbench{border:1px solid #525d6c;background:#f2f5f9;color:#101828}.workbench-bar{height:57px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 24px;background:#cad4e1;border-bottom:1px solid #aab8cb}.workbench-bar>.mono{font-size:13px;color:#475467}.workbench-bar>span:last-child{font-size:12px;color:#475467}.workbench-grid{display:grid;grid-template-columns:285px 1fr;min-height:510px}.demo-rail{border-right:1px solid #cad4e1;background:#e9eff6;padding:28px 20px;display:flex;flex-direction:column}.demo-rail>p{font-size:13px;color:#55647a;padding-inline:12px;margin-bottom:16px}.demo-scenarios{display:grid;gap:4px}.demo-scenarios button{display:flex;align-items:center;gap:12px;padding:16px 12px;border:1px solid transparent;background:none;min-height:54px;text-align:left;transition:background .25s var(--ease),border-color .25s var(--ease)}.demo-scenarios button>span:not(.mono){font-size:15px}.demo-scenarios .mono{font-size:11px;color:#55647a}.demo-scenarios button svg{margin-left:auto;width:14px}.demo-scenarios button[aria-selected="true"]{background:#fff;border-color:#aab8cb}.demo-scenarios button:hover{background:#f2f5f9}.rail-boundary{margin-top:auto;padding:32px 12px 3px}.rail-boundary .mono{font-size:10px;color:#475467}.rail-boundary p{font-size:13px;line-height:1.8;color:#55647a;margin-top:8px}.demo-content{padding:32px 40px;min-width:0}.demo-query{display:flex;align-items:flex-start;gap:28px;padding-bottom:24px;border-bottom:1px solid #cad4e1}.demo-query>.mono{font-size:10px;color:#55647a;padding-top:5px}.demo-query p{font-size:18px;line-height:1.6;font-weight:500}.demo-route{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.7;color:#55647a;margin-block:24px 32px}.demo-route i{flex:1;height:1px;background:#8d99aa;position:relative}.demo-route i::after{position:absolute;right:0;top:-2px;content:"";border-left:3px solid #aab8cb;border-top:2px solid transparent;border-bottom:2px solid transparent}.demo-result{min-height:256px}.demo-result .result-label{font-size:12px;color:#475467;margin-bottom:8px}.demo-result h3{font-size:26px;color:#101828;font-weight:550;margin-bottom:16px}.demo-result>p:not(.result-label):not(.demo-confirmed){font-size:16px;line-height:1.85;color:#55647a;max-width:700px}.source-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.source-files span{display:flex;gap:7px;align-items:center;background:#e9eff6;padding:8px 12px;color:#475467;font-size:12px}.source-files i{font-style:normal;font-size:16px}.result-note{display:flex;align-items:center;gap:8px;margin-top:28px;color:#55647a;font-size:12px}.status-dot{width:5px;height:5px;border-radius:50%;background:#496183;flex-shrink:0}.demo-ticket{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0 20px;padding-block:16px;border-block:1px solid #cad4e1}.demo-ticket dt{font-size:12px;color:#55647a;margin-bottom:5px}.demo-ticket dd{margin:0;font-size:14px;font-weight:500}.demo-confirm{background:#26364d;color:#fff;border:0;min-height:44px;padding:12px 16px;font-size:14px;display:inline-flex;align-items:center;gap:24px;margin-top:16px}.demo-confirm:hover{background:#344a68}.demo-confirmed{margin-top:16px;font-size:14px;line-height:1.75;color:#475467}.boundary-record{margin-top:20px;border-left:2px solid #a0815c;background:#eee8df;padding:12px 16px;display:flex;flex-wrap:wrap;gap:12px;color:#73604a;font-size:12px}.boundary-record .mono{font-size:11px}.demo-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.agent-capabilities{display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;gap:36px}.agent-capabilities .service-item{border-top:1px solid var(--line);padding-top:24px}.agent-capabilities h3{font-size:23px;color:#e2e6ec}.agent-capabilities .service-item>p{color:#b2bbc8;font-size:15px;line-height:1.9}.agent-capabilities li{color:#b2bbc8;font-size:14px}.evaluation{display:grid;grid-template-columns:1fr 1.65fr;gap:72px;margin-top:64px;padding-top:44px;border-top:1px solid var(--line)}.evaluation-heading h3{font-size:33px;line-height:1.5}.evaluation-heading>p:not(.section-kicker){color:#b2bbc8;font-size:16px;margin:20px 0}.evaluation-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 40px}.evaluation-grid h4{font-size:21px;margin-bottom:8px}.evaluation-grid article>p{font-size:14px;line-height:1.8;color:#b2bbc8}.evaluation-grid ul{margin-top:12px;display:grid;gap:7px}.evaluation-grid li{color:#abb5c4;font-size:13px;line-height:1.8;border-left:1px solid #535e6e;padding-left:12px}
/* Software: an engineering diagram rather than another stock image. */
.dev-section{background:#f2f5f9}.integration-blueprint{display:grid;grid-template-columns:1fr 1.25fr;gap:72px;align-items:center;padding:40px 44px;background:#e9eff6}.blueprint-copy h3{font-size:28px;line-height:1.6}.blueprint-copy>p:not(.section-kicker){font-size:16px;line-height:1.85;color:var(--muted);margin:20px 0}.integration-map{padding:20px 0;text-align:center}.systems-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.systems-row span{position:relative;border:1px solid #aab8cb;background:#f2f5f9;min-height:54px;padding:12px 8px;font-size:15px}.systems-row:not(.systems-row--output) span::after{content:"";position:absolute;top:100%;left:50%;height:35px;width:1px;background:#939faf}.integration-bus{position:relative;margin:32px 0;background:#344a6a;color:white;padding:24px 16px;display:grid;gap:8px;z-index:1}.integration-bus .mono{font-size:11px;color:#c0cad7}.integration-bus strong{font-size:18px;font-weight:500}.systems-row--output span{font-size:13px}.systems-row--output span::before{content:"";position:absolute;bottom:100%;left:50%;height:35px;width:1px;background:#939faf}.map-caption{font-size:12px;line-height:1.8;color:#475467;margin-top:24px}.dev-capabilities{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:40px}.dev-capabilities .service-item{border-top:1px solid #aab8cb;padding-top:24px}.dev-capabilities .service-item h3{font-size:23px}.dev-capabilities .service-item>p{font-size:15px}.dev-capabilities .service-item li{font-size:14px}.delivery-evidence{border-top:1px solid var(--line);margin-top:48px;padding-top:36px;display:grid;grid-template-columns:140px 1fr 1fr;gap:32px;align-items:start}.delivery-evidence>.mono{padding-top:8px;color:#55647a;font-size:11px}.delivery-evidence h3{font-size:30px;line-height:1.5}.delivery-evidence ul{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;font-size:15px;color:var(--muted);padding-top:8px}
/* Security: independently presented as a complete business. */
.security-section{background:var(--tint);--line:#cad4e1;--muted:#55647a;--accent:#0071e3}.security-overview{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;margin-bottom:48px}.security-model{position:relative;background:#cad4e1;padding:32px;min-height:460px;text-align:center}.security-model>.section-kicker{justify-content:center;font-size:13px;margin-bottom:6px}.security-rings{position:relative;width:100%;height:340px;isolation:isolate}.security-ring{position:absolute;border:1px solid #818c9b;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);aspect-ratio:1.4}.security-ring span{position:absolute;left:50%;top:12px;transform:translateX(-50%);color:#475467;font-size:11px;white-space:nowrap;background:#cad4e1;padding:0 8px}.ring-outer{width:95%;max-width:405px;transform:translate(-50%,-50%) rotate(-12deg)}.ring-outer span{transform:translateX(-50%) rotate(12deg)}.ring-mid{width:76%;max-width:320px;transform:translate(-50%,-50%) rotate(8deg)}.ring-mid span{transform:translateX(-50%) rotate(-8deg)}.ring-inner{width:53%;max-width:230px;transform:translate(-50%,-50%) rotate(-6deg)}.ring-inner span{transform:translateX(-50%) rotate(6deg)}.security-core{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:96px;height:76px;background:#36455b;color:#ecf0f6;display:grid;place-items:center;font-size:17px;line-height:1.5}.security-model>.map-caption{margin-top:5px;color:#475467}.security-scope h3{font-size:31px;line-height:1.5;margin-bottom:24px}.scope-list{display:grid;gap:20px;margin-bottom:24px}.scope-list li{display:grid;grid-template-columns:24px 1fr;gap:20px}.scope-list .mono{color:#55647a;font-size:12px;margin-top:4px}.scope-list h4{font-size:18px;line-height:1.6}.scope-list p{font-size:15px;line-height:1.85;color:var(--muted);margin-top:5px}.security-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}.security-capabilities .service-item{border-top:1px solid var(--line);padding-top:24px}.security-capabilities .service-item>p{font-size:15px}.security-capabilities .service-item li{font-size:14px;color:#475467}.security-footer{display:flex;justify-content:space-between;align-items:center;gap:56px;border-top:1px solid var(--line);padding-top:24px;margin-top:40px}.security-footer p{font-size:14px;line-height:1.85;color:var(--muted);max-width:770px}.security-footer .text-link{flex-shrink:0}
/* Capabilities and delivery close the narrative without more repeated pitches. */
.capability-section{background:#fbfcfd}.capability-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 68px}.capability{display:grid;grid-template-columns:35px 1fr;gap:20px;border-top:1px solid var(--line);padding:24px 0 28px}.capability>.mono{font-size:13px;color:#55647a;margin-top:5px}.capability h3{font-size:23px}.capability p{font-size:15px;line-height:1.8;color:var(--muted);margin-top:12px}.capability .cap-output{font-size:13px;color:#55647a;margin-top:12px}.cooperation-section{background:#e9eff6}.cooperation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.cooperation-grid article{padding:32px 0;border-top:1px solid #aab8cb}.cooperation-grid .mono{font-size:11px;color:#55647a}.cooperation-grid h3{font-size:27px;margin-top:16px}.cooperation-grid p{font-size:16px;line-height:1.85;color:var(--muted);margin-top:16px}.cooperation-grid ul{margin-top:20px;display:grid;gap:8px;font-size:15px;color:#475467}.cooperation-grid li{border-left:1px solid #aab8cb;padding-left:12px}.process-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:44px;border-top:1px solid #aab8cb;padding-top:36px}.process-timeline li{min-width:0}.process-no{display:block;font-size:35px;color:#55647a;line-height:1.4;margin-bottom:16px;letter-spacing:-.06em}.process-timeline h3{font-size:21px}.process-timeline p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:16px}.contract-note{margin-top:40px;border-top:1px solid #aab8cb;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:32px}.contract-note p{font-size:15px;color:var(--muted)}.contract-note .text-link{border-bottom:0}.acceptance-section{background:#202a39;color:#e5e9ee;padding-block:76px}.acceptance-section .container{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.acceptance-section .section-kicker{color:#a2b1c7}.acceptance-section h2{font-size:43px;line-height:1.5}.acceptance-links{display:grid}.acceptance-links .text-link{padding-block:20px;border-color:#505d6f;font-size:17px;line-height:1.6}.acceptance-links .text-link:hover{color:#abbed8}.service-cta{padding-block:100px 104px;background:#fbfcfd}.service-cta h2{font-size:clamp(42px,5vw,72px);line-height:1.35}.service-cta p:not(.section-kicker){margin:24px 0 32px;max-width:600px;font-size:18px;line-height:1.9;color:var(--muted)}.service-cta .solid-link{margin-right:28px}.service-cta .text-link{border-bottom:0}
.site-footer{background:var(--dark);border-top:1px solid rgba(255,255,255,.12);padding-block:36px 24px;color:rgba(255,255,255,.7)}.footer-promise{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.12)}.footer-promise__item{position:relative;padding-left:20px;font-size:13px;color:rgba(255,255,255,.86)}.footer-promise__item::before{content:"";position:absolute;left:0;top:.42em;width:10px;height:6px;border-left:1.8px solid var(--accent);border-bottom:1.8px solid var(--accent);transform:rotate(-45deg)}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:48px;padding-block:40px}.brand-lockup{width:164px;height:auto}.footer-brand p{margin-top:20px;font-size:14px;line-height:1.85;color:rgba(255,255,255,.7);max-width:290px}.footer-col h3{font-size:14px;font-weight:550;line-height:1.7;margin-bottom:16px;color:#fff}.footer-col ul{display:grid;gap:7px}.footer-col li{font-size:13px;color:rgba(255,255,255,.7);line-height:1.7}.footer-col a{display:inline-block;padding-block:3px}.footer-col a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:16px;display:flex;justify-content:space-between;gap:32px;font-size:12px;color:rgba(255,255,255,.56)}.footer-bottom a{padding-block:8px}
/* Longer translations receive flexible columns and a calmer headline measure. */
html:lang(en) .hero-grid{grid-template-columns:1.12fr 1fr}html:lang(en) h1{font-size:clamp(48px,5vw,70px);line-height:1.1;letter-spacing:-.035em}html:lang(en) h2{font-size:clamp(38px,4vw,56px);line-height:1.15;letter-spacing:-.025em}html:lang(en) .service-index strong{font-size:17px}html:lang(en) .hero-lead{font-size:17px}html:lang(en) .headline-line{margin-top:.05em}html:lang(ja) h1,html:lang(ko) h1{font-size:clamp(46px,4.7vw,68px)}html:lang(ja) .nav,html:lang(en) .nav{gap:16px}html:lang(ja) .nav-link,html:lang(en) .nav-link{font-size:13px}
@media(min-width:1600px){.container{width:min(1400px,calc(100% - 160px))}.hero-grid{gap:100px}.system-visual{height:560px}.chapter-heading{gap:24px 140px}}
@media(max-width:1240px){.container{width:calc(100% - 72px)}.header-inner{gap:16px}.nav{gap:16px}.nav-link{font-size:13px}.header-actions{gap:12px}.header-actions>.btn{display:none}.hero-grid{gap:40px}.system-visual{height:470px}.chapter-heading{gap:24px 60px}.security-overview{gap:64px}.agent-capabilities,.dev-capabilities{gap:24px}.service-index a{padding-right:20px}.service-index strong{font-size:16px}.service-index a>span:not(.mono){font-size:12px}.service-index svg{right:7px;width:12px}.evaluation{gap:44px}.delivery-evidence{grid-template-columns:110px 1fr 1.2fr;gap:24px}}
@media(max-width:1024px){.container{width:calc(100% - 56px)}.nav{gap:12px}.brand-name{font-size:16px}.brand-sub{font-size:10px}.brand{gap:8px}.brand-mark{width:30px;height:30px}.nav-link{font-size:12px}.header-inner{gap:8px}.lang-btn{padding-inline:8px}.hero-grid{gap:28px}.hero-lead{font-size:17px}.system-visual{height:450px}.system-label{top:43%}.chapter-heading>p:last-child{font-size:17px}.service-section{padding-block:84px}.fde-field{grid-template-columns:1fr 1fr}.field-photo{min-height:510px}.role-pair{padding:32px}.fde-method{gap:40px;padding:36px}.agent-capabilities,.dev-capabilities{grid-template-columns:1fr 1fr;gap:32px 40px}.workbench-grid{grid-template-columns:240px 1fr}.demo-content{padding:32px}.evaluation{grid-template-columns:1fr 1.55fr;gap:36px}.evaluation-grid{gap:28px}.integration-blueprint{gap:36px;padding:36px}.security-overview{gap:36px}.security-capabilities{gap:28px}.capability-grid{gap:0 40px}.footer-top{gap:36px}.service-index a+a{padding-left:16px}}
@media(max-width:900px){:root{--header-height:70px}.nav-toggle{display:flex;width:40px;height:42px;background:none;border:0;padding:8px;flex-direction:column;justify-content:center;gap:5px}.nav-toggle span{width:20px;height:1px;background:var(--ink);transition:transform .2s var(--ease),opacity .2s var(--ease)}.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;padding:24px 28px 32px;background:var(--surface);border-bottom:1px solid var(--line);max-height:calc(100dvh - var(--header-height));overflow-y:auto}.nav.is-open{display:flex;align-items:stretch;flex-direction:column;gap:0}.nav-item{display:block}.nav-link{font-size:20px;min-height:54px;border-bottom:1px solid var(--line)}.nav-link::after{display:none}.mega{display:none!important}.hero-grid{grid-template-columns:1fr 1fr;gap:24px}.hero-actions{gap:12px}.hero-actions .solid-link{font-size:14px;padding-inline:16px;gap:16px}.hero-actions .text-link{font-size:14px;gap:12px}.system-label{top:43%}.system-label strong{font-size:11px;max-width:65px}.visual-topline{left:18px;right:18px}.visual-legend{font-size:10px}.visual-topline .mono{font-size:10px}.system-label--input{left:14px}.system-label--output{right:14px}.system-tabs{left:18px;right:18px;gap:4px}.system-tabs button{font-size:12px}.system-description{left:18px;right:18px}.system-description p{font-size:11px}.service-index{grid-template-columns:1fr 1fr}.service-index a{padding:20px}.service-index a+a{padding-left:20px}.service-index a:nth-child(3){border-left:0;border-top:1px solid #aab8cb}.service-index a:nth-child(4){border-top:1px solid #aab8cb}.service-index strong{font-size:18px}.service-index svg{right:16px;top:25px;width:14px}.service-index a>span:not(.mono){font-size:13px}.chapter-heading{gap:20px 36px}.chapter-heading>p:last-child{font-size:17px}.workbench-grid{grid-template-columns:200px 1fr}.demo-rail{padding:24px 12px}.demo-scenarios button{gap:8px;padding:12px 8px}.demo-scenarios button>span:not(.mono){font-size:13px}.demo-scenarios button svg{width:12px}.demo-content{padding:28px}.demo-route{gap:7px;font-size:10px}.demo-result h3{font-size:23px}.demo-query{gap:16px}.demo-query p{font-size:16px}.evaluation{grid-template-columns:1fr}.evaluation-heading{max-width:600px}.evaluation-heading h3 br{display:none}.security-overview{grid-template-columns:1fr 1fr;gap:28px}.security-model{padding:24px 12px}.security-rings{height:315px}.security-scope h3{font-size:25px}.security-core{width:78px;font-size:14px}.security-capabilities{grid-template-columns:1fr}.security-capabilities .service-item{display:grid;grid-template-columns:1fr 1.8fr;gap:0 40px}.security-capabilities .service-item h3{grid-column:1;grid-row:1}.security-capabilities .service-item>p{grid-column:1}.security-capabilities .service-item ul{grid-column:2;grid-row:1 / 3;grid-template-columns:1fr 1fr;gap:8px 24px}.security-footer{align-items:flex-start;gap:36px}.security-footer .text-link{font-size:14px}.compact-heading{gap:20px 36px}.cooperation-grid{gap:28px}.cooperation-grid h3{font-size:23px}.cooperation-grid p{font-size:15px}.cooperation-grid li{font-size:14px}.process-timeline{grid-template-columns:1fr 1fr;gap:32px 44px}.process-timeline li{display:grid;grid-template-columns:45px 1fr;gap:16px}.process-no{font-size:30px;margin:0}.acceptance-section .container{gap:48px}.acceptance-section h2{font-size:35px}.acceptance-links .text-link{font-size:15px}.footer-top{grid-template-columns:1.4fr 1fr 1fr;gap:32px}.footer-brand{grid-column:1 / -1;display:flex;align-items:center;gap:48px}.footer-brand p{margin:0;max-width:420px}.footer-promise{gap:20px}.footer-promise__item{font-size:12px}.footer-bottom{font-size:11px}html:lang(en) .nav-link,html:lang(ja) .nav-link{font-size:20px}}
@media(max-width:720px){.container{width:calc(100% - 40px)}.service-hero{padding-top:36px}.hero-grid{grid-template-columns:1fr;gap:36px;padding-bottom:36px}.breadcrumb{font-size:12px;margin-bottom:28px}.hero-copy .section-kicker{font-size:12px;margin-bottom:16px}h1{font-size:clamp(42px,10vw,65px);line-height:1.25}h2{font-size:clamp(34px,8.4vw,48px);line-height:1.4}h3{font-size:23px}h4{font-size:18px}.hero-lead{font-size:17px;line-height:1.9;margin-top:24px;max-width:560px}.hero-actions{gap:24px;margin-top:24px}.hero-actions .solid-link{font-size:15px;padding-inline:16px;min-height:50px}.hero-actions .text-link{font-size:15px}.system-visual{height:380px}.visual-topline{top:18px}.visual-topline .mono{font-size:10px}.visual-legend{font-size:11px}.system-label{top:42%}.system-label strong{font-size:12px;max-width:75px}.system-tabs{bottom:57px}.system-tabs button{min-height:40px;font-size:13px}.system-description{bottom:17px}.system-description p{font-size:11px}.system-fallback{inset:75px 60px 125px}.service-index a{padding:16px 16px 20px 0;grid-template-columns:22px 1fr;gap:5px 6px}.service-index a+a{padding-left:16px}.service-index a:nth-child(3){padding-left:0}.service-index strong{font-size:15px}.service-index a>span:not(.mono){font-size:11px}.service-index .mono{font-size:10px}.service-index svg{width:11px;right:6px;top:23px}.service-section{padding-block:60px}.chapter-heading{display:block;margin-bottom:32px}.chapter-heading .section-kicker{margin-bottom:20px;font-size:12px}.chapter-heading>p:last-child{font-size:16px;line-height:1.9;margin-top:24px;max-width:580px;padding:0}.fde-field{grid-template-columns:1fr}.field-photo{min-height:320px;aspect-ratio:1.25}.field-photo figcaption{left:25px;bottom:24px}.field-photo figcaption p{font-size:23px}.role-pair{padding:28px}.role-pair>.section-kicker{margin-bottom:16px}.role-name{font-size:31px}.role p{font-size:15px}.role-output{font-size:12px}.role-connector{margin-block:16px}.context-strip{grid-template-columns:1fr;gap:12px;padding-block:20px;margin-block:24px 32px}.context-strip h3{font-size:13px;margin-bottom:4px}.context-strip p{font-size:15px;padding-left:16px;border-left:1px solid #aab8cb}.fde-capabilities{grid-template-columns:1fr;gap:0}.fde-capabilities .service-item{padding-block:24px 28px}.service-item h3{font-size:22px}.service-item>p{font-size:15px}.service-item li{font-size:14px}.fde-capabilities .service-item ul{gap:8px 16px}.fde-method{grid-template-columns:1fr;gap:32px;padding:28px 24px;margin-top:16px}.fde-method h3{font-size:23px}.fde-method li p{font-size:14px}.fde-method .section-kicker{font-size:12px;margin-bottom:16px}.chapter-foot{display:block;margin-top:28px;padding-top:20px}.chapter-foot p{font-size:14px}.chapter-foot .text-link{font-size:15px;margin-top:8px}.workbench-bar{padding:12px 16px;height:auto;align-items:flex-start;gap:12px}.workbench-bar>.mono{font-size:10px;padding-top:2px}.workbench-bar>span:last-child{font-size:10px;max-width:125px;text-align:right}.workbench-grid{grid-template-columns:1fr;min-height:0}.demo-rail{padding:16px 12px;border-right:0;border-bottom:1px solid #cad4e1}.demo-rail>p{padding:0 4px;font-size:12px;margin-bottom:8px}.demo-scenarios{display:flex;gap:6px}.demo-scenarios button{flex:1;justify-content:center;padding:8px 5px;min-height:44px;gap:4px}.demo-scenarios button>span:not(.mono){font-size:12px}.demo-scenarios button>.mono,.demo-scenarios button>svg{display:none}.rail-boundary{display:none}.demo-content{padding:24px 20px}.demo-query{gap:12px}.demo-query>.mono{font-size:8px;padding-top:5px}.demo-query p{font-size:15px}.demo-route{gap:5px;font-size:9px;margin-block:20px 24px}.demo-result{min-height:285px}.demo-result h3{font-size:22px}.demo-result>p:not(.result-label):not(.demo-confirmed){font-size:14px;line-height:1.95}.source-files{display:grid;gap:7px}.source-files span{font-size:11px;padding:7px 8px;width:max-content;max-width:100%}.result-note{font-size:11px;align-items:flex-start;margin-top:24px}.result-note .status-dot{margin-top:7px}.boundary-record{font-size:11px;gap:5px;flex-direction:column}.boundary-record .mono{font-size:10px}.demo-ticket{gap:8px;grid-template-columns:1fr 1fr}.demo-ticket>div:last-child{grid-column:1 / -1}.demo-ticket dt{font-size:11px}.demo-ticket dd{font-size:13px}.agent-capabilities,.dev-capabilities{grid-template-columns:1fr;gap:0;margin-top:32px}.agent-capabilities .service-item,.dev-capabilities .service-item{padding-block:24px 28px}.agent-capabilities .service-item ul,.dev-capabilities .service-item ul{grid-template-columns:1fr 1fr;gap:8px 16px}.evaluation{margin-top:16px;padding-top:32px;gap:32px}.evaluation-heading h3{font-size:28px}.evaluation-heading p:not(.section-kicker){font-size:15px}.evaluation-heading .text-link{font-size:14px}.evaluation-grid{gap:32px 24px}.evaluation-grid h4{font-size:19px}.evaluation-grid article>p{font-size:13px}.evaluation-grid li{font-size:12px;padding-left:8px}.integration-blueprint{grid-template-columns:1fr;gap:16px;padding:28px 24px}.blueprint-copy h3{font-size:25px}.blueprint-copy>p:not(.section-kicker){font-size:15px}.integration-map{padding-top:20px}.systems-row{gap:12px}.systems-row span{font-size:13px;min-height:45px;padding:8px 5px}.systems-row--output span{font-size:11px}.integration-bus{padding:20px 8px}.integration-bus strong{font-size:15px}.integration-bus .mono{font-size:9px}.map-caption{font-size:11px}.delivery-evidence{grid-template-columns:1fr;gap:16px;margin-top:16px;padding-top:24px}.delivery-evidence h3{font-size:25px}.delivery-evidence ul{font-size:14px;gap:16px 20px}.delivery-evidence>.mono{font-size:10px;padding:0}.security-overview{grid-template-columns:1fr;gap:36px;margin-bottom:32px}.security-model{min-height:380px;padding:24px 20px}.security-rings{height:300px}.security-ring span{font-size:10px;top:10px}.security-core{width:80px;height:68px;font-size:15px}.security-scope h3{font-size:27px}.security-scope .section-kicker{font-size:12px}.scope-list p{font-size:14px}.security-capabilities .service-item{display:block;padding-block:24px}.security-capabilities .service-item ul{grid-template-columns:1fr;gap:8px}.security-footer{display:block;margin-top:16px;padding-top:20px}.security-footer p{font-size:13px}.security-footer .text-link{margin-top:12px;font-size:15px}.compact-heading{display:block;margin-bottom:32px}.compact-heading .section-kicker{margin-bottom:20px;font-size:12px}.compact-heading>p:last-child{font-size:16px;line-height:1.8;margin-top:20px}.capability-grid{grid-template-columns:1fr;gap:0}.capability{gap:16px;grid-template-columns:25px 1fr;padding-block:24px}.capability>.mono{font-size:11px}.capability h3{font-size:21px}.capability p{font-size:14px}.capability .cap-output{font-size:12px}.cooperation-grid{grid-template-columns:1fr;gap:0}.cooperation-grid article{padding-block:24px}.cooperation-grid h3{font-size:24px;margin-top:8px}.cooperation-grid ul{grid-template-columns:1fr 1fr;gap:8px 20px}.cooperation-grid .mono{font-size:10px}.cooperation-grid p{font-size:15px}.cooperation-grid li{font-size:13px}.process-timeline{grid-template-columns:1fr;gap:28px;margin-top:20px;padding-top:32px}.process-timeline li{grid-template-columns:35px 1fr;gap:16px}.process-no{font-size:27px}.process-timeline p{font-size:14px;margin-top:8px}.contract-note{display:block;margin-top:32px;padding-top:24px}.contract-note p{font-size:14px}.contract-note .text-link{font-size:15px;margin-top:8px}.acceptance-section{padding-block:56px}.acceptance-section .container{grid-template-columns:1fr;gap:24px}.acceptance-section h2{font-size:34px;line-height:1.4}.acceptance-section .section-kicker{font-size:12px;margin-bottom:20px}.acceptance-links .text-link{font-size:15px;padding-block:16px;gap:16px}.service-cta{padding-block:64px}.service-cta .section-kicker{font-size:12px;margin-bottom:20px}.service-cta h2{font-size:clamp(34px,8.7vw,50px)}.service-cta p:not(.section-kicker){font-size:16px;line-height:1.85;margin-block:24px}.service-cta .solid-link{font-size:15px;margin-right:16px}.service-cta .text-link{font-size:15px;gap:16px}.site-footer{padding-top:32px}.footer-promise{grid-template-columns:1fr 1fr;gap:16px 16px;padding-bottom:24px}.footer-promise__item{font-size:11px}.footer-top{grid-template-columns:1fr 1fr;gap:32px 24px;padding-block:32px}.footer-brand{display:block}.footer-brand p{font-size:13px;margin-top:16px;max-width:300px}.footer-col:last-child{grid-column:1 / -1}.footer-col:last-child ul{display:flex;flex-wrap:wrap;gap:5px 24px}.footer-col h3{font-size:13px;margin-bottom:12px}.footer-col li{font-size:12px}.footer-bottom{display:block;font-size:11px}.footer-bottom>span{display:block;margin-bottom:6px}html:lang(en) h1{font-size:clamp(42px,11vw,62px)}html:lang(en) h2{font-size:clamp(32px,8.5vw,48px)}html:lang(en) .hero-grid{grid-template-columns:1fr}html:lang(en) .service-index strong{font-size:14px}html:lang(ja) h1,html:lang(ko) h1{font-size:clamp(40px,10vw,62px)}html:lang(en) .service-index a>span:not(.mono){font-size:11px}html:lang(en) .workbench-grid{min-height:0}html:lang(en) .demo-scenarios button>span:not(.mono){font-size:11px}html:lang(en) .system-tabs button{font-size:12px}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.hero-actions{gap:12px}h1{font-size:39px}.service-index strong{font-size:13px}.service-index a>span:not(.mono){font-size:10px}.service-index svg{display:none}.demo-scenarios button>span:not(.mono){font-size:11px}.demo-content{padding-inline:16px}.evaluation-grid{grid-template-columns:1fr}.fde-capabilities .service-item ul,.agent-capabilities .service-item ul,.dev-capabilities .service-item ul{grid-template-columns:1fr}.role-pair{padding:24px}.system-visual{height:350px}.system-description p{font-size:10px}.footer-promise__item{font-size:10px}.service-cta .text-link{margin-top:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.system-canvas{opacity:1}.field-photo:hover img{transform:none}.text-link:hover svg{transform:none}}
@media print{.site-header{position:static}.hero-grid{grid-template-columns:1fr}.system-visual,.hero-actions,.service-index,.agent-workbench,.service-cta{display:none}.service-section{padding-block:32px}.agent-section,.acceptance-section{background:white;color:black;--brand:#101828;--brand-400:#475467;--text-2:#475467;--muted:#333;--line:#bbb;--line-strong:#cad4e1;--surface:#fff;--accent-ink:#0058b0}.agent-section *{color:black!important}.services-main article,.fde-method li{break-inside:avoid}.chapter-heading{display:block}.chapter-heading>p:last-child{margin-top:16px}.site-footer{background:white}}
.field-photo{min-width:0;width:100%}.demo-content[data-state="boundary"] .demo-route span:nth-of-type(2){color:#9b6b36}.demo-content[data-state="boundary"] .demo-route span:nth-of-type(n+3){color:#55647a;text-decoration:line-through}.demo-content[data-state="boundary"] .demo-route i:nth-of-type(n+2){background:#cad4e1}.demo-content[data-state="action"] .demo-route span:last-of-type{color:#946a33}.demo-content[data-state="confirmed"] .demo-route span{color:#475467}.demo-content[data-state="confirmed"] .demo-route i{background:#344d70}
/* Reading text is larger than supporting UI labels. */
.service-item>p,.agent-capabilities .service-item>p,.dev-capabilities .service-item>p,.security-capabilities .service-item>p{font-size:17px;line-height:1.85}.service-item li,.agent-capabilities li,.dev-capabilities .service-item li,.security-capabilities .service-item li{font-size:15px;line-height:1.85}.capability p{font-size:16px}.evaluation-grid article>p{font-size:16px}.evaluation-grid li{font-size:14px}.process-timeline p{font-size:16px}.scope-list p{font-size:16px}.role p{font-size:17px}
@media(max-width:720px){.service-item>p,.agent-capabilities .service-item>p,.dev-capabilities .service-item>p,.security-capabilities .service-item>p{font-size:16px}.service-item li,.agent-capabilities li,.dev-capabilities .service-item li,.security-capabilities .service-item li{font-size:15px}.capability p{font-size:15px}.evaluation-grid article>p{font-size:15px}.evaluation-grid li{font-size:14px}.process-timeline p,.scope-list p{font-size:15px}.role p{font-size:16px}}
/* Each anchor owns the header offset; adding root scroll padding would count it twice. */
html{scroll-padding-top:0}
html:lang(ko) .services-main{word-break:keep-all;overflow-wrap:break-word}
.lang-btn{min-height:44px}

/* 触控目标 ≥24px（WCAG 2.2 SC 2.5.8）—— 完整版
   实测三种情形，需要三种写法：
     · .breadcrumb a          display:block        → min-height 生效
     · .footer-col a          display:inline-block → min-height 生效
     · .footer-bottom a       display:inline       → **min-height 被忽略**，
                                只能用 padding-block 撑开盒子
   行高统一 1.75（14px→24.5 / 13px→22.75，13px 的再由 min-height 兜底）。
   注：正文段落里的内联链接（如 .hero-cta-note a）按 WCAG 属 inline
   例外，不处理。 */
.breadcrumb a,.mega-a,.site-footer a{line-height:1.75}
.breadcrumb a,.site-footer a{min-height:24px}
.footer-bottom a{padding-block:2px}

/* ══════════════════════════════════════════════════════════════════════
   2026-10-18 · 首屏「交付链路」重做（替换原 WebGL 抽象几何）
   ──────────────────────────────────────────────────────────────────────
   旧实现的问题（实测）：
     ① 用 WebGL 画 4 种抽象线框（波浪线/纺锤/平行板/环形），
        **与业务没有任何对应关系** —— 观众看不出「FDE 为什么是两条波浪线」。
     ② 实测 `webglReady=false`：WebGL 没初始化成功，画布停在默认 300×150，
        页面上只剩 `.system-fallback` 的 4 个空白斜方块 —— 首屏最显眼的位置等于空着。
     ③ 4 个 tab 切换只改了底部一行 10px 小字，视觉上几乎无变化，
        用户点 tab 得不到任何反馈。

   新实现：用纯 HTML + CSS 画一条**真实的交付链路**
       INPUT 现场问题 → [三条阶段，每条带「输出」] → OUTPUT 可运行的系统
       · 切换 tab：中间三个阶段、输出物、底部「闸」说明**真的会换内容**
       · 不依赖 WebGL / canvas / 任何第三方库 ⇒ 天然可渲染、可打印、可降级
       · 所有文案取自 services.html 正文里的真实描述，不是编的
   ══════════════════════════════════════════════════════════════════════ */

/* ---- 容器：沿用 .system-visual 的外框，改内部布局 ---- */
.chain-visual{display:flex;flex-direction:column;padding:0;background:var(--tint)}

.chain-flow{
  flex:1;min-height:0;
  display:grid;
  grid-template-columns:auto 24px minmax(0,1fr) 24px auto;
  align-items:stretch;
  gap:0;
  padding:54px 20px 16px;
}

/* ---- 两端：INPUT / OUTPUT ---- */
.chain-end{
  display:flex;flex-direction:column;justify-content:center;gap:6px;
  padding:0 6px;min-width:74px;
}
.chain-end .mono{font-size:10px;letter-spacing:.08em;color:var(--muted)}
.chain-end strong{font-size:13px;line-height:1.45;font-weight:600;color:var(--ink)}
.chain-end--out{text-align:right}

/* ---- 连接箭头 ---- */
.chain-arrow{
  position:relative;align-self:center;height:1px;background:var(--line-strong);
}
.chain-arrow:after{
  content:"";position:absolute;right:-1px;top:-3px;
  width:6px;height:6px;border-top:1px solid var(--line-strong);border-right:1px solid var(--line-strong);
  transform:rotate(45deg);
}

/* ---- 中间主体 ---- */
.chain-body{display:flex;flex-direction:column;gap:10px;min-width:0}

/* tab 条：四个业务线 */
.chain-body .system-tabs{position:static;left:auto;right:auto;bottom:auto;display:flex;gap:6px}
.chain-body .system-tabs button{
  flex:1;min-height:34px;padding:6px 8px;
  font-size:12px;font-weight:500;
  border:1px solid var(--line-strong);border-radius:6px;
  background:var(--surface);color:var(--text-2);cursor:pointer;
  transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.chain-body .system-tabs button:hover{border-color:var(--accent);color:var(--accent-ink)}
.chain-body .system-tabs button[aria-selected="true"]{
  background:var(--ink);border-color:var(--ink);color:#fff;
}
.chain-body .system-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* 面板 */
.chain-panes{flex:1;min-height:0;display:flex}
.chain-pane{display:none;flex-direction:column;gap:8px;width:100%}
.chain-pane.is-active{display:flex}

.chain-head{margin:0;display:flex;flex-direction:column;gap:2px}
.chain-head strong{font-size:13px;font-weight:600;color:var(--ink);line-height:1.4}
.chain-head span{font-size:11px;line-height:1.5;color:var(--muted)}

/* 三个阶段：横向三列 */
.chain-steps{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.chain-step{
  display:flex;flex-direction:column;gap:4px;
  padding:10px 10px 9px;
  border:1px solid var(--line);
  border-top:2px solid var(--accent);
  border-radius:0 0 6px 6px;
  background:var(--surface);
  min-width:0;
}
.chain-step__n{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--accent-ink)}
.chain-step__t{font-size:12px;font-weight:600;line-height:1.35;color:var(--ink)}
.chain-step__d{font-size:10.5px;line-height:1.5;color:var(--muted);flex:1}
.chain-step__o{
  display:block;margin-top:2px;padding-top:6px;
  border-top:1px dashed var(--line);
  font-size:10px;line-height:1.45;color:var(--text-2);
}
.chain-step__o i{
  display:block;font-style:normal;font-size:9px;letter-spacing:.06em;
  color:var(--accent-ink);font-weight:600;margin-bottom:1px;
}

/* 底部一句：这一条线的「闸」 */
.chain-note{
  margin:0;padding:0 20px 18px;
  font-size:10.5px;line-height:1.55;color:var(--muted);
}

/* ---------- 响应式 ---------- */
@media (max-width:1180px){
  .chain-flow{padding:48px 16px 14px;grid-template-columns:auto 16px minmax(0,1fr) 16px auto}
  .chain-end{min-width:62px}
  .chain-end strong{font-size:12px}
  .chain-step{padding:8px}
  .chain-step__d{font-size:10px}
}
@media (max-width:1000px){
  /* 窄屏：两端标签移到上下，主体占满宽 */
  .chain-flow{display:flex;flex-direction:column;gap:10px;padding:46px 16px 12px}
  .chain-arrow{display:none}
  .chain-end{flex-direction:row;align-items:baseline;gap:8px;min-width:0;padding:0}
  .chain-end--out{text-align:left;justify-content:flex-end}
  .chain-end strong{font-size:12px}
  .chain-body{order:0}
  .chain-end--in{order:-1}
  .chain-end--out{order:1}
  .chain-note{padding:0 16px 14px}
}
@media (max-width:760px){
  .chain-steps{grid-template-columns:1fr;gap:6px}
  .chain-step{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:8px 10px}
  .chain-step__d{flex:0 0 100%;font-size:10px}
  .chain-step__o{flex:0 0 100%;border-top:0;padding-top:2px;margin-top:0}
  .chain-step__o i{display:inline;margin-right:4px}
  .chain-body .system-tabs button{min-height:30px;font-size:11px}
  .chain-visual{height:auto !important;min-height:0}
  .system-visual.chain-visual{height:auto}
}

/* ── 交付链路：版面修正（2026-10-18 实拍两轮后定稿）───────────────────────
   试过两种「填满」思路，都不对：
     ① 只把内容放顶部 ⇒ 容器底部留 200px 空白，像没写完；
     ② 让卡片 flex:1 撑满 ⇒ 卡片被拉到 350px，中间一大片空白，更难看。
   正确做法是**让容器跟着内容走**：链路本身的高度由「三张卡 + tab + 说明」决定，
   容器不再固定 500px。这样既没有空白，也不会把卡片拉变形。
   ★ 原 `.system-visual{height:500px}` 是给 WebGL 画布定的固定尺寸，
     现在没有画布了，固定高度就没有意义。
   ---------------------------------------------------------------------- */
.system-visual.chain-visual{height:auto;min-height:0}

.chain-visual{--chain-pad:18px}

.chain-flow{
  padding:50px var(--chain-pad) 12px;
  align-items:start;
}

/* 两端标签与中间主体顶部对齐（原来 vertical 居中会随内容高度漂移） */
.chain-end{
  padding-top:44px;      /* 让开 tab 条高度，与阶段卡首行对齐 */
  min-width:70px;
}

/* 连接箭头对齐到阶段卡的中线 */
.chain-arrow{align-self:start;margin-top:132px}

/* 阶段卡：三张等宽，高度由内容决定，最小高度保证不塌 */
.chain-steps{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.chain-step{min-height:168px}

/* 标题不折行：字号收到 11.5px + 收紧字距 */
.chain-step__t{font-size:11.5px;line-height:1.3;letter-spacing:-.01em}

/* 输出行贴卡片底部（卡片内部对齐，不是整页） */
.chain-step__d{flex:1}

/* tab 条与阶段卡同宽 */
.chain-body .system-tabs{padding:0}

.chain-note{padding:0 var(--chain-pad) 16px}

/* ── 修正：上面的定稿段覆盖了 760 断点（后写优先，且不在 media 内）─────
   结果 390px 下阶段卡仍是三列各 100px，文字挤成一团。
   这里按断点重新声明，放在文件最后确保生效。 */
@media (max-width:1000px){
  .chain-flow{display:flex;flex-direction:column;gap:12px;padding:46px var(--chain-pad) 12px}
  .chain-arrow{display:none}
  .chain-end{padding-top:0;flex-direction:row;align-items:baseline;gap:8px;min-width:0}
  .chain-end--in{order:-1}
  .chain-end--out{order:1;justify-content:flex-end;text-align:left}
  .chain-body{order:0;width:100%}
}
@media (max-width:760px){
  .chain-steps{grid-template-columns:1fr;gap:8px;align-items:start}
  .chain-step{
    min-height:0;
    flex-direction:column;align-items:flex-start;gap:3px;
    padding:10px 12px;
  }
  .chain-step__t{font-size:12px}
  .chain-step__d{font-size:10.5px;flex:0 0 auto}
  .chain-step__o{border-top:0;padding-top:3px;margin-top:0;width:100%}
  .chain-step__o i{display:inline;margin-right:5px}
  .chain-end strong{font-size:12px}
  .chain-head strong{font-size:12px}
  .chain-head span{font-size:10.5px}
  .chain-note{font-size:10px}
  .system-visual.chain-visual{height:auto !important}
}

/* 平板档（760–1180）：三列各 70px 太窄，标题必折、正文断成竖条。
   这一档也让阶段卡纵向排列 —— 卡片只有 3 个，纵向读反而更顺。 */
@media (min-width:761px) and (max-width:1180px){
  .chain-flow{display:flex;flex-direction:column;gap:12px;padding:46px var(--chain-pad) 12px}
  .chain-arrow{display:none}
  .chain-end{padding-top:0;flex-direction:row;align-items:baseline;gap:8px;min-width:0}
  .chain-end--in{order:-1}
  .chain-end--out{order:1;justify-content:flex-end;text-align:left}
  .chain-body{order:0;width:100%}
  .chain-steps{grid-template-columns:1fr;gap:8px;align-items:start}
  .chain-step{min-height:0;flex-direction:column;gap:4px;padding:12px 14px}
  .chain-step__d{flex:0 0 auto;font-size:11px}
  .chain-step__o{border-top:0;padding-top:4px}
  .chain-step__o i{display:inline;margin-right:6px}
}

/* ── 交付链路：拉丁语系改单列（2026-10-18 实拍后定稿）────────────────────
   英文单词长（"deployment" 一个词约 90px），三列各 108px 时正文被切成竖条；
   试过两列（第三张横跨两列），会出现一张横卡 + 大块内部空隙，也不好看。
   最终：拉丁语系整条链路走**单列纵向**，每张卡占满宽度、三行读完，
   这种「纵向流水线」反而更贴合「链路」的语义（从上到下就是先后顺序）。
   中文/日文/韩文维持三列横排（每字 13px，本来就紧凑）。
   ---------------------------------------------------------------------- */
.chain-visual:lang(en) .chain-flow{
  display:flex;flex-direction:column;gap:12px;
  padding:48px var(--chain-pad) 12px;
}
.chain-visual:lang(en) .chain-arrow{display:none}
.chain-visual:lang(en) .chain-end{
  padding-top:0;flex-direction:row;align-items:baseline;gap:8px;min-width:0;
  justify-content:flex-start;
}
.chain-visual:lang(en) .chain-end--out{justify-content:flex-end;text-align:left}
.chain-visual:lang(en) .chain-steps{
  grid-template-columns:1fr;gap:8px;align-items:start;
}
.chain-visual:lang(en) .chain-step{
  min-height:0;flex-direction:column;gap:4px;padding:12px 14px;
}
.chain-visual:lang(en) .chain-step__d{flex:0 0 auto;font-size:11px;line-height:1.55}
.chain-visual:lang(en) .chain-step__o{border-top:0;padding-top:4px}
.chain-visual:lang(en) .chain-step__o i{display:inline;margin-right:6px}
