/* ================= MARQUEE / ICON FLOW SECTION ================= */

.marquee-section {
  position: relative;
  height: 320px;
  background: #fff;
  overflow: hidden;
  display: flex;
  align-items: center;
}

/* ---------- flowing row ---------- */
.marquee-track-wrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.marquee-track {
  display: flex;
  align-items: center;
  width: max-content;
  will-change: transform;
}

.marquee-icon-cell {
  position: relative;
  width: 150px;
  height: 150px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.marquee-icon-cell.is-active {
  z-index: 10;
}

.marquee-icon-inner svg {
  width: 64px;
  height: 64px;
  display: block;
  transition: width .45s cubic-bezier(.16,1,.3,1), height .45s cubic-bezier(.16,1,.3,1);
}
.marquee-icon-inner svg * {
  fill: none;
  stroke: #16161a;
  stroke-width: 4;
  transition: stroke .45s ease, stroke-width .45s ease;
}
.marquee-icon-cell.is-active .marquee-icon-inner svg {
  width: 128px;
  height: 128px;
}
.marquee-icon-cell.is-active .marquee-icon-inner svg * {
  stroke: #0050FF;
  stroke-width: 8;
}

/* ---------- central zone: grid texture + superellipse outline ---------- */
.superellipse-zone {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 226px;
  height: 226px;
  z-index: 5;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.zone-glass {
  position: absolute;
  inset: 0;
  z-index: 4;
  border-radius: 64px; 

    --c-glass: #bbbbbc;
    --c-light: #fff;
    --c-dark: #000;
    --c-content: #224;
    --c-action: #0052f5;
    --c-bg: #fff;
  --glass-reflex-dark: 1;
  --glass-reflex-light: 1;
  --saturation: 150%;

  background-color: color-mix(in srgb, var(--c-glass) 1%, transparent);
  -webkit-backdrop-filter: blur(12px) saturate(var(--saturation));
  backdrop-filter: blur(12px) saturate(var(--saturation));  

  box-shadow:
    inset 0 0 0 4px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 10%), transparent),
    inset 8px -3px 4px -9px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 90%), transparent),
    inset -1px 2px 0px -4px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 80%), transparent),
    inset 4px -2px 14px 0px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 60%), transparent),
    inset -1px 0px 5px 0px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 12%), transparent),
    inset 4px -4px 14px 2px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 20%), transparent),
    inset 0px 3px 4px -2px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 20%), transparent),
    inset 1px -6.5px 1px -4px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 10%), transparent),
    0px 1px 5px 0px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 10%), transparent),
    0px 6px 16px 0px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 8%), transparent);
}

@supports (backdrop-filter: url(#glassRefract)) or (-webkit-backdrop-filter: url(#glassRefract)) {
  .zone-glass {
    -webkit-backdrop-filter: blur(0.1px) url(#glassRefract) saturate(var(--saturation));
    backdrop-filter: blur(0.1px) url(#glassRefract) saturate(var(--saturation));
  }
}

.zone-glass-sheen {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 25%, rgba(255,255,255,0.3) 46%, rgba(255,255,255,0.2) 54%, transparent 70%);
  background-size: 260% 260%;
  animation: sheenDrift 30s ease-in-out infinite;
  mix-blend-mode: overlay;
  pointer-events: none;
}

@keyframes sheenDrift {
  0%, 100% { background-position: 0% 0%; }
  50%      { background-position: 100% 100%; }
}

.zone-outline {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 6;
}
.zone-outline path {
  fill: none;
  stroke: #000;
  stroke-width: 4;
}

@media (max-width: 620px) {
  .marquee-section { height: 240px; }
  .superellipse-zone { width: 170px; height: 170px; }
  .zone-grid { width: 96px; height: 96px; }
}