/*
Theme Name: Alola Technologies
Theme URI: https://alolatechs.com/
Author: Alola Technologies
Author URI: https://alolatechs.com/
Description: A premium, performance-focused corporate WordPress theme for Alola Technologies. Built around the Alola brand system with responsive layouts, service/product/case-study content types, accessibility, SEO-friendly markup and no page-builder dependency.
Version: 1.2.8
Requires at least: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: alola-technologies
*/

:root {
  --alola-navy: #0b2854;
  --alola-blue: #0b74d1;
  --alola-sky: #1da9e0;
  --alola-teal: #12aeb1;
  --alola-ink: #12233d;
  --alola-muted: #617089;
  --alola-light: #f4f8fc;
  --alola-white: #ffffff;
  --alola-border: #dfe8f2;
  --alola-radius: 18px;
  --alola-shadow: 0 18px 55px rgba(11,40,84,.10);
  --alola-max: 1200px;
  --alola-header: 82px;
  --alola-transition: 220ms ease;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--alola-ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.7;
  font-size: 16px;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--alola-blue); text-decoration: none; transition: color var(--alola-transition); }
a:hover { color: var(--alola-teal); }
button, input, textarea, select { font: inherit; }
.container { width: min(calc(100% - 40px), var(--alola-max)); margin-inline: auto; }
.screen-reader-text { position:absolute!important; width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 9999; background:#fff; padding:10px 14px; border-radius:8px; transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }

.site-header {
  position: sticky; top: 0; z-index: 1000;
  height: var(--alola-header);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(223,232,242,.8);
}
.header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.site-brand img { width: 188px; max-height: 62px; object-fit: contain; }
.primary-nav ul { display:flex; align-items:center; gap:28px; list-style:none; padding:0; margin:0; }
.primary-nav a { color:var(--alola-ink); font-size:14px; font-weight:700; letter-spacing:.01em; }
.primary-nav a:hover { color:var(--alola-blue); }
.header-cta { display:flex; align-items:center; gap:12px; }
.mobile-toggle { display:none; border:1px solid var(--alola-border); background:#fff; border-radius:10px; padding:9px 12px; cursor:pointer; }

.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:48px; padding:0 22px; border-radius:10px;
  font-weight:800; font-size:14px; border:1px solid transparent;
  cursor:pointer; transition:transform var(--alola-transition), box-shadow var(--alola-transition), background var(--alola-transition);
}
.btn:hover { transform:translateY(-2px); }
.btn-primary { color:#fff; background:linear-gradient(135deg,var(--alola-blue),var(--alola-teal)); box-shadow:0 12px 30px rgba(11,116,209,.20); }
.btn-primary:hover { color:#fff; box-shadow:0 16px 38px rgba(11,116,209,.28); }
.btn-outline { color:var(--alola-navy); background:#fff; border-color:var(--alola-border); }
.btn-outline:hover { color:var(--alola-blue); border-color:#b9d1e8; }

.hero {
  position:relative; overflow:hidden;
  padding:96px 0 82px;
  background:
    radial-gradient(circle at 78% 20%, rgba(29,169,224,.18), transparent 30%),
    radial-gradient(circle at 18% 40%, rgba(18,174,177,.10), transparent 30%),
    linear-gradient(180deg,#fff 0%,#f7fbff 100%);
}
.hero::before {
  content:""; position:absolute; inset:0; opacity:.48; pointer-events:none;
  background-image:linear-gradient(rgba(11,116,209,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(11,116,209,.06) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom, black, transparent 85%);
}
.hero-grid { position:relative; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:70px; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; color:var(--alola-teal); font-size:12px; text-transform:uppercase; letter-spacing:.18em; font-weight:900; }
.eyebrow::before { content:""; width:28px; height:2px; background:var(--alola-teal); }
.hero h1 { margin:18px 0 20px; font-size:clamp(42px,5.4vw,72px); line-height:1.04; letter-spacing:-.045em; color:var(--alola-navy); max-width:760px; }
.hero h1 span { background:linear-gradient(90deg,var(--alola-blue),var(--alola-teal)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero p { margin:0; color:var(--alola-muted); font-size:18px; max-width:650px; }
.hero-actions { display:flex; gap:13px; flex-wrap:wrap; margin-top:32px; }
.hero-proof { display:flex; flex-wrap:wrap; gap:22px; margin-top:34px; color:var(--alola-muted); font-size:13px; }
.hero-proof strong { color:var(--alola-navy); display:block; font-size:20px; }
/* =========================================================
   ENHANCED HERO ECOSYSTEM ANIMATION (All Features Showcase)
   ========================================================= */
.hero-visual {
  position: relative;
  min-height: 560px;
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1000px;
  user-select: none;
}

.hero-ecosystem-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

/* Ambient Radial Glow & Wave Pulses */
.hero-ambient-glow {
  position: absolute;
  width: 440px;
  height: 440px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(14, 165, 233, 0.16) 0%, rgba(18, 174, 177, 0.08) 40%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  animation: ambientGlowPulse 8s ease-in-out infinite alternate;
}

.hero-radar-pulse {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(14, 165, 233, 0.28);
  pointer-events: none;
  z-index: 1;
  animation: radarWave 6s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
}
.hero-radar-pulse.pulse-1 { width: 180px; height: 180px; animation-delay: 0s; }
.hero-radar-pulse.pulse-2 { width: 180px; height: 180px; animation-delay: 2s; }
.hero-radar-pulse.pulse-3 { width: 180px; height: 180px; animation-delay: 4s; }

@keyframes radarWave {
  0% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.9; }
  50% { opacity: 0.45; }
  100% { transform: translate(-50%, -50%) scale(2.8); opacity: 0; }
}
@keyframes ambientGlowPulse {
  0% { transform: translate(-50%, -50%) scale(0.95); opacity: 0.7; }
  100% { transform: translate(-50%, -50%) scale(1.15); opacity: 1; }
}

/* Concentric Orbital Rings */
.hero-orbit-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 2;
}
.ring-outer {
  width: 530px;
  height: 530px;
  border: 1px dashed rgba(11, 116, 209, 0.22);
  animation: orbitRotateClockwise 80s linear infinite;
}
.ring-middle {
  width: 380px;
  height: 380px;
  border: 1px solid rgba(18, 174, 177, 0.18);
  animation: orbitRotateCounter 60s linear infinite;
}
.ring-inner {
  width: 250px;
  height: 250px;
  border: 1px dotted rgba(14, 165, 233, 0.25);
  animation: orbitRotateClockwise 45s linear infinite;
}

@keyframes orbitRotateClockwise {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes orbitRotateCounter {
  from { transform: translate(-50%, -50%) rotate(360deg); }
  to { transform: translate(-50%, -50%) rotate(0deg); }
}

.orbit-marker {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #00d2ff;
  box-shadow: 0 0 10px #00d2ff;
}
.marker-1 { top: -3px; left: 50%; }
.marker-2 { bottom: 15%; right: 10%; }
.marker-3 { top: 60%; left: 0%; }
.marker-4 { top: 20%; right: 5%; }
.marker-5 { bottom: 0%; left: 40%; }

/* Central Core Ecosystem Hub Base */
.hero-core-ecosystem {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* =========================================================
   MODE 1: LUMINOUS FROSTED GLASS CORE (Authentic Brand Colors)
   ========================================================= */
.core-mode-glass {
  width: 172px;
  height: 172px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 25%, #ffffff 0%, rgba(240, 249, 255, 0.95) 50%, rgba(224, 242, 254, 0.82) 100%);
  border: 1.5px solid rgba(14, 165, 233, 0.38);
  box-shadow: 0 20px 50px rgba(11, 40, 84, 0.12), 0 0 35px rgba(0, 210, 255, 0.22), inset 0 2px 4px rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.core-mode-glass:hover {
  transform: translate(-50%, -50%) scale(1.06);
  box-shadow: 0 28px 70px rgba(11, 40, 84, 0.18), 0 0 50px rgba(0, 210, 255, 0.35);
}
.core-mode-glass .core-mark-authentic {
  display: block;
  width: 95px;
  height: auto;
  filter: drop-shadow(0 4px 14px rgba(11, 40, 84, 0.18));
  transition: transform 0.3s ease;
}
.core-mode-glass:hover .core-mark-authentic {
  transform: scale(1.05);
}
.core-mode-glass .core-wordmark-img { display: none; }
.core-mode-glass .core-hex-svg { display: none; }

/* Spinning Conic Neon Laser Rim */
.core-conic-rim {
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 0%, #00d2ff 25%, #12aeb1 50%, transparent 75%);
  animation: conicSpin 7s linear infinite;
  pointer-events: none;
  -webkit-mask: radial-gradient(circle, transparent 67%, black 69%);
  mask: radial-gradient(circle, transparent 67%, black 69%);
}
@keyframes conicSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* =========================================================
   MODE 2: 3D HOLOGRAPHIC GLOBE CORE
   ========================================================= */
.core-mode-globe {
  width: 178px;
  height: 178px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, rgba(7, 29, 61, 0.88) 0%, rgba(11, 53, 107, 0.72) 65%, rgba(2, 132, 199, 0.45) 100%);
  border: 1.5px solid rgba(0, 240, 255, 0.55);
  box-shadow: 0 24px 60px rgba(2, 6, 23, 0.4), 0 0 45px rgba(0, 210, 255, 0.35), inset 0 0 25px rgba(0, 240, 255, 0.25);
  backdrop-filter: blur(16px);
}
.core-mode-globe:hover {
  transform: translate(-50%, -50%) scale(1.06);
  box-shadow: 0 30px 80px rgba(2, 6, 23, 0.5), 0 0 60px rgba(0, 210, 255, 0.5);
}
.core-mode-globe .core-mark-authentic {
  display: block;
  width: 86px;
  height: auto;
  filter: brightness(1.25) drop-shadow(0 0 16px rgba(0, 240, 255, 0.85));
}
.core-mode-globe .core-wordmark-img { display: none; }
.core-mode-globe .core-hex-svg { display: none; }
.core-mode-globe .core-conic-rim {
  border-radius: 50%;
  inset: -8px;
  background: conic-gradient(from 180deg, transparent 0%, #00ffaa 30%, #00d2ff 60%, transparent 85%);
  animation: conicSpin 5s linear infinite;
  -webkit-mask: radial-gradient(circle, transparent 67%, black 69%);
  mask: radial-gradient(circle, transparent 67%, black 69%);
}

/* =========================================================
   COMBINED MODE (3 + 4): QUANTUM BRAND HEXAGON (Default)
   ========================================================= */
.core-mode-quantum-hex {
  width: 224px;
  height: 160px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  border: none;
}
.core-mode-quantum-hex:hover {
  transform: translate(-50%, -50%) scale(1.06);
}
.core-mode-quantum-hex .core-hex-svg {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  filter: drop-shadow(0 18px 45px rgba(2, 6, 23, 0.45));
}
.core-mode-quantum-hex .hex-track {
  fill: #071933;
  stroke: rgba(0, 210, 255, 0.5);
  stroke-width: 1.8;
}
.core-mode-quantum-hex .hex-pulse {
  fill: none;
  stroke: #00ffff;
  stroke-width: 2.5;
  stroke-dasharray: 60 220;
  animation: hexDash 4s linear infinite;
  filter: drop-shadow(0 0 10px #00ffff);
}
.core-mode-quantum-hex .hex-terminal {
  fill: #00ffff;
  filter: drop-shadow(0 0 6px #00ffff);
  animation: liveBlink 1.8s infinite ease-in-out;
}
.core-mode-quantum-hex .core-mark-authentic {
  display: block;
  width: 66px;
  height: auto;
  margin-bottom: 6px;
  filter: drop-shadow(0 2px 14px rgba(0, 210, 255, 0.65));
  z-index: 3;
  transition: transform 0.3s ease;
}
.core-mode-quantum-hex:hover .core-mark-authentic {
  transform: scale(1.08);
}
.core-mode-quantum-hex .core-quantum-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 3;
}
.core-quantum-brand .q-brand-name {
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.22em;
  color: #ffffff;
  line-height: 1;
  text-shadow: 0 2px 12px rgba(0, 210, 255, 0.5);
}
.core-quantum-brand .q-brand-sub {
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.3em;
  color: #38bdf8;
  text-transform: uppercase;
  margin-top: 4px;
  line-height: 1;
}
.core-mode-quantum-hex .core-wordmark-img { display: none; }
.core-mode-quantum-hex .core-conic-rim { display: none; }

/* Hide core-quantum-brand in other modes */
.core-mode-glass .core-quantum-brand,
.core-mode-globe .core-quantum-brand,
.core-mode-hex .core-quantum-brand,
.core-mode-wordmark .core-quantum-brand {
  display: none;
}

/* =========================================================
   MODE 3: QUANTUM HEXAGONAL MICROCHIP CORE
   ========================================================= */
.core-mode-hex {
  width: 172px;
  height: 172px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  border: none;
}
.core-mode-hex:hover {
  transform: translate(-50%, -50%) scale(1.06);
}
.core-hex-svg {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.core-mode-hex .core-hex-svg {
  display: block;
}
.hex-track {
  fill: rgba(7, 29, 61, 0.92);
  stroke: rgba(0, 210, 255, 0.5);
  stroke-width: 2;
  filter: drop-shadow(0 14px 30px rgba(7, 29, 61, 0.35));
}
.hex-pulse {
  fill: none;
  stroke: #00ffff;
  stroke-width: 2.5;
  stroke-dasharray: 40 180;
  animation: hexDash 4s linear infinite;
}
@keyframes hexDash {
  to { stroke-dashoffset: -220; }
}
.core-mode-hex .core-mark-authentic {
  display: block;
  width: 80px;
  height: auto;
  filter: brightness(1.2) drop-shadow(0 0 16px rgba(0, 210, 255, 0.75));
  z-index: 2;
}
.core-mode-hex .core-wordmark-img { display: none; }
.core-mode-hex .core-conic-rim { display: none; }

/* =========================================================
   MODE 4: FULL OFFICIAL WORDMARK BADGE
   ========================================================= */
.core-mode-wordmark {
  width: 240px;
  height: 115px;
  border-radius: 30px;
  background: radial-gradient(circle at 50% 30%, #ffffff 0%, rgba(240, 249, 255, 0.96) 65%, rgba(219, 239, 254, 0.88) 100%);
  border: 1.5px solid rgba(14, 165, 233, 0.38);
  box-shadow: 0 20px 50px rgba(11, 40, 84, 0.12), 0 0 35px rgba(0, 210, 255, 0.18), inset 0 1px 3px rgba(255, 255, 255, 0.9);
  padding: 14px 20px;
}
.core-mode-wordmark:hover {
  transform: translate(-50%, -50%) scale(1.05);
  box-shadow: 0 26px 65px rgba(11, 40, 84, 0.18), 0 0 45px rgba(0, 210, 255, 0.28);
}
.core-mode-wordmark .core-mark-authentic { display: none; }
.core-mode-wordmark .core-hex-svg { display: none; }
.core-mode-wordmark .core-conic-rim { display: none; }
.core-mode-wordmark .core-wordmark-img {
  display: block;
  width: 185px;
  height: auto;
  max-height: 65px;
  object-fit: contain;
  filter: drop-shadow(0 2px 8px rgba(11, 40, 84, 0.12));
}

/* Core Status Pill */
.core-live-status {
  position: absolute;
  bottom: -13px;
  background: rgba(2, 6, 23, 0.92);
  border: 1px solid rgba(0, 210, 255, 0.45);
  backdrop-filter: blur(8px);
  padding: 3px 10px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-weight: 800;
  color: #38bdf8;
  letter-spacing: 0.08em;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  white-space: nowrap;
  z-index: 6;
}
.status-pulse-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #00ffaa;
  box-shadow: 0 0 8px #00ffaa;
  animation: liveBlink 1.4s infinite ease-in-out;
}

/* Switcher Bar */
.core-switcher-bar {
  position: absolute;
  bottom: -46px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(14, 165, 233, 0.28);
  border-radius: 999px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 8px 24px rgba(11, 40, 84, 0.08);
  z-index: 20;
  white-space: nowrap;
}
.switcher-label {
  font-size: 10.5px;
  font-weight: 800;
  color: #0284c7;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-right: 2px;
}
.core-switch-btn {
  background: rgba(241, 245, 249, 0.9);
  border: 1px solid rgba(148, 163, 184, 0.25);
  color: #334155;
  padding: 4px 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}
.core-switch-btn:hover {
  background: #e0f2fe;
  color: #0284c7;
  border-color: #0284c7;
}
.core-switch-btn.active {
  background: linear-gradient(135deg, #0284c7 0%, #0b74d1 100%);
  color: #ffffff;
  border-color: #0284c7;
  box-shadow: 0 2px 10px rgba(2, 132, 199, 0.35);
}
@media (max-width: 768px) {
  .core-switcher-bar { bottom: -52px; padding: 4px 8px; gap: 4px; }
  .switcher-label { display: none; }
  .core-switch-btn { padding: 3px 8px; font-size: 10px; }
}
.status-pulse-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #00ffaa;
  box-shadow: 0 0 8px #00ffaa;
  animation: liveBlink 1.4s infinite ease-in-out;
}

/* Feature Nodes (8 Core Pillars) */
.feature-node {
  position: absolute;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 10px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.90);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(14, 165, 233, 0.22);
  box-shadow: 0 8px 24px rgba(11, 40, 84, 0.07), 0 1px 3px rgba(0, 0, 0, 0.04);
  text-decoration: none;
  color: inherit;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease, background 0.25s ease;
  cursor: pointer;
  max-width: 195px;
}
.feature-node:hover {
  transform: translateY(-6px) scale(1.05) !important;
  border-color: #0284c7;
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(2, 132, 199, 0.22), 0 0 18px rgba(0, 210, 255, 0.25);
  text-decoration: none;
}
.feature-node:focus-visible {
  outline: 2px solid #0284c7;
  outline-offset: 2px;
}

.node-icon-wrap {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}
.feature-node:hover .node-icon-wrap {
  transform: scale(1.12) rotate(-4deg);
}

.icon-cyan { background: linear-gradient(135deg, rgba(6, 182, 212, 0.15), rgba(6, 182, 212, 0.28)); color: #0891b2; }
.icon-blue { background: linear-gradient(135deg, rgba(14, 165, 233, 0.15), rgba(14, 165, 233, 0.28)); color: #0284c7; }
.icon-emerald { background: linear-gradient(135deg, rgba(16, 185, 129, 0.15), rgba(16, 185, 129, 0.28)); color: #059669; }
.icon-purple { background: linear-gradient(135deg, rgba(147, 51, 234, 0.15), rgba(147, 51, 234, 0.28)); color: #7c3aed; }
.icon-sky { background: linear-gradient(135deg, rgba(2, 132, 199, 0.15), rgba(2, 132, 199, 0.28)); color: #0369a1; }
.icon-rose { background: linear-gradient(135deg, rgba(244, 63, 94, 0.15), rgba(244, 63, 94, 0.28)); color: #e11d48; }
.icon-amber { background: linear-gradient(135deg, rgba(245, 158, 11, 0.15), rgba(245, 158, 11, 0.28)); color: #d97706; }
.icon-indigo { background: linear-gradient(135deg, rgba(99, 102, 241, 0.15), rgba(99, 102, 241, 0.28)); color: #4f46e5; }

.node-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.node-title {
  font-size: 12.5px;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.node-sub {
  font-size: 10px;
  font-weight: 600;
  color: #64748b;
  line-height: 1.25;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.node-glow-pip {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(14, 165, 233, 0.5);
  transition: all 0.25s ease;
}
[dir="rtl"] .node-glow-pip {
  right: auto;
  left: 7px;
}
.feature-node:hover .node-glow-pip {
  background: #00d2ff;
  box-shadow: 0 0 8px #00d2ff;
  transform: scale(1.4);
}

/* Individual Node Constellation Positions */
.node-ai { top: 3%; left: 8%; }
.node-cloud { top: 2%; right: 6%; }
.node-security { top: 24%; left: -3%; }
.node-software { top: 23%; right: -2%; }
.node-fleet { bottom: 22%; right: -2%; }
.node-cati { bottom: 23%; left: -2%; }
.node-digital { bottom: 2%; left: 8%; }
.node-consulting { bottom: 2%; right: 7%; }

/* Gentle Organic Floating Cycles */
.floating-node-1 { animation: floatA 5.4s ease-in-out infinite alternate; }
.floating-node-2 { animation: floatB 6.1s ease-in-out infinite alternate; }
.floating-node-3 { animation: floatC 4.9s ease-in-out infinite alternate; }
.floating-node-4 { animation: floatD 5.7s ease-in-out infinite alternate; }
.floating-node-5 { animation: floatA 5.2s ease-in-out infinite alternate 0.8s; }
.floating-node-6 { animation: floatB 6.4s ease-in-out infinite alternate 0.5s; }
.floating-node-7 { animation: floatC 5.0s ease-in-out infinite alternate 1.2s; }
.floating-node-8 { animation: floatD 5.9s ease-in-out infinite alternate 0.4s; }

@keyframes floatA {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-7px) rotate(0.8deg); }
  100% { transform: translateY(4px) rotate(-0.5deg); }
}
@keyframes floatB {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(6px) rotate(-0.7deg); }
  100% { transform: translateY(-8px) rotate(0.6deg); }
}
@keyframes floatC {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(-0.6deg); }
  100% { transform: translateY(5px) rotate(0.8deg); }
}
@keyframes floatD {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(7px) rotate(0.7deg); }
  100% { transform: translateY(-6px) rotate(-0.5deg); }
}

@media (max-width: 1020px) {
  .hero-visual { min-height: 520px; }
  .feature-node { padding: 7px 11px 7px 8px; max-width: 165px; }
  .node-security { left: 0%; }
  .node-software { right: 0%; }
  .node-cati { left: 0%; }
  .node-fleet { right: 0%; }
  .ring-outer { width: 460px; height: 460px; }
  .ring-middle { width: 340px; height: 340px; }
}

@media (max-width: 768px) {
  .hero-visual { min-height: 480px; width: 100%; }
  .hero-core-ecosystem { width: 130px; height: 130px; border-radius: 30px; }
  .core-mode-wordmark { width: 195px; height: 96px; border-radius: 24px; padding: 10px 14px; }
  .core-mode-wordmark .core-wordmark-img { width: 145px; max-height: 52px; }
  .core-mode-quantum-hex { width: 185px; height: 130px; }
  .core-mode-quantum-hex .core-mark-authentic { width: 50px; margin-bottom: 3px; }
  .core-quantum-brand .q-brand-name { font-size: 12.5px; }
  .core-quantum-brand .q-brand-sub { font-size: 7px; }
  .core-logo-mark { width: 75px; }
  .feature-node { padding: 6px 10px 6px 8px; max-width: 150px; }
  .node-icon-wrap { width: 28px; height: 28px; }
  .node-icon-wrap svg { width: 16px; height: 16px; }
  .node-title { font-size: 11px; }
  .node-sub { font-size: 9px; }
  .ring-outer { width: 380px; height: 380px; }
  .ring-middle { width: 280px; height: 280px; }
}

@media (max-width: 480px) {
  .hero-visual { min-height: 440px; }
  .node-sub { display: none; }
  .core-mode-wordmark { width: 165px; height: 84px; border-radius: 20px; padding: 8px 10px; }
  .core-mode-wordmark .core-wordmark-img { width: 125px; max-height: 44px; }
  .core-mode-quantum-hex { width: 155px; height: 112px; }
  .core-mode-quantum-hex .core-mark-authentic { width: 42px; margin-bottom: 2px; }
  .core-quantum-brand .q-brand-name { font-size: 11px; }
  .core-quantum-brand .q-brand-sub { font-size: 6.5px; }
  .feature-node { padding: 5px 8px; max-width: 125px; }
  .node-title { font-size: 10.5px; }
  .hero-core-ecosystem { width: 110px; height: 110px; }
  .core-logo-mark { width: 62px; }
  .core-live-status { font-size: 8.5px; padding: 2px 8px; bottom: -10px; }
}

.section { padding:92px 0; }
.section-light { background:var(--alola-light); }
.section-dark { background:linear-gradient(135deg,#071d3d,#0b356b); color:#fff; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:44px; }
.section-head h2 { margin:0; color:var(--alola-navy); font-size:clamp(32px,4vw,48px); line-height:1.12; letter-spacing:-.03em; }
.section-dark .section-head h2 { color:#fff; }
.section-head p { margin:10px 0 0; color:var(--alola-muted); max-width:650px; }
.section-dark .section-head p { color:rgba(255,255,255,.72); }
.kicker { color:var(--alola-teal); text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:900; margin-bottom:10px; }

.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.card {
  position:relative;
  background:#fff; border:1px solid var(--alola-border); border-radius:var(--alola-radius);
  padding:30px; box-shadow:0 10px 35px rgba(11,40,84,.05);
  transition:transform var(--alola-transition),box-shadow var(--alola-transition),border-color var(--alola-transition);
}
.card:hover { transform:translateY(-5px); box-shadow:var(--alola-shadow); border-color:var(--alola-blue); }
.icon-box { width:56px; height:56px; border-radius:15px; display:grid; place-items:center; color:var(--alola-blue); background:linear-gradient(135deg,rgba(11,116,209,.10),rgba(18,174,177,.12)); font-weight:900; margin-bottom:22px; }
.card h3 { margin:0 0 10px; font-size:20px; color:var(--alola-navy); }
.card p { color:var(--alola-muted); margin:0 0 18px; }
.text-link { font-weight:800; font-size:14px; display:inline-flex; align-items:center; gap:5px; }
.card .text-link::after { content:""; position:absolute; inset:0; z-index:1; }
.card:hover .text-link span { transform:translateX(4px); transition:transform 0.3s ease; }
html[dir="rtl"] .card:hover .text-link span { transform:translateX(-4px); }

.services-marquee {
  overflow: hidden;
  position: relative;
  margin: 0 calc(-50vw + 50%);
  padding: 20px 0 40px;
  -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}
.services-track {
  display: flex;
  gap: 22px;
  width: max-content;
  animation: slideMarquee 40s linear infinite;
  padding-left: 22px;
}
.services-marquee:hover .services-track,
.services-marquee:focus-within .services-track {
  animation-play-state: paused;
}
.services-track .card {
  width: 360px;
  flex-shrink: 0;
}
@keyframes slideMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-50% - 11px)); }
}
html[dir="rtl"] .services-track {
  animation-name: slideMarqueeRTL;
  padding-left: 0;
  padding-right: 22px;
}
@keyframes slideMarqueeRTL {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(50% + 11px)); }
}

.split { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.split h2 { color:var(--alola-navy); font-size:clamp(32px,4vw,48px); line-height:1.12; letter-spacing:-.03em; margin:0 0 18px; }
.split p { color:var(--alola-muted); }
.check-list { list-style:none; padding:0; margin:24px 0 0; display:grid; gap:13px; }
.check-list li { display:flex; gap:12px; align-items:flex-start; }
.check-list li::before { content:"✓"; flex:0 0 24px; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,var(--alola-blue),var(--alola-teal)); font-size:12px; font-weight:900; }
.visual-panel { min-height:390px; border-radius:28px; background:linear-gradient(145deg,#071d3d,#0b74d1); position:relative; overflow:hidden; box-shadow:0 30px 80px rgba(11,40,84,.22); }
.visual-panel::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:36px 36px; opacity:.45; }
.visual-card { position:absolute; left:10%; right:10%; top:14%; bottom:14%; background:rgba(255,255,255,.96); border-radius:22px; padding:28px; box-shadow:0 25px 60px rgba(0,0,0,.18); }
.visual-card .bar { height:10px; border-radius:8px; background:#e6eef7; margin-bottom:14px; }
.visual-card .bar.small { width:55%; }
.visual-stat { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:25px; }
.visual-stat div { padding:18px 12px; border:1px solid var(--alola-border); border-radius:14px; }
.visual-stat strong { display:block; color:var(--alola-navy); font-size:22px; }

.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.12); border-radius:20px; overflow:hidden; }
.stat { padding:32px; background:rgba(255,255,255,.04); }
.stat strong { display:block; font-size:40px; line-height:1; color:#fff; }
.stat span { display:block; margin-top:10px; color:rgba(255,255,255,.68); font-size:13px; }

.case-grid { display:grid; grid-template-columns:1.4fr .8fr; gap:22px; }
.case-card { min-height:310px; border-radius:22px; padding:30px; color:#fff; background:linear-gradient(145deg,#0b2854,#0b74d1); position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:end; }
.case-card:nth-child(2){background:linear-gradient(145deg,#083b5c,#12aeb1)}
.case-card::after { content:""; position:absolute; width:250px;height:250px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-70px;top:-80px; }
.case-card h3 { margin:0 0 8px; font-size:27px; position:relative; z-index:1; }
.case-card p { margin:0; color:rgba(255,255,255,.76); position:relative; z-index:1; }

.cta { border-radius:28px; padding:55px; background:linear-gradient(120deg,var(--alola-navy),#0b74d1 65%,var(--alola-teal)); color:#fff; position:relative; overflow:hidden; }
.cta::after { content:""; position:absolute; width:360px;height:360px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-110px;top:-150px; }
.cta h2 { color:#fff; margin:0 0 12px; font-size:clamp(30px,4vw,44px); line-height:1.12; }
.cta p { color:rgba(255,255,255,.78); max-width:650px; margin:0 0 25px; }
.cta .btn-outline { background:transparent; color:#fff; border-color:rgba(255,255,255,.45); }

.page-hero { padding:70px 0 65px; background:linear-gradient(180deg,#f5faff,#fff); border-bottom:1px solid var(--alola-border); }
.page-hero-inner { display:flex; align-items:flex-start; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.page-hero-text { flex:1 1 500px; }
.page-hero-action { flex-shrink:0; margin-top:6px; }
.back-nav-btn { display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:14px; padding:10px 18px; border-radius:10px; border:1px solid var(--alola-border); background:#fff; color:var(--alola-navy); transition:all var(--alola-transition); }
.back-nav-btn:hover { transform:translateX(-3px); color:var(--alola-blue); border-color:var(--alola-blue); box-shadow:0 6px 18px rgba(11,116,209,.12); }
html[lang="ar"] .back-nav-btn:hover { transform:translateX(3px); }
.page-hero h1 { margin:12px 0 10px; color:var(--alola-navy); font-size:clamp(38px,5vw,60px); line-height:1.08; letter-spacing:-.04em; }
.page-hero p { margin:0; max-width:750px; color:var(--alola-muted); font-size:18px; }

.entry-content { max-width:850px; margin:0 auto; padding:70px 0; }
.entry-content h2,.entry-content h3 { color:var(--alola-navy); line-height:1.2; }
.entry-content p,.entry-content li { color:#52647d; }
.entry-content img { border-radius:18px; }
.entry-content blockquote { border-left:4px solid var(--alola-teal); margin:30px 0; padding:5px 25px; color:var(--alola-navy); font-size:20px; }

.archive-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.post-card {
  border: 1px solid var(--alola-border);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease;
  will-change: transform;
}
.post-card:hover {
  transform: translateY(-8px);
  border-color: rgba(11,116,209,.4);
  box-shadow: 0 20px 48px rgba(11,40,84,.14), 0 0 24px rgba(29,169,224,.12);
}
.post-card-thumb {
  aspect-ratio: 16/9;
  background: linear-gradient(135deg,#0b2854,#0b74d1);
  display: grid;
  place-items: center;
  overflow: hidden;
  position: relative;
}
.post-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1), filter 0.65s ease;
}
.post-card:hover .post-card-thumb img {
  transform: scale(1.08);
  filter: brightness(1.08) contrast(1.04) saturate(1.1);
}
.post-card-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,.22) 45%, rgba(255,255,255,.45) 50%, rgba(255,255,255,.22) 55%, transparent 80%);
  transform: translateX(-120%);
  transition: transform 0.75s ease;
  pointer-events: none;
}
.post-card:hover .post-card-thumb::after {
  transform: translateX(120%);
}
.post-card-body { padding:24px; }
.post-meta { font-size:12px; color:var(--alola-teal); font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.post-card h2,.post-card h3 { margin:8px 0; font-size:21px; line-height:1.25; color:var(--alola-navy); }
.post-card p { color:var(--alola-muted); margin:0; }

.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; }
.contact-list { display:grid; gap:18px; margin-top:25px; }
.contact-item { display:flex; gap:14px; align-items:flex-start; }
.contact-item .icon-box { flex:0 0 46px; width:46px;height:46px;margin:0;border-radius:12px; }
.contact-item strong { display:block;color:var(--alola-navy); }
.contact-item span,.contact-item a { color:var(--alola-muted); }
.form-card { border:1px solid var(--alola-border); border-radius:22px; padding:32px; box-shadow:var(--alola-shadow); }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.field { margin-bottom:16px; }
.field label { display:block; font-weight:800; color:var(--alola-navy); font-size:13px; margin-bottom:7px; }
.field input,.field textarea,.field select { width:100%; border:1px solid var(--alola-border); border-radius:10px; padding:13px 14px; outline:none; background:#fff; }
.field textarea { min-height:150px; resize:vertical; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--alola-blue); box-shadow:0 0 0 3px rgba(11,116,209,.10); }

.site-footer { background:#071d3d; color:#fff; padding:65px 0 25px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:45px; }
.footer-brand img { width:220px; filter:brightness(0) invert(1); margin-bottom:18px; }
.footer-brand p { color:rgba(255,255,255,.62); max-width:390px; }
.site-footer h3 { color:#fff; font-size:14px; margin:0 0 15px; text-transform:uppercase; letter-spacing:.12em; }
.site-footer ul { list-style:none; padding:0;margin:0;display:grid;gap:10px; }
.site-footer a { color:rgba(255,255,255,.68); }
.site-footer a:hover { color:#fff; }
.footer-bottom { margin-top:45px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; gap:20px; color:rgba(255,255,255,.5); font-size:12px; }

.pagination { margin-top:40px; display:flex; justify-content:center; gap:8px; }
.pagination .page-numbers { border:1px solid var(--alola-border); padding:8px 12px; border-radius:8px; }
.pagination .current { background:var(--alola-blue);color:#fff;border-color:var(--alola-blue); }

@media (max-width: 1020px) {
  .primary-nav { display:none; }
  .mobile-toggle { display:block; }
  .header-cta { margin-left:auto; }
  .hero-grid,.split,.contact-grid { grid-template-columns:1fr; }
  .hero-visual { min-height:390px; }
  .cards,.archive-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
}
@media (max-width: 720px) {
  :root { --alola-header:72px; }
  .container { width:min(calc(100% - 28px),var(--alola-max)); }
  .site-brand img { width:155px; }
  .header-cta { display:none; }
  .mobile-toggle { display:block; }
  .primary-nav.mobile-open { display:block; position:absolute; top:var(--alola-header);left:0;right:0;background:#fff;border-bottom:1px solid var(--alola-border);padding:18px 20px;box-shadow:0 20px 40px rgba(11,40,84,.10); }
  .primary-nav.mobile-open ul { display:grid;gap:0; }
  .primary-nav.mobile-open li { padding:10px 0; border-bottom:1px solid #eef3f8; }
  .primary-nav.mobile-open li.current-menu-item { background: rgba(14, 165, 233, 0.08); border-radius: 8px; padding-inline: 12px; }
  .hero { padding:62px 0; }
  .hero h1 { font-size:43px; }
  .hero p { font-size:16px; }
  .hero-visual { min-height:300px; }
  .hero-orbit { width:280px;height:280px;right:50%;transform:translateX(50%); }
  .hero-core { width:140px;height:140px;border-radius:30px; }
  .hero-core img { width:105px; }
  .tech-node { width:58px;height:58px;border-radius:16px;font-size:12px; }
  .node-1{left:0}.node-2{right:0}.node-3{left:3%}.node-4{right:5%}
  .section { padding:65px 0; }
  .section-head { display:block; }
  .cards,.archive-grid,.stats,.form-grid { grid-template-columns:1fr; }
  .case-grid { grid-template-columns:1fr; }
  .cta { padding:32px 25px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-bottom { display:block; }
  .footer-bottom > * { margin-top:8px; }
}


/* =========================================================
   ALOLA MOTION SYSTEM
   Subtle, premium motion: reveal, hover, orbit, glow,
   magnetic buttons, scroll progress and responsive motion.
   ========================================================= */

body { overflow-x:hidden; }
.site-header-modern { transition:height .35s ease, background .35s ease, box-shadow .35s ease; }
.site-header-modern.scrolled { --alola-header:68px; box-shadow:0 12px 35px rgba(11,40,84,.08); background:rgba(255,255,255,.97); }
.site-header-modern.scrolled .site-brand img { width:165px; }
.header-progress { position:absolute; left:0; bottom:-1px; width:100%; height:2px; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,var(--alola-blue),var(--alola-teal)); }

.brand-reveal { opacity:0; transform:translateY(-8px); animation:brandIn .75s .1s forwards cubic-bezier(.2,.75,.2,1); }
.primary-nav li { opacity:0; transform:translateY(-7px); animation:navIn .55s forwards cubic-bezier(.2,.75,.2,1); }
.primary-nav li:nth-child(1){animation-delay:.18s}.primary-nav li:nth-child(2){animation-delay:.23s}.primary-nav li:nth-child(3){animation-delay:.28s}.primary-nav li:nth-child(4){animation-delay:.33s}.primary-nav li:nth-child(5){animation-delay:.38s}.primary-nav li:nth-child(6){animation-delay:.43s}
.primary-nav a { position:relative; transition: color .25s ease; }
.primary-nav a::after { content:""; position:absolute; left:0; bottom:-6px; width:100%; height:3px; border-radius:999px; background:linear-gradient(90deg,var(--alola-blue, #0284c7),var(--alola-teal, #14b8a6)); transform:scaleX(0); transform-origin:right; transition:transform .3s ease, opacity .3s ease; opacity: 0; }
.primary-nav a:hover::after,
.primary-nav li.current-menu-item > a::after,
.primary-nav li.is-active > a::after,
.primary-nav a.is-active::after { 
  transform:scaleX(1) !important; 
  transform-origin:left !important; 
  opacity: 1 !important; 
  box-shadow: 0 0 10px rgba(14, 165, 233, 0.45); 
}

/* Active Nav Link Typography & Highlight */
.primary-nav li.current-menu-item > a,
.primary-nav li.is-active > a,
.primary-nav a.is-active {
  color: var(--primary, #0284c7) !important;
  font-weight: 800 !important;
}

html[data-theme="dark"] .primary-nav li.current-menu-item > a,
html[data-theme="dark"] .primary-nav li.is-active > a,
html[data-theme="dark"] .primary-nav a.is-active {
  color: #38bdf8 !important;
}

html[data-theme="dark"] .primary-nav li.current-menu-item > a::after,
html[data-theme="dark"] .primary-nav li.is-active > a::after,
html[data-theme="dark"] .primary-nav a.is-active::after {
  background: linear-gradient(90deg, #38bdf8, #2dd4bf) !important;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.6) !important;
}

.mobile-toggle span { display:block; width:20px;height:2px;background:var(--alola-navy);margin:4px 0;transition:.25s ease; }
.mobile-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mobile-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.hero-animated { min-height:650px; isolation:isolate; }
.hero-particles { position:absolute; inset:0; pointer-events:none; overflow:hidden; opacity:.65; }
.hero-particles::before,.hero-particles::after { content:""; position:absolute; width:5px;height:5px;border-radius:50%;background:var(--alola-teal); box-shadow:
  14vw 12vh 0 rgba(11,116,209,.45), 27vw 67vh 0 rgba(18,174,177,.35),
  42vw 25vh 0 rgba(11,116,209,.30), 59vw 76vh 0 rgba(29,169,224,.35),
  75vw 20vh 0 rgba(18,174,177,.30), 88vw 62vh 0 rgba(11,116,209,.35),
  93vw 36vh 0 rgba(18,174,177,.28), 68vw 46vh 0 rgba(11,116,209,.28);
  animation:particleDrift 14s linear infinite;
}
.hero-particles::after { transform:scale(.65); animation-duration:19s; animation-direction:reverse; opacity:.55; }
.hero-scanline { position:absolute; left:0; right:0; top:-20%; height:30%; pointer-events:none; background:linear-gradient(180deg,transparent,rgba(29,169,224,.055),transparent); animation:scan 9s ease-in-out infinite; }

.gradient-text { background:linear-gradient(90deg,var(--alola-blue),var(--alola-teal),var(--alola-blue)); background-size:200% auto; -webkit-background-clip:text;background-clip:text;color:transparent;animation:gradientMove 5s linear infinite; }
.hero-copy { position:relative;z-index:2; }
.reveal { opacity:0; transform:translateY(35px); transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1); transition-delay:var(--delay,0ms); }
.reveal.revealed { opacity:1; transform:none; }
.reveal-left { transform:translateX(-40px); }
.reveal-right { transform:translateX(40px); }
.reveal-scale { transform:scale(.88); }
.reveal.revealed.reveal-left,.reveal.revealed.reveal-right { transform:none; }
.reveal.revealed.reveal-scale { transform:scale(1); }

.hero-visual { transform-style:preserve-3d; }

.btn { position:relative; overflow:hidden; }
.btn::before { content:""; position:absolute; inset:0; transform:translateX(-110%) skewX(-18deg); background:rgba(255,255,255,.18); transition:transform .55s ease; }
.btn:hover::before { transform:translateX(110%) skewX(-18deg); }
.btn span { transition:transform .25s ease; display:inline-block; }
.btn:hover span { transform:translate(3px,-2px); }

.card,.product-card,.team-card,.case-card { will-change:transform; }
.service-card { position:relative; overflow:hidden; }
.service-card::before { content:"";position:absolute;right:-55px;top:-55px;width:140px;height:140px;border-radius:50%;border:1px solid rgba(11,116,209,.08);transition:transform .5s ease,background .5s ease; }
.service-card:hover::before { transform:scale(2.1);background:rgba(29,169,224,.035); }
.card-number { position:absolute; right:22px; top:20px; font-size:12px;font-weight:900;color:#9bb1c9;letter-spacing:.08em; }
.service-card .icon-box { transition:transform .35s ease,box-shadow .35s ease; }
.service-card:hover .icon-box { transform:rotate(-5deg) scale(1.08);box-shadow:0 12px 25px rgba(11,116,209,.14); }
.text-link span { display:inline-block;transition:transform .25s ease; }
.text-link:hover span { transform:translateX(5px); }

.visual-panel-animated { min-height:420px; }
.visual-grid { position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:34px 34px;animation:gridMove 12s linear infinite; }
.dashboard-float { animation:dashboardFloat 5s ease-in-out infinite; }
.dashboard-top { display:flex;gap:6px;margin-bottom:20px; }
.dashboard-top span { width:8px;height:8px;border-radius:50%;background:#dbe7f2; }
.mini-chart { height:55px;margin-top:22px;display:flex;align-items:end;gap:8px;padding:0 6px;border-bottom:1px solid #e1eaf3; }
.mini-chart i { flex:1;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--alola-sky),var(--alola-blue));animation:chartPulse 1.8s ease-in-out infinite alternate; clip-path:inset(100% 0 0 0); transition:clip-path 0.6s cubic-bezier(.2,.75,.2,1); }
.mini-chart i:nth-child(1){height:25%; transition-delay:0.9s;}
.mini-chart i:nth-child(2){height:45%;animation-delay:.15s; transition-delay:1.0s;}
.mini-chart i:nth-child(3){height:35%;animation-delay:.3s; transition-delay:1.1s;}
.mini-chart i:nth-child(4){height:70%;animation-delay:.45s; transition-delay:1.2s;}
.mini-chart i:nth-child(5){height:55%;animation-delay:.6s; transition-delay:1.3s;}
.mini-chart i:nth-child(6){height:88%;animation-delay:.75s; transition-delay:1.4s;}
.revealed .mini-chart i { clip-path:inset(0 0 0 0); }

.visual-stat div { opacity:0; transform:translateY(15px); transition:opacity 0.5s ease, transform 0.5s cubic-bezier(.2,.75,.2,1); }
.revealed .visual-stat div:nth-child(1) { transition-delay:0.5s; opacity:1; transform:translateY(0); }
.revealed .visual-stat div:nth-child(2) { transition-delay:0.65s; opacity:1; transform:translateY(0); }
.revealed .visual-stat div:nth-child(3) { transition-delay:0.8s; opacity:1; transform:translateY(0); }

.dashboard-scanline { position:absolute; top:0; left:0; right:0; height:60px; background:linear-gradient(to bottom, transparent, rgba(29,169,224,0.15) 50%, transparent); animation:dashScan 4s ease-in-out infinite; pointer-events:none; opacity:0; transition:opacity 0.8s ease 1s; border-radius:inherit; z-index:10; }
.revealed .dashboard-scanline { opacity:1; }
@keyframes dashScan { 0% { transform:translateY(-100%); } 40%, 100% { transform:translateY(350px); } }

.capabilities-section { position:relative;overflow:hidden; }
.capabilities-section::before { content:"";position:absolute;width:500px;height:500px;border-radius:50%;right:-250px;top:-250px;border:1px solid rgba(255,255,255,.09);box-shadow:0 0 0 80px rgba(255,255,255,.015),0 0 0 160px rgba(255,255,255,.012); }
.capabilities-section .stats { position:relative; }
.capabilities-section .stat { transition:background .3s ease,transform .3s ease; }
.capabilities-section .stat:hover { background:rgba(255,255,255,.09);transform:translateY(-4px); }

.product-showcase { display:grid;grid-template-columns:repeat(2,1fr);gap:30px; }
.product-card { position:relative;border:1px solid var(--alola-border);border-radius:22px;overflow:hidden;background:#fff;transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease,border-color .3s ease; }
.product-card:hover { transform:translateY(-10px);box-shadow:0 30px 70px rgba(11,40,84,.14);border-color:#bdd4e9; }
.product-card .text-link::after { content:""; position:absolute; inset:0; z-index:1; }
.product-media { height:210px;position:relative;overflow:hidden;background:linear-gradient(135deg,#061b39,#0b74d1); }
.product-media img { width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.75,.2,1); }
.product-card:hover .product-media img { transform:scale(1.07); }
.product-art { position:absolute;inset:0;display:grid;place-items:center;background:
  radial-gradient(circle at 50% 45%,rgba(29,169,224,.32),transparent 30%),
  linear-gradient(135deg,#071d3d,#0b74d1 60%,#12aeb1); }
.product-art::before { content:"";position:absolute;width:160px;height:160px;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.02);animation:orbitPulse 4s ease-in-out infinite; }
.product-art span { position:relative;z-index:1;color:#fff;font-size:58px;font-weight:900;letter-spacing:-.06em; }
.product-shine { position:absolute;inset:-100% 0 auto;height:70%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.18),transparent);transform:rotate(15deg);animation:shine 5s ease-in-out infinite; }
.product-content { padding:25px;position:relative; }
.product-index { position:absolute;right:23px;top:22px;font-size:12px;color:#91a6bd;font-weight:900; }
.product-content h3 { color:var(--alola-navy);font-size:23px;margin:0 0 8px; }
.product-content p { color:var(--alola-muted);margin:0 0 18px; }

.team-section { background:linear-gradient(180deg,#fff 0%,#f8fbfe 100%); }
.team-home-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:20px; }
.team-grid { display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 360px));justify-content:center;gap:26px; }
.team-card { border:1px solid var(--alola-border);border-radius:22px;background:#fff;overflow:hidden;transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease; }
.team-card:hover { transform:translateY(-9px);box-shadow:0 28px 65px rgba(11,40,84,.13); }
.team-photo { height:290px;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(145deg,#071d3d,#0b74d1); }
.team-card-home .team-photo { height:270px; }
.team-photo img { width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .7s ease; }
.team-card:hover .team-photo img { transform:scale(1.045); }
.team-placeholder { background:radial-gradient(circle at 50% 35%,#1da9e0 0,#0b74d1 35%,#071d3d 80%); }
.team-initial { color:#fff;font-size:70px;font-weight:900;position:relative;z-index:1; }
.team-glow { position:absolute;width:230px;height:230px;border-radius:50%;background:rgba(29,169,224,.20);filter:blur(25px);bottom:-100px;right:-60px;transition:transform .6s ease; }
.team-card:hover .team-glow { transform:scale(1.4); }
.team-body { padding:22px 24px 25px; }
.team-role { color:var(--alola-teal);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:900; }
.team-body h2,.team-body h3 { margin:6px 0 8px;color:var(--alola-navy);font-size:22px;line-height:1.2; }
.team-body p { color:var(--alola-muted);font-size:14px;margin:0 0 16px; }
.team-actions { display:flex;align-items:center;justify-content:space-between; }
.team-linkedin-btn { display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:rgba(14,165,233,0.12);color:#0284c7;transition:all .25s ease; }
.team-linkedin-btn:hover { background:#0284c7;color:#fff;transform:translateY(-2px); }
html[data-theme="dark"] .team-linkedin-btn { background:rgba(56,189,248,0.15);color:#38bdf8; }
html[data-theme="dark"] .team-linkedin-btn:hover { background:#38bdf8;color:#020914; }
.social-link { width:28px;height:28px;border:1px solid var(--alola-border);border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:900;color:var(--alola-navy); }
.team-single-head { display:grid;grid-template-columns:180px 1fr;gap:38px;align-items:center; }
.team-single-photo { width:180px;height:180px;border-radius:30px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#071d3d,#0b74d1);box-shadow:0 20px 50px rgba(11,40,84,.2); }
.team-single-photo img { width:100%;height:100%;object-fit:cover;object-position:top center; }

.case-card { transition:transform .45s ease,box-shadow .45s ease; }
.case-card:hover { transform:translateY(-7px) scale(1.01);box-shadow:0 25px 55px rgba(11,40,84,.18); }

.cta-animated { overflow:hidden; }
.cta-orb { position:absolute;width:320px;height:320px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-90px;top:-140px;animation:orbFloat 7s ease-in-out infinite; }
.cta-orb::before { content:"";position:absolute;inset:45px;border:1px solid rgba(255,255,255,.13);border-radius:50%; }
.scroll-cue { position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#91a6bd;display:flex;align-items:center;gap:9px;opacity:.85; }
.scroll-cue span { width:18px;height:28px;border:1px solid #a5b9cd;border-radius:12px;position:relative; }
.scroll-cue span::after { content:"";position:absolute;width:3px;height:5px;border-radius:3px;background:var(--alola-teal);left:7px;top:5px;animation:scrollDot 1.8s infinite; }

@keyframes brandIn { to { opacity:1;transform:none; } }
@keyframes navIn { to { opacity:1;transform:none; } }
@keyframes gradientMove { to { background-position:200% center; } }
@keyframes particleDrift { 0%{transform:translate3d(0,0,0)}50%{transform:translate3d(14px,-22px,0)}100%{transform:translate3d(0,0,0)} }
@keyframes scan { 0%,100%{transform:translateY(-10%)}50%{transform:translateY(380%)} }
@keyframes orbitPulse { 0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.035);opacity:1} }
@keyframes coreSpin { to { transform:rotate(360deg); } }
@keyframes coreGlow { 0%,100%{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.06)} }
@keyframes float { 0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)} }
@keyframes float { 0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)} }
@keyframes dashboardFloat { 0%,100%{transform:translateY(0) rotateX(0)}50%{transform:translateY(-10px) rotateX(1deg)} }
@keyframes gridMove { to { background-position:34px 34px; } }
@keyframes chartPulse { from{opacity:.65}to{opacity:1;transform:scaleY(1.06)} }
@keyframes shine { 0%,30%{transform:translateY(-120%) rotate(15deg)}55%,100%{transform:translateY(250%) rotate(15deg)} }
@keyframes orbFloat { 0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-18px,14px) rotate(8deg)} }
@keyframes scrollDot { 0%{transform:translateY(0);opacity:1}80%,100%{transform:translateY(11px);opacity:0} }

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.001ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.001ms !important; }
  .reveal { opacity:1;transform:none; }
}

@media (max-width: 991px) {
  .modules-tabs { grid-template-columns:repeat(2, 1fr); }
  .modules-content { grid-template-columns:1fr; }
}

/* Native Tab Content */
.modules-content.native-tab-content { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 20px; animation: fadeIn 0.4s ease; padding: 20px 0; }
@media (max-width: 991px) {
  .modules-content.native-tab-content { grid-template-columns: 1fr; }
}



@media (max-width:1020px) {
  .product-showcase { grid-template-columns:repeat(2,1fr); }
  .team-home-grid { grid-template-columns:repeat(2,1fr); }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .hero-animated { min-height:700px; }
}
@media (max-width:720px) {
  .hero-animated { min-height:760px; }
  .hero-visual { margin-top:15px; }
  .product-showcase,.team-home-grid,.team-grid { grid-template-columns:1fr; }
  .team-single-head { grid-template-columns:1fr; }
  .team-single-photo { width:150px;height:150px; }
  .scroll-cue { display:none; }
}



/* =========================================================
   Alola Language Switcher — Sleek, Minimalist Tech Control
   ========================================================= */
.header-tools {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.alola-language-switcher {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  height: 36px;
  background: #fff;
  border: 1px solid var(--alola-border);
  border-radius: 999px;
  direction: ltr;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(11,40,84,.04);
  transition: all var(--alola-transition);
}

.alola-language-switcher:hover {
  border-color: var(--alola-blue);
  box-shadow: 0 4px 14px rgba(11,116,209,.10);
}

.lang-globe-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--alola-muted);
  padding-left: 2px;
}

.lang-sep {
  color: var(--alola-border);
  font-size: 12px;
  font-weight: 400;
  user-select: none;
  opacity: 0.7;
}

.language-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--alola-muted);
  text-decoration: none;
  transition: all var(--alola-transition);
  line-height: 1.3;
}

.language-pill:hover {
  color: var(--alola-blue);
}

.language-pill.is-active {
  background: var(--alola-blue);
  color: #fff;
  font-weight: 800;
}

@media (max-width:1050px) {
  .header-inner { gap:18px; }
  .primary-nav ul { gap:18px; }
  .site-brand img { width:150px; }
  .header-cta .btn { padding-inline:16px; }
}

@media (max-width:820px) {
  .header-tools {
    margin-left:auto;
  }
}

@media (max-width:720px) {
  .header-tools {
    order: 4;
  }
}

/* =========================================================
   DARK MODE IMPLEMENTATION
   ========================================================= */
html[data-theme="dark"] {
  --alola-navy: #f1f5f9;
  --alola-ink: #f8fafc;
  --alola-muted: #94a3b8;
  --alola-light: #0d1b2a;
  --alola-border: #1e293b;
  --alola-shadow: 0 18px 55px rgba(0,0,0,.50);
  background: #06111f;
  color: var(--alola-ink);
}

html[data-theme="dark"] body {
  background: #06111f !important;
  color: #f8fafc;
}

html[data-theme="dark"] .site-header,
html[data-theme="dark"] .site-header-modern,
html[data-theme="dark"] .site-header-modern.scrolled {
  background: rgba(6, 17, 31, 0.94) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .alola-language-switcher,
html[data-theme="dark"] .mobile-toggle,
html[data-theme="dark"] .card,
html[data-theme="dark"] .product-card,
html[data-theme="dark"] .team-card,
html[data-theme="dark"] .post-card,
html[data-theme="dark"] .visual-card,
html[data-theme="dark"] .back-nav-btn,
html[data-theme="dark"] .btn-outline {
  background: #0d1b2a;
  border-color: var(--alola-border);
  color: #e0e6ed;
}

html[data-theme="dark"] .hero,
html[data-theme="dark"] .team-section,
html[data-theme="dark"] .page-hero {
  background: #06111f !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .page-hero h1 { color: #f8fafc !important; }
html[data-theme="dark"] .page-hero p { color: #94a3b8 !important; }

html[data-theme="dark"] .hero::before {
  mask-image: none;
  opacity: 0.15;
}

html[data-theme="dark"] .section {
  background: #06111f;
}

html[data-theme="dark"] .section-light {
  background: #0a1628 !important;
}

html[data-theme="dark"] .section-head h2,
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3 {
  color: #f8fafc !important;
}

/* Contact page dark mode */
html[data-theme="dark"] .form-card {
  background: #0b172a !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45) !important;
}
html[data-theme="dark"] .form-card label,
html[data-theme="dark"] .field label {
  color: #cbd5e1 !important;
}
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field textarea,
html[data-theme="dark"] .field select {
  background: #07101e !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}
html[data-theme="dark"] .field input:focus,
html[data-theme="dark"] .field textarea:focus,
html[data-theme="dark"] .field select:focus {
  border-color: var(--alola-sky) !important;
  box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.22) !important;
}
html[data-theme="dark"] .contact-item .icon-box {
  background: rgba(14, 165, 233, 0.14) !important;
  border: 1px solid rgba(14, 165, 233, 0.28) !important;
  color: #38bdf8 !important;
}
html[data-theme="dark"] .contact-item strong {
  color: #f8fafc !important;
}
html[data-theme="dark"] .contact-item a,
html[data-theme="dark"] .contact-item span {
  color: #94a3b8 !important;
}
html[data-theme="dark"] .contact-item a:hover {
  color: #38bdf8 !important;
}

html[data-theme="dark"] .tech-node { background: #0d1b2a; color: var(--alola-sky); }
html[data-theme="dark"] .primary-nav.mobile-open { background: #0d1b2a; border-color: var(--alola-border); }

/* Theme Toggle Button */
.theme-toggle {
  background: #ffffff;
  border: 1px solid var(--alola-border);
  border-radius: 999px;
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1e293b;
  cursor: pointer;
  margin: 0;
  padding: 0;
  transition: all 0.25s ease;
  position: relative;
  z-index: 10;
  outline: none;
}
.theme-toggle svg {
  pointer-events: none;
  width: 19px;
  height: 19px;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s ease;
}
.theme-toggle .sun-icon {
  display: none;
  color: #f59e0b;
}
.theme-toggle .moon-icon {
  display: block;
  color: #334155;
}
.theme-toggle:hover {
  color: var(--alola-blue);
  border-color: var(--alola-blue);
  box-shadow: 0 4px 14px rgba(11,116,209,.15);
  transform: scale(1.05);
}
.theme-toggle:active {
  transform: scale(0.95);
}
html[dir="rtl"] .theme-toggle { margin: 0; }

html[data-theme="dark"] .theme-toggle {
  background: #0f1d32 !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: #f59e0b !important;
  box-shadow: 0 0 16px rgba(245, 158, 11, 0.2) !important;
}
html[data-theme="dark"] .theme-toggle:hover {
  border-color: #f59e0b !important;
  box-shadow: 0 0 22px rgba(245, 158, 11, 0.35) !important;
}
html[data-theme="dark"] .theme-toggle .moon-icon {
  display: none !important;
}
html[data-theme="dark"] .theme-toggle .sun-icon {
  display: block !important;
  color: #f59e0b !important;
}

/* =========================================================
   SERVICE MEDIA & INTERACTIVE AI ANIMATION
   ========================================================= */
.service-media-frame {
  position: relative;
  border-radius: var(--alola-radius-lg, 20px);
  overflow: hidden;
  margin-bottom: 36px;
  box-shadow: 0 16px 45px rgba(0, 31, 63, 0.12);
  background: #020914;
  display: block;
}

.service-media-frame img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.service-media-frame:hover img {
  transform: scale(1.015);
}

.ai-overlay-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: auto;
  cursor: crosshair;
  mix-blend-mode: screen;
  z-index: 2;
}

.animated-ai-frame {
  position: relative;
}
.animated-ai-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid rgba(0, 198, 255, 0.3);
  pointer-events: none;
  box-shadow: inset 0 0 25px rgba(0, 198, 255, 0.15);
  animation: aiFramePulse 4s ease-in-out infinite alternate;
  z-index: 3;
}
@keyframes aiFramePulse {
  0% { border-color: rgba(0, 198, 255, 0.2); box-shadow: inset 0 0 15px rgba(0, 198, 255, 0.1); }
  100% { border-color: rgba(0, 242, 254, 0.5); box-shadow: inset 0 0 35px rgba(0, 242, 254, 0.25); }
}

/* =========================================================
   ENRICHED SERVICE PAGE STYLES (Digital Transformation, etc.)
   ========================================================= */
body.single-service .entry-content,
body.single-product .entry-content {
  max-width: 1100px;
  padding: 40px 24px 80px;
}

.service-content-wrapper {
  width: 100%;
}

.service-lead-block {
  margin-bottom: 40px;
}

.service-lead-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--alola-blue);
  background: rgba(11, 116, 209, 0.08);
  border: 1px solid rgba(11, 116, 209, 0.2);
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 18px;
}

.service-lead-badge .badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.6);
  display: inline-block;
}

.service-lead-title {
  font-size: clamp(28px, 3.2vw, 36px);
  font-weight: 800;
  color: var(--alola-navy);
  line-height: 1.25;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

.service-lead-paragraph {
  font-size: 17.5px;
  line-height: 1.8;
  color: #475569;
  margin-bottom: 16px;
}

/* Impact Metrics Strip */
.service-impact-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin: 44px 0 56px;
}

.impact-stat-card {
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 24px 20px;
  box-shadow: 0 4px 18px rgba(11, 40, 84, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  position: relative;
  overflow: hidden;
}

.impact-stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(11, 40, 84, 0.09);
  border-color: rgba(11, 116, 209, 0.35);
}

.impact-stat-number {
  font-size: 36px;
  font-weight: 800;
  color: var(--alola-navy);
  line-height: 1;
  margin-bottom: 8px;
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: baseline;
  gap: 2px;
}

.impact-stat-number .impact-plus {
  color: var(--alola-teal);
  font-size: 26px;
  font-weight: 700;
}

.impact-stat-label {
  font-size: 15px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 8px;
  line-height: 1.35;
}

.impact-stat-desc {
  font-size: 13px;
  line-height: 1.6;
  color: #64748b;
  margin: 0;
}

/* Section Header */
.service-section-header {
  margin-bottom: 30px;
}

.service-section-header .section-tag {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--alola-teal);
  margin-bottom: 6px;
}

.service-section-header .section-title {
  font-size: clamp(24px, 2.6vw, 30px);
  font-weight: 800;
  color: var(--alola-navy);
  margin-bottom: 10px;
  line-height: 1.25;
}

.service-section-header .section-subtitle {
  font-size: 16px;
  color: #64748b;
  line-height: 1.6;
  max-width: 780px;
  margin-bottom: 0;
}

/* Capabilities Grid */
.service-capabilities-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 60px;
}

.capability-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 30px 26px;
  box-shadow: 0 4px 18px rgba(11, 40, 84, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  display: flex;
  flex-direction: column;
}

.capability-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(11, 40, 84, 0.08);
  border-color: rgba(14, 165, 233, 0.4);
}

.capability-icon-wrap {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(14, 165, 233, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--alola-blue);
  margin-bottom: 20px;
  box-shadow: 0 4px 12px rgba(14, 165, 233, 0.12);
}

.capability-title {
  font-size: 19px;
  font-weight: 700;
  color: var(--alola-navy);
  margin-bottom: 10px;
  line-height: 1.35;
}

.capability-desc {
  font-size: 14.5px;
  color: #475569;
  line-height: 1.65;
  margin-bottom: 18px;
}

.capability-bullets {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: auto;
  border-top: 1px dashed #e2e8f0;
  padding-top: 18px !important;
}

.capability-bullets li {
  position: relative;
  padding-left: 20px;
  font-size: 13.5px;
  color: #475569;
  line-height: 1.55;
  margin: 0;
}

.capability-bullets li::before {
  content: "•";
  position: absolute;
  left: 4px;
  top: 0;
  color: var(--alola-teal);
  font-size: 18px;
  line-height: 1.2;
}

.capability-bullets li strong {
  color: #0f172a;
  font-weight: 600;
}

/* Transformation Methodology Flow */
.service-methodology-section {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 40px 32px;
  margin-bottom: 60px;
}

.transformation-steps-flow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 26px;
}

.t-step-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.t-step-card:hover {
  transform: translateY(-3px);
  border-color: var(--alola-blue);
  box-shadow: 0 8px 24px rgba(11, 40, 84, 0.06);
}

.t-step-badge {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--alola-blue);
  background: rgba(11, 116, 209, 0.08);
  padding: 4px 10px;
  border-radius: 6px;
  align-self: flex-start;
  margin-bottom: 12px;
}

.t-step-header {
  margin-bottom: 10px;
}

.t-step-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--alola-navy);
  line-height: 1.3;
}

.t-step-timeline {
  font-size: 12px;
  font-weight: 600;
  color: var(--alola-teal);
  margin-top: 2px;
}

.t-step-desc {
  font-size: 13px;
  color: #64748b;
  line-height: 1.55;
  margin-bottom: 14px;
}

.t-step-deliverables {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 12px;
  border-top: 1px solid #f1f5f9;
}

.t-step-deliverables span {
  font-size: 11.5px;
  font-weight: 600;
  color: #334155;
  background: #f8fafc;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  display: block;
}

/* Tech Stack Section */
.service-tech-section {
  margin-bottom: 60px;
}

.tech-stack-groups {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.tech-group-item {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 20px 24px;
  box-shadow: 0 2px 10px rgba(11, 40, 84, 0.03);
}

.tech-group-label {
  font-size: 14px;
  font-weight: 700;
  color: var(--alola-navy);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.tech-tags-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tech-tag {
  background: #f1f5f9;
  color: #334155;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  transition: all 0.2s ease;
}

.tech-tag:hover {
  background: #0b2854;
  color: #ffffff;
  border-color: #0b2854;
}

/* Why Alola Banner */
.service-value-banner {
  background: linear-gradient(135deg, #0b2854 0%, #081d3d 100%);
  border-radius: 20px;
  padding: 40px 36px;
  color: #ffffff;
  margin-bottom: 30px;
  box-shadow: 0 16px 45px rgba(11, 40, 84, 0.16);
  position: relative;
  overflow: hidden;
}

.value-banner-badge {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #38bdf8;
  margin-bottom: 10px;
}

.value-banner-title {
  font-size: clamp(22px, 2.4vw, 26px);
  font-weight: 800;
  color: #ffffff !important;
  margin-bottom: 26px;
  line-height: 1.3;
}

.value-banner-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.value-item-title {
  font-size: 15.5px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 8px;
  line-height: 1.4;
}

.value-item-desc {
  font-size: 13.5px;
  color: #94a3b8 !important;
  line-height: 1.6;
  margin: 0;
}

/* Responsive adjustments */
@media (max-width: 991px) {
  .service-impact-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  .transformation-steps-flow {
    grid-template-columns: repeat(2, 1fr);
  }
  .value-banner-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 768px) {
  body.single-service .entry-content,
  body.single-product .entry-content {
    padding: 30px 16px 60px;
  }
  .service-capabilities-grid {
    grid-template-columns: 1fr;
  }
  .service-methodology-section {
    padding: 28px 20px;
  }
  .service-value-banner {
    padding: 30px 22px;
  }
}

@media (max-width: 576px) {
  .service-impact-strip {
    grid-template-columns: 1fr;
  }
  .transformation-steps-flow {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   DEDICATED ABOUT PAGE STYLES (Alola Technologies)
   ========================================================= */
.about-page-main {
  overflow-x: hidden;
}

.about-split-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 56px;
  align-items: start;
}

.about-heading {
  font-size: clamp(28px, 3.2vw, 38px);
  font-weight: 800;
  color: var(--alola-navy);
  line-height: 1.22;
  margin: 12px 0 24px;
  letter-spacing: -0.02em;
}

.about-lead-text {
  font-size: 19px;
  line-height: 1.75;
  color: var(--alola-ink);
  margin-bottom: 18px;
}

.about-body-text {
  font-size: 16px;
  line-height: 1.8;
  color: #475569;
  margin-bottom: 20px;
}

/* Elegant Quote Box */
.about-quote-box {
  position: relative;
  background: linear-gradient(135deg, rgba(11, 116, 209, 0.05) 0%, rgba(18, 174, 177, 0.04) 100%);
  border-left: 4px solid var(--alola-teal);
  border-radius: 14px;
  padding: 24px 28px 24px 24px;
  margin: 28px 0;
  border-top: 1px solid rgba(18, 174, 177, 0.15);
  border-right: 1px solid rgba(18, 174, 177, 0.15);
  border-bottom: 1px solid rgba(18, 174, 177, 0.15);
}

.about-quote-box .quote-mark {
  font-size: 38px;
  line-height: 0.8;
  color: var(--alola-teal);
  font-family: Georgia, serif;
  margin-bottom: 6px;
}

.about-quote-box .quote-text {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.7;
  color: var(--alola-navy);
  margin: 0;
  font-style: italic;
}

/* Right Column: Identity Card */
.about-identity-card {
  position: sticky;
  top: 104px;
  background: linear-gradient(145deg, #0b2854 0%, #081d3d 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px;
  padding: 38px 32px;
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(11, 40, 84, 0.22);
  overflow: hidden;
}

.card-brand-glow {
  position: absolute;
  top: -80px;
  right: -80px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(14, 165, 233, 0.25) 0%, transparent 70%);
  pointer-events: none;
}

.card-brand-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 24px;
}

.about-brand-logo {
  height: 42px;
  width: auto;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.about-country-pill {
  font-size: 12px;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.16);
  padding: 6px 14px;
  border-radius: 999px;
  color: #e2e8f0;
}

.card-manifesto-highlight h3 {
  font-size: 20px;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 8px;
  line-height: 1.3;
}

.card-manifesto-highlight p {
  font-size: 14px;
  color: #94a3b8;
  line-height: 1.6;
  margin-bottom: 28px;
}

.card-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.c-stat-box {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 16px 14px;
  text-align: center;
  transition: transform 0.25s ease, background 0.25s ease;
}

.c-stat-box:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.08);
}

.c-stat-num {
  font-size: 22px;
  font-weight: 800;
  color: #38bdf8;
  line-height: 1.1;
  margin-bottom: 4px;
}

.c-stat-lbl {
  font-size: 11.5px;
  font-weight: 600;
  color: #cbd5e1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.card-footer-pill {
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #7dd3fc;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.card-footer-pill .dot-live {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
}

/* Approach Section */
.section-center-head {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 48px;
}

.section-center-head .section-tag {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--alola-teal);
  margin-bottom: 8px;
}

.section-center-head .section-title {
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 800;
  color: var(--alola-navy);
  line-height: 1.25;
  margin-bottom: 14px;
}

.section-center-head .section-subtitle {
  font-size: 16.5px;
  color: #64748b;
  line-height: 1.7;
  margin: 0;
}

.approach-steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 40px;
}

.approach-step-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 28px 22px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 18px rgba(11, 40, 84, 0.04);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}

.approach-step-card:hover {
  transform: translateY(-5px);
  border-color: var(--alola-blue);
  box-shadow: 0 16px 36px rgba(11, 40, 84, 0.09);
}

.step-num-badge {
  font-size: 11px;
  font-weight: 800;
  color: var(--alola-blue);
  background: rgba(11, 116, 209, 0.08);
  padding: 4px 10px;
  border-radius: 6px;
  align-self: flex-start;
  margin-bottom: 14px;
}

.step-icon-circle {
  width: 50px;
  height: 50px;
  border-radius: 14px;
  background: rgba(14, 165, 233, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--alola-blue);
  margin-bottom: 16px;
  box-shadow: 0 4px 12px rgba(14, 165, 233, 0.12);
}

.step-title {
  font-size: 19px;
  font-weight: 700;
  color: var(--alola-navy);
  margin-bottom: 10px;
}

.step-desc {
  font-size: 14px;
  color: #64748b;
  line-height: 1.6;
  margin-bottom: 16px;
}

.step-bullet-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
  border-top: 1px dashed #e2e8f0;
  padding-top: 14px !important;
}

.step-bullet-list li {
  position: relative;
  padding-left: 18px;
  font-size: 13px;
  color: #475569;
  line-height: 1.5;
  margin: 0;
}

.step-bullet-list li::before {
  content: "•";
  position: absolute;
  left: 4px;
  top: 0;
  color: var(--alola-teal);
  font-size: 16px;
}

/* Linear Journey Bar */
.approach-journey-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 14px 32px;
  max-width: 820px;
  margin: 0 auto;
  box-shadow: 0 4px 20px rgba(11, 40, 84, 0.04);
}

.journey-node {
  display: flex;
  align-items: center;
  gap: 8px;
}

.journey-node .j-step {
  font-size: 11px;
  font-weight: 800;
  background: #f1f5f9;
  color: #475569;
  padding: 2px 7px;
  border-radius: 999px;
}

.journey-node .j-text {
  font-size: 14px;
  font-weight: 700;
  color: var(--alola-navy);
}

.journey-node.highlight .j-step {
  background: var(--alola-teal);
  color: #ffffff;
}

.journey-node.highlight .j-text {
  color: var(--alola-blue);
}

.journey-arrow {
  color: var(--alola-teal);
  font-weight: 800;
  font-size: 16px;
}

/* Practices Grid */
.about-practices-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.about-practice-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 18px rgba(11, 40, 84, 0.04);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  text-decoration: none !important;
}

.about-practice-card:hover {
  transform: translateY(-4px);
  border-color: rgba(11, 116, 209, 0.4);
  box-shadow: 0 14px 32px rgba(11, 40, 84, 0.09);
}

.p-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.p-card-tag {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--alola-teal);
  background: rgba(18, 174, 177, 0.08);
  padding: 4px 10px;
  border-radius: 6px;
}

.p-card-arrow {
  font-size: 18px;
  font-weight: 700;
  color: var(--alola-blue);
  transition: transform 0.25s ease;
}

.about-practice-card:hover .p-card-arrow {
  transform: translate(3px, -3px);
}

.p-card-title {
  font-size: 19px;
  font-weight: 700;
  color: var(--alola-navy);
  margin-bottom: 10px;
  line-height: 1.35;
}

.p-card-desc {
  font-size: 14px;
  color: #64748b;
  line-height: 1.6;
  margin: 0;
}

/* Values Grid */
.about-values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.value-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 28px 22px;
  box-shadow: 0 4px 18px rgba(11, 40, 84, 0.04);
  transition: transform 0.3s ease;
}

.value-card:hover {
  transform: translateY(-3px);
}

.value-card .val-icon {
  font-size: 32px;
  margin-bottom: 16px;
}

.value-card h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--alola-navy);
  margin-bottom: 10px;
  line-height: 1.3;
}

.value-card p {
  font-size: 14px;
  color: #64748b;
  line-height: 1.6;
  margin: 0;
}

/* Responsive adjustments for About Page */
@media (max-width: 991px) {
  .about-split-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .about-identity-card {
    position: static;
  }
  .approach-steps-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .about-practices-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .about-values-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .approach-steps-grid {
    grid-template-columns: 1fr;
  }
  .about-practices-grid {
    grid-template-columns: 1fr;
  }
  .about-values-grid {
    grid-template-columns: 1fr;
  }
  .approach-journey-bar {
    flex-direction: column;
    border-radius: 20px;
    gap: 10px;
    padding: 20px;
  }
  .journey-arrow {
    transform: rotate(90deg);
  }
}

/* =========================================================
   CATIPRO - CRM SHOWCASE STYLES
   ========================================================= */
.catipro-crm-showcase {
  overflow-x: hidden;
}

.crm-hero-section {
  padding: 70px 0 40px;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  border-bottom: 1px solid #e2e8f0;
}

.crm-hero-inner {
  max-width: 960px;
  text-align: center;
}

.crm-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--alola-blue);
  background: rgba(11, 116, 209, 0.08);
  border: 1px solid rgba(11, 116, 209, 0.2);
  padding: 6px 16px;
  border-radius: 999px;
  margin-bottom: 20px;
}

.crm-hero-badge .badge-pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
}

.crm-hero-title {
  font-size: clamp(34px, 4.5vw, 54px);
  font-weight: 900;
  color: var(--alola-navy);
  line-height: 1.15;
  margin-bottom: 14px;
  letter-spacing: -0.03em;
}

.crm-hero-subtitle {
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 700;
  color: var(--alola-teal);
  margin-bottom: 20px;
  line-height: 1.35;
}

.crm-hero-desc {
  font-size: 17px;
  color: #475569;
  line-height: 1.8;
  max-width: 820px;
  margin: 0 auto 32px;
}

.crm-hero-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* Metrics Section */
.crm-metrics-section {
  padding: 40px 0 50px;
}

.crm-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.crm-metric-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 26px 20px;
  box-shadow: 0 4px 18px rgba(11, 40, 84, 0.04);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}

.crm-metric-card:hover {
  transform: translateY(-4px);
  border-color: rgba(11, 116, 209, 0.35);
  box-shadow: 0 12px 30px rgba(11, 40, 84, 0.09);
}

.crm-metric-val {
  font-size: 36px;
  font-weight: 800;
  color: var(--alola-navy);
  line-height: 1;
  margin-bottom: 8px;
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: baseline;
  gap: 2px;
}

.crm-metric-val .plus-sign {
  color: var(--alola-teal);
  font-size: 26px;
  font-weight: 700;
}

.crm-metric-lbl {
  font-size: 15px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 8px;
}

.crm-metric-txt {
  font-size: 13px;
  color: #64748b;
  line-height: 1.55;
  margin: 0;
}

/* Media Frame with Canvas Overlay */
.crm-canvas-section {
  padding-bottom: 60px;
}

.crm-media-frame {
  position: relative !important;
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background: #020914 !important;
  line-height: 0 !important;
  box-shadow: 0 20px 50px rgba(11, 40, 84, 0.18) !important;
  border: 1px solid rgba(11, 116, 209, 0.25) !important;
}

.crm-media-frame img {
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: cover !important;
  display: block !important;
}

.crm-media-frame .ai-overlay-canvas,
#crmInteractiveCanvas {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: auto !important;
  cursor: crosshair !important;
  mix-blend-mode: screen !important;
  z-index: 10 !important;
  display: block !important;
}

.crm-canvas-overlay-badge {
  position: absolute !important;
  bottom: 20px !important;
  left: 20px !important;
  background: rgba(2, 9, 20, 0.85) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(0, 198, 255, 0.4) !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #a5f3fc !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  z-index: 20 !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.5) !important;
  line-height: 1.4 !important;
}

/* 6 Operational Pillars */
.crm-pillars-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.crm-pillar-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 34px 28px;
  box-shadow: 0 4px 20px rgba(11, 40, 84, 0.04);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.crm-pillar-card:hover {
  transform: translateY(-4px);
  border-color: rgba(14, 165, 233, 0.4);
  box-shadow: 0 16px 36px rgba(11, 40, 84, 0.08);
}

.pillar-num-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--alola-blue);
  background: rgba(11, 116, 209, 0.08);
  padding: 4px 10px;
  border-radius: 6px;
  margin-bottom: 12px;
}

.crm-pillar-title {
  font-size: 21px;
  font-weight: 800;
  color: var(--alola-navy);
  margin-bottom: 6px;
  line-height: 1.3;
}

.crm-pillar-subtitle {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--alola-teal);
  margin-bottom: 16px;
}

.crm-pillar-desc {
  font-size: 14.5px;
  color: #475569;
  line-height: 1.65;
  margin-bottom: 20px;
}

.crm-pillar-features {
  margin-top: auto;
  border-top: 1px dashed #e2e8f0;
  padding-top: 16px;
  margin-bottom: 18px;
}

.crm-pillar-features .p-feat-head {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--alola-navy);
  margin-bottom: 10px;
}

.crm-pillar-features ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.crm-pillar-features li {
  position: relative;
  padding-left: 18px;
  font-size: 13px;
  color: #475569;
  line-height: 1.5;
  margin: 0;
}

.crm-pillar-features li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--alola-teal);
  font-weight: 800;
  font-size: 13px;
}

.crm-pillar-benefit {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 12.5px;
  color: #334155;
  line-height: 1.5;
}

.crm-pillar-benefit strong {
  color: var(--alola-navy);
}

/* 20 Specialized Modules */
.crm-modules-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.crm-mod-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 10px rgba(11, 40, 84, 0.03);
  transition: transform 0.25s ease, border-color 0.25s ease;
}

.crm-mod-card:hover {
  transform: translateY(-3px);
  border-color: var(--alola-blue);
  box-shadow: 0 8px 24px rgba(11, 40, 84, 0.06);
}

.crm-mod-tag {
  font-size: 10.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--alola-teal);
  background: rgba(18, 174, 177, 0.08);
  padding: 3px 8px;
  border-radius: 6px;
  align-self: flex-start;
  margin-bottom: 10px;
}

.crm-mod-title {
  font-size: 15.5px;
  font-weight: 700;
  color: var(--alola-navy);
  margin-bottom: 8px;
  line-height: 1.3;
}

.crm-mod-desc {
  font-size: 12.5px;
  color: #64748b;
  line-height: 1.5;
  margin: 0;
}

/* 4-Stage Lifecycle Grid */
.crm-lifecycle-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.crm-step-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 18px rgba(11, 40, 84, 0.04);
  transition: transform 0.25s ease;
}

.crm-step-card:hover {
  transform: translateY(-3px);
  border-color: var(--alola-blue);
}

.crm-step-badge {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--alola-blue);
  background: rgba(11, 116, 209, 0.08);
  padding: 4px 10px;
  border-radius: 6px;
  align-self: flex-start;
  margin-bottom: 12px;
}

.crm-step-card h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--alola-navy);
  margin-bottom: 4px;
}

.crm-step-time {
  font-size: 12px;
  font-weight: 600;
  color: var(--alola-teal);
  margin-bottom: 12px;
}

.crm-step-card p {
  font-size: 13px;
  color: #64748b;
  line-height: 1.55;
  margin: 0;
}

/* Specs & Architecture Box */
.crm-specs-box {
  background: linear-gradient(135deg, #0b2854 0%, #081d3d 100%);
  border-radius: 22px;
  padding: 44px 38px;
  color: #ffffff;
  box-shadow: 0 16px 45px rgba(11, 40, 84, 0.16);
}

.specs-badge {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #38bdf8;
  margin-bottom: 10px;
}

.specs-title {
  font-size: clamp(22px, 2.5vw, 28px);
  font-weight: 800;
  color: #ffffff !important;
  margin-bottom: 30px;
  line-height: 1.3;
}

.specs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.spec-col h4 {
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 10px;
}

.spec-col p {
  font-size: 13.5px;
  color: #94a3b8 !important;
  line-height: 1.6;
  margin: 0;
}

/* Responsive */
@media (max-width: 991px) {
  .crm-metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .crm-pillars-list {
    grid-template-columns: 1fr;
  }
  .crm-modules-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .crm-lifecycle-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .specs-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

@media (max-width: 640px) {
  .crm-metrics-grid {
    grid-template-columns: 1fr;
  }
  .crm-modules-grid {
    grid-template-columns: 1fr;
  }
  .crm-lifecycle-grid {
    grid-template-columns: 1fr;
  }
  .crm-specs-box {
    padding: 30px 20px;
  }
}

/* ==========================================================================
   AI Automation Service - Dark Glassmorphism Cockpit Widget
   ========================================================================== */
.ai-cockpit-widget {
  position: relative;
  background: radial-gradient(circle at 80% 20%, rgba(14, 165, 233, 0.15) 0%, transparent 60%),
              radial-gradient(circle at 10% 90%, rgba(18, 174, 177, 0.12) 0%, transparent 60%),
              #030914;
  border: 1px solid rgba(56, 189, 248, 0.22);
  border-radius: 24px;
  padding: 36px 36px 30px;
  margin: 36px 0 54px;
  box-shadow: 0 20px 60px -15px rgba(2, 6, 23, 0.7),
              0 0 0 1px rgba(255, 255, 255, 0.04) inset;
  color: #f1f5f9;
  overflow: hidden;
}

.cockpit-glow {
  position: absolute;
  top: -80px;
  right: -80px;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.25) 0%, transparent 70%);
  filter: blur(40px);
  pointer-events: none;
  z-index: 1;
}

.cockpit-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 28px;
  position: relative;
  z-index: 2;
  flex-wrap: wrap;
  gap: 16px;
}

.cockpit-title-wrap h3 {
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
  margin: 6px 0 0;
  letter-spacing: -0.02em;
}

.cockpit-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.35);
  color: #34d399;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 12px;
  border-radius: 999px;
}

.pulse-green {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
  animation: pulseGreenAnim 2s infinite ease-in-out;
}

@keyframes pulseGreenAnim {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.3); }
}

.cockpit-controls {
  display: inline-flex;
  background: rgba(15, 23, 42, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 4px;
  gap: 4px;
}

.control-btn {
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 7px;
  color: #94a3b8;
  cursor: pointer;
  transition: all 0.2s ease;
}

.control-btn.active,
.control-btn:hover {
  background: rgba(56, 189, 248, 0.18);
  color: #38bdf8;
}

.cockpit-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 22px;
  position: relative;
  z-index: 2;
}

.cockpit-card {
  background: rgba(11, 23, 44, 0.65);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(56, 189, 248, 0.16);
  border-radius: 18px;
  padding: 24px;
  position: relative;
}

.main-chart-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.card-metric-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
}

.metric-caption {
  font-size: 13px;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}

.metric-big-val {
  font-size: 36px;
  font-weight: 800;
  color: #ffffff;
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.trend-up {
  font-size: 13px;
  font-weight: 700;
  color: #34d399;
  background: rgba(16, 185, 129, 0.15);
  padding: 3px 8px;
  border-radius: 6px;
}

.metric-sub-badge {
  font-size: 11px;
  font-weight: 700;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.28);
  padding: 4px 10px;
  border-radius: 6px;
  letter-spacing: 0.04em;
}

.chart-visual-box {
  position: relative;
  width: 100%;
  height: 160px;
  margin-top: 10px;
}

.chart-visual-box.k8s-pipeline-box,
.chart-visual-box.devsecops-pipeline-box,
.chart-visual-box.iac-pipeline-box,
.chart-visual-box.migration-pipeline-box,
.chart-visual-box.ansible-pipeline-box,
.chart-visual-box.finops-pipeline-box,
.chart-visual-box.sre-pipeline-box {
  height: auto;
  min-height: auto;
}

.chart-svg {
  width: 100%;
  height: 100%;
  display: block;
}

.chart-tooltip-pin {
  position: absolute;
  background: #0b1f3a;
  border: 1px solid #38bdf8;
  box-shadow: 0 8px 24px rgba(2, 6, 23, 0.8), 0 0 12px rgba(56, 189, 248, 0.35);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 11.5px;
  color: #ffffff;
  pointer-events: none;
  transform: translate(-50%, -100%);
  white-space: nowrap;
  line-height: 1.4;
}

.chart-tooltip-pin strong {
  display: block;
  color: #38bdf8;
  font-size: 12px;
}

.chart-tooltip-pin span {
  color: #cbd5e1;
}

/* Bot Activity Card */
.bot-activity-card {
  display: flex;
  flex-direction: column;
}

.bot-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.bot-card-head h4 {
  font-size: 15px;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
}

.live-pill {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  padding: 2px 8px;
  border-radius: 4px;
}

.bot-activity-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.bot-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(15, 30, 56, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  padding: 11px 14px;
  transition: all 0.2s ease;
}

.bot-row:hover {
  background: rgba(15, 30, 56, 0.8);
  border-color: rgba(56, 189, 248, 0.3);
  transform: translateX(4px);
}

.bot-info {
  display: flex;
  align-items: center;
  gap: 12px;
}

.bot-icon {
  font-size: 20px;
  line-height: 1;
}

.bot-info strong {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.25;
}

.bot-info span {
  font-size: 11.5px;
  color: #94a3b8;
}

.bot-status {
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 6px;
  white-space: nowrap;
}

.bot-status.status-success {
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.bot-status.status-running {
  background: rgba(14, 165, 233, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(14, 165, 233, 0.3);
}

/* Cockpit Footer Proof Strip */
.cockpit-footer-proof {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
  z-index: 2;
  flex-wrap: wrap;
  gap: 16px;
}

.proof-left {
  display: flex;
  align-items: center;
  gap: 14px;
}

.avatar-stack {
  display: flex;
  align-items: center;
}

.avatar-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #0f274a;
  border: 2px solid #030914;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  margin-right: -10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.avatar-circle:last-child {
  margin-right: 0;
}

.proof-text {
  font-size: 13px;
  color: #cbd5e1;
  line-height: 1.4;
}

.proof-text .stars {
  color: #f59e0b;
  font-size: 13px;
  letter-spacing: 2px;
  line-height: 1;
  margin-bottom: 2px;
}

.proof-text strong {
  color: #ffffff;
  font-weight: 700;
}

.proof-right {
  font-size: 12.5px;
  font-weight: 600;
  color: #94a3b8;
  display: flex;
  align-items: center;
  gap: 8px;
}

.proof-right span {
  color: #38bdf8;
}

@media (max-width: 991px) {
  .cockpit-grid {
    grid-template-columns: 1fr;
  }
  .cockpit-header,
  .cockpit-footer-proof {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .ai-cockpit-widget {
    padding: 24px 18px;
  }
  .cockpit-title-wrap h3 {
    font-size: 20px;
  }
  .metric-big-val {
    font-size: 28px;
  }
  .chart-visual-box {
    height: 130px;
  }
  .proof-right {
    flex-wrap: wrap;
  }
}

/* ==========================================================================
   Terraform Services - IaC Pipeline & Multi-Cloud Control Plane
   ========================================================================== */
.terraform-cockpit-widget {
  background: radial-gradient(circle at 80% 20%, rgba(168, 85, 247, 0.16) 0%, transparent 60%),
              radial-gradient(circle at 15% 85%, rgba(56, 189, 248, 0.12) 0%, transparent 60%),
              #030712 !important;
  border-color: rgba(168, 85, 247, 0.28) !important;
}

.pulse-purple {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c084fc;
  box-shadow: 0 0 8px #c084fc;
  animation: pulsePurpleAnim 2s infinite ease-in-out;
}

@keyframes pulsePurpleAnim {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.3); }
}

.iac-pipeline-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 10px 0;
}

.iac-pipeline-track {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(168, 85, 247, 0.22);
  border-radius: 14px;
  padding: 18px 20px;
  margin-bottom: 14px;
}

.iac-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
}

.iac-node strong {
  font-size: 12.5px;
  color: #f1f5f9;
  font-weight: 700;
  white-space: nowrap;
}

.iac-node small {
  font-size: 10.5px;
  color: #94a3b8;
  white-space: nowrap;
}

.iac-node-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #64748b;
  margin-bottom: 4px;
}

.iac-node.active .iac-node-dot {
  background: #a855f7;
  box-shadow: 0 0 10px #a855f7;
}

.iac-node.apply-node .iac-node-dot {
  background: #10b981;
  box-shadow: 0 0 10px #10b981;
}

.iac-node.apply-node strong {
  color: #34d399;
}

.iac-connector {
  flex: 1;
  height: 2px;
  background: rgba(255, 255, 255, 0.1);
  margin: 0 10px 22px;
  position: relative;
}

.iac-connector.active {
  background: linear-gradient(90deg, #a855f7, #38bdf8);
  box-shadow: 0 0 6px rgba(168, 85, 247, 0.4);
}

.iac-status-badge {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.iac-tag {
  font-size: 11px;
  font-weight: 600;
  color: #c084fc;
  background: rgba(168, 85, 247, 0.12);
  border: 1px solid rgba(168, 85, 247, 0.28);
  padding: 4px 10px;
  border-radius: 6px;
}

@media (max-width: 640px) {
  .iac-pipeline-track {
    flex-direction: column;
    gap: 12px;
  }
  .iac-connector {
    width: 2px;
    height: 16px;
    margin: 4px 0;
  }
}

/* ==========================================================================
   Ansible Services - AAP Fleet Controller & Terminal Widget
   ========================================================================== */
.ansible-cockpit-widget {
  background: radial-gradient(circle at 80% 20%, rgba(239, 68, 68, 0.16) 0%, transparent 60%),
              radial-gradient(circle at 15% 85%, rgba(249, 115, 22, 0.12) 0%, transparent 60%),
              #030712 !important;
  border-color: rgba(239, 68, 68, 0.28) !important;
}

.pulse-red {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 8px #ef4444;
  animation: pulseRedAnim 2s infinite ease-in-out;
}

@keyframes pulseRedAnim {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.3); }
}

.ansible-terminal-box {
  background: #090d16;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  overflow: hidden;
  font-family: 'Fira Code', 'Consolas', monospace;
  height: auto;
  min-height: 150px;
}

.ansible-terminal-header {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  background: rgba(15, 23, 42, 0.9);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.term-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.dot-red { background: #ef4444; }
.dot-yellow { background: #f59e0b; }
.dot-green { background: #10b981; }

.term-title {
  font-size: 11px;
  color: #94a3b8;
  margin-left: 8px;
  letter-spacing: 0.02em;
}

.ansible-terminal-body {
  padding: 12px 14px;
  font-size: 11px;
  line-height: 1.6;
}

.term-line {
  color: #cbd5e1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 3px;
}

.t-play { color: #f87171; font-weight: 700; }
.t-task { color: #38bdf8; font-weight: 600; }
.t-ok { color: #34d399; font-weight: 600; }
.t-changed { color: #fbbf24; font-weight: 600; }

.term-recap {
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px dashed rgba(255, 255, 255, 0.1);
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.r-host { color: #f1f5f9; font-weight: 700; }
.r-ok { color: #34d399; }
.r-changed { color: #fbbf24; }
.r-unreach { color: #94a3b8; }
.r-failed { color: #10b981; }

@media (max-width: 640px) {
  .term-recap {
    gap: 6px;
  }
}

/* ==========================================================================
   Cloud Migration Services - Migration Command Plane & Waves Track
   ========================================================================== */
.migration-cockpit-widget {
  background: radial-gradient(circle at 80% 20%, rgba(14, 165, 233, 0.16) 0%, transparent 60%),
              radial-gradient(circle at 15% 85%, rgba(16, 185, 129, 0.12) 0%, transparent 60%),
              #030712 !important;
  border-color: rgba(14, 165, 233, 0.28) !important;
}

.pulse-cyan {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #0ea5e9;
  box-shadow: 0 0 8px #0ea5e9;
  animation: pulseCyanAnim 2s infinite ease-in-out;
}

@keyframes pulseCyanAnim {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.3); }
}

.migration-stepper-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 8px 0;
}

.migration-waves-track {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(14, 165, 233, 0.22);
  border-radius: 14px;
  padding: 16px 18px;
  margin-bottom: 14px;
}

.wave-step {
  display: flex;
  align-items: center;
  gap: 10px;
}

.wave-step-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  background: #334155;
  color: #94a3b8;
}

.wave-step.completed .wave-step-icon {
  background: rgba(16, 185, 129, 0.2);
  border: 1px solid rgba(16, 185, 129, 0.5);
  color: #34d399;
}

.wave-step.active .wave-step-icon {
  background: rgba(14, 165, 233, 0.25);
  border: 1px solid rgba(14, 165, 233, 0.6);
  color: #38bdf8;
  box-shadow: 0 0 10px rgba(14, 165, 233, 0.5);
}

.pulse-spin {
  animation: pulseSpinAnim 2.5s infinite ease-in-out;
}

@keyframes pulseSpinAnim {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); filter: drop-shadow(0 0 6px #38bdf8); }
}

.wave-step-info strong {
  display: block;
  font-size: 12.5px;
  color: #f1f5f9;
  font-weight: 700;
  line-height: 1.25;
}

.wave-step-info small {
  font-size: 10.5px;
  color: #94a3b8;
}

.wave-step.active .wave-step-info strong {
  color: #38bdf8;
}

.wave-connector {
  flex: 1;
  height: 2px;
  background: rgba(255, 255, 255, 0.1);
  margin: 0 10px;
}

.wave-connector.completed {
  background: #10b981;
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.4);
}

.wave-connector.active {
  background: linear-gradient(90deg, #10b981, #0ea5e9);
  box-shadow: 0 0 6px rgba(14, 165, 233, 0.4);
}

.migration-stats-sub {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.mig-tag {
  font-size: 11px;
  font-weight: 600;
  color: #38bdf8;
  background: rgba(14, 165, 233, 0.12);
  border: 1px solid rgba(14, 165, 233, 0.28);
  padding: 4px 10px;
  border-radius: 6px;
}

@media (max-width: 640px) {
  .migration-waves-track {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .wave-connector {
    width: 2px;
    height: 16px;
    margin: 2px 0 2px 14px;
  }
}

/* ==========================================================================
   Kubernetes Services - Cluster Mesh & Pod Control Plane Widget
   ========================================================================== */
.k8s-cockpit-widget {
  background: radial-gradient(circle at 80% 20%, rgba(50, 108, 229, 0.18) 0%, transparent 60%),
              radial-gradient(circle at 15% 85%, rgba(56, 189, 248, 0.12) 0%, transparent 60%),
              #030712 !important;
  border-color: rgba(50, 108, 229, 0.3) !important;
}

.pulse-k8s {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #326ce5;
  box-shadow: 0 0 8px #326ce5;
  animation: pulseK8sAnim 2s infinite ease-in-out;
}

@keyframes pulseK8sAnim {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.3); }
}

.k8s-pipeline-box,
.k8s-cluster-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: auto;
  padding: 8px 0;
}

.k8s-cluster-track {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(50, 108, 229, 0.28);
  border-radius: 14px;
  padding: 16px 18px;
  margin-bottom: 14px;
}

.k8s-cluster-track .k8s-node-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.k8s-cluster-track .k8s-node-icon {
  font-size: 18px;
  margin-bottom: 2px;
}

.k8s-cluster-track .k8s-node-item strong {
  font-size: 12px;
  color: #f1f5f9;
  font-weight: 700;
  white-space: nowrap;
}

.k8s-cluster-track .k8s-node-item small {
  font-size: 10.5px;
  color: #94a3b8;
  white-space: nowrap;
}

.k8s-cluster-track .k8s-node-item.active strong {
  color: #60a5fa;
}

.k8s-connector {
  flex: 1;
  height: 2px;
  background: rgba(255, 255, 255, 0.1);
  margin: 0 8px 18px;
}

.k8s-connector,
.k8s-connector.active {
  background: linear-gradient(90deg, #326ce5, #38bdf8);
  box-shadow: 0 0 6px rgba(50, 108, 229, 0.5);
}

@media (max-width: 640px) {
  .k8s-cluster-track {
    flex-direction: column;
    gap: 12px;
    align-items: center;
  }
  .k8s-connector {
    width: 2px;
    height: 16px;
    margin: 4px 0;
  }
}

.k8s-cluster-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 14px;
}

.k8s-node-item {
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(50, 108, 229, 0.25);
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.k8s-node-item.autoscale {
  border-color: rgba(56, 189, 248, 0.4);
  background: rgba(15, 30, 60, 0.85);
}

.node-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.node-badge {
  font-size: 11.5px;
  font-weight: 700;
  color: #f1f5f9;
}

.node-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 6px #10b981;
}

.node-status-dot.pulse {
  background: #38bdf8;
  box-shadow: 0 0 8px #38bdf8;
  animation: pulseGreenAnim 1.8s infinite ease-in-out;
}

.node-metrics {
  font-size: 10.5px;
  color: #94a3b8;
  font-family: monospace;
}

.node-pods-strip {
  display: flex;
  gap: 5px;
  margin-top: 4px;
}

.pod-dot {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: #326ce5;
  box-shadow: 0 0 4px #326ce5;
}

.pod-dot.auto {
  background: #38bdf8;
  box-shadow: 0 0 4px #38bdf8;
}

.k8s-stats-sub {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.k8s-tag {
  font-size: 11px;
  font-weight: 600;
  color: #60a5fa;
  background: rgba(50, 108, 229, 0.12);
  border: 1px solid rgba(50, 108, 229, 0.28);
  padding: 4px 10px;
  border-radius: 6px;
}

@media (max-width: 768px) {
  .k8s-cluster-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   DevSecOps Services - Supply Chain Security & Pipeline Shield Widget
   ========================================================================== */
.devsecops-cockpit-widget {
  background: radial-gradient(circle at 80% 20%, rgba(16, 185, 129, 0.16) 0%, transparent 60%),
              radial-gradient(circle at 15% 85%, rgba(6, 182, 212, 0.12) 0%, transparent 60%),
              #030712 !important;
  border-color: rgba(16, 185, 129, 0.28) !important;
}

.devsecops-pipeline-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 8px 0;
}

.sec-pipeline-track {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(16, 185, 129, 0.22);
  border-radius: 14px;
  padding: 16px 18px;
  margin-bottom: 14px;
}

.sec-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
}

.sec-stage-icon {
  font-size: 16px;
  margin-bottom: 2px;
}

.sec-stage strong {
  font-size: 12px;
  color: #f1f5f9;
  font-weight: 700;
  white-space: nowrap;
}

.sec-stage small {
  font-size: 10.5px;
  color: #94a3b8;
  white-space: nowrap;
}

.sec-stage.completed strong {
  color: #34d399;
}

.sec-stage.active strong {
  color: #38bdf8;
}

.pulse-shield {
  animation: pulseShieldAnim 2s infinite ease-in-out;
}

@keyframes pulseShieldAnim {
  0%, 100% { transform: scale(1); filter: drop-shadow(0 0 4px #34d399); }
  50% { transform: scale(1.2); filter: drop-shadow(0 0 10px #38bdf8); }
}

.sec-connector {
  flex: 1;
  height: 2px;
  background: rgba(255, 255, 255, 0.1);
  margin: 0 8px 18px;
}

.sec-connector.completed {
  background: #10b981;
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.4);
}

.sec-connector.active {
  background: linear-gradient(90deg, #10b981, #06b6d4);
  box-shadow: 0 0 6px rgba(6, 182, 212, 0.4);
}

.sec-stats-sub {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.sec-tag {
  font-size: 11px;
  font-weight: 600;
  color: #34d399;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.28);
  padding: 4px 10px;
  border-radius: 6px;
}

@media (max-width: 640px) {
  .sec-pipeline-track {
    flex-direction: column;
    gap: 12px;
  }
  .sec-connector {
    width: 2px;
    height: 16px;
    margin: 4px 0;
  }
}

/* ==========================================================================
   FinOps & Cloud Cost Optimization - Spend Telemetry & Waste Elimination Widget
   ========================================================================== */
.finops-cockpit-widget {
  background: radial-gradient(circle at 80% 20%, rgba(16, 185, 129, 0.18) 0%, transparent 60%),
              radial-gradient(circle at 15% 85%, rgba(14, 165, 233, 0.12) 0%, transparent 60%),
              #030e0b !important;
  border-color: rgba(16, 185, 129, 0.32) !important;
}

.finops-pipeline-box {
  background: rgba(10, 30, 24, 0.5) !important;
  border: 1px solid rgba(16, 185, 129, 0.22) !important;
  border-radius: 12px;
  padding: 18px 20px;
  margin-top: 14px;
}

.finops-breakdown-track {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.finops-stat-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.finops-stat-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: #e2e8f0;
}

.finops-stat-head .stat-icon {
  margin-right: 6px;
  font-size: 15px;
}

.finops-bar-wrap {
  width: 100%;
  height: 8px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}

.finops-bar {
  height: 100%;
  border-radius: 4px;
  transition: width 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.4);
}

.finops-stat-item small {
  font-size: 11px;
  color: #94a3b8;
  font-family: monospace;
}

.finops-stats-sub {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed rgba(16, 185, 129, 0.2);
}

.fin-tag {
  font-size: 11px;
  font-weight: 600;
  color: #34d399;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.28);
  padding: 4px 10px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* ==========================================================================
   SRE & Observability - Distributed Tracing & SLO Governance Widget
   ========================================================================== */
.sre-cockpit-widget {
  background: radial-gradient(circle at 80% 20%, rgba(168, 85, 247, 0.18) 0%, transparent 60%),
              radial-gradient(circle at 15% 85%, rgba(6, 182, 212, 0.12) 0%, transparent 60%),
              #080314 !important;
  border-color: rgba(168, 85, 247, 0.32) !important;
}

.pulse-purple {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #c084fc;
  border-radius: 50%;
  margin-right: 6px;
  box-shadow: 0 0 8px #a855f7;
  animation: pulsePurpleAnim 1.8s infinite ease-in-out;
}

@keyframes pulsePurpleAnim {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.35); opacity: 0.55; }
}

.sre-pipeline-box {
  background: rgba(24, 12, 45, 0.5) !important;
  border: 1px solid rgba(168, 85, 247, 0.24) !important;
  border-radius: 12px;
  padding: 18px 20px;
  margin-top: 14px;
}

.sre-breakdown-track {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.sre-stat-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sre-stat-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: #e2e8f0;
}

.sre-status-badge {
  font-size: 10.5px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.sre-bar-wrap {
  width: 100%;
  height: 8px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}

.sre-bar {
  height: 100%;
  border-radius: 4px;
  transition: width 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 0 10px rgba(168, 85, 247, 0.4);
}

.sre-stat-item small {
  font-size: 11px;
  color: #94a3b8;
  font-family: monospace;
}

.sre-stats-sub {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed rgba(168, 85, 247, 0.2);
}

.sre-tag {
  font-size: 11px;
  font-weight: 600;
  color: #c084fc;
  background: rgba(168, 85, 247, 0.12);
  border: 1px solid rgba(168, 85, 247, 0.28);
  padding: 4px 10px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* ==========================================================================
   Enterprise Client Offering Standard Sections (Product, What We Do, Support, CTA)
   ========================================================================== */
.service-offering-intro {
  background: linear-gradient(135deg, #0f1e36 0%, #071120 100%);
  border: 1px solid rgba(56, 189, 248, 0.2);
  border-inline-start: 4px solid var(--primary, #0ea5e9);
  border-radius: 14px;
  padding: 28px 32px;
  margin: 32px 0 40px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.service-offering-intro h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #f8fafc;
}

.service-offering-intro p {
  font-size: 16px;
  line-height: 1.75;
  color: #e2e8f0;
  margin-bottom: 12px;
}

.service-offering-intro p strong {
  color: #ffffff;
  font-weight: 700;
}

.service-offering-intro p:last-child {
  margin-bottom: 0;
}

.service-offering-pill {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #38bdf8;
  background: rgba(14, 165, 233, 0.12);
  border: 1px solid rgba(14, 165, 233, 0.26);
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 14px;
}

.service-block-heading {
  font-size: 24px;
  font-weight: 700;
  color: #0f172a;
  margin: 48px 0 20px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}

.service-block-sub {
  font-size: 15.5px;
  color: #475569;
  line-height: 1.65;
  margin-bottom: 28px;
  max-width: 820px;
}

/* What We Do - Deliverables Grid */
.service-what-we-do-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
  margin-bottom: 44px;
}

.what-we-do-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 26px 24px;
  transition: all 0.35s ease;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03);
  position: relative;
  overflow: hidden;
}

.what-we-do-card:hover {
  transform: translateY(-4px);
  border-color: #38bdf8;
  box-shadow: 0 12px 30px rgba(14, 165, 233, 0.12);
}

.what-we-do-card .card-icon {
  font-size: 26px;
  margin-bottom: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: rgba(14, 165, 233, 0.08);
  border: 1px solid rgba(14, 165, 233, 0.16);
}

.what-we-do-card h4 {
  font-size: 17px;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 10px;
}

html[data-theme="dark"] .what-we-do-card {
  background: #0f172a;
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .what-we-do-card h4 {
  color: #f8fafc;
}

html[data-theme="dark"] .what-we-do-card p {
  color: #94a3b8;
}

.what-we-do-card p {
  font-size: 14px;
  color: #64748b;
  line-height: 1.65;
  margin: 0;
}

/* How We Support Your Company Grid */
.service-support-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  margin-bottom: 48px;
}

.support-card {
  background: linear-gradient(145deg, #f8fafc 0%, #ffffff 100%);
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 24px 22px;
  transition: all 0.3s ease;
}

.support-card:hover {
  border-color: #10b981;
  box-shadow: 0 10px 24px rgba(16, 185, 129, 0.08);
}

.support-card .support-badge {
  font-size: 12px;
  font-weight: 700;
  color: #059669;
  margin-bottom: 10px;
  display: block;
}

.support-card h4 {
  font-size: 16.5px;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 8px;
}

html[data-theme="dark"] .support-card {
  background: linear-gradient(145deg, #0b1329 0%, #0f172a 100%);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .support-card h4 {
  color: #f8fafc;
}

html[data-theme="dark"] .support-card p {
  color: #94a3b8;
}

.support-card p {
  font-size: 13.5px;
  color: #64748b;
  line-height: 1.6;
  margin: 0;
}

/* Dedicated "Talk to an Expert" Conversion Section */
.service-expert-cta-banner {
  background: radial-gradient(circle at 80% 20%, rgba(14, 165, 233, 0.18) 0%, transparent 60%),
              radial-gradient(circle at 20% 80%, rgba(168, 85, 247, 0.16) 0%, transparent 60%),
              #030712 !important;
  border: 1px solid rgba(56, 189, 248, 0.32);
  border-radius: 20px;
  padding: 44px 40px;
  margin: 56px 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.45);
}

.expert-cta-content {
  flex: 1;
  max-width: 650px;
}

.expert-cta-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #38bdf8;
  background: rgba(14, 165, 233, 0.14);
  border: 1px solid rgba(14, 165, 233, 0.28);
  padding: 5px 14px;
  border-radius: 20px;
  margin-bottom: 14px;
}

.expert-cta-content h3 {
  font-size: 26px;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 12px;
  line-height: 1.3;
}

.expert-cta-content p {
  font-size: 15px;
  color: #cbd5e1;
  line-height: 1.65;
  margin: 0;
}

.expert-cta-btn-wrap {
  flex-shrink: 0;
}

.btn-expert-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 700;
  color: #ffffff !important;
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 50%, #2563eb 100%);
  padding: 16px 32px;
  border-radius: 12px;
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(2, 132, 199, 0.45);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.btn-expert-cta:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 14px 34px rgba(2, 132, 199, 0.6);
  background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 50%, #1d4ed8 100%);
}

.btn-expert-cta .btn-arrow {
  transition: transform 0.3s ease;
  font-size: 18px;
}

.btn-expert-cta:hover .btn-arrow {
  transform: translateX(4px);
}

@media (max-width: 860px) {
  .service-expert-cta-banner {
    flex-direction: column;
    align-items: flex-start;
    padding: 32px 24px;
    gap: 24px;
  }
  .expert-cta-content h3 {
    font-size: 22px;
  }
  .btn-expert-cta {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   High-Tech Cosmic Split Hero Section (Enterprise Service Landing Page)
   ========================================================================== */
.service-single-main {
  background: #f8fafc;
}

html[data-theme="dark"] .service-single-main {
  background: #020617;
}

.service-cosmic-hero {
  position: relative;
  background: radial-gradient(circle at 75% 25%, rgba(14, 165, 233, 0.20) 0%, transparent 55%),
              radial-gradient(circle at 20% 80%, rgba(168, 85, 247, 0.16) 0%, transparent 60%),
              #030712 !important;
  color: #ffffff;
  padding: 60px 0 80px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.service-cosmic-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.02' fill-rule='evenodd'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
  opacity: 0.6;
}

.service-hero-inner {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 48px;
  align-items: center;
  position: relative;
  z-index: 2;
}

.service-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #94a3b8 !important;
  margin-bottom: 20px;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.service-back-link:hover {
  color: #38bdf8 !important;
  transform: translateX(-4px);
}

html[lang="ar"] .service-back-link:hover {
  transform: translateX(4px);
}

.service-kicker-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #38bdf8;
  background: rgba(14, 165, 233, 0.12);
  border: 1px solid rgba(14, 165, 233, 0.28);
  padding: 6px 14px;
  border-radius: 20px;
  margin-bottom: 18px;
}

.service-kicker-badge .pulse-sparkle {
  color: #38bdf8;
  animation: pulseSparkle 1.8s infinite ease-in-out;
}

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

.service-hero-title {
  font-size: clamp(34px, 4.2vw, 54px);
  font-weight: 800;
  line-height: 1.14;
  letter-spacing: -0.035em;
  color: #ffffff !important;
  margin: 0 0 20px;
}

.hero-gradient-text {
  background: linear-gradient(135deg, #38bdf8 0%, #818cf8 50%, #c084fc 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline;
}

.service-hero-lead {
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.7;
  color: #cbd5e1;
  margin: 0 0 32px;
  max-width: 580px;
}

.service-hero-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 34px;
  flex-wrap: wrap;
}

.btn-hero-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 15.5px;
  font-weight: 700;
  color: #ffffff !important;
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 50%, #2563eb 100%);
  padding: 16px 32px;
  border-radius: 12px;
  text-decoration: none !important;
  box-shadow: 0 10px 28px rgba(2, 132, 199, 0.45);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.btn-hero-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(2, 132, 199, 0.65);
  background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 50%, #1d4ed8 100%);
}

.btn-hero-primary .btn-arrow {
  transition: transform 0.3s ease;
}

.btn-hero-primary:hover .btn-arrow {
  transform: translateX(4px);
}

.btn-hero-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14.5px;
  font-weight: 600;
  color: #cbd5e1 !important;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.16);
  padding: 16px 26px;
  border-radius: 12px;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.btn-hero-ghost:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.3);
}

.service-hero-trust {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.trust-avatars {
  display: flex;
  font-size: 18px;
}

.trust-avatars span {
  margin-right: -6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #1e293b;
  border: 2px solid #0f172a;
}

.trust-text {
  font-size: 12.5px;
  color: #94a3b8;
}

.trust-stars {
  color: #f59e0b;
  font-size: 12px;
  letter-spacing: 2px;
  margin-bottom: 2px;
}

.service-hero-media {
  position: relative;
}

.service-hero-media .service-media-frame {
  margin-bottom: 0 !important;
}

/* Service Details Content Container */
.service-details-section {
  padding: 60px 0 80px;
}

.service-entry-content {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

@media (max-width: 992px) {
  .service-hero-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .service-cosmic-hero {
    padding: 50px 0 60px;
  }
}

/* ==========================================================================
   Executive Metrics Strip & Detail Component Styles
   ========================================================================== */
.service-hero-metrics-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 24px 30px;
  margin-bottom: 44px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

html[data-theme="dark"] .service-hero-metrics-strip {
  background: #0b1329;
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.service-hero-metrics-strip .metric-pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 12px;
  border-right: 1px solid #e2e8f0;
}

html[data-theme="dark"] .service-hero-metrics-strip .metric-pill {
  border-right-color: rgba(255, 255, 255, 0.08);
}

.service-hero-metrics-strip .metric-pill:last-child {
  border-right: none;
}

.service-hero-metrics-strip .pill-number {
  font-size: 32px;
  font-weight: 800;
  color: #0284c7;
  line-height: 1.1;
  margin-bottom: 6px;
  letter-spacing: -0.02em;
}

html[data-theme="dark"] .service-hero-metrics-strip .pill-number {
  color: #38bdf8;
}

.service-hero-metrics-strip .pill-label {
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

html[data-theme="dark"] .service-hero-metrics-strip .pill-label {
  color: #94a3b8;
}

@media (max-width: 768px) {
  .service-hero-metrics-strip {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 20px 16px;
  }
  .service-hero-metrics-strip .metric-pill:nth-child(2) {
    border-right: none;
  }
}

/* Core Capabilities Grid */
.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 24px;
  margin: 28px 0 48px;
}

.feature-item {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 28px 24px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03);
}

html[data-theme="dark"] .feature-item {
  background: #0f172a;
  border-color: rgba(255, 255, 255, 0.08);
}

.feature-item:hover {
  transform: translateY(-3px);
  border-color: #38bdf8;
  box-shadow: 0 12px 28px rgba(14, 165, 233, 0.12);
}

.feature-item h4 {
  font-size: 18px;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 10px;
}

html[data-theme="dark"] .feature-item h4 {
  color: #f8fafc;
}

.feature-item p {
  font-size: 14.5px;
  color: #64748b;
  line-height: 1.65;
  margin: 0;
}

html[data-theme="dark"] .feature-item p {
  color: #94a3b8;
}

/* Lifecycle Steps */
.lifecycle-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  margin: 28px 0 48px;
}

.step-card {
  background: linear-gradient(145deg, #f8fafc 0%, #ffffff 100%);
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 28px 22px;
  transition: all 0.3s ease;
}

html[data-theme="dark"] .step-card {
  background: linear-gradient(145deg, #0b1329 0%, #0f172a 100%);
  border-color: rgba(255, 255, 255, 0.08);
}

.step-card:hover {
  border-color: #0284c7;
  transform: translateY(-2px);
}

.step-num {
  font-size: 26px;
  font-weight: 900;
  color: #0284c7;
  background: rgba(14, 165, 233, 0.12);
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

html[data-theme="dark"] .step-num {
  color: #38bdf8;
  background: rgba(14, 165, 233, 0.2);
}

.step-card h4 {
  font-size: 17px;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 8px;
}

html[data-theme="dark"] .step-card h4 {
  color: #f8fafc;
}

.step-card p {
  font-size: 13.5px;
  color: #64748b;
  line-height: 1.6;
  margin: 0;
}

html[data-theme="dark"] .step-card p {
  color: #94a3b8;
}

/* Tech Stack Badges - Clean Credibility Strip */
.tech-stack-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0 44px;
}

.tech-badge {
  font-size: 13px;
  font-weight: 600;
  color: #1e293b;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  padding: 8px 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer !important;
  user-select: none;
  transition: all 0.25s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.tech-badge::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0ea5e9;
  opacity: 0.75;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.tech-badge:hover,
.tech-badge.is-active {
  border-color: #38bdf8 !important;
  background: #f0f9ff !important;
  color: #0369a1 !important;
  box-shadow: 0 4px 14px rgba(14, 165, 233, 0.22) !important;
  transform: translateY(-2px);
}

.tech-badge:hover::before,
.tech-badge.is-active::before {
  opacity: 1;
  transform: scale(1.3);
}

html[data-theme="dark"] .tech-badge {
  color: #e2e8f0;
  background: rgba(15, 23, 42, 0.6);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"] .tech-badge:hover,
html[data-theme="dark"] .tech-badge.is-active {
  background: rgba(14, 165, 233, 0.18) !important;
  border-color: rgba(56, 189, 248, 0.6) !important;
  color: #38bdf8 !important;
  box-shadow: 0 4px 20px rgba(14, 165, 233, 0.3) !important;
}

/* ==========================================================================
   Interactive Tech Stack Popover Modal / Tooltip
   ========================================================================== */
.alola-tech-popover {
  position: fixed;
  z-index: 99998;
  width: 360px;
  max-width: calc(100vw - 32px);
  background: rgba(11, 23, 44, 0.96);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(56, 189, 248, 0.35);
  border-radius: 18px;
  padding: 22px 24px;
  box-shadow: 0 24px 60px rgba(2, 6, 23, 0.8), 0 0 30px rgba(14, 165, 233, 0.25);
  color: #f8fafc;
  opacity: 0;
  transform: scale(0.95) translateY(8px);
  pointer-events: none;
  transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.alola-tech-popover.is-visible {
  opacity: 1;
  transform: scale(1) translateY(0);
  pointer-events: auto;
}

.alola-tech-popover-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.alola-tech-popover-title-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

.alola-tech-popover-icon {
  font-size: 24px;
  line-height: 1;
}

.alola-tech-popover-title strong {
  display: block;
  font-size: 15.5px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.25;
}

.alola-tech-popover-cat {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.28);
  padding: 2px 8px;
  border-radius: 6px;
  margin-top: 4px;
}

.alola-tech-popover-close {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 18px;
  cursor: pointer;
  padding: 4px;
  line-height: 1;
  border-radius: 6px;
  transition: all 0.2s ease;
}

.alola-tech-popover-close:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
}

.alola-tech-popover-desc {
  font-size: 13.5px;
  line-height: 1.65;
  color: #cbd5e1;
  margin-bottom: 14px;
}

.alola-tech-popover-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 18px;
}

.alola-tech-benefit-pill {
  font-size: 11px;
  font-weight: 600;
  color: #34d399;
  background: rgba(16, 185, 129, 0.14);
  border: 1px solid rgba(16, 185, 129, 0.28);
  padding: 3px 9px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.alola-tech-popover-actions {
  display: flex;
  gap: 10px;
}

.alola-tech-action-chat {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: linear-gradient(135deg, #0284c7, #0369a1);
  color: #ffffff !important;
  font-size: 12.5px;
  font-weight: 700;
  padding: 9px 14px;
  border-radius: 9px;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(2, 132, 199, 0.3);
}

.alola-tech-action-chat:hover {
  background: linear-gradient(135deg, #0ea5e9, #0284c7);
  box-shadow: 0 6px 18px rgba(14, 165, 233, 0.45);
  transform: translateY(-1px);
}

.alola-tech-action-consult {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #cbd5e1 !important;
  font-size: 12px;
  font-weight: 600;
  padding: 9px 12px;
  border-radius: 9px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.alola-tech-action-consult:hover {
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.3);
}

/* ==========================================================================
   Header Services Mega-Dropdown Navigation
   ========================================================================== */
.nav-item-services {
  position: relative;
  padding-bottom: 10px;
  margin-bottom: -10px;
}

.nav-services-trigger {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.nav-chevron {
  font-size: 10px;
  transition: transform 0.25s ease;
  display: inline-block;
  opacity: 0.75;
}

.nav-item-services:hover .nav-chevron,
.nav-item-services.hover-active .nav-chevron,
.nav-item-services.is-open .nav-chevron {
  transform: rotate(180deg);
  opacity: 1;
}

/* Mega-dropdown panel: hidden by default on ALL screen sizes */
.services-dropdown-panel {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: -20px;
  width: 620px;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 18px;
  padding: 22px 24px 18px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.16), 0 0 1px rgba(0, 0, 0, 0.1);
  z-index: 9999;
}

/* Invisible hover bridge - eliminates any gap between nav item and dropdown */
.services-dropdown-panel::after {
  content: '';
  position: absolute;
  top: -24px;
  left: 0;
  width: 100%;
  height: 24px;
  background: transparent;
  pointer-events: auto;
}

html[lang="ar"] .services-dropdown-panel {
  left: auto;
  right: -20px;
}

/* Arrow indicator on desktop */
.services-dropdown-panel::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 45px;
  transform: rotate(45deg);
  width: 12px;
  height: 12px;
  background: #ffffff;
  border-top: 1px solid rgba(226, 232, 240, 0.95);
  border-left: 1px solid rgba(226, 232, 240, 0.95);
}

html[lang="ar"] .services-dropdown-panel::before {
  left: auto;
  right: 45px;
  border-left: none;
  border-right: 1px solid rgba(226, 232, 240, 0.95);
}

/* Desktop hover reveal with grace period */
@media (min-width: 1021px) {
  .nav-item-services:hover .services-dropdown-panel,
  .nav-item-services.hover-active .services-dropdown-panel,
  .nav-item-services:focus-within .services-dropdown-panel {
    display: block;
    animation: alolaDropdownFade 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  }
}

@keyframes alolaDropdownFade {
  0% {
    opacity: 0;
    transform: translateY(8px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Dark mode styling */
html[data-theme="dark"] .services-dropdown-panel {
  background: #0b1329 !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.75), 0 0 25px rgba(14, 165, 233, 0.12) !important;
}

html[data-theme="dark"] .services-dropdown-panel::before {
  background: #0b1329 !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

.services-dropdown-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.dropdown-category-title {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0284c7;
  margin-bottom: 10px;
  padding-left: 8px;
}

html[data-theme="dark"] .dropdown-category-title {
  color: #38bdf8;
}

html[lang="ar"] .dropdown-category-title {
  padding-left: 0;
  padding-right: 8px;
}

.dropdown-item-link {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 9px 12px !important;
  border-radius: 12px;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  background: transparent !important;
  color: inherit !important;
}

.dropdown-item-link:hover {
  background: #f1f5f9 !important;
  transform: translateX(3px);
}

html[data-theme="dark"] .dropdown-item-link:hover {
  background: rgba(255, 255, 255, 0.07) !important;
}

html[lang="ar"] .dropdown-item-link:hover {
  transform: translateX(-3px);
}

.dropdown-item-icon {
  font-size: 18px;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(14, 165, 233, 0.08);
  border: 1px solid rgba(14, 165, 233, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.dropdown-item-link:hover .dropdown-item-icon {
  transform: scale(1.08);
  background: rgba(14, 165, 233, 0.15);
}

.dropdown-item-text strong {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.25;
  margin-bottom: 2px;
}

html[data-theme="dark"] .dropdown-item-text strong {
  color: #f8fafc;
}

.dropdown-item-text small {
  display: block;
  font-size: 11px;
  color: #64748b;
  line-height: 1.3;
}

html[data-theme="dark"] .dropdown-item-text small {
  color: #94a3b8;
}

.services-dropdown-footer {
  border-top: 1px solid #e2e8f0;
  margin-top: 14px;
  padding-top: 12px;
  text-align: center;
}

html[data-theme="dark"] .services-dropdown-footer {
  border-top-color: rgba(255, 255, 255, 0.08);
}

.services-dropdown-footer a {
  font-size: 13px;
  font-weight: 700;
  color: #0284c7 !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
}

html[data-theme="dark"] .services-dropdown-footer a {
  color: #38bdf8 !important;
}

.services-dropdown-footer a:hover {
  gap: 10px;
}

/* Mobile viewport adjustments */
@media (max-width: 1020px) {
  .services-dropdown-panel {
    position: static;
    display: none;
    width: 100%;
    box-shadow: none;
    border: 1px solid rgba(14, 165, 233, 0.15);
    background: rgba(14, 165, 233, 0.03);
    border-radius: 14px;
    padding: 14px;
    margin-top: 8px;
  }
  .nav-item-services.is-open .services-dropdown-panel {
    display: block;
  }
  .services-dropdown-panel::before {
    display: none;
  }
  .services-dropdown-container {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}












/* ==========================================================================
   Enterprise Solutions & Products Architecture Styles (Solutions Hub & Single)
   ========================================================================== */

/* Solutions Hub Hero */
.solutions-hero, .products-hero {
  position: relative;
  padding: 100px 0 60px;
  background: radial-gradient(circle at 50% 20%, rgba(14, 165, 233, 0.12) 0%, rgba(2, 9, 20, 0.98) 70%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.solutions-hero-title, .products-hero-title {
  font-size: clamp(32px, 4.5vw, 52px);
  font-weight: 800;
  line-height: 1.15;
  color: #ffffff;
  margin-bottom: 20px;
  max-width: 860px;
}
.solutions-hero-lead, .products-hero-lead {
  font-size: 18px;
  line-height: 1.75;
  color: #94a3b8;
  max-width: 780px;
  margin-bottom: 32px;
}
.solutions-hero-stats, .products-hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 24px;
}
.hero-stat-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.7);
  border: 1px solid rgba(56, 189, 248, 0.22);
  backdrop-filter: blur(8px);
}
.hero-stat-pill strong {
  font-size: 18px;
  font-weight: 800;
  color: #38bdf8;
}
.hero-stat-pill span {
  font-size: 13px;
  color: #cbd5e1;
}

/* Solutions Grid */
.solutions-grid-section, .products-grid-section {
  padding: 80px 0;
  background: #020914;
}
.solutions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 30px;
}
.solution-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 34px 30px;
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(15, 23, 42, 0.8) 0%, rgba(7, 14, 28, 0.95) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.35);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.solution-card:hover {
  transform: translateY(-6px);
  border-color: rgba(56, 189, 248, 0.4);
  box-shadow: 0 20px 45px rgba(14, 165, 233, 0.15);
}
.solution-card-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}
.solution-card-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(14, 165, 233, 0.12);
  border: 1px solid rgba(14, 165, 233, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.solution-card-kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #38bdf8;
  text-transform: uppercase;
}
.solution-card-title {
  font-size: 21px;
  font-weight: 700;
  line-height: 1.35;
  color: #ffffff;
  margin-bottom: 14px;
}
.solution-card-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.solution-card-title a:hover {
  color: #38bdf8;
}
.solution-card-desc {
  font-size: 14.5px;
  line-height: 1.7;
  color: #94a3b8;
  margin-bottom: 20px;
  flex-grow: 1;
}
.solution-platform-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 10px;
  background: rgba(14, 165, 233, 0.08);
  border: 1px solid rgba(14, 165, 233, 0.18);
  margin-bottom: 16px;
  font-size: 13px;
}
.platform-label {
  color: #64748b;
  font-weight: 600;
}
.platform-link {
  color: #38bdf8;
  font-weight: 700;
  text-decoration: none;
}
.solution-capabilities {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 24px;
}
.cap-pill {
  font-size: 11.5px;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.05);
  color: #cbd5e1;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.solution-card-footer {
  margin-top: auto;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 18px;
}
.btn-solution-action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #38bdf8;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: gap 0.2s ease;
}
.btn-solution-action:hover {
  gap: 12px;
  color: #7dd3fc;
}

/* Solutions CTA Box */
.solutions-cta-section {
  padding: 60px 0 100px;
  background: #020914;
}
.solutions-cta-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 45px 50px;
  border-radius: 24px;
  background: linear-gradient(135deg, #0d1e38 0%, #061122 100%);
  border: 1px solid rgba(56, 189, 248, 0.25);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
}
.cta-box-copy {
  max-width: 680px;
}
.cta-box-copy .cta-kicker {
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: #38bdf8;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}
.cta-box-copy h2 {
  font-size: 26px;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 12px;
}
.cta-box-copy p {
  font-size: 15px;
  line-height: 1.7;
  color: #94a3b8;
  margin: 0;
}

/* Single Solution Blueprint Styles */
.solution-hero-compliance-card {
  padding: 26px 28px;
  border-radius: 18px;
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(56, 189, 248, 0.25);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);
  max-width: 440px;
}
.compliance-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  color: #ffffff;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.compliance-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.compliance-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  line-height: 1.6;
  color: #cbd5e1;
  margin-bottom: 10px;
}
.compliance-list li:last-child {
  margin-bottom: 0;
}
.compliance-list li span {
  color: #10b981;
  font-weight: 800;
}

/* 3-Pillar Matrix Grid */
.solution-matrix-section {
  padding: 70px 0;
  background: #020914;
}
.solution-matrix-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
@media (max-width: 991px) {
  .solution-matrix-grid {
    grid-template-columns: 1fr;
  }
}
.matrix-card {
  padding: 34px 28px;
  border-radius: 18px;
  background: linear-gradient(145deg, #0a1526 0%, #060e1a 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}
.matrix-card-kicker {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.card-challenge .matrix-card-kicker { color: #f59e0b; }
.card-resolution .matrix-card-kicker { color: #38bdf8; }
.card-roi .matrix-card-kicker { color: #10b981; }

.matrix-card h3 {
  font-size: 19px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 14px;
}
.matrix-card p {
  font-size: 14.5px;
  line-height: 1.75;
  color: #94a3b8;
  margin: 0;
}
.roi-metrics-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.roi-metrics-list li {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 13.5px;
  color: #cbd5e1;
}
.roi-metrics-list li:last-child {
  border-bottom: none;
}
.roi-metrics-list li strong {
  font-size: 18px;
  font-weight: 800;
  color: #10b981;
  min-width: 55px;
}

/* Solution Engine Box */
.solution-engine-section {
  padding: 40px 0 70px;
  background: #020914;
}
.solution-engine-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 40px 45px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.12) 0%, rgba(15, 23, 42, 0.8) 100%);
  border: 1px solid rgba(56, 189, 248, 0.28);
}
.engine-copy {
  max-width: 720px;
}
.engine-kicker {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: #38bdf8;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}
.engine-copy h2 {
  font-size: 26px;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 12px;
}
.engine-copy p {
  font-size: 15px;
  line-height: 1.7;
  color: #cbd5e1;
  margin-bottom: 18px;
}
.engine-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.engine-tag-pill {
  font-size: 12px;
  padding: 5px 12px;
  border-radius: 6px;
  background: rgba(14, 165, 233, 0.15);
  color: #7dd3fc;
  border: 1px solid rgba(56, 189, 248, 0.3);
  font-weight: 600;
}

/* Products Hub Showcase Grid */
.products-showcase-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 32px;
}
.enterprise-product-card {
  display: flex;
  flex-direction: column;
  padding: 38px 34px;
  border-radius: 22px;
  background: linear-gradient(145deg, #0d1a2d 0%, #060e1c 100%);
  border: 1px solid rgba(56, 189, 248, 0.18);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
  transition: transform 0.3s ease, border-color 0.3s ease;
}
.enterprise-product-card:hover {
  transform: translateY(-6px);
  border-color: rgba(56, 189, 248, 0.45);
}
.product-card-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.product-icon-wrap {
  font-size: 28px;
}
.product-kicker {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #38bdf8;
  text-transform: uppercase;
}
.product-title {
  font-size: 24px;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 14px;
}
.product-title a {
  color: inherit;
  text-decoration: none;
}
.product-excerpt {
  font-size: 14.5px;
  line-height: 1.7;
  color: #94a3b8;
  margin-bottom: 24px;
}
.product-features-checklist {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 28px;
  padding: 16px;
  border-radius: 12px;
  background: rgba(2, 9, 20, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.pf-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #e2e8f0;
}
.pf-item span {
  color: #38bdf8;
  font-weight: 800;
}
.product-card-bottom {
  margin-top: auto;
}
.btn-product-explore {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 12px 20px;
  border-radius: 10px;
  background: rgba(14, 165, 233, 0.12);
  border: 1px solid rgba(14, 165, 233, 0.35);
  color: #38bdf8;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.25s ease;
}
.btn-product-explore:hover {
  background: var(--primary, #0ea5e9);
  color: #ffffff;
  border-color: var(--primary, #0ea5e9);
}

/* RTL Adjustments */
[dir="rtl"] .solution-card-footer .btn-arrow,
[dir="rtl"] .btn-product-explore .btn-arrow,
[dir="rtl"] .btn-solution-action .btn-arrow {
  transform: rotate(180deg);
}


/* ==========================================================================
   Insights Knowledge Hub & Editorial Research Styles (home.php & single.php)
   ========================================================================== */
.insights-hero {
  position: relative;
  padding: 100px 0 60px;
  background: radial-gradient(circle at 50% 15%, rgba(124, 58, 237, 0.15) 0%, rgba(2, 9, 20, 0.98) 75%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.insights-hero-title {
  font-size: clamp(32px, 4.5vw, 50px);
  font-weight: 800;
  line-height: 1.15;
  color: #ffffff;
  margin-bottom: 18px;
  max-width: 860px;
}
.insights-hero-lead {
  font-size: 17.5px;
  line-height: 1.75;
  color: #94a3b8;
  max-width: 780px;
}
.insights-hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 24px;
}

/* Category Filter Bar */
.insights-filter-section {
  padding: 24px 0;
  background: #040c1a;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.insights-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.filter-pill {
  display: inline-flex;
  align-items: center;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: #94a3b8;
  text-decoration: none;
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: all 0.25s ease;
}
.filter-pill:hover, .filter-pill.active {
  color: #ffffff;
  background: rgba(14, 165, 233, 0.2);
  border-color: rgba(56, 189, 248, 0.4);
}

/* Articles Grid */
.insights-grid-section {
  padding: 70px 0;
  background: #020914;
}
.insights-articles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 30px;
}
@media (min-width: 992px) {
  .featured-insight-card {
    grid-column: span 2;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.9) 0%, rgba(20, 15, 38, 0.95) 100%) !important;
    border-color: rgba(168, 85, 247, 0.35) !important;
  }
}
.insight-article-card {
  display: flex;
  flex-direction: column;
  padding: 34px 30px;
  border-radius: 20px;
  background: linear-gradient(145deg, #0a1526 0%, #060e1a 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.35);
  transition: transform 0.3s ease, border-color 0.3s ease;
}
.insight-article-card:hover {
  transform: translateY(-5px);
  border-color: rgba(56, 189, 248, 0.4);
}
.insight-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.insight-category-tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #38bdf8;
  text-transform: uppercase;
  background: rgba(14, 165, 233, 0.1);
  border: 1px solid rgba(14, 165, 233, 0.25);
  padding: 4px 10px;
  border-radius: 6px;
}
.insight-read-time {
  font-size: 12px;
  color: #64748b;
}
.insight-card-title {
  font-size: 21px;
  font-weight: 700;
  line-height: 1.35;
  color: #ffffff;
  margin-bottom: 14px;
}
.insight-card-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.insight-card-title a:hover {
  color: #38bdf8;
}
.insight-card-excerpt {
  font-size: 14.5px;
  line-height: 1.7;
  color: #94a3b8;
  margin-bottom: 24px;
  flex-grow: 1;
}
.insight-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 18px;
  margin-top: auto;
}
.insight-author-info {
  display: flex;
  align-items: center;
  gap: 10px;
}
.author-avatar-badge {
  font-size: 20px;
}
.author-details {
  display: flex;
  flex-direction: column;
}
.author-name {
  font-size: 12.5px;
  color: #f1f5f9;
}
.author-role {
  font-size: 11px;
  color: #64748b;
}
.btn-read-insight {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #38bdf8;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  transition: gap 0.2s ease;
  white-space: nowrap;
}
.btn-read-insight:hover {
  gap: 10px;
  color: #7dd3fc;
}

/* Single Post Architecture Callout Box */
.insight-architecture-box {
  margin: 32px 0;
  padding: 24px 28px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.12) 0%, rgba(15, 23, 42, 0.8) 100%);
  border: 1px solid rgba(56, 189, 248, 0.3);
  border-inline-start: 4px solid #0ea5e9;
}
.insight-architecture-box h4 {
  font-size: 17px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 8px;
}
.insight-architecture-box p {
  font-size: 14.5px;
  line-height: 1.7;
  color: #cbd5e1;
  margin: 0;
}
