@font-face{font-family:Gilroy;src:url(assets/gilroy-medium.ttf);font-weight:400;font-display:swap}@font-face{font-family:Gilroy;src:url(assets/gilroy-bold.ttf);font-weight:700;font-display:swap}
:root{--red:#e61e46;--ink:#171616;--muted:#707076}*{box-sizing:border-box}body{margin:0;background:white;color:var(--ink);font-family:Gilroy,Arial,sans-serif}header{height:78px;margin:0 4.3%;border-bottom:2px solid var(--red);display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-weight:700;font-size:28px;text-decoration:none;color:var(--ink);white-space:nowrap}.brand span{color:var(--red)}header img{width:128px;height:65px;object-fit:contain}.header-label{font-size:11px;letter-spacing:1.8px;margin-left:auto;margin-right:36px}main{max-width:1800px;margin:auto;padding:0 4.3%}.intro{display:flex;align-items:flex-end;justify-content:space-between;padding-top:30px;position:relative;z-index:2;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2px;margin:0 0 12px;color:var(--red);font-weight:700}h1{font-size:clamp(30px,3.2vw,52px);line-height:1.05;letter-spacing:-1.5px;margin:0}.lead{font-size:16px;line-height:1.4;margin:0 0 5px;color:#5f5f64}#viewer{height:clamp(440px,60vh,760px);position:relative;margin-top:-12px;isolation:isolate}#canvas-wrap{position:absolute;inset:0}canvas{width:100%;height:100%;display:block;outline:none;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}.view-tag{position:absolute;left:0;top:42px;display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.3px;color:var(--muted);pointer-events:none}.view-tag>span:first-child{width:5px;height:5px;background:var(--red);border-radius:50%}.model-actions{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px}button{font:700 13px Gilroy,Arial,sans-serif;border:1px solid var(--red);border-radius:0;background:var(--red);color:white;padding:14px 20px;display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap;cursor:pointer;transition:background .2s,transform .2s}button:hover{background:#c9153a}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}button:disabled{opacity:.4;cursor:wait}.reset{width:46px;padding:0;background:white;border-color:#dedee2;color:var(--ink);font-size:25px;font-weight:400}.reset:hover{background:#f3f3f4}.gesture{position:absolute;right:0;bottom:28px;font-size:10px;color:var(--muted)}#loading{position:absolute;inset:35% 0 auto;text-align:center;font-size:13px;background:#fffffff0;padding:25px}#labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.annotation{position:absolute;display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.3;white-space:nowrap;transition:opacity .25s}.annotation .dot{width:5px;height:5px;background:var(--red);border-radius:50%;box-shadow:0 0 0 4px #ffffffb0}.annotation .line{width:32px;height:1px;background:#b3b3bb}.annotation .text{background:#fffffff2;padding:5px 8px;border-left:1px solid #ddd}.annotation strong{display:block;font-weight:700}.annotation small{color:var(--muted);font-size:10px}footer{border-top:1px solid var(--red);padding:18px 0 22px;display:flex;gap:clamp(20px,5vw,90px);align-items:center}.spec{display:flex;flex-direction:column;gap:5px}.spec strong{font-size:18px;letter-spacing:-.3px}.spec span{font-size:10px;color:var(--muted)}footer>p{font-size:13px;letter-spacing:2px;color:var(--red);font-weight:700;margin-left:auto} @media(min-width:1500px){#viewer{margin-top:-48px}}@media(max-width:720px){header{height:64px;margin:0 6%}.brand{font-size:23px}header img{width:100px;height:54px}.header-label{display:none}main{padding:0 6%}.intro{padding-top:24px;display:block}.eyebrow{font-size:9px;margin-bottom:10px}h1{font-size:33px;letter-spacing:-1px}.lead{font-size:13px;margin-top:13px}.desktop{display:none}#viewer{height:56dvh;min-height:370px;margin-top:0;margin-left:-6.8%;margin-right:-6.8%}.view-tag{top:18px;left:6%;font-size:8px}.model-actions{bottom:13px}button{font-size:12px;padding:13px 16px}.reset{width:43px}.gesture{right:auto;left:50%;transform:translateX(-50%);bottom:67px;font-size:9px;white-space:nowrap}footer{gap:10px;justify-content:space-between;padding-top:16px;flex-wrap:wrap}.spec strong{font-size:14px}.spec span{font-size:8px}footer>p{display:none}.annotation{font-size:9px}.annotation small{font-size:8px}.annotation .line{width:12px}.annotation .text{max-width:130px;white-space:normal;padding:4px} }@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.detail-toggle{position:absolute;right:0;top:28px;padding:9px 12px;background:white;color:var(--red);border-color:#e8e8ec;font-size:11px;z-index:3}.detail-toggle:hover{background:#fff2f5}.annotation.layer-tag .line,.annotation.layer-tag .dot{display:none}.annotation.layer-tag .text{border:1px solid #e61e46;color:#e61e46;padding:5px 9px;font-size:12px;background:#fff}.annotation.layer-tag small{display:none}#mesh-detail{position:absolute;inset:54px 0 80px;margin:0;background:white;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center}#mesh-detail[hidden]{display:none}#mesh-detail svg{display:block;width:100%;height:calc(100% - 30px);max-width:820px;overflow:visible}#mesh-detail figcaption{font-size:12px;color:var(--muted);text-align:center;line-height:1.4;margin-top:4px}.detail-mode #canvas-wrap,.detail-mode #labels{visibility:hidden}.detail-mode .gesture,.detail-mode #reset{display:none}@media(max-width:720px){.detail-toggle{top:8px;right:6%;font-size:10px;padding:9px}.annotation.layer-tag .text{font-size:11px;padding:4px 6px}#mesh-detail{inset:48px 14px 75px}#mesh-detail figcaption{font-size:11px;max-width:290px}}
