:root{--ink:#111920;--muted:#56616d;--line:#dce3e9;--pale:#f4f7f9;--blue:#2b6b94;--max:1320px;font-family:Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:#fff;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #2b6b94;outline-offset:6px}::selection{background:#d2e4f2}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.55}h2{font-size:clamp(28px,2.75vw,40px);font-weight:700;letter-spacing:.015em}p+p{margin-top:20px}svg{display:block}.wrap{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.section{padding-block:100px}.header{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 3.7%;border-bottom:1px solid transparent}.brand{display:flex;flex-direction:column;line-height:1}.brand>span{font-size:49px;font-weight:400;letter-spacing:-.045em}.brand small{font-size:10px;letter-spacing:.3em;margin-top:12px;padding-left:3px}.navigation{display:flex;gap:25px;align-items:center;font-size:14px;font-weight:600;white-space:nowrap}.navigation>a{position:relative}.navigation>a:not(.nav-contact):after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:currentColor;transition:width .2s}.navigation>a:hover:after{width:100%}.nav-contact{background:var(--ink);color:white;padding:10px 22px;border-radius:30px}.nav-contact span{margin-left:14px}.menu-toggle{display:none}.skip{position:fixed;top:-100px;left:16px;background:white;z-index:100;padding:10px 20px}.skip:focus{top:10px}.hero{position:relative;min-height:780px;height:min(900px,95svh);overflow:hidden;background:#e4ecf2}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 46%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,249,251,.93) 0%,rgba(244,248,251,.79) 30%,rgba(240,246,251,.3) 55%,rgba(241,247,252,0) 75%)}.hero-content{position:relative;padding-top:205px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.25em;margin-bottom:26px}.hero h1{font-size:clamp(34px,3.3vw,52px);line-height:1.6;letter-spacing:.01em;font-weight:700}.hero-content>p{margin-top:22px;line-height:1.95;font-size:17px;max-width:640px}.button{display:inline-flex;gap:34px;align-items:center;justify-content:space-between;border-radius:4px;padding:15px 26px;font-size:16px;font-weight:600;transition:background .2s,transform .2s;line-height:1.65}.button:hover{transform:translateY(-2px)}.button-dark{color:white;background:var(--ink)}.button-dark:hover{background:#2a4050}.hero .button{margin-top:30px}.button span{font-size:22px;font-weight:400}.hero-bottom{position:absolute;bottom:52px;left:0;right:0;display:flex;align-items:end;justify-content:space-between}.hero-bottom>p{font-size:14px;border-left:1px solid var(--ink);padding:5px 0 5px 18px;line-height:1.9}.hero-side{font-size:28px;font-weight:600;color:#fff;text-shadow:0 1px 8px #1118;line-height:1.6;padding-right:16px}.image-credit{position:absolute;bottom:12px;right:20px;color:#fff;font-size:10px;letter-spacing:.14em;text-shadow:0 1px 3px #000}.mobile-break{display:none}.section-kicker{font-size:12px;letter-spacing:.16em;font-weight:600;margin-bottom:35px;display:flex;gap:18px;align-items:center}.section-kicker>span{color:#778693;letter-spacing:0;font-weight:400}.two-column{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.prose{max-width:630px;color:#46535d}.prose .emphasis{color:var(--ink);font-weight:600}.knowledge-flow{margin-top:48px;padding-top:32px;border-top:1px solid var(--line);display:flex;align-items:center;gap:28px;color:#4c5a65;font-size:14px}.knowledge-flow>div{display:flex;gap:25px}.knowledge-flow strong{color:var(--blue)}.knowledge-flow>b{color:var(--ink);font-size:16px}.flow-line{height:1px;background:#b8c7d2;flex:1;max-width:110px;position:relative}.flow-line:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-top:1px solid #9aacb9;border-right:1px solid #9aacb9;transform:rotate(45deg)}.what{background:var(--pale)}.section-heading{display:flex;justify-content:space-between;gap:48px;align-items:end;margin-bottom:42px}.section-heading>p{color:var(--muted);font-size:15px;line-height:1.85}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e0e6eb;background:#fff}.service{padding:32px 25px 36px;border-right:1px solid #e0e6eb}.service:last-child{border-right:0}.service>svg{width:42px;height:42px;stroke:var(--ink);fill:none;stroke-width:1.6;margin-bottom:34px}.service-number{display:block;font-size:10px;color:#6b7a87;letter-spacing:.1em;margin-bottom:7px}.service h3{font-size:20px;font-weight:600;margin-bottom:15px}.service p{font-size:15px;line-height:1.95;color:#58636c}.prototype-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.prototype-preview{height:340px;background:#eef3f8;border:1px solid #e2e7ed;border-radius:7px;overflow:hidden}.window-bar{display:flex;height:33px;gap:5px;align-items:center;background:#e6edf3;padding:0 12px;font-size:10px;color:#6d7c89;letter-spacing:.03em}.window-bar>span{height:5px;width:5px;border-radius:50%;background:#a5b6c4}.window-bar>b{margin-left:7px;font-weight:400}.bid-demo{display:grid;grid-template-columns:1fr 24px 1.25fr;gap:12px;align-items:center;padding:25px 25px 20px;height:calc(100% - 33px)}.pdf{background:#fff;box-shadow:0 5px 15px #163b5510;border:1px solid #c9d7e3;border-radius:4px;height:100%;padding:21px 18px;position:relative}.pdf-label{position:absolute;bottom:10px;left:13px;background:#74899b;color:white;padding:0 7px;font-size:10px;border-radius:3px}.pdf h4{font-size:16px;text-align:center;letter-spacing:.18em}.pdf>p{font-size:7px;text-align:center;margin:5px 0 16px;color:#77828a}.pdf>b{display:block;font-size:8px;margin-top:13px}.document-lines{display:flex;flex-direction:column;gap:5px;margin:6px 0}.document-lines i{display:block;height:2px;background:#c9d0d5;width:100%}.document-lines i:nth-child(3n){width:80%}.transfer{font-size:28px;font-weight:300;color:#54748e}.analysis-panel{background:linear-gradient(135deg,#f9fcff,#fff);border:1px solid #bad0e6;border-radius:5px;box-shadow:0 3px 12px #31678f13;padding:12px 14px}.analysis-title{font-size:12px;font-weight:700;display:flex;justify-content:space-between;color:#285174}.analysis-title>span{font-size:9px;color:#7290a7;font-weight:400}.analysis-panel dl{margin:12px 0 8px}.analysis-panel dl>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3eaf0;padding:7px 0;font-size:10px;gap:8px}.analysis-panel dt{font-weight:600}.analysis-panel dt:before{content:"✓";color:#467f9a;margin-right:6px}.analysis-panel dd{margin:0;color:#627e92}.analysis-panel>small{font-size:9px;color:#8093a2}.prototype-copy{padding-top:25px}.tag{font-size:10px;letter-spacing:.09em;color:#617180;margin-bottom:9px}.prototype-copy h3{font-size:23px;margin-bottom:13px}.prototype-copy>p{color:var(--muted);font-size:15px;max-width:560px}.bim-preview{background:linear-gradient(135deg,#e6edf3,#f4f8fa)}.bim-question{width:max-content;max-width:calc(100% - 36px);background:#fff;padding:9px 16px;font-size:12px;border-radius:9px 9px 2px 9px;margin:18px 18px 0 auto;box-shadow:0 3px 15px #31678f0c}.bim-layout{display:flex;position:relative;align-items:center;padding:4px 12px}.bim-plan{width:68%;height:230px}.bim-answer{position:absolute;right:22px;bottom:24px;width:46%;padding:18px;background:#ffffffeb;box-shadow:0 5px 30px #486b851b;border:1px solid #dae3eb;border-radius:6px}.bim-answer>span{font-size:11px;color:#456079}.bim-answer>strong{font-size:25px;display:block;line-height:1.8;letter-spacing:-.03em}.bim-answer strong small{font-size:15px}.bim-answer>div{font-size:10px;color:#82919e;display:flex;justify-content:space-between;border-top:1px solid #e1e8ed;padding-top:8px}.bim-answer>small{font-size:9px;color:#7c8b97}.how{background:#14232f;color:#fff;position:relative;overflow:hidden}.how:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,26,37,.94),rgba(11,26,37,.89)),url('/assets/construction-hero.png') center/cover}.how-layout{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:110px}.how h2{font-size:44px;line-height:1.6;margin-bottom:25px}.how-intro>p{color:#d4dee5;font-size:16px;line-height:2.2}.how .section-kicker>span{color:#97acbb}.text-link{display:inline-flex;align-items:center;gap:45px;font-size:15px;border-bottom:1px solid #6d8292;padding-bottom:8px;margin-top:35px}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:27px;padding:22px 0;border-bottom:1px solid #5a6d794f}.steps li:first-child{padding-top:0}.steps li:last-child{border-bottom:0;padding-bottom:0}.steps li>span{font-size:12px;color:#a5bac8;padding-top:6px;letter-spacing:.06em}.steps h3{font-size:20px;font-weight:500}.steps p{font-size:14px;color:#c2d0da;margin-top:6px;line-height:1.8}.vision-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:90px;align-items:center}.vision h2{font-size:clamp(34px,3.4vw,48px);margin-bottom:35px;line-height:1.65}.vision p{color:var(--muted);font-size:16px}.vision-footnote{display:block;margin-top:26px;color:#778893;font-size:12px}.vision-system{padding:35px 45px;background:linear-gradient(135deg,#f0f6fb,#e7f0f7);border:1px solid #e2eaf1}.vision-system>div{padding:12px 0;display:grid;grid-template-columns:28px 1fr;column-gap:10px}.vision-system small{font-size:11px;color:#788d9d;grid-row:span 2;padding-top:9px}.vision-system strong{font-size:25px;font-weight:400;letter-spacing:-.02em}.vision-system div>span{font-size:12px;color:#657e91}.vision-connector{display:block;width:1px;height:24px;margin-left:38px;background:#a9c0d1;position:relative}.vision-connector:after{content:"";position:absolute;bottom:0;left:-2px;width:5px;height:5px;border-right:1px solid #a9c0d1;border-bottom:1px solid #a9c0d1;transform:rotate(45deg)}.vision-system .physical{color:#205a80}.founder{background:#f6f8fa}.founder-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:90px}.founder h2{font-size:37px;letter-spacing:.1em}.founder-en{display:block;letter-spacing:.07em;font-size:17px;margin-top:8px}.university{font-size:14px;margin-top:25px;color:#61707a}.founder-text{padding-top:18px;color:var(--muted);font-size:16px}.founder-text h3{font-size:21px;margin:32px 0 15px;color:var(--ink)}.contact-top{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-top h2{font-size:clamp(29px,3vw,41px);line-height:1.65}.contact-top p{font-size:15px;color:var(--muted);margin-top:18px}.contact-top .button{flex-shrink:0}.company{margin-top:65px;border-top:1px solid var(--line);padding-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact-email{font-size:25px;letter-spacing:-.02em;align-self:start}.contact-email>span{font-size:21px;margin-left:10px}.company dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:23px 30px}.company dl>div{display:flex;gap:20px;font-size:13px}.company dt{color:#78828a;min-width:65px}.company dd{margin:0}.footer{display:flex;align-items:center;gap:36px;border-top:1px solid var(--line);padding-block:28px}.footer-logo{font-size:32px;letter-spacing:-.055em;line-height:1}.footer>span{font-size:12px;color:#58646c}.footer>small{font-size:12px;margin-left:auto;color:#63717b}
@media(min-width:1700px){.hero-image{object-position:50% 40%}.hero-shade{background:linear-gradient(90deg,#f5f9fbdd,#f4f8fb9c 38%,transparent 68%)}}
@media(max-width:1200px){.wrap{width:calc(100% - 72px)}.header{padding-inline:36px;gap:24px}.brand>span{font-size:42px}.brand small{font-size:8px}.navigation{gap:17px;font-size:12px}.nav-contact{padding:9px 17px}.navigation>a[href="#how"]{display:none}.hero{min-height:720px}.hero-content{padding-top:195px}.hero h1{font-size:41px}.service{padding:28px 20px}.service h3{font-size:18px}.two-column,.vision-layout,.founder-layout{gap:55px}.how-layout{gap:65px}.prototype-preview{height:310px}.bid-demo{gap:9px;padding:20px 17px;grid-template-columns:1fr 18px 1.3fr}.analysis-panel{padding:10px}.bim-answer{padding:12px}.bim-plan{height:204px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.header{padding:24px}.brand>span{font-size:38px}.brand small{font-size:8px;letter-spacing:.23em}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:44px;min-height:44px;background:#ffffff85;border:1px solid #ffffff6b;border-radius:4px;z-index:12;padding:10px}.menu-toggle span{width:22px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.navigation{display:none;position:absolute;inset:0 0 auto;background:#f8fbfd;padding:108px 28px 28px;box-shadow:0 8px 20px #11202d15;white-space:normal;font-size:16px}.navigation.open{display:flex;align-items:stretch;flex-direction:column;gap:0}.navigation>a{padding:12px}.navigation>a[href="#how"]{display:block}.navigation .nav-contact{align-self:start;margin-top:15px;padding-inline:24px}.hero{height:740px;min-height:0}.hero h1{font-size:39px}.hero-image{object-position:63% center}.hero-content{padding-top:175px}.hero-shade{background:linear-gradient(90deg,#f5f9fbee,#f4f8fbc7 36%,#f4f8fb25 100%)}.hero-content>p{font-size:16px;max-width:550px}.hero-bottom{bottom:45px}.hero-side{font-size:23px}.section{padding-block:74px}.section-heading{display:block}.section-heading>p{margin-top:20px}.two-column{gap:35px;grid-template-columns:.9fr 1.1fr}.knowledge-flow{gap:18px;font-size:12px}.knowledge-flow>div{gap:13px}.service-grid{grid-template-columns:1fr 1fr}.service{border-bottom:1px solid #e0e6eb}.service:nth-child(2){border-right:0}.service:nth-child(n+3){border-bottom:0}.service h3{font-size:21px}.prototype-grid{gap:36px;grid-template-columns:1fr}.prototype-preview{height:360px}.bid-demo{max-width:580px;margin:auto;padding:25px;grid-template-columns:1fr 30px 1.2fr}.pdf{padding:24px}.analysis-panel{padding:18px}.analysis-title{font-size:14px}.analysis-panel dl>div{font-size:12px;padding:8px 0}.analysis-panel>small{font-size:10px}.bim-layout{max-width:580px;margin:auto}.bim-plan{height:250px}.bim-answer{max-width:245px;bottom:38px}.bim-answer>strong{font-size:32px}.how-layout{gap:40px;grid-template-columns:.9fr 1.1fr}.how h2{font-size:36px}.how-intro>p{font-size:14px}.steps p{font-size:13px}.steps h3{font-size:18px}.vision-layout{gap:35px}.vision-system{padding:25px}.vision h2{font-size:34px}.vision p{font-size:15px}.founder-layout{grid-template-columns:.8fr 1.2fr;gap:40px}.company{grid-template-columns:1fr;gap:28px}.contact-top{display:block}.contact-top .button{margin-top:28px}.contact-email{font-size:23px}}
@media(max-width:600px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.header{padding:22px 20px}.brand>span{font-size:38px}.hero{height:850px;max-height:none}.hero-image{object-position:66% bottom;height:100%;opacity:.95}.hero-shade{background:linear-gradient(180deg,rgba(241,247,251,.97) 0%,rgba(241,247,251,.94) 27%,rgba(241,247,251,.7) 44%,rgba(241,247,251,.05) 72%,rgba(18,34,46,.55) 100%)}.hero-content{padding-top:143px}.eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:19px}.hero h1{font-size:clamp(29px,7.9vw,39px);line-height:1.62;letter-spacing:-.025em}.mobile-break{display:block}.desktop-break{display:none}.hero-content>p{font-size:14px;line-height:2;max-width:100%;margin-top:20px}.hero .button{margin-top:24px;padding:12px 23px;font-size:14px;gap:40px}.hero-bottom{bottom:34px;color:#fff}.hero-bottom>p{font-size:12px;border-color:#ffffff9c;padding-left:13px;text-shadow:0 1px 4px #0004}.hero-side{display:none}.image-credit{font-size:8px}.section{padding-block:60px}.section-kicker{font-size:11px;margin-bottom:25px;gap:14px}.two-column{grid-template-columns:1fr;gap:28px}.why h2{font-size:30px}.prose{font-size:15px}.prose p+p{margin-top:18px}.knowledge-flow{margin-top:30px;gap:12px;flex-wrap:wrap;justify-content:space-between}.knowledge-flow>div{width:100%;justify-content:space-between;margin-bottom:4px}.knowledge-flow>.flow-line:first-of-type{display:none}.knowledge-flow .flow-line{max-width:none}.section-heading{margin-bottom:30px}.section-heading h2{font-size:28px}.section-heading>p{font-size:14px}.service{padding:25px 17px}.service svg{width:34px;height:34px;margin-bottom:26px}.service-number{font-size:8px;letter-spacing:.03em}.service h3{font-size:17px;line-height:1.65;margin-bottom:12px}.service p{font-size:14px;line-height:1.9}.prototype-preview{height:283px}.prototype-grid{gap:35px}.window-bar{height:27px}.window-bar>b{font-size:9px}.bid-demo{height:calc(100% - 27px);padding:19px 12px;grid-template-columns:.85fr 15px 1.2fr;gap:8px}.pdf{padding:17px 12px}.pdf h4{font-size:13px}.pdf>b{font-size:7px;margin-top:10px}.pdf>p{font-size:6px;margin-bottom:10px}.document-lines{gap:4px}.analysis-panel{padding:9px}.analysis-title{font-size:10px}.analysis-title>span{font-size:8px}.analysis-panel dl{margin:9px 0}.analysis-panel dl>div{font-size:8px;padding:7px 0;gap:2px}.analysis-panel dt:before{margin-right:4px}.analysis-panel>small{font-size:7px}.transfer{font-size:22px}.prototype-copy{padding-top:20px}.prototype-copy h3{font-size:21px}.prototype-copy>p{font-size:14px}.bim-question{font-size:10px;margin-top:15px;padding:8px 12px}.bim-layout{padding:0 8px}.bim-plan{height:195px;width:75%}.bim-answer{right:12px;bottom:25px;padding:12px;width:47%;max-width:none}.bim-answer>strong{font-size:23px}.bim-answer>span{font-size:10px}.bim-answer>div,.bim-answer>small{font-size:8px}.bim-answer strong small{font-size:12px}.how-layout{grid-template-columns:1fr;gap:40px}.how h2{font-size:35px}.how-intro>p{font-size:15px}.steps h3{font-size:19px}.steps p{font-size:14px}.steps li{gap:23px;padding-block:20px}.text-link{font-size:14px;margin-top:25px}.vision-layout{grid-template-columns:1fr;gap:35px}.vision h2{font-size:34px;margin-bottom:25px}.vision p{font-size:15px}.vision-system{padding:24px 32px}.vision-system>div{padding:7px 0}.vision-system strong{font-size:23px}.vision-system div>span{font-size:12px}.vision-connector{height:17px}.founder-layout{grid-template-columns:1fr;gap:24px}.founder h2{font-size:32px}.founder-en{font-size:15px}.university{margin-top:18px}.founder-text{font-size:15px;padding:0}.founder-text h3{font-size:20px;margin-top:25px}.contact-top h2{font-size:28px}.contact-top p{font-size:14px}.contact-top .button{font-size:14px;gap:28px}.company{margin-top:40px;padding-top:28px;gap:30px}.company dl{grid-template-columns:1fr;gap:12px}.company dl>div{font-size:14px}.contact-email{font-size:22px}.footer{flex-wrap:wrap;gap:14px 20px;padding-block:24px}.footer-logo{font-size:29px}.footer>span{font-size:10px}.footer>small{width:100%;margin:0;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Readable body copy on mobile and desktop. */
.service p,.prototype-copy>p,.steps p,.section-heading>p,.contact-top p{font-size:16px}
@media(max-width:600px){.hero-content>p,.prose,.service p,.prototype-copy>p,.steps p,.founder-text,.contact-top p{font-size:16px}.hero{height:890px}.hero-content>p{line-height:1.95}}
