/* Aries ecosystem + scoped page styles */
@keyframes gradientFlow {
    0% { background-position: 0% center; }
    100% { background-position: 200% center; }
  }
@keyframes gradientShift {
    0%, 100% { background-position: 0% center; }
    50% { background-position: 100% center; }
  }
@keyframes subtitleShimmer {
    0% { background-position: -200% center; }
    100% { background-position: 200% center; }
  }
@keyframes heroGradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes droneHover {
    0% { transform: translateY(0px) rotate(0deg) scale(1); }
    15% { transform: translateY(-7px) rotate(0.8deg) scale(1.005); }
    30% { transform: translateY(-3px) rotate(0.3deg) scale(1.002); }
    50% { transform: translateY(-5px) rotate(-0.5deg) scale(1.003); }
    70% { transform: translateY(2px) rotate(-0.8deg) scale(0.998); }
    85% { transform: translateY(4px) rotate(-0.3deg) scale(0.997); }
    100% { transform: translateY(0px) rotate(0deg) scale(1); }
  }

/* Ecosystem page chrome (fixed header offset; full-bleed horizontal like public-safety body) */
.aries-content-wrapper {
  --aries-content-fs: 1.2;
  /* Match site :root palette from style.css (no edits to other pages) */
  --aries-page-bg: var(--bg, #050507);
  --aries-panel-bg: var(--cardBg, #0a0a0f);
  --aries-panel-hover: var(--cardHover, #0f0f1c);
  --aries-primary: var(--primaryColor, #8b5cf6);
  --aries-accent-pink: #e879f9;
  --aries-border-subtle: var(--themeBorder, rgba(139, 92, 246, 0.15));
  --aries-border-strong: var(--borderColor, rgba(139, 92, 246, 0.25));
  --aries-video-bg: color-mix(in srgb, var(--aries-panel-bg) 94%, var(--aries-primary) 6%);
  width: 100%;
  max-width: 100%;
  padding-top: clamp(88px, 10vw, 118px);
  background: var(--aries-page-bg);
  overflow-x: clip;
}

@scope (#aries-ecosystem-root) {
  :scope {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-family: var(--fontBody, 'Inter', sans-serif);
    font-weight: 400;
    color: var(--textColor, #ffffff);
    line-height: 1.65;
    font-size: calc(1.6rem * var(--aries-content-fs, 1));
    background-color: var(--aries-page-bg);
  }
  *, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  a {
    color: inherit;
    text-decoration: none;
  }

  /* Typography + sections aligned with product-sensor-models-embed.html */
  .container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

  .hero { min-height: 80vh; display: flex; flex-direction: column; justify-content: center; align-items: stretch; padding: 5rem 0; border-bottom: 1px solid var(--aries-border-subtle); position: relative; overflow: visible; background: var(--aries-page-bg); }
  .hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(135deg, color-mix(in srgb, var(--aries-page-bg) 65%, transparent) 0%, color-mix(in srgb, var(--aries-panel-bg) 50%, transparent) 50%, rgba(139, 92, 246, 0.22) 100%);
  }
  .hero .container { width: 100%; position: relative; z-index: 1; }
  .hero-img { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; z-index: 1; }
  .hero-eyebrow { font-size:14px; font-family: var(--fontBody, 'Inter', sans-serif); letter-spacing: 0; text-transform: none; color: rgba(255, 255, 255, 0.7); font-weight: 400; margin-bottom: 1rem; line-height: 1.5; }
  /* Main title: matches product-sensor-models .hero-content h2 (3.5rem desktop) */
  .aries-wordmark { font-family: var(--fontHeading, 'Inter', sans-serif); font-size: calc(4rem * var(--aries-content-fs, 1)) !important; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; margin-bottom: 1.25rem; margin-left: 0; text-transform: uppercase; background: linear-gradient(135deg, #8B5CF6 0%, #E879F9 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
  .aries-wordmark em { font-style: normal; }
  .hero-tagline { font-size: calc(1.8rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); color: rgba(255, 255, 255, 0.7); max-width: 520px; line-height: 1.7; font-weight: 400; margin-bottom: 2.5rem; }
  .hero-actions { display: flex; gap: 1rem; align-items: center; margin-bottom: 0; }
  .btn-primary { font-size: calc(1.3rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); padding: 0.75rem 2rem; background: linear-gradient(135deg, #8B5CF6 0%, #E879F9 100%); color: #fff; border-radius: 8px; font-weight: 500; transition: filter 0.2s, box-shadow 0.2s; border: none; cursor: pointer; box-shadow: 0 4px 24px rgba(139, 92, 246, 0.25); }
  .btn-primary:hover { filter: brightness(1.08); box-shadow: 0 8px 32px rgba(139, 92, 246, 0.35); }
  .btn-ghost { font-size: calc(1.3rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); padding: 0.75rem 2rem; border: 1px solid rgba(255,255,255,0.12); border-radius: 8px; color: rgba(255,255,255,0.75); transition: border-color 0.2s, color 0.2s, background 0.2s; cursor: pointer; background: color-mix(in srgb, var(--aries-panel-bg) 40%, transparent); }
  .btn-ghost:hover { border-color: rgba(139, 92, 246, 0.35); color: #fff; background: color-mix(in srgb, var(--aries-panel-bg) 75%, transparent); }
  .hero-stat-row { display: flex; gap: 3rem; padding-top: 0; border-top: none; flex-wrap: wrap; }
  .hero-stat .num { font-size: calc(2.4rem * var(--aries-content-fs, 1)); font-family: var(--fontHeading, 'Inter', sans-serif); font-weight: 600; letter-spacing: -0.02em; color: #f3f4f6; }
  .hero-stat .num span { background: linear-gradient(135deg, #8B5CF6, #E879F9); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
  .hero-stat .label { font-size: calc(1.1rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); color: #9ca3af; text-transform: uppercase; letter-spacing: 0.1em; margin-top: 3px; font-weight: 500; }

  .sec { padding: 7rem 0; border-bottom: 1px solid var(--aries-border-subtle); background: var(--aries-page-bg); }
  .sec-alt { background: var(--aries-panel-bg); }
  .sec-dark { background: var(--aries-panel-bg); }
  .section-label { font-size: calc(1.4rem * var(--aries-content-fs, 1)); font-family: var(--fontHeading, 'Inter', sans-serif); letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.5); font-weight: 600; margin-bottom: 3rem; }

  /* Section-scale titles: matches .section-title (2rem) on sensor models embed */
  .tam-head { font-family: var(--fontHeading, 'Inter', sans-serif); font-size:4rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; margin-bottom: 3.5rem; max-width: 620px; color: #fff; -webkit-text-fill-color: #fff; background: none; }
  .tam-head em { font-style: normal; background: linear-gradient(135deg, #FFFFFF 0%, #d8b4fe 25%, #6b3fa0 50%, #4a2963 75%, #2d1f3d 100%); background-size: 200% 200%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: heroGradientShift 4s ease-in-out infinite; }
  .market-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .market-card { padding: 1.75rem; border: 1px solid rgba(139, 92, 246, 0.1); border-radius: 1rem; background: color-mix(in srgb, var(--aries-page-bg) 70%, transparent); transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease; }
  .market-card:hover { background: rgba(139, 92, 246, 0.1); border-color: rgba(139, 92, 246, 0.3); transform: translateY(-3px); }
  .market-card .figure { font-size: calc(3.8rem * var(--aries-content-fs, 1)); font-family: var(--fontHeading, 'Inter', sans-serif); font-weight: 700; letter-spacing: -0.03em; color: #f3f4f6; margin-bottom: 0.4rem; }
  .market-card .figure span { background: linear-gradient(135deg, #8B5CF6, #E879F9); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
  .market-card .mkt-label { font-size: calc(1.1rem * var(--aries-content-fs, 1)); font-family: var(--fontHeading, 'Inter', sans-serif); color: #9ca3af; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 0.75rem; font-weight: 600; }
  .market-card p { font-size: calc(1.6rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); color: rgba(255, 255, 255, 0.5); line-height: 1.7; }

  .desc-lead { font-family: var(--fontHeading, 'Inter', sans-serif); font-size: calc(2rem * var(--aries-content-fs, 1)); font-weight: 700; line-height: 1.35; letter-spacing: -0.02em; max-width: 700px; color: #fff; -webkit-text-fill-color: #fff; background: none; margin-bottom: 3rem; }
  .desc-lead em { font-style: normal; background: linear-gradient(135deg, #FFFFFF 0%, #d8b4fe 25%, #6b3fa0 50%, #4a2963 75%, #2d1f3d 100%); background-size: 200% 200%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: heroGradientShift 4s ease-in-out infinite; }
  .body-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-bottom: 3rem; }
  .body-cols p { font-size: calc(1.6rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); color: rgba(255, 255, 255, 0.5); line-height: 1.75; font-weight: 400; }
  .pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 3rem; }
  .pillar { padding: 2rem 2rem; border: 1px solid rgba(139, 92, 246, 0.1); border-radius: 1rem; background: color-mix(in srgb, var(--aries-page-bg) 70%, transparent); transition: background 0.3s ease, border-color 0.3s ease; }
  .pillar:hover { background: rgba(139, 92, 246, 0.08); border-color: rgba(139, 92, 246, 0.25); }
  .pillar-label { font-size: calc(1.1rem * var(--aries-content-fs, 1)); font-family: var(--fontHeading, 'Inter', sans-serif); letter-spacing: 0.18em; text-transform: uppercase; color: #9ca3af; margin-bottom: 0.75rem; font-weight: 600; }
  .pillar h3 { font-size: calc(2rem * var(--aries-content-fs, 1)); font-family: var(--fontHeading, 'Inter', sans-serif); font-weight: 700; color: #fff; margin-bottom: 1rem; letter-spacing: -0.02em; }
  .pillar p { font-size: calc(1.6rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); color: rgba(255, 255, 255, 0.5); line-height: 1.75; }
  .quote-block { margin-top: 4rem; padding: 2rem 2rem; border-radius: 0 0.75rem 0.75rem 0; background: linear-gradient(135deg, rgba(139, 92, 246, 0.1) 0%, rgba(232, 121, 249, 0.06) 100%); border: 1px solid rgba(139, 92, 246, 0.1); border-left: 3px solid var(--aries-primary); }
  .quote-block blockquote { font-size: calc(1.8rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); font-weight: 400; font-style: italic; color: rgba(255, 255, 255, 0.65); line-height: 1.7; margin-bottom: 1rem; }
  .quote-block cite { font-size: calc(1.1rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); letter-spacing: 0.08em; text-transform: uppercase; color: #9ca3af; font-style: normal; font-weight: 500; }

  .features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; background: transparent; border: none; border-radius: 0; overflow: visible; }
  .features-row-label { font-size: calc(1.1rem * var(--aries-content-fs, 1)); font-family: var(--fontHeading, 'Inter', sans-serif); letter-spacing: 0.16em; text-transform: uppercase; color: #9ca3af; font-weight: 600; grid-column: span 3; background: rgba(139, 92, 246, 0.06); padding: 0.65rem 1.25rem; border-radius: 0.75rem; border: 1px solid rgba(139, 92, 246, 0.12); margin-bottom: 0.25rem; }
  .features-row-label:first-child { margin-top: 0; }
  .feature-card { background: color-mix(in srgb, var(--aries-page-bg) 70%, transparent); border: 1px solid rgba(139, 92, 246, 0.1); border-radius: 1rem; padding: 1.75rem 1.25rem; transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease; }
  .feature-card:hover { background: rgba(139, 92, 246, 0.1); border-color: rgba(139, 92, 246, 0.3); transform: translateY(-4px); }
  .feature-header { display: flex; align-items: center; gap: 10px; margin-bottom: 0.6rem; }
  .feature-icon { width: 28px; height: 28px; background: linear-gradient(135deg, #8B5CF6, #E879F9); border-radius: 0.5rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 0 16px rgba(139, 92, 246, 0.25); }
  .feature-icon svg { width: 14px; height: 14px; stroke: #fff; fill: none; stroke-width: 1.5; }
  .feature-card h3 { font-size: calc(1.75rem * var(--aries-content-fs, 1)); font-family: var(--fontHeading, 'Inter', sans-serif); font-weight: 600; color: #fff; line-height: 1.35; }
  .feature-card p { font-size: calc(1.6rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); color: rgba(255, 255, 255, 0.5); line-height: 1.7; font-weight: 400; }

  .domains-banner { position: relative; overflow: hidden; padding: 5rem 0; border-bottom: 1px solid var(--aries-border-subtle); text-align: center; background: linear-gradient(145deg, color-mix(in srgb, var(--aries-page-bg) 92%, var(--aries-primary) 8%) 0%, color-mix(in srgb, var(--aries-panel-bg) 96%, transparent) 100%); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25); }
  .domains-banner::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, #8B5CF6, #E879F9, #ec4899, #3b82f6); background-size: 200% 100%; animation: gradientFlow 3s linear infinite; }
  .domains-banner .container { position: relative; z-index: 1; }
  .domains-banner h2 { font-family: var(--fontHeading, 'Inter', sans-serif); font-size: calc(4.5rem * var(--aries-content-fs, 1)); font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; color: #fff; -webkit-text-fill-color: #fff; background: none; }
  .domains-banner h2 em { font-style: normal; background: linear-gradient(135deg, #FFFFFF 0%, #d8b4fe 25%, #6b3fa0 50%, #4a2963 75%, #2d1f3d 100%); background-size: 200% 200%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: heroGradientShift 4s ease-in-out infinite; }
  .domains-banner p { font-size: calc(1.6rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); color: rgba(255, 255, 255, 0.5); margin-top: 1rem; max-width: 520px; margin-left: auto; margin-right: auto; line-height: 1.7; }

  .deployments-sec { padding: 4rem 0 7rem; border-bottom: 1px solid var(--aries-border-subtle); background: var(--aries-page-bg); }
  .dep-section-label { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 2.5rem; }
  .dep-section-icon { width: 36px; height: 36px; background: rgba(139, 92, 246, 0.12); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }
  .dep-section-icon svg { width: 18px; height: 18px; stroke: var(--aries-primary); fill: none; stroke-width: 1.5; }
  .dep-section-sub { font-size: calc(1.6rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); color: rgba(255, 255, 255, 0.5); line-height: 1.7; max-width: 480px; margin-top: 2px; }
  .dep-divider { border-top: 1px solid var(--aries-border-subtle); margin: 4rem 0 5rem; }

  .dep-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .dep-scroller { display: flex; gap: 12px; padding-bottom: 1rem; flex-wrap: wrap; }
  .dep-scroller .dep-card { flex: 1 1 0; cursor: pointer; transition: border-color 0.3s, transform 0.2s; }
  .dep-scroller .dep-card:hover { border-color: rgba(139, 92, 246, 0.65); transform: translateY(-2px); }
  .dep-scroller .dep-card.active { border-color: var(--aries-primary); box-shadow: 0 0 28px rgba(139, 92, 246, 0.2); }
  .dep-featured { display: grid; grid-template-columns: 1.2fr 1fr; gap: 0; margin-bottom: 1.5rem; border-radius: 1rem; overflow: hidden; border: 1px solid rgba(139, 92, 246, 0.15); background: linear-gradient(145deg, color-mix(in srgb, var(--aries-page-bg) 90%, var(--aries-primary) 10%) 0%, color-mix(in srgb, var(--aries-panel-bg) 95%, transparent) 100%); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35); transition: all 0.3s ease; }
  .dep-featured .video-wrap { aspect-ratio: 16/9; }
  .dep-featured .dep-info { padding: 1.5rem; display: flex; flex-direction: column; justify-content: center; }
  .dep-card { background: color-mix(in srgb, var(--aries-page-bg) 65%, transparent); border: 1px solid rgba(139, 92, 246, 0.1); border-radius: 1rem; overflow: hidden; transition: all 0.3s ease; }
  .dep-card:hover { border-color: rgba(139, 92, 246, 0.35); transform: translateY(-4px); background: rgba(139, 92, 246, 0.1); box-shadow: 0 16px 32px rgba(0, 0, 0, 0.35); }
  .video-wrap { position: relative; width: 100%; aspect-ratio: 16/9; background: var(--aries-video-bg); overflow: hidden; }
  .video-wrap img, .video-wrap video, .video-wrap iframe { width: 100%; height: 100%; object-fit: cover; display: block; border: none; }
  .dep-info { padding: 20px; }
  .dep-tag { display: inline-block; font-size: calc(1.1rem * var(--aries-content-fs, 1)); font-family: var(--fontHeading, 'Inter', sans-serif); letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 12px; background: rgba(139, 92, 246, 0.15); color: #e9d5ff; border-radius: 20px; margin-bottom: 8px; font-weight: 600; }
  .dep-info h4 { font-size: 18px !important; font-family: var(--fontHeading, 'Inter', sans-serif); font-weight: 600; color: #fff; margin-bottom: 0.4rem; line-height: 1.4; }
  .dep-info p { font-size: calc(1.6rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); color: rgba(255, 255, 255, 0.5); line-height: 1.7; }

  .cta-sec { text-align: center; padding: 8rem 0; border-bottom: 1px solid var(--aries-border-subtle); background: var(--aries-page-bg); }
  .cta-sec h2 { font-family: var(--fontHeading, 'Inter', sans-serif); font-size: 4rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; max-width: 720px; margin: 0 auto 1.5rem; color: #fff; -webkit-text-fill-color: #fff; background: none; }
  .cta-sec h2 em { font-style: normal; background: linear-gradient(135deg, #FFFFFF 0%, #d8b4fe 25%, #6b3fa0 50%, #4a2963 75%, #2d1f3d 100%); background-size: 200% 200%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: heroGradientShift 4s ease-in-out infinite; }
  .cta-sec p { font-size: calc(1.6rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); color: rgba(255, 255, 255, 0.5); margin-bottom: 2.5rem; max-width: 440px; margin-left: auto; margin-right: auto; line-height: 1.7; }
  .cta-actions { display: flex; gap: 1rem; justify-content: center; }

  footer { padding: 2.5rem 0; background: var(--aries-panel-bg); border-top: 1px solid var(--aries-border-subtle); margin-top: 0; }
  footer p { font-size: calc(1.2rem * var(--aries-content-fs, 1)); font-family: var(--fontBody, 'Inter', sans-serif); color: #6b7280; }
  footer a { color: #9ca3af; transition: color 0.2s; }
  footer a:hover { color: #e5e7eb; }

  @media (max-width: 900px) {
    .container {
      padding-left: max(16px, env(safe-area-inset-left, 0px));
      padding-right: max(16px, env(safe-area-inset-right, 0px));
    }
    .dep-grid { grid-template-columns: 1fr !important; }
    .dep-featured { grid-template-columns: 1fr !important; }
    .market-cards, .body-cols, .features-grid, .pillars { grid-template-columns: 1fr; }
    .aries-dual-visual { grid-template-columns: 1fr !important; }
    .hero-stat-row { gap: 2rem; }
    .sec { padding-top: clamp(3.5rem, 10vw, 6rem); padding-bottom: clamp(3.5rem, 10vw, 6rem); }
    .cta-sec { padding: 5rem 0; }
    .cta-actions { flex-direction: column; align-items: center; }
    footer .container { flex-direction: column; gap: 1rem; text-align: center; }
  }

  /* Title breakpoints aligned with product-sensor-models .hero-content h2 */
  @media (max-width: 768px) {
    .aries-wordmark { font-size: calc(2.5rem * var(--aries-content-fs, 1)); }
    .tam-head, .domains-banner h2, .cta-sec h2 { font-size: calc(1.8rem * var(--aries-content-fs, 1)); }
    .desc-lead { font-size: calc(1.5rem * var(--aries-content-fs, 1)); }
  }
  @media (max-width: 480px) {
    .aries-wordmark { font-size: calc(1.75rem * var(--aries-content-fs, 1)); }
    .tam-head, .domains-banner h2, .cta-sec h2 { font-size: calc(1.5rem * var(--aries-content-fs, 1)); }
    .desc-lead { font-size: calc(1.45rem * var(--aries-content-fs, 1)); }
  }

  /* Division page typography + cards (public-safety.html / style.css) */
  :scope h1, :scope h2, :scope h3 {
    font-family: var(--fontHeading, 'Inter', sans-serif);
    font-weight: 600;
    letter-spacing: -0.02em;
  }
  :scope h4, :scope h5, :scope h6 {
    font-size: 4rem;
    font-weight: 600;
    font-weight: 500;
    letter-spacing: -0.02em;
  }
  /* font-size carries !important solely to neutralise style.css's unscoped
     `h1 { font-size: 28px !important }` in the 768-991px tablet range, which
     would otherwise win over this rule now that the wordmark is an h1.
     The value is unchanged, so computed rendering is identical. */
  :scope .aries-wordmark {
    font-family: var(--fontHeading, 'Inter', sans-serif);
    font-weight: 700;
    font-size: calc(4rem * var(--aries-content-fs, 1)) !important;
    line-height: 1.1;
    text-transform: uppercase;
    background: linear-gradient(135deg, #8B5CF6 0%, #E879F9 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
  }
  :scope .aries-wordmark em {
    font-style: normal;
    background: linear-gradient(135deg, #8B5CF6 0%, #E879F9 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
  }
  :scope .tam-head,
  :scope .domains-banner h2,
  :scope .cta-sec h2,
  :scope .desc-lead {
    font-family: var(--fontHeading, 'Inter', sans-serif);
    font-weight: 700;
  }
  :scope .tam-head em,
  :scope .domains-banner h2 em,
  :scope .cta-sec h2 em,
  :scope .desc-lead em {
    font-style: normal;
    background: linear-gradient(135deg, #FFFFFF 0%, #d8b4fe 25%, #6b3fa0 50%, #4a2963 75%, #2d1f3d 100%);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    animation: heroGradientShift 4s ease-in-out infinite;
  }
  :scope .section-label {
    font-family: var(--fontHeading, 'Inter', sans-serif);
    letter-spacing: 0.12em;
  }
  :scope .hero-eyebrow {
    font-family: var(--fontBody, 'Inter', sans-serif);
    letter-spacing: 0;
  }
  :scope .hero-tagline,
  :scope .domains-banner p,
  :scope .dep-section-sub,
  :scope .dep-info p,
  :scope .market-card p,
  :scope .pillar p,
  :scope .body-cols p {
    font-family: var(--fontBody, 'Inter', sans-serif);
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.5);
  }
.dep-info h6{
  font-size: 19px;
}

.pt10px{
  padding-top:16px !important;
}
  /* Aries-only: CEO message banners (paired with .domains-banner--ceo in aries.html) */
  :scope .domains-banner--ceo {
    padding: clamp(4rem, 11vw, 7rem) 0;
    background:
      radial-gradient(ellipse 115% 70% at 50% -15%, rgba(139, 92, 246, 0.22), transparent 52%),
      linear-gradient(168deg, color-mix(in srgb, var(--aries-page-bg) 98%, transparent) 0%, color-mix(in srgb, var(--aries-panel-bg) 93%, transparent) 48%, color-mix(in srgb, var(--aries-page-bg) 98%, transparent) 100%);
  }
  :scope .domains-banner--ceo::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: radial-gradient(ellipse 55% 45% at 50% 105%, rgba(139, 92, 246, 0.1), transparent 72%);
  }
  :scope .domains-banner--ceo .container {
    position: relative;
    z-index: 1;
  }
  :scope .domains-banner__ceo-shell {
    position: relative;
    z-index: 1;
    max-width: 1170px;
    margin: 0 auto;
    padding: clamp(2rem, 5vw, 3.25rem) clamp(1.35rem, 4vw, 2.75rem);
    border-radius: 1.5rem;
    border: 1px solid rgba(139, 92, 246, 0.28);
    background: color-mix(in srgb, var(--aries-page-bg) 52%, transparent);
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.05) inset,
      0 28px 90px rgba(0, 0, 0, 0.5),
      0 0 80px rgba(139, 92, 246, 0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    text-align: center;
  }
  :scope .domains-banner__ceo-shell::before {
    content: '“';
    position: absolute;
    top: clamp(0.35rem, 1.5vw, 0.85rem);
    left: clamp(0.85rem, 2.5vw, 1.5rem);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(3.5rem, 12vw, 6.5rem);
    line-height: 1;
    color: rgba(167, 139, 250, 0.22);
    pointer-events: none;
    user-select: none;
  }
  :scope .domains-banner--ceo .domains-banner__ceo-shell h2 {
    position: relative;
    font-size: clamp(calc(1.28rem * var(--aries-content-fs, 1)), 2.9vw, calc(2.15rem * var(--aries-content-fs, 1)));
    font-weight: 500;
    font-style: italic;
    line-height: 1.42;
    letter-spacing: -0.015em;
    margin: 0;
    padding: clamp(0.35rem, 1.5vw, 0.75rem) 0 0 clamp(1.5rem, 5vw, 2.5rem);
    max-width: none;
    color: #f8fafc;
    -webkit-text-fill-color: #f8fafc;
    background: none;
  }
  :scope .domains-banner--ceo .domains-banner__ceo-shell h2 em {
    font-style: italic;
  }
  :scope .domains-banner--ceo .domains-banner__ceo-shell > p:first-of-type {
    margin-top: clamp(1.5rem, 4vw, 2.25rem);
    margin-left: auto;
    margin-right: auto;
    padding-top: clamp(1.1rem, 3vw, 1.65rem);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    max-width: 36rem;
    font-size: calc(0.95rem * var(--aries-content-fs, 1));
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: none;
    line-height: 1.5;
    color: rgba(226, 232, 240, 0.92);
  }
  :scope .domains-banner--ceo .domains-banner__ceo-shell > p:first-of-type + p {
    margin-top: 1.15rem;
    padding-top: 0;
    border-top: none;
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
    font-size: calc(1.35rem * var(--aries-content-fs, 1));
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.48);
  }

  :scope .market-card,
  :scope .pillar,
  :scope .feature-card,
  :scope .dep-card,
  :scope .dep-featured,
  :scope .quote-block {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    box-shadow: none;
    transition: transform 350ms ease, border-color 200ms ease, box-shadow 350ms ease;
  }
  :scope .market-card:hover,
  :scope .pillar:hover,
  :scope .feature-card:hover,
  :scope .dep-card:hover {
    transform: translateY(-6px);
    border-color: rgba(139, 92, 246, 0.35);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45);
  }
  :scope .dep-featured:hover {
    border-color: rgba(139, 92, 246, 0.4);
    box-shadow: 0 20px 56px rgba(0, 0, 0, 0.5);
  }
  :scope .video-wrap {
    border-radius: 18px;
    overflow: hidden;
  }
  :scope .btn-primary,
  :scope .btn-ghost {
    font-family: var(--fontBody, 'Inter', sans-serif);
    font-weight: 600;
    border-radius: 12px;
  }

  /* Operational Capabilities — blockbg + blockcard (public-safety Core Implementation Areas pattern) */
  :scope .aries-op-cap-sec {
    padding: 0;
    background: transparent;
    border-bottom: 1px solid var(--aries-border-subtle);
  }
  :scope .aries-op-cap-sec .blockbg {
    border-radius: 0;
  }
  :scope #op-capabilities {
    position: relative;
    overflow: hidden;
  }
  :scope #op-capabilities .key-features-container .section_title {
    text-align: left;
    margin-bottom: 0;
    
  }
  .key-features-container .section_title{
    font-size:4rem;
    font-weight: 600;
    
  }
  :scope .aries-op-cap-category-heading {
    font-family: var(--fontHeading, 'Inter', sans-serif);
    font-size: calc(2rem * var(--aries-content-fs, 1));
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: #fff;
    margin-bottom: 0.25rem;
  }
  :scope .aries-op-cap-category-heading span {
    background: linear-gradient(135deg, #FFFFFF 0%, #d8b4fe 25%, #6b3fa0 50%, #4a2963 75%, #2d1f3d 100%);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: heroGradientShift 4s ease-in-out infinite;
  }
  :scope .aries-op-cap-blockcard.blockcard {
    margin: 0;
    height: 100%;
  }
  :scope .aries-op-cap-blockcard .op-cap-card__media {
    position: relative;
    width: 100%;
    height: 200px;
    border-radius: 8px;
    overflow: hidden;
    background: var(--aries-video-bg);
  }
  :scope .aries-op-cap-blockcard .op-cap-card__media::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.06) 0%, transparent 40%, rgba(0, 0, 0, 0.28) 100%);
  }
  :scope .aries-op-cap-blockcard .op-cap-card__media iframe,
  :scope .aries-op-cap-blockcard .op-cap-card__media video,
  :scope .aries-op-cap-blockcard .op-cap-card__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease, opacity 0.35s ease;
  }
  :scope .aries-op-cap-blockcard:hover .op-cap-card__media iframe,
  :scope .aries-op-cap-blockcard:hover .op-cap-card__media video,
  :scope .aries-op-cap-blockcard:hover .op-cap-card__media img {
    transform: scale(1.05);
  }
  :scope .aries-op-cap-blockcard .op-cap-card__media img {
    opacity: 0.92;
  }
  :scope .aries-op-cap-blockcard:hover .op-cap-card__media img {
    opacity: 1;
  }
  :scope .op-cap-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  :scope .op-cap-chip {
    font-size: calc(0.75rem * var(--aries-content-fs, 1));
    padding: 6px 14px;
    border-radius: 999px;
    font-weight: 500;
    border: 1px solid rgba(139, 92, 246, 0.24);
    color: rgba(226, 232, 240, 0.92);
    background: rgba(139, 92, 246, 0.09);
    font-family: var(--fontBody, 'Inter', sans-serif);
    transition: border-color 0.2s ease, background 0.2s ease;
  }
  :scope .op-cap-chip:hover {
    border-color: rgba(196, 181, 253, 0.45);
    background: rgba(139, 92, 246, 0.14);
  }
  :scope .op-cap-chip--note {
    font-style: italic;
    color: rgba(156, 163, 175, 0.95);
    border-color: rgba(139, 92, 246, 0.14);
    background: rgba(0, 0, 0, 0.22);
  }
  :scope .op-cap-footnote {
    font-size: calc(1.6rem * var(--aries-content-fs, 1));
    line-height: 1.65;
    color: rgba(156, 163, 175, 0.95);
    margin-top: 0;
    max-width: 52rem;
    font-family: var(--fontBody, 'Inter', sans-serif);
  }
  @media (max-width: 768px) {
    :scope .aries-op-cap-category-heading {
      font-size: calc(1.5rem * var(--aries-content-fs, 1));
    }
  }
}


/* Hero scan SVG */
          @keyframes heroSpin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
          @keyframes heroScanPulse { 0% { opacity: 0.12; } 50% { opacity: 0.25; } 100% { opacity: 0.12; } }
          @keyframes heroScanSweep { 0% { opacity: 0.08; } 50% { opacity: 0.18; } 100% { opacity: 0.08; } }

/* Architecture diagram SVG */
        .learn-slab { }
        @keyframes brainPulse {
          0%, 100% { opacity: 0.75; }
          50% { opacity: 1; }
        }
        .brain-icon { animation: brainPulse 3s ease-in-out infinite; }
        @keyframes spinArrows {
          0% { transform: translate(255px, 105px) rotate(0deg); }
          100% { transform: translate(255px, 105px) rotate(360deg); }
        }
        .spin-arrows { animation: spinArrows 6s linear infinite; transform-origin: 0 0; }

/* Architecture diagram — slab flow */
        @keyframes flowDown2 { 0% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -30; } }
        @keyframes flowUp2 { 0% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 30; } }
        .arr-down { stroke-dasharray: 5 10; animation: flowDown2 1.5s linear infinite; }
        .arr-up2 { stroke-dasharray: 5 10; animation: flowUp2 1.5s linear infinite; }

/* Architecture diagram — inter-slab arrows */
        @keyframes flowUp {
          0% { stroke-dashoffset: 40; }
          100% { stroke-dashoffset: 0; }
        }
        @keyframes flowDown {
          0% { stroke-dashoffset: -40; }
          100% { stroke-dashoffset: 0; }
        }
        .arrow-up { stroke-dasharray: 6 14; animation: flowUp 2s linear infinite; }
        .arrow-down { stroke-dasharray: 6 14; animation: flowDown 2.5s linear infinite; }

/* Fleet grid — learn icons */
      @keyframes spinIcon { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
      .learn-icon { position:absolute; z-index:5; pointer-events:none; }
      .learn-icon svg { animation: spinIcon 5s linear infinite; }

/* Site footer chrome */
      .fancy-footer {
         position: relative;
         background: linear-gradient(180deg, rgba(10, 10, 15, 0.95) 0%, rgba(5, 5, 10, 1) 100%);
         overflow: hidden;
      }
      .fancy-footer::before {
         content: '';
         position: absolute;
         top: 0;
         left: 0;
         right: 0;
         height: 1px;
         background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.5), rgba(236, 72, 153, 0.5), transparent);
      }
      .footer-glow {
         position: absolute;
         width: 400px;
         height: 400px;
         border-radius: 50%;
         filter: blur(150px);
         opacity: 0.15;
         pointer-events: none;
      }
      .footer-glow-1 {
         background: #8B5CF6;
         top: -200px;
         left: -100px;
      }
      .footer-glow-2 {
         background: #EC4899;
         bottom: -200px;
         right: -100px;
      }
      .footer-logo-section {
         border-right: 1px solid rgba(255,255,255,0.1);
         padding-right: 40px;
      }
      @media (max-width: 991px) {
         .footer-logo-section {
            border-right: none;
            border-bottom: 1px solid rgba(255,255,255,0.1);
            padding-right: 0;
            padding-bottom: 30px;
            margin-bottom: 30px;
         }
      }
      .footer-brand-name {
         font-size: 1.5rem;
         font-weight: 700;
         background: linear-gradient(135deg, #fff 0%, rgba(255,255,255,0.7) 100%);
         -webkit-background-clip: text;
         -webkit-text-fill-color: transparent;
         margin-top: 15px;
      }
      .footer-tagline {
         font-size: 1rem;
         color: rgba(255,255,255,0.5);
         margin-top: 10px;
         letter-spacing: 0.5px;
      }
      .footer-col-title {
         font-size: 0.95rem;
         font-weight: 600;
         text-transform: uppercase;
         letter-spacing: 2px;
         color: rgba(255,255,255,0.9);
         margin-bottom: 20px;
         position: relative;
         display: inline-block;
      }
      .footer-col-title::after {
         content: '';
         position: absolute;
         bottom: -8px;
         left: 0;
         width: 20px;
         height: 2px;
         background: linear-gradient(90deg, #8B5CF6, #EC4899);
         border-radius: 2px;
         transition: width 0.3s ease;
      }
      .footer-col:hover .footer-col-title::after {
         width: 40px;
      }
      .fancy-footer .footer-menu {
         margin: 0;
         padding: 0;
      }
      .fancy-footer .footer-menu li {
         margin-bottom: 12px;
      }
      .fancy-footer .footer-menu a {
         color: rgba(255,255,255,0.5);
         font-size: 1.05rem;
         transition: all 0.3s ease;
         position: relative;
         display: inline-block;
      }
      .fancy-footer .footer-menu a:hover {
         color: #fff;
         transform: translateX(5px);
      }
      .fancy-footer .footer-menu a::before {
         content: '';
         position: absolute;
         left: -15px;
         top: 50%;
         width: 0;
         height: 1px;
         background: linear-gradient(90deg, #8B5CF6, transparent);
         transition: width 0.3s ease;
      }
      .fancy-footer .footer-menu a:hover::before {
         width: 10px;
      }
      .footer-bottom {
         border-top: 1px solid rgba(255,255,255,0.08);
         padding-top: 30px;
         margin-top: 50px;
      }
      .footer-social-link {
         width: 40px;
         height: 40px;
         border-radius: 50%;
         background: rgba(255,255,255,0.05);
         display: flex;
         align-items: center;
         justify-content: center;
         transition: all 0.3s ease;
         border: 1px solid rgba(255,255,255,0.1);
      }
      .footer-social-link:hover {
         background: linear-gradient(135deg, rgba(139, 92, 246, 0.3), rgba(236, 72, 153, 0.3));
         border-color: rgba(139, 92, 246, 0.5);
         transform: translateY(-3px);
      }
      .footer-social-link img, .footer-social-link svg {
         width: 18px;
         height: 18px;
         opacity: 0.7;
         transition: opacity 0.3s ease;
      }
      .footer-social-link:hover img, .footer-social-link:hover svg {
         opacity: 1;
      }
      .footer-copyright {
         color: rgba(255,255,255,0.3);
         font-size: 1rem;
      }
      .footer-living-intel {
         display: inline-flex;
         align-items: center;
         gap: 8px;
         padding: 10px 18px;
         background: linear-gradient(135deg, rgba(139, 92, 246, 0.15), rgba(236, 72, 153, 0.15));
         border: 1px solid rgba(139, 92, 246, 0.3);
         border-radius: 20px;
         color: #d8b4fe;
         font-size: 1rem;
         font-weight: 500;
         margin-top: 20px;
         transition: all 0.3s ease;
      }
      .footer-living-intel:hover {
         background: linear-gradient(135deg, rgba(139, 92, 246, 0.25), rgba(236, 72, 153, 0.25));
         border-color: rgba(139, 92, 246, 0.5);
         color: #fff;
         transform: scale(1.02);
      }
      .footer-living-intel svg {
         width: 16px;
         height: 16px;
      }

/* ——— aries.html: former inline styles (page-local; aries-inline-NNN map 1:1 to former style attributes) ——— */
.aries-media-hidden { display: none !important; }
.aries-inline-001 { color:rgb(123 143 221); }
.aries-inline-002 { width: min(100%, 600px); margin: 0 auto; background-color: var(--aries-panel-bg, #0a0a0f); color: white; padding: 20px; height: 100vh; overflow-y: auto; }
.aries-inline-003 { margin-bottom: 30px; display: flex; justify-content: space-between; align-items: center; }
.aries-inline-004 { display: block; }
.aries-inline-005 { max-width: min(150px, 40%); }
.aries-inline-006 { background: #666; border-radius:20px; border: none; color: white; font-size: 14px; cursor: pointer; padding: 8px; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; }
.aries-inline-007 { margin-bottom: 40px; }
.aries-inline-008 { display: flex; flex-direction: column; gap: 15px; }
.aries-inline-009 { text-decoration:none; color: #fff; font-size: 14px; margin: 0 0 10px 0; font-weight: 600; }
.aries-inline-010 { height: 0.3px; background-color: #333; margin: 10px 0px; }
.aries-inline-011 { color: #666; font-size: 14px; margin: 20px 0 15px 0; font-weight: 600; }
.aries-inline-012 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 8px; }
.aries-inline-013 {
  color: #999;
  text-decoration: none;
  padding: 4px 8px;
  transition: color 0.3s;
  display: flex;
  align-items: center;
  gap: 8px;
}
.aries-inline-013:hover {
  color: #fff;
}
.aries-inline-014 { width: 16px; }
.aries-inline-015 { height: 0.3px; background-color: #333; margin: 10px 0px; }
.aries-inline-016 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.aries-inline-017 { opacity:1; width:640px; right:calc(50% - 700px + 24px); overflow:visible; }
.aries-inline-018 { position:relative; }
.aries-inline-019 { position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:2; }
.aries-inline-020 { animation: heroScanPulse 4s ease-in-out infinite; }
.aries-inline-021 { animation: heroScanSweep 3s ease-in-out infinite; }
.aries-inline-022 { animation: heroScanSweep 3s ease-in-out 0.5s infinite; }
.aries-inline-023 { animation: heroScanSweep 3s ease-in-out 1s infinite; }
.aries-inline-024 { animation: heroScanPulse 4.5s ease-in-out 1s infinite; }
.aries-inline-025 { animation: heroScanSweep 3.5s ease-in-out infinite; }
.aries-inline-026 { animation: heroScanSweep 3.5s ease-in-out 0.5s infinite; }
.aries-inline-027 { animation: heroScanSweep 3.5s ease-in-out 1s infinite; }
.aries-inline-028 { animation: heroScanPulse 2s ease-in-out infinite; }
.aries-inline-029 { animation: heroScanPulse 2s ease-in-out 0.5s infinite; }
.aries-inline-030 { animation: heroScanPulse 2.5s ease-in-out infinite; }
.aries-inline-031 { animation: heroScanPulse 2.5s ease-in-out 0.5s infinite; }
.aries-inline-032 { animation: heroSpin 6s linear infinite; transform-origin: 110px 175px; }
.aries-inline-033 { animation: heroSpin 7s linear infinite; transform-origin: 490px 230px; }
.aries-inline-034 { position:relative; height:480px; }
.aries-inline-035 { position:absolute; bottom:60px; left:20px; }
.aries-inline-036 { width:160px; mix-blend-mode:screen; opacity:0.9; filter:brightness(1.2); }
.aries-inline-037 { position:absolute; top:-70px; left:70px; animation: droneHover 8s ease-in-out infinite; }
.aries-inline-038 { width:290px; mix-blend-mode:screen; opacity:0.85; transform:rotate(-3deg); filter:brightness(1.3); }
.aries-inline-039 { position:absolute; top:-10px; left:290px; animation: droneHover 9s ease-in-out 1s infinite; }
.aries-inline-040 { width:240px; mix-blend-mode:screen; opacity:0.85; transform:rotate(3deg); filter:brightness(1.3); }
.aries-inline-041 { position:absolute; bottom:60px; right:10px; }
.aries-inline-042 { display:block; }
.aries-inline-043 { position:absolute; top:-110px; left:50%; transform:translateX(-50%); width:175px; mix-blend-mode:screen; opacity:0.9; filter:brightness(1.2); }
.aries-inline-044 { margin-bottom:2rem; }
.aries-inline-045 { margin-bottom:2rem; color:#d1d5db; font-weight:500; }
.aries-inline-046 { font-size:14px; color:#9ca3af; max-width:700px; margin:0 auto; line-height:1.7; }
.aries-inline-047 { margin-bottom:2rem; max-width:none; }
.aries-inline-048 {  color:#d1d5db; line-height:1.8; font-weight:400; margin-bottom:2rem; font-size: 16px; }
.aries-inline-049 { color:#f3f4f6; font-weight:600; }
.aries-inline-050 { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:2rem; }
.aries-inline-051 { padding:1.3rem 1.5rem; border:1px solid rgba(139,92,246,0.1); border-radius:1rem; background:color-mix(in srgb, var(--aries-page-bg, #050507) 70%, transparent); }
.aries-inline-052 { font-size:18px; letter-spacing:0.14em; text-transform:uppercase; color:#9ca3af; font-weight:600; margin-bottom:6px; }
.aries-inline-053 {  color:#d1d5db; line-height:1.7;font-size: 14px !important;   }
.aries-inline-054 { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:2.5rem; margin-top:2.5rem; align-items:stretch; }
.aries-inline-055 { display:flex; flex-direction:column; min-height:0; }
.aries-inline-056 { width:100%; max-width:520px; margin:0 auto; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; flex:1; min-height:540px; }
.aries-inline-057 { width:100%; height:auto; display:block; overflow:visible; }
.aries-inline-058 { display:block; width:200px; height:auto; margin:-40px auto -10px; opacity:0.85; mix-blend-mode:screen; filter:brightness(1.2); }
.aries-inline-059 {
  color: rgba(255, 255, 255, 0.3);
  text-transform: uppercase;
  text-align: center;
  padding-top: 30px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.18em;
  font-family: Inter, sans-serif;
}
.aries-inline-060 { width:100%; max-width:560px; margin:0 auto; position:relative; min-height:540px; flex:1; display:flex; flex-direction:column; justify-content:center; }
.aries-inline-061 { position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:1; transform:translateY(82px); }
.aries-inline-062 { position:relative; min-height:540px; height:100%; width:100%; flex:1; transform:translateY(82px); }
.aries-inline-063 { position:absolute; top:-46px; left:210px; animation: droneHover 8s ease-in-out infinite; }
.aries-inline-064 { width:140px; mix-blend-mode:screen; opacity:0.9; filter:brightness(1.2); }
.aries-inline-065 { position:absolute; top:320px; right:20px; animation: droneHover 9s ease-in-out 1s infinite; }
.aries-inline-066 { width:120px; mix-blend-mode:screen; opacity:0.9; filter:brightness(1.2); }
.aries-inline-067 { position:absolute; top:380px; left:20px; animation: droneHover 7s ease-in-out 0.5s infinite; }
.aries-inline-068 { width:130px; mix-blend-mode:screen; opacity:0.9; filter:brightness(1.2); }
.aries-inline-069 { top:36px; left:275px; }
.aries-inline-070 { top:348px; right:45px; }
.aries-inline-071 { animation-duration:6s; }
.aries-inline-072 { top:372px; left:75px; }
.aries-inline-073 { animation-duration:5.5s; }
.aries-inline-074 { margin-bottom:0.25rem; }
.aries-inline-075 { width:100%; height:100%; border:none; }
.aries-inline-076 { margin-bottom:3rem; }
.aries-inline-077 { padding:6rem 0; }
.aries-inline-078 { font-size:clamp(22px, 3vw, 36px); line-height:1.4; }
.aries-inline-079 { margin-top:1.5rem; font-size:13px; color:#9ca3af; letter-spacing:0.08em; font-weight:500; }
.aries-inline-080 { text-decoration:none; display:inline-block; }
.aries-inline-081 { z-index: 1; }
.aries-inline-082 { max-width: 160px; }

/* Px/clamp utilities under main content only — same +5% as #aries-ecosystem-root (header/footer stay default). */
 
.aries-content-wrapper .aries-inline-078 {
  font-size: clamp(calc(22px * var(--aries-content-fs)), 3vw, calc(36px * var(--aries-content-fs)));
}
.aries-content-wrapper .aries-inline-079 { font-size: calc(13px * var(--aries-content-fs)); }

/* CEO quote shell: overrides legacy aries-inline utilities inside .domains-banner--ceo only */
#aries-ecosystem-root .domains-banner--ceo .domains-banner__ceo-shell h2.aries-inline-078 {
  font-size: clamp(calc(1.28rem * var(--aries-content-fs, 1)), 2.9vw, calc(2.15rem * var(--aries-content-fs, 1)));
  line-height: 1.42;
  font-weight: 500;
  font-style: italic;
}
.aries-content-wrapper #aries-ecosystem-root .domains-banner--ceo .domains-banner__ceo-shell > p.aries-inline-079 {
  font-size: calc(0.95rem * var(--aries-content-fs, 1));
  letter-spacing: 0.08em;
  color: rgba(226, 232, 240, 0.92);
  margin-top: 0;
}
.aries-content-wrapper #aries-ecosystem-root .domains-banner--ceo .domains-banner__ceo-shell > p.aries-inline-045 {
  margin-bottom: 0;
}
.aries-content-wrapper #aries-ecosystem-root .domains-banner--ceo .domains-banner__ceo-shell > p.aries-inline-046 {
  font-size: calc(1.35rem * var(--aries-content-fs, 1));
  max-width: 70rem;
  color: rgba(255, 255, 255, 0.48);
}

/* “What ARIES Is” — copy ~60% left, highlight cards ~40% right (desktop); Aries page only */
#aries-ecosystem-root #what .aries-what-split {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
  margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
}

#aries-ecosystem-root #what .aries-what-split__copy .aries-inline-048:last-child {
  margin-bottom: 0;
}

/* “What ARIES Is” — two highlight cards (beats aries-inline-050/051) */
#aries-ecosystem-root #what .aries-what-split .aries-inline-050 {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2.5vw, 1.75rem);
  align-items: stretch;
}

#aries-ecosystem-root #what .aries-what-split .aries-inline-050 > .aries-inline-051 {
  position: relative;
  padding: clamp(1.4rem, 3.2vw, 2rem) clamp(1.35rem, 3vw, 1.85rem) clamp(1.4rem, 3.2vw, 2rem) clamp(1.35rem, 3vw, 1.85rem);
  padding-left: clamp(1.25rem, 2.8vw, 1.65rem);
  border-radius: 1.125rem;
  border: 1px solid rgba(139, 92, 246, 0.28);
  background: linear-gradient(168deg, rgba(22, 22, 32, 0.96) 0%, rgba(10, 11, 18, 0.92) 55%, rgba(14, 16, 24, 0.94) 100%);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.045) inset,
    0 20px 56px rgba(0, 0, 0, 0.42),
    0 0 48px rgba(139, 92, 246, 0.06);
  overflow: hidden;
  transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}

#aries-ecosystem-root #what .aries-what-split .aries-inline-050 > .aries-inline-051::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 1.125rem 0 0 1.125rem;
  pointer-events: none;
}

#aries-ecosystem-root #what .aries-what-split .aries-inline-050 > .aries-inline-051:nth-child(1)::before {
  background: linear-gradient(180deg, #e879f9 0%, #8B5CF6 45%, #6b21a8 100%);
}

#aries-ecosystem-root #what .aries-what-split .aries-inline-050 > .aries-inline-051:nth-child(2)::before {
  background: linear-gradient(180deg, #38bdf8 0%, #6366f1 50%, #8b5cf6 100%);
}

#aries-ecosystem-root #what .aries-what-split .aries-inline-050 > .aries-inline-051:hover {
  transform: translateY(-3px);
  border-color: rgba(196, 181, 253, 0.45);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 26px 64px rgba(0, 0, 0, 0.48),
    0 0 72px rgba(139, 92, 246, 0.12);
}

#aries-ecosystem-root #what .aries-what-split .aries-inline-050 > .aries-inline-051 > .aries-inline-052 {
  font-size: calc(13px * var(--aries-content-fs, 1));
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.65rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: #d8b4fe;
  background: linear-gradient(90deg, #f5f3ff 0%, #c4b5fd 55%, #a78bfa 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

#aries-ecosystem-root #what .aries-what-split .aries-inline-050 > .aries-inline-051:nth-child(2) > .aries-inline-052 {
  background: linear-gradient(90deg, #e0f2fe 0%, #93c5fd 45%, #a5b4fc 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

#aries-ecosystem-root #what .aries-what-split .aries-inline-050 > .aries-inline-051 > .aries-inline-053 {
  font-size: calc(1.05rem * var(--aries-content-fs, 1));
  line-height: 1.75;
  color: rgba(226, 232, 240, 0.88);
  font-weight: 400;
}

@media (max-width: 960px) {
  #aries-ecosystem-root #what .aries-what-split {
    grid-template-columns: 1fr;
  }
  #aries-ecosystem-root #what .aries-what-split .aries-inline-050 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  #aries-ecosystem-root #what .aries-what-split .aries-inline-050 {
    grid-template-columns: 1fr;
  }
}

/* =============================================================================
   Aries page — mobile / touch (aries.html only; scoped to #aries-ecosystem-root)
   ============================================================================= */
.aries-content-wrapper {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media (max-width: 1199px) {
  #aries-ecosystem-root .hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: auto;
    padding-top: clamp(1.25rem, 4vw, 2.5rem);
    padding-bottom: clamp(2rem, 6vw, 3.5rem);
    overflow-x: clip;
  }
  #aries-ecosystem-root .hero > .container {
    order: 1;
    width: 100%;
    max-width: 100%;
  }
  #aries-ecosystem-root .hero-img {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    order: 2;
    width: 100%;
    max-width: min(100%, 520px);
    margin: clamp(0.75rem, 3vw, 1.5rem) auto 0;
    align-self: center;
  }
  #aries-ecosystem-root .hero-img.aries-inline-017 {
    right: auto;
  }
}

@media (max-width: 991px) {
  #aries-ecosystem-root .hero-tagline {
    max-width: none;
  }
}

@media (max-width: 767px) {
  .aries-content-wrapper {
    --aries-content-fs: 1.08;
  }
  #aries-ecosystem-root .hero-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
  #aries-ecosystem-root .hero-actions .btn-primary,
  #aries-ecosystem-root .hero-actions .btn-ghost {
    width: 100%;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  #aries-ecosystem-root .hero-stat-row {
    flex-direction: column;
    gap: 1.25rem;
    align-items: flex-start;
  }
  #aries-ecosystem-root .domains-banner {
    padding-left: max(12px, env(safe-area-inset-left, 0px));
    padding-right: max(12px, env(safe-area-inset-right, 0px));
  }
  #aries-ecosystem-root .domains-banner__ceo-shell {
    padding-left: max(1rem, env(safe-area-inset-left, 0px));
    padding-right: max(1rem, env(safe-area-inset-right, 0px));
  }
  #aries-ecosystem-root .cta-actions {
    width: 100%;
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
  }
  #aries-ecosystem-root .cta-actions .btn-primary,
  #aries-ecosystem-root .cta-actions .btn-ghost {
    width: 100%;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  #aries-ecosystem-root .dep-scroller {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    gap: 10px;
    padding-bottom: 0.35rem;
  }
  #aries-ecosystem-root .dep-scroller .dep-card {
    flex: 0 0 min(260px, 78vw);
    scroll-snap-align: start;
  }
}

@media (max-width: 640px) {
  #aries-ecosystem-root .fleet-grid-visual.aries-inline-060,
  #aries-ecosystem-root .aries-inline-062 {
    overflow: hidden;
  }
  #aries-ecosystem-root .aries-dual-visual.aries-inline-054 {
    grid-template-columns: 1fr;
    gap: 1.75rem;
    margin-top: 1.5rem;
  }
  #aries-ecosystem-root .aries-inline-034 {
    height: clamp(220px, 62vw, 360px);
  }
  #aries-ecosystem-root .aries-inline-036 {
    width: clamp(72px, 24vw, 130px);
  }
  #aries-ecosystem-root .aries-inline-038 {
    width: clamp(100px, 34vw, 180px);
  }
  #aries-ecosystem-root .aries-inline-040 {
    width: clamp(88px, 30vw, 160px);
  }
  #aries-ecosystem-root .aries-inline-043 {
    width: clamp(72px, 26vw, 120px);
    top: -48px;
  }
  #aries-ecosystem-root .aries-inline-056,
  #aries-ecosystem-root .aries-inline-060,
  #aries-ecosystem-root .aries-inline-062 {
    min-height: 0;
  }
  #aries-ecosystem-root .aries-inline-061,
  #aries-ecosystem-root .aries-inline-062 {
    transform: translateY(0);
  }
  #aries-ecosystem-root .aries-inline-037 {
    left: max(4px, 2vw);
    top: -28px;
  }
  #aries-ecosystem-root .aries-inline-039 {
    left: auto;
    right: max(4px, 2vw);
    top: -4px;
  }
  #aries-ecosystem-root .aries-inline-035 {
    left: max(6px, 2vw);
    bottom: 28px;
  }
  #aries-ecosystem-root .aries-inline-041 {
    right: max(4px, 2vw);
    bottom: 32px;
  }
  #aries-ecosystem-root .aries-inline-063 {
    left: 50%;
    transform: translateX(-50%);
    top: -24px;
  }
  #aries-ecosystem-root .aries-inline-065 {
    right: max(6px, 2vw);
    top: auto;
    bottom: 96px;
  }
  #aries-ecosystem-root .aries-inline-067 {
    left: max(8px, 2vw);
  }
  #aries-ecosystem-root .aries-inline-064,
  #aries-ecosystem-root .aries-inline-066,
  #aries-ecosystem-root .aries-inline-068 {
    width: clamp(70px, 22vw, 110px);
  }
  #aries-ecosystem-root .learn-icon.aries-inline-069 {
    top: 8%;
    left: auto;
    right: 18%;
  }
  #aries-ecosystem-root .learn-icon.aries-inline-070 {
    top: auto;
    bottom: 22%;
    right: 10%;
    left: auto;
  }
  #aries-ecosystem-root .learn-icon.aries-inline-072 {
    top: auto;
    bottom: 14%;
    left: 12%;
    right: auto;
  }
}

@media (max-width: 480px) {
  .aries-content-wrapper {
    --aries-content-fs: 1;
  }
  #aries-ecosystem-root #op-capabilities .section_title {
    font-size: clamp(1.3rem, 6.2vw, 1.75rem);
    line-height: 1.22;
  }
  #aries-ecosystem-root #op-capabilities .blockbg {
    padding-top: clamp(2rem, 7vw, 3rem);
    padding-bottom: clamp(2rem, 7vw, 3rem);
  }
}

