:root {
  --bg: #0a0a0a;
  --panel: #11131f;
  --text: #eef2ff;
  --muted: #aab6d5;
  --line: #ffffff24;
  --blue: #0066ff;
  --purple: #7b2cff;
  --bg-grad-1: #0066ff3f;
  --bg-grad-2: #7b2cff50;
  --radius-card: 16px;
  --space-section: 64px;
  --space-section-mobile: 38px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: "Poppins", sans-serif;
  line-height: 1.6;
  overflow-x: hidden;
  position: relative;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 20% 10%, var(--bg-grad-1), transparent 35%),
    radial-gradient(circle at 80% 0%, var(--bg-grad-2), transparent 35%),
    var(--bg);
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.28;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,0.18) 0.6px, transparent 0.7px),
    linear-gradient(120deg, rgba(255,255,255,0.05) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 4px 4px, 42px 42px, 42px 42px;
  mask-image: radial-gradient(circle at center, black 30%, transparent 85%);
}

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

.glass {
  background: linear-gradient(135deg, #ffffff14, #ffffff07);
  border: 1px solid var(--line);
  backdrop-filter: blur(14px);
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.glass::after {
  content: "";
  position: absolute;
  left: var(--fx, 50%);
  top: var(--fy, 50%);
  width: 240px;
  height: 240px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s ease;
  z-index: 0;
  background: radial-gradient(circle, rgba(123, 44, 255, 0.22), transparent 68%);
}
.glass:hover::after {
  opacity: 1;
}
.glass > * {
  position: relative;
  z-index: 1;
}

.container {
  width: min(1200px, calc(100% - 2.4rem));
  margin-inline: auto;
}

.header {
  margin-top: 0;
  width: 100%;
  margin-inline: 0;
  position: sticky;
  top: 0;
  z-index: 50;
  border-radius: 0;
  padding: 12px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(90deg, rgba(7, 10, 24, 0.94) 0%, rgba(10, 14, 30, 0.94) 24%, rgba(18, 14, 42, 0.72) 62%, rgba(24, 16, 52, 0.58) 100%);
  border: 0;
  border-bottom: 1px solid rgba(144, 164, 255, 0.24);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.2), 0 0 16px rgba(123, 44, 255, 0.1);
  backdrop-filter: blur(16px);
  overflow: hidden;
  transition: background 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}
.header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, rgba(0, 102, 255, 0.18), rgba(123, 44, 255, 0.2), rgba(0, 102, 255, 0.18));
  background-size: 220% 100%;
  animation: headerFlow 9s linear infinite;
  pointer-events: none;
}
.header::after {
  content: "";
  position: absolute;
  top: 0;
  left: -30%;
  width: 24%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.16), transparent);
  transform: skewX(-20deg);
  animation: headerShine 5.5s ease-in-out infinite;
  pointer-events: none;
}
.header > * {
  position: relative;
  z-index: 1;
}
.header.scrolled {
  background: linear-gradient(90deg, rgba(6, 9, 22, 0.98) 0%, rgba(10, 13, 28, 0.98) 26%, rgba(17, 12, 38, 0.9) 64%, rgba(24, 14, 50, 0.86) 100%);
  border-bottom: 1px solid rgba(144, 164, 255, 0.42);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.5), 0 0 30px rgba(123, 44, 255, 0.24);
}

.brand { display: inline-flex; align-items: center; gap: 10px; }
.brand img {
  width: 204px;
  height: auto;
  filter: none;
  transition: transform 0.28s ease, opacity 0.28s ease;
}
.brand:hover img {
  transform: translateY(-1px) scale(1.01);
  opacity: 0.98;
  filter: none;
  animation: none;
}
.brand span { letter-spacing: .24em; font-size: 12px; font-weight: 700; }

nav { display: flex; gap: 10px; }
nav {
  position: relative;
  padding: 0;
  border-radius: 0;
  border: 0;
  background: transparent;
}
nav a {
  font-size: 15px;
  font-weight: 600;
  color: #edf2ff;
  padding: 8px 7px;
  border-radius: 0;
  transition: .25s ease;
  border: 0;
  position: relative;
}
nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #0066ff, #7b2cff);
  transition: width 0.25s ease;
}
nav a:hover,
nav a.active {
  color: #fff;
}
nav a:hover::after,
nav a.active::after {
  width: 100%;
}

.theme-toggle {
  margin-left: 8px;
  border: 1px solid rgba(255,255,255,0.3);
  background: rgba(255,255,255,0.08);
  color: #eef2ff;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: 0.25s ease;
}
.theme-toggle:hover {
  border-color: rgba(123,44,255,0.72);
  box-shadow: 0 0 16px rgba(123,44,255,0.26);
}
.kicker { text-transform: uppercase; letter-spacing: .2em; font-size: 11px; font-weight: 600; color: #97beff; }
.hero .kicker { color: #8ea0c8; }
h1 { font-size: clamp(2.2rem, 5.2vw, 4.6rem); line-height: 1.06; margin: 12px 0; letter-spacing: -0.02em; }
h2 { font-size: clamp(1.7rem, 4vw, 3rem); margin: 10px 0; line-height: 1.14; letter-spacing: -0.01em; }
h3 { margin: 0; }
p { color: var(--muted); font-size: 1rem; line-height: 1.75; margin: 0; }
p + p { margin-top: 10px; }
h1 + p,
h2 + p,
h3 + p {
  margin-top: 12px;
}
li {
  line-height: 1.65;
}
.grad { background: linear-gradient(90deg, #7a4be8, #9060ef 52%, #c87ed8); -webkit-background-clip: text; color: transparent; }

main section { margin: var(--space-section) 0; }
main > section:first-child { margin-top: 28px; }
.hero {
  min-height: clamp(520px, 70vh, 760px);
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 28px;
  align-items: center;
  position: relative;
}
.mesh {
  position: absolute;
  inset: -40px;
  z-index: -1;
  background:
    radial-gradient(circle at 40% 55%, #0066ff2f, transparent 44%),
    radial-gradient(circle at 75% 32%, #7b2cff42, transparent 40%);
  filter: blur(12px);
}
.hero p { max-width: 58ch; }
.actions { margin-top: 24px; display: flex; gap: 12px; flex-wrap: wrap; }
.btn {
  border-radius: 999px;
  padding: 12px 22px;
  font-size: 0.95rem;
  font-weight: 700;
  border: 1px solid #ffffff2f;
  transition: .25s ease;
}
.btn.primary { border: none; color: #fff; background: linear-gradient(90deg, var(--blue), var(--purple)); }
.btn.ghost:hover { border-color: #7b2cff7c; }

.hero-card {
  border-radius: 26px;
  padding: 24px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hero-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(13, 24, 61, 0.18);
}
.hero-card h3 { font-size: 54px; margin: 10px 0; }
.chips { margin-top: 16px; display: grid; gap: 10px; }
.chips span {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  color: #d6e0ff;
  background: #ffffff0d;
  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.chips span:hover {
  transform: translateX(4px);
  border-color: rgba(123, 44, 255, 0.44);
  background: rgba(255, 255, 255, 0.12);
}

.grid { display: grid; gap: 16px; }
.stats { margin-top: 22px; grid-template-columns: repeat(3, 1fr); }
.stats article { border-radius: var(--radius-card); padding: 22px; text-align: center; }
.stats h3 { font-size: 42px; margin: 0; }
.stats p { margin: 8px 0 0; text-transform: uppercase; letter-spacing: .16em; font-size: 12px; }

.milestone-section {
  position: relative;
}
.milestone-shell {
  margin-top: 18px;
  border-radius: 20px;
  padding: 26px 20px 22px;
  overflow: hidden;
}
.milestone-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 10%, rgba(0, 102, 255, 0.09), transparent 36%),
    radial-gradient(circle at 86% 82%, rgba(123, 44, 255, 0.1), transparent 40%);
}
.milestone-track {
  position: relative;
  height: 5px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
}
.milestone-track-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(0, 102, 255, 0.95), rgba(123, 44, 255, 0.9));
  box-shadow: 0 0 14px rgba(94, 98, 255, 0.34);
  transition: width 0.35s ease;
}
.milestone-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}
.milestone-card {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  padding: 14px 12px;
  background: rgba(255, 255, 255, 0.03);
  opacity: 0.42;
  transform: translateY(8px);
  transition: transform 0.28s ease, opacity 0.28s ease, border-color 0.28s ease, background 0.28s ease;
}
.milestone-card small {
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #88a9ef;
  font-size: 11px;
}
.milestone-card h3 {
  margin: 8px 0 6px;
  font-size: 15px;
  line-height: 1.2;
}
.milestone-card p {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: #b3c0de;
}
.milestone-icon {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  border: 1px solid rgba(136, 164, 241, 0.34);
  background: rgba(84, 106, 182, 0.14);
  transition: border-color 0.28s ease, background 0.28s ease, transform 0.28s ease;
}
.milestone-icon svg {
  width: 16px;
  height: 16px;
}
.milestone-icon path {
  stroke: #a9c1ff;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 0.28s ease;
}
.milestone-dot {
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #5a78d8;
  border: 2px solid rgba(10, 10, 16, 0.85);
  box-shadow: 0 0 0 4px rgba(88, 113, 204, 0.15);
}
.milestone-card.passed {
  opacity: 0.72;
  transform: translateY(0);
  border-color: rgba(104, 128, 212, 0.45);
  background: rgba(72, 92, 168, 0.08);
}
.milestone-card.active {
  opacity: 1;
  transform: translateY(-2px);
  border-color: rgba(127, 110, 235, 0.82);
  background: linear-gradient(140deg, rgba(0, 102, 255, 0.16), rgba(123, 44, 255, 0.14));
}
.milestone-card.active .milestone-icon {
  border-color: rgba(140, 157, 255, 0.62);
  background: rgba(80, 98, 206, 0.28);
  transform: translateY(-1px);
}
.milestone-card.active .milestone-icon path {
  stroke: #d9e4ff;
}
.milestone-card.active .milestone-dot {
  background: linear-gradient(135deg, #0066ff, #7b2cff);
  box-shadow: 0 0 0 7px rgba(122, 103, 232, 0.16);
}
.milestone-card:hover {
  opacity: 0.92;
  border-color: rgba(144, 159, 236, 0.62);
  transform: translateY(-1px);
}
.milestone-card:hover .milestone-icon {
  border-color: rgba(151, 167, 246, 0.55);
}

.service-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.service-card {
  border-radius: 18px;
  padding: 22px;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  overflow: hidden;
  transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}
.service-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(0, 102, 255, 0.9), rgba(123, 44, 255, 0.9));
  opacity: 0.85;
}
.service-card:hover {
  transform: translateY(-6px);
  border-color: rgba(141, 158, 255, 0.66);
  box-shadow: 0 14px 30px rgba(40, 20, 90, 0.34);
}
.service-card h3 {
  margin-top: 2px;
}
.service-card .service-fit {
  margin-top: 8px;
  font-size: 0.92rem;
  line-height: 1.65;
}
.service-card .service-fit:last-child {
  margin-top: auto;
}
.service-card .service-fit strong {
  color: #d9e7ff;
  font-weight: 600;
}
.services-explorer .service-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0;
}
.service-tab {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,0.05);
  color: #dce6ff;
  padding: 10px 14px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: .24s ease;
}
.service-tab:hover,
.service-tab.active {
  color: #fff;
  border-color: #7b2cff91;
  background: linear-gradient(90deg, rgba(0,102,255,0.2), rgba(123,44,255,0.28));
  box-shadow: 0 0 20px rgba(123,44,255,0.22);
}
.service-pane-wrap {
  position: relative;
}
.service-pane {
  border-radius: 18px;
  padding: 24px;
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.service-pane.active {
  display: grid;
  animation: paneIn 0.35s ease;
}
.service-pane h3 {
  margin: 0 0 10px;
  font-size: 1.6rem;
}
.service-pane ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 9px;
  color: var(--muted);
}
.service-accordion {
  display: grid;
  gap: 10px;
}
.service-detail {
  border-radius: 14px;
  padding: 14px 16px;
}
.service-detail summary {
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  color: #e6edff;
  position: relative;
  padding-right: 18px;
}
.service-detail summary::-webkit-details-marker { display: none; }
.service-detail summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 0;
  color: #9fc2ff;
}
.service-detail[open] summary::after { content: "−"; }
.service-detail p {
  margin: 10px 0 0;
}
.service-meta {
  border-radius: 16px;
  padding: 24px;
}
.service-meta h2 {
  font-size: 1.8rem;
}
.section-intro {
  margin-top: 0;
  max-width: 62ch;
}
.service-pack-showcase h2 {
  margin-bottom: 6px;
}
.pack-rail {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.pack-card {
  border-radius: 18px;
  padding: 22px;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}
.pack-card:hover {
  transform: translateY(-6px);
  border-color: rgba(141, 158, 255, 0.66);
  box-shadow: 0 14px 30px rgba(40, 20, 90, 0.34);
}
.pack-card.featured {
  border-color: rgba(123, 44, 255, 0.7);
  background: linear-gradient(145deg, rgba(123, 44, 255, 0.2), rgba(0, 102, 255, 0.1));
}
.pack-card h3 {
  margin: 4px 0;
  font-size: 1.5rem;
}
.pack-card p {
  margin: 0;
}
.pack-card ul {
  margin: 4px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
  color: var(--muted);
}
.pack-badge {
  display: inline-flex;
  align-self: flex-start;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #f4f8ff;
  background: linear-gradient(90deg, rgba(0,102,255,0.8), rgba(123,44,255,0.86));
  border: 1px solid rgba(200, 214, 255, 0.36);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
.pack-link {
  margin-top: auto;
  display: inline-flex;
  align-self: flex-start;
  font-weight: 700;
  font-size: 14px;
  color: #d9e4ff;
  border-bottom: 1px solid rgba(190, 208, 255, 0.42);
  transition: color 0.22s ease, border-color 0.22s ease;
}
.pack-link:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.72);
}
.service-builder,
.builder-result {
  border-radius: 18px;
  padding: 24px;
}
.service-builder h2 {
  font-size: clamp(1.5rem, 3vw, 2.2rem);
}
.builder-options {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}
.builder-options label {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 12px;
  padding: 10px 12px;
  color: #dce7ff;
  transition: border-color 0.22s ease, background 0.22s ease;
}
.builder-options label:hover {
  border-color: rgba(145, 160, 255, 0.54);
  background: rgba(255,255,255,0.04);
}
.builder-options input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
  padding: 0;
  accent-color: #7b2cff;
}
.builder-range {
  margin-top: 18px;
}
.builder-range label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #9fb6ee;
}
.builder-range input[type="range"] {
  width: 100%;
}
.range-labels {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9ab0e7;
}
.builder-result {
  border: 1px solid rgba(123, 44, 255, 0.45);
  background: linear-gradient(145deg, rgba(123,44,255,0.16), rgba(0,102,255,0.12));
}
.builder-result h3 {
  margin: 0 0 10px;
  font-size: 1.6rem;
}
.result-meta {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.result-meta div {
  border: 1px solid rgba(205, 214, 255, 0.26);
  border-radius: 12px;
  padding: 12px;
  background: rgba(255,255,255,0.05);
}
.result-meta small {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #a6bbea;
}
.result-meta strong {
  display: block;
  margin-top: 8px;
  font-size: 1.1rem;
  color: #f1f5ff;
}
@keyframes paneIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.portfolio-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.portfolio-card { border-radius: var(--radius-card); padding: 22px; transition: .25s ease; }
.portfolio-card small { color: #8cb2ff; letter-spacing: .2em; font-size: 11px; }
.portfolio-card h3 { margin-top: 10px; font-size: 24px; }
.portfolio-card:hover { transform: translateY(-6px); }

.portfolio-browser {
  padding: 0;
}
.portfolio-browser-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}
.portfolio-browser-head h2 {
  margin-top: 8px;
  letter-spacing: -0.01em;
}
.portfolio-count {
  border: 0;
  background: transparent;
  border-radius: 999px;
  padding: 0;
  color: #8f9fc6;
  white-space: nowrap;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.portfolio-lanes-wrap {
  margin-top: 24px;
  display: grid;
  gap: 30px;
}
.portfolio-lanes-wrap--bleed {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.portfolio-lane {
  --card-tilt: 0deg;
  overflow: hidden;
  border-radius: 0;
  border: 0;
  background: transparent;
  padding: 8px 0;
  contain: layout paint;
}
.lane-a {
  --card-tilt: -2.6deg;
}
.lane-b {
  --card-tilt: -2.6deg;
}
.portfolio-lane-track {
  display: flex;
  gap: 30px;
  width: max-content;
  align-items: flex-start;
  padding-inline: 10px;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}
.lane-a .portfolio-lane-track {
  animation: laneSlide 80s linear infinite reverse;
}
.lane-b .portfolio-lane-track {
  animation: laneSlide 76s linear infinite;
}
body[data-page="portfolio"] .lane-a .portfolio-lane-track {
  animation: laneSlide 80s linear infinite reverse !important;
}
body[data-page="portfolio"] .lane-b .portfolio-lane-track {
  animation: laneSlide 76s linear infinite !important;
}
.portfolio-lane-card {
  position: relative;
  width: clamp(255px, 22vw, 335px);
  aspect-ratio: 4 / 5;
  border-radius: 28px;
  overflow: hidden;
  border: 0;
  background: transparent;
  flex: 0 0 auto;
  transform: translate3d(0, 0, 0) rotate(var(--card-tilt));
  transform-origin: center center;
  backface-visibility: hidden;
}
.portfolio-lane-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: translateZ(0);
}
.portfolio-lane-card::after {
  content: attr(data-brand);
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translate(-50%, 14px);
  opacity: 0;
  border-radius: 12px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #fff;
  background: linear-gradient(140deg, rgba(87, 26, 248, 0.96), rgba(122, 36, 255, 0.96));
  box-shadow: 0 12px 24px rgba(84, 29, 255, 0.3);
  white-space: nowrap;
  pointer-events: none;
  transition: opacity 0.24s ease, transform 0.24s ease;
}
.portfolio-lane-card:hover::after,
.portfolio-lane-card:focus-visible::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

.case-slider {
  border-radius: 20px;
  padding: 16px;
}
.case-stage {
  position: relative;
  min-height: 260px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--line);
}
.case-before,
.case-after {
  position: absolute;
  inset: 0;
  padding: 22px;
}
.case-before {
  background: linear-gradient(135deg, #2a2f49, #1f2238);
}
.case-after {
  background: linear-gradient(135deg, #0048b8, #702ad8);
  clip-path: inset(0 48% 0 0);
}
.case-before p,
.case-after p {
  margin: 0;
  color: #c7d8ff;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 11px;
}
.case-before h3,
.case-after h3 {
  margin-top: 12px;
  font-size: 1.8rem;
}
.case-before small,
.case-after small {
  color: #dbe6ff;
}
.case-divider {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 52%;
  width: 2px;
  background: #fff;
  box-shadow: 0 0 18px #ffffff9a;
}
#caseRange {
  margin-top: 14px;
  width: 100%;
}

.live-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.live-card {
  border-radius: 14px;
  padding: 20px;
}
.live-card p {
  margin: 0;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #bdd3ff;
}
.live-card h3 {
  margin-top: 10px;
  font-size: 2rem;
}

.difference-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.diff-card {
  border-radius: var(--radius-card);
  padding: 22px;
}
.diff-card h3 {
  font-size: 1.3rem;
  margin-bottom: 10px;
}
.diff-card ul {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  display: grid;
  gap: 10px;
}
.metrox-side {
  border-color: #7b2cff8f;
  box-shadow: 0 0 30px #7b2cff2f;
}

.innovation {
  border-radius: 24px;
  padding: 30px;
}
.innovation-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.innovation-card {
  border-radius: 18px;
  padding: 22px;
  display: grid;
  gap: 12px;
  align-content: start;
  border: 1px solid rgba(255, 255, 255, 0.16);
}
.innovation-card h3 {
  margin: 0;
  font-size: clamp(1.2rem, 2vw, 1.6rem);
}
.innovation-card p {
  margin: 0;
}
.innovation-kpis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 4px;
}
.innovation-kpis div {
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.04);
}
.innovation-kpis small {
  display: block;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.11em;
  color: #b9c8ef;
}
.innovation-kpis strong {
  display: block;
  margin-top: 6px;
  font-size: 1.05rem;
  color: #eef3ff;
}
.innovation-card .btn {
  margin-top: 6px;
  justify-self: start;
}
.innovation-card-soon {
  border-style: dashed;
  border-color: rgba(123, 44, 255, 0.45);
}
.lab-controls {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.lab-tag {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #c4d6ff;
}
.lab-output {
  margin-top: 16px;
  border: 1px solid #7b2cff88;
  border-radius: 14px;
  padding: 18px;
  background: linear-gradient(135deg, #7b2cff1f, #0066ff15);
  color: #e7edff;
  min-height: 72px;
}
.audit-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  margin-top: 16px;
}
.audit-form input {
  background: #0f1326d0;
  color: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 13px 14px;
}
.audit-form button {
  grid-column: auto;
}

.timeline { grid-template-columns: repeat(5, minmax(0,1fr)); }
.timeline div { border-radius: 14px; text-align: center; padding: 15px; font-weight: 700; }

.marquee { overflow: hidden; }
.track { display: flex; gap: 10px; width: max-content; animation: scroll 19s linear infinite; }
.track article { border-radius: 14px; width: 330px; padding: 16px; color: #dce6ff; }
@keyframes scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.page-hero {
  margin-top: 26px;
  border-radius: 24px;
  padding: 30px;
}
.page-hero h1 { font-size: clamp(2rem, 5vw, 4.2rem); }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.list-cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
.list-cards article { border-radius: 14px; padding: 18px; }
.team-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.team-card {
  border-radius: 18px;
  padding: 16px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.team-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 34px rgba(8, 17, 46, 0.25);
}
.team-photo-wrap {
  margin: 0 0 14px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  aspect-ratio: 4 / 5;
}
body[data-page="about"] .team-photo-wrap {
  aspect-ratio: 1 / 1;
}
.team-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.04);
  transform: scale(1.02);
  transition: filter 0.55s ease, transform 0.55s ease;
}
.team-card:hover .team-photo {
  filter: grayscale(0) contrast(1);
  transform: scale(1.06);
}
.team-photo-placeholder {
  background:
    linear-gradient(140deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02)),
    radial-gradient(circle at 20% 10%, rgba(123, 44, 255, 0.2), transparent 55%),
    #d8dbe3;
  border: 1px solid rgba(255, 255, 255, 0.25);
}
.team-card h3 {
  margin: 0;
  font-size: clamp(1.1rem, 2.1vw, 1.8rem);
}
.team-role {
  margin: 6px 0 10px;
  color: #8fb4ff;
  font-weight: 700;
  font-size: 0.84rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .team-role {
    background: linear-gradient(90deg, #4f5bff 0%, #6b3eff 35%, #7b2cff 70%, #8b1fff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
}

form { margin-top: 16px; display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
input, select, textarea {
  width: 100%;
  background: #0f1326d0;
  color: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 13px 14px;
  font-family: inherit;
  font-size: 0.95rem;
}
textarea, form button { grid-column: 1/-1; }

.site-footer {
  width: 100%;
  margin-top: 78px;
  border-top: 1px solid rgba(133, 154, 245, 0.28);
  background:
    radial-gradient(circle at 20% -10%, rgba(0, 102, 255, 0.2), transparent 40%),
    radial-gradient(circle at 90% 10%, rgba(123, 44, 255, 0.22), transparent 38%),
    linear-gradient(180deg, rgba(8, 12, 35, 0.88), rgba(6, 10, 26, 0.98));
  position: relative;
  overflow: visible;
}
.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.22;
  background-image:
    radial-gradient(circle at 8% 22%, rgba(255,255,255,0.24) 0.7px, transparent 0.8px),
    linear-gradient(115deg, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 4px 4px, 50px 50px;
}
.footer-shell {
  width: min(1240px, calc(100% - 2rem));
  margin-inline: auto;
  padding: 0 0 42px;
  position: relative;
  z-index: 1;
}
.footer-cta {
  margin: -52px auto 30px;
  border-radius: 24px;
  border: 1px solid rgba(180, 163, 255, 0.36);
  background:
    radial-gradient(circle at 10% 120%, rgba(123,44,255,0.16), transparent 34%),
    linear-gradient(130deg, rgba(237,233,255,0.95), rgba(225,230,255,0.9));
  padding: 32px 36px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 38px rgba(40, 18, 82, 0.25);
}
.footer-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.3;
  background: repeating-radial-gradient(
    circle at 75% 35%,
    rgba(91, 78, 153, 0.15) 0 1px,
    transparent 1px 14px
  );
}
.footer-cta::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  border-radius: 999px;
  right: -90px;
  top: -90px;
  background: radial-gradient(circle, rgba(123,44,255,0.24), transparent 70%);
  filter: blur(8px);
  animation: footerOrb 6.5s ease-in-out infinite;
}
.footer-cta h2 {
  margin: 0;
  font-size: clamp(1.6rem, 3.5vw, 2.5rem);
  color: #402d93;
  line-height: 1.1;
  position: relative;
  z-index: 1;
}
.footer-cta .btn {
  position: relative;
  z-index: 1;
  box-shadow: 0 10px 22px rgba(75, 53, 170, 0.35);
}
.footer-main {
  display: grid;
  grid-template-columns: 1.05fr 0.9fr 0.9fr 1.15fr 1.4fr;
  gap: 26px;
  padding: 18px 0 28px;
  position: relative;
}
.footer-main > * {
  padding: 24px 18px;
  border-right: 0;
}
.footer-main > *:last-child {
  border-right: 0;
}
.footer-brand img {
  width: 168px;
  height: auto;
}
.footer-brand p {
  margin-top: 14px;
  max-width: 32ch;
  color: #b7c4e6;
}
.footer-contact {
  margin-top: 6px;
  display: grid;
  gap: 8px;
}
.footer-contact p {
  margin: 0;
  color: #c8d4f5;
  line-height: 1.4;
  font-size: 14px;
}
.footer-contact strong {
  color: #e7eeff;
}
.footer-contact a {
  color: #dce7ff;
}
.footer-contact a:hover {
  color: #ffffff;
}
.footer-col h4 {
  margin: 0 0 12px;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8ea4de;
}
.footer-col a {
  display: block;
  margin: 8px 0;
  color: #d8e3ff;
  font-size: 15px;
  transition: transform 0.22s ease, color 0.22s ease;
}
.footer-col a:hover {
  color: #fff;
  transform: translateX(5px);
}
.footer-news p {
  margin: 0 0 12px;
  color: #c8d4f5;
}
.footer-subscribe {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}
.footer-subscribe input {
  width: 100%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(205, 215, 255, 0.28);
  border-radius: 12px;
  color: #fff;
  padding: 11px 12px;
  font-family: inherit;
  transition: border-color 0.22s ease, box-shadow 0.22s ease;
}
.footer-subscribe input:focus {
  outline: none;
  border-color: rgba(130, 150, 255, 0.75);
  box-shadow: 0 0 0 3px rgba(123, 44, 255, 0.18);
}
.footer-subscribe button {
  border: 0;
  border-radius: 12px;
  padding: 11px 16px;
  color: #fff;
  font-weight: 700;
  background: linear-gradient(90deg, #0066ff, #7b2cff);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.footer-subscribe button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(66, 47, 153, 0.32);
}
.footer-bottom {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(138, 153, 210, 0.24);
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: #9fb1de;
  font-size: 13px;
}
.footer-main.glass::after,
.footer-cta.glass::after {
  display: none;
}

.cursor {
  position: fixed;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 90;
  opacity: 0;
  will-change: transform;
  border: 1px solid rgba(170, 142, 255, 0.68);
  background:
    radial-gradient(circle at 30% 30%, rgba(0, 102, 255, 0.18), rgba(123, 44, 255, 0.06) 60%, transparent 72%);
  box-shadow: 0 0 22px rgba(123, 44, 255, 0.34), 0 0 18px rgba(0, 102, 255, 0.22);
  transition: opacity 0.18s ease, filter 0.18s ease;
  mix-blend-mode: screen;
  animation: cursorBreath 2.4s ease-in-out infinite;
}
.cursor::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6px;
  height: 6px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--blue), var(--purple));
  box-shadow: 0 0 16px rgba(123, 44, 255, 0.42);
}
.cursor::after {
  content: "";
  position: absolute;
  inset: -18px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(123, 44, 255, 0.22), transparent 62%);
  opacity: 0.22;
  animation: cursorHalo 1.7s ease-out infinite;
}
.cursor.cursor--link {
  border-color: rgba(0, 102, 255, 0.72);
  box-shadow: 0 0 26px rgba(0, 102, 255, 0.35), 0 0 22px rgba(123, 44, 255, 0.28);
  filter: saturate(1.1);
}
.cursor.cursor--link::before {
  width: 8px;
  height: 8px;
}
.cursor.cursor--link::after {
  opacity: 0.34;
  background: radial-gradient(circle, rgba(0, 102, 255, 0.18), rgba(123, 44, 255, 0.18), transparent 65%);
}
.cursor.cursor--down {
  filter: saturate(1.22) brightness(1.04);
}
.cursor-trail-dot {
  position: fixed;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  pointer-events: none;
  z-index: 88;
  opacity: 0;
  transform: translate(-50%, -50%);
  will-change: transform, opacity;
  background: radial-gradient(circle, rgba(0, 102, 255, 0.52), rgba(123, 44, 255, 0.32) 52%, transparent 74%);
  box-shadow: 0 0 14px rgba(95, 80, 255, 0.35);
}
.cursor-burst {
  position: fixed;
  left: 0;
  top: 0;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  pointer-events: none;
  z-index: 89;
  transform: translate3d(var(--bx, 0), var(--by, 0), 0);
  background: radial-gradient(circle, rgba(198, 214, 255, 0.95), rgba(112, 130, 255, 0.65));
  box-shadow: 0 0 15px rgba(112, 130, 255, 0.4);
  animation: cursorBurst 520ms cubic-bezier(.2,.6,.23,1) forwards;
}
.progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--blue), var(--purple));
  z-index: 95;
}

.reveal { opacity: 0; transform: translateY(24px); transition: .7s ease; }
.reveal.show { opacity: 1; transform: none; }

body.performance-mode .header::before,
body.performance-mode .header::after,
body.performance-mode .glass::after {
  display: none;
}
body.safe-motion .header::before,
body.safe-motion .header::after {
  display: none;
}
body.safe-motion .glass::after {
  opacity: 0;
}
body.safe-motion .track {
  animation: none;
}
body.safe-motion .cursor,
body.safe-motion .cursor-trail-dot,
body.safe-motion .cursor-burst {
  display: none;
}
body.safe-motion .glass {
  backdrop-filter: none;
}
body.safe-motion .service-card:hover,
body.safe-motion .portfolio-card:hover,
body.safe-motion .pack-card:hover,
body.safe-motion .milestone-card:hover,
body.safe-motion .footer-col a:hover {
  transform: none;
  box-shadow: none;
}
body.performance-mode::before,
body.performance-mode::after {
  display: block;
}
body.performance-mode {
  background:
    radial-gradient(circle at 18% 8%, rgba(0, 102, 255, 0.12), transparent 34%),
    radial-gradient(circle at 85% 4%, rgba(123, 44, 255, 0.14), transparent 34%),
    var(--bg);
}
body.performance-mode::before {
  z-index: -2;
  background:
    radial-gradient(circle at 20% 10%, rgba(0, 102, 255, 0.2), transparent 33%),
    radial-gradient(circle at 80% 0%, rgba(123, 44, 255, 0.22), transparent 33%),
    var(--bg);
}
body.performance-mode::after {
  z-index: -1;
  opacity: 0.16;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,0.16) 0.6px, transparent 0.7px),
    linear-gradient(120deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 5px 5px, 50px 50px;
  mask-image: none;
}
body.performance-mode .glass {
  backdrop-filter: none;
  box-shadow: none;
}
body.performance-mode .track {
  animation: none;
}
body.performance-mode .cursor,
body.performance-mode .cursor-trail-dot,
body.performance-mode .cursor-burst,
body.performance-mode .progress {
  display: none;
}

.has-custom-cursor body,
.has-custom-cursor a,
.has-custom-cursor button,
.has-custom-cursor input,
.has-custom-cursor textarea,
.has-custom-cursor select,
.has-custom-cursor [role="button"] {
  cursor: none;
}

body.performance-mode * {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
}
body.performance-mode .mesh {
  filter: none;
  opacity: 0.35;
}
body.stability-mode::after,
body.stability-mode .site-footer::before {
  display: none;
}
body.stability-mode .glass,
body.stability-mode .header {
  backdrop-filter: none;
}
body.stability-mode .track,
body.stability-mode .footer-cta::after {
  animation: none;
}
body.stability-mode .mesh {
  filter: none;
}
body.stability-mode .glass::after {
  opacity: 0;
}
body.stability-mode * {
  transition-duration: 0.16s;
}

@media (prefers-reduced-motion: reduce) {
  .track,
  .header::before,
  .header::after,
  .cursor,
  .cursor::after {
    animation: none !important;
  }
}

@keyframes headerFlow {
  0% { background-position: 0% 50%; }
  100% { background-position: 220% 50%; }
}
@keyframes headerShine {
  0%, 25% { left: -30%; }
  70%, 100% { left: 120%; }
}
body[data-theme="light"] {
  --bg: #f2f5ff;
  --text: #131a32;
  --muted: #43507a;
  --line: rgba(23, 30, 58, 0.18);
  --bg-grad-1: rgba(0, 102, 255, 0.18);
  --bg-grad-2: rgba(123, 44, 255, 0.2);
}
body[data-theme="light"] .header {
  background: linear-gradient(90deg, rgba(239, 244, 255, 0.98) 0%, rgba(241, 246, 255, 0.98) 24%, rgba(231, 237, 255, 0.9) 62%, rgba(225, 232, 255, 0.84) 100%);
  border-bottom-color: rgba(41, 52, 89, 0.18);
}
body[data-theme="light"] .header.scrolled {
  background: linear-gradient(90deg, rgba(238, 244, 255, 1) 0%, rgba(240, 246, 255, 1) 26%, rgba(229, 236, 255, 0.96) 64%, rgba(223, 231, 255, 0.94) 100%);
}
body[data-theme="light"] .glass {
  background: linear-gradient(135deg, rgba(255,255,255,0.86), rgba(255,255,255,0.68));
}
body[data-theme="light"] nav a {
  color: #1b2648;
}
body[data-theme="light"] nav a.active,
body[data-theme="light"] nav a:hover {
  color: #121c3d;
}
body[data-theme="light"] nav a::after {
  background: linear-gradient(90deg, #2857ff, #7b2cff);
}
body[data-theme="light"] .hero-card {
  background: linear-gradient(135deg, rgba(255,255,255,0.94), rgba(242,246,255,0.86));
  border-color: rgba(29, 41, 78, 0.14);
}
body[data-theme="light"] .hero-card p {
  color: #32436f;
}
body[data-theme="light"] .hero-card h3 {
  color: #131d3f;
}
body[data-theme="light"] .service-tab {
  background: rgba(255,255,255,0.78);
  color: #233360;
}
body[data-theme="light"] .service-card .service-fit strong {
  color: #213867;
}
body[data-theme="light"] .service-card::before {
  opacity: 1;
}
body[data-theme="light"] .pack-badge {
  color: #ffffff;
  background: linear-gradient(90deg, #2c62ff, #6f33ff);
  border-color: rgba(67, 88, 170, 0.34);
  text-shadow: 0 1px 2px rgba(15, 24, 54, 0.22);
}
body[data-theme="light"] .service-tab:hover,
body[data-theme="light"] .service-tab.active {
  color: #1d2b52;
  border-color: rgba(85, 95, 157, 0.44);
}
body[data-theme="light"] .service-detail summary {
  color: #1f2c53;
}
body[data-theme="light"] .pack-card.featured {
  background: linear-gradient(145deg, rgba(123, 44, 255, 0.14), rgba(0, 102, 255, 0.1));
}
body[data-theme="light"] .builder-options label {
  color: #26355f;
  background: rgba(255,255,255,0.7);
  border-color: rgba(75, 92, 146, 0.24);
}
body[data-theme="light"] .builder-range label,
body[data-theme="light"] .range-labels,
body[data-theme="light"] .result-meta small {
  color: #5169a3;
}
body[data-theme="light"] .builder-result {
  border-color: rgba(109, 88, 201, 0.38);
}
body[data-theme="light"] .result-meta div {
  background: rgba(255,255,255,0.72);
  border-color: rgba(88, 105, 155, 0.26);
}
body[data-theme="light"] .result-meta strong {
  color: #203058;
}
body[data-theme="light"] .chips span {
  color: #3a4c7c;
  background: rgba(255,255,255,0.75);
  border-color: rgba(48, 63, 106, 0.2);
}
body[data-theme="light"] .milestone-track {
  background: rgba(33, 46, 88, 0.06);
  border-color: rgba(33, 46, 88, 0.12);
}
body[data-theme="light"] .milestone-card {
  border-color: rgba(40, 58, 112, 0.16);
  background: rgba(255,255,255,0.64);
}
body[data-theme="light"] .milestone-card p {
  color: #4a5a83;
}
body[data-theme="light"] .milestone-card small {
  color: #3f63b4;
}
body[data-theme="light"] .milestone-icon {
  border-color: rgba(67, 92, 161, 0.24);
  background: rgba(67, 92, 161, 0.08);
}
body[data-theme="light"] .milestone-icon path {
  stroke: #4866b4;
}
body[data-theme="light"] .milestone-card.active {
  background: linear-gradient(140deg, rgba(0, 102, 255, 0.12), rgba(123, 44, 255, 0.1));
}
body[data-theme="light"] .milestone-card.passed {
  background: rgba(86, 113, 201, 0.08);
}
body[data-theme="light"] .milestone-card.active .milestone-icon path {
  stroke: #224cae;
}
body[data-theme="light"] .kicker,
body[data-theme="light"] .live-card p,
body[data-theme="light"] .case-before p,
body[data-theme="light"] .case-after p {
  color: #3c5ea6;
}
body[data-theme="light"] .hero .kicker {
  color: #596489;
}
body[data-theme="light"] .live-card h3 {
  color: #1d2d57;
}
body[data-theme="light"] .innovation-card {
  border-color: rgba(44, 62, 115, 0.22);
  background: rgba(255, 255, 255, 0.78);
}
body[data-theme="light"] .innovation-card h3 {
  color: #1e2f58;
}
body[data-theme="light"] .innovation-card p {
  color: #455985;
}
body[data-theme="light"] .innovation-kpis div {
  border-color: rgba(62, 83, 145, 0.24);
  background: rgba(255, 255, 255, 0.82);
}
body[data-theme="light"] .innovation-kpis small {
  color: #4f68a4;
}
body[data-theme="light"] .innovation-kpis strong {
  color: #1d2f5a;
}
body[data-theme="light"] .lab-tag {
  color: #3e5f9f;
  background: rgba(255, 255, 255, 0.72);
  border-color: rgba(61, 84, 150, 0.24);
}
body[data-theme="light"] .lab-output {
  border-color: rgba(103, 88, 201, 0.34);
  background: linear-gradient(135deg, rgba(123, 44, 255, 0.08), rgba(0, 102, 255, 0.08));
  color: #243b68;
}
body[data-theme="light"] .portfolio-count {
  color: #5d709f;
}
body[data-theme="light"] .portfolio-lane-card::after {
  box-shadow: 0 14px 26px rgba(84, 29, 255, 0.24);
}
body[data-theme="light"] input,
body[data-theme="light"] select,
body[data-theme="light"] textarea,
body[data-theme="light"] .audit-form input {
  background: rgba(255,255,255,0.82);
  color: #18203f;
}
body[data-theme="light"] .theme-toggle {
  background: rgba(13,22,54,0.08);
  color: #131a32;
  border-color: rgba(13,22,54,0.22);
}
body[data-theme="light"] .site-footer {
  background: linear-gradient(180deg, rgba(229, 235, 255, 0.7), rgba(214, 224, 255, 0.8));
  border-top-color: rgba(81, 95, 148, 0.26);
}
body[data-theme="light"] .footer-cta {
  background: linear-gradient(130deg, rgba(255,255,255,0.95), rgba(239,242,255,0.94));
}
body[data-theme="light"] .footer-main {
  background: transparent;
}
body[data-theme="light"] .footer-brand p,
body[data-theme="light"] .footer-news p,
body[data-theme="light"] .footer-bottom {
  color: #4a5886;
}
body[data-theme="light"] .footer-contact p {
  color: #4a5886;
}
body[data-theme="light"] .footer-contact strong {
  color: #25335d;
}
body[data-theme="light"] .footer-contact a {
  color: #2a4f9f;
}
body[data-theme="light"] .footer-col h4 {
  color: #6276ae;
}
body[data-theme="light"] .footer-col a {
  color: #26325b;
}
body[data-theme="light"] .footer-subscribe input {
  background: rgba(255,255,255,0.86);
  color: #132046;
}
body[data-theme="light"] .cursor {
  border-color: rgba(34, 87, 214, 0.5);
  box-shadow: 0 0 20px rgba(0, 102, 255, 0.24), 0 0 20px rgba(123, 44, 255, 0.2);
}
body[data-theme="light"] .cursor-trail-dot {
  background: radial-gradient(circle, rgba(0, 102, 255, 0.44), rgba(123, 44, 255, 0.24) 52%, transparent 74%);
}

@keyframes footerOrb {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(10px); }
}
@keyframes cursorBreath {
  0%, 100% { filter: saturate(1) brightness(1); }
  50% { filter: saturate(1.12) brightness(1.06); }
}
@keyframes cursorHalo {
  0% { transform: scale(0.84); opacity: 0.3; }
  100% { transform: scale(1.18); opacity: 0.04; }
}
@keyframes cursorBurst {
  0% { transform: translate3d(0, 0, 0) scale(1); opacity: 0.95; }
  100% { transform: translate3d(var(--bx, 0), var(--by, 0), 0) scale(0.1); opacity: 0; }
}
@keyframes laneSlide {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (max-width: 980px) {
  main section { margin: 48px 0; }
  main > section:first-child { margin-top: 20px; }
  .hero, .service-grid, .list-cards { grid-template-columns: 1fr; }
  .portfolio-grid, .stats, .timeline, .two-col, .difference-grid, .live-strip, .pack-rail, .team-grid, .innovation-grid { grid-template-columns: 1fr 1fr; }
  nav { display: none; }
  .service-pane { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-cta { flex-direction: column; align-items: flex-start; }
  .milestone-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .portfolio-browser-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .portfolio-lane-track { gap: 20px; }
  .portfolio-lane-card { width: clamp(210px, 41vw, 295px); border-radius: 20px; }
}

@media (max-width: 700px) {
  main section { margin: var(--space-section-mobile) 0; }
  main > section:first-child { margin-top: 14px; }
  .hero { min-height: auto; gap: 16px; }
  .portfolio-grid, .stats, .timeline, form, .two-col, .difference-grid, .live-strip, .audit-form, .pack-rail, .result-meta, .team-grid, .innovation-grid, .innovation-kpis { grid-template-columns: 1fr; }
  .milestone-grid { grid-template-columns: 1fr; }
  .milestone-shell { padding-top: 20px; }
  .milestone-track { display: none; }
  .milestone-dot { left: 14px; transform: none; top: 16px; }
  .milestone-card { padding-left: 34px; }
  .cursor,
  .cursor-trail-dot,
  .cursor-burst { display: none; }
  .brand img { width: 164px; }
  .footer-main, .footer-subscribe { grid-template-columns: 1fr; }
  .footer-main > * { border-right: 0 !important; border-bottom: 0; }
  .footer-bottom { flex-direction: column; }
  .theme-toggle { margin-left: 0; }
  .portfolio-browser { padding: 0; }
  .portfolio-lanes-wrap { gap: 14px; }
  .portfolio-lanes-wrap--bleed {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .portfolio-lane-card { width: clamp(168px, 46vw, 220px); border-radius: 14px; }
  .portfolio-lane-track { gap: 10px; }
  .portfolio-lane-card::after {
    font-size: 12px;
    padding: 7px 10px;
    bottom: 10px;
  }
}
