/*
Theme Name: Andreev Child
Template: hello-elementor
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --color-bg-dark: #0F0625;
  --color-bg-dark-2: #1A0D3D;
  --color-brand-indigo: #1C1B6E;
  --color-brand-purple: #5B3DDE;
  --color-brand-cyan: #3FC1FF;
  --color-bg-light: #F5F3FB;
  --color-bg-white: #FFFFFF;
  --color-accent-yellow: #FFE34D;
  --color-text-dark: #0F0625;
  --color-text-light: #FFFFFF;
  --color-text-muted: rgba(15,6,37,0.65);
  --color-text-muted-light: rgba(255,255,255,0.7);
  --color-border-light: rgba(91,61,222,0.12);
  --color-border-dark: rgba(255,255,255,0.1);
}

*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  background: #F5F3FB;
  color: var(--color-bg-dark);
  margin: 0;
}

a { color: inherit; }

.site-wrapper { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.section-gap { margin-bottom: 12px; }

/* Section marker */
.section-marker { display: flex; align-items: center; gap: 12px; margin-bottom: 1.5rem; }
.section-marker__label { font-size: 11px; letter-spacing: 0.8px; font-weight: 700; color: var(--color-brand-purple); white-space: nowrap; }
.section-marker__line { flex: 1; height: 0.5px; background: rgba(91,61,222,0.2); }
.dark .section-marker__label { color: var(--color-brand-cyan); }
.dark .section-marker__line { background: rgba(255,255,255,0.15); }

/* Pills */
.h-pill { display: inline-block; background: var(--color-bg-light); color: var(--color-bg-dark); padding: 4px 24px 8px; border-radius: 100px; font-style: italic; font-weight: 500; transform: rotate(-1.5deg); }
.h-pill--cyan { background: var(--color-brand-cyan); }
.h-pill--white { background: white; }
.h-pill--yellow { background: var(--color-accent-yellow); }

/* Typography */
.h1-mega { font-size: 92px; line-height: 0.88; font-weight: 800; letter-spacing: -4px; }
.h1-mega-xl { font-size: 110px; line-height: 0.88; font-weight: 800; letter-spacing: -5px; }
.h1-page { font-size: 84px; line-height: 0.92; font-weight: 800; letter-spacing: -3.5px; }
.h2-section { font-size: 72px; line-height: 0.92; font-weight: 800; letter-spacing: -3px; }

/* Mesh blobs */
.mesh-purple { position: absolute; width: 500px; height: 500px; background: radial-gradient(circle, rgba(91,61,222,0.55) 0%, rgba(91,61,222,0) 70%); pointer-events: none; border-radius: 50%; }
.mesh-cyan { position: absolute; width: 600px; height: 600px; background: radial-gradient(circle, rgba(63,193,255,0.22) 0%, rgba(63,193,255,0) 70%); pointer-events: none; border-radius: 50%; }

/* Buttons */
.btn-primary-white { background: white; color: var(--color-bg-dark); border: none; padding: 18px 32px; font-size: 14px; border-radius: 100px; font-weight: 600; cursor: pointer; transition: transform 0.2s ease; text-decoration: none; display: inline-block; }
.btn-primary-white:hover { transform: translateY(-2px); }
.btn-primary-purple { background: var(--color-brand-purple); color: white; border: none; padding: 18px 32px; font-size: 14px; border-radius: 100px; font-weight: 600; text-decoration: none; display: inline-block; }

/* Marquee */
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee-track { animation: marquee 35s linear infinite; display: inline-block; white-space: nowrap; }

/* Service cards hover */
.service-card { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.service-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(91,61,222,0.15); }

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

/* Mobile */
@media (max-width: 768px) {
  .h1-mega, .h1-mega-xl { font-size: 44px; letter-spacing: -2px; }
  .h1-page { font-size: 38px; letter-spacing: -1.5px; }
  .h2-section { font-size: 34px; letter-spacing: -1.5px; }
  .hero-grid { grid-template-columns: 1fr !important; }
  .hero-photo-block { height: auto !important; min-height: 300px; }
  .hero-kpi { grid-template-columns: 1fr 1fr !important; }
  .method-steps { grid-template-columns: 1fr 1fr !important; }
  .services-asymmetric-grid { grid-template-columns: 1fr !important; }
  .services-asymmetric-grid .service-card-flagship,
  .services-asymmetric-grid .service-card-combo { grid-column: span 1 !important; }
  .cases-top-grid { grid-template-columns: 1fr !important; }
  .cases-bottom-grid { grid-template-columns: 1fr !important; }
  .about-grid { grid-template-columns: 1fr !important; }
  .reviews-grid { grid-template-columns: 1fr 1fr !important; }
  .clients-grid { grid-template-columns: repeat(3,1fr) !important; }
  .site-nav { display: none !important; }
}
