.top-zone{min-height:100svh}.company,.expertise,.approach{min-height:0;padding-block:clamp(64px,7vw,108px)}.factory-band,.spatial-band,.system-band{min-height:0}.closing{min-height:85svh}
.hero-main{grid-template-columns:.94fr 1.16fr;align-items:start;gap:18px;padding-block:24px}.hero h1{font-size:clamp(47px,5.1vw,87px);line-height:1.09}.hero-art{width:100%;margin:0}.hero-art .model-stage{width:112%;margin-left:-6%}.hero-art .model-stage svg{width:100%;height:auto;max-height:none}.hero-description{max-width:440px}
.company h2{font-size:clamp(36px,4vw,65px)}.company-summary{margin-top:35px}.company-principles{display:flex;flex-wrap:wrap;gap:10px 26px;padding-top:18px;margin-top:25px;border-top:1px solid var(--rule);font-size:10px;line-height:1.8;color:#555555}
.factory-band{padding-block:55px 30px}.factory-heading{grid-template-columns:.7fr 1.1fr 1.2fr;gap:38px}.factory-heading h2{font-size:clamp(36px,3.5vw,57px)}.factory-heading .body-copy{font-size:13px;line-height:1.9;margin:0;padding-top:4px}.factory-rich-scene{width:100%;margin:10px auto 0}.factory-band .model-controls{max-width:1040px;margin-inline:auto}.factory-band .model-detail{text-align:left;min-height:44px;max-width:none;margin:0}
.engineering-surface{--model-line:#505050;--model-label:#b2b2b2;--model-text:#d0d0d0;--model-selected:#eeeeee;--model-selected-text:#171717}.model-controls{border-top:1px solid var(--model-line);padding-top:15px}.model-control-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 20px;margin-bottom:11px}.model-control-heading strong{font-size:11px;font-weight:500;line-height:1.7;color:var(--model-text)}.model-control-heading span{font-size:10px;line-height:1.7;color:var(--model-label)}.model-toolbar{gap:8px;padding:0;border:0}.model-toolbar-label{display:none}.model-mode,.hero-art .model-mode,.system-graphic .model-mode{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 14px;border:1px solid var(--model-line);background:transparent;color:var(--model-text);font:400 12px/1.5 var(--font);white-space:normal;transition:background .16s,color .16s}.model-mode:before{content:'';width:6px;height:6px;border:1px solid currentColor;flex:none}.model-mode[aria-pressed=true],.spatial-model .model-mode[aria-pressed=true],.system-graphic .model-mode[aria-pressed=true]{color:var(--model-selected-text);background:var(--model-selected);border-color:var(--model-selected)}.model-mode[aria-pressed=true]:before{background:currentColor}.model-mode:hover,.spatial-model .model-mode:hover,.system-graphic .model-mode:hover{color:var(--model-text);border-color:currentColor}.model-mode[aria-pressed=true]:hover{color:var(--model-selected-text)}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:currentColor}.model-detail,.hero-art .model-detail,.system-graphic .model-detail,.spatial-model .model-detail{font-size:12px;line-height:1.8;color:var(--model-label);min-height:44px;padding-top:12px;margin:0}.hero-art .model-controls{margin-inline:2%}.hero-art .model-toolbar{margin:0;padding:0;gap:8px}.hero-art .model-mode{font-size:11px;padding:10px 12px}.hero-art .model-detail{font-size:11px;min-height:50px}.factory-band .engineering-surface>.model-toolbar{justify-content:flex-start}
.expertise-layout{display:grid;grid-template-columns:1fr 2.1fr;gap:60px;margin-top:36px}.expertise-aside{display:flex;flex-direction:column;align-self:start;justify-content:flex-start;gap:28px;min-width:0}.expertise-content{margin:0;min-width:0}.expertise-row h3{font-size:clamp(23px,2.25vw,36px)}.expertise-row summary{padding:21px 0;grid-template-columns:22px 1fr 20px;gap:17px}.expertise-body{grid-template-columns:1.8fr 1fr;gap:30px;padding:0 25px 23px 39px}.expertise-body .body-copy{font-size:12px;line-height:1.9}.mini-scheme{margin:0}.mini-scheme svg{width:100%;height:auto}.mini-scheme figcaption{font-size:10px;line-height:1.85;color:var(--muted);border-top:1px solid var(--rule);padding-top:12px;margin-top:8px}.mini-scheme svg{filter:invert(1);opacity:.9}
.spatial-band,.system-band{padding-block:60px}.spatial-layout,.system-layout{grid-template-columns:.72fr 1.38fr;gap:25px}.spatial-copy h2,.system-copy h2{font-size:clamp(37px,4vw,66px)}.spatial-copy .body-copy,.system-copy .body-copy{font-size:13px;line-height:1.9;max-width:410px}.spatial-model,.system-graphic{--model-line:#b8b8b8;--model-label:#666666;--model-text:#353535;--model-selected:#252525;--model-selected-text:#f2f2f2}.spatial-model .model-stage,.system-graphic .model-stage{width:110%;margin-left:-5%}.spatial-model .model-stage svg,.system-graphic .model-stage svg{max-height:none;height:auto}.spatial-model .model-mode,.system-graphic .model-mode{color:var(--model-text)}.system-graphic{max-width:none;width:100%}.spatial-topics{margin-top:25px}.spatial-topics li{padding:12px 0}.technology-line{font-size:10px;gap:9px 23px;margin-top:25px}
.portfolio{background:#171717;color:#f2f2f2;padding-block:65px}.portfolio .section-kicker{color:#aaaaaa}.portfolio-head{display:grid;grid-template-columns:1fr 2.1fr;gap:60px;align-items:start}.portfolio-head h2{font:400 clamp(38px,4vw,64px)/1.15 var(--display);letter-spacing:-.025em}.portfolio-intro{font-size:13px;line-height:1.85;color:#b4b4b4;max-width:720px;margin-top:20px}.project-list{display:grid;grid-template-columns:1fr 1fr;gap:0 58px;margin-top:34px}.project{border-top:1px solid #454545;padding:20px 0 22px;display:grid;grid-template-columns:25px 1fr;gap:17px;min-width:0}.project-number{font-size:9px;line-height:2;color:#929292;padding-top:4px}.project-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:15px}.project h3{font:400 17px/1.4 var(--font);letter-spacing:-.02em;overflow-wrap:anywhere}.project-region{font-size:9px;line-height:1.8;letter-spacing:.07em;color:#b9b9b9;flex:none}.project p{font-size:11px;line-height:1.85;color:#b5b5b5;margin-top:8px;max-width:570px}.project strong{font-weight:500;color:#ededed}.portfolio-foot{display:flex;gap:20px;justify-content:space-between;border-top:1px solid #454545;padding-top:15px;margin-top:2px;font-size:9px;line-height:1.8;color:#a1a1a1}
.approach-intro{max-width:650px;line-height:1.9}.steps{margin-top:35px}.experience-note{margin-top:35px}.review-note p{max-width:850px}
@media(max-width:1150px) and (min-width:761px){.main-nav{gap:21px;font-size:11px}.main-nav .contact-nav{margin-left:0}.hero-main{grid-template-columns:.95fr 1.05fr;gap:15px}.hero h1{font-size:5.1vw}.hero-description{font-size:12px}.hero-art .model-mode{font-size:10px;padding:10px}.company-layout,.section-top,.expertise-layout,.portfolio-head,.contact-layout,.experience-note{grid-template-columns:.7fr 2fr;gap:32px}.factory-heading{grid-template-columns:.65fr 1.1fr 1.2fr;gap:25px}.factory-heading .body-copy{font-size:12px}.factory-heading h2{font-size:36px}.spatial-layout,.system-layout{grid-template-columns:.8fr 1.2fr;gap:22px}.spatial-copy h2,.system-copy h2{font-size:42px}.spatial-copy .body-copy,.system-copy .body-copy{font-size:12px}.project-list{gap:0 30px}.expertise-body{gap:20px}.model-mode{font-size:11px;padding:10px 12px}}
@media(max-width:760px){.company,.expertise,.approach{min-height:0;padding-block:54px}.factory-band,.spatial-band,.system-band{min-height:0}.closing{min-height:0}.hero-main{grid-template-columns:1fr;align-items:stretch;gap:25px;padding-block:32px 22px}.hero h1{font-size:clamp(37px,10.2vw,64px);line-height:1.1}.hero-description{font-size:13px}.hero-art .model-stage{width:auto;margin:0 -16px}.hero-art .model-controls{margin:0}.hero-art .model-mode{font-size:11px;padding:10px 13px}.hero-art .model-control-heading span{font-size:10px}.hero-art .model-detail{font-size:11px}.company-summary{margin-top:30px}.company h2{font-size:33px}.company-principles{font-size:9px;gap:8px 20px;margin-top:23px}.factory-band{padding:46px 0 27px}.factory-heading{grid-template-columns:1fr;gap:23px}.factory-heading h2{font-size:37px}.factory-heading .body-copy{font-size:13px;padding:0}.factory-rich-scene{width:auto;margin:15px -22px 10px}.factory-band .model-controls{margin:0}.model-control-heading{display:block}.model-control-heading strong,.model-control-heading span{display:block}.model-control-heading span{margin-top:4px;font-size:10px;line-height:1.8}.model-toolbar,.hero-art .model-toolbar,.system-graphic .model-toolbar{gap:8px}.model-mode,.system-graphic .model-mode{font-size:11px;padding:10px 12px;min-height:44px}.model-detail,.hero-art .model-detail,.system-graphic .model-detail,.spatial-model .model-detail,.factory-band .model-detail{font-size:11px;min-height:56px;line-height:1.85}.expertise-layout,.portfolio-head{grid-template-columns:1fr;gap:25px}.expertise-layout{margin-top:28px}.expertise-aside{display:grid;grid-template-columns:1fr;gap:24px}.mini-scheme figcaption{font-size:9px;line-height:1.8}.expertise-row summary{gap:10px;grid-template-columns:18px 1fr 18px;padding:21px 0}.expertise-row h3{font-size:25px}.expertise-body{grid-template-columns:1fr;padding:0 8px 23px 28px;gap:14px}.expertise-body .body-copy{font-size:12px}.spatial-band,.system-band{padding-block:48px}.spatial-layout,.system-layout{grid-template-columns:1fr;gap:24px}.spatial-copy h2,.system-copy h2{font-size:39px}.spatial-copy .body-copy,.system-copy .body-copy{font-size:13px;max-width:none}.spatial-topics{max-width:none}.spatial-model .model-stage,.system-graphic .model-stage{width:auto;margin:0 -18px}.portfolio{padding-block:48px}.portfolio-head h2{font-size:37px}.portfolio-intro{font-size:12px;margin-top:20px}.project-list{grid-template-columns:1fr;margin-top:28px}.project{padding:19px 0 21px;gap:12px;grid-template-columns:20px 1fr}.project h3{font-size:17px}.project p{font-size:12px;line-height:1.85}.portfolio-foot{display:block;font-size:8px}.portfolio-foot span{display:block;margin-top:5px}.steps{margin-top:28px}.experience-note{margin-top:33px}}
@media(max-width:360px){.hero h1{font-size:34px}.company h2{font-size:30px}.expertise-row h3{font-size:22px}.mini-scheme{max-width:300px}.portfolio-head h2{font-size:33px}}
.model-mode:focus-visible{outline-color:var(--model-text)}
.mini-scheme-labels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;font-size:10px;line-height:1.6;color:#4f4f4f;margin-top:4px}.mini-scheme-labels span{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){.mini-scheme{max-width:520px}.mini-scheme-labels{font-size:11px}}
@media(prefers-reduced-motion:reduce){.model-stage [data-part],.model-mode{transition:none}}
