/* ============================================================
   Colossus Technologies Group — shared stylesheet
   Navy + Silver brand system · "Build. Scale. Deliver."
   Paired with Tailwind (now local: /assets/tailwind.css)
   ============================================================ */

:root {
  --navy-950: #020B24;
  --navy-900: #071845;     /* primary brand navy — slightly lifted */
  --navy-800: #0F2456;
  --navy-700: #1E3568;
  --navy-600: #2E5090;
  --steel-blue: rgba(140, 160, 190, 0.08);  /* subtle brightener from brand circuit art */
  --silver-100: #F4F6F8;
  --silver-300: #C8CDD4;   /* primary platinum accent */
  --silver-500: #9AA5B1;
  --silver-700: #606878;
  --gold-500: #E5C687;     /* champagne gold — emphasis only */
  --gold-400: #EED19A;     /* warmer highlight */
  --gold-300: #F4DDB0;     /* brightest tone for micro-highlights */
  --text-primary: #FFFFFF;
  --text-secondary: #D1D3D4;
  --text-tertiary: #808285;
  --border-subtle: rgba(229, 198, 135, 0.14);
  --border-default: rgba(229, 198, 135, 0.24);
  --border-emphasis: rgba(229, 198, 135, 0.42);
}

html { scroll-behavior: smooth; }
body {
  background: var(--navy-900);
  color: var(--text-secondary);
  font-family: 'Montserrat', 'Inter', sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* --- Texture & background layers --------------------------- */
.grid-texture {
  background-image:
    linear-gradient(rgba(140, 160, 190, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(140, 160, 190, 0.04) 1px, transparent 1px);
  background-size: 64px 64px;
}
.hero-mesh {
  background:
    radial-gradient(ellipse 70% 55% at 25% 25%, rgba(140, 165, 200, 0.12), transparent 60%),
    radial-gradient(ellipse 50% 45% at 75% 65%, rgba(100, 135, 185, 0.10), transparent 55%),
    radial-gradient(ellipse 80% 60% at 50% 50%, rgba(140, 160, 190, 0.06), transparent 70%),
    linear-gradient(180deg, var(--navy-900) 0%, var(--navy-950) 100%);
}
.section-mesh {
  background:
    radial-gradient(ellipse 45% 35% at 80% 20%, rgba(140, 165, 200, 0.10), transparent 55%),
    radial-gradient(ellipse 45% 35% at 20% 80%, rgba(100, 135, 185, 0.08), transparent 55%);
}

/* --- Champagne gradient text ------------------------------- */
.gradient-text {
  background: linear-gradient(135deg, #FFFFFF 0%, var(--gold-300) 45%, var(--gold-500) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.gradient-text-cyan {
  /* Kept class name for HTML compatibility — now champagne-toned */
  background: linear-gradient(135deg, #FFFFFF 0%, var(--gold-400) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* --- Glow cards -------------------------------------------- */
.glow-card {
  position: relative;
  background: linear-gradient(180deg, rgba(229, 198, 135, 0.14), rgba(200, 205, 212, 0.08)), linear-gradient(180deg, rgba(180, 195, 215, 0.30), rgba(150, 175, 205, 0.20));
  border: 1px solid rgba(229, 198, 135, 0.25);
  transition: border-color 0.3s ease, transform 0.3s ease, background 0.3s ease;
}
.glow-card:hover {
  border-color: rgba(229, 198, 135, 0.50);
  transform: translateY(-2px);
  background: linear-gradient(180deg, rgba(229, 198, 135, 0.18), rgba(200, 205, 212, 0.10)), linear-gradient(180deg, rgba(180, 195, 215, 0.38), rgba(150, 175, 205, 0.26));
}
.glow-card::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 0%, rgba(229, 198, 135, 0.12), transparent 50%);
  opacity: 0; transition: opacity 0.3s ease; pointer-events: none;
}
.glow-card:hover::before { opacity: 1; }

/* --- Buttons ----------------------------------------------- */
.btn-primary {
  position: relative;
  background: linear-gradient(180deg, var(--gold-300) 0%, var(--gold-500) 100%);
  color: var(--navy-900); font-weight: 600;
  padding: 13px 26px;
  display: inline-flex; align-items: center; gap: 10px;
  border-radius: 4px;
  transition: transform 0.2s ease, box-shadow 0.3s ease, gap 0.3s ease, background 0.3s ease;
  box-shadow: 0 1px 0 0 rgba(255,255,255,0.25) inset, 0 0 0 0 rgba(229, 198, 135, 0);
}
.btn-primary:hover {
  gap: 14px;
  background: linear-gradient(180deg, #F8E4BD 0%, var(--gold-400) 100%);
  box-shadow: 0 1px 0 0 rgba(255,255,255,0.3) inset, 0 8px 28px -10px rgba(229, 198, 135, 0.45), 0 2px 12px -4px rgba(229, 198, 135, 0.3);
  transform: translateY(-1px);
}
.btn-secondary {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 13px 26px;
  border: 1px solid var(--border-emphasis);
  color: var(--text-primary);
  border-radius: 4px;
  background: rgba(255,255,255,0.02);
  transition: border-color 0.2s ease, color 0.2s ease, gap 0.3s ease, background 0.2s ease;
  font-weight: 500;
}
.btn-secondary:hover {
  border-color: var(--silver-300);
  background: rgba(192, 200, 208, 0.05);
  gap: 14px;
}

/* --- Eyebrow ----------------------------------------------- */
.eyebrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--gold-500);
}
.eyebrow-rule {
  /* Silver rule + eyebrow, as in the "BUILD. SCALE. DELIVER." signature line */
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.eyebrow-rule::before {
  content: '';
  display: inline-block;
  width: 32px;
  height: 1px;
  background: var(--gold-500);
}
.glow-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-emphasis), transparent);
}

/* --- Gold accents (use sparingly — roughly 1% of visual surface) --- */
.gold-accent {
  color: var(--gold-500);
}
.gold-plus {
  /* For the `+` after stats: $6.5M+, 50+, etc. */
  background: linear-gradient(180deg, var(--gold-300) 0%, var(--gold-500) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 600;
}
.gold-rule {
  width: 32px;
  height: 1px;
  background: var(--gold-500);
  display: inline-block;
}
.nav-active {
  border-bottom: 1px solid var(--gold-500);
  padding-bottom: 3px;
}

/* --- Tagline (Build. Scale. Deliver.) ---------------------- */
.tagline {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.28em;
  color: var(--gold-500);
  text-transform: uppercase;
}

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

/* --- Mobile menu ------------------------------------------- */
.mobile-menu {
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.mobile-menu.open { transform: translateX(0); }

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

/* --- Testimonial carousel ---------------------------------- */
.testimonial-track {
  display: flex;
  transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.testimonial-slide { flex: 0 0 100%; padding: 0 8px; }

/* --- Forms ------------------------------------------------- */
input, textarea, select {
  background: rgba(2, 11, 36, 0.65);
  border: 1px solid var(--border-default);
  color: #F1F5F9;
  padding: 12px 16px;
  border-radius: 4px;
  font-family: inherit;
  font-size: 15px;
  width: 100%;
  transition: border-color 0.2s ease, background 0.2s ease;
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--silver-300);
  background: rgba(2, 11, 36, 0.85);
}
textarea { min-height: 140px; resize: vertical; }
label {
  display: block;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--silver-500); font-weight: 600;
  margin-bottom: 8px;
  font-family: 'Montserrat', sans-serif;
}
.honey { position: absolute; left: -9999px; }

/* --- Headshot gradient backgrounds (legacy, still used for initials fallback) --- */
.head-1, .head-2, .head-3, .head-4, .head-5, .head-6, .head-7 {
  background: linear-gradient(135deg, var(--navy-700), var(--navy-600));
}

/* --- Animations -------------------------------------------- */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}
@keyframes fade-up {
  0% { opacity: 0; transform: translateY(16px); }
  100% { opacity: 1; transform: translateY(0); }
}
.animate-float { animation: float 8s ease-in-out infinite; }
.animate-fade-up { animation: fade-up 1s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.hero-float { animation: float 7s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
