:root {
  color-scheme: light;
}

html {
  scroll-behavior: smooth;
}

/* Hide default marker for the mobile menu summary */
.menu-summary::-webkit-details-marker {
  display: none;
}

.menu-summary {
  list-style: none;
}

/* Blur blobs */
.blur-layer .blob,
.footer-blur-layer .blob {
  position: absolute;
  border-radius: 40%;
  opacity: 0.32;
  filter: blur(150px);
  pointer-events: none;
}

@keyframes float {
  0% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(20px, -25px) scale(1.05);
  }
  100% {
    transform: translate(0, 0) scale(1);
  }
}

.blob-1 {
  top: -160px;
  left: -140px;
  width: 360px;
  height: 360px;
  background: radial-gradient(circle at 30% 30%, #9BD8A6 0, rgba(155, 216, 166, 0) 60%);
  animation: float 12s ease-in-out infinite alternate;
}

.blob-2 {
  top: 26%;
  right: -120px;
  width: 380px;
  height: 380px;
  background: radial-gradient(circle at 70% 30%, #7BC47F 0, rgba(123, 196, 127, 0) 60%);
  animation: float 15s ease-in-out infinite alternate;
}

.blob-3 {
  bottom: -140px;
  right: -160px;
  width: 340px;
  height: 340px;
  background: radial-gradient(circle at 70% 70%, #4FAE63 0, rgba(79, 174, 99, 0) 60%);
  animation: float 13s ease-in-out infinite alternate;
}

.blob-4 {
  bottom: -160px;
  left: -140px;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle at 30% 70%, #7BC47F 0, rgba(123, 196, 127, 0) 60%);
  animation: float 10s ease-in-out infinite alternate;
}

.footer-blur-layer .blob {
  filter: blur(130px);
}

.blob-footer-1 {
  bottom: -120px;
  left: -100px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle at 30% 70%, #9BD8A6 0, rgba(155, 216, 166, 0) 60%);
  animation: float 14s ease-in-out infinite alternate;
}

.blob-footer-2 {
  top: -120px;
  right: -120px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle at 70% 30%, #4FAE63 0, rgba(79, 174, 99, 0) 60%);
  animation: float 11s ease-in-out infinite alternate;
}

/* Footer solid logo polygons */
.footer-logo-layer {
  position: absolute;
  inset: 0;
}

.footer-logo {
  position: absolute;
  width: 260px;
  height: auto;
}

.footer-logo-left {
  left: -10px;
  bottom: -20px;
}

.footer-logo-right {
  right: 0px;
  bottom: -40px;
  transform: scaleX(-1);
}

/* Client marquee */
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.client-marquee {
  display: flex;
  width: max-content;
  animation: marquee 20s linear infinite;
  gap: 2rem; /* gap-8 mobile */
}

@media (min-width: 640px) {
  .client-marquee { gap: 3rem; }
}

@media (min-width: 1024px) {
  .client-marquee { gap: 4rem; }
}

/* Image-based rotating blur polygons */
.blur-layer {
  overflow: visible;
}

.bg-triangle {
  position: absolute;
  width: 320px;
  height: auto;
  opacity: 0.85;
  filter: blur(8px);
  transform-origin: 50% 50%;
  pointer-events: none;
}

/* Slightly different rotations so motion feels organic, not identical */
@keyframes triangle-rotate-a {
  0%   { transform: rotate(-10deg); }
  100% { transform: rotate(170deg); }
}

@keyframes triangle-rotate-b {
  0%   { transform: rotate(20deg); }
  100% { transform: rotate(200deg); }
}

@keyframes triangle-rotate-c {
  0%   { transform: rotate(-30deg); }
  100% { transform: rotate(150deg); }
}

.bg-triangle-1 {
  top: -6%;
  left: -10%;
  animation: triangle-rotate-a 10s ease-in-out infinite alternate;
}

.bg-triangle-2 {
  top: 24%;
  right: -10%;
  animation: triangle-rotate-b 10s ease-in-out infinite alternate-reverse;
}

.bg-triangle-3 {
  bottom: 8%;
  left: 14%;
  animation: triangle-rotate-c 10s ease-in-out infinite alternate;
}

.bg-triangle-4 {
  display: none;
}

/* Our Approach logo – two black rounded triangles with diagonal gap */
.approach-logo {
  display: block;
}

.approach-logo-triangle {
  transition: opacity 0.3s ease;
}

.approach-logo:hover .approach-logo-triangle {
  opacity: 0.9;
}

/* Responsive blur adjustments */
@media (max-width: 1024px) {
  .blur-layer .blob,
  .footer-blur-layer .blob {
    filter: blur(100px);
  }
}

@media (max-width: 640px) {
  .blur-layer .blob,
  .footer-blur-layer .blob {
    filter: blur(70px);
  }

  .blob-1,
  .blob-2,
  .blob-3,
  .blob-4 {
    width: 230px;
    height: 230px;
  }

  .bg-triangle {
    width: 220px;
    filter: blur(8px);
  }
}

