
/* === systems-map motion patch 2026-10-31 === */
.systems-map__leaders path{
  stroke-dasharray:8 6;
  animation:systems-dash 18s linear infinite;
}
.systems-map__leaders circle{
  transform-box:fill-box;
  transform-origin:center;
  animation:systems-pulse 1.8s ease-in-out infinite;
}
.systems-map__leaders circle:nth-child(2n){ animation-delay:.35s; }
.systems-map__leaders circle:nth-child(3n){ animation-delay:.7s; }
.systems-map__leaders circle:nth-child(4n){ animation-delay:1.05s; }

.is-revealed .systems-map__link{
  opacity:0;
  animation:systems-link-in .55s ease-out forwards;
}
.is-revealed .systems-map__link--panel{ animation-delay:.05s; }
.is-revealed .systems-map__link--panoramic{ animation-delay:.12s; }
.is-revealed .systems-map__link--balustrade{ animation-delay:.18s; }
.is-revealed .systems-map__link--sunroom{ animation-delay:.24s; }
.is-revealed .systems-map__link--casement{ animation-delay:.30s; }
.is-revealed .systems-map__link--curtain{ animation-delay:.36s; }
.is-revealed .systems-map__link--sintered{ animation-delay:.42s; }
.is-revealed .systems-map__link--pivot{ animation-delay:.48s; }
.is-revealed .systems-map__link--sliding{ animation-delay:.54s; }
.is-revealed .systems-map__link--folding{ animation-delay:.60s; }

.systems-map.is-cycling .systems-map__link.is-hot{
  background:rgba(10,31,27,.78);
  box-shadow:0 0 0 2px rgba(232,208,154,.9);
}

@keyframes systems-pulse{
  0%,100%{ r:4; fill:#f6f4ee; opacity:1; }
  50%{ r:7; fill:#e8d09a; opacity:.85; }
}
@keyframes systems-dash{
  to{ stroke-dashoffset:-280; }
}
@keyframes systems-link-in{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion:reduce){
  .systems-map__leaders path,
  .systems-map__leaders circle,
  .is-revealed .systems-map__link{ animation:none !important; opacity:1 !important; }
}

/* Positions tuned for systems-athens-distant-v3 (front distant Athens villa) */
.systems-map__link--sunroom { left:2%; top:42%; width:17%; }
.systems-map__link--balustrade { left:28%; top:18%; width:17%; }
.systems-map__link--sliding { left:8%; top:72%; width:17%; }
.systems-map__link--folding { left:62%; top:74%; width:17%; }
.systems-map__link--casement { left:78%; top:34%; width:17%; }
.systems-map__link--pivot { left:40%; top:78%; width:17%; }
.systems-map__link--curtain { left:48%; top:16%; width:17%; }
.systems-map__link--panoramic { left:78%; top:58%; width:17%; }
.systems-map__link--panel { left:2%; top:18%; width:17%; }
.systems-map__link--sintered { left:78%; top:78%; width:17%; }

/* Clearer callout type for PRODUCT SYSTEM INDEX */
.systems-map__link{
  background:rgba(8,26,22,.78) !important;
  border:1px solid rgba(246,244,238,.95) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.28);
  color:#fff !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:.2px;
  line-height:1.35 !important;
  padding:12px 14px !important;
  text-shadow:0 1px 2px rgba(0,0,0,.65) !important;
  -webkit-font-smoothing:antialiased;
  width:19% !important;
}
.systems-map__link::before{
  color:#f3d99c !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:1.1px !important;
}
.systems-map__link strong{
  display:inline !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.4px !important;
  text-transform:uppercase;
}
.systems-map__link span{
  color:rgba(255,255,255,.96) !important;
  display:block !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  margin-top:6px !important;
  text-shadow:0 1px 2px rgba(0,0,0,.6);
}
.systems-map__link:hover,
.systems-map__link:focus-visible{
  background:rgba(8,26,22,.9) !important;
  box-shadow:0 0 0 2px rgba(232,208,154,.85),0 8px 20px rgba(0,0,0,.3) !important;
}
@media (max-width:900px){
  .systems-map__link{ font-size:12px !important; padding:10px 12px !important; width:auto !important; }
  .systems-map__link strong{ font-size:12px !important; }
  .systems-map__link span{ font-size:11px !important; }
}
