/* Eyeconic — eye component */

/* sclera highlight */
.eye .sclera {
  fill: #F4EDE0;
  filter: drop-shadow(0 14px 30px rgba(0, 183, 224, 0.18))
          drop-shadow(0 0 60px rgba(0, 183, 224, 0.05));
}
.eye .sclera-shade {
  fill: url(#sclera-shade);
}

/* iris layers */
.eye .iris-base   { fill: url(#iris-grad); }
.eye .iris-spokes { stroke: rgba(255, 255, 255, 0.18); stroke-width: 0.6; opacity: 0.55; }
.eye .iris-caustic { mix-blend-mode: screen; }
.eye .iris-limbal {
  fill: none;
  stroke: #021022;
  stroke-width: 2.5;
  opacity: 0.6;
}
.eye .iris-inner-ring {
  fill: none;
  stroke: rgba(0, 30, 60, 0.45);
  stroke-width: 1;
}

.eye .pupil { fill: #01060f; }
.eye .pupil-glint { fill: rgba(0, 224, 255, 0.18); mix-blend-mode: screen; }

/* catchlights */
.eye .catch-main { fill: rgba(255, 255, 255, 0.92); }
.eye .catch-sub  { fill: rgba(255, 255, 255, 0.5); }
.eye .catch-edge { fill: rgba(255, 255, 255, 0.18); }

/* eyelid outlines */
.eye .lid-line { fill: none; stroke: #061A33; stroke-linecap: round; }
.eye .lash { fill: #03132B; }

/* blink shutters */
.eye .lid-shutter {
  fill: #061A33;
  transform-origin: center;
}

/* hero eye sizing */
.hero-eye-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 5/3.4;
}
.hero-eye-wrap .eye { position: absolute; inset: 0; }
.hero-eye-wrap .eye svg { width: 100%; height: 100%; }

/* mini eye in cards */
.eye-mini { width: 110px; aspect-ratio: 5/3.2; }
.eye-mini svg { width: 100%; height: 100%; }

/* ambient orbital ring around hero eye */
.eye-ambient {
  position: absolute;
  inset: -8%;
  pointer-events: none;
  z-index: -1;
}
.eye-ambient::before,
.eye-ambient::after {
  content: '';
  position: absolute; inset: 0;
  border-radius: 50%;
  border: 1px dashed color-mix(in srgb, var(--iris) 22%, transparent);
  animation: orbit 60s linear infinite;
}
.eye-ambient::after {
  inset: 12%;
  border-style: dotted;
  border-color: color-mix(in srgb, var(--iris-glow) 14%, transparent);
  animation-duration: 90s;
  animation-direction: reverse;
}
@keyframes orbit {
  to { transform: rotate(360deg); }
}

/* iris flare on hover */
.hero-eye-wrap.hover .iris-base { filter: brightness(1.18); }

/* caustic ripples overlay */
.eye .caustic-overlay {
  mix-blend-mode: screen;
  opacity: 0.45;
}
.eye .caustic-overlay path { animation: causticFlow 9s linear infinite; }
.eye .caustic-overlay path:nth-child(2) { animation-duration: 13s; animation-direction: reverse; }
.eye .caustic-overlay path:nth-child(3) { animation-duration: 17s; }
@keyframes causticFlow {
  0%   { transform: translateX(0) translateY(0); }
  50%  { transform: translateX(-6%) translateY(2%); }
  100% { transform: translateX(0) translateY(0); }
}

/* tiny mark used in brand */
.brand-mark .sclera-m { fill: var(--pearl); }
.brand-mark .iris-m   { fill: var(--iris); }
.brand-mark .pupil-m  { fill: var(--abyss); }
