/* Homepage-only 3D illustration. Fixed geometry; only transforms/opacity animate. */
.council-hero .hero-motion{position:absolute;right:4.4%;top:44%;transform:translateY(-50%);width:34%;max-width:420px;height:320px;border:1px solid #cde4e331;border-radius:18px;background:linear-gradient(145deg,#183c4be8,#102d3fbe);box-shadow:0 24px 70px #00152233;color:#f5faf8;isolation:isolate}
.hm-topline{position:absolute;inset:17px 17px auto 21px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:.02em;z-index:2}
.hero-motion .hm-toggle{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid #cce3e344;border-radius:50%;background:#173945;color:#e8f1ed;cursor:pointer;padding:0;font:13px/1 inherit}
.hero-motion .hm-toggle[hidden]{display:none}.hero-motion .hm-toggle:focus-visible{outline:2px solid #e8f1bd;outline-offset:4px}.hero-motion .hm-toggle:hover{background:#2b5361}.hm-toggle-symbol{font-family:Arial,sans-serif;font-size:11px}
.hero-motion .hm-caption{position:absolute;inset:auto 21px 17px;margin:0;display:flex;justify-content:space-between;align-items:center;color:#bbd0d1;font-size:9px;letter-spacing:.035em;line-height:1.4}.hm-caption>span{border:1px solid #badad23d;border-radius:5px;padding:3px 5px;font-size:9px}
.hm-viewport{position:absolute;inset:47px 0 42px;perspective:850px;pointer-events:none}
.hm-scale{position:absolute;top:50%;left:50%;transform:scale(1) translateY(-10px);transform-style:preserve-3d}
.hm-theme-school .hm-scale{transform:scale(1.02) translateY(-30px)}
.hm-theme-medical .hm-scale{transform:scale(.74) translateY(-23px)}
.hm-model{position:absolute;transform-style:preserve-3d;transform:rotateX(-19deg) rotateY(-27deg);animation:hm-orbit 14s ease-in-out infinite alternate}
.hm-box{position:absolute;width:0;height:0;transform-style:preserve-3d;transform:translate3d(var(--x),var(--y),var(--z));--front:#e2e8e8;--side:#a4b6bf;--top:#f8faf6}
.hm-face{position:absolute;display:block;margin:0;padding:0;backface-visibility:hidden;outline:1px solid transparent}
.hm-front,.hm-back{width:var(--w);height:var(--h);left:calc(var(--w)/-2);top:calc(var(--h)/-2);background:var(--front)}
.hm-front{transform:translateZ(calc(var(--d)/2))}.hm-back{transform:rotateY(180deg) translateZ(calc(var(--d)/2));background:var(--side)}
.hm-left,.hm-right{width:var(--d);height:var(--h);left:calc(var(--d)/-2);top:calc(var(--h)/-2);background:var(--side)}
.hm-left{transform:rotateY(-90deg) translateZ(calc(var(--w)/2))}.hm-right{transform:rotateY(90deg) translateZ(calc(var(--w)/2))}
.hm-top,.hm-bottom{width:var(--w);height:var(--d);left:calc(var(--w)/-2);top:calc(var(--d)/-2);background:var(--top)}
.hm-top{transform:rotateX(90deg) translateZ(calc(var(--h)/2))}.hm-bottom{transform:rotateX(-90deg) translateZ(calc(var(--h)/2));background:var(--side)}
.hm-blue{--front:#388dc5;--side:#1c5b8c;--top:#69b7e4}.hm-steel{--front:#9daeb5;--side:#607c8c;--top:#d9e4e5}.hm-dark{--front:#29434d;--side:#152e3e;--top:#4e6a75}.hm-plinth{--front:#95b9b5;--side:#659591;--top:#c6d9d1}.hm-screen{--front:#7fd6cd;--side:#1e898f;--top:#b6eee2}
.hm-tool{position:absolute;transform-style:preserve-3d;animation:hm-traverse 8s ease-in-out infinite alternate;transform:translateX(-25px)}
.hm-gantry{position:absolute;transform-style:preserve-3d;transform:translate3d(-23px,-10px,0)}
.hm-ring{position:absolute;left:-73px;top:-73px;width:146px;height:146px;box-sizing:border-box;border:25px solid #afc3c9;border-radius:50%;transform:translateZ(var(--ring-z));background:transparent}
.hm-ring-front{border-color:#f0f4ee;box-shadow:inset 0 0 0 3px #6cbcbf,0 0 0 1px #e1ede6}
.hm-rack-front{position:absolute;left:-23px;top:-69px;width:46px;height:140px;transform:translate3d(var(--rack-x),0,40px);padding:5px 3px;box-sizing:border-box;background:#132d3a}
.hm-slot{display:flex;align-items:center;justify-content:space-between;height:12px;margin-bottom:4px;border:1px solid #5b737e;background:linear-gradient(0deg,#2c4652,#425d68);padding:0 4px;box-sizing:border-box}.hm-slot>i{width:22px;height:4px;background:repeating-linear-gradient(90deg,#122e3b 0 2px,transparent 2px 4px)}.hm-slot>b{display:block;width:3px;height:3px;border-radius:50%;background:#a4e9b9;animation:hm-status 5s ease-in-out infinite alternate;animation-delay:var(--delay)}.hm-rack-vent{display:block;margin-top:6px;height:12px;background:repeating-linear-gradient(0deg,#45636d 0 1px,transparent 1px 3px)}
.hero-motion .hm-model,.hero-motion .hm-tool,.hero-motion .hm-slot>b{animation-play-state:paused}.hero-motion[data-running="true"] .hm-model,.hero-motion[data-running="true"] .hm-tool,.hero-motion[data-running="true"] .hm-slot>b{animation-play-state:running}
@keyframes hm-orbit{from{transform:translateY(2px) rotateX(-19deg) rotateY(-27deg)}to{transform:translateY(-2px) rotateX(-17deg) rotateY(-16deg)}}
@keyframes hm-traverse{from{transform:translateX(-25px)}to{transform:translateX(25px)}}
@keyframes hm-status{from{opacity:.4}to{opacity:1}}
@media(min-width:1700px){.council-hero .hero-motion{height:350px}}
@media(min-width:761px) and (max-width:1100px){.council-hero .hero-motion{width:32%;right:3%;height:286px}.hm-scale{transform:scale(.78) translateY(-12px)}.hm-theme-school .hm-scale{transform:scale(.85) translateY(-30px)}.hm-theme-medical .hm-scale{transform:scale(.6) translateY(-23px)}.hm-topline{font-size:9px;left:14px;right:12px}.hero-motion .hm-caption{left:14px;right:14px}}
@media(max-width:760px){.council-site main .council-hero{flex-direction:column;gap:26px;padding-bottom:168px}.council-hero .hero-motion{position:relative;inset:auto;transform:none;width:100%;max-width:360px;height:252px;flex-shrink:0;align-self:center;background:linear-gradient(145deg,#163c4be8,#102d3fd9)}.hm-scale{transform:scale(.7) translateY(-20px)}.hm-theme-school .hm-scale{transform:scale(.82) translateY(-40px)}.hm-theme-medical .hm-scale{transform:scale(.56) translateY(-25px)}.hm-topline{top:13px;font-size:10px}.hero-motion .hm-caption{bottom:12px}.hm-viewport{inset:43px 0 35px}}
@media(prefers-reduced-motion:reduce){.hero-motion .hm-model,.hero-motion .hm-tool,.hero-motion .hm-slot>b{animation:none!important}.hero-motion .hm-toggle{display:none}}
