/* ============================================================
   AI-system cover art, ported from sagedutra.com
   (FORGE / Solution Factory / Founders Circle case-study covers).
   These keep each product's own sub-brand palette by design —
   they are product artwork, not site-brand surfaces.
   Scoped to .cover-* / animation classes used only inside the
   three aria-hidden .syscard__visual containers.
   ============================================================ */

/* --- layout ------------------------------------------------- */

.cover {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

/* radial grounds (per-deck *_GROUND constants) */
.cover--forge {
  background: radial-gradient(70% 70% at 50% 42%, #2a2825 0%, #1d1b19 55%, #141311 100%);
}
.cover--factory {
  background: radial-gradient(80% 80% at 70% 40%, #161A22 0%, #11141A 55%, #0B0D12 100%);
}
.cover--circle {
  background: radial-gradient(78% 80% at 72% 44%, #131A2A 0%, #0C111C 56%, #070B14 100%);
}

.cover__layer {
  position: absolute;
  inset: 0;
}

/* static corner glows */
.cover--forge .cover__glow {
  background-image:
    radial-gradient(58% 50% at 88% 8%, rgba(217,119,87,0.07), transparent 60%),
    radial-gradient(50% 55% at 4% 96%, rgba(124,134,148,0.05), transparent 60%);
}
.cover--factory .cover__glow {
  background-image:
    radial-gradient(60% 55% at 80% 12%, rgba(221,126,84,0.08), transparent 60%),
    radial-gradient(50% 50% at 8% 96%, rgba(142,114,214,0.07), transparent 60%);
}
.cover--circle .cover__glow {
  background-image:
    radial-gradient(60% 55% at 82% 10%, rgba(53,194,242,0.08), transparent 60%),
    radial-gradient(52% 52% at 6% 96%, rgba(110,114,230,0.08), transparent 60%);
}

/* tiled deck textures (lifted verbatim from the case-study decks) */
.cover__texture--forge {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='720' viewBox='0 0 720 720'%3E%3Cg fill='none' stroke='%237C8694' stroke-width='1' opacity='0.10'%3E%3Cpath d='M60 0 V120 H180 V260 H120 V400'/%3E%3Cpath d='M0 60 H140 V200 H300 V90 H460 V230'/%3E%3Cpath d='M720 140 H560 V300 H640 V460'/%3E%3Cpath d='M300 720 V560 H440 V440 H560'/%3E%3Cpath d='M180 720 V600 H80 V480'/%3E%3Cpath d='M620 40 V160 H520 V300'/%3E%3Cpath d='M460 540 H600 V640'/%3E%3Cpath d='M40 320 H180 V440 H260'/%3E%3C/g%3E%3Cg fill='%237C8694' opacity='0.16'%3E%3Ccircle cx='60' cy='0' r='3'/%3E%3Ccircle cx='180' cy='260' r='3'/%3E%3Ccircle cx='120' cy='400' r='3'/%3E%3Ccircle cx='300' cy='90' r='3'/%3E%3Ccircle cx='460' cy='230' r='3'/%3E%3Ccircle cx='560' cy='300' r='3'/%3E%3Ccircle cx='640' cy='460' r='3'/%3E%3Ccircle cx='440' cy='440' r='3'/%3E%3Ccircle cx='80' cy='480' r='3'/%3E%3Ccircle cx='520' cy='300' r='3'/%3E%3Ccircle cx='600' cy='640' r='3'/%3E%3Ccircle cx='260' cy='440' r='3'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 720px 720px;
  animation: forge-circuit-drift 90s linear infinite;
}
.cover__texture--factory {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cg fill='none' stroke='%237C8694' stroke-width='1' opacity='0.09'%3E%3Cpath d='M40 60 L150 30 L260 80 L370 50'/%3E%3Cpath d='M40 60 L90 170'/%3E%3Cpath d='M150 30 L90 170'/%3E%3Cpath d='M150 30 L210 150'/%3E%3Cpath d='M260 80 L210 150'/%3E%3Cpath d='M260 80 L330 190'/%3E%3Cpath d='M370 50 L330 190'/%3E%3Cpath d='M90 170 L210 150'/%3E%3Cpath d='M210 150 L330 190'/%3E%3Cpath d='M90 170 L50 290'/%3E%3Cpath d='M90 170 L170 270'/%3E%3Cpath d='M210 150 L170 270'/%3E%3Cpath d='M330 190 L290 300'/%3E%3Cpath d='M330 190 L390 280'/%3E%3Cpath d='M50 290 L170 270'/%3E%3Cpath d='M170 270 L290 300'/%3E%3Cpath d='M290 300 L390 280'/%3E%3Cpath d='M50 290 L120 390'/%3E%3Cpath d='M170 270 L120 390'/%3E%3Cpath d='M170 270 L250 380'/%3E%3Cpath d='M290 300 L250 380'/%3E%3Cpath d='M390 280 L360 400'/%3E%3Cpath d='M250 380 L360 400'/%3E%3Cpath d='M120 390 L250 380'/%3E%3C/g%3E%3Cg fill='%237C8694' opacity='0.14'%3E%3Ccircle cx='40' cy='60' r='2.6'/%3E%3Ccircle cx='150' cy='30' r='2.6'/%3E%3Ccircle cx='260' cy='80' r='2.6'/%3E%3Ccircle cx='370' cy='50' r='2.6'/%3E%3Ccircle cx='90' cy='170' r='2.6'/%3E%3Ccircle cx='210' cy='150' r='3.2'/%3E%3Ccircle cx='330' cy='190' r='2.6'/%3E%3Ccircle cx='50' cy='290' r='2.6'/%3E%3Ccircle cx='170' cy='270' r='3.2'/%3E%3Ccircle cx='290' cy='300' r='2.6'/%3E%3Ccircle cx='390' cy='280' r='2.6'/%3E%3Ccircle cx='120' cy='390' r='2.6'/%3E%3Ccircle cx='250' cy='380' r='2.6'/%3E%3Ccircle cx='360' cy='400' r='2.6'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 420px 420px;
  animation: sf-lattice-drift 80s linear infinite;
}
.cover__texture--circle {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520'%3E%3Cg fill='none' stroke='%236FA6FF' stroke-width='1'%3E%3Cg opacity='0.07'%3E%3Ccircle cx='260' cy='260' r='52'/%3E%3Ccircle cx='260' cy='260' r='104'/%3E%3Ccircle cx='260' cy='260' r='156'/%3E%3Ccircle cx='260' cy='260' r='208'/%3E%3Ccircle cx='260' cy='260' r='260'/%3E%3C/g%3E%3Cg opacity='0.05'%3E%3Cpath d='M260 0 V520 M0 260 H520 M40 40 L480 480 M480 40 L40 480'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: 520px 520px;
  animation: fc-lattice-drift 100s linear infinite;
}

/* centered main mark */
.cover__mark {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cover__mark--forge { padding-bottom: 3rem; }
.cover__mark--factory { padding-bottom: 3rem; }
.cover__mark--circle { padding-bottom: 2.5rem; }
@media (min-width: 640px) {
  .cover__mark--forge { padding-bottom: 0; }
}

.cover__scale { transform-origin: center; }
@container (min-width: 760px) {
  .cover__scale { transform: scale(1.5); }
}

/* bottom stage-glyph row */
.cover__row {
  position: absolute;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: scale(0.75);
}
@media (min-width: 640px) {
  .cover__row { transform: none; }
}
.cover__row--forge { bottom: 1.5rem; }
.cover__row--factory { bottom: 1.25rem; }
.cover__row--circle { bottom: 1.25rem; }

.cover__dash {
  width: 1.5rem;
  height: 2px;
  margin: 0 0.375rem;
  flex-shrink: 0;
}

/* --- motion (subtle, all disabled under reduced motion) ------ */

/* texture drift: loops by exactly one tile so the pan is seamless */
@keyframes forge-circuit-drift { to { background-position: 720px 360px; } }
@keyframes sf-lattice-drift { to { background-position: 420px 420px; } }
@keyframes fc-lattice-drift { to { background-position: 520px 520px; } }

/* FORGE core breathes */
@keyframes forge-core-breathe {
  0%, 100% { transform: scale(0.97); opacity: 0.85; }
  50% { transform: scale(1.06); opacity: 1; }
}
.forge-core-breathe {
  animation: forge-core-breathe 3.4s ease-in-out infinite;
  transform-origin: center;
}

/* Solution Factory radar ping + arc sweep (delays inline) */
@keyframes sf-radar-ping {
  0%, 100% { transform: scale(0.94); opacity: 1; }
  50% { transform: scale(1.42); opacity: 0.6; }
}
.sf-radar-ping {
  animation: sf-radar-ping 2.8s ease-in-out infinite;
  transform-origin: center;
  transform-box: fill-box;
}
@keyframes sf-arc-sweep {
  0%, 70%, 100% { opacity: 0.35; }
  20% { opacity: 1; }
}
.sf-arc-sweep { animation: sf-arc-sweep 2.8s ease-in-out infinite; }

/* Founders Circle counter-rotating dashed rings */
@keyframes fc-spin { to { transform: rotate(360deg); } }
.fc-ring-spin {
  animation: fc-spin 48s linear infinite;
  transform-origin: center;
  transform-box: fill-box;
}
.fc-ring-spin-rev {
  animation: fc-spin 64s linear infinite reverse;
  transform-origin: center;
  transform-box: fill-box;
}

/* stage-glyph row shimmer (per-glyph animation-delay inline) */
@keyframes glyph-shimmer {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 0.9; }
}
.glyph-shimmer { animation: glyph-shimmer 4s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
  .cover__texture--forge,
  .cover__texture--factory,
  .cover__texture--circle,
  .forge-core-breathe,
  .sf-radar-ping,
  .sf-arc-sweep,
  .fc-ring-spin,
  .fc-ring-spin-rev,
  .glyph-shimmer {
    animation: none;
  }
}
