/*
  ThreadSync inline-style attr replacements (H5)
  Generated to allow CSP style-src without 'unsafe-inline'.
  Each .ts-s* class corresponds to a previously-inline style attribute.
*/

.ts-s04f181fe7c {
  margin-bottom: 0.5rem !important;
}

.ts-s05de0de996 {
  max-width: 1000px !important;
  margin: 0 auto 2rem !important;
  padding: 0 1.5rem !important;
}

.ts-s05f066d747 {
  font-size: 1.25rem !important;
  color: #9ca3af !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

.ts-s076230cdb9 {
  padding: 5rem 0 !important;
  background: #0B0D12 !important;
}

.ts-s076fd74169 {
  font-size: 0.9rem !important;
  color: var(--ts-text-secondary) !important;
}

.ts-s07d2ab263f {
  color: #f89820 !important;
}

.ts-s0a72f39357 {
  color: #93c5fd !important;
  font-weight: 500 !important;
}

.ts-s0b1b89c93e {
  font-size: 12px !important;
  color: var(--ts-text-muted) !important;
  margin-top: 4px !important;
  display: block !important;
}

.ts-s0df8905707 {
  background: #0B0D12 !important;
}

.ts-s0efbe4e237 {
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 1.5rem !important;
  padding: 2.5rem !important;
  text-align: center !important;
}

.ts-s0fab75fb43 {
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  margin-bottom: 0.75rem !important;
}

.ts-s130dbcc6f4 {
  display: inline-block !important;
  width: auto !important;
  padding: 0.75rem 1.5rem !important;
}

.ts-s13674662dd {
  margin: 0 auto 1rem !important;
}

.ts-s154297ba7c {
  padding: 5rem 0 !important;
  background: linear-gradient(180deg, rgba(59,130,246,0.08) 0%, transparent 100%) !important;
}

.ts-s1955346b15 {
  color: #60a5fa !important;
  margin-right: 0.75rem !important;
}

.ts-s1a60b80ede {
  list-style: none !important;
  font-size: 14px !important;
  color: var(--ts-text-muted) !important;
}

.ts-s1c0dc43552 {
  min-width: 800px !important;
}

.ts-s1d51275b0c {
  max-width: 900px !important;
  margin: 0 auto 2rem !important;
  padding: 0 1.5rem !important;
  font-size: 0.8rem !important;
  color: #6b7280 !important;
  text-align: center !important;
}

.ts-s1eb1d4513a {
  padding: 1.5rem !important;
}

.ts-s1ec466ed7d {
  color: #60a5fa !important;
}

.ts-s1f3aa2b86b {
  margin: 0 -1rem !important;
  padding: 0 1rem !important;
}

.ts-s206814c531 {
  font-size: 2.5rem !important;
  font-weight: 800 !important;
  margin-bottom: 1rem !important;
}

.ts-s20cb9a03d8 {
  color: var(--ts-muted) !important;
  padding-left: 1.25rem !important;
}

.ts-s2131ec86fb {
  padding: 2rem !important;
  max-width: 700px !important;
}

.ts-s277822ab30 {
  color: var(--ts-primary) !important;
}

.ts-s2938d62587 {
  color: #22d3ee !important;
  margin-right: 0.75rem !important;
}

.ts-s2a551eb8eb {
  max-width: 200px !important;
}

.ts-s2c1e2f3707 {
  display: flex !important;
  align-items: center !important;
}

.ts-s2fc766d78d {
  margin-bottom: 0.75rem !important;
}

.ts-s337be23fa4 {
  display: none !important;
  text-align: center !important;
  padding: 40px 20px !important;
}

.ts-s3381ba0da5 {
  color: #00add8 !important;
}

.ts-s347dad9156 {
  font-size: 48px !important;
  color: var(--ts-secondary) !important;
  margin-bottom: 16px !important;
}

.ts-s350bf8da52 {
  background: rgba(29, 78, 216, 0.2) !important;
  color: #60a5fa !important;
}

.ts-s36e5bc1ede {
  background: var(--ts-surface) !important;
}

.ts-s3d52f0d175 {
  padding: 2rem 0 4rem !important;
}

.ts-s3eadd823bf {
  padding: 5rem 0 !important;
  background: linear-gradient(180deg, #121218 0%, #0B0D12 100%) !important;
}

.ts-s3f4f565482 {
  font-size: 1rem !important;
  color: #6b7280 !important;
  max-width: 600px !important;
  margin: 0 auto 2rem !important;
}

.ts-s3f6d164d09 {
  font-size: 0.75rem !important;
  color: #6b7280 !important;
  text-align: center !important;
  margin-top: 1rem !important;
}

.ts-s401a18b53a {
  color: #9ca3af !important;
  max-width: 500px !important;
  margin: 0 auto !important;
}

.ts-s4303eeffcd {
  color: #1d4ed8 !important;
}

.ts-s463cef5020 {
  color: #9ca3af !important;
  margin-bottom: 1.5rem !important;
}

.ts-s4652439fd8 {
  color: #d1d5db !important;
  font-weight: 500 !important;
}

.ts-s4ae3dcece4 {
  display: inline-block !important;
  margin-bottom: 1.5rem !important;
}

.ts-s4c9b840af8 {
  display: flex !important;
  justify-content: center !important;
  gap: 2rem !important;
  flex-wrap: wrap !important;
}

.ts-s4cbe073a09 {
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  margin-bottom: 0.5rem !important;
}

.ts-s4d107ea558 {
  max-width: 500px !important;
  margin: 0 auto !important;
}

.ts-s4eec3d7728 {
  color: #9ca3af !important;
  margin-bottom: 1rem !important;
}

.ts-s4f4cde029c {
  margin-top: 16px !important;
  font-size: 14px !important;
  color: var(--ts-text-muted) !important;
}

.ts-s51b94cb1dd {
  font-size: 2.5rem !important;
  font-weight: 700 !important;
  color: #60a5fa !important;
}

.ts-s5225e5b7d7 {
  width: 0% !important;
}

.ts-s5248a7e325 {
  color: #3b82f6 !important;
  margin-right: 0.75rem !important;
}

.ts-s545809ba4f {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

.ts-s546e95dfc8 {
  min-height: 70vh !important;
  display: flex !important;
  align-items: center !important;
}

.ts-s5594de5b5f {
  max-width: 1000px !important;
  margin: 0 auto 2rem !important;
  padding: 0 1.5rem !important;
  font-size: 0.8rem !important;
  color: #6b7280 !important;
}

.ts-s574180a338 {
  color: #93c5fd !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.ts-s57fefa4dbd {
  width: 25% !important;
}

.ts-s5c88b9a2a7 {
  margin: 0 8px !important;
  color: var(--ts-text-muted) !important;
}

.ts-s5ed4cd4390 {
  font-size: 12px !important;
  color: var(--ts-text-muted) !important;
  margin-top: 16px !important;
}

.ts-s60984b9a46 {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin: 2rem 0 1rem !important;
  color: #1d4ed8 !important;
}

.ts-s61a6d356e1 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2rem !important;
  margin-top: 2rem !important;
  text-align: center !important;
}

.ts-s647018c6af {
  color: #6b7280 !important;
  margin-bottom: 2rem !important;
}

.ts-s667de628ba {
  font-size: 0.875rem !important;
  color: #9ca3af !important;
}

.ts-s66d8b59122 {
  margin-top: 24px !important;
}

.ts-s66e6b652a6 {
  margin-top: 1rem !important;
}

.ts-s6aa34d7432 {
  display: none !important;
}

.ts-s6aab0ff418 {
  margin-bottom: 1.5rem !important;
  color: var(--ts-text-secondary) !important;
}

.ts-s6bcb39735e {
  font-size: 0.85rem !important;
}

.ts-s6c93270749 {
  background: #0B0D12 !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
}

.ts-s6ddb9fb594 {
  color: #68a063 !important;
}

.ts-s74fdd4ed26 {
  text-align: center !important;
  font-size: 0.85rem !important;
  color: #6b7280 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 1.5rem !important;
}

.ts-s753d8a1e5b {
  width: 35% !important;
}

.ts-s75c1627ffe {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin: 2rem 0 1rem !important;
  color: #60a5fa !important;
}

.ts-s789c58feda {
  margin-top: 24px !important;
  padding: 20px !important;
  background: var(--ts-bg-dark) !important;
  border-radius: 12px !important;
}

.ts-s7a63555637 {
  max-width: 900px !important;
  margin: 0 auto !important;
  overflow-x: auto !important;
}

.ts-s7ab100aa48 {
  color: #d1d5db !important;
  max-width: 800px !important;
  margin: 0 auto 1.5rem !important;
  font-size: 1.25rem !important;
  line-height: 1.7 !important;
}

.ts-s7c33076f3a {
  font-size: 2.5rem !important;
  font-weight: 800 !important;
  color: #3b82f6 !important;
}

.ts-s7dc4417046 {
  height: 32px !important;
  width: auto !important;
}

.ts-s7e1b2806b6 {
  color: var(--ts-text) !important;
}

.ts-s7eafba3596 {
  padding-top: var(--ts-space-16) !important;
  min-height: 60vh !important;
  display: flex !important;
  align-items: center !important;
}

.ts-s7f2a615848 {
  max-width: 800px !important;
  margin: 2rem auto 0 !important;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(29, 78, 216, 0.05)) !important;
  border: 1px solid rgba(59, 130, 246, 0.3) !important;
  border-radius: 1rem !important;
  padding: 2rem !important;
  text-align: center !important;
}

.ts-s7f67bd2128 {
  flex: 1 !important;
  color: var(--ts-text-secondary) !important;
}

.ts-s80dfcf9181 {
  margin-top: 1.5rem !important;
}

.ts-s811a130914 {
  padding-top: 0 !important;
}

.ts-s823ab81c89 {
  max-width: 800px !important;
  margin: 0 auto !important;
}

.ts-s838ebee516 {
  height: 48px !important;
  width: auto !important;
}

.ts-s83f93efaff {
  position: absolute !important;
  top: -10px !important;
  right: 20px !important;
}

.ts-s86dc787f69 {
  padding-top: 8rem !important;
}

.ts-s877e1f7dc1 {
  text-align: center !important;
  margin-top: 2rem !important;
}

.ts-s896546566d {
  color: var(--ts-muted) !important;
}

.ts-s89c4c4734f {
  display: flex !important;
  justify-content: center !important;
  gap: 3rem !important;
  flex-wrap: wrap !important;
  margin-top: 2rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
}

.ts-s8b5c34c436 {
  margin-top: 8px !important;
  font-size: 12px !important;
  color: var(--ts-text-muted) !important;
}

.ts-s8dc2e57308 {
  margin-right: 0.5rem !important;
}

.ts-s8e264f074d {
  color: #ec4899 !important;
}

.ts-s8e26c5f7a1 {
  margin-bottom: 8px !important;
}

.ts-s90445878ea {
  margin: 4rem 0 !important;
}

.ts-s905008530c {
  text-align: center !important;
}

.ts-s92c866ca1f {
  background: linear-gradient(135deg, rgba(59,130,246,0.1), rgba(29,78,216,0.1)) !important;
}

.ts-s9521764e74 {
  max-width: 900px !important;
}

.ts-s968ab38902 {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15), rgba(59, 130, 246, 0.05)) !important;
  border-bottom: 1px solid rgba(59, 130, 246, 0.2) !important;
  padding: 0.875rem 1.5rem !important;
  text-align: center !important;
  position: relative !important;
  z-index: 10 !important;
}

.ts-s96b2ebee53 {
  font-size: 0.875rem !important;
  color: #6b7280 !important;
  margin-top: 1.5rem !important;
}

.ts-s992b7d83bd {
  margin-bottom: 1rem !important;
}

.ts-s99b9ba53aa {
  justify-content: center !important;
}

.ts-s9cca6047fe {
  color: var(--ts-text-muted) !important;
  margin-bottom: 24px !important;
}

.ts-s9d6bfa39fa {
  margin-bottom: 0.5rem !important;
  font-weight: 600 !important;
}

.ts-sa038e2a715 {
  display: flex !important;
  gap: 1rem !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  margin-bottom: 3rem !important;
}

.ts-sa29f85f78f {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin: 2rem 0 1rem !important;
  color: #1d4ed8 !important;
}

.ts-sa4e43a1870 {
  color: #ef4444 !important;
}

.ts-sa6bfea2f88 {
  color: var(--ts-secondary) !important;
  margin-right: 8px !important;
}

.ts-sa756fd3801 {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin-bottom: 1rem !important;
  color: #3b82f6 !important;
}

.ts-sa9a457ffef {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 0.75rem !important;
  margin-bottom: 2rem !important;
}

.ts-saa2de84440 {
  border-color: rgba(59, 130, 246, 0.4) !important;
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.15), rgba(29, 78, 216, 0.1)) !important;
}

.ts-sab79ea2b85 {
  margin: 0 !important;
}

.ts-sadd827db6a {
  background: rgba(59, 130, 246, 0.1) !important;
  border: 1px solid rgba(59, 130, 246, 0.2) !important;
  border-radius: 999px !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.875rem !important;
  color: #d1d5db !important;
}

.ts-sae9cdafa12 {
  color: #fff !important;
  font-weight: 600 !important;
}

.ts-saf2b15d498 {
  margin-top: 3rem !important;
}

.ts-sb16ae2f2a3 {
  padding: 8rem 0 3rem !important;
  background: linear-gradient(180deg, #0B0D12 0%, #1f2329 100%) !important;
}

.ts-sb2763d43a1 {
  gap: 2rem !important;
  margin-top: 2rem !important;
}

.ts-sb407f6ab6a {
  color: #4b5563 !important;
}

.ts-sb4412688e5 {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 700px !important;
  height: 700px !important;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.15) 0%, transparent 60%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.ts-sb56987dbcb {
  margin-bottom: 12px !important;
}

.ts-sb5de92abf1 {
  display: flex !important;
  gap: 1rem !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}

.ts-sb730b4e9f7 {
  margin-bottom: 2rem !important;
}

.ts-sbab11f1424 {
  height: 40px !important;
}

.ts-sbaeeb9b434 {
  margin-left: 0.25rem !important;
}

.ts-sbc7fd26922 {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin-bottom: 0.75rem !important;
}

.ts-sbccf279676 {
  display: none !important;
  font-size: 12px !important;
  color: var(--ts-danger) !important;
  margin-top: 4px !important;
}

.ts-sbdf99673bf {
  font-size: 1.75rem !important;
}

.ts-sbe6df18e8a {
  padding: 2rem !important;
}

.ts-sc06aefce20 {
  color: #9ca3af !important;
}

.ts-sc15fd67317 {
  color: #3b82f6 !important;
}

.ts-sc2d569a591 {
  color: #3b82f6 !important;
  font-size: 0.9rem !important;
  text-decoration: none !important;
}

.ts-sc3f62e3ea4 {
  margin-top: 2rem !important;
  padding-top: 1rem !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}

.ts-sc42b225626 {
  color: #3b82f6 !important;
}

.ts-sc4914736f5 {
  font-size: 1.25rem !important;
  margin-right: 0.5rem !important;
}

.ts-sc4b2596808 {
  color: #9ca3af !important;
  font-size: 0.9rem !important;
  margin-bottom: 1rem !important;
}

.ts-sc6c4b6809c {
  font-size: 6rem !important;
  font-weight: 800 !important;
  color: var(--ts-primary) !important;
  margin-bottom: 1rem !important;
}

.ts-sc712e7f5a0 {
  margin-right: 0.5rem !important;
  color: #60a5fa !important;
}

.ts-sc81e9a4f14 {
  font-size: 2rem !important;
  color: var(--ts-primary) !important;
  margin-bottom: 0.5rem !important;
}

.ts-sc83be916e5 {
  font-size: 2rem !important;
  font-weight: 800 !important;
  margin-bottom: 0.75rem !important;
}

.ts-sc8885b2723 {
  text-align: center !important;
  padding: 3rem !important;
  margin-top: 4rem !important;
  border-radius: 1rem !important;
}

.ts-scaea2ae378 {
  background: rgba(59, 130, 246, 0.03) !important;
}

.ts-scf06e2940c {
  font-size: 2rem !important;
  font-weight: 700 !important;
  margin-bottom: 1rem !important;
}

.ts-sd1d3adbd61 {
  color: #3776ab !important;
}

.ts-sd4d91f9a13 {
  width: 20% !important;
}

.ts-sdac960e815 {
  color: #60a5fa !important;
  text-decoration: none !important;
}

.ts-sdce06231fb {
  line-height: 1.1 !important;
}

.ts-sdf2f14dc41 {
  margin-top: 0.5rem !important;
  font-size: 0.875rem !important;
  white-space: nowrap !important;
}

.ts-sdf2f14dc41 .ts-footer-link {
  display: inline !important;
  padding: 0 !important;
}

.ts-se1a9637e80 {
  color: var(--ts-accent) !important;
  margin-right: 8px !important;
}

.ts-se26304cdcc {
  color: var(--ts-muted) !important;
  max-width: 800px !important;
}

.ts-se540e13d78 {
  color: var(--ts-muted) !important;
  margin-bottom: 2rem !important;
}

.ts-se7e3e005bf {
  margin-bottom: 1.5rem !important;
}

.ts-se7f92c6bac {
  color: #1d4ed8 !important;
}

.ts-seab13b76bc {
  padding: 2rem 0 !important;
}

.ts-seac7694072 {
  color: var(--muted) !important;
}

.ts-seb98ac1b9b {
  color: #6b7280 !important;
  font-size: 0.9rem !important;
}

.ts-seedb2619ac {
  color: #fff !important;
}

.ts-sf078d5871b {
  width: auto !important;
  padding: 1rem 2.5rem !important;
}

.ts-sf32ef6fd1b {
  padding-top: 2rem !important;
}

.ts-sf3b4dfed28 {
  max-width: 800px !important;
}

.ts-sfa769ae035 {
  margin-bottom: 0 !important;
}

.ts-sfb7c6cb5b4 {
  max-width: 900px !important;
  margin: 0 auto !important;
}

.ts-sfccd5e29e8 {
  color: #9ca3af !important;
  max-width: 550px !important;
  margin: 0 auto !important;
}

.ts-sfe20148b07 {
  color: #3b82f6 !important;
}

.ts-sfeed4a5f3d {
  color: #9ca3af !important;
  margin: 0 !important;
  padding-left: 1.25rem !important;
}

.ts-sff958ceb17 {
  max-width: 450px !important;
  margin: 0 auto !important;
}

/* ThreadSync Chat Widget Styles (moved from widget.js for CSP compliance) */
#ts-chat-btn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 9999;
  cursor: pointer;
}
#ts-chat-btn .wrapper {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: linear-gradient(135deg, #1e293b, #0e0e12);
  box-shadow: 0 8px 25px rgba(0,0,0,0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  border: 1px solid rgba(6,182,212,0.3);
  padding: 8px;
}
#ts-chat-btn .wrapper:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 12px 35px rgba(6,182,212,0.4);
  border-color: rgba(6,182,212,0.5);
}
#ts-chat-btn .pulse {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  background: rgba(6,182,212,0.3);
  animation: tspulse 2s infinite;
}
#ts-chat-btn img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  z-index: 1;
}
@keyframes tspulse {
  0% { transform: scale(1); opacity: 0.6; }
  50% { transform: scale(1.15); opacity: 0.3; }
  100% { transform: scale(1.3); opacity: 0; }
}
#ts-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.85);
  backdrop-filter: blur(10px);
  z-index: 10000;
  align-items: center;
  justify-content: center;
}
#ts-modal.open {
  display: flex;
}
#ts-modal-box {
  background: #0e0e12;
  border: 1px solid rgba(6,182,212,0.3);
  border-radius: 16px;
  width: 90%;
  max-width: 500px;
  height: 650px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 25px 60px rgba(0,0,0,0.5);
}
#ts-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(239,68,68,0.15);
  border: 1px solid rgba(239,68,68,0.3);
  color: #ef4444;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  z-index: 10;
}
#ts-modal-close:hover {
  background: rgba(239,68,68,0.3);
}
#ts-chat-frame {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 16px;
}
@media (max-width: 600px) {
  #ts-modal-box {
    width: 95%;
    height: 85vh;
  }
}

/* Developer Tools - SDK tag (indigo) */
.ts-s5e8f3a1b94 {
  background: rgba(99, 102, 241, 0.2) !important;
  color: #818cf8 !important;
}

/* Developer Tools - Webhooks tag (cyan) */
.ts-s9d7c2e4f16 {
  background: rgba(6, 182, 212, 0.2) !important;
  color: #22d3ee !important;
}

/* Brand icons for SDK section - using actual brand colors since currentColor doesn't work in background-image */
.fa-node-js::before {
  content: "" !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%2368a063' d='M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  width: 1em !important;
  height: 1em !important;
  display: inline-block !important;
}

.fa-python::before {
  content: "" !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%233776ab' d='M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  width: 1em !important;
  height: 1em !important;
  display: inline-block !important;
}

.fa-golang::before {
  content: "" !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%2300add8' d='M400.1 194.8C389.2 197.6 380.2 199.1 371 202.4C363.7 205.1 356.9 209.2 350.9 214.5C342.6 222.5 336.5 232.4 333.4 243.3C331.4 249.9 330.4 256.8 330.4 263.7C330.4 270.6 331.4 277.5 333.4 284.1C336.5 295 342.6 304.9 350.9 312.9C356.9 318.2 363.7 322.3 371 325C380.2 328.3 389.2 329.8 400.1 332.6L400.1 395.6L312 395.6L312 332.6C322.9 329.8 331.9 328.3 341.1 325C348.4 322.3 355.2 318.2 361.2 312.9C369.5 304.9 375.6 295 378.7 284.1C380.7 277.5 381.7 270.6 381.7 263.7C381.7 256.8 380.7 249.9 378.7 243.3C375.6 232.4 369.5 222.5 361.2 214.5C355.2 209.2 348.4 205.1 341.1 202.4C331.9 199.1 322.9 197.6 312 194.8L312 131.8L400.1 131.8L400.1 194.8ZM166.6 196C137.1 196 112 221.1 112 250.6L112 276.8C112 306.3 137.1 331.4 166.6 331.4L256 331.4L256 196L166.6 196ZM473.4 196L384 196L384 331.4L473.4 331.4C502.9 331.4 528 306.3 528 276.8L528 250.6C528 221.1 502.9 196 473.4 196Z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  width: 1em !important;
  height: 1em !important;
  display: inline-block !important;
}

.fa-java::before {
  content: "" !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23f89820' d='M277.74 312.9c9.8-6.7 23.4-12.5 23.4-12.5s-38.7 7-77.2 10.2c-47.1 3.9-97.7 4.7-123.1 1.3-60.1-8 33-30.1 33-30.1s-36.1-2.4-80.6 19c-52.5 25.4 130 37 224.5 12.1zm-85.4-32.1c-19-42.7-83.1-80.2 0-145.8C296 53.2 242.84 0 242.84 0c21.5 84.5-75.6 110.1-110.7 162.6-23.9 35.9 11.7 74.4 60.2 118.2zm114.6-176.2c.1 0-175.2 43.8-91.5 140.2 24.7 28.4-6.5 54-6.5 54s62.7-32.4 33.9-72.9c-26.9-37.8-47.5-56.6 64.1-121.3zm-6.1 270.5a12.19 12.19 0 0 1-2 2.6c128.3-33.7 81.1-118.9 19.8-97.3a17.33 17.33 0 0 0-8.2 6.3 70.45 70.45 0 0 1 11-3c31-6.5 75.5 41.5-20.6 91.4zM348 437.4s14.5 11.9-15.9 21.2c-57.9 17.5-240.8 22.8-291.6.7-18.3-7.9 16-19 26.8-21.3 11.2-2.4 17.7-2 17.7-2-20.3-14.3-131.3 28.1-56.4 40.2C232.84 509.4 401 461.3 348 437.4zM124.44 396c-78.7 22 47.9 67.4 148.1 24.5a185.89 185.89 0 0 1-28.2-13.8c-44.7 8.5-65.4 9.1-106 4.5-33.5-3.8-13.9-15.2-13.9-15.2zm179.8 97.2c-78.7 14.8-175.8 13.1-233.3 3.6 0-.1 11.8 9.7 72.4 13.6 92.2 5.9 233.8-3.3 237.1-46.9 0 0-6.4 16.5-76.2 29.7zM260.64 353c-59.2 11.4-93.5 11.1-136.8 6.6-33.5-3.5-11.6-19.7-11.6-19.7-86.8 28.8 48.2 61.4 169.5 25.9a60.37 60.37 0 0 1-21.1-12.8z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  width: 1em !important;
  height: 1em !important;
  display: inline-block !important;
}

/* Integration brand icons for Wallace page */
.fa-salesforce::before {
  content: "" !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%2300a1e0' d='M248.89 245.64h-26.35c.69-5.16 3.32-14.12 13.64-14.12 6.75 0 11.97 3.82 12.71 14.12zm136.66-13.88c-.47 0-14.11-1.77-14.11 20s13.63 20 14.11 20c13 0 14.11-13.54 14.11-20 0-21.76-13.66-20-14.11-20zm-243.22 23.76a8.63 8.63 0 0 0-3.29 7.29c0 4.78 2.08 6.05 3.29 7.05 4.7 3.7 15.07 2.12 20.93.95v-16.94c-5.32-1.07-16.73-1.96-20.93 1.65zM640 232c0 87.58-80 154.39-165.36 136.43-18.37 33-70.73 70.75-132.2 41.63-41.16 96.05-177.89 92.18-213.81-5.17C8.91 428.78-50.19 266.52 53.36 205.61 18.61 126.18 76 32 167.67 32a124.24 124.24 0 0 1 98.56 48.7c20.7-21.4 49.4-34.81 81.15-34.81 42.34 0 79 23.52 98.8 58.57C539 63.78 640 132.69 640 232zm-519.55 31.8c0-11.76-11.69-15.17-17.87-17.17-5.27-2.11-13.41-3.51-13.41-8.94 0-9.46 17-6.66 25.17-2.12 0 0 1.17.71 1.64-.47.24-.7 2.36-6.58 2.59-7.29a1.13 1.13 0 0 0-.7-1.41c-12.33-7.63-40.7-8.51-40.7 12.7 0 12.46 11.49 15.44 17.88 17.17 4.72 1.58 13.17 3 13.17 8.7 0 4-3.53 7.06-9.17 7.06a31.76 31.76 0 0 1-19-6.35c-.47-.23-1.42-.71-1.65.71l-2.4 7.47c-.47.94.23 1.18.23 1.41 1.75 1.4 10.3 6.59 22.82 6.59 13.17 0 21.4-7.06 21.4-18.11zm32-42.58c-10.13 0-18.66 3.17-21.4 5.18a1 1 0 0 0-.24 1.41l2.59 7.06a1 1 0 0 0 1.18.7c.65 0 6.8-4 16.93-4 4 0 7.06.71 9.18 2.36 3.6 2.8 3.06 8.29 3.06 10.58-4.79-.3-19.11-3.44-29.41 3.76a16.92 16.92 0 0 0-7.34 14.54c0 5.9 1.51 10.4 6.59 14.35 12.24 8.16 36.28 2 38.1 1.41 1.58-.32 3.53-.66 3.53-1.88v-33.88c.04-4.61.32-21.64-22.78-21.64zM199 200.24a1.11 1.11 0 0 0-1.18-1.18H188a1.11 1.11 0 0 0-1.17 1.18v79a1.11 1.11 0 0 0 1.17 1.18h9.88a1.11 1.11 0 0 0 1.18-1.18zm55.75 28.93c-2.1-2.31-6.79-7.53-17.65-7.53-3.51 0-14.16.23-20.7 8.94-6.35 7.63-6.58 18.11-6.58 21.41 0 3.12.15 14.26 7.06 22.59 6.58 7.52 14.11 8.46 20.23 8.46 13.65 0 16.23-4.7 18.35-7.52a1.06 1.06 0 0 0-.23-1.65l-6.12-5.88c-.71-.47-1.18-.24-1.41 0-2.82 2.47-4.7 4.23-10.35 4.23s-10.35-2.82-11.76-8.94c-.94-3.77-.71-7.53-.71-7.53h31.76a1.34 1.34 0 0 0 1.41-1.41c0-1.41.71-16.76-3.29-25.19zm44.47-1.41c-3.06 0-7.53 1.18-11.29 6.35v-4.94a1.11 1.11 0 0 0-1.18-1.17h-9.41a1.11 1.11 0 0 0-1.17 1.17v55.06a1.11 1.11 0 0 0 1.17 1.18h9.41a1.11 1.11 0 0 0 1.18-1.18v-27.53c0-2.82 2.35-11.76 12-11.76a27.19 27.19 0 0 1 4.94.47 1 1 0 0 0 1.18-.94v-9.65c-.01-.93-.24-1.17-6.82-7.06zm62.35-28.93a1.11 1.11 0 0 0-1.17-1.18h-9.65a1.11 1.11 0 0 0-1.17 1.18v21.17h-.47c-2.59-4.23-8.7-7.52-16.71-7.52-7.06 0-14.35 2.82-19.28 8.23-7.06 7.06-7.53 17.41-7.53 22.35 0 4.7.23 16 7.29 23.29 5.4 5.64 12.47 8.47 20 8.47 3.06 0 12.23-.71 17.64-8.47h.24v6.59a1.11 1.11 0 0 0 1.17 1.18h9.41a1.11 1.11 0 0 0 1.18-1.18V200.24zm53.64 28.93c-2.12-2.31-6.82-7.53-17.65-7.53-3.53 0-14.12.23-20.71 8.94-6.35 7.63-6.59 18.11-6.59 21.41 0 3.12.15 14.26 7.06 22.59 6.59 7.52 14.12 8.46 20.24 8.46 13.64 0 16.23-4.7 18.35-7.52a1.06 1.06 0 0 0-.24-1.65l-6.11-5.88c-.71-.47-1.18-.24-1.41 0-2.82 2.47-4.71 4.23-10.35 4.23s-10.35-2.82-11.76-8.94c-.94-3.77-.71-7.53-.71-7.53h31.76a1.34 1.34 0 0 0 1.41-1.41c0-1.41.7-16.76-3.3-25.19zm44 26.82c0 3.06.24 13.17-10.58 13.17-10.58 0-10.35-10.11-10.35-13.17v-26.35a1.11 1.11 0 0 0-1.18-1.18h-9.41a1.11 1.11 0 0 0-1.17 1.18v25.41c0 5.88-.24 14.35 5.88 20.47 4.24 4.23 10.35 5.88 16.47 5.88 6.35 0 12.71-1.65 17.17-6.35 5.65-5.65 5.18-12 5.18-17.65v-27.76a1.11 1.11 0 0 0-1.18-1.18h-9.64a1.11 1.11 0 0 0-1.18 1.18v26.35zm72.24-26.12c-7.06 0-11.76 4-13.17 5.64v-4.47a1.11 1.11 0 0 0-1.17-1.17h-9.42a1.11 1.11 0 0 0-1.17 1.17v75.06a1.11 1.11 0 0 0 1.17 1.18h9.65a1.11 1.11 0 0 0 1.18-1.18v-24.71c1.65 1.89 5.41 4.94 13.64 4.94 7.06 0 12-2.35 15.53-5.65 6.82-6.35 7.29-17.17 7.29-23.29-.01-4.47-.24-17.18-7.53-24.47-3.65-3.75-9.41-6.82-16-3.05zm-4.94 44.71c-10.35 0-11.76-10.58-11.76-19.76 0-9.41 1.41-20.23 12-20.23 10.35 0 11.29 10.11 11.29 19.76 0 9.88-1.41 20.23-11.53 20.23zm68.71-46.35c-.47-.24-7.29-4.7-16-4.7-3.06 0-14.35.47-21.41 9.41-3.06 4-6.35 10.35-6.35 22.82 0 12.24 3.06 18.35 6.12 22.12 3.53 4.47 10.35 9.41 20.94 9.41 4 0 10.59-.47 17.17-5.18.71-.47.71-1.17.71-1.41v-7.76c0-.94-.94-1.17-1.41-.94-3.52 2.35-8 4-12.7 4-4.94 0-8.94-1.88-11.29-4.47-3.06-3.29-4.47-8.47-4.47-15.76 0-6.82 1.18-12.23 4.24-16 2.82-3.29 6.82-5.18 11.76-5.18a23 23 0 0 1 12.47 4c.47.24 1.41 0 1.41-.94v-8.23c-.02-.48-.26-.95-.19-1.19zm44.24 42.12a1.11 1.11 0 0 0-1.18-1.18h-3.06c-4 0-5.64-2.35-5.64-5.88v-26.59h8.47a1.11 1.11 0 0 0 1.18-1.18v-7.76a1.11 1.11 0 0 0-1.18-1.18h-8.47v-17.17a1.11 1.11 0 0 0-1.18-1.18h-9.64a1.11 1.11 0 0 0-1.18 1.18v17.17h-6.35a1.11 1.11 0 0 0-1.18 1.18v7.76a1.11 1.11 0 0 0 1.18 1.18h6.35v28c0 4.94.71 8.7 2.59 11.52 2.59 4 7.06 5.88 12.94 5.88h6.82a1.11 1.11 0 0 0 1.18-1.18v-8.23z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  width: 1em !important;
  height: 1em !important;
  display: inline-block !important;
}

.fa-slack::before {
  content: "" !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%234a154b' d='M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  width: 1em !important;
  height: 1em !important;
  display: inline-block !important;
}

.fa-microsoft::before {
  content: "" !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%2300a4ef' d='M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  width: 1em !important;
  height: 1em !important;
  display: inline-block !important;
}

.fa-aws::before {
  content: "" !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23ff9900' d='M180.41 203.01c-.72 22.65 10.6 32.68 10.88 39.05a8.164 8.164 0 0 1-4.1 6.27l-12.8 8.96a10.66 10.66 0 0 1-5.63 1.92c-.43-.02-8.19 1.83-20.48-25.61a78.608 78.608 0 0 1-62.61 29.45c-16.28.89-60.4-9.24-58.13-56.21-1.59-38.28 34.06-62.06 70.93-60.05 7.1.02 21.6.37 46.99 6.27v-15.62c2.69-26.46-14.7-46.99-44.81-43.91-2.4.01-19.4-.5-45.84 10.11-7.36 3.38-8.3 2.82-10.75 2.82-7.41 0-4.36-21.48-2.94-24.2 5.21-6.4 35.86-18.35 65.94-18.18a76.857 76.857 0 0 1 55.69 17.28 70.285 70.285 0 0 1 17.67 52.36l-.01 69.29zM93.99 235.4c32.43-.47 46.16-19.97 49.29-30.47 2.46-10.05 2.05-16.41 2.05-27.4-9.67-2.32-23.59-4.85-39.56-4.87-15.15-1.14-42.82 5.63-41.74 32.26-1.24 16.79 11.12 31.4 29.96 30.48zm170.92 23.05c-7.86.72-11.52-4.86-12.68-10.37l-49.8-164.65c-.97-2.78-1.61-5.65-1.92-8.58a4.61 4.61 0 0 1 3.86-5.25c.24-.04-2.13 0 22.25 0 8.78-.88 11.64 6.03 12.55 10.37l35.72 140.83 33.16-140.83c.53-3.22 2.94-11.07 12.8-10.24h17.16c2.17-.18 11.11-.5 12.68 10.37l33.42 142.63L420.98 80.1c.48-2.18 2.72-11.37 12.68-10.37h19.72c.85-.13 6.15-.81 5.25 8.58-.43 1.85 3.41-10.66-52.75 169.9-1.15 5.51-4.82 11.09-12.68 10.37h-18.69c-10.94 1.15-12.51-9.66-12.68-10.75L328.67 110.7l-32.78 136.99c-.16 1.09-1.73 11.9-12.68 10.75h-18.3zm273.48 5.63c-5.88.01-33.92-.3-57.36-12.29a12.802 12.802 0 0 1-7.81-11.91v-10.75c0-8.45 6.2-6.9 8.83-5.89 10.04 4.06 16.48 7.14 28.81 9.6 36.65 7.53 52.77-2.3 56.72-4.48 13.15-7.81 14.19-25.68 5.25-34.95-10.48-8.79-15.48-9.12-53.13-21-4.64-1.29-43.7-13.61-43.79-52.36-.61-28.24 25.05-56.18 69.52-55.95 12.67-.01 46.43 4.13 55.57 15.62 1.35 2.09 2.02 4.55 1.92 7.04v10.11c0 4.44-1.62 6.66-4.87 6.66-7.71-.86-21.39-11.17-49.16-10.75-6.89-.36-39.89.91-38.41 24.97-.43 18.96 26.61 26.07 29.7 26.89 36.46 10.97 48.65 12.79 63.12 29.58 17.14 22.25 7.9 48.3 4.35 55.44-19.08 37.49-68.42 34.44-69.26 34.42zm40.2 104.86c-70.03 51.72-171.69 79.25-258.49 79.25A469.127 469.127 0 0 1 2.83 327.46c-6.53-5.89-.77-13.96 7.17-9.47a637.37 637.37 0 0 0 316.88 84.12 630.22 630.22 0 0 0 241.59-49.55c11.78-5 21.77 7.8 10.12 16.38zm29.19-33.29c-8.96-11.52-59.28-5.38-81.81-2.69-6.79.77-7.94-5.12-1.79-9.47 40.07-28.17 105.88-20.1 113.44-10.63 7.55 9.47-2.05 75.41-39.56 106.91-5.76 4.87-11.27 2.3-8.71-4.1 8.44-21.25 27.39-68.49 18.43-80.02z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  width: 1em !important;
  height: 1em !important;
  display: inline-block !important;
}

.fa-google::before {
  content: "" !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 488 512'%3E%3Cpath fill='%234285f4' d='M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  width: 1em !important;
  height: 1em !important;
  display: inline-block !important;
}

.fa-jira::before {
  content: "" !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath fill='%230052cc' d='M490 241.7C417.1 169 320.6 71.8 248.5 0 83 164.9 6 241.7 6 241.7c-7.9 7.9-7.9 20.7 0 28.7C138.8 402.7 67.8 331.9 248.5 512c379.4-378 15.7-16.7 241.5-241.7 8-7.9 8-20.7 0-28.6zm-241.5 90l-76-75.7 76-75.7 76 75.7-76 75.7z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  width: 1em !important;
  height: 1em !important;
  display: inline-block !important;
}

.fa-github::before {
  content: "" !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath fill='%23ffffff' d='M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  width: 1em !important;
  height: 1em !important;
  display: inline-block !important;
}


/* Skip link: hidden above viewport until keyboard focus */
.ts-skip-link,
a[href="#main-content"] {
  position: absolute;
  left: 12px;
  top: -100px;
  padding: 10px 14px;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.97);
  border: 1px solid rgba(59, 130, 246, 0.3);
  color: #e2e8f0;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  z-index: 9999;
  transition: top 0.15s ease-in-out;
}
.ts-skip-link:focus,
.ts-skip-link:focus-visible,
a[href="#main-content"]:focus,
a[href="#main-content"]:focus-visible {
  top: 12px;
  outline: 2px solid #3b82f6;
  outline-offset: 2px;
}
/* Screen reader only: visually hidden, accessible to assistive tech */
.ts-sr-only,
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Enterprise Footer v1.1 — dynamic edition */

/* Container */
.footer{
  padding:56px 24px 32px;
  border-top:none;
  background:linear-gradient(180deg, rgba(255,255,255,.02) 0%, transparent 100%);
  color:#9ca3af;
  position:relative;
}
.footer::before{
  content:"";
  position:absolute;
  top:0;left:5%;right:5%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(59,130,246,.3) 20%, rgba(59,130,246,.15) 50%, rgba(139,92,246,.3) 80%, transparent);
}

/* Layout */
.footer__top{
  display:grid;
  gap:32px;
  grid-template-columns:1fr;
  max-width:1200px;
  margin:0 auto;
}

/* Brand block */
.footer__brand strong{
  color:#e2e8f0;
  font-size:1.15rem;
  letter-spacing:.02em;
}
.footer__tagline{
  font-size:.8rem;
  margin-top:6px;
  color:#6b7280;
  max-width:280px;
  line-height:1.5;
}

/* Columns grid */
.footer__cols{
  display:grid;
  gap:24px;
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
}

/* Column headings */
.footer__col h3{
  font-size:.7rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:rgba(255,255,255,.45);
  margin:0 0 14px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.06);
}

/* Column links */
.footer__col a{
  display:block;
  padding:4px 0;
  text-decoration:none;
  color:#9ca3af;
  font-size:.82rem;
  transition:color .2s ease, transform .2s ease, padding-left .2s ease;
  position:relative;
}
.footer__col a:hover{
  color:#e2e8f0;
  padding-left:6px;
}
.footer__col a::after{
  content:"";
  position:absolute;
  left:0;bottom:2px;
  width:0;height:1px;
  background:linear-gradient(90deg, #3b82f6, #8b5cf6);
  transition:width .25s ease;
}
.footer__col a:hover::after{
  width:60%;
}

/* Meta info (emails) */
.footer__meta{
  margin-top:14px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.04);
  font-size:.75rem;
  color:#6b7280;
  line-height:1.8;
}
.footer__meta a{
  display:inline !important;
  padding:0 !important;
  color:#60a5fa;
  text-decoration:none;
  transition:color .2s ease;
  font-size:.75rem;
}
.footer__meta a:hover{color:#93c5fd;text-decoration:none;}
.footer__meta a::after{display:none !important;}

/* Bottom bar */
.footer__bottom{
  margin-top:36px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.06);
  display:flex;
  flex-wrap:nowrap;
  gap:12px;
  justify-content:space-between;
  align-items:center;
  font-size:.75rem;
  color:#4b5563;
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
}
.footer__bottom strong{
  color:#9ca3af;
  font-weight:500;
}

/* Bottom links */
.footer__bottomlinks a{
  margin-right:16px;
  color:#4b5563;
  text-decoration:none;
  font-size:.75rem;
  transition:color .2s ease;
}
.footer__bottomlinks a:hover{color:#9ca3af;}

/* Build stamp */
.footer__build{
  font-size:.65rem;
  opacity:.5;
  font-family:ui-monospace, "SF Mono", monospace;
  letter-spacing:.03em;
}

/* Separator */
.footer__sep{margin:0 6px;opacity:.4;}

/* Responsive */
@media(max-width:768px){
  .footer{padding:40px 20px 24px;}
  .footer__cols{grid-template-columns:1fr 1fr;gap:20px;}
  .footer__bottom{flex-direction:column;align-items:flex-start;gap:8px;}
  .footer::before{left:3%;right:3%;}
}
@media(max-width:480px){
  .footer__cols{grid-template-columns:1fr;}
}


/* ============================================================
   Enterprise Glass & Cards v2.0 — ThreadSync
   Appended to threadsync-inline stylesheet
   ============================================================ */

/* --- Keyframe Animations --- */

@keyframes ts-accent-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}

@keyframes ts-float {
  0%, 100% { transform: translateY(0) translateX(0); }
  25%      { transform: translateY(-20px) translateX(10px); }
  50%      { transform: translateY(-10px) translateX(-5px); }
  75%      { transform: translateY(-25px) translateX(8px); }
}

@keyframes ts-float-reverse {
  0%, 100% { transform: translateY(0) translateX(0); }
  25%      { transform: translateY(15px) translateX(-8px); }
  50%      { transform: translateY(8px) translateX(12px); }
  75%      { transform: translateY(20px) translateX(-6px); }
}

@keyframes ts-card-enter {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: none; }
}

/* --- Enterprise Card Pseudo-Elements --- */

/* Ensure cards are positioned for pseudo-elements */
.card,
.platform-card,
.solution-card,
.feature-card,
.ts-card,
.e-card,
.pillar-card,
.step-card,
.stat-card,
.pricing-card,
.dev-card,
.endpoint-card,
.support-card,
.team-card,
.value-card,
.mission-card,
.cert-card,
.info-card,
.sdk-card,
.product-card,
.metric-card,
.pref-card,
.contact-card {
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Top accent gradient line — hidden by default, reveals on hover */
.card::before,
.platform-card::before,
.solution-card::before,
.feature-card::before,
.ts-card::before,
.e-card::before,
.pillar-card::before,
.step-card::before,
.stat-card::before,
.pricing-card::before,
.dev-card::before,
.endpoint-card::before,
.support-card::before,
.team-card::before,
.value-card::before,
.mission-card::before,
.cert-card::before,
.info-card::before,
.sdk-card::before,
.product-card::before,
.metric-card::before,
.pref-card::before,
.contact-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(59,130,246,0.6), rgba(34,211,238,0.4), transparent);
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 2;
}

/* Radial glow from top center — hidden by default, reveals on hover */
.card::after,
.platform-card::after,
.solution-card::after,
.feature-card::after,
.ts-card::after,
.e-card::after,
.pillar-card::after,
.step-card::after,
.stat-card::after,
.pricing-card::after,
.dev-card::after,
.endpoint-card::after,
.support-card::after,
.team-card::after,
.value-card::after,
.mission-card::after,
.cert-card::after,
.info-card::after,
.sdk-card::after,
.product-card::after,
.metric-card::after,
.pref-card::after,
.contact-card::after {
  content: "";
  position: absolute;
  top: 0; left: 10%; right: 10%;
  height: 120px;
  background: radial-gradient(ellipse at center top, rgba(59,130,246,0.12), transparent 70%);
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  z-index: 0;
}

/* Card content above the glow */
.card > *,
.platform-card > *,
.solution-card > *,
.feature-card > *,
.ts-card > *,
.e-card > *,
.pillar-card > *,
.step-card > *,
.stat-card > *,
.pricing-card > *,
.dev-card > *,
.endpoint-card > *,
.support-card > *,
.team-card > *,
.value-card > *,
.mission-card > *,
.cert-card > *,
.info-card > *,
.sdk-card > *,
.product-card > *,
.metric-card > *,
.pref-card > *,
.contact-card > * {
  position: relative;
  z-index: 1;
}

/* --- Enhanced Hover States --- */

.card:hover,
.platform-card:hover,
.solution-card:hover,
.feature-card:hover,
.ts-card:hover,
.e-card:hover,
.pillar-card:hover,
.step-card:hover,
.stat-card:hover,
.pricing-card:hover,
.dev-card:hover,
.endpoint-card:hover,
.support-card:hover,
.team-card:hover,
.value-card:hover,
.mission-card:hover,
.cert-card:hover,
.info-card:hover,
.sdk-card:hover,
.product-card:hover,
.metric-card:hover,
.pref-card:hover,
.contact-card:hover {
  transform: translateY(-6px) scale(1.015);
  text-decoration: none;
  border-color: rgba(59,130,246,0.5);
  box-shadow:
    0 25px 60px rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(59, 130, 246, 0.18),
    0 0 40px rgba(59, 130, 246, 0.12);
}

/* Reveal pseudo-elements on hover */
.card:hover::before,
.platform-card:hover::before,
.solution-card:hover::before,
.feature-card:hover::before,
.ts-card:hover::before,
.e-card:hover::before,
.pillar-card:hover::before,
.step-card:hover::before,
.stat-card:hover::before,
.pricing-card:hover::before,
.dev-card:hover::before,
.endpoint-card:hover::before,
.support-card:hover::before,
.team-card:hover::before,
.value-card:hover::before,
.mission-card:hover::before,
.cert-card:hover::before,
.info-card:hover::before,
.sdk-card:hover::before,
.product-card:hover::before,
.metric-card:hover::before,
.pref-card:hover::before,
.contact-card:hover::before {
  opacity: 1;
}

.card:hover::after,
.platform-card:hover::after,
.solution-card:hover::after,
.feature-card:hover::after,
.ts-card:hover::after,
.e-card:hover::after,
.pillar-card:hover::after,
.step-card:hover::after,
.stat-card:hover::after,
.pricing-card:hover::after,
.dev-card:hover::after,
.endpoint-card:hover::after,
.support-card:hover::after,
.team-card:hover::after,
.value-card:hover::after,
.mission-card:hover::after,
.cert-card:hover::after,
.info-card:hover::after,
.sdk-card:hover::after,
.product-card:hover::after,
.metric-card:hover::after,
.pref-card:hover::after,
.contact-card:hover::after {
  opacity: 1;
}

/* Heading accent shift on hover */
.card:hover h3,
.platform-card:hover h3,
.solution-card:hover h3,
.feature-card:hover h3,
.ts-card:hover h3,
.e-card:hover h3,
.pillar-card:hover h3,
.step-card:hover h3,
.pricing-card:hover h3,
.dev-card:hover h3,
.support-card:hover h3 {
  color: var(--ts-primary, #3b82f6);
  transition: color 0.3s ease;
}

/* --- Featured Pricing Card --- */

.pricing-card.featured {
  border-color: rgba(59,130,246,0.4);
  background: linear-gradient(180deg, rgba(59,130,246,0.08) 0%, rgba(15,20,25,0.7) 100%),
              var(--ts-surface, rgba(15, 23, 42, 0.55));
}

.pricing-card.featured::before {
  opacity: 1;
}

/* --- Ambient Floating Orbs --- */

.ts-orb {
  position: fixed;
  border-radius: 50%;
  pointer-events: none;
  z-index: -1;
  filter: blur(80px);
}

.ts-orb--blue {
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(59,130,246,0.07) 0%, transparent 70%);
  top: 10%;
  left: 15%;
  animation: ts-float 20s ease-in-out infinite;
}

.ts-orb--cyan {
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(34,211,238,0.05) 0%, transparent 70%);
  bottom: 20%;
  right: 10%;
  animation: ts-float-reverse 25s ease-in-out infinite;
}

/* --- Shimmer Utility --- */

.ts-shimmer {
  background-image: linear-gradient(120deg, transparent 30%, rgba(59,130,246,0.08) 50%, transparent 70%);
  background-size: 200% 100%;
  animation: ts-accent-shimmer 3s ease-in-out infinite;
}

/* --- CTA Button Glow --- */

.cta-btn-primary {
  position: relative;
}

.cta-btn-primary::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(59,130,246,0.35), rgba(34,211,238,0.15));
  z-index: -1;
  opacity: 0;
  filter: blur(14px);
  transition: opacity 0.35s ease;
}

.cta-btn-primary:hover::after {
  opacity: 1;
}

/* --- Staggered Card Entrance --- */

.ts-stagger > * {
  opacity: 0;
  animation: ts-card-enter 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.ts-stagger > *:nth-child(1) { animation-delay: 0ms; }
.ts-stagger > *:nth-child(2) { animation-delay: 80ms; }
.ts-stagger > *:nth-child(3) { animation-delay: 100ms; }
.ts-stagger > *:nth-child(4) { animation-delay: 180ms; }
.ts-stagger > *:nth-child(5) { animation-delay: 240ms; }
.ts-stagger > *:nth-child(6) { animation-delay: 300ms; }
.ts-stagger > *:nth-child(7) { animation-delay: 360ms; }
.ts-stagger > *:nth-child(8) { animation-delay: 420ms; }
.ts-stagger > *:nth-child(9) { animation-delay: 480ms; }

/* --- CTA Box Enhancement --- */

.cta-box {
  position: relative;
  overflow: hidden;
}

.cta-box::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(59,130,246,0.5), rgba(34,211,238,0.3), transparent);
  opacity: 1;
}

.cta-box::after {
  content: "";
  position: absolute;
  top: 0; left: 20%; right: 20%;
  height: 150px;
  background: radial-gradient(ellipse at center top, rgba(59,130,246,0.1), transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.cta-box > * {
  position: relative;
  z-index: 1;
}

/* --- Reduced Motion --- */

@media (prefers-reduced-motion: reduce) {
  .card, .platform-card, .solution-card, .feature-card, .ts-card,
  .e-card, .pillar-card, .step-card, .stat-card, .pricing-card,
  .dev-card, .endpoint-card, .support-card, .team-card, .value-card,
  .mission-card, .cert-card, .info-card, .sdk-card, .product-card,
  .metric-card, .pref-card, .contact-card {
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
  }

  .card:hover, .platform-card:hover, .solution-card:hover,
  .feature-card:hover, .ts-card:hover, .e-card:hover,
  .pillar-card:hover, .step-card:hover, .stat-card:hover,
  .pricing-card:hover, .dev-card:hover, .endpoint-card:hover {
    transform: none;
  }

  .ts-stagger > * {
    opacity: 1;
    animation: none;
  }

  .ts-orb {
    animation: none;
  }

  .ts-shimmer {
    animation: none;
    background-image: none;
  }
}

/* --- Mobile Adjustments --- */

@media (max-width: 768px) {
  .card:hover, .platform-card:hover, .solution-card:hover,
  .feature-card:hover, .ts-card:hover, .e-card:hover,
  .pillar-card:hover, .step-card:hover, .stat-card:hover,
  .pricing-card:hover, .dev-card:hover {
    transform: translateY(-3px);
  }

  .ts-orb--blue { width: 250px; height: 250px; }
  .ts-orb--cyan { width: 180px; height: 180px; }
}


/* ═══ Portfolio Page — Enterprise Glass ═══ */

/* ── Portfolio Hero ── */
.portfolio-hero { padding: 5rem 0 3rem; text-align: center; position: relative; }
.portfolio-hero::after {
  content: "";
  position: absolute;
  top: -50px; left: 50%; transform: translateX(-50%);
  width: 1000px; height: 600px;
  background: radial-gradient(ellipse at center, rgba(59,130,246,0.20) 0%, transparent 55%);
  pointer-events: none; z-index: 0;
}
.portfolio-hero > * { position: relative; z-index: 1; }
.portfolio-hero h1 { font-size: 2.75rem; font-weight: 700; line-height: 1.2; margin-bottom: 1rem; }
.portfolio-hero .subtitle { font-size: 1.25rem; color: #94a3b8; max-width: 640px; margin: 0 auto 2rem; }

/* ── Architecture Diagram — Glass Steps ── */
.arch-diagram { max-width: 720px; margin: 0 auto 4rem; }
.arch-step {
  position: relative; padding: 1.5rem 2rem; border-radius: 16px; margin-bottom: 0.75rem;
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.arch-step::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  opacity: 0.6; transition: opacity 0.4s ease;
}
.arch-step::after {
  content: ""; position: absolute; top: 0; left: 5%; right: 5%; height: 120px;
  opacity: 0.3; transition: opacity 0.4s ease; pointer-events: none; z-index: 0;
}
.arch-step > * { position: relative; z-index: 1; }
.arch-step:hover { transform: translateY(-4px) scale(1.01); }
.arch-step:hover::before { opacity: 1; }
.arch-step:hover::after { opacity: 0.7; }

.arch-step .label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; margin-bottom: 0.25rem; }
.arch-step h3 { font-size: 1.25rem; font-weight: 700; margin-bottom: 0.25rem; transition: color 0.3s ease; }
.arch-step p { font-size: 0.9375rem; color: #94a3b8; margin: 0; }

/* Wallace — green glass */
.arch-wallace {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(34,197,94,0.35);
  box-shadow: 0 4px 24px rgba(0,0,0,0.2), inset 0 1px 0 rgba(34,197,94,0.08);
}
.arch-wallace .label { color: #4ade80; }
.arch-wallace::before { background: linear-gradient(90deg, transparent, rgba(34,197,94,0.6), transparent); }
.arch-wallace::after { background: radial-gradient(ellipse at center top, rgba(34,197,94,0.15), transparent 70%); }
.arch-wallace:hover { border-color: rgba(34,197,94,0.6); box-shadow: 0 20px 50px rgba(0,0,0,0.4), 0 0 40px rgba(34,197,94,0.15); }
.arch-wallace:hover h3 { color: #4ade80; }

/* Core — blue glass */
.arch-core {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(59,130,246,0.35);
  box-shadow: 0 4px 24px rgba(0,0,0,0.2), inset 0 1px 0 rgba(59,130,246,0.08);
}
.arch-core .label { color: #60a5fa; }
.arch-core::before { background: linear-gradient(90deg, transparent, rgba(59,130,246,0.6), transparent); }
.arch-core::after { background: radial-gradient(ellipse at center top, rgba(59,130,246,0.15), transparent 70%); }
.arch-core:hover { border-color: rgba(59,130,246,0.6); box-shadow: 0 20px 50px rgba(0,0,0,0.4), 0 0 40px rgba(59,130,246,0.15); }
.arch-core:hover h3 { color: #60a5fa; }

/* Magic — purple glass */
.arch-magic {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(139,92,246,0.35);
  box-shadow: 0 4px 24px rgba(0,0,0,0.2), inset 0 1px 0 rgba(139,92,246,0.08);
}
.arch-magic .label { color: #a78bfa; }
.arch-magic::before { background: linear-gradient(90deg, transparent, rgba(139,92,246,0.6), transparent); }
.arch-magic::after { background: radial-gradient(ellipse at center top, rgba(139,92,246,0.15), transparent 70%); }
.arch-magic:hover { border-color: rgba(139,92,246,0.6); box-shadow: 0 20px 50px rgba(0,0,0,0.4), 0 0 40px rgba(139,92,246,0.15); }
.arch-magic:hover h3 { color: #a78bfa; }

.arch-arrow { text-align: center; padding: 0.5rem 0; color: #475569; font-size: 1.25rem; }

/* ── Product Cards — Enterprise Glass ── */
.product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin: 3rem 0; }
.product-card {
  background: rgba(255,255,255,0.05);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px; padding: 2rem;
  box-shadow: 0 4px 24px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.06);
}
.product-card:hover {
  border-color: rgba(255,255,255,0.2);
  box-shadow: 0 25px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.08);
}

/* Per-product tinted borders and hover accents */
.wallace-card { border-color: rgba(34,197,94,0.2); }
.wallace-card:hover { border-color: rgba(34,197,94,0.5); box-shadow: 0 25px 60px rgba(0,0,0,0.5), 0 0 40px rgba(34,197,94,0.12); }
.wallace-card:hover h3 { color: #4ade80; }

.core-card { border-color: rgba(59,130,246,0.2); }
.core-card:hover { border-color: rgba(59,130,246,0.5); box-shadow: 0 25px 60px rgba(0,0,0,0.5), 0 0 40px rgba(59,130,246,0.12); }
.core-card:hover h3 { color: #60a5fa; }

.magic-card { border-color: rgba(139,92,246,0.2); }
.magic-card:hover { border-color: rgba(139,92,246,0.5); box-shadow: 0 25px 60px rgba(0,0,0,0.5), 0 0 40px rgba(139,92,246,0.12); }
.magic-card:hover h3 { color: #a78bfa; }

.product-card .badge {
  display: inline-block; font-size: 0.6875rem; text-transform: uppercase;
  letter-spacing: 0.08em; font-weight: 600; padding: 0.25rem 0.75rem;
  border-radius: 999px; margin-bottom: 1rem;
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.product-card h3 { font-size: 1.375rem; font-weight: 700; margin-bottom: 0.5rem; transition: color 0.3s ease; }
.product-card .role { font-size: 0.875rem; color: #64748b; margin-bottom: 1rem; }
.product-card p { font-size: 0.9375rem; color: #94a3b8; line-height: 1.6; margin-bottom: 1.5rem; }
.product-card ul { list-style: none; padding: 0; margin: 0 0 1.5rem; }
.product-card li { font-size: 0.875rem; color: #94a3b8; padding: 0.25rem 0; padding-left: 1.25rem; position: relative; }
.product-card li::before { content: ""; position: absolute; left: 0; top: 0.6rem; width: 6px; height: 6px; border-radius: 50%; }
.wallace-card li::before { background: #4ade80; }
.core-card li::before { background: #60a5fa; }
.magic-card li::before { background: #a78bfa; }
.product-card .link { font-size: 0.875rem; font-weight: 500; text-decoration: none; display: inline-flex; align-items: center; gap: 0.25rem; transition: color 0.2s ease; }
.product-card .link:hover { text-decoration: underline; }
.wallace-card .link { color: #4ade80; }
.core-card .link { color: #60a5fa; }
.magic-card .link { color: #a78bfa; }

/* ── Entry Paths — Glass Cards ── */
.entry-section {
  background: transparent; padding: 4rem 0;
  position: relative;
}
.entry-section::before {
  content: ""; position: absolute; top: 0; left: 5%; right: 5%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(59,130,246,0.3), transparent);
}
.entry-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 2rem; }
.entry-card {
  background: rgba(255,255,255,0.04);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px; padding: 1.5rem 2rem;
  position: relative; overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 20px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.04);
}
.entry-card::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(59,130,246,0.6), rgba(34,211,238,0.4), transparent);
  opacity: 0; transition: opacity 0.4s ease;
}
.entry-card::after {
  content: ""; position: absolute; top: 0; left: 5%; right: 5%; height: 120px;
  background: radial-gradient(ellipse at center top, rgba(59,130,246,0.1), transparent 70%);
  opacity: 0; transition: opacity 0.4s ease; pointer-events: none;
}
.entry-card > * { position: relative; z-index: 1; }
.entry-card:hover {
  transform: translateY(-4px);
  border-color: rgba(59,130,246,0.4);
  box-shadow: 0 20px 50px rgba(0,0,0,0.4), 0 0 30px rgba(59,130,246,0.1);
}
.entry-card:hover::before, .entry-card:hover::after { opacity: 1; }
.entry-card h4 { font-size: 1rem; font-weight: 600; margin-bottom: 0.75rem; transition: color 0.3s ease; }
.entry-card:hover h4 { color: #60a5fa; }
.entry-card .path { font-size: 0.875rem; color: #94a3b8; line-height: 1.6; }
.entry-card .path strong { color: #e2e8f0; }

/* ── CTA Glass Box ── */
.cta-box {
  background: rgba(255,255,255,0.05);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(59,130,246,0.3);
  border-radius: 16px; padding: 3rem 2rem;
  position: relative; overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.05);
}

/* ── Portfolio Reduced Motion ── */
@media (prefers-reduced-motion: reduce) {
  .arch-step, .entry-card { transition: border-color 0.2s ease, box-shadow 0.2s ease; }
  .arch-step:hover, .entry-card:hover { transform: none; }
}

/* ── Portfolio Mobile ── */
@media (max-width: 768px) {
  .arch-step:hover, .entry-card:hover { transform: translateY(-3px); }
  .portfolio-hero h1 { font-size: 2rem; }
}
