/* ==========================================================================
   MediaMist Digital — stylesheet
   ========================================================================== */

/* ---------- design tokens ----------
   Palette roles (see brand reference):
     50–60%  white + light grey surfaces
     20–25%  deep navy (#1A1F2E) — hero/dark sections/footer
     10–15%  blue (#3B82F6) + violet (#7C3AED) — icons, graphics, gradients
     ~5%     red (#FF3B30) — CTAs, active states, indicators ONLY
*/
:root {
  --blue: #3B82F6;        /* primary brand blue — icons, graphics, links */
  --blue-deep: #2563EB;
  --sky: #7C3AED;         /* secondary accent — violet */

  --red: #FF3B30;         /* action color — buttons, active states, badges */
  --red-deep: #E02D22;

  --navy: #1A1F2E;        /* dark section background */
  --navy-2: #242B3D;      /* cards on dark */

  --slate: #6B7280;       /* secondary text on light */
  --slate-soft: #9AA3B5;  /* secondary text on dark */

  --paper: #FFFFFF;

  /* light palette */
  --page: #FAFBFC;
  --page-2: #F6F7F9;
  --page-3: #F3F4F6;

  /* sections */
  --mist: #F3F4F6;
  --mist-dark: #E9EBF0;

  --line: #E5E7EB;
  --line-dark: rgba(255, 255, 255, .13);

  --ph-bg1: #F0F2F6;
  --ph-bg2: #F8F9FB;
  --ph-border: #C7CEDB;
  --ph-text: #6B7690;

  /* gradient colors */
  --grad-glow-red-1: rgba(59, 130, 246, .08);   /* body top-right glow (blue) */
  --grad-glow-red-2: rgba(124, 58, 237, .05);   /* body bottom-left glow (violet) */
  --grad-glow-red-3: rgba(59, 130, 246, .10);   /* hero bottom-left glow (blue) */
  --grad-glow-gold: rgba(124, 58, 237, .12);    /* hero top-right glow (violet) */
  --grad-glow-pink: rgba(59, 130, 246, .10);    /* intro center glow (blue) */
  --grad-stripe-a: rgba(255, 255, 255, .045);   /* .ph--dark diagonal stripe */
  --grad-stripe-b: rgba(255, 255, 255, .015);   /* .ph--dark diagonal stripe */
  --grad-hero-stop-2: #FAFBFD;
  --grad-hero-stop-3: #F4F6FA;
  --grad-hero-stop-4: #F0F2F7;
  --grad-dark-end: #3B82F6;                     /* navy -> blue (stats/process/cases/dash) */
  --grad-bar-top: #3B82F6;                      /* dashboard bar gradient (bottom stop) */
  --grad-bar-bottom: #7C3AED;                   /* dashboard bar gradient (top stop) */
  --grad-cta-start: #3B82F6;                    /* CTA section: blue -> violet -> navy */
  --grad-cta-end: #7C3AED;

  --font: 'Manrope', system-ui, -apple-system, sans-serif;
  --mono: var(--font);

  --ease: cubic-bezier(.22, 1, .36, 1);

  --header-h: 76px;
}

/* ---------- reset ---------- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
html.lenis {
  scroll-behavior: auto;
}
body {
  font-family: var(--font);
  background:
    radial-gradient(circle at top right, var(--grad-glow-red-1), transparent 45%),
    radial-gradient(circle at bottom left, var(--grad-glow-red-2), transparent 55%),
    linear-gradient(180deg, var(--paper) 0%, var(--page) 30%, var(--page-2) 70%, var(--page-3) 100%);
  color: #111827;
  font-size: 18.79px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  opacity: .025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
::selection {
  background: var(--blue);
  color: #fff;
}
img {
  max-width: 100%;
  display: block;
}
a {
  color: inherit;
  text-decoration: none;
}
ul {
  list-style: none;
}
.wrap {
  width: min(1280px, 92vw);
  margin: 0 auto;
}

/* ---------- intro wipe ---------- */
.intro {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background:
    radial-gradient(circle at 50% 50%, var(--grad-glow-pink), transparent 65%),
    var(--paper);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 1s var(--ease);
}
.intro.done {
  transform: translateY(-101%);
}
.intro__mark {
  overflow: hidden;
}
.intro__logo {
  height: clamp(44px, 7vw, 80px);
  width: auto;
  transform: translateY(110%);
  animation: introUp .9s var(--ease) .15s forwards;
}
@keyframes introUp {
  to { transform: translateY(0); }
}

/* ---------- scroll progress ---------- */
.progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, var(--blue), var(--sky));
  z-index: 900;
}

/* ---------- header ---------- */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 800;
  height: var(--header-h);
  display: flex;
  align-items: center;
  transition: background .35s, box-shadow .35s, color .35s;
  color: #111827;
}
.header.scrolled {
  background: rgba(255, 255, 255, .88);
  backdrop-filter: blur(14px);
  box-shadow: 0 1px 0 var(--line);
}
.header.on-dark {
  color: #fff;
}
.header.on-dark.scrolled {
  background: rgba(26, 31, 46, .85);
  box-shadow: 0 1px 0 var(--line-dark);
}
.header .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.logo {
  display: flex;
  align-items: center;
}
.logo__img {
  height: 34px;
  width: auto;
  display: block;
}
.logo__img--light {
  display: none;
}
.header.on-dark .logo__img--dark {
  display: none;
}
.header.on-dark .logo__img--light {
  display: block;
}
.nav {
  display: flex;
  gap: 34px;
  font-size: 16.02px;
  font-weight: 500;
}
.nav a {
  position: relative;
  opacity: .85;
  transition: opacity .2s;
}
.nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  height: 2px;
  width: 0;
  background: var(--red);
  transition: width .3s var(--ease);
}
.nav a:hover {
  opacity: 1;
}
.nav a:hover::after {
  width: 100%;
}
.header__right {
  display: flex;
  align-items: center;
  gap: 20px;
}
.lang {
  display: flex;
  gap: 2px;
  font-family: var(--mono);
  font-size: 14px;
}
.lang a {
  padding: 4px 7px;
  border-radius: 5px;
  opacity: .55;
}
.lang a.active {
  opacity: 1;
  background: var(--red);
  color: #fff;
}
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--red);
  color: #fff;
  font-weight: 600;
  font-size: 16.57px;
  padding: 13px 26px;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  transition: transform .3s var(--ease), background .3s, box-shadow .3s;
  will-change: transform;
}
.btn:hover {
  background: var(--red-deep);
  box-shadow: 0 12px 30px rgba(255, 59, 48, .3);
}
.btn--sm {
  padding: 10px 20px;
  font-size: 15.47px;
}
.btn--ghost {
  background: transparent;
  color: inherit;
  border: 1.5px solid currentColor;
  box-shadow: none;
}
.btn--ghost:hover {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
  box-shadow: none;
}
.burger {
  display: none;
}

/* ---------- mobile nav ---------- */
.mnav {
  position: fixed;
  inset: 0;
  background: var(--navy);
  color: #fff;
  z-index: 950;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 8vw;
  transform: translateX(100%);
  transition: transform .5s var(--ease);
  visibility: hidden;
}
.mnav.open {
  transform: none;
  visibility: visible;
}
.mnav a {
  font-size: 35.36px;
  font-weight: 800;
  letter-spacing: -.02em;
  padding: 14px 0;
  border-bottom: 1px solid var(--line-dark);
}
.mnav .lang {
  margin-top: 34px;
  display: flex;
}
.mnav__close {
  position: absolute;
  top: 24px;
  right: 6vw;
  background: none;
  border: none;
  color: #fff;
  font-size: 16.57px;
  font-family: var(--mono);
  cursor: pointer;
  letter-spacing: .1em;
}

/* ---------- shared ---------- */
section {
  position: relative;
}
.eyebrow {
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--blue);
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 26px;
}
.eyebrow::before {
  content: "";
  width: 34px;
  height: 1.5px;
  background: var(--blue);
}
[data-theme="dark"] .eyebrow {
  color: var(--sky);
}
[data-theme="dark"] .eyebrow::before {
  background: var(--sky);
}
.h2 {
  font-size: clamp(37.57px, 5.08vw, 66.3px);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.06;
}
.sub {
  color: var(--slate);
  font-size: clamp(18.79px, 1.66vw, 22.1px);
  max-width: 640px;
  margin-top: 20px;
}
.reveal {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity .9s var(--ease), transform .9s var(--ease);
}
.reveal.in {
  opacity: 1;
  transform: none;
}
.d1 { transition-delay: .08s; }
.d2 { transition-delay: .16s; }
.d3 { transition-delay: .24s; }
.d4 { transition-delay: .32s; }
.d5 { transition-delay: .4s; }
.d6 { transition-delay: .48s; }

/* ---------- image placeholder component ---------- */
.ph {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border: 1.5px dashed var(--ph-border);
  background: repeating-linear-gradient(45deg, var(--ph-bg1) 0 14px, var(--ph-bg2) 14px 28px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--ph-text);
  text-align: center;
  padding: 24px;
}
.ph svg {
  width: 38px;
  height: 38px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .8;
}
.ph span {
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: .1em;
  text-transform: uppercase;
  max-width: 34ch;
  line-height: 1.5;
}
.ph--dark {
  border-color: rgba(165, 180, 252, .35);
  color: #A5B4FC;
  background: repeating-linear-gradient(45deg, var(--grad-stripe-a) 0 14px, var(--grad-stripe-b) 14px 28px);
}
.ph--169 { aspect-ratio: 16 / 9; }
.ph--45 { aspect-ratio: 4 / 5; }
.ph--43 { aspect-ratio: 4 / 3; }
.ph__play {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: var(--blue);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 16px 40px rgba(59, 130, 246, .35);
  transition: transform .35s var(--ease);
}
.ph__play svg {
  width: 24px;
  height: 24px;
  stroke: none;
  fill: #fff;
  opacity: 1;
  margin-left: 3px;
}
.ph:hover .ph__play {
  transform: scale(1.08);
}

/* ---------- hero ---------- */
.hero {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: calc(var(--header-h) + 46px) 0 0;
  color: #fff;
  background:
    radial-gradient(1100px 850px at 100% 0%, rgba(124, 58, 237, .65), transparent 60%),
    radial-gradient(650px 650px at 82% 18%, rgba(59, 130, 246, .4), transparent 65%),
    linear-gradient(135deg, #0A0D18 0%, #12162A 28%, #201B42 52%, #382265 74%, #4C2C82 100%);
  overflow: hidden;
  position: relative;
}
.hero::before {
  content: "";
  position: absolute;
  width: min(72vw, 980px);
  aspect-ratio: 1;
  right: -24vw;
  top: -32vw;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 0 0 110px rgba(255, 255, 255, .018), 0 0 0 260px rgba(255, 255, 255, .014);
  pointer-events: none;
}
.hero .wrap { position: relative; z-index: 1; }
.hero__tag {
  font-family: var(--mono);
  font-size: 14.36px;
  color: var(--slate-soft);
  letter-spacing: .12em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 32px;
}
.hero__tag i {
  width: 8px;
  height: 8px;
  background: var(--red);
  border-radius: 50%;
  display: inline-block;
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 59, 48, .5); }
  70% { box-shadow: 0 0 0 10px rgba(255, 59, 48, 0); }
}
.hero h1 {
  font-size: clamp(44.2px, 7.29vw, 106.08px);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: 1;
  max-width: 17ch;
}
.hero h1 .line {
  display: block;
  overflow: hidden;
}
.hero h1 .line > span {
  display: inline-block;
  transform: translateY(110%);
  transition: transform 1.1s var(--ease);
}
.hero.on h1 .line > span {
  transform: translateY(0);
}
.hero h1 .line:nth-child(2) > span {
  transition-delay: .1s;
}
.hero h1 .line:nth-child(3) > span {
  transition-delay: .2s;
}
.rotator {
  color: var(--blue);
  display: inline-block;
  position: relative;
  min-width: 5.2ch;
}
.rotator__word {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  transform: translateY(30%) rotateX(60deg);
  transition: opacity .5s var(--ease), transform .5s var(--ease);
  white-space: nowrap;
}
.rotator__word.active {
  position: relative;
  opacity: 1;
  transform: none;
}
.hero__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-top: 46px;
  flex-wrap: wrap;
}
.hero__lead {
  max-width: 520px;
  color: var(--slate-soft);
  font-size: clamp(17.68px, 1.55vw, 20.99px);
}
.hero__lead b {
  color: #fff;
  font-weight: 600;
}
.hero__cta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.hero .btn--ghost:hover {
  background: #fff;
  color: var(--navy);
  border-color: #fff;
}
.hero__proof {
  margin-top: 64px;
  display: grid;
  grid-template-columns: .85fr repeat(4, 1fr);
  background: rgba(8, 13, 28, .48);
  border: 1px solid rgba(255, 255, 255, .14);
  border-bottom: 0;
  border-radius: 26px 26px 0 0;
  backdrop-filter: blur(18px);
  overflow: hidden;
}
.hero__proof-mark {
  min-height: 150px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(59,130,246,.25), transparent 68%);
  background-size: 24px 24px, 24px 24px, auto;
}
.hero__proof-mark::after {
  content: "CLINICAL INTELLIGENCE";
  position: absolute;
  bottom: 20px;
  font-size: 14px;
  letter-spacing: .18em;
  color: rgba(255,255,255,.5);
}
.hero__proof-mark span {
  width: 14px; height: 14px; border-radius: 50%;
  border: 2px solid var(--blue);
  box-shadow: 0 0 24px rgba(59,130,246,.8);
}
.hero__proof-mark span:nth-of-type(2) { border-color: var(--red); box-shadow: 0 0 24px rgba(255,59,48,.65); }
.hero__proof-mark i { width: 42px; height: 1px; background: linear-gradient(90deg, var(--blue), rgba(255,255,255,.25)); }
.hero__proof-item {
  padding: 26px 24px;
  border-left: 1px solid rgba(255,255,255,.1);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hero__proof-item b { font-size: 35px; line-height: 1; letter-spacing: -.04em; color: #fff; }
.hero__proof-item span { margin-top: 10px; color: var(--slate-soft); font-size: 14px; line-height: 1.45; }

/* marquee (inside hero — dark) */
.marquee {
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
  padding: 20px 0;
  overflow: hidden;
  white-space: nowrap;
  background: var(--navy-2);
}
.marquee__track {
  display: inline-flex;
  animation: scrollX 28s linear infinite;
}
.marquee:hover .marquee__track {
  animation-play-state: paused;
}
.marquee__item {
  font-weight: 700;
  font-size: clamp(17.68px, 1.99vw, 24.31px);
  letter-spacing: -.01em;
  padding: 0 26px;
  display: inline-flex;
  align-items: center;
  gap: 52px;
  color: #fff;
}
.marquee__item::after {
  content: "";
  width: 9px;
  height: 9px;
  background: var(--sky);
  border-radius: 50%;
}
@keyframes scrollX {
  to { transform: translateX(-50%); }
}

/* ---------- stats (light, red numbers) ---------- */
.stats {
  background: var(--paper);
  color: #111827;
  padding: 110px 0;
}
.stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 44px;
}
.stat {
  border-top: 1px solid var(--line);
  padding-top: 26px;
}
.stat__num {
  font-weight: 900;
  font-size: clamp(53.04px, 5.97vw, 92.82px);
  letter-spacing: -.04em;
  line-height: 1;
  display: flex;
  align-items: baseline;
  color: #ED1C24;
}
.stat__num em {
  font-style: normal;
  color: #ED1C24;
  font-size: .62em;
  margin-left: 4px;
}
.stat__label {
  color: var(--slate);
  margin-top: 14px;
  font-size: 17.13px;
  max-width: 24ch;
}
.stats__note {
  margin-top: 70px;
  font-family: var(--mono);
  font-size: 14px;
  color: var(--slate);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.trust-line {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.76);
}
.trust-line span {
  padding: 19px 22px 19px 42px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  position: relative;
  border-left: 1px solid var(--line);
}
.trust-line span:first-child { border-left: 0; }
.trust-line span::before {
  content: "";
  position: absolute;
  left: 21px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: translateY(-50%);
  background: var(--red);
  box-shadow: 0 0 0 5px rgba(255,59,48,.08);
}

/* ---------- manifesto / about ---------- */
.manifesto {
  padding: 150px 0;
}
.manifesto__text {
  font-size: clamp(28.73px, 3.76vw, 50.83px);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.28;
  max-width: 1080px;
}
.manifesto__text .w {
  opacity: .34;
  transition: opacity .35s linear;
}
.manifesto__text .w.lit {
  opacity: 1;
}
.manifesto__text .acc {
  color: var(--blue);
}
.about__grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 60px;
  margin-top: 90px;
  align-items: stretch;
}
.pillars__grid {
  display: grid;
  grid-template-columns: 1fr; /* 1 column by default */
  gap: 20px; /* adjust as needed */
}

/* For desktop screens (min-width: 768px) */
@media (min-width: 768px) {
  .pillars__grid {
    grid-template-columns: 1fr 1fr; /* 2 equal columns */
  }
}
.about__media {
  min-height: 640px;
  max-height: 640px;
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  background: var(--navy);
}
.about__media .ph {
  height: 100%;
  min-height: 420px;
}
.about__photo {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  border-radius: 22px;
  filter: saturate(.82) contrast(1.04);
  transition: transform .9s var(--ease), filter .6s;
}
.about__media:hover .about__photo { transform: scale(1.025); filter: saturate(.94) contrast(1.04); }
.visual-note {
  position: absolute;
  left: 18px;
  top: 18px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  background: rgba(10,15,28,.72);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(12px);
  border-radius: 100px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.visual-note i { width: 6px; height: 6px; border-radius: 50%; background: var(--red); }
.about__labels {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.about__labels span {
  color: #fff;
  background: rgba(10,15,28,.72);
  border: 1px solid rgba(255,255,255,.15);
  backdrop-filter: blur(12px);
  border-radius: 100px;
  padding: 7px 11px;
  font-size: 14px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.pillars {
  display: grid;
  gap: 22px;
}
.pillar {
  background: var(--mist);
  border-radius: 22px;
  padding: 34px 34px;
  position: relative;
  overflow: hidden;
  transition: transform .4s var(--ease), box-shadow .4s;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  align-items: start;
}
.pillar:hover {
  transform: translateY(-5px);
  box-shadow: 0 26px 50px rgba(17, 24, 39, .08);
}
.pillar__icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: var(--blue);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.pillar__icon svg {
  width: 24px;
  height: 24px;
  stroke: #fff;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pillar h3 {
  font-size: 20.99px;
  font-weight: 700;
  letter-spacing: -.01em;
  margin-bottom: 8px;
}
.pillar p {
  color: var(--slate);
  font-size: 16.57px;
}

/* ---------- services (click accordion) ---------- */
.services {
  /*background: linear-gradient(180deg, var(--mist) 0%, var(--mist-dark) 100%);*/
  padding: 150px 0;
}
.services__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  margin-bottom: 34px;
  flex-wrap: wrap;
}
.services__title .h2 {
  font-size: clamp(49.73px, 5.97vw, 79.56px);
}
.services__counter {
  font-family: var(--mono);
  font-size: 14.36px;
  color: var(--slate);
  letter-spacing: .14em;
  display: flex;
  align-items: center;
  gap: 14px;
}
.services__counter b {
  color: var(--red);
  font-weight: 500;
  font-size: 24.31px;
}
.services__bar {
  width: 120px;
  height: 2px;
  background: var(--line);
  position: relative;
  overflow: hidden;
  border-radius: 2px;
}
.services__bar i {
  position: absolute;
  inset: 0;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s var(--ease);
  display: block;
}
.svc {
  border-top: 1px solid var(--line);
}
.svc:last-child {
  border-bottom: 1px solid var(--line);
}
.svc__bar {
  display: grid;
  grid-template-columns: 96px 1fr auto;
  align-items: center;
  gap: 26px;
  padding: 17px 10px;
  cursor: pointer;
}
.svc__code {
  font-family: var(--mono);
  font-size: 14px;
  color: var(--slate);
  letter-spacing: .1em;
  transition: color .3s;
}
.svc__title {
  font-size: clamp(34.8px, 3.81vw, 53.04px);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.1;
  color: var(--slate-soft);
  transition: color .35s, transform .45s var(--ease);
}
.svc.open .svc__title, .svc:hover .svc__title {
  color: #111827;
  transform: translateX(10px);
}
.svc.open .svc__code {
  color: var(--red);
}
.svc__plus {
  width: 40px;
  height: 40px;
  border: 1.5px solid var(--line);
  border-radius: 50%;
  position: relative;
  flex: none;
  transition: background .3s, border-color .3s, transform .5s var(--ease);
}
.svc__plus::before, .svc__plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--navy);
  transition: background .3s;
}
.svc__plus::before {
  width: 14px;
  height: 1.8px;
  transform: translate(-50%, -50%);
}
.svc__plus::after {
  width: 1.8px;
  height: 14px;
  transform: translate(-50%, -50%);
}
.svc.open .svc__plus {
  transform: rotate(135deg);
  background: var(--red);
  border-color: var(--red);
}
.svc.open .svc__plus::before, .svc.open .svc__plus::after {
  background: #fff;
}
.svc__body {
  max-height: 0;
  overflow: hidden;
  transition: max-height .7s var(--ease), opacity .5s;
  opacity: 0;
}
.svc.open .svc__body {
  opacity: 1;
}
.svc__inner {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 26px;
  padding: 2px 10px 30px;
}
.svc__lead {
  grid-column: 2;
  color: var(--slate);
  font-size: 25.7px;
  max-width: 640px;
  margin-bottom: 16px;
}
.svc__list {
  grid-column: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px 40px;
}
.svc__list li {
  position: relative;
  padding-left: 20px;
  font-size: 23.2px;
  color: #111827;
}
.svc__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .58em;
  width: 7px;
  height: 7px;
  background: var(--sky);
  border-radius: 2px;
}
@media (max-height: 880px) {
  .svc__bar { padding: 13px 10px; }
  .svc__title { font-size: clamp(31.49px, 3.32vw, 43.1px); }
  .svc__lead { margin-bottom: 10px; font-size: 24.03px; }
  .svc__list li { font-size: 22.38px; }
  .services__head { margin-bottom: 22px; }
  .services__title .h2 { font-size: clamp(43.1px, 4.97vw, 62.99px); }
  .sub { margin-top: 12px; }
}

/* ---------- process (scroll-scrubbed timeline) ---------- */
.process {
  padding: 150px 0;
  background: linear-gradient(200deg, var(--navy) 60%, var(--grad-dark-end));
  color: #fff;
  overflow: hidden;
}
.process .sub {
  color: var(--slate-soft);
}
.steps {
  margin-top: 96px;
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 26px;
}
.steps__rail {
  position: absolute;
  top: 11px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--line-dark);
  border-radius: 2px;
}
.steps__fill {
  position: absolute;
  top: 11px;
  left: 0;
  height: 2px;
  width: 0;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--blue), var(--sky));
}
.steps__beacon {
  position: absolute;
  top: 12px;
  left: 0;
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
  border-radius: 50%;
  background: var(--sky);
  box-shadow: 0 0 0 5px rgba(124, 58, 237, .22), 0 0 24px rgba(124, 58, 237, .85);
  opacity: 0;
}
.step {
  position: relative;
  padding-top: 46px;
}
.step::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--navy);
  border: 2px solid #3A4358;
  transition: border-color .3s, background .3s, transform .3s;
}
.step::after {
  content: "";
  position: absolute;
  top: 11.5px;
  left: 7.5px;
  width: 0;
  height: 0;
  border-radius: 50%;
  border: 1.5px solid var(--sky);
  opacity: 0;
  transform: translate(-50%, -50%);
}
.step.on::before {
  border-color: var(--sky);
  background: var(--sky);
  transform: scale(1.15);
}
.step.on::after {
  animation: ripple .9s var(--ease);
}
@keyframes ripple {
  0% { width: 0; height: 0; opacity: .9; }
  100% { width: 52px; height: 52px; opacity: 0; }
}
.step__n {
  font-family: var(--mono);
  font-size: 14px;
  color: #8B94AC;
  letter-spacing: .12em;
  margin-bottom: 12px;
  transition: color .3s;
}
.step.on .step__n {
  color: var(--sky);
}
.step__icon {
  width: 38px;
  height: 38px;
  margin-bottom: 18px;
  color: #3A4358;
  transition: color .3s;
}
.step__icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.step.on .step__icon {
  color: var(--sky);
}
.step h3 {
  font-size: 19.89px;
  font-weight: 700;
  margin-bottom: 10px;
  letter-spacing: -.01em;
  color: #98A2B8;
  transition: color .3s;
}
.step.on h3 {
  color: #fff;
}
.step p {
  font-size: 15.47px;
  color: #8B94AC;
  line-height: 1.6;
  transition: color .3s;
}
.step.on p {
  color: var(--slate-soft);
}

/* ---------- why ---------- */
.why {
  padding: 150px 0;
}
.why__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: 24px;
  overflow: hidden;
  margin-top: 70px;
}
.why__cell {
  background: var(--paper);
  padding: 44px 38px;
  transition: background .35s;
}
.why__cell:hover {
  background: var(--mist);
}
.why__icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: var(--mist);
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .35s, border-color .35s;
}
.why__cell:hover .why__icon {
  background: var(--blue);
  border-color: var(--blue);
}
.why__icon svg {
  width: 25px;
  height: 25px;
  stroke: var(--blue);
  fill: none;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke .35s;
}
.why__cell:hover .why__icon svg {
  stroke: #fff;
}
.why__cell h3 {
  font-size: 20.99px;
  font-weight: 700;
  letter-spacing: -.01em;
  margin: 24px 0 12px;
}
.why__cell p {
  color: var(--slate);
  font-size: 16.57px;
}

/* ---------- cases ---------- */
.cases {
  background: linear-gradient(160deg, var(--navy) 55%, var(--grad-dark-end));
  color: #fff;
  padding: 150px 0 130px;
  overflow: hidden;
}
.cases .sub {
  color: var(--slate-soft);
}
.cases__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  flex-wrap: wrap;
}
.cases__hint {
  font-family: var(--mono);
  font-size: 14px;
  color: #8B94AC;
  letter-spacing: .14em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 12px;
}
.cases__hint svg {
  width: 34px;
  height: 12px;
  stroke: #8B94AC;
  fill: none;
  stroke-width: 1.5;
}
.rail {
  display: flex;
  gap: 26px;
  margin-top: 70px;
  overflow-x: auto;
  padding-bottom: 26px;
  scroll-snap-type: x mandatory;
  cursor: grab;
  scrollbar-width: none;
}
.rail::-webkit-scrollbar {
  display: none;
}
.rail.dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}
.case {
  flex: 0 0 min(440px, 84vw);
  scroll-snap-align: start;
  background: var(--navy-2);
  border: 1px solid var(--line-dark);
  border-radius: 24px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform .45s var(--ease), border-color .45s;
}
.case:hover {
  transform: translateY(-8px);
  border-color: rgba(124, 58, 237, .55);
}
.case__media {
  position: relative;
  overflow: hidden;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid var(--line-dark);
  aspect-ratio: 16 / 8.5;
  background: #0B1220;
}
.case__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, rgba(9,14,27,.58));
  pointer-events: none;
}
.case__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease), filter .5s; }
.case:hover .case__media img { transform: scale(1.035); filter: saturate(1.08); }
.case__media .visual-note { top: auto; bottom: 14px; left: 14px; }
.case__facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 24px;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}
.case__facts span {
  padding: 13px 7px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .04em;
  text-transform: uppercase;
  border-left: 1px solid var(--line-dark);
}
.case__facts span:first-child { border-left: 0; padding-left: 0; }
.case__body {
  padding: 30px 32px 34px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.case__type {
  font-family: var(--mono);
  font-size: 14px;
  color: var(--sky);
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.case h3 {
  font-size: 25.41px;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15;
  margin-bottom: 14px;
}
.case p {
  color: var(--slate-soft);
  font-size: 16.02px;
  flex: 1;
}
.case__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}
.case__tags span {
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: .06em;
  color: #C5CDE0;
  border: 1px solid var(--line-dark);
  border-radius: 100px;
  padding: 6px 13px;
}
.cases__cta {
  margin-top: 56px;
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
}
.cases__cta p {
  color: var(--slate-soft);
  font-size: 16.57px;
  max-width: 460px;
}
.cases .btn {
  background: var(--red);
  color: #fff;
}
.cases .btn:hover {
  background: var(--red-deep);
  box-shadow: 0 12px 30px rgba(255, 59, 48, .3);
}

/* ---------- analytics ---------- */
.analytics {
  padding: 150px 0;
}
.analytics__grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 80px;
  align-items: center;
  margin-top: 20px;
}
.metric-groups {
  display: grid;
  gap: 14px;
  margin-top: 50px;
}
.mgroup {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px 30px;
}
.mgroup h4 {
  font-size: 17.68px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.mgroup h4 i {
  width: 10px;
  height: 10px;
  background: var(--blue);
  border-radius: 50%;
  flex: none;
}
.mgroup ul {
  display: grid;
  gap: 8px;
}
.mgroup li {
  color: var(--slate);
  font-size: 16.02px;
  padding-left: 18px;
  position: relative;
}
.mgroup li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--blue);
}
.dash {
  background: linear-gradient(165deg, var(--navy), var(--grad-dark-end));
  border-radius: 26px;
  padding: 34px;
  color: #fff;
  box-shadow: 0 40px 90px rgba(26, 31, 46, .28);
  position: relative;
}
.dash__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
.dash__title {
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: .1em;
  color: var(--slate-soft);
  text-transform: uppercase;
}
.dash__live {
  font-family: var(--mono);
  font-size: 14px;
  color: var(--sky);
  display: flex;
  align-items: center;
  gap: 7px;
}
.dash__live::before {
  content: "";
  width: 7px;
  height: 7px;
  background: var(--sky);
  border-radius: 50%;
  animation: pulse 2s infinite;
}
.dash__kpis {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 30px;
}
.kpi {
  background: rgba(255, 255, 255, .05);
  border: 1px solid var(--line-dark);
  border-radius: 14px;
  padding: 16px;
}
.kpi b {
  font-size: 24.31px;
  font-weight: 800;
  letter-spacing: -.02em;
  display: block;
}
.kpi span {
  font-family: var(--mono);
  font-size: 14px;
  color: var(--slate-soft);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.bars {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  height: 150px;
}
.bars i {
  flex: 1;
  background: linear-gradient(to top, var(--grad-bar-top), var(--grad-bar-bottom));
  border-radius: 6px 6px 2px 2px;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 1s var(--ease);
}
.dash.in .bars i {
  transform: scaleY(1);
}
.bars i:nth-child(2) { transition-delay: .08s; }
.bars i:nth-child(3) { transition-delay: .16s; }
.bars i:nth-child(4) { transition-delay: .24s; }
.bars i:nth-child(5) { transition-delay: .32s; }
.bars i:nth-child(6) { transition-delay: .4s; }
.bars i:nth-child(7) { transition-delay: .48s; }
.bars i:nth-child(8) { transition-delay: .56s; }
.bars i:nth-child(9) { transition-delay: .64s; }
.bars i:nth-child(10) { transition-delay: .72s; }
.dash__axis {
  display: flex;
  justify-content: space-between;
  font-family: var(--mono);
  font-size: 14px;
  color: #ffffff;
  margin-top: 12px;
  letter-spacing: .06em;
}

/* ---------- geo ---------- */
.geo {
  background: linear-gradient(180deg, var(--mist) 0%, var(--mist-dark) 100%);
  padding: 130px 0;
}
.geo__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.geo__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}
.geo__chip {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 100px;
  padding: 11px 20px;
  font-weight: 600;
  font-size: 16.02px;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: transform .3s var(--ease), border-color .3s;
}
.geo__chip:hover {
  transform: translateY(-3px);
  border-color: var(--blue);
}
.geo__chip i {
  width: 8px;
  height: 8px;
  background: var(--blue);
  border-radius: 50%;
}
.geo__note {
  margin-top: 24px;
  color: var(--slate);
  font-size: 16.57px;
  max-width: 46ch;
}
.geo__statement,
.analytics__conclusion {
  margin-top: 28px;
  max-width: 72ch;
  color: #fff;
  font-size: 16px;
  line-height: 1.7;
}
.analytics__conclusion { margin-top: 36px; }
.geo-map {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border-radius: 26px;
  color: #fff;
  background:
    radial-gradient(circle at 65% 30%, rgba(59,130,246,.32), transparent 38%),
    linear-gradient(145deg, #101827, #18243A 70%, #23345A);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 34px 80px rgba(17,24,39,.16);
}
.geo-map__grid {
  position: absolute;
  inset: 0;
  opacity: .38;
  background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 36px 36px;
}
.geo-map svg { position: relative; z-index: 1; width: 100%; height: 390px; display: block; }
.geo-map__land { fill: rgba(255,255,255,.035); stroke: rgba(255,255,255,.22); stroke-width: 1.4; }
.geo-map__route { fill: none; stroke: url(#routeGradient); stroke: var(--blue); stroke-width: 2; stroke-dasharray: 5 7; opacity: .78; }
.geo-map__nodes circle { fill: var(--red); stroke: rgba(255,255,255,.9); stroke-width: 3; filter: drop-shadow(0 0 9px rgba(255,59,48,.85)); }
.geo-map__labels { fill: #fff; font-size: 14px; font-weight: 700; letter-spacing: .08em; }
.geo-map__legend {
  position: absolute;
  z-index: 2;
  left: 26px;
  right: 26px;
  bottom: 22px;
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
}
.geo-map__legend i { width: 7px; height: 7px; border-radius: 50%; background: var(--red); }
.geo-map__legend span { margin-left: auto; color: #fff; font-weight: 700; }

/* ---------- CTA ---------- */
.cta {
  background:
    radial-gradient(780px 620px at 76% 30%, rgba(59,130,246,.42), transparent 63%),
    radial-gradient(520px 520px at 16% 100%, rgba(124,58,237,.25), transparent 68%),
    linear-gradient(135deg, #111827, #18243B 58%, #251E46);
  color: #fff;
  padding: 150px 0;
  position: relative;
  overflow: hidden;
}
.cta::before {
  content: "";
  position: absolute;
  width: 800px;
  height: 800px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, .16);
  top: -360px;
  right: -260px;
}
.cta::after {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, .12);
  top: -200px;
  right: -110px;
}
.cta__grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 90px;
  position: relative;
  z-index: 1;
}
.cta .eyebrow {
  color: #fff;
}
.cta .eyebrow::before {
  background: #fff;
}
.cta h2 {
  font-size: clamp(41.99px, 5.75vw, 79.56px);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1.02;
}
.cta__lead {
  margin-top: 26px;
  font-size: 19.89px;
  max-width: 46ch;
  color: rgba(255, 255, 255, .88);
}
.cta__contacts {
  margin-top: 52px;
  display: grid;
  gap: 14px;
  font-size: 17.68px;
}
.cta__contacts a {
  display: flex;
  align-items: center;
  gap: 14px;
  font-weight: 600;
  width: fit-content;
  transition: transform .3s var(--ease);
}
.cta__contacts a:hover {
  transform: translateX(6px);
}
.cta__contacts svg {
  width: 20px;
  height: 20px;
  stroke: #fff;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: none;
}
.form {
  background: #fff;
  color: #111827;
  border-radius: 26px;
  padding: 46px 44px;
  box-shadow: 0 50px 100px rgba(10, 15, 30, .35);
}
.form h3 {
  font-size: 25.41px;
  font-weight: 800;
  letter-spacing: -.02em;
  margin-bottom: 8px;
}
.form > p {
  color: var(--slate);
  font-size: 16.02px;
  margin-bottom: 30px;
}
.field {
  position: relative;
  margin-bottom: 24px;
}
.field input, .field textarea {
  width: 100%;
  border: none;
  border-bottom: 1.5px solid var(--line);
  background: transparent;
  font-family: var(--font);
  font-size: 17.68px;
  padding: 12px 2px;
  color: #111827;
  outline: none;
  transition: border-color .3s;
  resize: vertical;
}
.field textarea {
  min-height: 86px;
}
.field label {
  position: absolute;
  left: 2px;
  top: 12px;
  color: var(--slate);
  font-size: 16.57px;
  pointer-events: none;
  transition: all .25s var(--ease);
}
.field input:focus, .field textarea:focus {
  border-color: var(--blue);
}
.field input:focus + label,
.field input:not(:placeholder-shown) + label,
.field textarea:focus + label,
.field textarea:not(:placeholder-shown) + label {
  top: -11px;
  font-size: 14px;
  color: var(--blue);
  font-family: var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.consent {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 14px;
  color: var(--slate);
  margin: 6px 0 28px;
}
.consent input {
  margin-top: 3px;
  accent-color: var(--red);
}
.consent a {
  text-decoration: underline;
}
.form .btn {
  width: 100%;
  justify-content: center;
  padding: 16px;
}
.form__ok {
  display: none;
  text-align: center;
  padding: 40px 10px;
}
.form__ok.show {
  display: block;
}
.form__ok b {
  display: block;
  font-size: 22.1px;
  margin: 16px 0 8px;
}
.form__ok svg {
  width: 56px;
  height: 56px;
  stroke: var(--blue);
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  margin: 0 auto;
}

/* ---------- footer ---------- */
.footer {
  background: var(--navy);
  color: #fff;
  padding: 90px 0 44px;
}
.footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 60px;
  padding-bottom: 60px;
  border-bottom: 1px solid var(--line-dark);
}
.footer__about p {
  color: var(--slate-soft);
  font-size: 16.57px;
  margin-top: 20px;
  max-width: 38ch;
}
.footer h4 {
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #8B94AC;
  margin-bottom: 22px;
}
.footer ul {
  display: grid;
  gap: 12px;
  font-size: 16.57px;
}
.footer ul a {
  color: #C5CDE0;
  transition: color .2s;
}
.footer ul a:hover {
  color: var(--sky);
}
.footer .logo__img {
  height: 38px;
}
.footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  padding-top: 36px;
  font-size: 14.36px;
  color: #8B94AC;
}
.footer__bottom a {
  color: #8B94AC;
}
.footer__bottom a:hover {
  color: #fff;
}

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
  .stats__grid { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(3, 1fr); gap: 44px 26px; }
  .steps__rail, .steps__fill, .steps__beacon { display: none; }
  .step.on::after { display: none; }
  .why__grid { grid-template-columns: repeat(2, 1fr); }
  .analytics__grid, .geo__inner, .cta__grid, .about__grid { grid-template-columns: 1fr; gap: 60px; }
  /* width:100% keeps the placeholder width-driven so aspect-ratio + min-height
     can't back-compute a width (320 * 16/9 = 568px) that overflows the column. */
  .about__media .ph { width: 100%; min-height: 320px; aspect-ratio: 16 / 9; height: auto; }
  .about__photo { min-height: 0; aspect-ratio: 4 / 3; height: auto; }
  /* let collapsed grid tracks shrink below their children's min-content */
  .about__grid > *, .analytics__grid > *, .cta__grid > *, .geo__inner > * { min-width: 0; }
}
@media (max-width: 820px) {
  .nav, .header .lang, .hide-mob { display: none; }
  .burger { display: flex; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; }
  .burger span { width: 24px; height: 2px; background: currentColor; transition: .3s; }
  .header.on-dark .burger { color: #fff; }
  .hero__proof { grid-template-columns: repeat(2, 1fr); }
  .hero__proof-mark { display: none; }
  .trust-line { grid-template-columns: repeat(2, 1fr); }
  .trust-line span:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .trust-line span:nth-child(4) { border-top: 1px solid var(--line); }
  .svc__bar { grid-template-columns: 1fr auto; gap: 18px; padding: 22px 4px; }
  .svc__code { display: none; }
  .svc__inner { grid-template-columns: 1fr; padding: 0 4px 32px; }
  .svc__lead, .svc__list { grid-column: 1; }
  .svc__list { grid-template-columns: 1fr; }
  /* mobile timeline: rail is gone, so center each step as a stacked card
     with a large icon instead of the left-aligned desktop dot layout */
  .steps { grid-template-columns: 1fr; gap: 56px; margin-top: 56px; }
  .step { padding-top: 0; display: flex; flex-direction: column; align-items: center; text-align: center; }
  .step::before, .step::after { display: none; }
  .step__icon { width: 114px; height: 114px; margin-bottom: 24px; color: var(--slate-soft); }
  .step.on .step__icon { color: var(--sky); }
  .step__n { margin-bottom: 10px; }
  .step p { max-width: 32ch; }
  .why__grid { grid-template-columns: 1fr; }
  .stats__grid { gap: 34px; }
  .form { padding: 36px 26px; }
  .footer__grid { grid-template-columns: 1fr; gap: 44px; }
}
@media (max-width: 560px) {
  /* trim the oversized desktop vertical rhythm so sections breathe on phones */
  .manifesto, .process, .why, .analytics, .cta, .geo { padding: 88px 0; }
  .stats { padding: 72px 0; }
  .cases { padding: 88px 0 90px; }
  .about__grid, .manifesto .about__grid { margin-top: 54px; }
  /* single-column stats so the big numbers never crowd */
  .stats__grid { grid-template-columns: 1fr; gap: 30px; }
  /* keep the analytics dashboard card from forcing overflow via its KPI labels */
  .dash { padding: 22px; }
  .dash__kpis { gap: 10px; }
  .kpi { padding: 12px 10px; }
  .kpi b { font-size: 20px; }
  .kpi span { font-size: 14px; letter-spacing: .03em; }
  /* services header: stack title and counter instead of squeezing side by side */
  .services__head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .hero { min-height: 100svh; }
  .hero__proof { margin-top: 48px; grid-template-columns: 1fr; border-radius: 20px 20px 0 0; }
  .hero__proof-item { min-height: 92px; border-left: 0; border-top: 1px solid rgba(255,255,255,.1); padding: 18px 20px; }
  .hero__proof-item:first-of-type { border-top: 0; }
  .hero__proof-item b { font-size: 28px; }
  .trust-line { grid-template-columns: 1fr; }
  .trust-line span { border-left: 0; border-top: 1px solid var(--line); }
  .trust-line span:first-child { border-top: 0; }
  .about__labels { display: none; }
  .visual-note { max-width: calc(100% - 28px); white-space: normal; line-height: 1.25; }
  .geo-map { min-height: 350px; }
  .geo-map svg { height: 330px; transform: scale(1.13); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001s !important;
    transition-duration: .001s !important;
  }
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; }
  .manifesto__text .w { opacity: 1; }
}

/* ---------- language-mismatch suggestion popup ---------- */
.lang-suggest {
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 970;
  max-width: 380px;
  transform: translateY(140%);
  transition: transform .5s var(--ease);
}
.lang-suggest.show {
  transform: translateY(0);
}
.lang-suggest__box {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 22px 24px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, .12);
}
.lang-suggest__box p {
  font-size: 14.5px;
  color: var(--navy);
  margin-bottom: 16px;
}
.lang-suggest__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* ---------- trilingual cookie consent ---------- */
.cookie-consent {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 980;
  transform: translateY(110%);
  transition: transform .5s var(--ease);
}
.cookie-consent.show {
  transform: translateY(0);
}
.cookie-consent__box {
  background: var(--paper);
  border-top: 1px solid var(--line);
  box-shadow: 0 -20px 50px rgba(0, 0, 0, .1);
  padding: 22px min(6vw, 40px);
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}
.cookie-consent__langs {
  flex: 1 1 480px;
  display: grid;
  gap: 6px;
}
.cookie-consent__langs p {
  font-size: 14px;
  color: var(--slate);
  line-height: 1.5;
}
.cookie-consent__langs strong {
  font-family: var(--mono);
  color: var(--blue);
  margin-right: 6px;
}
.cookie-consent__langs a {
  text-decoration: underline;
}
#cookieConsentAccept {
  flex: 0 0 auto;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .cookie-consent__box { flex-direction: column; align-items: stretch; }
  #cookieConsentAccept { width: 100%; justify-content: center; }
  .lang-suggest { left: 16px; right: 16px; max-width: none; }
}

/* ==========================================================================
   2026 premium B2B direction
   ========================================================================== */
:root {
  --font: 'Manrope', system-ui, -apple-system, sans-serif;
  --mono: 'Manrope', system-ui, sans-serif;
  --display: 'Manrope', system-ui, sans-serif;
}
.wrap { width: min(1400px, calc(100vw - 64px)); }
body { font-size: 17px; background: #f7f8fb; }
.eyebrow { font-family: var(--mono); letter-spacing: .14em; font-size: 14px; text-transform: uppercase; }
.h2 { font-family: var(--display); font-weight: 500; letter-spacing: -.055em; line-height: .98; }
.header { height: 84px; }
.header.scrolled { background: rgba(250, 251, 253, .82); backdrop-filter: blur(24px) saturate(130%); }
.header.on-dark.scrolled { background: rgba(18, 23, 36, .78); }
.nav { font-size: 14px; gap: 28px; }
.lang { border: 1px solid currentColor; border-color: color-mix(in srgb, currentColor 18%, transparent); border-radius: 999px; padding: 3px; }
.lang a { min-width: 35px; text-align: center; border-radius: 999px; }
.btn { border-radius: 999px; letter-spacing: -.02em; }

.hero {
  min-height: max(780px, 100svh);
  padding: 0;
  justify-content: flex-start;
  background:
    radial-gradient(circle at 78% 22%, rgba(124,58,237,.28), transparent 29%),
    radial-gradient(circle at 16% 85%, rgba(59,130,246,.22), transparent 35%),
    var(--navy);
  color: #fff;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  width: min(54vw, 780px);
  aspect-ratio: 1;
  right: -8vw;
  top: 7vh;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  box-shadow: 0 0 0 5vw rgba(255,255,255,.025), 0 0 0 11vw rgba(255,255,255,.018);
  z-index: -1;
  animation: orbitFloat 14s ease-in-out infinite alternate;
}
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .3;
  background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: linear-gradient(to bottom, #000, transparent 82%);
}
@keyframes orbitFloat { to { transform: translate(-3vw, 3vh) rotate(7deg); } }
.hero .wrap { padding-top: clamp(130px, 17vh, 190px); }
.hero__tag { color: rgba(255,255,255,.66); font-family: var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.hero h1 { max-width: 1230px; margin-top: 44px; font-weight: 500; font-size: clamp(58px, 8.3vw, 126px); line-height: .88; letter-spacing: -.075em; text-transform: none; }
.hero h1 .line:nth-child(2) { padding-left: clamp(0px, 8vw, 130px); }
.hero h1 .line:nth-child(3) { padding-left: clamp(0px, 15vw, 240px); color: rgba(255,255,255,.38); }
.rotator { color: #8bb9ff; }
.hero__bottom { border-top-color: rgba(255,255,255,.16); }
.hero__lead { color: rgba(255,255,255,.7); }
.hero__proof { background: rgba(255,255,255,.055); border-color: rgba(255,255,255,.12); backdrop-filter: blur(18px); }
.hero__proof-item b { color: #fff; }
.hero__proof-item span { color: rgba(255,255,255,.58); }
.marquee { border-color: rgba(255,255,255,.11); color: rgba(255,255,255,.5); }

.stats { background: #f7f8fb; }
.stat { border-top: 1px solid #cfd4df; }
.stat__num { letter-spacing: -.07em; }
.trust-line { border-radius: 999px; background: #fff; border: 1px solid var(--line); padding: 12px 18px; }
.manifesto { background: #fff; }
.about__media { border-radius: 28px; overflow: hidden; }
.pillar { border-radius: 20px; background: #f7f8fb; border: 1px solid var(--line); }

.integrated { position: relative; overflow: hidden; padding: 150px 0; background: #131827; color: #fff; }
.integrated::before { content:''; position:absolute; inset:0; background: radial-gradient(circle at 12% 10%, rgba(59,130,246,.2),transparent 30%), radial-gradient(circle at 92% 90%,rgba(124,58,237,.22),transparent 30%); }
.integrated .wrap { position: relative; }
.integrated__head { display:grid; grid-template-columns: .7fr 1.45fr .85fr; gap: 54px; align-items:start; }
.integrated__head .eyebrow { color:#8bb9ff; padding-top:10px; }
.integrated__head .h2 { font-size: clamp(48px, 6.3vw, 94px); }
.integrated__lead { color:var(--slate-soft); max-width:430px; line-height:1.65; }
.integrated__flow { display:grid; grid-template-columns:repeat(6,1fr); margin-top:100px; border:1px solid var(--line-dark); border-radius:24px; overflow:hidden; background:rgba(255,255,255,.025); }
.integrated__node { min-height:190px; padding:24px; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid var(--line-dark); position:relative; }
.integrated__node:last-child { border-right:0; }
.integrated__node::after { content:'→'; position:absolute; right:-10px; top:50%; z-index:2; width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--blue);font-size: 14px; }
.integrated__node:last-child::after { display:none; }
.integrated__node span { font-family:var(--mono);font-size: 14px;color:#8bb9ff; }
.integrated__node strong { font-size:16px;font-weight:500; }
.integrated__bottom { display:grid;grid-template-columns:1fr 1.6fr;gap:80px;margin-top:70px; }
.integrated__statement > span,.integrated__areas > p { font-family:var(--mono);font-size: 14px;letter-spacing:.13em;color:#8bb9ff; }
.integrated__statement p { font-size:clamp(22px,2vw,31px);line-height:1.35;margin-top:22px;letter-spacing:-.035em; }
.integrated__areas > div { display:flex;flex-wrap:wrap;gap:9px;margin-top:22px; }
.integrated__areas span { border:1px solid rgba(255,255,255,.17);border-radius:999px;padding:8px 13px;color:rgba(255,255,255,.72);font-size: 14px; }

.services { background:#f7f8fb; }
.svc { border-color:#d9dde6; }
.svc__bar { transition:padding .35s var(--ease), background .35s, color .35s; border-radius:18px; }
.svc.open .svc__bar { padding-left:24px;padding-right:24px;background:#fff;box-shadow:0 16px 46px rgba(26,31,46,.07); }
.svc__code { font-family:var(--mono); }

.partnership { padding:150px 0;background:#fff; }
.partnership__intro { display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end; }
.partnership__intro .h2 { margin-top:28px;font-size:clamp(48px,6vw,90px); }
.partnership__intro .sub { max-width:480px;margin:0 0 8px auto; }
.partnership__grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:80px; }
.partnership__card { min-height:360px;padding:30px;border-radius:24px;background:#f5f6f9;border:1px solid #e3e6ec;display:flex;flex-direction:column;transition:transform .4s var(--ease),background .4s,color .4s; }
.partnership__card:hover { transform:translateY(-8px);background:var(--navy);color:#fff; }
.partnership__card > span { font-family:var(--mono);font-size: 14px;color:var(--blue); }
.partnership__card h3 { margin-top:auto;font-size:clamp(24px,2.2vw,34px);letter-spacing:-.045em;font-weight:500; }
.partnership__card p { margin-top:18px;color:var(--slate);font-size:15px;line-height:1.6; }
.partnership__card:hover p { color:var(--slate-soft); }
.pharma-functions { margin-top:70px;padding-top:30px;border-top:1px solid var(--line);display:grid;grid-template-columns:.6fr 1.4fr;gap:30px; }
.pharma-functions > p { font-family:var(--mono);font-size: 14px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate); }
.pharma-functions > div { display:flex;flex-wrap:wrap;gap:10px; }
.pharma-functions span { border-radius:999px;background:#eff2f7;padding:8px 14px;font-size: 14px; }
.why__cell { border-radius:20px; }
.case { border-radius:26px; overflow:hidden; }
.analytics { background:#131827; }
.cta { background:linear-gradient(135deg,#1f68e8 0%,#6a42df 55%,#1a1f2e 110%); }
.footer { background:#111522; }

/* First-visit language and cookie centre */
.cookie-consent { position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:24px;background:rgba(9,12,20,.45);backdrop-filter:blur(16px) saturate(80%);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s; }
.cookie-consent.show { opacity:1;visibility:visible; }
.cookie-consent__box { width:min(840px,100%);max-height:calc(100svh - 48px);overflow:auto;background:#fff;color:#111827;border:1px solid rgba(255,255,255,.7);border-radius:28px;padding:28px;box-shadow:0 40px 120px rgba(5,9,18,.35);transform:translateY(18px) scale(.985);transition:transform .45s var(--ease); }
.cookie-consent.show .cookie-consent__box { transform:none; }
.cookie-consent__topline { display:flex;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size: 14px;letter-spacing:.13em;color:var(--slate); }
.cookie-consent__intro { display:grid;grid-template-columns:.55fr 1.45fr;gap:30px;padding:34px 0; }
.cookie-consent__kicker { font-family:var(--mono);font-size: 14px;text-transform:uppercase;letter-spacing:.12em;color:var(--blue); }
.cookie-consent__intro h2 { font-size:clamp(32px,4.5vw,54px);line-height:1.03;letter-spacing:-.055em;font-weight:500; }
.cookie-consent__copy { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.cookie-consent__copy p { background:#f5f6f9;border-radius:14px;padding:16px;font-size: 14px;line-height:1.55;color:var(--slate); }
.cookie-consent__copy strong { display:block;margin-bottom:9px;color:#111827;font-family:var(--mono);font-size: 14px; }
.cookie-consent__languages { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px; }
.cookie-consent__languages a { display:flex;justify-content:space-between;align-items:center;padding:17px;border:1px solid var(--line);border-radius:14px;font-size:14px;transition:.25s; }
.cookie-consent__languages a:hover,.cookie-consent__languages a:focus-visible { border-color:var(--blue);background:#eef5ff;outline:none;transform:translateY(-2px); }
.cookie-consent__languages b { font-family:var(--mono);color:var(--blue);font-size: 14px; }
.cookie-consent__footer { display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line); }
.cookie-consent__footer > a { font-size: 14px;color:var(--slate); }
.cookie-consent__footer .btn { border:0;background:var(--red);color:#fff; }
body.consent-open { overflow:hidden; }
body.consent-open > .header,body.consent-open > main,body.consent-open > .footer,body.consent-open > .intro { filter:blur(10px); }

@media (max-width: 1100px) {
  .integrated__head { grid-template-columns:1fr 2fr; }
  .integrated__lead { grid-column:2; }
  .integrated__flow { grid-template-columns:repeat(3,1fr); }
  .integrated__node:nth-child(3) { border-right:0; }
  .integrated__node:nth-child(-n+3) { border-bottom:1px solid var(--line-dark); }
  .integrated__node:nth-child(3)::after { display:none; }
  .partnership__grid { grid-template-columns:1fr; }
  .partnership__card { min-height:260px; }
}
@media (max-width: 760px) {
  .wrap { width:min(100% - 32px,1400px); }
  .hero { min-height:760px; }
  .hero .wrap { padding-top:120px; }
  .hero h1 { font-size:clamp(45px,15vw,72px);line-height:.92;margin-top:36px; }
  .hero h1 .line:nth-child(2),.hero h1 .line:nth-child(3) { padding-left:0; }
  .hero::after { background-size:48px 48px; }
  .hero__proof { backdrop-filter:none; }
  .integrated,.partnership { padding:96px 0; }
  .integrated__head,.integrated__bottom,.partnership__intro,.pharma-functions { grid-template-columns:1fr;gap:28px; }
  .integrated__lead { grid-column:auto; }
  .integrated__flow { grid-template-columns:1fr 1fr;margin-top:56px; }
  .integrated__node { min-height:138px;border-bottom:1px solid var(--line-dark); }
  .integrated__node:nth-child(2n) { border-right:0; }
  .integrated__node:nth-child(3) { border-right:1px solid var(--line-dark); }
  .integrated__node:nth-child(2n)::after { display:none; }
  .integrated__node:nth-child(3)::after { display:grid; }
  .partnership__grid { margin-top:48px; }
  .cookie-consent { padding:12px; }
  .cookie-consent__box { max-height:calc(100svh - 24px);border-radius:20px;padding:20px; }
  .cookie-consent__intro { grid-template-columns:1fr;padding:24px 0;gap:12px; }
  .cookie-consent__copy { grid-template-columns:1fr; }
  .cookie-consent__copy p { padding:12px; }
  .cookie-consent__languages { grid-template-columns:1fr; }
  .cookie-consent__footer { align-items:stretch;flex-direction:column-reverse; }
  .cookie-consent__footer .btn { width:100%; }
}
@media (prefers-reduced-motion: reduce) { .hero::before { animation:none; } }
/* ==========================================================================
   Dark editorial system — revision 2
   ========================================================================== */
:root {
  --ink-0: #070912;
  --ink-1: #0b0e18;
  --ink-2: #101421;
  --ink-3: #171b2b;
  --glass: rgba(255,255,255,.055);
  --glass-strong: rgba(255,255,255,.085);
  --violet-deep: #35176d;
  --violet: #7446ef;
  --cobalt: #367cf6;
  --text-hi: #f5f7fc;
  --text-mid: #a8afc2;
  --text-low: #777f95;
}
html { background: var(--ink-0); }
body { background: var(--ink-0); color: var(--text-hi); font-size: 17px; }
body::before { opacity: .018; mix-blend-mode: screen; }
main { background: var(--ink-0); }
.h2 { color: var(--text-hi); }
.sub { color: var(--text-mid); }
.eyebrow,
.hero__tag,
.case__type,
.case__tags span,
.visual-note,
.geo__chip,
.trust-line,
.integrated__statement > span,
.integrated__areas > p,
.pharma-functions > p,
.analytics__stage-head,
.analytics__status,
.cookie-consent__topline,
.cookie-consent__kicker {
  text-transform: none;
  letter-spacing: 0;
  font-size: 14px;
}
.eyebrow { color: #9baeff; }

.header.scrolled { background: rgba(7,9,18,.76); color: #fff; border-bottom: 1px solid rgba(255,255,255,.08); box-shadow: none; }
.header.on-dark.scrolled { background: rgba(7,9,18,.76); }
.header:not(.on-dark) { color:#fff; }
.header:not(.on-dark) .logo__img--dark { display:none; }
.header:not(.on-dark) .logo__img--light { display:block; }
.lang { background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.12); }
.nav a { opacity:.72; }

/* Hero: layered directional light rather than rings or a grid. */
.hero {
  background: linear-gradient(145deg, #070912 0%, #0b0e19 48%, #111427 100%);
  min-height: max(820px,100svh);
}
.hero::before {
  width: 58vw;
  height: 130vh;
  aspect-ratio:auto;
  right:-17vw;
  top:-20vh;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:linear-gradient(110deg,transparent 4%,rgba(91,52,190,.1) 31%,rgba(63,114,255,.16) 56%,transparent 74%);
  transform:skewX(-16deg);
  filter:blur(2px);
  animation:none;
}
.hero::after {
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.018) 50%,transparent 100%);
  background-size:auto;
  opacity:1;
  mask-image:none;
}
.hero__field { position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0; }
.hero__field i { position:absolute;display:block;right:-8vw;width:58vw;height:30vh;transform:rotate(-18deg) skewX(-18deg);clip-path:polygon(8% 0,100% 0,86% 100%,0 100%);border:1px solid rgba(137,126,255,.12);background:linear-gradient(110deg,rgba(18,20,35,.05),rgba(86,46,173,.14),rgba(52,113,246,.08));backdrop-filter:blur(12px); }
.hero__field i:nth-child(1){top:-5vh;opacity:.45;}
.hero__field i:nth-child(2){top:18vh;right:-2vw;opacity:.7;}
.hero__field i:nth-child(3){top:42vh;right:-15vw;opacity:.5;}
.hero__field i:nth-child(4){top:66vh;right:-5vw;opacity:.25;}
.hero .wrap,.hero .marquee { position:relative;z-index:2; }
.hero h1 { max-width:13ch; }
.hero h1 .line:nth-child(2),.hero h1 .line:nth-child(3){padding-left:0;}
.hero h1 .line:nth-child(3){color:rgba(255,255,255,.42);}
.rotator { background:linear-gradient(90deg,#75a7ff,#9b72ff);-webkit-background-clip:text;background-clip:text;color:transparent; }
.hero__proof { background:linear-gradient(120deg,rgba(255,255,255,.065),rgba(255,255,255,.025));border-color:rgba(255,255,255,.13);box-shadow:0 30px 90px rgba(0,0,0,.28); }
.hero__proof-mark { background:linear-gradient(135deg,rgba(50,102,224,.14),rgba(91,46,170,.08)); }
.hero__proof-mark::after { content:'Clinical intelligence';letter-spacing:0;font-size: 14px; }
.marquee { background:#090c15;border-color:rgba(255,255,255,.09); }
.marquee__item { font-weight:500;font-size:17px;color:rgba(255,255,255,.7); }

.manifesto,.services,.partnership,.why,.cases,.analytics,.geo,.stats { background:var(--ink-0);color:var(--text-hi); }
.manifesto { background:linear-gradient(180deg,var(--ink-0),var(--ink-1)); }
.manifesto__text { color:rgba(255,255,255,.19); }
.manifesto__text .w.lit { color:var(--text-hi); }
.manifesto__text .acc .w.lit { color:#8eaaff; }
.about__media { background:var(--ink-2);border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 100px rgba(0,0,0,.35); }
.about__photo { aspect-ratio:16/10;object-fit:cover;filter:saturate(.76) contrast(1.05); }
.about__labels span { background:rgba(8,10,18,.68);color:#dce2f1;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px); }
.pillar { background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.09); }
.pillar h3,.why__cell h3 { color:var(--text-hi); }
.pillar p,.why__cell p { color:var(--text-mid); }
.pillar__icon { width:86px;height:86px;border-radius:24px;background:linear-gradient(145deg,rgba(57,112,246,.18),rgba(116,70,239,.1));color:#96aaff; }

.integrated { background:linear-gradient(155deg,#0c0e19 0%,#111326 55%,#130d24 100%); }
.integrated::before { background:linear-gradient(105deg,transparent 10%,rgba(55,111,246,.09) 48%,rgba(91,43,170,.12) 75%,transparent); }
.integrated__flow { background:rgba(255,255,255,.028);box-shadow:0 30px 90px rgba(0,0,0,.24); }
.integrated__node { min-height:280px;padding:26px; }
.integrated__node span { font-size: 14px;letter-spacing:0; }
.integrated__icon { width:82px;height:82px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(145deg,rgba(57,112,246,.19),rgba(116,70,239,.09));border:1px solid rgba(147,156,255,.17);color:#9eafff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
.integrated__icon svg { width:42px;height:42px; }
.integrated__node strong { font-size:16px; }
.integrated__areas span { font-size: 14px;background:rgba(255,255,255,.025); }

.services { background:linear-gradient(180deg,var(--ink-0),var(--ink-1)); }
.services__counter,.svc__code { color:var(--text-mid); }
.svc { border-color:rgba(255,255,255,.1); }
.svc__bar { color:var(--text-hi); }
.svc.open .svc__bar { background:linear-gradient(110deg,rgba(57,112,246,.11),rgba(116,70,239,.075));box-shadow:none;border:1px solid rgba(139,145,255,.12); }
.svc__lead,.svc__list { color:var(--text-mid); }
.svc__plus::before,.svc__plus::after { background:#94a8ff; }

.process { background:linear-gradient(145deg,#0b0d17,#121329 60%,#150e2b); }
.process__visual { position:relative;margin:68px 0 84px;border-radius:30px;overflow:hidden;border:1px solid rgba(255,255,255,.11);box-shadow:0 50px 110px rgba(0,0,0,.38); }
.process__visual::after { content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(7,9,18,.58),transparent 50%);pointer-events:none; }
.process__visual img { width:100%;aspect-ratio:16/8;object-fit:cover;filter:saturate(.72) contrast(1.06); }
.process__visual .visual-note { z-index:2; }
.step__icon { width:118px;height:118px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(53,112,246,.15),rgba(116,70,239,.07));color:#8794ae; }
.step__icon svg { width:54px;height:54px; }
.step.on .step__icon { color:#a3b1ff;border-color:rgba(130,146,255,.35);box-shadow:0 18px 50px rgba(56,64,210,.15); }
.step h3 { color:var(--text-hi); }
.step p { color:var(--text-mid); }

.partnership { background:var(--ink-0); }
.partnership__card { min-height:410px;background:linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border-color:rgba(255,255,255,.09);color:var(--text-hi); }
.partnership__card:hover { background:linear-gradient(145deg,rgba(54,124,246,.16),rgba(80,38,151,.13));border-color:rgba(140,150,255,.22); }
.partnership__card > span { font-size: 14px; }
.partnership__icon { width:90px;height:90px;display:grid;place-items:center;border-radius:26px;margin-top:42px;background:linear-gradient(145deg,rgba(55,123,246,.17),rgba(116,70,239,.09));border:1px solid rgba(147,157,255,.17);color:#9bacff; }
.partnership__icon svg { width:46px;height:46px; }
.partnership__card p,.partnership__card:hover p { color:var(--text-mid); }
.pharma-functions { border-color:rgba(255,255,255,.1); }
.pharma-functions > p { color:var(--text-mid); }
.pharma-functions span { background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);font-size: 14px; }

.why { background:var(--ink-1); }
.why__grid { border-color:rgba(255,255,255,.09); }
.why__cell { border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.025); }
.why__cell:hover { background:linear-gradient(145deg,rgba(54,124,246,.12),rgba(116,70,239,.075)); }
.why__icon { width:78px;height:78px;border-radius:22px;background:linear-gradient(145deg,rgba(54,124,246,.16),rgba(116,70,239,.08));color:#9cafff; }
.why__icon svg { width:40px;height:40px; }

.cases { background:var(--ink-0); }
.case { background:var(--ink-2);border:1px solid rgba(255,255,255,.09); }
.case__body h3 { color:var(--text-hi); }
.case__body p { color:var(--text-mid); }
.case__facts span,.case__tags span { background:rgba(255,255,255,.055);color:#c1c8d9;border-color:rgba(255,255,255,.08);font-size: 14px;letter-spacing:0;text-transform:none; }

/* Analytics rebuilt as a layered glass stage. */
.analytics { padding:150px 0;background:linear-gradient(180deg,#090b13,#0d0e1b 55%,#080a12); }
.analytics__head { display:grid;grid-template-columns:.45fr 1fr .8fr;gap:50px;align-items:start;margin-bottom:72px; }
.analytics__head .h2 { font-size:clamp(54px,7vw,100px); }
.analytics__head .sub { max-width:480px;padding-top:10px; }
.analytics__stage { position:relative;min-height:680px;border-radius:34px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#080a13;box-shadow:0 70px 150px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06); }
.analytics__stage::before { content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,18,.18),rgba(7,9,18,.78));z-index:1; }
.analytics__art { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.08);transform:scale(1.02); }
.analytics__stage-head { position:relative;z-index:2;display:flex;justify-content:space-between;padding:30px 32px;color:#c9d0e0; }
.analytics__status { display:flex;align-items:center;gap:9px;color:#aeb9ff; }
.analytics__status i { width:8px;height:8px;border-radius:50%;background:#8d72ff;box-shadow:0 0 0 6px rgba(123,91,255,.12); }
.analytics__kpis { position:absolute;z-index:2;left:32px;right:32px;bottom:32px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.analytics__kpis > div { min-height:170px;padding:24px;border-radius:22px;background:rgba(12,15,27,.58);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(22px) saturate(125%);box-shadow:inset 0 1px 0 rgba(255,255,255,.07);display:flex;flex-direction:column; }
.analytics__kpis b { font-size:clamp(32px,4vw,54px);line-height:1;font-weight:500;letter-spacing:-.055em; }
.analytics__kpis span { margin-top:12px;color:var(--text-mid);font-size:14px; }
.analytics__kpis em { margin-top:auto;color:#9daeff;font-size: 14px;font-style:normal; }
.analytics .metric-groups { grid-template-columns:repeat(2,1fr);gap:16px;margin-top:22px; }
.analytics .mgroup { background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.09);border-radius:24px;padding:32px; }
.analytics .mgroup h4 { color:var(--text-hi); }
.analytics .mgroup li { color:var(--text-mid);font-size:14px; }

.geo { background:var(--ink-1); }
.geo__note { color:var(--text-mid); }
.geo__chip { background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);color:#cbd2e1;font-size: 14px; }
.geo-map { background:linear-gradient(145deg,rgba(55,112,246,.09),rgba(116,70,239,.055));border-color:rgba(255,255,255,.09); }
.geo-map__grid { opacity:.2; }
.geo-map__land { fill:rgba(255,255,255,.035);stroke:rgba(144,158,255,.32); }

.cta { background:linear-gradient(135deg,#15112b 0%,#1d1640 45%,#111832 100%); }
.contact-form { background:rgba(8,10,18,.48);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px); }
.footer { background:#060810; }

/* Larger, coherent outline icon system. */
.pillar__icon svg,.step__icon svg,.why__icon svg,.integrated__icon svg,.partnership__icon svg {
  fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;
}

/* No micro-type below the requested floor. */
.services__counter,.svc__code,.step__n,.case__type,.case__facts span,.case__tags span,.visual-note,
.dash__title,.dash__live,.kpi span,.dash__axis,.integrated__node span,.integrated__areas span,
.partnership__card > span,.pharma-functions span,.geo__chip,.footer__bottom,.cookie-consent__copy p,
.cookie-consent__copy strong,.cookie-consent__footer > a,.cookie-consent__languages b {
  font-size: 14px;
}

/* Dark first-visit modal; single consent surface. */
.cookie-consent { background:rgba(3,4,9,.58); }
.cookie-consent__box { background:#0e111d;color:var(--text-hi);border-color:rgba(255,255,255,.12);box-shadow:0 50px 150px rgba(0,0,0,.62); }
.cookie-consent__topline,.cookie-consent__footer { border-color:rgba(255,255,255,.1);color:var(--text-mid); }
.cookie-consent__copy p { background:rgba(255,255,255,.045);color:var(--text-mid); }
.cookie-consent__copy strong { color:var(--text-hi); }
.cookie-consent__languages a { border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.025); }
.cookie-consent__languages a:hover,.cookie-consent__languages a:focus-visible { background:rgba(70,92,210,.15);border-color:#778dff; }

@media (max-width:1100px) {
  .analytics__head { grid-template-columns:1fr 1.4fr; }
  .analytics__head .sub { grid-column:2; }
  .analytics__stage { min-height:620px; }
  .integrated__node { min-height:240px; }
}
@media (max-width:760px) {
  .hero { min-height:820px; }
  .hero__field i { width:90vw;right:-35vw;opacity:.35; }
  .hero__proof { margin-top:50px; }
  .about__photo { aspect-ratio:4/5; }
  .integrated__node { min-height:210px;padding:18px; }
  .integrated__icon { width:64px;height:64px;border-radius:19px; }
  .integrated__icon svg { width:34px;height:34px; }
  .process__visual { margin:48px 0 68px;border-radius:22px; }
  .process__visual img { aspect-ratio:4/5; }
  .partnership__card { min-height:340px; }
  .analytics__head { grid-template-columns:1fr;gap:22px; }
  .analytics__head .sub { grid-column:auto; }
  .analytics__stage { min-height:760px;border-radius:24px; }
  .analytics__stage-head { padding:20px; }
  .analytics__art { height:55%; }
  .analytics__stage::before { background:linear-gradient(180deg,rgba(7,9,18,.05),#090b15 55%); }
  .analytics__kpis { grid-template-columns:1fr;left:16px;right:16px;bottom:16px; }
  .analytics__kpis > div { min-height:125px;padding:18px; }
  .analytics .metric-groups { grid-template-columns:1fr; }
}
.about__labels span,.geo-map__legend,.integrated__node::after { font-size: 14px; letter-spacing:0; text-transform:none; }

/* Final type and state normalization */
.mnav__close,.ph span,.stats__note,.services__counter,.svc__code,.step__n,.cases__hint,
.field input:focus + label,.field input:not(:placeholder-shown) + label,
.field textarea:focus + label,.field textarea:not(:placeholder-shown) + label,
.footer h4,.about__labels span,.geo-map__legend {
  letter-spacing:0;
  text-transform:none;
}
.svc.open .svc__title,.svc:hover .svc__title { color:var(--text-hi); }
.footer h4 { font-size:14px;color:var(--text-mid); }
.cta__contacts svg { width:30px;height:30px; }
/* ==========================================================================
   Luminous magenta-blue palette + restrained parallax
   ========================================================================== */
:root {
  --ink-0:#11152f;
  --ink-1:#151a3b;
  --ink-2:#1a2049;
  --ink-3:#22285a;
  --violet-deep:#542080;
  --violet:#8b4cf6;
  --cobalt:#4387ff;
  --magenta:#d94cde;
  --text-mid:#bdc4da;
  --text-low:#939bb7;
}
html,body,main { background:#11152f; }
body { background:linear-gradient(180deg,#11152f 0%,#17183d 48%,#151631 100%); }

.hero {
  background:
    linear-gradient(128deg,rgba(65,134,255,.24) 0%,transparent 43%),
    linear-gradient(145deg,#18204a 0%,#243a79 43%,#57236f 78%,#8a286f 118%);
}
.hero::before {
  background:linear-gradient(108deg,transparent 2%,rgba(86,118,255,.12) 26%,rgba(206,61,222,.32) 54%,rgba(247,80,184,.16) 72%,transparent 88%);
  filter:blur(5px);
}
.hero::after { background:linear-gradient(92deg,rgba(52,118,255,.08),transparent 42%,rgba(225,69,208,.12)); }
.hero__field { transform:translate3d(0,var(--parallax-soft,0),0);will-change:transform; }
.hero__field i { border-color:rgba(231,119,245,.2);background:linear-gradient(110deg,rgba(76,112,255,.05),rgba(141,76,242,.17),rgba(236,71,197,.18));box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.rotator { background:linear-gradient(90deg,#91c2ff 0%,#b889ff 48%,#f28adf 100%);-webkit-background-clip:text;background-clip:text; }
.hero__proof { background:linear-gradient(115deg,rgba(68,120,255,.13),rgba(165,66,224,.1),rgba(255,255,255,.045)); }
.hero__proof-mark { background:linear-gradient(135deg,rgba(67,135,255,.22),rgba(214,68,218,.13)); }
.marquee { background:#161b3d; }

.manifesto { background:linear-gradient(180deg,#141936,#1a1d46); }
.integrated { background:linear-gradient(138deg,#182148 0%,#28316a 42%,#552870 76%,#8a2d72 125%); }
.integrated::before { background:linear-gradient(105deg,rgba(64,137,255,.04),rgba(90,98,242,.13) 42%,rgba(222,65,210,.24) 75%,transparent);transform:translate3d(0,var(--parallax-deep,0),0) scale(1.08);will-change:transform; }
.integrated__flow { background:rgba(18,22,52,.36); }
.integrated__icon,.partnership__icon,.pillar__icon,.why__icon,.step__icon { background:linear-gradient(145deg,rgba(61,136,255,.24),rgba(220,70,212,.13));border-color:rgba(196,148,255,.24); }

.services { background:linear-gradient(180deg,#171a3d,#1e1d49 58%,#292055); }
.svc.open .svc__bar { background:linear-gradient(110deg,rgba(67,135,255,.18),rgba(216,72,218,.13));border-color:rgba(209,134,255,.2); }

.process { overflow:hidden;background:linear-gradient(138deg,#17214b 0%,#272d67 48%,#65276f 112%); }
.process::before { content:'';position:absolute;width:72vw;height:72vw;right:-34vw;top:10%;border-radius:50%;background:radial-gradient(circle,rgba(225,68,208,.25),rgba(91,71,220,.1) 42%,transparent 70%);transform:translate3d(0,var(--parallax-deep,0),0);will-change:transform;pointer-events:none; }
.process .wrap { position:relative;z-index:1; }
.process__visual img { transform:translate3d(0,var(--parallax-soft,0),0) scale(1.09);will-change:transform; }

.partnership { background:linear-gradient(180deg,#171a3b,#201e4b); }
.partnership__card { background:linear-gradient(150deg,rgba(79,119,255,.12),rgba(207,66,214,.07)); }
.partnership__card:hover { background:linear-gradient(145deg,rgba(67,135,255,.25),rgba(223,70,213,.18)); }
.why { background:linear-gradient(145deg,#1a1f49,#262153 58%,#45225d); }
.why__cell { background:rgba(29,34,77,.54); }
.why__cell:hover { background:linear-gradient(145deg,rgba(70,137,255,.2),rgba(216,69,217,.14)); }
.cases { background:linear-gradient(180deg,#151936,#1d2049); }
.case { background:linear-gradient(150deg,#202754,#282050); }

.analytics { overflow:hidden;background:linear-gradient(138deg,#171f49 0%,#282a63 48%,#60276f 112%); }
.analytics::before { content:'';position:absolute;width:70vw;height:70vw;left:-38vw;top:-10%;border-radius:50%;background:radial-gradient(circle,rgba(67,135,255,.26),rgba(107,67,217,.08) 44%,transparent 70%);transform:translate3d(0,var(--parallax-deep,0),0);will-change:transform;pointer-events:none; }
.analytics .wrap { position:relative;z-index:1; }
.analytics__stage { background:#161a3a;border-color:rgba(216,153,255,.18);box-shadow:0 70px 150px rgba(26,16,78,.34),inset 0 1px 0 rgba(255,255,255,.08); }
.analytics__art { transform:translate3d(0,var(--parallax-soft,0),0) scale(1.09);will-change:transform; }
.analytics__kpis > div { background:rgba(25,28,66,.58);border-color:rgba(220,169,255,.2); }
.analytics .mgroup { background:linear-gradient(145deg,rgba(67,135,255,.1),rgba(217,70,218,.07)); }

.geo { background:linear-gradient(145deg,#181d43,#252255 60%,#46235e); }
.geo-map { background:linear-gradient(145deg,rgba(67,135,255,.15),rgba(217,70,218,.1)); }
.cta { overflow:hidden;background:linear-gradient(130deg,#253c7a 0%,#4a3186 45%,#9b2d79 112%); }
.cta::before { transform:translate3d(0,var(--parallax-deep,0),0) scale(1.1);will-change:transform;opacity:.68; }
.footer { background:#11152f; }
.cookie-consent__box { background:linear-gradient(145deg,#1a2046,#2b2052); }

@media (max-width:760px) {
  .hero { background:linear-gradient(152deg,#1a2553 0%,#2d3e80 48%,#762b77 112%); }
  .process::before,.analytics::before { width:130vw;height:130vw;opacity:.7; }
}
@media (prefers-reduced-motion:reduce) {
  .hero__field,.integrated::before,.process::before,.process__visual img,.analytics::before,.analytics__art,.cta::before { transform:none!important; }
}
/* ==========================================================================
   Unified Manrope typography, white text and centered tile iconography
   ========================================================================== */
:root {
  --font:'Manrope',system-ui,-apple-system,sans-serif;
  --mono:'Manrope',system-ui,-apple-system,sans-serif;
  --display:'Manrope',system-ui,-apple-system,sans-serif;
  --slate:#fff;
  --slate-soft:#fff;
  --text-mid:#fff;
  --text-low:#fff;
  --ph-text:#fff;
}
body,button,input,textarea,select { font-family:'Manrope',system-ui,-apple-system,sans-serif; }
.nav { font-size:18px;gap:30px; }
.nav a { opacity:1; }

/* Text never falls back to grey or translucent white. */
body :is(h1,h2,h3,h4,h5,h6,p,a,span,li,label,button,b,strong,em,figcaption) { color:#fff!important; }
.hero__proof-mark::after,.geo-map__legend,.geo-map__labels,.ph span { color:#fff!important;fill:#fff!important;opacity:1; }
.hero__tag,.hero__lead,.hero__proof-item span,.marquee__item,.sub,
.pillar p,.step p,.why__cell p,.case__body p,.cases .sub,.svc__lead,.svc__list,
.integrated__lead,.integrated__areas span,.partnership__card p,.pharma-functions > p,
.analytics__kpis span,.analytics__kpis em,.analytics .mgroup li,.geo__note,
.footer__about p,.footer h4,.footer__bottom,.cookie-consent__copy p,.cookie-consent__footer > a {
  color:#fff!important;
  opacity:1;
}

/* Integrated model: stable headline, no fragmented narrow columns. */
.integrated__head { grid-template-columns:minmax(0,1.7fr) minmax(320px,.55fr);gap:34px 72px;align-items:end; }
.integrated__head .eyebrow { grid-column:1 / -1;padding-top:0;margin-bottom:8px; }
.integrated__head .h2 { font-size:clamp(48px,5.2vw,78px);line-height:1.03;letter-spacing:-.052em;max-width:100%;text-wrap:balance; }
.integrated__lead { max-width:430px;padding-bottom:7px; }

/* Larger icons, centered consistently inside every tile family. */
.pillar { grid-template-columns:1fr;justify-items:center;text-align:center;align-items:start;padding:42px 34px; }
.pillar__icon,.why__icon,.partnership__icon,.integrated__icon { width:118px;height:118px;border-radius:32px;margin-left:auto;margin-right:auto; }
.pillar__icon svg,.why__icon svg,.partnership__icon svg,.integrated__icon svg { width:58px;height:58px; }
.pillar h3 { margin-top:8px; }

.integrated__node { align-items:center;text-align:center;min-height:320px; }
.integrated__node strong { width:100%; }
.integrated__icon { margin:auto; }

.partnership__card { align-items:center;text-align:center;padding:36px; }
.partnership__icon { margin:46px auto 34px; }
.partnership__card h3 { margin-top:auto; }

.step { text-align:center; }
.step__icon { width:132px;height:132px;margin:0 auto 24px; }
.step__icon svg { width:64px;height:64px; }

/* Clean dark advantage grid: no white legacy canvas or grey separators. */
.why { background:linear-gradient(145deg,#1a1f49,#262153 58%,#45225d); }
.why__grid { grid-template-columns:repeat(3,1fr);gap:16px;background:transparent;border:0;overflow:visible; }
.why__cell { min-height:390px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:flex-start;background:linear-gradient(150deg,rgba(63,91,183,.32),rgba(111,45,134,.3));border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:42px 34px; }
.why__cell:hover { background:linear-gradient(145deg,rgba(77,131,236,.42),rgba(176,52,171,.34)); }
.why__cell h3 { margin:30px 0 14px; }
.why__cell p { margin-top:auto; }

@media (max-width:1100px) {
  .nav { font-size:18px;gap:20px; }
  .integrated__head { grid-template-columns:1fr; }
  .integrated__head .eyebrow,.integrated__lead { grid-column:auto; }
  .integrated__lead { max-width:720px; }
  .why__grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px) {
  .integrated__head .h2 { font-size:clamp(42px,12vw,62px);text-wrap:pretty; }
  .pillar__icon,.why__icon,.partnership__icon,.integrated__icon { width:96px;height:96px;border-radius:27px; }
  .pillar__icon svg,.why__icon svg,.partnership__icon svg,.integrated__icon svg { width:48px;height:48px; }
  .integrated__node { min-height:250px; }
  .step__icon { width:116px;height:116px; }
  .why__grid { grid-template-columns:1fr; }
  .why__cell { min-height:330px; }
}
/* Contact form: dark glass surface with explicit, always-visible labels */
.form {
  background:linear-gradient(150deg,rgba(27,34,78,.9),rgba(66,31,91,.88));
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  padding:46px 44px;
  box-shadow:0 44px 110px rgba(21,12,70,.36),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(24px) saturate(125%);
}
.form h3 { color:#fff;margin-bottom:8px; }
#formFields > p { color:#fff;margin-bottom:30px; }
.field { position:relative;padding-top:25px;margin-bottom:18px; }
.field label,
.field input:focus + label,
.field input:not(:placeholder-shown) + label,
.field textarea:focus + label,
.field textarea:not(:placeholder-shown) + label {
  top:0;
  left:2px;
  color:#fff!important;
  font-size:14px;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
}
.field input,.field textarea {
  width:100%;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(9,13,34,.3);
  color:#fff;
  padding:15px 16px;
  font-family:'Manrope',system-ui,sans-serif;
  font-size:16px;
  caret-color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.field textarea { min-height:118px; }
.field input:hover,.field textarea:hover { border-color:rgba(255,255,255,.3); }
.field input:focus,.field textarea:focus {
  border-color:#d66be4;
  background:rgba(15,18,48,.48);
  box-shadow:0 0 0 4px rgba(214,75,222,.12);
}
.consent { color:#fff;align-items:flex-start;margin:24px 0 30px; }
.consent input {
  width:20px;
  height:20px;
  margin:1px 0 0;
  flex:0 0 20px;
  accent-color:#ff3b30;
}
.consent label { line-height:1.55; }
.form .btn { min-height:56px;border:0;box-shadow:0 14px 36px rgba(255,59,48,.24); }
@media (max-width:760px) {
  .form { padding:30px 22px;border-radius:22px; }
  .field input,.field textarea { padding:14px; }
}