:root {
  --bg: #060a12;
  --bg-soft: #0d1422;
  --surface: rgba(12, 18, 31, 0.68);
  --surface-strong: rgba(14, 22, 36, 0.9);
  --line: rgba(255, 255, 255, 0.1);
  --text: #eef3ff;
  --muted: #9ba8c7;
  --white: #ffffff;
  --accent: #c8102e;
  --accent-2: #ff6f61;
  --accent-glow: rgba(200, 16, 46, 0.32);
  --success: #7ef0bd;
  --shadow: 0 18px 46px rgba(0, 0, 0, 0.24);
  --shadow-soft: 0 10px 26px rgba(0, 0, 0, 0.18);
  --radius-xl: 28px;
  --radius-lg: 22px;
  --radius-md: 18px;
  --container: min(1240px, calc(100vw - 48px));
}

body[data-branch="acquisition"] {
  --accent: #d6a04d;
  --accent-2: #f5d08b;
  --accent-glow: rgba(214, 160, 77, 0.28);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: radial-gradient(circle at top, rgba(50, 72, 110, 0.22), transparent 42%), var(--bg);
  color: var(--text);
  min-height: 100vh;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }

.site-shell {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
}

.ambient,
.grid-fx,
.noise-fx {
  position: fixed;
  inset: 0;
  pointer-events: none;
}

.ambient {
  opacity: .46;
  will-change: transform;
}
.ambient-1 {
  background: radial-gradient(circle at 15% 20%, var(--accent-glow), transparent 36%);
  animation: floatA 34s ease-in-out infinite alternate;
}
.ambient-2 {
  background: radial-gradient(circle at 80% 15%, rgba(58, 98, 170, 0.18), transparent 34%);
  animation: floatB 42s ease-in-out infinite alternate;
}
.ambient-3 {
  background: radial-gradient(circle at 70% 80%, rgba(255, 255, 255, 0.045), transparent 32%);
  animation: floatC 52s ease-in-out infinite alternate;
}

.grid-fx {
  background-image: 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: 96px 96px;
  mask-image: radial-gradient(circle at center, black 30%, transparent 90%);
  opacity: .16;
}

.noise-fx {
  display: none;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  width: var(--container);
  margin: 20px auto 0;
  padding: 14px 18px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(7, 12, 20, 0.96), rgba(7, 12, 20, 0.92));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.brand img { width: 170px; }
.nav {
  display: flex;
  align-items: center;
  gap: 22px;
}
.nav a,
.mobile-menu a,
.footer-linklist a,
.footer-contactlist a {
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
  transition: color .28s ease, transform .28s ease;
}
.nav a:hover,
.mobile-menu a:hover,
.footer-linklist a:hover,
.footer-contactlist a:hover { color: var(--white); transform: translateY(-1px); }
.topbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.lang-switch {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
}
.lang-switch button {
  border: 0;
  padding: 8px 10px;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font-weight: 700;
  letter-spacing: .02em;
}
.lang-switch button.is-active {
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  color: var(--white);
  box-shadow: 0 10px 22px rgba(0,0,0,0.18);
}
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  border-radius: 50%;
  position: relative;
}
.menu-toggle span {
  position: absolute;
  left: 11px;
  right: 11px;
  height: 2px;
  background: var(--white);
  border-radius: 99px;
}
.menu-toggle span:first-child { top: 16px; }
.menu-toggle span:last-child { top: 25px; }
.mobile-menu {
  width: var(--container);
  margin: 12px auto 0;
  padding: 14px 16px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(7, 12, 21, 0.98), rgba(7, 12, 21, 0.95));
  display: grid;
  gap: 12px;
}

.section-rail {
  position: fixed;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 30;
  display: grid;
  gap: 14px;
}
.section-rail a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
}
.section-rail span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.4);
  background: rgba(255,255,255,0.05);
  transition: transform .28s ease, background .28s ease, box-shadow .28s ease;
}
.section-rail a.active span,
.section-rail a:hover span {
  transform: scale(1.35);
  background: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(255,255,255,0.06);
}

.section {
  width: var(--container);
  margin: 0 auto;
  padding: 110px 0 0;
}
.hero { min-height: 100vh; display: flex; align-items: center; padding-top: 48px; }
.hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1.2fr .9fr;
  gap: 28px;
  width: 100%;
}
.hero-copy,
.hero-panel-card,
.dynamic-frame,
.contact-form,
.glass-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.025));
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: var(--shadow-soft);
  backdrop-filter: none;
  contain: layout paint;
}
.glass-card {
  border-radius: var(--radius-xl);
}
.hero-copy {
  padding: 42px;
  position: relative;
  overflow: hidden;
}
.hero-copy::before,
.hero-panel-card::before,
.dynamic-frame::before,
.contact-form::before {
  content: '';
  position: absolute;
  inset: -1px;
  background: linear-gradient(135deg, rgba(255,255,255,0.12), transparent 28%, transparent 72%, rgba(255,255,255,0.12));
  border-radius: inherit;
  pointer-events: none;
}
.hero-backdrop {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-orbit {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.09);
  box-shadow: inset 0 0 30px rgba(255,255,255,0.03);
}
.orbit-1 { width: 320px; height: 320px; right: 18%; top: 16%; animation: orbitRotate 82s linear infinite; opacity: .52; }
.orbit-2 { width: 470px; height: 470px; right: 9%; top: 6%; animation: orbitRotateReverse 110s linear infinite; opacity: .24; }
.orbit-3 { display: none; }
.route-map {
  position: absolute;
  right: -6%;
  top: 4%;
  width: min(56vw, 700px);
  opacity: .34;
  animation: routeFloat 26s ease-in-out infinite alternate;
}
.route-map path,
.route-map circle {
  stroke: rgba(255,255,255,0.34);
  fill: var(--accent);
  stroke-width: 1.5;
}
.route-map path {
  fill: none;
  stroke-dasharray: 8 12;
}

.eyebrow-line,
.section-kicker,
.panel-topline,
.mode-pill,
.mode-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--white);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.eyebrow-dot,
.status-pulse {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow: 0 0 0 4px rgba(255,255,255,0.05);
}
.status-pulse { animation: pulse 5.8s ease-in-out infinite; }
.hero h1 {
  font-size: clamp(44px, 7vw, 78px);
  line-height: .98;
  margin: 18px 0 18px;
  max-width: 11ch;
}
.hero-lead,
.dynamic-summary,
.section-head p,
.showcase-card p,
.contact .glass-card p,
.field label,
.timeline article p,
.trust-points article p,
.capability-grid article p {
  color: var(--muted);
  line-height: 1.75;
}
.hero-lead { max-width: 64ch; font-size: 17px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 22px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 800;
  transition: transform .28s ease, box-shadow .28s ease, background .28s ease, border-color .28s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary {
  color: var(--white);
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow: 0 12px 28px rgba(0,0,0,0.22);
}
.button-secondary,
.button-ghost {
  color: var(--white);
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.04);
}
.button-block { width: 100%; }

.hero-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 34px;
}
.hero-metrics article {
  padding: 20px;
  border-radius: 20px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}
.hero-metrics strong {
  display: block;
  font-size: 24px;
  margin-bottom: 6px;
}
.hero-metrics span { color: var(--muted); font-size: 13px; }

.hero-panel-card { position: relative; border-radius: var(--radius-xl); padding: 26px; min-height: 100%; }
.active-mode-card,
.signal-row,
.preview-columns article,
.showcase-card,
.capability-grid article,
.timeline article,
.industry-item,
.contact-cards article,
.trust-points article {
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.09);
  background: rgba(255,255,255,0.04);
}
.active-mode-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 20px;
  margin: 18px 0 16px;
}
.active-mode-card small,
.signal-row span,
.preview-columns span,
.showcase-card span,
.contact-cards span,
.trust-points article span,
.capability-grid article span,
.industry-item span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.active-mode-card strong,
.preview-columns strong,
.showcase-card strong,
.contact-cards strong,
.trust-points article strong,
.capability-grid article strong,
.industry-item strong { font-size: 20px; }
.mode-badge,
.mode-pill {
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.04);
}
.hero-signals { display: grid; gap: 12px; }
.signal-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
}
.signal-row strong { text-align: right; max-width: 54%; }
.hero-preview { margin-top: 16px; overflow: hidden; }
.preview-track {
  height: 3px;
  width: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), rgba(255,255,255,0.08), var(--accent-2));
  margin-bottom: 16px;
}
.preview-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.preview-columns article,
.showcase-card,
.capability-grid article,
.timeline article,
.industry-item,
.contact-cards article,
.trust-points article {
  padding: 20px;
}
.preview-columns p,
.showcase-card p { margin: 10px 0 0; }

.section-head { max-width: 770px; margin-bottom: 28px; }
.section-head h2,
.dynamic-frame h2,
.contact-grid h2,
.trust-grid h2 {
  font-size: clamp(30px, 4vw, 54px);
  line-height: 1.05;
  margin: 10px 0 14px;
}

.branch-selector {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.branch-card {
  position: relative;
  overflow: hidden;
  min-height: 250px;
  padding: 24px;
  text-align: left;
  color: var(--text);
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,0.1);
  background: linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.04));
  box-shadow: var(--shadow);
  transform: translateY(0) scale(1);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease, background .35s ease;
}
.branch-card:hover,
.branch-card.is-active {
  transform: translateY(-4px) scale(1.01);
  border-color: rgba(255,255,255,0.18);
  box-shadow: 0 16px 34px rgba(0,0,0,0.24), 0 0 0 1px rgba(255,255,255,0.08);
}

.branch-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(220px circle at 78% 24%, rgba(255,255,255,0.08), transparent 58%);
  opacity: .72;
  pointer-events: none;
}

.card-glow {
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  right: -90px;
  top: -70px;
  background: radial-gradient(circle, var(--accent-glow), transparent 68%);
  opacity: .78;
}
.card-meta strong {
  display: block;
  font-size: 28px;
  margin-top: 12px;
}
.branch-card p { color: var(--muted); line-height: 1.7; max-width: 56ch; margin: 16px 0 20px; }
.card-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.card-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
  font-weight: 600;
}

.dynamic-frame { position: relative; padding: 34px; }
.frame-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}
.dynamic-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 20px;
}
.executive-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 24px;
}
.executive-strip article {
  padding: 18px;
  border-radius: 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}
.executive-strip strong { display: block; margin-top: 10px; font-size: 18px; }
.showcase-card { min-height: 100%; }
.capability-grid,
.industry-grid,
.trust-points,
.timeline {
  display: grid;
  gap: 16px;
}
.capability-grid { grid-template-columns: repeat(4, 1fr); margin-top: 24px; }
.capability-grid article { min-height: 200px; }
.capability-grid article strong,
.timeline article strong,
.industry-item strong { display: block; margin: 12px 0 12px; }
.timeline { grid-template-columns: repeat(4, 1fr); }
.timeline article {
  position: relative;
  min-height: 240px;
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
}
.timeline article::before {
  content: '';
  position: absolute;
  top: 24px;
  left: 20px;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  opacity: .14;
}
.timeline-step {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  font-weight: 900;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow: 0 10px 22px rgba(0,0,0,0.18);
}
.timeline article strong { margin-top: 18px; font-size: 22px; }

.industry-grid { grid-template-columns: repeat(3, 1fr); }
.industry-item {
  min-height: 160px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.industry-item::after {
  content: '';
  width: 52px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  box-shadow: none;
}
.trust-grid,
.contact-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 22px;
}
.trust-points { grid-template-columns: repeat(2, 1fr); }
.trust-points article { min-height: 180px; }

.contact .glass-card,
.contact-form { padding: 32px; position: relative; }
.contact-cards {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}
.contact-cards strong {
  display: block;
  margin-top: 10px;
  word-break: break-word;
}
.field, .field-grid { margin-bottom: 16px; }
.field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.field label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 700;
}
.field input,
.field textarea {
  width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.04);
  color: var(--white);
  padding: 16px 18px;
  outline: none;
  transition: border-color .22s ease, box-shadow .22s ease;
}
.field input:focus,
.field textarea:focus {
  border-color: rgba(255,255,255,0.28);
  box-shadow: 0 0 0 4px rgba(255,255,255,0.05), 0 0 0 1px var(--accent);
}
.form-feedback {
  min-height: 24px;
  margin: 14px 0 0;
  color: var(--muted);
}
.form-feedback.is-success { color: var(--success); }
.form-feedback.is-error { color: #ff9c9c; }

.site-footer {
  width: var(--container);
  margin: 110px auto 34px;
}

.footer-top {
  padding: 22px 26px;
  display: grid;
  grid-template-columns: 1.3fr auto auto;
  align-items: center;
  gap: 22px;
  border-radius: 28px;
}

.footer-brandline {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.footer-mark {
  width: 82px;
  height: 82px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03));
  border: 1px solid rgba(255,255,255,0.08);
}

.footer-mark img { width: 48px; height: auto; }
.footer-brandcopy strong {
  display: block;
  font-size: 22px;
  margin-bottom: 6px;
}
.footer-brandcopy p {
  margin: 0;
  color: var(--muted);
  max-width: 560px;
}

.footer-socials {
  display: inline-grid;
  grid-auto-flow: column;
  gap: 0;
  border-left: 1px solid rgba(255,255,255,0.08);
  border-right: 1px solid rgba(255,255,255,0.08);
}

.footer-social {
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  color: var(--white);
  font-size: 24px;
  font-weight: 800;
  border-right: 1px solid rgba(255,255,255,0.08);
  transition: color .24s ease, background-color .24s ease, transform .24s ease;
}
.footer-social:last-child { border-right: 0; }
.footer-social:hover {
  color: var(--accent-2);
  background: rgba(255,255,255,0.03);
  transform: translateY(-2px);
}

.footer-backtop {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 34px;
  font-weight: 300;
  color: var(--white);
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow: 0 14px 32px rgba(0,0,0,0.2);
  transition: transform .24s ease, box-shadow .24s ease;
}
.footer-backtop:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(0,0,0,0.24);
}

.footer-grid {
  margin-top: 22px;
  display: grid;
  grid-template-columns: 1.2fr .7fr .7fr .8fr;
  gap: 18px;
}

.footer-card {
  min-height: 240px;
  padding: 28px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: var(--shadow-soft);
}

.footer-label {
  display: inline-flex;
  margin-bottom: 16px;
  color: var(--white);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.footer-cta-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
    radial-gradient(circle at 78% 20%, var(--accent-glow), transparent 36%);
}
.footer-cta-card h3 {
  font-size: clamp(32px, 4vw, 54px);
  line-height: .98;
  margin: 0 0 20px;
  max-width: 9ch;
}
.footer-cta-card p {
  margin: 0 0 24px;
  color: var(--muted);
  line-height: 1.75;
  max-width: 38ch;
}

.footer-linklist,
.footer-contactlist {
  display: grid;
  gap: 14px;
}
.footer-linklist a,
.footer-contactlist a {
  color: var(--text);
  transition: color .22s ease, transform .22s ease;
}
.footer-linklist a:hover,
.footer-contactlist a:hover {
  color: var(--accent-2);
  transform: translateX(3px);
}
.footer-unitlist a { font-weight: 700; }
.footer-contactlist span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 6px;
}
.footer-contactlist strong {
  display: block;
  font-size: 17px;
  line-height: 1.35;
  word-break: break-word;
}

.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .55s ease, transform .55s ease;
}
.reveal.from-left { transform: translateX(-22px); }
.reveal.from-right { transform: translateX(22px); }
.reveal.is-visible { opacity: 1; transform: translate(0, 0); }
.hide-mobile { display: inline-flex; }

@keyframes floatA {
  0%,100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(24px, -12px, 0); }
}
@keyframes floatB {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(-18px, 12px, 0) scale(1.06); }
}
@keyframes floatC {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(-10px, -22px, 0) scale(.98); }
}
@keyframes orbitRotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes orbitRotateReverse {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); }
}
@keyframes dashFlow {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: 360; }
}
@keyframes pulse {
  0%,100% { box-shadow: 0 0 0 8px var(--accent-glow); transform: scale(1); }
  50% { box-shadow: 0 0 0 12px rgba(255,255,255,0.08); transform: scale(1.05); }
}


.section:not(.hero) {
  content-visibility: auto;
  contain-intrinsic-size: 760px;
}

.hero-copy,
.hero-panel-card,
.branch-card,
.dynamic-frame,
.timeline article,
.industry-item,
.capability-grid article,
.trust-points article,
.contact-cards article,
.contact-form,
.site-footer,
.footer-card {
  will-change: auto;
}

@media (hover: hover) and (pointer: fine) {
  .branch-card:hover,
  .branch-card.is-active {
    transform: translateY(-3px);
  }

  .button:hover { transform: translateY(-1px); }
}

@media (hover: none) {
  .nav a:hover,
  .mobile-menu a:hover,
  .footer-linklist a:hover,
  .footer-contactlist a:hover,
  .section-rail a:hover span,
  .button:hover,
  .branch-card:hover {
    transform: none;
    box-shadow: inherit;
  }

  .branch-card::after {
    display: none;
  }
}

body.is-lite .ambient-3,
body.is-lite .orbit-3,
body.is-lite .grid-fx,
body.is-lite .noise-fx {
  display: none;
}

body.is-lite .ambient {
  filter: blur(28px);
  opacity: .4;
}

body.is-lite .hero-orbit,
body.is-lite .route-map path,
body.is-lite .status-pulse,
body.is-lite .ambient-1,
body.is-lite .ambient-2,
body.is-lite .ambient-3 {
  animation: none !important;
}

body.is-lite .route-map {
  opacity: .18;
}

body.is-lite .hero-copy,
body.is-lite .hero-panel-card,
body.is-lite .dynamic-frame,
body.is-lite .contact-form,
body.is-lite .site-footer,
body.is-lite .glass-card,
body.is-lite .branch-card,
body.is-lite .footer-card {
  box-shadow: var(--shadow-soft);
}

body.is-switching .dynamic-frame,
body.is-switching .hero-copy,
body.is-switching .hero-panel-card {
  opacity: .92;
  transform: translateY(4px);
  transition: opacity .18s ease, transform .18s ease;
}

@media (max-width: 1120px) {
  .desktop-nav, .hide-mobile, .section-rail { display: none; }
  .ambient-3, .noise-fx { display: none; }
  .hero-orbit { opacity: .45; }
  .menu-toggle { display: inline-flex; }
  .hero-grid,
  .dynamic-grid,
  .trust-grid,
  .contact-grid,
  .branch-selector,
  .timeline,
  .industry-grid,
  .capability-grid,
  .trust-points,
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .hero { min-height: auto; padding-top: 88px; }
  .route-map { right: -12%; width: min(88vw, 760px); }
}

@media (max-width: 820px) {
  :root { --container: min(1240px, calc(100vw - 24px)); }
  .ambient-2, .ambient-3, .grid-fx, .noise-fx, .hero-orbit, .route-map { display: none; }
  .topbar { margin-top: 10px; border-radius: 24px; }
  .brand img { width: 140px; }
  .hero-grid,
  .dynamic-grid,
  .trust-grid,
  .contact-grid,
  .branch-selector,
  .timeline,
  .industry-grid,
  .capability-grid,
  .trust-points,
  .field-grid,
  .preview-columns,
  .hero-metrics,
  .executive-strip { grid-template-columns: 1fr; }
  .hero-copy,
  .hero-panel-card,
  .dynamic-frame,
  .contact .glass-card,
  .contact-form,
  .footer-top,
  .footer-card { padding: 24px; }
  .hero h1 { max-width: 100%; }
  .site-footer { margin-top: 92px; }
  .footer-top,
  .footer-grid { grid-template-columns: 1fr; }
  .footer-socials { border: 1px solid rgba(255,255,255,0.08); border-radius: 22px; overflow: hidden; justify-self: stretch; }
  .footer-social { width: 100%; min-width: 0; }
  .footer-backtop { width: 64px; height: 64px; font-size: 28px; }
  .section { padding-top: 92px; }
  .route-map { opacity: .28; top: 10%; }
  .signal-row { flex-direction: column; align-items: flex-start; }
  .signal-row strong { max-width: 100%; text-align: left; }
  .footer-top { grid-template-columns: 1fr; align-items: flex-start; }
}

@keyframes routeFloat {
  0%,100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(-16px, 10px, 0); }
}

@media (max-width: 1260px) {
  .section-rail { right: 12px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-socials { border: 0; justify-content: start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}


/* ===== V5.4 premium performance overrides ===== */
:root {
  --page-bg: #060a12;
  --panel-bg: linear-gradient(180deg, rgba(13,18,31,0.88), rgba(10,14,24,0.76));
  --card-border: rgba(255,255,255,0.08);
  --route-stroke: rgba(255,255,255,0.24);
  --route-node: #c8102e;
  --footer-strip: rgba(255,255,255,0.04);
  --footer-card-bg: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
}

body {
  background:
    radial-gradient(circle at 12% 16%, rgba(200,16,46,0.14), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(35,86,170,0.12), transparent 26%),
    var(--page-bg);
  transition: background-color .35s ease, color .35s ease, background .35s ease;
}

body[data-branch="acquisition"] {
  --bg: #f5f7fa;
  --bg-soft: #ffffff;
  --surface: rgba(255,255,255,0.84);
  --surface-strong: rgba(255,255,255,0.98);
  --line: rgba(19,31,50,0.10);
  --text: #172131;
  --muted: #596579;
  --white: #ffffff;
  --accent: #c8102e;
  --accent-2: #e14b63;
  --accent-glow: rgba(200, 16, 46, 0.14);
  --page-bg: #f5f7fa;
  --panel-bg: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.82));
  --card-border: rgba(15,23,42,0.08);
  --route-stroke: rgba(23,33,49,0.16);
  --route-node: #c8102e;
  --footer-strip: rgba(12,18,31,0.04);
  --footer-card-bg: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,249,252,0.96));
}

body[data-branch="acquisition"] .topbar,
body[data-branch="acquisition"] .hero-copy,
body[data-branch="acquisition"] .hero-panel-card,
body[data-branch="acquisition"] .dynamic-frame,
body[data-branch="acquisition"] .contact-form,
body[data-branch="acquisition"] .glass-card,
body[data-branch="acquisition"] .branch-card,
body[data-branch="acquisition"] .footer-top,
body[data-branch="acquisition"] .footer-card,
body[data-branch="acquisition"] .mobile-menu-panel {
  background: var(--panel-bg);
  border-color: var(--card-border);
  box-shadow: 0 18px 40px rgba(15,23,42,0.08);
}

body[data-branch="acquisition"] .nav a,
body[data-branch="acquisition"] .mobile-menu a,
body[data-branch="acquisition"] .footer-linklist a,
body[data-branch="acquisition"] .footer-contactlist a,
body[data-branch="acquisition"] .footer-brandcopy p,
body[data-branch="acquisition"] .field input,
body[data-branch="acquisition"] .field textarea,
body[data-branch="acquisition"] .lang-switch button,
body[data-branch="acquisition"] .section-head p,
body[data-branch="acquisition"] .hero-lead,
body[data-branch="acquisition"] .dynamic-summary,
body[data-branch="acquisition"] .footer-help,
body[data-branch="acquisition"] .contact > .contact-grid > div p,
body[data-branch="acquisition"] .showcase-card p,
body[data-branch="acquisition"] .timeline p,
body[data-branch="acquisition"] .trust p,
body[data-branch="acquisition"] .capability-grid p {
  color: var(--muted);
}

body[data-branch="acquisition"] .field input,
body[data-branch="acquisition"] .field textarea,
body[data-branch="acquisition"] .footer-subscribe input {
  background: rgba(247,249,252,0.95);
  border-color: rgba(15,23,42,0.10);
  color: var(--text);
}
body[data-branch="acquisition"] .button-secondary,
body[data-branch="acquisition"] .button-ghost {
  color: var(--text);
  border-color: rgba(15,23,42,0.12);
  background: rgba(255,255,255,0.8);
}
body[data-branch="acquisition"] .section-rail span {
  border-color: rgba(17,24,39,0.30);
  background: rgba(17,24,39,0.03);
}
body[data-branch="acquisition"] .route-map path,
body[data-branch="acquisition"] .route-map circle {
  stroke: var(--route-stroke);
}
body[data-branch="acquisition"] .route-map circle {
  fill: var(--route-node);
}

.ambient {
  inset: auto;
  width: min(34vw, 520px);
  height: min(34vw, 520px);
  border-radius: 50%;
  opacity: .72;
  will-change: transform;
  filter: blur(4px);
}
.ambient-1 {
  top: 70px;
  left: -80px;
  background: radial-gradient(circle, rgba(200,16,46,0.25) 0%, rgba(200,16,46,0.13) 36%, transparent 72%);
  animation: premiumOrbA 20s ease-in-out infinite alternate;
}
.ambient-2 {
  top: 0;
  right: -80px;
  background: radial-gradient(circle, rgba(34,87,171,0.22) 0%, rgba(34,87,171,0.11) 38%, transparent 72%);
  animation: premiumOrbB 24s ease-in-out infinite alternate;
}
.ambient-3 { display: none !important; }
.grid-fx {
  opacity: .08;
  background-size: 132px 132px;
  mask-image: none;
}
.hero-orbit { box-shadow: none; }
.orbit-2 { opacity: .14; }
.route-map {
  opacity: .36;
  animation: routeFloat 22s ease-in-out infinite alternate;
}
.route-map path,
.route-map circle {
  stroke: var(--route-stroke);
}
.route-map circle { fill: var(--route-node); }

.topbar,
.hero-copy,
.hero-panel-card,
.dynamic-frame,
.contact-form,
.glass-card,
.branch-card,
.footer-top,
.footer-card,
.mobile-menu-panel {
  background: var(--panel-bg);
  border-color: var(--card-border);
  transition: background .35s ease, border-color .35s ease, box-shadow .35s ease, color .35s ease;
}

.mobile-menu[hidden] { display: none !important; }
.mobile-menu {
  position: fixed;
  inset: 86px 24px auto;
  z-index: 60;
  width: auto;
  margin: 0;
  padding: 0;
  background: transparent;
}
.mobile-menu-panel {
  padding: 18px;
  display: grid;
  gap: 14px;
  border-radius: 24px;
}
.mobile-menu a {
  display: block;
  font-size: 15px;
}
.menu-open { overflow: hidden; }

.section-rail {
  right: 14px;
}
.section-rail span {
  width: 10px;
  height: 10px;
}

.footer-top {
  position: relative;
  overflow: hidden;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) auto auto;
  gap: 0;
  align-items: stretch;
}
.footer-top::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 14px;
  background: linear-gradient(90deg, transparent, var(--accent-glow), transparent);
  opacity: .75;
}
.footer-brandline {
  padding: 28px 32px;
}
.footer-socials {
  border-left: 1px solid var(--card-border);
  border-right: 1px solid var(--card-border);
}
.footer-social {
  width: 92px;
  height: auto;
  min-height: 120px;
  font-size: 22px;
}
.footer-backtop {
  width: 84px;
  height: 84px;
  align-self: center;
  justify-self: center;
}
.footer-grid-ref {
  grid-template-columns: 1.55fr .68fr .68fr .68fr .68fr;
  gap: 18px;
}
.footer-newsletter-card {
  min-height: 420px;
}
.footer-newsletter-card h3 {
  font-size: clamp(40px, 4.4vw, 66px);
  line-height: .95;
  max-width: 9ch;
  margin: 0 0 26px;
}
.footer-subscribe {
  display: grid;
  grid-template-columns: 1fr auto;
  margin: 0 0 20px;
  border-radius: 0;
  overflow: hidden;
  border: 1px solid var(--card-border);
}
.footer-subscribe input {
  min-width: 0;
  border: 0;
  background: rgba(255,255,255,0.02);
  color: var(--text);
  padding: 18px 20px;
}
.footer-subscribe button {
  border: 0;
  min-width: 192px;
  padding: 18px 28px;
  background: linear-gradient(90deg, rgba(144,110,18,0.26), rgba(200,16,46,0.84));
  color: #fff;
  font-weight: 800;
}
body[data-branch="acquisition"] .footer-subscribe button,
.internal-page .footer-subscribe button {
  background: linear-gradient(90deg, #951126, #c8102e);
}
.footer-help {
  margin: 0;
  color: var(--muted);
  max-width: 32ch;
  line-height: 1.75;
}
.footer-nav-card {
  min-height: 340px;
}
.footer-nav-card .footer-linklist,
.footer-nav-card .footer-contactlist {
  gap: 18px;
}
.footer-linklist a,
.footer-contactlist a {
  font-size: 15px;
}
.footer-unitlist a { font-weight: 700; }

.internal-page {
  --page-bg: #f7f8fb;
  --text: #16202f;
  --muted: #5f6d80;
  --panel-bg: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(252,252,253,0.95));
  --card-border: rgba(18,28,45,0.08);
  --accent: #c8102e;
  --accent-2: #e14b63;
  background:
    radial-gradient(circle at 8% 14%, rgba(200,16,46,0.09), transparent 24%),
    radial-gradient(circle at 90% 16%, rgba(28,70,151,0.08), transparent 20%),
    #f7f8fb;
}
.internal-page .site-shell { min-height: 100vh; }
.internal-page .section-rail { display: none; }
.internal-page .topbar,
.internal-page .glass-card,
.internal-page .footer-top,
.internal-page .footer-card,
.internal-page .mobile-menu-panel {
  background: var(--panel-bg);
  border-color: var(--card-border);
  box-shadow: 0 18px 40px rgba(15,23,42,0.08);
}
.internal-page .nav a,
.internal-page .footer-linklist a,
.internal-page .footer-contactlist a,
.internal-page .footer-brandcopy p,
.internal-page .field input,
.internal-page .field textarea,
.internal-page .hero-lead,
.internal-page p,
.internal-page li,
.internal-page .lang-switch a {
  color: var(--muted);
}
.internal-page .lang-switch {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  border: 1px solid var(--card-border);
  background: rgba(255,255,255,0.75);
}
.internal-page .lang-switch a {
  padding: 8px 10px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 13px;
}
.internal-page .lang-switch a.is-active {
  background: linear-gradient(135deg, #951126, #c8102e);
  color: #fff;
}
.internal-hero {
  width: var(--container);
  margin: 0 auto;
  padding: 132px 0 24px;
}
.internal-hero-card {
  padding: 40px;
  border-radius: 32px;
}
.internal-hero-card h1 {
  margin: 12px 0 14px;
  font-size: clamp(42px, 6vw, 84px);
  line-height: .95;
  letter-spacing: -.04em;
  max-width: 12ch;
}
.internal-hero-card p {
  max-width: 62ch;
  font-size: 18px;
  line-height: 1.75;
}
.internal-meta {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.internal-meta article,
.editorial-card,
.policy-card,
.blog-card,
.article-card {
  border-radius: 24px;
  border: 1px solid var(--card-border);
  background: var(--panel-bg);
  box-shadow: 0 18px 38px rgba(15,23,42,0.06);
}
.internal-meta article {
  padding: 20px 22px;
}
.internal-meta span,
.policy-card span,
.blog-card span,
.article-card span {
  display: inline-block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.editorial-grid,
.policy-grid,
.blog-grid,
.article-grid,
.mini-grid {
  width: var(--container);
  margin: 24px auto 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.policy-card,
.blog-card,
.article-card,
.editorial-card {
  padding: 28px;
}
.policy-card h3,
.blog-card h3,
.article-card h3,
.editorial-card h3 {
  margin: 0 0 12px;
  font-size: 28px;
}
.policy-card p,
.blog-card p,
.article-card p,
.editorial-card p { margin: 0; line-height: 1.75; }
.policy-card ul {
  margin: 14px 0 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.75;
}
.section-caption {
  width: var(--container);
  margin: 70px auto 0;
}
.section-caption h2 {
  margin: 8px 0 12px;
  font-size: clamp(32px, 4vw, 54px);
}
.section-caption p { max-width: 66ch; line-height: 1.8; color: var(--muted); }
.blog-card .blog-meta,
.article-card .blog-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.blog-meta b {
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent);
}
.footer-spacer { height: 12px; }

@keyframes premiumOrbA {
  0% { transform: translate3d(0,0,0); }
  100% { transform: translate3d(60px, 34px, 0); }
}
@keyframes premiumOrbB {
  0% { transform: translate3d(0,0,0); }
  100% { transform: translate3d(-48px, 44px, 0); }
}

@media (max-width: 1120px) {
  .mobile-menu { inset: 82px 16px auto; }
  .footer-grid-ref { grid-template-columns: 1fr 1fr; }
  .footer-newsletter-card { grid-column: 1 / -1; min-height: auto; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-socials { border-left: 0; border-right: 0; border-top: 1px solid var(--card-border); }
  .internal-meta,
  .editorial-grid,
  .policy-grid,
  .blog-grid,
  .article-grid,
  .mini-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
  .grid-fx, .orbit-2 { display: none !important; }
  .ambient { width: 72vw; height: 72vw; opacity: .52; }
  .footer-grid-ref,
  .internal-meta,
  .editorial-grid,
  .policy-grid,
  .blog-grid,
  .article-grid,
  .mini-grid { grid-template-columns: 1fr; }
  .footer-brandline { padding: 22px 24px; }
  .footer-social { min-height: 88px; width: auto; }
  .footer-newsletter-card h3 { font-size: clamp(34px, 10vw, 52px); }
  .footer-subscribe { grid-template-columns: 1fr; }
  .footer-subscribe button { width: 100%; min-width: 0; }
  .internal-hero-card { padding: 26px; }
  .internal-hero-card h1 { font-size: clamp(34px, 13vw, 54px); }
  .internal-hero-card p { font-size: 16px; }
}

body[data-branch="acquisition"] .nav a:hover,
body[data-branch="acquisition"] .mobile-menu a:hover,
body[data-branch="acquisition"] .footer-linklist a:hover,
body[data-branch="acquisition"] .footer-contactlist a:hover,
.internal-page .nav a:hover,
.internal-page .mobile-menu a:hover,
.internal-page .footer-linklist a:hover,
.internal-page .footer-contactlist a:hover { color: var(--accent); }
