/* Approved concept: fixed typography, optical city at right, calm blue/white chapters. */
.hero{min-height:750px;height:min(880px,100svh);background:#07182e}
.hero:before{background:radial-gradient(ellipse at 77% 43%,#16415b55,transparent 55%)}
.hero-content{padding-top:185px}
.hero h1{font-size:clamp(48px,4.65vw,74px);font-weight:700;line-height:1.38;letter-spacing:-1.7px;max-width:760px}
.hero .title-period{display:none}
.hero .eyebrow{color:#b0cadb;letter-spacing:2px;margin-bottom:29px}
.hero .status-dot{display:none}
.hero-description{font-size:17px;color:#a9c0d2;line-height:1.9;margin-bottom:30px}
.hero .button{min-height:48px;border-radius:0;padding-inline:23px}
.hero .button-primary{background:#edf4fa;color:#133c61;border-color:#edf4fa}
.hero .button-primary:hover{background:#bce9eb;border-color:#bce9eb}
.brand-promise{margin-top:27px;color:#7597b1;font-size:12px}
.hero-art{right:-9%;top:51px;width:80%;height:660px;mask-image:none;z-index:0;pointer-events:none}
.hero-art img{position:absolute;inset:0;animation:none;opacity:.82;transition:opacity .8s}
.hero-art:after{z-index:2;pointer-events:none;background:linear-gradient(90deg,#07182e 0%,#07182e80 12%,transparent 30%),linear-gradient(0deg,#07182e,transparent 14%,transparent 88%,#07182e)}
.hero-art #hero-lens{position:absolute;inset:0;z-index:1;width:100%;height:100%;opacity:0;transition:opacity 1s}
.hero-3d-ready .hero-art img{opacity:0}
.hero-3d-ready .hero-art #hero-lens{opacity:1}
.hero-3d-ready #hero-particles{display:none}
.art-label{z-index:3;font-size:12px;letter-spacing:.5px;color:#a6c9db;gap:9px}
.art-label:after{height:1px;width:67px;background:linear-gradient(90deg,#80b7c5aa,transparent);transform:rotate(24deg);transform-origin:left;top:25px}
.art-label i{height:4px;width:4px;box-shadow:0 0 9px #61d7db}
.label-observe{left:29%;top:22%}.label-simulate{left:76%;top:29%}.label-calibrate{left:73%;top:69%}
.hero-tools{position:absolute;z-index:3;right:56px;bottom:109px;display:flex;align-items:center;gap:15px;color:#8bafc5}
.hero-scene-tabs{display:flex;gap:0;border:1px solid #466d8555;background:#0b23367a;backdrop-filter:blur(8px)}
.hero-scene-tabs button{font-size:12px;letter-spacing:.5px;border:0;background:none;color:#92b2c7;padding:9px 15px;position:relative}
.hero-scene-tabs button[aria-pressed=true]{color:#91eeeb;background:#1a687029}
.hero-scene-tabs button[aria-pressed=true]:after{content:"";position:absolute;bottom:-1px;left:15px;right:15px;height:1px;background:#53d6d0}
.hero-scene-tabs button:hover{color:#dcfbf9}
.motion-toggle{display:flex;align-items:center;gap:7px;font-size:12px;color:#7299b3;background:none;border:0;padding:9px 0;min-width:80px}
.motion-toggle:hover{color:#a9e8e8}.motion-toggle span{font-size:13px}
.scene-caption{position:absolute;right:57px;bottom:88px;z-index:3;font-size:12px;color:#688da6;letter-spacing:.7px;margin:0}
.hero-foot{z-index:3;bottom:25px;padding-top:20px;letter-spacing:1.2px}
.hero-foot .hero-foot-center{color:#7593ad}
.hero:after{content:"";position:absolute;inset:116px 27px 118px;pointer-events:none;z-index:2;background:linear-gradient(#83afc488,#83afc488) left top/18px 1px no-repeat,linear-gradient(#83afc488,#83afc488) left top/1px 18px no-repeat,linear-gradient(#83afc488,#83afc488) right bottom/18px 1px no-repeat,linear-gradient(#83afc488,#83afc488) right bottom/1px 18px no-repeat}
.capabilities,.scenario-section{position:relative}
.capabilities:before,.scenario-section:before{content:"+";position:absolute;left:22px;top:37px;font-size:24px;font-weight:200;color:#789dbd77}
.capability-tabs button{position:relative;padding-bottom:18px;border-bottom:1px solid #becfdc}
.capability-tabs button[aria-selected=true]{border-bottom:2px solid #1abdc0;padding-bottom:17px}
.capability-tabs button strong{font-size:25px;letter-spacing:1px}
.capability-tabs .step-top{margin-bottom:12px}
.flow-visual{height:177px;margin:5px 0 13px}.flow-nodes{display:none}
.capability-detail{padding-top:21px;padding-bottom:5px}
.precision-comparison{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.comparison-view{border:1px solid #c9dbe7;padding:24px 24px 18px;background:#eaf0f5;min-width:0}
.comparison-view>header{display:flex;justify-content:space-between;align-items:center;gap:20px}
.comparison-view>header span{font-size:12px;color:#7296ad;letter-spacing:1.3px}
.comparison-view h4{font-size:17px;font-weight:500;margin:0;color:#25677c}
.comparison-view svg{width:100%;height:155px;display:block;margin:18px 0 13px}
.comparison-view p{font-size:13px;line-height:1.8;color:#617e96;margin:0}
.comparison-node{fill:#d4e5ed;stroke:#6da4b5;stroke-width:1.2}
.comparison-base{stroke:#82a4b857;stroke-width:1;fill:none}
.comparison-path{stroke:#139caa;stroke-width:2;fill:none;stroke-dasharray:5 5;animation:trace-flow 1.2s linear infinite}
.comparison-b .comparison-path{stroke:#487cb8}.comparison-b .comparison-node{stroke:#6c91bc}
.comparison-b[data-condition=delay] .comparison-path{animation-duration:3s;stroke-dasharray:2 8}
.comparison-b[data-condition=coverage] .comparison-path{stroke-dasharray:9 5}
.comparison-note{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}
.comparison-note>p{font-size:12px;color:#738da2;line-height:1.8;margin:0;max-width:570px}
.comparison-options{display:flex;gap:8px}
.comparison-options button{padding:8px 13px;font-size:12px;border:1px solid #c6d9e3;background:none;color:#66859c;white-space:nowrap}
.comparison-options button[aria-pressed=true]{color:#127a8c;background:#e2eff2;border-color:#65adb9}
.precision-inline-label{font-size:12px!important;color:#7698ad;letter-spacing:.8px}
@keyframes trace-flow{to{stroke-dashoffset:-20}}
@media(min-width:1600px){.hero-art{width:78%;right:-6%;top:46px;height:735px}.hero-tools{right:max(56px,calc((100vw - 1380px)/2));bottom:112px}.hero-content{padding-top:195px}}
@media(max-width:1150px){.hero-art{width:88%;right:-17%;height:640px;opacity:1}.hero h1{font-size:51px}.hero-tools{right:32px;bottom:112px}.scene-caption{right:32px}.hero-content{padding-top:190px}.hero-description{font-size:16px}.hero:after{inset-inline:15px}.hero-scene-tabs button{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.comparison-path{animation:none}.hero-art #hero-lens,.hero-art img{transition:none}}
