/* Custom styles for Diamond Software website */

/* ── 2026 redesign — brand color system: gold is accent-only (~5% of UI) ── */
:root {
  --accent: #D4A04A;
  --accent-hover: #B8862E;
  --accent-light: #E2B866;
  --accent-muted: rgba(212, 160, 74, 0.12);
  --accent-rgb: 212, 160, 74;
  --brand-navy: #081B3A;
  --brand-navy-deep: #050F24;
  --brand-navy-mid: #102A56;
  --brand-primary: #0F172A;
  --ui-surface: #F7F9FC;
  --ui-gray: #64748B;
  --ui-gray-light: #94A3B8;
  --ui-border: rgba(15, 23, 42, 0.1);
  --ui-border-subtle: rgba(8, 27, 58, 0.08);
  /* Shape & elevation scale */
  --radius-card: 1rem;
  --radius-panel: 1.5rem;
  --shadow-card: 0 1px 2px rgba(8, 27, 58, 0.05), 0 8px 24px -12px rgba(8, 27, 58, 0.12);
  --shadow-card-hover: 0 2px 4px rgba(8, 27, 58, 0.06), 0 20px 44px -16px rgba(8, 27, 58, 0.2);
  --ease-out-soft: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Global typographic finish */
h1, h2, h3 {
  letter-spacing: -0.02em;
}

h1, h2 {
  text-wrap: balance;
}

::selection {
  background: rgba(var(--accent-rgb), 0.28);
  color: var(--brand-navy);
}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

[id] {
  scroll-margin-top: 96px;
}

/* Contact form feedback */
.form-status {
  margin-bottom: 1rem;
  padding: 0.875rem 1rem;
  border-radius: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
}

.form-status.is-success {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #065f46;
}

.form-status.is-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}

.form-status.is-info {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1e40af;
}

.form-status a {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
}

.contact-form-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

html,
body {
  overflow-x: clip;
  max-width: 100%;
}

/* Site-wide content width (matches tailwind maxWidth.site) */
.max-w-site {
  max-width: 1600px;
}

/* Modern glass header — slim translucent navy bar */
.site-header,
.navbar,
#header.site-header {
  background: rgba(6, 18, 40, 0.82) !important;
  height: 76px;
  box-shadow: none;
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  transition: background 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

#header.site-header {
  position: fixed;
  left: 0;
  right: 0;
}

#header.site-header > nav,
#header.site-header .flex.items-center.justify-between {
  height: 76px;
}

.site-header.scrolled,
.navbar.scrolled,
header.site-header.scrolled,
#header.site-header.scrolled {
  background: rgba(5, 15, 36, 0.94) !important;
  box-shadow: 0 12px 32px -16px rgba(0, 0, 0, 0.5);
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

.logo img,
.site-logo img,
.site-logo-img,
.navbar-brand img {
  display: block;
  height: 42px !important;
  width: auto !important;
  max-width: none !important;
  min-height: 42px;
  object-fit: contain;
  flex-shrink: 0;
}

#header .site-logo img {
  height: 56px !important;
  min-height: 56px;
}

#header .site-logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  line-height: 0;
}

#header.site-header .nav-link,
#header.site-header .nav-dropdown-trigger {
  color: rgba(255, 255, 255, 0.92);
}

#header.site-header .nav-link:hover,
#header.site-header .nav-dropdown-trigger:hover {
  color: var(--accent-light);
}

#header.site-header .nav-link.active,
#header.site-header .nav-dropdown-trigger.active {
  color: var(--accent);
}

#header.site-header #search-open-btn,
#header.site-header #mobile-menu-btn {
  color: #fff;
}

#header.site-header #search-open-btn:hover,
#header.site-header #mobile-menu-btn:hover {
  background: rgba(255, 255, 255, 0.12);
}

#header.site-header .lang-toggle-btn {
  color: rgba(255, 255, 255, 0.92);
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
}

#header.site-header .lang-toggle-btn:hover {
  color: var(--accent-light);
  border-color: rgba(var(--accent-rgb), 0.45);
}

#header.site-header .lang-toggle-btn[aria-pressed="true"] {
  color: var(--accent);
  border-color: rgba(var(--accent-rgb), 0.55);
  background: rgba(255, 255, 255, 0.1);
}

#header.site-header .search-kbd-hint {
  color: rgba(255, 255, 255, 0.45);
}

/* Primary CTA buttons — refined gold, pill shape */
.btn-primary,
.request-demo {
  background: var(--accent) !important;
  background-image: linear-gradient(180deg, #DCAC58 0%, #C9923F 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(184, 134, 46, 0.9);
  border-radius: 999px !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset, 0 10px 24px -8px rgba(var(--accent-rgb), 0.55);
  transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.btn-primary:hover,
.btn-primary:focus-visible,
.request-demo:hover,
.request-demo:focus-visible {
  background: var(--accent-hover) !important;
  background-image: linear-gradient(180deg, #CE9C46 0%, #B8862E 100%) !important;
  border-color: var(--accent-hover);
  transform: translateY(-2px);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 16px 32px -10px rgba(var(--accent-rgb), 0.6);
}

/* Raw tailwind-styled CTA anchors across pages pick up the same pill finish */
a.bg-secondary {
  border-radius: 999px !important;
  background-image: linear-gradient(180deg, #DCAC58 0%, #C9923F 100%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset, 0 10px 24px -8px rgba(var(--accent-rgb), 0.55);
  transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

a.bg-secondary:hover {
  background-image: linear-gradient(180deg, #CE9C46 0%, #B8862E 100%);
  transform: translateY(-2px);
}

/* Secondary CTA — navy outline pill, navy fill on hover */
.btn-secondary {
  background: #ffffff !important;
  border: 1.5px solid rgba(8, 27, 58, 0.35) !important;
  border-radius: 999px !important;
  color: var(--brand-navy) !important;
  box-shadow: 0 4px 14px rgba(8, 27, 58, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.btn-secondary:hover,
.btn-secondary:focus-visible {
  background: var(--brand-navy) !important;
  border-color: var(--brand-navy) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 26px -8px rgba(8, 27, 58, 0.35);
}

.btn-secondary i {
  color: var(--brand-navy) !important;
  transition: color 0.25s ease;
}

.btn-secondary:hover i,
.btn-secondary:focus-visible i {
  color: #ffffff !important;
}

/* Hero outline CTA — glass pill on the dark hero */
.home-hero-btn-outline,
.btn-secondary.home-hero-btn-outline {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: none;
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.home-hero-btn-outline:hover,
.home-hero-btn-outline:focus-visible,
.btn-secondary.home-hero-btn-outline:hover,
.btn-secondary.home-hero-btn-outline:focus-visible {
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
}

.home-hero-btn-outline i,
.btn-secondary.home-hero-btn-outline i {
  color: var(--accent-light) !important;
}

.home-hero-btn-outline:hover i,
.btn-secondary.home-hero-btn-outline:hover i {
  color: var(--accent-light) !important;
}

/* Stat / keyword highlight — accent numbers only */
.gradient-text {
  color: var(--accent);
  font-weight: 700;
  background: none;
  -webkit-text-fill-color: unset;
  background-clip: unset;
}

/* Hero gradient background (inner pages) */
.hero-gradient:not(.home-hero) {
  background: linear-gradient(135deg, #081B3A 0%, #102A56 100%);
}

/* ── Homepage hero — modern dark navy with skyline blend ── */
.hero.home-hero,
.home-hero.hero-section {
  background:
    radial-gradient(ellipse 90% 70% at 80% -10%, #14336B 0%, transparent 55%),
    linear-gradient(160deg, #0A2148 0%, #081B3A 45%, #050F24 100%) !important;
  min-height: auto;
  padding-top: 150px;
  padding-bottom: 5rem;
  position: relative;
  overflow: hidden;
}

@media (min-width: 1024px) {
  .hero.home-hero,
  .home-hero.hero-section {
    min-height: 40rem;
    padding-top: 170px;
    padding-bottom: 7rem;
  }
}

.home-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

/* Faint blueprint grid over the hero */
.home-hero-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    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: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 85% 90% at 50% 10%, #000 30%, transparent 78%);
  mask-image: radial-gradient(ellipse 85% 90% at 50% 10%, #000 30%, transparent 78%);
}

/* Skyline photo — duotone, anchored to the right, blended into navy */
.home-hero-parallax-layer {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: min(72%, 1100px);
  transform: translate3d(var(--hero-px, 0px), var(--hero-py, 0px), 0);
  will-change: transform;
  z-index: 1;
}

.home-hero-parallax-layer .home-hero-bg-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 74% 40%;
  opacity: 0.5;
  filter: grayscale(0.55) brightness(0.85) contrast(1.05);
  mix-blend-mode: luminosity;
  -webkit-mask-image:
    linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.6) 30%, #000 55%),
    linear-gradient(to bottom, transparent 0%, #000 26%, #000 82%, rgba(0, 0, 0, 0.3) 100%);
  mask-image:
    linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.6) 30%, #000 55%),
    linear-gradient(to bottom, transparent 0%, #000 26%, #000 82%, rgba(0, 0, 0, 0.3) 100%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

/* Navy wash keeping the copy side solid and readable */
.home-hero-bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(100deg, rgba(8, 27, 58, 0.92) 0%, rgba(8, 27, 58, 0.72) 38%, rgba(8, 27, 58, 0.25) 62%, rgba(8, 27, 58, 0) 82%),
    linear-gradient(to bottom, rgba(5, 15, 36, 0.35) 0%, transparent 22%, transparent 78%, rgba(5, 15, 36, 0.65) 100%);
}

/* Soft gold + blue glows */
.home-hero-bg-glow {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    radial-gradient(ellipse 42% 55% at 78% 30%, rgba(var(--accent-rgb), 0.14) 0%, transparent 60%),
    radial-gradient(ellipse 50% 65% at 8% 75%, rgba(30, 74, 148, 0.35) 0%, transparent 62%);
}

.hero.home-hero > .max-w-site {
  position: relative;
  z-index: 3;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
}

.home-hero .hero-content {
  max-width: 44rem;
  margin-right: auto;
}

/* Content panel wrapper stays in markup but renders as open layout */
.home-hero-content-panel {
  background: none;
  border: none;
  box-shadow: none;
  padding: 0;
  border-radius: 0;
}

.home-hero-headline-wrap {
  position: relative;
  max-width: 100%;
}

.home-hero-headline-glow {
  display: none;
}

/* Badge — glass pill on dark */
.home-hero-premium-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  padding: 0.5rem 1.1rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.home-hero-premium-badge__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.25);
  flex-shrink: 0;
}

.home-hero h1 {
  color: #ffffff !important;
  max-width: 100%;
  line-height: 1.06;
  font-weight: 700;
  margin-bottom: 1.5rem;
}

.home-hero h1 > span:not(.highlight) {
  color: #ffffff;
}

.home-hero h1 .highlight {
  background: linear-gradient(92deg, #EFC880 0%, var(--accent) 55%, #C08B33 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--accent-light) !important;
  font-weight: 700;
}

.home-hero .hero-content > .home-hero-content-panel p:not(.home-hero-premium-badge),
.home-hero .hero-content > p:not(.home-hero-premium-badge) {
  color: rgba(226, 232, 240, 0.85) !important;
  max-width: 36rem;
}

/* Entrance reveals */
.home-hero-reveal {
  opacity: 0;
  animation: home-hero-fade-up 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.home-hero-reveal--d1 { animation-delay: 0.1s; }
.home-hero-reveal--d2 { animation-delay: 0.2s; }
.home-hero-reveal--d3 { animation-delay: 0.32s; }

@keyframes home-hero-fade-up {
  from {
    opacity: 0;
    transform: translate3d(0, 22px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.btn-shine {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.btn-shine::after {
  content: '';
  position: absolute;
  top: 0;
  left: -120%;
  width: 55%;
  height: 100%;
  background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.38), transparent);
  transform: skewX(-18deg);
  transition: left 0.55s ease;
  pointer-events: none;
}

.btn-shine:hover::after {
  left: 140%;
}

/* Legacy fx hooks — retired in the redesign */
.home-hero-fx-zone,
.home-hero-particles,
.home-hero-light-lines,
.home-hero-bg-video,
.home-hero-bg-fallback {
  display: none !important;
}

/* Trust strip sits flush under the dark hero */
.hero-trust-strip.trust-glass-section {
  background: #ffffff;
  border: none;
  margin-top: 0;
  padding-top: 4rem;
  position: relative;
  z-index: 2;
}

/* RTL — mirror the composition */
[dir="rtl"] .home-hero .hero-content {
  margin-left: auto;
  margin-right: 0;
  text-align: right;
}

[dir="rtl"] .home-hero h1,
[dir="rtl"] .home-hero .hero-content p {
  margin-left: auto;
  margin-right: 0;
}

[dir="rtl"] .home-hero .hero-content .flex {
  justify-content: flex-end;
}

[dir="rtl"] .home-hero-parallax-layer {
  right: auto;
  left: 0;
}

[dir="rtl"] .home-hero-parallax-layer .home-hero-bg-image {
  object-position: 26% 40%;
  -webkit-mask-image:
    linear-gradient(to left, transparent 0%, rgba(0, 0, 0, 0.6) 30%, #000 55%),
    linear-gradient(to bottom, transparent 0%, #000 26%, #000 82%, rgba(0, 0, 0, 0.3) 100%);
  mask-image:
    linear-gradient(to left, transparent 0%, rgba(0, 0, 0, 0.6) 30%, #000 55%),
    linear-gradient(to bottom, transparent 0%, #000 26%, #000 82%, rgba(0, 0, 0, 0.3) 100%);
}

[dir="rtl"] .home-hero-bg-overlay {
  background:
    linear-gradient(260deg, rgba(8, 27, 58, 0.92) 0%, rgba(8, 27, 58, 0.72) 38%, rgba(8, 27, 58, 0.25) 62%, rgba(8, 27, 58, 0) 82%),
    linear-gradient(to bottom, rgba(5, 15, 36, 0.35) 0%, transparent 22%, transparent 78%, rgba(5, 15, 36, 0.65) 100%);
}

@media (max-width: 639px) {
  .home-hero-parallax-layer {
    width: 100%;
  }

  .home-hero-parallax-layer .home-hero-bg-image {
    opacity: 0.3;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero-reveal {
    opacity: 1;
    animation: none;
    transform: none;
  }

  .btn-shine::after {
    display: none;
  }

  .home-hero-parallax-layer {
    transform: none;
  }

  .trust-glass-card:hover {
    transform: none;
  }
}

/* Page hero (inner pages) — layered navy with blueprint grid + gold glow */
.page-hero {
  position: relative;
  background:
    radial-gradient(ellipse 80% 90% at 85% -20%, #14336B 0%, transparent 55%),
    linear-gradient(150deg, #0A2148 0%, #081B3A 55%, #071630 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 80% 100% at 50% 0%, #000 25%, transparent 75%);
  mask-image: radial-gradient(ellipse 80% 100% at 50% 0%, #000 25%, transparent 75%);
}

.page-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 45% 60% at 82% 20%, rgba(var(--accent-rgb), 0.1) 0%, transparent 60%),
    radial-gradient(ellipse 40% 55% at 12% 85%, rgba(30, 74, 148, 0.3) 0%, transparent 60%);
}

.page-hero > * {
  position: relative;
  z-index: 1;
}

/* Smooth scroll */
html {
  scroll-behavior: smooth;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #F8FAFC;
}

::-webkit-scrollbar-thumb {
  background: var(--ui-gray-light);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--brand-navy-mid);
}

/* Nav link underline animation */
.nav-link {
  position: relative;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--accent);
  transition: width 0.3s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
  width: 100%;
}

/* Nav dropdown */
.nav-dropdown {
  position: relative;
}

.nav-dropdown-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.nav-dropdown-chevron {
  transition: transform 0.2s ease;
  pointer-events: none;
}

.nav-dropdown.is-open .nav-dropdown-chevron,
.mobile-nav-group.is-open .mobile-nav-chevron {
  transform: rotate(180deg);
}

.nav-dropdown-panel {
  position: absolute;
  top: calc(100% + 0.35rem);
  left: 0;
  min-width: 15rem;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 0.75rem;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
  padding: 0.5rem;
  z-index: 60;
}

.nav-dropdown-panel[hidden] {
  display: none !important;
}

.nav-dropdown-panel--scroll {
  max-height: min(70vh, 24rem);
  overflow-y: auto;
}

.nav-dropdown-item {
  display: block;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  color: #334155;
  text-decoration: none;
  white-space: nowrap;
}

.nav-dropdown-item:hover,
.nav-dropdown-item.active {
  background: var(--ui-surface);
  color: var(--accent);
}

.nav-dropdown-trigger.active {
  color: var(--accent);
}

.nav-link.active {
  color: var(--accent);
}

/* Language toggle */
.lang-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  padding: 0.375rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  border-radius: 0.375rem;
  border: 1px solid var(--ui-border);
  color: var(--brand-navy-mid);
  background: #ffffff;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.lang-toggle-btn:hover {
  background: var(--ui-surface);
  border-color: rgba(8, 27, 58, 0.18);
  color: var(--brand-navy);
}

.lang-toggle-btn[aria-pressed="true"] {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

/* Card hover effect */
.card-hover {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 48px rgba(8, 27, 58, 0.12);
}

/* Modules page — full-card links */
.modules-page-grid .module-page-card {
  cursor: pointer;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease,
    color 0.3s ease;
}

.modules-page-grid .module-page-card:hover,
.modules-page-grid .module-page-card:focus-visible {
  transform: translateY(-8px) scale(1.02);
  background-color: #081b3a;
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.08),
    0 20px 48px rgba(8, 27, 58, 0.28);
  color: #fff;
}

.modules-page-grid .module-page-card:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.modules-page-grid .module-page-card:hover .module-page-card__title,
.modules-page-grid .module-page-card:focus-visible .module-page-card__title {
  color: #fff;
}

.modules-page-grid .module-page-card:hover .module-page-card__tagline,
.modules-page-grid .module-page-card:focus-visible .module-page-card__tagline,
.modules-page-grid .module-page-card:hover .module-page-card__cta,
.modules-page-grid .module-page-card:focus-visible .module-page-card__cta {
  color: #e2b866;
}

.modules-page-grid .module-page-card:hover .module-page-card__desc,
.modules-page-grid .module-page-card:focus-visible .module-page-card__desc,
.modules-page-grid .module-page-card:hover .module-page-card__features .text-gray-600,
.modules-page-grid .module-page-card:focus-visible .module-page-card__features .text-gray-600 {
  color: rgba(255, 255, 255, 0.88);
}

.modules-page-grid .module-page-card:hover .module-page-card__icon,
.modules-page-grid .module-page-card:focus-visible .module-page-card__icon {
  background: rgba(255, 255, 255, 0.12);
}

.modules-page-grid .module-page-card:hover .module-page-card__icon .text-secondary,
.modules-page-grid .module-page-card:focus-visible .module-page-card__icon .text-secondary,
.modules-page-grid .module-page-card:hover .module-page-card__features .text-secondary,
.modules-page-grid .module-page-card:focus-visible .module-page-card__features .text-secondary {
  color: #e2b866;
}

@media (prefers-reduced-motion: reduce) {
  .modules-page-grid .module-page-card {
    transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
  }

  .modules-page-grid .module-page-card:hover,
  .modules-page-grid .module-page-card:focus-visible {
    transform: none;
  }
}

/* Smooth internal page transition */
html.page-transition-ready body {
  transition: opacity 0.3s ease;
}

html.page-transition-ready body.is-page-leaving {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  html.page-transition-ready body {
    transition: none;
  }
}

/* Solutions page — feature card navy hover (solutions.html only) */
.solutions-feature-cards .solutions-feature-card {
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease;
}

@media (hover: hover) {
  .solutions-feature-cards .solutions-feature-card:hover {
    background-color: #081b3a !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    transform: translateY(-8px);
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.08),
      0 20px 50px rgba(8, 27, 58, 0.32);
  }

  .solutions-feature-cards .solutions-feature-card:hover h3,
  .solutions-feature-cards .solutions-feature-card:hover h3 a,
  .solutions-feature-cards .solutions-feature-card:hover p,
  .solutions-feature-cards .solutions-feature-card:hover li,
  .solutions-feature-cards .solutions-feature-card:hover li span {
    color: #fff !important;
  }

  .solutions-feature-cards .solutions-feature-card:hover h3 a:hover {
    color: #fff !important;
  }

  .solutions-feature-cards .solutions-feature-card:hover .w-14 {
    background-color: rgba(255, 255, 255, 0.1) !important;
  }

  .solutions-feature-cards .solutions-feature-card:hover .w-14 .text-secondary,
  .solutions-feature-cards .solutions-feature-card:hover li .text-secondary {
    color: var(--accent-light) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .solutions-feature-cards .solutions-feature-card {
    transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  }

  .solutions-feature-cards .solutions-feature-card:hover {
    transform: none;
  }
}

/* Premium CTA — static shadow only (no neon pulse) */
a[data-i18n="nav.bookDemo"],
a:has(> [data-i18n="nav.bookDemo"]),
a:has(> [data-i18n="home.heroCtaDemo"]),
a:has(> [data-i18n="cta.bookDemo"]),
a:has(> [data-i18n="product.requestDemo"]),
button:has(> [data-i18n="form.submit"]) {
  animation: none;
  box-shadow: 0 8px 24px rgba(var(--accent-rgb), 0.25);
}

/* Call Us — subtle outline on dark CTA band */
a:has(> [data-i18n="cta.callUs"]) {
  animation: none;
}

/* Form / inline WhatsApp buttons — static (floating widget animates below) */
button[data-via="whatsapp"],
.btn-whatsapp,
button:has(> [data-i18n="form.whatsapp"]) {
  animation: none;
}

.breathe-glow,
.breathe-glow-dark,
.breathe-glow-light {
  animation: none;
  box-shadow: 0 8px 24px rgba(var(--accent-rgb), 0.2);
}

/* WhatsApp floating widget & lead popup */
.whatsapp-widget {
  position: fixed;
  right: max(0.75rem, env(safe-area-inset-right, 0.75rem));
  bottom: max(1rem, env(safe-area-inset-bottom, 1rem));
  z-index: 9990;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
  pointer-events: none;
}

@media (min-width: 1024px) {
  .whatsapp-widget {
    right: max(1.5rem, env(safe-area-inset-right, 1.5rem));
    bottom: max(1.5rem, env(safe-area-inset-bottom, 1.5rem));
  }
}

.whatsapp-widget > * {
  pointer-events: auto;
}

@keyframes whatsapp-glow-pulse {
  0%,
  100% {
    box-shadow:
      0 0 0 0 rgba(37, 211, 102, 0.65),
      0 0 16px rgba(37, 211, 102, 0.45),
      0 8px 24px rgba(37, 211, 102, 0.35);
    transform: scale(1);
  }

  50% {
    box-shadow:
      0 0 0 14px rgba(37, 211, 102, 0),
      0 0 28px rgba(37, 211, 102, 0.75),
      0 10px 32px rgba(37, 211, 102, 0.55);
    transform: scale(1.08);
  }
}

@keyframes whatsapp-icon-blink {
  0%,
  100% {
    opacity: 1;
    filter: brightness(1);
  }

  50% {
    opacity: 0.72;
    filter: brightness(1.35);
  }
}

@keyframes whatsapp-ring-pulse {
  0% {
    transform: scale(1);
    opacity: 0.75;
  }

  100% {
    transform: scale(1.65);
    opacity: 0;
  }
}

.whatsapp-float-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
}

.whatsapp-float-status {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.6rem;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.01em;
  color: #0f172a;
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 2px 10px rgba(8, 27, 58, 0.12);
  white-space: nowrap;
}

.whatsapp-float-status::before {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: #22c55e;
  flex-shrink: 0;
}

.whatsapp-float {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  background: #25D366;
  color: #fff;
  border-radius: 50%;
  font-size: 1.75rem;
  line-height: 1;
  border: none;
  padding: 0;
  cursor: pointer;
  position: relative;
  isolation: isolate;
  animation: whatsapp-glow-pulse 1.6s ease-in-out infinite;
  will-change: transform, box-shadow;
}

.whatsapp-float::before {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 2px solid rgba(37, 211, 102, 0.85);
  animation: whatsapp-ring-pulse 1.6s ease-out infinite;
  pointer-events: none;
  z-index: -1;
}

.whatsapp-float i {
  animation: whatsapp-icon-blink 1.1s ease-in-out infinite;
}

.whatsapp-float:hover {
  color: #fff;
}

.whatsapp-lead-popup {
  width: min(300px, calc(100vw - 2rem));
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(8, 27, 58, 0.06);
  box-shadow: 0 12px 48px rgba(8, 27, 58, 0.12), 0 4px 16px rgba(8, 27, 58, 0.06);
  padding: 1.25rem 1.25rem 1rem;
  position: relative;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.whatsapp-lead-popup.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.whatsapp-lead-popup[hidden] {
  display: none !important;
}

.whatsapp-lead-close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 1.75rem;
  height: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: #94a3b8;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  border-radius: 0.375rem;
  transition: color 0.15s ease, background 0.15s ease;
}

.whatsapp-lead-close:hover {
  color: #0F172A;
  background: #F8FAFC;
}

.whatsapp-lead-title {
  font-size: 1.0625rem;
  font-weight: 700;
  color: #0F172A;
  line-height: 1.35;
  padding-right: 1.5rem;
  margin: 0 0 0.25rem;
}

.whatsapp-lead-region {
  font-size: 0.8125rem;
  color: #64748b;
  margin: 0 0 0.875rem;
}

.whatsapp-lead-list {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.375rem 0.75rem;
}

.whatsapp-lead-list li {
  font-size: 0.8125rem;
  color: #334155;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.whatsapp-lead-check {
  color: var(--accent);
  font-weight: 700;
  flex-shrink: 0;
}

.whatsapp-lead-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.75rem 1rem;
  background: #25D366;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 600;
  border-radius: 0.625rem;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.15s ease;
}

.whatsapp-lead-btn:hover {
  background: #1fb855;
  color: #fff;
  transform: translateY(-1px);
}

.whatsapp-lead-btn i {
  font-size: 1.125rem;
}

.whatsapp-lead-note {
  margin: 0.625rem 0 0;
  font-size: 0.6875rem;
  color: #94a3b8;
  text-align: center;
  line-height: 1.4;
}

.btn-whatsapp {
  background: #25D366;
  color: #fff;
}

.btn-whatsapp:hover {
  background: #1fb855;
  color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  .whatsapp-lead-popup {
    transition: none;
    transform: none;
  }

  .whatsapp-float {
    transition: none;
    animation: none !important;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.35);
    transform: none;
  }

  .whatsapp-float::before,
  .whatsapp-float i {
    animation: none !important;
  }
}

/* Hero seal badge (legacy — used in hero visual column) */
.hero-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.page-hero-content {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

@media (min-width: 1024px) {
  .page-hero-content {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.breadcrumb-item + .breadcrumb-item::before {
  content: '/';
  margin: 0 0.5rem;
  color: #94a3b8;
}

/* Search modal */
.search-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 5.5rem 1rem 1rem;
}

.search-modal[hidden] {
  display: none !important;
}

.search-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 27, 58, 0.55);
  backdrop-filter: blur(4px);
}

.search-modal-panel {
  position: relative;
  width: min(100%, 36rem);
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 20px 60px rgba(8, 27, 58, 0.2);
  border: 1px solid #e5e7eb;
  padding: 1.25rem;
  max-height: min(70vh, 28rem);
  overflow: auto;
}

.search-results {
  list-style: none;
  margin: 0;
  padding: 0;
}

.search-results li + li {
  margin-top: 0.25rem;
}

.search-results a {
  display: block;
  padding: 0.75rem 0.875rem;
  border-radius: 0.75rem;
  transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.search-results a:hover,
.search-results a:focus-visible {
  background: #F8FAFC;
  outline: none;
}

.search-results a.is-active,
.search-results a.is-active:hover,
.search-results a.is-active:focus-visible {
  background: #081b3a;
  color: #fff;
  box-shadow: 0 4px 16px rgba(8, 27, 58, 0.28);
  outline: none;
}

.search-results .search-result-title {
  font-weight: 600;
  color: #0F172A;
  transition: color 0.3s ease;
}

.search-results a.is-active .search-result-title {
  color: #fff;
}

.search-results .search-result-desc {
  font-size: 0.8125rem;
  color: #64748b;
  margin-top: 0.125rem;
  transition: color 0.3s ease;
}

.search-results a.is-active .search-result-desc {
  color: rgba(255, 255, 255, 0.88);
}

.search-results a.is-active .search-result-cat {
  color: var(--accent);
}

.search-results a.is-active .search-highlight {
  background: rgba(var(--accent-rgb), 0.45);
  color: #fff;
}

.search-results-empty {
  padding: 0.75rem 0.875rem;
  color: #64748b;
  font-size: 0.875rem;
}

.search-results-more {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid #e5e7eb;
}

.search-results-more a {
  display: block;
  padding: 0.75rem 0.875rem;
  border-radius: 0.75rem;
  font-weight: 600;
  font-size: 0.875rem;
  color: #081b3a;
  text-align: center;
  background: rgba(var(--accent-rgb), 0.12);
  transition: background-color 0.15s ease;
}

.search-results-more a:hover,
.search-results-more a:focus-visible {
  background: rgba(var(--accent-rgb), 0.22);
  outline: none;
}

.search-results-more a.is-active,
.search-results-more a.is-active:hover,
.search-results-more a.is-active:focus-visible {
  background: #081b3a;
  color: #fff;
  box-shadow: 0 4px 16px rgba(8, 27, 58, 0.28);
}

.search-result-cat {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--accent);
  margin-bottom: 0.2rem;
}

.search-highlight {
  background: rgba(var(--accent-rgb), 0.28);
  color: inherit;
  padding: 0 0.12em;
  border-radius: 0.2em;
}

/* Search results page */
.search-page-form {
  max-width: 48rem;
  margin: 0 auto 2rem;
}

.search-page-input-wrap {
  display: flex;
  align-items: stretch;
  gap: 0.75rem;
  background: #fff;
  border: 1px solid rgba(8, 27, 58, 0.1);
  border-radius: 1rem;
  padding: 0.5rem 0.5rem 0.5rem 1rem;
  box-shadow: 0 10px 30px rgba(8, 27, 58, 0.06);
}

.search-page-input-wrap i {
  color: var(--accent);
  align-self: center;
  font-size: 1.125rem;
}

.search-page-input-wrap input[type="search"] {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  font-size: 1.0625rem;
  color: #081b3a;
  background: transparent;
  padding: 0.75rem 0;
}

.search-page-input-wrap button {
  flex-shrink: 0;
  background: #081b3a;
  color: #fff;
  font-weight: 600;
  font-size: 0.9375rem;
  padding: 0.75rem 1.25rem;
  border-radius: 0.75rem;
  border: none;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.search-page-input-wrap button:hover {
  background: #0f2a52;
}

.search-page-heading {
  text-align: center;
  font-size: 1.375rem;
  font-weight: 700;
  color: #081b3a;
  margin-bottom: 0.5rem;
}

.search-page-count {
  text-align: center;
  color: #64748b;
  font-size: 0.9375rem;
  margin-bottom: 2rem;
}

.search-page-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  max-width: 64rem;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .search-page-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.search-page-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(8, 27, 58, 0.08);
  border-radius: 1rem;
  padding: 1.25rem 1.375rem;
  box-shadow: 0 10px 30px rgba(8, 27, 58, 0.06);
  height: 100%;
}

.search-page-card__head {
  margin-bottom: 0.625rem;
}

.search-page-card__category {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--accent);
  background: rgba(var(--accent-rgb), 0.12);
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
}

.search-page-card__title {
  font-size: 1.0625rem;
  font-weight: 700;
  color: #081b3a;
  margin-bottom: 0.5rem;
  line-height: 1.35;
}

.search-page-card__desc {
  font-size: 0.875rem;
  color: #475569;
  line-height: 1.55;
  flex: 1;
  margin-bottom: 1rem;
}

.search-page-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  align-self: flex-start;
  font-size: 0.875rem;
  font-weight: 600;
  color: #081b3a;
  padding: 0.5rem 0.875rem;
  border-radius: 0.625rem;
  border: 1px solid rgba(8, 27, 58, 0.12);
  transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

.search-page-card__btn:hover {
  border-color: var(--accent);
  color: #081b3a;
  background: rgba(var(--accent-rgb), 0.08);
}

.search-page-empty {
  max-width: 40rem;
  margin: 2rem auto 0;
  text-align: center;
  padding: 2rem 1.5rem;
  background: #fff;
  border: 1px solid rgba(8, 27, 58, 0.08);
  border-radius: 1rem;
}

.search-page-empty__text {
  color: #475569;
  line-height: 1.6;
}

.search-open-wrap {
  position: relative;
}

.search-kbd-hint {
  display: none;
}

/* Mobile menu */
#mobile-overlay {
  position: fixed;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

#mobile-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

#mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(100%, 20rem);
  transform: translateX(100%);
  transition: transform 0.25s ease;
  visibility: hidden;
}

#mobile-menu.is-open {
  transform: translateX(0);
  visibility: visible;
}

body.overlay-lock {
  overflow: hidden;
}

.mobile-nav-submenu[hidden] {
  display: none !important;
}

/* Client logo marquee */
.hero-clients-marquee-wrap,
.clients-marquee-wrap,
.clients-marquee,
.clients-track {
  direction: ltr;
  unicode-bidi: isolate;
}

.clients-marquee-viewport {
  position: relative;
  width: 100%;
}

.clients-marquee-arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 1px solid #e5e7eb;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.96);
  color: #081B3A;
  box-shadow: 0 2px 12px rgba(8, 27, 58, 0.12);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.clients-marquee-arrow--prev {
  left: 0.35rem;
}

.clients-marquee-arrow--next {
  right: 0.35rem;
}

.clients-marquee-arrow:hover,
.clients-marquee-arrow:focus-visible {
  background: #081B3A;
  border-color: #081B3A;
  color: #fff;
  box-shadow: 0 4px 16px rgba(8, 27, 58, 0.2);
  outline: none;
}

.clients-marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

.clients-track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1.5rem;
  width: max-content;
  animation: clients-marquee calc(var(--marquee-items, 20) * 4s) linear infinite;
  will-change: transform;
}

.clients-track.is-js-driven {
  animation: none !important;
}

.clients-marquee--reverse .clients-track {
  animation-direction: reverse;
}

.clients-marquee:hover .clients-track:not(.is-js-driven) {
  animation-play-state: paused;
}

.client-logo-item {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 16rem;
  height: 8rem;
  padding: 8px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  box-shadow: 0 2px 12px rgba(8, 27, 58, 0.06);
  overflow: hidden;
}

.client-logo-item.is-solid-block {
  padding: 0;
  box-shadow: 0 2px 12px rgba(8, 27, 58, 0.1);
}

.client-logo-item.is-solid-block .client-logo-wrap {
  width: 100%;
  height: 100%;
}

.client-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  transition: transform 0.3s ease;
}

.client-logo-img[data-logo-static] {
  position: static;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}

.client-logo-wrap:has(.client-logo-img[data-logo-static]) {
  display: flex;
  align-items: center;
  justify-content: center;
}

.client-logo-img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
}

.client-logo-wrap.is-logo-fit {
  display: block;
  position: relative;
}

.client-logo-wrap.is-logo-fit .client-logo-img {
  position: absolute;
  left: 0;
  top: 0;
  max-width: none;
  max-height: none;
  object-fit: none;
  transform-origin: 0 0;
}

.client-logo-wrap.is-bg-banner,
.client-logo-wrap.is-circular-emblem {
  display: block;
  position: relative;
}

.client-logo-wrap.is-bg-banner .client-logo-img.is-banner-source,
.client-logo-wrap.is-circular-emblem .client-logo-img.is-banner-source {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
}

.client-logo-canvas {
  display: block;
  width: 100%;
  height: 100%;
}

@keyframes clients-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.hero-trust-strip .client-logo-item {
  width: 14rem;
  height: 7rem;
}

.hero-trust-strip .client-logo-img {
  filter: none;
  opacity: 1;
}

.hero-trust-strip .client-logo-item:hover .client-logo-wrap {
  transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
  .client-logo-wrap {
    transition: none;
  }

  .hero-trust-strip .client-logo-item:hover .client-logo-wrap {
    transform: none;
  }
}

.trust-counters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.75rem 1.75rem;
  list-style: none;
  margin: 1.75rem 0 0;
  padding: 1.5rem 0 0;
  border-top: 1px solid #e5e7eb;
}

.trust-counter-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #081B3A;
  white-space: nowrap;
}

.trust-counter-item i {
  color: var(--accent);
  font-size: 1rem;
}

/* Trust glass cards — SaaS-style stats */
.trust-glass-title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 700;
  line-height: 1.2;
  color: #081B3A;
  margin: 0;
}

.trust-glass-subtitle {
  margin: 0.75rem 0 0;
  font-size: clamp(0.9375rem, 1.5vw, 1.0625rem);
  line-height: 1.6;
  color: #081B3A;
  opacity: 0.72;
}

.trust-glass-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

.trust-glass-grid--stats {
  gap: 1rem;
}

@media (min-width: 640px) {
  .trust-glass-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .trust-glass-grid--stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}

@media (min-width: 1024px) {
  .trust-glass-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.25rem;
  }

  .trust-glass-grid--stats {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.75rem;
  }
}

.trust-glass-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 100%;
  padding: 1.5rem 1rem;
  background: #ffffff;
  border-radius: 18px;
  border: 1px solid var(--ui-border-subtle);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.trust-glass-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 0.875rem;
  border-radius: 9999px;
  background: var(--ui-surface);
  color: var(--accent);
  font-size: 1.125rem;
  flex-shrink: 0;
}

.trust-glass-card:hover {
  transform: translateY(-6px);
  border-color: rgba(8, 27, 58, 0.12);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.08),
    0 0 0 1px rgba(8, 27, 58, 0.06);
}

.trust-glass-card__value {
  margin: 0;
  font-size: clamp(1.75rem, 2.5vw, 2.35rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--accent);
}

.trust-glass-card__value--rating {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}

.trust-glass-card__star {
  font-size: 0.72em;
  color: var(--accent);
}

.trust-glass-card__value--text {
  font-size: clamp(0.95rem, 1.15vw, 1.125rem);
  line-height: 1.25;
  letter-spacing: -0.01em;
  max-width: 9.5rem;
  color: var(--accent);
  font-weight: 700;
}

.trust-glass-card__title {
  margin: 0.625rem 0 0;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.35;
  color: #081B3A;
}

.trust-glass-card__subtitle {
  margin: 0.25rem 0 0;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.4;
  color: #64748B;
}

.trust-glass-card__label {
  margin: 0.75rem 0 0;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.45;
  color: #64748B;
}

@media (min-width: 1024px) {
  .trust-glass-grid--stats .trust-glass-card {
    padding: 1.25rem 0.625rem;
  }

  .trust-glass-grid--stats .trust-glass-card__icon {
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 0.75rem;
    font-size: 1rem;
  }

  .trust-glass-grid--stats .trust-glass-card__value {
    font-size: clamp(1.5rem, 1.65vw, 1.9rem);
  }

  .trust-glass-grid--stats .trust-glass-card__value--text {
    font-size: clamp(0.8125rem, 0.95vw, 0.9375rem);
    max-width: 8.5rem;
  }

  .trust-glass-grid--stats .trust-glass-card__title {
    font-size: 0.75rem;
  }

  .trust-glass-grid--stats .trust-glass-card__subtitle {
    font-size: 0.625rem;
  }
}

@media (min-width: 1024px) {
  .trust-glass-grid:not(.trust-glass-grid--stats) .trust-glass-card {
    padding: 2rem;
  }
}

@media (min-width: 1024px) {
  .hero-trust-strip .client-logo-item {
    width: 16rem;
    height: 8rem;
  }
}

/* Google reviews slider */
.google-review-slide {
  display: none;
}

.google-review-slide.active {
  display: block;
}

.google-reviews-slider .google-review-slide.active {
  display: block;
}

.google-reviews-layout {
  display: grid;
  gap: 2rem;
  align-items: start;
}

@media (min-width: 1024px) {
  .google-reviews-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 2.5rem;
  }
}

.google-reviews-map {
  display: block;
  width: 100%;
  min-height: 280px;
  height: 320px;
}

@media (min-width: 1024px) {
  .google-reviews-map {
    min-height: 340px;
    height: 100%;
    min-height: 360px;
  }

  .google-reviews-map-card {
    display: flex;
    flex-direction: column;
  }

  .google-reviews-map-card .google-reviews-map {
    flex: 1 1 auto;
    min-height: 360px;
  }
}

.testimonial-slide {
  display: none;
}

.testimonial-slide.active {
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  a[data-i18n="nav.bookDemo"],
  a:has(> [data-i18n="nav.bookDemo"]),
  a:has(> [data-i18n="home.heroCtaDemo"]),
  a:has(> [data-i18n="cta.bookDemo"]),
  a:has(> [data-i18n="product.requestDemo"]),
  button:has(> [data-i18n="form.submit"]),
  a:has(> [data-i18n="cta.callUs"]),
  .whatsapp-float,
  button[data-via="whatsapp"],
  .btn-whatsapp,
  button:has(> [data-i18n="form.whatsapp"]),
  .breathe-glow,
  .breathe-glow-dark,
  .breathe-glow-light {
    animation: none !important;
    transform: none !important;
  }
}

/* Homepage FAQ — collapsible "More" items */
.faq-more-details summary {
  list-style: none;
  cursor: pointer;
}

.faq-more-details summary::-webkit-details-marker {
  display: none;
}

.faq-more-summary {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #081B3A;
  transition: color 0.2s ease;
}

.faq-more-summary::before {
  content: "+ ";
  color: var(--accent);
  font-weight: 700;
}

.faq-more-details[open] .faq-more-summary::before {
  content: "− ";
}

.faq-more-summary:hover {
  color: var(--accent);
}

.faq-more-list {
  margin-top: 0.25rem;
}

/* FAQ accordion — hover, active (open), and touch feedback */
#faq details.group {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#faq details.group > summary {
  transition: background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}

#faq details.group > summary::-webkit-details-marker {
  display: none;
}

#faq details.group.rounded-xl > summary {
  border-radius: 0.75rem;
}

#faq details.group.rounded-2xl > summary {
  border-radius: 1rem;
}

#faq details.group[open].rounded-xl > summary {
  border-radius: 0.75rem 0.75rem 0 0;
}

#faq details.group[open].rounded-2xl > summary {
  border-radius: 1rem 1rem 0 0;
}

#faq details.group:hover > summary,
#faq details.group > summary:active,
#faq details.group[open] > summary {
  background: linear-gradient(135deg, #081B3A 0%, #0F2A57 100%);
  color: #fff;
  box-shadow: 0 4px 16px rgba(8, 27, 58, 0.22);
}

#faq details.group:hover > summary span,
#faq details.group > summary:active span,
#faq details.group[open] > summary span {
  color: #fff !important;
}

#faq details.group:hover > summary i,
#faq details.group > summary:active i,
#faq details.group[open] > summary i {
  color: #fff !important;
}

#faq details.group:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(8, 27, 58, 0.14);
}

#faq details.group[open] {
  box-shadow: 0 10px 28px rgba(8, 27, 58, 0.12);
}

#faq details.group > summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  #faq details.group,
  #faq details.group > summary {
    transition: none;
  }

  #faq details.group:hover {
    transform: none;
  }
}

/* Site footer — premium enterprise layout */
.site-footer {
  background: #081B3A;
  padding-top: 3.5rem;
  padding-bottom: 5rem;
}

@media (min-width: 1024px) {
  .site-footer {
    padding-top: 4rem;
    padding-bottom: 3.5rem;
  }
}

.footer-inner {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

@media (min-width: 640px) {
  .footer-inner {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media (min-width: 1024px) {
  .footer-inner {
    padding-left: 80px;
    padding-right: 80px;
  }
}

.footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  margin-bottom: 2.5rem;
}

@media (min-width: 768px) {
  .footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem 2.5rem;
    align-items: start;
  }

  .footer-brand-col {
    grid-column: 1 / -1;
  }
}

@media (min-width: 1024px) {
  .footer-grid {
    grid-template-columns: 1.35fr repeat(4, minmax(0, 1fr));
    gap: 2rem 2.5rem;
    align-items: stretch;
  }

  .footer-brand-col {
    grid-column: auto;
  }

  .footer-grid > * {
    min-width: 0;
  }
}

.footer-section-col {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.footer-section-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.footer-col-heading {
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: 1.45;
  text-wrap: pretty;
  min-height: 2.25rem;
}

.footer-link-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.footer-contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.footer-more-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 300ms ease;
}

.footer-more-links {
  padding-top: 0.625rem;
}

.footer-more-toggle {
  display: inline-flex;
  align-items: center;
  margin-top: 0.75rem;
  padding: 0;
  border: 0;
  background: none;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--accent);
  cursor: pointer;
  transition: color 300ms ease;
  align-self: flex-start;
}

.footer-more-toggle:hover,
.footer-more-toggle:focus-visible {
  color: #e8c468;
  outline: none;
}

.footer-more-toggle:focus-visible {
  box-shadow: 0 0 0 2px rgba(var(--accent-rgb), 0.45);
  border-radius: 0.25rem;
}

@media (min-width: 1024px) {
  .footer-section-col .footer-more-toggle {
    margin-top: auto;
    padding-top: 0.75rem;
  }

  .footer-section-col .footer-visible-links {
    min-height: 11.25rem;
  }

  .footer-nav-col a {
    line-height: 1.45;
    overflow-wrap: normal;
    word-break: normal;
  }
}

@media (max-width: 767px) {
  .footer-nav-col {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 1.5rem;
  }

  .footer-brand-col + .footer-nav-col {
    border-top: none;
    padding-top: 0;
  }
}

/* Industry detail pages — structured storytelling layout */
.industry-intro-wrap {
  max-width: 48rem;
  margin: 0 auto 1.5rem;
  text-align: center;
}

.industry-trust-line {
  margin: 0 0 1rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--color-primary, #1e3a5f);
  letter-spacing: 0.01em;
  line-height: 1.6;
}

.industry-content-wrap {
  max-width: 72rem;
  margin: 0 auto;
}

.industry-section {
  margin-bottom: 2.5rem;
}

.industry-section:last-of-type {
  margin-bottom: 1.5rem;
}

.industry-section-head {
  margin-bottom: 1.25rem;
}

.industry-section-head--center {
  text-align: center;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.75rem;
}

.industry-section-title {
  font-size: 1.35rem;
  font-weight: 700;
  color: #081B3A;
  line-height: 1.25;
  margin: 0 0 0.5rem;
}

@media (min-width: 1024px) {
  .industry-section-title {
    font-size: 1.5rem;
  }
}

.industry-section-sub {
  margin: 0;
  color: #64748b;
  font-size: 0.9375rem;
  line-height: 1.6;
}

.industry-ideal-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.625rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.industry-ideal-pill span {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.95rem;
  border-radius: 9999px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #102A56;
  background: #f8fafc;
  border: 1px solid var(--ui-border-subtle);
  line-height: 1.35;
}

.industry-visual-band {
  display: grid;
  gap: 1.5rem;
  align-items: center;
  margin: 0 auto 2.5rem;
  max-width: 72rem;
  padding: 1.25rem;
  border-radius: 1.25rem;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  border: 1px solid var(--ui-border-subtle);
}

@media (min-width: 1024px) {
  .industry-visual-band {
    grid-template-columns: 1fr 1.05fr;
    gap: 2rem;
    padding: 1.75rem;
  }
}

.industry-visual-band__eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
}

.industry-visual-band__text {
  margin: 0;
  color: #475569;
  font-size: 1rem;
  line-height: 1.7;
}

.industry-visual-band__image {
  width: 100%;
  min-height: 220px;
  max-height: 360px;
  object-fit: cover;
  object-position: 72% center;
  border-radius: 1rem;
  box-shadow: 0 16px 40px rgba(8, 27, 58, 0.12);
}

.industry-photo--flip {
  transform: scaleX(-1);
}

.industries-hub-card__media {
  overflow: hidden;
}

.industries-hub-card__image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.industries-hub-card__body {
  padding: 2rem;
}

.industry-pairs-grid {
  display: grid;
  gap: 1rem;
}

.industry-pair-card {
  display: grid;
  gap: 0.75rem;
  padding: 1rem 1.125rem;
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid rgba(8, 27, 58, 0.08);
  box-shadow: 0 8px 24px rgba(8, 27, 58, 0.05);
}

@media (min-width: 900px) {
  .industry-pair-card {
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
  }
}

.industry-pair-card__label {
  display: block;
  margin-bottom: 0.45rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.industry-pair-card__challenge .industry-pair-card__label { color: #b45309; }
.industry-pair-card__solution .industry-pair-card__label { color: #081B3A; }

.industry-pair-card__row {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}

.industry-pair-card__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.875rem;
}

.industry-pair-card__icon--challenge {
  color: #b45309;
  background: #fff7ed;
  border: 1px solid rgba(251, 146, 60, 0.25);
}

.industry-pair-card__icon--solution {
  color: var(--accent);
  background: rgba(var(--accent-rgb), 0.12);
  border: 1px solid rgba(var(--accent-rgb), 0.22);
}

.industry-pair-card__text {
  margin: 0;
  color: #475569;
  font-size: 0.875rem;
  line-height: 1.55;
}

.industry-pair-card__arrow {
  display: none;
  color: var(--accent);
  font-size: 0.875rem;
  text-align: center;
}

@media (min-width: 900px) {
  .industry-pair-card__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.industry-pair-card__challenge {
  padding: 0.75rem;
  border-radius: 0.75rem;
  background: #fffaf5;
  border: 1px solid rgba(251, 146, 60, 0.14);
}

.industry-pair-card__solution {
  padding: 0.75rem;
  border-radius: 0.75rem;
  background: #f8fafc;
  border: 1px solid rgba(8, 27, 58, 0.06);
}

.industry-challenges-grid {
  display: grid;
  gap: 0.875rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

@media (min-width: 768px) {
  .industry-challenges-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.industry-challenge-card {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 1rem 1.125rem;
  border-radius: 1rem;
  background: #fffaf5;
  border: 1px solid rgba(251, 146, 60, 0.16);
}

.industry-challenge-card__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #b45309;
  background: #fff7ed;
  font-size: 0.875rem;
}

.industry-challenge-card__text {
  margin: 0;
  color: #475569;
  font-size: 0.875rem;
  line-height: 1.55;
}

/* Challenges + benefits — dual premium cards */
.industry-section--challenges-benefits {
  margin-bottom: 2rem;
}

.industry-dual-premium {
  display: grid;
  gap: 1.25rem;
  align-items: stretch;
}

@media (min-width: 1024px) {
  .industry-dual-premium {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

.industry-premium-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.25rem 1.25rem 1.125rem;
  border-radius: 1.25rem;
  background: #ffffff;
  border: 1px solid rgba(8, 27, 58, 0.08);
  box-shadow: 0 10px 32px rgba(8, 27, 58, 0.06);
}

@media (min-width: 1024px) {
  .industry-premium-card {
    padding: 1.5rem 1.5rem 1.25rem;
  }
}

.industry-premium-card--challenges {
  border-color: rgba(251, 146, 60, 0.18);
  background: linear-gradient(180deg, #fffdfb 0%, #ffffff 100%);
}

.industry-premium-card--benefits {
  border-color: rgba(var(--accent-rgb), 0.22);
  background: linear-gradient(180deg, #fffdf8 0%, #ffffff 100%);
}

.industry-premium-card__head {
  margin-bottom: 1rem;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid rgba(8, 27, 58, 0.06);
}

.industry-premium-card__title {
  margin: 0 0 0.35rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3;
  color: #081B3A;
}

@media (min-width: 1024px) {
  .industry-premium-card__title {
    font-size: 1.25rem;
  }
}

.industry-premium-card__sub {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #64748b;
}

.industry-premium-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.625rem;
  flex: 1;
}

@media (min-width: 640px) {
  .industry-premium-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.25rem;
    row-gap: 0.625rem;
  }
}

@media (min-width: 1024px) {
  .industry-dual-premium > .industry-premium-card:only-child .industry-premium-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.industry-premium-list__item {
  display: flex;
  gap: 0.625rem;
  align-items: flex-start;
}

.industry-premium-list__icon {
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 0.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.1rem;
  font-size: 0.6875rem;
}

.industry-premium-list__icon--challenge {
  color: #b45309;
  background: #fff7ed;
  border: 1px solid rgba(251, 146, 60, 0.22);
}

.industry-premium-list__icon--check {
  color: var(--accent);
  background: rgba(var(--accent-rgb), 0.12);
  border: 1px solid rgba(var(--accent-rgb), 0.22);
}

.industry-premium-list__text {
  color: #475569;
  font-size: 0.8125rem;
  line-height: 1.5;
}

.industry-premium-list--detailed {
  grid-template-columns: 1fr;
}

.industry-premium-list__item--detailed {
  align-items: flex-start;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(8, 27, 58, 0.06);
}

.industry-premium-list__item--detailed:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.industry-premium-list__body {
  min-width: 0;
}

.industry-premium-list__title {
  margin: 0 0 0.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  color: #081B3A;
}

.industry-premium-list--detailed .industry-premium-list__text {
  margin: 0;
  font-size: 0.8125rem;
}

@media (min-width: 1024px) {
  .industry-premium-list--detailed .industry-premium-list__text {
    font-size: 0.875rem;
  }
}

@media (min-width: 1024px) {
  .industry-premium-list__text {
    font-size: 0.875rem;
  }
}

.industry-section-panel {
  border-radius: 1.25rem;
  overflow: hidden;
  border: 1px solid rgba(8, 27, 58, 0.08);
  box-shadow: 0 12px 36px rgba(8, 27, 58, 0.07);
}

.industry-section--features .industry-section-panel,
.industry-section--advanced .industry-section-panel,
.industry-section--modules .industry-section-panel {
  background: linear-gradient(160deg, #081B3A 0%, #102A56 100%);
  padding: 1.5rem 1.25rem 1.25rem;
}

@media (min-width: 1024px) {
  .industry-section--features .industry-section-panel,
  .industry-section--advanced .industry-section-panel,
  .industry-section--modules .industry-section-panel {
    padding: 2rem 2rem 1.5rem;
  }
}

.industry-section--features .industry-section-title,
.industry-section--advanced .industry-section-title,
.industry-section--modules .industry-section-title {
  color: #ffffff;
}

.industry-section--features .industry-section-sub,
.industry-section--advanced .industry-section-sub,
.industry-section--modules .industry-section-sub {
  color: rgba(255, 255, 255, 0.78);
}

.industry-feature-groups {
  display: grid;
  gap: 1rem;
}

@media (min-width: 768px) {
  .industry-feature-groups {
    grid-template-columns: repeat(2, 1fr);
  }
}

.industry-feature-group {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1rem;
  padding: 1rem 1.125rem;
}

.industry-feature-group__title {
  margin: 0 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--accent-light);
}

.industry-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.625rem;
}

.industry-feature-item {
  display: flex;
  gap: 0.625rem;
  align-items: flex-start;
}

.industry-feature-item__icon {
  color: var(--accent);
  margin-top: 0.15rem;
  flex-shrink: 0;
  width: 1rem;
  text-align: center;
  font-size: 0.8125rem;
}

.industry-feature-item__text {
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.8125rem;
  line-height: 1.5;
}

.industry-benefits-grid {
  display: grid;
  gap: 0.875rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

@media (min-width: 768px) {
  .industry-benefits-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .industry-benefits-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.industry-benefit-card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid rgba(var(--accent-rgb), 0.18);
  box-shadow: 0 10px 28px rgba(8, 27, 58, 0.06);
  min-height: 100%;
}

.industry-benefit-card__icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--accent);
  background: rgba(var(--accent-rgb), 0.12);
  font-size: 0.9375rem;
}

.industry-benefit-card__text {
  margin: 0;
  color: #081B3A;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.55;
}

.industry-section--benefits {
  padding: 1.5rem;
  border-radius: 1.25rem;
  background: #f8fafc;
  border: 1px solid rgba(8, 27, 58, 0.05);
}

@media (min-width: 1024px) {
  .industry-section--benefits {
    padding: 2rem;
  }
}

.industry-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

@media (min-width: 768px) {
  .industry-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.industry-item-card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  background: #fff;
  border: 1px solid rgba(8, 27, 58, 0.08);
  border-radius: 1rem;
  padding: 1.125rem 1.25rem;
  box-shadow: 0 10px 30px rgba(8, 27, 58, 0.06);
  height: 100%;
}

.industry-item-icon {
  color: var(--accent);
  margin-top: 0.15rem;
  flex-shrink: 0;
  width: 1.125rem;
  font-size: 1.0625rem;
  text-align: center;
  line-height: 1;
}

.industry-item-text {
  color: #475569;
  font-size: 0.875rem;
  line-height: 1.55;
}

.industry-why-card {
  background: #fff;
  border: 1px solid rgba(8, 27, 58, 0.08);
  border-radius: 1rem;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 10px 30px rgba(8, 27, 58, 0.06);
  color: #475569;
  line-height: 1.65;
}

.industry-faq-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 1024px) {
  .industry-faq-grid {
    grid-template-columns: repeat(2, 1fr);
    align-items: start;
  }
}

.industry-faq-grid details {
  margin-bottom: 0;
}

/* Homepage — industry showcase scroll stack */
.home-industries-showcase {
  overflow: clip;
}

.home-industries-stack {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.home-industry-row {
  background: #ffffff;
  border: 1px solid rgba(8, 27, 58, 0.08);
  border-radius: 1.5rem;
  box-shadow: 0 12px 40px rgba(8, 27, 58, 0.08);
  padding: 1.5rem;
  transition: transform 0.45s ease, box-shadow 0.45s ease, opacity 0.45s ease;
  opacity: 0.92;
}

.home-industry-row.is-inview {
  opacity: 1;
  box-shadow: 0 20px 50px rgba(8, 27, 58, 0.12);
}

.home-industry-row-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: center;
}

.home-industry-row-content {
  order: 2;
}

.home-industry-row-media {
  order: 1;
}

.home-industry-row-heading {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  margin-bottom: 1rem;
}

.home-industry-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.75rem;
  background: var(--accent-muted);
  color: var(--accent);
  flex-shrink: 0;
  font-size: 1.125rem;
}

.home-industry-title {
  font-size: 1.5rem;
  line-height: 1.25;
  font-weight: 700;
  color: #081b3a;
  margin: 0;
}

.home-industry-desc {
  color: #4b5563;
  line-height: 1.7;
  font-size: 0.975rem;
  margin-bottom: 1.25rem;
  max-width: 38rem;
}

.home-industry-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--accent);
  font-weight: 600;
  font-size: 0.95rem;
  transition: gap 0.2s ease, color 0.2s ease;
}

.home-industry-cta:hover {
  color: var(--accent-hover);
  gap: 0.75rem;
}

.home-industry-image {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 1.25rem;
  box-shadow: 0 16px 40px rgba(8, 27, 58, 0.14);
}

@media (min-width: 640px) {
  .home-industry-row {
    padding: 2rem;
  }

  .home-industry-title {
    font-size: 1.75rem;
  }

  .home-industry-desc {
    font-size: 1rem;
  }
}

@media (min-width: 1024px) {
  .home-industries-stack {
    gap: 2rem;
    padding-bottom: 3rem;
  }

  .home-industry-row {
    position: sticky;
    top: 7.5rem;
    z-index: var(--industry-z, 1);
    padding: 2.25rem 2.5rem;
    transform: translateY(0);
  }

  .home-industry-row.is-inview {
    transform: translateY(0);
  }

  .home-industry-row-inner {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem 3rem;
  }

  .home-industry-row-content {
    order: 1;
  }

  .home-industry-row-media {
    order: 2;
  }

  .home-industry-row--reverse .home-industry-row-content {
    order: 2;
  }

  .home-industry-row--reverse .home-industry-row-media {
    order: 1;
  }

  .home-industry-desc {
    font-size: 1.05rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-industry-row {
    position: relative;
    top: auto;
    transition: none;
  }
}

/* Homepage — About Us teaser */
.home-about-us__eyebrow {
  margin: 0 0 1.25rem;
  text-align: center;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7eb8e8;
}

.home-about-us__banner {
  margin-bottom: 1.5rem;
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(8, 27, 58, 0.1);
  border: 1px solid rgba(8, 27, 58, 0.06);
}

.home-about-us__banner-img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center center;
}

.home-about-us__card {
  max-width: 42rem;
  margin: 0 auto;
  padding: 2rem 1.75rem;
  text-align: center;
  background: #f8fafc;
  border: 1px solid rgba(8, 27, 58, 0.08);
  border-radius: 1.25rem;
  box-shadow: 0 8px 30px rgba(8, 27, 58, 0.06);
}

.home-about-us__logo {
  display: block;
  margin: 0 auto 1.25rem;
  height: 2.5rem;
  width: auto;
}

.home-about-us__text {
  margin: 0 0 1.5rem;
  font-size: 1rem;
  line-height: 1.7;
  color: #334155;
}

.home-about-us__cta {
  background: #081b3a;
  color: #ffffff;
  border: 1px solid #081b3a;
}

.home-about-us__cta:hover {
  background: #102a56;
  border-color: #102a56;
  color: #ffffff;
}

@media (min-width: 1024px) {
  .home-about-us__card {
    padding: 2.25rem 2.5rem;
  }

  .home-about-us__text {
    font-size: 1.0625rem;
  }
}

/* Homepage — Bahrain & Saudi Arabia location cards */
.home-geo-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 64rem;
  margin: 0 auto;
  align-items: stretch;
}

@media (min-width: 768px) {
  .home-geo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }
}

.home-geo-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 2.5rem;
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(135deg, #081b3a 0%, #163a6b 100%);
  box-shadow: 0 20px 50px rgba(8, 27, 58, 0.15);
  text-decoration: none;
  color: inherit;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.home-geo-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 60px rgba(8, 27, 58, 0.25);
  border-color: rgba(255, 255, 255, 0.28);
}

.home-geo-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
}

.home-geo-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: var(--accent);
  flex-shrink: 0;
}

.home-geo-card__icon-svg {
  display: block;
  width: 28px;
  height: 28px;
}

.home-geo-card__icon--image {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 24px;
  border-radius: 50%;
  border: 3px solid #ffffff;
  background: #081b3a;
  padding: 0;
  overflow: hidden;
  flex-shrink: 0;
  box-sizing: border-box;
}

.home-geo-card__icon-img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}

.home-geo-card__label {
  display: block;
  margin-bottom: 0.625rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
}

.home-geo-card__title {
  margin: 0 0 1rem;
  font-size: clamp(1.5rem, 2.4vw, 1.875rem);
  font-weight: 700;
  line-height: 1.2;
  color: #ffffff;
}

.home-geo-card__desc {
  margin: 0 0 1.5rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #cbd5e1;
}

.home-geo-card__features {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.home-geo-card__feature {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #e2e8f0;
}

.home-geo-card__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.15rem;
  border-radius: 50%;
  background: transparent;
  border: 1.5px solid var(--accent);
  color: var(--accent);
  font-size: 0.5rem;
}

.home-geo-card__footer {
  margin-top: auto;
  padding-top: 2rem;
}

.home-geo-card__cta-line {
  display: block;
  width: 3rem;
  height: 2px;
  margin-bottom: 1rem;
  background: linear-gradient(90deg, var(--accent) 0%, rgba(var(--accent-rgb), 0.25) 100%);
  border-radius: 1px;
}

.home-geo-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--accent);
  transition: gap 0.3s ease;
}

.home-geo-card:hover .home-geo-card__cta {
  gap: 0.75rem;
}

/* Products page — premium hero & cards */
.products-hero {
  background: linear-gradient(135deg, #081b3a 0%, #163a6b 100%);
}

.products-hero__content {
  max-width: 48rem;
  margin: 0 auto;
  text-align: center;
}

.products-hero__eyebrow {
  margin: 0 0 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
}

.products-hero__title {
  margin: 0 0 1.25rem;
  font-size: clamp(1.75rem, 3.2vw, 2.75rem);
  font-weight: 700;
  line-height: 1.15;
  color: #ffffff;
}

.products-hero__subtitle {
  margin: 0 auto;
  max-width: 40rem;
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #cbd5e1;
}

.products-catalog {
  padding: 2.5rem 0 4rem;
  background: #ffffff;
}

@media (min-width: 1024px) {
  .products-catalog {
    padding: 3rem 0 5rem;
  }
}

.products-premium-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 64rem;
  margin: 0 auto;
  align-items: stretch;
}

@media (min-width: 768px) {
  .products-premium-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }
}

.products-premium-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 2rem;
  border-radius: 24px;
  border: 1px solid rgba(8, 27, 58, 0.06);
  border-top: 4px solid var(--accent);
  background: #ffffff;
  box-shadow: 0 15px 40px rgba(8, 27, 58, 0.08);
  text-decoration: none;
  color: inherit;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-top-color 0.3s ease;
}

.products-premium-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 60px rgba(8, 27, 58, 0.15);
  border-top-color: var(--accent-light);
}

.products-premium-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
}

.products-premium-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  margin-bottom: 1.5rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--accent);
  font-size: 1.75rem;
}

.products-premium-card__title {
  margin: 0 0 0.5rem;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.25;
  color: #081b3a;
}

.products-premium-card__tagline {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--accent);
}

.products-premium-card__desc {
  margin: 0 0 1.5rem;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #475569;
}

.products-premium-card__features {
  list-style: none;
  margin: 0 0 1.75rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  flex: 1 1 auto;
}

.products-premium-card__feature {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #334155;
}

.products-premium-card__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.125rem;
  border-radius: 50%;
  border: 1.5px solid var(--accent);
  color: var(--accent);
  font-size: 0.5rem;
}

.products-premium-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: auto;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--accent);
  transition: gap 0.3s ease;
}

.products-premium-card:hover .products-premium-card__link {
  text-decoration: underline;
  gap: 0.75rem;
}

.products-ecosystem {
  margin: 3rem auto 0;
  max-width: 36rem;
  text-align: center;
}

@media (min-width: 768px) {
  .products-ecosystem {
    margin-top: 4rem;
    max-width: 42rem;
  }
}

.products-ecosystem__img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

/* About Us page */
.about-us-banner-section {
  padding-bottom: 0;
  margin-top: -1rem;
}

.about-us-banner {
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(8, 27, 58, 0.1);
  border: 1px solid rgba(8, 27, 58, 0.06);
}

.about-us-banner__img {
  display: block;
  width: 100%;
  aspect-ratio: 21 / 8;
  object-fit: cover;
  object-position: center 35%;
}

.about-us-story__title {
  margin: 0 0 2rem;
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
  font-weight: 700;
  line-height: 1.25;
  color: #081b3a;
  text-align: center;
}

.about-us-story__cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 2.5rem;
}

.about-us-story__p {
  margin: 0 0 1.25rem;
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #475569;
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
}

.about-us-story__p--last {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .about-us-story__cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-us-story__col .about-us-story__p:last-child {
    margin-bottom: 0;
  }
}

.about-why-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.about-why-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 1.35rem;
  background: #ffffff;
  border: 1px solid rgba(8, 27, 58, 0.08);
  border-radius: 1rem;
  box-shadow: 0 4px 18px rgba(8, 27, 58, 0.04);
  transition: box-shadow 300ms ease, transform 300ms ease;
}

.about-why-card:hover {
  box-shadow: 0 10px 28px rgba(8, 27, 58, 0.08);
  transform: translateY(-2px);
}

.about-why-card__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.75rem;
  background: rgba(201, 162, 39, 0.12);
  color: var(--accent);
  font-size: 1.125rem;
}

.about-why-card__text {
  margin: 0;
  padding-top: 0.35rem;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.45;
  color: #081b3a;
}

@media (min-width: 640px) {
  .about-why-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

@media (min-width: 1024px) {
  .about-why-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .about-why-card {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.75rem 1.5rem;
  }

  .about-why-card__text {
    padding-top: 0;
  }
}

.about-mv-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 56rem;
  margin: 0 auto;
}

.about-mv-card {
  padding: 2rem 1.75rem;
  background: #f8fafc;
  border: 1px solid rgba(8, 27, 58, 0.08);
  border-radius: 1.25rem;
  box-shadow: 0 8px 30px rgba(8, 27, 58, 0.05);
}

.about-mv-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 1rem;
  border-radius: 0.875rem;
  background: rgba(201, 162, 39, 0.12);
  color: var(--accent);
  font-size: 1.25rem;
}

.about-mv-card__title {
  margin: 0 0 0.75rem;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.3;
  color: #081b3a;
}

.about-mv-card__body {
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
  text-align: justify;
  text-justify: inter-word;
}

@media (min-width: 768px) {
  .about-mv-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }

  .about-mv-card {
    padding: 2.25rem 2rem;
  }
}

/* ── Homepage: Complete ERP Suite premium integration section ── */
.erp-suite-premium {
  position: relative;
  padding: 4.5rem 0 5rem;
  overflow: hidden;
  background: #081b3a;
  color: #e2e8f0;
}

.erp-suite-premium__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 55% at 50% 42%, rgba(var(--accent-rgb), 0.07), transparent 68%),
    linear-gradient(180deg, #081b3a 0%, #0c2247 50%, #081b3a 100%);
  pointer-events: none;
}

.erp-suite-premium__container {
  position: relative;
  z-index: 1;
}

.erp-suite-premium__grid {
  display: grid;
  gap: 2.5rem;
  align-items: center;
}

@media (min-width: 1024px) {
  .erp-suite-premium__grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 2rem 2.25rem;
  }
}

@media (min-width: 1280px) {
  .erp-suite-premium {
    padding: 5.5rem 0 6rem;
  }

  .erp-suite-premium__grid {
    gap: 2.5rem 3rem;
  }
}

.erp-suite-premium__intro,
.erp-suite-premium__diagram,
.erp-suite-premium__modules {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.75s ease, transform 0.75s ease;
}

.erp-suite-premium.is-active .erp-suite-premium__intro {
  opacity: 1;
  transform: none;
  transition-delay: 0.05s;
}

.erp-suite-premium.is-active .erp-suite-premium__diagram {
  opacity: 1;
  transform: none;
  transition-delay: 0.15s;
}

.erp-suite-premium.is-active .erp-suite-premium__modules {
  opacity: 1;
  transform: none;
  transition-delay: 0.25s;
}

.erp-suite-premium__label {
  display: inline-block;
  margin-bottom: 0.875rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
}

.erp-suite-premium__heading {
  margin: 0 0 0.625rem;
  font-size: clamp(1.75rem, 2.4vw, 2.25rem);
  font-weight: 800;
  line-height: 1.2;
  color: #fff;
}

.erp-suite-premium__subtitle {
  margin: 0 0 1.125rem;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.88);
}

.erp-suite-premium__desc {
  margin: 0 0 1.75rem;
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #94a3b8;
}

@media (min-width: 1280px) {
  .erp-suite-premium__desc {
    font-size: 1.125rem;
    line-height: 1.8;
  }
}

.erp-suite-premium__counters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.75rem;
}

.erp-suite-premium__counter {
  padding: 1rem 0.75rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
  text-align: center;
}

.erp-suite-premium__counter-value {
  margin: 0 0 0.25rem;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.1;
  color: #fff;
}

.erp-suite-premium__counter-suffix {
  color: var(--accent);
}

.erp-suite-premium__counter-label {
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.02em;
  color: #94a3b8;
}

@media (min-width: 640px) {
  .erp-suite-premium__counter {
    padding: 1.125rem 1rem;
  }

  .erp-suite-premium__counter-value {
    font-size: 1.75rem;
  }

  .erp-suite-premium__counter-label {
    font-size: 0.75rem;
  }
}

.erp-suite-premium__benefits {
  margin: 0 0 1.75rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.75rem;
}

.erp-suite-premium__benefit {
  display: flex;
  gap: 0.625rem;
  align-items: flex-start;
  font-size: 1rem;
  line-height: 1.7;
  color: #cbd5e1;
}

@media (min-width: 1280px) {
  .erp-suite-premium__benefit {
    font-size: 1.0625rem;
    line-height: 1.75;
  }
}

.erp-suite-premium__benefit-icon {
  margin-top: 0.2rem;
  flex-shrink: 0;
  color: var(--accent);
  font-size: 0.75rem;
}

.erp-suite-premium__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.875rem 1.375rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(var(--accent-rgb), 0.45);
  background: rgba(var(--accent-rgb), 0.12);
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.erp-suite-premium__cta:hover {
  background: rgba(var(--accent-rgb), 0.22);
  border-color: var(--accent);
  transform: translateY(-1px);
}

.erp-suite-premium__cta-icon {
  color: var(--accent);
  transition: transform 0.25s ease;
}

.erp-suite-premium__cta:hover .erp-suite-premium__cta-icon {
  transform: translateX(4px);
}

[dir="rtl"] .erp-suite-premium__cta:hover .erp-suite-premium__cta-icon {
  transform: translateX(-4px);
}

/* ERP network diagram */
.erp-suite-premium__diagram {
  order: 2;
}

.erp-suite-premium__intro {
  order: 1;
}

.erp-suite-premium__modules {
  order: 3;
}

.erp-network {
  position: relative;
  width: 100%;
  max-width: 26rem;
  margin: 0 auto;
  aspect-ratio: 1;
}

.erp-network__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.erp-network__line {
  stroke: rgba(var(--accent-rgb), 0.28);
  stroke-width: 1;
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
  transition: stroke-dashoffset 1.1s ease;
  transition-delay: var(--line-delay, 0s);
}

.erp-suite-premium.is-active .erp-network__line {
  stroke-dashoffset: 0;
}

.erp-network__pulse {
  fill: var(--accent);
  opacity: 0;
  transform-origin: center;
  transform-box: fill-box;
}

.erp-suite-premium.is-active .erp-network__pulse {
  animation: erp-network-pulse 2.8s ease-in-out infinite;
  animation-delay: var(--pulse-delay, 0s);
}

@keyframes erp-network-pulse {
  0%, 100% { opacity: 0.25; transform: scale(1); }
  50% { opacity: 0.85; transform: scale(1.6); }
}

.erp-network__hub {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9.5rem;
  height: 3.5rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(var(--accent-rgb), 0.25);
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.28);
  transform: translate(-50%, -50%);
}

.erp-network__logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 2.25rem;
  object-fit: contain;
}

.erp-network__node {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  width: 4.75rem;
  text-decoration: none;
  opacity: 0;
  transform: translate(-50%, -50%) rotate(var(--node-angle, 0deg)) translateY(-9.25rem) rotate(calc(-1 * var(--node-angle, 0deg))) scale(0.92);
  transition: opacity 0.5s ease, transform 0.5s ease;
  transition-delay: var(--node-delay, 0s);
}

.erp-suite-premium.is-active .erp-network__node {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(var(--node-angle, 0deg)) translateY(-9.25rem) rotate(calc(-1 * var(--node-angle, 0deg))) scale(1);
}

.erp-network__node:hover .erp-network__node-dot {
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(var(--accent-rgb), 0.2);
}

.erp-network__node:hover .erp-network__node-label {
  color: #fff;
}

.erp-network__node-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: rgba(var(--accent-rgb), 0.75);
  border: 2px solid #081b3a;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}

.erp-network__node-label {
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  color: #94a3b8;
  transition: color 0.2s ease;
}

@media (min-width: 640px) {
  .erp-network {
    max-width: 28rem;
  }

  .erp-network__hub {
    width: 10.5rem;
    height: 3.75rem;
  }

  .erp-network__logo {
    max-height: 2.5rem;
  }

  .erp-network__node {
    width: 5.25rem;
    transform: translate(-50%, -50%) rotate(var(--node-angle, 0deg)) translateY(-10.25rem) rotate(calc(-1 * var(--node-angle, 0deg))) scale(0.92);
  }

  .erp-suite-premium.is-active .erp-network__node {
    transform: translate(-50%, -50%) rotate(var(--node-angle, 0deg)) translateY(-10.25rem) rotate(calc(-1 * var(--node-angle, 0deg))) scale(1);
  }

  .erp-network__node-label {
    font-size: 0.75rem;
  }
}

/* Module category cards */
.erp-module-cat {
  padding: 1.125rem 1.25rem;
  margin-bottom: 0.75rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.55s ease, transform 0.55s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  transition-delay: var(--cat-delay, 0s);
}

.erp-suite-premium.is-active .erp-module-cat {
  opacity: 1;
  transform: none;
}

.erp-module-cat:last-child {
  margin-bottom: 0;
}

.erp-module-cat:hover {
  border-color: rgba(var(--accent-rgb), 0.35);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}

.erp-suite-premium.is-active .erp-module-cat:hover {
  transform: translateY(-2px);
}

.erp-module-cat__title {
  margin: 0 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent);
}

.erp-module-cat__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.375rem;
}

.erp-module-cat__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.5rem 0.625rem;
  margin: 0 -0.625rem;
  border-radius: 0.5rem;
  font-size: 0.9375rem;
  line-height: 1.45;
  color: #cbd5e1;
  text-decoration: none;
  transition: color 0.2s ease, background 0.2s ease;
}

@media (min-width: 1280px) {
  .erp-module-cat__link {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.erp-module-cat__link:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.04);
}

.erp-module-cat__arrow {
  flex-shrink: 0;
  font-size: 0.6875rem;
  color: #64748b;
  transition: transform 0.22s ease, color 0.22s ease;
}

.erp-module-cat__link:hover .erp-module-cat__arrow {
  color: var(--accent);
  transform: translateX(3px);
}

[dir="rtl"] .erp-module-cat__link:hover .erp-module-cat__arrow {
  transform: translateX(-3px);
}

@media (prefers-reduced-motion: reduce) {
  .erp-suite-premium__intro,
  .erp-suite-premium__diagram,
  .erp-suite-premium__modules,
  .erp-network__node,
  .erp-module-cat {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .erp-network__line {
    stroke-dashoffset: 0;
    transition: none;
  }

  .erp-network__pulse {
    animation: none;
    opacity: 0.5;
  }
}

/* ── Automotive industry page — premium enterprise layout ── */
.ind-auto-page {
  --ind-auto-navy: #081b3a;
  --ind-auto-navy-mid: #102a56;
  --ind-auto-gold: #d4a037;
  --ind-auto-gold-dark: #b8862e;
  --ind-auto-surface: #f4f7fb;
  /* Industry header image — shared dimensions (matches Tailoring banner) */
  --industry-header-radius: 2rem;
  --industry-header-height: 25rem;
  --industry-header-aspect: 8 / 5;
}

@media (min-width: 768px) {
  .ind-auto-page {
    --industry-header-height: 31.25rem;
  }
}

@media (min-width: 1024px) {
  .ind-auto-page {
    --industry-header-height: 40.625rem;
  }
}

.ind-auto-hero {
  position: relative;
  padding: 6.5rem 0 4.5rem;
  color: #fff;
  overflow: hidden;
}

.ind-auto-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 72% 40%, rgba(var(--accent-rgb), 0.1), transparent 65%),
    linear-gradient(135deg, var(--ind-auto-navy) 0%, var(--ind-auto-navy-mid) 52%, #0a1f42 100%);
}

.ind-auto-hero__container {
  position: relative;
  z-index: 1;
}

.ind-auto-hero__breadcrumb {
  margin-bottom: 2rem;
}

.ind-auto-hero__grid {
  display: grid;
  gap: 2.5rem;
  align-items: center;
}

@media (min-width: 1024px) {
  .ind-auto-hero {
    padding: 7.5rem 0 5rem;
  }

  .ind-auto-hero__grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 3rem;
  }
}

.ind-auto-hero__badge {
  display: inline-block;
  margin-bottom: 0.75rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: rgba(var(--accent-rgb), 0.15);
  border: 1px solid rgba(var(--accent-rgb), 0.35);
  color: var(--ind-auto-gold);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ind-auto-hero__title {
  margin: 0 0 1rem;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.ind-auto-hero__desc {
  margin: 0 0 1.75rem;
  max-width: 34rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.82);
}

.ind-auto-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.ind-auto-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.8rem 1.35rem;
  border-radius: 0.75rem;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, border-color 0.22s ease, color 0.22s ease;
}

.ind-auto-btn:hover {
  transform: translateY(-2px);
}

.ind-auto-btn--primary {
  background: var(--ind-auto-gold);
  color: var(--ind-auto-navy);
  box-shadow: 0 8px 24px rgba(var(--accent-rgb), 0.35);
}

.ind-auto-btn--primary:hover {
  background: var(--ind-auto-gold-dark);
  color: #fff;
  box-shadow: 0 12px 28px rgba(var(--accent-rgb), 0.4);
}

.ind-auto-btn--ghost {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
}

.ind-auto-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.35);
}

.ind-auto-btn--outline {
  background: #fff;
  border: 1.5px solid rgba(8, 27, 58, 0.12);
  color: var(--ind-auto-navy);
}

.ind-auto-btn--outline:hover {
  border-color: var(--ind-auto-gold);
  color: var(--ind-auto-gold-dark);
}

.ind-auto-btn--lg {
  padding: 0.95rem 1.65rem;
  font-size: 1rem;
}

/* Reusable industry header image container (hero + GCC bands) */
.industry-header-image,
.ind-auto-hero__image-wrap,
.ind-auto-gcc__image-wrap {
  position: relative;
  width: 100%;
  height: var(--industry-header-height, 25rem);
  aspect-ratio: var(--industry-header-aspect, 8 / 5);
  border-radius: var(--industry-header-radius, 2rem);
  overflow: visible;
  box-shadow: 0 24px 60px rgba(8, 27, 58, 0.22);
}

.industry-header-image__img,
.ind-auto-hero__image,
.ind-auto-gcc__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  border-radius: var(--industry-header-radius, 2rem);
  background: #e8edf5;
}

.ind-auto-float-badge {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(8, 27, 58, 0.08);
  box-shadow: 0 10px 30px rgba(8, 27, 58, 0.12);
  color: var(--ind-auto-navy);
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}

.ind-auto-float-badge i {
  color: var(--ind-auto-gold);
  font-size: 0.7rem;
}

.ind-auto-float--tl { top: 8%; left: -4%; }
.ind-auto-float--tr { top: 14%; right: -3%; }
.ind-auto-float--br { bottom: 12%; right: 2%; }
.ind-auto-float--bl { bottom: 10%; left: -2%; }

@media (max-width: 1023px) {
  .ind-auto-float--tl { left: 2%; }
  .ind-auto-float--tr { right: 2%; }
  .ind-auto-float--bl { left: 2%; }
}

.ind-auto-quick {
  margin-top: -2rem;
  position: relative;
  z-index: 3;
  padding-bottom: 2.5rem;
}

.ind-auto-quick__strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  padding: 1.25rem;
  border-radius: 1.25rem;
  background: #fff;
  border: 1px solid rgba(8, 27, 58, 0.06);
  box-shadow: 0 18px 50px rgba(8, 27, 58, 0.1);
}

@media (min-width: 768px) {
  .ind-auto-quick__strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    padding: 1.5rem 1.75rem;
  }
}

@media (min-width: 1024px) {
  .ind-auto-quick__strip {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

.ind-auto-quick__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  padding: 0.85rem 0.5rem;
  border-radius: 0.85rem;
  text-align: center;
  transition: background 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}

.ind-auto-quick__item:hover {
  background: rgba(var(--accent-rgb), 0.08);
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(var(--accent-rgb), 0.12);
}

.ind-auto-quick__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  background: rgba(8, 27, 58, 0.06);
  color: var(--ind-auto-navy);
  font-size: 1rem;
  transition: background 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.ind-auto-quick__item:hover .ind-auto-quick__icon {
  background: var(--ind-auto-gold);
  color: #fff;
  transform: scale(1.08);
}

.ind-auto-quick__label {
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--ind-auto-navy);
}

.ind-auto-metrics-section {
  padding: 3.5rem 0;
  background: #fff;
}

.ind-auto-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

@media (min-width: 768px) {
  .ind-auto-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

.ind-auto-metric {
  padding: 1.75rem 1.25rem;
  border-radius: 1rem;
  background: var(--ind-auto-surface);
  border: 1px solid rgba(8, 27, 58, 0.06);
  text-align: center;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.ind-auto-metric:hover {
  transform: translateY(-4px);
  border-color: rgba(var(--accent-rgb), 0.35);
  box-shadow: 0 14px 36px rgba(8, 27, 58, 0.08);
}

.ind-auto-metric__value {
  margin: 0 0 0.35rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  line-height: 1;
  color: var(--ind-auto-navy);
  letter-spacing: -0.02em;
}

.ind-auto-metric__value--text {
  font-size: clamp(1rem, 2vw, 1.2rem);
  font-weight: 700;
  line-height: 1.35;
}

.ind-auto-metric__suffix {
  color: var(--ind-auto-gold);
}

.ind-auto-metric__label {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #5a6b82;
  line-height: 1.4;
}

.ind-auto-ideal,
.ind-auto-outcomes {
  padding: 4rem 0;
}

.ind-auto-ideal {
  background: var(--ind-auto-surface);
}

.ind-auto-outcomes {
  background: #fff;
}

.ind-auto-section-head {
  margin-bottom: 2rem;
}

.ind-auto-section-head--center {
  text-align: center;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

.ind-auto-section-head__title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  color: var(--ind-auto-navy);
  letter-spacing: -0.02em;
}

.ind-auto-section-head__sub {
  margin: 0;
  font-size: 1rem;
  color: #5a6b82;
  line-height: 1.6;
}

.ind-auto-ideal__grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
}

@media (min-width: 640px) {
  .ind-auto-ideal__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .ind-auto-ideal__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.ind-auto-ideal-card {
  padding: 1.35rem 1.25rem;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(8, 27, 58, 0.07);
  box-shadow: 0 8px 24px rgba(8, 27, 58, 0.05);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.ind-auto-ideal-card:hover {
  transform: translateY(-5px);
  border-color: var(--ind-auto-gold);
  box-shadow: 0 16px 40px rgba(8, 27, 58, 0.1);
}

.ind-auto-ideal-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 0.85rem;
  border-radius: 0.7rem;
  background: rgba(var(--accent-rgb), 0.12);
  color: var(--ind-auto-gold);
  font-size: 1rem;
  transition: transform 0.22s ease, background 0.22s ease;
}

.ind-auto-ideal-card:hover .ind-auto-ideal-card__icon {
  transform: scale(1.1);
  background: var(--ind-auto-gold);
  color: #fff;
}

.ind-auto-ideal-card__title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--ind-auto-navy);
}

.ind-auto-gcc {
  padding: 4.5rem 0;
  background: #fff;
}

.ind-auto-gcc__grid {
  display: grid;
  gap: 2.5rem;
  align-items: center;
}

@media (min-width: 1024px) {
  .ind-auto-gcc__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 3.5rem;
  }
}

.ind-auto-gcc__badge {
  display: inline-block;
  margin-bottom: 0.85rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: rgba(var(--accent-rgb), 0.12);
  color: var(--ind-auto-gold-dark);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ind-auto-gcc__title {
  margin: 0 0 1rem;
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--ind-auto-navy);
  letter-spacing: -0.02em;
}

.ind-auto-gcc__desc {
  margin: 0 0 1.25rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: #4a5c72;
}

.ind-auto-gcc__feats {
  margin: 0 0 1.75rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.65rem;
}

.ind-auto-gcc__feat {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.9375rem;
  color: var(--ind-auto-navy);
  line-height: 1.5;
}

.ind-auto-gcc__feat i {
  margin-top: 0.2rem;
  color: var(--ind-auto-gold);
  font-size: 0.8rem;
}

.ind-auto-gcc__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.ind-auto-outcomes__grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.25rem;
}

@media (min-width: 640px) {
  .ind-auto-outcomes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .ind-auto-outcomes__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.ind-auto-outcome-card {
  padding: 1.5rem;
  border-radius: 1rem;
  background: var(--ind-auto-surface);
  border: 1px solid rgba(8, 27, 58, 0.06);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

.ind-auto-outcome-card:hover {
  transform: translateY(-5px);
  background: #fff;
  border-color: rgba(var(--accent-rgb), 0.35);
  box-shadow: 0 16px 40px rgba(8, 27, 58, 0.08);
}

.ind-auto-outcome-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 1rem;
  border-radius: 0.75rem;
  background: rgba(8, 27, 58, 0.06);
  color: var(--ind-auto-navy);
  font-size: 1.05rem;
  transition: transform 0.22s ease, background 0.22s ease, color 0.22s ease;
}

.ind-auto-outcome-card:hover .ind-auto-outcome-card__icon {
  transform: scale(1.1);
  background: var(--ind-auto-gold);
  color: #fff;
}

.ind-auto-outcome-card__title {
  margin: 0 0 0.5rem;
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--ind-auto-navy);
  line-height: 1.35;
}

.ind-auto-outcome-card__desc {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #5a6b82;
}

.ind-auto-lower {
  padding: 4rem 0 3rem;
  background: var(--ind-auto-surface);
}

.ind-auto-content-wrap {
  max-width: 72rem;
  margin: 0 auto;
}

.page-automotive .ind-auto-lower .industry-section--challenges-benefits,
.page-industry-premium .ind-auto-lower .industry-section--challenges-benefits,
.ind-auto-page .ind-auto-lower .industry-section--challenges-benefits {
  margin-bottom: 2.5rem;
}

.page-automotive .ind-auto-lower .industry-section--features .industry-section-panel,
.page-industry-premium .ind-auto-lower .industry-section--features .industry-section-panel,
.ind-auto-page .ind-auto-lower .industry-section--features .industry-section-panel {
  background: #fff;
  border-radius: 1.25rem;
  border: 1px solid rgba(8, 27, 58, 0.06);
  box-shadow: 0 12px 36px rgba(8, 27, 58, 0.06);
  padding: 2rem 1.5rem;
}

.page-automotive .ind-auto-lower .industry-section--features .industry-section-title,
.page-industry-premium .ind-auto-lower .industry-section--features .industry-section-title,
.ind-auto-page .ind-auto-lower .industry-section--features .industry-section-title {
  color: var(--ind-auto-navy);
}

.page-automotive .ind-auto-lower .industry-section--features .industry-section-sub,
.page-industry-premium .ind-auto-lower .industry-section--features .industry-section-sub,
.ind-auto-page .ind-auto-lower .industry-section--features .industry-section-sub {
  color: #5a6b82;
}

.page-automotive .ind-auto-lower .industry-feature-group,
.page-industry-premium .ind-auto-lower .industry-feature-group,
.ind-auto-page .ind-auto-lower .industry-feature-group {
  background: var(--ind-auto-surface);
  border: 1px solid rgba(8, 27, 58, 0.08);
}

.page-automotive .ind-auto-lower .industry-feature-item__text,
.page-industry-premium .ind-auto-lower .industry-feature-item__text,
.ind-auto-page .ind-auto-lower .industry-feature-item__text {
  color: #4a5c72;
}

@media (min-width: 768px) {
  .page-automotive .ind-auto-lower .industry-section--features .industry-section-panel,
  .page-industry-premium .ind-auto-lower .industry-section--features .industry-section-panel,
  .ind-auto-page .ind-auto-lower .industry-section--features .industry-section-panel {
    padding: 2.5rem 2rem;
  }
}

.ind-auto-final-cta {
  margin-top: 2.5rem;
}

.ind-auto-final-cta__inner {
  padding: 2.5rem 2rem;
  border-radius: 1.25rem;
  background: linear-gradient(135deg, var(--ind-auto-navy) 0%, var(--ind-auto-navy-mid) 100%);
  color: #fff;
  text-align: center;
}

.ind-auto-final-cta__title {
  margin: 0 0 1rem;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.ind-auto-final-cta__text {
  margin: 0 auto 0.75rem;
  max-width: 42rem;
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
}

.ind-auto-final-cta__inner .ind-auto-btn {
  margin-top: 1.25rem;
}

.page-automotive #faq,
.page-industry-premium #faq {
  background: #fff;
}

@media (prefers-reduced-motion: reduce) {
  .ind-auto-quick__item,
  .ind-auto-metric,
  .ind-auto-ideal-card,
  .ind-auto-outcome-card,
  .ind-auto-btn,
  .ind-auto-quick__icon,
  .ind-auto-ideal-card__icon,
  .ind-auto-outcome-card__icon {
    transition: none;
  }

  .ind-auto-quick__item:hover,
  .ind-auto-metric:hover,
  .ind-auto-ideal-card:hover,
  .ind-auto-outcome-card:hover,
  .ind-auto-btn:hover {
    transform: none;
  }
}

/* News hero — staggered letter reveal */
.letter-reveal__track {
  display: inline;
}

.letter-reveal__char {
  display: inline-block;
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: calc(var(--letter-i, 0) * 0.06s);
  will-change: opacity, transform;
}

.letter-reveal__space {
  display: inline-block;
  width: 0.28em;
}

[data-letter-reveal].is-letter-reveal-active .letter-reveal__char {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  [data-letter-reveal] .letter-reveal__char {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ── Accent-only enforcement (orange ~5% of UI) ── */

/* Headings: navy only — no orange gradients */
h1 .highlight,
h2 .highlight,
h3 .highlight,
h4 .highlight,
.page-hero h1,
.page-hero h2 {
  background: none !important;
  -webkit-text-fill-color: unset !important;
  background-clip: unset !important;
}

h1 .highlight,
h2 .highlight,
h3 .highlight,
h4 .highlight {
  color: var(--brand-navy-mid) !important;
}

/* Body copy: never accent-colored (eyebrow labels use span, not p) */
p.text-secondary:not(.uppercase):not(.font-semibold),
li.text-secondary:not(.uppercase) {
  color: var(--ui-gray) !important;
}

/* Inline content links */
main a:not(.btn-primary):not(.request-demo):not(.btn-secondary):not(.home-hero-btn-outline):not(.module-page-card):not(.solutions-feature-card):not(.industries-hub-card):not(.card-hover):not(.nav-dropdown-item):not(.mobile-nav-link):not([class*="bg-secondary"]):not([class*="bg-dark"]):not([class*="bg-primary"]) {
  transition: color 0.25s ease;
}

main .prose a:not(.btn-primary):not(.request-demo),
main [data-i18n-html] a:not(.btn-primary):not(.request-demo):not(.btn-secondary) {
  color: var(--accent);
}

main .prose a:not(.btn-primary):not(.request-demo):hover,
main [data-i18n-html] a:not(.btn-primary):not(.request-demo):not(.btn-secondary):hover {
  color: var(--accent-hover);
}

/* Footer: contact icons neutral; social orange on hover only */
footer.bg-dark ul li > i.text-secondary,
footer.bg-primary ul li > i.text-secondary,
footer[class*="bg-"] ul li > i.fas.text-secondary,
footer[class*="bg-"] ul li > i.fab.text-secondary {
  color: rgba(255, 255, 255, 0.5) !important;
}

footer a[class*="hover:bg-secondary"]:hover {
  background-color: var(--accent) !important;
}

/* Neutral card borders — accent reserved for icons and key numbers */
.bg-white.border.border-gray-100,
.bg-white.rounded-2xl.border,
.trust-glass-card,
.industry-ideal-pill span {
  border-color: var(--ui-border-subtle);
}

/* Feature / checkmark icons keep accent */
.fas.text-secondary,
.fab.text-secondary,
.far.text-secondary,
i.text-secondary[class*="fa-"] {
  color: var(--accent);
}

/* Nav/header icons: white default on dark bar; accent when active */
#header.site-header .nav-dropdown-chevron,
#header.site-header #search-open-btn i,
#header.site-header #mobile-menu-btn i {
  color: rgba(255, 255, 255, 0.75);
}

#header.site-header .nav-dropdown-trigger.active .nav-dropdown-chevron {
  color: var(--accent);
}

/* Pagination / tabs active state */
.google-review-dot.bg-secondary,
.pagination-active,
[aria-current="page"].text-secondary {
  background-color: var(--accent);
  color: #fff;
}

/* Remove orange from decorative page-hero blobs */
.page-hero .bg-secondary\/30,
.hero-gradient .bg-secondary\/30 {
  background-color: rgba(255, 255, 255, 0.1) !important;
}

/* ── Accent visibility — guarantee orange on allowed UI (loads last) ── */
.btn-primary,
.request-demo,
a.btn-primary,
button.btn-primary {
  background-color: var(--accent) !important;
  background-image: linear-gradient(180deg, var(--accent) 0%, #C9923F 100%) !important;
  color: #fff !important;
  border-color: var(--accent-hover) !important;
}

.btn-primary:hover,
.btn-primary:focus-visible,
.request-demo:hover,
.request-demo:focus-visible,
a.btn-primary:hover,
button.btn-primary:hover {
  background-color: var(--accent-hover) !important;
  background-image: none !important;
}

.bg-secondary,
a.bg-secondary,
button.bg-secondary {
  background-color: var(--accent) !important;
}

.hover\:bg-secondary:hover,
a.hover\:bg-secondary:hover,
button.hover\:bg-secondary:hover {
  background-color: var(--accent) !important;
}

.bg-secondary-dark,
.hover\:bg-secondary-dark:hover {
  background-color: var(--accent-hover) !important;
}

.text-secondary,
span.text-secondary,
a.text-secondary,
.uppercase.text-secondary,
.text-secondary.uppercase {
  color: var(--accent) !important;
}

.hover\:text-secondary:hover,
a.hover\:text-secondary:hover {
  color: var(--accent) !important;
}

a.text-secondary:hover,
.text-secondary.hover\:underline:hover {
  color: var(--accent-hover) !important;
}

.fas.text-secondary,
.fab.text-secondary,
.far.text-secondary,
i.text-secondary[class*="fa-"] {
  color: var(--accent) !important;
}

.bg-secondary\/10 {
  background-color: var(--accent-muted) !important;
}

footer ul li > i.text-white\/50,
footer ul li > i[class*="text-white"] {
  color: rgba(255, 255, 255, 0.5) !important;
}

#header.site-header .nav-link:hover,
#header.site-header .nav-dropdown-trigger:hover {
  color: var(--accent) !important;
}

#header.site-header .nav-link.active,
#header.site-header .nav-dropdown-trigger.active {
  color: var(--accent) !important;
}

/* ════════════════════════════════════════════════════════════════════
   2026 REDESIGN FINISH LAYER — loads last, wins ties.
   Modern enterprise finish: pill CTAs, hairline cards, softer depth,
   refined dropdowns/footer/forms. Brand navy + gold preserved.
   ════════════════════════════════════════════════════════════════════ */

/* Content width — tighter, more readable canvas */
.max-w-site {
  max-width: 1440px;
}

/* Buttons — final pill finish (re-asserted after accent enforcement) */
.btn-primary,
.request-demo,
a.btn-primary,
button.btn-primary {
  border-radius: 999px !important;
  background-image: linear-gradient(180deg, #DCAC58 0%, #C9923F 100%) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset, 0 10px 24px -8px rgba(var(--accent-rgb), 0.55);
}

.btn-primary:hover,
.btn-primary:focus-visible,
.request-demo:hover,
.request-demo:focus-visible,
a.btn-primary:hover,
button.btn-primary:hover {
  background-image: linear-gradient(180deg, #CE9C46 0%, #B8862E 100%) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 16px 32px -10px rgba(var(--accent-rgb), 0.6);
}

.btn-secondary,
a.bg-secondary,
button.bg-secondary,
a.bg-white\/10.border,
a[href^="tel"].bg-white\/10 {
  border-radius: 999px !important;
}

/* Card depth — swap heavy shadows for hairline ring + soft ambient */
.shadow-premium {
  box-shadow: 0 0 0 1px var(--ui-border-subtle), var(--shadow-card) !important;
}

.shadow-premium-lg {
  box-shadow: 0 0 0 1px var(--ui-border-subtle), 0 2px 4px rgba(8, 27, 58, 0.05), 0 24px 48px -20px rgba(8, 27, 58, 0.18) !important;
}

.card-hover {
  transition: transform 0.3s var(--ease-out-soft), box-shadow 0.3s var(--ease-out-soft), border-color 0.3s ease;
}

.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 0 0 1px rgba(8, 27, 58, 0.12), var(--shadow-card-hover);
}

/* Nav dropdowns — frosted panel, softer corners */
.nav-dropdown-panel {
  border-radius: 16px;
  border: 1px solid rgba(8, 27, 58, 0.08);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 2px 6px rgba(8, 27, 58, 0.06), 0 24px 48px -16px rgba(8, 27, 58, 0.22);
  padding: 0.5rem;
}

.nav-dropdown-item {
  border-radius: 10px;
  transition: background 0.15s ease, color 0.15s ease;
}

.nav-dropdown-item:hover,
.nav-dropdown-item.active {
  background: rgba(8, 27, 58, 0.05);
  color: var(--brand-navy);
}

.nav-dropdown-item.active {
  color: var(--accent-hover);
  font-weight: 600;
}

/* Trust stat cards — flat, hairline, gold icon chip */
.trust-glass-card {
  background: #ffffff;
  border: 1px solid var(--ui-border-subtle);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  transition: transform 0.3s var(--ease-out-soft), box-shadow 0.3s var(--ease-out-soft), border-color 0.3s ease;
}

.trust-glass-card:hover {
  transform: translateY(-4px);
  border-color: rgba(var(--accent-rgb), 0.35);
  box-shadow: var(--shadow-card-hover);
}

.trust-glass-card__icon {
  background: var(--accent-muted) !important;
  color: var(--accent-hover) !important;
  border-radius: 12px;
}

/* FAQ accordions — hairline cards, navy focus */
details.group {
  border: 1px solid var(--ui-border-subtle) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: none !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

details.group:hover {
  border-color: rgba(8, 27, 58, 0.18) !important;
}

details.group[open] {
  border-color: rgba(var(--accent-rgb), 0.4) !important;
  box-shadow: var(--shadow-card) !important;
}

/* Forms — modern inputs with gold focus ring */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
select,
textarea {
  border-radius: 12px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.18) !important;
  outline: none;
}

/* Footer — deep navy, gold hairline, quieter links */
.site-footer {
  background:
    radial-gradient(ellipse 70% 60% at 85% 0%, rgba(20, 51, 107, 0.55) 0%, transparent 60%),
    linear-gradient(180deg, #081B3A 0%, #050F24 100%) !important;
  border-top: 1px solid rgba(var(--accent-rgb), 0.25);
  position: relative;
}

.site-footer::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(var(--accent-rgb), 0.65) 50%, transparent 100%);
  pointer-events: none;
}

.site-footer .footer-col-heading {
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.9);
}

.site-footer .footer-link-list a {
  color: rgba(203, 213, 225, 0.75);
  transition: color 0.2s ease;
}

.site-footer .footer-link-list a:hover {
  color: var(--accent-light);
}

.site-footer .footer-bottom {
  border-top-color: rgba(255, 255, 255, 0.08);
}

/* Social buttons — round, gold on hover */
.site-footer a[aria-label="LinkedIn"],
.site-footer a[aria-label="Facebook"],
.site-footer a[aria-label="Instagram"],
.site-footer a[aria-label="WhatsApp"] {
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.site-footer a[aria-label="LinkedIn"]:hover,
.site-footer a[aria-label="Facebook"]:hover,
.site-footer a[aria-label="Instagram"]:hover,
.site-footer a[aria-label="WhatsApp"]:hover {
  background: var(--accent) !important;
  border-color: var(--accent);
  transform: translateY(-2px);
}

/* CTA band — gradient navy panel with gold aura */
.cta-band .cta-band__panel {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 55% 90% at 88% 10%, rgba(var(--accent-rgb), 0.16) 0%, transparent 58%),
    radial-gradient(ellipse 70% 80% at 10% 110%, rgba(20, 51, 107, 0.8) 0%, transparent 62%),
    linear-gradient(150deg, #0A2148 0%, #081B3A 55%, #050F24 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: var(--radius-panel) !important;
}

.cta-band .cta-band__panel::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(ellipse 90% 120% at 80% 0%, #000 20%, transparent 75%);
  mask-image: radial-gradient(ellipse 90% 120% at 80% 0%, #000 20%, transparent 75%);
}

.cta-band .cta-band__panel > * {
  position: relative;
  z-index: 1;
}

/* Section rhythm — softer alternating surface */
.bg-surface {
  background-color: var(--ui-surface) !important;
}

/* Scroll-driven reveal stays subtle */
[data-aos="fade-up"] {
  transition-timing-function: var(--ease-out-soft);
}

/* Missing utility in the compiled tailwind build (h-16 exists, w-16 doesn't) */
.w-16 {
  width: 4rem;
}
