/* ═══════════════════════════════════════════════════════════
   PRO THEME — Industry-standard professional aesthetic
   (Animations & AI features unchanged)
   ═══════════════════════════════════════════════════════════ */

:root {
  --bg-deep: #060b14;
  --bg-primary: #0a1220;
  --bg-surface: #0f1a2c;
  --bg-elevated: #152238;
  --teal: #2d9ea3;
  --teal-bright: #3db8bf;
  --teal-dim: rgba(61, 184, 191, 0.1);
  --gold: #c9a962;
  --gold-light: #dfc07a;
  --gold-dim: rgba(201, 169, 98, 0.1);
  --text-primary: #ffffff;
  --text-body: #e4edf5;
  --text-secondary: #cdd9e5;
  --text-muted: #a8bdd0;
  --border: rgba(255, 255, 255, 0.08);
  --border-light: rgba(255, 255, 255, 0.12);
  --radius: 10px;
  --radius-lg: 16px;
  --radius-sm: 6px;
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-mono: 'Plus Jakarta Sans', system-ui, sans-serif;
  --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.25);
  --shadow-elevated: 0 12px 40px rgba(0, 0, 0, 0.35);
}

body {
  font-family: var(--font-body) !important;
  color: var(--text-body) !important;
  letter-spacing: -0.01em !important;
}

/* Typography */
h1, h2, h3, h4, h5 {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  text-shadow: none !important;
  color: var(--text-primary) !important;
}

.eyebrow,
.eyebrow--teal {
  font-family: var(--font-body) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  color: var(--gold) !important;
  text-shadow: none !important;
}

.eyebrow::before {
  background: linear-gradient(90deg, var(--gold), transparent) !important;
  box-shadow: none !important;
}

.text-gradient {
  background: linear-gradient(135deg, #fff 0%, var(--gold-light) 50%, var(--teal-bright) 100%) !important;
  background-size: 100% auto !important;
  animation: none !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.text-gold { color: var(--gold-light) !important; text-shadow: none !important; }
.text-teal { color: var(--teal-bright) !important; text-shadow: none !important; }

main p, main li, main .lead, .footer-brand p,
.intro-content p, .service-card-content p, .work-item p,
.value-card p, .philosophy-item p, .faq-answer-inner {
  color: var(--text-body) !important;
}

.lead {
  color: #d6e3ef !important;
  font-size: clamp(1.05rem, 1.6vw, 1.18rem) !important;
  line-height: 1.75 !important;
}

/* Header & nav */
.site-header {
  background: rgba(6, 11, 20, 0.88) !important;
  backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid var(--border) !important;
  box-shadow: none !important;
}

.nav-links a {
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.nav-links a::after {
  background: var(--teal) !important;
  box-shadow: none !important;
}

.nav-links a:hover,
.nav-links a.active {
  color: var(--text-primary) !important;
  text-shadow: none !important;
}

.nav-cta {
  font-family: var(--font-body) !important;
  background: transparent !important;
  border: 1px solid var(--border-light) !important;
  color: var(--text-primary) !important;
  border-radius: 4px !important;
  clip-path: none !important;
  box-shadow: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-size: 0.78rem !important;
}

.nav-cta:hover {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--bg-deep) !important;
  box-shadow: none !important;
}

/* Buttons */
.btn {
  font-family: var(--font-body) !important;
  border-radius: 4px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  clip-path: none !important;
  font-size: 0.8rem !important;
}

.btn-primary {
  background: var(--teal) !important;
  border: 1px solid var(--teal) !important;
  color: var(--bg-deep) !important;
  box-shadow: none !important;
}

.btn-primary:hover {
  background: var(--teal-bright) !important;
  box-shadow: 0 8px 24px rgba(61, 184, 191, 0.25) !important;
  color: var(--bg-deep) !important;
}

.btn-ghost {
  border: 1px solid var(--border-light) !important;
  color: var(--text-primary) !important;
  background: transparent !important;
}

.btn-ghost:hover {
  border-color: var(--gold) !important;
  color: var(--gold-light) !important;
  background: var(--gold-dim) !important;
  box-shadow: none !important;
}

/* Cards */
.stat-card, .service-card, .philosophy-item, .value-card,
.work-item, .bento-item, .service-detail, .testimonial-card,
.process-step, .faq-item, .blog-card, .award-card, .ai-cap,
.tech-matcher, .ai-core-wrap, .ai-demo, .code-terminal,
.quick-quote, .matcher-result, .video-card, .work-reel-item,
.matcher-opt, .quick-quote-opt, .process-step-tl {
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-lg) !important;
  clip-path: none !important;
  backdrop-filter: none !important;
}

.stat-card::before, .stat-card::after,
.service-card::before, .service-card::after,
.philosophy-item::before, .philosophy-item::after,
.value-card::before, .value-card::after,
.work-item::before, .work-item::after,
.bento-item::before, .bento-item::after {
  display: none !important;
}

.stat-card:hover, .service-card:hover, .bento-item:hover,
.work-item:hover, .value-card:hover, .award-card:hover {
  border-color: var(--border-light) !important;
  box-shadow: var(--shadow-card) !important;
}

.stat-number {
  font-family: var(--font-display) !important;
  color: var(--teal-bright) !important;
  text-shadow: none !important;
}

.stat-card:nth-child(2) .stat-number { color: var(--gold-light) !important; }
.stat-card:nth-child(3) .stat-number { color: var(--teal) !important; }
.stat-card:nth-child(4) .stat-number { color: var(--text-primary) !important; }

.stat-label {
  font-family: var(--font-body) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: var(--text-muted) !important;
}

/* Hero */
.hero-overlay {
  background: linear-gradient(180deg, rgba(6, 11, 20, 0.45) 0%, rgba(6, 11, 20, 0.88) 65%, var(--bg-deep) 100%) !important;
}

.hero-scroll span { font-family: var(--font-body) !important; color: var(--text-muted) !important; letter-spacing: 0.2em !important; }
.hero-scroll-line { background: linear-gradient(180deg, var(--teal), transparent) !important; box-shadow: none !important; }

.page-hero-bg img {
  filter: brightness(0.5) saturate(1.05) !important;
}

.page-hero-overlay {
  background: linear-gradient(180deg, rgba(6, 11, 20, 0.5) 0%, rgba(6, 11, 20, 0.92) 70%, var(--bg-deep) 100%) !important;
}

/* Tags & links */
.bento-item-tag, .work-item-tag {
  font-family: var(--font-body) !important;
  background: var(--teal-dim) !important;
  color: var(--teal-bright) !important;
  border: none !important;
  border-radius: 100px !important;
}

.work-item-link, .service-card-link {
  font-family: var(--font-body) !important;
  color: var(--gold) !important;
}

.work-item-meta span, .tech-tag {
  font-family: var(--font-body) !important;
  background: var(--bg-surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-secondary) !important;
  border-radius: 100px !important;
  clip-path: none !important;
}

.tech-tag:hover {
  border-color: var(--teal) !important;
  color: var(--teal-bright) !important;
  box-shadow: none !important;
}

/* Stack visual */
.stack-visual-layer {
  font-family: var(--font-body) !important;
  border-radius: var(--radius) !important;
  clip-path: none !important;
  border-left: 3px solid var(--teal) !important;
  background: var(--bg-surface) !important;
}

.stack-visual-detail {
  font-family: var(--font-body) !important;
  border-radius: var(--radius) !important;
  border-color: var(--border) !important;
  background: var(--bg-surface) !important;
}

/* AI Lab */
.ai-lab::before { background: none !important; }
#ai-matrix-canvas { opacity: 0.04 !important; }

.ai-core-stat {
  font-family: var(--font-body) !important;
  color: var(--text-muted) !important;
}

.ai-core-stat strong {
  font-family: var(--font-display) !important;
  color: var(--teal-bright) !important;
  text-shadow: none !important;
}

.ai-demo-header {
  font-family: var(--font-body) !important;
  color: var(--text-primary) !important;
  background: var(--bg-surface) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.ai-demo-dot { background: var(--teal) !important; box-shadow: none !important; }

.ai-demo-chip {
  font-family: var(--font-body) !important;
  border-radius: 100px !important;
  clip-path: none !important;
  color: var(--text-secondary) !important;
  border-color: var(--border) !important;
}

.ai-demo-chip:hover {
  color: var(--teal-bright) !important;
  border-color: var(--teal) !important;
  box-shadow: none !important;
}

.ai-demo-body .chat-msg--bot .chat-bubble {
  background: var(--bg-surface) !important;
  border: 1px solid var(--border) !important;
  clip-path: none !important;
  border-radius: var(--radius) !important;
}

.ai-demo-body .chat-msg--user .chat-bubble {
  background: var(--teal-dim) !important;
  border: 1px solid rgba(61, 184, 191, 0.25) !important;
  clip-path: none !important;
  border-radius: var(--radius) !important;
}

.ai-cap h4, .matcher-group-label, .video-showcase h3,
.video-card-label, .work-reel-label, .matcher-placeholder {
  font-family: var(--font-body) !important;
  color: var(--text-muted) !important;
  letter-spacing: 0.08em !important;
}

.ai-cap h4 { color: var(--teal-bright) !important; }

.quick-quote-price {
  font-family: var(--font-display) !important;
  color: var(--gold-light) !important;
  text-shadow: none !important;
}

/* Terminal */
.code-terminal {
  border-radius: var(--radius-lg) !important;
  clip-path: none !important;
  box-shadow: var(--shadow-elevated) !important;
}

.code-terminal-header {
  font-family: var(--font-body) !important;
  color: var(--text-muted) !important;
  letter-spacing: 0 !important;
}

.code-terminal-body {
  font-family: 'SF Mono', 'Fira Code', monospace !important;
  font-size: 0.78rem !important;
}

.code-line--cmd { color: var(--teal-bright) !important; }
.code-line--ok { color: #4ade80 !important; }

/* Matcher */
.matcher-opt.selected {
  border-color: var(--teal) !important;
  background: var(--teal-dim) !important;
  color: var(--teal-bright) !important;
  box-shadow: none !important;
}

.matcher-result h4 { color: var(--text-primary) !important; }

/* Process timeline */
.process-timeline-fill {
  background: linear-gradient(90deg, var(--teal), var(--gold)) !important;
  box-shadow: none !important;
}

.process-step-tl-dot {
  font-family: var(--font-display) !important;
  color: var(--teal-bright) !important;
  clip-path: none !important;
  border-radius: 50% !important;
  border-color: var(--border-light) !important;
}

.process-step-tl h4 {
  font-family: var(--font-body) !important;
  text-transform: none !important;
  color: var(--text-primary) !important;
}

/* Before/after */
.ba-handle {
  background: var(--gold) !important;
  box-shadow: none !important;
}

.ba-handle::after {
  background: var(--gold) !important;
  color: var(--bg-deep) !important;
  border: none !important;
  clip-path: none !important;
  border-radius: 100px !important;
}

/* Marquee & logos */
.marquee-wrap {
  background: var(--bg-primary) !important;
  border-color: var(--border) !important;
}

.marquee-item {
  font-family: var(--font-body) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.marquee-item .dot {
  background: var(--teal) !important;
  box-shadow: none !important;
}

.logo-marquee-track span {
  font-family: var(--font-display) !important;
  color: var(--text-muted) !important;
  opacity: 0.6;
}

.logo-marquee-track span:hover { color: var(--text-secondary) !important; }

/* Testimonials */
.testimonial-author { font-family: var(--font-body) !important; color: var(--teal-bright) !important; }
.testimonial-dot.active { background: var(--teal) !important; box-shadow: none !important; }

/* CTA */
.cta-banner-inner {
  border-radius: var(--radius-lg) !important;
  clip-path: none !important;
  border-color: var(--border) !important;
  background: var(--bg-elevated) !important;
}

.cta-banner-glow {
  background: radial-gradient(ellipse at center, rgba(61, 184, 191, 0.08), transparent 70%) !important;
  opacity: 1 !important;
}

/* Forms */
input, select, textarea {
  font-family: var(--font-body) !important;
  background: var(--bg-surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text-primary) !important;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--teal) !important;
  box-shadow: 0 0 0 3px var(--teal-dim) !important;
}

/* Chat */
.chat-launcher {
  background: var(--teal) !important;
  border: none !important;
  color: var(--bg-deep) !important;
  border-radius: 50% !important;
  clip-path: none !important;
  box-shadow: var(--shadow-card) !important;
}

.chat-panel {
  border-radius: var(--radius-lg) !important;
  border-color: var(--border) !important;
  background: var(--bg-elevated) !important;
}

.chat-header {
  background: var(--bg-surface) !important;
  border-color: var(--border) !important;
}

/* Footer */
.site-footer { border-color: var(--border) !important; }

.footer-col h4 {
  font-family: var(--font-body) !important;
  color: var(--text-muted) !important;
  letter-spacing: 0.15em !important;
}

.footer-social a:hover { color: var(--teal-bright) !important; text-shadow: none !important; }

/* Section tints — subtle */
.section-tint-teal { background: linear-gradient(180deg, rgba(61, 184, 191, 0.03) 0%, transparent 100%) !important; }
.section-tint-warm { background: linear-gradient(180deg, rgba(201, 169, 98, 0.03) 0%, transparent 100%) !important; }
.section-tint-purple { background: linear-gradient(180deg, rgba(100, 116, 139, 0.03) 0%, transparent 100%) !important; }

/* Intro */
.intro-image {
  border-radius: var(--radius-lg) !important;
  clip-path: none !important;
  border-color: var(--border) !important;
}

.intro-image-frame { border-color: var(--gold) !important; opacity: 0.35 !important; }
.intro-feature { border-radius: var(--radius) !important; clip-path: none !important; }
.intro-feature svg { color: var(--teal) !important; }

.preloader-progress {
  background: linear-gradient(90deg, var(--teal), var(--gold)) !important;
  box-shadow: none !important;
}

body::after {
  background:
    radial-gradient(ellipse 70% 50% at 15% 10%, rgba(61, 184, 191, 0.04) 0%, transparent 55%),
    radial-gradient(ellipse 50% 40% at 90% 90%, rgba(201, 169, 98, 0.03) 0%, transparent 55%) !important;
}

.faq-item.open {
  border-color: var(--teal) !important;
  background: var(--teal-dim) !important;
}

.hero-orbit-ring { display: block; }

.hero-3d-wrap { opacity: 0.65 !important; }

.ai-core-pulse { border-color: rgba(61, 184, 191, 0.2) !important; }

.award-card h4 { color: var(--text-primary) !important; }
