/* AGTech — shared design system on top of Tailwind utilities */

:root {
  --ink: #0b1220;
  --ink-soft: #1e293b;
  --primary: #4f46e5;
  --primary-dark: #4338ca;
  --accent: #06b6d4;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  color: var(--ink);
}

h1, h2, h3, h4, .font-display {
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
}

::selection {
  background: #4f46e5;
  color: #fff;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* Hero mesh background */
.mesh-hero {
  background-color: #0b1220;
  background-image:
    radial-gradient(60% 55% at 85% 8%, rgba(6, 182, 212, 0.35), transparent 60%),
    radial-gradient(45% 45% at 8% 15%, rgba(79, 70, 229, 0.45), transparent 60%),
    radial-gradient(80% 60% at 50% 100%, rgba(30, 41, 59, 0.6), transparent 60%);
}

/* Soft dot-grid background for light sections */
.dot-grid {
  background-image: radial-gradient(circle, rgba(79, 70, 229, 0.16) 1px, transparent 1px);
  background-size: 22px 22px;
}

/* Gradient text */
.text-gradient {
  background-image: linear-gradient(90deg, #818cf8, #22d3ee);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Card lift */
.card-hover {
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -12px rgba(15, 23, 42, 0.18);
  border-color: rgba(79, 70, 229, 0.35);
}

/* Nav dropdown */
.has-dropdown:hover .dropdown-panel,
.has-dropdown:focus-within .dropdown-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.dropdown-panel {
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
}

/* Mobile menu */
#mobile-menu[data-open="false"] {
  display: none;
}

/* FAQ accordion chevron */
details > summary {
  list-style: none;
  cursor: pointer;
}
details > summary::-webkit-details-marker {
  display: none;
}
details summary .chevron {
  transition: transform 0.2s ease;
}
details[open] summary .chevron {
  transform: rotate(180deg);
}

/* Numbered process step connector */
.step-line {
  background-image: repeating-linear-gradient(to bottom, #c7d2fe 0, #c7d2fe 6px, transparent 6px, transparent 12px);
}

/* Simple fade-up entrance, no JS dependency required */
.fade-up {
  animation: fadeUp 0.6s ease both;
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Skip link */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: #fff;
  color: #0b1220;
  padding: 0.75rem 1rem;
  z-index: 100;
  border-radius: 0 0 0.5rem 0;
}
.skip-link:focus {
  left: 0;
}
