/* Tablet (768px) */
@media (max-width: 768px) {
.hero h1 {
font-size: 32px !important;
line-height: 1.2 !important;
}
.hero-desc {
font-size: 16px !important;
}
.hero-tagline {
font-size: 14px !important;
}
.stats-grid {
grid-template-columns: repeat(2, 1fr) !important;
gap: 15px !important;
}
.stat-card {
padding: 20px !important;
}
.stat-icon {
font-size: 32px !important;
}
.stat-value {
font-size: 24px !important;
}
.stat-label {
font-size: 12px !important;
}
.services-track {
grid-template-columns: repeat(2, 1fr) !important;
gap: 15px !important;
}
.service-card {
padding: 20px !important;
}
.team-grid {
gap: 15px !important;
}
.hero-buttons,
.hero-actions-row {
flex-direction: column !important;
gap: 10px !important;
}
.hero-buttons .btn,
.hero-actions-row .btn {
width: 100% !important;
justify-content: center !important;
}
}

/* Mobile (480px) */
@media (max-width: 480px) {
.hero {
padding: 60px 15px !important;
}
.hero h1 {
font-size: 26px !important;
line-height: 1.2 !important;
}
.hero-desc {
font-size: 14px !important;
padding: 0 10px !important;
}
.hero-tagline {
font-size: 13px !important;
padding: 0 10px !important;
}
.badge {
font-size: 11px !important;
padding: 6px 12px !important;
margin: 0 10px 15px !important;
}
.stats-grid {
grid-template-columns: repeat(2, 1fr) !important;
gap: 12px !important;
padding: 0 15px !important;
}
.stat-card {
padding: 15px !important;
border-radius: 12px !important;
}
.stat-icon {
font-size: 28px !important;
margin-bottom: 10px !important;
}
.stat-value {
font-size: 20px !important;
}
.stat-label {
font-size: 11px !important;
}
.stat-description {
font-size: 10px !important;
display: none !important;
}
.services-track {
grid-template-columns: 1fr !important;
gap: 12px !important;
padding: 0 15px !important;
}
.service-card {
padding: 18px !important;
border-radius: 12px !important;
}
.service-icon {
font-size: 32px !important;
margin-bottom: 12px !important;
}
.service-card h3 {
font-size: 16px !important;
margin-bottom: 8px !important;
}
.service-card p {
font-size: 13px !important;
}
.team-grid {
gap: 12px !important;
padding: 0 15px !important;
}
.team-card {
padding: 15px !important;
border-radius: 12px !important;
}
.team-avatar {
width: 80px !important;
height: 80px !important;
margin-bottom: 12px !important;
}
.team-name {
font-size: 16px !important;
margin-bottom: 4px !important;
}
.team-role {
font-size: 12px !important;
}
.section-title {
font-size: 24px !important;
padding: 0 15px !important;
}
.section-subtitle {
font-size: 14px !important;
padding: 0 15px !important;
}
.about-text {
padding: 0 15px !important;
}
.about-text h2 {
font-size: 24px !important;
}
.about-text p {
font-size: 14px !important;
}
.contact-form {
padding: 0 15px !important;
}
.footer-content {
padding: 0 15px !important;
text-align: center !important;
}
.footer-links {
flex-direction: column !important;
gap: 10px !important;
}
}

/* Chart Card Animations - from /agent/ page */
.chart-card {
opacity: 0;
transform: translateY(30px);
animation: chartFadeInUp 0.8s ease forwards;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.chart-card:hover {
transform: translateY(-5px) scale(1.02);
box-shadow: 0 20px 40px rgba(255, 0, 110, 0.2), 0 0 30px rgba(131, 56, 236, 0.15);
}

.chart-card:nth-child(1) { animation-delay: 0.2s; }
.chart-card:nth-child(2) { animation-delay: 0.4s; }
.chart-card:nth-child(3) { animation-delay: 0.6s; }
.chart-card:nth-child(4) { animation-delay: 0.8s; }

@keyframes chartFadeInUp {
to {
opacity: 1;
transform: translateY(0);
}
}

/* Chart canvas animation */
.chart-container {
position: relative;
height: 220px;
animation: chartPulse 2s ease-in-out infinite;
animation-delay: 1s;
}

@keyframes chartPulse {
0%, 100% {
filter: drop-shadow(0 0 5px rgba(255, 0, 110, 0.3));
}
50% {
filter: drop-shadow(0 0 15px rgba(131, 56, 236, 0.5));
}
}

/* Icon animation */
.chart-icon {
display: inline-block;
animation: iconBounce 2s ease infinite;
}

.chart-card:nth-child(2) .chart-icon { animation-delay: 0.5s; }

@keyframes iconBounce {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.2); }
}

/* Mobile responsive for chart cards */
@media (max-width: 768px) {
.chart-container { height: 200px; }
.chart-card:hover { transform: translateY(-3px) scale(1.01); }

}

/* ========================================
AUTO-SCROLLING CARDS WITH SWIPE
======================================== */
.scrolling-section {
padding: 60px 0;
background: var(--bg-secondary);
overflow: hidden;
position: relative;
}

.scrolling-track {
position: relative;
overflow: hidden !important;
width: 100%;
padding: 20px 0;
cursor: grab;
touch-action: none !important;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
-ms-overflow-style: none;
user-select: none;
-webkit-user-select: none;
}

#ecosystem-scroll .scrolling-track {
overflow: hidden !important;
touch-action: none !important;
scrollbar-width: none !important;
-ms-overflow-style: none !important;
}

.scrolling-track::-webkit-scrollbar {
display: none;
}

.scrolling-track.is-dragging {
cursor: grabbing;
}

.scroll-content {
display: flex;
gap: 24px;
width: max-content;
animation: scroll-left 40s linear infinite;
cursor: grab;
will-change: transform;
}

.scroll-content.marquee-js {
animation: none !important;
transition: none;
}

.scroll-content:active {
cursor: grabbing;
}

.scroll-left .scroll-content {
animation-direction: normal;
}

.scroll-right .scroll-content {
animation-direction: reverse;
}

@keyframes scroll-left {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}

@keyframes scroll-right {
0% { transform: translateX(-50%); }
100% { transform: translateX(0); }
}

.scrolling-section .feature-card {
background: var(--bg-primary);
border: 1px solid var(--border-light);
border-radius: 20px;
padding: 40px 32px 32px 32px;
min-width: 340px;
max-width: 340px;
box-shadow: var(--shadow-md);
transition: all 0.3s ease;
flex-shrink: 0;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}

.scrolling-section .feature-card:hover {
transform: translateY(-8px);
box-shadow: var(--shadow-xl);
border-color: var(--accent-primary);
}

.scrolling-section .feature-icon {
width: 80px;
height: 80px;
margin-bottom: 20px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.scrolling-section .feature-icon svg {
width: 100%;
height: 100%;
}

.scrolling-section .feature-card h3 {
font-size: 18px;
font-weight: 700;
margin-bottom: 12px;
color: var(--text-primary);
min-height: 27px;
line-height: 1.3;
}

.scrolling-section .feature-card p {
font-size: 14px;
color: var(--text-secondary);
line-height: 1.6;
min-height: auto;
margin: 0;
}

/* Mobile responsive for scrolling cards */
@media (max-width: 768px) {
.scrolling-section {
padding: 40px 0;
}

.scrolling-section .feature-card {
min-width: 280px;
max-width: 280px;
padding: 32px 24px 24px 24px;
}

.scrolling-section .feature-icon {
width: 64px;
height: 64px;
margin-bottom: 16px;
}

.scroll-content {
gap: 16px;
}
}

.hero-neural-strip{
  margin:24px auto 26px;
  max-width:880px;
  padding:14px 14px 14px 16px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  border-radius:999px;
  text-align:left;
  border:1px solid rgba(17,24,39,.16);
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 48px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.90);
  backdrop-filter:blur(18px) saturate(140%);
}
[data-theme="dark"] .hero-neural-strip{
  border-color:rgba(255,255,255,.18);
  background:rgba(2,6,23,.70);
  box-shadow:0 18px 48px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08);
}
.hero-neural-mark{
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#0f172a;
  background:linear-gradient(135deg,#ffffff,#f1f5f9);
  border:1px solid rgba(17,24,39,.14);
  box-shadow:0 10px 28px rgba(15,23,42,.12);
}
[data-theme="dark"] .hero-neural-mark{
  color:#ffffff;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04));
  border-color:rgba(255,255,255,.18);
  box-shadow:0 10px 28px rgba(0,0,0,.32);
}
.hero-neural-mark svg{width:27px;height:27px;display:block;}
.hero-neural-content{display:flex;flex-direction:column;gap:3px;min-width:0;}
.hero-neural-eyebrow{
  font-size:10px;
  line-height:1;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:#475569;
}
.hero-neural-content strong{
  font-size:16px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.02em;
  color:#0f172a;
}
.hero-neural-content span:last-child{
  font-size:13px;
  line-height:1.35;
  color:#475569;
}
[data-theme="dark"] .hero-neural-eyebrow{color:#cbd5e1;}
[data-theme="dark"] .hero-neural-content strong,
[data-theme="dark"] .hero-neural-content span:last-child{color:#ffffff;}
.hero-neural-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  background:#0f172a;
  color:#ffffff !important;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(15,23,42,.18);
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.hero-neural-link:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,42,.24);background:#020617;}
[data-theme="dark"] .hero-neural-link{
  background:#ffffff;
  color:#020617 !important;
  box-shadow:0 10px 24px rgba(255,255,255,.08);
}
[data-theme="dark"] .hero-neural-link:hover{background:#f8fafc;}
@media (max-width: 768px){
  .hero-neural-strip{
    grid-template-columns:46px minmax(0,1fr);
    border-radius:24px;
    padding:14px;
    gap:12px;
  }
  .hero-neural-mark{width:46px;height:46px;}
  .hero-neural-link{grid-column:1 / -1;width:100%;min-height:40px;}
  .hero-neural-content strong{font-size:14px;}
  .hero-neural-content span:last-child{font-size:12px;}
}

.stats-impact-copy {
  color: rgba(255, 255, 255, 0.85) !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}
.stats-section .stats-impact-copy {
  color: rgba(255, 255, 255, 0.85) !important;
}
#stats .section-label {
  color: #7f1d1d !important;
  opacity: 1 !important;
  font-weight: 800 !important;
}
[data-theme="dark"] .stats-impact-copy {
  color: #cbd5e1 !important;
}
[data-theme="dark"] #stats .section-label {
  color: #fda4af !important;
}

.ainna-vpn-notice {
  margin-top: 12px;
  padding: 10px 14px;
  background: rgba(249, 115, 22, 0.1);
  border: 1px solid rgba(249, 115, 22, 0.22);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 500;
  color: #e2e8f0;
  text-align: center;
  line-height: 1.5;
}
.ainna-vpn-notice a {
  color: #fb923c;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}
[data-theme="dark"] .ainna-vpn-notice {
  background: rgba(249, 115, 22, 0.14);
  border-color: rgba(251, 146, 60, 0.35);
  color: #e2e8f0;
}
[data-theme="dark"] .ainna-vpn-notice a {
  color: #fb923c;
}

/* Crayon tier — card radius aligned to --ainna-radius-card (20px); palette unchanged */
.feature-card,
.service-card,
.team-card,
#ecosystem-scroll a.feature-card {
  border-radius: 20px;
}

/* ========================================
MOBILE AUDIT FIXES (2026-07-12)
======================================== */

/* Medium 4: Services scroll — edge fade hint on mobile */
@media (max-width: 768px) {
  .services-scroll {
    -webkit-mask-image: linear-gradient(to right, black 85%, transparent 100%);
    mask-image: linear-gradient(to right, black 85%, transparent 100%);
  }
}

/* Medium 5: Stats scroll — edge fade hint on mobile */
@media (max-width: 768px) {
  .stats-scroll {
    position: relative;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 4%, #000 96%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, #000 4%, #000 96%, transparent 100%);
  }
}

/* Medium 6: Hide duplicate (aria-hidden) service cards on mobile to reduce scroll length */
@media (max-width: 768px) {
  .services-track .service-card[aria-hidden="true"],
  .stats-track .stat-box:nth-child(n+7) {
    display: none !important;
  }
}

/* Medium 7: Hide NeuralOps Preview chip on small mobile (preview card already hidden ≤1100px) */
@media (max-width: 560px) {
  .hero-quick-links .hero-chip-preview {
    display: none !important;
  }
}

/* Audit update: content clarity + premium interaction refinements */
.about-outcome-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 22px 0 24px;
}
.about-outcome-grid div {
  padding: 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
}
.about-outcome-grid strong,
.about-outcome-grid span {
  display: block;
}
.about-outcome-grid strong {
  margin-bottom: 6px;
  color: #0f172a;
  font-size: 14px;
}
.about-outcome-grid span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
}
.service-card {
  position: relative;
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.service-card:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.28) 42%, transparent 58%);
  transform: translateX(-130%);
  transition: transform .65s ease;
  pointer-events: none;
}
.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 46px rgba(15, 23, 42, 0.12);
}
.service-card:hover:before {
  transform: translateX(130%);
}
.service-outcome {
  margin: 14px 0 0;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(14, 165, 233, 0.08);
  border: 1px solid rgba(14, 165, 233, 0.16);
  color: #475569;
  font-size: 12px;
  line-height: 1.45;
}
.service-outcome span {
  display: inline-block;
  margin-right: 6px;
  color: #0369a1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
[data-theme="dark"] .about-outcome-grid div,
[data-theme="dark"] .hero-proof-strip span {
  background: rgba(15, 23, 42, 0.68);
  border-color: rgba(255, 255, 255, 0.12);
}
[data-theme="dark"] .about-outcome-grid strong,
[data-theme="dark"] .hero-proof-strip strong,
[data-theme="dark"] .hero-flow-outcome strong {
  color: #f8fafc;
}
[data-theme="dark"] .about-outcome-grid span,
[data-theme="dark"] .hero-proof-strip span {
  color: #cbd5e1;
}
[data-theme="dark"] .service-outcome,
[data-theme="dark"] .hero-flow-outcome {
  background: rgba(14, 165, 233, 0.12);
  border-color: rgba(125, 211, 252, 0.22);
  color: #cbd5e1;
}
@media (max-width: 768px) {
  .about-outcome-grid {
    grid-template-columns: 1fr;
  }
}

/* About Cards — 2×2 grid on desktop for clean layout */
@media (min-width: 1024px) {
  .about-cards {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px !important;
  }
  .about-cards .feature-card {
    animation: fadeInUp .6s ease-out both;
  }
  .about-cards .feature-card:nth-child(1) { animation-delay: .1s; }
  .about-cards .feature-card:nth-child(2) { animation-delay: .2s; }
  .about-cards .feature-card:nth-child(3) { animation-delay: .3s; }
  .about-cards .feature-card:nth-child(4) { animation-delay: .4s; }
  .about-cards .feature-card:hover {
    transform: translateY(-4px);
  }
}

/* Tablet: keep single column for ~768–1023px */
@media (min-width: 768px) and (max-width: 1023px) {
  .about-cards {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 20px !important;
  }
}

/* ========================================
   Awards card grid — premium
   ======================================== */
.awards { margin-top: 56px; padding-top: 8px; }
.awards-header { margin-bottom: 28px !important; }
.awards-heading { color: #fff !important; font-size: clamp(24px, 4vw, 36px) !important; }
.awards-lead { color: rgba(255,255,255,.68) !important; font-size: 15px !important; max-width: 640px; margin: 0 auto; }
.awards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 28px;
}
.award-card {
  display: flex;
  flex-direction: column;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border: 1px solid rgba(255, 255, 255, 0.1);
  text-decoration: none;
  color: inherit;
  transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s, border-color .28s;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
.award-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.32);
  border-color: rgba(255, 107, 157, 0.4);
}
.award-card-img {
  position: relative;
  width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.04);
}
.award-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.award-card:hover .award-card-img img { transform: scale(1.06); }
.award-card-year-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(10,10,15,.72);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.14);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
}
.award-card-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.18), rgba(236, 72, 153, 0.12));
}
.award-card-placeholder svg {
  width: 40px;
  height: 40px;
  stroke: rgba(255, 255, 255, 0.28);
}
.award-card-body {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.award-card-org {
  font-size: 11px;
  font-weight: 700;
  color: #ff6b9d;
  text-transform: uppercase;
  letter-spacing: .07em;
  margin-bottom: 6px;
}
.award-card-title {
  font-size: 15px;
  font-weight: 700;
  color: #f8fafc;
  margin: 0 0 8px;
  line-height: 1.35;
}
.award-card-cat {
  display: inline-block;
  align-self: flex-start;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,.75);
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.08);
  padding: 4px 9px;
  border-radius: 999px;
  margin-bottom: 10px;
}
.award-card-desc {
  font-size: 13px;
  line-height: 1.55;
  color: rgba(255,255,255,.58);
  margin: 0 0 14px;
  flex: 1;
}
.award-card-link {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.5);
  transition: color .2s;
  margin-top: auto;
}
.award-card:hover .award-card-link { color: #ff6b9d; }
@media (max-width: 1024px) {
  .awards-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .awards-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ========================================
   Hero — tighter vertical spacing
   ======================================== */
.hero {
  min-height: auto !important;
  padding: 72px 24px 40px !important;
}
@media (min-width: 768px) {
  .hero {
    padding: 90px 24px 48px !important;
  }
}
@media (min-width: 1024px) {
  .hero {
    min-height: auto !important;
    padding: 100px 24px 56px !important;
  }
}

/* ========================================
   Quick Links Strip — below hero
   ======================================== */
.ql-strip {
  padding: 0 24px;
  margin-top: -24px;
  position: relative;
  z-index: 20;
}
.ql-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: 1100px;
  margin: 0 auto;
}
.ql-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 20px 22px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(12px);
  text-decoration: none;
  color: inherit;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position: relative;
  overflow: hidden;
}
.ql-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.1);
}
.ql-icon {
  width: 28px;
  height: 28px;
  stroke-width: 1.5;
  flex-shrink: 0;
}
.ql-card--scenarios .ql-icon { color: #6366f1; }
.ql-card--profile .ql-icon  { color: #f97316; }
.ql-card--ecom .ql-icon     { color: #10b981; }
.ql-card--token .ql-icon    { color: #0ea5e9; }
.ql-label {
  font-size: 15px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
}
.ql-desc {
  font-size: 12.5px;
  color: #64748b;
  line-height: 1.4;
}
.ql-arrow {
  position: absolute;
  top: 18px;
  right: 18px;
  font-size: 16px;
  font-weight: 700;
  color: #94a3b8;
  transition: color .25s, transform .25s;
}
.ql-card:hover .ql-arrow {
  color: #0f172a;
  transform: translateX(3px);
}
/* accent top border per card */
.ql-card--scenarios { border-top: 3px solid #6366f1; }
.ql-card--profile  { border-top: 3px solid #f97316; }
.ql-card--ecom     { border-top: 3px solid #10b981; }
.ql-card--token    { border-top: 3px solid #0ea5e9; }

/* Dark mode */
[data-theme="dark"] .ql-card {
  background: rgba(30, 41, 59, 0.82);
  border-color: rgba(255, 255, 255, 0.08);
}
[data-theme="dark"] .ql-label { color: #f1f5f9; }
[data-theme="dark"] .ql-desc  { color: #94a3b8; }
[data-theme="dark"] .ql-arrow { color: #475569; }
[data-theme="dark"] .ql-card:hover .ql-arrow { color: #e2e8f0; }

/* Tablet: 2×2 */
@media (max-width: 1024px) {
  .ql-grid { grid-template-columns: repeat(2, 1fr); }
}
/* Mobile: stack */
@media (max-width: 640px) {
  .ql-grid { grid-template-columns: 1fr; gap: 12px; }
  .ql-strip { margin-top: -12px; }
}

@media (prefers-reduced-motion: reduce) {
  .service-card,
  .service-card:before,
  .hero-live-dot,
  .hero-cockpit-ring {
    animation: none !important;
    transition: none !important;
  }
}

/* ========================================
   Stats section — ensure white heading
   ======================================== */
.stats-section h2 {
  color: #fff;
}
.stats-section .section-label {
  color: rgba(255, 255, 255, 0.6);
}
.stats-section p {
  color: rgba(255, 255, 255, 0.7);
}

/* ========================================
   Mouse Spotlight — dark mode only
   ======================================== */
.mouse-spotlight {
  position: fixed;
  top: 0;
  left: 0;
  width: 640px;
  height: 640px;
  margin-left: -320px;
  margin-top: -320px;
  pointer-events: none;
  z-index: 9998;
  opacity: 0;
  border-radius: 50%;
  background: radial-gradient(
    circle at center,
    rgba(99, 102, 241, 0.10) 0%,
    rgba(99, 102, 241, 0.04) 30%,
    transparent 65%
  );
  will-change: transform;
  transition: opacity 0.4s ease;
}
[data-theme="dark"] .mouse-spotlight {
  opacity: 1;
}
@media (max-width: 768px) {
  .mouse-spotlight { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .mouse-spotlight { transition: none; }
}

