/* Services-only styles. Do not style or initialize any homepage section. */
.ohds-document{scrollbar-gutter:stable}
body.ohds-view{margin:0;background:#fff;color:#111;font-family:var(--ohd-font-sans,"Helvetica Neue",Arial,sans-serif);-webkit-font-smoothing:antialiased}
.ohds-view .ohds,.ohds-view .ohds-footer{--ohds-red:#d71920;--ohds-line:#d5d5d2;--ohds-muted:#646461;--ohds-space:clamp(24px,4.2vw,80px);--ohds-type-section:clamp(1.75rem,3vw,3rem);--ohds-type-subhead:clamp(1.5rem,2.3vw,2.25rem);--ohds-type-body:clamp(.9375rem,1.15vw,1.0625rem);--ohds-type-intro:clamp(1rem,1.45vw,1.28rem);font-family:var(--ohd-font-sans,"Helvetica Neue",Arial,sans-serif);letter-spacing:0}
.ohds *,.ohds-footer *{box-sizing:border-box}
.ohds a,.ohds-footer a{color:inherit;text-decoration:none}
.ohds button{font:inherit;color:inherit;cursor:pointer;border-radius:0}
.ohds button:disabled{cursor:default;opacity:.4}
.ohds :focus-visible,.ohds-footer :focus-visible{outline:2px solid var(--ohds-red);outline-offset:5px}
.ohds [hidden]{display:none!important}
.ohds h1,.ohds h2,.ohds h3,.ohds p,.ohds dl,.ohds dd{margin:0}
.ohds :is(h1,h2,h3,p,dt,dd):lang(zh),.ohds :is(h1,h2,h3,p,dt,dd):lang(ja){line-break:strict;word-break:normal}
.ohds svg{display:block}
.ohds{padding-top:var(--ohd-nav-height,76px);max-width:1920px;margin:auto}
.ohds section{scroll-margin-top:calc(var(--ohd-nav-height,76px) + 24px)}
.ohds-shell{margin:0 var(--ohds-space);display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:clamp(12px,1.8vw,34px)}
.ohds-section-index{font-size:12px;line-height:1.5;padding-top:9px;font-variant-numeric:tabular-nums}
.ohds-hero{padding-top:clamp(50px,7vw,114px);padding-bottom:clamp(70px,9vw,144px)}
.ohds-hero .ohds-section-index{padding-top:18px}
/* Same page-title scale and mobile breakpoint as the existing Portfolio page. */
.ohds-wordmark{font-family:inherit;font-weight:650;letter-spacing:0;font-size:clamp(3.35rem,6vw,6.25rem);line-height:.9;display:flex;align-items:baseline;padding-bottom:24px;overflow:hidden}
.ohds-wordmark>span{display:inline-block;animation:ohds-title-enter 1.05s cubic-bezier(.2,.75,.25,1) both}
.ohds-wordmark .ohds-dot{color:var(--ohds-red);animation-delay:.15s}
.ohds-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,144px);padding-top:clamp(38px,5vw,78px)}
.ohds-display{font-weight:620;font-size:var(--ohds-type-section);line-height:1.2;letter-spacing:0;text-wrap:balance;max-width:18em}
.ohds-hero-copy{max-width:640px;align-self:start}
.ohds-hero-copy p{font-size:var(--ohds-type-body);line-height:1.75;margin-bottom:20px}
.ohds .ohds-intro{font-size:var(--ohds-type-intro);font-weight:400;line-height:1.6}
.ohds-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:32px}
.ohds-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:16px 23px;background:#111;color:#fff!important;font-size:14px;position:relative;isolation:isolate;overflow:hidden}
.ohds-button:before{content:"";position:absolute;inset:0;background:var(--ohds-red);transform:translateY(102%);transition:transform .3s ease;z-index:-1}
.ohds-button:hover:before,.ohds-button:focus-visible:before{transform:translateY(0)}
.ohds-button svg,.ohds-text-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;flex:none;transition:transform .25s ease}
.ohds-button:hover svg,.ohds-text-link:hover svg{transform:translate(2px,-2px)}
.ohds-text-link{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid #777;padding:7px 0;line-height:1.5;font-size:13px;max-width:100%}
.ohds-text-link:hover{color:var(--ohds-red);border-color:var(--ohds-red)}
.ohds-section{border-top:1px solid var(--ohds-line);padding-top:clamp(35px,4vw,65px);padding-bottom:clamp(60px,7vw,112px)}
.ohds-section-head{margin-bottom:45px}
.ohds-label{color:var(--ohds-muted);font-size:12px;font-weight:500;letter-spacing:0;line-height:1.5}
.ohds-section-head>.ohds-label,.ohds-network-head .ohds-label{margin-bottom:16px}
.ohds-section-head h2{font-size:var(--ohds-type-section);letter-spacing:0;line-height:1.2;font-weight:620;text-wrap:balance}
.ohds-subtitle{color:var(--ohds-muted);font-size:var(--ohds-type-body);line-height:1.75;max-width:44em}
.ohds-section-head>.ohds-subtitle{margin-top:17px}
.ohds-modes{display:grid;grid-template-columns:1fr 1fr}
.ohds-mode{min-width:0;padding-right:clamp(28px,4vw,72px)}
.ohds-mode+.ohds-mode{border-left:1px solid var(--ohds-line);padding-left:clamp(28px,4vw,72px);padding-right:0}
.ohds-mode-number{font-size:12px;margin-bottom:22px;color:var(--ohds-red)}
.ohds-mode h3{font-weight:600;font-size:var(--ohds-type-subhead);line-height:1.22;letter-spacing:0;text-wrap:balance}
.ohds-mode-en{font-size:13px;line-height:1.5;letter-spacing:0;margin-top:9px!important;color:var(--ohds-muted)}
.ohds-mode-fit{margin-top:22px!important;font-size:var(--ohds-type-body);line-height:1.75;min-height:5.25em;max-width:35em}
.ohds-diagram{height:190px;margin:25px 0 38px;position:relative;display:flex;align-items:center;gap:24px}
.ohds-diagram svg{width:100%;min-width:0;height:150px;overflow:visible}
.ohds-diagram--lead svg{flex:1 1 0}
.ohds-diagram-labels{flex:none;display:flex;flex-direction:column;justify-content:space-between;height:145px;font-size:11px}
.ohds-diagram-track{stroke:#adadab;stroke-width:1;vector-effect:non-scaling-stroke}
.ohds-diagram-flow{stroke:var(--ohds-red);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:800;stroke-dashoffset:800;transition:stroke-dashoffset 1.6s cubic-bezier(.3,.1,.25,1)}
.ohds-mode.is-visible .ohds-diagram-flow,.ohds:not(.ohds-enhanced) .ohds-diagram-flow{stroke-dashoffset:0}
.ohds-mode:hover .ohds-diagram-track{stroke:#222}
.ohds-diagram--collab{flex-direction:column;justify-content:center;gap:12px}
.ohds-diagram-captions{display:flex;justify-content:space-between;width:100%;font-size:11px;color:var(--ohds-muted)}
.ohds-mode-body{font-size:var(--ohds-type-body);line-height:1.75;min-height:8.75em;color:#4b4b48;margin-bottom:28px!important}
.ohds-mode-details>div{display:grid;grid-template-columns:90px 1fr;gap:18px;border-top:1px solid var(--ohds-line);padding:16px 0;font-size:13px;line-height:1.7}
.ohds-mode-details dt{color:#222}
.ohds-mode-details dd{color:var(--ohds-muted)}
.ohds-section-foot{display:flex;justify-content:flex-end;margin-top:35px}
.ohds-basis>div{display:grid;grid-template-columns:.9fr 1.5fr;gap:40px;border-top:1px solid var(--ohds-line);padding:25px 0;align-items:baseline}
.ohds-basis dt{font-size:clamp(1.25rem,1.8vw,1.75rem);font-weight:560;line-height:1.3;letter-spacing:0;display:flex;align-items:baseline;gap:35px}
.ohds-basis-number{font-size:11px;letter-spacing:0;color:var(--ohds-muted)}
.ohds-basis dd{font-size:var(--ohds-type-body);line-height:1.75;color:#4b4b48;max-width:45em}
.ohds-fineprint{font-size:11px;line-height:1.7;color:var(--ohds-muted);margin-top:20px!important}
.ohds-network-head{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:end;margin-bottom:28px}
.ohds-network-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,1fr);gap:clamp(24px,4vw,70px);align-items:center}
.ohds-network-stage{min-width:0}
.ohds-network-host{position:relative;width:100%;height:clamp(440px,45vw,730px);touch-action:pan-y;isolation:isolate}
.ohds-network-host canvas{display:block;width:100%;height:100%;touch-action:pan-y}
.ohds-network-toolbar{border-top:1px solid var(--ohds-line);padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ohds-network-hint{font-size:11px;color:var(--ohds-muted)}
.ohds-network-arrows{display:flex;gap:7px}
.ohds-network-arrows button{width:46px;height:42px;border:1px solid var(--ohds-line);background:none;display:grid;place-items:center;transition:color .2s,border-color .2s}
.ohds-network-arrows button:hover{color:var(--ohds-red);border-color:var(--ohds-red)}
.ohds-network-arrows svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.2}
.ohds-inline-button{border:0;background:none;font-size:11px!important;padding:10px 0;text-decoration:underline;text-underline-offset:5px}
.ohds-project-detail{border-left:1px solid var(--ohds-line);padding-left:clamp(24px,3vw,52px);min-width:0}
.ohds-detail-image{display:block;overflow:hidden;aspect-ratio:4/3;background:#f5f5f3;margin-bottom:24px}
.ohds-detail-image img{width:100%;height:100%;object-fit:contain;transition:opacity .2s ease}
.ohds-selected-count{display:flex;justify-content:space-between;margin-bottom:15px!important;font-variant-numeric:tabular-nums}
.ohds-selected-count>span:last-child{color:var(--ohds-red)}
.ohds-project-detail h3{font-size:clamp(1.25rem,1.6vw,1.625rem);font-weight:560;line-height:1.25;letter-spacing:0;overflow-wrap:anywhere;min-height:2.5em}
.ohds-project-detail dl{margin:25px 0 32px;font-size:12px;line-height:1.6;border-top:1px solid var(--ohds-line);padding-top:15px}
.ohds-project-detail dl>div{display:grid;grid-template-columns:75px 1fr;gap:15px;margin-bottom:8px}
.ohds-project-detail dt{color:var(--ohds-muted)}
.ohds-project-links{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0}
.ohds-project-links>a{margin-left:auto}
.ohds-network-status{font-size:13px;color:var(--ohds-muted);line-height:1.7;padding:25px 0}
.ohds-project-list{padding:0;margin:0;list-style:none}
.ohds-project-list li{border-top:1px solid var(--ohds-line)}
.ohds-project-list a{display:grid;grid-template-columns:26px 100px 1fr 160px 18px;align-items:center;gap:22px;padding:18px 0;transition:color .2s}
.ohds-project-list a:hover{color:var(--ohds-red)}
.ohds-project-list img{width:100px;height:70px;object-fit:cover;background:#f5f5f3}
.ohds-project-list svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3}
.ohds-list-index{font-size:11px;color:var(--ohds-muted)}
.ohds-list-title{font-size:18px;font-weight:560;line-height:1.3;letter-spacing:0}
.ohds-list-type{font-size:11px;color:var(--ohds-muted)}
.ohds-closing-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(40px,8vw,140px)}
.ohds-closing .ohds-display{font-size:var(--ohds-type-section);font-weight:620;line-height:1.2}
.ohds-closing .ohds-muted{font-size:var(--ohds-type-body);line-height:1.75;color:var(--ohds-muted);margin:22px 0 32px}
.ohds-footer{margin:0 var(--ohds-space);border-top:1px solid var(--ohds-line);padding:26px 0 34px;display:flex;align-items:center;gap:35px;font-size:11px}
.ohds-footer>a{font-size:22px;letter-spacing:0}
.ohds-footer small{font-size:10px;margin-left:auto;color:var(--ohds-muted)}
.ohds-footer p{margin:0}
.ohds-skip{position:fixed;top:-100px;left:20px;padding:12px 20px;background:white;color:black;z-index:10001}
.ohds-skip:focus{top:12px}
.ohds-visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.ohds.ohds-enhanced [data-ohds-reveal]{transition:opacity .7s ease,transform .85s cubic-bezier(.2,.7,.2,1)}
.ohds.ohds-enhanced [data-ohds-reveal]:not(.is-visible){opacity:0;transform:translateY(22px)}
@keyframes ohds-title-enter{from{transform:translateY(110%)}to{transform:translateY(0)}}
@media(min-width:1600px){.ohds-shell{grid-template-columns:65px minmax(0,1fr)}.ohds-mode-body{min-height:7.4em}}
@media(max-width:1050px){
 .ohds-shell{grid-template-columns:28px minmax(0,1fr)}
 .ohds-mode-fit{min-height:7em}.ohds-mode-body{min-height:13em}
 .ohds-hero-grid{gap:40px}.ohds-actions{gap:18px}
 .ohds-network-grid{grid-template-columns:minmax(0,1.45fr) minmax(230px,1fr);gap:20px}
 .ohds-network-host{height:440px}.ohds-project-detail{padding-left:20px}
 .ohds-network-hint{flex-basis:100%}.ohds-project-list a{grid-template-columns:22px 90px 1fr 100px 16px;gap:16px}
}
@media(max-width:760px){
 .ohds-view .ohds,.ohds-view .ohds-footer{--ohds-space:24px}
 .ohds-shell{grid-template-columns:1fr;gap:0}.ohds-section-index{margin-bottom:24px;font-size:10px;padding:0}
 .ohds-hero{padding-top:34px;padding-bottom:64px}.ohds-hero .ohds-section-index{padding:0;margin-bottom:20px}
 .ohds-wordmark{padding-bottom:23px}
 .ohds-hero-grid{grid-template-columns:1fr;gap:24px;padding-top:34px}
 .ohds-display{max-width:18em}
 .ohds-hero-copy p{margin-bottom:16px}
 .ohds-actions{margin-top:26px;gap:24px}.ohds-button{padding:14px 18px;min-height:48px;font-size:13px;gap:24px}
 .ohds-section{padding-top:28px;padding-bottom:55px}.ohds-section-head{margin-bottom:30px}
 .ohds-section-head>.ohds-label,.ohds-network-head .ohds-label{margin-bottom:13px}
 .ohds-modes{grid-template-columns:1fr}
 .ohds-mode{padding:0}.ohds-mode+.ohds-mode{padding:38px 0 0;margin-top:32px;border-left:0;border-top:1px solid var(--ohds-line)}
 .ohds-mode-number{margin-bottom:15px}.ohds-mode-fit{min-height:0;margin-top:18px!important}
 .ohds-diagram{height:155px;margin:22px 0 28px}.ohds-diagram svg{height:130px}.ohds-diagram-labels{height:120px;font-size:10px}
 .ohds-mode-body{min-height:0;margin-bottom:24px!important}.ohds-mode-details>div{grid-template-columns:minmax(70px,max-content) minmax(0,1fr);gap:18px}
 .ohds-basis>div{grid-template-columns:1fr;gap:13px;padding:22px 0}.ohds-basis dt{gap:22px}.ohds-basis dd{padding-left:36px}
 .ohds-network-head{grid-template-columns:1fr;gap:15px;margin-bottom:10px}.ohds-network-grid{grid-template-columns:1fr;gap:30px}
 .ohds-network-host{height:clamp(330px,100vw,570px);margin:0}.ohds-network-hint{flex-basis:auto;max-width:45%;font-size:10px}
 .ohds-network-toolbar{gap:10px}.ohds-network-arrows{gap:5px}.ohds-network-arrows button{width:40px;height:40px}
 .ohds-project-detail{border-left:0;padding-left:0;display:grid;grid-template-columns:minmax(115px,.8fr) 1fr;gap:12px 20px;align-items:start}
 .ohds-detail-image{grid-row:1/5;aspect-ratio:1;margin:0}.ohds-selected-count{font-size:9px;margin:0!important;gap:8px}
 .ohds-project-detail h3{font-size:21px;min-height:0}.ohds-project-detail dl{margin:0;padding-top:10px;font-size:11px}.ohds-project-detail dl>div{grid-template-columns:40px 1fr;gap:7px;margin-bottom:4px}
 .ohds-project-detail .ohds-text-link{justify-self:start;font-size:12px}
 .ohds-project-list a{grid-template-columns:20px 65px 1fr 14px;gap:12px;padding:14px 0}.ohds-project-list img{width:65px;height:55px}.ohds-list-title{font-size:14px}.ohds-list-type{display:none}
 .ohds-closing-grid{grid-template-columns:1fr;gap:26px}.ohds-closing .ohds-display{max-width:18em}
 .ohds-footer{flex-wrap:wrap;gap:16px;padding:25px 0}.ohds-footer p{font-size:10px}.ohds-footer small{flex-basis:100%;margin-left:0}
}
@media(max-width:620px){.ohds-wordmark{font-size:clamp(3.25rem,16vw,4.75rem);line-height:.88}}
@media(max-width:370px){.ohds-view .ohds,.ohds-view .ohds-footer{--ohds-space:18px}.ohds-network-hint{max-width:40%}.ohds-network-arrows button{width:36px}.ohds-project-detail{gap:10px 14px}.ohds-project-detail h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){.ohds *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ohds.ohds-enhanced [data-ohds-reveal]:not(.is-visible){opacity:1;transform:none}.ohds-diagram-flow{stroke-dashoffset:0}}
