/* Classy motion layer - Phase 1 (2026-11-05) */
.hero{position:relative;overflow:hidden;isolation:isolate}
#net{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.hero>.wrap{position:relative;z-index:2}
.orb{position:absolute;border-radius:50%;filter:blur(42px);z-index:0;pointer-events:none;opacity:.85;animation:r2morph 20s ease-in-out infinite alternate}
.orb-a{width:min(620px,70vw);height:min(620px,70vw);left:-12%;top:-22%;background:radial-gradient(circle at 35% 35%,rgba(15,143,121,.36),rgba(15,143,121,0) 68%)}
.orb-b{width:min(520px,60vw);height:min(520px,60vw);right:-14%;bottom:-28%;background:radial-gradient(circle at 60% 40%,rgba(224,135,0,.22),rgba(224,135,0,0) 70%);animation-duration:26s;animation-delay:-9s}
.grain{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}
.kinetic span{display:inline-block;opacity:0;filter:blur(10px);transform:translateY(14px);animation:r2word .85s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--d,0s)}
.grad{background:linear-gradient(100deg,var(--accent),#3fc3a8,var(--amber,#e08700),var(--accent));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:r2shift 9s linear infinite;animation-delay:1s}
.ticker{display:inline-flex;align-items:center;gap:9px;margin-top:1.4rem;font-size:.88rem;color:var(--accent-text,#0b6b5b);background:rgba(15,143,121,.08);padding:9px 14px;border-radius:999px}
.ticker #tick{transition:opacity .22s ease}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(15,143,121,.45);animation:r2pulse 1.9s infinite}
.hero-media{transition:transform .25s ease;will-change:transform}
.hero .btn{transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;will-change:transform}
@keyframes r2word{to{opacity:1;filter:blur(0);transform:none}}
@keyframes r2shift{to{background-position:220% 0}}
@keyframes r2pulse{0%{box-shadow:0 0 0 0 rgba(15,143,121,.45)}70%{box-shadow:0 0 0 9px rgba(15,143,121,0)}100%{box-shadow:0 0 0 0 rgba(15,143,121,0)}}
@keyframes r2morph{0%{border-radius:48% 52% 60% 40%/50% 45% 55% 50%;transform:translate(0,0) scale(1)}50%{border-radius:60% 40% 45% 55%/42% 58% 42% 58%;transform:translate(22px,16px) scale(1.05)}100%{border-radius:40% 60% 52% 48%/58% 42% 58% 42%;transform:translate(-14px,24px) scale(1.02)}}
@media (max-width:900px){
  .orb-a{width:80vw;height:80vw;left:-24%;top:-18%}
  .orb-b{width:70vw;height:70vw;right:-22%;bottom:-24%}
}
@media (prefers-reduced-motion: reduce){
  .kinetic span{opacity:1;filter:none;transform:none;animation:none}
  .grad,.orb,.pulse{animation:none}
  .hero-media,.hero .btn{transition:none}
}
