.signal-summary-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  line-clamp: 5;
  overflow: hidden;
  max-height: 6.5em;
}

.signal-subject-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  max-height: 2.8em;
}
/* home.css - hero, ticker, carousel */

/* Hero Video Section */
.hero-section {
  position: relative;
  height: 100vh;
  height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 50%, #0a0a0a 100%);
}

.hero-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  object-position: center center;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.45s ease;
}

.hero-video.is-active {
  opacity: 0.92;
}

.hero-video-backdrop {
  display: none;
}

.hero-overlay {
  position: absolute;
  top: 0;
  /* home.css - hero, ticker, carousel */

  /* Hero Video Section */
  left: 0;
  right: 0;
    font-weight: 500 ;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.15) 50%, rgba(0, 0, 0, 0.3) 100%);
  z-index: 1;
}

.hero-slider-controls {
    font-weight: 500 ;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.hero-slider-arrow {
  position: absolute;
    font-weight: 500 ;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  border-radius: 0;
      font-size: 1.22rem ;
      font-weight: 500 ;
  font-size: 56px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.25s ease;
  padding: 0;
  pointer-events: auto;
}

.hero-slider-arrow-prev {
  left: 22px;
}

.hero-slider-arrow-next {
  right: 22px;
}

.hero-slider-arrow:hover,
.hero-slider-arrow:focus-visible {
  color: var(--color-primary);
  transform: translateY(-50%) scale(1.04);
  outline: none;
}

.hero-slider-dots {
  position: absolute;
  left: 50%;
  bottom: 36px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 10px;
  pointer-events: auto;
}

.hero-slider-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.8);
  background: transparent;
  cursor: pointer;
  transition: all 0.25s ease;
}

.hero-slider-dot.active,
.hero-slider-dot:hover,
.hero-slider-dot:focus-visible {
  background: var(--gold-gradient);
  border-color: var(--color-primary);
  transform: scale(1.15);
  outline: none;
}

@media (max-width: 768px) {
  .hero-section {
    background: linear-gradient(135deg, #0f1822 0%, #182432 50%, #0f1822 100%);
  }

  .hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    background: transparent;
  }

  .hero-video.is-active {
    opacity: 1;
  }

  .hero-overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.08) 50%, rgba(0, 0, 0, 0.16) 100%);
  }

  .hero-slider-arrow {
    font-size: 42px;
  }

  .hero-slider-arrow-prev {
    left: 12px;
  }

  .hero-slider-arrow-next {
    right: 12px;
  }

  .hero-slider-dots {
    bottom: 20px;
    gap: 8px;
  }

  .hero-slider-dot {
    width: 9px;
    height: 9px;
  }
}

.hero-grid-lines {
  position: absolute;
  right: var(--spacing-3xl);
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  gap: var(--spacing-md);
  z-index: 1;
}

.hero-grid-lines span {
  width: 1px;
  height: 200px;
  background: linear-gradient(to bottom, transparent, var(--color-primary), transparent);
  animation: pulse 3s ease-in-out infinite;
}

.hero-grid-lines span:nth-child(2) {
  animation-delay: 0.5s;
}

.hero-grid-lines span:nth-child(3) {
  animation-delay: 1s;
}

@keyframes pulse {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 1; }
}

.hero-content {
  position: relative;
  z-index: 2;
  text-align: left;
  max-width: 900px;
  padding: 0 var(--spacing-lg);
}

.hero-content h1 {
  font-size: var(--font-size-4xl);
  font-weight: 700;
  margin-bottom: var(--spacing-lg);
  line-height: 1.1;
}

.hero-subheading {
  font-size: var(--font-size-xl);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-2xl);
}

.hero-actions {
  display: flex;
  gap: var(--spacing-md);
  justify-content: flex-start;
  flex-wrap: wrap;
}

/* Ticker Section */
.ticker-section {
  position: relative;
  background-color: #001D3D;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.ticker-progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 2px;
  background: var(--gold-gradient);
  width: 0%;
  transition: width 0.1s linear;
}

.ticker-inner {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: var(--spacing-md) var(--spacing-lg);
  display: grid;
  grid-template-columns: 150px 1fr auto auto;
  gap: var(--spacing-lg);
  align-items: center;
}

.ticker-location {
  font-weight: 600;
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.ticker-message {
  overflow: hidden;
}

.ticker-text {
  display: block;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  white-space: nowrap;
}

.ticker-cta {
  font-size: var(--font-size-xs);
  color: var(--color-primary);
  white-space: nowrap;
  font-weight: 500;
}

.ticker-controls {
  display: flex;
  gap: var(--spacing-xs);
}

.ticker-arrow {
  width: 32px;
  height: 32px;
  border: 1px solid var(--color-border-light);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-fast);
  font-size: var(--font-size-lg);
}

.ticker-arrow:hover {
  background-color: var(--color-hover);
  border-color: var(--color-primary);
  color: var(--color-primary);
}

/* Featured Slider Section */
.featured-slider-section {
  padding: var(--spacing-3xl) 0;
  background-image: url('../../assets/images/slider-bg.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  position: relative;
}

.slider-wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-2xl);
  align-items: center;
  z-index: 1;
}

.slider-content {
  position: relative;
  min-height: 400px;
}

.slide {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition-slow);
}

.slide.active {
  opacity: 1;
  visibility: visible;
  position: relative;
}

.slide-eyebrow {
  font-size: var(--font-size-xs);
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: var(--spacing-sm);
}

.slide-title {
  font-size: var(--font-size-3xl);
  margin-bottom: var(--spacing-sm);
}

.slide-subtitle {
  font-size: var(--font-size-lg);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-md);
}

.slide-text {
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-lg);
  line-height: 1.7;
}

  .slide-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-md);
  }

  .btn-capsule {
    display: inline-flex;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-lg);
    background: var(--gold-gradient);
    border: none;
    border-radius: 50px;
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: #000;
    text-decoration: none;
    transition: all var(--transition-fast);
    cursor: pointer;
    position: relative;
    overflow: hidden;
  }

  .btn-capsule::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.2);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
    pointer-events: none;
  }

  .btn-capsule:hover {
    background: var(--gold-gradient);
    color: #000;
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(244, 226, 154, 0.3);
  }

  .btn-capsule:hover::before {
    width: 200px;
    height: 200px;
  }

  .btn-capsule:active {
    transform: translateY(0);
  }

  .slide-nav-arrows {
    display: flex;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-xs);
  }

  .slide-nav-arrow {
    width: 40px;
    height: 40px;
    background-color: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: var(--font-size-2xl);
    color: var(--color-text);
    transition: all var(--transition-fast);
    padding: 0;
  }

  .slide-nav-arrow:hover {
    color: var(--color-primary);
    transform: scale(1.2);
  }

.slider-images {
  position: relative;
  height: 500px;
}

.slider-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity var(--transition-slow);
}

.slider-image.active {
  opacity: 1;
}

.slider-controls {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  gap: var(--spacing-xs);
}

.slider-arrow {
  width: 48px;
  height: 48px;
  background-color: #FFFFFF;
  border: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-fast);
  font-size: var(--font-size-xl);
}

.slider-arrow:hover {
  background: var(--gold-gradient);
  border-color: var(--color-primary);
  transform: scale(1.1);
}


/* ============================================
   Live Intelligence Section (Dark Theme)
   ============================================ */

.li-section {
  background: #05193f;
  padding: var(--spacing-3xl) 0;
}

.li-toprow {
  display: grid;
  grid-template-columns: 55% 45%;
  gap: var(--spacing-2xl);
  align-items: start;
  margin-bottom: var(--spacing-xl);
}

.li-title {
  font-size: clamp(2.2rem, 3.5vw, 3.2rem);
  font-weight: 300;
  color: #fff;
  line-height: 1.08;
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: -0.01em;
  margin: 0;
}

.li-subtitle {
  font-size: clamp(0.9rem, 1.25vw, 1rem);
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.7;
  padding-top: 0.4rem;
}

/* ---- Ticker bar ---- */
.li-ticker-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(5, 25, 63, 0.85);
  border: 1px solid rgba(76, 201, 240, 0.2);
  border-radius: 8px;
  padding: 9px 16px;
  margin-bottom: 14px;
  overflow: hidden;
}

.li-live-badge {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: #4ade80;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
}

.li-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4ade80;
  flex-shrink: 0;
  animation: livePulse 1.6s ease-in-out infinite;
}

@keyframes livePulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.3; transform: scale(0.65); }
}

.li-ticker-track {
  flex: 1;
  overflow: hidden;
  position: relative;
}

.li-ticker-track::before,
.li-ticker-track::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 36px;
  z-index: 2;
  pointer-events: none;
}

.li-ticker-track::before {
  left: 0;
  background: linear-gradient(to right, rgba(5, 25, 63, 0.95), rgba(5, 25, 63, 0));
}

.li-ticker-track::after {
  right: 0;
  background: linear-gradient(to left, rgba(5, 25, 63, 0.95), rgba(5, 25, 63, 0));
}

.li-ticker-inner {
  display: inline-flex;
  gap: 48px;
  animation: tickerScroll 45s linear infinite;
  white-space: nowrap;
}

.li-ticker-inner:hover { animation-play-state: paused; }

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

.li-ticker-item {
  font-size: 0.66rem;
  color: rgba(255, 255, 255, 0.38);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex-shrink: 0;
}

.li-ticker-country {
  font-weight: 700;
  color: rgba(176, 224, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.li-ticker-sep { color: rgba(76, 201, 240, 0.4); }

/* ---- Grid ---- */
.li-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
  align-items: stretch;
}

.li-card {
  background: #05172f;
  border: 1px solid rgba(76, 201, 240, 0.18);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(40, 98, 170, 0.12);
}

/* ---- Col 1: Slideshow ---- */
.li-slideshow-card {
  display: flex;
  flex-direction: column;
  min-height: 400px;
}

.li-card-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(76, 201, 240, 0.14);
  flex-shrink: 0;
}

.li-bar-label {
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(176, 224, 255, 0.85);
  display: flex;
  align-items: center;
  gap: 7px;
}

.li-bar-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4ade80;
  animation: livePulse 1.6s ease-in-out infinite;
}

.li-bar-time {
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(176, 224, 255, 0.55);
  font-family: monospace;
}

.li-slides-container {
  position: relative;
  flex: 1;
  overflow: hidden;
  background: #050e20;
  min-height: 300px;
}

.li-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.9s ease;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.li-slide.active { opacity: 1; }

.li-slide-bg {
  position: absolute;
  inset: 0;
}

.li-slide-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.055) 1px, transparent 1px);
  background-size: 22px 22px;
  pointer-events: none;
}

.li-slide-scan {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 0%, rgba(76,201,240,0.05) 50%, transparent 100%);
  animation: liScanLine 4.5s ease-in-out infinite;
  pointer-events: none;
}

@keyframes liScanLine {
  0% { transform: translateY(-110%); }
  100% { transform: translateY(210%); }
}

.li-slide-pulse-dot {
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(248, 113, 113, 0.95);
  z-index: 2;
  animation: slideDotPulse 2.2s ease-in-out infinite;
}

@keyframes slideDotPulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(248,113,113,0.55), 0 0 10px rgba(248,113,113,0.35); }
  50% { transform: scale(1.35); box-shadow: 0 0 0 10px rgba(248,113,113,0), 0 0 20px rgba(248,113,113,0.15); }
}

.li-slide-overlay {
  position: relative;
  z-index: 3;
  background: linear-gradient(to top, rgba(4,10,24,0.96) 0%, rgba(4,10,24,0.75) 55%, transparent 100%);
  padding: 44px 18px 16px;
}

.li-slide-risk {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.li-slide-badge {
  font-size: 0.55rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  padding: 3px 8px;
  border-radius: 3px;
  color: #fff;
  text-transform: uppercase;
  flex-shrink: 0;
}

.li-slide-location {
  font-size: 0.62rem;
  color: rgba(255,255,255,0.48);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.li-slide-headline {
  font-size: clamp(0.88rem, 1.25vw, 1.05rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.34;
  font-family: Georgia, 'Times New Roman', serif;
  margin: 0 0 8px;
  text-shadow: 0 2px 14px rgba(0,0,0,0.95);
}

.li-slide-timestamp {
  font-size: 0.58rem;
  color: rgba(255,255,255,0.28);
  font-family: monospace;
  letter-spacing: 0.06em;
}

.li-slide-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: rgba(4,12,28,0.7);
  border-top: 1px solid rgba(76,201,240,0.1);
  flex-shrink: 0;
}

.li-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
  flex-shrink: 0;
}

.li-dot.active {
  background: rgba(76,201,240,0.85);
  transform: scale(1.5);
}

.li-dot:hover { background: rgba(255,255,255,0.4); }

/* ---- Col 2: Featured Headline ---- */
.li-critical-card {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: rgba(7,20,39,0.96);
  border: 1px solid rgba(76,201,240,0.14);
  border-radius: 12px;
  min-height: 400px;
}

.li-critical-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.li-critical-badge {
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 4px 10px;
  border-radius: 4px;
  background: #ef4444;
  color: #fff;
  transition: background 0.4s ease;
}

.li-critical-time {
  font-size: 0.65rem;
  color: rgba(255,255,255,0.28);
  font-family: monospace;
}

.li-featured-location {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(76,201,240,0.7);
}

.li-critical-title {
  font-size: clamp(1.1rem, 1.9vw, 1.45rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.28;
  font-family: Georgia, 'Times New Roman', serif;
  margin: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.li-critical-body {
  font-size: 0.8rem;
  color: rgba(255,255,255,0.48);
  line-height: 1.6;
  margin: 0;
  flex: 1;
  transition: opacity 0.25s ease;
}

.li-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 4px;
}

.li-tag {
  font-size: 0.6rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.38);
  background: transparent;
}

.li-read-signal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #000;
  text-decoration: none;
  margin-top: auto;
  align-self: center;
  padding: 9px 18px;
  border: 1px solid rgba(244, 226, 154, 0.72);
  border-radius: 50px;
  background: var(--gold-gradient);
  box-shadow: 0 4px 20px rgba(212, 175, 55, 0.22), inset 0 1px 0 rgba(244, 226, 154, 0.5);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, background 0.35s ease, color 0.35s ease;
}

.li-read-signal::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.45) 42%, transparent 72%);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
  pointer-events: none;
}

.li-read-signal:hover {
  background: var(--gold-gradient-hover);
  border-color: var(--color-primary-light);
  color: #000;
  box-shadow: var(--gold-glow-strong), inset 0 1px 0 rgba(255, 255, 255, 0.55);
  transform: translateY(-3px) scale(1.015);
}

.li-read-signal:hover::before {
  width: 300px;
  height: 300px;
}

.li-read-signal:active {
  transform: translateY(0);
}

/* ---- Col 3: Status + Secondary ---- */
.li-right-col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.li-status-card {
  padding: 16px 18px;
  background: rgba(7,20,39,0.96);
  border: 1px solid rgba(76,201,240,0.14);
  border-radius: 12px;
}

.li-status-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.li-status-label {
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: rgba(176,224,255,0.55);
}

.li-status-active {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #4ade80;
  text-transform: uppercase;
}

.li-status-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.li-status-metric {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.li-status-number {
  font-size: clamp(1.9rem, 3vw, 2.8rem);
  font-weight: 700;
  color: #fff;
  line-height: 1;
  font-family: Georgia, 'Times New Roman', serif;
}

.li-status-text {
  font-size: 0.56rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.28);
}

.li-secondary-card {
  padding: 13px 15px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: rgba(7,20,39,0.96);
  border: 1px solid rgba(76,201,240,0.12);
  border-radius: 12px;
}

.li-secondary-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2px;
}

.li-badge {
  font-size: 0.58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  border-radius: 3px;
  color: #fff;
}

.li-badge--elevated { background: #b45309; }
.li-badge--advisory { background: #78530a; }
.li-badge--watch    { background: #7c3205; }
.li-critical--critical, .li-badge--critical { background: #dc2626; color: #fff; }
.li-critical--high, .li-badge--high         { background: #ea580c; color: #fff; }
.li-critical--medium, .li-badge--medium     { background: #ca8a04; color: #fff; }
.li-critical--low, .li-badge--low,
.li-critical--monitor, .li-badge--monitor   { background: #2563eb; color: #fff; }

.li-secondary-time {
  font-size: 0.62rem;
  color: rgba(255,255,255,0.25);
  font-family: monospace;
}

.li-secondary-location {
  font-size: 0.88rem;
  font-weight: 600;
  color: rgba(255,255,255,0.78);
}

.li-secondary-desc {
  font-size: 0.73rem;
  color: rgba(255,255,255,0.38);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

/* Active Intelligence Alerts Section */
.intelligence-alerts-section {
  background: #05193f;
  padding: var(--spacing-lg) 0;
  overflow: hidden;
}

.intelligence-alerts-section .container {
  position: relative;
  z-index: 1;
}

.alerts-wrapper {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 0 var(--spacing-2xl);
  align-items: start;
  margin-top: var(--spacing-3xl);
}

.alerts-divider {
  width: 1px;
  align-self: stretch;
  background: linear-gradient(to bottom, transparent 0%, rgba(10, 22, 40, 0.15) 20%, rgba(10, 22, 40, 0.22) 50%, rgba(10, 22, 40, 0.15) 80%, transparent 100%);
  margin: 0;
}

.alerts-content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
  max-width: none;
  width: 100%;
  margin-left: 0;
  text-align: left;
}

.alerts-title {
  font-size: clamp(2.3rem, 3.4vw, 3.4rem);
  font-weight: 600;
  white-space: nowrap;
  margin-bottom: var(--spacing-md);
  line-height: 1.2;
  color: #ffffff;
}

.alerts-subtitle {
  font-size: clamp(1.15rem, 1.45vw, 1.38rem);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-xl);
  line-height: 1.4;
}

.alerts-status {
  margin-bottom: var(--spacing-lg);
}

.status-indicator {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-sm);
  font-size: clamp(1.05rem, 1.3vw, 1.2rem);
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
}

.status-icon {
  display: inline-block;
  width: 12px;
  height: 12px;
  background-color: #00FF88;
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(0, 255, 136, 0.6);
  animation: pulse-glow 1.2s steps(1, end) infinite;
}

@keyframes pulse-glow {
  0%, 49% {
    opacity: 1;
    transform: scale(1);
    background-color: #00FF88;
    box-shadow: 0 0 12px rgba(0, 255, 136, 0.65);
  }
  50%, 100% {
    opacity: 1;
    transform: scale(1);
    background-color: #FF3B30;
    box-shadow: 0 0 12px rgba(255, 59, 48, 0.65);
  }
}

.alerts-description {
  font-size: clamp(1.05rem, 1.3vw, 1.18rem);
  color: var(--color-text-secondary);
  line-height: 1.6;
}

/* Dotted Orbit Effect */

.alerts-card-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  margin-left: 0;
}

.alert-card {
  --alert-border-cycle: 3.2s;
  --electric-color: #00eaff;
  --electric-color-soft: rgba(0, 170, 255, 0.45);
  --electric-color-glow: rgba(0, 234, 255, 0.75);
  width: 100%;
  max-width: 520px;
  min-height: 340px;
  height: 340px;
  background: linear-gradient(135deg, rgba(0, 55, 28, 0.97) 0%, rgba(0, 30, 14, 0.99) 100%);
  border: 1.5px solid var(--electric-color-soft);
  border-radius: 12px;
  padding: 22px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  transition: border-color var(--transition-base);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  margin: 0 auto;
}

.alert-card.alert-high {
  --electric-color: #ff1493;
  --electric-color-soft: rgba(255, 20, 147, 0.45);
  --electric-color-glow: rgba(255, 20, 147, 0.75);
}

.alert-card.alert-moderate {
  --electric-color: #8C6A1D;
  --electric-color-soft: rgba(255, 179, 71, 0.45);
  --electric-color-glow: rgba(255, 179, 71, 0.75);
}

.alert-card.alert-low {
  --electric-color: #00ff64;
  --electric-color-soft: rgba(0, 255, 100, 0.45);
  --electric-color-glow: rgba(0, 255, 100, 0.75);
}

.alert-card.alert-critical {
  --electric-color: #ff0000;
  --electric-color-soft: rgba(255, 0, 0, 0.45);
  --electric-color-glow: rgba(255, 0, 0, 0.75);
}

.alert-card::before {
  content: none;
}

.alert-card::after {
  content: none;
}

/* Orbit dots */
.orbit-dot {
  display: none;
}

.orbit-dot-1,
.orbit-dot-2,
.orbit-dot-3,
.orbit-dot-4 {
  animation: none;
}

.alert-electric-frame {
  display: none;
}

.alert-electric-frame rect {
  fill: none;
  vector-effect: non-scaling-stroke;
}

/* Pulse rings */
.pulse-ring {
  display: none;
}

.flag-corner {
  margin-left: auto;
  width: 38px;
  height: 28px;
  flex: 0 0 auto;
  display: block;
  border-radius: 4px;
  border: 1.5px solid var(--electric-color-soft);
  box-shadow: 
    0 0 12px 2px var(--electric-color-glow),
    inset 0 0 8px rgba(255, 255, 255, 0.05);
  object-fit: cover;
  object-position: center;
  animation: none;
}

@keyframes flag-blink {
  0%, 100% {
    opacity: 1;
    box-shadow: 
      0 0 12px 2px var(--electric-color-glow),
      inset 0 0 8px rgba(255, 255, 255, 0.05);
  }
  50% {
    opacity: 0.3;
    box-shadow: 
      0 0 20px 4px var(--electric-color-glow),
      inset 0 0 16px rgba(255, 255, 255, 0.1);
  }
}

.alert-card > *:not(.alert-electric-frame):not(.orbit-dot):not(.flag-corner) {
  position: relative;
  z-index: 3;
}

@keyframes orbit-travel {
  from { offset-distance: 0%; }
  to   { offset-distance: 100%; }
}

@keyframes neon-pulse {
  0%, 74% {
    box-shadow: 
      0 0 4px 1px var(--electric-color-soft),
      0 0 8px 2px rgba(0, 0, 0, 0.2),
      inset 0 0 4px 0px rgba(255, 255, 255, 0.02);
  }
  75% {
    box-shadow: 
      0 0 8px 2px var(--electric-color),
      0 0 16px 4px var(--electric-color-glow),
      inset 0 0 8px 1px rgba(255, 255, 255, 0.05);
  }
  87% {
    box-shadow: 
      0 0 16px 4px var(--electric-color),
      0 0 32px 8px var(--electric-color-glow),
      inset 0 0 16px 2px rgba(255, 255, 255, 0.15);
  }
  100% {
    box-shadow: 
      0 0 4px 1px var(--electric-color-soft),
      0 0 8px 2px rgba(0, 0, 0, 0.2),
      inset 0 0 4px 0px rgba(255, 255, 255, 0.02);
  }
}

@keyframes pulse-ring-expand {
  0% { inset: -2px; opacity: 0.8; }
  100% { inset: -18px; opacity: 0; }
}

@keyframes alert-electric-glow-pulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.75; }
}

.alert-card:hover {
  border-color: var(--electric-color);
}

.alert-header {
  margin-bottom: var(--spacing-md);
}

.alert-location {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  justify-content: space-between;
}

.flag-icon {
  font-size: 24px;
  line-height: 1;
}

.location-text {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-text);
  min-width: 0;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: calc(100% - 48px);
}

.alert-type {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-md);
}

.alert-icon {
  color: #4CC9F0;
  font-size: 18px;
}

.alert-label {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--color-text);
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 65%;
}

.alert-badge {
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.alert-badge-high {
  background-color: rgba(255, 20, 147, 0.2);
  color: #ff1493;
  border: 1px solid rgba(255, 20, 147, 0.4);
}

.alert-badge-low {
  background-color: rgba(0, 255, 100, 0.2);
  color: #00ff64;
  border: 1px solid rgba(0, 255, 100, 0.4);
}

.alert-badge-moderate {
  background-color: rgba(255, 179, 71, 0.2);
  color: #8C6A1D;
  border: 1px solid rgba(255, 179, 71, 0.4);
}

.alert-badge-elevated {
  background-color: rgba(0, 225, 255, 0.18);
  color: #00E1FF;
  border: 1px solid rgba(0, 225, 255, 0.45);
}

.alert-badge-critical {
  background-color: rgba(255, 0, 0, 0.2);
  color: #ff0000;
  border: 1px solid rgba(255, 0, 0, 0.4);
}

.alert-message {
  font-size: 0.95rem;
  color: var(--color-text-secondary);
  line-height: 1.5;
  margin-bottom: var(--spacing-md);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  line-clamp: 5;
  overflow: hidden;
  max-height: 6.5em;
}

.alert-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 53, 102, 0.5);
  margin-top: auto;
}

.alert-card, .alert-intel-card {
  --alert-border-cycle: 3.2s;
  --electric-color: #00eaff;
  --electric-color-soft: rgba(0, 170, 255, 0.45);
  --electric-color-glow: rgba(0, 234, 255, 0.75);
  width: 100%;
  max-width: 520px;
  min-height: 340px;
  height: 340px;
  max-height: 340px;
  background: linear-gradient(135deg, rgba(0, 55, 28, 0.97) 0%, rgba(0, 30, 14, 0.99) 100%);
  border: 1.5px solid var(--electric-color-soft);
  border-radius: 12px;
  padding: 22px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  transition: border-color var(--transition-base);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  margin: 0 auto;
}

.alert-cta:hover {
  color: #000000;
  background: var(--gold-gradient);
  border-color: var(--color-primary);
  box-shadow: 0 0 14px rgba(212, 175, 55, 0.35);
}

.alert-cta:hover::after {
  transform: scale(1.08);
  background-color: rgba(0, 0, 0, 0.08);
}

/* Responsive */
@media (max-width: 1024px) {
  .li-toprow {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }

  .li-grid {
    grid-template-columns: 1fr 1fr;
  }

  .li-right-col {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .li-right-col .li-status-card {
    flex: 1;
    min-width: 180px;
  }

  #liSecondaryStack {
    flex: 3;
    min-width: 280px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }

  .alerts-wrapper {
    grid-template-columns: 1fr;
    gap: var(--spacing-2xl);
  }

  .alerts-content {
    max-width: 100%;
    margin-left: 0;
    text-align: left;
  }

  .status-indicator {
    justify-content: flex-start;
  }

  .alerts-card-wrapper {
    margin-left: 0;
  }

  .exec-brief-panel {
    padding: 1.5rem;
  }
}

@media (max-width: 768px) {
  .alerts-wrapper {
    justify-items: center;
    gap: 24px;
  }

  .li-grid {
    grid-template-columns: 1fr;
  }

  .li-right-col {
    grid-column: auto;
    flex-direction: column;
  }

  .li-right-col .li-status-card {
    flex: none;
    min-width: 0;
  }

  #liSecondaryStack {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
  }

  .li-ticker-bar {
    padding: 8px 12px;
  }

  .li-ticker-country {
    display: none;
  }

  .alerts-divider {
    display: none;
  }

  .alerts-content {
    margin-left: 0;
    max-width: 560px;
    width: 100%;
    margin-right: 0;
    text-align: left;
  }

  .alerts-title {
    font-size: clamp(1.45rem, 5.8vw, 1.95rem);
    line-height: 1.22;
    white-space: normal;
    margin-bottom: 10px;
  }

  .alerts-subtitle {
    font-size: clamp(0.98rem, 3.9vw, 1.12rem);
    line-height: 1.5;
    margin-bottom: 14px;
  }

  .status-indicator {
    font-size: 0.92rem;
    line-height: 1.35;
  }

  .alerts-description {
    font-size: 0.94rem;
    line-height: 1.55;
  }
  
  .alert-card {
    display: flex;
    flex-direction: column;
    padding: 14px;
    min-height: 340px;
    height: 340px;
    width: 100%;
    max-width: 100%;
  }
  
  .location-text {
    font-size: 0.98rem;
  }

  .alert-label,
  .alert-message {
    font-size: 0.88rem;
    line-height: 1.45;
  }

  .alert-message {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    overflow: hidden;
  }
  
  .alert-footer {
    flex-direction: column;
    gap: var(--spacing-sm);
    align-items: flex-start;
    margin-top: auto;
  }

  .alert-timestamp {
    font-size: 0.74rem;
  }

  .alert-cta {
    font-size: 0.82rem;
  }

  .alerts-card-wrapper {
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
    justify-content: center;
    align-items: stretch;
  }

  .signal-card {
    width: 100%;
    max-width: 100%;
    padding: 14px;
    min-height: 340px;
    height: 340px;
  }

  .signal-card-header {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .signal-timestamp {
    margin-left: auto;
  }

  .signal-summary {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    overflow: hidden;
  }

  .signal-card-footer {
    margin-top: auto;
  }
}

/* ─── Executive Signals Card ─────────────────────────────── */

.signal-status-icon {
  animation: signal-pulse 1.6s steps(1, end) infinite;
}

@keyframes signal-pulse {
  0%, 49% {
    opacity: 1;
    background-color: #003399;
    box-shadow: 0 0 12px rgba(0, 51, 153, 0.7);
  }
  50%, 100% {
    opacity: 1;
    background-color: #FF3B30;
    box-shadow: 0 0 12px rgba(255, 59, 48, 0.65);
  }
}

.signal-status-indicator {
  color: rgba(255, 255, 255, 0.85);
}

.signal-card {
  --signal-color: #D4AF37;
  --signal-color-soft: rgba(212, 175, 55, 0.35);
  --signal-color-glow: rgba(212, 175, 55, 0.65);
  width: 100%;
  max-width: 520px;
  min-height: 340px;
  height: 340px;
  background: linear-gradient(135deg, rgba(0, 18, 60, 0.97) 0%, rgba(0, 8, 35, 0.99) 100%);
  border: 1.5px solid var(--signal-color-soft);
  border-radius: 12px;
  padding: 22px;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(212, 175, 55, 0.06) inset;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  margin: 0 auto;
}

.signal-card::before {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 160px;
  height: 160px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.1) 0%, transparent 70%);
  pointer-events: none;
}

.signal-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 12px;
  border: 1.5px solid transparent;
  background: linear-gradient(135deg, var(--signal-color-soft), transparent 60%) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite: exclude;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.signal-card:hover {
  border-color: var(--signal-color);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.4),
    0 0 20px var(--signal-color-glow);
}

.signal-card:hover::after {
  opacity: 1;
}

/* Signal card — assessment variants */
.signal-card.signal-geopolitical  { --signal-color: #D4AF37; --signal-color-soft: rgba(212, 175, 55,0.35); --signal-color-glow: rgba(212, 175, 55,0.65); }
.signal-card.signal-economic      { --signal-color: #4ade80; --signal-color-soft: rgba(74,222,128,0.28); --signal-color-glow: rgba(74,222,128,0.6); }
.signal-card.signal-operational   { --signal-color: #38bdf8; --signal-color-soft: rgba(56,189,248,0.3);  --signal-color-glow: rgba(56,189,248,0.6); }
.signal-card.signal-strategic     { --signal-color: #a78bfa; --signal-color-soft: rgba(167,139,250,0.3); --signal-color-glow: rgba(167,139,250,0.6); }
.signal-card.signal-crisis        { --signal-color: #f87171; --signal-color-soft: rgba(248,113,113,0.35); --signal-color-glow: rgba(248,113,113,0.65); }
.signal-card.signal-advisory      { --signal-color: #fb923c; --signal-color-soft: rgba(251,146,60,0.3);  --signal-color-glow: rgba(251,146,60,0.6); }

/* Header row */
.signal-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
}

.signal-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.signal-type-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  background-color: rgba(212, 175, 55, 0.15);
  color: var(--signal-color, #D4AF37);
  border: 1px solid rgba(212, 175, 55, 0.3);
}

.signal-classification {
  display: inline-block;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 3px;
  padding: 1px 5px;
}

.signal-timestamp {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.32);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}

/* Body */
.signal-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.signal-subject {
  font-size: 1.08rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
  margin: 0;
  letter-spacing: -0.01em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  max-height: calc(1.3em * 2);
}

.signal-summary {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.58);
  line-height: 1.6;
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  line-clamp: 5;
  overflow: hidden;
  max-height: calc(1.6em * 5);
}

/* Footer */
.signal-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  gap: 0.5rem;
  margin-top: auto;
}

.signal-source {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.signal-source-label {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.35);
  font-weight: 500;
}

.signal-assessment-badge {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 4px;
}

.signal-assessment--critical {
  background-color: rgba(248, 113, 113, 0.15);
  color: #f87171;
  border: 1px solid rgba(248, 113, 113, 0.3);
}

.signal-assessment--elevated {
  background-color: rgba(212, 175, 55, 0.15);
  color: #D4AF37;
  border: 1px solid rgba(212, 175, 55, 0.3);
}

.signal-assessment--moderate {
  background-color: rgba(251, 146, 60, 0.15);
  color: #fb923c;
  border: 1px solid rgba(251, 146, 60, 0.3);
}

.signal-assessment--standard {
  background-color: rgba(74, 222, 128, 0.12);
  color: #4ade80;
  border: 1px solid rgba(74, 222, 128, 0.25);
}

.signal-assessment--advisory {
  background-color: rgba(167, 139, 250, 0.15);
  color: #a78bfa;
  border: 1px solid rgba(167, 139, 250, 0.3);
}

.signal-assessment--informational {
  background-color: rgba(56, 189, 248, 0.12);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.25);
}

.signal-card {
  width: 100%;
  max-width: 100%;
  min-height: 340px;
  height: 340px;
  max-height: 340px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.signal-cta::after {
  content: '\2192';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 11px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.signal-cta:hover {
  color: #000;
  background-color: var(--signal-color, #D4AF37);
  border-color: var(--signal-color, #D4AF37);
  box-shadow: 0 0 14px var(--signal-color-glow, rgba(212, 175, 55, 0.5));
}

.signal-cta:hover::after {
  transform: translateX(2px);
}

/* ─── Executive Brief Panel ─────────────────────────────── */

.exec-brief-panel {
  background: linear-gradient(160deg, rgba(2, 18, 40, 0.97) 0%, rgba(0, 8, 22, 0.99) 100%);
  border: 1px solid rgba(0, 225, 255, 0.11);
  border-radius: 14px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  box-shadow:
    0 6px 40px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 0 0 1px rgba(0, 225, 255, 0.04);
  position: relative;
  overflow: hidden;
}

.exec-brief-panel::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(0, 225, 255, 0.06) 0%, transparent 70%);
  pointer-events: none;
}

/* Header */
.exec-brief-header {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.exec-brief-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.2rem;
}

.exec-brief-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 2px 9px;
  background-color: rgba(0, 255, 136, 0.12);
  color: #00ff88;
  border: 1px solid rgba(0, 255, 136, 0.28);
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.exec-brief-badge::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #00ff88;
  box-shadow: 0 0 6px rgba(0, 255, 136, 0.8);
  animation: pulse-glow 1.2s steps(1, end) infinite;
  flex-shrink: 0;
}

.exec-brief-date {
  font-size: 0.76rem;
  color: rgba(255, 255, 255, 0.38);
  font-weight: 400;
}

.exec-brief-title {
  font-size: clamp(1.35rem, 1.75vw, 1.8rem);
  font-weight: 600;
  color: #ffffff;
  margin: 0;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.exec-brief-lead {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.46);
  line-height: 1.55;
  margin: 0;
}

/* Brief list */
.exec-brief-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 9px;
  overflow: hidden;
}

.exec-brief-item {
  display: grid;
  grid-template-columns: 3px 1fr auto;
  gap: 0 1rem;
  align-items: start;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  transition: background-color 0.18s ease;
}

.exec-brief-item:last-child {
  border-bottom: none;
}

.exec-brief-item:hover {
  background-color: rgba(255, 255, 255, 0.03);
}

/* Severity bar */
.exec-brief-severity {
  width: 3px;
  align-self: stretch;
  border-radius: 2px;
  flex-shrink: 0;
}

.exec-brief-item--critical .exec-brief-severity {
  background-color: #ff0044;
  box-shadow: 0 0 7px rgba(255, 0, 68, 0.55);
}

.exec-brief-item--high .exec-brief-severity {
  background-color: #ff1493;
  box-shadow: 0 0 7px rgba(255, 20, 147, 0.55);
}

.exec-brief-item--moderate .exec-brief-severity {
  background-color: #8C6A1D;
  box-shadow: 0 0 7px rgba(255, 179, 71, 0.55);
}

.exec-brief-item--low .exec-brief-severity {
  background-color: #00ff88;
  box-shadow: 0 0 7px rgba(0, 255, 136, 0.55);
}

/* Item body */
.exec-brief-item-body {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
  min-width: 0;
}

.exec-brief-region {
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.88);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.exec-brief-text {
  font-size: 0.83rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.48;
  margin: 0;
}

.exec-brief-time {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.28);
  white-space: nowrap;
  padding-top: 2px;
  font-variant-numeric: tabular-nums;
}

/* Footer CTA */
.exec-brief-footer {
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.exec-brief-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.87rem;
  font-weight: 500;
  color: var(--color-primary);
  text-decoration: none;
  transition: gap 0.2s ease, color 0.2s ease;
}

.exec-brief-cta svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.exec-brief-cta:hover {
  color: #ffffff;
  gap: 0.8rem;
}

.exec-brief-cta:hover svg {
  transform: translateX(3px);
}

/* Responsive */
@media (max-width: 1024px) {
  .exec-brief-panel {
    padding: 1.5rem;
    gap: 1.3rem;
  }
}

@media (max-width: 768px) {
  .exec-brief-panel {
    padding: 1.2rem;
    gap: 1.1rem;
  }

  .exec-brief-title {
    font-size: 1.25rem;
  }

  .exec-brief-lead {
    font-size: 0.84rem;
  }

  .exec-brief-item {
    padding: 0.85rem 0.9rem;
    gap: 0 0.75rem;
  }

  .exec-brief-region {
    font-size: 0.75rem;
  }

  .exec-brief-text {
    font-size: 0.79rem;
  }
}

.home-solutions-showcase {
  padding: var(--spacing-2xl) 0;
  background:
    url('../../assets/images/solutions-showcase-bg.svg') center/cover no-repeat,
    radial-gradient(circle at 10% 0%, rgba(0, 225, 255, 0.08), transparent 35%),
    radial-gradient(circle at 90% 100%, rgba(255, 64, 64, 0.09), transparent 35%),
    #050c19;
}

.home-solutions-showcase .container {
  max-width: 1460px;
}

.home-solutions-head {
  max-width: 720px;
  margin-bottom: var(--spacing-xl);
}

.home-solutions-head h2 {
  font-size: clamp(2.3rem, 3.4vw, 3.4rem);
  margin-bottom: var(--spacing-sm);
  color: #000;
}

.home-solutions-head p {
  font-size: clamp(1.02rem, 1.35vw, 1.22rem);
  color: #000;
  line-height: 1.6;
}

.home-solutions-head p:first-of-type {
  font-size: clamp(1.15rem, 1.65vw, 1.48rem);
  color: #000;
  font-weight: 500;
  margin-bottom: var(--spacing-sm);
}

.home-solutions-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(220px, 1fr));
  gap: 10px;
}

.home-solution-card {
  position: relative;
  min-height: 430px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  text-decoration: none;
  color: #ffffff;
  background-color: #0b1323;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.home-solution-card--risk-intelligence {
  --solution-icon: url('/assets/icons/solutions/risk-intelligence-monitoring.svg');
}

.home-solution-card--mobility-travel {
  --solution-icon: url('/assets/icons/solutions/executive-mobility-secure-travel.svg');
}

.home-solution-card--protection-coordination {
  --solution-icon: url('/assets/icons/solutions/executive-protection-coordination.svg');
}

.home-solution-card--crisis-response {
  --solution-icon: url('/assets/icons/solutions/crisis-response-incident-coordination.svg');
}

.home-solution-card--strategic-advisory {
  --solution-icon: url('/assets/icons/solutions/strategic-risk-advisory.svg');
}

.home-solution-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.03);
}

.home-solution-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2, 9, 24, 0.22) 0%, rgba(2, 9, 24, 0.62) 42%, rgba(3, 7, 19, 0.92) 100%);
}

.home-solution-icon {
  position: absolute;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  width: 72px;
  height: 72px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  line-height: 1;
  z-index: 2;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.34));
  transition: filter 0.35s ease, transform 0.35s ease;
}

.home-solution-icon::before {
  content: '';
  width: 46px;
  height: 46px;
  background: rgba(255, 255, 255, 0.96);
  -webkit-mask: var(--solution-icon) center / contain no-repeat;
  mask: var(--solution-icon) center / contain no-repeat;
  filter: drop-shadow(0 0 10px rgba(244, 226, 154, 0.18));
  transition: background 0.35s ease, filter 0.35s ease, transform 0.35s ease;
}

.home-solution-card:hover .home-solution-icon,
.home-solution-card:focus-visible .home-solution-icon {
  transform: translateX(-50%) translateY(-3px);
  filter: drop-shadow(0 0 18px rgba(244, 226, 154, 0.34));
}

.home-solution-card:hover .home-solution-icon::before,
.home-solution-card:focus-visible .home-solution-icon::before {
  background: var(--gold-gradient-hover);
  filter: drop-shadow(0 0 10px rgba(244, 226, 154, 0.38));
  transform: scale(1.16) rotate(-4deg);
}

.home-solution-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 18px;
  text-align: center;
}

.home-solution-content h3 {
  position: absolute;
  left: 18px;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: clamp(1.3rem, 1.85vw, 2rem);
  line-height: 1.18;
  margin: 0;
  color: #ffffff;
}

.home-solution-content p {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 26px;
  font-size: 1.02rem;
  line-height: 1.45;
  color: rgba(236, 242, 255, 0.94);
  margin: 0;
}

@media (hover: hover) {
  .home-solution-content p {
    opacity: 0;
    transform: translateY(10px);
    overflow: hidden;
    transition: opacity 180ms ease, transform 180ms ease;
  }

  .home-solution-card:hover .home-solution-content p,
  .home-solution-card:focus-visible .home-solution-content p {
    opacity: 1;
    transform: translateY(0);
  }
}

.home-solution-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.35);
}

.home-solution-card:nth-child(2) .home-solution-overlay {
  background:
    linear-gradient(180deg, rgba(7, 61, 20, 0.2) 0%, rgba(16, 105, 38, 0.56) 42%, rgba(10, 64, 28, 0.92) 100%);
}

.home-solution-card:nth-child(4) .home-solution-overlay {
  background:
    linear-gradient(180deg, rgba(61, 7, 7, 0.2) 0%, rgba(105, 16, 16, 0.56) 42%, rgba(64, 10, 10, 0.92) 100%);
}

@media (max-width: 1260px) {
  .home-solutions-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-solution-card {
    min-height: 390px;
  }
}

@media (max-width: 840px) {
  .home-solutions-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .home-solution-card {
    min-height: 360px;
  }
}

@media (max-width: 560px) {
  .home-solutions-showcase {
    padding: var(--spacing-xl) 0;
  }

  .home-solutions-grid {
    grid-template-columns: 1fr;
  }

  .home-solution-card {
    min-height: 340px;
  }

  .home-solution-content h3 {
    font-size: 1.75rem;
  }

  .home-solution-content p {
    font-size: 1rem;
  }
}

/* Operational Depth Section */
.operational-depth-section {
  padding: var(--spacing-3xl) 0 var(--spacing-2xl);
  background: #ffffff;
}

.depth-header {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}

.depth-header h2 {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: clamp(2.6rem, 4vw, 4rem);
  margin-bottom: 6px;
  color: #000000;
  text-shadow: none;
}

.depth-header p {
  color: #000000;
  font-size: clamp(1.45rem, 2.2vw, 2.25rem);
}

.depth-kicker {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(124, 208, 255, 0.96);
  font-size: clamp(1rem, 1.2vw, 1.3rem);
  margin-bottom: 6px;
}

.depth-lead {
  color: #000000;
  font-size: clamp(1.55rem, 2.3vw, 2.4rem);
  font-weight: 700;
  margin-bottom: 10px;
}

.depth-description {
  max-width: 1339px;
  margin: 0 auto;
  color: #000000;
  font-size: clamp(0.98rem, 1.06vw, 1.12rem);
  line-height: 1.65;
}

.operational-depth-section {
  position: relative;
  background-color: #050810;
  background-image: radial-gradient(circle at 50% 50%, rgba(244, 226, 154, 0.03), transparent 70%);
  padding: var(--spacing-3xl) 0;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.operational-depth-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.015) 1px, transparent 1px);
  background-size: 30px 30px;
  opacity: 0.6;
  z-index: 0;
}

/* Decrease side margins by expanding the container strictly for this section */
.operational-depth-section .container {
  max-width: 1600px;
  padding: 0 40px;
}

.operational-depth-section::after {
  content: '';
  position: absolute;
  bottom: 0px; left: -20%; right: -20%; height: 60%;
  background: 
    linear-gradient(0deg, rgba(5, 8, 16, 0.1) 0%, rgba(5, 8, 16, 1) 90%),
    repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(255, 255, 255, 0.04) 40px),
    repeating-linear-gradient(90deg, transparent, transparent 39px, rgba(255, 255, 255, 0.04) 40px);
  transform: perspective(600px) rotateX(65deg) scale(1.5);
  transform-origin: bottom center;
  z-index: 0;
  pointer-events: none;
}

.where-operate-layout {
  display: block;
  position: relative;
  z-index: 2;
}

.where-operate-body {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(320px, 0.9fr) minmax(280px, 1fr);
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 3vw, 40px);
  width: 100%;
}

.where-operate-left {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.where-operate-intro {
  margin-bottom: 2px;
  text-align: left;
}

.eyebrow-text {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-primary, sans-serif);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: #F4E29A;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.eyebrow-text .line {
  height: 1px;
  width: 30px;
  background-color: rgba(244, 226, 154, 0.5);
}

.where-operate-intro h2 {
  font-size: clamp(2.8rem, 3.6vw, 3.8rem);
  font-weight: 400;
  font-family: var(--font-serif, "Playfair Display", serif);
  color: #ffffff;
  margin-bottom: 24px;
  letter-spacing: 0.01em;
}

.where-operate-intro .depth-description {
  margin: 0 0 32px 0;
  font-size: 0.95rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 300;
}

.btn-learn-more {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 14px;
  background: var(--gold-gradient);
  border: none;
  border-radius: 50px;
  color: #000;
  font-size: 0.85rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease;
  width: fit-content;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.btn-learn-more::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background-color: rgba(244, 226, 154, 0.2);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
  pointer-events: none;
}

.btn-learn-more:hover {
  background: var(--gold-gradient);
  box-shadow: 0 6px 20px rgba(244, 226, 154, 0.4);
  transform: translateY(-2px);
}

.btn-learn-more:hover::before {
  width: 200px;
  height: 200px;
}

.btn-learn-more:active {
  transform: translateY(0);
}

.where-operate-right {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.where-operate-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  width: 100%;
}

.where-operate-meta {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 20px;
  border-radius: 8px;
  border: 1px solid rgba(244, 226, 154, 0.55);
  background: rgba(5, 8, 16, 0.35);
  box-shadow:
    0 0 0 1px rgba(244, 226, 154, 0.12) inset,
    0 16px 45px rgba(0, 0, 0, 0.35),
    0 0 28px rgba(244, 226, 154, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  position: relative;
}

/* Decorative bright dots */
.where-operate-meta::after, .reach-globe-card::after {
  content: '';
  position: absolute;
  left: -2px;
  top: 50%;
  width: 4px;
  height: 12px;
  background: rgba(244, 226, 154, 1);
  border-radius: 4px;
  box-shadow: 0 0 12px rgba(244, 226, 154, 1), 0 0 24px rgba(244, 226, 154, 0.8);
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 2;
}

.where-operate-meta:nth-child(2)::after {
  display: none;
}

/* Connecting lines to the globe */
.where-operate-meta::before, .reach-globe-card::before {
  content: '';
  position: absolute;
  right: 100%;
  top: 50%;
  height: 1.5px;
  /* Use fixed extremely long widths so they always sink behind the globe regardless of screen size gap */
  width: 300px !important;
  background: linear-gradient(to left, rgba(244, 226, 154, 1) 0%, rgba(244, 226, 154, 0) 100%);
  box-shadow: 0 0 12px rgba(244, 226, 154, 0.8);
  transform-origin: right center;
  z-index: 1; /* Sits below the z-index: 3 of globe core */
  pointer-events: none;
}

.where-operate-meta:nth-child(2)::before {
  display: none;
}

/* Specific angles tracing cleanly towards globe core */
.where-operate-meta:nth-child(1)::before {
  transform: translateY(-50%) rotate(-12deg);
}

.where-operate-meta:nth-child(3)::before {
  transform: translateY(-50%) rotate(0deg);
}

.where-operate-meta:nth-child(4)::before {
  transform: translateY(-50%) rotate(12deg);
}

.reach-globe-card::before {
  transform: translateY(-50%) rotate(18deg);
  right: calc(100% - 2px);
}

@media (max-width: 900px) {
  .where-operate-meta::before, .reach-globe-card::before,
  .where-operate-meta::after, .reach-globe-card::after {
    display: none !important;
  }
}


.where-operate-meta.meta-full {
  grid-column: 1 / -1;
}

/* Ensure the bottom "GLOBAL ENGAGEMENT" card spans the full grid width */
.where-operate-meta-grid .meta-full-large {
  grid-column: 1 / -1;
}

.where-operate-meta:hover, .reach-globe-card:hover {
  transform: translateY(-2px);
  box-shadow:
    0 14px 42px rgba(0, 0, 0, 0.4),
    inset 0 0 24px rgba(244, 226, 154, 0.16),
    0 0 36px rgba(244, 226, 154, 0.18);
  border-color: rgba(244, 226, 154, 0.85);
}

.meta-icon {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #F4E29A;
  border-radius: 10px;
  background: rgba(244, 226, 154, 0.08);
  border: 1px solid rgba(244, 226, 154, 0.35);
  box-shadow: 0 0 18px rgba(244, 226, 154, 0.12);
}

.meta-icon svg {
  width: 100%;
  height: 100%;
}

.meta-content {
  display: flex;
  flex-direction: column;
}

.meta-content h3 {
  font-size: 0.95rem;
  margin-bottom: 2px;
  line-height: 1.2;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.meta-content p {
  font-size: 0.8rem;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 300;
}

.reach-globe-card {
  width: 100%;
  padding: 24px 28px;
  border-radius: 8px;
  border: 1px solid rgba(244, 226, 154, 0.55);
  background: rgba(5, 8, 16, 0.35);
  box-shadow:
    0 0 0 1px rgba(244, 226, 154, 0.12) inset,
    0 18px 52px rgba(0, 0, 0, 0.4),
    0 0 42px rgba(244, 226, 154, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  position: relative;
}

/* Bright corner glow like the image */
.reach-globe-card::before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 60px;
  height: 60px;
  background: radial-gradient(circle at bottom right, rgba(244, 226, 154, 0.25), transparent 70%);
  pointer-events: none;
}

.reach-copy h3 {
  font-size: 1.5rem;
  margin-bottom: 12px;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-family: var(--font-primary, sans-serif);
}

.reach-copy p {
  font-size: 0.8rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.75);
  font-weight: 300;
  margin-bottom: 14px;
}

.where-operate-globe {
  display: flex;
  justify-content: center;
  align-items: center;
}

.where-operate-globe .reach-globe-wrap {
  margin: 0 auto;
  width: min(420px, 48vw);
  position: relative;
}

.depth-content {
  max-width: 1500px;
  margin: 0 auto;
}

.depth-frame {
  border-radius: 20px;
  border: 1px solid rgba(109, 166, 255, 0.35);
  background: linear-gradient(145deg, rgba(4, 16, 52, 0.92), rgba(3, 10, 34, 0.9));
  box-shadow: inset 0 0 40px rgba(47, 115, 255, 0.1), 0 28px 76px rgba(2, 8, 34, 0.58);
  padding: clamp(18px, 2.2vw, 26px);
  display: grid;
  grid-template-columns: minmax(360px, 1.2fr) minmax(330px, 0.95fr);
  align-items: stretch;
  gap: clamp(14px, 2vw, 24px);
}

.depth-map-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(114, 171, 255, 0.45);
  background: linear-gradient(140deg, rgba(10, 20, 62, 0.9), rgba(8, 14, 48, 0.8));
  box-shadow: inset 0 0 28px rgba(95, 174, 255, 0.16), 0 18px 44px rgba(2, 8, 32, 0.48);
  min-height: 520px;
}

.depth-map-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 24% 62%, rgba(126, 232, 255, 0.2), transparent 24%),
    radial-gradient(circle at 68% 46%, rgba(255, 151, 110, 0.18), transparent 22%),
    radial-gradient(circle at 58% 76%, rgba(176, 123, 255, 0.18), transparent 20%);
  z-index: 1;
  pointer-events: none;
}

.depth-map-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7, 19, 56, 0.18), rgba(3, 12, 36, 0.48)),
    radial-gradient(circle at 42% 56%, rgba(84, 188, 255, 0.2), transparent 34%);
  z-index: 1;
}

.depth-map-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.34) hue-rotate(198deg) brightness(0.7) contrast(1.14);
}

.depth-overlay-list {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr);
  gap: 14px;
}

.depth-stack {
  display: grid;
  gap: 14px;
}

.depth-item {
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  padding: 16px 16px 18px;
  transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
}

.depth-item:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 0, 0, 0.4);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

.depth-item-featured {
  grid-row: 1 / 3;
}

.depth-item h3 {
  margin-bottom: 8px;
  font-size: clamp(1.6rem, 2.1vw, 2.4rem);
  color: #000000;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.depth-flags {
  font-size: 1.1rem;
  letter-spacing: 0.08em;
}

.depth-item p {
  color: #000000;
  font-size: clamp(1.08rem, 1.2vw, 1.22rem);
  line-height: 1.5;
}

.depth-focus-title {
  margin-top: 10px;
  margin-bottom: 8px;
  color: #000000;
  font-weight: 600;
}

.depth-focus-list {
  margin: 0;
  padding-left: 20px;
}

.depth-focus-list li {
  margin-bottom: 4px;
  color: #000000;
  font-size: 1.05rem;
}

/* Global Reach Section */
.global-reach-section {
  padding: var(--spacing-2xl) 0 var(--spacing-3xl);
  background:
    radial-gradient(circle at 78% 18%, rgba(255, 88, 210, 0.18), transparent 44%),
    radial-gradient(circle at 25% 75%, rgba(67, 182, 255, 0.16), transparent 48%),
    linear-gradient(180deg, #040a24 0%, #07051a 100%);
}

.reach-header {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}

.reach-header h2 {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: clamp(2rem, 3vw, 3rem);
  margin-bottom: 6px;
}

.reach-header p {
  color: rgba(220, 231, 255, 0.84);
  font-size: clamp(1rem, 1.2vw, 1.3rem);
}

.reach-globe-card {
  border-radius: 18px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  padding: clamp(20px, 3vw, 36px);
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1);
  position: relative;
  overflow: hidden;
}

.reach-globe-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 10% 90%, rgba(95, 214, 255, 0.16), transparent 36%),
    radial-gradient(circle at 88% 14%, rgba(255, 125, 220, 0.14), transparent 34%);
  pointer-events: none;
}

.reach-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(360px, 1.35fr) minmax(260px, 0.85fr);
  align-items: center;
  gap: clamp(16px, 3vw, 40px);
}

.reach-copy h3 {
  font-size: clamp(2.2rem, 3.2vw, 3.2rem);
  color: #000000;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 14px;
}

.reach-copy p {
  max-width: 700px;
  color: #000000;
  font-size: clamp(1.12rem, 1.45vw, 1.32rem);
  line-height: 1.7;
}

.reach-globe-wrap {
  position: relative;
  width: min(430px, 72vw);
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  isolation: isolate;
}

.reach-globe-core {
  position: absolute;
  inset: 14%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 25%, rgba(160, 236, 255, 0.86), rgba(44, 115, 255, 0.4) 38%, rgba(12, 24, 72, 0.92) 68%),
    url('../../assets/images/globe-image.webp') center/cover no-repeat;
  border: 1px solid rgba(244, 226, 154, 0.35);
  box-shadow:
    -20px 0 60px rgba(44, 115, 255, 0.6),
    20px 0 60px rgba(255, 140, 0, 0.6),
    -60px 0 120px rgba(44, 115, 255, 0.3),
    60px 0 120px rgba(255, 165, 0, 0.3),
    inset -25px 0 40px rgba(255, 180, 0, 0.5),
    inset 25px 0 40px rgba(44, 115, 255, 0.5),
    0 0 46px rgba(244, 226, 154, 0.18),
    0 0 0 2px rgba(244, 226, 154, 0.18);
  overflow: visible;
  z-index: 3;
  transform-origin: center;
  animation: globe-rotate 32s linear infinite;
}

.reach-globe-core::before {
  content: "";
  position: absolute;
  inset: -14%;
  border-radius: 50%;
  border: 2px solid rgba(244, 226, 154, 0.65);
  box-shadow:
    0 0 22px rgba(244, 226, 154, 0.25),
    0 0 68px rgba(244, 226, 154, 0.12);
  opacity: 0.95;
  animation: globe-ring-pulse 3.2s ease-in-out infinite;
}

.reach-globe-core::after {
  content: "";
  position: absolute;
  inset: -8%;
  background: url('../../assets/images/globe-image.webp') center/200% 100% repeat-x;
  mix-blend-mode: screen;
  opacity: 0.24;
  animation: globe-surface-drift 22s linear infinite;
}

@keyframes globe-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
    color: #f5d77e;
    text-shadow: 0 0 12px rgba(212, 175, 55, 0.35);
  }
}

@keyframes globe-ring-pulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.88;
  }
  50% {
    transform: scale(1.03);
    opacity: 1;
  }
}

@media (max-width: 900px) {
  .where-operate-body {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }

  .where-operate-right .where-operate-meta-grid {
    grid-template-columns: 1fr;
  }

  .where-operate-left,
  .where-operate-right {
    justify-self: stretch;
    align-self: stretch;
    width: 100%;
  }

  .where-operate-globe {
    justify-content: center;
    align-self: center;
    justify-self: center;
  }

  .where-operate-globe .reach-globe-wrap {
    margin: 0 auto;
  }

  .depth-frame {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .depth-map-card {
    min-height: 420px;
  }

  .depth-overlay-list {
    grid-template-columns: 1fr;
  }

  .depth-item-featured {
    grid-row: auto;
  }

  .reach-layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .reach-copy {
    text-align: center;
  }

  .reach-copy p {
    margin: 0 auto;
  }

  .reach-globe-wrap {
    margin: 0 auto;
  }
}

/* Ensure "Operational Reach" cards keep the dark/glowing style */
.operational-depth-section .reach-globe-card {
  width: 100%;
  padding: 24px 28px;
  border-radius: 8px;
  border: 1px solid rgba(244, 226, 154, 0.55);
  background: rgba(5, 8, 16, 0.35);
  box-shadow:
    0 0 0 1px rgba(244, 226, 154, 0.12) inset,
    0 18px 52px rgba(0, 0, 0, 0.4),
    0 0 42px rgba(244, 226, 154, 0.12);
  position: relative;
  overflow: visible;
}

.operational-depth-section .reach-globe-card::before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 60px;
  height: 60px;
  background: radial-gradient(circle at bottom right, rgba(244, 226, 154, 0.25), transparent 70%);
  pointer-events: none;
}

.operational-depth-section .reach-copy h3 {
  font-size: 1.5rem;
  margin-bottom: 12px;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-family: var(--font-primary, sans-serif);
}

.operational-depth-section .reach-copy p {
  font-size: 0.8rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.75);
  font-weight: 300;
  margin-bottom: 14px;
}

@media (max-width: 768px) {
  .operational-depth-section {
    padding: var(--spacing-2xl) 0 var(--spacing-xl);
  }

  .depth-header {
    margin-bottom: var(--spacing-lg);
  }

  .depth-header h2 {
    font-size: clamp(1.7rem, 8vw, 2.4rem);
  }

  .depth-kicker {
    font-size: 0.9rem;
    letter-spacing: 0.07em;
  }

  .depth-lead {
    font-size: clamp(1.1rem, 5.4vw, 1.5rem);
    margin-bottom: 8px;
  }

  .depth-description {
    font-size: 0.95rem;
    line-height: 1.55;
    padding: 0 8px;
  }

  .depth-map-card {
    min-height: 300px;
  }

  .depth-item h3 {
    font-size: 1.45rem;
  }

  .depth-item p,
  .depth-focus-list li {
    font-size: 0.94rem;
  }

  .global-reach-section {
    padding: var(--spacing-xl) 0 var(--spacing-2xl);
  }

  .reach-header {
    margin-bottom: var(--spacing-lg);
  }

  .reach-header h2 {
    font-size: clamp(1.7rem, 8vw, 2.3rem);
  }

  .reach-header p {
    font-size: 1rem;
  }

  .reach-globe-card {
    padding: 14px;
  }

  .reach-copy h3 {
    font-size: clamp(1.45rem, 7vw, 2rem);
    margin-bottom: 10px;
  }

  .reach-copy p {
    font-size: 0.95rem;
    line-height: 1.6;
  }

  .reach-globe-wrap {
    width: min(320px, 82vw);
  }
}

@media (max-width: 640px) {
  .operational-depth-section {
    padding: var(--spacing-2xl) 0 var(--spacing-xl);
  }

  .global-reach-section {
    padding: var(--spacing-xl) 0 var(--spacing-2xl);
  }

  .depth-map-card {
    min-height: 260px;
  }

  .depth-item {
    padding: 12px 13px;
  }

  .reach-globe-card {
    padding: 16px;
  }

  .reach-globe-wrap {
    width: min(290px, 80vw);
  }
}

/* Global Monitoring Network Section */
.global-monitoring-section {
  background: #333333;
  padding: var(--spacing-3xl) 0;
}

.global-monitoring-section .container {
  max-width: 100%;
  padding: 0 20px;
}

.global-monitoring-card {
  position: relative;
  min-height: 600px;
  display: flex;
  flex-direction: column;
  width: 100%;
  border-radius: 22px;
  border: 1px solid rgba(131, 122, 255, 0.28);
  overflow: hidden;
  background: rgba(8, 12, 38, 0.72);
  box-shadow: inset 0 0 0 1px rgba(120, 121, 255, 0.1), inset 0 -80px 120px rgba(3, 8, 28, 0.5), 0 36px 80px rgba(2, 7, 30, 0.58);
  height: auto;
}

.global-monitoring-card .global-monitoring-map::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(121, 132, 255, 0.18);
  border-radius: 18px;
  box-shadow: inset 0 0 22px rgba(124, 107, 255, 0.1);
  pointer-events: none;
}

.global-monitoring-card .global-monitoring-map::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 40%, rgba(255, 80, 186, 0.2), transparent 28%),
    radial-gradient(circle at 70% 45%, rgba(255, 166, 94, 0.14), transparent 26%),
    radial-gradient(circle at 87% 62%, rgba(194, 110, 255, 0.2), transparent 22%);
  mix-blend-mode: screen;
  pointer-events: none;
}

.global-monitoring-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6, 10, 28, 0.18), rgba(6, 10, 28, 0.72));
  opacity: 0.96;
  z-index: 0;
  pointer-events: none;
}

.global-monitoring-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(127, 143, 255, 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(127, 143, 255, 0.07) 1px, transparent 1px);
  background-size: 54px 54px;
  mix-blend-mode: screen;
  opacity: 0.32;
  z-index: 0;
  pointer-events: none;
}

.global-monitoring-head,
.global-monitoring-map {
  position: relative;
  z-index: 2;
}

.global-monitoring-head {
  z-index: 5;
  flex-shrink: 0;
}

.global-monitoring-map {
  flex: 1;
  min-height: 0;
}

.monitoring-map-real {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 22px;
  filter: none;
  width: 100%;
  height: 100%;
}

.monitoring-map-real.leaflet-container {
  width: 100%;
  height: 100%;
  background: transparent;
}

/* keep Leaflet tiles unfiltered (light basemap) */

.global-monitoring-head {
  padding: clamp(22px, 2.4vw, 34px);
  border-bottom: 1px solid rgba(140, 155, 255, 0.18);
  background: linear-gradient(180deg, rgba(10, 14, 39, 0.32), rgba(10, 14, 39, 0));
}

.global-monitoring-head h2 {
  font-size: clamp(2rem, 3.1vw, 3rem);
  margin-bottom: 8px;
}

.global-monitoring-head p {
  color: rgba(219, 225, 255, 0.84);
  font-size: clamp(1rem, 1.4vw, 1.3rem);
}

.monitoring-notify-btn {
  position: absolute;
  top: clamp(20px, 2.2vw, 34px);
  right: clamp(20px, 2.2vw, 34px);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(178, 128, 255, 0.74);
  background: rgba(10, 12, 32, 0.84);
  color: #f2d5ff;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  box-shadow: inset 0 0 14px rgba(199, 140, 255, 0.16), 0 0 24px rgba(147, 93, 255, 0.28);
  transition: border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base);
}

.monitoring-notify-btn svg {
  width: 20px;
  height: 20px;
}

.monitoring-notify-btn:hover,
.monitoring-notify-btn[aria-expanded="true"] {
  transform: translateY(-1px);
  border-color: rgba(212, 175, 55, 0.62);
  box-shadow: inset 0 0 12px rgba(212, 175, 55, 0.18), 0 0 20px rgba(180, 118, 255, 0.34);
}

.monitoring-risk-panel {
  position: absolute;
  top: calc(clamp(20px, 2.2vw, 34px) + 52px);
  right: clamp(20px, 2.2vw, 34px);
  width: min(320px, calc(100% - 40px));
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(178, 128, 255, 0.68);
  background: rgba(10, 12, 32, 0.9);
  box-shadow: inset 0 0 14px rgba(199, 140, 255, 0.12), 0 0 24px rgba(147, 93, 255, 0.26);
}

.monitoring-risk-panel[hidden] {
  display: none !important;
}

.monitoring-risk-panel h3 {
  margin: 0 0 8px 0;
  font-size: 0.95rem;
  color: #f2d5ff;
}

.monitoring-risk-panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.monitoring-risk-panel li {
  padding: 0;
  border-radius: 8px;
}

.monitoring-risk-panel li a {
  display: inline-flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 6px 8px;
  border-radius: 8px;
  background: rgba(110, 67, 197, 0.14);
  text-decoration: none;
  transition: background-color var(--transition-base), box-shadow var(--transition-base);
}

.monitoring-risk-panel li a:hover,
.monitoring-risk-panel li a:focus-visible {
  background: rgba(137, 86, 228, 0.24);
  box-shadow: inset 0 0 0 1px rgba(180, 136, 255, 0.3);
}

.monitoring-risk-panel li strong {
  font-size: 0.82rem;
  line-height: 1.2;
  color: #f0e6ff;
}

.monitoring-risk-panel li span {
  display: block;
  font-size: 0.76rem;
  color: #dc8bff;
}

.global-monitoring-map {
  position: relative;
  flex: 1;
  min-height: 500px;
  height: 500px;
  width: 100%;
}

.monitoring-node {
  position: absolute;
  width: 12px;
  height: 12px;
  border: 0;
  padding: 0;
  cursor: pointer;
  border-radius: 50%;
  background: #8ec8ff;
  text-decoration: none;
  box-shadow: 0 0 0 8px rgba(142, 200, 255, 0.15), 0 0 20px rgba(142, 200, 255, 0.85);
  transform: translate(-50%, -50%);
  transform-origin: center;
  animation: monitoring-node-pulse 1.9s ease-in-out infinite;
  z-index: 4;
}

.monitoring-node::before,
.monitoring-node::after {
  content: "";
  position: absolute;
  inset: 50%;
  border-radius: 50%;
  border: 1px solid rgba(142, 200, 255, 0.55);
  transform: translate(-50%, -50%) scale(1);
  animation: monitoring-ring-pulse 2.4s ease-out infinite;
}

.monitoring-node::after {
  animation-delay: 0.55s;
}

.node-tooltip {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 14px);
  transform: translate(-50%, 8px);
  min-width: 140px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(175, 125, 255, 0.7);
  background: rgba(10, 13, 36, 0.94);
  box-shadow: 0 8px 24px rgba(8, 10, 30, 0.65), inset 0 0 16px rgba(159, 101, 255, 0.14);
  text-align: left;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 160ms ease, transform 160ms ease;
  pointer-events: none;
}

.node-tooltip strong {
  display: block;
  font-size: 0.84rem;
  line-height: 1.2;
  color: #f0e6ff;
}

.node-tooltip span {
  display: block;
  margin-top: 3px;
  font-size: 0.76rem;
  line-height: 1.2;
  color: #d28fff;
}

.monitoring-node:hover .node-tooltip,
.monitoring-node:focus-visible .node-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.monitoring-node:focus-visible {
  outline: 2px solid rgba(242, 179, 255, 0.86);
  outline-offset: 4px;
}

.monitoring-hub {
  width: 18px;
  height: 18px;
  background: #ff7fd3;
  box-shadow: 0 0 0 11px rgba(255, 127, 211, 0.18), 0 0 24px rgba(255, 127, 211, 0.9);
}

.monitoring-hub::before,
.monitoring-hub::after {
  border-color: rgba(255, 127, 211, 0.6);
}

.monitoring-continent {
  background: #8ec8ff;
}

.node-uk-main { top: 24%; left: 45.5%; }
.node-pk-main { top: 46.2%; left: 66%; animation-delay: 0.28s; }

.node-na-continent {
  background: #4cc9f0; /* cyan */
  box-shadow: 0 0 0 8px rgba(76, 201, 240, 0.14), 0 0 20px rgba(76, 201, 240, 0.9);
}

.node-sa-continent {
  background: #80ed99; /* green */
  box-shadow: 0 0 0 8px rgba(128, 237, 153, 0.14), 0 0 20px rgba(128, 237, 153, 0.9);
}

.node-europe-continent {
  background: var(--gold-gradient); /* gold */
  box-shadow: 0 0 0 8px rgba(255, 209, 102, 0.14), 0 0 20px rgba(255, 209, 102, 0.9);
}

.node-africa-continent {
  background: #f77f00; /* orange */
  box-shadow: 0 0 0 8px rgba(247, 127, 0, 0.14), 0 0 20px rgba(247, 127, 0, 0.9);
}

.node-asia-continent {
  background: #9b5de5; /* purple */
  box-shadow: 0 0 0 8px rgba(155, 93, 229, 0.14), 0 0 20px rgba(155, 93, 229, 0.9);
}

.node-oceania-continent {
  background: #ff5d8f; /* rose */
  box-shadow: 0 0 0 8px rgba(255, 93, 143, 0.14), 0 0 20px rgba(255, 93, 143, 0.9);
}

.node-na-continent { top: 31.4%; left: 19.9%; animation-delay: 0.18s; }
.node-sa-continent { top: 75.9%; left: 29.5%; animation-delay: 0.46s; }
.node-europe-continent { top: 17.3%; left: 56.9%; animation-delay: 0.1s; }
.node-africa-continent { top: 59.9%; left: 52%; animation-delay: 0.56s; }
.node-asia-continent { top: 20.6%; left: 73.3%; animation-delay: 0.32s; }
.node-oceania-continent { top: 89.1%; left: 83.4%; animation-delay: 0.7s; }

.monitoring-spark {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(238, 186, 255, 0.95);
  box-shadow: 0 0 10px rgba(230, 170, 255, 0.9);
  animation: monitoring-spark-twinkle 1.6s steps(1, end) infinite;
}

.spark-1 { top: 42%; left: 25%; }
.spark-2 { top: 36%; left: 53%; animation-delay: 0.3s; }
.spark-3 { top: 48%; left: 63%; animation-delay: 0.6s; }
.spark-4 { top: 53%; left: 73%; animation-delay: 0.95s; }
.spark-5 { top: 59%; left: 90%; animation-delay: 1.2s; }
.spark-6 { top: 49%; left: 40%; animation-delay: 1.4s; }

/* SVG Intelligence Network */
.monitoring-network-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
}

.network-link {
  fill: none;
  stroke: rgba(165, 198, 255, 0.5);
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-dasharray: 14 10;
  filter: drop-shadow(0 0 5px rgba(146, 180, 255, 0.42));
  opacity: 0.78;
  animation: network-flow 3.8s linear infinite, network-pulse-flow 2.6s ease-in-out infinite;
}

/* Hub connections - deep royal blue */
.nl-1, .nl-2, .nl-3, .nl-4, .nl-5, .nl-6, .nl-7,
.nl-8, .nl-9, .nl-10, .nl-11, .nl-12, .nl-13 {
  stroke: rgba(26, 115, 232, 0.75);
  filter: drop-shadow(0 0 7px rgba(37, 99, 235, 0.6));
  stroke-dasharray: 18 8;
}

/* Hub-to-hub backbone - brightest deep blue */
.nl-1 {
  stroke: rgba(30, 64, 175, 0.95);
  stroke-width: 2.2;
  stroke-dasharray: 22 6;
  filter: drop-shadow(0 0 12px rgba(29, 78, 216, 0.85));
}

/* Americas / cross-western - amber */
.nl-15, .nl-16, .nl-21, .nl-24, .nl-27, .nl-28 {
  stroke: rgba(255, 195, 130, 0.52);
  filter: drop-shadow(0 0 5px rgba(255, 165, 70, 0.44));
  stroke-dasharray: 12 12;
}

/* Long cross-hemisphere - faint scattered */
.nl-7, .nl-17, .nl-18, .nl-22, .nl-27, .nl-28 {
  opacity: 0.55;
  stroke-dasharray: 7 18;
}

/* Per-line delays and durations */
.nl-1  { animation-delay: 0s;    animation-duration: 4.0s; }
.nl-2  { animation-delay: 0.3s;  animation-duration: 2.8s; }
.nl-3  { animation-delay: 0.6s;  animation-duration: 3.4s; }
.nl-4  { animation-delay: 0.9s;  animation-duration: 3.8s; }
.nl-5  { animation-delay: 1.2s;  animation-duration: 4.2s; }
.nl-6  { animation-delay: 1.5s;  animation-duration: 3.0s; }
.nl-7  { animation-delay: 1.8s;  animation-duration: 5.0s; }
.nl-8  { animation-delay: 0.4s;  animation-duration: 3.2s; }
.nl-9  { animation-delay: 0.7s;  animation-duration: 3.6s; }
.nl-10 { animation-delay: 1.0s;  animation-duration: 2.8s; }
.nl-11 { animation-delay: 1.3s;  animation-duration: 4.4s; }
.nl-12 { animation-delay: 1.6s;  animation-duration: 3.8s; }
.nl-13 { animation-delay: 2.0s;  animation-duration: 4.8s; }
.nl-14 { animation-delay: 0.2s;  animation-duration: 3.4s; }
.nl-15 { animation-delay: 0.5s;  animation-duration: 3.2s; }
.nl-16 { animation-delay: 0.8s;  animation-duration: 4.0s; }
.nl-17 { animation-delay: 1.1s;  animation-duration: 4.6s; }
.nl-18 { animation-delay: 1.4s;  animation-duration: 5.2s; }
.nl-19 { animation-delay: 0.3s;  animation-duration: 3.0s; }
.nl-20 { animation-delay: 0.6s;  animation-duration: 2.6s; }
.nl-21 { animation-delay: 0.9s;  animation-duration: 4.2s; }
.nl-22 { animation-delay: 1.2s;  animation-duration: 4.8s; }
.nl-23 { animation-delay: 1.5s;  animation-duration: 3.2s; }
.nl-24 { animation-delay: 1.8s;  animation-duration: 3.6s; }
.nl-25 { animation-delay: 2.1s;  animation-duration: 4.4s; }
.nl-26 { animation-delay: 2.4s;  animation-duration: 3.4s; }
.nl-27 { animation-delay: 2.7s;  animation-duration: 4.0s; }
.nl-28 { animation-delay: 3.0s;  animation-duration: 4.6s; }

.net-flow {
  animation: net-flow-travel 3.6s linear infinite;
}

.nf-1  { animation-duration: 4.4s; animation-delay: 0s; }
.nf-2  { animation-duration: 2.8s; animation-delay: 0.7s; }
.nf-3  { animation-duration: 3.6s; animation-delay: 1.2s; }
.nf-4  { animation-duration: 2.0s; animation-delay: 0.4s; }
.nf-5  { animation-duration: 3.0s; animation-delay: 1.8s; }
.nf-6  { animation-duration: 2.6s; animation-delay: 0.9s; }
.nf-7  { animation-duration: 3.8s; animation-delay: 0.2s; }
.nf-8  { animation-duration: 2.4s; animation-delay: 1.5s; }
.nf-9  { animation-duration: 3.2s; animation-delay: 0.6s; }
.nf-10 { animation-duration: 5.0s; animation-delay: 2.1s; }
.nf-11 { animation-duration: 2.2s; animation-delay: 1.0s; }
.nf-21 { animation-duration: 2.6s; animation-delay: 0.5s; }
.nf-22 { animation-duration: 3.4s; animation-delay: 1.1s; }
.nf-23 { animation-duration: 4.0s; animation-delay: 1.7s; }
.nf-24 { animation-duration: 2.8s; animation-delay: 0.3s; }
.nf-25 { animation-duration: 3.1s; animation-delay: 1.4s; }

@keyframes monitoring-node-pulse {
  0%,
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.22);
    opacity: 0.56;
  }
}

@keyframes monitoring-ring-pulse {
  0% {
    width: 16px;
    height: 16px;
    opacity: 0.7;
  }
  100% {
    width: 56px;
    height: 56px;
    opacity: 0;
  }
}

@keyframes net-flow-travel {
  from { stroke-dashoffset: 0; }
  to   { stroke-dashoffset: -1000; }
}

@keyframes monitoring-spark-twinkle {
  0%,
  100% {
    opacity: 0.25;
    transform: scale(0.8);
  }
  50% {
    opacity: 1;
    transform: scale(1.35);
  }
}

@media (max-width: 980px) {
  .global-monitoring-card {
    min-height: 600px;
  }

  .global-monitoring-card::before {
    background-position: center, center 56%;
    background-size: auto, contain;
    background-repeat: no-repeat, no-repeat;
  }

  .spark-5,
  .spark-6 {
    display: none;
  }
}

@media (max-width: 768px) {
  .global-monitoring-section {
    padding: var(--spacing-2xl) 0;
  }

  .global-monitoring-card {
    min-height: 550px;
    border-radius: 16px;
  }

  .global-monitoring-card::before {
    background-position: center, center 58%;
    background-size: auto, contain;
    background-repeat: no-repeat, no-repeat;
    filter: saturate(1.22) hue-rotate(206deg) contrast(1.02) brightness(0.68);
    opacity: 0.98;
  }

  .global-monitoring-head {
    padding: 14px 14px 12px;
  }

  .global-monitoring-head h2 {
    font-size: 1.2rem;
    margin-bottom: 2px;
  }

  .global-monitoring-head p {
    font-size: 0.8rem;
  }

  .global-monitoring-map {
    position: relative;
    flex: 1;
    min-height: 400px;
    height: 400px;
    width: 100%;
  }
  }

  .monitoring-node {
    width: 12px;
    height: 12px;
  }

  .monitoring-hub {
    width: 16px;
    height: 16px;
  }

  .node-tooltip {
    display: none;
  }

  .node-na-continent { top: 28.5%; left: 18.9%; }
  .node-sa-continent { top: 77.1%; left: 29.3%; }
  .node-europe-continent { top: 20.7%; left: 56.1%; }
  .node-africa-continent { top: 61%; left: 51%; }
  .node-asia-continent { top: 27.3%; left: 78.5%; }
  .node-oceania-continent { top: 89.4%; left: 83.5%; }
  .node-uk-main { top: 23.4%; left: 45.5%; }
  .node-pk-main { top: 46.5%; left: 66.3%; }

@media (max-width: 640px) {
  .global-monitoring-section {
    padding: var(--spacing-2xl) 0;
  }

  .global-monitoring-card {
    min-height: 500px;
    border-radius: 16px;
  }

  .global-monitoring-head {
    position: relative;
    padding: 13px 14px 10px;
    border-bottom: 1px solid rgba(140, 155, 255, 0.14);
    background: linear-gradient(180deg, rgba(6, 10, 28, 0.82) 0%, rgba(6, 10, 28, 0) 100%);
    z-index: 3;
  }

  .global-monitoring-head h2 {
    font-size: clamp(1.25rem, 5vw, 1.6rem);
    margin-bottom: 4px;
  }

  .global-monitoring-head p {
    font-size: 0.76rem;
  }

  .global-monitoring-card::before {
    background-position: center, center 60%;
    background-size: auto, contain;
    background-repeat: no-repeat, no-repeat;
    filter: saturate(1.16) hue-rotate(204deg) contrast(1) brightness(0.72);
  }

  .global-monitoring-map {
    position: relative;
    flex: 1;
    min-height: 350px;
    height: 350px;
    width: 100%;
  }

  .monitoring-node {
    width: 10px;
    height: 10px;
  }

  .monitoring-hub {
    width: 14px;
    height: 14px;
  }

  .node-tooltip {
    min-width: 120px;
    padding: 6px 8px;
  }

  .node-na-continent { top: 31.4%; left: 18.7%; }
  .node-sa-continent { top: 70%; left: 30%; }
  .node-europe-continent { top: 35%; left: 57.2%; }
  .node-africa-continent { top: 62%; left: 52%; }
  .node-asia-continent { top: 30%; left: 77.1%; }
  .node-oceania-continent { top: 70%; left: 84%; }
  .node-uk-main { top: 40%; left: 45.8%; }
  .node-pk-main { top: 47.2%; left: 66.1%; }

  .monitoring-spark {
    width: 3px;
    height: 3px;
  }

  .monitoring-network-svg {
    display: block;
    opacity: 0.84;
  }

  .network-link {
    stroke-width: 1.25;
    stroke-dasharray: 12 8;
    animation-duration: 4.4s;
  }

  .global-monitoring-map::before {
    opacity: 0.45;
  }

  .global-monitoring-map::after {
    opacity: 0.62;
  }
}

@media (max-width: 480px) {
  .depth-frame {
    padding: 10px;
    border-radius: 14px;
  }

  .depth-map-card {
    min-height: 220px;
    border-radius: 12px;
  }

  .depth-item {
    border-radius: 10px;
    padding: 10px 11px;
  }

  .depth-item h3 {
    font-size: 1.2rem;
  }

  .depth-flags {
    font-size: 0.95rem;
  }

  .reach-globe-wrap {
    width: min(250px, 78vw);
  }

  .global-monitoring-card {
    min-height: 350px;
  }

  .global-monitoring-card::before {
    background-position: center, center 61%;
    background-size: auto, contain;
    background-repeat: no-repeat, no-repeat;
  }

  .global-monitoring-map {
    position: relative;
    flex: 1;
    min-height: 300px;
    height: 300px;
    width: 100%;
  }

  .node-na-continent { top: 31.4%; left: 18.7%; }
  .node-sa-continent { top: 75.5%; left: 30%; }
  .node-europe-continent { top: 20.5%; left: 57.2%; }
  .node-africa-continent { top: 62%; left: 52%; }
  .node-asia-continent { top: 26.7%; left: 77.1%; }
  .node-oceania-continent { top: 84.5%; left: 84%; }
  .node-uk-main { top: 26.5%; left: 45.8%; }
  .node-pk-main { top: 47.2%; left: 66.1%; }
}

@keyframes network-flow {
  from {
    stroke-dashoffset: 0;
  }
  to {
    stroke-dashoffset: -360;
  }
}

@keyframes network-pulse-flow {
  0%,
  100% {
    opacity: 0.62;
    stroke-width: 1.15;
    filter: drop-shadow(0 0 4px rgba(146, 180, 255, 0.34));
  }
  50% {
    opacity: 0.95;
    stroke-width: 1.45;
    filter: drop-shadow(0 0 8px rgba(255, 146, 220, 0.5));
  }
}

/* Tagline Section */
.tagline-section {
  position: relative;
  background-color: #FFFFFF;
  padding: var(--spacing-1xl) 0;
  overflow: hidden;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.tagline-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    radial-gradient(circle at 10% 20%, rgba(0, 0, 0, 0.02) 0%, transparent 40%),
    radial-gradient(circle at 90% 80%, rgba(0, 0, 0, 0.02) 0%, transparent 40%);
  z-index: 0;
}

.tagline-section::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    repeating-linear-gradient(
      135deg,
      transparent,
      transparent 100px,
      rgba(0, 0, 0, 0.015) 100px,
      rgba(0, 0, 0, 0.015) 200px
    );
  z-index: 0;
}

.tagline-section .container {
  position: relative;
  z-index: 1;
}

.tagline-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-xl);
}

.tagline-text-wrapper {
  flex: 1;
  perspective: 1200px;
}

.tagline-line {
  position: relative;
  display: block;
  width: fit-content;
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.4;
  color: transparent;
  text-transform: uppercase;
  background-image: repeating-linear-gradient(
    135deg,
    #020202 0 8px,
    #2a2a2a 8px 16px,
    #050505 16px 24px
  );
  background-size: 220% 220%;
  background-position: 0% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px rgba(0, 0, 0, 0.08);
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.18)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.16));
  transform: translateZ(0) rotateX(10deg);
  animation: tagline-line-stripe-shift 9s linear infinite;
}

.tagline-line.step-top {
  margin-left: 0;
  text-align: left;
}

.tagline-line.step-middle {
  margin-left: 150px;
  text-align: left;
  animation-duration: 10.5s;
}

.tagline-line.step-bottom {
  margin-left: 280px;
  text-align: left;
  animation-duration: 12s;
}

@keyframes tagline-line-stripe-shift {
  0% {
    background-position: 0% 50%;
    transform: translateZ(0) rotateX(10deg);
  }
  50% {
    background-position: 100% 50%;
    transform: translateZ(10px) rotateX(8deg);
  }
  100% {
    background-position: 200% 50%;
    transform: translateZ(0) rotateX(10deg);
  }
}

.btn-tagline-cta {
  padding: var(--spacing-md) var(--spacing-2xl);
  background: var(--gold-gradient);
  color: #000000;
  font-size: var(--font-size-base);
  font-weight: 600;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all var(--transition-base);
  white-space: nowrap;
  box-shadow: 0 4px 20px rgba(244, 226, 154, 0.3);
  position: relative;
  overflow: hidden;
}

.btn-tagline-cta::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}

.btn-tagline-cta:hover {
  background: var(--gold-gradient);
  box-shadow: 0 6px 30px rgba(244, 226, 154, 0.5);
  transform: translateY(-2px);
}

.btn-tagline-cta:hover::before {
  width: 300px;
  height: 300px;
}

.btn-tagline-cta:active {
  transform: translateY(0);
}

/* Responsive */
@media (max-width: 1024px) {
  .tagline-content {
    flex-direction: column;
    text-align: center;
    gap: var(--spacing-lg);
  }
  
  .tagline-line {
    font-size: clamp(28px, 5vw, 48px);
    width: 100%;
  }
  
  .tagline-line.step-middle {
    margin-left: 30px;
  }
  
  .tagline-line.step-bottom {
    margin-left: 60px;
  }
}

@media (max-width: 768px) {
  .tagline-section {
    padding: var(--spacing-2xl) 0;
  }
  
  .tagline-line {
    font-size: clamp(24px, 6vw, 36px);
    width: 100%;
    line-height: 1.3;
  }
  
  .tagline-line.step-middle {
    margin-left: 20px;
  }
  
  .tagline-line.step-bottom {
    margin-left: 40px;
  }
  
  .btn-tagline-cta {
    padding: var(--spacing-sm) var(--spacing-xl);
  }
}

/* Travel Security Process Section */
.travel-security-process-section {
  position: relative;
  background:
    radial-gradient(circle at 10% 10%, rgba(76, 201, 240, 0.18), transparent 35%),
    radial-gradient(circle at 90% 80%, rgba(0, 117, 185, 0.16), transparent 42%),
    linear-gradient(180deg, #001733 0%, #00244f 100%);
  padding: var(--spacing-3xl) 0;
  overflow: hidden;
}

.travel-security-process-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(76, 201, 240, 0.12), transparent 40%),
    radial-gradient(circle at 80% 80%, rgba(0, 117, 185, 0.16), transparent 46%);
  pointer-events: none;
}

.travel-security-process-section .container {
  position: relative;
  z-index: 1;
}

.travel-process-header {
  text-align: center;
  max-width: 900px;
  margin: 0 auto var(--spacing-xl);
}

.travel-process-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Roboto Mono', monospace;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: var(--font-size-xs);
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: var(--spacing-sm);
  padding: 6px 12px;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  background: rgba(212, 175, 55, 0.1);
}

.travel-process-title {
  color: #ffffff;
  font-size: clamp(1.35rem, 2.2vw, 2.25rem);
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
  padding-bottom: var(--spacing-sm);
  border-bottom: 1px solid rgba(212, 175, 55, 0.35);
}

.travel-process-subtitle {
  margin: var(--spacing-md) auto 0;
  max-width: 780px;
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(0.98rem, 1.25vw, 1.08rem);
  line-height: 1.7;
}

.travel-process-flow {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: center;
  gap: var(--spacing-md);
  width: 100%;
}

.travel-step-card {
  position: relative;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03));
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 14px;
  padding: var(--spacing-md);
  text-align: center;
  min-height: 182px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);
}

.travel-step-card:hover {
  transform: translateY(-6px);
  border-color: rgba(212, 175, 55, 0.7);
  box-shadow: 0 14px 34px rgba(212, 175, 55, 0.25);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.04));
}

.travel-step-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto var(--spacing-sm);
  color: #ffffff;
  display: grid;
  place-items: center;
}

.travel-step-icon svg {
  width: 100%;
  height: 100%;
}

.travel-step-card h3 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1rem, 1.25vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.travel-flow-arrow {
  display: none;
}

.travel-step-number {
  position: absolute;
  top: 12px;
  left: 12px;
  font-family: 'Roboto Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.68);
}

@media (max-width: 1200px) {
  .travel-process-flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--spacing-md);
  }
}

@media (max-width: 768px) {
  .travel-security-process-section {
    padding: var(--spacing-2xl) 0;
  }

  .travel-process-title {
    font-size: clamp(1rem, 4.6vw, 1.4rem);
  }

  .travel-process-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--spacing-md);
  }

  .travel-step-card {
    min-height: 150px;
    padding: var(--spacing-sm);
  }

  .travel-step-icon {
    width: 52px;
    height: 52px;
  }

  .travel-step-card h3 {
    font-size: 0.95rem;
  }
}


/* Travel Security Solutions Section */
.travel-security-section {
  position: relative;
  padding: var(--spacing-3xl) 0;
  background-color: #001D3D;
  overflow: hidden;
}

.travel-security-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('../../assets/images/travel-security-bg.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.3;
  z-index: 0;
}

.travel-security-section::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(0, 29, 61, 0.8) 0%, rgba(0, 29, 61, 0.95) 100%);
  z-index: 0;
}

.travel-security-section .container {
  position: relative;
  z-index: 1;
}

.travel-security-header {
  text-align: center;
  margin-bottom: var(--spacing-2xl);
}

.travel-security-title {
  font-size: var(--font-size-3xl);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: var(--spacing-md);
}

.travel-security-subtitle {
  font-size: var(--font-size-lg);
  color: var(--color-text-secondary);
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.6;
}

.travel-security-categories {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-lg);
  padding: 0 var(--spacing-md);
}

.category-label {
  font-size: var(--font-size-base);
  font-weight: 500;
  color: var(--color-text);
  text-align: center;
  padding: var(--spacing-sm) 0;
  position: relative;
}

.category-label::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #4CC9F0, transparent);
}

.travel-security-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-2xl);
}

.travel-card {
  background: linear-gradient(135deg, rgba(0, 29, 61, 0.6), rgba(0, 53, 102, 0.4));
  border: 1px solid rgba(76, 201, 240, 0.3);
  border-radius: 12px;
  padding: var(--spacing-xl);
  transition: all var(--transition-base);
}

.travel-card:hover {
  transform: translateY(-8px);
  border-color: rgba(76, 201, 240, 0.6);
  box-shadow: 0 12px 48px rgba(0, 117, 185, 0.3);
}

.travel-card-icon {
  width: 64px;
  height: 64px;
  margin-bottom: var(--spacing-lg);
  color: #4CC9F0;
  filter: drop-shadow(0 0 12px rgba(76, 201, 240, 0.5));
}

.travel-card-icon svg {
  width: 100%;
  height: 100%;
}

.travel-card-title {
  font-size: var(--font-size-xl);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: var(--spacing-md);
  line-height: 1.3;
}

.travel-card-description {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  line-height: 1.6;
  margin-bottom: var(--spacing-md);
}

.travel-card-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.travel-card-list li {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  padding-left: var(--spacing-md);
  margin-bottom: var(--spacing-xs);
  position: relative;
  line-height: 1.6;
}

.travel-card-list li::before {
  content: '\\2022';
  position: absolute;
  left: 0;
  color: #4CC9F0;
  font-size: 16px;
}

.travel-security-cta {
  text-align: center;
  margin-top: var(--spacing-2xl);
}

.btn-travel-cta {
  display: inline-block;
  padding: var(--spacing-md) var(--spacing-2xl);
  background: var(--gold-gradient);
  border: none;
  border-radius: 50px;
  color: #000;
  font-size: var(--font-size-lg);
  font-weight: 500;
  text-decoration: none;
  transition: all var(--transition-base);
  box-shadow: 0 4px 20px rgba(244, 226, 154, 0.3);
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.btn-travel-cta::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
  pointer-events: none;
}

.btn-travel-cta:hover {
  background: var(--gold-gradient);
  box-shadow: 0 6px 30px rgba(244, 226, 154, 0.5);
  transform: translateY(-2px);
}

.btn-travel-cta:hover::before {
  width: 300px;
  height: 300px;
}

.btn-travel-cta:active {
  transform: translateY(0);
}

/* Responsive */
@media (max-width: 1024px) {
  .travel-security-categories,
  .travel-security-cards {
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
  }
  
  .category-label {
    text-align: left;
  }
  
  .category-label::after {
    left: 0;
    transform: translateX(0);
  }
}

@media (max-width: 768px) {
  .travel-security-title {
    font-size: var(--font-size-2xl);
  }
  
  .travel-security-subtitle {
    font-size: var(--font-size-base);
  }
  
  .travel-card {
    padding: var(--spacing-lg);
  }
  
  .travel-card-icon {
    width: 48px;
    height: 48px;
  }
  
  .travel-card-title {
    font-size: var(--font-size-lg);
  }
  
  .btn-travel-cta {
    font-size: var(--font-size-base);
    padding: var(--spacing-sm) var(--spacing-xl);
  }
}

/* Global Intelligence Monitoring Section */
.intelligence-monitoring-section {
  position: relative;
  padding: var(--spacing-3xl) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 20%, rgba(76, 201, 240, 0.05), transparent 50%),
    linear-gradient(180deg, #001020 0%, #001a3a 100%);
}

.intelligence-monitoring-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('../../assets/images/intelligence-monitoring-bg.webp');
  background-size: cover;
  background-position: center;
  opacity: 0.44;
  z-index: 0;
}

.intelligence-monitoring-section .container {
  position: relative;
  z-index: 1;
}

.intelligence-monitoring-section .section-header {
  text-align: center;
  max-width: 900px;
  margin: 0 auto var(--spacing-2xl);
}

.intelligence-monitoring-section .section-header h2 {
  font-size: clamp(1.6rem, 2.5vw, 2.4rem);
  color: #ffffff;
  margin-bottom: var(--spacing-md);
}

.intelligence-monitoring-section .section-subtitle {
  color: rgba(255, 255, 255, 0.75);
  font-size: clamp(0.95rem, 1.2vw, 1.08rem);
  line-height: 1.7;
  max-width: 780px;
  margin: 0 auto;
}

.intelligence-flow {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: var(--spacing-lg);
  flex-wrap: wrap;
}

.intelligence-flow-item {
  flex: 1;
  min-width: 260px;
  max-width: 360px;
  text-align: center;
}

.intelligence-flow-item .flow-card {
  background: linear-gradient(135deg, rgba(0, 29, 61, 0.5), rgba(0, 53, 102, 0.28));
  border: 1px solid rgba(212, 175, 55, 0.2);
  border-radius: 14px;
  padding: var(--spacing-xl);
  transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
}

.intelligence-flow-item .flow-card:hover {
  transform: translateY(-6px);
  border-color: rgba(212, 175, 55, 0.6);
  box-shadow: 0 12px 34px rgba(212, 175, 55, 0.25);
}

.flow-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto var(--spacing-md);
  color: #D4AF37;
}

.flow-icon svg {
  width: 100%;
  height: 100%;
}

.intelligence-flow-item h3 {
  font-size: clamp(1.1rem, 1.3vw, 1.35rem);
  font-weight: 600;
  color: #ffffff;
  margin-bottom: var(--spacing-sm);
}

.intelligence-flow-item p {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  line-height: 1.6;
}

.intelligence-flow .flow-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #D4AF37;
  font-size: 1.8rem;
  opacity: 0.6;
  padding-top: 40px;
}

.intelligence-flow .flow-arrow::before {
  content: '\2192';
  line-height: 1;
}

.intelligence-monitoring-section .section-cta {
  text-align: center;
  margin-top: var(--spacing-2xl);
}

@media (max-width: 768px) {
  .intelligence-flow {
    flex-direction: column;
    align-items: center;
  }

  .intelligence-flow-item {
    max-width: 100%;
  }

  .intelligence-flow .flow-arrow {
    display: none;
  }
}

/* Travel Security Solutions Section (3-card) */
.travel-security-solutions-section {
  position: relative;
  padding: var(--spacing-3xl) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 10%, rgba(76, 201, 240, 0.06), transparent 35%),
    radial-gradient(circle at 90% 80%, rgba(0, 117, 185, 0.08), transparent 42%),
    linear-gradient(180deg, #001733 0%, #00244f 100%);
}

.travel-security-solutions-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('../../assets/images/travel-bg.webp');
  background-size: cover;
  background-position: center;
  opacity: 0.46;
  z-index: 0;
}

.travel-security-solutions-section .container {
  position: relative;
  z-index: 1;
}

.travel-security-solutions-section .section-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto var(--spacing-2xl);
}

.travel-security-solutions-section .section-header h2 {
  font-size: clamp(1.6rem, 2.5vw, 2.4rem);
  color: #ffffff;
  margin-bottom: var(--spacing-md);
}

.travel-security-solutions-section .section-subtitle {
  color: rgba(255, 255, 255, 0.75);
  font-size: clamp(0.95rem, 1.2vw, 1.08rem);
  line-height: 1.7;
}

.travel-security-solutions-section .travel-solutions-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  gap: 16px;
  margin-bottom: var(--spacing-md);
  border-top: 1px solid rgba(130, 191, 255, 0.45);
  padding-top: var(--spacing-sm);
}

.travel-security-solutions-section .solution-flow-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
}

.travel-security-solutions-section .solution-flow-item .flow-label {
  font-family: 'Roboto Mono', monospace;
  letter-spacing: 0.03em;
  font-size: clamp(0.92rem, 1.2vw, 1.12rem);
  color: rgba(237, 245, 255, 0.92);
  white-space: normal;
  text-align: center;
  line-height: 1.25;
}

.travel-security-solutions-section .solution-flow-item .flow-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(125, 189, 255, 0.9);
  font-size: 0.95rem;
}

.travel-security-solutions-section .solution-flow-item .flow-arrow::before {
  content: '\2192';
  line-height: 1;
}

.travel-security-solutions-section .solution-flow-item:last-child .flow-arrow {
  display: none;
}

.travel-security-solutions-section .solutions-grid {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  margin-bottom: var(--spacing-xl);
}

.travel-security-solutions-section .solution-card {
  flex: 1 1 0%;
  min-width: 0;
  max-width: 33.333%;
  background: linear-gradient(135deg, rgba(8, 33, 68, 0.7), rgba(0, 20, 46, 0.64));
  border: 1px solid rgba(139, 198, 255, 0.45);
  border-radius: 12px;
  padding: 14px 18px 12px;
  box-shadow: inset 0 0 0 1px rgba(117, 177, 255, 0.15), 0 8px 22px rgba(1, 17, 42, 0.45);
  transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
}

.travel-security-solutions-section .solution-card:hover {
  transform: translateY(-4px);
  border-color: rgba(212, 175, 55, 0.55);
  box-shadow: inset 0 0 0 1px rgba(212, 175, 55, 0.25), 0 12px 28px rgba(31, 95, 188, 0.35);
}

.travel-security-solutions-section .solution-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: var(--spacing-sm);
}

.travel-security-solutions-section .solution-icon {
  width: 64px;
  height: 52px;
  min-width: 64px;
  color: #D4AF37;
  filter: drop-shadow(0 0 12px rgba(126, 199, 255, 0.45));
}

.travel-security-solutions-section .solution-icon svg {
  width: 100%;
  height: 100%;
}

.travel-security-solutions-section .solution-card h3 {
  font-size: clamp(1.02rem, 1.25vw, 1.22rem);
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0;
  line-height: 1.2;
}

.travel-security-solutions-section .solution-card p {
  font-size: clamp(0.95rem, 1.05vw, 1.06rem);
  color: var(--color-text-secondary);
  line-height: 1.5;
  margin: 0 0 var(--spacing-sm) 0;
}

.travel-security-solutions-section .solution-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.travel-security-solutions-section .solution-card ul li {
  font-size: clamp(0.94rem, 1vw, 1.02rem);
  color: rgba(228, 239, 255, 0.92);
  padding-left: 14px;
  position: relative;
  line-height: 1.4;
}

.travel-security-solutions-section .solution-card ul li::before {
  content: '\\2022';
  position: absolute;
  left: 0;
  top: 0;
  color: #24b8ff;
  font-size: 1.1rem;
  line-height: 1;
}

.travel-security-solutions-section .section-cta {
  text-align: center;
}

@media (max-width: 768px) {
  .travel-security-solutions-section .travel-solutions-flow {
    grid-template-columns: 1fr;
    align-items: center;
    gap: var(--spacing-xs);
  }

  .travel-security-solutions-section .solution-flow-item .flow-arrow {
    display: none;
  }

  .travel-security-solutions-section .solutions-grid {
    flex-direction: column;
    gap: var(--spacing-sm);
  }

  .travel-security-solutions-section .solution-card {
    max-width: 100%;
  }
}

/* How We Manage Risk Section */
.risk-management-process-section {
  position: relative;
  padding: var(--spacing-3xl) 0;
  overflow: hidden;
  background: linear-gradient(180deg, #e5e8ec 0%, #cfd5dc 50%, #e2e6eb 100%);
}

.risk-management-process-section::after {
  content: '';
  position: absolute;
  top: calc(var(--spacing-3xl) + 56px);
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 5%, #D4AF37 20%, #D4AF37 80%, transparent 95%);
  transform: none;
  z-index: 0;
  opacity: 0.5;
}

.risk-management-process-section .container {
  position: relative;
  z-index: 1;
}

.risk-management-process-section .section-header {
  text-align: center;
  margin-bottom: var(--spacing-2xl);
}

.risk-management-process-section .section-header h2 {
  font-size: clamp(1.6rem, 2.5vw, 2.4rem);
  color: #1f2937;
  font-weight: 400 !important;
}

/* Force all h2 font-weight to 400 in home page to override base.css */
h2 {
  font-weight: 400 !important;
}

.risk-process-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-md);
  flex-wrap: wrap;
}

.risk-step-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-sm);
  min-width: 100px;
}

.risk-step-icon {
  position: relative;
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, rgba(0, 29, 61, 0.7), rgba(0, 53, 102, 0.4));
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 50%;
  display: grid;
  place-items: center;
  padding: 16px;
  color: #D4AF37;
  transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);
}

.risk-step-icon::after {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1px solid rgba(212, 175, 55, 0.4);
  opacity: 0;
  transform: scale(0.9);
  pointer-events: none;
}

.risk-step-card:hover .risk-step-icon {
  transform: scale(1.1);
  border-color: rgba(212, 175, 55, 0.7);
  box-shadow: 0 0 24px rgba(212, 175, 55, 0.3);
}

.risk-step-card.is-active .risk-step-icon {
  transform: scale(1.13);
  border-color: rgba(212, 175, 55, 0.85);
  background: linear-gradient(135deg, rgba(20, 55, 102, 0.9), rgba(8, 36, 72, 0.86));
  box-shadow:
    0 0 0 1px rgba(212, 175, 55, 0.45),
    0 0 28px rgba(212, 175, 55, 0.38);
}

.risk-step-card.is-active .risk-step-icon::after {
  opacity: 1;
  animation: risk-step-ping 1.15s ease-out infinite;
}

.risk-step-icon svg {
  width: 100%;
  height: 100%;
}

.risk-step-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border-radius: inherit;
}

.process-step-label {
  font-size: clamp(0.95rem, 1.1vw, 1.1rem);
  font-weight: 600;
  color: #243244;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.process-flow-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #D4AF37;
  font-size: 1.8rem;
  opacity: 0.7;
}

.process-flow-arrow::before {
  content: '\2192';
  line-height: 1;
}

@media (max-width: 768px) {
  .risk-management-process-section::after {
    display: none;
  }

  .risk-process-flow {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-lg) var(--spacing-md);
    align-items: start;
    counter-reset: risk-step;
  }

  .process-flow-arrow {
    display: none;
  }

  .risk-step-card {
    counter-increment: risk-step;
    position: relative;
  }

  .risk-step-card::after {
    content: counter(risk-step, decimal-leading-zero);
    position: absolute;
    top: -6px;
    right: 6px;
    font-size: 0.6rem;
    font-weight: 700;
    color: #D4AF37;
    letter-spacing: 0.05em;
    opacity: 0.75;
  }

  .risk-process-flow > .risk-step-card:last-child {
    grid-column: 1 / -1;
    justify-self: center;
  }

  .risk-step-icon {
    width: 64px;
    height: 64px;
    padding: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .risk-step-card.is-active .risk-step-icon::after {
    animation: none;
  }
}


/* Case Studies Section */
.case-studies-section {
  position: relative;
  padding: var(--spacing-3xl) 0;
  overflow: hidden;
  background: #f4f8fc;
}

.case-studies-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 18% 22%, rgba(96, 144, 212, 0.10), transparent 34%),
    radial-gradient(circle at 78% 62%, rgba(125, 174, 235, 0.12), transparent 36%);
  opacity: 1;
  z-index: 0;
}

.case-studies-section .container {
  position: relative;
  z-index: 1;
}

.case-studies-section .section-header h2 {
  color: #112a4a;
}

.case-studies-section .section-subtitle {
  color: #445b78;
}

/* Cards - full-bleed image, overlay, hover-reveal detail */
.case-card {
  position: relative;
  min-height: 420px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  text-decoration: none;
  color: #ffffff;
  background-color: #0b1323;
  display: block;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.case-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.03);
}

.case-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2, 9, 24, 0.22) 0%, rgba(2, 9, 24, 0.62) 42%, rgba(3, 7, 19, 0.92) 100%);
}

.case-card-icon {
  position: absolute;
  top: 22px;
  left: 50%;
  transform: translateX(-50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.6);
  background: rgba(0, 0, 0, 0.28);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  color: #fff;
  padding: 10px;
  transition: color 200ms ease, border-color 200ms ease;
}

.case-card-icon svg {
  width: 100%;
  height: 100%;
}

.case-card-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 18px;
  text-align: center;
}

.case-card-content .case-eyebrow {
  position: absolute;
  top: 90px;
  left: 18px;
  right: 18px;
  text-transform: uppercase;
  font-size: var(--font-size-xs);
  color: #fff;
  letter-spacing: 1px;
  margin: 0;
  transition: color 200ms ease;
}

.case-card-content h3 {
  position: absolute;
  left: 18px;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: clamp(0.95rem, 1.2vw, 1.3rem);
  line-height: 1.2;
  margin: 0;
}

.case-card-content p {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 22px;
  font-size: 0.98rem;
  line-height: 1.5;
  color: rgba(236, 242, 255, 0.94);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (hover: hover) {
  .case-card-content p {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 180ms ease, transform 180ms ease;
  }

  .case-card:hover .case-card-content p,
  .case-card:focus-visible .case-card-content p {
    opacity: 1;
    transform: translateY(0);
  }
}

.case-card:hover {
  transform: translateY(-4px);
  border-color: rgba(212, 175, 55, 0.55);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.4);
}

.case-card:hover .case-card-icon,
.case-card:focus-visible .case-card-icon {
  color: #D4AF37;
  border-color: rgba(212, 175, 55, 0.75);
}

.case-card:hover .case-eyebrow,
.case-card:focus-visible .case-eyebrow {
  color: #D4AF37;
}

@media (max-width: 768px) {
  .case-card {
    min-height: 360px;
  }
}

/* CTA Band */
.cta-band {
  padding: var(--spacing-3xl) 0;
  background-color: #003566;
  text-align: center;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.cta-band h2 {
  font-size: var(--font-size-3xl);
  margin-bottom: var(--spacing-xl);
}

.home-cta-band {
  padding: 44px 0;
  background: #1f2227;
  background-image: none;
  border: 0;
  color: #f7fbff;
  text-align: left;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.home-cta-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(255, 255, 255, 0.07), transparent 34%),
    radial-gradient(circle at 84% 78%, rgba(255, 255, 255, 0.05), transparent 40%);
  opacity: 1;
  z-index: 0;
}

.home-cta-band::after {
  content: '';
  position: absolute;
  inset: -25% -10%;
  background-image: repeating-linear-gradient(
    -24deg,
    rgba(255, 255, 255, 0) 0px,
    rgba(255, 255, 255, 0) 10px,
    rgba(116, 83, 22, 0.2) 10px,
    rgba(218, 165, 32, 0.52) 10.5px,
    rgba(255, 229, 148, 0.72) 11px,
    rgba(180, 126, 28, 0.48) 11.5px,
    rgba(255, 255, 255, 0) 12px,
    rgba(255, 255, 255, 0) 22px
  );
  opacity: 0.55;
  transform: translate3d(0, 0, 0);
  animation: home-cta-lines-drift 14s linear infinite;
  z-index: 0;
}

.home-cta-band .container {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.home-cta-band h2 {
  margin: 0;
  text-transform: uppercase;
  line-height: 1;
  font-size: clamp(16px, 2vw, 30px);
  white-space: nowrap;
}

.home-cta-band .cta-actions {
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
}

/* Home contact CTA keeps the About-page button scale after global button polish. */
.home-cta-band .cta-actions .btn {
  display: inline-block;
  width: auto;
  min-width: 0;
  min-height: 0;
  padding: 14px 32px;
  font-size: var(--font-size-base);
  font-weight: 500;
  letter-spacing: normal;
}

@keyframes home-cta-lines-drift {
  0% { transform: translate3d(-18px, -18px, 0); }
  100% { transform: translate3d(18px, 18px, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .home-cta-band::after {
    animation: none;
  }
}

@media (max-width: 1100px) {
  .home-cta-band .container {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .home-cta-band h2 {
    font-size: clamp(22px, 6vw, 36px);
    line-height: 0.96;
    white-space: normal;
  }

  .home-cta-band .cta-actions {
    justify-content: center;
  }
}

/* Premium gold CTA unification */
:where(
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-capsule,
  .alert-cta,
  .signal-cta,
  .exec-brief-cta,
  .btn-learn-more,
  .btn-tagline-cta,
  .btn-travel-cta,
  .opreach-main-cta,
  .opreach-engagement-cta,
  .wrm-tip-cta,
  .wrm-rp-cta,
  .wrm-popup-cta,
  .ip-btn-primary,
  .ip-btn-secondary,
  .ip-insight-cta,
  .case-studies-section .section-cta .btn
) {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 24px;
  border: 1px solid rgba(244, 226, 154, 0.72);
  border-radius: 999px;
  background: var(--gold-gradient);
  color: #050505;
  box-shadow: 0 4px 20px rgba(212, 175, 55, 0.22), inset 0 1px 0 rgba(244, 226, 154, 0.5);
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, background 0.35s ease, color 0.35s ease;
}

:where(
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-capsule,
  .alert-cta,
  .signal-cta,
  .exec-brief-cta,
  .btn-learn-more,
  .btn-tagline-cta,
  .btn-travel-cta,
  .opreach-main-cta,
  .opreach-engagement-cta,
  .wrm-tip-cta,
  .wrm-rp-cta,
  .wrm-popup-cta,
  .ip-btn-primary,
  .ip-btn-secondary,
  .ip-insight-cta,
  .case-studies-section .section-cta .btn
)::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.45) 42%, transparent 72%);
  transform: translate(-50%, -50%);
  transition: width 0.6s ease, height 0.6s ease;
  pointer-events: none;
}

:where(
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-capsule,
  .alert-cta,
  .signal-cta,
  .exec-brief-cta,
  .btn-learn-more,
  .btn-tagline-cta,
  .btn-travel-cta,
  .opreach-main-cta,
  .opreach-engagement-cta,
  .wrm-tip-cta,
  .wrm-rp-cta,
  .wrm-popup-cta,
  .ip-btn-primary,
  .ip-btn-secondary,
  .ip-insight-cta,
  .case-studies-section .section-cta .btn
):hover,
:where(
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-capsule,
  .alert-cta,
  .signal-cta,
  .exec-brief-cta,
  .btn-learn-more,
  .btn-tagline-cta,
  .btn-travel-cta,
  .opreach-main-cta,
  .opreach-engagement-cta,
  .wrm-tip-cta,
  .wrm-rp-cta,
  .wrm-popup-cta,
  .ip-btn-primary,
  .ip-btn-secondary,
  .ip-insight-cta,
  .case-studies-section .section-cta .btn
):focus-visible {
  border-color: var(--color-primary-light);
  background: var(--gold-gradient-hover);
  color: #050505;
  transform: translateY(-3px) scale(1.015);
  box-shadow: var(--gold-glow-strong), inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

:where(
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-capsule,
  .alert-cta,
  .signal-cta,
  .exec-brief-cta,
  .btn-learn-more,
  .btn-tagline-cta,
  .btn-travel-cta,
  .opreach-main-cta,
  .opreach-engagement-cta,
  .wrm-tip-cta,
  .wrm-rp-cta,
  .wrm-popup-cta,
  .ip-btn-primary,
  .ip-btn-secondary,
  .ip-insight-cta,
  .case-studies-section .section-cta .btn
):hover::before,
:where(
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-capsule,
  .alert-cta,
  .signal-cta,
  .exec-brief-cta,
  .btn-learn-more,
  .btn-tagline-cta,
  .btn-travel-cta,
  .opreach-main-cta,
  .opreach-engagement-cta,
  .wrm-tip-cta,
  .wrm-rp-cta,
  .wrm-popup-cta,
  .ip-btn-primary,
  .ip-btn-secondary,
  .ip-insight-cta,
  .case-studies-section .section-cta .btn
):focus-visible::before {
  width: 300px;
  height: 300px;
}

.cta-actions {
  display: flex;
  gap: var(--spacing-md);
  justify-content: center;
  flex-wrap: wrap;
}

.case-studies-section .section-cta .btn {
  min-width: 240px;
}

/* Responsive */
@media (max-width: 1024px) {
  .slider-wrapper {
    grid-template-columns: 1fr;
  }

  .slider-images {
    order: -1;
    height: 400px;
  }

  .slider-controls {
    position: static;
    margin-top: var(--spacing-lg);
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .featured-slider-section {
    background-attachment: scroll;
    background-position: center top;
  }

  .intelligence-alerts-section::before {
    background-position: 52% 0;
    opacity: 0.3;
  }

  .home-solutions-showcase {
    background-position: center top, 10% 0%, 90% 100%, center;
    background-size: cover, auto, auto, auto;
  }

  .global-monitoring-section,
  .travel-security-process-section,
  .travel-security-section,
  .intelligence-monitoring-section,
  .travel-security-solutions-section,
  .risk-management-process-section {
    background-position: center top;
  }

  .travel-security-process-section::before,
  .travel-security-section::before,
  .intelligence-monitoring-section::before,
  .travel-security-solutions-section::before {
    background-position: center top;
    background-size: cover;
  }

  .tagline-section::before {
    opacity: 0.7;
  }

  .tagline-section::after {
    opacity: 0.45;
  }

  .hero-section {
    position: relative;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    min-height: 100svh;
    min-height: 100dvh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0f1822 0%, #182432 50%, #0f1822 100%);
  }

  .hero-video-backdrop {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    filter: blur(10px) saturate(0.95);
    transform: none;
    opacity: 0.52;
    z-index: 0;
  }

  .hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    transform-origin: center center;
    object-fit: cover;
    object-position: center center;
    background: transparent;
    opacity: 1;
    z-index: 1;
  }

  .hero-overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.08) 50%, rgba(0, 0, 0, 0.16) 100%);
    z-index: 2;
  }

  .hero-content {
    padding: var(--spacing-xl) var(--spacing-lg);
  }

  .hero-content h1 {
    font-size: var(--font-size-2xl);
    text-shadow: 0 4px 12px rgba(0, 0, 0, 0.7);
  }

  .hero-subheading {
    font-size: var(--font-size-base);
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
  }

  .hero-grid-lines {
    display: none;
  }

  .ticker-inner {
    grid-template-columns: 100px 1fr;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
  }

  .ticker-text {
    white-space: normal;
    line-height: 1.5;
  }

  .ticker-location {
    font-size: var(--font-size-xs);
  }

  .ticker-cta,
  .ticker-controls {
    display: none;
  }

  .slide-title {
    font-size: var(--font-size-xl);
  }

  .slider-images {
    height: 300px;
  }

  .slider-content {
    min-height: 0;
  }

  .approach-grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }

  .approach-image {
    height: 250px;
  }

  .approach-content {
    padding: var(--spacing-lg);
  }
}

@media (max-width: 480px) {
  .hero-section {
    position: relative;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    min-height: 100svh;
    min-height: 100dvh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0f1822 0%, #182432 50%, #0f1822 100%);
  }

  .hero-video-backdrop {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    filter: blur(12px) saturate(0.95);
    transform: none;
    opacity: 0.55;
    z-index: 0;
  }

  .hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    transform-origin: center center;
    object-fit: cover;
    object-position: center center;
    background: transparent;
    opacity: 1;
    z-index: 1;
  }

  .hero-overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.08) 50%, rgba(0, 0, 0, 0.16) 100%);
    z-index: 2;
  }

  .hero-content {
    padding: var(--spacing-lg) var(--spacing-md);
  }

  .hero-content h1 {
    text-shadow: 0 4px 14px rgba(0, 0, 0, 0.8);
  }

  .hero-subheading {
    text-shadow: 0 2px 9px rgba(0, 0, 0, 0.7);
  }

  .hero-actions {
    flex-direction: column;
    width: 100%;
  }

  .hero-actions .btn {
    width: 100%;
    max-width: 300px;
  }

  .ticker-inner {
    grid-template-columns: 1fr;
  }

  .ticker-location {
    display: none;
  }

  .tagline-line {
    font-size: clamp(18px, 5vw, 28px);
    text-align: center;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .tagline-line.step-top,
  .tagline-line.step-middle,
  .tagline-line.step-bottom {
    margin-left: 0;
  }

  .risk-management-process-section::after {
    top: calc(var(--spacing-2xl) + 40px);
    height: 1px;
  }
}

/* ===========================================
   Operational Reach (remade from scratch)
   =========================================== */
.operational-reach-section {
  position: relative;
  background: linear-gradient(135deg, #060e1e 0%, #0c1a30 60%, #060e1e 100%);
  overflow: hidden;
  padding: var(--spacing-3xl) 0;
  border-top: 1px solid rgba(76, 201, 240, 0.1);
  border-bottom: 1px solid rgba(76, 201, 240, 0.1);
}

.operational-reach-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 12% 22%, rgba(201, 157, 54, 0.09), transparent 32%),
    radial-gradient(circle at 80% 45%, rgba(201, 157, 54, 0.07), transparent 35%),
    radial-gradient(circle at 40% 78%, rgba(255, 214, 102, 0.06), transparent 34%);
  z-index: 0;
  pointer-events: none;
}

/* Final mobile hero video fit override: full viewport + full frame foreground */
@media (max-width: 768px) {
  .hero-section {
    height: 100vh !important;
    height: 100svh !important;
    height: 100dvh !important;
    min-height: 100svh !important;
    min-height: 100dvh !important;
    background: #000000 !important;
  }

  .hero-video {
    top: 50% !important;
    left: 50% !important;
    width: 100% !important;
    height: 100% !important;
    transform: translate(-50%, -50%) !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: transparent !important;
  }

  .hero-video-backdrop {
    display: block !important;
    top: 50% !important;
    left: 50% !important;
    width: 100% !important;
    height: 100% !important;
    transform: translate(-50%, -50%) scale(1.05) !important;
    object-fit: cover !important;
    object-position: center center !important;
    filter: blur(7px) brightness(0.45) !important;
    opacity: 0.9 !important;
    z-index: 0 !important;
  }
}

.operational-reach-section::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(rgba(201, 157, 54, 0.11) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: 0.14;
  z-index: 0;
  pointer-events: none;
}

.operational-reach-section .container {
  max-width: 1600px;
  padding: 0 40px;
  position: relative;
  z-index: 1;
}

.opreach-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  width: 100%;
  max-width: 100%;
  margin-top: 48px;
}

.opreach-cards-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.opreach-engagement-wrapper {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: stretch;
}

.opreach-globe-section {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 320px;
  width: 100%;
  margin-left: -180px;
}

.opreach-head {
  max-width: 720px;
  margin-bottom: var(--spacing-xl);
}

.opreach-title {
  font-size: clamp(2.3rem, 3.4vw, 3.4rem);
  font-weight: 600;
  font-family: inherit;
  color: #ffffff;
  margin-bottom: var(--spacing-sm);
  margin-left: 0;
  letter-spacing: 0;
  width: 100%;
  text-align: left;
}

.opreach-subtitle {
  font-size: clamp(1.05rem, 1.4vw, 1.28rem);
  color: rgba(255, 255, 255, 0.85);
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
}

.opreach-description {
  max-width: 720px;
  color: #2a4365;
  font-size: clamp(1.04rem, 1.25vw, 1.22rem);
  line-height: 1.7;
  font-weight: 400;
  margin-bottom: 22px;
}

.opreach-description.opreach-description--white {
  color: rgba(255, 255, 255, 0.92);
}

.opreach-description.opreach-description--white p {
  color: rgba(255, 255, 255, 0.92);
}

.opreach-main-cta {
  width: fit-content;
  padding: 8px 16px;
}

.opreach-globe-wrap {
  position: relative;
  width: var(--globe-size, 340px);
  height: var(--globe-size, 340px);
  pointer-events: none;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  --globe-size: 340px;
}

.opreach-stage {
  --globe-size: min(340px, 35vw);
}

.opreach-globe-ring {
  position: absolute;
  border-radius: 50%;
  inset: 50%;
  transform: translate(-50%, -50%);
  display: none;
}

.opreach-globe-ring--blue {
  border: 2px solid rgba(125, 215, 255, 0.65);
  box-shadow:
    0 0 48px rgba(124, 208, 255, 0.35),
    0 0 120px rgba(124, 208, 255, 0.12);
  filter: drop-shadow(0 0 25px rgba(124, 208, 255, 0.25));
  opacity: 0.95;
  animation: opreach-ring-pulse 3.2s ease-in-out infinite;
}

.opreach-globe-ring--gold {
  display: none;
}

.opreach-globe-core {
  position: relative;
  width: 100%;
  height: 100%;
  transform: none;
  border-radius: 50%;
  z-index: 3;
  background:
    radial-gradient(circle at 30% 25%, rgba(160, 236, 255, 0.86), rgba(44, 115, 255, 0.4) 38%, rgba(12, 24, 72, 0.92) 68%);
  border: 1px solid rgba(137, 220, 255, 0.28);
  box-shadow:
    -18px 0 60px rgba(44, 115, 255, 0.55),
    18px 0 60px rgba(88, 182, 255, 0.26),
    inset -25px 0 40px rgba(88, 182, 255, 0.22),
    inset 25px 0 40px rgba(44, 115, 255, 0.45),
    0 0 60px rgba(124, 208, 255, 0.12),
    0 0 40px rgba(124, 208, 255, 0.12);
  overflow: hidden;
}

.opreach-globe-core::after {
  content: "";
  position: absolute;
  inset: -10%;
  background: url('../../assets/images/globe-image.webp') center/200% 100% repeat-x;
  mix-blend-mode: normal;
  filter: hue-rotate(190deg) saturate(0.8) brightness(0.95);
  opacity: 0.28;
  transform-origin: center;
  animation: opreach-globe-rotate 18s linear infinite;
}

.opreach-connectors {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0.95;
}

.opreach-connectors path {
  fill: none;
  stroke: rgba(124, 208, 255, 0.8);
  stroke-width: 1.4;
  stroke-linecap: round;
  filter: drop-shadow(0 0 10px rgba(124, 208, 255, 0.18));
}

.opreach-connectors circle {
  fill: rgba(255, 255, 255, 0.92);
  stroke: rgba(124, 208, 255, 0.95);
  stroke-width: 1.2;
  filter: drop-shadow(0 0 14px rgba(124, 208, 255, 0.24));
}

.opreach-card {
  position: relative;
  z-index: 4;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: #ffffff;
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.12),
    0 1px 4px rgba(0, 0, 0, 0.08);
  padding: 28px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
  text-align: center;
  width: 100%;
  min-height: 280px;
  transition: all 0.3s ease;
  min-width: 0;
}

.opreach-card:hover {
  border-color: rgba(0, 0, 0, 0.15);
  background: #f8f9fa;
  box-shadow:
    0 8px 28px rgba(0, 0, 0, 0.16),
    0 2px 8px rgba(0, 0, 0, 0.10);
  transform: translateY(-4px);
}

.opreach-cards-stack {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  width: 100%;
}

.opreach-top-row {
  width: 100%;
  display: contents;
}

.opreach-card-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0a1628;
  flex-shrink: 0;
}

.opreach-card-icon svg {
  width: 100%;
  height: 100%;
}

.opreach-card-icon--small {
  width: 36px;
  height: 36px;
}

.opreach-card-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  width: 100%;
}

.opreach-card h3 {
  margin: 0;
  color: #0a1628;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-transform: none;
  font-size: 1.14rem;
  width: 100%;
  text-align: center;
}

.opreach-card p {
  margin: 2px 0 0;
  color: rgba(10, 22, 40, 0.70);
  font-size: 0.97rem;
  line-height: 1.3;
  font-weight: 400;
  width: 100%;
}

.opreach-region-text {
  width: 100%;
  padding-bottom: 8px;
  margin-bottom: 6px;
  border-bottom: 1px solid rgba(10, 22, 40, 0.22);
  font-weight: 500;
  text-align: center;
}

.opreach-card-content p:not(.opreach-region-text) {
  position: relative;
  padding-left: 14px;
}

.opreach-card-content p:not(.opreach-region-text)::before {
  content: "\2022";
  position: absolute;
  left: 0;
  top: 0;
  color: #0a1628;
  font-weight: 700;
}

.opreach-card--hq {
  width: 100%;
}

.opreach-card--core {
  width: 100%;
}

.opreach-card--core h3 {
  display: block;
}

.opreach-card--regional {
  width: 100%;
  align-self: auto;
}

.opreach-card--regional h3 {
  display: block;
}

.opreach-card--advisory {
  width: 100%;
  align-self: auto;
}

.opreach-card--engagement {
  width: 100%;
  max-width: 600px;
  align-self: flex-start;
  padding: 24px 20px;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 14px;
  border-color: rgba(201, 157, 54, 0.72);
  box-shadow:
    inset 0 0 0 1px rgba(255, 226, 153, 0.1),
    0 22px 62px rgba(0, 0, 0, 0.6),
    0 0 28px rgba(201, 157, 54, 0.14);
}

.opreach-card--engagement .opreach-engagement-title {
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  font-weight: 800;
  color: #ffffff;
  margin: 0;
}

.opreach-card--engagement .opreach-engagement-text {
  color: rgba(255, 255, 255, 0.80);
  line-height: 1.5;
  font-size: 0.98rem;
  font-weight: 400;
  margin: 0;
}

.opreach-card--engagement .opreach-engagement-cta {
  margin-top: 6px;
  padding: 6px 14px;
  border-color: rgba(201, 157, 54, 0.72);
}

@keyframes opreach-ring-pulse {
  0%,
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.85;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.02);
    opacity: 1;
  }
}

@keyframes opreach-surface-drift {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-28%);
  }
}

@keyframes opreach-globe-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 1200px) {
  .opreach-main-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .opreach-left-column {
    width: 100%;
    gap: 16px;
    margin-left: 0;
  }

  .opreach-title {
    margin-left: 0;
  }

  .opreach-cards-grid {
    max-width: 100%;
  }

  .opreach-card--engagement {
    max-width: 100%;
  }

  .opreach-globe-section {
    justify-content: center;
    width: 100%;
    margin-left: 0;
  }

  .opreach-globe-wrap {
    width: min(300px, 60vw);
    height: min(300px, 60vw);
  }
}

@media (max-width: 1100px) {
  .opreach-main-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .opreach-left-column {
    width: 100%;
    gap: 16px;
    margin-left: 0;
  }

  .opreach-title {
    margin-left: 0;
  }

  .opreach-cards-grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    width: 100%;
    max-width: 100%;
  }

  .opreach-cards-section {
    align-items: stretch;
    width: 100%;
    gap: 0;
  }

  .opreach-globe-section {
    justify-content: center;
    width: 100%;
    min-height: 300px;
  }

  .opreach-globe-wrap {
    width: min(280px, 60vw);
    height: min(280px, 60vw);
    margin: 0;
  }

  .opreach-card--hq,
  .opreach-card--core,
  .opreach-card--regional,
  .opreach-card--advisory {
    width: 100%;
  }

  .opreach-card--engagement {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .opreach-main-grid {
    gap: 30px;
  }

  .opreach-left-column {
    gap: 14px;
    margin-bottom: 24px;
    margin-left: 0;
  }

  .opreach-title {
    margin-left: 0;
  }

  .opreach-cards-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .opreach-card {
    padding: 16px 12px;
  }

  .opreach-card-icon {
    width: 36px;
    height: 36px;
  }

  .opreach-card h3 {
    font-size: 1.05rem;
  }

  .opreach-card p {
    font-size: 0.9rem;
  }

  .opreach-card--engagement {
    padding: 18px 16px;
  }

  .opreach-card--engagement .opreach-engagement-title {
    font-size: 1.25rem;
  }

  .opreach-card--engagement .opreach-engagement-text {
    font-size: 0.88rem;
  }

  .opreach-globe-wrap {
    width: min(240px, 70vw);
    height: min(240px, 70vw);
  }
}

@media (max-width: 640px) {
  .operational-reach-section .container {
    padding: 0 18px;
  }

  .opreach-title {
    font-size: clamp(1.8rem, 5vw, 2.6rem);
  }

  .opreach-main-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .opreach-left-column {
    gap: 12px;
    margin-bottom: 20px;
    margin-left: 0;
  }

  .opreach-cards-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .opreach-card {
    padding: 14px 10px;
  }

  .opreach-card h3 {
    font-size: 1rem;
  }

  .opreach-card p {
    font-size: 0.86rem;
  }

  .opreach-card-icon {
    width: 32px;
    height: 32px;
  }

  .opreach-card--engagement {
    padding: 16px 12px;
    gap: 10px;
  }

  .opreach-card--engagement .opreach-engagement-title {
    font-size: 1.12rem;
  }

  .opreach-card--engagement .opreach-engagement-text {
    font-size: 0.82rem;
    line-height: 1.4;
  }

  .opreach-globe-wrap {
    width: min(200px, 75vw);
    height: min(200px, 75vw);
  }
}

/* ================================================== */
/* World Risk Map Section                            */
/* ================================================== */

.world-risk-map-section {
  position: relative;
  padding: var(--spacing-3xl) 0;
  background: linear-gradient(180deg, #20242b 0%, #303640 52%, #20242b 100%);
  overflow: hidden;
}

.world-risk-map-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(204, 210, 220, 0.10), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(162, 168, 178, 0.08), transparent 45%),
    linear-gradient(90deg, rgba(204, 210, 220, 0.03) 1px, transparent 1px),
    linear-gradient(rgba(204, 210, 220, 0.03) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 60px 60px, 60px 60px;
  opacity: 0.42;
  z-index: 0;
  pointer-events: none;
}

.world-risk-map-section .container {
  position: relative;
  z-index: 1;
}

.risk-map-header {
  text-align: center;
  margin-bottom: var(--spacing-2xl);
}

.risk-map-title {
  font-size: clamp(1.8rem, 2.8vw, 2.8rem);
  font-weight: 700;
  color: #ffffff;
  margin-bottom: var(--spacing-md);
  letter-spacing: 0.01em;
}

.risk-map-subtitle {
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  color: rgba(255, 255, 255, 0.75);
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.6;
}

.risk-map-container {
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(320px, 1fr);
  gap: 24px;
  position: relative;
  align-items: stretch;
}

.risk-map-visual {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(186, 193, 204, 0.42);
  background: linear-gradient(155deg, rgba(48, 53, 62, 0.90), rgba(70, 76, 88, 0.78));
  box-shadow:
    inset 0 0 36px rgba(196, 203, 214, 0.16),
    0 20px 60px rgba(8, 10, 14, 0.50);
  aspect-ratio: 16 / 9;
  min-height: 420px;
}

.risk-map-sidebar {
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-radius: 16px;
  background: rgba(6, 15, 28, 0.92);
  border: 1px solid rgba(76, 201, 240, 0.16);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25);
  padding: 22px;
}

.risk-map-sidebar-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.risk-map-sidebar-kicker {
  margin: 0 0 6px;
  font-size: 0.82rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #4cc9f0;
}

.risk-map-sidebar-title {
  margin: 0;
  font-size: 1.35rem;
  color: #ffffff;
  line-height: 1.25;
}

.risk-map-live-indicator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 60px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(76, 201, 240, 0.12);
  color: #4cc9f0;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.risk-map-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}

.risk-map-tab {
  font-size: 0.67rem;
  font-weight: 600;
  letter-spacing: 0.10em;
  color: rgba(255, 255, 255, 0.48);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 5px;
  padding: 7px 14px;
  cursor: pointer;
  transition: background 0.18s, color 0.18s, border-color 0.18s;
  text-transform: uppercase;
  white-space: nowrap;
}

.risk-map-tab.active {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.30);
  color: #ffffff;
}

.risk-map-tab:hover:not(.active) {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.80);
}

.risk-alert-list {
  display: grid;
  gap: 18px;
  min-height: 0;
  flex: 1;
}

.risk-map-sidebar .risk-alert-list {
  max-height: calc(100% - 110px);
}

.risk-feed-scroll {
  padding: 24px;
  flex: 1;
  overflow: hidden;
  position: relative;
}

.risk-alert-list::-webkit-scrollbar,
.risk-feed-scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.risk-alert-list {
  -ms-overflow-style: none;
}

.risk-alert-loading,
.risk-alert-error,
.risk-alert-empty {
  margin: 0;
  padding: 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.9rem;
  line-height: 1.6;
}

.risk-alert-detail {
  margin-bottom: 18px;
  padding: 18px 20px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}
.risk-alert-detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.risk-alert-detail-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(212, 175, 55, 0.12);
  color: var(--color-primary);
}
.risk-alert-detail-title {
  margin: 10px 0 6px;
  font-size: 1rem;
  font-weight: 700;
  color: #ffffff;
}
.risk-alert-detail-meta {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.85rem;
  line-height: 1.5;
}
.risk-alert-detail-severity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #f6f6f6;
  font-size: 0.82rem;
  font-weight: 700;
}
.risk-alert-detail-body {
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.94rem;
  line-height: 1.8;
}
.feed-item-active {
  border-color: rgba(255, 215, 84, 0.38);
  background: rgba(255, 215, 84, 0.06);
}

#worldRiskMap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  line-height: 0;
  z-index: 1;
  background: transparent !important;
}

.risk-map-surface::before,
.risk-map-surface-overlay,
.risk-map-surface .leaflet-container,
.risk-map-surface .leaflet-pane,
.risk-map-surface .leaflet-tile-pane,
.risk-map-surface .leaflet-map-pane {
  background: transparent !important;
}

.risk-map-surface::before,
.risk-map-surface-overlay {
  pointer-events: none !important;
}

.risk-map-surface-overlay {
  display: none !important;
}

.leaflet-pane,
.leaflet-tile-pane,
.leaflet-map-pane {
  background: transparent !important;
}

.risk-map-surface .leaflet-container,
.risk-map-surface .leaflet-pane,
.risk-map-surface .leaflet-tile-pane,
.risk-map-surface .leaflet-map-pane {
  background: transparent;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

.risk-alert-dot {
  filter: drop-shadow(0 0 16px rgba(255, 183, 77, 0.35));
  animation: none !important;
  opacity: 1 !important;
}

.risk-alert-tooltip,
.risk-marker-tooltip {
  background: rgba(10, 14, 26, 0.92);
  border-radius: 12px;
  color: #f5f7ff;
  padding: 6px 10px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
  font-size: 0.82rem;
  border: 0;
}

.risk-marker-country-label {
  background: rgba(4, 11, 26, 0.96);
  border: 1px solid rgba(255, 215, 84, 0.38);
  border-radius: 999px;
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 7px 12px;
  text-transform: uppercase;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.45), 0 0 18px rgba(255, 215, 84, 0.18);
  pointer-events: none !important;
}

.risk-marker-country-label::before {
  border-top-color: rgba(255, 215, 84, 0.38);
}

#worldRiskMap .wrm-marker-selected {
  z-index: 1200 !important;
}

#worldRiskMap .wrm-marker-selected .wrm-marker-dot,
#worldRiskMap .wrm-marker-selected .ip-wd-marker-dot {
  outline: 2px solid rgba(255, 255, 255, 0.92);
  outline-offset: 3px;
  transform: scale(1.22);
  box-shadow: 0 0 0 5px rgba(255, 215, 84, 0.12), 0 0 24px rgba(255, 215, 84, 0.55);
}

@keyframes pulse-alert-dot {
  0%, 100% {
    transform: scale(0.92);
    opacity: 0.95;
  }
  50% {
    transform: scale(1.35);
    opacity: 0.45;
  }
}

/* ============================================================
   LIVE MONITORING LAYER — PREMIUM DASHBOARD
   ============================================================ */

.platform-workspace-section {
  position: relative;
  padding: calc(var(--spacing-3xl) - 36px) 0 calc(var(--spacing-3xl) - 30px);
  background: linear-gradient(180deg, #030912 0%, #060e1b 55%, #040b16 100%);
  overflow: hidden;
}

/* Subtle dot-grid texture */
.platform-workspace-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(rgba(74, 199, 255, 0.06) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
  z-index: 0;
}

.platform-workspace-section > .container {
  position: relative;
  z-index: 1;
}

/* Section header */
.platform-workspace-top {
  position: relative;
  z-index: 80;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.platform-workspace-heading {
  flex: 1;
  min-width: 0;
}

.platform-workspace-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0;
  background: none;
  color: var(--color-primary);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.platform-workspace-label::before {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold-gradient);
  box-shadow: 0 0 8px var(--color-primary);
  flex-shrink: 0;
  animation: live-dot-pulse 2s ease-in-out infinite;
}

.platform-workspace-title {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.75rem, 2.8vw, 3rem);
  font-weight: 400;
  line-height: 1.12;
  max-width: 640px;
  font-family: Georgia, 'Times New Roman', serif;
}

/* Filter tabs */
.risk-filter-bar {
  position: relative;
  z-index: 90;
  display: grid;
  grid-template-columns: repeat(6, minmax(104px, 1fr));
  gap: 10px;
  width: min(100%, 930px);
  justify-content: stretch;
  align-content: start;
  padding: 10px 12px;
  border: 1px solid rgba(74, 199, 255, 0.12);
  border-radius: 8px;
  background: rgba(5, 14, 29, 0.72);
}

.risk-filter-group {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.risk-filter-label {
  font-size: 0.57rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(65, 217, 255, 0.55);
}

.risk-filter-select {
  -webkit-appearance: none;
  appearance: none;
  background: rgba(8, 22, 44, 0.88);
  border: 1px solid rgba(74, 199, 255, 0.18);
  border-radius: 5px;
  color: rgba(220, 238, 255, 0.82);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  width: 100%;
  height: 31px;
  padding: 6px 24px 6px 9px;
  cursor: pointer;
  outline: none;
  min-width: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='rgba(65,217,255,0.55)' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  transition: border-color 0.18s, background-color 0.18s;
}

.risk-filter-select:hover,
.risk-filter-select:focus {
  border-color: rgba(74, 199, 255, 0.42);
  background-color: rgba(8, 22, 44, 0.96);
  color: #f0faff;
}

.risk-filter-select option {
  background: #08162c;
  color: #d0eeff;
}

.risk-filter-group.has-risk-country-dropdown {
  position: relative;
}

.risk-native-country-select {
  display: none !important;
}

.risk-country-dropdown {
  position: relative;
  width: 100%;
  color: #edf8ff;
  z-index: 8;
}

.risk-country-dropdown.is-open {
  z-index: 1000;
}

.risk-country-dropdown-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 31px;
  box-sizing: border-box;
  border: 1px solid rgba(74, 199, 255, 0.18);
  border-radius: 5px;
  background: rgba(8, 22, 44, 0.88);
  color: rgba(220, 238, 255, 0.82);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 6px 8px 6px 9px;
  cursor: pointer;
  outline: none;
  text-align: left;
}

.risk-country-dropdown-toggle:hover,
.risk-country-dropdown.is-open .risk-country-dropdown-toggle {
  border-color: rgba(74, 199, 255, 0.42);
  background-color: rgba(8, 22, 44, 0.96);
  color: #f0faff;
}

.risk-country-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25em;
  min-width: 2.25em;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 6px;
  background: rgba(65, 217, 255, 0.1);
  border: 1px solid rgba(65, 217, 255, 0.18);
  color: #41d9ff;
  font-size: 0.58rem;
  font-weight: 700;
}

.risk-country-flag img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.risk-country-dropdown-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.risk-country-dropdown-caret {
  width: 10px;
  height: 6px;
  margin-left: auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2341d9ff' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px 6px;
}

.risk-country-dropdown-menu {
  position: absolute;
  z-index: 1001;
  top: calc(100% + 6px);
  left: 0;
  display: none;
  width: max(100%, 220px);
  max-width: min(280px, calc(100vw - 28px));
  box-sizing: border-box;
  max-height: 260px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid rgba(74, 199, 255, 0.18);
  border-radius: 8px;
  background: rgba(5, 14, 29, 0.98);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.36);
}

.risk-country-dropdown.is-open .risk-country-dropdown-menu {
  display: grid;
  gap: 4px;
}

.risk-country-dropdown-menu button {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: rgba(237, 248, 255, 0.86);
  font-size: 0.74rem;
  padding: 6px;
  cursor: pointer;
  text-align: left;
}

.risk-country-dropdown-menu button:hover,
.risk-country-dropdown-menu button.is-active {
  background: rgba(65, 217, 255, 0.1);
  color: #ffffff;
}

.risk-country-dropdown-menu .risk-country-dropdown-text {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

@media (max-width: 1180px) {
  .risk-filter-bar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }
}

/* (risk-map-tab styles already defined earlier in file) */

/* ── Dashboard unified panel ─────────────────────────────── */
.risk-dashboard {
  position: relative;
  z-index: 1;
  border-radius: 16px;
  border: 1px solid rgba(74, 199, 255, 0.10);
  background: rgba(4, 10, 22, 0.96);
  box-shadow:
    0 0 0 1px rgba(74, 199, 255, 0.04) inset,
    0 50px 120px rgba(0, 0, 0, 0.55),
    0 0 80px rgba(74, 199, 255, 0.03) inset;
  overflow: hidden;
  margin-bottom: 28px;
}

/* ── Main grid: map + feed ───────────────────────────────── */
.risk-main {
  display: grid;
  grid-template-columns: 1fr 340px;
  align-items: stretch;
  border-bottom: 1px solid rgba(74, 199, 255, 0.08);
}

/* ── Map panel ───────────────────────────────────────────── */
.risk-map-area {
  position: relative;
  border-right: 1px solid rgba(74, 199, 255, 0.08);
  overflow: hidden;
  background: #050d1a;
  /* Explicit height (not just min-height) so child height:100% resolves */
  height: 520px;
}

.risk-map-surface {
  position: relative;
  width: 100%;
  /* Match parent exactly so #worldRiskMap's inset:0 fills the full panel */
  height: 520px;
}

/* Overlay header floats above Leaflet tiles */
.risk-map-overlay-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 800;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  background: linear-gradient(180deg,
    rgba(4, 10, 22, 0.92) 0%,
    rgba(4, 10, 22, 0.60) 70%,
    transparent 100%);
  pointer-events: none;
  flex-wrap: wrap;
}

.risk-map-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  pointer-events: none;
}

.risk-map-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #3ae88a;
  box-shadow: 0 0 8px rgba(58, 232, 138, 0.9);
  animation: live-dot-pulse 1.6s ease-in-out infinite;
  flex-shrink: 0;
}

.risk-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  pointer-events: none;
}

.risk-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(199, 209, 223, 0.80);
  font-size: 0.68rem;
  letter-spacing: 0.04em;
}

.risk-legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.risk-legend-dot.critical { background: #e83a3a; box-shadow: 0 0 5px rgba(232,58,58,0.6); }
.risk-legend-dot.high     { background: #e87a3a; box-shadow: 0 0 5px rgba(232,122,58,0.6); }
.risk-legend-dot.medium   { background: #2563eb; box-shadow: 0 0 5px rgba(37,99,235,0.5); }
.risk-legend-dot.low      { background: #16a34a; box-shadow: 0 0 5px rgba(22,163,74,0.5); }

/* Leaflet zoom controls — push below the overlay header */
#worldRiskMap .leaflet-top.leaflet-left {
  top: 56px;
  left: 14px;
}

#worldRiskMap .leaflet-control-zoom {
  border: 1px solid rgba(74, 199, 255, 0.15) !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4) !important;
  overflow: hidden;
}

#worldRiskMap .leaflet-control-zoom a {
  background: rgba(4, 10, 22, 0.90) !important;
  color: rgba(255, 255, 255, 0.70) !important;
  border-bottom: 1px solid rgba(74, 199, 255, 0.10) !important;
  width: 28px !important;
  height: 28px !important;
  line-height: 28px !important;
  font-size: 16px !important;
  transition: background 0.15s, color 0.15s;
}

#worldRiskMap .leaflet-control-zoom a:hover {
  background: rgba(74, 199, 255, 0.12) !important;
  color: #ffffff !important;
}

#worldRiskMap .leaflet-control-zoom-out {
  border-bottom: none !important;
}

/* ── Alert feed ──────────────────────────────────────────── */
.risk-feed {
  display: flex;
  flex-direction: column;
  /* Explicit height to match map panel */
  height: 520px;
  overflow: hidden;
  background: rgba(3, 8, 18, 0.80);
  border-radius: 0;
  border: none;
  box-shadow: none;
}

.risk-feed-header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(74, 199, 255, 0.08);
  background: rgba(4, 10, 22, 0.50);
}

.risk-feed-title {
  color: rgba(255, 255, 255, 0.90);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.70rem;
}

.risk-feed-live {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #3ae88a;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #3ae88a;
  box-shadow: 0 0 8px rgba(58, 232, 138, 0.8);
  animation: live-dot-pulse 1.4s ease-in-out infinite;
}

@keyframes live-dot-pulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 8px rgba(58, 232, 138, 0.8); }
  50%       { opacity: 0.35; box-shadow: 0 0 3px rgba(58, 232, 138, 0.25); }
}

.risk-feed-scroll {
  padding: 0 20px 16px;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  position: relative;
}

.risk-feed-inner {
  display: grid;
  gap: 0;
  min-height: max-content;
  animation: feed-scroll 100s linear infinite;
}

.risk-feed-inner:hover {
  animation-play-state: paused;
}

@keyframes feed-scroll {
  0%   { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}

.feed-item {
  padding: 13px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  background: none;
  border-radius: 0;
  cursor: pointer;
  transition: background 0.15s;
}

.feed-item:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.feed-item:hover {
  background: rgba(255, 255, 255, 0.025);
}

.feed-item.feed-item-active {
  background: rgba(74, 199, 255, 0.05);
}

.feed-row-top {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  flex-wrap: nowrap;
  min-width: 0;
}

.feed-cat-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 7px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.09);
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.60rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  flex-shrink: 0;
}

.feed-cat-badge.feed-cat-critical { background: rgba(232, 58, 58, 0.14); color: #e87070; }
.feed-cat-badge.feed-cat-high     { background: rgba(232, 122, 58, 0.14); color: #e8a070; }
.feed-cat-badge.feed-cat-medium   { background: rgba(37, 99, 235, 0.14); color: #60a5fa; }
.feed-cat-badge.feed-cat-low      { background: rgba(22, 163, 74, 0.14); color: #4ade80; }

.feed-time {
  margin-left: auto;
  color: rgba(255, 255, 255, 0.32);
  font-size: 0.64rem;
  white-space: nowrap;
  flex-shrink: 0;
}

.feed-location-name {
  color: #4ac7ff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 4px;
  line-height: 1.3;
}

.feed-desc {
  margin: 0;
  color: rgba(199, 209, 223, 0.75);
  line-height: 1.4;
  font-size: 0.75rem;
}

/* ── KPI / Telemetry strip ───────────────────────────────── */
.telemetry-strip {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  border-top: 1px solid rgba(74, 199, 255, 0.08);
}

.telemetry-cell {
  position: relative;
  padding: 14px 16px 14px 18px;
  min-height: 86px;
  background: transparent;
  border-right: 1px solid rgba(74, 199, 255, 0.07);
  border-radius: 0;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow-wrap: break-word;
  word-break: break-word;
  transition: background 0.18s;
}

.telemetry-cell:last-child {
  border-right: none;
}

.telemetry-cell:hover {
  background: rgba(74, 199, 255, 0.025);
}

/* Severity indicator dot — top-right corner */
.telemetry-cell::before {
  content: '';
  position: absolute;
  top: 14px;
  right: 14px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
}

.telemetry-cell.high::before {
  background: #e87a3a;
  box-shadow: 0 0 8px rgba(232, 122, 58, 0.7);
  animation: tel-pulse 2.2s ease-in-out infinite;
}
.telemetry-cell.critical::before {
  background: #e83a3a;
  box-shadow: 0 0 8px rgba(232, 58, 58, 0.7);
  animation: tel-pulse 1.8s ease-in-out infinite;
}
.telemetry-cell.low::before {
  background: #4cc9f0;
  box-shadow: 0 0 6px rgba(76, 201, 240, 0.55);
}

@keyframes tel-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.4; }
}

.telemetry-cell-label {
  font-size: 0.52rem;
  color: rgba(180, 192, 210, 0.70);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 4px;
  line-height: 1;
}

.telemetry-cell-value {
  color: #ffffff;
  font-size: clamp(1rem, 1.3vw, 1.28rem);
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 4px;
}

/* Severity colour for value text */
.telemetry-cell.high    .telemetry-cell-value { color: #e87a3a; }
.telemetry-cell.critical .telemetry-cell-value { color: #ffffff; }
.risk-val-critical { color: #e87a3a !important; }

.telemetry-cell-value.mono {
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: clamp(0.95rem, 1.3vw, 1.2rem);
  letter-spacing: 0.05em;
}

.telemetry-cell-sub {
  color: rgba(180, 196, 224, 0.50);
  font-size: 0.58rem;
  margin: 0;
  line-height: 1.3;
}

.telemetry-cell-indicator {
  display: none;
}

.platform-ecosystem {
  display: grid;
  grid-template-columns: repeat(4, minmax(240px, 1fr));
  gap: 20px;
}

.platform-ecosystem-card {
  padding: 24px;
  border-radius: 28px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.18);
  min-height: 190px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.platform-ecosystem-label {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(76, 201, 240, 0.12);
  color: #4cc9f0;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 14px;
  border: 1px solid rgba(76, 201, 240, 0.22);
}

/* Per-type label colours */
.platform-ecosystem-card:nth-child(2) .platform-ecosystem-label {
  background: rgba(232, 122, 58, 0.12);
  color: #e87a3a;
  border-color: rgba(232, 122, 58, 0.22);
}
.platform-ecosystem-card:nth-child(3) .platform-ecosystem-label {
  background: rgba(58, 232, 138, 0.1);
  color: #3ae88a;
  border-color: rgba(58, 232, 138, 0.2);
}
.platform-ecosystem-card:nth-child(4) .platform-ecosystem-label {
  background: rgba(232, 58, 58, 0.12);
  color: #e83a3a;
  border-color: rgba(232, 58, 58, 0.22);
}

.platform-ecosystem-card h3 {
  margin: 0 0 10px;
  color: #ffffff;
  font-size: clamp(1.1rem, 1.5vw, 1.35rem);
  line-height: 1.2;
  font-weight: 600;
}

.platform-ecosystem-card p {
  margin: 0;
  color: rgba(200, 215, 240, 0.65);
  line-height: 1.65;
  font-size: 0.85rem;
}

/* ── Responsive breakpoints ──────────────────────────────── */

@media (max-width: 1200px) {
  .risk-main {
    grid-template-columns: 1fr 300px;
  }
  /* Use explicit height at every breakpoint — critical for Leaflet */
  .risk-map-area  { height: 460px; }
  .risk-map-surface { height: 460px; }
  .risk-feed      { height: 460px; }
}

@media (max-width: 1024px) {
  .risk-main {
    grid-template-columns: 1fr;
  }

  .risk-map-area {
    height: 420px;
    border-right: none;
    border-bottom: 1px solid rgba(74, 199, 255, 0.08);
  }

  .risk-map-surface {
    height: 420px;
  }

  .risk-feed {
    height: 300px;
    border-top: 1px solid rgba(74, 199, 255, 0.08);
    border-right: none;
  }

  .telemetry-strip {
    grid-template-columns: repeat(4, 1fr);
  }

  .telemetry-cell:nth-child(4) { border-right: none; }
  .telemetry-cell:nth-child(8) { border-right: none; }
  .telemetry-cell:nth-child(5),
  .telemetry-cell:nth-child(6),
  .telemetry-cell:nth-child(7),
  .telemetry-cell:nth-child(8) {
    border-top: 1px solid rgba(74, 199, 255, 0.07);
  }

  .platform-ecosystem {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 780px) {
  .platform-workspace-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .risk-filter-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    justify-content: stretch;
  }

  .risk-dashboard {
    border-radius: 12px;
  }

  .risk-map-area {
    height: 330px;
  }

  .risk-map-surface {
    height: 330px;
  }

  .risk-map-overlay-header {
    padding: 10px 14px;
    flex-wrap: wrap;
    gap: 8px;
  }

  .risk-legend {
    gap: 10px;
  }

  .risk-feed {
    height: 280px;
  }

  .risk-feed-scroll {
    padding: 0 14px 14px;
  }

  .telemetry-strip {
    grid-template-columns: repeat(2, 1fr);
  }

  .telemetry-cell { min-height: 72px; }
  .telemetry-cell:nth-child(2n) { border-right: none; }
  .telemetry-cell:nth-child(2n+1):nth-child(n+3),
  .telemetry-cell:nth-child(2n):nth-child(n+3) {
    border-top: 1px solid rgba(74, 199, 255, 0.07);
  }
  .telemetry-cell:nth-child(4) { border-right: 1px solid rgba(74, 199, 255, 0.07); }

  .platform-ecosystem {
    grid-template-columns: 1fr;
  }
}

/* Custom floating tooltip (position:fixed, appended to body) */

.monitoring-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(76, 201, 240, 0.14);
  color: #4cc9f0;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.monitoring-updated {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.95rem;
}

.monitoring-visual-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.monitoring-status,
.monitoring-latency {
  display: inline-flex;
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.monitoring-status {
  background: rgba(199, 100, 64, 0.12);
  color: #f5a36b;
}

.monitoring-latency {
  background: rgba(76, 201, 240, 0.12);
  color: #4cc9f0;
}

.monitoring-visual-title {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.45rem, 2.3vw, 2rem);
  line-height: 1.2;
}

.monitoring-visual-text {
  margin: 0;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.8;
  font-size: 1rem;
}

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

.monitoring-tags span {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  color: #c7d1df;
  font-size: 0.82rem;
}

.monitoring-visual-surface {
  position: relative;
  min-height: 220px;
  border-radius: 22px;
  overflow: hidden;
  background: radial-gradient(circle at 30% 20%, rgba(76, 201, 240, 0.18), transparent 24%),
              radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.05), transparent 18%),
              linear-gradient(180deg, rgba(16, 24, 34, 0.95), rgba(8, 14, 22, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.monitoring-surface-label {
  position: absolute;
  bottom: 18px;
  left: 18px;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.92rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.monitoring-side {
  display: grid;
  gap: 20px;
}

.monitoring-features {
  display: grid;
  gap: 14px;
}

.monitoring-feature-btn {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: start;
  width: 100%;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  color: #ffffff;
  text-align: left;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.monitoring-feature-btn:hover,
.monitoring-feature-btn:focus-visible {
  transform: translateY(-1px);
  background: rgba(76, 201, 240, 0.12);
  border-color: rgba(76, 201, 240, 0.22);
}

.monitoring-feature-icon {
  font-size: 1.3rem;
  line-height: 1;
  color: #4cc9f0;
  margin-top: 2px;
}

.monitoring-feature-btn strong {
  display: block;
  font-size: 1rem;
  margin-bottom: 4px;
}

.monitoring-feature-btn span {
  color: #c7d1df;
  line-height: 1.6;
}

.monitoring-extract-card {
  padding: 26px;
  background: rgba(11, 18, 27, 0.96);
  border: 1px solid rgba(76, 201, 240, 0.14);
  box-shadow: inset 0 0 24px rgba(98, 175, 234, 0.06);
}

.extract-label {
  font-size: 0.78rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #4cc9f0;
  margin-bottom: 8px;
}

.extract-meta {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.88rem;
  margin-bottom: 18px;
}

.extract-title {
  margin: 0 0 14px;
  color: #ffffff;
  font-size: 1.3rem;
  line-height: 1.3;
}

.extract-description {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.8;
}

.extract-bullets {
  margin: 0;
  padding-left: 18px;
  color: rgba(255, 255, 255, 0.78);
  list-style: none;
  display: grid;
  gap: 10px;
}

.extract-bullets li {
  position: relative;
  padding-left: 18px;
  line-height: 1.7;
}

.extract-bullets li::before {
  content: '◆';
  position: absolute;
  left: 0;
  color: #4cc9f0;
  font-size: 0.8rem;
  top: 0.2rem;
}

.monitoring-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.monitoring-filter-btn {
  flex: 1 1 110px;
  min-width: 120px;
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
  color: #c7d1df;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.monitoring-filter-btn.active,
.monitoring-filter-btn:hover,
.monitoring-filter-btn:focus-visible {
  background: rgba(76, 201, 240, 0.14);
  border-color: rgba(76, 201, 240, 0.24);
  color: #ffffff;
}

@media (max-width: 960px) {
  .monitoring-grid {
    grid-template-columns: 1fr;
  }

  .monitoring-visual-card {
    min-height: 0;
  }
}

@media (max-width: 720px) {
  .monitoring-header {
    padding: 0 var(--spacing-lg);
  }

  .monitoring-visual-head,
  .monitoring-visual-meta,
  .monitoring-filter-bar {
    flex-direction: column;
    align-items: stretch;
  }

  .monitoring-feature-btn {
    grid-template-columns: 1fr;
  }
}


#worldRiskMap svg {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 14px;
  background: transparent !important;
}

.risk-map-popup-wrapper .leaflet-popup-content-wrapper {
  background: rgba(8, 16, 30, 0.98);
  border: 1px solid rgba(74, 190, 255, 0.35);
  border-radius: 18px;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.26);
  color: #f7fafc;
}

.risk-map-popup-wrapper .leaflet-popup-tip {
  background: rgba(8, 16, 30, 0.98);
}

.risk-map-popup-wrapper .leaflet-popup-content {
  padding: 16px 18px;
}

.risk-map-popup-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 10px;
}

.risk-map-popup-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: rgba(74, 190, 255, 0.15);
  color: #4ac7ff;
}

.risk-map-popup-country {
  margin-top: 7px;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  line-height: 1.25;
  text-transform: uppercase;
}

.risk-map-popup-title {
  margin-top: 10px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

.risk-map-popup-meta {
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.85rem;
}

.risk-map-popup-severity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 90px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #f5f7ff;
  font-size: 0.78rem;
  font-weight: 700;
}

.risk-map-popup-severity--critical { color: #ff7777; }
.risk-map-popup-severity--high { color: #ffac76; }
.risk-map-popup-severity--medium { color: #60a5fa; }
.risk-map-popup-severity--low { color: #4ade80; }
.risk-map-popup-severity--monitor { color: #4ade80; }

.risk-map-popup-body {
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.92rem;
  line-height: 1.7;
}

#worldRiskMap .leaflet-interactive,
#worldRiskMap circle,
#worldRiskMap path,
#worldRiskMap svg {
  pointer-events: auto !important;
}

#worldRiskMap .leaflet-tile-pane,
#worldRiskMap .leaflet-overlay-pane,
#worldRiskMap .leaflet-shadow-pane,
#worldRiskMap .leaflet-tooltip-pane {
  pointer-events: none !important;
}

#worldRiskMap .leaflet-marker-pane,
#worldRiskMap .leaflet-popup-pane {
  pointer-events: none !important;
}

#worldRiskMap .leaflet-marker-pane {
  pointer-events: auto !important;
  z-index: 650 !important;
}

#worldRiskMap .leaflet-popup-pane {
  z-index: 720 !important;
}

#worldRiskMap .leaflet-interactive {
  cursor: pointer;
}

#worldRiskMap .leaflet-marker-icon,
#worldRiskMap .leaflet-marker-icon * {
  pointer-events: auto !important;
}

#worldRiskMap .leaflet-popup-pane {
  pointer-events: none !important;
}

#worldRiskMap .leaflet-shadow-pane,
#worldRiskMap .leaflet-tooltip-pane {
  pointer-events: none !important;
}

#worldRiskMap .leaflet-popup,
#worldRiskMap .leaflet-popup-content-wrapper,
#worldRiskMap .leaflet-popup-tip-container {
  pointer-events: auto !important;
}

.live-alert-hit-area {
  cursor: pointer;
  opacity: 0 !important;
}

/* Custom floating tooltip (position:fixed, appended to body) */
.wrm-tooltip {
  position: fixed;
  display: none;
  background: rgba(5, 12, 38, 0.97);
  border: 1px solid rgba(76, 201, 240, 0.45);
  border-radius: 12px;
  padding: 0;
  z-index: 9999;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.55);
  max-width: 300px;
  pointer-events: none;
  font-family: inherit;
  font-size: 14px;
}

.wrm-tip-inner {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wrm-tip-plain {
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

.wrm-tip-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.wrm-tip-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.02em;
  min-width: 0;
}

.wrm-tip-badge {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 20px;
  text-transform: none;
  letter-spacing: 0.02em;
  white-space: normal;
  line-height: 1.3;
  text-align: center;
  max-width: 100%;
}

.wrm-tip-detail {
  margin: 0;
  font-size: 0.83rem;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.55;
  border-top: 1px solid rgba(76, 201, 240, 0.15);
  padding-top: 8px;
}

.wrm-tip-cta {
  font-size: 0.77rem;
  color: #4cc9f0;
  font-weight: 500;
}

.wrm-tip-nodata {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.4);
  font-style: italic;
}

.wrm-mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(4, 10, 22, 0.62);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  padding: 16px;
  opacity: 0;
  transition: opacity 0.18s ease;
}

.wrm-mobile-overlay.is-open {
  display: flex;
  opacity: 1;
}

.wrm-mobile-card {
  width: min(92vw, 360px);
  background: linear-gradient(145deg, rgba(7, 24, 58, 0.94), rgba(10, 35, 76, 0.92));
  border: 1px solid rgba(110, 170, 255, 0.42);
  border-radius: 14px;
  box-shadow: 0 20px 50px rgba(1, 8, 22, 0.58);
  padding: 16px 16px 18px;
  position: relative;
  transform: translateY(10px) scale(0.98);
  opacity: 0;
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.wrm-mobile-overlay.is-open .wrm-mobile-card {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.wrm-mobile-overlay.is-closing {
  opacity: 0;
}

.wrm-mobile-overlay.is-closing .wrm-mobile-card {
  transform: translateY(8px) scale(0.98);
  opacity: 0;
}

.wrm-mobile-close {
  position: absolute;
  top: 8px;
  right: 10px;
  border: 0;
  background: transparent;
  color: rgba(232, 243, 255, 0.88);
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

.wrm-mobile-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  padding-right: 24px;
  flex-wrap: wrap;
}

.wrm-mobile-name {
  margin: 0;
  font-size: 1.02rem;
  color: #ffffff;
  font-weight: 700;
  min-width: 0;
}

.wrm-mobile-badge {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0.02em;
  padding: 4px 8px;
  border-radius: 999px;
  white-space: normal;
  line-height: 1.3;
  text-align: center;
  max-width: 100%;
}

.wrm-mobile-detail {
  margin: 0 0 14px;
  font-size: 0.86rem;
  line-height: 1.5;
  color: rgba(228, 238, 255, 0.88);
}

.wrm-mobile-briefing {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-decoration: none;
  background: linear-gradient(90deg, #4cc9f0, #3a7bd5);
  color: #061327;
  font-weight: 700;
  font-size: 0.86rem;
  border-radius: 10px;
  padding: 10px 12px;
}

.wrm-mobile-overlay--fullscreen {
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
  background: rgba(2, 8, 20, 0.94);
}

.wrm-mobile-overlay--fullscreen .wrm-mobile-card {
  width: 100vw;
  min-height: 100vh;
  max-height: 100vh;
  border-radius: 0;
  border: 0;
  padding: 72px 22px 28px;
  overflow-y: auto;
  background: linear-gradient(160deg, rgba(4, 12, 28, 0.98), rgba(7, 24, 58, 0.97));
}

.wrm-mobile-overlay--fullscreen .wrm-mobile-close {
  top: 18px;
  right: 18px;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}

.wrm-mobile-alert-kicker {
  margin-bottom: 14px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wrm-mobile-alert-meta {
  margin: 2px 0 22px;
  color: rgba(228, 238, 255, 0.58);
  font-size: 0.82rem;
  line-height: 1.5;
}

.wrm-mobile-alert-title {
  margin: 0 0 14px;
  color: #ffffff;
  font-size: 1.18rem;
  line-height: 1.35;
}

.wrm-mobile-alert-advisory {
  margin: 20px 0 24px;
  padding: 14px 15px;
  border-left: 3px solid rgba(76, 201, 240, 0.55);
  border-radius: 0 10px 10px 0;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(228, 238, 255, 0.82);
  font-size: 0.86rem;
  line-height: 1.6;
}

.risk-map-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.risk-map-search {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 220px;
  max-width: 300px;
  flex: 1;
  padding: 0 14px;
  background: rgba(10, 20, 50, 0.75);
  border: 1px solid rgba(76, 201, 240, 0.3);
  border-radius: 10px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.risk-map-search:focus-within {
  border-color: rgba(76, 201, 240, 0.7);
  box-shadow: 0 0 0 3px rgba(76, 201, 240, 0.08);
}

.risk-map-search svg {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  max-width: 16px;
  max-height: 16px;
  flex: 0 0 16px;
  display: block;
  color: rgba(76, 201, 240, 0.6);
  overflow: visible;
}

.risk-map-search input {
  width: 100%;
  padding: 11px 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #ffffff;
  font-size: 0.9rem;
  font-family: inherit;
}

.risk-map-search input::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.country-search-results {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  display: none;
  overflow: hidden;
  background: rgba(5, 12, 38, 0.98);
  border: 1px solid rgba(76, 201, 240, 0.35);
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
  z-index: 200;
}

.country-result-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  cursor: pointer;
  transition: background 0.15s;
}

.country-result-item:hover {
  background: rgba(76, 201, 240, 0.1);
}

.country-result-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

.country-result-name {
  flex: 1;
  font-size: 0.88rem;
  color: #ffffff;
  font-weight: 500;
}

.country-result-risk {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.45);
}

/* Legend */
.risk-map-legend {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px 14px;
  width: 100%;
}

.risk-legend-item {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.65);
  white-space: normal;
  font-weight: 500;
  line-height: 1.35;
  min-width: 0;
}

.risk-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* Responsive */
@media (max-width: 1024px) {
  .world-risk-map-section {
    padding: var(--spacing-2xl) 0;
  }

  .risk-map-title {
    font-size: 1.8rem;
  }

  .risk-map-subtitle {
    font-size: 0.95rem;
  }

  .risk-map-container {
    grid-template-columns: 1fr;
  }

  .risk-map-sidebar {
    min-height: 0;
  }

  .risk-map-tabs {
    justify-content: space-between;
  }

  /* SVG auto-height via viewBox */
}

@media (max-width: 768px) {
  .world-risk-map-section {
    padding: var(--spacing-2xl) 0;
  }

  .risk-map-header {
    margin-bottom: var(--spacing-lg);
  }

  .risk-map-container {
    grid-template-columns: 1fr;
  }

  .risk-map-sidebar {
    min-height: 0;
    padding: 18px;
  }

  .risk-map-tabs {
    flex-wrap: wrap;
  }

  .risk-map-title {
    font-size: 1.5rem;
  }

  .risk-map-subtitle {
    font-size: 0.9rem;
  }

  .risk-map-container {
    border-radius: 12px;
    overflow: hidden;
  }

  .wrm-tooltip {
    max-width: 260px;
    display: none !important;
  }

  .risk-map-controls {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .risk-map-search {
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 640px) {
  .world-risk-map-section {
    padding: var(--spacing-xl) 0;
  }

  .world-risk-map-section .container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .risk-map-title {
    font-size: 1.3rem;
  }

  .risk-map-subtitle {
    font-size: 0.85rem;
  }

  .risk-map-container {
    border-radius: 10px;
    overflow: hidden;
  }

  /* SVG auto-height */

  .risk-map-legend {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .risk-legend-item {
    font-size: 0.72rem;
  }
}

@media (max-width: 480px) {
  /* SVG auto-height */

  .risk-map-controls {
    gap: 10px;
  }
}

/* --- Live telemetry flash -------------------------------------------------- */
@keyframes tel-value-flash {
  0%   { opacity: 1; }
  20%  { opacity: 0.25; color: #4cc9f0; }
  60%  { opacity: 1; color: #4cc9f0; }
  100% { opacity: 1; }
}
.tel-flash {
  animation: tel-value-flash 0.65s ease forwards;
}

/* --- Staggered telemetry indicator pulse ----------------------------------- */
.telemetry-cell:nth-child(1) .telemetry-cell-indicator { animation-duration: 1.8s; }
.telemetry-cell:nth-child(2) .telemetry-cell-indicator { animation-duration: 2.3s; }
.telemetry-cell:nth-child(3) .telemetry-cell-indicator { animation-duration: 1.5s; }
.telemetry-cell:nth-child(4) .telemetry-cell-indicator { animation-duration: 2.7s; }
.telemetry-cell:nth-child(5) .telemetry-cell-indicator { animation-duration: 2.0s; }
.telemetry-cell:nth-child(6) .telemetry-cell-indicator { animation-duration: 1.3s; }
.telemetry-cell:nth-child(7) .telemetry-cell-indicator { animation-duration: 2.5s; }
.telemetry-cell:nth-child(8) .telemetry-cell-indicator { animation-duration: 1.9s; }

/* --- Feed source badges ---------------------------------------------------- */
.feed-item-top {
  gap: 5px;
}
.feed-source-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 7px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.09);
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.60rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  flex-shrink: 0;
}
.src-usgs      { background: rgba(76, 201, 240, 0.10); color: rgba(76, 201, 240, 0.75); }
.src-gdelt     { background: rgba(255, 183, 77, 0.10); color: rgba(255, 183, 77, 0.75); }
.src-reliefweb { background: rgba(138, 201, 76, 0.10); color: rgba(138, 201, 76, 0.75); }
.src-news      { background: rgba(201, 138, 76, 0.10); color: rgba(201, 138, 76, 0.75); }

/* --- Country risk dots ----------------------------------------------------- */
/* Country risk dots (static) */
.country-risk-dot {
  transition: opacity 0.15s ease;
}
.country-risk-dot:hover {
  opacity: 0.85;
}
.country-dot--critical { filter: drop-shadow(0 0 5px rgba(232, 58, 58, 0.75)); }
.country-dot--high     { filter: drop-shadow(0 0 5px rgba(232, 122, 58, 0.7)); }
.country-dot--medium   { filter: drop-shadow(0 0 4px rgba(58, 232, 138, 0.6)); }
.country-dot--low      { filter: drop-shadow(0 0 4px rgba(74, 158, 255, 0.55)); }

/* Legacy circle markers (no longer primary) */
.country-risk-dot,
.risk-alert-dot {
  transition: opacity 0.2s ease;
  will-change: opacity;
  pointer-events: auto;
  cursor: pointer;
}

.live-alert-dot--critical {
  filter: drop-shadow(0 0 7px rgba(220, 38, 38, 0.9));
}
.live-alert-dot--high     { filter: drop-shadow(0 0 6px rgba(234, 88, 12, 0.8)); }
.live-alert-dot--medium   { filter: drop-shadow(0 0 5px rgba(37, 99, 235, 0.7)); }
.live-alert-dot--low,
.live-alert-dot--monitor  { filter: drop-shadow(0 0 4px rgba(22, 163, 74, 0.6)); }

#worldRiskMap .wrm-marker-icon {
  background: transparent;
  border: 0;
  overflow: visible;
}

#worldRiskMap .ip-wd-marker-icon-wrap {
  width: 34px;
  height: 34px;
  background: transparent;
  border: 0;
  overflow: visible;
}

#worldRiskMap .ip-wd-marker {
  --wd-marker-color: #4ee981;
  position: relative;
  width: 100%;
  height: 100%;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
  color: var(--wd-marker-color);
}

#worldRiskMap .ip-wd-marker-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  border: 2px solid currentColor;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.6;
  animation: gwdMarkerRing 2s ease-out infinite;
}

#worldRiskMap .ip-wd-marker-ring--delay {
  animation-delay: 0.6s;
}

#worldRiskMap .ip-wd-marker-dot {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--wd-marker-color);
  animation: gwdMarkerGlow 1.5s ease-in-out infinite;
  z-index: 1;
}

#worldRiskMap .ip-wd-marker--critical,
.ip-wd-live-map .ip-wd-marker--critical {
  --wd-marker-color: #ff4d4f;
  color: var(--wd-marker-color);
}

#worldRiskMap .ip-wd-marker--high,
.ip-wd-live-map .ip-wd-marker--high {
  --wd-marker-color: #ff9f43;
  color: var(--wd-marker-color);
}

#worldRiskMap .ip-wd-marker--medium,
.ip-wd-live-map .ip-wd-marker--medium {
  --wd-marker-color: #3da9fc;
  color: var(--wd-marker-color);
}

#worldRiskMap .ip-wd-marker--low,
.ip-wd-live-map .ip-wd-marker--low {
  --wd-marker-color: #4ee981;
  color: var(--wd-marker-color);
}

@keyframes gwdMarkerRing {
  0% { width: 24px; height: 24px; opacity: 0.8; }
  100% { width: 48px; height: 48px; opacity: 0; }
}

@keyframes gwdMarkerGlow {
  0%, 100% { box-shadow: 0 0 0 2px currentColor; }
  50% { box-shadow: 0 0 12px 4px currentColor; }
}

/* ============================================================
   STATIC MARKER OVERLAY LAYER
   ============================================================ */

/* Marker layer — fills the risk-map-surface, passes pointer events through */
.wrm-marker-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  overflow: hidden;
}

/* Individual pulse marker button */
.wrm-static-btn {
  position: absolute;
  transform: translate(-50%, -50%);
  pointer-events: auto;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 50;
  transition: filter 0.2s;
}
.wrm-static-btn:hover {
  filter: brightness(1.35);
}
.wrm-static-btn:focus { outline: none; }

/* Animated rings */
@keyframes wrm-pulse-ring {
  0%   { transform: scale(0.85); opacity: 0.75; }
  70%  { transform: scale(2.4);  opacity: 0; }
  100% { transform: scale(2.4);  opacity: 0; }
}
@keyframes wrm-pulse-ring2 {
  0%   { transform: scale(0.85); opacity: 0.5; }
  70%  { transform: scale(2.1);  opacity: 0; }
  100% { transform: scale(2.1);  opacity: 0; }
}
@keyframes wrm-dot-breathe {
  0%, 100% { transform: scale(1);    opacity: 1; }
  50%       { transform: scale(0.85); opacity: 0.8; }
}

.wrm-pulse-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid currentColor;
  animation: wrm-pulse-ring 2s ease-out infinite;
  pointer-events: none;
}
.wrm-pulse-ring--delay {
  animation-name: wrm-pulse-ring2;
  animation-delay: 0.75s;
}
.wrm-pulse-dot {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  animation: wrm-dot-breathe 2.8s ease-in-out infinite;
}

/* Risk level color tokens */
.wrm-static-btn[data-risk="critical"] { color: #e83a3a; }
.wrm-static-btn[data-risk="critical"] .wrm-pulse-dot {
  background: #e83a3a;
  box-shadow: 0 0 9px 3px rgba(232,58,58,0.55);
}
.wrm-static-btn[data-risk="high"] { color: #e87a3a; }
.wrm-static-btn[data-risk="high"] .wrm-pulse-dot {
  background: #e87a3a;
  box-shadow: 0 0 8px 3px rgba(232,122,58,0.5);
}
.wrm-static-btn[data-risk="medium"] { color: #e8c43a; }
.wrm-static-btn[data-risk="medium"] .wrm-pulse-dot {
  background: #e8c43a;
  box-shadow: 0 0 7px 2px rgba(232,196,58,0.5);
}
.wrm-static-btn[data-risk="monitor"] { color: #3ae88a; }
.wrm-static-btn[data-risk="monitor"] .wrm-pulse-dot {
  background: #3ae88a;
  box-shadow: 0 0 6px 2px rgba(58,232,138,0.45);
}
.wrm-static-btn[data-risk="travel"] { color: #4ac7ff; }
.wrm-static-btn[data-risk="travel"] .wrm-pulse-dot {
  background: #4ac7ff;
  box-shadow: 0 0 6px 2px rgba(74,199,255,0.5);
}

/* ============================================================
   STATIC RISK POPUP
   ============================================================ */

.wrm-risk-popup {
  position: absolute;
  z-index: 1500;
  min-width: 272px;
  max-width: 314px;
  width: 314px;
  background: rgba(4, 11, 26, 0.97);
  border: 1px solid rgba(74, 199, 255, 0.22);
  border-radius: 12px;
  box-shadow: 0 10px 44px rgba(0,0,0,0.8), 0 0 0 1px rgba(74,199,255,0.07);
  pointer-events: auto;
  /* horizontal centering handled by JS left + margin-left:-50% trick */
}

.wrm-risk-popup:empty {
  display: none;
}

/* Arrow: popup sits ABOVE the marker */
.wrm-risk-popup.popup-above::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: var(--arrow-left, 50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left:  8px solid transparent;
  border-right: 8px solid transparent;
  border-top:   8px solid rgba(74, 199, 255, 0.22);
}
.wrm-risk-popup.popup-above::before {
  content: '';
  position: absolute;
  bottom: -6px;
  left: var(--arrow-left, 50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left:  7px solid transparent;
  border-right: 7px solid transparent;
  border-top:   7px solid rgba(4, 11, 26, 0.97);
  z-index: 1;
}

/* Arrow: popup sits BELOW the marker */
.wrm-risk-popup.popup-below::after {
  content: '';
  position: absolute;
  top: -8px;
  left: var(--arrow-left, 50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left:  8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid rgba(74, 199, 255, 0.22);
}
.wrm-risk-popup.popup-below::before {
  content: '';
  position: absolute;
  top: -6px;
  left: var(--arrow-left, 50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left:  7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid rgba(4, 11, 26, 0.97);
  z-index: 1;
}

.wrm-risk-popup-inner {
  padding: 16px 18px 15px;
  position: relative;
}

.wrm-rp-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 50%;
  color: rgba(255,255,255,0.55);
  font-size: 0.88rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.wrm-rp-close:hover { background: rgba(255,255,255,0.15); color: #fff; }

.wrm-rp-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 9px 2px 7px;
  border-radius: 4px;
  border: 1px solid;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  background: rgba(255,255,255,0.04);
  margin-bottom: 7px;
}
.wrm-rp-badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

.wrm-rp-country {
  font-size: 1.05rem;
  font-weight: 700;
  color: #f0f4ff;
  line-height: 1.3;
  margin-bottom: 4px;
  padding-right: 26px;
}

.wrm-rp-meta {
  font-size: 0.70rem;
  color: rgba(255,255,255,0.42);
  margin-bottom: 11px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.wrm-rp-meta svg { flex-shrink: 0; opacity: 0.6; }

.wrm-rp-section-label {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.wrm-rp-section-label.orange { color: #e87a3a; }
.wrm-rp-section-label.blue   { color: #4ac7ff; }

.wrm-rp-alert-text {
  font-size: 0.80rem;
  color: rgba(255,255,255,0.78);
  line-height: 1.5;
  margin: 0 0 10px;
}

.wrm-rp-advisory-text {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.45;
  border-left: 2px solid rgba(74,199,255,0.38);
  padding-left: 8px;
  margin: 0 0 13px;
}

.wrm-rp-cta {
  display: block;
  width: 100%;
  padding: 9px 0;
  background: transparent;
  border: 1px solid rgba(74,199,255,0.35);
  border-radius: 7px;
  color: #4ac7ff;
  font-size: 0.79rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.wrm-rp-cta:hover {
  background: rgba(74,199,255,0.12);
  border-color: rgba(74,199,255,0.65);
  color: #fff;
}

/* ============================================================
   PREMIUM GLASSMORPHISM POPUP (.wrm-popup-container)
   ============================================================ */

/* Override Leaflet wrapper chrome */
.wrm-popup-container .leaflet-popup-content-wrapper {
  background: rgba(4, 11, 26, 0.97);
  border: 1px solid rgba(74, 199, 255, 0.20);
  border-radius: 14px;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(74,199,255,0.08);
  padding: 0;
}

.wrm-popup-container .leaflet-popup-tip-container {
  display: none;
}

.wrm-popup-container .leaflet-popup-content {
  margin: 0;
  width: auto !important;
}

/* Inner card */
.wrm-popup {
  position: relative;
  padding: 20px 22px 18px;
  min-width: 280px;
  max-width: 360px;
  font-family: inherit;
}

.wrm-popup-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 50%;
  color: rgba(255,255,255,0.6);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.18s, color 0.18s;
}

.wrm-popup-close:hover {
  background: rgba(255,255,255,0.14);
  color: #fff;
}

.wrm-popup-header {
  margin-bottom: 10px;
}

.wrm-popup-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 4px;
  border: 1px solid;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(255,255,255,0.05);
}

.wrm-popup-title {
  font-size: 1rem;
  font-weight: 700;
  color: #f0f4ff;
  line-height: 1.35;
  margin-bottom: 7px;
  padding-right: 22px;
}

.wrm-popup-meta {
  font-size: 0.76rem;
  color: rgba(255,255,255,0.5);
  margin-bottom: 12px;
}

.wrm-popup-location {
  color: rgba(74,199,255,0.85);
}

.wrm-popup-summary {
  font-size: 0.86rem;
  color: rgba(255,255,255,0.78);
  line-height: 1.5;
  margin: 0 0 12px;
}

.wrm-popup-advisory {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.45);
  background: rgba(255,255,255,0.04);
  border-left: 2px solid rgba(74,199,255,0.35);
  border-radius: 0 6px 6px 0;
  padding: 8px 10px;
  line-height: 1.45;
  margin-bottom: 16px;
}

.wrm-popup-cta {
  display: block;
  width: 100%;
  padding: 10px 0;
  background: linear-gradient(90deg, rgba(74,199,255,0.18) 0%, rgba(74,199,255,0.10) 100%);
  border: 1px solid rgba(74,199,255,0.35);
  border-radius: 8px;
  color: #4ac7ff;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.wrm-popup-cta:hover {
  background: linear-gradient(90deg, rgba(74,199,255,0.30) 0%, rgba(74,199,255,0.18) 100%);
  border-color: rgba(74,199,255,0.65);
  color: #fff;
}

/* ============================================
   Intelligence Platform Section  (ip-*)
   ============================================ */

.ip-section {
  background: #040c1a;
  padding: 96px 0 80px;
  position: relative;
  overflow: hidden;
}

/* Subtle dot-grid background */
.ip-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(76,201,240,0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(76,201,240,0.028) 1px, transparent 1px);
  background-size: 46px 46px;
  pointer-events: none;
}

/* Gold top accent line */
.ip-section::after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 140px;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(212, 175, 55,0.75), transparent);
}

/* Ambient glow blob */
.ip-bg-glow {
  position: absolute;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(76,201,240,0.035) 0%, transparent 68%);
  top: -240px;
  right: -200px;
  pointer-events: none;
}

/* ---- Main two-column grid ---- */
.ip-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: stretch;
  margin-bottom: 64px;
}

/* ---- Left column ---- */
.ip-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #D4AF37;
  margin-bottom: 18px;
}

.ip-eyebrow::before {
  content: '';
  display: inline-block;
  width: 28px;
  height: 1px;
  background: var(--gold-gradient);
  flex-shrink: 0;
}

.ip-heading {
  font-size: clamp(2rem, 3vw, 2.9rem);
  font-weight: 300;
  color: #fff;
  line-height: 1.1;
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: -0.01em;
  margin: 0 0 18px;
}

.ip-desc {
  font-size: clamp(0.87rem, 1.15vw, 0.97rem);
  color: rgba(255,255,255,0.48);
  line-height: 1.74;
}

/* Capability card stack */
.ip-caps {
  margin: 28px 0 32px;
  border: 1px solid rgba(76,201,240,0.13);
  border-radius: 12px;
  overflow: hidden;
}

.ip-cap {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(76,201,240,0.08);
  background: rgba(5,14,34,0.55);
  border-left: 2px solid transparent;
  cursor: default;
  transition: background 0.22s, border-left-color 0.22s;
}

.ip-cap:last-child { border-bottom: none; }

.ip-cap:hover {
  background: rgba(76,201,240,0.07);
  border-left-color: rgba(76,201,240,0.5);
}

.ip-cap-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #60a5fa;
  background: rgba(96,165,250,0.1);
  border: 1px solid rgba(96,165,250,0.2);
  transition: background 0.22s;
}

.ip-cap-icon--teal   { color: #2dd4bf; background: rgba(45,212,191,0.08); border-color: rgba(45,212,191,0.2); }
.ip-cap-icon--blue   { color: #93c5fd; background: rgba(147,197,253,0.08); border-color: rgba(147,197,253,0.2); }
.ip-cap-icon--orange { color: #fb923c; background: rgba(251,146,60,0.1);  border-color: rgba(251,146,60,0.2); }
.ip-cap-icon--red    { color: #f87171; background: rgba(248,113,113,0.1); border-color: rgba(248,113,113,0.2); }

.ip-cap:hover .ip-cap-icon { background: rgba(76,201,240,0.15); }

.ip-cap-text { flex: 1; min-width: 0; }

.ip-cap-title {
  font-size: 0.87rem;
  font-weight: 600;
  color: rgba(255,255,255,0.84);
  margin-bottom: 2px;
}

.ip-cap-desc {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.36);
  line-height: 1.4;
}

.ip-cap-arrow {
  color: rgba(76,201,240,0.28);
  flex-shrink: 0;
  transition: color 0.2s, transform 0.2s;
}

.ip-cap:hover .ip-cap-arrow {
  color: rgba(76,201,240,0.7);
  transform: translateX(4px);
}

/* CTA row */
.ip-ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.ip-btn-primary {
  display: inline-flex;
  align-items: center;
  padding: 11px 22px;
  background: transparent;
  border: 1px solid rgba(212, 175, 55, 0.72);
  color: #D4AF37;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 4px;
  transition: background 0.22s, color 0.22s;
}

.ip-btn-primary:hover { background: var(--gold-gradient); color: #000; }

.ip-btn-secondary {
  display: inline-flex;
  align-items: center;
  padding: 11px 22px;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.48);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 4px;
  transition: border-color 0.22s, color 0.22s;
}

.ip-btn-secondary:hover {
  border-color: rgba(255,255,255,0.38);
  color: rgba(255,255,255,0.82);
}

/* ---- Right column ---- */
.ip-right {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Dashboard preview card */
.ip-dash {
  background: rgba(4,12,28,0.92);
  border: 1px solid rgba(76,201,240,0.16);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.04);
}

.ip-dash-bar {
  background: rgba(2,7,18,0.96);
  border-bottom: 1px solid rgba(76,201,240,0.12);
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.ip-dash-wm { display: flex; gap: 5px; align-items: center; }

.ip-wm-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}

.ip-wm-dot--r { background: rgba(239,68,68,0.55); }
.ip-wm-dot--y { background: rgba(251,191,36,0.55); }
.ip-wm-dot--g { background: rgba(34,197,94,0.55); }

.ip-dash-lbl {
  flex: 1;
  font-size: 0.52rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(176,224,255,0.38);
  text-align: center;
}

.ip-dash-online {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.52rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: #22c55e;
  text-transform: uppercase;
}

.ip-dash-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
  animation: ipSysPulse 2s ease-in-out infinite;
}

.ip-dash-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 11px;
}

/* Metrics */
.ip-dash-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.ip-dash-metric {
  background: rgba(2,7,18,0.65);
  border: 1px solid rgba(76,201,240,0.1);
  border-radius: 8px;
  padding: 10px 12px;
}

.ip-dm-num {
  display: block;
  font-size: 1.35rem;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  font-family: Georgia, 'Times New Roman', serif;
}

.ip-dm-lbl {
  display: block;
  font-size: 0.5rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: rgba(255,255,255,0.26);
  margin-top: 5px;
}

/* Chart */
.ip-dash-chart-wrap {
  background: rgba(2,7,18,0.5);
  border: 1px solid rgba(76,201,240,0.08);
  border-radius: 8px;
  padding: 10px 12px;
}

.ip-dash-chart-hd {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.ip-dash-chart-lbl {
  font-size: 0.53rem;
  color: rgba(255,255,255,0.22);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ip-dash-chart-tag {
  font-size: 0.55rem;
  font-weight: 700;
  color: #4ade80;
  letter-spacing: 0.06em;
}

.ip-chart-svg {
  width: 100%;
  height: 72px;
  display: block;
  overflow: visible;
}

/* Country grid */
.ip-dash-countries {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7px;
}

.ip-country-card {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(2,7,18,0.65);
  border: 1px solid rgba(76,201,240,0.08);
  border-radius: 6px;
  padding: 7px 10px;
}

.ip-cc-code {
  font-size: 0.62rem;
  font-weight: 800;
  color: rgba(255,255,255,0.42);
  letter-spacing: 0.06em;
  font-family: monospace;
  flex-shrink: 0;
  width: 22px;
}

.ip-cc-name {
  font-size: 0.7rem;
  font-weight: 600;
  color: rgba(255,255,255,0.62);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ip-cc-level {
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  padding: 2px 6px;
  border-radius: 3px;
  flex-shrink: 0;
  text-transform: uppercase;
}

.ip-cc-level--crit { background: rgba(220,38,38,0.18); color: #f87171; border: 1px solid rgba(220,38,38,0.22); }
.ip-cc-level--high { background: rgba(234,88,12,0.18); color: #fb923c; border: 1px solid rgba(234,88,12,0.22); }
.ip-cc-level--mod  { background: rgba(202,138,4,0.18); color: #fbbf24; border: 1px solid rgba(202,138,4,0.22); }

/* Insight card */
.ip-insight {
  background: rgba(4,12,28,0.88);
  border: 1px solid rgba(76,201,240,0.13);
  border-radius: 14px;
  padding: 24px 22px;
}

.ip-insight-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  gap: 12px;
}

.ip-insight-label {
  font-size: 0.57rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(76,201,240,0.58);
}

.ip-insight-date {
  font-size: 0.57rem;
  color: rgba(255,255,255,0.22);
  font-family: monospace;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.ip-insight-title {
  font-size: clamp(0.98rem, 1.45vw, 1.18rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.32;
  font-family: Georgia, 'Times New Roman', serif;
  margin: 0 0 14px;
}

.ip-insight-badge {
  display: inline-block;
  font-size: 0.53rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #D4AF37;
  border: 1px solid rgba(212, 175, 55,0.35);
  padding: 4px 10px;
  border-radius: 3px;
  margin-bottom: 16px;
}

.ip-insight-divider {
  height: 1px;
  background: linear-gradient(to right, rgba(76,201,240,0.2), transparent);
  margin-bottom: 14px;
}

.ip-insight-body {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.43);
  line-height: 1.68;
  margin: 0 0 14px;
}

.ip-insight-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.ip-insight-list li {
  font-size: 0.74rem;
  color: rgba(255,255,255,0.48);
  line-height: 1.4;
  padding-left: 16px;
  position: relative;
}

.ip-insight-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 1px;
  background: rgba(76,201,240,0.5);
}

/* ---- Bottom feature strip ---- */
.ip-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  padding-top: 48px;
  border-top: 1px solid rgba(76,201,240,0.1);
}

.ip-strip-card {
  background: rgba(4,12,28,0.6);
  border: 1px solid rgba(76,201,240,0.11);
  border-radius: 12px;
  padding: 22px 20px;
  transition: border-color 0.28s, box-shadow 0.28s, transform 0.28s;
}

.ip-strip-card:hover {
  border-color: rgba(76,201,240,0.32);
  box-shadow: 0 8px 36px rgba(76,201,240,0.07);
  transform: translateY(-3px);
}

.ip-strip-label {
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.ip-strip-icon {
  color: rgba(255,255,255,0.36);
  margin-bottom: 12px;
  transition: color 0.22s;
  display: block;
}

.ip-strip-card:hover .ip-strip-icon { color: rgba(255,255,255,0.68); }

.ip-strip-title {
  font-size: 0.87rem;
  font-weight: 600;
  color: rgba(255,255,255,0.8);
  margin-bottom: 8px;
  line-height: 1.3;
}

.ip-strip-desc {
  font-size: 0.71rem;
  color: rgba(255,255,255,0.33);
  line-height: 1.58;
}

/* ---- Scroll animations ---- */
.ip-fade-up {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}

.ip-fade-up.ip-visible {
  opacity: 1;
  transform: translateY(0);
}

.ip-delay-dashboard {
  transition-delay: 0.12s;
}

.ip-delay-product {
  transition-delay: 0.22s;
}

/* ---- Responsive ---- */
@media (max-width: 1024px) {
  .ip-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ip-strip {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .ip-section {
    padding: 64px 0 56px;
  }

  .ip-strip {
    grid-template-columns: 1fr;
  }

  .ip-ctas {
    flex-direction: column;
  }

  .ip-btn-primary,
  .ip-btn-secondary {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .ip-insight-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .ip-dash-metrics {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ================================================================
   INTELLIGENCE WORKFLOW - 2-column connected layout
   ================================================================ */

.iw-wrap {
  padding-bottom: 8px;
}

#ipProductContent {
  display: none;
}

.iw-2col {
  display: grid;
  grid-template-columns: minmax(300px, 380px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.iw-flow-panel {
  background: linear-gradient(165deg, rgba(7,19,43,0.78), rgba(4,10,24,0.88));
  border: 1px solid rgba(76,201,240,0.16);
  border-radius: 14px;
  box-shadow: 0 16px 44px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.05);
  padding: 16px;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}

.iw-layer-block {
  border: 1px solid rgba(76,201,240,0.12);
  border-radius: 10px;
  background: rgba(2,8,20,0.6);
  overflow: hidden;
}

.iw-layer-block--st {
  border-color: rgba(78, 233, 129, 0.2);
  background: linear-gradient(160deg, rgba(3, 28, 18, 0.68), rgba(2, 14, 12, 0.72));
  box-shadow: inset 0 1px 0 rgba(78, 233, 129, 0.08);
}

.iw-layer-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(76,201,240,0.12);
  background: rgba(3,10,24,0.76);
}

.iw-layer-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.iw-layer-dot--op {
  background: #4cc9f0;
  box-shadow: 0 0 8px rgba(76,201,240,0.7);
  animation: livePulse 1.6s ease-in-out infinite;
}

.iw-layer-dot--st {
  background: #4ee981;
  box-shadow: 0 0 8px rgba(78, 233, 129, 0.68), 0 0 16px rgba(78, 233, 129, 0.28);
  animation: livePulse 1.6s ease-in-out infinite;
}

.iw-layer-label {
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}

.iw-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.iw-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(76,201,240,0.08);
  cursor: pointer;
  transition: background 0.2s ease, border-left-color 0.2s ease, box-shadow 0.2s ease;
  border-left: 2px solid transparent;
}

.iw-item:last-child {
  border-bottom: none;
}

.iw-item:hover {
  background: rgba(76,201,240,0.08);
  border-left-color: rgba(76,201,240,0.4);
}

.iw-item--active {
  background: linear-gradient(90deg, rgba(76,201,240,0.16), rgba(76,201,240,0.06));
  border-left-color: #4cc9f0;
  box-shadow: inset 0 0 0 1px rgba(76,201,240,0.25), 0 0 18px rgba(76,201,240,0.18);
}

.iw-layer-block--st .iw-layer-head {
  border-bottom-color: rgba(78, 233, 129, 0.16);
  background: linear-gradient(90deg, rgba(4, 35, 23, 0.84), rgba(3, 16, 15, 0.78));
}

.iw-layer-block--st .iw-layer-label {
  color: rgba(78, 233, 129, 0.84);
}

.iw-layer-block--st .iw-item {
  border-bottom-color: rgba(78, 233, 129, 0.1);
}

.iw-layer-block--st .iw-item:hover {
  background: rgba(78, 233, 129, 0.1);
  border-left-color: rgba(78, 233, 129, 0.52);
}

.iw-layer-block--st .iw-item--active {
  background: linear-gradient(90deg, rgba(78, 233, 129, 0.18), rgba(78, 233, 129, 0.06));
  border-left-color: #4ee981;
  box-shadow: inset 0 0 0 1px rgba(78, 233, 129, 0.24), 0 0 18px rgba(78, 233, 129, 0.16);
}

.iw-layer-block--st .iw-item-num {
  color: rgba(78, 233, 129, 0.58);
}

.iw-item-num {
  font-size: 0.52rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  font-family: monospace;
  color: rgba(76,201,240,0.52);
  min-width: 20px;
}

.iw-item-title {
  flex: 1;
  min-width: 0;
  font-size: 0.8rem;
  line-height: 1.35;
  color: rgba(255,255,255,0.72);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.iw-item--active .iw-item-title,
.iw-item:hover .iw-item-title {
  color: #ffffff;
}

.iw-connector {
  margin: 0;
  padding: 0;
  text-align: center;
  height: 70px;
}

.iw-connector-wires {
  --iw-wire-left-anchor: 18px;
  --iw-wire-right-anchor: calc(100% - 18px - 3px);
  --iw-wire-step: calc((var(--iw-wire-right-anchor) - var(--iw-wire-left-anchor)) / 3);
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
}

.iw-wire {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 3px;
  border-radius: 999px;
  box-shadow: 0 0 10px currentColor;
  animation: iwWirePulse 1.9s ease-in-out infinite;
  transform-origin: center;
  overflow: visible;
}

.iw-wire::before,
.iw-wire::after {
  content: '';
  position: absolute;
  left: 50%;
  top: -12px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(255, 255, 255, 0.98) 0%, currentColor 62%, rgba(255, 255, 255, 0) 100%);
  box-shadow: 0 0 14px currentColor;
  opacity: 0;
  animation: iwElectronFlow 1.65s linear infinite;
  pointer-events: none;
}

.iw-wire::before {
  animation-delay: var(--iw-electron-delay, 0s);
}

.iw-wire::after {
  animation-delay: calc(var(--iw-electron-delay, 0s) + 0.82s);
  width: 6px;
  height: 6px;
  opacity: 0.92;
}

.iw-wire-red { left: var(--iw-wire-left-anchor); color: #ff4d4f; background: linear-gradient(180deg, rgba(255, 77, 79, 0.95), rgba(255, 77, 79, 0.45)); --iw-electron-delay: 0s; animation-delay: 0s; }
.iw-wire-orange { left: calc(var(--iw-wire-left-anchor) + var(--iw-wire-step)); color: #ff9f43; background: linear-gradient(180deg, rgba(255, 159, 67, 0.95), rgba(255, 159, 67, 0.45)); --iw-electron-delay: 0.22s; animation-delay: 0.25s; }
.iw-wire-blue { left: calc(var(--iw-wire-left-anchor) + (var(--iw-wire-step) * 2)); color: #3da9fc; background: linear-gradient(180deg, rgba(61, 169, 252, 0.95), rgba(61, 169, 252, 0.45)); --iw-electron-delay: 0.44s; animation-delay: 0.5s; }
.iw-wire-green { left: var(--iw-wire-right-anchor); color: #4ee981; background: linear-gradient(180deg, rgba(78, 233, 129, 0.95), rgba(78, 233, 129, 0.45)); --iw-electron-delay: 0.66s; animation-delay: 0.75s; }



.iw-center {
  background: linear-gradient(160deg, rgba(6,17,39,0.9), rgba(3,10,24,0.92));
  border: 1px solid rgba(76,201,240,0.2);
  border-radius: 14px;
  box-shadow: 0 0 0 1px rgba(76,201,240,0.08), 0 28px 64px rgba(0,0,0,0.42), inset 0 1px 0 rgba(255,255,255,0.05);
  overflow: hidden;
  min-height: 0;
}

.iw-center--strategic {
  background: linear-gradient(160deg, rgba(4, 35, 23, 0.92), rgba(2, 17, 14, 0.95));
  border-color: rgba(78, 233, 129, 0.24);
  box-shadow: 0 0 0 1px rgba(78, 233, 129, 0.08), 0 28px 64px rgba(0,0,0,0.42), inset 0 1px 0 rgba(255,255,255,0.05);
}

.iw-center--operational {
  background: linear-gradient(160deg, rgba(5, 28, 48, 0.92), rgba(3, 15, 32, 0.95));
  border-color: rgba(76, 201, 240, 0.24);
  box-shadow: 0 0 0 1px rgba(76, 201, 240, 0.08), 0 28px 64px rgba(0,0,0,0.42), inset 0 1px 0 rgba(255,255,255,0.05);
}

.iw-center-inner {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 24px;
}

.iw-center-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.iw-center-layer-tag {
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(76,201,240,0.72);
}

.iw-center-layer-tag--st {
  color: rgba(78, 233, 129, 0.84);
}

.iw-center-title {
  margin: 0;
  font-size: clamp(1.2rem, 1.9vw, 1.55rem);
  line-height: 1.2;
  color: #ffffff;
  font-family: Georgia, 'Times New Roman', serif;
}

.iw-center-sections {
  display: grid;
  gap: 12px;
}

.iw-center-section {
  padding: 12px 14px;
  border: 1px solid rgba(76,201,240,0.1);
  border-radius: 10px;
  background: rgba(2,7,18,0.55);
}

.iw-center--strategic .iw-center-section {
  border-color: rgba(78, 233, 129, 0.14);
  background: rgba(3, 24, 17, 0.68);
}

.iw-center--operational .iw-center-section {
  border-color: rgba(76, 201, 240, 0.14);
  background: rgba(4, 22, 40, 0.68);
}

.iw-center-sec-label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.54rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #D4AF37;
}

.iw-center-sec-text {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.68;
  color: rgba(255,255,255,0.58);
}

.iw-center-actions {
  margin-top: 2px;
  padding-top: 14px;
  border-top: 1px solid rgba(76,201,240,0.1);
  display: flex;
  justify-content: center;
}

.iw-center-actions .ip-btn-primary {
  min-width: 190px;
}

@keyframes iwWirePulse {
  0%, 100% {
    opacity: 0.68;
    box-shadow: 0 0 8px currentColor;
  }
  50% {
    opacity: 1;
    box-shadow: 0 0 18px currentColor;
  }
}

@keyframes iwElectronFlow {
  0% {
    top: -12px;
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  98% {
    opacity: 1;
  }
  100% {
    top: calc(100% + 12px);
    opacity: 0;
  }
}

@keyframes iwDetailSwap {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.iw-center-inner.iw-anim-swap {
  animation: iwDetailSwap 0.32s ease both;
}

.iw-mobile-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 10000;
  display: none;
  overflow: hidden;
  background: #010610;
  overscroll-behavior: contain;
  touch-action: none;
}

.iw-mobile-overlay.is-open,
.iw-mobile-overlay.is-closing {
  display: block;
}

.iw-mobile-overlay-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(1, 6, 16, 0.96);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.iw-mobile-sheet {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 12% 0%, rgba(76,201,240,0.14), transparent 36%),
    linear-gradient(165deg, rgba(6,17,39,0.98), rgba(2,10,24,1));
  box-shadow: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  /* Apply iOS-style smooth scrolling only where supported */

  touch-action: pan-y;
  padding: 18px 18px 28px;
  transform: translate3d(100%, 0, 0);
  opacity: 0;
  transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.24s ease;
  will-change: transform;
}

@supports (-webkit-overflow-scrolling: touch) {
  .iw-mobile-sheet {
    -webkit-overflow-scrolling: touch;
  }
}

.iw-mobile-overlay--strategic .iw-mobile-sheet {
  background:
    radial-gradient(circle at 12% 0%, rgba(78, 233, 129, 0.14), transparent 36%),
    linear-gradient(165deg, rgba(4, 35, 23, 0.98), rgba(2, 17, 14, 1));
}

.iw-mobile-overlay--operational .iw-mobile-sheet {
  background:
    radial-gradient(circle at 12% 0%, rgba(76, 201, 240, 0.14), transparent 36%),
    linear-gradient(165deg, rgba(5, 28, 48, 0.98), rgba(3, 15, 32, 1));
}

.iw-mobile-overlay.is-open .iw-mobile-sheet {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.iw-mobile-overlay.is-closing .iw-mobile-sheet {
  transform: translate3d(100%, 0, 0);
  opacity: 1;
}

.iw-mobile-close {
  position: sticky;
  top: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  min-width: 78px;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 4px;
  border: 1px solid rgba(212, 175, 55, 0.7);
  background: rgba(6,20,46,0.72);
  color: #D4AF37;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
  z-index: 3;
}

.iw-mobile-close:hover {
  background: rgba(212, 175, 55, 0.14);
  color: #f4e29a;
}

.iw-mobile-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.iw-mobile-sec-label {
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.iw-mobile-layer-tag {
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(76,201,240,0.72);
}

.iw-mobile-layer-tag--st {
  color: rgba(78, 233, 129, 0.84);
}

.iw-mobile-title {
  margin: 10px 0 12px;
  font-size: 1.24rem;
  color: #fff;
  line-height: 1.25;
  word-wrap: break-word;
}

.iw-mobile-sections {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.iw-mobile-section {
  border: 1px solid rgba(76,201,240,0.12);
  border-radius: 10px;
  padding: 12px;
  background: rgba(2,8,20,0.7);
}

.iw-mobile-overlay--strategic .iw-mobile-section {
  border-color: rgba(78, 233, 129, 0.14);
  background: rgba(3, 24, 17, 0.72);
}

.iw-mobile-overlay--operational .iw-mobile-section {
  border-color: rgba(76, 201, 240, 0.14);
  background: rgba(4, 22, 40, 0.72);
}

.iw-mobile-sec-label {
  color: #D4AF37;
}

.iw-mobile-sec-text {
  margin: 6px 0 0;
  font-size: 0.82rem;
  line-height: 1.65;
  color: rgba(255,255,255,0.62);
  word-wrap: break-word;
}

.iw-mobile-actions {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(76,201,240,0.12);
  display: flex;
  justify-content: center;
}

.iw-mobile-actions .ip-btn-primary {
  min-width: 190px;
}

body.iw-mobile-open {
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: none;
}

@media (min-width: 768px) {
  .iw-mobile-overlay {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  .iw-2col {
    grid-template-columns: 1fr;
  }

  .iw-center {
    order: 1;
    min-height: 0;
  }

  .iw-flow-panel {
    order: 2;
  }
}

@media (max-width: 640px) {
  .iw-flow-panel {
    padding: 12px;
  }

  .iw-item {
    padding: 12px;
  }

  .iw-item-title {
    white-space: normal;
  }

  .iw-center-inner {
    padding: 18px;
  }

  .iw-center-actions .ip-btn-primary {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 767px) {
  .iw-center {
    display: none;
  }

  .iw-connector {
    margin: 0;
    height: 66px;
  }

  .iw-connector-wires {
    --iw-wire-left-anchor: 13px;
    --iw-wire-right-anchor: calc(100% - 13px - 3px);
    --iw-wire-step: calc((var(--iw-wire-right-anchor) - var(--iw-wire-left-anchor)) / 3);
    height: 100%;
    margin: 0;
  }
}

@media (max-width: 420px) {
  .iw-layer-label {
    font-size: 0.53rem;
  }

  .iw-item-title {
    font-size: 0.74rem;
  }

  .iw-center-sec-text {
    font-size: 0.78rem;
  }
}

/* Premium Section Styling - SECURIDE 24 Homepage Upgrade */

/* ============================================================
   OPERATIONAL REACH PREMIUM SECTION
   ============================================================ */

.operational-reach-section-premium {
  position: relative;
  padding: clamp(80px, 10vw, 120px) 0;
  overflow: hidden;
  background: linear-gradient(135deg, #0d1625 0%, #1a2642 50%, #0d1625 100%);
}

.opreach-premium-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.opreach-premium-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(90deg, rgba(212, 175, 55, 0.08) 1px, transparent 1px),
    linear-gradient(rgba(212, 175, 55, 0.08) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.4;
}

.opreach-premium-glow {
  position: absolute;
  border-radius: 50%;
  opacity: 0.15;
  mix-blend-mode: screen;
}

.opreach-premium-glow--1 {
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, #D4AF37, transparent);
  top: -200px;
  right: -150px;
}

.opreach-premium-glow--2 {
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, #60a5fa, transparent);
  bottom: -100px;
  left: -100px;
}

.opreach-premium-header {
  position: relative;
  z-index: 1;
  margin-bottom: clamp(30px, 4vw, 42px);
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.opreach-premium-title {
  font-size: clamp(2rem, 3.1vw, 3rem);
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 clamp(10px, 1.2vw, 14px);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.1;
}

.opreach-premium-subtitle {
  font-size: clamp(1rem, 1.2vw, 1.2rem);
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.35;
  margin: 0;
  font-weight: 400;
}

.opreach-premium-rows {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 16px;
}

.opreach-premium-row {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 370px;
  min-height: 0;
  align-self: start;
  background: rgba(8, 21, 44, 0.85);
  border: 1px solid rgba(212, 175, 55, 0.55);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 20px 46px rgba(3, 12, 29, 0.45);
}

.opreach-premium-row:not(:last-child)::after {
  display: none;
}

.opreach-premium-row:not(:last-child)::before {
  display: none;
}

.opreach-row-media {
  position: relative;
  order: 2;
  border-right: 0;
  border-top: 1px solid rgba(212, 175, 55, 0.35);
  height: 260px;
  min-height: 260px;
  flex: 0 0 260px;
}

.opreach-row-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4, 14, 28, 0.15) 0%, rgba(4, 14, 28, 0.4) 100%);
}

.opreach-row-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.opreach-row-content {
  order: 1;
  flex: 0 0 auto;
  padding: clamp(20px, 2.4vw, 30px) clamp(22px, 2.8vw, 38px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 14px;
}

.opreach-row-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 52px;
  width: 100%;
}

.opreach-row-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #D4AF37;
  flex-shrink: 0;
}

.opreach-row-icon svg {
  width: 42px;
  height: 42px;
}

.opreach-row-heading h3 {
  font-size: clamp(1rem, 1.15vw, 1.25rem);
  font-weight: 700;
  color: #d7a640;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.1;
  white-space: nowrap;
}

.opreach-row-subtitle {
  margin: -2px 0 2px;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(0.92rem, 1.05vw, 1.05rem);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

.opreach-row-list {
  margin: 0;
  padding-left: 1.2rem;
  display: grid;
  gap: 8px;
}

.opreach-row-list li {
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(1rem, 1.12vw, 1.24rem);
  line-height: 1.3;
}

.opreach-row-list li::marker {
  color: #d7a640;
}

.opreach-premium-footer {
  position: relative;
  z-index: 1;
  margin: 16px auto 0;
  width: fit-content;
  max-width: 100%;
  padding: 0 14px;
  color: #d7a640;
  font-size: clamp(0.85rem, 1vw, 1.1rem);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-align: center;
}

.opreach-premium-footer::before,
.opreach-premium-footer::after {
  content: '';
  position: absolute;
  top: 50%;
  width: clamp(36px, 8vw, 80px);
  height: 1px;
  background: rgba(212, 175, 55, 0.55);
}

.opreach-premium-footer::before {
  right: 100%;
  margin-right: 12px;
}

.opreach-premium-footer::after {
  left: 100%;
  margin-left: 12px;
}

@media (max-width: 1024px) {
  .opreach-premium-rows {
    grid-template-columns: 1fr;
  }

  .opreach-premium-row {
    height: auto;
  }

  .opreach-row-media {
    border-top: 1px solid rgba(212, 175, 55, 0.35);
    height: 250px;
    min-height: 250px;
    flex-basis: 250px;
  }
}

@media (max-width: 768px) {
  .opreach-premium-title {
    letter-spacing: 0.02em;
  }

  .opreach-row-content {
    padding: 18px;
  }

  .opreach-row-heading h3 {
    font-size: 1.4rem;
    white-space: normal;
  }

  .opreach-row-subtitle {
    font-size: 0.9rem;
  }

  .opreach-row-list li {
    font-size: 1rem;
  }

  .opreach-premium-footer::before,
  .opreach-premium-footer::after {
    display: none;
  }
}

/* ============================================================
   WHY SECURIDE24 PREMIUM SECTION
   ============================================================ */

.why-securide-section-premium {
  position: relative;
  padding: clamp(80px, 10vw, 120px) 0;
  overflow: hidden;
  background: linear-gradient(180deg, #06133a 0%, #0a2056 50%, #071640 100%);
}

.why-securide-premium-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.why-securide-premium-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(90deg, rgba(212, 175, 55, 0.05) 1px, transparent 1px),
    linear-gradient(rgba(212, 175, 55, 0.05) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.3;
}

.why-securide-kicker {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #D4AF37;
  margin: 0 0 14px;
}

.why-securide-premium-header {
  position: relative;
  z-index: 1;
  margin-bottom: clamp(48px, 6vw, 80px);
  max-width: 1000px;
}

.why-securide-premium-title {
  font-size: clamp(2.4rem, 3.5vw, 3.6rem);
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 clamp(12px, 1.5vw, 20px);
  letter-spacing: -0.01em;
  line-height: 1.1;
}

.why-securide-premium-subtitle {
  font-size: clamp(1.05rem, 1.3vw, 1.25rem);
  color: rgba(255, 255, 255, 0.80);
  line-height: 1.6;
  margin: 0;
  font-weight: 400;
}

.why-securide-premium-cards {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(20px, 2.5vw, 32px);
}

.why-securide-card-wrapper {
  perspective: 1000px;
  height: 100%;
}

.why-securide-premium-card {
  position: relative;
  background: rgba(15, 23, 42, 0.60);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.22);
  border-radius: 12px;
  padding: clamp(28px, 3.5vw, 40px);
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: all 0.35s cubic-bezier(0.23, 1, 0.32, 1);
  overflow: hidden;
  height: 100%;
}

.why-securide-premium-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.1) 0%, transparent 100%);
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.why-securide-premium-card:hover {
  border-color: rgba(212, 175, 55, 0.5);
  background: rgba(25, 40, 70, 0.85);
  transform: translateY(-8px);
  box-shadow:
    0 20px 48px rgba(212, 175, 55, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.why-securide-premium-card:hover::before {
  opacity: 1;
}

.why-securide-card-number {
  font-size: 1.4rem;
  font-weight: 800;
  color: rgba(212, 175, 55, 0.5);
  letter-spacing: 0.04em;
  font-family: 'Courier New', monospace;
  transition: color 0.35s ease;
}

.why-securide-premium-card:hover .why-securide-card-number {
  color: #D4AF37;
}

.why-securide-premium-card-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #D4AF37;
  flex-shrink: 0;
  transition: all 0.35s ease;
}

.why-securide-premium-card:hover .why-securide-premium-card-icon {
  transform: scale(1.15);
  color: #d4a600;
}

.why-securide-premium-card-icon svg {
  width: 100%;
  height: 100%;
  stroke-width: 1.4;
}

.why-securide-premium-card-title {
  font-size: clamp(1.1rem, 1.5vw, 1.28rem);
  font-weight: 700;
  color: rgba(235, 242, 255, 0.98);
  margin: 0;
  line-height: 1.3;
  letter-spacing: -0.005em;
  transition: color 0.35s ease;
}

.why-securide-premium-card:hover .why-securide-premium-card-title {
  color: #ffffff;
}

.why-securide-premium-card-desc {
  font-size: clamp(0.92rem, 1.05vw, 1rem);
  color: rgba(255, 255, 255, 0.68);
  margin: 0;
  line-height: 1.6;
  font-weight: 400;
  transition: color 0.35s ease;
}

.why-securide-premium-card:hover .why-securide-premium-card-desc {
  color: rgba(255, 255, 255, 0.78);
}

@media (max-width: 1024px) {
  .why-securide-premium-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .why-securide-premium-cards {
    grid-template-columns: 1fr;
  }
  
  .why-securide-premium-card {
    gap: 16px;
  }
}

/* ============================================================
   GOVERNANCE & ASSURANCE PREMIUM SECTION
   ============================================================ */

.governance-assurance-section-premium {
  position: relative;
  padding: clamp(80px, 10vw, 120px) 0;
  overflow: hidden;
  background: linear-gradient(180deg, #06133a 0%, #0a2056 50%, #071640 100%);
}

.governance-premium-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.governance-premium-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(90deg, rgba(212, 175, 55, 0.06) 1px, transparent 1px),
    linear-gradient(rgba(212, 175, 55, 0.06) 1px, transparent 1px);
  background-size: 70px 70px;
  opacity: 0.25;
}

.governance-premium-header {
  position: relative;
  z-index: 1;
  margin: 0 auto clamp(48px, 6vw, 80px);
  max-width: 1000px;
  text-align: center;
}

.governance-premium-title {
  font-size: clamp(2.4rem, 3.5vw, 3.6rem);
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 clamp(12px, 1.5vw, 20px);
  letter-spacing: -0.01em;
  line-height: 1.1;
}

.governance-premium-subtitle {
  font-size: clamp(1.05rem, 1.3vw, 1.25rem);
  color: rgba(255, 255, 255, 0.80);
  line-height: 1.6;
  margin: 0 auto;
  font-weight: 400;
  max-width: 680px;
}

.governance-registration {
  display: inline-flex;
  margin: 16px auto 0;
  padding: 8px 12px;
  border: 1px solid rgba(244, 226, 154, 0.32);
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  text-transform: uppercase;
}

/* Kicker label above the title */
.governance-kicker {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #D4AF37;
  margin: 0 0 14px;
}

/* 2×2 ISO standards grid */
.governance-iso-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(16px, 2vw, 24px);
  margin-bottom: clamp(40px, 5vw, 60px);
}

.governance-iso-card {
  background: rgba(15, 23, 42, 0.55);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.18);
  border-radius: 12px;
  padding: clamp(24px, 3vw, 36px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

.governance-iso-card:hover {
  border-color: rgba(212, 175, 55, 0.45);
  background: rgba(212, 175, 55, 0.07);
  transform: translateY(-3px);
}

.governance-iso-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.governance-iso-code {
  font-size: clamp(1.15rem, 1.6vw, 1.4rem);
  font-weight: 800;
  color: #D4AF37;
  letter-spacing: 0.04em;
  font-family: 'Courier New', Courier, monospace;
}

.governance-iso-check {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.28);
  border-radius: 50%;
  color: #D4AF37;
  flex-shrink: 0;
}

.governance-iso-check svg {
  width: 15px;
  height: 15px;
}

.governance-iso-title {
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  font-weight: 600;
  color: rgba(235, 242, 255, 0.95);
  margin: 0;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.governance-iso-desc {
  font-size: clamp(0.88rem, 1vw, 0.96rem);
  color: rgba(255, 255, 255, 0.62);
  line-height: 1.65;
  margin: 0;
  font-weight: 400;
}

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

.governance-premium-grid-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(40px, 5vw, 60px);
  margin-bottom: clamp(48px, 6vw, 80px);
  align-items: start;
}

.governance-premium-left {
  display: flex;
  flex-direction: column;
  gap: clamp(36px, 4vw, 48px);
}

.governance-premium-right {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 4vw, 44px);
}

.governance-premium-statement,
.governance-premium-checklist,
.governance-premium-compliance {
  background: rgba(15, 23, 42, 0.5);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.2);
  border-radius: 12px;
  padding: clamp(28px, 3.5vw, 40px);
}

.governance-premium-section-title {
  font-size: clamp(1.25rem, 1.7vw, 1.5rem);
  font-weight: 600;
  color: rgba(235, 242, 255, 0.95);
  margin: 0 0 clamp(16px, 2vw, 24px);
  letter-spacing: -0.005em;
}

.governance-premium-statement-text {
  font-size: clamp(0.95rem, 1.1vw, 1.04rem);
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.65;
  margin: 0 0 clamp(14px, 1.8vw, 20px);
  font-weight: 400;
}

.governance-premium-statement-text:last-child {
  margin-bottom: 0;
}

.governance-premium-checklist-items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 1.5vw, 18px);
}

.governance-premium-checklist-items li {
  font-size: clamp(0.95rem, 1.1vw, 1.04rem);
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.6;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-weight: 400;
}

.governance-premium-check-icon {
  color: #D4AF37;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 2px;
}

.governance-premium-cert-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(12px, 1.5vw, 18px);
}

.governance-premium-cert-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: clamp(14px, 1.8vw, 20px);
  background: rgba(255, 255, 255, 0.04);
  border-radius: 8px;
  transition: all 0.3s ease;
}

.governance-premium-cert-card:hover {
  background: rgba(212, 175, 55, 0.1);
  transform: translateX(4px);
}

.governance-premium-cert-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #D4AF37;
  flex-shrink: 0;
}

.governance-premium-cert-icon svg {
  width: 100%;
  height: 100%;
  stroke-width: 1.5;
}

.governance-premium-cert-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.governance-premium-cert-code {
  font-size: clamp(0.95rem, 1.1vw, 1.04rem);
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.02em;
}

.governance-premium-cert-label {
  font-size: clamp(0.9rem, 1vw, 0.98rem);
  color: rgba(255, 255, 255, 0.65);
  font-weight: 400;
}

.governance-premium-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: clamp(20px, 2.5vw, 28px);
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(212, 175, 55, 0.08) 100%);
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 12px;
  text-align: center;
}

.governance-premium-badge-icon {
  font-size: clamp(1.5rem, 2vw, 2rem);
}

.governance-premium-badge-text {
  font-size: clamp(1rem, 1.3vw, 1.2rem);
  font-weight: 600;
  color: #D4AF37;
  letter-spacing: 0.02em;
}

.governance-premium-footer {
  position: relative;
  z-index: 1;
  padding: clamp(28px, 3.5vw, 40px);
  background: rgba(255, 255, 255, 0.04);
  border-top: 1px solid rgba(212, 175, 55, 0.2);
  text-align: center;
}

.governance-premium-footer p {
  font-size: clamp(1rem, 1.2vw, 1.12rem);
  color: rgba(255, 255, 255, 0.80);
  line-height: 1.6;
  margin: 0;
  font-weight: 400;
}

.governance-premium-footer strong {
  color: #ffffff;
  font-weight: 700;
}

@media (max-width: 1024px) {
  .governance-premium-grid-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .governance-premium-grid-layout {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   INTELLIGENCE PLATFORM INTERACTIVE PRODUCTS
   ============================================================ */

.ip-cap-product {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
  color: inherit;
  text-align: left;
  transition: all 0.3s ease;
}

.ip-cap-product {
  border-color: rgba(212, 175, 55, 0.2);
}

.ip-cap-product:hover {
  border-color: rgba(212, 175, 55, 0.4);
  background: rgba(212, 175, 55, 0.05) !important;
}

.ip-cap-product.ip-cap-active {
  border-color: #D4AF37;
  background: rgba(212, 175, 55, 0.08) !important;
  box-shadow: 
    0 8px 24px rgba(212, 175, 55, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
}

.ip-cap-product.ip-cap-active .ip-cap-icon {
  color: #d4a600;
}

.ip-cap-product.ip-cap-active .ip-cap-title {
  color: #ffffff;
}

/* Product content panel animation */
.ip-product-content {
  transition: all 0.4s ease;
}

.ip-mobile-detail {
  display: none;
}

.ip-mobile-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(212, 175, 55, 0.28);
  background: rgba(212, 175, 55, 0.08);
  color: rgba(250, 252, 255, 0.92);
  padding: 9px 12px;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 16px;
  cursor: pointer;
}

.ip-mobile-back:hover {
  background: rgba(212, 175, 55, 0.14);
}

.ip-product-content #ipProductLabel,
.ip-product-content #ipProductTitle,
.ip-product-content #ipProductBody,
.ip-product-content #ipProductList {
  transition: all 0.3s ease;
}

@media (max-width: 768px) {
  .governance-premium-cert-cards {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   HOMEPAGE PREMIUM UNIFICATION OVERRIDES
   ============================================================ */

:root {
  --s24-bg: #020713;
  --s24-bg-2: #050d1a;
  --s24-panel: rgba(8, 18, 34, 0.82);
  --s24-panel-strong: rgba(6, 14, 28, 0.95);
  --s24-line: rgba(116, 154, 198, 0.16);
  --s24-line-soft: rgba(116, 154, 198, 0.10);
  --s24-gold: #D4AF37;
  --s24-gold-soft: rgba(212, 175, 55, 0.16);
  --s24-blue: #6f9fcf;
  --s24-green: #32d583;
  --s24-risk: #f97316;
  --s24-danger: #ef4444;
  --s24-radius: 12px;
  --s24-shadow: 0 26px 70px rgba(0, 0, 0, 0.38);
}

.operational-reach-section-premium,
.ip-section,
.platform-workspace-section,
.risk-management-process-section,
.why-securide-section-premium,
.governance-assurance-section-premium,
.case-studies-section {
  color: #f7fbff;
}

.operational-reach-section-premium,
.ip-section,
.platform-workspace-section,
.risk-management-process-section,
.why-securide-section-premium,
.governance-assurance-section-premium,
.case-studies-section {
  padding: clamp(58px, 6.5vw, 84px) 0;
}

.opreach-premium-header,
.why-securide-premium-header,
.governance-premium-header,
.risk-management-process-section .section-header,
.case-studies-section .section-header {
  margin-bottom: clamp(28px, 4vw, 42px);
  text-align: center;
}

.opreach-premium-title,
.ip-heading,
.platform-workspace-title,
.risk-management-process-section .section-header h2,
.why-securide-premium-title,
.governance-premium-title,
.case-studies-section .section-header h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400 !important;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
}

.opreach-premium-title,
.why-securide-premium-title,
.governance-premium-title,
.case-studies-section .section-header h2 {
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.08;
}

.opreach-premium-subtitle,
.why-securide-premium-subtitle,
.governance-premium-subtitle,
.case-studies-section .section-subtitle,
.ip-desc {
  color: rgba(218, 229, 244, 0.72);
  font-size: clamp(0.95rem, 1.1vw, 1.08rem);
  line-height: 1.65;
}

.operational-reach-section-premium,
.why-securide-section-premium,
.governance-assurance-section-premium,
.case-studies-section {
  background:
    radial-gradient(circle at 16% 10%, rgba(111, 159, 207, 0.10), transparent 32%),
    radial-gradient(circle at 88% 14%, rgba(212, 175, 55, 0.08), transparent 30%),
    linear-gradient(180deg, #030914 0%, #071326 54%, #030914 100%);
}

.opreach-premium-card,
.why-securide-premium-card,
.governance-premium-statement,
.governance-premium-checklist,
.governance-premium-compliance,
.opreach-premium-metrics,
.governance-premium-footer {
  background: var(--s24-panel);
  border: 1px solid var(--s24-line);
  border-radius: var(--s24-radius);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.opreach-premium-card,
.why-securide-premium-card,
.governance-premium-cert-card,
.case-card {
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.opreach-premium-card:hover,
.why-securide-premium-card:hover,
.governance-premium-cert-card:hover {
  transform: translateY(-4px);
  border-color: rgba(212, 175, 55, 0.48);
  background: rgba(11, 24, 44, 0.92);
  box-shadow: var(--s24-shadow);
}

.opreach-premium-cards {
  gap: 18px;
  margin-bottom: clamp(24px, 3.4vw, 38px);
}

.opreach-premium-card,
.why-securide-premium-card,
.governance-premium-statement,
.governance-premium-checklist,
.governance-premium-compliance {
  padding: clamp(22px, 2.5vw, 30px);
}

.opreach-premium-card-title,
.why-securide-premium-card-title,
.governance-premium-section-title {
  color: rgba(250, 252, 255, 0.96);
  font-size: clamp(1.05rem, 1.25vw, 1.28rem);
  line-height: 1.25;
}

.opreach-premium-card-desc,
.why-securide-premium-card-desc,
.governance-premium-statement-text,
.governance-premium-checklist-items li,
.governance-premium-cert-label {
  color: rgba(217, 229, 244, 0.68);
  font-size: 0.94rem;
}

.opreach-premium-card-icon,
.why-securide-premium-card-icon,
.governance-premium-cert-icon,
.governance-premium-check-icon,
.governance-premium-badge-text {
  color: var(--s24-gold);
}

.governance-premium-badge-icon svg {
  width: 26px;
  height: 26px;
}

.opreach-premium-badge,
.governance-premium-badge,
.ip-insight-badge,
.platform-ecosystem-label {
  border-radius: 999px;
}

.opreach-premium-metrics {
  padding: clamp(22px, 3vw, 30px);
  gap: 0;
}

.opreach-premium-metric {
  padding: 6px 18px;
  border-right: 1px solid var(--s24-line-soft);
}

.opreach-premium-metric:last-child {
  border-right: 0;
}

.opreach-premium-metric-value {
  color: var(--s24-gold);
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
}

.opreach-premium-metric-label {
  color: rgba(218, 229, 244, 0.68);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Intelligence platform */
.ip-section {
  background:
    radial-gradient(circle at 78% 4%, rgba(111, 159, 207, 0.14), transparent 30%),
    radial-gradient(circle at 15% 90%, rgba(212, 175, 55, 0.08), transparent 28%),
    linear-gradient(180deg, #030914 0%, #061226 58%, #020713 100%);
}

.ip-status-row {
  margin-bottom: 24px;
}

.ip-grid {
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 4vw, 48px);
  margin-bottom: 0;
  align-items: stretch;
}

.ip-caps {
  border: 1px solid var(--s24-line);
  border-radius: var(--s24-radius);
  margin: 24px 0 24px;
  background: rgba(4, 12, 27, 0.58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.ip-full-head {
  grid-column: 1 / -1;
  text-align: center;
  margin-bottom: 32px;
}

.ip-full-head .ip-heading {
  text-align: center;
}

.ip-full-head .ip-desc {
  text-align: center;
  max-width: 680px;
  margin: 12px auto 0;
}

.ip-cap-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 18px;
  border-bottom: 1px solid var(--s24-line-soft);
  width: 100%;
  background: none;
  border-left: 3px solid transparent;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: inherit;
  transition: background 180ms ease, border-left-color 180ms ease;
}

.ip-cap-item:last-child {
  border-bottom: none;
}

.ip-cap-item:hover {
  background: rgba(111, 159, 207, 0.08);
  border-left-color: rgba(212, 175, 55, 0.46);
}

.ip-cap-item.ip-cap-active,
.ip-cap-item[aria-pressed="true"] {
  border-left-color: var(--s24-gold);
  background: linear-gradient(90deg, rgba(212, 175, 55, 0.14), rgba(111, 159, 207, 0.04));
}

.ip-cap-item.ip-cap-active .ip-cap-icon-wrap,
.ip-cap-item[aria-pressed="true"] .ip-cap-icon-wrap {
  background: rgba(212, 175, 55, 0.22);
  border-color: rgba(212, 175, 55, 0.5);
}

.ip-cap-arrow {
  margin-left: auto;
  opacity: 0.35;
  transition: opacity 180ms ease, transform 180ms ease;
}

.ip-cap-item:hover .ip-cap-arrow,
.ip-cap-item.ip-cap-active .ip-cap-arrow {
  opacity: 0.8;
  transform: translateX(3px);
}

.ip-cap-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  min-width: 32px;
  border-radius: 6px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.25);
  color: var(--s24-gold);
  transition: background 180ms ease, border-color 180ms ease;
}

.ip-cap-item .ip-cap-title {
  font-size: 0.85rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.01em;
}

.ip-cap {
  width: 100%;
  cursor: pointer;
  padding: 15px 16px;
  border-bottom-color: var(--s24-line-soft);
  border-left: 3px solid transparent;
  background: transparent;
}

.ip-cap-product:hover {
  background: rgba(111, 159, 207, 0.08) !important;
  border-left-color: rgba(212, 175, 55, 0.46);
}

.ip-cap-product.ip-cap-active,
.ip-cap-product[aria-pressed="true"] {
  border-left-color: var(--s24-gold);
  background:
    linear-gradient(90deg, rgba(212, 175, 55, 0.16), rgba(111, 159, 207, 0.05)) !important;
  box-shadow: inset 0 0 0 1px rgba(212, 175, 55, 0.24), 0 10px 28px rgba(212, 175, 55, 0.10) !important;
}

.ip-cap-icon,
.ip-cap-icon--teal,
.ip-cap-icon--blue,
.ip-cap-icon--orange,
.ip-cap-icon--red {
  color: var(--s24-gold);
  background: rgba(212, 175, 55, 0.10);
  border-color: rgba(212, 175, 55, 0.24);
  border-radius: 10px;
}

.ip-cap-title {
  font-size: 0.88rem;
  color: rgba(250,252,255,0.88);
}

.ip-cap-desc {
  color: rgba(217, 229, 244, 0.52);
}

.ip-cap-arrow {
  color: rgba(212, 175, 55, 0.42);
}

.ip-btn-primary,
.ip-insight-cta {
  background: var(--s24-gold);
  border-color: var(--s24-gold);
  color: #07101e;
  border-radius: 7px;
}

.ip-btn-primary:hover,
.ip-insight-cta:hover {
  background: #e0b03a;
  border-color: #e0b03a;
  color: #020713;
  transform: translateY(-1px);
}

.ip-btn-secondary {
  border-color: var(--s24-line);
  color: rgba(226, 235, 248, 0.74);
  border-radius: 7px;
}

.ip-dash,
.ip-insight {
  background: var(--s24-panel-strong);
  border: 1px solid var(--s24-line);
  border-radius: var(--s24-radius);
  box-shadow: var(--s24-shadow), inset 0 1px 0 rgba(255,255,255,0.04);
}

.ip-dash-bar {
  border-bottom-color: var(--s24-line-soft);
}

.ip-dash-lbl,
.ip-insight-label {
  color: rgba(111, 159, 207, 0.84);
}

.ip-dash-metric,
.ip-dash-chart-wrap,
.ip-country-card {
  border-color: var(--s24-line-soft);
  background: rgba(2, 7, 18, 0.68);
  border-radius: 8px;
}

.ip-chart-svg path[stroke="#60a5fa"] {
  stroke: #77a7d7;
}

.ip-insight {
  padding: 22px;
}

.ip-product-visual {
  position: relative;
  min-height: 132px;
  margin: 18px 0;
  border: 1px solid var(--s24-line-soft);
  border-radius: 10px;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 35%, rgba(212, 175, 55, 0.12), transparent 28%),
    linear-gradient(135deg, rgba(111, 159, 207, 0.10), rgba(2, 7, 18, 0.4));
}

.ip-visual-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(111,159,207,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(111,159,207,0.08) 1px, transparent 1px);
  background-size: 30px 30px;
}

.ip-visual-route {
  position: absolute;
  inset: 26px 32px;
  border-top: 1px solid rgba(212, 175, 55, 0.55);
  border-right: 1px solid rgba(212, 175, 55, 0.35);
  transform: skewX(-18deg);
}

.ip-visual-node {
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--s24-gold);
  box-shadow: 0 0 20px rgba(212, 175, 55, 0.65);
}

.ip-visual-node--one { left: -4px; top: -5px; }
.ip-visual-node--two { left: 48%; top: -5px; background: var(--s24-danger); }
.ip-visual-node--three { right: -5px; bottom: -5px; background: var(--s24-green); }

.ip-visual-card {
  position: absolute;
  left: 18px;
  bottom: 16px;
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(2, 7, 18, 0.78);
  border: 1px solid rgba(212, 175, 55, 0.22);
}

.ip-visual-card span {
  color: rgba(218, 229, 244, 0.54);
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.ip-visual-card strong {
  color: #fff;
  font-size: 0.92rem;
}

.ip-insight-list {
  gap: 9px;
}

.ip-insight-list li::before {
  width: 5px;
  height: 5px;
  top: 7px;
  border-radius: 50%;
  background: var(--s24-gold);
}

.ip-insight-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  min-height: 40px;
  padding: 10px 18px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ip-strip {
  display: none;
}

/* Risk map spacing and duplicate row removal support */
.platform-workspace-section {
  padding: clamp(56px, 6vw, 78px) 0;
}

.risk-dashboard {
  margin-bottom: 0;
  border-color: var(--s24-line);
  border-radius: var(--s24-radius);
}

.platform-ecosystem {
  display: none !important;
}

.risk-map-tab.active {
  background: rgba(212, 175, 55, 0.16);
  border-color: rgba(212, 175, 55, 0.46);
  color: var(--s24-gold);
}

/* How We Operate */
.risk-management-process-section {
  background:
    radial-gradient(circle at 50% 0%, rgba(111,159,207,0.13), transparent 34%),
    linear-gradient(180deg, #020713 0%, #071426 52%, #020713 100%);
}

.risk-management-process-section::after {
  top: calc(50% + 30px);
  left: max(32px, calc((100vw - var(--container-width)) / 2 + 80px));
  right: max(32px, calc((100vw - var(--container-width)) / 2 + 80px));
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.56), transparent);
  opacity: 0.75;
}

.risk-management-process-section .section-header h2 {
  color: #ffffff;
  font-size: clamp(2rem, 3vw, 3rem);
}

.risk-process-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(116px, 1fr));
  gap: 12px;
  align-items: stretch;
  position: relative;
  z-index: 1;
}

.process-flow-arrow {
  display: none;
}

.risk-step-card {
  position: relative;
  min-width: 0;
  min-height: 214px;
  padding: 18px 12px 16px;
  border: 1px solid var(--s24-line);
  border-radius: var(--s24-radius);
  background: rgba(8, 18, 34, 0.78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
  counter-increment: operate-step;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.risk-process-flow {
  counter-reset: operate-step;
}

.risk-step-card::before {
  content: counter(operate-step, decimal-leading-zero);
  position: absolute;
  top: 12px;
  right: 12px;
  color: rgba(212, 175, 55, 0.78);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.risk-step-card::after {
  content: none !important;
}

.risk-step-card:hover,
.risk-step-card.is-active {
  transform: translateY(-4px);
  border-color: rgba(212, 175, 55, 0.54);
  background: rgba(11, 24, 44, 0.92);
  box-shadow: var(--s24-shadow);
}

.risk-step-icon {
  width: 62px;
  height: 62px;
  padding: 13px;
  background: rgba(212, 175, 55, 0.08);
  border-color: rgba(212, 175, 55, 0.30);
  color: var(--s24-gold);
}

.risk-step-card:hover .risk-step-icon,
.risk-step-card.is-active .risk-step-icon {
  transform: scale(1.04);
  border-color: rgba(212, 175, 55, 0.70);
  box-shadow: 0 0 26px rgba(212, 175, 55, 0.20);
}

.process-step-label {
  color: #ffffff;
  font-size: 0.82rem;
  letter-spacing: 0.12em;
  margin-bottom: 0;
}

.risk-step-card p {
  margin: 0;
  color: rgba(218, 229, 244, 0.62);
  font-size: 0.76rem;
  line-height: 1.45;
  text-align: center;
}

/* Case studies and CTA */
.case-studies-section {
  background:
    radial-gradient(circle at 12% 18%, rgba(111,159,207,0.10), transparent 34%),
    linear-gradient(180deg, #020713 0%, #071326 100%);
}

.case-studies-section .section-header h2 {
  color: #ffffff;
}

.case-studies-section .section-subtitle {
  color: rgba(218, 229, 244, 0.70);
}

.case-card {
  min-height: 360px;
  border-color: var(--s24-line);
  box-shadow: 0 20px 56px rgba(0,0,0,0.26);
}

@media (max-width: 1180px) {
  .risk-process-flow {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
  }

  .risk-management-process-section::after {
    display: none;
  }
}

@media (max-width: 1024px) {
  .ip-grid {
    grid-template-columns: 1fr;
  }

  .risk-step-card {
    min-height: 188px;
  }
}

@media (max-width: 768px) {
  .operational-reach-section-premium,
  .ip-section,
  .platform-workspace-section,
  .risk-management-process-section,
  .why-securide-section-premium,
  .governance-assurance-section-premium,
  .case-studies-section {
    padding: 48px 0;
  }

  .opreach-premium-metrics {
    grid-template-columns: 1fr 1fr;
  }

  .opreach-premium-metric:nth-child(2n) {
    border-right: 0;
  }

  .opreach-premium-metric:nth-child(n+3) {
    border-top: 1px solid var(--s24-line-soft);
    padding-top: 18px;
  }

  .risk-process-flow {
    grid-template-columns: 1fr;
  }

  .risk-step-card,
  .risk-process-flow > .risk-step-card:last-child {
    min-height: unset;
    grid-column: auto;
    justify-self: stretch;
  }

  .risk-step-card {
    align-items: center;
    text-align: center;
    padding: 18px 48px 18px 18px;
  }

  .risk-step-card p {
    text-align: center;
  }

  .risk-step-icon {
    width: 54px;
    height: 54px;
  }

  .case-card {
    min-height: 320px;
  }
}

@media (max-width: 560px) {
  .ip-dash-metrics,
  .ip-dash-countries {
    grid-template-columns: 1fr;
  }

  .ip-dash-lbl {
    display: none;
  }

  .opreach-premium-metrics {
    grid-template-columns: 1fr;
  }

  .opreach-premium-metric,
  .opreach-premium-metric:nth-child(2n) {
    border-right: 0;
  }

  .opreach-premium-metric + .opreach-premium-metric {
    border-top: 1px solid var(--s24-line-soft);
    padding-top: 18px;
  }
}

/* ============================================================
   2026 Refinement Pass: Layout Tightening + Theme Symmetry
   ============================================================ */

:root {
  --s24-section-pad-desktop: clamp(80px, 7vw, 100px);
  --s24-section-pad-tablet: clamp(64px, 6.5vw, 80px);
  --s24-section-pad-mobile: clamp(48px, 8vw, 64px);
  --s24-card-radius: 12px;
  --s24-card-border: 1px solid rgba(116, 154, 198, 0.16);
  --s24-card-shadow: 0 20px 56px rgba(0, 0, 0, 0.32);
  --s24-hover-shadow: 0 26px 72px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(212, 175, 55, 0.2);
}

main.hero-page {
  font-family: var(--font-sans);
}

.hero-page .container {
  max-width: var(--container-width);
}

main.hero-page h2,
main.hero-page h3 {
  font-family: var(--font-sans);
  letter-spacing: 0.01em;
}

.opreach-premium-title,
.ip-heading,
.risk-management-process-section .section-header h2,
.why-securide-premium-title,
.governance-premium-title,
.case-studies-section .section-header h2 {
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 600 !important;
  line-height: 1.12;
}

.opreach-premium-subtitle,
.ip-desc,
.why-securide-premium-subtitle,
.governance-premium-subtitle,
.case-studies-section .section-subtitle,
.risk-step-card p {
  font-size: clamp(0.95rem, 1.05vw, 1.05rem);
  line-height: 1.58;
}

/* Hero: tighter and more premium */
.hero-section {
  background:
    radial-gradient(circle at 14% 18%, rgba(111, 159, 207, 0.18), transparent 34%),
    radial-gradient(circle at 86% 76%, rgba(212, 175, 55, 0.14), transparent 36%),
    linear-gradient(145deg, #020713 0%, #071326 48%, #020713 100%);
}

.hero-overlay {
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2, 7, 19, 0.26) 0%, rgba(2, 7, 19, 0.58) 100%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.025) 0 1px, transparent 1px 64px);
}

.hero-slider-arrow {
  color: rgba(255, 255, 255, 0.7);
}

.hero-slider-arrow:hover,
.hero-slider-arrow:focus-visible {
  color: #D4AF37;
}

.hero-slider-dot {
  border-color: rgba(255, 255, 255, 0.56);
}

.hero-slider-dot.active,
.hero-slider-dot:hover,
.hero-slider-dot:focus-visible {
  background: var(--gold-gradient);
  border-color: #D4AF37;
}

/* Section rhythm */
.operational-reach-section-premium,
.ip-section,
.platform-workspace-section,
.risk-management-process-section,
.why-securide-section-premium,
.governance-assurance-section-premium,
.case-studies-section {
  padding-top: var(--s24-section-pad-desktop);
  padding-bottom: var(--s24-section-pad-desktop);
}

.ip-section .container,
.platform-workspace-section .container,
.risk-management-process-section .container,
.governance-assurance-section-premium .container,
.case-studies-section .container {
  max-width: var(--container-width);
}

.operational-reach-section-premium .container {
  max-width: min(1460px, 96vw);
}

.ip-status-row { margin-bottom: 16px; }

.ip-grid {
  gap: clamp(24px, 3vw, 36px);
}

.ip-left,
.ip-right {
  gap: 16px;
}

.ip-caps {
  margin: 18px 0;
}

.ip-cap {
  border-radius: 0;
}

.ip-cap-product {
  border-left: 3px solid transparent;
}

.ip-cap-product.ip-cap-active,
.ip-cap-product[aria-pressed="true"] {
  background: linear-gradient(90deg, rgba(212, 175, 55, 0.14), rgba(111, 159, 207, 0.08)) !important;
  border-left-color: #D4AF37;
}

.ip-dash,
.ip-insight,
.risk-dashboard,
.opreach-premium-card,
.why-securide-premium-card,
.governance-premium-statement,
.governance-premium-checklist,
.governance-premium-compliance,
.case-card {
  border-radius: var(--s24-card-radius);
  border: var(--s24-card-border);
  box-shadow: var(--s24-card-shadow);
}

.opreach-premium-card:hover,
.why-securide-premium-card:hover,
.governance-premium-cert-card:hover,
.case-card:hover {
  box-shadow: var(--s24-hover-shadow);
}

.platform-workspace-section {
  padding-top: var(--s24-section-pad-desktop);
  padding-bottom: calc(var(--s24-section-pad-desktop) - 14px);
}

/* How we operate timeline polish */
.risk-process-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 12px;
}

.risk-step-number {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  color: rgba(212, 175, 55, 0.9);
}

.risk-step-card {
  min-height: 210px;
  padding: 18px 12px 16px;
  border-radius: var(--s24-card-radius);
}

.risk-step-card::before {
  content: none !important;
}

.risk-step-card:not(:last-of-type)::after {
  content: '\2192';
  position: absolute;
  right: -12px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(212, 175, 55, 0.58);
  font-size: 1rem;
}

.risk-step-card p {
  margin: 0;
}

/* Responsive spacing cadence */
@media (max-width: 1024px) {
  .operational-reach-section-premium,
  .ip-section,
  .platform-workspace-section,
  .risk-management-process-section,
  .why-securide-section-premium,
  .governance-assurance-section-premium,
  .case-studies-section {
    padding-top: var(--s24-section-pad-tablet);
    padding-bottom: var(--s24-section-pad-tablet);
  }

  .risk-process-flow {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
  }

  .risk-step-card:not(:last-of-type)::after {
    content: none;
  }

}

@media (max-width: 768px) {
  .operational-reach-section-premium,
  .ip-section,
  .platform-workspace-section,
  .risk-management-process-section,
  .why-securide-section-premium,
  .governance-assurance-section-premium,
  .case-studies-section {
    padding-top: var(--s24-section-pad-mobile);
    padding-bottom: var(--s24-section-pad-mobile);
  }

  .risk-process-flow {
    grid-template-columns: 1fr;
  }

  .risk-step-card {
    min-height: unset;
    padding: 18px 44px 18px 18px;
    align-items: flex-start;
    text-align: left;
  }

  .risk-step-card p {
    text-align: left;
  }
}

/* ============================================================
   Final Homepage Refinement Pass (Apr 2026)
   ============================================================ */

:root {
  --s24-space-desktop: clamp(70px, 6.2vw, 90px);
  --s24-space-tablet: clamp(56px, 6vw, 72px);
  --s24-space-mobile: clamp(40px, 7vw, 56px);
}

/* Global section rhythm */
.li-section,
.operational-reach-section-premium,
.ip-section,
.platform-workspace-section,
.risk-management-process-section,
.why-securide-section-premium,
.governance-assurance-section-premium,
.case-studies-section {
  padding-top: var(--s24-space-desktop);
  padding-bottom: var(--s24-space-desktop);
}

.platform-workspace-section {
  padding-top: clamp(64px, 5.8vw, 84px);
  padding-bottom: clamp(60px, 5.5vw, 78px);
}

.risk-management-process-section,
.why-securide-section-premium,
.governance-assurance-section-premium,
.case-studies-section {
  margin-top: 0;
  margin-bottom: 0;
}

.site-footer {
  margin-top: 0;
}

/* Hero visibility polish */
.hero-section {
  background:
    radial-gradient(circle at 18% 16%, rgba(111, 159, 207, 0.22), transparent 34%),
    radial-gradient(circle at 84% 78%, rgba(212, 175, 55, 0.18), transparent 36%),
    linear-gradient(145deg, #020713 0%, #071326 48%, #020713 100%);
}

.hero-overlay {
  background:
    linear-gradient(180deg, rgba(2, 7, 19, 0.20) 0%, rgba(2, 7, 19, 0.66) 100%),
    radial-gradient(circle at 50% 50%, transparent 22%, rgba(2, 7, 19, 0.44) 100%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.02) 0 1px, transparent 1px 64px);
}

/* Live Intelligence readability and hierarchy */
.li-section {
  background:
    radial-gradient(circle at 12% 16%, rgba(111, 159, 207, 0.14), transparent 30%),
    radial-gradient(circle at 88% 82%, rgba(212, 175, 55, 0.12), transparent 32%),
    linear-gradient(180deg, #05193f 0%, #041230 100%);
}

.li-toprow {
  margin-bottom: 16px;
}

.li-title {
  font-size: clamp(2.4rem, 3.8vw, 3.5rem);
  line-height: 1.06;
}

.li-ticker-bar {
  margin-bottom: 18px;
  padding: 10px 16px;
}

.li-grid {
  grid-template-columns: 1.08fr 1.2fr 0.92fr;
  gap: 16px;
}

.li-card {
  border-color: rgba(76, 201, 240, 0.22);
  box-shadow: 0 20px 52px rgba(5, 18, 42, 0.36);
}

.li-slideshow-card {
  background: linear-gradient(170deg, rgba(2, 10, 24, 0.96) 0%, rgba(4, 16, 38, 0.9) 100%);
  border-color: rgba(111, 159, 207, 0.26);
  box-shadow: 0 24px 66px rgba(2, 8, 20, 0.62), inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.li-card-bar {
  border-bottom-color: rgba(111, 159, 207, 0.22);
  background:
    linear-gradient(90deg, rgba(111, 159, 207, 0.1), rgba(212, 175, 55, 0.05) 60%, transparent),
    rgba(4, 14, 30, 0.78);
}

.li-slides-container {
  isolation: isolate;
}

.li-slide {
  transition: opacity 0.6s ease, transform 0.6s ease;
  transform: scale(1.016);
}

.li-slide.active {
  transform: scale(1);
}

.li-live-visual {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.li-live-map,
.li-live-image,
.li-live-grid,
.li-live-heat,
.li-live-routes,
.li-live-scan {
  position: absolute;
  inset: 0;
}

.li-live-image {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.34;
  filter: saturate(0.9) contrast(1.08) brightness(0.88);
}

.li-live-map {
  opacity: 0.46;
  filter: drop-shadow(0 0 10px rgba(111, 159, 207, 0.55));
  background-position: center;
  background-size: 116% 116%;
  background-repeat: no-repeat;
}

.li-live-grid {
  background-image:
    linear-gradient(rgba(132, 168, 210, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(132, 168, 210, 0.08) 1px, transparent 1px),
    radial-gradient(circle at 16% 14%, rgba(111, 159, 207, 0.18), transparent 40%);
  background-size: 24px 24px, 24px 24px, cover;
  mix-blend-mode: screen;
}

.li-live-routes {
  pointer-events: none;
}

.li-live-route {
  position: absolute;
  border: 1px solid rgba(111, 159, 207, 0.4);
  border-left: none;
  border-bottom: none;
  border-radius: 180px 180px 0 0;
  opacity: 0;
  transform-origin: center;
  animation: liRouteSweep 6.8s linear infinite;
}

.li-live-route-a {
  width: 55%;
  height: 42%;
  left: 14%;
  top: 24%;
}

.li-live-route-b {
  width: 70%;
  height: 54%;
  left: 20%;
  top: 16%;
  border-color: rgba(234, 174, 58, 0.38);
}

.li-live-marker {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #f97316;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.58), 0 0 22px rgba(249, 115, 22, 0.46);
  z-index: 3;
  animation: liMarkerPulse 2.2s ease-in-out infinite;
}

.li-live-marker::before,
.li-live-marker::after {
  content: '';
  position: absolute;
  inset: -16px;
  border-radius: 50%;
  border: 1px solid rgba(249, 115, 22, 0.2);
}

.li-live-marker::after {
  inset: -26px;
  border-color: rgba(249, 115, 22, 0.14);
}

.li-live-heat {
  background:
    radial-gradient(circle at 58% 52%, rgba(239, 68, 68, 0.3), transparent 16%),
    radial-gradient(circle at 42% 62%, rgba(249, 115, 22, 0.24), transparent 20%);
  mix-blend-mode: screen;
}

.li-live-scan {
  background:
    linear-gradient(180deg, transparent 0%, rgba(111, 159, 207, 0.16) 46%, transparent 100%),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.01) 0 1px, transparent 1px 3px);
  animation: liScanSweep 5.8s ease-in-out infinite;
  pointer-events: none;
}

.li-live-visual--global .li-live-map {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 620'%3E%3Cg fill='none' stroke='%2379a8d9' stroke-width='2.2' stroke-opacity='0.78'%3E%3Cpath d='M115 248l55-39 66 15 54-23 71 8 75 40 11 48-65 40-95 8-56 40-70-16-34-53z'/%3E%3Cpath d='M532 203l62-41 66 22 60-17 86 26 52 51-53 43-102 17-96-16-67-40z'/%3E%3Cpath d='M798 328l48-29 67 9 59 34 70 4 50 42-35 46-100 16-98-18-60-41z'/%3E%3Cpath d='M927 225l40-14 50 11 34 28-10 35-37 16-49-6-29-24z'/%3E%3C/g%3E%3C/svg%3E");
}

.li-live-visual--middle-east .li-live-map {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 600'%3E%3Cg fill='none' stroke='%2379a8d9' stroke-width='2.2' stroke-opacity='0.82'%3E%3Cpath d='M189 228l101-39 111 22 101-29 107 48 65 92-25 84-115 35-151-14-120 22-88-56-25-89z'/%3E%3Cpath d='M518 258l68 19 45 53-30 60-62 9-39-37 4-60z'/%3E%3Cpath d='M439 317l39 15 15 28-20 34-39 8-25-27 8-37z'/%3E%3Cpath d='M330 329l44 11 17 29-17 33-48 7-22-23 4-34z'/%3E%3C/g%3E%3C/svg%3E");
}

.li-live-visual--south-asia .li-live-map {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 600'%3E%3Cg fill='none' stroke='%2379a8d9' stroke-width='2.2' stroke-opacity='0.82'%3E%3Cpath d='M216 165l112-47 96 37 85-11 101 52 59 98-24 120-120 43-109-17-95 28-107-34-58-101 20-88z'/%3E%3Cpath d='M355 226l54-18 43 26 10 47-23 43-56 18-40-30 3-47z'/%3E%3Cpath d='M462 290l58 13 38 44-18 53-59 18-38-32-2-50z'/%3E%3Cpath d='M537 374l40 7 22 35-13 39-35 12-26-21 1-31z'/%3E%3C/g%3E%3C/svg%3E");
}

.li-live-visual--regional .li-live-map,
.li-live-visual--country-map .li-live-map,
.li-live-visual--regional-map .li-live-map {
  background-image: radial-gradient(circle at 50% 50%, rgba(111, 159, 207, 0.24), rgba(17, 33, 58, 0.2) 40%, rgba(3, 9, 22, 0.6) 74%);
}

.li-live-visual--global-map .li-live-route-a,
.li-live-visual--global-map .li-live-route-b {
  border-color: rgba(111, 159, 207, 0.48);
}

.li-slide-overlay {
  background: linear-gradient(to top, rgba(2, 8, 20, 0.98) 0%, rgba(2, 8, 20, 0.78) 56%, rgba(2, 8, 20, 0.18) 100%);
  border-top: 1px solid rgba(111, 159, 207, 0.16);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  padding-top: 52px;
}

.li-slide-risk {
  justify-content: space-between;
  gap: 8px;
}

.li-slide-badge {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14), 0 0 20px rgba(0, 0, 0, 0.34);
}

.li-slide-location {
  color: rgba(218, 230, 244, 0.7);
}

.li-slide-headline {
  font-size: clamp(0.9rem, 1.22vw, 1.08rem);
}

.li-slide-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.li-slide-highlight {
  font-size: 0.6rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(212, 175, 55, 0.86);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 62%;
}

.li-slide-timestamp {
  color: rgba(214, 225, 237, 0.62);
}

@keyframes liMarkerPulse {
  0%,
  100% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.58), 0 0 22px rgba(249, 115, 22, 0.46); }
  60% { box-shadow: 0 0 0 16px rgba(249, 115, 22, 0), 0 0 34px rgba(249, 115, 22, 0.24); }
}

@keyframes liScanSweep {
  0% { transform: translateY(-115%); }
  100% { transform: translateY(205%); }
}

@keyframes liRouteSweep {
  0% { opacity: 0; transform: scale(0.9) rotate(0deg); }
  30% { opacity: 0.9; }
  70% { opacity: 0.45; }
  100% { opacity: 0; transform: scale(1.03) rotate(2deg); }
}

.li-slideshow-card,
.li-critical-card {
  min-height: 430px;
}

.li-critical-card {
  padding: 22px;
  border-color: rgba(212, 175, 55, 0.30);
  box-shadow: 0 24px 68px rgba(3, 10, 24, 0.48), inset 0 0 0 1px rgba(212, 175, 55, 0.08);
}

.li-featured-location {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
}

.li-critical-title {
  font-size: clamp(1.28rem, 2vw, 1.62rem);
  line-height: 1.24;
}

.li-critical-body {
  font-size: 0.86rem;
  color: rgba(255, 255, 255, 0.58);
}

.li-tags {
  gap: 6px;
}

.li-read-signal {
  padding: 9px 18px;
  margin-top: auto;
}

.li-right-col {
  gap: 12px;
}

.li-status-card {
  padding: 16px 16px 14px;
}

#liSecondaryStack {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.li-secondary-card {
  min-height: 102px;
}

/* Intelligence Platform compact alignment */
.ip-section {
  padding-top: clamp(70px, 6.2vw, 88px);
  padding-bottom: clamp(66px, 5.8vw, 84px);
}

.ip-grid {
  align-items: stretch;
  gap: clamp(24px, 2.8vw, 34px);
}

.ip-left,
.ip-right {
  display: flex;
  flex-direction: column;
}

.ip-left {
  justify-content: flex-start;
}

.ip-right {
  gap: 14px;
  display: flex;
  flex-direction: column;
}

.ip-detail-panel {
  border: 1px solid var(--s24-line);
  border-radius: var(--s24-radius);
  background: rgba(4, 12, 27, 0.58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
  padding: 32px 28px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}

.ip-detail-title {
  font-size: clamp(1.1rem, 1.5vw, 1.5rem);
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.01em;
  line-height: 1.35;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.ip-detail-panel--watchdesk {
  justify-content: flex-start;
  gap: 8px;
  padding: 10px;
  height: 100%;
  flex: 1;
  background:
    radial-gradient(circle at 88% 6%, rgba(20, 152, 228, 0.16), transparent 36%),
    linear-gradient(180deg, #050e22 0%, #071127 100%);
  overflow: hidden;
}

.ip-wd-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid rgba(69, 112, 173, 0.26);
  border-radius: 8px;
  background: rgba(7, 20, 44, 0.68);
  padding: 8px 10px;
}

.ip-wd-title {
  margin: 0;
  color: #e8fbff;
  font-size: clamp(0.85rem, 1vw, 0.98rem);
  letter-spacing: 0.08em;
  font-weight: 700;
}

.ip-wd-subtitle {
  margin: 2px 0 0;
  color: rgba(154, 228, 235, 0.85);
  font-size: 0.63rem;
  line-height: 1.3;
}

.ip-wd-live-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.ip-wd-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(87, 128, 191, 0.35);
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 0.57rem;
  color: #e5f6ff;
  letter-spacing: 0.05em;
  white-space: nowrap;
  background: rgba(10, 25, 52, 0.72);
}

.ip-wd-chip--on {
  border-color: rgba(44, 208, 136, 0.5);
  color: #8ff5c6;
  background: rgba(44, 208, 136, 0.14);
}

.ip-wd-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #31e49a;
  box-shadow: 0 0 10px rgba(49, 228, 154, 0.78);
}

.ip-wd-filter-bar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 10px 12px;
  background: rgba(5, 17, 36, 0.7);
  border: 1px solid rgba(76, 171, 219, 0.14);
  border-radius: 8px;
  min-width: 0;
}

.ip-wd-filter-group {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.ip-wd-filter-label {
  font-size: 0.57rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(180, 210, 255, 0.45);
  font-weight: 600;
}

.ip-wd-filter-select {
  width: 100%;
  height: 29px;
  box-sizing: border-box;
  background: rgba(10, 22, 46, 0.9);
  border: 1px solid rgba(76, 171, 219, 0.22);
  border-radius: 5px;
  color: #c8e4ff;
  font-size: 0.73rem;
  line-height: 1.1;
  padding: 5px 17px 5px 8px;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2341d9ff' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 5px center;
  min-width: 0;
}

.ip-wd-filter-select:focus {
  outline: none;
  border-color: rgba(65, 217, 255, 0.45);
}

.ip-wd-filter-select option {
  background: #071526;
  color: #eef9ff;
}

.ip-wd-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

.ip-wd-kpi-card {
  border: 1px solid rgba(76, 117, 177, 0.26);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(7, 21, 45, 0.92), rgba(4, 13, 29, 0.92));
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ip-wd-kpi-label {
  color: rgba(182, 223, 232, 0.78);
  font-size: 0.54rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.ip-wd-kpi-value {
  color: #ffffff;
  font-size: 1.05rem;
  line-height: 1;
  font-weight: 700;
}

.ip-wd-kpi-value--live {
  color: #2ce7a2;
}

.ip-wd-kpi-meta {
  color: #66d9a6;
  font-size: 0.54rem;
}

.ip-wd-map-block {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 0;
}

.ip-wd-map-main {
  border: 1px solid rgba(76, 117, 177, 0.26);
  border-radius: 8px;
  background: rgba(5, 17, 38, 0.9);
  padding: 8px;
}

.ip-wd-block-title {
  margin: 0 0 6px;
  font-size: 0.56rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #e2f4ff;
}

.ip-wd-map-frame {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid rgba(111, 159, 207, 0.25);
  background: #071327;
  min-height: 270px;
}

.ip-wd-live-map {
  width: 100%;
  height: 100%;
  min-height: 270px;
}

.ip-wd-live-map .leaflet-control-attribution {
  background: rgba(4, 12, 27, 0.62);
  color: rgba(180, 217, 233, 0.78);
  font-size: 9px;
}

.ip-wd-live-map .leaflet-control-zoom a {
  background: rgba(8, 23, 48, 0.9);
  color: #d5eff8;
  border-color: rgba(80, 129, 191, 0.35);
}

.ip-wd-live-map .ip-wd-marker-icon-wrap {
  background: transparent;
  border: 0;
  overflow: visible;
}

.ip-wd-live-map .ip-wd-marker {
  --wd-marker-color: #4ee981;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--wd-marker-color);
  cursor: pointer;
  pointer-events: auto;
  filter: drop-shadow(0 0 12px currentColor);
}

.ip-wd-live-map .ip-wd-marker-ring {
  position: absolute;
  inset: 2px;
  border: 2px solid currentColor;
  border-radius: 50%;
  opacity: 0.65;
  animation: ipWdLiveRing 1.9s ease-out infinite;
  pointer-events: none;
}

.ip-wd-live-map .ip-wd-marker-ring--delay {
  animation-delay: 0.72s;
  opacity: 0.42;
}

.ip-wd-live-map .ip-wd-marker-dot {
  position: relative;
  z-index: 2;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--wd-marker-color);
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.08), 0 0 18px currentColor;
  pointer-events: none;
}

@keyframes ipWdLiveRing {
  0% {
    transform: scale(0.68);
    opacity: 0.72;
  }
  72% {
    transform: scale(1.9);
    opacity: 0;
  }
  100% {
    transform: scale(1.9);
    opacity: 0;
  }
}

.ip-wd-map-fallback {
  min-height: 270px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(185, 223, 236, 0.9);
  font-size: 0.68rem;
}

.ip-wd-map-popup {
  min-width: 180px;
}

.ip-wd-map-popup strong {
  display: block;
  margin-bottom: 4px;
  color: #0b1528;
  font-size: 0.75rem;
}

.ip-wd-map-popup p {
  margin: 0;
  color: #2a3546;
  font-size: 0.68rem;
  line-height: 1.35;
}

.ip-wd-map-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.82;
  display: block;
}

.ip-wd-map-overlay {
  position: absolute;
  bottom: 8px;
  left: 8px;
  display: flex;
  gap: 5px;
}

.ip-wd-level {
  border-radius: 999px;
  padding: 2px 6px;
  font-size: 0.52rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ip-wd-level--high {
  color: #ffb9b9;
  background: rgba(246, 56, 75, 0.22);
}

.ip-wd-level--medium {
  color: #F4E29A;
  background: rgba(214, 145, 27, 0.23);
}

.ip-wd-level--low {
  color: #8df4d7;
  background: rgba(30, 188, 130, 0.22);
}

.ip-wd-side-stack {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 6px;
}

.ip-wd-side-list {
  border: 1px solid rgba(76, 117, 177, 0.26);
  border-radius: 8px;
  background: rgba(7, 17, 36, 0.9);
  padding: 8px;
}

.ip-wd-side-title {
  margin: 0 0 6px;
  font-size: 0.56rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #e2f3fb;
}

.ip-wd-category-wrap {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: center;
}

.ip-wd-donut {
  width: 56px;
  height: 56px;
  transform: rotate(-90deg);
}

.ip-wd-donut-bg,
.ip-wd-donut-seg {
  fill: none;
  stroke-width: 6;
}

.ip-wd-donut-bg {
  stroke: rgba(80, 108, 154, 0.35);
}

.ip-wd-donut-seg {
  stroke-linecap: butt;
  stroke-dasharray: 100 100;
}

.ip-wd-donut-seg--security {
  stroke: #ff513f;
  stroke-dasharray: 45 55;
  stroke-dashoffset: 0;
}

.ip-wd-donut-seg--political {
  stroke: #f2b843;
  stroke-dasharray: 25 75;
  stroke-dashoffset: -45;
}

.ip-wd-donut-seg--operational {
  stroke: #1dc9c2;
  stroke-dasharray: 20 80;
  stroke-dashoffset: -70;
}

.ip-wd-donut-seg--natural {
  stroke: #2ee28a;
  stroke-dasharray: 10 90;
  stroke-dashoffset: -90;
}

.ip-wd-category-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 4px;
}

.ip-wd-category-list li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 5px;
  color: #d9eef8;
  font-size: 0.56rem;
}

.ip-wd-dot-key {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}

.ip-wd-dot-key--security { background: #ff513f; }
.ip-wd-dot-key--political { background: #f2b843; }
.ip-wd-dot-key--operational { background: #1dc9c2; }
.ip-wd-dot-key--natural { background: #2ee28a; }

.ip-wd-side-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 5px;
}

.ip-wd-side-list li {
  color: rgba(220, 239, 248, 0.9);
  font-size: 0.56rem;
  line-height: 1.25;
  padding-left: 10px;
  position: relative;
}

.ip-wd-side-list li::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.44em;
  background: #f0505f;
}

.ip-wd-source-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 0;
}

.ip-wd-source-list li::before {
  content: none;
}

.ip-wd-source-list li span {
  color: #67e6aa;
}

.ip-wd-bottom-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 6px;
}

.ip-wd-feed {
  border: 1px solid rgba(76, 117, 177, 0.26);
  border-radius: 8px;
  background: rgba(7, 17, 36, 0.88);
  padding: 8px;
  min-height: 0;
}

.ip-wd-feed-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

.ip-wd-feed-head h4 {
  margin: 0;
  font-size: 0.56rem;
  color: #e8f7ff;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ip-wd-feed-head span {
  color: rgba(152, 212, 228, 0.84);
  font-size: 0.54rem;
}

.ip-wd-feed-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 7px;
}

.ip-wd-feed-list li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
  color: #daedf4;
  font-size: 0.55rem;
  line-height: 1.25;
}

.ip-wd-tag {
  border-radius: 5px;
  padding: 2px 6px;
  font-size: 0.48rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 700;
}

.ip-wd-tag--high {
  color: #ffd2d2;
  background: rgba(246, 56, 75, 0.28);
}

.ip-wd-tag--medium {
  color: #ffe0b0;
  background: rgba(214, 145, 27, 0.3);
}

.ip-wd-trend {
  border: 1px solid rgba(76, 117, 177, 0.26);
  border-radius: 8px;
  background: rgba(7, 17, 36, 0.88);
  padding: 8px;
}

.ip-wd-line-chart {
  width: 100%;
  height: 86px;
  display: block;
}

.ip-wd-line-grid {
  fill: none;
  stroke: rgba(114, 149, 206, 0.2);
  stroke-width: 1;
}

.ip-wd-line-path {
  fill: none;
  stroke: #1fd6ff;
  stroke-width: 2;
}

.ip-wd-line-dot {
  fill: #1fd6ff;
}

/* ===== ACTIVE INTELLIGENCE ALERTS PANEL ===== */

.ip-detail-panel--aia {
  padding: 10px;
  height: 600px;
  flex: none;
  background:
    radial-gradient(circle at 85% 8%, rgba(20, 100, 228, 0.13), transparent 38%),
    linear-gradient(180deg, #050e22 0%, #071127 100%);
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow: hidden;
  box-sizing: border-box;
}

.ip-aia-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid rgba(69, 112, 173, 0.26);
  border-radius: 8px;
  background: rgba(7, 20, 44, 0.68);
  padding: 8px 10px;
  flex-shrink: 0;
}

.ip-aia-title {
  margin: 0;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #e8fbff;
  text-transform: uppercase;
}

.ip-aia-subtitle {
  margin: 2px 0 0;
  font-size: 0.5rem;
  color: #4db0d4;
}

.ip-aia-body {
  display: grid;
  grid-template-columns: 1fr 0.75fr;
  gap: 6px;
  flex: 1;
  min-height: 0;
}

.ip-aia-body--single {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  grid-template-columns: unset;
}

.ip-aia-left {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 0;
}

.ip-aia-right {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 0;
}

/* Filters */
.ip-aia-filters {
  display: flex;
  gap: 4px;
  align-items: center;
  flex-shrink: 0;
}

.ip-aia-search {
  position: relative;
  flex: 1;
  min-width: 0;
}

.ip-aia-search-input {
  width: 100%;
  box-sizing: border-box;
  background: rgba(7, 17, 40, 0.8);
  border: 1px solid rgba(76, 117, 177, 0.35);
  border-radius: 5px;
  padding: 4px 22px 4px 7px;
  color: #d5eef8;
  font-size: 0.5rem;
  outline: none;
  font-family: inherit;
}

.ip-aia-search-input::placeholder { color: rgba(160, 200, 230, 0.4); }

.ip-aia-search-icon {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  color: rgba(180, 210, 230, 0.5);
  pointer-events: none;
}

.ip-aia-select {
  background: rgba(7, 17, 40, 0.8);
  border: 1px solid rgba(76, 117, 177, 0.35);
  border-radius: 5px;
  padding: 4px 5px;
  color: #d5eef8;
  font-size: 0.48rem;
  outline: none;
  cursor: pointer;
  font-family: inherit;
  flex-shrink: 0;
}

/* KPI row */
.ip-aia-kpi-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5px;
  flex-shrink: 0;
}

.ip-aia-kpi {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(7, 17, 36, 0.9);
  border: 1px solid rgba(76, 117, 177, 0.26);
  border-radius: 7px;
  padding: 7px 8px;
}

.ip-aia-kpi-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  flex-shrink: 0;
}

.ip-aia-kpi-icon svg { width: 13px; height: 13px; }
.ip-aia-kpi-icon--total   { background: rgba(32,160,218,0.18); color: #20a0da; }
.ip-aia-kpi-icon--high    { background: rgba(255,60,60,0.18);  color: #ff4040; }
.ip-aia-kpi-icon--review  { background: rgba(212, 175, 55,0.18); color: #D4AF37; }
.ip-aia-kpi-icon--escalated { background: rgba(120,80,220,0.18); color: #9b6df0; }

.ip-aia-kpi-label {
  display: block;
  font-size: 0.44rem;
  color: rgba(180,210,240,0.65);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1;
  margin-bottom: 2px;
}

.ip-aia-kpi-value {
  display: block;
  font-size: 1.05rem;
  font-weight: 700;
  color: #e8f6ff;
  line-height: 1;
}

.ip-aia-kpi-delta {
  display: block;
  font-size: 0.44rem;
  line-height: 1;
  margin-top: 2px;
}

.ip-aia-kpi-delta--up   { color: #27d394; }
.ip-aia-kpi-delta--down { color: #ff4f4f; }

/* Feed section */
.ip-aia-feed-section {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  border: 1px solid rgba(76, 117, 177, 0.26);
  border-radius: 7px;
  background: rgba(7, 17, 36, 0.9);
  padding: 8px;
}

.ip-aia-feed-title {
  margin: 0 0 6px;
  font-size: 0.52rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #c9e6f8;
  flex-shrink: 0;
}

.ip-aia-table-wrap {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

.ip-aia-table-wrap::-webkit-scrollbar { width: 4px; }
.ip-aia-table-wrap::-webkit-scrollbar-track { background: transparent; }
.ip-aia-table-wrap::-webkit-scrollbar-thumb { background: rgba(76,117,177,0.3); border-radius: 2px; }

.ip-aia-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.52rem;
  color: #c5dff0;
}

.ip-aia-table th {
  text-align: left;
  padding: 5px 7px;
  color: rgba(180,210,240,0.65);
  font-size: 0.46rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(76,117,177,0.2);
  position: sticky;
  top: 0;
  background: rgba(7, 17, 36, 0.98);
  z-index: 1;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ip-aia-table td {
  padding: 6px 7px;
  border-bottom: 1px solid rgba(76,117,177,0.1);
  vertical-align: middle;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ip-aia-table tbody tr {
  cursor: pointer;
  transition: background 0.12s;
}

.ip-aia-table tbody tr:hover { background: rgba(32,100,180,0.14); }
.ip-aia-table tbody tr.ip-aia-row--active { background: rgba(32,100,180,0.24); }

.ip-aia-cell-id { color: rgba(160,200,230,0.7); font-size: 0.46rem; }

.ip-aia-type-cell { display: flex; align-items: center; gap: 4px; }

.ip-aia-loading {
  text-align: center;
  padding: 14px;
  color: rgba(180,210,240,0.45);
  font-size: 0.5rem;
}

/* Risk level */
.ip-aia-risk { display: flex; align-items: center; gap: 4px; font-size: 0.48rem; }
.ip-aia-risk-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.ip-aia-risk-dot--high   { background: #ff4f4f; box-shadow: 0 0 4px #ff4f4f66; }
.ip-aia-risk-dot--medium { background: var(--gold-gradient); box-shadow: 0 0 4px #D4AF3766; }
.ip-aia-risk-dot--low    { background: #27d394; box-shadow: 0 0 4px #27d39466; }

/* Status badges */
.ip-aia-status {
  display: inline-block;
  padding: 2px 5px;
  border-radius: 3px;
  font-size: 0.44rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.ip-aia-status--new      { background: rgba(32,160,218,0.18); color: #4ab8e8; border: 1px solid rgba(32,160,218,0.28); }
.ip-aia-status--review   { background: rgba(212, 175, 55,0.18); color: #D4AF37; border: 1px solid rgba(212, 175, 55,0.28); }
.ip-aia-status--escalated { background: rgba(255,70,70,0.18); color: #ff6060; border: 1px solid rgba(255,70,70,0.28); }

/* Row action button */
.ip-aia-row-btn {
  padding: 3px 7px;
  border-radius: 4px;
  font-size: 0.44rem;
  background: rgba(20,80,160,0.3);
  color: #4ab8e8;
  border: 1px solid rgba(32,120,200,0.38);
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.13s;
  font-family: inherit;
}

.ip-aia-row-btn:hover { background: rgba(20,80,160,0.5); }

/* Pagination */
.ip-aia-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 6px;
  margin-top: 4px;
  border-top: 1px solid rgba(76,117,177,0.18);
  flex-shrink: 0;
}

.ip-aia-page-info { font-size: 0.44rem; color: rgba(180,210,240,0.55); }

.ip-aia-page-controls { display: flex; align-items: center; gap: 3px; }

.ip-aia-page-btn,
.ip-aia-page-num {
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 3px;
  background: rgba(20,60,120,0.4);
  border: 1px solid rgba(76,117,177,0.3);
  color: #8bbcd8;
  font-size: 0.48rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-family: inherit;
  transition: background 0.12s;
}

.ip-aia-page-btn:hover,
.ip-aia-page-num:hover { background: rgba(20,80,160,0.5); }
.ip-aia-page-btn:disabled { opacity: 0.35; cursor: default; }
.ip-aia-page-num--active { background: rgba(20,100,200,0.5); border-color: rgba(32,120,220,0.55); color: #d5eeff; }
.ip-aia-page-ellipsis { font-size: 0.46rem; color: rgba(130,170,200,0.6); padding: 0 2px; }

/* Right column — map section */
.ip-aia-map-section {
  border: 1px solid rgba(76,117,177,0.26);
  border-radius: 7px;
  background: rgba(5,17,38,0.9);
  padding: 7px;
  flex-shrink: 0;
}

.ip-aia-map-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

.ip-aia-section-title {
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #c9e6f8;
  text-transform: uppercase;
}

.ip-aia-new-btn {
  padding: 3px 8px;
  border-radius: 4px;
  background: rgba(0,180,100,0.18);
  color: #27d394;
  border: 1px solid rgba(0,180,100,0.32);
  font-size: 0.44rem;
  cursor: pointer;
  white-space: nowrap;
  font-family: inherit;
  transition: background 0.13s;
}

.ip-aia-new-btn:hover { background: rgba(0,180,100,0.3); }

.ip-aia-map-frame {
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  border: 1px solid rgba(111,159,207,0.22);
  background: #071327;
  min-height: 150px;
}

.ip-aia-heat-map {
  width: 100%;
  height: 100%;
  min-height: 150px;
}

/* Alert detail section */
.ip-aia-detail-section {
  border: 1px solid rgba(76,117,177,0.26);
  border-radius: 7px;
  background: rgba(7,17,36,0.9);
  padding: 8px;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

.ip-aia-detail-section::-webkit-scrollbar { width: 4px; }
.ip-aia-detail-section::-webkit-scrollbar-track { background: transparent; }
.ip-aia-detail-section::-webkit-scrollbar-thumb { background: rgba(76,117,177,0.3); border-radius: 2px; }

.ip-aia-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 7px;
}

.ip-aia-priority-badge {
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 0.44rem;
  font-weight: 700;
  background: rgba(255,60,60,0.18);
  color: #ff6060;
  border: 1px solid rgba(255,60,60,0.32);
  letter-spacing: 0.04em;
}

.ip-aia-priority-badge--medium {
  background: rgba(212, 175, 55,0.18);
  color: #D4AF37;
  border-color: rgba(212, 175, 55,0.32);
}

.ip-aia-priority-badge--low {
  background: rgba(39,211,148,0.18);
  color: #27d394;
  border-color: rgba(39,211,148,0.32);
}

.ip-aia-detail-title-row {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 5px;
}

.ip-aia-detail-type-icon { font-size: 1.1rem; line-height: 1; }

.ip-aia-detail-title {
  margin: 0;
  font-size: 0.62rem;
  font-weight: 700;
  color: #e8f6ff;
  line-height: 1.25;
}

.ip-aia-detail-desc {
  font-size: 0.5rem;
  color: rgba(190,220,240,0.78);
  margin: 0 0 7px;
  line-height: 1.45;
}

.ip-aia-detail-meta { display: grid; gap: 5px; margin-bottom: 8px; }

.ip-aia-meta-row {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 4px;
  align-items: start;
}

.ip-aia-meta-label {
  font-size: 0.42rem;
  color: rgba(160,200,220,0.58);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding-top: 1px;
}

.ip-aia-meta-val { font-size: 0.5rem; color: #c5dff0; line-height: 1.3; }

.ip-aia-meta-row--conf { grid-template-columns: 1fr; }

.ip-aia-conf-bar-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
}

.ip-aia-conf-bar {
  flex: 1;
  height: 4px;
  border-radius: 2px;
  background: rgba(80,110,150,0.32);
  overflow: hidden;
}

.ip-aia-conf-fill {
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(90deg, #1b9fff, #27d394);
  transition: width 0.4s ease;
}

.ip-aia-conf-val { font-size: 0.48rem; color: #4ab8e8; white-space: nowrap; }

/* Quick actions */
.ip-aia-quick-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin-bottom: 8px;
}

.ip-aia-action-btn {
  padding: 5px 6px;
  border-radius: 5px;
  font-size: 0.46rem;
  background: rgba(20,60,120,0.38);
  color: #8bbcd8;
  border: 1px solid rgba(76,117,177,0.28);
  cursor: pointer;
  text-align: center;
  transition: background 0.13s;
  line-height: 1.25;
  font-family: inherit;
}

.ip-aia-action-btn:hover { background: rgba(20,80,160,0.52); }
.ip-aia-action-btn--accent  { background: rgba(0,100,180,0.28); color: #4ab8e8; border-color: rgba(0,120,200,0.38); }
.ip-aia-action-btn--pulse   { background: rgba(120,60,200,0.2); color: #b080f0; border-color: rgba(120,60,200,0.3); }
.ip-aia-action-btn--archive { background: rgba(70,70,85,0.28); color: #8888a0; border-color: rgba(100,100,120,0.28); }

/* Timeline */
.ip-aia-timeline { border-top: 1px solid rgba(76,117,177,0.18); padding-top: 6px; }

.ip-aia-timeline-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 5px;
}

.ip-aia-section-title-sm {
  font-size: 0.48rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #c9e6f8;
  text-transform: uppercase;
}

.ip-aia-timeline-sub { color: rgba(180,210,240,0.55); font-weight: 400; }

.ip-aia-timeline-link {
  font-size: 0.44rem;
  color: #1b9fff;
  text-decoration: none;
}

.ip-aia-timeline-link:hover { text-decoration: underline; }

.ip-aia-timeline-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 5px;
}

.ip-aia-timeline-list li {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.46rem;
  color: rgba(190,220,240,0.82);
}

.ip-aia-tl-dot { width: 6px; height: 6px; border-radius: 50%; background: #ff4f4f; flex-shrink: 0; }
.ip-aia-tl-time { color: #4ab8e8; flex-shrink: 0; }
.ip-aia-tl-text { flex: 1; }
.ip-aia-tl-ago { color: rgba(160,200,220,0.55); font-size: 0.42rem; flex-shrink: 0; }

/* ===== EXECUTIVE SIGNALS PANEL ===== */

.ip-detail-panel--es {
  padding: 10px;
  height: 520px;
  flex: none;
  background:
    radial-gradient(circle at 85% 8%, rgba(20, 100, 228, 0.13), transparent 38%),
    linear-gradient(180deg, #050e22 0%, #071127 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 6px;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
}

.ip-detail-panel--es::-webkit-scrollbar { width: 5px; }
.ip-detail-panel--es::-webkit-scrollbar-track { background: transparent; }
.ip-detail-panel--es::-webkit-scrollbar-thumb { background: rgba(76,117,177,0.3); border-radius: 3px; }

.ip-es-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid rgba(69, 112, 173, 0.26);
  border-radius: 8px;
  background: rgba(7, 20, 44, 0.68);
  padding: 8px 10px;
  flex-shrink: 0;
}

.ip-es-title { margin: 0; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; color: #e8fbff; text-transform: uppercase; }
.ip-es-subtitle { margin: 2px 0 0; font-size: 0.48rem; color: #4db0d4; }
.ip-es-head-right { display: flex; align-items: center; gap: 5px; }

.ip-es-kpi-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; flex-shrink: 0; }
.ip-es-kpi-card { display: flex; align-items: center; gap: 6px; background: rgba(7,17,36,0.9); border: 1px solid rgba(76,117,177,0.26); border-radius: 7px; padding: 7px 8px; }
.ip-es-kpi-icon { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0; }
.ip-es-kpi-icon svg { width: 13px; height: 13px; }
.ip-es-kpi-icon--active   { background: rgba(32,160,218,0.18); color: #20a0da; }
.ip-es-kpi-icon--high     { background: rgba(255,60,60,0.18);  color: #ff4040; }
.ip-es-kpi-icon--medium   { background: rgba(212, 175, 55,0.18); color: #D4AF37; }
.ip-es-kpi-icon--resolved { background: rgba(39,211,148,0.18); color: #27d394; }
.ip-es-kpi-icon--notified { background: rgba(120,80,220,0.18); color: #9b6df0; }
.ip-es-kpi-lbl { display: block; font-size: 0.42rem; color: rgba(180,210,240,0.65); text-transform: uppercase; letter-spacing: 0.06em; line-height: 1; margin-bottom: 2px; }
.ip-es-kpi-val { display: block; font-size: 1rem; font-weight: 700; color: #e8f6ff; line-height: 1; }
.ip-es-kpi-delta { display: block; font-size: 0.42rem; line-height: 1; margin-top: 2px; }
.ip-es-kpi-delta--up   { color: #27d394; }
.ip-es-kpi-delta--down { color: #ff4f4f; }
.ip-es-kpi-delta--info { color: rgba(180,210,240,0.5); }

.ip-es-body { display: grid; grid-template-columns: 1fr 0.62fr; gap: 6px; flex: 1; min-height: 0; }
.ip-es-left { display: flex; flex-direction: column; gap: 6px; min-height: 0; }

/* Table section */
.ip-es-table-section { display: flex; flex-direction: column; flex: 1; min-height: 0; border: 1px solid rgba(76,117,177,0.26); border-radius: 7px; background: rgba(7,17,36,0.9); padding: 8px; }
.ip-es-tbl-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; flex-shrink: 0; }
.ip-es-tbl-head h4 { margin: 0; font-size: 0.52rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #c9e6f8; }
.ip-es-tbl-head a { font-size: 0.44rem; color: #20a0da; text-decoration: none; letter-spacing: 0.05em; }
.ip-es-table-wrap { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; }
.ip-es-table-wrap::-webkit-scrollbar { width: 4px; }
.ip-es-table-wrap::-webkit-scrollbar-track { background: transparent; }
.ip-es-table-wrap::-webkit-scrollbar-thumb { background: rgba(76,117,177,0.3); border-radius: 2px; }
.ip-es-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 0.49rem; color: #c5dff0; }
.ip-es-table th { text-align: left; padding: 5px 6px; color: rgba(180,210,240,0.55); font-size: 0.42rem; letter-spacing: 0.07em; text-transform: uppercase; border-bottom: 1px solid rgba(76,117,177,0.2); position: sticky; top: 0; background: rgba(7,17,36,0.98); z-index: 1; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-es-table td { padding: 6px 6px; border-bottom: 1px solid rgba(76,117,177,0.1); vertical-align: middle; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-es-table tbody tr { cursor: pointer; transition: background 0.15s; }
.ip-es-table tbody tr:hover { background: rgba(76,117,177,0.1); }
.ip-es-table tbody tr.ip-es-row--active { background: rgba(76,117,177,0.18); }

.ip-es-pri-high   { display: inline-block; padding: 2px 5px; border-radius: 3px; font-size: 0.41rem; font-weight: 700; letter-spacing: 0.06em; background: rgba(255,60,60,0.15); color: #ff6060; border: 1px solid rgba(255,60,60,0.3); }
.ip-es-pri-medium { display: inline-block; padding: 2px 5px; border-radius: 3px; font-size: 0.41rem; font-weight: 700; letter-spacing: 0.06em; background: rgba(212, 175, 55,0.15); color: #D4AF37; border: 1px solid rgba(212, 175, 55,0.3); }
.ip-es-pri-low    { display: inline-block; padding: 2px 5px; border-radius: 3px; font-size: 0.41rem; font-weight: 700; letter-spacing: 0.06em; background: rgba(39,211,148,0.1); color: #27d394; border: 1px solid rgba(39,211,148,0.25); }
.ip-es-status-active  { display: inline-block; padding: 2px 5px; border-radius: 3px; font-size: 0.41rem; font-weight: 700; letter-spacing: 0.05em; background: rgba(39,211,148,0.12); color: #27d394; border: 1px solid rgba(39,211,148,0.25); }
.ip-es-status-monitor { display: inline-block; padding: 2px 5px; border-radius: 3px; font-size: 0.41rem; font-weight: 700; letter-spacing: 0.05em; background: rgba(212, 175, 55,0.12); color: #D4AF37; border: 1px solid rgba(212, 175, 55,0.25); }
.ip-es-sig-cell-main { display: block; font-weight: 600; color: #d8eeff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-es-sig-cell-sub  { display: block; font-size: 0.41rem; color: rgba(180,210,240,0.5); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Bottom row */
.ip-es-bottom-row { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; height: 195px; flex-shrink: 0; }
.ip-es-map-block  { display: flex; flex-direction: column; border: 1px solid rgba(76,117,177,0.26); border-radius: 7px; background: rgba(7,17,36,0.9); padding: 6px; overflow: hidden; }
.ip-es-routes-block { display: flex; flex-direction: column; border: 1px solid rgba(76,117,177,0.26); border-radius: 7px; background: rgba(7,17,36,0.9); padding: 6px; overflow: hidden; }
.ip-es-block-title { margin: 0 0 4px; font-size: 0.48rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #c9e6f8; flex-shrink: 0; }
.ip-es-map-frame { flex: 1; min-height: 0; border-radius: 5px; overflow: hidden; }
.ip-es-map-legend { display: flex; gap: 8px; padding-top: 4px; flex-shrink: 0; flex-wrap: wrap; }
.ip-es-map-legend span { font-size: 0.39rem; color: rgba(180,210,240,0.55); display: flex; align-items: center; gap: 3px; }
.ip-es-legend-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; }
.ip-es-legend-dot--incident { background: #ff4040; }
.ip-es-legend-line { display: inline-block; width: 14px; height: 2px; vertical-align: middle; }
.ip-es-legend-line--affected { background: #ff6060; }
.ip-es-legend-line--alt { background: #27d394; border-top: 2px dashed #27d394; height: 0; }

.ip-es-routes-list { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 4px; }
.ip-es-routes-list::-webkit-scrollbar { width: 3px; }
.ip-es-routes-list::-webkit-scrollbar-thumb { background: rgba(76,117,177,0.3); border-radius: 2px; }
.ip-es-route-card { border: 1px solid rgba(76,117,177,0.2); border-radius: 5px; padding: 5px 7px; flex-shrink: 0; }
.ip-es-route-name { font-size: 0.48rem; font-weight: 700; color: #d8eeff; display: flex; align-items: center; gap: 5px; margin-bottom: 3px; }
.ip-es-route-tag { font-size: 0.38rem; background: rgba(39,211,148,0.15); color: #27d394; border: 1px solid rgba(39,211,148,0.3); padding: 1px 4px; border-radius: 3px; font-weight: 700; }
.ip-es-route-meta { display: flex; gap: 10px; }
.ip-es-route-meta-item { display: flex; flex-direction: column; }
.ip-es-route-meta-lbl { font-size: 0.37rem; color: rgba(180,210,240,0.5); text-transform: uppercase; letter-spacing: 0.05em; }
.ip-es-route-meta-val { font-size: 0.45rem; font-weight: 700; color: #c5dff0; }
.ip-es-route-status-clear    { font-size: 0.44rem; font-weight: 700; color: #27d394; }
.ip-es-route-status-moderate { font-size: 0.44rem; font-weight: 700; color: #D4AF37; }
.ip-es-route-status-caution  { font-size: 0.44rem; font-weight: 700; color: #ff8c00; }
.ip-es-view-link { font-size: 0.44rem; color: #20a0da; text-decoration: none; margin-top: 4px; flex-shrink: 0; }

/* Right panel */
.ip-es-right { display: flex; flex-direction: column; min-height: 0; border: 1px solid rgba(76,117,177,0.26); border-radius: 7px; background: rgba(7,17,36,0.9); overflow: hidden; }
.ip-es-detail-head { display: flex; align-items: center; justify-content: space-between; padding: 7px 10px; border-bottom: 1px solid rgba(76,117,177,0.2); flex-shrink: 0; }
.ip-es-detail-label { font-size: 0.48rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #c9e6f8; }
.ip-es-pri-badge         { font-size: 0.41rem; font-weight: 700; letter-spacing: 0.06em; padding: 2px 7px; border-radius: 3px; background: rgba(255,60,60,0.15); color: #ff6060; border: 1px solid rgba(255,60,60,0.3); }
.ip-es-pri-badge--medium { background: rgba(212, 175, 55,0.15); color: #D4AF37; border-color: rgba(212, 175, 55,0.3); }
.ip-es-pri-badge--low    { background: rgba(39,211,148,0.1); color: #27d394; border-color: rgba(39,211,148,0.25); }

.ip-es-detail-body { flex: 1; min-height: 0; overflow-y: auto; padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.ip-es-detail-body::-webkit-scrollbar { width: 4px; }
.ip-es-detail-body::-webkit-scrollbar-track { background: transparent; }
.ip-es-detail-body::-webkit-scrollbar-thumb { background: rgba(76,117,177,0.3); border-radius: 2px; }

.ip-es-sig-title { margin: 0; font-size: 0.78rem; font-weight: 700; color: #e8fbff; line-height: 1.2; }
.ip-es-meta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; border: 1px solid rgba(76,117,177,0.18); border-radius: 5px; padding: 7px; background: rgba(4,12,28,0.5); }
.ip-es-meta-row { display: flex; flex-direction: column; gap: 1px; }
.ip-es-meta-lbl { font-size: 0.39rem; color: rgba(180,210,240,0.5); text-transform: uppercase; letter-spacing: 0.06em; }
.ip-es-meta-val { font-size: 0.47rem; color: #c5dff0; font-weight: 500; }
.ip-es-section-title { margin: 0 0 4px; font-size: 0.44rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: rgba(180,210,240,0.65); }
.ip-es-body-text { margin: 0; font-size: 0.47rem; color: rgba(180,210,240,0.75); line-height: 1.5; }

.ip-es-source-conf { display: flex; flex-direction: column; gap: 5px; border: 1px solid rgba(76,117,177,0.18); border-radius: 5px; padding: 7px; background: rgba(4,12,28,0.5); }
.ip-es-source-row { display: flex; align-items: center; gap: 6px; }
.ip-es-source-lbl { font-size: 0.39rem; color: rgba(180,210,240,0.5); text-transform: uppercase; letter-spacing: 0.06em; flex-shrink: 0; width: 68px; }
.ip-es-source-val { font-size: 0.46rem; color: #c5dff0; }
.ip-es-conf-bar-wrap { display: flex; align-items: center; gap: 6px; flex: 1; }
.ip-es-conf-bar { flex: 1; height: 4px; background: rgba(76,117,177,0.2); border-radius: 2px; overflow: hidden; }
.ip-es-conf-fill { height: 100%; background: linear-gradient(90deg, #1a6ed8, #20a0da); border-radius: 2px; }
.ip-es-conf-pct { font-size: 0.47rem; font-weight: 700; color: #20a0da; }

.ip-es-recs-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; }
.ip-es-recs-list li { display: flex; align-items: center; gap: 6px; font-size: 0.47rem; color: #c5dff0; }
.ip-es-rec-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.ip-es-rec-dot--red    { background: #ff4040; }
.ip-es-rec-dot--green  { background: #27d394; }
.ip-es-rec-dot--blue   { background: #20a0da; }
.ip-es-rec-dot--gold { background: var(--gold-gradient); }

.ip-es-dist-section { display: flex; gap: 10px; border: 1px solid rgba(76,117,177,0.18); border-radius: 5px; padding: 8px; background: rgba(4,12,28,0.5); }
.ip-es-dist-left { display: flex; flex-direction: column; flex: 1; gap: 5px; }
.ip-es-dist-donut-wrap { display: flex; align-items: center; gap: 8px; }
.ip-es-dist-donut { width: 60px; height: 60px; flex-shrink: 0; position: relative; display: flex; align-items: center; justify-content: center; }
.ip-es-donut-svg { width: 60px; height: 60px; }
.ip-es-dist-legend { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 3px; }
.ip-es-dist-legend li { display: flex; align-items: center; gap: 4px; font-size: 0.41rem; color: rgba(180,210,240,0.7); list-style: none; }
.ip-es-dist-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.ip-es-dist-dot--notsent   { background: #1a3a5c; border: 1px solid rgba(76,117,177,0.4); }
.ip-es-dist-dot--sent      { background: #1eb8e0; }
.ip-es-dist-dot--delivered { background: #2d5fa6; }
.ip-es-dist-dot--failed    { background: #ff4040; }
.ip-es-dist-right { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-width: 80px; }
.ip-es-recipients-lbl { font-size: 0.39rem; text-transform: uppercase; letter-spacing: 0.07em; color: rgba(180,210,240,0.55); text-align: center; }
.ip-es-recipients-val { font-size: 1.6rem; font-weight: 700; color: #e8f6ff; line-height: 1; }
.ip-es-recipients-btn { font-size: 0.41rem; font-weight: 700; color: #20a0da; background: rgba(32,160,218,0.12); border: 1px solid rgba(32,160,218,0.3); border-radius: 4px; padding: 3px 8px; cursor: pointer; letter-spacing: 0.04em; }

.ip-es-timeline-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 5px; }
.ip-es-timeline-link { font-size: 0.44rem; color: #20a0da; text-decoration: none; }
.ip-es-timeline-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.ip-es-timeline-list li { display: flex; align-items: flex-start; gap: 7px; }
.ip-es-tl-dot { width: 6px; height: 6px; border-radius: 50%; background: #20a0da; border: 1px solid rgba(32,160,218,0.5); flex-shrink: 0; margin-top: 3px; }
.ip-es-tl-time { font-size: 0.43rem; color: #20a0da; font-weight: 700; white-space: nowrap; min-width: 55px; }
.ip-es-tl-text { font-size: 0.44rem; color: rgba(180,210,240,0.75); line-height: 1.3; }

@media (max-width: 1240px) {
  .ip-aia-body { grid-template-columns: 1fr; }
  .ip-aia-kpi-row { grid-template-columns: repeat(2, 1fr); }

  .ip-detail-panel--es {
    height: 500px;
    min-height: 0;
    max-height: 78vh;
    overflow-y: auto;
    overflow-x: hidden;
  }

  .ip-es-kpi-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ip-es-body {
    grid-template-columns: 1fr;
  }

  .ip-es-right {
    min-height: 320px;
  }

  .ip-es-bottom-row {
    height: auto;
    grid-template-columns: 1fr;
  }

  .ip-es-map-block,
  .ip-es-routes-block {
    min-height: 180px;
  }

  .ip-es-table-wrap {
    overflow-x: auto;
  }

  .ip-es-table {
    min-width: 0;
  }

  .ip-wd-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ip-wd-map-block {
    grid-template-columns: 1fr;
  }

  .ip-wd-bottom-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .ip-detail-panel--es {
    min-height: 0;
    max-height: 72vh;
    height: 72vh;
    padding: 8px;
    gap: 5px;
    overflow-y: auto;
    overflow-x: hidden;
  }

  .ip-es-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 7px 8px;
  }

  .ip-es-head-right {
    width: 100%;
    flex-wrap: wrap;
    gap: 4px;
  }

  .ip-es-kpi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ip-es-kpi-card {
    padding: 6px 7px;
  }

  .ip-es-table {
    min-width: 0;
    table-layout: auto;
  }

  .ip-es-table th,
  .ip-es-table td {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    vertical-align: top;
  }

  .ip-es-sig-cell-main,
  .ip-es-sig-cell-sub {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }

  .ip-es-meta-grid {
    grid-template-columns: 1fr;
  }

  .ip-es-dist-section {
    flex-direction: column;
    align-items: stretch;
  }

  .ip-es-dist-right {
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .ip-detail-panel--es {
    max-height: 68vh;
    height: 68vh;
    overflow-y: auto;
    overflow-x: hidden;
  }

  .ip-es-title {
    font-size: 0.52rem;
  }

  .ip-es-subtitle {
    font-size: 0.42rem;
  }

  .ip-es-kpi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ip-es-kpi-icon {
    width: 24px;
    height: 24px;
  }

  .ip-es-kpi-val {
    font-size: 0.86rem;
  }

  .ip-es-table-wrap {
    max-height: 148px;
    overflow-y: auto;
    flex: none;
  }

  .ip-es-table {
    min-width: 0;
    font-size: 0.46rem;
  }

  .ip-es-table th,
  .ip-es-table td {
    padding: 5px;
  }

  .ip-es-map-block,
  .ip-es-routes-block,
  .ip-es-right {
    min-height: 160px;
  }

  .ip-es-detail-body {
    padding: 8px;
  }

  .ip-es-timeline-list li {
    gap: 5px;
  }

  .ip-es-tbl-head {
    align-items: flex-start;
    gap: 4px;
  }

  .ip-es-tbl-head a {
    align-self: flex-end;
  }
}

@media (max-width: 420px) {
  .ip-detail-panel--es {
    padding: 7px;
    gap: 4px;
    max-height: 64vh;
    height: 64vh;
    overflow-y: auto;
    overflow-x: hidden;
  }

  .ip-es-kpi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ip-es-table-wrap {
    max-height: 136px;
    overflow-y: auto;
    flex: none;
  }

  .ip-es-head {
    padding: 6px 7px;
  }

  .ip-es-head-right .ip-wd-chip {
    font-size: 0.4rem;
    padding: 2px 5px;
  }

  .ip-es-table {
    min-width: 0;
  }

  .ip-es-tbl-head h4 {
    font-size: 0.48rem;
  }

  .ip-es-tbl-head a,
  .ip-es-view-link,
  .ip-es-timeline-link {
    font-size: 0.4rem;
  }

  .ip-es-detail-body {
    padding: 7px;
    gap: 7px;
  }

  .ip-es-sig-title {
    font-size: 0.68rem;
  }

  .ip-es-body-text,
  .ip-es-recs-list li,
  .ip-es-meta-val {
    font-size: 0.44rem;
  }
}

.ip-caps {
  margin: 16px 0;
}

.ip-cap {
  padding: 12px 14px;
}

.ip-dash-body {
  padding: 14px;
  gap: 9px;
}

.ip-insight {
  padding: 18px;
}

.ip-insight-title {
  font-size: clamp(1.02rem, 1.35vw, 1.18rem);
  line-height: 1.3;
  margin-bottom: 12px;
}

.ip-insight-body {
  margin: 0 0 12px;
}

.ip-product-visual {
  min-height: 110px;
  margin: 14px 0;
}

.ip-insight-list {
  gap: 6px;
}

.ip-insight-cta {
  margin-top: 14px;
}

/* Risk map compactness and alignment */
.platform-workspace-top {
  margin-bottom: 16px;
}

.risk-main {
  grid-template-columns: 1fr 334px;
}

.risk-map-area,
.risk-map-surface,
.risk-feed {
  height: 500px;
}

.risk-feed-scroll {
  padding-bottom: 12px;
}

.risk-dashboard {
  margin-bottom: 0;
}

.platform-ecosystem,
.ip-strip {
  display: none !important;
}

/* How We Operate compact + aligned */
.risk-management-process-section .section-header {
  margin-bottom: 26px;
}

.risk-process-flow {
  gap: 10px;
  align-items: stretch;
}

.risk-step-card {
  min-height: 196px;
  height: 100%;
  padding: 16px 12px 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}

.risk-step-icon {
  width: clamp(74px, 6vw, 104px);
  height: clamp(74px, 6vw, 104px);
  margin-bottom: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
  color: inherit;
}

.risk-step-icon::after {
  content: none;
}

.risk-step-card:hover .risk-step-icon,
.risk-step-card.is-active .risk-step-icon {
  transform: none;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

.process-step-label {
  margin: 0;
  font-size: 0.78rem;
}

.risk-step-card p {
  font-size: 0.73rem;
  line-height: 1.42;
}

/* Why Securide24 clarity and realism */
.why-securide-premium-header {
  margin-bottom: clamp(28px, 3.5vw, 40px);
}

.why-securide-premium-card {
  background: linear-gradient(155deg, rgba(10, 24, 46, 0.9) 0%, rgba(8, 20, 40, 0.82) 100%);
  border-color: rgba(116, 154, 198, 0.22);
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05), inset 0 0 50px rgba(111, 159, 207, 0.08);
}

.why-securide-premium-card-title {
  color: rgba(250, 252, 255, 0.98);
}

.why-securide-premium-card-desc {
  color: rgba(225, 235, 247, 0.82);
}

.why-securide-premium-card-icon {
  color: #d8a936;
}

.why-securide-premium-card:hover {
  border-color: rgba(212, 175, 55, 0.52);
  box-shadow: 0 28px 72px rgba(0, 0, 0, 0.42), inset 0 0 56px rgba(212, 175, 55, 0.10);
}

/* Governance dashboard-like treatment */
.governance-premium-header {
  margin-bottom: clamp(28px, 3.5vw, 40px);
}

.governance-premium-grid-layout {
  gap: clamp(24px, 3vw, 36px);
  margin-bottom: clamp(26px, 3vw, 36px);
}

.governance-premium-right {
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  gap: 16px;
}

.governance-premium-compliance {
  position: relative;
  overflow: hidden;
}

.governance-premium-compliance::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(212, 175, 55, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212, 175, 55, 0.06) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.32;
  pointer-events: none;
}

.governance-premium-compliance > * {
  position: relative;
  z-index: 1;
}

.governance-premium-cert-card {
  background: rgba(8, 20, 40, 0.76);
  border: 1px solid rgba(116, 154, 198, 0.22);
}

.governance-premium-cert-card:hover {
  background: rgba(11, 26, 50, 0.88);
  border-color: rgba(212, 175, 55, 0.48);
}

.governance-premium-cert-icon {
  color: #d8a936;
}

.governance-premium-cert-code {
  color: #f8fbff;
}

.governance-premium-cert-label {
  color: rgba(226, 236, 248, 0.76);
}

.governance-premium-badge {
  justify-content: flex-start;
  padding: 16px 18px;
}

.governance-premium-footer {
  padding: 22px 24px;
}

/* Case Studies polish */
.case-studies-section {
  padding-top: clamp(62px, 5.5vw, 80px);
  padding-bottom: clamp(60px, 5.3vw, 76px);
}

.case-studies-grid {
  align-items: stretch;
  gap: clamp(16px, 2vw, 24px);
}

.case-card {
  min-height: 340px;
  height: 100%;
  overflow: hidden;
}

.case-card img {
  transition: transform 320ms ease, filter 320ms ease;
}

.case-card:hover img {
  transform: scale(1.04);
  filter: saturate(1.04) contrast(1.04);
}

.case-card-overlay {
  background: linear-gradient(180deg, rgba(2, 7, 19, 0.24) 12%, rgba(2, 7, 19, 0.84) 100%);
}

.case-card-content {
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.7);
}

.case-card-content p {
  color: rgba(232, 239, 248, 0.88);
}

/* Responsive pass */
@media (max-width: 1200px) {
  .li-grid {
    grid-template-columns: 1fr 1.08fr 0.92fr;
  }
}

@media (max-width: 1024px) {
  .li-section,
  .operational-reach-section-premium,
  .ip-section,
  .platform-workspace-section,
  .risk-management-process-section,
  .why-securide-section-premium,
  .governance-assurance-section-premium,
  .case-studies-section {
    padding-top: var(--s24-space-tablet);
    padding-bottom: var(--s24-space-tablet);
  }

  .li-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }

  .li-slide-highlight {
    max-width: 56%;
  }

  .li-right-col {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  #liSecondaryStack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .risk-main {
    grid-template-columns: 1fr;
  }

  .risk-map-area,
  .risk-map-surface {
    height: 430px;
  }

  .risk-feed {
    height: 320px;
  }

  .risk-step-card {
    min-height: 188px;
  }

}

@media (max-width: 768px) {
  .li-section,
  .operational-reach-section-premium,
  .ip-section,
  .platform-workspace-section,
  .risk-management-process-section,
  .why-securide-section-premium,
  .governance-assurance-section-premium,
  .case-studies-section {
    padding-top: var(--s24-space-mobile);
    padding-bottom: var(--s24-space-mobile);
  }

  .li-toprow {
    margin-bottom: 12px;
  }

  .li-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .li-slideshow-card,
  .li-critical-card {
    min-height: unset;
  }

  .li-slideshow-card {
    min-height: 520px;
  }

  .li-slides-container {
    min-height: 430px;
  }

  .li-critical-card {
    padding: 18px;
  }

  .li-critical-title {
    font-size: clamp(1.16rem, 5vw, 1.34rem);
  }

  .li-slide-overlay {
    padding: 42px 14px 14px;
  }

  .li-slide-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
  }

  .li-slide-highlight {
    max-width: 100%;
  }

  .li-right-col {
    grid-column: auto;
    grid-template-columns: 1fr;
    display: flex;
  }

  .ip-section {
    padding-top: var(--s24-space-mobile);
    padding-bottom: var(--s24-space-mobile);
  }

  .ip-grid {
    gap: 16px;
  }

  .ip-caps {
    margin: 14px 0;
  }

  .risk-map-area,
  .risk-map-surface {
    height: 336px;
  }

  .risk-feed {
    height: 270px;
  }

  .risk-process-flow {
    position: relative;
    gap: 10px;
  }

  .risk-process-flow::before {
    content: '';
    position: absolute;
    left: 17px;
    top: 8px;
    bottom: 8px;
    width: 1px;
    background: linear-gradient(180deg, rgba(212, 175, 55, 0.65), rgba(111, 159, 207, 0.32));
  }

  .risk-step-card {
    min-height: unset;
    padding: 14px 14px 14px 44px;
    align-items: flex-start;
    text-align: left;
    gap: 8px;
  }

  .risk-step-icon {
    width: 44px;
    height: 44px;
    margin-left: -36px;
  }

  .risk-step-number {
    right: 10px;
    top: 10px;
  }

  .process-step-label,
  .risk-step-card p {
    text-align: left;
  }

  .governance-premium-grid-layout {
    gap: 18px;
  }

  .governance-premium-footer {
    padding: 18px;
  }

  .case-card {
    min-height: 300px;
  }

}

/* ============================================================
   Mobile Homepage Hardening Pass (Apr 2026)
   ============================================================ */
@media (max-width: 768px) {
  html,
  body {
    overflow-x: hidden;
  }

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

  main,
  .site-footer,
  .site-header {
    width: 100%;
    max-width: 100%;
  }

  .li-section .container,
  .home-solutions-showcase .container,
  .operational-reach-section-premium .container,
  .ip-section .container,
  .platform-workspace-section .container,
  .risk-management-process-section .container,
  .why-securide-section-premium .container,
  .governance-assurance-section-premium .container,
  .case-studies-section .container,
  .home-cta-band .container,
  .site-footer .container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .li-section,
  .home-solutions-showcase,
  .operational-reach-section-premium,
  .ip-section,
  .why-securide-section-premium,
  .governance-assurance-section-premium,
  .case-studies-section {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .platform-workspace-section,
  .risk-management-process-section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .btn,
  .action-btn,
  .li-read-signal,
  .ip-insight-cta,
  .risk-map-tab,
  .wrm-rp-cta,
  .wrm-popup-cta {
    min-height: 44px;
  }

  .site-header .header-inner {
    min-height: 72px;
    padding: 8px 12px;
    gap: 8px;
  }

  .logo img {
    height: 72px;
    max-width: 100%;
  }

  .header-actions {
    gap: 6px;
    align-items: center;
  }

  .action-btn {
    min-width: 44px;
    padding: 10px;
  }

  .btn-contact {
    min-width: auto;
    padding: 0 14px;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
  }

  .hero-section {
    height: 76svh;
    min-height: 500px;
    max-height: 660px;
  }

  .hero-slider-arrow {
    font-size: 34px;
  }

  .li-card,
  .li-slideshow-card,
  .li-critical-card,
  .li-status-card,
  .li-secondary-card,
  .opreach-premium-card,
  .ip-dash,
  .ip-insight,
  .risk-dashboard,
  .risk-step-card,
  .why-securide-premium-card,
  .governance-premium-statement,
  .governance-premium-checklist,
  .governance-premium-compliance,
  .governance-premium-cert-card,
  .case-card,
  .home-solution-card {
    border-radius: 18px;
  }

  .li-ticker-bar {
    margin-bottom: 12px;
    padding: 8px 10px;
  }

  .li-slides-container {
    min-height: 240px;
  }

  .li-critical-card,
  .li-status-card,
  .li-secondary-card {
    padding: 16px;
  }

  .li-secondary-card {
    min-height: 88px;
  }

  #liSecondaryStack {
    display: grid;
    gap: 10px;
  }

  .li-read-signal {
    width: fit-content;
  }

  .home-solutions-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .home-solution-card {
    min-height: 300px;
  }

  .home-solution-content {
    padding: 16px;
  }

  .home-solution-content h3 {
    left: 16px;
    right: 16px;
    font-size: clamp(1.22rem, 5.4vw, 1.6rem);
  }

  .home-solution-content p {
    left: 16px;
    right: 16px;
    bottom: 18px;
    font-size: 0.92rem;
  }

  .opreach-premium-header {
    margin-bottom: 14px;
  }

  .opreach-premium-cards {
    gap: 12px;
  }

  .opreach-premium-card {
    min-height: unset;
    padding: 18px 16px;
  }

  .opreach-premium-card-icon {
    width: 50px;
    height: 50px;
    margin-bottom: 10px;
  }

  .ip-grid {
    gap: 12px;
  }

  .ip-caps {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .ip-caps.ip-caps--detail {
    display: block;
    gap: 0;
  }

  .ip-caps.ip-caps--detail .ip-cap-product {
    display: none;
  }

  .ip-caps.ip-caps--detail .ip-mobile-detail {
    display: block;
    padding: 16px;
  }

  .ip-cap {
    padding: 14px;
  }

  .ip-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .ip-actions .btn,
  .ip-insight-cta {
    width: 100%;
  }

  .ip-status-row {
    align-items: flex-start;
    gap: 8px;
    flex-wrap: wrap;
  }

  .ip-live {
    align-self: flex-start;
  }

  .ip-product-content {
    display: none;
  }

  .ip-dash,
  .ip-insight {
    padding: 16px;
  }

  .platform-workspace-top {
    margin-bottom: 14px;
    gap: 12px;
  }

  .risk-filter-bar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    width: 100%;
    padding: 10px 12px;
  }

  .risk-filter-bar::-webkit-scrollbar {
    display: none;
  }

  .risk-map-tab {
    flex: 0 0 auto;
    min-height: 44px;
    padding: 10px 14px;
  }

  .risk-main {
    grid-template-columns: 1fr;
  }

  .risk-map-area,
  .risk-map-surface {
    height: 300px;
  }

  .risk-feed {
    min-height: 240px;
    height: auto;
  }

  .risk-feed-scroll {
    padding: 14px;
    max-height: 260px;
    overflow: auto;
  }

  .telemetry-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .telemetry-cell {
    padding: 12px;
  }

  .wrm-risk-popup {
    width: min(92vw, 314px) !important;
    max-width: 92vw !important;
    left: 50% !important;
    transform: translateX(-50%);
  }

  .wrm-risk-popup-inner {
    padding: 14px;
  }

  .wrm-rp-close,
  .wrm-popup-close {
    top: 8px;
    right: 8px;
    width: 26px;
    height: 26px;
  }

  .wrm-popup {
    min-width: 0;
    max-width: 92vw;
    padding: 16px;
  }

  .wrm-rp-cta,
  .wrm-popup-cta {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .risk-process-flow {
    gap: 8px;
  }

  .risk-step-card {
    min-height: 146px;
    padding: 12px 12px 12px 42px;
    gap: 7px;
  }

  .risk-step-icon {
    width: 58px;
    height: 58px;
    margin-left: 0;
  }

  .risk-step-number {
    font-size: 0.56rem;
  }

  .why-securide-premium-cards {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .why-securide-premium-card {
    min-height: unset;
    padding: 18px;
  }

  .why-securide-premium-card-desc {
    color: rgba(233, 241, 250, 0.82);
  }

  .governance-premium-grid-layout {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .governance-premium-left,
  .governance-premium-right {
    gap: 12px;
  }

  .governance-premium-statement,
  .governance-premium-checklist,
  .governance-premium-compliance,
  .governance-premium-footer {
    padding: 18px;
  }

  .governance-premium-cert-cards {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .case-studies-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .case-card {
    min-height: 280px;
  }

  .case-studies-section .section-cta .btn {
    width: min(80%, 320px);
    min-width: 0;
  }

  .site-footer {
    padding: 40px 0 22px;
    margin-top: 0;
  }

  .site-footer .footer-content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 0 0 18px;
  }

  .site-footer .footer-col {
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .site-footer .footer-col:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }

  .site-footer h4 {
    margin-bottom: 10px;
    font-size: clamp(1.08rem, 4.8vw, 1.26rem);
  }

  .site-footer ul li {
    margin-bottom: 7px;
  }

  .site-footer a {
    font-size: 0.94rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .site-footer .social-links {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .footer-bottom {
    padding-top: 14px;
    text-align: center;
    justify-content: center;
    align-items: center;
  }

  .footer-bottom p {
    text-align: center;
    width: 100%;
  }
}

main.hero-page h2 {
  text-align: center;
  text-transform: uppercase;
}

main.hero-page .li-toprow,
main.hero-page .home-solutions-head,
main.hero-page .opreach-premium-header,
main.hero-page .ip-full-head,
main.hero-page .risk-management-process-section .section-header,
main.hero-page .why-securide-premium-header,
main.hero-page .governance-premium-header,
main.hero-page .case-studies-section .section-header {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

main.hero-page .home-solutions-head {
  max-width: 820px;
}

main.hero-page .li-toprow {
  grid-template-columns: 1fr;
  gap: 16px;
  max-width: 900px;
}

main.hero-page .li-subtitle {
  max-width: 760px;
  margin: 0 auto;
  padding-top: 0;
  text-align: center;
}

main.hero-page .platform-workspace-top {
  flex-direction: column;
  align-items: center;
  text-align: center;
}

main.hero-page .platform-workspace-heading {
  flex: none;
  width: 100%;
}

main.hero-page .platform-workspace-title {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  text-transform: uppercase;
}

main.hero-page .risk-filter-bar {
  justify-content: center;
}

@media (max-width: 780px) {
  main.hero-page .risk-filter-bar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    overflow: visible;
    padding-bottom: 0;
  }

  main.hero-page .risk-filter-group {
    min-width: 0;
    width: 100%;
  }

  main.hero-page .risk-filter-select {
    width: 100%;
    min-width: 0;
  }
}

/* Migrated from legacy pages.css home/shared sections */
.risk-assurance-title {
  color: #000 !important;
}
/* Solutions Section Background - Only solutions-bg.webp */
.home-solutions-showcase {
  background-image: url("../../assets/images/solutions-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  position: relative;
  z-index: 1;
}
/* Updated colors and accent line for Our Advantages */
.advantages-section {
  position: relative;
  background-image:
    radial-gradient(circle at 14% 12%, rgba(187, 255, 249, 0.55), transparent 42%),
    radial-gradient(circle at 68% 34%, rgba(130, 208, 255, 0.30), transparent 40%),
    linear-gradient(135deg, rgba(5, 57, 88, 0.70), rgba(7, 26, 45, 0.88)),
    url("../../assets/images/our-advantages-bg.webp");
  background-size: auto, auto, auto, cover;
  background-position: left top, right 20% top 30%, center, center;
  background-repeat: no-repeat;
  padding: 56px 0 40px;
  overflow: hidden;
}

.advantages-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 58% 28%, rgba(198, 244, 255, 0.28), transparent 34%);
  opacity: 0.45;
  pointer-events: none;
}

.advantages-section .container {
  position: relative;
  z-index: 1;
}

.advantages-title {
  text-align: center;
  font-size: 2.1rem;
  font-weight: 700;
  color: #f4fbff;
  margin-bottom: 8px;
  text-shadow: 0 2px 14px rgba(157, 232, 255, 0.30);
}

.advantages-accent {
  display: none;
}

.advantages-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 32px;
}

.advantage-item {
  background: linear-gradient(145deg, rgba(6, 34, 72, 0.74), rgba(10, 52, 104, 0.52));
  color: #f7fcff;
  border-radius: 18px;
  box-shadow:
    inset 0 0 0 1px rgba(173, 214, 255, 0.12),
    0 12px 30px rgba(1, 14, 36, 0.42);
  border: 1.5px solid rgba(110, 170, 255, 0.28);
  padding: 32px 28px;
  min-height: 260px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  cursor: pointer;
}

.advantage-item:hover {
  transform: translateY(-4px);
  box-shadow:
    inset 0 0 0 1px rgba(190, 224, 255, 0.14),
    0 10px 26px rgba(1, 14, 36, 0.46);
  border-color: rgba(110, 170, 255, 0.42);
}

.advantage-item:active {
  transform: translateY(-1px);
}

.advantage-title,
.advantage-desc {
  color: #f7fcff;
}

.advantage-icon svg [stroke="#F4E29A"] {
  stroke: #ffffff !important;
}

.advantage-icon svg [fill="#F4E29A"] {
  fill: #ffffff !important;
}

@media (max-width: 700px) {
  .advantages-section {
    padding: 36px 0 24px;
  }

  .advantages-title {
    font-size: 1.5rem;
  }

  .advantages-list {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .advantage-item {
    padding: 18px 12px;
    min-height: 180px;
  }

  .advantage-item h3 {
    font-size: 1.08rem;
  }

  .advantage-item p {
    font-size: 0.98rem;
  }
}
.why-securide-bg {
  background: #3C4142;
  color: #fff;
}

.why-securide-bg .risk-assurance-header .risk-assurance-title {
  color: #fff !important;
}

.risk-assurance-header .risk-assurance-title {
  color: #111111;
  font-size: 2.8rem;
  font-weight: 800;
}

.risk-assurance-section {
  font-size: 1.18rem;
}

.approach-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  margin-top: 32px;
}
@media (max-width: 1200px) {
  .approach-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .approach-cards {
    grid-template-columns: 1fr;
  }
}

.approach-card-item {
  background: linear-gradient(145deg, rgba(6, 34, 72, 0.72), rgba(10, 52, 104, 0.48));
  color: #fff;
  border: 1px solid rgba(110, 170, 255, 0.28);
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(1, 14, 36, 0.42);
  padding: 32px 24px;
  flex: 1;
}

@media (max-width: 700px) {
  .approach-card-item {
    background: linear-gradient(145deg, rgba(6, 34, 72, 0.74), rgba(9, 46, 92, 0.56));
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(1, 14, 36, 0.46);
    border: 1.5px solid rgba(110, 170, 255, 0.28);
    padding: 18px 12px;
    min-height: 180px;
    transition: box-shadow 0.2s, border-color 0.2s, background 0.2s;
    cursor: pointer;
  }
  .approach-card-item .card-title {
    font-size: 1.08rem;
  }
  .approach-card-item .card-description {
    font-size: 0.98rem;
  }
}

.approach-card-item .card-title {
  color: #fff;
  font-weight: 600;
  font-size: 1.35rem;
  margin-bottom: 16px;
}

.approach-card-item .card-description {
  color: #fff;
  font-size: 1.12rem;
}

:is(
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-capsule,
  .alert-cta,
  .signal-cta,
  .exec-brief-cta,
  .btn-learn-more,
  .btn-tagline-cta,
  .btn-travel-cta,
  .opreach-main-cta,
  .opreach-engagement-cta,
  .wrm-tip-cta,
  .wrm-rp-cta,
  .wrm-popup-cta,
  .ip-btn-primary,
  .ip-btn-secondary,
  .ip-insight-cta,
  .case-studies-section .section-cta .btn
) {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 24px;
  border: 1px solid rgba(244, 226, 154, 0.72);
  border-radius: 999px;
  background: var(--gold-gradient);
  color: #050505;
  box-shadow: 0 4px 20px rgba(212, 175, 55, 0.22), inset 0 1px 0 rgba(244, 226, 154, 0.5);
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, background 0.35s ease, color 0.35s ease;
}

:is(
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-capsule,
  .alert-cta,
  .signal-cta,
  .exec-brief-cta,
  .btn-learn-more,
  .btn-tagline-cta,
  .btn-travel-cta,
  .opreach-main-cta,
  .opreach-engagement-cta,
  .wrm-tip-cta,
  .wrm-rp-cta,
  .wrm-popup-cta,
  .ip-btn-primary,
  .ip-btn-secondary,
  .ip-insight-cta,
  .case-studies-section .section-cta .btn
)::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.45) 42%, transparent 72%);
  transform: translate(-50%, -50%);
  transition: width 0.6s ease, height 0.6s ease;
  pointer-events: none;
}

:is(
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-capsule,
  .alert-cta,
  .signal-cta,
  .exec-brief-cta,
  .btn-learn-more,
  .btn-tagline-cta,
  .btn-travel-cta,
  .opreach-main-cta,
  .opreach-engagement-cta,
  .wrm-tip-cta,
  .wrm-rp-cta,
  .wrm-popup-cta,
  .ip-btn-primary,
  .ip-btn-secondary,
  .ip-insight-cta,
  .case-studies-section .section-cta .btn
):hover,
:is(
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-capsule,
  .alert-cta,
  .signal-cta,
  .exec-brief-cta,
  .btn-learn-more,
  .btn-tagline-cta,
  .btn-travel-cta,
  .opreach-main-cta,
  .opreach-engagement-cta,
  .wrm-tip-cta,
  .wrm-rp-cta,
  .wrm-popup-cta,
  .ip-btn-primary,
  .ip-btn-secondary,
  .ip-insight-cta,
  .case-studies-section .section-cta .btn
):focus-visible {
  border-color: var(--color-primary-light);
  background: var(--gold-gradient-hover);
  color: #050505;
  transform: translateY(-3px) scale(1.015);
  box-shadow: var(--gold-glow-strong), inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

:is(
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-capsule,
  .alert-cta,
  .signal-cta,
  .exec-brief-cta,
  .btn-learn-more,
  .btn-tagline-cta,
  .btn-travel-cta,
  .opreach-main-cta,
  .opreach-engagement-cta,
  .wrm-tip-cta,
  .wrm-rp-cta,
  .wrm-popup-cta,
  .ip-btn-primary,
  .ip-btn-secondary,
  .ip-insight-cta,
  .case-studies-section .section-cta .btn
):hover::before,
:is(
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-capsule,
  .alert-cta,
  .signal-cta,
  .exec-brief-cta,
  .btn-learn-more,
  .btn-tagline-cta,
  .btn-travel-cta,
  .opreach-main-cta,
  .opreach-engagement-cta,
  .wrm-tip-cta,
  .wrm-rp-cta,
  .wrm-popup-cta,
  .ip-btn-primary,
  .ip-btn-secondary,
  .ip-insight-cta,
  .case-studies-section .section-cta .btn
):focus-visible::before {
  width: 300px;
  height: 300px;
}

.home-cta-band .cta-actions .btn {
  display: inline-block !important;
  padding: 14px 32px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: auto !important;
  font-size: var(--font-size-base) !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
}

@media (min-width: 769px) {
  .risk-management-process-section::after {
    content: none !important;
    display: none !important;
  }

  .risk-management-process-section .risk-process-flow {
    --risk-desktop-gap: 12px;
    --risk-card-size: clamp(92px, 10vw, 136px);
    --risk-card-half: clamp(46px, 5vw, 68px);
    --risk-connector-size: 29px;
    --risk-row-gap: 58px;
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(5, var(--risk-card-size)) !important;
    grid-template-rows: repeat(2, var(--risk-card-size)) !important;
    column-gap: var(--risk-desktop-gap) !important;
    row-gap: var(--risk-row-gap) !important;
    align-items: center !important;
    justify-items: center !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    min-height: calc(var(--risk-card-size) + var(--risk-card-size) + var(--risk-row-gap)) !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .risk-management-process-section .risk-process-flow::before {
    content: '' !important;
    position: absolute !important;
    top: calc(var(--risk-card-size) + var(--risk-connector-size)) !important;
    left: var(--risk-card-half) !important;
    right: var(--risk-card-half) !important;
    width: auto !important;
    height: 2px !important;
    background: linear-gradient(90deg, rgba(212, 175, 55, 0), rgba(244, 226, 154, 0.9), rgba(212, 175, 55, 0.78), rgba(244, 226, 154, 0.9), rgba(212, 175, 55, 0)) !important;
    border-radius: 999px !important;
    box-shadow: 0 0 16px rgba(212, 175, 55, 0.34) !important;
    transform: none !important;
    z-index: 1 !important;
  }

  .risk-management-process-section .risk-step-card {
    position: relative !important;
    width: var(--risk-card-size) !important;
    height: var(--risk-card-size) !important;
    aspect-ratio: auto !important;
    min-height: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 16px 10px !important;
    margin: 0 !important;
    justify-self: center !important;
    z-index: 2 !important;
    overflow: visible !important;
  }

  .risk-management-process-section .risk-step-card:hover,
  .risk-management-process-section .risk-step-card.is-active {
    transform: none !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin-top: 0 !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(2) {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin-top: 0 !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(3) {
    grid-column: 3 !important;
    grid-row: 1 !important;
    margin-top: 0 !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(4) {
    grid-column: 4 !important;
    grid-row: 2 !important;
    margin-top: 0 !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(5) {
    grid-column: 5 !important;
    grid-row: 1 !important;
    margin-top: 0 !important;
  }

  .risk-management-process-section .risk-step-card::before {
    content: '' !important;
    position: absolute !important;
    left: 50% !important;
    width: 2px !important;
    height: var(--risk-connector-size) !important;
    background: linear-gradient(180deg, rgba(244, 226, 154, 0.95), rgba(212, 175, 55, 0.72)) !important;
    border-radius: 999px !important;
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.3) !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
    z-index: 3 !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(odd)::before {
    top: auto !important;
    bottom: calc(var(--risk-connector-size) * -1) !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(even)::before {
    top: calc(var(--risk-connector-size) * -1) !important;
    bottom: auto !important;
    background: linear-gradient(180deg, rgba(212, 175, 55, 0.72), rgba(244, 226, 154, 0.95)) !important;
  }

  .risk-management-process-section .risk-step-card::after {
    content: none !important;
  }

  .risk-management-process-section .process-flow-arrow {
    display: none !important;
  }
}

.risk-management-process-section .risk-flow-electron {
  position: absolute;
  left: 0;
  top: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--risk-electron-core, #fff8c7);
  box-shadow:
    0 0 8px var(--risk-electron-core-glow, rgba(255, 248, 199, 0.95)),
    0 0 18px var(--risk-electron-glow, rgba(212, 175, 55, 0.82)),
    0 0 30px var(--risk-electron-outer-glow, rgba(212, 175, 55, 0.42));
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 4;
}

.risk-management-process-section .risk-flow-electron.is-red {
  --risk-electron-core: #ff3b30;
  --risk-electron-core-glow: rgba(255, 129, 122, 0.95);
  --risk-electron-glow: rgba(255, 59, 48, 0.86);
  --risk-electron-outer-glow: rgba(255, 59, 48, 0.42);
}

.risk-management-process-section .risk-flow-electron.is-orange {
  --risk-electron-core: #ff9500;
  --risk-electron-core-glow: rgba(255, 204, 128, 0.96);
  --risk-electron-glow: rgba(255, 149, 0, 0.86);
  --risk-electron-outer-glow: rgba(255, 149, 0, 0.42);
}

.risk-management-process-section .risk-flow-electron.is-yellow {
  --risk-electron-core: #ffd60a;
  --risk-electron-core-glow: rgba(255, 240, 145, 0.96);
  --risk-electron-glow: rgba(255, 214, 10, 0.86);
  --risk-electron-outer-glow: rgba(255, 214, 10, 0.42);
}

.risk-management-process-section .risk-flow-electron.is-green {
  --risk-electron-core: #32d74b;
  --risk-electron-core-glow: rgba(156, 255, 172, 0.96);
  --risk-electron-glow: rgba(50, 215, 75, 0.86);
  --risk-electron-outer-glow: rgba(50, 215, 75, 0.42);
}

.risk-management-process-section .risk-flow-electron.is-blue {
  --risk-electron-core: #2997ff;
  --risk-electron-core-glow: rgba(129, 200, 255, 0.96);
  --risk-electron-glow: rgba(41, 151, 255, 0.86);
  --risk-electron-outer-glow: rgba(41, 151, 255, 0.42);
}

.risk-management-process-section .risk-flow-electron.is-indigo {
  --risk-electron-core: #5856d6;
  --risk-electron-core-glow: rgba(164, 163, 255, 0.96);
  --risk-electron-glow: rgba(88, 86, 214, 0.86);
  --risk-electron-outer-glow: rgba(88, 86, 214, 0.42);
}

.risk-management-process-section .risk-flow-electron.is-violet {
  --risk-electron-core: #bf5af2;
  --risk-electron-core-glow: rgba(223, 169, 255, 0.96);
  --risk-electron-glow: rgba(191, 90, 242, 0.86);
  --risk-electron-outer-glow: rgba(191, 90, 242, 0.42);
}

.why-securide-section-premium {
  background:
    radial-gradient(circle at 12% 12%, rgba(212, 175, 55, 0.12), transparent 30%),
    radial-gradient(circle at 88% 72%, rgba(76, 201, 240, 0.1), transparent 34%),
    linear-gradient(180deg, #040a16 0%, #081427 52%, #050a14 100%);
}

.why-securide-section-premium .container {
  position: relative;
  z-index: 1;
}

.why-securide-premium-cards {
  position: relative;
}

.why-securide-premium-cards::before {
  content: '';
  position: absolute;
  left: 8%;
  right: 8%;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(244, 226, 154, 0.46), rgba(76, 201, 240, 0.24), transparent);
  z-index: 0;
}

.why-securide-card-wrapper {
  position: relative;
  z-index: 1;
}

.why-securide-premium-card {
  position: relative;
  overflow: hidden;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: clamp(22px, 2.8vw, 32px);
  background:
    radial-gradient(circle at 18% 16%, rgba(244, 226, 154, 0.16), transparent 28%),
    linear-gradient(155deg, rgba(9, 22, 42, 0.96), rgba(5, 15, 31, 0.9));
  border-color: rgba(244, 226, 154, 0.24);
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.why-securide-premium-card:hover {
  transform: translateY(-6px);
  border-color: rgba(244, 226, 154, 0.48);
  background:
    radial-gradient(circle at 18% 16%, rgba(244, 226, 154, 0.22), transparent 30%),
    linear-gradient(155deg, rgba(11, 27, 51, 0.98), rgba(6, 17, 35, 0.94));
}

.why-securide-premium-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 26px 26px;
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.78), transparent 72%);
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.78), transparent 72%);
  pointer-events: none;
}

.why-securide-premium-card::before {
  content: none !important;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 128px;
  height: 128px;
  border: 1px solid rgba(244, 226, 154, 0.18);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.14), transparent 68%);
  box-shadow: 0 0 48px rgba(212, 175, 55, 0.1);
  pointer-events: none;
  z-index: 1;
  opacity: 1;
  transform: translate(-50%, -50%);
}

.why-securide-card-number {
  display: none !important;
  position: relative;
  z-index: 1;
}

.why-securide-premium-card:hover .why-securide-card-number {
  transform: none;
}

.why-securide-premium-card-icon {
  position: relative;
  z-index: 1;
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  margin: 0 auto clamp(22px, 3vw, 34px);
  border-radius: 14px;
  color: rgba(216, 169, 54, 0.92);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.05), rgba(212, 175, 55, 0.08)),
    rgba(8, 18, 34, 0.88);
  border: 1px solid rgba(244, 226, 154, 0.3);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 16px 34px rgba(0, 0, 0, 0.28);
  transition: color 220ms ease, background 220ms ease, border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.why-securide-premium-card-icon svg {
  width: 38px;
  height: 38px;
}

.why-securide-premium-card:hover .why-securide-premium-card-icon {
  color: #120d02;
  transform: translateY(-3px);
  border-color: rgba(244, 226, 154, 0.9);
  background:
    linear-gradient(135deg, #8c6a1d 0%, #d4af37 28%, #f4e29a 50%, #b88a24 72%, #fff0a8 100%);
  box-shadow: 0 0 0 1px rgba(244, 226, 154, 0.42), 0 18px 42px rgba(212, 175, 55, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.why-securide-premium-card-title,
.why-securide-premium-card-desc {
  position: relative;
  z-index: 1;
}

.why-securide-premium-card-title {
  margin-top: 0;
  max-width: 260px;
  text-align: center;
}

.why-securide-premium-card-desc {
  max-width: 290px;
  margin-inline: auto;
  text-align: center;
}

.why-specialists-bridge {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: stretch;
  margin-top: clamp(34px, 5vw, 58px);
  border: 1px solid rgba(116, 154, 198, 0.22);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(6, 18, 36, 0.9), rgba(4, 12, 25, 0.86));
  box-shadow: 0 24px 62px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  overflow: hidden;
}

.why-specialists-bridge-media {
  position: relative;
  min-height: 280px;
  overflow: hidden;
}

.why-specialists-bridge-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(3, 8, 18, 0.08), rgba(3, 8, 18, 0.72));
}

.why-specialists-bridge-media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  display: block;
  filter: saturate(0.95) contrast(1.05) brightness(0.82);
}

.why-specialists-bridge-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(24px, 4vw, 44px);
}

.why-specialists-bridge-copy h3 {
  margin: 0 0 12px;
  color: #ffffff;
  font-size: clamp(1.42rem, 2.3vw, 2.1rem);
  line-height: 1.15;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
}

.why-specialists-bridge-copy p:not(.why-specialists-eyebrow) {
  margin: 0;
  max-width: 740px;
  color: rgba(225, 235, 247, 0.74);
  line-height: 1.72;
}

.why-specialists-avatar-row {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 16px;
}

.why-specialists-avatar-row img {
  width: 58px;
  height: 58px;
  border: 2px solid rgba(244, 226, 154, 0.62);
  border-radius: 50%;
  object-fit: cover;
  background: #07101e;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

.why-specialists-avatar-row img + img {
  margin-left: -12px;
}

.why-specialists-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: clamp(28px, 4vw, 46px);
}

.why-specialists-cta .btn {
  min-width: 220px;
  justify-content: center;
}

@media (max-width: 900px) {
  .why-specialists-bridge {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .why-securide-premium-cards::before {
    content: none;
  }

  .why-specialists-bridge-copy {
    text-align: center;
  }

  .why-specialists-avatar-row {
    justify-content: center;
  }

}

@media (max-width: 768px) {
  .risk-management-process-section .risk-process-flow {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: repeat(5, auto) !important;
    gap: 18px 10px !important;
    justify-items: stretch !important;
    align-items: center !important;
    padding: 12px 0 !important;
  }

  .risk-management-process-section .risk-process-flow::before {
    content: '' !important;
    position: absolute !important;
    top: 30px !important;
    bottom: 30px !important;
    left: 50% !important;
    width: 2px !important;
    background: linear-gradient(180deg, rgba(212, 175, 55, 0), rgba(244, 226, 154, 0.86), rgba(140, 106, 29, 0.78), rgba(212, 175, 55, 0)) !important;
    box-shadow: 0 0 18px rgba(212, 175, 55, 0.34) !important;
    transform: translateX(-50%) !important;
    z-index: 0 !important;
  }

  .risk-management-process-section .risk-step-card {
    position: relative !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    width: clamp(118px, 38vw, 148px) !important;
    min-height: 128px !important;
    padding: 14px 10px !important;
    z-index: 1 !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(1),
  .risk-management-process-section .risk-step-card:nth-of-type(3),
  .risk-management-process-section .risk-step-card:nth-of-type(5) {
    grid-column: 1 !important;
    justify-self: end !important;
    margin-right: 10px !important;
    margin-left: 0 !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(2),
  .risk-management-process-section .risk-step-card:nth-of-type(4) {
    grid-column: 2 !important;
    justify-self: start !important;
    margin-left: 10px !important;
    margin-right: 0 !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(1) {
    grid-row: 1 !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(2) {
    grid-row: 2 !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(3) {
    grid-row: 3 !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(4) {
    grid-row: 4 !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(5) {
    grid-row: 5 !important;
  }

  .risk-management-process-section .risk-step-card::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    width: 18px !important;
    height: 2px !important;
    background: linear-gradient(90deg, rgba(244, 226, 154, 0.88), rgba(212, 175, 55, 0.28)) !important;
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.28) !important;
    transform: translateY(-50%) !important;
    z-index: -1 !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(1)::before,
  .risk-management-process-section .risk-step-card:nth-of-type(3)::before,
  .risk-management-process-section .risk-step-card:nth-of-type(5)::before {
    right: -18px !important;
    left: auto !important;
  }

  .risk-management-process-section .risk-step-card:nth-of-type(2)::before,
  .risk-management-process-section .risk-step-card:nth-of-type(4)::before {
    left: -18px !important;
    right: auto !important;
  }

  .risk-management-process-section .risk-step-icon {
    align-self: center !important;
    margin: 0 auto !important;
  }

  .risk-management-process-section .process-step-label,
  .risk-management-process-section .risk-step-card p {
    width: 100% !important;
    text-align: center !important;
  }

  .risk-management-process-section .process-flow-arrow {
    display: none !important;
  }
}
