/* Two ways to work: translucent, schematic isometric scenes with the site's living halo. */
.iso{--iso-ink:#17212B;--iso-line:rgba(23,33,43,.5);--iso-faint:rgba(23,33,43,.2);
  --iso-g1:#C9A15A;--iso-g2:#C99A86;--iso-g3:#A48743;order:-1;width:100%;height:clamp(180px,17vw,230px);margin:0 0 6px}
:root[data-palette="spectrum"] .iso{--iso-g1:#4D9BE6;--iso-g2:#D981BC;--iso-g3:#92BF4D}
.iso svg{display:block;width:100%;height:100%;overflow:visible}
.iso polygon,.iso polyline,.iso ellipse,.iso line,.iso path{stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.iso .f-top{fill:rgba(255,255,255,.5);stroke:var(--iso-line);stroke-width:.85}
.iso .f-left{fill:rgba(23,33,43,.022);stroke:var(--iso-line);stroke-width:.85}
.iso .f-right{fill:rgba(23,33,43,.05);stroke:var(--iso-line);stroke-width:.85}
.iso .hidden{fill:none;stroke:var(--iso-faint);stroke-width:.75;stroke-dasharray:2 2.5}
.iso .f-tile{fill:rgba(255,255,255,.35);stroke:var(--iso-faint);stroke-width:.8}
.iso .f-tile-side{fill:rgba(23,33,43,.025);stroke:var(--iso-faint);stroke-width:.8}
.iso .grid{fill:none;stroke:rgba(23,33,43,.08);stroke-width:.6}
.iso .mark{fill:none;stroke:var(--iso-g3);stroke-width:.9;opacity:.8}
.iso .screen{fill:rgba(255,255,255,.55);stroke:var(--iso-line);stroke-width:.85}
.iso .screen-line{fill:none;stroke:var(--iso-g3);stroke-width:1;opacity:.75}
.iso .glass{fill:rgba(164,135,67,.06);stroke:var(--iso-line);stroke-width:.8}
.iso .glint{fill:none;stroke:rgba(23,33,43,.18);stroke-width:.7}
.iso .door{fill:rgba(255,255,255,.4);stroke:var(--iso-line);stroke-width:.8}
.iso .sign{fill:none;stroke:var(--iso-ink);stroke-width:.9}
.iso .awning-a{fill:rgba(255,255,255,.4);stroke:var(--iso-line);stroke-width:.75}
.iso .awning-b{fill:var(--iso-g2);fill-opacity:.22;stroke:var(--iso-line);stroke-width:.75}
.iso .edge{fill:none;stroke:var(--iso-line);stroke-width:.85}
.iso .till-screen{fill:rgba(255,255,255,.5);stroke:var(--iso-line);stroke-width:.85;animation:iso-glow 4s linear infinite}
.iso .glow-b{animation-duration:4.4s}
@keyframes iso-glow{0%,70%{fill:rgba(255,255,255,.5)}80%{fill:var(--iso-g1)}100%{fill:rgba(255,255,255,.5)}}
.iso .route{fill:none;stroke:var(--iso-g3);stroke-width:1;stroke-dasharray:2 4;animation:iso-route 1.2s linear infinite;opacity:.8}
@keyframes iso-route{to{stroke-dashoffset:-6}}
.iso .ring-shadow{fill:none;stroke:var(--iso-faint);stroke-width:.7;stroke-dasharray:1.5 3}
.iso .tether{stroke:var(--iso-faint);stroke-width:.7;stroke-dasharray:1.5 3}
.iso .ring-fallback{fill:none;stroke-width:1.4;opacity:.7}
.iso .iso-halo.is-living .ring-fallback{display:none}
.iso .iso-fibre{fill:none;stroke-width:.75;opacity:.85}
.iso .iso-fibre.is-white{stroke:#FFFFFF;opacity:.9;stroke-width:.9}
.iso .iso-pulse{fill:none;stroke-width:1.7;stroke-linecap:round;stroke-dasharray:var(--dash);stroke-dashoffset:var(--from);opacity:var(--op,.75);animation:iso-pulse 7.5s linear infinite;animation-delay:var(--delay,0s)}
@keyframes iso-pulse{to{stroke-dashoffset:calc(var(--from) - 100)}}
.iso .iso-g1{stop-color:var(--iso-g1)}.iso .iso-g2{stop-color:var(--iso-g2)}.iso .iso-g3{stop-color:var(--iso-g3)}
.iso .p-top{fill:var(--iso-g1);fill-opacity:.32;stroke:var(--iso-g3);stroke-width:.9}
.iso .p-left{fill:var(--iso-g2);fill-opacity:.22;stroke:var(--iso-g3);stroke-width:.9}
.iso .p-right{fill:var(--iso-g3);fill-opacity:.28;stroke:var(--iso-g3);stroke-width:.9}
.iso .ink .p-top,.iso .ink .p-left,.iso .ink .p-right{fill:rgba(255,255,255,.4);fill-opacity:1;stroke:var(--iso-line)}
.iso .brief .p-top{fill:rgba(255,255,255,.6);fill-opacity:1;stroke:var(--iso-line)}
.iso .call circle{fill:var(--iso-g1);stroke:#FFFFFF;stroke-width:1}
.iso .call .call-ripple{fill:none;stroke:var(--iso-g3);stroke-width:.8}
.iso text{font:500 9px/1 var(--mono,"DM Mono",monospace);letter-spacing:.08em;fill:var(--stone,#596571)}
:root[data-halo-motion="paused"] .iso *,.iso.is-idle *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.iso *{animation:none!important}}
.iso .hs-strands path{stroke-width:.75;vector-effect:non-scaling-stroke;opacity:.9}
.iso .hs-pearls path{stroke-width:.9;vector-effect:non-scaling-stroke;opacity:.85}
.iso .hs-pulse{fill:none;stroke:#FFFFFF;stroke-width:2.2;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:7 93;stroke-dashoffset:var(--from);opacity:.9;animation:iso-pulse 6s linear infinite;animation-delay:var(--delay,0s)}
