html { scroll-behavior: smooth; }
body { background-color: #ffffff; }
.text-gradient { color: #edb021; }
.tech-bg-line {
  stroke-dasharray: 6 7;
  animation: dashFlow 14s linear infinite;
}
@keyframes dashFlow { to { stroke-dashoffset: -130; } }
.tech-bg-node {
  transform-origin: center;
  transform-box: fill-box;
  animation: nodePulse 7s ease-in-out infinite;
}
@keyframes nodePulse { 0%, 100% { opacity: .2; transform: scale(1); } 50% { opacity: .5; transform: scale(1.2); } }
.tech-bg-icon {
  animation: iconFloat 11s ease-in-out infinite;
}
@keyframes iconFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
.card-glow {
  position: relative;
  background: #ffffff;
  border: 1px solid #e5e0d4;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.card-glow:hover {
  border-color: rgba(237,176,33,0.55);
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(237,176,33,0.18);
}
.btn-primary {
  background: #edb021;
  color: #221f1a;
  font-weight: 700;
  transition: filter .2s ease, transform .2s ease, box-shadow .2s ease;
}
.btn-primary:hover { filter: brightness(1.06); transform: translateY(-2px); box-shadow: 0 10px 28px rgba(237,176,33,0.4); }
.btn-outline {
  border: 1px solid #d9d3c5;
  color: #6a655d;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}
.btn-outline:hover { border-color: #edb021; background-color: rgba(237,176,33,0.1); color: #221f1a; }
@keyframes pulseGlow { 0%,100% { opacity:.55 } 50% { opacity:1 } }
.animate-pulse-glow { animation: pulseGlow 3s ease-in-out infinite; }
.marquee-track { display:flex; width:max-content; animation: marquee 26s linear infinite; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes flowFrame {
  0% { opacity: 0; transform: translateY(8px); }
  3% { opacity: 1; transform: translateY(0); }
  30% { opacity: 1; transform: translateY(0); }
  33% { opacity: 0; transform: translateY(-8px); }
  100% { opacity: 0; }
}
.flow-frame { animation: flowFrame 9s ease-in-out infinite; }
@keyframes flowCursor {
  0%, 19% { opacity: 0; transform: scale(1); }
  21% { opacity: .95; transform: scale(1); }
  27% { opacity: 0; transform: scale(2.4); }
  100% { opacity: 0; }
}
.flow-cursor { animation: flowCursor 9s ease-in-out infinite; }
#siteHeader {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 50;
}
#siteHeader.is-scrolled {
  background-color: rgba(255,255,255,0.97);
  box-shadow: 0 8px 24px rgba(34,31,26,0.08);
}
#siteHeader.is-scrolled #headerInner {
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
}
#siteHeader.is-scrolled #headerLogo {
  height: 2rem;
}
#siteHeader.is-scrolled #headerBrandName {
  font-size: 1.05rem;
}
#siteHeader.is-scrolled #headerBrandSub {
  font-size: 0.6rem;
}
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details[open] .chev { transform: rotate(180deg); }
