:root{--bg:#dedede;--ink:#303030;--muted:#606060;--line:#a8a8a8;--accent:var(--bg);--dark:var(--bg);--light:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,'PingFang SC','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}header{display:flex;align-items:center;justify-content:space-between;padding:25px 4%;gap:25px;border-bottom:1px solid #a8a8a8;background:var(--accent)}.brand{display:flex;gap:15px;align-items:center}.brand>img{width:44px;height:44px;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1) brightness(2) contrast(3)}.wordmark{font:36px Georgia,serif;letter-spacing:-1px}.wordmark>span{display:block;font:9px Arial;letter-spacing:.3px;margin-top:2px}.brand-sub{font-size:11px;letter-spacing:1px;border-left:1px solid #858585;padding:12px 0 12px 18px;margin-left:10px}nav{display:flex;gap:28px;font-size:12px}#menu{display:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;background:var(--accent);min-height:630px;padding:0 4% 38px}.hero-title{position:relative;border-left:1px solid #aaa;border-right:1px solid #aaa;display:flex;flex-direction:column;justify-content:center;padding:95px 6% 85px;overflow:hidden}.dimension{display:flex;justify-content:space-around;position:absolute;top:0;left:0;right:0;border-bottom:1px solid #aaa;padding:17px 0;font-size:10px;letter-spacing:2px}.hero-circle{position:absolute;border:1px solid #aaa;width:90%;aspect-ratio:1;top:13%;left:5%;border-radius:50%;pointer-events:none}.hero-title .eyebrow{position:relative;color:#303030;letter-spacing:1.5px;font-size:10px;margin-bottom:30px}h1{position:relative;font-size:clamp(27px,3.3vw,58px);font-weight:400;line-height:1.55;letter-spacing:1px;margin:0}h1>span{color:#303030}.hero-foot{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #aaa;padding:22px 6%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px}.hero-visual{padding:35px 0 0 30px;display:flex;flex-direction:column;justify-content:space-between}.hero-visual>img{width:100%;height:370px;object-fit:cover;object-position:center}.hero-caption{display:flex;justify-content:space-between;font-size:9px;padding-top:15px;gap:10px}.disciplines{font:clamp(23px,2.5vw,40px)/1.25 Georgia,serif;margin-top:30px;letter-spacing:-.5px}.wrap{padding:95px 7%}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--muted);margin:0 0 28px}h2{font-weight:400;font-size:clamp(28px,3.1vw,44px);line-height:1.55;letter-spacing:1px;margin:0}.intro{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.english-statement{font:clamp(26px,3.1vw,46px)/1.25 Georgia,serif;letter-spacing:-.6px;margin:48px 0 0}.bodycopy{font-size:13px;line-height:2.15;color:var(--muted);max-width:520px;margin:25px 0}.text-link{display:flex;justify-content:space-between;width:190px;font-size:12px;border-bottom:1px solid currentColor;padding:12px 0}.projects{background:var(--dark);color:var(--light)}.projects .eyebrow,.projects .count{color:#606060}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px}.section-head .eyebrow{margin-bottom:15px}.count{font:12px Arial;margin-left:15px;white-space:nowrap}.filters{display:flex;gap:22px;padding-bottom:9px}.filters button{border:0;background:none;color:#606060;font-size:12px;padding:8px 0;white-space:nowrap}.filters .active{color:#303030;border-bottom:1px solid currentColor}.project-note{font-size:12px;line-height:1.9;color:#606060;margin:0 0 38px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px 30px}.project-card{border:0;background:none;text-align:left;color:inherit;padding:0;min-width:0;display:block}.project-image{overflow:hidden;background:var(--bg);aspect-ratio:1.5}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-card:hover img{transform:scale(1.035)}.project-info{display:flex;justify-content:space-between;align-items:center;padding-top:18px}.project-info h3{font-size:19px;font-weight:400;letter-spacing:1px;margin:0 0 8px}.project-info p{font-size:9px;color:#606060;letter-spacing:1px;margin:0}.project-info>span{font-size:24px;color:#606060}.source-note{font-size:10px;color:#606060;margin:45px 0 0}.research{display:grid;grid-template-columns:1fr 1fr}.research-photo{height:650px;background:var(--bg)}.research-photo img{width:100%;height:100%;object-fit:cover}.research-copy{padding:80px 12%;display:flex;flex-direction:column;justify-content:center}.research-copy>p:not(.eyebrow){font-size:13px;line-height:2.1;color:var(--muted);margin-top:26px}.research-tags{display:flex;border:1px solid var(--line);justify-content:space-around;gap:15px;font-size:10px;padding:19px 10px;margin-top:35px}.service-intro{font:26px/1.2 Georgia,serif;color:var(--muted);margin:0 0 12px}.service-list article{display:grid;grid-template-columns:90px 1fr 1.1fr 25px;gap:25px;align-items:center;padding:25px 0;border-top:1px solid var(--line)}.number{width:68px;height:68px;border:1px solid #909090;display:grid;place-items:center;border-radius:50%;font:34px Georgia,serif}.service-list h3{margin:0;font-weight:400;font-size:23px}.service-list p{margin:0;font-size:12px;line-height:1.9;color:var(--muted)}.process-head{margin-top:85px;border-top:1px solid var(--line);padding-top:35px}.process-head h3{font-size:25px;font-weight:400;margin:0 0 30px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.process-grid article{padding:28px 22px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.process-grid article>span{font:18px Georgia,serif;color:var(--muted)}.process-grid h4{font-size:17px;font-weight:400;margin:25px 0 15px}.process-grid p{font-size:11px;line-height:1.9;color:var(--muted);margin:0}.engineering{display:grid;grid-template-columns:1fr 1.1fr;gap:35px;padding-top:55px}.engineering h3{font-size:23px;font-weight:400;margin:0}.engineering p{font-size:12px;line-height:2;color:var(--muted);margin:0}.engineering p>span{display:block;margin-top:15px}.contact{background:var(--accent);color:#303030;padding-bottom:50px}.contact .eyebrow{color:#303030}.contact-main{display:flex;justify-content:space-between;align-items:center;gap:35px}.contact-main button{border:1px solid #808080;background:none;padding:22px 25px;min-width:230px;text-align:left;font-size:13px;color:inherit}.contact-main button span{float:right}.contact-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #a8a8a8;margin-top:60px;padding-top:25px;font-size:11px;line-height:2}.contact-bottom p{margin:0}.contact-bottom p span{font-size:10px}footer{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:35px 4%;background:var(--dark);color:#606060;font-size:10px}.footer-brand{font:32px Georgia,serif;color:var(--light)}.footer-brand span{font:9px Arial;margin-left:10px}dialog{border:0;padding:50px;background:var(--bg);color:var(--ink);width:min(1000px,94vw);max-height:90svh;overflow:auto}dialog::backdrop{background:#dededed9;backdrop-filter:blur(5px)}.close{position:absolute;top:10px;right:18px;border:0;background:none;font-size:30px;color:inherit}.detail-image{width:100%;max-height:520px;object-fit:contain;background:var(--bg)}.detail-copy{font-size:14px;line-height:2;color:var(--muted);max-width:760px}.detail-meta{font-size:11px;letter-spacing:1px;color:var(--muted);margin:24px 0}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:30px}.detail-gallery img{width:100%;height:280px;object-fit:cover}.detail-note{font-size:10px;line-height:1.8;color:var(--muted)}#inquiry-dialog{max-width:610px}#inquiry-dialog>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted)}form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}label{display:flex;flex-direction:column;gap:10px;font-size:12px}label:has(textarea){grid-column:1/-1}input,textarea,select{border:1px solid #999;background:var(--bg);width:100%;padding:12px;color:var(--ink);border-radius:0}textarea{min-height:110px;resize:vertical}.submit,#copy{padding:15px;background:var(--bg);color:var(--ink);outline:1px solid #888;border:0;grid-column:1/-1}#brief-result{margin-top:25px}#copy{margin-top:12px;width:100%}#result-text{height:190px}#copy-status{font-size:12px}.project-card[hidden]{display:none}@media(min-width:1600px){.wrap{padding-left:max(7%,calc((100% - 1400px)/2));padding-right:max(7%,calc((100% - 1400px)/2))}}@media(max-width:1000px){.brand-sub{display:none}.hero{min-height:550px}.hero-visual>img{height:310px}.hero-title{padding-left:5%;padding-right:5%}.hero-title .eyebrow{font-size:8px}h1{font-size:31px}.disciplines{font-size:27px}.intro{gap:40px}.section-head{flex-direction:column;align-items:flex-start}.research-copy{padding:55px 9%}.research-photo{height:600px}.service-list article{grid-template-columns:75px 1fr 1.1fr 15px;gap:15px}.process-grid article{padding:25px 16px}}@media(max-width:650px){header{padding:20px 6%;position:relative;z-index:5}.brand{gap:10px}.brand>img{width:32px;height:32px}.wordmark{font-size:29px}.wordmark>span{font-size:8px}#menu{display:block;border:0;background:none;font-size:11px;padding:10px 0;color:inherit}#menu span{margin-left:10px}nav{display:none;position:absolute;left:0;right:0;top:86px;background:var(--accent);padding:28px 6%;box-shadow:0 15px 20px #0002}nav.open{display:flex;flex-direction:column;gap:25px}.hero{grid-template-columns:1fr;padding:0 6% 28px;min-height:0}.hero-title{padding:94px 7% 104px;min-height:440px}.hero-title .eyebrow{font-size:8px;margin-bottom:26px}h1{font-size:clamp(25px,6.9vw,40px);letter-spacing:0;line-height:1.6}.hero-circle{width:94%;left:3%;top:17%}.hero-foot{font-size:9px;padding:20px 6%}.hero-visual{padding:25px 0 0}.hero-visual>img{height:auto;aspect-ratio:1.6}.hero-caption{font-size:8px}.disciplines{font-size:24px;line-height:1.2;margin-top:25px}.dimension{font-size:9px}.wrap{padding:65px 7%}.intro{grid-template-columns:1fr;gap:38px}.english-statement{font-size:32px;margin-top:20px}h2{font-size:29px}.bodycopy{font-size:13px}.section-head{gap:22px}.filters{gap:24px;flex-wrap:wrap}.count{font-size:10px;margin-left:6px}.projects h2{font-size:26px}.project-grid{grid-template-columns:1fr;gap:33px}.project-info h3{font-size:19px}.project-note{font-size:11px;margin-bottom:30px}.source-note{line-height:1.9}.research{grid-template-columns:1fr}.research-photo{height:390px}.research-photo img{object-position:50% 45%}.research-copy{padding:55px 7%}.service-list article{grid-template-columns:52px 1fr 15px;padding:24px 0;gap:12px}.number{height:45px;width:45px;font-size:25px;grid-row:1/3}.service-list h3{font-size:21px}.service-list p{grid-column:2;grid-row:2}.service-list article>span:last-child{grid-column:3;grid-row:1}.process-head{margin-top:60px}.process-head h3{font-size:23px}.process-grid{grid-template-columns:1fr 1fr}.process-grid article{padding:25px 15px}.process-grid h4{margin-top:20px}.process-grid p{font-size:10px}.engineering{grid-template-columns:1fr;gap:25px}.engineering h3{font-size:22px}.contact-main{align-items:flex-start;flex-direction:column}.contact-main h2{font-size:30px}.contact-main button{margin-top:8px;min-width:240px}.contact .eyebrow{font-size:9px;letter-spacing:1px}.contact-bottom{flex-direction:column;margin-top:40px;gap:20px}footer{padding:30px 7%;flex-wrap:wrap;gap:25px}.footer-brand span{display:block;margin:5px 0 0}footer>span{order:3;width:100%;font-size:9px}dialog{padding:45px 22px 28px}.detail-gallery{grid-template-columns:1fr}.detail-gallery img{height:auto}form{grid-template-columns:1fr}form label{grid-column:1}#inquiry-dialog h2{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* English typography and footer emblem. */
h1{font-family:Georgia,serif;font-size:clamp(30px,3.1vw,49px);line-height:1.3;letter-spacing:-1px}h2{font-family:Georgia,serif;line-height:1.2;letter-spacing:-.5px}.hero-title{overflow-wrap:break-word}.hero-title .eyebrow{letter-spacing:1px}.hero-circle{z-index:0}.hero-title h1{z-index:1}.hero-foot{font-size:9px}.dimension{font-size:9px;letter-spacing:.5px}.service-list h3{font-size:21px;line-height:1.35}.filters{gap:18px}.text-link{width:220px}.contact-main button{min-width:240px}.footer-logo{width:48px;height:50px;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1) brightness(2) contrast(3);order:4}#menu{min-width:44px;min-height:44px}#menu span{margin-left:0}@media(max-width:1000px){h1{font-size:33px}.hero-caption{flex-wrap:wrap}.service-list h3{font-size:19px}}@media(max-width:650px){h1{font-size:clamp(29px,7.6vw,43px)}.hero-title{min-height:440px;padding-left:6%;padding-right:5%}.dimension{font-size:8px}.hero-foot{font-size:8px}.projects h2{font-size:29px}.contact-main h2{font-size:32px}.filters{gap:20px}.service-list h3{font-size:19px}.footer-logo{display:block;margin:8px auto 0;width:52px;height:54px;flex-basis:100%;object-fit:contain}.process-grid h4{font-size:16px}.process-grid p{font-size:11px}}

/* A centered circle within a true square, consistent at every viewport. */
.hero{min-height:0;align-items:center}
.hero-title{width:100%;aspect-ratio:1;min-height:0;align-self:center;border:1px solid #aaa;padding:85px 6%;isolation:isolate}
.hero-circle{width:84%;height:auto;aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);margin:0}
.hero-title .eyebrow{margin-bottom:24px}
.hero-visual{align-self:stretch}
@media(max-width:1000px) and (min-width:651px){.hero-title{padding:68px 6%}.hero-title h1{font-size:clamp(24px,3.1vw,33px)}.hero-title .eyebrow{font-size:7px;margin-bottom:18px}.hero-foot{padding:18px 5%;font-size:8px}.dimension{font-size:8px}.hero-visual>img{height:auto;aspect-ratio:1.5}.disciplines{font-size:clamp(20px,2.7vw,27px)}}
@media(max-width:650px){.hero-title{min-height:0;padding:66px 6%;aspect-ratio:1}.hero-circle{width:84%;left:50%;top:50%}.hero-title h1{font-size:clamp(24px,6.6vw,40px)}.hero-title .eyebrow{font-size:7px;margin-bottom:18px}.hero-foot{padding:16px 5%}.dimension{padding:14px 0}}
