/* XYR Signature 2.1 — logo originale e icone SVG disegnate per il network. */

.brand { gap: 0; }
.brand .brand-logo {
  display: block;
  width: 229px;
  height: auto;
  max-height: 94px;
  object-fit: contain;
  mix-blend-mode: screen;
}
.footer-wordmark .brand-logo {
  display: block;
  width: 190px;
  height: auto;
  mix-blend-mode: screen;
}
.network-core .core-brand-image {
  width: 142px;
  max-width: 95%;
  height: auto;
  mix-blend-mode: screen;
}
.network-core small { margin-top: 3px; }

/* Il singolo glifo rimane leggibile senza JavaScript e senza animazioni. */
.cyber-theme svg.xyr-icon {
  overflow: visible;
  fill: none;
  stroke: none;
  filter: none !important;
  flex-shrink: 0;
  pointer-events: none;
  --icon-play-state: paused;
}
.cyber-theme .plan-card > svg.xyr-icon {
  width: 116px !important;
  height: 116px !important;
  margin: 3px 0 10px;
  transform: none;
  transition: translate .4s ease, scale .4s ease;
}
.cyber-theme .plan-card.is-hovered > svg.xyr-icon {
  transform: none;
  translate: 0 -3px;
  scale: 1.035;
}
.cyber-theme .benefit-top > svg.xyr-icon {
  width: 84px !important;
  height: 84px !important;
  padding: 0;
  margin: -9px 0 -7px -7px;
}
.cyber-theme .network-node svg.xyr-icon {
  width: 56px !important;
  height: 56px !important;
  margin: -4px 0 -5px;
}
.network-node { min-height: 106px; gap: 4px; }
.cyber-theme .dialog-icon {
  width: 128px;
  height: 128px;
  background: none;
  border: 0;
  border-radius: 0;
  margin: 19px 0 -6px;
}
.cyber-theme .dialog-icon svg.xyr-icon {
  width: 128px !important;
  height: 128px !important;
}
.cyber-theme .presentation-caption svg.xyr-icon { width: 30px !important; height: 30px !important; }
.cyber-theme .pdf-link svg.xyr-icon,
.cyber-theme .presentation-download svg.xyr-icon { width: 23px !important; height: 23px !important; }
.xyr-icon .icon-glyph { transition: filter .35s ease; }
.xyr-icon .icon-aperture { transform-origin: 64px 66px; }
.xyr-icon .icon-event-star { transform-origin: 64px 58px; }
.xyr-icon .icon-ring-left { transform-origin: 51px 66px; }
.xyr-icon .icon-ring-right { transform-origin: 77px 66px; }
.xyr-icon .icon-code-left { transform-origin: 40px 66px; }
.xyr-icon .icon-code-right { transform-origin: 88px 66px; }
.xyr-icon .icon-chart-bars { transform-origin: 64px 83px; }
.xyr-icon .icon-barbell { transform-origin: 64px 63px; }
.xyr-icon .icon-signal { transform-origin: 78px 56px; }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  :is(.cyber-panel.is-hovered, .cyber-panel:focus-visible, .cyber-panel:focus-within,
      .network-node:hover, .pdf-link:hover, .pdf-link:focus-visible,
      .presentation-download:hover, .presentation-download:focus-visible) .xyr-icon {
    --icon-play-state: running;
  }
  :is(.cyber-panel.is-hovered, .cyber-panel:focus-visible, .network-node:hover) .icon-glyph {
    filter: drop-shadow(0 0 3px #57f4ff45);
  }
  .xyr-icon .icon-current { opacity: 1; }
  .xyr-icon .icon-flow { stroke-dasharray: 22 108; opacity: 0; animation: xyr-circuit-flow 2.6s linear infinite; }
  .xyr-icon .icon-flow-violet { animation-delay: .8s; }
  .xyr-icon .icon-nodes, .xyr-icon .icon-beacon, .xyr-icon .icon-energy {
    animation: xyr-energy 1.8s ease-in-out infinite;
  }
  .xyr-icon .icon-scan { animation: xyr-scan 2.8s ease-in-out infinite; }
  .xyr-icon .icon-ring-left { animation: xyr-ring-left 2.4s ease-in-out infinite; }
  .xyr-icon .icon-ring-right { animation: xyr-ring-right 2.4s ease-in-out infinite; }
  .xyr-icon .icon-windows { animation: xyr-energy 1.8s ease-in-out infinite; }
  .xyr-icon .icon-tower-light { animation: xyr-energy 1.8s .5s ease-in-out infinite; }
  .xyr-icon .icon-event-star { animation: xyr-star 2.4s ease-in-out infinite; }
  .xyr-icon .icon-spark { animation: xyr-energy 1.8s .3s ease-in-out infinite; }
  .xyr-icon .icon-cap { animation: xyr-rise 2.4s ease-in-out infinite; }
  .xyr-icon .icon-barbell { animation: xyr-lift 2s ease-in-out infinite; }
  .xyr-icon .icon-signal { animation: xyr-signal 1.5s ease-out infinite; }
  .xyr-icon .icon-aperture { animation: xyr-shutter 2.8s ease-in-out infinite; }
  .xyr-icon .icon-shutter-flash { animation: xyr-flash 2.8s ease-in-out infinite; }
  .xyr-icon .icon-code-left { animation: xyr-code-left 2s ease-in-out infinite; }
  .xyr-icon .icon-code-right { animation: xyr-code-right 2s ease-in-out infinite; }
  .xyr-icon .icon-code-slash { animation: xyr-energy 2s ease-in-out infinite; }
  .xyr-icon .icon-chart-bars { animation: xyr-bars 2s ease-in-out infinite; }
  .xyr-icon .icon-consult-core { animation: xyr-energy 1.8s ease-in-out infinite; }
  .xyr-icon .icon-pen-point, .xyr-icon .icon-handles { animation: xyr-energy 2s ease-in-out infinite; }
  .xyr-icon .icon-person-center { animation: xyr-rise 2.6s ease-in-out infinite; }
  .xyr-icon .icon-person-left { animation: xyr-rise 2.6s .2s ease-in-out infinite; }
  .xyr-icon .icon-person-right { animation: xyr-rise 2.6s .4s ease-in-out infinite; }
  .xyr-icon .icon-module-right { animation: xyr-link 2.4s ease-in-out infinite; }
  .xyr-icon .icon-link-pulse { animation: xyr-energy 2.4s ease-in-out infinite; }
  .xyr-icon .icon-growth-arrow, .xyr-icon .icon-growth-line { animation: xyr-rise 2.2s ease-in-out infinite; }
  .xyr-icon .icon-play { animation: xyr-energy 2s ease-in-out infinite; }
  .xyr-icon .icon-download-arrow { animation: xyr-download 1.6s ease-in-out infinite; }
  .xyr-icon [class^="icon-"] { animation-play-state: var(--icon-play-state) !important; }
}

@keyframes xyr-circuit-flow {
  0% { stroke-dashoffset: 25; opacity: 0; }
  12%, 65% { opacity: 1; }
  82%, 100% { stroke-dashoffset: -105; opacity: 0; }
}
@keyframes xyr-energy { 0%, 100% { opacity: .72; } 50% { opacity: 1; filter: drop-shadow(0 0 2px #a3f9ffaa); } }
@keyframes xyr-scan { 0%, 15%, 100% { opacity: 0; translate: 0 -27px; } 25% { opacity: .5; } 65% { opacity: 0; translate: 0 29px; } }
@keyframes xyr-ring-left { 0%, 100% { rotate: 0deg; translate: 0 0; } 50% { rotate: -8deg; translate: -2px -2px; } }
@keyframes xyr-ring-right { 0%, 100% { rotate: 0deg; translate: 0 0; } 50% { rotate: 8deg; translate: 2px -2px; } }
@keyframes xyr-star { 0%, 100% { scale: 1; rotate: 0deg; } 50% { scale: 1.08; rotate: 8deg; } }
@keyframes xyr-rise { 0%, 100% { translate: 0 0; } 50% { translate: 0 -4px; } }
@keyframes xyr-lift { 0%, 100% { translate: 0 0; } 50% { translate: 0 -5px; } }
@keyframes xyr-signal { 0% { opacity: .25; scale: .92; } 65% { opacity: 1; } 100% { opacity: .25; scale: 1.1; } }
@keyframes xyr-shutter { 0%, 15%, 100% { rotate: 0deg; } 45%, 65% { rotate: 60deg; } }
@keyframes xyr-flash { 0%, 35%, 65%, 100% { opacity: 0; } 47% { opacity: .34; } }
@keyframes xyr-code-left { 0%, 100% { translate: 0 0; } 50% { translate: -3px 0; } }
@keyframes xyr-code-right { 0%, 100% { translate: 0 0; } 50% { translate: 3px 0; } }
@keyframes xyr-bars { 0%, 100% { scale: 1 1; } 50% { scale: 1 .82; } }
@keyframes xyr-link { 0%, 100% { translate: 0 0; } 50% { translate: -4px 2px; } }
@keyframes xyr-download { 0%, 100% { translate: 0 0; } 50% { translate: 0 3px; } }

@media (max-width: 1100px) {
  .brand .brand-logo { width: 220px; }
  .cyber-theme .plan-card > svg.xyr-icon { width: 108px !important; height: 108px !important; }
  .cyber-theme .network-node svg.xyr-icon { width: 50px !important; height: 50px !important; }
  .network-node { min-height: 100px; }
  .network-core .core-brand-image { width: 121px; }
}
@media (max-width: 700px) {
  .brand .brand-logo { width: 185px; max-height: 76px; }
  .footer-wordmark .brand-logo { width: 165px; }
  .cyber-theme .plan-card > svg.xyr-icon { width: 98px !important; height: 98px !important; margin: 6px 0 9px; }
  .cyber-theme .benefit-top > svg.xyr-icon { width: 80px !important; height: 80px !important; }
  .cyber-theme .network-node svg.xyr-icon { width: 43px !important; height: 43px !important; }
  .network-node { min-height: 87px; }
  .network-core .core-brand-image { width: 98px; }
  .network-core small { font-size: 8px; }
  .cyber-theme .dialog-icon { width: 104px; height: 104px; }
  .cyber-theme .dialog-icon svg.xyr-icon { width: 104px !important; height: 104px !important; }
}
@media (max-width: 359px) {
  .brand .brand-logo { width: 174px; }
  .cyber-theme .plan-card > svg.xyr-icon { width: 88px !important; height: 88px !important; }
}
@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .cyber-theme svg.xyr-icon, .cyber-theme .xyr-icon * {
    animation: none !important;
    transition: none !important;
  }
  .cyber-theme .plan-card.is-hovered > svg.xyr-icon { translate: none; scale: none; }
  .xyr-icon .icon-scan, .xyr-icon .icon-shutter-flash, .xyr-icon .icon-current { opacity: 0 !important; }
}
