/* ==========================================================================
   Hero motion, option C — "the AI is speaking".
   A headline that streams in like an AI reply, a signal rail along the
   slider controls, and a glowing orbit arc around the photo. Home hero only.
   ========================================================================== */
.hero-c{position:relative;overflow:hidden;
  background:radial-gradient(900px 500px at 85% 20%,#1F4B82 0,transparent 60%),radial-gradient(700px 400px at 0% 100%,rgba(29,122,117,.35),transparent 60%),var(--navy)}
.hero-c>.signal{display:none}
.hero-c .waves{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.hero-c>.wrap{position:relative;z-index:1}

/* Streaming headline: tokens appear in order, a block cursor leads them */
.hero-c .tk{opacity:0;filter:blur(6px);transition:opacity .35s ease,filter .35s ease}
.hero-c .tk.in{opacity:1;filter:none}
.hero-c .cur{display:inline-block;width:.45em;height:.9em;margin-inline-start:.08em;vertical-align:-.08em;background:var(--baby);border-radius:2px;animation:blink 1s steps(1) infinite}
.hero-c .cur.out{transition:opacity .5s;opacity:0;animation:none}

/* The coloured second line shimmers once it has arrived */
.hero-c .hl.shine{background:linear-gradient(100deg,var(--baby) 0 40%,#fff 50%,var(--baby) 60% 100%);background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 4.5s ease-in-out 0s infinite}
@keyframes shine{0%{background-position:100% 0}60%,100%{background-position:-50% 0}}

/* Photo: still halo, fine orbit track, one glowing arc with a bright head */
.hero-c .hero-art{isolation:isolate}
.hero-c .halo{position:absolute;inset:3%;z-index:-1;border-radius:50%;pointer-events:none;box-shadow:0 0 70px 14px rgba(74,109,167,.38),0 0 140px 30px rgba(29,122,117,.12)}
.hero-c .track{position:absolute;inset:-5%;z-index:3;border-radius:50%;pointer-events:none;border:1px solid rgba(214,232,251,.14)}
.hero-c .arc{position:absolute;inset:-5%;z-index:3;border-radius:50%;pointer-events:none;animation:spin 18s linear infinite}
.hero-c .arc::before{content:"";position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 64%,rgba(139,185,232,.18) 74%,rgba(139,185,232,.95) 99.6%,transparent 99.7%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));
          mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px))}
.hero-c .arc::after{content:"";position:absolute;top:-3px;left:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#fff;
  box-shadow:0 0 0 3px rgba(139,185,232,.25),0 0 14px 3px rgba(139,185,232,.7)}
[dir=rtl] .hero-c .arc{animation-direction:reverse}
[dir=rtl] .hero-c .arc::before{transform:scaleX(-1)}
.hero-c .orb .ring{animation:none}
.hero-c .orb-img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hero-c .slide.on .orb-img{animation:zoomin 1.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes zoomin{from{transform:scale(1.18);filter:saturate(.4) brightness(.8)}to{transform:scale(1);filter:none}}

@media (prefers-reduced-motion:reduce){
  .hero-c .arc,.hero-c .hl.shine,.hero-c .cur,.hero-c .slide.on .orb-img{animation:none!important}
  .hero-c .tk{opacity:1;filter:none}
}
