/* Start custom CSS *//* Home V2 — AI answer tabs motion. Lives in the page's Custom CSS (Elementor Pro).
   Hooks are nz-ai-* global classes. Tab panels toggle display, so entrance animations replay on every tab click. */

/* Active tab: orange underline that grows from the centre */
.nz-ai-tab { position: relative; overflow: hidden; }
.nz-ai-tab > * { position: relative; z-index: 1; }
.nz-ai-tab::after {
  content: ""; position: absolute; left: 50%; bottom: 3px; height: 2px; width: 0;
  border-radius: 2px; background: #FAA634; box-shadow: 0 0 10px rgba(250,166,52,0.7);
  transform: translateX(-50%);
}
.nz-ai-tab.e--selected::after { width: 34%; }

@media (prefers-reduced-motion: no-preference) {
  .nz-ai-tab::after { transition: width 0.35s cubic-bezier(0.2,0.7,0.2,1); }

  /* Active tab: slow light sheen across the background */
  .nz-ai-tab.e--selected::before {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,0.09) 50%, transparent 70%);
    background-size: 250% 100%;
    animation: nzSheen 4.5s ease-in-out infinite;
  }

  /* Panel sequence: question -> engine label -> thinking dots -> answer -> highlight sweep -> chips */
  [role="tabpanel"] .nz-ai-question { animation: nzUp 0.45s cubic-bezier(0.2,0.7,0.2,1) both; }
  [role="tabpanel"] .nz-ai-engine   { animation: nzUp 0.4s 0.2s cubic-bezier(0.2,0.7,0.2,1) both; }

  [role="tabpanel"] .nz-ai-dots { display: flex !important; animation: nzDots 0.85s 0.35s both; }
  [role="tabpanel"] .nz-ai-dot  { animation: nzBlink 0.9s ease-in-out infinite; }
  [role="tabpanel"] .nz-ai-dot:nth-child(2) { animation-delay: 0.15s; }
  [role="tabpanel"] .nz-ai-dot:nth-child(3) { animation-delay: 0.3s; }

  [role="tabpanel"] .nz-ai-answer { animation: nzUp 0.5s 1.15s cubic-bezier(0.2,0.7,0.2,1) both; }
  [role="tabpanel"] .nz-ai-answer strong {
    background-color: transparent !important;
    background-image: linear-gradient(rgba(250,166,52,0.24), rgba(250,166,52,0.24));
    background-repeat: no-repeat; background-size: 0% 100%;
    animation: nzSweep 0.6s 1.55s cubic-bezier(0.6,0,0.2,1) forwards;
  }

  [role="tabpanel"] .nz-ai-chip { animation: nzUp 0.35s cubic-bezier(0.2,0.7,0.2,1) both; animation-delay: 1.75s; }
  [role="tabpanel"] .nz-ai-chip:nth-child(2) { animation-delay: 1.85s; }
  [role="tabpanel"] .nz-ai-chip:nth-child(3) { animation-delay: 1.95s; }
}

@keyframes nzUp    { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes nzSheen { 0% { background-position: 150% 0; } 60%, 100% { background-position: -50% 0; } }
@keyframes nzDots  { 0% { opacity: 0; } 15%, 80% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }
@keyframes nzBlink { 0%, 100% { opacity: 0.25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
@keyframes nzSweep { to { background-size: 100% 100%; } }

/* "Human-led AI search strategy" callout: light sheen, breathing glow */
@media (prefers-reduced-motion: no-preference) {
  .nz-sheen-card::before {
    content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
    background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,0.055) 47%, rgba(255,255,255,0.09) 50%, rgba(255,255,255,0.055) 53%, transparent 65%);
    background-size: 300% 100%;
    animation: nzSheen 7s ease-in-out infinite;
  }
  .nz-breathe-glow { animation: nzBreathe 9s ease-in-out infinite alternate; }
}
@keyframes nzBreathe { from { opacity: 0.75; transform: translate(0, 0) scale(1); } to { opacity: 1; transform: translate(-24px, 14px) scale(1.12); } }

/* Google tab label: "Google AI Overview" on desktop/tablet, "Gemini" on phones (Elementor mobile breakpoint) */
.nz-tab-label em { display: none; font-style: normal; }
@media (max-width: 767px) {
  .nz-tab-label span { display: none; }
  .nz-tab-label em { display: inline; }
}

/* JSON-LD holder widget: no visual footprint */
.nz-schema { display: none !important; }

/* Home V2 sits under a floating header island: keep the page ground navy so no white shows above or around it */
body { background-color: #08162F; }

/* Hero arrow: dissolve the hard crop (strongest bottom-left) into the background */
.nz-hero-arrow {
  -webkit-mask-image: radial-gradient(ellipse 78% 80% at 64% 34%, #000 48%, rgba(0,0,0,.55) 68%, transparent 92%);
          mask-image: radial-gradient(ellipse 78% 80% at 64% 34%, #000 48%, rgba(0,0,0,.55) 68%, transparent 92%);
}/* End custom CSS */