/* A connected industrial world in the DUP blue palette. */
.factory-section{background:#0c2540;overflow:hidden;position:relative}
.factory-section .section{padding-block:76px}
.factory-section .section-heading{align-items:flex-end;margin-bottom:30px}
.factory-section .eyebrow{color:#80beed}
.factory-section h2{color:#fff;font-size:clamp(40px,5vw,66px)}
.factory-intro p{color:#bcd1e3;font-size:13px;line-height:1.7}
.factory-top-actions{display:flex;align-items:center;gap:22px;margin-top:16px}
.factory-top-actions .text-button{color:#fff}
.factory-top-actions>button{display:flex;gap:8px;align-items:center;font-size:11px;color:#c5deef;background:#ffffff08;border:1px solid #ffffff30;border-radius:30px;padding:10px 14px;min-height:44px}
.factory-top-actions>button:disabled{opacity:1;color:#a9c8df;cursor:default}
.factory-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:#81c6ff25;padding:1px;border-radius:10px 10px 0 0;overflow:hidden}
.factory-tabs button{background:#102f4d;color:#c4d7e5;display:flex;align-items:center;gap:9px;justify-content:center;padding:18px 10px;font-size:11px;white-space:nowrap;min-height:52px;transition:color .2s,background .2s;position:relative}
.factory-tabs button>span{color:#80beed;font-size:9px}
.factory-tabs button[aria-selected=true]{background:#174a72;color:#fff;box-shadow:inset 0 -2px #65c9ff}
.factory-tabs button[aria-selected=true]>span{color:#a0e2ff}
.factory-panorama{position:relative;height:clamp(390px,39vw,520px);background:radial-gradient(ellipse at 52% 42%,#19466b88,transparent 64%),#0c2540;overflow:hidden;isolation:isolate;border-inline:1px solid #81c6ff25}
.factory-panorama:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#9ccaff04 1px,transparent 1px),linear-gradient(90deg,#9ccaff04 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(ellipse,#000,transparent 70%)}
.factory-camera{position:absolute;left:0;top:0;width:300%;height:100%;will-change:transform}
.factory-art{width:100%;height:100%}
.factory-art>svg{width:100%;height:100%;display:block;max-width:none;stroke-width:initial;fill:initial;stroke:initial}
.factory-art svg *{vector-effect:non-scaling-stroke}
.factory-pins{position:absolute;inset:0;pointer-events:none}
.factory-pin{position:absolute;left:var(--pin-x);top:var(--pin-y);transform:translate(-21px,-50%);display:flex;align-items:center;gap:7px;min-width:44px;min-height:44px;pointer-events:auto;background:transparent;padding:4px;color:#d2e8f7;border-radius:25px;z-index:3}
.pin-dot{width:34px;height:34px;display:grid;place-items:center;background:#0d2e4b;border:1px solid #75b6df;box-shadow:0 4px 12px #06182888;border-radius:50%;font-size:10px;font-weight:700;transition:transform .2s,background .2s}
.pin-label{background:#0c2842ed;padding:8px 10px;border-radius:6px;border:1px solid #80beed40;font-size:9px;white-space:nowrap;box-shadow:0 3px 10px #00152255;letter-spacing:.02em}
.factory-pin[aria-pressed=true] .pin-dot{background:#1565c0;color:#fff;border-color:#8bdbff;box-shadow:0 0 0 5px #1e88e530,0 0 20px #1e88e566;transform:scale(1.1)}
.factory-pin[aria-pressed=true] .pin-label{color:#fff;border-color:#65c9ff;background:#154167}
.factory-pin:hover .pin-dot{transform:translateY(-3px) scale(1.1)}
.factory-scene-caption{position:absolute;bottom:24px;left:26px;z-index:5;display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.1em;color:#b4d8f0;font-weight:600}
.factory-status-dot{width:7px;height:7px;background:#83d6ff;border-radius:50%;box-shadow:0 0 0 4px #1e88e530}
.factory-camera-hud{position:absolute;top:20px;left:26px;z-index:5;pointer-events:none}
.factory-camera-hud small{display:block;color:#9bc4e1;font-size:8px;letter-spacing:.16em;margin-bottom:7px}
.factory-camera-hud strong{font-size:11px;letter-spacing:.07em;font-weight:600;color:#e2f4ff}
.factory-camera-navigation{position:absolute;right:24px;bottom:16px;z-index:6;display:flex;align-items:center;gap:9px}
.factory-camera-navigation button{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#103555ee;border:1px solid #70bcf066;color:#fff;transition:background .2s}
.factory-camera-navigation button:hover:not(:disabled){background:#1565c0}
.factory-camera-navigation button:disabled{opacity:.3}
.factory-camera-navigation button svg{width:19px;height:19px}
.factory-camera-navigation #factory-previous svg{transform:rotate(180deg)}
.factory-camera-navigation span{font-size:9px;color:#bad8ed;letter-spacing:.07em;padding-right:10px}
.factory-tour-rail{position:absolute;inset:auto 0 0;height:2px;background:#8accff25;z-index:7;pointer-events:none}
.factory-tour-rail span{display:block;height:100%;background:#83d6ff;transition:width 1.8s ease}
.factory-panorama:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:4;background:linear-gradient(90deg,#0c2540b3,transparent 7%,transparent 93%,#0c2540b3)}
.factory-detail{display:grid;grid-template-columns:145px 1fr auto;gap:26px;align-items:center;background:#102f4d;border:1px solid #81c6ff25;border-top-color:#81c6ff40;border-radius:0 0 12px 12px;padding:24px 30px;min-height:195px}
.factory-detail-photo{display:flex;align-items:center;justify-content:center;width:140px;height:136px;background:#f3f7fb;border-radius:8px;box-shadow:0 10px 26px #001a2a44}
.factory-detail-photo img{width:125px;height:120px;object-fit:contain;mix-blend-mode:multiply}
.factory-detail-kicker{font-size:9px;letter-spacing:.12em;color:#8acbff;font-weight:600}
.factory-detail-copy h3{font:700 31px/1.1 var(--display);color:#fff;margin-top:7px}
.factory-detail-copy>p:not(.factory-detail-kicker){max-width:520px;font-size:12px;line-height:1.65;color:#c1d5e4;margin-top:10px}
.factory-detail-copy>span{display:block;font-size:9px;color:#a4c4db;margin-top:12px}
.factory-detail-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.factory-detail-actions .button{font-size:11px;gap:28px}
.factory-detail-actions .text-button{font-size:11px;color:#deefff}
.factory-footnote{font-size:10px;color:#a4c1d7;margin-top:20px}
.factory-motion-paused .factory-art *{animation-play-state:paused!important}
.factory-section [data-art-zone]{transition:filter .25s,opacity .25s;cursor:pointer}
.factory-section [data-art-zone].zone-active{filter:drop-shadow(0 0 8px #48b9ff66)}
.factory-section [data-art-zone].zone-active .zone-outline{stroke:#b3edff;stroke-width:2;opacity:1}
.factory-section .factory-pin:focus-visible,.factory-section .factory-tabs button:focus-visible{outline:3px solid #a0e2ff;outline-offset:-3px}
@media(max-width:1000px){
 .factory-tabs button{font-size:9px;gap:5px;padding-inline:6px}
 .factory-detail{grid-template-columns:130px 1fr;gap:20px}
 .factory-detail-photo{width:120px;height:130px}
 .factory-detail-photo img{width:105px;height:115px}
 .factory-detail-actions{grid-column:2;flex-direction:row;align-items:center}
 .pin-label{font-size:8px;padding:6px 8px}
 .factory-detail-copy h3{font-size:28px}
}
@media(max-width:700px){
 .factory-section .section{padding-block:48px}
 .factory-section .section-heading{align-items:flex-start;flex-direction:column;gap:20px}
 .factory-section h2{font-size:48px}
 .factory-intro p{font-size:12px}
 .factory-top-actions{gap:20px;margin-top:10px}
 .factory-tabs{display:flex;overflow:auto;scrollbar-width:thin;border-radius:9px 9px 0 0}
 .factory-tabs button{flex:0 0 auto;font-size:10px;padding:14px 15px;min-height:48px}
 .factory-panorama{height:330px}
 .factory-pin{min-width:44px;min-height:44px;transform:translate(-19px,-50%);--pin-y:30%!important}
 .pin-dot{width:29px;height:29px;font-size:9px}
 .pin-label{display:none}
 .factory-pin[aria-pressed=true] .pin-label{display:block;position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-size:8px;padding:5px 8px;z-index:5}
 .factory-scene-caption{font-size:7px;bottom:13px;left:16px;letter-spacing:.04em}
 .factory-camera-hud{top:18px;left:16px}
 .factory-camera-hud strong{font-size:9px}
 .factory-camera-hud small{font-size:7px}
 .factory-camera-navigation{right:13px;bottom:10px;gap:7px}
 .factory-camera-navigation span{display:none}
 .factory-camera-navigation button{width:44px;height:44px}
 .factory-detail{grid-template-columns:86px 1fr;gap:15px;padding:19px 16px;min-height:230px}
 .factory-detail-photo{width:82px;height:100px}
 .factory-detail-photo img{width:74px;height:90px}
 .factory-detail-copy h3{font-size:24px}
 .factory-detail-kicker{font-size:8px}
 .factory-detail-copy>p:not(.factory-detail-kicker){font-size:11px}
 .factory-detail-copy>span{font-size:8px}
 .factory-detail-actions{grid-column:1/-1;gap:15px;flex-wrap:wrap}
 .factory-detail-actions .button{font-size:10px;min-height:44px;padding:12px 15px}
 .factory-detail-actions .text-button{font-size:10px}
 .factory-footnote{font-size:9px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){
 .factory-art *{animation:none!important}
 .factory-art,.factory-pins,.factory-tour-rail span,.factory-section [data-art-zone],.factory-tabs button,.pin-dot{transition:none}
}
