/* Harvensa color theme — lavender, coral and mint with deep plum contrast. */
:root {
  --ink: #302447;
  --green: #493565;
  --lime: #ff9d83;
  --cream: #eee8f7;
  --paper: #f4eff9;
  --muted: #716681;
  --line: #d9cfe5;
}

body { background: #f4eff9; }

.site-header { background: rgba(244,239,249,.94); }
.brand-mark { background: linear-gradient(145deg,#5e3e82,#9763a9); color: #fff4e9; box-shadow: 0 8px 22px rgba(78,48,109,.22); }
.brand-dot,.hero h1 em,.why h2 em { color: #dc604d; }
.eyebrow span { background: linear-gradient(90deg,#ff806a,#f1af62); }

.hero-visual {
  background:
    radial-gradient(circle at 30% 25%, rgba(255,157,131,.28), transparent 25%),
    linear-gradient(145deg,#3e2b58 10%,#765099 58%,#c15f7f 125%);
  box-shadow: 0 38px 80px rgba(77,48,101,.25);
}
.hero-visual::after { background: linear-gradient(135deg,transparent 50%,rgba(255,255,255,.09)); }
.visual-core { background: linear-gradient(145deg,#ffd29d,#ff9d83); }
.capability { background: rgba(55,35,75,.72); border-color: rgba(255,213,191,.4); backdrop-filter: blur(5px); }
.pulse { background: #e8725f; }

.button { background: linear-gradient(100deg,#4b3568,#765099); border-color: #4b3568; box-shadow: 0 9px 25px rgba(76,50,100,.18); }
.button:hover { background: linear-gradient(100deg,#ff9d83,#ffc079); border-color: #ff9d83; }
.button-light { background: #ffad8f; border-color: #ffad8f; color: #302447; }

.logo-strip { background: #e8ddf1; border-color: #d8c9e5; color: #73627f; }
.services { background: #f5e4df; }
.service-grid { background: #dcc9d3; border-color: #dcc9d3; }
.service-card { background: #fff8f3; }
.service-card.featured { background: linear-gradient(145deg,#493565,#815794); }
.service-icon,.service-card li::before,.industry-list b { color: #d95e50; }
.featured .service-icon,.featured li::before { color: #ffb38f; }

.industries {
  background:
    radial-gradient(circle at 12% 85%,rgba(255,175,137,.16),transparent 25rem),
    linear-gradient(125deg,#38254f,#68458c 62%,#a54e70 130%);
}
.why-panel { background: linear-gradient(125deg,#3d2b56,#69478a 68%,#9c506f); }
.why-panel::after { border-color: rgba(255,179,143,.25); }
.consultation { background: #dff1e9; }
.enquiry-form { background:#fffaf4; border-top: 4px solid transparent; border-image: linear-gradient(90deg,#8a5ba1,#ff8f74,#f2bd67) 1; box-shadow: 0 24px 60px rgba(73,48,91,.14); }
.contact-card > span { background: linear-gradient(145deg,#51386d,#8b5da0); color: white; }
footer { background: linear-gradient(120deg,#30213f,#4b315c); }

/* Gentle ambient color movement. */
.hero::before {
  content: "";
  position: absolute;
  width: 310px;
  height: 310px;
  left: -190px;
  top: 90px;
  border-radius: 50%;
  background: rgba(255,140,111,.12);
  filter: blur(5px);
  animation: ambient-drift 9s ease-in-out infinite;
  pointer-events: none;
}
.hero { position: relative; }
.service-card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg,#8a5ba1,#ff8f74,#f2bd67);
  transition: right .4s cubic-bezier(.22,1,.36,1);
}
.service-card:hover::after { right: 0; }
.logo-strip span { transition: color .25s ease, transform .25s ease; }
.logo-strip span:hover { color: #c45449; transform: translateY(-2px); }

.locations { margin-top: 32px; }
.locations > small { display:block; margin-bottom:10px; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.locations > div { display:flex; flex-wrap:wrap; gap:8px; }
.locations span { background:rgba(255,250,244,.72); border:1px solid #cabcd5; border-radius:99px; padding:7px 12px; font-size:12px; font-weight:700; box-shadow:0 5px 14px rgba(77,48,95,.06); transition:transform .25s ease,background .25s ease; }
.locations span:hover { transform:translateY(-3px); background:#fff3e8; }
.footer-bottom a { margin-right:18px; }

@keyframes ambient-drift {
  0%,100% { transform: translate(0,0) scale(1); }
  50% { transform: translate(55px,28px) scale(1.12); }
}

@media (prefers-reduced-motion: reduce) {
  .hero::before { animation: none; }
}
