/* Homepage studio: the existing brand blue meets a quiet, dark product stage. */
.dock-home-banner{display:none}
.hero.is-dock-home{background:#070d18;isolation:isolate;min-height:680px}
.hero.is-dock-home .hero-content,.hero.is-dock-home .hero-image,.hero.is-dock-home .hero-shade,.hero.is-dock-home .hero-grid,.hero.is-dock-home .hero-video,.hero.is-dock-home .orbit{display:none!important}
.hero.is-dock-home .dock-home-banner{display:flex;position:absolute;inset:0;flex-direction:column;padding:clamp(100px,14vh,150px) 5.5% 100px;background:radial-gradient(ellipse at 72% 55%,#152744 0%,#0b1424 36%,#070d18 72%);color:#fff}
.dock-home-main{display:grid;grid-template-columns:34% 66%;min-height:0;flex:1;gap:0;align-items:center}
.dock-home-copy{position:relative;z-index:3;padding-right:24px}
.dock-home-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 20px;font-size:12px;letter-spacing:3px;color:#a8bcd6;line-height:1.8}
.dock-home-eyebrow b{font-weight:500}.dock-home-eyebrow>span{height:2px;width:27px;flex:none;background:#006cff;box-shadow:0 0 16px #006cff88}
.hero .dock-home-copy h1{font-size:clamp(40px,4.4vw,76px);line-height:1.18;letter-spacing:-2px;font-weight:750;margin:0 0 22px;white-space:nowrap}
.dock-home-copy h2{font-size:clamp(31px,3.3vw,56px);line-height:1.35;letter-spacing:1px;font-weight:650;color:#2c85ff;margin:0;text-shadow:0 2px 22px #006cff16}
.dock-home-description{font-size:clamp(12px,1vw,16px);line-height:1.95;color:#a8b9d0;max-width:440px;margin:24px 0 27px}
.dock-home-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.dock-home-actions button{height:48px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:6px;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.dock-home-primary{background:#006cff;color:#fff!important;padding:0 23px;border:1px solid #167dff;box-shadow:0 6px 30px #006cff25}
.dock-home-primary:hover,.dock-home-primary:focus-visible{background:#1880ff;color:#fff!important}
.dock-home-fly{padding:0 16px;background:#102039;color:#a7cfff!important;border:1px solid #2c486b}
.dock-home-fly:hover,.dock-home-fly:focus-visible{background:#193e71;color:white!important;border-color:#418bff}
.dock-home-fly:disabled{opacity:.6;cursor:wait}
.dock-home-actions button[hidden]{display:none}.dock-home-stage-top b{font-weight:400}
.hero.is-dock-home.is-dock-integrated .dock-home-copy h2{font-size:clamp(25px,2.8vw,46px);letter-spacing:0;white-space:nowrap}
.hero.is-dock-home.is-dock-integrated .dock-home-actions{gap:8px}.hero.is-dock-home.is-dock-integrated .dock-home-actions button{padding-left:14px;padding-right:14px;gap:9px}
.dock-home-fly svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dock-home-flight-state{display:flex;gap:9px;align-items:center;font-size:10px;color:#8599b4;margin:18px 0 0;letter-spacing:.5px}.dock-home-flight-state i{width:5px;height:5px;border-radius:50%;background:#368bff;box-shadow:0 0 10px #368bff66}
.dock-home-stage{position:relative;height:100%;min-height:350px;display:flex;flex-direction:column;min-width:0}
.dock-home-stage-top{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:0 0 0 5%;font-size:10px;letter-spacing:1px;color:#8b9eb7;gap:8px}
.dock-home-stage-top>span{display:flex;align-items:center;gap:8px;white-space:nowrap}.dock-home-stage-top i{height:5px;width:5px;border-radius:50%;background:#328aff}
.dock-home-view-controls{display:flex;gap:6px;letter-spacing:0}
.dock-home-view-controls button{background:#ffffff03;color:#aebfd5;border:1px solid #9cbfe326;border-radius:4px;height:29px;min-width:29px;font-size:11px;padding:0 10px;white-space:nowrap}
.dock-home-view-controls button:hover{border-color:#006cff;background:#006cff22;color:#fff}.dock-home-view-controls button:disabled{opacity:.4;cursor:wait}
.dock-home-model-wrap{position:relative;flex:1;min-height:0;display:grid;place-items:center}
.dock-home-model-wrap:before{content:'';position:absolute;inset:15% 8% 8%;background:radial-gradient(ellipse,#006cff11,transparent 65%);pointer-events:none}
.dock-home-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 32px #0008);transition:opacity .6s}
.dock-home-model-wrap canvas{position:relative;width:100%;height:100%;display:block;opacity:0;transition:opacity .6s;cursor:grab;touch-action:pan-y;outline-offset:-8px}
.dock-home-model-wrap canvas[hidden]{display:none}.dock-home-model-wrap canvas.dragging{cursor:grabbing}
.dock-home-model-wrap canvas:not(.is-current-model){display:none}
.dock-home-stage[data-state=ready] canvas{opacity:1}.dock-home-stage[data-state=ready] .dock-home-poster{opacity:0;pointer-events:none}
.dock-home-ground{position:absolute;width:65%;height:14%;left:21%;bottom:6%;border-radius:50%;background:radial-gradient(ellipse,#0009,transparent 65%);transform:rotate(-8deg);pointer-events:none}
.dock-home-model-footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-left:5%;padding:12px 0 18px;z-index:4}
.dock-home-model-footer>div:first-child small{font-size:10px;letter-spacing:2px;color:#6b9fe4}.dock-home-model-footer p{font-size:14px;letter-spacing:1px;margin:7px 0 0;color:#becde0}
.dock-home-loading{width:180px;padding:12px 14px;border:1px solid #368bff30;background:#12223d8c;border-radius:8px;backdrop-filter:blur(8px)}
.dock-home-loading-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#a7bfdf}
.dock-home-loading-head b{color:#4c9bff;font-size:12px;font-variant-numeric:tabular-nums}
.dock-home-progress{height:3px;background:#ffffff10;border-radius:3px;margin:8px 0;overflow:hidden}.dock-home-progress span{display:block;height:100%;width:0;background:#006cff;box-shadow:0 0 10px #006cff;transition:width .2s}
.dock-home-loading>small{font-size:9px;color:#7489a5;display:block;line-height:1.5}.dock-home-loading>button{background:none;color:#5da5ff;border:0;padding:8px 0 0;font-size:11px}
.dock-home-stage[data-state=ready] .dock-home-progress{background:#006cff22}.dock-home-stage[data-state=error] .dock-home-loading{border-color:#647c9c}
.dock-home-features{display:grid;grid-template-columns:repeat(6,1fr);list-style:none;margin:16px 0 0;padding:20px 0 0;border-top:1px solid #accdf31c;flex:none}
.dock-home-features li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0;position:relative;padding:0 10px}
.dock-home-features li+li:before{content:'';position:absolute;left:0;top:12px;height:30px;width:1px;background:#b2cbef1b}
.dock-home-features svg{height:30px;width:30px;fill:none;stroke:#94b6de;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.dock-home-features .icon-accent{stroke:#167eff}
.dock-home-features span{font-size:12px;color:#b7c9e1;white-space:nowrap;letter-spacing:.3px}
.hero.is-dock-home .hero-bottom{bottom:24px;left:5.5%;right:5.5%;border-top:1px solid #accdf31c;padding-top:18px}
.hero.is-dock-home .hero-caption{margin-right:0;color:#6f88a9;letter-spacing:1px;font-size:9px}
.hero.is-dock-home .hero-bottom .scroll-hint{color:#8fa8ca}
.hero.is-dock-home .hero-bottom .mouse{border-color:#526985}
.hero.is-dock-home #slide-tabs button[aria-selected=true] i{background:#006cff}
body:has(#home.is-dock-home.visible) .page-rail button span{opacity:0;pointer-events:none}
.dock-home-banner button:focus-visible,.dock-home-banner canvas:focus-visible{outline:2px solid #65a5ff;outline-offset:3px}
@media(min-width:1500px){.hero.is-dock-home .dock-home-banner{padding-left:6%;padding-right:6%}.dock-home-features{padding-top:26px;margin-top:25px}.dock-home-features svg{width:36px;height:36px}.dock-home-features span{font-size:14px}.dock-home-loading{width:200px}.dock-home-stage-top{font-size:11px}}
@media(max-height:760px) and (min-width:901px){.hero.is-dock-home .dock-home-banner{padding-top:110px;padding-bottom:93px}.dock-home-eyebrow{margin-bottom:15px}.hero .dock-home-copy h1{font-size:52px;margin-bottom:15px}.dock-home-copy h2{font-size:39px}.dock-home-description{margin:19px 0 22px}.dock-home-features{padding-top:17px;margin-top:8px;gap:0}.dock-home-stage{min-height:335px}}
@media(max-width:1100px) and (min-width:761px){.dock-home-main{grid-template-columns:39% 61%}.hero .dock-home-copy h1{font-size:43px}.dock-home-copy h2{font-size:34px}.dock-home-eyebrow{letter-spacing:2px;font-size:10px}.dock-home-stage-top{padding-left:0}.dock-home-stage-top>span{font-size:9px}.dock-home-model-footer{margin-left:0;gap:10px}.dock-home-model-footer p{font-size:12px}.dock-home-model-footer>div:first-child small{letter-spacing:1px}.dock-home-loading{width:153px}.dock-home-features span{font-size:10px}.hero.is-dock-home .hero-caption{display:none}}
@media(max-width:760px){.hero.is-dock-home{height:auto;min-height:max(780px,100svh)}.hero.is-dock-home .dock-home-banner{padding:100px 6% 87px}.dock-home-main{display:flex;flex-direction:column;align-items:stretch}.dock-home-copy{padding:0}.dock-home-eyebrow{font-size:9px;letter-spacing:2px;gap:8px;margin-bottom:12px}.dock-home-eyebrow>span{width:20px}.hero .dock-home-copy h1{font-size:39px;margin-bottom:10px;letter-spacing:-1px}.dock-home-copy h2{font-size:30px;line-height:1.3}.dock-home-copy h2 br{display:none}.dock-home-description{font-size:11px;margin:14px 0 16px;line-height:1.8;max-width:none}.dock-home-actions{gap:10px}.dock-home-actions button{height:40px;font-size:11px;gap:10px}.dock-home-primary{padding:0 18px}.dock-home-fly{padding:0 13px}.dock-home-flight-state{margin:12px 0 0;font-size:9px}.dock-home-stage{min-height:275px;flex:1;margin-top:17px}.dock-home-stage-top{padding-left:0;font-size:8px;letter-spacing:0}.dock-home-view-controls{gap:4px}.dock-home-view-controls button{height:25px;min-width:25px;padding:0 6px;font-size:9px}.dock-home-model-footer{margin-left:0;padding:4px 0 8px;gap:8px}.dock-home-model-footer>div:first-child small{font-size:8px;letter-spacing:.4px}.dock-home-model-footer p{font-size:10px;letter-spacing:0;margin-top:5px}.dock-home-loading{width:136px;padding:8px 10px;border-radius:6px}.dock-home-loading-head{font-size:9px}.dock-home-loading-head b{font-size:10px}.dock-home-loading>small{font-size:8px}.dock-home-progress{margin:6px 0}.dock-home-features{grid-template-columns:repeat(3,1fr);row-gap:17px;margin-top:10px;padding-top:16px}.dock-home-features li{gap:7px;padding:0 2px}.dock-home-features svg{width:24px;height:24px}.dock-home-features span{font-size:9px;letter-spacing:0}.dock-home-features li:nth-child(4):before{display:none}.dock-home-features li+li:before{height:24px;top:10px}.hero.is-dock-home .hero-bottom{bottom:19px;left:6%;right:6%;padding:12px 0 0;justify-content:center}.hero.is-dock-home .scroll-hint,.hero.is-dock-home .hero-caption{display:none}.hero.is-dock-home .slide-controls,.hero.is-dock-home #slide-tabs{gap:6px}.hero.is-dock-home #slide-tabs button{min-width:29px;gap:4px;font-size:9px}.hero.is-dock-home #slide-tabs i{width:12px!important}.hero.is-dock-home .slide-controls>button{font-size:13px}}
@media(max-width:380px){.hero .dock-home-copy h1{font-size:34px}.dock-home-copy h2{font-size:27px}.dock-home-features span{font-size:8px}.hero.is-dock-home .slide-controls,.hero.is-dock-home #slide-tabs{gap:4px}.hero.is-dock-home #slide-tabs button{min-width:25px}}
@media(max-width:760px){.hero.is-dock-home.is-dock-integrated .dock-home-copy h2{font-size:26px;line-height:1.4}.hero.is-dock-home.is-dock-integrated .dock-home-copy h2 br{display:block}.hero.is-dock-home .slide-controls,.hero.is-dock-home #slide-tabs{gap:4px}.hero.is-dock-home #slide-tabs button{min-width:27px}}
/* Leave room for the existing mobile contact bar and AI service button. */
@media(max-width:760px){.hero.is-dock-home .dock-home-banner{padding-top:95px;padding-bottom:150px}.dock-home-stage{min-height:230px}.hero.is-dock-home .hero-bottom{bottom:94px}.hero.is-dock-home.is-dock-integrated .dock-home-eyebrow{margin-bottom:8px}.hero.is-dock-home.is-dock-integrated .dock-home-copy h1{font-size:35px;margin-bottom:8px}.hero.is-dock-home.is-dock-integrated .dock-home-copy h2{font-size:24px;line-height:1.35}.hero.is-dock-home.is-dock-integrated .dock-home-description{margin:10px 0 12px}.hero.is-dock-home.is-dock-integrated .dock-home-actions button{height:36px}.hero.is-dock-home.is-dock-integrated .dock-home-flight-state{margin-top:8px}.hero.is-dock-home.is-dock-integrated .dock-home-stage{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.dock-home-poster,.dock-home-model-wrap canvas,.dock-home-progress span{transition:none}}
