/* =========================================================
   PURA — Signal Engine / dark experience layer
   Loaded last on purpose: consolidates the legacy component set
   into one visual system without breaking generated page markup.
   ========================================================= */

:root {
  color-scheme: dark;
  --c-bg: #07070a;
  --c-bg-soft: #0b0b10;
  --c-surface: #0f1017;
  --c-surface-2: #14151e;
  --c-surface-3: #191a24;
  --c-text: #f5f5f7;
  --c-muted: #a4a4b0;
  --c-muted-2: #777784;
  --c-border: rgba(255, 255, 255, 0.1);
  --c-border-strong: rgba(255, 255, 255, 0.17);
  --c-primary: #8b5cf6;
  --c-secondary: #6d5dfc;
  --c-accent: #c7ff4a;
  --c-accent-soft: #d9ff85;
  --c-cyan: #67e8f9;
  --g-start: #7c3aed;
  --g-mid: #a78bfa;
  --g-end: #c7ff4a;
  --g-brand: linear-gradient(100deg, #8b5cf6 0%, #c4b5fd 48%, #c7ff4a 100%);
  --g-brand-reverse: linear-gradient(100deg, #c7ff4a 0%, #a78bfa 55%, #7c3aed 100%);
  --g-surface: linear-gradient(180deg, #07070a 0%, #0a0a0f 45%, #07070a 100%);
  --font-sans: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --container: 1280px;
  --pad-x: clamp(20px, 4vw, 48px);
  --r-sm: 12px;
  --r-md: 18px;
  --r-lg: 28px;
  --r-xl: 38px;
  --shadow-sm: 0 12px 36px rgba(0, 0, 0, 0.24);
  --shadow-md: 0 28px 90px rgba(0, 0, 0, 0.38);
  --ease: cubic-bezier(0.2, 0.75, 0.2, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --t-fast: 180ms;
  --t-med: 380ms;
}

html {
  min-width: 320px;
  background: var(--c-bg);
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}

body {
  min-width: 320px;
  min-height: 100vh;
  overflow-x: clip;
  color: var(--c-text);
  background:
    radial-gradient(circle at 10% 3%, rgba(124, 58, 237, 0.1), transparent 25rem),
    radial-gradient(circle at 93% 38%, rgba(199, 255, 74, 0.045), transparent 32rem),
    var(--g-surface);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: 0.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='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E");
}

main { display: block; }

h1, h2, h3, h4, h5, h6 { color: var(--c-text); }
p { color: var(--c-muted); }

a, button { -webkit-tap-highlight-color: transparent; }

::selection {
  color: #09090c;
  background: var(--c-accent);
}

:focus-visible {
  outline: 2px solid var(--c-accent) !important;
  outline-offset: 4px;
  border-radius: 8px;
}

::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #08080c; }
::-webkit-scrollbar-thumb { background: #34313f; border: 2px solid #08080c; border-radius: 999px; }

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 10001;
  padding: 11px 16px;
  color: #08080b;
  background: var(--c-accent);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  transform: translateY(-180%);
  transition: transform 180ms var(--ease-out);
}

.skip-link:focus { transform: translateY(0); }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.container { max-width: var(--container); }

.container--wide,
.container--bleed {
  max-width: min(1400px, 100%);
  padding-inline: var(--pad-x);
}

.section {
  padding-block: clamp(78px, 9vw, 144px);
}

.u-gradient-text,
.u-gradient-text--smooth {
  color: transparent !important;
  background: var(--g-brand);
  background-size: 160% 100%;
  -webkit-background-clip: text;
  background-clip: text;
}

.section-heading {
  position: relative;
  z-index: 2;
  margin-bottom: clamp(40px, 6vw, 76px);
}

.section-heading--split {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.55fr);
  align-items: end;
  gap: clamp(36px, 8vw, 120px);
}

.section-index {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  color: var(--c-accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.section-index::before {
  content: "";
  width: 26px;
  height: 1px;
  background: currentColor;
}

.section-title {
  max-width: 900px;
  margin: 0;
  color: var(--c-text);
  font-size: clamp(38px, 5.2vw, 72px);
  font-weight: 650;
  line-height: 0.99;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.section-copy {
  max-width: 48ch;
  margin: 0;
  color: var(--c-muted);
  font-size: clamp(15px, 1.3vw, 18px);
  line-height: 1.75;
}

.btn {
  min-height: 52px;
  padding: 14px 20px;
  border: 1px solid var(--c-border);
  color: var(--c-text);
  background: rgba(255, 255, 255, 0.055);
  box-shadow: none;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -0.01em;
  transition: transform 260ms var(--ease-out), border-color 260ms, background 260ms, color 260ms, box-shadow 260ms;
}

.btn:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 255, 255, 0.24);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.28);
}

.btn--gradient,
.btn--primary {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(219, 255, 137, 0.35);
  color: #09090c;
  background: var(--c-accent);
  box-shadow: 0 12px 44px rgba(199, 255, 74, 0.12);
}

.btn--gradient::before,
.btn--gradient::after { display: none; }

.btn--gradient:hover,
.btn--primary:hover {
  color: #09090c;
  background: var(--c-accent-soft);
  box-shadow: 0 16px 52px rgba(199, 255, 74, 0.19);
  filter: none;
}

.btn--ghost { background: rgba(255, 255, 255, 0.035); }

/* Reveal is progressive: content stays visible if JS fails. */
.has-reveal [data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 800ms var(--ease-out), transform 800ms var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms);
}

.has-reveal [data-reveal].is-inview {
  opacity: 1;
  transform: translateY(0);
}

/* =========================================================
   Header
   ========================================================= */
.top-surface {
  position: sticky;
  top: 0;
  z-index: 900;
  overflow: visible;
  background: rgba(7, 7, 10, 0.78);
  border-bottom: 1px solid rgba(255, 255, 255, 0.075);
  box-shadow: none;
  -webkit-backdrop-filter: blur(22px) saturate(150%);
  backdrop-filter: blur(22px) saturate(150%);
  transition: background 260ms, box-shadow 260ms, border-color 260ms;
}

.top-surface.is-scrolled {
  background: rgba(7,7,10,.92);
  border-bottom-color: rgba(255,255,255,.1);
  box-shadow: 0 14px 42px rgba(0,0,0,.2);
}

.top-surface::before,
.top-surface::after { display: none; }

.topbar {
  padding: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.055);
}

.topbar__inner { min-height: 30px; }

.topbar__text,
.topbar__meta {
  margin: 0;
  color: #8d8d99;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.topbar__text { display: flex; align-items: center; gap: 9px; }

.topbar__pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent);
  box-shadow: 0 0 0 5px rgba(199, 255, 74, 0.08), 0 0 18px rgba(199, 255, 74, 0.7);
  animation: signalPulse 2s ease-in-out infinite;
}

.site-header {
  border: 0;
  background: transparent;
}

.header__inner {
  min-height: 78px;
  padding: 9px var(--pad-x);
  grid-template-columns: auto 1fr auto auto;
  gap: clamp(18px, 3vw, 44px);
}

.header__brand { margin: 0; }

.header__logo {
  width: 86px;
  height: 43px;
  object-fit: contain;
  object-position: left center;
}

.site-nav { justify-content: flex-end; }
.nav__list { gap: clamp(4px, 0.65vw, 12px); }

.nav__link {
  padding: 9px 8px;
  color: #aaaab4;
  font-size: 12px;
  font-weight: 650;
  border-radius: 8px;
  transition: color 220ms, background 220ms;
}

.nav__link:hover {
  color: var(--c-text);
  background: rgba(255, 255, 255, 0.055);
  -webkit-text-fill-color: currentColor;
}

.header__cta {
  min-height: 44px;
  padding: 10px 16px;
  font-size: 11px;
}

.nav-toggle {
  color: var(--c-text);
  border: 1px solid var(--c-border);
  background: rgba(255, 255, 255, 0.04);
}

.nav-toggle::before { display: none; }
.nav-toggle__icon span { height: 2px; background: var(--c-text); }

.nav-overlay {
  background: rgba(2, 2, 4, 0.76);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.site-nav__panel {
  color: var(--c-text);
  border: 1px solid var(--c-border-strong);
  background:
    radial-gradient(circle at 85% 15%, rgba(124, 58, 237, 0.2), transparent 15rem),
    #0d0d13;
  box-shadow: var(--shadow-md);
}

.site-nav__panelTitle,
.nav-close__label { color: var(--c-muted); }

.nav-close { color: var(--c-text); border-color: var(--c-border); background: rgba(255, 255, 255, 0.045); }
.nav__list--mobile .nav__link { color: var(--c-text); }

/* =========================================================
   Hero / Signal Engine
   ========================================================= */
.hero--home {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: min(860px, calc(100svh - 108px));
  padding: clamp(72px, 8vw, 118px) 0 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.hero--home::after {
  content: "";
  position: absolute;
  right: -8%;
  bottom: 12%;
  width: 46vw;
  aspect-ratio: 1;
  z-index: -2;
  border: 1px solid rgba(139, 92, 246, 0.12);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(139, 92, 246, 0.018), 0 0 0 160px rgba(139, 92, 246, 0.012);
}

.hero__ambient { position: absolute; inset: 0; z-index: -3; pointer-events: none; }

.hero__glow { position: absolute; border-radius: 50%; filter: blur(2px); }
.hero__glow--one { top: -24rem; left: -18rem; width: 48rem; height: 48rem; background: radial-gradient(circle, rgba(100, 54, 219, 0.18), transparent 66%); }
.hero__glow--two { right: -14rem; bottom: -30rem; width: 54rem; height: 54rem; background: radial-gradient(circle, rgba(199, 255, 74, 0.075), transparent 65%); }

.hero__grid {
  position: absolute;
  inset: 0;
  opacity: 0.38;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.026) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, #000 0%, transparent 82%);
}

.hero--home .hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(420px, 0.96fr);
  align-items: center;
  gap: clamp(52px, 7vw, 104px);
}

.hero--home .hero__content { position: relative; z-index: 4; max-width: 740px; }

.eyebrow {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
  padding: 8px 11px;
  color: #c0c0ca;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.035);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.eyebrow__signal { width: 6px; height: 6px; border-radius: 50%; background: var(--c-accent); box-shadow: 0 0 14px rgba(199, 255, 74, 0.75); }
.eyebrow__code { margin-left: 5px; padding-left: 10px; color: #6f6f79; border-left: 1px solid var(--c-border); }

.hero--home .hero__title {
  max-width: 10.4ch;
  margin: 0 0 28px;
  color: var(--c-text);
  font-size: clamp(52px, 6.3vw, 92px);
  font-weight: 650;
  line-height: 0.94;
  letter-spacing: -0.072em;
  text-wrap: balance;
}

.hero--home .hero__title .u-gradient-text { display: block; padding-bottom: 0.06em; }

.hero--home .hero__copy {
  max-width: 59ch;
  margin: 0;
  padding: 0;
  color: #aaaab4;
  border: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.72;
}

.hero--home .hero__copy::before { display: none; }

.hero--home .hero__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 34px;
}

.hero--home .hero__btn { flex: 0 0 auto; min-width: 0; }
.hero--home .hero__btn svg { width: 17px; height: 17px; }

.hero__trust {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 42px;
}

.hero__trustAvatars { display: flex; padding-left: 8px; }
.hero__trustAvatars span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  margin-left: -8px;
  color: #c9c9d1;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  background: #17171f;
  font-size: 9px;
  font-weight: 800;
}
.hero__trustAvatars span:last-child { color: #0a0a0c; background: var(--c-accent); }
.hero__trust p { margin: 0; color: #777783; font-size: 11px; line-height: 1.55; }
.hero__trust strong { color: #cfcfd6; font-weight: 700; }

.hero__visual {
  position: relative;
  width: 100%;
  max-width: 610px;
  justify-self: end;
  perspective: 1100px;
}

.signal-console {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  position: relative;
  overflow: hidden;
  aspect-ratio: 0.94;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.065), transparent 28%),
    rgba(12, 12, 18, 0.88);
  box-shadow: 0 45px 120px rgba(0, 0, 0, 0.48), inset 0 1px rgba(255, 255, 255, 0.07);
  transform: rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transform-style: preserve-3d;
  transition: transform 600ms var(--ease-out), border-color 300ms;
}

.signal-console::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 0 40%, rgba(255, 255, 255, 0.055) 48%, transparent 56%);
  transform: translateX(-120%);
  animation: consoleShine 8s ease-in-out infinite;
}

.signal-console__bar {
  height: 52px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: #6f6f7b;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.signal-console__dots { display: flex; gap: 5px; }
.signal-console__dots span { width: 5px; height: 5px; border-radius: 50%; background: #4e4e58; }
.signal-console__dots span:first-child { background: #8b5cf6; }
.signal-console__status { justify-self: end; display: flex; align-items: center; gap: 6px; color: #aebc8e; }
.signal-console__status i { width: 5px; height: 5px; border-radius: 50%; background: var(--c-accent); box-shadow: 0 0 11px rgba(199, 255, 74, 0.8); }

.signal-console__stage {
  position: relative;
  overflow: hidden;
  height: calc(100% - 116px);
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 34px 34px;
}

.signal-console__canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0.9; }

.signal-core {
  position: absolute;
  left: 50%;
  top: 45%;
  width: 142px;
  height: 142px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(167, 139, 250, 0.26);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.22), rgba(10, 10, 15, 0.72) 64%);
  box-shadow: 0 0 70px rgba(139, 92, 246, 0.22), inset 0 0 30px rgba(139, 92, 246, 0.1);
  transform: translate(-50%, -50%);
}

.signal-core__mark { color: #fff; font-size: 50px; font-weight: 800; letter-spacing: -0.08em; }
.signal-core__caption { position: absolute; top: calc(100% + 13px); color: #777783; font-size: 7px; font-weight: 800; letter-spacing: 0.22em; line-height: 1.5; text-align: center; }
.signal-core__orbit { position: absolute; border: 1px solid rgba(255, 255, 255, 0.09); border-radius: 50%; }
.signal-core__orbit--one { inset: -28px; animation: orbitSpin 12s linear infinite; }
.signal-core__orbit--two { inset: -62px; border-style: dashed; animation: orbitSpin 20s linear infinite reverse; }
.signal-core__dot { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--c-accent); box-shadow: 0 0 16px rgba(199, 255, 74, 0.8); }
.signal-core__dot--one { top: -31px; left: 50%; }
.signal-core__dot--two { right: -64px; top: 48%; background: #a78bfa; box-shadow: 0 0 15px rgba(167,139,250,.8); }

.signal-node {
  position: absolute;
  min-width: 74px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  color: #9494a0;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 9px;
  background: rgba(13, 13, 19, 0.82);
  box-shadow: 0 10px 28px rgba(0,0,0,.25);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.signal-node svg { width: 13px; height: 13px; color: #b9a8ff; }
.signal-node--search { top: 21%; left: 7%; animation: nodeFloat 6s ease-in-out infinite; }
.signal-node--media { top: 17%; right: 7%; animation: nodeFloat 7s ease-in-out -2s infinite; }
.signal-node--site { bottom: 18%; left: 7%; animation: nodeFloat 6.5s ease-in-out -1s infinite; }
.signal-node--data { right: 7%; bottom: 15%; animation: nodeFloat 7.5s ease-in-out -3s infinite; }

.signal-readout { position: absolute; top: 5%; left: 50%; display: grid; gap: 2px; text-align: center; transform: translateX(-50%); }
.signal-readout span { color: #666671; font-size: 7px; font-weight: 800; letter-spacing: .18em; }
.signal-readout strong { color: #c7c7cf; font-size: 8px; font-weight: 650; }

.signal-chart {
  position: absolute;
  left: 50%;
  bottom: 3%;
  width: min(45%, 230px);
  padding: 8px 12px 5px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 10px;
  background: rgba(8,8,12,.68);
  transform: translateX(-50%);
}
.signal-chart__label { color: #686873; font-size: 6px; font-weight: 800; letter-spacing: .18em; }
.signal-chart svg { width: 100%; height: 55px; }
.signal-chart__line { fill: none; stroke: url(#signalGradient); stroke-width: 2.2; stroke-dasharray: 1; stroke-dashoffset: 1; animation: chartDraw 2.2s var(--ease-out) .5s forwards; }
.signal-chart__fill { fill: url(#signalFill); opacity: 0; animation: fadeIn 1s ease 1.2s forwards; }

.signal-console__footer {
  height: 64px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255,255,255,.08);
}
.signal-console__footer div { display: flex; align-items: center; justify-content: center; gap: 8px; border-right: 1px solid rgba(255,255,255,.065); }
.signal-console__footer div:last-child { border: 0; }
.signal-console__footer span { color: #5e5e69; font-size: 7px; font-weight: 800; }
.signal-console__footer strong { color: #acacb6; font-size: 9px; font-weight: 700; }

.hero__floatingCard {
  position: absolute;
  z-index: 8;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  color: #888894;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 12px;
  background: rgba(16,16,23,.85);
  box-shadow: 0 18px 48px rgba(0,0,0,.38);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  font-size: 8px;
  line-height: 1.35;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.hero__floatingCard svg { width: 18px; color: var(--c-accent); }
.hero__floatingCard strong { color: #e3e3e8; font-size: 9px; }
.hero__floatingCard--one { left: -33px; top: 19%; animation: nodeFloat 8s ease-in-out -1s infinite; }
.hero__floatingCard--two { right: -29px; bottom: 20%; animation: nodeFloat 7s ease-in-out -4s infinite; }
.hero__floatingPulse { width: 8px; height: 8px; border: 2px solid var(--c-accent); border-radius: 50%; box-shadow: 0 0 0 5px rgba(199,255,74,.08); }

.hero__rail {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: clamp(24px, 5vw, 64px);
  margin-top: clamp(64px, 8vw, 112px);
  min-height: 78px;
  border-top: 1px solid rgba(255,255,255,.075);
}
.hero__railLabel { color: #595965; font-size: 8px; font-weight: 800; letter-spacing: .2em; }
.hero__railTrack { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #898994; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.hero__railTrack i { width: 3px; height: 3px; flex: 0 0 auto; border-radius: 50%; background: #4d4d57; }

@keyframes signalPulse { 50% { opacity: .45; box-shadow: 0 0 0 8px rgba(199,255,74,0), 0 0 10px rgba(199,255,74,.35); } }
@keyframes consoleShine { 0%, 68% { transform: translateX(-120%); } 84%, 100% { transform: translateX(120%); } }
@keyframes orbitSpin { to { transform: rotate(360deg); } }
@keyframes nodeFloat { 50% { transform: translateY(-7px); } }
@keyframes chartDraw { to { stroke-dashoffset: 0; } }
@keyframes fadeIn { to { opacity: 1; } }

/* =========================================================
   Services / bento system
   ========================================================= */
.our-services {
  position: relative;
  overflow: hidden;
  background: #09090d;
  border-bottom: 1px solid rgba(255,255,255,.065);
}

.our-services::before {
  content: "";
  position: absolute;
  left: -20rem;
  top: 10%;
  width: 42rem;
  height: 42rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139,92,246,.1), transparent 66%);
  pointer-events: none;
}

.services-bento {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px;
}

.our-services .service-card {
  position: relative;
  overflow: hidden;
  min-height: 470px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 26px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.055), transparent 30%),
    #101117;
  box-shadow: inset 0 1px rgba(255,255,255,.045);
  transition: transform 500ms var(--ease-out), border-color 300ms, background 500ms;
}

.our-services .service-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(320px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(167,139,250,.11),transparent 68%);
  transition: opacity 300ms;
}

.our-services .service-card:hover::after { opacity: 1; }

.our-services .service-card:hover {
  z-index: 2;
  transform: translateY(-7px);
  border-color: rgba(199,255,74,.24);
  background:
    linear-gradient(145deg, rgba(139,92,246,.11), transparent 34%),
    #12131a;
}

.service-card--search { grid-column: span 7; }
.service-card--social { grid-column: span 5; }
.service-card--seo { grid-column: span 5; }
.service-card--web { grid-column: span 7; }

.service-card__link {
  position: relative;
  z-index: 2;
  height: 100%;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  padding: clamp(24px, 3vw, 38px);
}

.service-card__topline {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  color: #696975;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .17em;
}
.service-card__topline span:first-child { color: var(--c-accent); }
.service-card__topline svg { width: 17px; height: 17px; color: #888895; transition: transform 300ms var(--ease-out), color 300ms; }
.service-card:hover .service-card__topline svg { color: var(--c-accent); transform: translate(3px, -3px); }

.our-services .service-card__icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  margin: clamp(42px, 6vw, 70px) 0 22px;
  padding: 0;
  color: #c2b5fc;
  border: 1px solid rgba(167,139,250,.2);
  border-radius: 12px;
  background: rgba(139,92,246,.1);
}
.our-services .service-card__icon svg { width: 20px; height: 20px; }

.our-services .service-card__title {
  max-width: 12ch;
  margin: 0 0 14px;
  color: var(--c-text);
  font-size: clamp(31px, 3.1vw, 46px);
  font-weight: 650;
  line-height: 1;
  letter-spacing: -.05em;
}

.our-services .service-card__text {
  position: relative;
  z-index: 3;
  max-width: 48ch;
  margin: 0;
  color: #92929e;
  font-size: 14px;
  line-height: 1.7;
}

.service-card__visual { position: absolute; z-index: -1; pointer-events: none; }

.service-card__visual--search {
  right: -25px;
  bottom: 24px;
  width: 48%;
  height: 58%;
  padding: 17px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px 0 0 16px;
  background: rgba(7,7,11,.6);
  transform: rotate(-4deg);
  transition: transform 600ms var(--ease-out);
}
.service-card:hover .service-card__visual--search { transform: rotate(-1deg) translateX(-6px); }
.search-ui__bar { height: 34px; display: flex; align-items: center; gap: 8px; padding: 0 10px; color: #777784; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: #13131a; }
.search-ui__bar svg { width: 12px; }
.search-ui__bar em { flex: 1; font-size: 7px; font-style: normal; }
.search-ui__bar b { width: 26px; height: 15px; border-radius: 4px; background: var(--c-accent); }
.search-ui__result { position: relative; display: block; height: 69px; margin-top: 10px; border: 1px solid rgba(255,255,255,.065); border-radius: 8px; background: rgba(255,255,255,.025); }
.search-ui__result::before, .search-ui__result::after { content: ""; position: absolute; left: 11px; height: 4px; border-radius: 3px; background: #3d3d47; }
.search-ui__result::before { top: 17px; width: 43%; background: #8064d8; }
.search-ui__result::after { top: 29px; width: 76%; box-shadow: 0 10px #292932; }
.search-ui__result--two { opacity: .55; }

.service-card__visual--social { right: -38px; bottom: -64px; width: 260px; height: 260px; }
.social-orbit { position: absolute; inset: 0; border: 1px solid rgba(167,139,250,.13); border-radius: 50%; }
.social-orbit--two { inset: 45px; border-style: dashed; animation: orbitSpin 18s linear infinite; }
.social-core { position: absolute; inset: 88px; display: grid; place-items: center; color: #0b0b0e; border-radius: 50%; background: var(--c-accent); box-shadow: 0 0 45px rgba(199,255,74,.14); }
.social-core svg { width: 20px; fill: currentColor !important; }
.social-ping { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #a78bfa; box-shadow: 0 0 16px #8b5cf6; }
.social-ping--one { left: 24px; top: 103px; }
.social-ping--two { right: 53px; top: 25px; background: var(--c-accent); box-shadow: 0 0 16px rgba(199,255,74,.7); }

.service-card__visual--seo { right: 24px; bottom: 20px; width: 44%; display: grid; gap: 7px; }
.seo-rank { height: 42px; display: grid; grid-template-columns: 28px 1fr 22px; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid rgba(255,255,255,.075); border-radius: 8px; background: rgba(8,8,12,.7); }
.seo-rank em { color: #6f6f7b; font-size: 8px; font-style: normal; font-weight: 800; }
.seo-rank b { width: 72%; height: 4px; border-radius: 3px; background: #3b3b45; box-shadow: 0 9px #292932; }
.seo-rank svg { width: 12px; color: var(--c-accent); }

.service-card__visual--web { right: -20px; bottom: -28px; width: 51%; height: 64%; perspective: 800px; }
.web-frame { position: absolute; inset: 0; overflow: hidden; display: block; border: 1px solid rgba(255,255,255,.12); border-radius: 15px 0 0 0; background: #0c0c12; transform: rotateY(-10deg) rotateZ(2deg); transform-origin: right bottom; box-shadow: -25px 25px 60px rgba(0,0,0,.35); transition: transform 600ms var(--ease-out); }
.service-card:hover .web-frame { transform: rotateY(-3deg) rotateZ(0); }
.web-frame::before { content: ""; position: absolute; inset: 0 0 auto; height: 32px; border-bottom: 1px solid rgba(255,255,255,.08); background: #14141b; }
.web-frame i { position: relative; z-index: 1; float: left; width: 5px; height: 5px; margin: 14px 0 0 5px; border-radius: 50%; background: #545460; }
.web-frame i:first-child { margin-left: 13px; background: #8b5cf6; }
.web-frame b { position: absolute; left: 25px; top: 67px; width: 58%; height: 13px; border-radius: 3px; background: linear-gradient(90deg,#8b5cf6,#c7ff4a); box-shadow: 0 25px #303039, 0 37px #303039; }
.web-frame em { position: absolute; left: 25px; top: 145px; width: 80px; height: 25px; border-radius: 999px; background: var(--c-accent); }

.services-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 22px;
  padding: 18px 4px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.services-note p { margin: 0; color: #747480; font-size: 11px; }
.services-note p span { margin-right: 8px; color: var(--c-accent); }
.services-note a { display: inline-flex; align-items: center; gap: 9px; color: #d7d7dc; font-size: 11px; font-weight: 750; }
.services-note a svg { width: 15px; transition: transform 240ms; }
.services-note a:hover svg { transform: translateX(4px); }

/* =========================================================
   CTA diagnostic
   ========================================================= */
.cta { background: #09090d; padding-top: 0; }

.cta__surface {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 510px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, .62fr);
  align-items: center;
  gap: 30px;
  padding: clamp(42px, 7vw, 88px);
  border: 1px solid rgba(180,153,255,.25);
  border-radius: 34px;
  background:
    radial-gradient(circle at 90% 50%, rgba(199,255,74,.13), transparent 24rem),
    radial-gradient(circle at 15% 110%, rgba(139,92,246,.34), transparent 32rem),
    linear-gradient(135deg, #171126 0%, #100f19 52%, #0d0e13 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.09), 0 35px 100px rgba(0,0,0,.28);
}

.cta__surface::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .35;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(90deg,#000,transparent 90%);
}

.cta__noise { position: absolute; inset: 0; z-index: -1; opacity: .05; background-image: radial-gradient(rgba(255,255,255,.65) .6px, transparent .6px); background-size: 6px 6px; }
.cta__content { position: relative; z-index: 2; max-width: 760px; }
.cta__eyebrow { display: flex; align-items: center; gap: 9px; margin-bottom: 26px; color: #c4b5fd; font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.cta__eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: var(--c-accent); box-shadow: 0 0 14px rgba(199,255,74,.7); }
.cta__title { max-width: 12ch; margin: 0 0 24px; color: #fff; font-size: clamp(43px, 5.5vw, 75px); font-weight: 650; line-height: .98; letter-spacing: -.06em; }
.cta__title span { color: #c7ff4a; }
.cta__subtitle { max-width: 54ch; margin: 0; color: #aaa5b7; font-size: 15px; line-height: 1.75; }
.cta__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 34px; }
.cta__btn { min-height: 55px; display: inline-flex; align-items: center; gap: 14px; padding: 14px 21px; color: #09090c; border-radius: 999px; background: var(--c-accent); font-size: 12px; font-weight: 850; transition: transform 250ms var(--ease-out), background 250ms, box-shadow 250ms; }
.cta__btn:hover { transform: translateY(-3px); background: var(--c-accent-soft); box-shadow: 0 18px 50px rgba(199,255,74,.17); }
.cta__btn svg { width: 17px; }
.cta__microcopy { display: inline-flex; align-items: center; gap: 8px; color: #827e8e; font-size: 10px; }
.cta__microcopy svg { width: 15px; color: #9d8ed3; }

.cta__radar { position: relative; justify-self: center; width: min(32vw, 380px); aspect-ratio: 1; }
.cta__radarRing { position: absolute; border: 1px solid rgba(199,255,74,.15); border-radius: 50%; }
.cta__radarRing--one { inset: 4%; }
.cta__radarRing--two { inset: 22%; border-style: dashed; animation: orbitSpin 20s linear infinite; }
.cta__radarRing--three { inset: 38%; border-color: rgba(167,139,250,.3); }
.cta__radar::before, .cta__radar::after { content: ""; position: absolute; left: 50%; top: 4%; bottom: 4%; width: 1px; background: linear-gradient(transparent,rgba(199,255,74,.13),transparent); }
.cta__radar::after { transform: rotate(90deg); }
.cta__radarSweep { position: absolute; inset: 4%; overflow: hidden; border-radius: 50%; animation: orbitSpin 6s linear infinite; }
.cta__radarSweep::before { content: ""; position: absolute; left: 50%; top: 0; width: 50%; height: 50%; transform-origin: left bottom; background: conic-gradient(from 270deg at 0 100%, rgba(199,255,74,.16), transparent 35deg); }
.cta__radarCore { position: absolute; inset: 36%; display: grid; place-items: center; align-content: center; gap: 9px; border: 1px solid rgba(199,255,74,.22); border-radius: 50%; background: rgba(10,10,14,.7); box-shadow: 0 0 60px rgba(139,92,246,.22); }
.cta__radarCore b { color: #fff; font-size: 42px; line-height: 1; }
.cta__radarCore em { color: #777280; font-size: 6px; font-style: normal; font-weight: 800; letter-spacing: .15em; line-height: 1.45; text-align: center; }
.cta__radarDot { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--c-accent); box-shadow: 0 0 15px rgba(199,255,74,.8); }
.cta__radarDot--one { left: 12%; top: 43%; }
.cta__radarDot--two { right: 21%; top: 20%; background: #a78bfa; box-shadow: 0 0 15px rgba(167,139,250,.8); }

/* =========================================================
   Connected growth system
   ========================================================= */
.who-we-are {
  position: relative;
  overflow: hidden;
  color: var(--c-text);
  background:
    radial-gradient(circle at 70% 30%, rgba(92,60,180,.08), transparent 30rem),
    #07070a;
}

.growth-system {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(360px, .86fr);
  align-items: stretch;
  gap: 16px;
}

.growth-map,
.who-acc {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 26px;
  background: #0e0f15;
  box-shadow: inset 0 1px rgba(255,255,255,.045);
}

.growth-map { position: relative; min-height: 570px; display: flex; flex-direction: column; }

.growth-map::before {
  content: "";
  position: absolute;
  inset: 47px 0 0;
  opacity: .45;
  background-image: linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size: 38px 38px;
  mask-image: radial-gradient(circle at center,#000,transparent 80%);
}

.growth-map__header {
  position: relative;
  z-index: 2;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  color: #646470;
  border-bottom: 1px solid rgba(255,255,255,.075);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .16em;
}
.growth-map__header span:last-child { display: flex; align-items: center; gap: 7px; color: #889175; }
.growth-map__header i { width: 5px; height: 5px; border-radius: 50%; background: var(--c-accent); box-shadow: 0 0 11px rgba(199,255,74,.7); }

.growth-map__flow {
  position: relative;
  z-index: 2;
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 72px 1fr 72px 1fr;
  align-items: center;
  padding: 58px 34px 30px;
}

.growth-map__node {
  position: relative;
  min-height: 175px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 50%;
  background: rgba(13,13,19,.82);
  box-shadow: 0 18px 46px rgba(0,0,0,.25);
  text-align: center;
}
.growth-map__node::after { content: ""; position: absolute; inset: 9px; border: 1px dashed rgba(255,255,255,.055); border-radius: 50%; }
.growth-map__node svg { width: 27px; height: 27px; color: #a78bfa; }
.growth-map__node strong { color: #d8d8de; font-size: 13px; }
.growth-map__node small { color: #656570; font-size: 7px; letter-spacing: .1em; text-transform: uppercase; }
.growth-map__number { position: absolute; top: -20px; color: #5f5f6a; font-size: 7px; font-weight: 800; letter-spacing: .1em; }
.growth-map__node--core { border-color: rgba(167,139,250,.3); background: radial-gradient(circle,rgba(139,92,246,.19),#111119 68%); box-shadow: 0 0 60px rgba(139,92,246,.13); }
.growth-map__brand { color: #fff; font-size: 42px; font-weight: 800; line-height: .8; }
.growth-map__node--result { border-color: rgba(199,255,74,.18); }
.growth-map__node--result svg { color: var(--c-accent); }

.growth-map__connector { position: relative; height: 1px; overflow: visible; background: rgba(255,255,255,.09); }
.growth-map__connector i { position: absolute; top: -2px; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--c-accent); box-shadow: 0 0 13px rgba(199,255,74,.7); animation: flowDot 2.4s ease-in-out infinite; }

.growth-map__channels {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 8px;
  padding: 0 24px 26px;
}
.growth-map__channels span { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 7px; color: #71717c; border: 1px solid rgba(255,255,255,.07); border-radius: 8px; background: rgba(255,255,255,.025); font-size: 7px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.growth-map__channels svg { width: 12px; color: #9385ca; }

.growth-map__ticker { position: relative; z-index: 2; overflow: hidden; height: 42px; border-top: 1px solid rgba(255,255,255,.07); background: #0a0a0f; }
.growth-map__ticker div { width: max-content; height: 100%; display: flex; align-items: center; gap: 16px; color: #585863; font-size: 7px; font-weight: 800; letter-spacing: .16em; animation: systemTicker 15s linear infinite; }
.growth-map__ticker i { width: 3px; height: 3px; border-radius: 50%; background: #6b5a9f; }

.who-acc { padding: 10px clamp(16px,2vw,24px); }
.who-acc__item { position: relative; border-bottom: 1px solid rgba(255,255,255,.08); }
.who-acc__item:last-child { border-bottom: 0; }
.who-acc__btn { width: 100%; min-height: 102px; display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 14px; padding: 18px 4px; color: var(--c-text); border: 0; background: transparent; text-align: left; cursor: pointer; }
.who-acc__index { color: #5f5f69; font-size: 8px; font-weight: 800; }
.who-acc__title { color: #c7c7cf; font-size: clamp(15px,1.5vw,19px); font-weight: 650; letter-spacing: -.025em; }
.who-acc__chev { width: 30px; height: 30px; display: grid; place-items: center; color: #8b8b96; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; transition: transform 360ms var(--ease-out), color 260ms, background 260ms; }
.who-acc__chev svg { width: 14px; }
.who-acc__item.is-open .who-acc__chev { color: #09090c; background: var(--c-accent); transform: rotate(45deg); }
.who-acc__panel { overflow: hidden; transition: max-height 520ms var(--ease-out); }
.who-acc__panel p { margin: -2px 42px 28px 44px; color: #858591; font-size: 13px; line-height: 1.72; }

@keyframes flowDot { 0% { left: 0; opacity: 0; } 15%,80% { opacity: 1; } 100% { left: calc(100% - 5px); opacity: 0; } }
@keyframes systemTicker { to { transform: translateX(-25%); } }

/* =========================================================
   Process timeline
   ========================================================= */
.how-it-work {
  position: relative;
  background: #0a0a0e;
  border-block: 1px solid rgba(255,255,255,.065);
}

.process-layout {
  display: grid;
  grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr);
  gap: clamp(60px,10vw,150px);
  align-items: start;
}

.process-intro { position: sticky; top: 150px; }
.process-intro .section-copy { margin-top: 25px; }
.process-intro__link { display: inline-flex; align-items: center; gap: 9px; margin-top: 30px; color: #d6d6dc; font-size: 11px; font-weight: 750; }
.process-intro__link svg { width: 15px; transition: transform 250ms; }
.process-intro__link:hover svg { transform: translate(3px,-3px); }

.process-intro__dial { position: relative; width: 160px; height: 160px; display: grid; place-content: center; margin-top: 58px; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; text-align: center; }
.process-intro__dialRing { position: absolute; inset: 12px; border: 1px dashed rgba(167,139,250,.25); border-radius: 50%; animation: orbitSpin 20s linear infinite; }
.process-intro__dialNeedle { position: absolute; left: 50%; top: 12px; width: 1px; height: 68px; transform-origin: bottom; background: linear-gradient(var(--c-accent),transparent); animation: orbitSpin 8s linear infinite; }
.process-intro__dial strong { color: #e5e5e9; font-size: 38px; line-height: 1; }
.process-intro__dial small { margin-top: 5px; color: #656570; font-size: 7px; font-weight: 800; letter-spacing: .18em; }

.process-steps { list-style: none; margin: 0; padding: 0; }
.process-steps .work-step { position: relative; min-height: 235px; display: grid; grid-template-columns: 110px 1fr; gap: 22px; padding: 34px 0 34px 50px; border-top: 1px solid rgba(255,255,255,.1); background: transparent; }
.process-steps .work-step:last-child { border-bottom: 1px solid rgba(255,255,255,.1); }
.work-step__tag { color: #696974; font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.work-step__body { display: grid; grid-template-columns: 48px 1fr; gap: 22px; }
.process-steps .work-step__icon { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; color: #ad99fa; border: 1px solid rgba(167,139,250,.2); border-radius: 12px; background: rgba(139,92,246,.08); }
.process-steps .work-step__icon svg { width: 20px; }
.process-steps .work-step__title { max-width: 20ch; margin: 0 0 13px; color: #e5e5e9; font-size: clamp(24px,2.6vw,36px); font-weight: 650; line-height: 1.05; letter-spacing: -.045em; }
.process-steps .work-step__text { max-width: 53ch; margin: 0; color: #858590; font-size: 13px; line-height: 1.73; }
.work-step__line { position: absolute; left: 12px; top: 41px; bottom: 0; width: 1px; background: rgba(255,255,255,.09); }
.work-step__line::before { content: ""; position: absolute; left: -3px; top: 0; width: 7px; height: 7px; border: 1px solid var(--c-accent); border-radius: 50%; background: #0a0a0e; box-shadow: 0 0 12px rgba(199,255,74,.35); }
.work-step__line span { position: absolute; left: 0; top: 0; width: 1px; height: 0; background: var(--c-accent); transition: height 1.1s var(--ease-out) .35s; }
.work-step.is-inview .work-step__line span { height: 100%; }

/* =========================================================
   FAQ
   ========================================================= */
.faq { background: #07070a; }
.faq__layout { display: grid; grid-template-columns: minmax(280px,.67fr) minmax(0,1.33fr); align-items: start; gap: clamp(60px,10vw,150px); }
.faq__head { position: sticky; top: 150px; margin: 0; }
.faq__head .section-copy { margin-top: 24px; }
.faq__contact { margin-top: 38px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.09); }
.faq__contact span { display: block; margin-bottom: 9px; color: #666671; font-size: 9px; letter-spacing: .08em; }
.faq__contact a { display: inline-flex; align-items: center; gap: 8px; color: #d6d6db; font-size: 11px; font-weight: 750; }
.faq__contact svg { width: 15px; }

.faq-acc { border-top: 1px solid rgba(255,255,255,.1); }
.faq-acc__item { border: 0; border-bottom: 1px solid rgba(255,255,255,.1); background: transparent; }
.faq-acc__btn { width: 100%; min-height: 112px; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 18px; padding: 22px 0; color: var(--c-text); border: 0; background: transparent; text-align: left; cursor: pointer; }
.faq-acc__number { color: #5b5b66; font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.faq-acc__q { color: #d2d2d8; font-size: clamp(16px,1.7vw,21px); font-weight: 620; letter-spacing: -.025em; }
.faq-acc__chev { width: 34px; height: 34px; display: grid; place-items: center; color: #858590; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; transition: transform 400ms var(--ease-out), color 250ms, background 250ms; }
.faq-acc__chev svg { width: 15px; }
.faq-acc__item.is-open .faq-acc__chev { color: #09090c; background: var(--c-accent); transform: rotate(45deg); }
.faq-acc__panel { overflow: hidden; padding: 0; transition: max-height 520ms var(--ease-out); }
.faq-acc__text { max-width: 64ch; margin: 0 50px 32px 56px; color: #858590; font-size: 13px; line-height: 1.78; }

/* =========================================================
   Insights / blog cards
   ========================================================= */
.latest-posts {
  position: relative;
  background: #0a0a0e;
  border-top: 1px solid rgba(255,255,255,.065);
}

.latest-posts__aside { display: grid; gap: 20px; }
.latest-posts__all { width: fit-content; display: inline-flex; align-items: center; gap: 9px; color: #d8d8dd; font-size: 11px; font-weight: 750; }
.latest-posts__all svg { width: 15px; transition: transform 250ms; }
.latest-posts__all:hover svg { transform: translate(3px,-3px); }

.latest-posts__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}

.latest-posts .blog-card {
  position: relative;
  overflow: hidden;
  min-width: 0;
  min-height: 480px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 24px;
  background: #101117;
  box-shadow: none;
  transition: transform 450ms var(--ease-out), border-color 300ms;
}
.latest-posts .blog-card:hover { transform: translateY(-7px); border-color: rgba(199,255,74,.22); }
.latest-posts .blog-card__link { height: 100%; display: flex; flex-direction: column; }
.latest-posts .blog-card__media { position: relative; overflow: hidden; aspect-ratio: 1.48; margin: 0; background: radial-gradient(circle at 20% 20%,rgba(139,92,246,.25),transparent 45%),#16161e; }
.latest-posts .blog-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 55%,rgba(8,8,12,.7)); }
.latest-posts .blog-card__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.05) brightness(.8); transition: transform 700ms var(--ease-out), filter 500ms; }
.latest-posts .blog-card:hover .blog-card__media img { transform: scale(1.045); filter: saturate(.95) contrast(1.05) brightness(.9); }
.latest-posts .blog-card__body { flex: 1; display: flex; flex-direction: column; align-items: stretch; padding: 24px; background: transparent; }
.latest-posts .blog-card__meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.latest-posts .blog-card__tag { padding: 5px 8px; color: var(--c-accent); border: 1px solid rgba(199,255,74,.17); border-radius: 999px; background: rgba(199,255,74,.045); font-size: 7px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.latest-posts .blog-card__date { color: #666671; font-size: 8px; }
.latest-posts .blog-card__title { margin: 0 0 12px; color: #e5e5e9; font-size: clamp(18px,1.8vw,24px); font-weight: 650; line-height: 1.2; letter-spacing: -.035em; }
.latest-posts .blog-card__excerpt { display: -webkit-box; overflow: hidden; margin: 0; color: #858591; font-size: 12px; line-height: 1.65; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.latest-posts .blog-card__cta { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 22px; color: #cfcfd5; border-top: 1px solid rgba(255,255,255,.075); font-size: 10px; font-weight: 750; }
.latest-posts .blog-card__cta svg { width: 15px; color: var(--c-accent); transition: transform 250ms; }
.latest-posts .blog-card:hover .blog-card__cta svg { transform: translateX(4px); }
.latest-posts .blog-card--noimg::before { content: "PURA / INSIGHT"; height: 190px; display: grid; place-items: center; color: rgba(255,255,255,.18); background: radial-gradient(circle at 50% 50%,rgba(139,92,246,.25),transparent 60%),linear-gradient(135deg,#17131f,#0e0e14); font-size: 11px; font-weight: 800; letter-spacing: .2em; }

/* =========================================================
   Footer, floating conversion, consent and modal
   ========================================================= */
.site-footer {
  position: relative;
  overflow: hidden;
  padding: 0 0 24px;
  color: var(--c-text);
  background: #050507;
  border-top: 1px solid rgba(255,255,255,.07);
}

.footer-ticker {
  overflow: hidden;
  padding: clamp(32px,5vw,62px) 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: #08080b;
}
.footer-ticker__track { width: max-content; display: flex; animation: footerTicker 28s linear infinite; }
.footer-ticker__content { display: flex; align-items: center; flex: 0 0 auto; }
.footer-ticker__word { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.28); font-size: clamp(58px,9vw,130px); font-weight: 700; line-height: .8; letter-spacing: -.06em; text-transform: uppercase; }
.footer-ticker__sep { width: clamp(60px,8vw,118px); display: grid; place-items: center; }
.footer-ticker__sepBg { width: 30px; height: 30px; display: grid; place-items: center; color: #09090c; border-radius: 50%; background: var(--c-accent); }
.footer-ticker__sepBg svg { width: 14px; fill: currentColor !important; }

.footer__panel {
  margin-top: 0;
  padding: clamp(54px,7vw,90px) clamp(16px,2vw,30px) 24px;
  color: var(--c-text);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.footer__top { display: grid; grid-template-columns: minmax(260px,1.3fr) .6fr .8fr; gap: clamp(42px,8vw,110px); }
.footer__logo img { width: 96px; height: 48px; object-fit: contain; object-position: left center; }
.footer__brandText { max-width: 40ch; margin: 20px 0 0; color: #777783; font-size: 12px; line-height: 1.7; }
.footer__title { margin: 0 0 20px; color: #dedee3; font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.footer__list { display: grid; gap: 10px; }
.footer__list a, .footer__list span { color: #9a9aa5; font-size: 12px; transition: color 220ms; }
.footer__list a:hover { color: var(--c-accent); }
.footer__liIcon { color: #8170bf !important; }
.footer__divider { height: 1px; margin: 44px 0; background: rgba(255,255,255,.075); }

.footer__servicesGrid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.footer-service-group { position: relative; display: grid; align-content: start; gap: 10px; min-height: 180px; padding: 23px; border: 1px solid rgba(255,255,255,.075); border-radius: 16px; background: rgba(255,255,255,.018); }
.footer-service-group__index { position: absolute; right: 18px; top: 18px; color: #8a8a96; font-size: 11px; font-weight: 800; }
.footer-service-group h4 { margin: 0 0 9px; color: #d3d3d9; font-size: 14px; }
.footer-service-group a { width: fit-content; color: #9696a2; font-size: 12px; transition: color 220ms, transform 220ms; }
.footer-service-group a:hover { color: var(--c-accent); transform: translateX(3px); }

.footer__bigText { columns: 3 260px; column-gap: 36px; color: #8e8e99; }
.footer__bigText p { margin: 0 0 1em; color: inherit; font-size: 12px; line-height: 1.72; }
.footer__bigText strong, .footer__bigText em { color: #8c8c97; font-style: normal; }
.footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #92929d; font-size: 12px; letter-spacing: .04em; }

@keyframes footerTicker { to { transform: translateX(-50%); } }

.wpp--desktop {
  width: 54px;
  height: 54px;
  border: 1px solid rgba(199,255,74,.28);
  background: #14151a;
  box-shadow: 0 16px 48px rgba(0,0,0,.35), 0 0 30px rgba(199,255,74,.08);
}
.wpp--desktop::before { background: radial-gradient(circle,rgba(199,255,74,.22),transparent 65%); }
.wpp--desktop img { width: 25px; height: 25px; }
.wpp-bar { background: var(--c-accent); color: #09090c; }

.cookie__inner,
.cookie-modal__panel {
  color: var(--c-text);
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(15,15,21,.96);
  box-shadow: var(--shadow-md);
}
.cookie { z-index: 1100; }
.cookie-modal { z-index: 100001; }
.cookie__inner {
  max-height: calc(100dvh - 24px);
  overflow: auto;
  overscroll-behavior: contain;
}
.cookie-modal__panel {
  max-height: calc(100dvh - 24px);
  overflow: auto;
  overscroll-behavior: contain;
}
body.has-cookie-banner .float-whatsapp,
body.has-cookie-banner .wpp-bar,
body.is-cookie-open .float-whatsapp,
body.is-cookie-open .wpp-bar,
body.is-nav-open .float-whatsapp,
body.is-nav-open .wpp-bar { visibility: hidden !important; pointer-events: none !important; }
.wpp--mobile[aria-hidden="true"] { visibility: hidden; }
.cookie__title, .cookie-modal__title, .cookie-row__label { color: var(--c-text); }
.cookie__desc, .cookie-modal__desc, .cookie-row__hint, .cookie-modal__foot { color: var(--c-muted); }
.cookie__link { color: var(--c-accent); }
.cookie__btn { color: var(--c-text); border-color: var(--c-border); background: rgba(255,255,255,.045); box-shadow: none; }
.cookie__btn--primary { color: #09090c; background: var(--c-accent); }
.cookie__btn--primary::before, .cookie__btn--primary::after { display: none; }
.cookie-modal__backdrop { background: rgba(0,0,0,.75); }
.cookie-row { border-color: var(--c-border); background: rgba(255,255,255,.025); }
.cookie-modal__close { color: var(--c-text); background: rgba(255,255,255,.05); }

.lead-modal__overlay { background: rgba(2,2,4,.78); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.lead-modal__dialog {
  color: var(--c-text);
  border: 1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 100% 0,rgba(139,92,246,.18),transparent 18rem),
    #101117;
  box-shadow: 0 45px 130px rgba(0,0,0,.62);
}
.lead-modal__title, .service-form__title, .contact-panel__title { color: var(--c-text); }
.lead-modal__desc { color: var(--c-muted); }
.lead-modal__close { color: var(--c-text); border-color: var(--c-border); background: rgba(255,255,255,.04); }
.lead-modal input,
.lead-modal textarea,
.contact-field input,
.contact-field textarea,
.service-field input,
.service-field textarea {
  color: var(--c-text) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  background: rgba(255,255,255,.04) !important;
  box-shadow: none !important;
}
.lead-modal input::placeholder, .lead-modal textarea::placeholder, .contact-field input::placeholder, .contact-field textarea::placeholder, .service-field input::placeholder, .service-field textarea::placeholder { color: #9494a0; }
.lead-modal__submit, .service-form__submit, .contact-form__submit { color: #09090c !important; background: var(--c-accent) !important; box-shadow: 0 12px 40px rgba(199,255,74,.12) !important; }

/* =========================================================
   Internal pages — shared dark language
   ========================================================= */
.hero--institutional,
.hero--detail {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 430px;
  display: flex;
  align-items: center;
  padding: clamp(78px,9vw,130px) 0;
  border-bottom: 1px solid rgba(255,255,255,.075);
  background:
    radial-gradient(circle at 80% 28%,rgba(139,92,246,.14),transparent 26rem),
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    #08080c;
  background-size: auto, 68px 68px, 68px 68px, auto;
}
.hero--institutional::after, .hero--detail::after { content: ""; position: absolute; right: -8rem; top: -10rem; width: 35rem; height: 35rem; z-index: -1; border: 1px solid rgba(167,139,250,.12); border-radius: 50%; box-shadow: 0 0 0 65px rgba(139,92,246,.015),0 0 0 130px rgba(139,92,246,.01); }
.hero--institutional .hero__inner,
.hero--detail .hero__inner { display: block; }
.hero--institutional .hero__left,
.hero--detail .hero__left { max-width: 1000px; }
.hero--institutional .hero__title,
.hero--detail .hero__title { max-width: 13ch; margin: 22px 0 0; color: var(--c-text); font-size: clamp(44px,6.2vw,86px); font-weight: 650; line-height: .98; letter-spacing: -.06em; text-wrap: balance; }
.hero--detail .hero__subtitle { max-width: 62ch; margin: 28px 0 0; color: var(--c-muted); font-size: clamp(15px,1.45vw,18px); line-height: 1.7; }
.hero--detail .hero__actions { display: flex; align-items: center; gap: 12px; margin-top: 30px; }
.hero--detail .btn--whatsapp { color: var(--c-text); border: 1px solid var(--c-border); background: rgba(255,255,255,.045); box-shadow: none; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; color: #686874; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.breadcrumbs a { color: #9999a5; }
.breadcrumbs a:hover { color: var(--c-accent); }

.list-page { padding: clamp(70px,9vw,130px) 0; background: var(--c-bg); }
.u-cards-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.u-card { overflow: hidden; border: 1px solid rgba(255,255,255,.095); border-radius: 20px; background: #101117; box-shadow: none; transition: transform 400ms var(--ease-out), border-color 300ms; }
.u-card:hover { transform: translateY(-6px); border-color: rgba(199,255,74,.22); }
.u-card__link { height: 100%; display: flex; flex-direction: column; }
.u-card__media { overflow: hidden; aspect-ratio: 1.58; margin: 0; background: #16161e; }
.u-card__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) brightness(.82); transition: transform 600ms var(--ease-out), filter 400ms; }
.u-card:hover .u-card__media img { transform: scale(1.04); filter: saturate(.95) brightness(.9); }
.u-card__body { flex: 1; display: flex; flex-direction: column; padding: 24px; background: transparent; }
.u-card__title { margin: 0 0 24px; color: #dedee3; font-size: clamp(18px,1.8vw,25px); font-weight: 650; line-height: 1.2; letter-spacing: -.035em; }
.u-card__btn { width: fit-content; min-height: 40px; margin-top: auto; padding: 9px 13px; font-size: 9px; }
.u-card--noimg::before { content: "PURA"; height: 160px; display: grid; place-items: center; color: rgba(255,255,255,.16); background: radial-gradient(circle,rgba(139,92,246,.2),transparent 60%),#12121a; font-size: 11px; font-weight: 800; letter-spacing: .2em; }

.pager { margin-top: 46px; }
.pager__link, .pager__num { color: #a4a4af; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.035); }
.pager__num.is-active { color: #09090c; border-color: var(--c-accent); background: var(--c-accent); }
.pager__link.is-disabled { opacity: .35; }

.service-body { background: #08080c; }
.service-body__grid { align-items: start; gap: clamp(28px,5vw,72px); }
.service-media,
.service-desc,
.what-you-get,
.service-form,
.service-cta,
.contact-panel,
.contact-card,
.about-approach__panel,
.about-solution__card {
  color: var(--c-text);
  border-color: rgba(255,255,255,.1) !important;
  background: #101117 !important;
  box-shadow: none !important;
}
.service-media { overflow: hidden; border-radius: 24px; }
.service-media img { filter: saturate(.75) brightness(.82); }
.service-desc, .what-you-get, .service-form { border-radius: 22px; }
.service-desc__label, .contact-panel__badgeText, .about-solution__badgeText, .about-approach__badgeText { color: var(--c-accent); }
.service-desc__content, .service-desc__content p, .service-desc__content li, .what-you-get__subtitle, .what-you-get__itemText, .service-cta__text { color: #92929d !important; }
.service-desc__content h2, .service-desc__content h3, .service-desc__content h4, .what-you-get__title, .what-you-get__itemTitle, .service-cta__heading { color: var(--c-text) !important; }
.what-you-get__item, .service-cta__item { border-color: rgba(255,255,255,.08) !important; background: rgba(255,255,255,.025) !important; }
.what-you-get__icon, .service-cta__icon, .contact-card__icon, .contact-panel__badgeIcon, .about-solution__badgeIcon, .about-approach__badgeIcon { color: #b8a6fa !important; border-color: rgba(167,139,250,.2) !important; background: rgba(139,92,246,.09) !important; }
.service-cta__glass, .service-cta__overlay { background: transparent !important; }
.service-cta__headingGrad { color: transparent !important; background: var(--g-brand); -webkit-background-clip: text; background-clip: text; }

.svc-carousel { background: #09090d; }
.svc-carousel__shell { border-color: rgba(255,255,255,.1) !important; background: #101117 !important; box-shadow: none !important; }
.svc-carousel__title { color: var(--c-text); }
.svc-carousel__arrow { color: var(--c-text) !important; border-color: rgba(255,255,255,.12) !important; background: rgba(255,255,255,.05) !important; }
.svc-card { color: var(--c-text); border-color: rgba(255,255,255,.09) !important; background: #15161e !important; box-shadow: none !important; }
.svc-card__title { color: #dedee3 !important; }
.svc-card__text { color: #858591 !important; }

.blog-body { background: #08080c; }
.blog-body__content { max-width: 820px; color: #b2b2bc; }
.blog-body__content > * { max-width: 100%; }
.blog-body__content p, .blog-body__content li { color: #aaaab4 !important; font-size: clamp(15px,1.25vw,18px); line-height: 1.82; }
.blog-body__content h2 { margin-top: 2.1em; color: #eeeef1 !important; font-size: clamp(29px,3vw,43px); letter-spacing: -.045em; }
.blog-body__content h3 { margin-top: 1.8em; color: #dedee3 !important; font-size: clamp(21px,2vw,28px); }
.blog-body__content a { color: var(--c-accent); text-decoration: underline; text-underline-offset: 4px; }
.blog-body__content blockquote { margin-inline: 0; padding: 20px 24px; color: #c8c8d0; border-left: 2px solid var(--c-accent); background: rgba(255,255,255,.035); }
.blog-body__media { overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; }
.blog-body__meta { color: #777783; }

.contact-block { background: #08080c; }
.contact-cards { gap: 14px; }
.contact-card { border-radius: 18px; }
.contact-card__title { color: #dedee3; }
.contact-card__text { color: #858591; }
.contact-panel { overflow: hidden; border-radius: 26px; }
.contact-panel__map { filter: grayscale(1) invert(.88) contrast(.85) opacity(.72); }
.contact-panel__formWrap { background: #101117 !important; }

.about-solution, .about-approach { background: #08080c; }
.about-solution__media { overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 24px; background: #101117; }
.about-solution__media img, .about-approach__image img { filter: saturate(.55) brightness(.62) hue-rotate(10deg); }
.about-solution__title, .about-approach__title, .about-solution__cardTitle, .about-approach__itemTitle { color: var(--c-text) !important; }
.about-solution__text, .about-solution__cardText, .about-approach__itemText { color: #93939e !important; }
.about-approach__item { border-color: rgba(255,255,255,.08) !important; background: rgba(255,255,255,.025) !important; }

.legal-page { background: #08080c; }
.legal-page__inner { max-width: 840px; }
.legal-page__inner h2 { margin: 2.1em 0 .7em; color: #eeeef1; font-size: clamp(27px,3vw,40px); font-weight: 650; letter-spacing: -.045em; }
.legal-page__inner h2:first-child { margin-top: 0; }
.legal-page__inner h3 { margin: 1.6em 0 .45em; color: #dcdce2; font-size: 20px; }
.legal-page__inner p { color: #a1a1ac; font-size: clamp(15px,1.3vw,17px); line-height: 1.85; }
.legal-page__inner a { color: var(--c-accent); text-decoration: underline; text-underline-offset: 4px; }
.legal-page__prefs { min-height: 48px; margin: 10px 0 18px; padding: 12px 18px; color: #09090c; border: 0; border-radius: 999px; background: var(--c-accent); font-weight: 800; cursor: pointer; }

/* =========================================================
   Responsive system
   ========================================================= */
@media (max-width: 1180px) {
  .hero--home .hero__inner { grid-template-columns: minmax(0,1fr) minmax(380px,.86fr); gap: 44px; }
  .hero__floatingCard--one { left: -10px; }
  .hero__floatingCard--two { right: -10px; }
  .growth-map__flow { grid-template-columns: 1fr 42px 1fr 42px 1fr; padding-inline: 20px; }
  .growth-map__node { min-height: 145px; }
}

@media (max-width: 1020px) {
  .site-nav, .header__actions { display: none; }
  .header__inner { grid-template-columns: auto 1fr auto; min-height: 70px; }
  .nav-toggle { display: inline-flex; grid-column: 3; }
  .site-nav__panel { height: min(calc(88dvh - 28px),720px); }

  .hero--home { min-height: 0; padding-top: 78px; }
  .hero--home .hero__inner { grid-template-columns: 1fr; gap: 70px; }
  .hero--home .hero__content { max-width: 820px; }
  .hero--home .hero__title { max-width: 11ch; font-size: clamp(58px,9.3vw,88px); }
  .hero__visual { width: min(100%,680px); max-width: none; justify-self: center; }
  .signal-console { aspect-ratio: 1.12; }
  .hero__rail { margin-top: 80px; }

  .section-heading--split { grid-template-columns: 1fr; align-items: start; gap: 24px; }
  .section-heading--split .section-copy { max-width: 60ch; }

  .service-card--search, .service-card--social, .service-card--seo, .service-card--web { grid-column: span 6; }
  .our-services .service-card { min-height: 480px; }
  .service-card__visual--search, .service-card__visual--web { width: 53%; }

  .cta__surface { grid-template-columns: 1fr minmax(270px,.55fr); padding: 54px 44px; }
  .cta__radar { width: min(34vw,330px); }

  .growth-system { grid-template-columns: 1fr; }
  .growth-map { min-height: 530px; }

  .process-layout, .faq__layout { grid-template-columns: 1fr; gap: 58px; }
  .process-intro, .faq__head { position: relative; top: auto; }
  .process-intro .section-copy, .faq__head .section-copy { max-width: 60ch; }
  .process-intro__dial { position: absolute; right: 3%; bottom: 0; margin: 0; }
  .process-steps, .faq-acc { max-width: none; }

  .latest-posts__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .latest-posts .blog-card:last-child { display: none; }
  .u-cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }

  .footer__top { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 740px) {
  :root { --pad-x: 20px; }
  .section { padding-block: 82px; }
  .topbar__meta { display: none; }
  .topbar__inner { justify-content: center; min-height: 26px; }
  .topbar__text { font-size: 11px; text-align: center; }
  .header__logo { width: 76px; height: 38px; }

  .hero--home { padding-top: 64px; }
  .hero--home .hero__title { max-width: 10.5ch; margin-bottom: 22px; font-size: clamp(47px,13vw,69px); letter-spacing: -.065em; }
  .hero--home .hero__copy { font-size: 15px; line-height: 1.68; }
  .eyebrow { margin-bottom: 23px; font-size: 11px; }
  .eyebrow__code { display: none; }
  .hero--home .hero__actions { align-items: stretch; flex-direction: column; }
  .hero--home .hero__btn { width: 100%; }
  .hero__trust { margin-top: 32px; }
  .hero__visual { width: 100%; }
  .signal-console { aspect-ratio: .9; border-radius: 20px; }
  .signal-console__bar { height: 46px; }
  .signal-console__stage { height: calc(100% - 104px); }
  .signal-console__footer { height: 58px; }
  .signal-core { width: 112px; height: 112px; }
  .signal-core__mark { font-size: 40px; }
  .signal-core__orbit--two { inset: -47px; }
  .signal-core__dot--two { right: -49px; }
  .signal-node { min-width: 64px; padding: 7px 8px; }
  .signal-node--search, .signal-node--site { left: 4%; }
  .signal-node--media, .signal-node--data { right: 4%; }
  .signal-chart { width: 48%; }
  .hero__floatingCard { display: none; }
  .hero__rail { grid-template-columns: 1fr; gap: 14px; padding-block: 22px; }
  .hero__railTrack { overflow-x: auto; justify-content: flex-start; padding-bottom: 5px; scrollbar-width: none; }
  .hero__railTrack::-webkit-scrollbar { display: none; }
  .hero__railTrack span { white-space: nowrap; }

  .section-title { font-size: clamp(38px,10.5vw,54px); }
  .section-copy { font-size: 14px; line-height: 1.7; }
  .services-bento { grid-template-columns: 1fr; }
  .service-card--search, .service-card--social, .service-card--seo, .service-card--web { grid-column: auto; }
  .our-services .service-card { min-height: 450px; border-radius: 21px; }
  .service-card__link { padding: 25px; }
  .our-services .service-card__icon { margin-top: 42px; }
  .our-services .service-card__title { font-size: 34px; }
  .our-services .service-card__text { max-width: 65%; font-size: 12px; }
  .service-card__visual--search, .service-card__visual--web { width: 52%; opacity: .75; }
  .service-card__visual--seo { width: 42%; right: 14px; }
  .services-note { align-items: flex-start; flex-direction: column; }

  .cta__surface { min-height: 0; grid-template-columns: 1fr; padding: 43px 26px 34px; border-radius: 24px; }
  .cta__title { font-size: clamp(40px,11.5vw,56px); }
  .cta__radar { width: min(100%,300px); margin: 8px auto -40px; opacity: .72; }

  .growth-map { min-height: 0; }
  .growth-map__flow { grid-template-columns: 1fr; gap: 34px; padding: 52px 26px 34px; }
  .growth-map__node { width: 160px; min-height: 160px; justify-self: center; }
  .growth-map__connector { width: 1px; height: 34px; justify-self: center; background: rgba(255,255,255,.09); }
  .growth-map__connector i { left: -2px; animation: flowDotVertical 2.4s ease-in-out infinite; }
  .growth-map__channels { grid-template-columns: repeat(2,1fr); }
  .who-acc__btn { min-height: 90px; grid-template-columns: 26px 1fr auto; }
  .who-acc__panel p { margin-left: 40px; margin-right: 12px; }

  .process-intro__dial { display: none; }
  .process-steps .work-step { min-height: 0; grid-template-columns: 1fr; gap: 18px; padding: 32px 0 38px 30px; }
  .work-step__body { grid-template-columns: 42px 1fr; gap: 16px; }
  .process-steps .work-step__icon { width: 40px; height: 40px; }
  .process-steps .work-step__title { font-size: 27px; }
  .work-step__line { left: 7px; }

  .faq-acc__btn { min-height: 94px; grid-template-columns: 26px 1fr auto; gap: 10px; }
  .faq-acc__q { font-size: 16px; }
  .faq-acc__chev { width: 30px; height: 30px; }
  .faq-acc__text { margin: 0 35px 28px 36px; font-size: 12px; }

  .latest-posts__grid { grid-template-columns: 1fr; }
  .latest-posts .blog-card:last-child { display: block; }
  .latest-posts .blog-card { min-height: 0; }
  .latest-posts .blog-card__body { min-height: 260px; }

  .footer__top, .footer__servicesGrid { grid-template-columns: 1fr; }
  .footer__brand { grid-column: auto; }
  .footer__panel { padding-inline: 0; }
  .footer__bigText { columns: 1; }
  .footer__bottom { align-items: flex-start; flex-direction: column; }
  .footer-ticker__word { font-size: 62px; }

  .u-cards-grid { grid-template-columns: 1fr; }
  .hero--institutional, .hero--detail { min-height: 370px; padding-block: 72px; }
  .hero--institutional .hero__title, .hero--detail .hero__title { font-size: clamp(40px,11vw,58px); }
  .hero--detail .hero__actions { align-items: stretch; flex-direction: column; }
  .hero--detail .hero__actions .btn { width: 100%; }
  .service-body__grid { grid-template-columns: 1fr !important; }
}

@keyframes flowDotVertical { 0% { top: 0; opacity: 0; } 15%,80% { opacity: 1; } 100% { top: calc(100% - 5px); opacity: 0; } }

@media (max-width: 430px) {
  :root { --pad-x: 17px; }
  .hero--home .hero__title { font-size: 45px; }
  .hero__trustAvatars span { width: 27px; height: 27px; }
  .signal-console__label { display: none; }
  .signal-console__bar { grid-template-columns: 1fr 1fr; }
  .signal-console__status { grid-column: 2; }
  .signal-node span { display: none; }
  .signal-node { min-width: 0; width: 31px; height: 31px; padding: 0; justify-content: center; }
  .signal-console__footer strong { font-size: 8px; }
  .our-services .service-card__text { max-width: 76%; }
  .service-card__visual--social { opacity: .65; }
  .cta__actions { align-items: stretch; flex-direction: column; }
  .cta__btn { justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .topbar__pulse,
  .signal-console::before,
  .signal-core__orbit,
  .signal-node,
  .signal-chart__line,
  .signal-chart__fill,
  .hero__floatingCard,
  .social-orbit,
  .cta__radarRing,
  .cta__radarSweep,
  .growth-map__connector i,
  .growth-map__ticker div,
  .process-intro__dialRing,
  .process-intro__dialNeedle,
  .footer-ticker__track { animation: none !important; }
  .signal-chart__line { stroke-dashoffset: 0; }
  .signal-chart__fill { opacity: 1; }
  .signal-console__canvas { display: none; }
  .footer-ticker__track { transform: none !important; }
  .has-reveal [data-reveal] { opacity: 1; transform: none; }
}

@media (forced-colors: active) {
  .signal-console__canvas, .hero__ambient, .cta__radar { display: none; }
  .u-gradient-text, .service-cta__headingGrad { color: CanvasText !important; background: none !important; }
}

@media print {
  .top-surface, .site-footer, .float-whatsapp, .wpp-bar, .cookie, .cookie-modal, .lead-modal, .hero__ambient, .signal-console__canvas { display: none !important; }
  body, main, .section { color: #000 !important; background: #fff !important; }
  h1,h2,h3,h4,p,li { color: #000 !important; }
}
