/* Shared CYWOLF module cards: clear iconography, quiet depth and restrained signal motion. */
:where(
  .detail-card,
  .rich-module,
  .company-card,
  .directory-card,
  .service-card,
  .home-company-card,
  .depth-card,
  .resource-card,
  .outcome-card,
  .infra-module,
  .step,
  .offer-card,
  .industry-card,
  .country-card,
  .pipe,
  .delivery-step,
  .policy-card,
  .policy-contact-tile,
  .vendor-card
) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid #dbe5f2 !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(24, 200, 255, .10), transparent 31%),
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(246, 250, 255, .90)) !important;
  box-shadow: 0 12px 36px rgba(16, 40, 75, .055) !important;
  transition: transform .28s cubic-bezier(.22, 1, .36, 1), border-color .28s ease, box-shadow .28s ease !important;
}

:where(
  .detail-card,
  .rich-module,
  .company-card,
  .directory-card,
  .service-card,
  .home-company-card,
  .depth-card,
  .resource-card,
  .outcome-card,
  .infra-module,
  .step,
  .offer-card,
  .industry-card,
  .country-card,
  .pipe,
  .delivery-step,
  .policy-card,
  .policy-contact-tile,
  .vendor-card
)::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  left: auto !important;
  top: auto !important;
  right: 20px !important;
  bottom: 18px !important;
  display: block !important;
  width: 108px !important;
  height: 40px !important;
  border-right: 1px solid rgba(11, 95, 255, .16) !important;
  border-bottom: 1px solid rgba(11, 95, 255, .16) !important;
  border-radius: 0 0 10px 0 !important;
  background-image:
    radial-gradient(circle at 18px 9px, #d6ad62 0 3px, transparent 4px),
    linear-gradient(90deg, transparent 0 12px, rgba(11, 95, 255, .20) 12px 76px, transparent 76px) !important;
  background-repeat: no-repeat !important;
  background-size: auto, 100% 1px !important;
  background-position: 0 0, 0 9px;
  opacity: .62;
  transform: none !important;
  pointer-events: none !important;
  animation: cywolf-module-signal 4.8s ease-in-out infinite !important;
}

:where(.detail-card, .rich-module, .company-card, .directory-card, .service-card, .home-company-card, .depth-card, .resource-card, .outcome-card, .infra-module, .step, .offer-card, .industry-card, .country-card, .pipe, .delivery-step, .policy-card, .policy-contact-tile, .vendor-card):nth-child(2n)::after {
  animation-delay: -1.6s !important;
}

:where(.detail-card, .rich-module, .company-card, .directory-card, .service-card, .home-company-card, .depth-card, .resource-card, .outcome-card, .infra-module, .step, .offer-card, .industry-card, .country-card, .pipe, .delivery-step, .policy-card, .policy-contact-tile, .vendor-card):nth-child(3n)::after {
  animation-delay: -3.2s !important;
}

:is(.module-icon.module-icon, .domain-card-icon.domain-card-icon) {
  position: relative !important;
  display: grid !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  place-items: center !important;
  border: 1px solid rgba(11, 95, 255, .16) !important;
  border-radius: 14px !important;
  color: #0b5fff !important;
  background: linear-gradient(145deg, #fff, #eaf3ff) !important;
  box-shadow: 0 12px 30px rgba(11, 95, 255, .11), inset 0 1px 0 #fff !important;
  transition: transform .28s cubic-bezier(.22, 1, .36, 1), box-shadow .28s ease !important;
}

:is(.module-icon.module-icon, .domain-card-icon.domain-card-icon)::after {
  content: "" !important;
  position: absolute !important;
  inset: 5px !important;
  display: block !important;
  border: 1px solid rgba(214, 173, 98, .28) !important;
  border-radius: 10px !important;
  background: none !important;
  pointer-events: none !important;
}

:is(.module-icon.module-icon, .domain-card-icon.domain-card-icon) svg {
  width: 24px !important;
  height: 24px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

:where(.rich-module-label, .company-label, .card-top > span, .directory-card > small, .offer-card > span, .industry-card > small, .country-card > b, .delivery-step > b, .outcome-card > b, .policy-contact-tile > b) {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: #edf3ff !important;
  color: #0b5fff !important;
  font: 800 10px/1 "IBM Plex Mono", monospace !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
}

.rich-module {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto 1fr auto !important;
  column-gap: 14px !important;
  align-content: stretch !important;
}

.rich-module > .domain-card-icon {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: center !important;
  inset: auto !important;
  margin: 0 !important;
  background:
    var(--module-card-icon) center / 24px 24px no-repeat,
    linear-gradient(145deg, #fff, #eaf3ff) !important;
}

.rich-module > .domain-card-icon svg {
  opacity: 0 !important;
}

.rich-module:nth-child(1) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='15'/%3E%3Ccircle cx='24' cy='24' r='7'/%3E%3Cpath d='M24 5v6M24 37v6M5 24h6M37 24h6'/%3E%3Ccircle cx='24' cy='24' r='2' fill='%23d6ad62' stroke='none'/%3E%3C/svg%3E"); }
.rich-module:nth-child(2) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m24 7 16 9-16 9-16-9 16-9Z'/%3E%3Cpath d='m8 24 16 9 16-9M8 32l16 9 16-9'/%3E%3Ccircle cx='24' cy='16' r='2' fill='%23d6ad62' stroke='none'/%3E%3C/svg%3E"); }
.rich-module:nth-child(3) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='12' r='5'/%3E%3Ccircle cx='11' cy='36' r='5'/%3E%3Ccircle cx='37' cy='36' r='5'/%3E%3Cpath d='M21 16 14 31M27 16l7 15M16 36h16'/%3E%3Ccircle cx='24' cy='24' r='2' fill='%23d6ad62' stroke='none'/%3E%3C/svg%3E"); }
.rich-module:nth-child(4) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 5 39 12v11c0 10-6 17-15 21C15 40 9 33 9 23V12l15-7Z'/%3E%3Cpath d='m17 24 5 5 10-12' stroke='%23d6ad62'/%3E%3C/svg%3E"); }
.rich-module:nth-child(5) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='17'/%3E%3Ccircle cx='24' cy='24' r='10'/%3E%3Cpath d='M24 24 35 13M24 7v4M7 24h4M37 24h4M24 37v4'/%3E%3Ccircle cx='24' cy='24' r='2' fill='%23d6ad62' stroke='none'/%3E%3C/svg%3E"); }
.rich-module:nth-child(6) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='7'/%3E%3Cpath d='M24 6v5M24 37v5M6 24h5M37 24h5M11 11l4 4M33 33l4 4M37 11l-4 4M15 33l-4 4'/%3E%3Ccircle cx='24' cy='24' r='2' fill='%23d6ad62' stroke='none'/%3E%3C/svg%3E"); }

.rich-module > .rich-module-label {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.rich-module > :is(h3, p, ul, .module-outcome) {
  grid-column: 1 / -1 !important;
}

.rich-module > h3 {
  max-width: none !important;
}

:where(.offer-card, .industry-card, .pipe)::before {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  top: 24px !important;
  left: 24px !important;
  display: block !important;
  width: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(11, 95, 255, .16) !important;
  border-radius: 14px !important;
  background:
    var(--module-card-icon, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 5 39 12v11c0 10-6 17-15 21C15 40 9 33 9 23V12l15-7Z'/%3E%3Ccircle cx='24' cy='23' r='3' stroke='%23d6ad62'/%3E%3Cpath d='m14 20 7 2m13-2-7 2m-8 10 3-6m7 6-3-6'/%3E%3C/svg%3E")) center / 24px 24px no-repeat,
    linear-gradient(145deg, #fff, #eaf3ff) !important;
  box-shadow: 0 12px 30px rgba(11, 95, 255, .11), inset 0 0 0 7px rgba(214, 173, 98, .08) !important;
  transform: none !important;
  transition: transform .28s cubic-bezier(.22, 1, .36, 1), box-shadow .28s ease !important;
  pointer-events: none !important;
}

.offer-card::before,
.industry-card::before {
  width: 36px !important;
  height: 36px !important;
  border-radius: 12px !important;
  background-size: 21px 21px, auto !important;
}

.offer-card:nth-child(1) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='12' y='9' width='24' height='31' rx='3'/%3E%3Cpath d='M19 9V6h10v3M18 20l4 4 8-9M18 31h12'/%3E%3C/svg%3E"); }
.offer-card:nth-child(2) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='15'/%3E%3Cpath d='m29 19-3 8-8 3 3-8 8-3Z'/%3E%3Ccircle cx='24' cy='24' r='2' stroke='%23d6ad62'/%3E%3C/svg%3E"); }
.offer-card:nth-child(3) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M27 8c7 2 11 6 13 13L28 33l-13-13L27 8Z'/%3E%3Cpath d='m18 23-8 3 7 5m8-1-3 8-5-7'/%3E%3Ccircle cx='29' cy='19' r='3' stroke='%23d6ad62'/%3E%3C/svg%3E"); }
.offer-card:nth-child(4) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m24 7 16 9-16 9-16-9 16-9Z'/%3E%3Cpath d='m8 24 16 9 16-9M8 32l16 9 16-9'/%3E%3C/svg%3E"); }
.offer-card:nth-child(5) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='11' y='7' width='26' height='34' rx='3'/%3E%3Cpath d='M16 14h16M16 24h16M16 34h16'/%3E%3Ccircle cx='18' cy='18' r='1' fill='%23d6ad62' stroke='none'/%3E%3Ccircle cx='18' cy='28' r='1' fill='%23d6ad62' stroke='none'/%3E%3C/svg%3E"); }
.offer-card:nth-child(6) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M36 17a14 14 0 0 0-24-3l-4 5m0 0h8m-8 0v-8M12 31a14 14 0 0 0 24 3l4-5m0 0h-8m8 0v8'/%3E%3Cpath d='m18 25 4 4 8-10' stroke='%23d6ad62'/%3E%3C/svg%3E"); }

.industry-card:nth-child(1) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m24 7 17 8H7l17-8ZM10 38h28M13 18v15m7-15v15m8-15v15m7-15v15M7 41h34'/%3E%3C/svg%3E"); }
.industry-card:nth-child(2) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 18 18-9 18 9-18 9-18-9Z'/%3E%3Cpath d='M13 23v9c7 6 15 6 22 0v-9M42 18v12'/%3E%3Ccircle cx='42' cy='33' r='2' stroke='%23d6ad62'/%3E%3C/svg%3E"); }
.industry-card:nth-child(3) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m24 7 17 8H7l17-8ZM10 38h28M13 19v14m22-14v14M7 42h34'/%3E%3Cpath d='M20 20h8v13h-8z' stroke='%23d6ad62'/%3E%3C/svg%3E"); }
.industry-card:nth-child(4) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 40S8 31 8 19a9 9 0 0 1 16-6 9 9 0 0 1 16 6c0 12-16 21-16 21Z'/%3E%3Cpath d='M15 24h6l2-5 4 10 2-5h5' stroke='%23d6ad62'/%3E%3C/svg%3E"); }

/* Deployment cards keep one visual language while identifying each system role. */
.pipe:nth-child(1) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='9' width='34' height='27' rx='4'/%3E%3Cpath d='M7 16h34M18 41h12M24 36v5'/%3E%3Ccircle cx='12' cy='12.5' r='1' fill='%23d6ad62' stroke='none'/%3E%3C/svg%3E"); }
.pipe:nth-child(2) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='24' cy='12' rx='14' ry='6'/%3E%3Cpath d='M10 12v12c0 3 6 6 14 6s14-3 14-6V12M10 24v12c0 3 6 6 14 6s14-3 14-6V24'/%3E%3Ccircle cx='32' cy='24' r='1.5' fill='%23d6ad62' stroke='none'/%3E%3C/svg%3E"); }
.pipe:nth-child(3) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='20' cy='20' r='10'/%3E%3Cpath d='m27 27 10 10M9 39h11M9 33h7'/%3E%3Ccircle cx='20' cy='20' r='2' fill='%23d6ad62' stroke='none'/%3E%3C/svg%3E"); }
.pipe:nth-child(4) { --module-card-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b5fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='18' y='17' width='12' height='14' rx='3'/%3E%3Cpath d='M7 12h8l6 5M41 12h-8l-6 5M7 36h8l6-5M41 36h-8l-6-5'/%3E%3Ccircle cx='7' cy='12' r='2' fill='%23d6ad62' stroke='none'/%3E%3Ccircle cx='41' cy='36' r='2' fill='%23d6ad62' stroke='none'/%3E%3C/svg%3E"); }

:where(.offer-card > span, .industry-card > small) {
  min-height: 44px !important;
  margin-left: 56px !important;
}

.offer-card > span {
  min-height: 36px !important;
  margin-left: 48px !important;
  white-space: nowrap !important;
}

.industry-card > small {
  min-height: 36px !important;
  margin-left: 48px !important;
  white-space: nowrap !important;
}

:is(.offer-card, .industry-card) > h3 {
  margin-top: 12px !important;
}

.pipe > h3 {
  display: flex !important;
  align-items: center !important;
  min-height: 44px !important;
  margin-left: 56px !important;
}

:where(.delivery-step, .policy-card, .policy-contact-tile) :where(h2, h3),
:where(.delivery-step, .policy-card, .policy-contact-tile) p {
  color: #122b50 !important;
}

:where(.delivery-step, .policy-card, .policy-contact-tile) p {
  color: #52647c !important;
}

@media (hover: hover) {
  :where(.detail-card, .rich-module, .company-card, .directory-card, .service-card, .home-company-card, .depth-card, .resource-card, .outcome-card, .infra-module, .step, .offer-card, .industry-card, .country-card, .pipe, .delivery-step, .policy-card, .policy-contact-tile, .vendor-card):hover {
    transform: none !important;
    border-color: rgba(11, 95, 255, .28) !important;
    box-shadow: 0 24px 58px rgba(16, 40, 75, .11), 0 0 0 1px rgba(24, 200, 255, .07) !important;
  }

  :where(.detail-card, .rich-module, .company-card, .directory-card, .service-card, .home-company-card, .depth-card, .resource-card, .outcome-card, .infra-module, .step, .offer-card, .industry-card, .country-card, .pipe, .delivery-step, .policy-card, .policy-contact-tile, .vendor-card):hover :is(.module-icon.module-icon, .domain-card-icon.domain-card-icon),
  :where(.offer-card, .industry-card, .pipe):hover::before {
    transform: scale(1.035) !important;
    box-shadow: 0 17px 38px rgba(11, 95, 255, .17), inset 0 1px 0 #fff !important;
  }
}

@keyframes cywolf-module-signal {
  0%, 15% { opacity: .28; background-position: 0 0, 0 9px; }
  50% { opacity: .72; background-position: 24px 0, 0 9px; }
  86%, 100% { opacity: .28; background-position: 48px 0, 0 9px; }
}

@media (max-width: 720px) {
  :where(.detail-card, .rich-module, .company-card, .directory-card, .service-card, .home-company-card, .depth-card, .resource-card, .outcome-card, .infra-module, .step, .offer-card, .industry-card, .country-card, .pipe, .delivery-step, .policy-card, .policy-contact-tile, .vendor-card) {
    border-radius: 20px !important;
  }

  :is(.module-icon.module-icon, .domain-card-icon.domain-card-icon) {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 14px !important;
  }

  .rich-module {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }

  :where(.offer-card, .industry-card, .pipe)::before {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
  }

  :where(.offer-card > span, .industry-card > small) {
    min-height: 42px !important;
    margin-left: 54px !important;
  }

  .pipe > h3 {
    min-height: 42px !important;
    margin-left: 54px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  :where(.detail-card, .rich-module, .company-card, .directory-card, .service-card, .home-company-card, .depth-card, .resource-card, .outcome-card, .infra-module, .step, .offer-card, .industry-card, .country-card, .pipe, .delivery-step, .policy-card, .policy-contact-tile, .vendor-card),
  :is(.module-icon.module-icon, .domain-card-icon.domain-card-icon),
  :where(.offer-card, .industry-card, .pipe)::before {
    transition: none !important;
  }

  :where(.detail-card, .rich-module, .company-card, .directory-card, .service-card, .home-company-card, .depth-card, .resource-card, .outcome-card, .infra-module, .step, .offer-card, .industry-card, .country-card, .pipe, .delivery-step, .policy-card, .policy-contact-tile, .vendor-card)::after {
    animation: none !important;
    opacity: .62 !important;
  }
}
