
:root{--paper:#f7faf8;--ink:#182e2a;--green:#0f766e;--green-dark:#144e43;--muted:#5c7267;--line:#dbe5de;--soft:#e9f1ec;--ease:cubic-bezier(.22,1,.36,1);font-family:"Microsoft YaHei","PingFang SC","Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #267eb7;outline-offset:5px}button:disabled{cursor:default;opacity:.55}button{color:inherit}svg{display:block}button svg,a svg{width:19px;height:19px;flex-shrink:0}p{margin:0}h1,h2,h3{margin:0;text-wrap:balance}button{border:0}.wrap{width:min(1280px,calc(100% - 80px));margin-inline:auto}
.header{min-height:94px;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap}.wordmark{font-size:27px;letter-spacing:.025em;color:#145a4b;font-weight:750}.wordmark span{font-weight:400}.brand-note{padding-left:17px;border-left:1px solid #bdcec3;color:var(--muted);font-size:13px}.navigation{margin-left:auto;display:flex;align-items:center;gap:28px;font-size:14px}.navigation>a:not(.button){padding-block:13px}.navigation>a:not(.button):hover{color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;padding:15px 22px;border-radius:7px;background:var(--green);color:#fff;font-size:15px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#0b635d;transform:translateY(-2px)}.button.secondary{color:var(--green-dark);background:transparent;padding-inline:4px}.button.secondary:hover{background:var(--soft);transform:none}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:26px;padding-block:70px 51px}.hero-copy{padding-bottom:23px}.hero h1{font-size:clamp(39px,4.25vw,64px);font-weight:750;line-height:1.43;letter-spacing:-.035em;white-space:nowrap}.hero h1 span{display:block;color:var(--green)}.lead{font-size:21px;line-height:1.8;margin-top:27px}.intro{max-width:48ch;color:var(--muted);font-size:16px;line-height:1.95;margin-top:18px}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:31px;flex-wrap:wrap}.hero-actions .button{min-height:54px}.keywords{display:flex;gap:17px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-top:27px}.keywords span+span:before{content:"/";margin-right:17px;color:#91a69a}
.model-demo{min-width:0;scroll-margin-top:24px}.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-inline:10px}.viewer-heading{font-size:14px;font-weight:500;letter-spacing:.06em}.viewer-help{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.viewer-help svg{height:16px;width:16px}.model-stage{position:relative;min-width:0}.model-stage:before{content:"";position:absolute;inset:10% 7% 4%;background:#eaf1eb;border-radius:50%;pointer-events:none}.model-stage:after{content:"";position:absolute;inset:14% 11% 8%;border:1px solid #d4e2d8;border-radius:50%;pointer-events:none}.model-canvas{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:1.16;cursor:grab;touch-action:pan-y}.model-canvas:active{cursor:grabbing}.view-reset{position:absolute;right:8px;bottom:12px;z-index:2;background:transparent;color:var(--muted);padding:9px;display:flex;align-items:center;gap:7px;font-size:12px;border-radius:6px}.view-reset:hover{background:#dce9df}.view-reset svg{width:16px;height:16px}.model-controls{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding:18px 6px 15px;flex-wrap:wrap}.material-control{display:flex;gap:10px;align-items:center}.control-label{font-size:12px;color:var(--muted);white-space:nowrap}.swatches{display:flex;gap:8px}.swatch{display:grid;place-items:center;position:relative;width:31px;height:31px;border:1px solid transparent;border-radius:50%;background:transparent;padding:4px}.swatch:before{content:"";width:21px;height:21px;border-radius:50%;background:var(--swatch);border:1px solid #00000012}.swatch[aria-pressed=true]{border-color:var(--green)}.swatch[aria-pressed=true]:after{content:"";position:absolute;width:6px;height:6px;border-right:1.5px solid #284d3a;border-bottom:1.5px solid #284d3a;transform:rotate(45deg) translateY(-1px)}.material-name{min-width:26px;font-size:12px;color:var(--green-dark)}.range-control{display:flex;align-items:center;gap:10px;flex:1;min-width:165px}.range-control input{width:100%;min-width:70px;accent-color:var(--green);cursor:pointer}.range-end{font-size:11px;color:var(--muted)}.demo-status{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:41px;padding-inline:6px;font-size:12px;color:var(--muted);line-height:1.7}.demo-status strong{color:var(--green-dark);font-weight:500}.demo-status small{font-size:11px;white-space:nowrap}
.value-section{border-top:1px solid var(--line);padding-top:39px;padding-bottom:52px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:31px}.section-heading h2{font-size:28px;line-height:1.5;letter-spacing:-.025em}.section-heading p{font-size:13px;color:var(--muted)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.value-item+.value-item{border-left:1px solid var(--line);padding-left:36px}.value-button{background:transparent;padding:0 0 13px;text-align:left;display:flex;gap:18px;align-items:center;width:100%;border-radius:1px}.value-button h3{font-size:23px;font-weight:650}.value-button svg{width:23px;height:23px;color:#6b8677;transition:transform .3s var(--ease)}.value-button:hover svg{transform:translateX(4px)}.value-button[aria-pressed=true]{color:var(--green)}.value-button[aria-pressed=true] svg{color:var(--green);transform:rotate(-35deg)}.value-item p{font-size:15px;color:var(--muted);line-height:1.9;max-width:36ch}.value-hint{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:11px;margin-top:15px}.value-hint:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.value-button[aria-pressed=false]+p+.value-hint{visibility:hidden}
.closing{display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--green-dark);color:#f8fbf7;border-radius:10px;padding:36px 41px}.closing h2{font-size:32px;line-height:1.5;letter-spacing:-.025em}.closing p{color:#c5dad0;font-size:15px;line-height:1.8;margin-top:13px}.closing-link{flex:0 0 auto;display:flex;align-items:center;gap:15px;font-size:14px;color:#e4efe8;padding:15px 0}.closing-link svg{width:48px;height:48px;transition:transform .3s var(--ease)}.closing-link:hover svg{transform:translate(4px,-4px)}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:27px 30px;font-size:11px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1550px){.hero{padding-block:91px 70px}.hero h1{font-size:64px}}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.hero{gap:14px;padding-block:48px 33px}.hero h1{font-size:clamp(33px,4.15vw,46px)}.lead{font-size:18px}.intro{font-size:14px}.hero-actions{gap:15px}.hero-actions .button{font-size:13px;padding:14px 16px}.model-controls{gap:7px 16px}.material-control{gap:8px}.range-control{min-width:145px}.section-heading h2{font-size:25px}.value-grid{gap:23px}.value-item+.value-item{padding-left:23px}.closing h2{font-size:27px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{min-height:78px;gap:14px}.wordmark{font-size:23px}.brand-note{display:none}.navigation{gap:18px}.navigation .nav-detail{display:none}.navigation .button{padding:12px 15px;font-size:12px}.hero{grid-template-columns:1fr;padding-block:38px 26px;gap:29px}.hero-copy{padding:0}.hero h1{font-size:clamp(35px,7.4vw,53px);line-height:1.4}.lead{font-size:18px;margin-top:21px}.intro{font-size:15px;max-width:50ch;margin-top:12px}.hero-actions{gap:24px;margin-top:24px}.hero-actions .button{font-size:14px}.keywords{margin-top:20px}.model-demo{width:min(100%,560px);margin-inline:auto}.model-canvas{aspect-ratio:1.16}.model-controls{gap:16px}.range-control{min-width:145px}.section-heading{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:27px}.section-heading h2{font-size:25px}.value-section{padding-top:30px;padding-bottom:32px}.value-grid{grid-template-columns:1fr;gap:23px}.value-item+.value-item{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:23px}.value-button{justify-content:space-between;padding-bottom:9px}.value-button h3{font-size:22px}.value-item p{max-width:unset}.value-hint{margin-top:9px}.value-button[aria-pressed=false]+p+.value-hint{display:none}.closing{padding:26px 25px;gap:18px;align-items:flex-start;flex-direction:column}.closing h2{font-size:27px;max-width:15ch}.closing p{font-size:14px}.closing-link{padding:0}.closing-link svg{width:27px;height:27px}.footer{gap:10px;line-height:1.6;padding-block:22px}}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.header{gap:6px}.wordmark{font-size:20px}.navigation .button{padding:10px 12px}.hero h1{font-size:31px}.lead{font-size:16px}.hero-actions{gap:15px}.hero-actions .button{font-size:12px;padding:13px}.keywords{gap:10px;font-size:11px}.keywords span+span:before{margin-right:10px}.model-controls{gap:14px}.material-control{flex:1}.range-control{min-width:100%}.demo-status{flex-wrap:wrap}.section-heading h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.header{flex-wrap:wrap;padding-block:15px}.navigation{gap:20px}.account-link{font-size:13px;color:var(--muted)}.bim-load-status{padding-top:15px;color:#923b27;font-size:14px}.bim-load-status[hidden]{display:none}.bim-load-status button{margin-left:12px;background:transparent;text-decoration:underline}.bim-subpage{padding-block:52px 60px}.bim-subpage h1{font-size:clamp(30px,4vw,45px);line-height:1.4}.bim-subpage-lead{margin-top:15px;color:var(--muted);line-height:1.8}.download-panel{margin-block:33px 43px;padding:30px;background:#e9f1ec;border-radius:10px}.download-panel h2{font-size:23px}.download-meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:16px;color:var(--muted);font-size:14px;line-height:1.7}.download-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:24px}.download-actions a[hidden]{display:none}.download-empty{color:var(--muted);line-height:1.8}.release-list{margin-top:24px}.release-item{padding:26px 0;border-top:1px solid var(--line)}.release-item-header{display:flex;align-items:baseline;flex-wrap:wrap;gap:18px}.release-item h3{font-size:22px}.release-item time{color:var(--muted);font-size:14px}.release-item p{white-space:pre-line;line-height:1.95;margin-top:15px;color:var(--muted)}.bim-demos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 28px;margin-top:32px}.bim-demo-card{min-width:0}.bim-demo-card video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#172c23;border-radius:8px}.bim-demo-card h2{font-size:23px;margin-top:18px}.bim-demo-card p{font-size:15px;line-height:1.8;color:var(--muted);margin-top:10px;white-space:pre-line}.bim-demo-card a{display:inline-block;color:var(--green);font-size:13px;margin-top:10px}.bim-empty{padding:26px 0;color:var(--muted);line-height:1.8}.bim-subpage-nav{display:flex;gap:24px;flex-wrap:wrap;margin-top:35px;color:var(--green);font-size:14px}#bimUserPill{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-section:last-child{padding-bottom:50px}
@media(max-width:760px){.header{gap:14px}.navigation{width:100%;margin-left:0;gap:19px;flex-wrap:wrap}.navigation .nav-detail{display:inline-block}.navigation .button{margin-left:auto}.hero{padding-top:28px}.bim-subpage{padding-block:31px 45px}.download-panel{padding:23px 21px}.download-actions{gap:18px}.bim-demos-grid{grid-template-columns:1fr}.account-link{font-size:12px}#bimUserPill{max-width:130px}.header .brand{margin-right:auto}}

.hero-copy{min-width:0}.hero h1{white-space:normal;overflow-wrap:anywhere}.bim-subpage h1,.bim-subpage h2,.bim-subpage h3,.bim-subpage p{overflow-wrap:anywhere}

.bim-demo-filters{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}.bim-demo-filters button{font:inherit;font-size:14px;padding:10px 17px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink)}.bim-demo-filters button:hover{background:var(--soft)}.bim-demo-filters button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.bim-demo-profession{display:inline-block;color:var(--green);font-size:12px;margin-top:9px}

.header .brand{align-items:center;gap:17px;min-width:0}.brand-identity{display:flex;flex-direction:column;align-items:flex-start;gap:3px;flex:none}.header .brand-note{display:block;border:0;padding:0;font-size:12px;line-height:1.5}.brand-tagline{max-width:18ch;padding-left:17px;border-left:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.5;white-space:normal;text-wrap:balance}.bim-account{display:flex;align-items:center;flex-wrap:wrap;gap:16px;max-width:100%}.bim-logout{background:transparent;padding:0}.bim-account .account-link:hover{color:var(--green);text-decoration:underline}
@media(max-width:760px){.bim-account{gap:13px}.header .brand-note{font-size:11px}}

/* Software compatibility stays readable from small phones to wide screens. */
.hero{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:clamp(24px,3vw,48px);padding-block:clamp(32px,4vw,64px) 40px}
.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(36px,4.1vw,60px);line-height:1.36;letter-spacing:-.03em}
.supported-software{margin-top:25px;padding-block:17px 18px;border-block:1px solid var(--line)}
.supported-software h2{font-size:12px;font-weight:500;line-height:1.6;color:var(--muted);letter-spacing:.04em}
.software-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 0;padding:0;list-style:none}
.software-list li{min-width:0;font-size:clamp(15px,1.5vw,20px);font-weight:650;line-height:1.5;letter-spacing:-.025em;color:var(--green-dark)}
.hero-actions{flex-wrap:wrap;margin-top:25px}.keywords{flex-wrap:wrap}
.bim-account .account-link{display:block;min-width:44px;min-height:44px;padding:10px 4px;line-height:24px}
.bim-account [hidden]{display:none}
.model-demo,.model-stage{min-width:0}
@media(min-width:901px) and (max-width:1100px){
    .hero h1{font-size:clamp(36px,4vw,44px)}.hero .lead{font-size:18px}.hero .intro{font-size:15px}
    .hero-actions{gap:16px}.hero-actions .button{padding:14px 15px}
}
@media(max-width:900px){
    .header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding-block:14px}
    .header .brand{grid-column:1;grid-row:1;margin:0}
    .bim-account{grid-column:2;grid-row:1;justify-content:flex-end;gap:4px}
    .header .navigation{grid-column:1/-1;grid-row:2;display:flex;width:100%;margin:0;gap:20px;justify-content:space-between}
    .navigation .nav-detail{display:block}.navigation .button{margin:0;min-height:44px}
    .header:has(#bimUserPill:not([hidden])) .bim-account{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:12px}
    .header:has(#bimUserPill:not([hidden])) .navigation{grid-row:3}
    .hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:32px}
    .hero-copy{max-width:680px}.hero h1{font-size:clamp(32px,6.5vw,52px)}
    .hero .lead{font-size:18px;margin-top:20px}.hero .intro{font-size:16px;line-height:1.85;max-width:42em}
    .model-demo{width:min(100%,600px);margin-inline:auto}
    .software-list li{font-size:20px}
    .model-controls{padding-inline:0;gap:12px 18px}.swatches{gap:4px}.swatch{width:44px;height:44px;padding:8px}
    .range-control input{min-height:44px}.view-reset{min-height:44px}
    .value-grid{grid-template-columns:1fr;gap:24px}.value-item+.value-item{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}
    .value-button{justify-content:space-between;min-height:44px}.value-item p{max-width:60ch}
}
@media(max-width:480px){
    .wrap{width:calc(100% - 40px)}.header .wordmark{font-size:23px}
    .hero{padding-top:28px;gap:28px}.hero h1{font-size:clamp(31px,8vw,38px)}
    .hero .lead{font-size:17px}.hero .intro{font-size:16px}
    .supported-software{margin-top:22px;padding-block:15px}
    .software-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.software-list li{font-size:20px}
    .hero-actions{gap:14px}.hero-actions .button{font-size:14px;padding:14px 16px}
    .hero-actions .secondary{padding-inline:4px}.keywords{gap:12px;font-size:11px}
    .keywords span+span:before{margin-right:12px}.range-control{flex-basis:100%;min-width:0}
    .viewer-top{gap:10px}.viewer-heading{font-size:13px}.viewer-help{font-size:11px}
    .demo-status{flex-wrap:wrap;gap:4px}.section-heading h2{font-size:24px}
}
@media(pointer:coarse){.swatch{width:44px;height:44px}.range-control input{min-height:44px}}
@media(hover:none){.button:hover{transform:none}}

.hero .lead{text-wrap:balance}
