:root {
  --blue: #36b5f5;
  --blue-dark: #047fc6;
  --ink: #02070b;
  --muted: #5f7180;
  --line: #d8e4eb;
  --paper: #f7fbfd;
  --white: #ffffff;
  --code-blue: #36b5f5;
  --shadow: 0 24px 70px rgba(7, 19, 29, 0.16);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Arial, Helvetica, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a {
  color: inherit;
  text-decoration: none;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 76px;
  padding: 6px clamp(18px, 4vw, 56px);
  background: rgba(247, 251, 253, 0.88);
  border-bottom: 1px solid rgba(216, 228, 235, 0.8);
  backdrop-filter: blur(18px);
}

.brand {
  display: inline-flex;
  align-items: center;
  min-width: 156px;
}

.brand img {
  display: block;
  width: 156px;
  height: 110px;
  object-fit: contain;
  object-position: left center;
}

.top-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 3vw, 34px);
  color: #314653;
  font-size: 15px;
  font-weight: 700;
}

.nav-cta {
  padding: 12px 16px;
  color: #00131f;
  background: var(--blue);
  border: 1px solid #00131f;
  border-radius: 8px;
  font-weight: 800;
}

.hero {
  position: relative;
  min-height: calc(100vh - 76px);
  display: grid;
  align-items: end;
  overflow: hidden;
  color: var(--white);
  background: #02070b;
}

.hero-stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

#codeRain {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.96;
  animation: codePulse 5s ease-in-out infinite alternate;
}

.hero-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2, 7, 11, 0.78), rgba(2, 7, 11, 0.08) 58%, rgba(2, 7, 11, 0.64)),
    linear-gradient(0deg, rgba(2, 7, 11, 0.92), rgba(2, 7, 11, 0.04) 46%, rgba(2, 7, 11, 0.2));
}

.project-reveal {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr 0.58fr;
  grid-template-rows: 1fr 0.74fr;
  gap: 18px;
  width: min(980px, 86vw);
  height: min(620px, 68vh);
  margin: auto clamp(18px, 6vw, 76px) auto auto;
  transform: translateY(18px);
  opacity: 0;
  filter: blur(16px);
  animation: revealProjects 8s ease-in-out infinite alternate;
}

.preview {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(94, 203, 255, 0.42);
  border-radius: 8px;
  background: rgba(245, 252, 255, 0.92);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.35);
}

.preview-primary {
  grid-row: 1 / 3;
}

.preview-secondary,
.preview-tertiary {
  align-self: stretch;
}

.preview-topbar,
.portal-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  color: #173342;
  background: #e8f7fd;
  border-bottom: 1px solid #cfe4ed;
  font-size: 13px;
}

.preview-topbar span,
.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ff6b6b;
}

.preview-topbar span:nth-child(2),
.dot:nth-child(2) {
  background: #ffcc55;
}

.preview-topbar span:nth-child(3),
.dot:nth-child(3) {
  background: #53d76a;
}

.preview-topbar strong,
.portal-toolbar strong {
  margin-left: 6px;
}

.portal-toolbar {
  background:
    linear-gradient(180deg, #f5fcff, #e2f5fc),
    radial-gradient(circle at 86% 0%, color-mix(in srgb, var(--preview-accent), transparent 72%), transparent 34%);
}

.preview-topbar em {
  margin-left: auto;
  padding: 4px 7px;
  border-radius: 5px;
  color: #066b96;
  background: #ccefff;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

.hero-app {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  height: calc(100% - 42px);
  color: var(--ink);
  background: #f5f8fa;
}

.hero-app > aside {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 18px;
  padding: 17px 10px;
  background: #081823;
}

.hero-app > aside b {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 7px;
  color: #02101a;
  background: var(--blue);
  font-size: 12px;
}

.hero-app > aside i {
  width: 25px;
  height: 25px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.12);
}

.hero-app > aside i:first-of-type {
  background: var(--blue);
}

.hero-app-main {
  min-width: 0;
  padding: 20px;
}

.hero-app-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.hero-app-title small {
  color: var(--muted);
  font-weight: 700;
}

.hero-app-title h3 {
  margin: 4px 0 0;
  font-size: 23px;
}

.hero-app-title button,
.mobile-frame button {
  border: 0;
  border-radius: 7px;
  padding: 10px 12px;
  color: #00131f;
  background: var(--blue);
  font: inherit;
  font-size: 11px;
  font-weight: 900;
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.hero-stats div {
  min-width: 0;
  padding: 13px;
  border: 1px solid #dbe7ed;
  border-radius: 7px;
  background: #fff;
}

.hero-stats small,
.hero-stats b,
.hero-stats span {
  display: block;
}

.hero-stats small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}

.hero-stats b {
  margin-top: 7px;
  font-size: 25px;
}

.hero-stats span {
  margin-top: 4px;
  color: #168558;
  font-size: 9px;
  font-weight: 800;
}

.hero-map {
  position: relative;
  min-height: 280px;
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid #cedfe7;
  border-radius: 8px;
  background:
    linear-gradient(37deg, transparent 46%, rgba(117, 148, 163, 0.18) 47% 49%, transparent 50%),
    linear-gradient(-28deg, transparent 44%, rgba(117, 148, 163, 0.16) 45% 48%, transparent 49%),
    linear-gradient(90deg, rgba(54, 181, 245, 0.1) 1px, transparent 1px),
    linear-gradient(rgba(54, 181, 245, 0.1) 1px, transparent 1px),
    #e8f1f4;
  background-size: auto, auto, 42px 42px, 42px 42px, auto;
}

.route {
  position: absolute;
  height: 5px;
  border-radius: 999px;
  background: var(--blue);
  box-shadow: 0 0 0 3px rgba(54, 181, 245, 0.2);
}

.route-one {
  width: 52%;
  left: 17%;
  top: 45%;
  transform: rotate(-15deg);
}

.route-two {
  width: 32%;
  left: 48%;
  top: 58%;
  transform: rotate(32deg);
}

.pin {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border: 3px solid #fff;
  border-radius: 50%;
  color: #00131f;
  background: var(--blue);
  box-shadow: 0 5px 14px rgba(7, 19, 29, 0.25);
  font-size: 9px;
  font-weight: 900;
}

.pin-one { left: 18%; top: 40%; }
.pin-two { left: 50%; top: 43%; }
.pin-three { left: 76%; top: 64%; }

.map-panel {
  position: absolute;
  right: 13px;
  top: 13px;
  width: 145px;
  padding: 12px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 26px rgba(7, 19, 29, 0.16);
}

.map-panel b,
.map-panel small,
.map-panel strong {
  display: block;
}

.map-panel small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 9px;
}

.map-panel strong {
  margin-top: 9px;
  color: var(--blue-dark);
  font-size: 12px;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 20px;
  color: var(--ink);
}

.metric,
.chart-bars,
.task-list {
  border: 1px solid #d4e6ef;
  border-radius: 8px;
  background: #fff;
}

.metric {
  padding: 18px;
}

.metric small {
  display: block;
  color: var(--muted);
  font-weight: 700;
}

.metric b {
  display: block;
  margin-top: 10px;
  font-size: clamp(30px, 5vw, 54px);
}

.chart-bars {
  grid-column: 1 / 3;
  display: flex;
  align-items: end;
  gap: 12px;
  height: 180px;
  padding: 18px;
}

.chart-bars i {
  flex: 1;
  border-radius: 8px 8px 2px 2px;
  background: linear-gradient(180deg, var(--blue), #047fc6);
}

.chart-bars i:nth-child(1) { height: 38%; }
.chart-bars i:nth-child(2) { height: 72%; }
.chart-bars i:nth-child(3) { height: 54%; }
.chart-bars i:nth-child(4) { height: 82%; }
.chart-bars i:nth-child(5) { height: 48%; }
.chart-bars i:nth-child(6) { height: 68%; }

.task-list {
  grid-column: 1 / 3;
  padding: 12px 18px;
}

.task-list p {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 12px 0;
  color: #24414f;
  font-weight: 700;
}

.task-list span {
  width: 12px;
  height: 12px;
  border-radius: 4px;
  background: var(--blue);
}

.mobile-frame {
  width: min(210px, 78%);
  height: calc(100% - 32px);
  margin: 16px auto;
  padding: 36px 18px 18px;
  color: var(--ink);
  background: #04111a;
  border: 8px solid #0a2535;
  border-radius: 28px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.phone-notch {
  width: 64px;
  height: 8px;
  margin: -20px auto 22px;
  border-radius: 999px;
  background: #324d5d;
}

.mobile-frame h3 {
  margin: 4px 0 14px;
  color: #fff;
  font-size: 16px;
}

.mobile-frame > small {
  color: #8eb4c8;
  font-size: 10px;
  font-weight: 800;
}

.driver-stop {
  display: grid;
  gap: 6px;
  min-height: 82px;
  padding: 13px;
  border-radius: 8px;
  color: #00131f;
  background: linear-gradient(135deg, var(--blue), #bcecff);
}

.driver-stop b {
  font-size: 25px;
}

.driver-stop span {
  font-size: 11px;
  font-weight: 800;
}

.mobile-frame button {
  width: 100%;
  margin-top: 10px;
}

.mobile-frame ul {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 18px 0 0;
  list-style: none;
}

.mobile-frame li {
  height: 20px;
  border-radius: 6px;
  background: #163243;
}

.activity-panel {
  height: 100%;
  padding: 18px;
  color: var(--ink);
}

.activity-panel > div {
  display: flex;
  justify-content: space-between;
  margin-bottom: 14px;
}

.activity-panel > div span {
  color: var(--blue-dark);
  font-size: 10px;
  font-weight: 900;
}

.activity-panel p {
  display: grid;
  grid-template-columns: 10px 1fr;
  gap: 4px 9px;
  margin: 0;
  padding: 12px 0;
  border-top: 1px solid #d9e7ed;
  color: var(--muted);
  font-size: 10px;
}

.activity-panel p i {
  grid-row: 1 / 3;
  width: 8px;
  height: 8px;
  margin-top: 3px;
  border-radius: 50%;
  background: var(--blue);
}

.activity-panel p strong {
  color: var(--ink);
}

.hero-content {
  position: relative;
  z-index: 2;
  width: min(760px, calc(100% - 36px));
  padding: 0 0 clamp(38px, 8vh, 82px) clamp(18px, 6vw, 76px);
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

h2,
h3,
p {
  overflow-wrap: anywhere;
}

h1 {
  margin: 0;
  max-width: min(940px, calc(100vw - 36px));
  overflow-wrap: normal;
  word-break: normal;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(44px, 8vw, 104px);
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: 0;
}

.hero-copy {
  width: min(620px, 100%);
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.5;
}

.hero-actions,
.prompt-actions,
.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 18px;
  border-radius: 8px;
  border: 1px solid transparent;
  font-weight: 800;
  line-height: 1.15;
  cursor: pointer;
}

.button-primary {
  color: #00131f;
  background: var(--blue);
  border-color: #00131f;
  box-shadow: 4px 4px 0 #00131f;
}

#generatePreview.is-loading {
  opacity: 0.72;
  pointer-events: none;
}

#generatePreview.is-loading span::after {
  content: " ...";
}

.generation-status {
  position: relative;
  align-self: start;
  margin-top: 2px;
  padding: 14px 16px 14px 48px;
  border: 1px solid;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
}

.generation-status[hidden] { display: none; }
.generation-status::before { position: absolute; left: 15px; top: 14px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font-size: 13px; font-weight: 900; }
.generation-status.error { color: #7c1f1f; border-color: #efb4b4; background: #fff1f1; }
.generation-status.error::before { content: "!"; color: #fff; background: #c93636; }
.generation-status.success { color: #155f43; border-color: #9dd8bd; background: #effbf5; }
.generation-status.success::before { content: "✓"; color: #fff; background: #168558; }

.generation-narrative {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #c8e3ee;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(54,181,245,.14), rgba(255,255,255,.96)),
    #fff;
  box-shadow: 0 12px 30px rgba(7,19,29,.07);
}

.generation-narrative[hidden] { display: none; }

.generation-narrative b {
  color: var(--blue-dark);
  font-size: 13px;
}

.generation-narrative p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
}

.button-secondary {
  color: var(--ink);
  background: #fff;
  border-color: #cbdde6;
}

.capability-section {
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
  gap: clamp(28px, 6vw, 82px);
  padding: clamp(64px, 9vw, 112px) clamp(18px, 6vw, 76px);
  background:
    radial-gradient(circle at 8% 8%, rgba(54,181,245,.22), transparent 34%),
    linear-gradient(135deg, #f8fcff, #eaf8fe);
  border-bottom: 1px solid #c8e8f5;
}

.capability-intro {
  align-self: start;
  position: sticky;
  top: 104px;
}

.capability-intro h2 {
  margin: 0;
  font-size: clamp(34px, 5vw, 66px);
  line-height: 1;
}

.capability-intro p:last-child {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}

.capability-grid {
  display: grid;
  gap: 14px;
}

.capability-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid #c5e3ef;
  border-radius: 8px;
  background: rgba(255,255,255,.8);
  box-shadow: 0 18px 48px rgba(7,19,29,.08);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.capability-card:hover,
.capability-card:focus-visible {
  transform: translateY(-3px);
  border-color: #8ad7f7;
  box-shadow: 0 24px 62px rgba(7,19,29,.12);
}

.capability-card span {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 2px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  background: var(--blue);
  font-family: "JetBrains Mono", monospace;
  font-weight: 900;
}

.capability-card h3 {
  margin: 0;
  font-size: clamp(24px, 3vw, 36px);
}

.capability-card p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
}

.capability-card b {
  display: inline-flex;
  margin-top: 6px;
  color: var(--blue-dark);
  font-size: 13px;
  text-transform: uppercase;
}

.generator-section,
.service-band,
.contact-section {
  padding: clamp(54px, 8vw, 100px) clamp(18px, 6vw, 76px);
  scroll-margin-top: 92px;
}

.section-heading {
  max-width: 780px;
}

h2 {
  margin: 0;
  font-size: clamp(34px, 5vw, 68px);
  line-height: 1.02;
  letter-spacing: 0;
}

.generator-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
  gap: 22px;
  margin-top: 34px;
  align-items: stretch;
}

.prompt-panel,
.portal-preview,
.steps article {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 10px 36px rgba(7, 19, 29, 0.07);
}

.prompt-panel {
  display: grid;
  align-content: start;
  gap: 16px;
  padding: clamp(18px, 3vw, 28px);
}

.ai-field {
  display: grid;
  gap: 14px;
  padding: 14px;
  border: 1px solid #b9d9e8;
  border-radius: 8px;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, var(--blue), #050505) border-box;
}

.ai-field-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.ai-field-head strong,
.ai-field-head small {
  display: block;
}

.ai-field-head strong {
  font-size: 18px;
}

.ai-field-head small {
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.45;
}

.ai-spark {
  display: inline-grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  color: #000;
  background: var(--blue);
  border: 2px solid #000;
  border-radius: 8px;
  font-family: "JetBrains Mono", monospace;
  font-weight: 800;
}

.prompt-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.prompt-chips button {
  border: 1px solid #c1dbe8;
  border-radius: 8px;
  padding: 9px 11px;
  color: #112b3a;
  background: #eef9fe;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

label {
  display: grid;
  gap: 8px;
  color: #243c49;
  font-weight: 800;
}

textarea,
input,
select {
  width: 100%;
  min-width: 0;
  border: 1px solid #cbdde6;
  border-radius: 8px;
  padding: 14px 15px;
  color: var(--ink);
  background: #fbfdfe;
  font: inherit;
  font-weight: 600;
}

textarea {
  resize: vertical;
  min-height: 164px;
}

textarea:focus,
input:focus,
select:focus {
  outline: 3px solid rgba(94, 203, 255, 0.34);
  border-color: var(--blue-dark);
}

.field-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.portal-preview {
  position: relative;
  overflow: hidden;
  min-height: 480px;
  --preview-accent: var(--blue);
  --preview-dark: #07131d;
}

.portal-preview::before {
  content: "";
  position: absolute;
  z-index: 6;
  left: 120px;
  top: 160px;
  width: 28px;
  height: 28px;
  opacity: 0;
  pointer-events: none;
  background:
    linear-gradient(45deg, #00131f 0 48%, transparent 49%) 0 0 / 20px 20px no-repeat,
    radial-gradient(circle at 20px 20px, #fff 0 4px, transparent 5px);
  filter: drop-shadow(0 8px 10px rgba(0,0,0,.28));
}

.portal-preview.is-demoing::before {
  opacity: 1;
  animation: demoCursor 2.72s ease-in-out both;
}

.portal-preview.is-demoing .portal-main {
  animation: demoPreviewResolve 2.72s ease both;
}

.portal-preview.is-demoing .portal-sidebar nav button {
  transition: background 220ms ease, color 220ms ease, transform 220ms ease;
}

.portal-preview::after {
  content: "Interaktiv jetzt selbst testen";
  position: absolute;
  z-index: 7;
  left: 50%;
  top: 50%;
  width: min(370px, calc(100% - 48px));
  min-height: 48px;
  display: grid;
  place-items: center;
  padding: 0 22px;
  border: 1px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  background: linear-gradient(135deg, #fff 0%, color-mix(in srgb, var(--preview-accent), #fff 22%) 100%);
  box-shadow: 0 20px 48px rgba(7,19,29,.2);
  font-size: 14px;
  font-weight: 900;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.9);
  pointer-events: none;
  transition: opacity 220ms ease, transform 220ms ease;
}

.portal-preview.demo-cta-show::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.portal-preview.is-demoing::after {
  opacity: 0;
  transform: translate(-50%, -50%) scale(.92);
}

.portal-preview.ai-refined {
  animation: aiRefined 680ms ease both;
}

.portal-preview.is-generating .portal-main {
  position: relative;
}

.portal-preview.is-generating .portal-main > * {
  opacity: 0.24;
}

.portal-preview.is-generating .portal-main::before,
.portal-preview.is-generating .portal-main::after {
  content: "";
  position: absolute;
  z-index: 4;
  pointer-events: none;
}

.portal-preview.is-generating .portal-main::before {
  inset: 18px;
  border: 1px solid color-mix(in srgb, var(--preview-accent), #ffffff 34%);
  border-radius: 8px;
  background:
    linear-gradient(110deg, transparent 0 32%, rgba(255,255,255,.78) 46%, transparent 60%) 0 0 / 220% 100%,
    repeating-linear-gradient(180deg, rgba(54,181,245,.14) 0 12px, rgba(2,7,11,.04) 12px 24px),
    rgba(255,255,255,.86);
  box-shadow: 0 18px 55px rgba(7,19,29,.12);
  animation: previewScan 1.25s linear infinite;
}

.portal-preview.is-generating .portal-main::after {
  top: 50%;
  left: 50%;
  width: 58px;
  height: 58px;
  border: 5px solid rgba(54,181,245,.24);
  border-top-color: var(--preview-accent);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: previewSpin 900ms linear infinite;
}

.portal-body {
  position: relative;
  display: grid;
  grid-template-columns: 152px minmax(0, 1fr);
  min-height: calc(100% - 42px);
  color: var(--ink);
  background:
    radial-gradient(circle at 84% 12%, color-mix(in srgb, var(--preview-accent), transparent 78%), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f4fbff 48%, #edf6fa 100%);
}

.portal-preview.is-generating .portal-body::after {
  content: "Portalvorschau wird generiert";
  position: absolute;
  z-index: 5;
  top: 50%;
  left: calc(152px + (100% - 152px) / 2);
  width: min(360px, calc(100% - 210px));
  color: #00131f;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 900;
  text-align: center;
  transform: translate(-50%, 48px);
}

.portal-login-screen {
  position: absolute;
  inset: 42px 0 0;
  z-index: 8;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 42px);
  background:
    radial-gradient(circle at 76% 22%, color-mix(in srgb, var(--preview-accent), transparent 58%), transparent 32%),
    linear-gradient(135deg, color-mix(in srgb, var(--preview-dark), #1d3240 18%), var(--preview-dark) 54%, #02070b);
  transition: opacity 260ms ease, transform 260ms ease, visibility 260ms ease;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px) scale(.985);
  pointer-events: none;
}

.portal-preview.show-login:not(.is-generating):not(.is-logged-in) .portal-login-screen {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
}

.portal-login-card {
  width: min(390px, 100%);
  display: grid;
  gap: 16px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.06));
  box-shadow: 0 28px 80px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.1);
  backdrop-filter: blur(12px);
}

.portal-login-brand {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin-bottom: 8px;
}

.portal-login-brand img,
.portal-login-brand > span {
  grid-row: 1;
  grid-column: 1;
  width: 48px;
  height: 48px;
  border-radius: 8px;
}

.portal-login-brand img {
  display: none;
  object-fit: contain;
  background: #fff;
}

.portal-login-brand > span {
  display: grid;
  place-items: center;
  color: #00131f;
  background: var(--preview-accent);
  font-weight: 900;
}

.portal-login-brand b {
  display: block;
  font-size: 18px;
}

.portal-login-brand small {
  color: rgba(255,255,255,.68);
  font-weight: 800;
}

.portal-login-card label {
  display: grid;
  gap: 8px;
  color: rgba(255,255,255,.78);
  font-size: 12px;
  font-weight: 900;
}

.portal-login-card input {
  min-height: 48px;
  border-color: rgba(255,255,255,.18);
  color: #fff;
  background: rgba(255,255,255,.1);
}

.portal-login-card button {
  min-height: 50px;
  border: 1px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  background: linear-gradient(135deg, #fff, var(--preview-accent));
  box-shadow: 5px 5px 0 #00131f;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.portal-sidebar {
  display: grid;
  grid-template-rows: auto auto minmax(20px, 1fr) auto auto;
  align-content: stretch;
  gap: 15px;
  padding: 22px 16px;
  background:
    radial-gradient(circle at 28% 0%, color-mix(in srgb, var(--preview-accent), transparent 60%), transparent 32%),
    linear-gradient(180deg, color-mix(in srgb, var(--preview-dark), #163245 22%), var(--preview-dark) 52%, #02070b);
  color: #fff;
}

.preview-brand {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
  margin-bottom: 8px;
}

.preview-brand img,
.preview-brand > span {
  grid-row: 1;
  grid-column: 1;
  width: 36px;
  height: 36px;
  border-radius: 7px;
}

.preview-brand img {
  display: none;
  object-fit: contain;
  background: #fff;
}

.preview-brand > span {
  display: grid;
  place-items: center;
  color: #00131f;
  background: var(--preview-accent);
  font-weight: 900;
}

.preview-brand b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portal-sidebar nav {
  display: grid;
  align-content: start;
  gap: 7px;
  min-height: 0;
}

.portal-sidebar nav button {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 36px;
  display: flex;
  align-items: center;
  padding: 0 28px 0 10px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 7px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255,255,255,.08));
  color: rgba(255, 255, 255, 0.82);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  transition: color 160ms ease, background 160ms ease, transform 160ms ease;
}

.portal-sidebar nav button::after {
  content: "›";
  position: absolute;
  right: 10px;
  color: currentColor;
  opacity: .52;
  font-size: 18px;
  line-height: 1;
  transform: translateX(-3px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.portal-sidebar nav button:hover { background: rgba(255, 255, 255, 0.2); transform: translateX(2px); }
.portal-sidebar nav button:hover::after,
.portal-sidebar nav button.active::after { opacity: 1; transform: translateX(0); }
.portal-sidebar nav button:focus-visible { outline: 2px solid var(--preview-accent); outline-offset: 2px; }

.portal-sidebar nav button.active {
  color: #00131f;
  background: linear-gradient(135deg, #fff, var(--preview-accent));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--preview-accent), transparent 72%);
}

.preview-settings-wrap {
  grid-row: 4;
  align-self: end;
  position: relative;
  display: grid;
  justify-items: start;
}

.preview-settings {
  justify-self: start;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(135deg, rgba(255,255,255,.15), rgba(255,255,255,.05));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  font-size: 18px;
  cursor: pointer;
}

.preview-settings-menu {
  position: absolute;
  left: 0;
  bottom: calc(100% + 10px);
  z-index: 12;
  width: 184px;
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(145deg, rgba(11,25,35,.96), rgba(4,10,14,.98));
  box-shadow: 0 18px 46px rgba(0,0,0,.28);
}

.preview-settings-menu[hidden] { display: none; }

.preview-settings-menu label {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  font-size: 11px;
  font-weight: 900;
}

.portal-preview.light-mode {
  --preview-dark: #eef7fb;
}

.portal-preview.light-mode .portal-sidebar {
  color: #00131f;
  background: linear-gradient(180deg, #f8fcff, color-mix(in srgb, var(--preview-accent), #ffffff 86%));
}

.portal-preview.light-mode .portal-sidebar nav button,
.portal-preview.light-mode .preview-settings,
.portal-preview.light-mode .preview-user {
  color: #00131f;
  border-color: rgba(0,19,31,.12);
  background: rgba(255,255,255,.74);
}

.portal-preview.light-mode .preview-user small {
  color: rgba(0,19,31,.58);
}

.preview-settings:hover,
.preview-settings:focus-visible {
  color: #00131f;
  background: linear-gradient(135deg, #fff, var(--preview-accent));
  outline: none;
}

.preview-user {
  grid-row: 5;
  align-self: end;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  margin-top: 20px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.05));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.preview-user > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #00131f;
  background: linear-gradient(135deg, #fff, var(--preview-accent));
  font-weight: 900;
}

.preview-user div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.preview-user b {
  font-size: 11px;
}

.preview-user small {
  min-width: 0;
  overflow: hidden;
  color: rgba(255,255,255,.68);
  font-size: 10px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portal-main {
  padding: clamp(22px, 4vw, 44px);
  background:
    linear-gradient(135deg, rgba(255,255,255,.84), rgba(255,255,255,.56)),
    radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--preview-accent), transparent 80%), transparent 28%);
  transition: filter 260ms ease, background 260ms ease;
}

.portal-preview:not(.ai-refined) .portal-main {
  filter: saturate(.94);
}

.portal-preview.ai-refined .portal-main {
  filter: saturate(1.08) contrast(1.02);
}

.portal-main.ai-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "head" "summary" "image" "metrics" "visual" "modules";
  gap: 18px;
  align-content: start;
  background-position: center;
  background-size: cover;
}

.portal-main.ai-layout > .preview-page-head { grid-area: head; }
.portal-main.ai-layout > .ai-output { grid-area: summary; }
.portal-main.ai-layout > .preview-image-panel { grid-area: image; }
.portal-main.ai-layout > .preview-metrics { grid-area: metrics; }
.portal-main.ai-layout > .live-mockup { grid-area: visual; }
.portal-main.ai-layout > .module-grid { grid-area: modules; }
.portal-main.ai-layout > .ai-output,
.portal-main.ai-layout > .preview-metrics,
.portal-main.ai-layout > .live-mockup,
.portal-main.ai-layout > .module-grid { margin: 0; }

.portal-main.ai-layout.layout-split {
  grid-template-columns: minmax(0, 1.05fr) minmax(180px, .75fr);
  grid-template-areas: "head head" "summary image" "metrics image" "visual visual" "modules modules";
}

.portal-main.ai-layout.layout-focus {
  grid-template-columns: minmax(0, 1.4fr) minmax(180px, .6fr);
  grid-template-areas: "head head" "summary summary" "visual visual" "metrics image" "modules modules";
}

.portal-main.ai-layout.layout-board {
  grid-template-columns: minmax(0, 1.3fr) minmax(190px, .7fr);
  grid-template-areas: "head head" "summary metrics" "visual modules" "image modules";
}

.portal-main.ai-layout.layout-report {
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  grid-template-areas: "head head" "summary metrics" "image visual" "modules modules";
}

.preview-image-panel {
  display: none;
  min-height: 190px;
  overflow: hidden;
  border: 1px solid #d2e4ec;
  border-radius: 8px;
  background-color: #e9f1f5;
  background-position: center;
  background-size: cover;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.45), 0 18px 46px rgba(7,19,29,.1);
}

.portal-main:not(.image-none) > .preview-image-panel { display: block; }
.portal-main.image-hero > .preview-image-panel { min-height: 250px; }
.portal-main.image-side > .preview-image-panel { min-height: 100%; }
.portal-main.image-background {
  background-image: linear-gradient(rgba(255,255,255,.91), rgba(255,255,255,.97)), var(--page-reference-image);
}
.portal-main.image-background > .preview-image-panel { display: none; }
.portal-main:is(.image-none, .image-background).layout-split { grid-template-areas: "head head" "summary summary" "metrics metrics" "visual visual" "modules modules"; }
.portal-main:is(.image-none, .image-background).layout-focus { grid-template-areas: "head head" "summary summary" "visual visual" "metrics metrics" "modules modules"; }
.portal-main:is(.image-none, .image-background).layout-board { grid-template-areas: "head head" "summary metrics" "visual modules"; }
.portal-main:is(.image-none, .image-background).layout-report { grid-template-areas: "head head" "summary metrics" "visual visual" "modules modules"; }

.portal-kicker {
  display: inline-flex;
  padding: 8px 10px;
  border-radius: 8px;
  color: #014364;
  background: color-mix(in srgb, var(--preview-accent), #ffffff 82%);
  font-size: 13px;
  font-weight: 800;
}

.preview-page-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}

.preview-page-head h3 {
  margin: 18px 0 12px;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(25px, 2.8vw, 38px);
  line-height: 1.02;
}

.preview-action {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 9px 12px;
  border: 0;
  border-radius: 7px;
  color: #00131f;
  background: var(--preview-accent);
  font: inherit;
  font-size: 12px;
  font-weight: 900;
}

.portal-main p.ai-output {
  max-width: 560px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.6;
}

.preview-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.preview-metrics div { display: grid; gap: 5px; min-width: 0; padding: 13px; border: 1px solid rgba(216,229,235,.9); border-radius: 7px; background: linear-gradient(180deg, rgba(255,255,255,.96), color-mix(in srgb, var(--preview-accent), #ffffff 94%)); box-shadow: 0 10px 28px rgba(7, 19, 29, 0.07); }
.preview-metrics small { color: var(--muted); font-size: 10px; font-weight: 800; }
.preview-metrics b { font-size: clamp(18px, 2vw, 26px); white-space: nowrap; }
.preview-metrics span { color: #168558; font-size: 10px; font-weight: 900; }

.module-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}

.module-grid span {
  min-height: 84px;
  display: grid;
  align-content: end;
  gap: 6px;
  padding: 14px;
  border: 1px solid #d2e4ec;
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), color-mix(in srgb, var(--preview-accent), #ffffff 82%)),
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--preview-accent), transparent 72%), transparent 40%);
  box-shadow: 0 12px 32px rgba(7,19,29,.07);
  font-weight: 800;
}

.module-grid span small {
  color: color-mix(in srgb, var(--preview-accent), #00131f 42%);
  font-size: 10px;
  font-weight: 900;
}

.module-grid span b {
  color: var(--ink);
  font-size: 15px;
}

.module-grid span em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.35;
}

.live-mockup {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 14px;
  margin-top: 24px;
}

.preview-visual-stage,
.live-feed {
  border: 1px solid #d2e4ec;
  border-radius: 8px;
  background: linear-gradient(145deg, #ffffff, #f0f8fc);
  box-shadow: 0 14px 36px rgba(7,19,29,.08);
}

.preview-visual-stage { position: relative; min-height: 210px; overflow: hidden; background: #eef4f7; }
.preview-visual-stage::after { content: ""; position: absolute; inset: 0; z-index: 0; opacity: 0.2; background-image: var(--reference-image); background-size: cover; background-position: center; pointer-events: none; }
.activity-chart { position: relative; z-index: 1; height: 210px; display: flex; align-items: end; gap: 12px; padding: 24px; }
.activity-chart i { flex: 1; border-radius: 7px 7px 2px 2px; background: linear-gradient(180deg, var(--preview-accent), var(--preview-dark)); }

.horizontal-bars {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 16px;
  min-height: 210px;
  padding: 24px;
}

.horizontal-bars span {
  position: relative;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 10px;
  color: #233845;
  font-size: 11px;
  font-weight: 900;
}

.horizontal-bars i {
  height: 16px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--preview-dark), var(--preview-accent));
  box-shadow: 0 8px 18px color-mix(in srgb, var(--preview-accent), transparent 72%);
}

.horizontal-bars em {
  color: var(--blue-dark);
  font-style: normal;
}

.line-visual {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 130px;
  gap: 14px;
  align-items: center;
  min-height: 210px;
  padding: 18px;
}

.line-visual svg {
  width: 100%;
  min-width: 0;
}

.line-area { fill: url(#lineFill); }
.line-path { fill: none; stroke: var(--preview-accent); stroke-width: 8; stroke-linecap: round; filter: drop-shadow(0 8px 12px color-mix(in srgb, var(--preview-accent), transparent 72%)); }
.line-visual circle { r: 7; fill: #fff; stroke: var(--preview-accent); stroke-width: 5; }
.line-visual div { display: grid; gap: 5px; padding: 16px; border-radius: 8px; color: #fff; background: linear-gradient(145deg, var(--preview-dark), color-mix(in srgb, var(--preview-dark), var(--preview-accent) 26%)); }
.line-visual b, .line-visual small { color: #b9d0dc; font-size: 10px; }
.line-visual strong { font-size: 28px; }

.donut-visual {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  min-height: 210px;
  padding: 24px;
}

.donut-ring {
  display: grid;
  place-items: center;
  align-content: center;
  width: 138px;
  height: 138px;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #fff 0 48%, transparent 49%),
    conic-gradient(var(--preview-accent) 0 266deg, #d8e5eb 266deg 360deg);
  box-shadow: inset 0 0 0 1px #d8e5eb, 0 14px 32px rgba(7,19,29,.09);
}

.donut-ring b { font-size: 30px; }
.donut-ring small { color: var(--muted); font-size: 9px; font-weight: 900; }
.donut-list { display: grid; gap: 12px; }
.donut-list span { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 10px; border-radius: 7px; background: rgba(255,255,255,.78); font-size: 10px; font-weight: 900; }
.donut-list i { width: 10px; height: 10px; border-radius: 3px; background: var(--preview-accent); }

.timeline-visual {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 12px;
  min-height: 210px;
  padding: 22px;
}

.timeline-visual article {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 8px 20px rgba(7,19,29,.06);
}

.timeline-visual article::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--preview-accent);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--preview-accent), transparent 78%);
}

.timeline-visual b { grid-column: 1; grid-row: 1; color: var(--blue-dark); font-size: 10px; }
.timeline-visual span { grid-column: 2; grid-row: 1; color: #233845; font-size: 11px; font-weight: 900; }

.route-map { position: relative; z-index: 1; height: 210px; background: repeating-linear-gradient(34deg, transparent 0 34px, rgba(77, 112, 128, 0.14) 35px 37px), rgba(232, 240, 243, 0.74); }
.map-road { position: absolute; height: 5px; border-radius: 99px; background: var(--preview-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--preview-accent), transparent 80%); }
.map-road.r1 { width: 58%; left: 10%; top: 46%; transform: rotate(-12deg); }
.map-road.r2 { width: 40%; left: 49%; top: 58%; transform: rotate(31deg); }
.map-pin { position: absolute; z-index: 2; display: grid; place-items: center; width: 28px; height: 28px; border: 3px solid #fff; border-radius: 50%; color: #00131f; background: var(--preview-accent); font-size: 10px; box-shadow: 0 6px 15px rgba(7,19,29,.2); }
.map-pin.p1 { left: 12%; top: 40%; } .map-pin.p2 { left: 51%; top: 42%; } .map-pin.p3 { left: 82%; top: 70%; }
.map-status { position: absolute; z-index: 2; right: 12px; top: 12px; display: grid; gap: 4px; padding: 12px; border-radius: 7px; background: rgba(255,255,255,.94); box-shadow: 0 10px 28px rgba(7,19,29,.14); }
.map-status small { color: var(--muted); font-size: 9px; } .map-status strong { font-size: 18px; } .map-status span { color: #168558; font-size: 9px; font-weight: 900; }

.pipeline-board { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; min-height: 210px; padding: 14px; }
.pipeline-board section { min-width: 0; padding: 10px; border-radius: 7px; background: #eef4f7; }
.pipeline-board section > b { display: block; margin-bottom: 9px; color: #38505e; font-size: 10px; }
.pipeline-board span { display: grid; gap: 4px; margin-top: 7px; padding: 9px; border-left: 3px solid var(--preview-accent); border-radius: 5px; background: #fff; font-size: 10px; font-weight: 900; box-shadow: 0 5px 14px rgba(7,19,29,.06); }
.pipeline-board small { color: var(--muted); font-size: 8px; }

.risk-visual { position: relative; z-index: 1; display: grid; grid-template-columns: 140px 1fr; align-items: center; gap: 20px; min-height: 210px; padding: 24px; }
.risk-ring { display: grid; place-items: center; align-content: center; width: 128px; height: 128px; border: 16px solid color-mix(in srgb, var(--preview-accent), #dfeaf0 62%); border-right-color: var(--preview-accent); border-radius: 50%; background: #fff; }
.risk-ring b { font-size: 30px; } .risk-ring small { color: var(--muted); font-size: 8px; }
.risk-bars { display: grid; gap: 14px; }
.risk-bars span { position: relative; height: 26px; border-radius: 6px; background: #dfe8ed; overflow: hidden; }
.risk-bars i { display: block; height: 100%; background: var(--preview-accent); }
.risk-bars b { position: absolute; inset: 0; display: flex; align-items: center; padding-left: 9px; font-size: 9px; }

.booking-visual { position: relative; z-index: 1; padding: 18px; }
.calendar-strip { display: grid; grid-template-columns: repeat(5,1fr); gap: 6px; }
.calendar-strip b { display: grid; place-items: center; gap: 5px; padding: 8px; border-radius: 6px; color: var(--muted); background: #fff; font-size: 8px; }
.calendar-strip em { color: var(--ink); font-size: 16px; font-style: normal; }
.calendar-strip .selected { color: #00131f; background: var(--preview-accent); }
.booking-slots { display: grid; gap: 7px; margin-top: 12px; }
.booking-slots span { padding: 9px 10px; border-left: 3px solid var(--preview-accent); border-radius: 5px; background: #fff; color: #38505e; font-size: 9px; }
.booking-slots b { margin-right: 8px; color: var(--ink); }

.timesheet-visual { position: relative; z-index: 1; display: grid; grid-template-columns: .86fr 1.14fr; min-height: 210px; padding: 18px; gap: 14px; }
.week-total, .timer-card { display: grid; align-content: center; gap: 7px; padding: 18px; border-radius: 7px; color: #fff; background: var(--preview-dark); }
.week-total small, .timer-card small { color: #a8c0ce; font-size: 9px; font-weight: 800; }
.week-total strong, .timer-card strong { font-size: clamp(24px, 3vw, 34px); }
.week-total button, .timer-card button { justify-self: start; border: 0; border-radius: 6px; padding: 7px 9px; color: #00131f; background: var(--preview-accent); font: inherit; font-size: 9px; font-weight: 900; }
.time-projects, .day-entries { display: grid; align-content: center; gap: 7px; }
.time-projects span, .day-entries span { display: flex; justify-content: space-between; gap: 8px; padding: 10px; border: 1px solid #d6e3e9; border-radius: 6px; background: #fff; font-size: 9px; }
.time-projects em { color: var(--blue-dark); font-style: normal; font-weight: 900; }

.preview-table { position: relative; z-index: 1; display: grid; align-content: start; min-height: 210px; padding: 12px; }
.preview-table-row { display: grid; grid-template-columns: 1.35fr 1fr 1fr .9fr; min-width: 0; border-bottom: 1px solid #dce7ec; background: rgba(255,255,255,.9); }
.preview-table-row:last-child { border-bottom: 0; }
.preview-table-row.head { color: #536b78; background: #e4eef3; }
.preview-table-row b, .preview-table-row span { min-width: 0; overflow: hidden; padding: 10px 8px; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.preview-table-row .status { color: #087a53; font-weight: 900; }

.task-board { position: relative; z-index: 1; display: grid; align-content: center; gap: 7px; min-height: 210px; padding: 14px; }
.task-board label { display: grid; grid-template-columns: 20px minmax(0,1fr); align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid #d6e3e9; border-radius: 6px; background: #fff; }
.task-board input { width: 16px; height: 16px; margin: 0; accent-color: var(--preview-accent); }
.task-board span { display: grid; gap: 2px; }
.task-board b { font-size: 10px; }
.task-board small { color: var(--muted); font-size: 8px; }

.analytics-view { position: relative; z-index: 1; display: grid; grid-template-columns: 1.35fr .65fr; gap: 16px; min-height: 210px; padding: 20px; }
.analytics-bars { display: flex; align-items: end; gap: 9px; }
.analytics-bars i { flex: 1; border-radius: 6px 6px 2px 2px; background: linear-gradient(180deg, var(--preview-accent), var(--preview-dark)); }
.analytics-legend { display: grid; align-content: center; gap: 8px; }
.analytics-legend span { color: var(--muted); font-size: 8px; font-weight: 800; }
.analytics-legend span i { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 2px; background: var(--preview-accent); }
.analytics-legend strong { font-size: 28px; }
.analytics-legend small { color: #168558; font-size: 8px; font-weight: 900; }

.time-entry-view { position: relative; z-index: 1; display: grid; grid-template-columns: .8fr 1.2fr; gap: 12px; min-height: 210px; padding: 14px; }
.timer-card span { color: #d6e5ec; font-size: 8px; }
.day-entries > b { font-size: 10px; }
.day-entries span { display: grid; grid-template-columns: .8fr 1fr auto; align-items: center; }
.day-entries i { color: var(--muted); font-size: 8px; font-style: normal; }
.day-entries strong { font-size: 9px; }

.tab-changing .portal-main > :not(.preview-page-head) { animation: tabContentIn 240ms ease both; }

@keyframes tabContentIn {
  from { opacity: .35; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes aiRefined {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--preview-accent), transparent 28%); }
  45% { box-shadow: 0 0 0 5px color-mix(in srgb, var(--preview-accent), transparent 44%), 0 18px 52px rgba(7, 19, 29, .14); }
  100% { box-shadow: 0 10px 36px rgba(7, 19, 29, .07); }
}

.live-feed {
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 14px;
}

.live-feed span {
  min-height: 30px;
  display: flex;
  align-items: center;
  padding: 7px 9px;
  border-radius: 7px;
  color: #243c49;
  background: #eef6fa;
  font-size: 12px;
  font-weight: 800;
}

.case-section {
  margin-top: clamp(34px, 6vw, 70px);
}

.case-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 18px;
}

.case-heading h3 {
  margin: 0;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.05;
}

.case-controls {
  display: flex;
  gap: 10px;
}

.case-controls button {
  width: 44px;
  height: 44px;
  border: 1px solid #b9d7e5;
  border-radius: 999px;
  color: var(--ink);
  background: #fff;
  font-size: 20px;
  font-weight: 900;
  box-shadow: 0 10px 26px rgba(7, 19, 29, 0.07);
  cursor: pointer;
}

.case-controls button:hover {
  color: #00131f;
  background: var(--blue);
}

.case-carousel {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 32px) / 3);
  gap: 16px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 2px 2px 18px;
  scrollbar-width: thin;
}

.case-card {
  display: block;
  overflow: hidden;
  scroll-snap-align: start;
  border: 1px solid #c9dce5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(7, 19, 29, 0.08);
}

.case-card:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }

.case-visual {
  position: relative;
  min-height: 250px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #030608;
}

.case-visual img {
  width: 100%;
  height: 100%;
  max-height: 260px;
  object-fit: cover;
  filter: blur(7px) saturate(0.78) brightness(0.78);
  transform: scale(1.06);
  transition: filter 320ms ease, transform 320ms ease;
}

.case-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(3, 6, 8, 0.08), rgba(3, 6, 8, 0.8)),
    repeating-linear-gradient(90deg, rgba(54, 181, 245, 0.18) 0 1px, transparent 1px 13px);
  transition: opacity 320ms ease;
}

.case-code {
  position: absolute;
  inset: 18px;
  z-index: 2;
  display: flex;
  align-items: end;
  color: var(--code-blue);
  font-family: "JetBrains Mono", monospace;
  font-size: 14px;
  line-height: 1.65;
  text-shadow: 0 0 12px rgba(54, 181, 245, 0.65);
  transition: opacity 320ms ease, transform 320ms ease;
}

.case-card:hover .case-visual img,
.case-card:focus-within .case-visual img {
  filter: blur(0) saturate(1) brightness(1);
  transform: scale(1);
}

.case-card:hover .case-visual::after,
.case-card:focus-within .case-visual::after,
.case-card:hover .case-code,
.case-card:focus-within .case-code {
  opacity: 0;
}

.case-card:hover .case-code,
.case-card:focus-within .case-code {
  transform: translateY(12px);
}

.case-copy {
  padding: 20px;
}

.case-copy span {
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.case-copy h4 {
  margin: 8px 0 8px;
  font-size: 24px;
}

.case-copy p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.case-copy .case-link { display: inline-flex; margin-top: 16px; color: var(--ink); font-size: 13px; transition: transform 180ms ease; }
.case-card:hover .case-link { transform: translateX(4px); }

.case-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0;
}

.case-facts strong {
  display: grid;
  gap: 3px;
  min-height: 68px;
  align-content: center;
  padding: 10px;
  border: 1px solid #d3e4ec;
  border-radius: 7px;
  color: var(--muted);
  background: #f4fafc;
  font-size: 11px;
}

.case-facts b {
  color: var(--ink);
  font-size: 18px;
}

.immofolio-visual {
  gap: 12px;
  padding: 24px;
  background:
    radial-gradient(circle at 72% 18%, rgba(45, 212, 191, .32), transparent 34%),
    linear-gradient(135deg, #03151d, #020617 64%);
}

.immofolio-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  opacity: .52;
  filter: blur(3px) saturate(.95) brightness(.76);
}

.risk-board,
.crm-board {
  position: relative;
  z-index: 1;
  width: min(260px, 90%);
  padding: 16px;
  border: 1px solid rgba(94, 203, 255, 0.34);
  border-radius: 8px;
  color: #e8fbff;
  background: rgba(2, 6, 23, 0.72);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.26);
}

.risk-board b,
.crm-board b {
  display: block;
  margin-bottom: 12px;
}

.risk-board strong {
  display: block;
  margin-bottom: 10px;
  color: #2dd4bf;
  font-size: 46px;
  line-height: 1;
}

.risk-board span {
  display: block;
  min-height: 18px;
  margin-top: 9px;
  padding: 8px 10px;
  border-radius: 5px;
  color: #03151d;
  background: linear-gradient(90deg, #36b5f5, #78f4ce);
  font-size: 12px;
  font-weight: 900;
}

.risk-board span:nth-child(3) { width: 72%; }
.risk-board span:nth-child(4) { width: 46%; }

.crm-visual {
  background: linear-gradient(135deg, #050505, #102b3a);
}

.crm-board {
  display: grid;
  gap: 10px;
}

.crm-board div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.field-visual,
.sales-visual,
.predictor-visual,
.scanner-visual {
  padding: 24px;
}

.field-visual { background: radial-gradient(circle at 25% 20%, #36b5f5, #06131b 58%); }
.sales-visual { background: linear-gradient(135deg, #04131c, #0f766e); }
.predictor-visual {
  background:
    radial-gradient(circle at 78% 18%, rgba(111, 255, 209, .36), transparent 34%),
    linear-gradient(135deg, #05070b, #101827 58%, #051510);
}
.predictor-visual img {
  position: absolute;
  inset: 0;
  max-height: none;
  opacity: .62;
}
.scanner-visual { background: linear-gradient(135deg, #050505, #21495c); }

.field-board,
.sales-board,
.predictor-board,
.scanner-board {
  position: relative;
  z-index: 1;
  width: min(260px, 92%);
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
  color: #eaf9ff;
  background: rgba(2, 10, 16, .74);
  box-shadow: 0 22px 50px rgba(0,0,0,.28);
}

.field-board b,
.sales-board b,
.predictor-board b,
.scanner-board b {
  font-size: 18px;
}

.field-board span,
.sales-board span,
.scanner-board span {
  display: block;
  padding: 9px 10px;
  border-radius: 6px;
  color: #073042;
  background: rgba(232, 251, 255, .92);
  font-size: 12px;
  font-weight: 900;
}

.sales-board {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sales-board b,
.predictor-board b,
.predictor-board strong,
.predictor-board span {
  grid-column: 1 / -1;
}

.predictor-board strong {
  color: #6fffd1;
  font-size: 56px;
  line-height: 1;
}

.ratingnet-page .detail-header {
  background: rgba(5, 7, 11, .92);
}

.ratingnet-hero {
  background:
    radial-gradient(circle at 82% 14%, rgba(111, 255, 209, .24), transparent 32%),
    radial-gradient(circle at 26% 72%, rgba(54, 181, 245, .18), transparent 34%),
    linear-gradient(135deg, #05070b, #121826 58%, #06150f);
}

.ratingnet-visual {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(111, 255, 209, .22);
  border-radius: 8px;
  background: #060912;
  box-shadow: 0 28px 80px rgba(0,0,0,.42);
}

.ratingnet-visual > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .54;
  filter: saturate(.9) brightness(.72);
}

.ratingnet-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,7,11,.92), rgba(5,7,11,.22) 54%, rgba(5,7,11,.9)),
    repeating-linear-gradient(0deg, rgba(111,255,209,.12) 0 1px, transparent 1px 18px);
}

.ratingnet-phone {
  position: relative;
  z-index: 1;
  width: min(310px, 82%);
  margin: 56px auto 0;
  display: grid;
  gap: 12px;
  padding: 22px;
  border: 1px solid rgba(111,255,209,.36);
  border-radius: 26px;
  color: #f3fff9;
  background: linear-gradient(180deg, rgba(10,16,28,.92), rgba(3,8,14,.96));
  box-shadow: 0 28px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.12);
}

.ratingnet-phone b {
  font-size: 24px;
}

.ratingnet-phone span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  color: #dce7f0;
  font-weight: 900;
}

.ratingnet-phone .match-line {
  grid-template-columns: 1fr auto 1fr;
  color: #fff;
}

.ratingnet-phone .match-line strong {
  color: #6fffd1;
  font-size: 34px;
}

.ratingnet-phone .match-line i:last-child {
  text-align: right;
}

.ratingnet-values article {
  background: linear-gradient(180deg, #f3fffb, #e9f8ff);
}

.ratingnet-gallery {
  background:
    radial-gradient(circle at 80% 20%, rgba(111,255,209,.16), transparent 32%),
    #05070b;
}

.ratingnet-screen.large {
  background: #05070b;
}

.prediction-screen strong {
  color: #03110c;
  background: #6fffd1;
}

.model-screen span {
  color: #06131b;
  background: linear-gradient(90deg, #fff, #c9fff0);
}

.immofolio-page .detail-header {
  background: rgba(2, 6, 23, .92);
}

.immofolio-hero {
  background:
    radial-gradient(circle at 78% 14%, rgba(45, 212, 191, .22), transparent 34%),
    radial-gradient(circle at 22% 72%, rgba(54, 181, 245, .16), transparent 34%),
    linear-gradient(135deg, #020617, #052631 62%, #06131b);
}

.immofolio-product-visual {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(45, 212, 191, .26);
  border-radius: 8px;
  background: #020617;
  box-shadow: 0 28px 80px rgba(0,0,0,.38);
}

.immofolio-product-visual > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .56;
  filter: saturate(.98) brightness(.78);
}

.immofolio-product-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2,6,23,.94), rgba(2,6,23,.3) 56%, rgba(2,6,23,.88)),
    repeating-linear-gradient(90deg, rgba(45,212,191,.1) 0 1px, transparent 1px 18px);
}

.immofolio-dashboard-card {
  position: relative;
  z-index: 1;
  width: min(360px, 84%);
  margin: 48px auto 0;
  display: grid;
  gap: 12px;
  padding: 24px;
  border: 1px solid rgba(45,212,191,.38);
  border-radius: 18px;
  color: #ecfeff;
  background: linear-gradient(180deg, rgba(8, 25, 36, .94), rgba(2, 6, 23, .96));
  box-shadow: 0 28px 80px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.12);
}

.immofolio-dashboard-card b {
  font-size: 22px;
}

.immofolio-dashboard-card strong {
  color: #2dd4bf;
  font-size: 58px;
  line-height: 1;
}

.immofolio-dashboard-card span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  padding: 11px 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  background: rgba(255,255,255,.07);
  font-weight: 900;
}

.immofolio-dashboard-card i {
  color: #a6c7d5;
  font-style: normal;
}

.immofolio-dashboard-card em {
  color: #fff;
  font-style: normal;
}

.immofolio-values article {
  background: linear-gradient(180deg, #effffb, #eaf8fe);
}

.immofolio-gallery {
  background:
    radial-gradient(circle at 80% 20%, rgba(45,212,191,.16), transparent 32%),
    #020617;
}

.immofolio-screen.large {
  background: #020617;
}

.deal-score-screen strong {
  color: #03151d;
  background: #2dd4bf;
}

.portfolio-screen span {
  color: #06131b;
  background: linear-gradient(90deg, #fff, #d7fff5);
}

.scanner-board {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.scanner-board b {
  grid-column: 1 / -1;
}

.crm-board div:first-of-type {
  grid-template-columns: repeat(2, 1fr);
}

.crm-board span {
  height: 46px;
  border-radius: 7px;
  background: linear-gradient(180deg, #f5fcff, #bdeeff);
}

.service-band {
  display: grid;
  grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.18fr);
  gap: 36px;
  background: #eaf8fe;
  border-block: 1px solid #c8e8f5;
}

.webdesign-page {
  --website-accent: #36b5f5;
  --website-dark: #06131b;
}

.webdesign-hero {
  position: relative;
  min-height: 760px;
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(360px, 1.1fr);
  gap: clamp(30px, 6vw, 82px);
  align-items: center;
  overflow: hidden;
  padding: clamp(72px, 9vw, 126px) clamp(18px, 7vw, 96px);
  color: #fff;
  background:
    radial-gradient(circle at 82% 20%, rgba(54,181,245,.26), transparent 34%),
    radial-gradient(circle at 22% 78%, rgba(32,201,151,.18), transparent 36%),
    linear-gradient(135deg, #02070b, #07131d 62%, #03151d);
}

.web-code-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .42;
}

.web-code-layer span {
  position: absolute;
  color: rgba(54,181,245,.84);
  font-family: "JetBrains Mono", monospace;
  font-size: 13px;
  text-shadow: 0 0 18px rgba(54,181,245,.44);
  animation: webCodeFloat 9s linear infinite;
}

.web-code-layer span:nth-child(1) { left: 8%; top: 18%; animation-delay: -1s; }
.web-code-layer span:nth-child(2) { left: 22%; top: 68%; animation-delay: -4s; }
.web-code-layer span:nth-child(3) { left: 42%; top: 12%; animation-delay: -2s; }
.web-code-layer span:nth-child(4) { left: 66%; top: 74%; animation-delay: -6s; }
.web-code-layer span:nth-child(5) { left: 82%; top: 24%; animation-delay: -3s; }
.web-code-layer span:nth-child(6) { left: 12%; top: 48%; animation-delay: -7s; }
.web-code-layer span:nth-child(7) { left: 48%; top: 86%; animation-delay: -5s; }
.web-code-layer span:nth-child(8) { left: 72%; top: 46%; animation-delay: -8s; }
.web-code-layer span:nth-child(9) { left: 34%; top: 36%; animation-delay: -2.8s; }
.web-code-layer span:nth-child(10) { left: 88%; top: 62%; animation-delay: -6.5s; }

@keyframes webCodeFloat {
  0% { transform: translateY(60px); opacity: 0; }
  18%, 78% { opacity: 1; }
  100% { transform: translateY(-90px); opacity: 0; }
}

.website-build-preview {
  position: relative;
  min-height: 520px;
  perspective: 1200px;
}

.site-wireframe {
  position: absolute;
  inset: 28px 0 auto auto;
  width: min(620px, 92%);
  min-height: 390px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  grid-template-rows: 1.1fr .8fr;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.05));
  box-shadow: 0 34px 100px rgba(0,0,0,.36);
  transform: rotateY(-12deg) rotateX(5deg);
  animation: siteFrameBuild 6s ease-in-out infinite;
}

.site-wireframe.frame-two {
  inset: 98px auto auto 0;
  transform: rotateY(14deg) rotateX(4deg) scale(.78);
  opacity: .54;
  animation-delay: -3s;
}

.site-wireframe span {
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #06131b;
  background: linear-gradient(135deg, #fff, #bdeeff);
  font-weight: 900;
}

.site-wireframe span:first-child {
  grid-column: 1 / -1;
  min-height: 160px;
  color: #00131f;
  background: linear-gradient(135deg, var(--blue), #78f4ce);
}

.site-cursor {
  position: absolute;
  left: 38%;
  top: 52%;
  width: 34px;
  height: 44px;
  clip-path: polygon(0 0, 0 100%, 28% 78%, 44% 100%, 62% 91%, 46% 69%, 78% 69%);
  background: #fff;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.32));
  animation: siteCursorMove 6s ease-in-out infinite;
}

@keyframes siteFrameBuild {
  0%, 100% { filter: blur(3px) saturate(.7); }
  38%, 72% { filter: blur(0) saturate(1.1); transform: rotateY(-6deg) rotateX(3deg) translateY(-10px); }
}

@keyframes siteCursorMove {
  0% { transform: translate(0, 0); }
  25% { transform: translate(120px, -90px); }
  52% { transform: translate(220px, 30px); }
  78% { transform: translate(40px, 118px); }
  100% { transform: translate(0, 0); }
}

.webdesign-benefits,
.website-process-section {
  display: grid;
  grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
  gap: clamp(28px, 6vw, 84px);
  padding: clamp(58px, 8vw, 104px) clamp(18px, 6vw, 76px);
  background: #fff;
}

.webdesign-benefits h2,
.website-process-section h2 {
  margin: 0;
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1;
}

.webdesign-benefit-grid,
.website-process-track {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.webdesign-benefit-grid article,
.website-process-track article {
  min-height: 230px;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 24px;
  border: 1px solid #c8e3ee;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #f2f9fd);
  box-shadow: 0 14px 36px rgba(7,19,29,.06);
}

.webdesign-benefit-grid b,
.website-process-track b {
  color: var(--blue-dark);
  font-family: "JetBrains Mono", monospace;
}

.webdesign-benefit-grid h3,
.website-process-track h3 {
  margin: 0;
  font-size: 24px;
}

.webdesign-benefit-grid p,
.website-process-track p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.website-designer-section {
  padding: clamp(58px, 8vw, 104px) clamp(18px, 6vw, 76px);
  background: #eaf8fe;
}

.website-portfolio-section {
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 8vw, 112px) clamp(18px, 6vw, 76px);
  background:
    radial-gradient(circle at 12% 12%, rgba(54,181,245,.18), transparent 30%),
    linear-gradient(180deg, #f7fdff, #eaf8fe 52%, #fff);
}

.website-portfolio-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(90deg, rgba(54,181,245,.10) 1px, transparent 1px),
    linear-gradient(180deg, rgba(54,181,245,.10) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: radial-gradient(circle at 50% 12%, #000 0%, transparent 62%);
  pointer-events: none;
}

.website-portfolio-heading,
.website-offer-grid,
.website-timeline-panel {
  position: relative;
  z-index: 2;
}

.website-portfolio-heading {
  max-width: 980px;
}

.website-portfolio-heading p:last-child {
  max-width: 820px;
  color: var(--muted);
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.5;
  font-weight: 850;
}

.website-offer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: clamp(34px, 5vw, 62px);
}

.website-offer-grid article {
  position: relative;
  display: grid;
  gap: 16px;
  align-content: start;
  min-height: 300px;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid #bdeeff;
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(234,248,254,.84));
  box-shadow: 0 24px 56px rgba(7,19,29,.08);
  overflow: hidden;
}

.website-offer-grid article::before {
  content: "";
  position: absolute;
  inset: auto -20% -42% 22%;
  height: 150px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(54,181,245,.24), transparent 68%);
}

.website-offer-grid article::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent, rgba(255,255,255,.48), transparent);
  transform: translateX(-140%);
  animation: portfolioCardShine 8s ease-in-out infinite;
}

.website-offer-grid article:nth-child(2)::after { animation-delay: .4s; }
.website-offer-grid article:nth-child(3)::after { animation-delay: .8s; }
.website-offer-grid article:nth-child(4)::after { animation-delay: 1.2s; }
.website-offer-grid article:nth-child(5)::after { animation-delay: 1.6s; }
.website-offer-grid article:nth-child(6)::after { animation-delay: 2s; }

.website-offer-grid span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 2px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  background: var(--blue);
  font-family: "JetBrains Mono", monospace;
  font-weight: 950;
}

.website-offer-grid h3 {
  margin: 0;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
}

.website-offer-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 800;
}

.website-offer-grid b {
  align-self: end;
  width: max-content;
  max-width: 100%;
  padding: 10px 12px;
  border-radius: 999px;
  color: #00131f;
  background: rgba(54,181,245,.20);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.website-timeline-panel {
  display: grid;
  grid-template-columns: minmax(260px, .74fr) minmax(0, 1.26fr);
  gap: clamp(22px, 4vw, 46px);
  align-items: start;
  margin-top: clamp(28px, 5vw, 70px);
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid rgba(0,19,31,.16);
  border-radius: 12px;
  color: #fff;
  background:
    radial-gradient(circle at 82% 18%, rgba(54,181,245,.36), transparent 31%),
    linear-gradient(135deg, #07131d, #00131f);
  box-shadow: 0 34px 90px rgba(0,19,31,.18);
}

.website-timeline-panel h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(36px, 5vw, 70px);
  line-height: .95;
}

.website-timeline-panel > div:first-child > p:last-child {
  margin: 18px 0 0;
  color: rgba(255,255,255,.74);
  font-size: 17px;
  line-height: 1.55;
  font-weight: 850;
}

.website-build-timeline {
  position: relative;
  display: grid;
  gap: 12px;
}

.website-build-timeline::before {
  content: "";
  position: absolute;
  left: 22px;
  top: 22px;
  bottom: 22px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--blue), #78f4ce);
  opacity: .8;
}

.website-build-timeline article {
  position: relative;
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 8px 16px;
  padding: 16px 16px 16px 62px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(255,255,255,.07);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

.website-build-timeline article::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 18px;
  width: 19px;
  height: 19px;
  border: 3px solid #07131d;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 5px rgba(54,181,245,.16);
}

.website-build-timeline span {
  color: var(--blue);
  font-family: "JetBrains Mono", monospace;
  font-weight: 950;
}

.website-build-timeline b {
  color: #fff;
  font-size: 20px;
}

.website-build-timeline p {
  grid-column: 2;
  margin: 0;
  color: rgba(255,255,255,.72);
  font-weight: 800;
  line-height: 1.5;
}

@keyframes portfolioCardShine {
  0%, 46%, 100% { transform: translateX(-140%); opacity: 0; }
  58% { opacity: 1; }
  76% { transform: translateX(140%); opacity: 0; }
}

.landing-showcase-section {
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 8vw, 112px) clamp(18px, 6vw, 76px);
  color: #00131f;
  background:
    radial-gradient(circle at 12% 16%, rgba(54,181,245,.22), transparent 30%),
    radial-gradient(circle at 86% 22%, rgba(7,19,29,.10), transparent 28%),
    linear-gradient(180deg, #f6fcff 0%, #eaf8fe 48%, #fff 100%);
}

.landing-showcase-section::before {
  content: "010101  workflow  portal  crm  app  conversion  001101  launch";
  position: absolute;
  inset: 24px 0 auto;
  color: rgba(54,181,245,.16);
  font-family: "JetBrains Mono", monospace;
  font-size: clamp(48px, 9vw, 136px);
  font-weight: 900;
  line-height: .85;
  white-space: nowrap;
  pointer-events: none;
  animation: showcaseBackgroundCode 18s linear infinite;
}

.landing-showcase-heading {
  position: relative;
  z-index: 2;
  max-width: 980px;
}

.landing-showcase-heading p:last-child {
  max-width: 780px;
  color: var(--muted);
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.5;
  font-weight: 850;
}

.landing-showcase-stage {
  position: relative;
  z-index: 2;
  margin-top: clamp(34px, 5vw, 64px);
  border: 1px solid rgba(0,19,31,.16);
  border-radius: 12px;
  background: #07131d;
  box-shadow: 0 34px 90px rgba(0,19,31,.18), 12px 12px 0 #00131f;
  overflow: hidden;
}

.showcase-topbar {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 10px 16px;
  border-bottom: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
}

.showcase-topbar span {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #ff6b5f;
}

.showcase-topbar span:nth-child(2) { background: #ffd166; }
.showcase-topbar span:nth-child(3) { background: #4ade80; }

.showcase-topbar b {
  min-width: 0;
  margin-left: 8px;
  color: rgba(255,255,255,.78);
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.showcase-hero-screen {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(330px, .72fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  min-height: clamp(560px, 54vw, 760px);
  padding: clamp(24px, 5vw, 74px);
  background:
    radial-gradient(circle at 78% 24%, rgba(54,181,245,.34), transparent 31%),
    linear-gradient(135deg, rgba(0,19,31,.96), rgba(7,19,29,.94));
}

.showcase-hero-screen::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(54,181,245,.08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(54,181,245,.08) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: radial-gradient(circle at 50% 42%, #000 0%, transparent 72%);
  pointer-events: none;
}

.showcase-code-wall {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
  padding: 28px;
  color: rgba(54,181,245,.42);
  font-family: "JetBrains Mono", monospace;
  font-size: clamp(13px, 1.35vw, 19px);
  pointer-events: none;
}

.showcase-code-wall span {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
  animation: showcaseCodeFall 8s linear infinite;
}

.showcase-code-wall span:nth-child(2) { animation-delay: -1.4s; }
.showcase-code-wall span:nth-child(3) { animation-delay: -2.7s; }
.showcase-code-wall span:nth-child(4) { animation-delay: -3.8s; }
.showcase-code-wall span:nth-child(5) { animation-delay: -5.1s; }
.showcase-code-wall span:nth-child(6) { animation-delay: -6.2s; }

.showcase-copy,
.showcase-product,
.showcase-running-message {
  position: relative;
  z-index: 2;
}

.showcase-copy {
  display: grid;
  gap: 18px;
  max-width: 760px;
  animation: showcaseCopyReveal 8s ease-in-out infinite;
}

.showcase-copy small {
  width: max-content;
  max-width: 100%;
  padding: 10px 13px;
  border: 1px solid rgba(54,181,245,.42);
  border-radius: 999px;
  color: var(--blue);
  background: rgba(54,181,245,.10);
  font-weight: 950;
}

.showcase-copy h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(46px, 8vw, 108px);
  line-height: .88;
}

.showcase-copy p {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: clamp(17px, 2vw, 24px);
  line-height: 1.45;
  font-weight: 850;
}

.showcase-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.showcase-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 18px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 8px;
  color: #fff;
  background: rgba(255,255,255,.08);
  text-decoration: none;
  font-weight: 950;
}

.showcase-actions a:first-child {
  color: #00131f;
  background: var(--blue);
  border-color: var(--blue);
  box-shadow: 0 20px 44px rgba(54,181,245,.25);
  animation: showcaseCtaPulse 3.4s ease-in-out infinite;
}

.showcase-product {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  min-height: clamp(340px, 34vw, 500px);
  border: 1px solid rgba(54,181,245,.34);
  border-radius: 12px;
  background: rgba(244,251,255,.95);
  box-shadow: 0 36px 90px rgba(0,0,0,.34);
  overflow: hidden;
  opacity: 0;
  transform: translateY(34px) scale(.94);
  filter: blur(8px);
  animation: showcasePortalResolve 8s ease-in-out infinite;
}

.product-sidebar {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 20px 14px;
  background: #06131d;
}

.product-sidebar i {
  height: 42px;
  border-radius: 8px;
  background: rgba(255,255,255,.14);
}

.product-sidebar i:first-child {
  background: var(--blue);
}

.product-main {
  display: grid;
  align-content: start;
  gap: 20px;
  padding: clamp(20px, 3vw, 34px);
}

.product-main b {
  color: #00131f;
  font-size: clamp(26px, 3vw, 42px);
}

.product-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.product-metrics i {
  height: 74px;
  border: 1px solid #bdeeff;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #eaf8fe);
}

.product-chart {
  display: flex;
  align-items: end;
  gap: 12px;
  min-height: 170px;
  padding: 18px;
  border: 1px solid #bdeeff;
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fdff, #dff5ff);
}

.product-chart i {
  flex: 1;
  min-width: 0;
  border-radius: 8px 8px 3px 3px;
  background: linear-gradient(180deg, var(--blue), #07131d);
  animation: showcaseChartGrow 3.8s ease-in-out infinite;
}

.product-chart i:nth-child(1) { height: 42%; }
.product-chart i:nth-child(2) { height: 72%; animation-delay: .25s; }
.product-chart i:nth-child(3) { height: 56%; animation-delay: .45s; }
.product-chart i:nth-child(4) { height: 88%; animation-delay: .65s; }

.showcase-running-message {
  grid-column: 1 / -1;
  display: flex;
  gap: 12px;
  overflow: hidden;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.14);
}

.showcase-running-message span {
  flex: 0 0 auto;
  padding: 12px 15px;
  border-radius: 999px;
  color: #00131f;
  background: var(--blue);
  font-weight: 950;
  box-shadow: 0 12px 30px rgba(54,181,245,.18);
  animation: showcaseMessageRun 12s linear infinite;
}

.landing-conversion-path {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-top: clamp(22px, 4vw, 38px);
}

.landing-conversion-path::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 38px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue), #78f4ce, #00131f);
  opacity: .32;
}

.landing-conversion-path article {
  position: relative;
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 220px;
  padding: 22px;
  border: 1px solid #bdeeff;
  border-radius: 10px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 20px 50px rgba(7,19,29,.08);
  animation: pathCardLift 10s ease-in-out infinite;
}

.landing-conversion-path article:nth-child(2) { animation-delay: .25s; }
.landing-conversion-path article:nth-child(3) { animation-delay: .5s; }
.landing-conversion-path article:nth-child(4) { animation-delay: .75s; }
.landing-conversion-path article:nth-child(5) { animation-delay: 1s; }

.landing-conversion-path span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 2px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  background: var(--blue);
  font-family: "JetBrains Mono", monospace;
  font-weight: 950;
}

.landing-conversion-path h3 {
  margin: 8px 0 0;
  font-size: clamp(23px, 2vw, 32px);
  line-height: 1;
}

.landing-conversion-path p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
  font-weight: 800;
}

@keyframes showcaseBackgroundCode {
  0% { transform: translateX(0); }
  100% { transform: translateX(-42%); }
}

@keyframes showcaseCodeFall {
  0% { transform: translateY(-110%); opacity: .08; }
  18%, 72% { opacity: .72; }
  100% { transform: translateY(110%); opacity: .12; }
}

@keyframes showcaseCopyReveal {
  0%, 12% { opacity: .18; transform: translateY(18px); filter: blur(5px); }
  28%, 100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes showcasePortalResolve {
  0%, 18% { opacity: 0; transform: translateY(34px) scale(.94); filter: blur(8px); }
  40%, 84% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
  100% { opacity: .78; transform: translateY(0) scale(.99); filter: blur(1px); }
}

@keyframes showcaseCtaPulse {
  0%, 100% { transform: translateY(0); box-shadow: 0 20px 44px rgba(54,181,245,.25); }
  50% { transform: translateY(-3px); box-shadow: 0 26px 58px rgba(54,181,245,.36); }
}

@keyframes showcaseChartGrow {
  0%, 100% { transform: scaleY(.72); transform-origin: bottom; }
  50% { transform: scaleY(1); transform-origin: bottom; }
}

@keyframes showcaseMessageRun {
  0% { transform: translateX(0); }
  100% { transform: translateX(-360px); }
}

@keyframes pathCardLift {
  0%, 100% { transform: translateY(0); border-color: #bdeeff; }
  50% { transform: translateY(-6px); border-color: var(--blue); }
}

.website-conversion-section {
  padding: clamp(58px, 8vw, 104px) clamp(18px, 6vw, 76px);
  background:
    radial-gradient(circle at 12% 8%, rgba(54,181,245,.16), transparent 28%),
    linear-gradient(180deg, #eaf8fe, #fff);
}

.website-conversion-section .section-heading {
  max-width: 940px;
}

.conversion-flow {
  position: relative;
  display: grid;
  gap: 22px;
  margin-top: 42px;
  padding-left: clamp(0px, 3vw, 42px);
}

.conversion-flow::before {
  content: "";
  position: absolute;
  left: clamp(28px, 4vw, 64px);
  top: 10px;
  bottom: 10px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--blue), #78f4ce, #00131f);
  opacity: .32;
}

.conversion-arrow {
  position: absolute;
  z-index: 3;
  left: calc(clamp(28px, 4vw, 64px) - 13px);
  top: 14px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 8px rgba(54,181,245,.16), 0 18px 34px rgba(7,19,29,.14);
  animation: conversionArrowMove 12s ease-in-out infinite;
}

.conversion-arrow::after {
  content: "";
  position: absolute;
  left: 10px;
  top: 8px;
  width: 9px;
  height: 9px;
  border-right: 3px solid #00131f;
  border-bottom: 3px solid #00131f;
  transform: rotate(45deg);
}

.conversion-flow article {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 74px minmax(180px, .48fr) minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
  min-height: 190px;
  padding: clamp(16px, 3vw, 26px);
  border: 1px solid #b9dce9;
  border-radius: 8px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 20px 54px rgba(7,19,29,.08);
  overflow: hidden;
  animation: conversionCardIn 12s ease-in-out infinite;
}

.conversion-flow article:nth-of-type(2) { animation-delay: .45s; }
.conversion-flow article:nth-of-type(3) { animation-delay: .9s; }
.conversion-flow article:nth-of-type(4) { animation-delay: 1.35s; }
.conversion-flow article:nth-of-type(5) { animation-delay: 1.8s; }
.conversion-flow article:nth-of-type(6) { animation-delay: 2.25s; }

.conversion-flow article.conversion-hero-step {
  grid-template-columns: 74px minmax(0, 1fr);
  min-height: 430px;
}

.conversion-hero-step .hero-image-visual {
  grid-column: 2;
}

.conversion-hero-step > div:last-child {
  grid-column: 2;
  max-width: 880px;
}

.conversion-flow article > span {
  display: grid;
  place-items: center;
  align-self: start;
  width: 58px;
  height: 58px;
  border: 2px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  background: var(--blue);
  font-family: "JetBrains Mono", monospace;
  font-weight: 950;
}

.conversion-flow h3 {
  margin: 0 0 10px;
  font-size: clamp(26px, 4vw, 44px);
  line-height: 1;
}

.conversion-flow p {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.6;
  font-weight: 800;
}

.conversion-visual {
  position: relative;
  min-height: 136px;
  overflow: hidden;
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 16px;
  border-radius: 8px;
  color: #fff;
  background:
    radial-gradient(circle at 80% 20%, rgba(54,181,245,.42), transparent 28%),
    #07131d;
}

.conversion-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.18), transparent);
  transform: translateX(-120%);
  animation: conversionShine 5s ease-in-out infinite;
}

.hero-image-visual {
  background:
    radial-gradient(circle at 78% 18%, rgba(54,181,245,.48), transparent 28%),
    repeating-linear-gradient(90deg, rgba(54,181,245,.18) 0 2px, transparent 2px 13px),
    #07131d;
  align-content: stretch;
  min-height: clamp(300px, 34vw, 460px);
  padding: clamp(16px, 3vw, 30px);
}

.tm-hero-window {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, .72fr);
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 18px;
  min-height: 100%;
  padding: clamp(18px, 3vw, 34px);
  border: 1px solid rgba(54,181,245,.5);
  border-radius: 8px;
  background:
    radial-gradient(circle at 72% 30%, rgba(54,181,245,.28), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02)),
    rgba(0,19,31,.84);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
  overflow: hidden;
}

.tm-code-rain {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  padding: 20px;
  color: rgba(54,181,245,.42);
  font-family: "JetBrains Mono", monospace;
  font-size: clamp(11px, 1.2vw, 15px);
  pointer-events: none;
}

.tm-code-rain span {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
  animation: tmCodeDrop 6.4s linear infinite;
}

.tm-code-rain span:nth-child(2) { animation-delay: -1.2s; }
.tm-code-rain span:nth-child(3) { animation-delay: -2.4s; }
.tm-code-rain span:nth-child(4) { animation-delay: -3.1s; }
.tm-code-rain span:nth-child(5) { animation-delay: -4.5s; }

.tm-hero-copy {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: end;
  gap: 14px;
  max-width: 650px;
  padding-top: 84px;
}

.tm-hero-copy strong {
  font-size: clamp(34px, 6vw, 76px);
  line-height: .92;
  max-width: 720px;
  letter-spacing: 0;
}

.tm-hero-copy small {
  max-width: 540px;
  color: rgba(255,255,255,.78);
  font-size: clamp(15px, 1.7vw, 21px);
  line-height: 1.45;
  font-weight: 900;
}

.tm-hero-portal {
  position: relative;
  z-index: 2;
  align-self: center;
  display: grid;
  gap: 10px;
  min-height: 230px;
  padding: 18px;
  border-radius: 7px;
  background:
    linear-gradient(90deg, #06131d 0 24%, transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(202,241,255,.92));
  box-shadow: 0 24px 60px rgba(0,0,0,.34);
  opacity: 0;
  transform: translateY(16px) scale(.96);
  filter: blur(4px);
  animation: portalResolve 7s ease-in-out infinite;
}

.tm-hero-portal i {
  display: block;
  height: 13px;
  margin-left: 32%;
  border-radius: 999px;
  background: rgba(0,19,31,.12);
}

.tm-hero-portal i:nth-child(1) {
  width: 54%;
  height: 34px;
  border-radius: 8px;
  background: linear-gradient(90deg, var(--blue), #0879ba);
}

.tm-hero-portal i:nth-child(2) { width: 72%; }
.tm-hero-portal i:nth-child(3) { width: 46%; }

.tm-hero-portal b {
  align-self: end;
  margin-left: 32%;
  color: #00131f;
  font-size: 20px;
}

.tm-message-ticker {
  position: relative;
  z-index: 2;
  grid-column: 1 / -1;
  display: flex;
  gap: 14px;
  overflow: hidden;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.14);
}

.tm-message-ticker span {
  flex: 0 0 auto;
  padding: 9px 12px;
  border: 1px solid rgba(54,181,245,.36);
  border-radius: 999px;
  color: #00131f;
  background: var(--blue);
  font-weight: 950;
  animation: tickerPass 9s linear infinite;
}

.message-visual b {
  color: var(--blue);
  font-size: 20px;
}

.message-visual i,
.followup-visual i {
  display: block;
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.22);
}

.message-visual i:nth-of-type(1) { width: 92%; }
.message-visual i:nth-of-type(2) { width: 72%; }
.message-visual i:nth-of-type(3) { width: 54%; }

.proof-visual {
  overflow: hidden;
}

.trust-slider {
  display: flex;
  gap: 12px;
  width: max-content;
  animation: trustSlide 8s ease-in-out infinite;
}

.trust-slider div {
  display: grid;
  gap: 4px;
  min-width: 144px;
  padding: 15px;
  border: 1px solid rgba(54,181,245,.38);
  border-radius: 8px;
  background: rgba(255,255,255,.1);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}

.trust-slider b {
  color: var(--blue);
  font-size: 30px;
  line-height: 1;
}

.trust-slider small {
  color: rgba(255,255,255,.72);
  font-weight: 900;
}

.cta-visual button {
  border: 0;
  border-radius: 8px;
  padding: 13px 14px;
  color: #00131f;
  background: var(--blue);
  font-weight: 950;
  animation: ctaPulse 4.4s ease-in-out infinite;
}

.cta-visual small,
.followup-visual small {
  color: rgba(255,255,255,.72);
  font-weight: 900;
}

.friction-visual {
  grid-template-columns: 1.35fr .65fr;
  align-items: end;
}

.device-preview {
  position: relative;
  display: grid;
  align-content: start;
  gap: 7px;
  min-height: 118px;
  padding: 13px;
  border: 1px solid rgba(54,181,245,.34);
  border-radius: 8px;
  background: rgba(255,255,255,.12);
}

.device-preview.mobile {
  min-height: 92px;
  border-radius: 16px 16px 8px 8px;
}

.device-preview b {
  color: var(--blue);
  font-size: 13px;
}

.device-preview i {
  display: block;
  height: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.8);
}

.device-preview i:nth-of-type(2) {
  width: 58%;
  background: var(--blue);
}

.followup-visual {
  overflow: hidden;
}

.followup-visual::before {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  top: 74px;
  height: 2px;
  background: linear-gradient(90deg, var(--blue), rgba(255,255,255,.32));
}

.followup-visual b {
  color: #00131f;
  width: max-content;
  padding: 11px 13px;
  border-radius: 8px;
  background: var(--blue);
  font-size: 28px;
  line-height: 1;
  animation: leadMove 5.5s ease-in-out infinite;
}

.followup-visual i {
  display: block;
  width: 72%;
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.22);
}

@keyframes conversionArrowMove {
  0%, 100% { transform: translateY(0); }
  16% { transform: translateY(212px); }
  32% { transform: translateY(424px); }
  48% { transform: translateY(636px); }
  64% { transform: translateY(848px); }
  80% { transform: translateY(1060px); }
}

@keyframes conversionCardIn {
  0%, 100% { transform: translateY(0); border-color: #b9dce9; }
  10%, 22% { transform: translateY(-4px); border-color: var(--blue); }
}

@keyframes conversionShine {
  0%, 50%, 100% { transform: translateX(-120%); opacity: 0; }
  66% { opacity: 1; }
  86% { transform: translateX(120%); opacity: 0; }
}

@keyframes tmCodeDrop {
  0% { transform: translateY(-110%); opacity: .12; }
  20%, 70% { opacity: .78; }
  100% { transform: translateY(110%); opacity: .16; }
}

@keyframes portalResolve {
  0%, 22%, 100% { opacity: 0; transform: translateY(18px) scale(.96); filter: blur(5px); }
  42%, 76% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes tickerPass {
  0% { transform: translateX(0); }
  100% { transform: translateX(-210px); }
}

@keyframes trustSlide {
  0%, 20% { transform: translateX(0); }
  35%, 55% { transform: translateX(-156px); }
  70%, 90% { transform: translateX(-312px); }
  100% { transform: translateX(0); }
}

@keyframes leadMove {
  0%, 100% { transform: translateX(0); }
  48%, 72% { transform: translateX(92px); }
}

.website-designer-layout {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: 24px;
  align-items: stretch;
}

.website-type-panel {
  display: grid;
  gap: 12px;
}

.website-type-panel button {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px 14px;
  align-items: center;
  min-height: 116px;
  padding: 18px;
  border: 1px solid #c3dfeb;
  border-radius: 8px;
  text-align: left;
  background: #fff;
  box-shadow: 0 14px 34px rgba(7,19,29,.06);
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.website-type-panel button:hover,
.website-type-panel button.is-active {
  transform: translateY(-2px);
  border-color: var(--blue);
  box-shadow: 0 22px 54px rgba(7,19,29,.11);
}

.website-type-panel span {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 2px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  background: var(--blue);
  font-family: "JetBrains Mono", monospace;
  font-weight: 900;
}

.website-type-panel b {
  font-size: 18px;
}

.website-type-panel small {
  color: var(--muted);
  font-weight: 800;
  line-height: 1.35;
}

.website-live-preview {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #b9dce9;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(7,19,29,.12);
}

.website-browser-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 46px;
  padding: 0 16px;
  border-bottom: 1px solid #c7e2ee;
  background: #f6fbfd;
}

.website-browser-bar i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ff5f57;
}

.website-browser-bar i:nth-child(2) { background: #ffbd2e; }
.website-browser-bar i:nth-child(3) { background: #28c840; }
.website-browser-bar span {
  margin-left: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.website-preview-page {
  --website-accent: #36b5f5;
  --website-dark: #06131b;
  min-height: 620px;
  padding: clamp(18px, 3vw, 34px);
  background:
    radial-gradient(circle at 86% 12%, color-mix(in srgb, var(--website-accent), transparent 70%), transparent 28%),
    linear-gradient(135deg, #fff, #f4fbfd);
  transition: background 220ms ease;
}

.website-preview-page::before {
  content: "";
  display: block;
  height: 3px;
  margin: calc(clamp(18px, 3vw, 34px) * -1) calc(clamp(18px, 3vw, 34px) * -1) 24px;
  background: linear-gradient(90deg, var(--website-accent), var(--website-dark));
}

.website-preview-page.is-changing {
  animation: websitePreviewChange 620ms ease both;
}

@keyframes websitePreviewChange {
  0% { filter: blur(4px) saturate(.7); transform: translateY(8px); opacity: .78; }
  100% { filter: blur(0) saturate(1); transform: translateY(0); opacity: 1; }
}

.website-preview-page header {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 36px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(95,114,128,.14);
}

.website-preview-page header > b {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--website-dark);
  font-size: 20px;
  line-height: 1;
}

.preview-logo-mark {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 54px;
  padding: 5px 7px 5px 5px;
  border-radius: 14px;
  color: #00131f;
  background: rgba(255,255,255,.66);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--website-accent), #ffffff 38%),
    0 14px 30px rgba(7,19,29,.08);
  font-size: 14px;
  font-family: inherit;
  font-weight: 950;
}

.logo-symbol {
  position: relative;
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  overflow: hidden;
  border-radius: 16px;
  background:
    radial-gradient(circle at 30% 20%, #fff, transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--website-accent), #ffffff 18%), var(--website-accent));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.45),
    inset 0 -12px 22px rgba(0,19,31,.12),
    0 13px 24px color-mix(in srgb, var(--website-accent), transparent 70%);
}

.logo-symbol::after {
  content: "";
  position: absolute;
  inset: -40% auto auto -70%;
  width: 54%;
  height: 180%;
  background: rgba(255,255,255,.58);
  transform: rotate(24deg);
  animation: logoShine 4.8s ease-in-out infinite;
}

.logo-copy {
  display: grid;
  gap: 3px;
  line-height: 1;
}

.logo-word {
  color: var(--website-dark);
  font-size: 21px;
  letter-spacing: 0;
  white-space: nowrap;
}

.logo-copy small {
  color: #6c7c87;
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}

@keyframes logoShine {
  0%, 62%, 100% { transform: translateX(0) rotate(24deg); opacity: 0; }
  72% { opacity: .82; }
  88% { transform: translateX(150px) rotate(24deg); opacity: 0; }
}

.logo-flowpilot {
  border-radius: 14px;
}

.logo-flowpilot .logo-symbol {
  border-radius: 18px 18px 6px 18px;
  background:
    radial-gradient(circle at 76% 22%, #fff 0 8%, transparent 9%),
    linear-gradient(135deg, #78f4ce, #36b5f5 64%, #0a72a3);
}

.logo-flowpilot .logo-symbol i {
  position: absolute;
  display: block;
}

.logo-flowpilot .logo-symbol i:nth-child(1),
.logo-flowpilot .logo-symbol i:nth-child(2),
.logo-flowpilot .logo-symbol i:nth-child(3) {
  left: 10px;
  width: 29px;
  height: 6px;
  border-radius: 999px;
  background: #00131f;
  transform-origin: left center;
}

.logo-flowpilot .logo-symbol i:nth-child(1) { top: 14px; transform: rotate(-23deg); }
.logo-flowpilot .logo-symbol i:nth-child(2) { top: 24px; width: 24px; transform: rotate(0); }
.logo-flowpilot .logo-symbol i:nth-child(3) { top: 34px; width: 18px; transform: rotate(23deg); }

.logo-flowpilot .logo-symbol i:nth-child(4) {
  right: 7px;
  top: 19px;
  width: 13px;
  height: 13px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #00131f;
}

.logo-nordkompass {
  border-radius: 14px;
}

.logo-nordkompass .logo-symbol {
  border-radius: 50%;
  background:
    radial-gradient(circle, #fff 0 9%, transparent 10%),
    conic-gradient(from 30deg, #20c997, #c6fff0, #20c997, #07120f, #20c997);
}

.logo-nordkompass .logo-symbol i:nth-child(1) {
  position: absolute;
  left: 18px;
  top: 8px;
  width: 0;
  height: 0;
  border-bottom: 32px solid #00131f;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  transform: rotate(34deg);
  filter: drop-shadow(0 4px 0 rgba(255,255,255,.28));
}

.logo-nordkompass .logo-symbol i:nth-child(2) {
  position: absolute;
  inset: 7px;
  border: 2px solid #00131f;
  border-radius: 50%;
  opacity: .42;
}

.logo-nordkompass .logo-symbol i:nth-child(3),
.logo-nordkompass .logo-symbol i:nth-child(4) {
  position: absolute;
  left: 50%;
  top: 8px;
  width: 2px;
  height: 36px;
  border-radius: 999px;
  background: rgba(0,19,31,.42);
  transform: translateX(-50%);
}

.logo-nordkompass .logo-symbol i:nth-child(4) {
  transform: translateX(-50%) rotate(90deg);
}

.logo-meyer {
  border-radius: 14px;
}

.logo-meyer .logo-symbol {
  border-radius: 12px;
  background:
    linear-gradient(135deg, #ffe88a, #ffcf4a 56%, #f59f00);
}

.logo-meyer .logo-symbol i:nth-child(1) {
  position: absolute;
  left: 8px;
  right: 8px;
  top: 11px;
  height: 18px;
  border-radius: 3px 3px 0 0;
  background: #00131f;
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
}

.logo-meyer .logo-symbol i:nth-child(2),
.logo-meyer .logo-symbol i:nth-child(3),
.logo-meyer .logo-symbol i:nth-child(4) {
  position: absolute;
  bottom: 11px;
  width: 8px;
  height: 13px;
  border-radius: 4px 4px 0 0;
  background: #00131f;
}

.logo-meyer .logo-symbol i:nth-child(2) { left: 12px; }
.logo-meyer .logo-symbol i:nth-child(3) { left: 22px; }
.logo-meyer .logo-symbol i:nth-child(4) {
  right: 10px;
  width: 11px;
  height: 15px;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  background: #24a8db;
}

.logo-werkblick {
  border-radius: 14px;
}

.logo-werkblick .logo-symbol {
  border-radius: 6px 18px 6px 18px;
  background:
    radial-gradient(circle at 50% 50%, #fff 0 8%, transparent 9%),
    linear-gradient(135deg, #c4b5fd, #8b5cf6 55%, #3b0764);
}

.logo-werkblick .logo-symbol i {
  position: absolute;
  border-radius: 5px;
  background: #00131f;
}

.logo-werkblick .logo-symbol i:nth-child(1) { left: 9px; top: 9px; width: 12px; height: 12px; }
.logo-werkblick .logo-symbol i:nth-child(2) { right: 9px; top: 9px; width: 16px; height: 12px; opacity: .72; }
.logo-werkblick .logo-symbol i:nth-child(3) { left: 9px; bottom: 9px; width: 16px; height: 12px; opacity: .72; }
.logo-werkblick .logo-symbol i:nth-child(4) { right: 9px; bottom: 9px; width: 12px; height: 12px; }
.logo-werkblick .logo-symbol i:nth-child(5) {
  left: 18px;
  top: 18px;
  width: 16px;
  height: 16px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: transparent;
}

.reference-brand {
  min-height: 48px;
  padding: 7px 10px;
  background: #fff;
}

.reference-logo-image {
  display: grid;
  place-items: center;
  width: 168px;
  max-width: min(168px, 36vw);
}

.reference-logo-image img {
  width: 100%;
  height: 44px;
  object-fit: contain;
}

.reference-logo-fallback {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 9px;
  color: #fff;
  background: var(--website-dark);
  font-family: "JetBrains Mono", monospace;
  font-size: 13px;
}

.reference-wordmark {
  color: var(--website-dark);
  font-size: 21px;
  font-weight: 950;
}

.website-preview-page nav {
  flex: 1;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.website-preview-page nav span {
  width: auto;
  min-width: 54px;
  height: auto;
  padding: 7px 0;
  border-radius: 999px;
  color: #5f7280;
  background: transparent;
  font-size: 12px;
  font-weight: 900;
  position: relative;
}

.website-preview-page nav span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 1px;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: var(--website-accent);
  animation: navUnderline 4.6s ease-in-out infinite;
}

.website-preview-page nav span:nth-child(2)::after { animation-delay: .7s; }
.website-preview-page nav span:nth-child(3)::after { animation-delay: 1.4s; }

@keyframes navUnderline {
  0%, 45%, 100% { width: 0; opacity: 0; }
  58%, 78% { width: 100%; opacity: 1; }
}

.website-preview-page header button,
.website-preview-hero button {
  border: 0;
  border-radius: 8px;
  color: #00131f;
  background: var(--website-accent);
  font-weight: 900;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.website-preview-page header button {
  padding: 10px 13px;
}

.website-preview-hero {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(240px, 1.1fr);
  gap: 28px;
  align-items: center;
}

.website-preview-hero small {
  color: var(--website-accent);
  font-weight: 900;
  text-transform: uppercase;
}

.website-preview-hero h3 {
  margin: 12px 0;
  color: var(--website-dark);
  font-size: clamp(30px, 3.9vw, 48px);
  line-height: 1.02;
}

.website-preview-hero p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.55;
}

.website-preview-hero button {
  margin-top: 12px;
  padding: 14px 16px;
  animation: ctaPulse 4.4s ease-in-out infinite;
}

@keyframes ctaPulse {
  0%, 100% { transform: translateY(0); box-shadow: none; }
  48%, 62% { transform: translateY(-2px); box-shadow: 0 16px 28px color-mix(in srgb, var(--website-accent), transparent 70%); }
}

.website-preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 10px;
}

.website-preview-actions button {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--website-accent), #00131f 18%);
  color: var(--website-dark);
  background: rgba(255,255,255,.84);
  font-size: 12px;
  box-shadow: none;
}

.website-preview-actions .is-whatsapp {
  color: #fff;
  background: #25d366;
}

.website-preview-actions .is-pill {
  border-radius: 999px;
}

.website-preview-visual {
  position: relative;
  min-height: 360px;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 14px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--website-accent), #ffffff 48%);
  border-radius: 14px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--website-accent), #ffffff 72%), #fff);
  box-shadow: 0 22px 54px rgba(7,19,29,.1);
}

.reference-site-preview {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  border-radius: 12px;
  background: #07131d;
  box-shadow: 0 20px 54px rgba(7,19,29,.18);
}

.reference-screen {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.reference-screen img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: top center;
  filter: saturate(.96) contrast(.98);
  animation: referenceScroll 8s ease-in-out infinite;
}

.reference-site-preview::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 52%, rgba(0,19,31,.68)),
    linear-gradient(90deg, rgba(255,255,255,.08), transparent 18% 82%, rgba(255,255,255,.08));
  pointer-events: none;
}

.reference-overlay {
  position: absolute;
  z-index: 2;
  left: 14px;
  right: 14px;
  bottom: 14px;
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 10px;
  color: #fff;
  background: rgba(7,19,29,.84);
  backdrop-filter: blur(12px);
}

.reference-overlay small {
  color: var(--website-accent);
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.reference-overlay b {
  font-size: 24px;
}

.reference-overlay span {
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 800;
}

@keyframes referenceScroll {
  0%, 100% { transform: translateY(0) scale(1.02); }
  50% { transform: translateY(-8%) scale(1.02); }
}

.website-mock {
  position: relative;
  min-width: 0;
  min-height: 220px;
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 12px;
  color: #fff;
  background:
    radial-gradient(circle at 85% 12%, color-mix(in srgb, var(--website-accent), transparent 28%), transparent 24%),
    var(--website-dark);
  overflow: hidden;
}

.website-mock::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
  transform: translateX(-120%);
  animation: mockSweep 5.2s ease-in-out infinite;
}

@keyframes mockSweep {
  0%, 52%, 100% { transform: translateX(-120%); opacity: 0; }
  66% { opacity: 1; }
  86% { transform: translateX(120%); opacity: 0; }
}

.website-mock > * {
  min-width: 0;
}

.website-mock-saas {
  grid-template-columns: .86fr 1.14fr;
  grid-template-rows: auto auto 1fr;
}

.mock-metric {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 16px;
  border-radius: 10px;
  background: rgba(255,255,255,.12);
  animation: cardFloat 4s ease-in-out infinite;
}

.lead-value-ticker,
.lead-worth-card {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 16px;
  border-radius: 10px;
  background: rgba(255,255,255,.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}

.lead-value-ticker span,
.lead-worth-card span,
.lead-value-ticker small,
.lead-worth-card small {
  color: rgba(255,255,255,.72);
  font-size: 11px;
  font-weight: 900;
}

.lead-value-ticker b,
.lead-worth-card b {
  color: var(--website-accent);
  font-family: "JetBrains Mono", monospace;
  line-height: 1;
}

.lead-value-ticker b {
  font-size: clamp(30px, 5vw, 46px);
}

.lead-worth-card b {
  position: relative;
  min-height: 38px;
  font-size: clamp(26px, 4vw, 38px);
  color: transparent;
}

.lead-worth-card b::before {
  content: "4.800 EUR";
  position: absolute;
  left: 0;
  color: var(--website-accent);
  animation: leadValueDrop 6s steps(1, end) infinite;
}

.lead-worth-card i {
  position: relative;
  display: block;
  width: 100%;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
}

.lead-worth-card i::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #25d366, var(--website-accent), #ff6b6b);
  transform-origin: left center;
  animation: leadBarDrop 6s linear infinite;
}

.ticker-time {
  color: transparent;
}

.ticker-time::before {
  content: "00:12";
  color: var(--website-accent);
  animation: leadTimeTick 6s steps(1, end) infinite;
}

@keyframes leadTimeTick {
  0% { content: "00:12"; }
  18% { content: "03:45"; }
  36% { content: "12:20"; }
  54% { content: "28:10"; }
  72% { content: "01:04h"; }
  88%, 100% { content: "02:18h"; }
}

@keyframes leadValueDrop {
  0% { content: "4.800 EUR"; color: #25d366; }
  18% { content: "4.250 EUR"; color: var(--website-accent); }
  36% { content: "3.420 EUR"; color: var(--website-accent); }
  54% { content: "2.680 EUR"; color: #ffcf4a; }
  72% { content: "1.920 EUR"; color: #ff9f43; }
  88%, 100% { content: "1.150 EUR"; color: #ff6b6b; }
}

@keyframes leadBarDrop {
  0% { transform: scaleX(1); }
  18% { transform: scaleX(.88); }
  36% { transform: scaleX(.71); }
  54% { transform: scaleX(.56); }
  72% { transform: scaleX(.4); }
  88%, 100% { transform: scaleX(.24); }
}

.mock-metric b {
  color: var(--website-accent);
  font-size: 44px;
  line-height: 1;
}

.mock-metric span,
.mock-call,
.mock-map strong,
.mock-rating span {
  font-weight: 900;
}

.mock-pipeline {
  display: grid;
  align-items: end;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
  grid-row: 1 / span 3;
}

.mock-pipeline i {
  border-radius: 10px 10px 4px 4px;
  background: linear-gradient(180deg, var(--website-accent), rgba(255,255,255,.18));
  animation: websiteBarRise 2.8s ease-in-out infinite;
}

.mock-pipeline i:nth-child(1) { height: 52%; }
.mock-pipeline i:nth-child(2) { height: 74%; animation-delay: -.4s; }
.mock-pipeline i:nth-child(3) { height: 44%; animation-delay: -.8s; }
.mock-pipeline i:nth-child(4) { height: 88%; animation-delay: -1.2s; }

.mock-integrations {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mock-integrations span {
  animation: chipPop 3.8s ease-in-out infinite;
}

.mock-integrations span:nth-child(2) { animation-delay: .35s; }
.mock-integrations span:nth-child(3) { animation-delay: .7s; }

@keyframes cardFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

@keyframes chipPop {
  0%, 40%, 100% { transform: scale(1); }
  52% { transform: scale(1.08); }
}

.mock-integrations span,
.mock-method i {
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  font-size: 12px;
  font-weight: 900;
}

@keyframes websiteBarRise {
  0%, 100% { transform: scaleY(.86); opacity: .78; }
  50% { transform: scaleY(1); opacity: 1; }
}

.website-mock-beratung {
  grid-template-columns: 1fr;
}

.mock-session,
.mock-method,
.mock-people,
.mock-rating,
.mock-map,
.mock-testimonial,
.mock-call {
  border-radius: 10px;
  background: rgba(255,255,255,.12);
}

.workshop-flow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: center;
  min-height: 140px;
  padding: 14px;
  border-radius: 12px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.08) 1px, transparent 1px),
    rgba(255,255,255,.08);
  background-size: 28px 28px;
}

.flow-node {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: center;
  gap: 5px;
  min-height: 92px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px;
  background: rgba(255,255,255,.12);
  animation: flowNodePulse 5.2s ease-in-out infinite;
}

.flow-node:nth-of-type(3) { animation-delay: .5s; }
.flow-node:nth-of-type(5) { animation-delay: 1s; }
.flow-result { animation-delay: 1.5s; }

.flow-node small {
  color: rgba(255,255,255,.68);
  font-size: 10px;
  font-weight: 900;
}

.flow-node b {
  color: #fff;
  font-size: 15px;
  line-height: 1.05;
}

.flow-start {
  background: rgba(255,255,255,.18);
}

.flow-result {
  color: #00131f;
  background: var(--website-accent);
}

.flow-result small,
.flow-result b {
  color: #00131f;
}

.flow-line {
  position: absolute;
  z-index: 1;
  top: 50%;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--website-accent), transparent);
  transform: translateY(-50%) scaleX(0);
  transform-origin: left center;
  animation: flowLineDraw 5.2s ease-in-out infinite;
}

.line-one { left: 22%; width: 15%; }
.line-two { left: 46%; width: 15%; animation-delay: .45s; }
.line-three { left: 70%; width: 15%; animation-delay: .9s; }

.workshop-output {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.workshop-output span {
  display: grid;
  align-content: center;
  min-height: 58px;
  padding: 10px;
  border-radius: 10px;
  color: #00131f;
  background: rgba(255,255,255,.86);
  font-size: 11px;
  line-height: 1.25;
  font-weight: 950;
  animation: outputPop 5.2s ease-in-out infinite;
}

.workshop-output span:nth-child(2) { animation-delay: .35s; }
.workshop-output span:nth-child(3) { animation-delay: .7s; }

@keyframes flowLineDraw {
  0%, 28%, 100% { transform: translateY(-50%) scaleX(0); opacity: 0; }
  42%, 78% { transform: translateY(-50%) scaleX(1); opacity: 1; }
}

@keyframes flowNodePulse {
  0%, 32%, 100% { transform: translateY(0); border-color: rgba(255,255,255,.16); }
  45%, 64% { transform: translateY(-5px); border-color: var(--website-accent); }
}

@keyframes outputPop {
  0%, 50%, 100% { transform: scale(1); }
  62% { transform: scale(1.04); }
}

.mock-session {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
}

.mock-session b {
  color: var(--website-accent);
  font-size: 36px;
}

.mock-method {
  display: grid;
  gap: 8px;
  padding: 14px;
}

.mock-method i {
  animation: methodStep 4.2s ease-in-out infinite;
}

.mock-method i:nth-child(2) { animation-delay: .45s; }
.mock-method i:nth-child(3) { animation-delay: .9s; }

@keyframes methodStep {
  0%, 35%, 100% { background: rgba(255,255,255,.14); color: #fff; transform: translateX(0); }
  48%, 64% { background: var(--website-accent); color: #00131f; transform: translateX(5px); }
}

.mock-people {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
}

.mock-people span {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: linear-gradient(135deg, #fff, var(--website-accent));
  animation: avatarJoin 4.4s ease-in-out infinite;
}

.mock-people span:nth-child(2) { animation-delay: .35s; }
.mock-people span:nth-child(3) { animation-delay: .7s; }

.mock-people b {
  margin-left: auto;
  color: var(--website-accent);
  font-size: 12px;
}

@keyframes avatarJoin {
  0%, 35%, 100% { transform: translateY(0); opacity: .78; }
  50%, 68% { transform: translateY(-5px); opacity: 1; }
}

.website-mock-handwerk {
  grid-template-columns: 1.2fr .8fr;
  grid-template-rows: 1fr auto auto;
}

.local-map-card {
  position: relative;
  grid-row: 1 / span 3;
  min-height: 224px;
  overflow: hidden;
  border-radius: 12px;
  background:
    linear-gradient(25deg, transparent 0 45%, rgba(255,255,255,.18) 45% 48%, transparent 48%),
    linear-gradient(115deg, transparent 0 38%, rgba(255,255,255,.15) 38% 41%, transparent 41%),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.08) 1px, transparent 1px),
    rgba(255,255,255,.12);
  background-size: auto, auto, 30px 30px, 30px 30px, auto;
}

.local-map-card::before {
  content: "Maps";
  position: absolute;
  left: 12px;
  top: 10px;
  padding: 5px 8px;
  border-radius: 999px;
  color: #00131f;
  background: rgba(255,255,255,.86);
  font-size: 10px;
  font-weight: 950;
}

.map-route {
  position: absolute;
  left: 24%;
  top: 62%;
  width: 52%;
  height: 4px;
  border-radius: 999px;
  background: repeating-linear-gradient(90deg, var(--website-accent) 0 12px, rgba(255,255,255,.35) 12px 18px);
  transform: rotate(-28deg);
  transform-origin: left center;
  animation: routeDrive 2.2s linear infinite;
}

.pin {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 3px solid #fff;
  border-radius: 50% 50% 50% 0;
  color: #00131f;
  background: var(--website-accent);
  font-size: 10px;
  font-weight: 950;
  box-shadow: 0 10px 20px rgba(0,0,0,.25);
}

.pin-home {
  left: 17%;
  bottom: 24%;
  transform: rotate(-45deg);
}

.pin-home::before,
.pin-service::before {
  content: attr(class);
  transform: rotate(45deg);
}

.pin-home {
  color: transparent;
}

.pin-home::before {
  content: "Du";
  color: #00131f;
}

.pin-service {
  right: 16%;
  top: 24%;
  color: transparent;
  background: #25d366;
  transform: rotate(-45deg);
  animation: pinDrop 3.8s ease-in-out infinite;
}

.pin-service::before {
  content: "SHK";
  color: #00131f;
}

@keyframes pinDrop {
  0%, 42%, 100% { transform: translateY(0) rotate(-45deg); filter: none; }
  54% { transform: translateY(-10px) rotate(-45deg); filter: drop-shadow(0 12px 10px rgba(255,207,74,.34)); }
  64% { transform: translateY(0) rotate(-45deg); }
}

.eta-card {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: grid;
  gap: 3px;
  min-width: 118px;
  padding: 12px;
  border-radius: 10px;
  color: #00131f;
  background: rgba(255,255,255,.9);
  box-shadow: 0 12px 24px rgba(7,19,29,.18);
}

.eta-card small,
.eta-card span {
  color: #5f7280;
  font-size: 10px;
  font-weight: 900;
}

.eta-card b {
  font-size: 26px;
  line-height: 1;
}

.damage-ticker {
  overflow: hidden;
  border-radius: 10px;
  background: rgba(255,255,255,.12);
}

.damage-ticker div {
  display: flex;
  width: max-content;
  gap: 8px;
  padding: 10px;
  animation: damageTicker 11s linear infinite;
}

.damage-ticker span {
  flex: 0 0 auto;
  padding: 8px 10px;
  border-radius: 999px;
  color: #00131f;
  background: rgba(255,255,255,.82);
  font-size: 11px;
  font-weight: 950;
}

.local-proof {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 10px;
  background: rgba(255,255,255,.12);
}

.local-proof b {
  color: var(--website-accent);
  font-size: 34px;
  line-height: .9;
}

.local-proof span,
.local-proof small {
  color: rgba(255,255,255,.78);
  font-size: 11px;
  font-weight: 900;
}

@keyframes routeDrive {
  0% { background-position: 0 0; }
  100% { background-position: 36px 0; }
}

@keyframes damageTicker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.mock-call {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 16px;
  color: #00131f;
  background: var(--website-accent);
  animation: callGlow 3.6s ease-in-out infinite;
}

.website-mock-handwerk .mock-call {
  justify-content: center;
  min-height: 54px;
  font-size: 15px;
}

@keyframes callGlow {
  0%, 100% { box-shadow: none; }
  52% { box-shadow: 0 0 0 5px color-mix(in srgb, var(--website-accent), transparent 72%); }
}

.mock-testimonial {
  display: grid;
  gap: 5px;
  padding: 14px;
}

.mock-testimonial b {
  font-size: 14px;
}

.mock-testimonial span {
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 900;
}

.mock-whatsapp {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #fff;
  background: #25d366;
  font-size: 11px;
  font-weight: 950;
}

.website-mock-portfolio {
  grid-template-columns: 1fr;
  align-content: stretch;
  perspective: 1100px;
}

.luxury-magazine {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 218px;
  border-radius: 12px;
  overflow: hidden;
  background: #f8f4ef;
  box-shadow:
    0 18px 35px rgba(0,0,0,.28),
    inset 0 0 0 1px rgba(255,255,255,.6);
  transform: rotateX(4deg) rotateY(-7deg);
  animation: magazineFloat 5.6s ease-in-out infinite;
}

.luxury-magazine::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0 38%, rgba(255,255,255,.42) 46%, transparent 56%);
  transform: translateX(-110%);
  animation: magazineGloss 5.6s ease-in-out infinite;
  pointer-events: none;
}

.magazine-spine {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 8px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(0,0,0,.16), rgba(255,255,255,.68), rgba(0,0,0,.12));
}

.mag-page {
  position: relative;
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 16px;
  color: #130b1f;
  background:
    radial-gradient(circle at 12% 12%, rgba(139,92,246,.14), transparent 28%),
    #fffaf2;
}

.mag-left {
  border-right: 1px solid rgba(19,11,31,.1);
}

.mag-page small {
  color: #7d6a92;
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .06em;
}

.mag-page h4 {
  margin: 0;
  font-size: clamp(22px, 3vw, 34px);
  line-height: .95;
}

.mag-page p,
.mag-page span {
  margin: 0;
  color: #4b3c5e;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 900;
}

.property-photo {
  min-height: 82px;
  border-radius: 8px;
  overflow: hidden;
  background:
    linear-gradient(180deg, transparent, rgba(0,0,0,.22)),
    linear-gradient(135deg, #d9c9ad, #fff8e7 38%, #8b5cf6);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.36);
}

.photo-one {
  background:
    linear-gradient(180deg, transparent 42%, rgba(0,0,0,.34)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.8) 0 7px, transparent 7px 15px),
    linear-gradient(135deg, #c8d7de, #f7efe4 45%, #8b5cf6);
}

.photo-two {
  min-height: 112px;
  background:
    radial-gradient(circle at 68% 28%, rgba(255,255,255,.9) 0 6%, transparent 7%),
    linear-gradient(90deg, rgba(255,255,255,.78) 0 18%, transparent 19% 35%, rgba(255,255,255,.48) 36% 52%, transparent 53%),
    linear-gradient(135deg, #273044, #9e8f7c 52%, #f5efe4);
}

.photo-three {
  min-height: 124px;
  background:
    linear-gradient(180deg, transparent 36%, rgba(0,0,0,.32)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.72) 0 6px, transparent 6px 18px),
    linear-gradient(135deg, #e9dfcf, #7c6a59 52%, #2b173f);
}

.mag-stat {
  display: inline-grid;
  justify-self: start;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 999px;
  color: #fff;
  background: #130b1f;
}

.mag-stat b {
  color: var(--website-accent);
  font-size: 20px;
  line-height: 1;
}

.mag-stat span {
  color: rgba(255,255,255,.78);
  font-size: 9px;
}

.mag-turn {
  position: absolute;
  z-index: 4;
  inset: 0 0 0 50%;
  transform-origin: left center;
  background: #fffaf2;
  box-shadow: -12px 0 26px rgba(0,0,0,.18);
  animation: pageTurn 5.6s ease-in-out infinite;
}

.mag-turn b {
  align-self: end;
  color: #130b1f;
  font-size: 17px;
}

@keyframes magazineFloat {
  0%, 100% { transform: rotateX(4deg) rotateY(-7deg) translateY(0); }
  50% { transform: rotateX(2deg) rotateY(-3deg) translateY(-7px); }
}

@keyframes magazineGloss {
  0%, 42%, 100% { transform: translateX(-110%); opacity: 0; }
  58% { opacity: 1; }
  76% { transform: translateX(110%); opacity: 0; }
}

@keyframes pageTurn {
  0%, 18%, 100% { transform: rotateY(0deg); opacity: .94; }
  42%, 64% { transform: rotateY(-138deg); opacity: .88; }
}

.website-mock-portfolio strong {
  grid-column: 1 / -1;
  padding: 14px;
  border-radius: 10px;
  color: #00131f;
  background: var(--website-accent);
  font-size: clamp(18px, 2.5vw, 28px);
}

.website-preview-modules {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.website-preview-modules article {
  min-height: 118px;
  display: grid;
  align-content: center;
  gap: 12px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--website-accent), #ffffff 72%);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72));
  box-shadow: 0 12px 28px rgba(7,19,29,.06);
}

.website-preview-modules b {
  color: var(--website-dark);
}

.website-preview-modules p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 800;
}

.website-preview-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 22px;
}

.website-preview-proof span {
  min-width: 0;
  padding: 10px 12px;
  border-left: 3px solid var(--website-accent);
  border-radius: 7px;
  color: var(--website-dark);
  background: rgba(255,255,255,.78);
  box-shadow: 0 8px 18px rgba(7,19,29,.05);
  font-size: 12px;
  font-weight: 950;
}

.website-preview-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .72fr);
  gap: 14px;
  align-items: stretch;
  margin-top: 12px;
}

.website-preview-result article {
  display: grid;
  align-content: center;
  gap: 6px;
  min-width: 0;
  padding: 18px;
  border-radius: 10px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--website-accent), transparent 45%), transparent 28%),
    var(--website-dark);
  box-shadow: 0 18px 40px rgba(7,19,29,.12);
}

.website-preview-result p,
.website-preview-result h4,
.website-preview-result span {
  margin: 0;
}

.website-preview-result p {
  color: var(--website-accent);
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.website-preview-result h4 {
  font-size: clamp(20px, 3vw, 32px);
  line-height: 1.03;
}

.website-preview-result span {
  color: rgba(255,255,255,.74);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 800;
}

.website-preview-result div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.website-preview-result b {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 82px;
  padding: 10px;
  border: 1px solid #d9e8ef;
  border-radius: 8px;
  color: #60717d;
  background: rgba(255,255,255,.86);
  font-size: 11px;
  text-align: center;
  box-shadow: 0 10px 24px rgba(7,19,29,.05);
}

.website-build-status {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border-top: 1px solid #c7e2ee;
  background: #c7e2ee;
}

.website-build-status span {
  padding: 14px 12px;
  color: var(--muted);
  background: #f8fcfe;
  font-size: 12px;
  font-weight: 900;
  transition: color 180ms ease, background 180ms ease;
}

.website-build-status span.is-active {
  color: #00131f;
  background: var(--blue);
}

.website-case-section {
  padding: clamp(58px, 8vw, 104px) clamp(18px, 6vw, 76px);
  background:
    radial-gradient(circle at 12% 12%, rgba(54,181,245,.16), transparent 28%),
    linear-gradient(180deg, #fff, #eef9fe);
}

.website-case-section .section-heading {
  max-width: 920px;
}

.website-case-section h2 {
  margin: 0;
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1;
}

.website-case-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}

.website-case-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: minmax(210px, 260px) 1fr;
  border: 1px solid #b9dce9;
  border-radius: 8px;
  color: #00131f;
  background: #fff;
  text-decoration: none;
  box-shadow: 0 22px 58px rgba(7,19,29,.09);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.website-case-card:hover,
.website-case-card:focus-visible {
  transform: translateY(-4px);
  border-color: var(--blue);
  box-shadow: 0 30px 74px rgba(7,19,29,.14);
}

.website-case-card figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #06131b;
}

.website-case-card figure::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, transparent 42%, rgba(0,19,31,.46)),
    repeating-linear-gradient(90deg, rgba(54,181,245,.16) 0 1px, transparent 1px 12px);
  opacity: .42;
  pointer-events: none;
  transition: opacity 180ms ease;
}

.website-case-card:hover figure::before,
.website-case-card:focus-visible figure::before {
  opacity: .18;
}

.website-case-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: top center;
  filter: saturate(.92) contrast(.95);
  transform: scale(1.01);
  transition: transform 240ms ease, filter 240ms ease;
}

.website-case-card:hover img,
.website-case-card:focus-visible img {
  filter: saturate(1.08) contrast(1);
  transform: scale(1.05);
}

.website-case-card div {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 22px;
}

.website-case-card span {
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.website-case-card h3 {
  margin: 0;
  font-size: 28px;
  line-height: 1;
}

.website-case-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.52;
  font-weight: 800;
}

.website-case-card b {
  margin-top: 8px;
  color: #00131f;
}

@media (max-width: 980px) {
  .webdesign-hero,
  .webdesign-benefits,
  .website-designer-layout,
  .website-case-section,
  .website-process-section {
    grid-template-columns: 1fr;
  }

  .website-case-grid {
    grid-template-columns: 1fr;
  }

  .website-build-preview {
    min-height: 430px;
  }

  .website-preview-hero {
    grid-template-columns: 1fr;
  }

  .website-preview-visual {
    min-height: 320px;
  }

  .website-mock {
    min-height: 210px;
  }

  .website-preview-modules,
  .website-preview-proof,
  .website-preview-result,
  .website-build-status {
    grid-template-columns: 1fr;
  }

  .website-case-card {
    grid-template-rows: minmax(190px, 250px) 1fr;
  }
}

@media (max-width: 680px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .webdesign-benefit-grid,
  .website-process-track {
    grid-template-columns: 1fr;
  }

  .webdesign-hero,
  .webdesign-benefits,
  .website-designer-section,
  .website-case-section,
  .website-process-section {
    padding-inline: 16px;
  }

  .webdesign-hero {
    min-height: auto;
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .webdesign-hero h1,
  .website-case-section h2,
  .webdesign-benefits h2,
  .website-process-section h2 {
    font-size: clamp(32px, 11vw, 44px);
    line-height: 1.02;
  }

  .website-build-preview {
    min-height: 320px;
  }

  .site-wireframe {
    width: 100%;
    min-height: 250px;
    inset: 18px auto auto 0;
    gap: 9px;
    padding: 12px;
    transform: rotateY(-5deg) rotateX(3deg);
  }

  .site-wireframe.frame-two {
    display: none;
  }

  .website-type-panel button {
    grid-template-columns: 38px minmax(0, 1fr);
    min-height: auto;
    padding: 14px;
  }

  .website-type-panel span {
    width: 38px;
    height: 38px;
  }

  .website-preview-page header {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 26px;
  }

  .website-preview-page header > b {
    width: 100%;
  }

  .preview-logo-mark {
    max-width: 100%;
  }

  .logo-word {
    font-size: 18px;
    white-space: normal;
  }

  .logo-copy small {
    white-space: normal;
  }

  .logo-symbol {
    width: 46px;
    height: 46px;
  }

  .reference-brand {
    width: 100%;
  }

  .reference-wordmark {
    font-size: 18px;
  }

  .reference-site-preview {
    min-height: 260px;
  }

  .reference-overlay b {
    font-size: 20px;
  }

  .website-preview-page header button {
    width: auto;
  }

  .website-preview-page nav {
    order: 3;
    width: 100%;
    justify-content: flex-start;
  }

  .website-preview-hero h3 {
    font-size: clamp(30px, 10vw, 38px);
    line-height: 1;
  }

  .website-preview-hero p {
    font-size: 15px;
  }

  .website-preview-page {
    min-height: auto;
    padding: 16px;
  }

  .website-preview-page::before {
    margin: -16px -16px 18px;
  }

  .website-preview-visual {
    min-height: auto;
    padding: 12px;
  }

  .website-mock-saas,
  .website-mock-beratung,
  .website-mock-handwerk,
  .website-mock-portfolio {
    grid-template-columns: 1fr;
  }

  .mock-pipeline {
    grid-row: auto;
    min-height: 130px;
  }

  .lead-value-ticker,
  .lead-worth-card {
    min-height: 118px;
  }

  .workshop-flow,
  .workshop-output {
    grid-template-columns: 1fr;
  }

  .workshop-flow {
    min-height: auto;
  }

  .flow-line {
    display: none;
  }

  .mock-people,
  .mock-call,
  .website-mock-portfolio strong {
    grid-column: auto;
  }

  .local-map-card {
    grid-row: auto;
    min-height: 210px;
  }

  .damage-ticker div {
    animation-duration: 9s;
  }

  .website-mock-portfolio article {
    min-height: 94px;
  }

  .luxury-magazine {
    min-height: 240px;
    transform: none;
  }

  .mag-page {
    padding: 12px;
  }

  .mag-turn {
    display: none;
  }

  .website-preview-modules {
    margin-top: 18px;
  }

  .website-preview-proof {
    margin-top: 16px;
  }

  .website-preview-result div {
    grid-template-columns: 1fr;
  }

  .website-preview-result b {
    min-height: 54px;
  }

  .website-preview-modules article {
    min-height: auto;
    padding: 14px;
  }

  .website-build-status span {
    padding: 11px 12px;
  }

  .website-case-card {
    grid-template-rows: minmax(170px, 220px) 1fr;
  }

  .website-case-card div {
    padding: 18px;
  }

  .website-case-card h3 {
    font-size: 24px;
  }
}

.relief-section { display: grid; grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr); gap: clamp(28px, 6vw, 86px); padding: clamp(54px, 8vw, 100px) clamp(18px, 6vw, 76px); color: #fff; background: #07131d; }
.relief-intro { align-self: start; position: sticky; top: 110px; }
.relief-intro > p:last-child { max-width: 520px; color: #9db2be; font-size: 18px; line-height: 1.6; }
.relief-list { display: grid; border-top: 1px solid #294352; }
.relief-list article { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 20px; padding: 26px 0; border-bottom: 1px solid #294352; }
.relief-list article > b { color: var(--blue); font-family: "JetBrains Mono", monospace; }
.relief-list h3 { margin: 0 0 8px; font-size: 24px; }
.relief-list p { margin: 0; color: #9db2be; line-height: 1.6; }

.faq-section {
  display: grid;
  grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr);
  gap: clamp(28px, 6vw, 86px);
  padding: clamp(54px, 8vw, 100px) clamp(18px, 6vw, 76px);
  background:
    radial-gradient(circle at 12% 18%, rgba(54, 181, 245, 0.16), transparent 30%),
    linear-gradient(180deg, #f8fdff, #eaf8fe);
}

.faq-intro {
  align-self: start;
  position: sticky;
  top: 110px;
}

.faq-intro h2 {
  margin: 0;
  max-width: 680px;
  font-size: clamp(38px, 5vw, 70px);
  line-height: 0.98;
}

.faq-intro > p:last-child {
  max-width: 560px;
  color: var(--muted);
  font-size: clamp(17px, 1.7vw, 21px);
  line-height: 1.6;
}

.faq-list {
  display: grid;
  gap: 12px;
}

.faq-list details {
  overflow: hidden;
  border: 1px solid rgba(54, 181, 245, 0.32);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 44px rgba(6, 32, 46, 0.08);
}

.faq-list summary {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 28px;
  gap: 16px;
  align-items: center;
  padding: 20px;
  cursor: pointer;
  list-style: none;
}

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

.faq-list summary::after {
  content: "+";
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  color: var(--ink);
  background: #dff5ff;
  font-weight: 950;
}

.faq-list details[open] summary::after {
  content: "-";
  color: #fff;
  background: var(--blue);
}

.faq-list summary span {
  color: var(--blue);
  font-family: "JetBrains Mono", monospace;
  font-weight: 900;
}

.faq-list summary b {
  font-size: clamp(19px, 2vw, 27px);
  line-height: 1.14;
}

.faq-list p {
  margin: 0;
  padding: 0 20px 22px 88px;
  color: var(--muted);
  font-size: clamp(16px, 1.55vw, 19px);
  font-weight: 760;
  line-height: 1.65;
}

.business-faq-section {
  color: #fff;
  background:
    radial-gradient(circle at 84% 10%, rgba(54, 181, 245, 0.22), transparent 34%),
    linear-gradient(180deg, #07131d, #0a1b27);
}

.business-faq-section .faq-intro > p:last-child,
.business-faq-section .faq-list p {
  color: #a9bfca;
}

.business-faq-section .faq-list details {
  border-color: rgba(137, 217, 255, 0.22);
  background: rgba(12, 35, 49, 0.88);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18);
}

.business-faq-section .faq-list summary::after {
  color: #fff;
  background: rgba(54, 181, 245, 0.18);
}

.business-faq-section .faq-list details[open] summary::after {
  background: var(--blue);
}

.decision-section {
  padding: clamp(54px, 8vw, 96px) clamp(18px, 6vw, 76px);
  background: #fff;
}

.decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: clamp(24px, 4vw, 46px);
}

.decision-card {
  padding: clamp(24px, 4vw, 42px);
  border-radius: 8px;
  border: 1px solid rgba(54, 181, 245, 0.28);
  background: linear-gradient(180deg, #f7fcff, #fff);
}

.decision-card h3 {
  margin: 0 0 20px;
  font-size: clamp(28px, 3.2vw, 42px);
}

.decision-card ul {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.decision-card li {
  position: relative;
  padding-left: 30px;
  color: var(--muted);
  font-size: clamp(16px, 1.7vw, 20px);
  font-weight: 800;
  line-height: 1.45;
}

.decision-card li::before {
  position: absolute;
  left: 0;
  top: 0;
  color: var(--blue);
  font-weight: 950;
}

.decision-yes li::before {
  content: "✓";
}

.decision-no li::before {
  content: "×";
}

.app-buying-section {
  display: grid;
  grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr);
  gap: clamp(28px, 6vw, 76px);
  padding: clamp(54px, 8vw, 96px) clamp(18px, 6vw, 76px);
  background: #fff;
}

.app-buying-copy {
  align-self: center;
}

.app-buying-copy h2 {
  margin: 0;
  font-size: clamp(38px, 5vw, 68px);
  line-height: .98;
}

.app-buying-copy p:not(.eyebrow) {
  max-width: 610px;
  color: var(--muted);
  font-size: clamp(17px, 1.7vw, 21px);
  line-height: 1.6;
}

.buying-matrix {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.buying-matrix article {
  min-height: 230px;
  padding: clamp(20px, 3vw, 30px);
  border-radius: 8px;
  border: 1px solid rgba(54, 181, 245, 0.28);
  background:
    radial-gradient(circle at 92% 8%, rgba(54, 181, 245, 0.18), transparent 32%),
    linear-gradient(180deg, #f7fcff, #fff);
}

.buying-matrix span {
  color: var(--blue);
  font-family: "JetBrains Mono", monospace;
  font-weight: 900;
}

.buying-matrix h3 {
  margin: 26px 0 12px;
  font-size: clamp(25px, 2.7vw, 36px);
}

.buying-matrix p {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  font-weight: 760;
  line-height: 1.55;
}

.comparison-section {
  padding: clamp(54px, 8vw, 96px) clamp(18px, 6vw, 76px);
  background: #f4fbff;
}

.comparison-table {
  overflow: hidden;
  margin-top: clamp(24px, 4vw, 46px);
  border: 1px solid rgba(54, 181, 245, 0.32);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(6, 32, 46, 0.08);
}

.comparison-table > div {
  display: grid;
  grid-template-columns: .76fr 1fr 1fr;
  border-bottom: 1px solid rgba(54, 181, 245, 0.2);
}

.comparison-table > div:last-child {
  border-bottom: 0;
}

.comparison-table span {
  padding: 18px;
  color: var(--muted);
  font-weight: 850;
  line-height: 1.4;
}

.comparison-table span:first-child {
  color: var(--ink);
  font-weight: 950;
}

.comparison-head {
  background: #07131d;
}

.comparison-head span,
.comparison-head span:first-child {
  color: #fff;
}

.calculator-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, .88fr) minmax(280px, .7fr);
  gap: clamp(28px, 6vw, 82px);
  align-items: center;
  min-height: clamp(620px, 82vh, 860px);
  overflow: hidden;
  padding: clamp(92px, 10vw, 136px) clamp(18px, 6vw, 76px) clamp(54px, 8vw, 92px);
  color: #fff;
  background:
    radial-gradient(circle at 80% 20%, rgba(54, 181, 245, 0.22), transparent 32%),
    linear-gradient(135deg, #02070b, #07131d 58%, #0a2738);
}

.calculator-code {
  position: absolute;
  inset: 0;
  overflow: hidden;
  opacity: .26;
  pointer-events: none;
}

.calculator-code span {
  position: absolute;
  color: var(--blue);
  font-family: "JetBrains Mono", monospace;
  font-size: clamp(13px, 1.5vw, 19px);
  font-weight: 800;
  animation: calcCodeDrift 12s linear infinite;
}

.calculator-code span:nth-child(1) { left: 8%; top: 18%; }
.calculator-code span:nth-child(2) { left: 24%; top: 72%; animation-delay: -2s; }
.calculator-code span:nth-child(3) { left: 46%; top: 28%; animation-delay: -4s; }
.calculator-code span:nth-child(4) { left: 68%; top: 64%; animation-delay: -1s; }
.calculator-code span:nth-child(5) { left: 82%; top: 16%; animation-delay: -6s; }
.calculator-code span:nth-child(6) { left: 12%; top: 52%; animation-delay: -8s; }
.calculator-code span:nth-child(7) { left: 38%; top: 86%; animation-delay: -3s; }
.calculator-code span:nth-child(8) { left: 58%; top: 10%; animation-delay: -7s; }
.calculator-code span:nth-child(9) { left: 76%; top: 42%; animation-delay: -5s; }
.calculator-code span:nth-child(10) { left: 88%; top: 82%; animation-delay: -9s; }

@keyframes calcCodeDrift {
  0% { transform: translateY(34px); opacity: 0; }
  18% { opacity: 1; }
  82% { opacity: 1; }
  100% { transform: translateY(-58px); opacity: 0; }
}

.calculator-hero .detail-hero-copy,
.calculator-hero-card {
  position: relative;
  z-index: 1;
}

.calculator-hero-card {
  display: grid;
  gap: 24px;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid rgba(137, 217, 255, 0.32);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.055)),
    rgba(5, 20, 30, 0.78);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.32);
  backdrop-filter: blur(18px);
}

.calc-mini-head {
  display: flex;
  align-items: center;
  gap: 9px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(137, 217, 255, 0.2);
}

.calc-mini-head span {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #ff6b6b;
}

.calc-mini-head span:nth-child(2) { background: #ffd166; }
.calc-mini-head span:nth-child(3) { background: #54d17a; }
.calc-mini-head b { margin-left: auto; color: #dff5ff; }

.calc-mini-meter {
  height: 18px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.1);
}

.calc-mini-meter i {
  display: block;
  width: 72%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--blue), #78f4ce);
  animation: calcMeter 2.8s ease-in-out infinite alternate;
}

@keyframes calcMeter {
  from { width: 48%; }
  to { width: 86%; }
}

.calc-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.calc-mini-grid span {
  display: grid;
  gap: 8px;
  min-height: 112px;
  padding: 16px;
  border: 1px solid rgba(137, 217, 255, 0.24);
  border-radius: 8px;
  background: rgba(255,255,255,.08);
}

.calc-mini-grid b {
  color: #9db2be;
  font-size: 13px;
  text-transform: uppercase;
}

.calc-mini-grid em {
  color: #fff;
  font-size: clamp(20px, 2.4vw, 30px);
  font-style: normal;
  font-weight: 950;
  line-height: 1.05;
}

.calculator-section {
  padding: clamp(54px, 8vw, 96px) clamp(18px, 6vw, 76px);
  background: #fff;
}

.calculator-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .42fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: start;
  margin-top: clamp(28px, 4vw, 52px);
}

.calculator-form {
  display: grid;
  gap: 18px;
}

.calculator-form fieldset,
.range-field {
  margin: 0;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid rgba(54, 181, 245, 0.28);
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fdff, #fff);
}

.calculator-form legend {
  padding: 0 8px;
  font-size: clamp(22px, 2.6vw, 34px);
  font-weight: 950;
}

.option-grid,
.check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.option-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.option-grid label,
.check-grid label {
  cursor: pointer;
}

.option-grid input,
.check-grid input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.option-grid span,
.check-grid label {
  display: grid;
  gap: 8px;
  min-height: 112px;
  padding: 18px;
  border: 1px solid rgba(54, 181, 245, 0.26);
  border-radius: 8px;
  color: var(--ink);
  background: #fff;
  font-weight: 900;
  box-shadow: 0 14px 34px rgba(6, 32, 46, 0.05);
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.check-grid label {
  min-height: 84px;
  align-content: center;
}

.option-grid input:checked + span,
.check-grid label:has(input:checked) {
  border-color: var(--blue);
  background: linear-gradient(180deg, #eaf8fe, #fff);
  box-shadow: 0 18px 44px rgba(54, 181, 245, 0.16);
  transform: translateY(-2px);
}

.option-grid small {
  color: var(--muted);
  font-weight: 760;
  line-height: 1.4;
}

.range-field {
  display: grid;
  gap: 12px;
}

.range-field label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: clamp(22px, 2.6vw, 34px);
}

.range-field label span {
  display: grid;
  min-width: 54px;
  height: 42px;
  place-items: center;
  border-radius: 8px;
  color: #00131f;
  background: var(--blue);
  font-size: 22px;
  font-weight: 950;
}

.range-field input {
  width: 100%;
  accent-color: var(--blue);
}

.range-field small {
  color: var(--muted);
  font-weight: 760;
  line-height: 1.45;
}

.calculator-form textarea {
  width: 100%;
  resize: vertical;
  border: 1px solid rgba(54, 181, 245, 0.32);
  border-radius: 8px;
  padding: 16px;
  font: inherit;
  font-size: 17px;
}

.calculator-result {
  position: sticky;
  top: 104px;
  display: grid;
  gap: 14px;
}

.result-card {
  padding: clamp(22px, 3vw, 34px);
  border-radius: 8px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 10%, rgba(54, 181, 245, 0.28), transparent 34%),
    linear-gradient(180deg, #07131d, #0a1b27);
  box-shadow: 0 24px 70px rgba(7, 19, 29, 0.18);
}

.result-card h3 {
  margin: 0 0 18px;
  font-size: clamp(32px, 4vw, 50px);
  line-height: 1;
}

.result-price {
  display: grid;
  gap: 8px;
  padding: 20px;
  border: 1px solid rgba(137, 217, 255, 0.22);
  border-radius: 8px;
  background: rgba(255,255,255,.07);
}

.result-price span {
  color: var(--blue);
  font-size: clamp(30px, 3.4vw, 46px);
  font-weight: 950;
  line-height: 1;
}

.result-price small,
.result-bars em,
.result-card dd,
.calculator-note span {
  color: #b8ced8;
}

.result-bars {
  display: grid;
  gap: 15px;
  margin: 24px 0;
}

.result-bars div {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr) 74px;
  gap: 12px;
  align-items: center;
  font-weight: 900;
}

.result-bars i {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
}

.result-bars b {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--blue), #78f4ce);
  transition: width .25s ease;
}

.result-card dl {
  display: grid;
  gap: 12px;
  margin: 0;
}

.result-card dl div {
  display: grid;
  gap: 4px;
  padding: 14px 0;
  border-top: 1px solid rgba(137, 217, 255, 0.18);
}

.result-card dt {
  color: var(--blue);
  font-family: "JetBrains Mono", monospace;
  font-weight: 900;
}

.result-card dd {
  margin: 0;
  font-size: 18px;
  font-weight: 850;
  line-height: 1.4;
}

.result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.calculator-note {
  display: grid;
  gap: 6px;
  padding: 18px;
  border: 1px solid rgba(54, 181, 245, 0.28);
  border-radius: 8px;
  background: #eaf8fe;
}

.calculator-note b {
  color: var(--blue-dark);
}

.calculator-note span {
  color: #314653;
  font-weight: 800;
  line-height: 1.45;
}

.calculator-faq-section {
  display: grid;
  grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr);
  gap: clamp(28px, 6vw, 86px);
  padding: clamp(54px, 8vw, 100px) clamp(18px, 6vw, 76px);
  background:
    radial-gradient(circle at 12% 18%, rgba(54, 181, 245, 0.16), transparent 30%),
    linear-gradient(180deg, #f8fdff, #eaf8fe);
}

.people-banner {
  position: relative;
  min-height: clamp(420px, 58vw, 660px);
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: clamp(28px, 6vw, 78px);
  color: #fff;
  background: #02070b;
}

.people-banner img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.03) contrast(1.03);
}

.people-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2, 7, 11, 0.82), rgba(2, 7, 11, 0.18) 58%, rgba(2, 7, 11, 0.64)),
    linear-gradient(0deg, rgba(2, 7, 11, 0.9), rgba(2, 7, 11, 0.04) 54%);
}

.people-banner-copy {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
}

.people-banner-copy h2 {
  margin: 0;
  font-size: clamp(38px, 6vw, 76px);
  line-height: 0.98;
}

.people-banner-copy p:not(.eyebrow) {
  max-width: 610px;
  color: #d6eaf2;
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.5;
}

.people-banner-copy .button {
  margin-top: 12px;
}

.team-section {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
  gap: clamp(28px, 6vw, 74px);
  padding: clamp(54px, 8vw, 96px) clamp(18px, 6vw, 76px);
  background:
    radial-gradient(circle at 12% 16%, rgba(54,181,245,.22), transparent 34%),
    linear-gradient(135deg, #f8fcff, #e7f7fd);
  border-block: 1px solid #c8e8f5;
}

.team-intro h2 {
  margin: 0;
  font-size: clamp(34px, 5vw, 66px);
  line-height: 1;
}

.team-intro p:last-child {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.6;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.team-grid article {
  min-height: 150px;
  display: grid;
  align-content: end;
  gap: 10px;
  padding: 22px;
  border: 1px solid #c5e3ef;
  border-radius: 8px;
  background: rgba(255,255,255,.74);
  box-shadow: 0 16px 42px rgba(7,19,29,.07);
}

.team-grid b {
  font-size: 24px;
}

.team-grid span {
  color: var(--muted);
  line-height: 1.5;
  font-weight: 800;
}

.process-intro {
  align-self: start;
}

.start-window {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  max-width: 430px;
  margin-top: 28px;
  padding: 17px;
  border: 1px solid #93d9f8;
  border-radius: 8px;
  background: #fff;
  box-shadow: 7px 7px 0 var(--blue);
}

.start-window b {
  color: var(--blue-dark);
  font-size: 28px;
}

.start-window span {
  color: var(--muted);
  line-height: 1.4;
  font-weight: 700;
}

.process-track {
  position: relative;
  display: grid;
  gap: 12px;
}

.process-track::before {
  content: "";
  position: absolute;
  top: 36px;
  bottom: 36px;
  left: 28px;
  width: 2px;
  background: #8bd7f8;
}

.process-track article {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 16px;
  padding: 18px;
  border: 1px solid #c8e3ee;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(7, 19, 29, 0.06);
}

.process-track article > b {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border: 2px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  background: var(--blue);
  font-family: "JetBrains Mono", monospace;
}

.process-track small {
  color: var(--blue-dark);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.process-track h3 {
  margin: 4px 0 6px;
  font-size: 22px;
}

.process-track p,
.contact-copy p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.contact-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  background: var(--ink);
  color: #fff;
}

.contact-copy {
  max-width: 820px;
}

.contact-copy p:not(.eyebrow) {
  max-width: 650px;
  font-size: 18px;
}

.calendar-embed {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(240px, .42fr) minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
  margin-top: 8px;
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid rgba(94,203,255,.28);
  border-radius: 8px;
  background:
    radial-gradient(circle at 88% 14%, rgba(54,181,245,.18), transparent 28%),
    rgba(255,255,255,.06);
  scroll-margin-top: 96px;
}

.calendar-copy {
  display: grid;
  align-content: center;
  gap: 12px;
  min-width: 0;
}

.calendar-copy h3 {
  margin: 0;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.03;
}

.calendar-copy p:not(.eyebrow) {
  margin: 0;
  color: #b7cbd5;
  line-height: 1.55;
}

.calendar-frame {
  min-width: 0;
  min-height: 720px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
}

#my-cal-inline-kennenlernen-der-techmatrosen {
  width: 100%;
  height: 100%;
  min-height: 720px;
  overflow: auto;
}

.cal-consent-gate {
  display: grid;
  align-content: center;
  justify-items: center;
  min-height: inherit;
  padding: clamp(28px, 5vw, 64px);
  color: #09202b;
  text-align: center;
  background:
    radial-gradient(circle at 50% 16%, rgba(54,181,245,.2), transparent 28%),
    linear-gradient(145deg, #f8fcfd, #e7f5fa);
}

.cal-consent-icon {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  color: #00131f;
  border: 1px solid #00131f;
  border-radius: 16px;
  background: var(--blue);
  box-shadow: 5px 5px 0 #00131f, 0 0 0 10px rgba(54,181,245,.1);
  font-size: 24px;
  font-weight: 900;
}

.cal-consent-gate > small { margin-top: 26px; color: #087daa; font: 800 10px "JetBrains Mono", monospace; letter-spacing: .06em; text-transform: uppercase; }
.cal-consent-gate h4,
.cal-consent-gate h5 { margin: 9px 0 0; font: 900 clamp(25px, 3vw, 38px) "Inter", Arial, sans-serif; letter-spacing: -.04em; }
.cal-consent-gate p { max-width: 520px; margin: 15px 0 0; color: #5d7580; font-size: 14px; line-height: 1.6; }
.cal-consent-gate button { margin-top: 24px; padding: 14px 18px; color: #00131f; border: 1px solid #00131f; border-radius: 7px; background: var(--blue); box-shadow: 4px 4px 0 #00131f; font: 900 13px "Inter", Arial, sans-serif; cursor: pointer; }
.cal-consent-gate button:hover,
.cal-consent-gate button:focus-visible { transform: translateY(-2px); box-shadow: 6px 6px 0 #00131f; }
.cal-consent-gate > a { margin-top: 18px; color: #315d70; font-size: 11px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  padding: 26px clamp(18px, 6vw, 76px);
  color: #d9eef7;
  background: #07131d;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

footer > div { display: grid; gap: 6px; }
footer nav { display: flex; align-items: center; gap: 18px; }
footer a { color: #fff; font-weight: 800; }

.consulting-main {
  background: var(--paper);
}

.consulting-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(320px, 1.08fr);
  gap: clamp(28px, 6vw, 82px);
  align-items: center;
  padding: clamp(62px, 9vw, 120px) clamp(18px, 6vw, 76px);
  color: #fff;
  background: #02070b;
}

.consulting-hero-copy {
  max-width: 700px;
  min-width: 0;
}

.consulting-hero h1 {
  margin: 0;
  font-size: clamp(40px, 6vw, 78px);
  line-height: 1;
  overflow-wrap: normal;
}

.consulting-hero p:not(.eyebrow) {
  color: #c7dbe5;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.58;
}

.consulting-visual {
  position: relative;
  height: clamp(340px, 45vw, 560px);
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(54, 181, 245, 0.42);
  border-radius: 8px;
  box-shadow: 18px 18px 0 rgba(54, 181, 245, 0.45);
}

.consulting-visual img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.consulting-stack,
.consulting-services {
  padding: clamp(54px, 8vw, 100px) clamp(18px, 6vw, 76px);
}

.stack-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 26px;
}

.stack-grid article {
  min-height: 280px;
  padding: 28px;
  border: 1px solid #c8e3ee;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 45px rgba(7, 19, 29, 0.08);
}

.stack-grid span {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 28px;
  color: #00131f;
  background: var(--blue);
  border: 2px solid #00131f;
  border-radius: 8px;
  font-family: "JetBrains Mono", monospace;
  font-weight: 900;
}

.stack-grid h3,
.consulting-list h3 {
  margin: 0 0 10px;
  font-size: 26px;
}

.stack-grid p,
.consulting-list p {
  margin: 0;
  color: var(--muted);
  line-height: 1.62;
}

.consulting-services {
  display: grid;
  grid-template-columns: minmax(260px, 0.76fr) minmax(0, 1.24fr);
  gap: clamp(28px, 6vw, 86px);
  background: #eaf8fe;
  border-block: 1px solid #c8e8f5;
}

.consulting-list {
  display: grid;
  gap: 14px;
}

.consulting-list article {
  padding: 24px;
  border: 1px solid #c8e3ee;
  border-radius: 8px;
  background: #fff;
}

.consulting-contact {
  margin: 0;
}

.software-stack-section {
  padding: clamp(54px, 8vw, 100px) clamp(18px, 6vw, 76px);
  background: #fff;
}

.software-tool-layout {
  display: grid;
  grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr);
  gap: 20px;
  align-items: stretch;
  margin-top: 28px;
}

.software-logo-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 0;
}

.tool-choice {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
  width: 100%;
  padding: 14px;
  border: 1px solid #c8e3ee;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #f1f9fd);
  color: var(--ink);
  box-shadow: 0 14px 34px rgba(7,19,29,.07);
  cursor: pointer;
  text-align: left;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.tool-choice:hover,
.tool-choice.is-active {
  transform: translateY(-2px);
  border-color: var(--blue);
  box-shadow: 0 18px 42px rgba(54,181,245,.16);
}

.tool-choice.is-active {
  background: linear-gradient(135deg, #eaf8fe, #fff);
}

.tool-choice > span:last-child {
  font-size: 18px;
  font-weight: 950;
  line-height: 1.15;
}

.logo-mark {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  padding: 11px;
  border-radius: 8px;
  border: 1px solid #d5edf7;
  background: #fff;
  box-shadow: 0 12px 24px rgba(7,19,29,.1);
}

.logo-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.tool-preview-card {
  display: grid;
  grid-template-columns: minmax(220px, .76fr) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  min-height: 440px;
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid #c8e3ee;
  border-radius: 8px;
  background:
    radial-gradient(circle at 82% 18%, rgba(54,181,245,.18), transparent 30%),
    linear-gradient(145deg, #f7fbfd, #fff);
  box-shadow: 0 22px 60px rgba(7,19,29,.08);
}

.tool-preview-visual {
  position: relative;
  min-height: 310px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #c8e8f5;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(54,181,245,.16), rgba(255,255,255,.8)),
    #eaf8fe;
}

.tool-preview-visual > img {
  position: relative;
  z-index: 2;
  width: min(128px, 42%);
  aspect-ratio: 1;
  object-fit: contain;
  padding: 18px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(7,19,29,.15);
}

.tool-preview-ui {
  position: absolute;
  inset: auto 22px 22px 22px;
  display: grid;
  gap: 10px;
}

.tool-preview-ui span {
  height: 14px;
  border-radius: 99px;
  background: linear-gradient(90deg, rgba(54,181,245,.72), rgba(0,19,31,.16));
}

.tool-preview-ui span:nth-child(2) {
  width: 78%;
}

.tool-preview-ui span:nth-child(3) {
  width: 54%;
}

.tool-preview-copy h3 {
  margin: 0 0 12px;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.02;
}

.tool-preview-copy p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.62;
}

.tool-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.tool-benefits span {
  padding: 9px 11px;
  border: 1px solid #c8e8f5;
  border-radius: 8px;
  background: #fff;
  color: #233849;
  font-weight: 900;
}

.automation-example {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(28px, 6vw, 76px);
  align-items: start;
  padding: clamp(54px, 8vw, 100px) clamp(18px, 6vw, 76px);
  color: #fff;
  background: #07131d;
}

.automation-copy p:not(.eyebrow) {
  color: #b7cbd5;
  font-size: 18px;
  line-height: 1.65;
}

.automation-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  counter-reset: flow;
}

.automation-flow article {
  position: relative;
  min-height: 150px;
  display: grid;
  align-content: space-between;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(54,181,245,.36);
  border-radius: 8px;
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  box-shadow: 0 18px 44px rgba(0,0,0,.2);
}

.automation-flow article:not(:nth-child(3n))::after {
  content: "";
  position: absolute;
  right: -13px;
  top: 50%;
  width: 14px;
  height: 2px;
  background: var(--blue);
}

.automation-flow b {
  color: var(--blue);
  font-family: "JetBrains Mono", monospace;
}

.automation-flow span {
  font-size: 20px;
  font-weight: 900;
}

.automation-flow small {
  color: #b7cbd5;
  font-weight: 800;
}

.detail-page { min-height: 100vh; background: #f7fbfd; }
.detail-header { position: static; }
.detail-main { min-height: 70vh; }
.detail-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); gap: clamp(30px, 6vw, 90px); align-items: center; padding: clamp(58px, 9vw, 120px) clamp(18px, 8vw, 120px); color: #fff; background: #02070b; }
.detail-hero-copy { max-width: 760px; }
.detail-hero h1 { font-size: clamp(42px, 7vw, 92px); }
.detail-hero p:not(.eyebrow) { color: #b7cbd5; font-size: clamp(18px, 2vw, 23px); line-height: 1.55; }
.detail-visual { min-height: 360px; display: grid; place-items: center; overflow: hidden; border: 1px solid #284757; border-radius: 8px; background: #0a1a24; box-shadow: 16px 16px 0 var(--blue); }
.detail-visual img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.detail-visual .crm-board, .detail-visual .risk-board { width: min(420px, 86%); }
.service-hero {
  min-height: 660px;
}

.service-page .detail-hero {
  grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr);
}

.service-page .detail-hero-copy {
  min-width: 0;
  max-width: 700px;
}

.service-page .detail-hero h1 {
  font-size: clamp(34px, 5vw, 68px);
  line-height: 1;
  max-width: 11ch;
}

.business-hero {
  position: relative;
  min-height: calc(100vh - 76px);
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr);
  align-items: center;
  gap: clamp(30px, 6vw, 82px);
  overflow: hidden;
  padding: clamp(58px, 9vw, 120px) clamp(18px, 8vw, 120px);
  color: #fff;
  background: #02070b;
}

.business-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2,7,11,.9), rgba(2,7,11,.28) 55%, rgba(2,7,11,.78)),
    radial-gradient(circle at 78% 34%, rgba(54,181,245,.18), transparent 36%);
  pointer-events: none;
}

.business-hero > *:not(.business-code-rain) {
  position: relative;
  z-index: 1;
}

.business-code-rain {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  padding: 24px;
  color: var(--code-blue);
  font-family: "JetBrains Mono", monospace;
  font-size: 13px;
  opacity: .62;
  overflow: hidden;
}

.business-code-rain span {
  animation: businessCodeFall 6.4s linear infinite;
  text-shadow: 0 0 14px rgba(54,181,245,.68);
}

.business-code-rain span:nth-child(2n) { animation-duration: 7.4s; }
.business-code-rain span:nth-child(3n) { animation-duration: 5.6s; }

.business-portal-reveal {
  width: min(760px, 100%);
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(94,203,255,.45);
  border-radius: 8px;
  background: rgba(245,252,255,.94);
  box-shadow: 0 34px 100px rgba(0,0,0,.38);
  animation: businessPortalResolve 8s ease-in-out infinite alternate;
}

.business-browser-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 14px;
  color: #173342;
  background: #e8f7fd;
  border-bottom: 1px solid #cfe4ed;
}

.business-browser-bar span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ff6b6b;
}

.business-browser-bar span:nth-child(2) { background: #ffcc55; }
.business-browser-bar span:nth-child(3) { background: #53d76a; }
.business-browser-bar b { margin-left: 8px; font-size: 13px; }

.business-portal-shell {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  min-height: 476px;
  color: var(--ink);
  background: linear-gradient(135deg, #f9fdff, #eaf8fe);
}

.business-portal-shell aside {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 18px;
  padding: 18px 12px;
  background: #07131d;
}

.business-portal-shell aside b {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  color: #00131f;
  background: var(--blue);
}

.business-portal-shell aside i {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: rgba(255,255,255,.13);
}

.business-portal-shell section {
  min-width: 0;
  display: grid;
  gap: 18px;
  padding: 26px;
}

.business-portal-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-weight: 800;
}

.business-portal-head button {
  border: 0;
  border-radius: 8px;
  padding: 10px 13px;
  background: var(--blue);
  font-weight: 900;
}

.business-portal-shell h3 {
  margin: 0;
  font-size: clamp(28px, 4vw, 46px);
}

.business-portal-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.business-portal-metrics span,
.business-portal-board article {
  padding: 14px;
  border: 1px solid #cde5f0;
  border-radius: 8px;
  background: #fff;
}

.business-portal-metrics b {
  display: block;
  font-size: 28px;
}

.business-portal-metrics small {
  color: var(--muted);
  font-weight: 800;
}

.business-portal-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.business-portal-board article {
  min-height: 150px;
}

.business-portal-board b {
  display: block;
  margin-bottom: 14px;
}

.business-portal-board i {
  display: block;
  height: 34px;
  margin-top: 8px;
  border-radius: 7px;
  background: linear-gradient(90deg, #dff4fd, #fff);
}

.designer-teaser {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  padding: clamp(42px, 7vw, 76px) clamp(18px, 8vw, 120px);
  border-bottom: 1px solid #c8e8f5;
  background: #eaf8fe;
}

.designer-teaser div {
  max-width: 820px;
}

.designer-teaser h2 {
  margin: 0;
  font-size: clamp(32px, 5vw, 64px);
  line-height: 1;
}

.designer-teaser p:last-child {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.6;
}

.automation-visual {
  align-content: center;
  overflow: visible;
  padding: clamp(24px, 4vw, 42px);
  background:
    radial-gradient(circle at 18% 12%, rgba(54,181,245,.38), transparent 34%),
    linear-gradient(135deg, #07131d, #0d2837);
}

.automation-dashboard-hero {
  display: grid;
  gap: 14px;
  width: min(560px, 100%);
  padding: clamp(18px, 3vw, 26px);
  border: 1px solid rgba(94,203,255,.34);
  border-radius: 8px;
  background:
    radial-gradient(circle at 82% 12%, rgba(120,244,206,.14), transparent 32%),
    rgba(255,255,255,.08);
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

.dashboard-hero-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  color: #d5edf7;
  font-weight: 900;
}

.dashboard-hero-head b {
  padding: 8px 10px;
  border-radius: 8px;
  color: #00131f;
  background: var(--blue);
}

.saving-metric {
  display: grid;
  gap: 9px;
  padding: 18px;
  border: 1px solid rgba(94,203,255,.34);
  border-radius: 8px;
  background: rgba(255,255,255,.08);
}

.saving-metric.primary {
  background:
    linear-gradient(135deg, rgba(54,181,245,.24), rgba(255,255,255,.08));
}

.saving-metric small {
  color: #b7cbd5;
  font-weight: 900;
  text-transform: uppercase;
}

.saving-metric strong {
  color: #eaf8fe;
  font-size: clamp(42px, 7vw, 74px);
  line-height: .9;
}

.saving-metric i {
  display: block;
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
}

.saving-metric i::after {
  content: "";
  display: block;
  width: 76%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--blue), #78f4ce);
  animation: savingBar 3.2s ease-in-out infinite;
}

.saving-metric:not(.primary) i::after {
  width: 58%;
  animation-delay: .4s;
}

.hero-process-list {
  display: grid;
  gap: 10px;
}

.hero-process-list article {
  display: grid;
  grid-template-columns: minmax(150px, .52fr) minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid rgba(94,203,255,.26);
  border-radius: 8px;
  background: rgba(255,255,255,.07);
}

.hero-process-list b {
  color: var(--blue);
}

.hero-process-list span {
  color: #d5edf7;
  font-weight: 800;
}

.automation-roi-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.automation-roi-strip span {
  padding: 8px 10px;
  border: 1px solid rgba(94,203,255,.32);
  border-radius: 8px;
  color: #00131f;
  background: #eaf8fe;
  font-weight: 950;
}

.automation-card-mini {
  width: min(360px, 100%);
  padding: 16px;
  border: 1px solid rgba(94, 203, 255, .34);
  border-radius: 8px;
  color: #eaf8fe;
  background: rgba(255,255,255,.08);
  box-shadow: 0 16px 40px rgba(0,0,0,.22);
}

.automation-card-mini b {
  display: block;
  margin-bottom: 5px;
  color: var(--blue);
}

.automation-card-mini span {
  color: #d5edf7;
  font-weight: 800;
}

.sorting-bot {
  position: relative;
  place-self: center;
  width: 138px;
  height: 150px;
  margin-bottom: 28px;
}

.bot-head {
  position: absolute;
  left: 20px;
  top: 0;
  display: flex;
  gap: 13px;
}

.bot-head i {
  display: block;
  width: 42px;
  height: 42px;
  border: 2px solid #00131f;
  border-radius: 50%;
  background: #fff;
}

.bot-head i::after {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  margin: 15px auto 0;
  border-radius: 50%;
  background: #00131f;
}

.bot-body {
  position: absolute;
  left: 23px;
  top: 36px;
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  border: 2px solid #00131f;
  border-radius: 8px 8px 26px 26px;
  color: #00131f;
  background: var(--blue);
  box-shadow: 8px 8px 0 #00131f;
  font-family: "JetBrains Mono", monospace;
  font-size: 28px;
  font-weight: 950;
}

.bot-arm {
  position: absolute;
  top: 76px;
  width: 48px;
  height: 16px;
  border: 2px solid #00131f;
  border-radius: 999px;
  background: #7be4ff;
  animation: botWave 2.4s ease-in-out infinite;
}

.bot-arm-left { left: -10px; transform-origin: right center; }
.bot-arm-right { right: -10px; transform-origin: left center; animation-delay: .5s; }

.automation-conveyor {
  position: relative;
  display: flex;
  gap: 14px;
  overflow: hidden;
  padding: 18px;
  border: 1px solid rgba(94,203,255,.34);
  border-radius: 8px;
  background: rgba(255,255,255,.07);
}

.automation-conveyor span {
  flex: 0 0 126px;
  display: grid;
  place-items: center;
  min-height: 64px;
  border: 1px solid rgba(94,203,255,.42);
  border-radius: 8px;
  color: #00131f;
  background: #eaf8fe;
  font-weight: 950;
  animation: conveyorMove 6.5s linear infinite;
}

.automation-output {
  display: grid;
  grid-template-columns: 1fr repeat(3, minmax(0, .7fr));
  gap: 10px;
  align-items: center;
  width: min(520px, 100%);
  margin-inline: auto;
}

.automation-output b,
.automation-output small {
  padding: 11px;
  border-radius: 8px;
  text-align: center;
  font-weight: 950;
}

.automation-output b {
  color: #00131f;
  background: var(--blue);
}

.automation-output small {
  color: #eaf8fe;
  border: 1px solid rgba(94,203,255,.34);
  background: rgba(255,255,255,.08);
}

.automation-meaning-section,
.lead-automation-section,
.automation-bot-section {
  padding: clamp(54px, 8vw, 100px) clamp(18px, 6vw, 76px);
}

.automation-meaning-section {
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
  gap: clamp(28px, 6vw, 86px);
  align-items: center;
  background: #fff;
}

.automation-meaning-section h2,
.lead-automation-section h2,
.automation-bot-section h2 {
  margin: 0 0 16px;
  font-size: clamp(34px, 5vw, 66px);
  line-height: 1;
}

.automation-meaning-section p:not(.eyebrow),
.lead-copy p:not(.eyebrow) {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}

.automation-spindle {
  position: relative;
  min-height: 520px;
  border: 1px solid #c8e8f5;
  border-radius: 8px;
  background:
    radial-gradient(circle at center, rgba(54,181,245,.18), transparent 36%),
    linear-gradient(145deg, #f7fbfd, #fff);
  box-shadow: 0 20px 54px rgba(7,19,29,.08);
}

.automation-spindle::before,
.automation-spindle::after {
  content: "";
  position: absolute;
  inset: 16%;
  border: 1px dashed rgba(54,181,245,.46);
  border-radius: 50%;
}

.automation-spindle::after {
  inset: 30%;
}

.spindle-core,
.spoke {
  position: absolute;
  display: grid;
  place-items: center;
  border: 2px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  font-weight: 950;
  box-shadow: 6px 6px 0 #00131f;
}

.spindle-core {
  left: 50%;
  top: 50%;
  width: 148px;
  height: 88px;
  background: var(--blue);
  transform: translate(-50%, -50%);
  z-index: 2;
}

.spoke {
  width: 124px;
  height: 58px;
  background: #fff;
  animation: spindleFloat 4s ease-in-out infinite;
}

.spoke-one { left: 9%; top: 13%; }
.spoke-two { right: 12%; top: 10%; animation-delay: .2s; }
.spoke-three { right: 5%; top: 46%; animation-delay: .4s; }
.spoke-four { right: 17%; bottom: 10%; animation-delay: .6s; }
.spoke-five { left: 12%; bottom: 9%; animation-delay: .8s; }
.spoke-six { left: 4%; top: 48%; animation-delay: 1s; }

.lead-automation-section {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(28px, 6vw, 86px);
  align-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 82% 14%, rgba(54,181,245,.2), transparent 32%),
    #07131d;
}

.lead-copy p:not(.eyebrow) {
  color: #b7cbd5;
}

.lead-qual-animation {
  position: relative;
  min-height: 290px;
  overflow: hidden;
  border: 1px solid rgba(94,203,255,.34);
  border-radius: 8px;
  background:
    radial-gradient(circle at 18% 22%, rgba(54,181,245,.18), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  box-shadow: 0 18px 44px rgba(0,0,0,.2);
}

.lead-qual-animation::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 50%;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--blue), #78f4ce, transparent);
}

.lead-card,
.lead-ai-gate,
.lead-score,
.lead-next-step {
  position: absolute;
  display: grid;
  place-items: center;
  text-align: center;
  border: 2px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  background: #eaf8fe;
  box-shadow: 7px 7px 0 #00131f;
  font-weight: 950;
}

.lead-card {
  left: -180px;
  top: 50%;
  width: 150px;
  height: 82px;
  transform: translateY(-50%);
  animation: leadCardMove 6.8s ease-in-out infinite;
}

.lead-card span,
.lead-ai-gate span,
.lead-score span,
.lead-next-step span {
  color: #405565;
  font-size: 13px;
}

.lead-ai-gate {
  left: 18%;
  top: 50%;
  width: 126px;
  height: 98px;
  transform: translateY(-50%);
  animation: leadGatePulse 6.8s ease-in-out infinite;
}

.lead-ai-gate i {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 8px;
  color: #00131f;
  background: var(--blue);
  font-style: normal;
  font-family: "JetBrains Mono", monospace;
  font-weight: 950;
}

.lead-score {
  left: 43%;
  top: 50%;
  width: 118px;
  height: 98px;
  transform: translateY(-50%);
  animation: leadScorePop 6.8s ease-in-out infinite;
}

.lead-score b {
  font-size: 44px;
  line-height: 1;
}

.lead-next-step {
  right: 4%;
  top: 50%;
  width: 168px;
  height: 98px;
  transform: translateY(-50%);
  animation: leadNextPop 6.8s ease-in-out infinite;
}

.lead-machine {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.lead-machine article {
  min-height: 220px;
  display: grid;
  align-content: space-between;
  padding: 18px;
  border: 1px solid rgba(94,203,255,.34);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  box-shadow: 0 18px 44px rgba(0,0,0,.2);
}

.lead-machine b {
  color: var(--blue);
  font-family: "JetBrains Mono", monospace;
}

.lead-machine span {
  color: #eaf8fe;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.08;
}

.lead-machine small {
  color: #b7cbd5;
  font-weight: 850;
}

.automation-transition-banner {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
  gap: clamp(26px, 5vw, 70px);
  align-items: center;
  padding: clamp(44px, 7vw, 82px) clamp(18px, 6vw, 76px);
  color: #00131f;
  background:
    radial-gradient(circle at 78% 20%, rgba(54,181,245,.22), transparent 30%),
    linear-gradient(145deg, #eaf8fe, #fff);
}

.automation-transition-banner h2 {
  margin: 0 0 12px;
  font-size: clamp(32px, 5vw, 58px);
  line-height: 1;
}

.automation-transition-banner p:not(.eyebrow) {
  color: #405565;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 850;
}

.transition-visual {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.transition-visual span {
  display: grid;
  place-items: center;
  min-height: 118px;
  border: 2px solid #00131f;
  border-radius: 8px;
  background: #fff;
  box-shadow: 7px 7px 0 #00131f;
  font-weight: 950;
}

.automation-bot-section {
  background: #eaf8fe;
}

.bot-sort-stage {
  position: relative;
  min-height: 440px;
  margin-top: 28px;
  overflow: hidden;
  border: 1px solid #c8e8f5;
  border-radius: 8px;
  background:
    linear-gradient(145deg, #fff, #f7fbfd);
  box-shadow: 0 20px 54px rgba(7,19,29,.08);
}

.sort-track {
  position: absolute;
  left: 7%;
  right: 7%;
  top: 51%;
  height: 8px;
  border-radius: 999px;
  background: repeating-linear-gradient(90deg, #36b5f5 0 20px, #00131f 20px 28px);
  opacity: .72;
}

.sort-block,
.sort-target,
.mini-bot {
  position: absolute;
  display: grid;
  place-items: center;
  border: 2px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  font-weight: 950;
}

.sort-block {
  top: 39%;
  width: 112px;
  height: 64px;
  background: #fff;
  box-shadow: 5px 5px 0 #00131f;
  animation: blockSortToBucket 7.4s ease-in-out infinite;
}

.block-a { --scan-left: 34%; --bucket-left: 23%; left: -130px; animation-delay: 0s; }
.block-b { --scan-left: 48%; --bucket-left: 46%; left: -130px; animation-delay: 1.6s; }
.block-c { --scan-left: 62%; --bucket-left: 70%; left: -130px; animation-delay: 3.2s; }

.mini-bot {
  top: 22%;
  width: 76px;
  height: 76px;
  background: var(--blue);
  box-shadow: 6px 6px 0 #00131f;
  animation: miniBotWork 3.2s ease-in-out infinite;
}

.mini-bot i {
  width: 34px;
  height: 18px;
  border-radius: 999px;
  background: #00131f;
}

.bot-one { left: 36%; }
.bot-two { left: 58%; animation-delay: .6s; }

.sort-target {
  bottom: 42px;
  width: 128px;
  height: 86px;
  background: #fff;
  align-content: center;
  gap: 4px;
  overflow: hidden;
}

.sort-target::before {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  top: 8px;
  height: 10px;
  border-radius: 999px;
  background: var(--blue);
}

.sort-target b,
.sort-target span {
  display: block;
}

.sort-target span {
  color: #405565;
  font-size: 13px;
}

.target-one { left: 23%; }
.target-two { left: 46%; }
.target-three { right: 18%; }

.consulting-change-section {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  gap: clamp(24px, 5vw, 70px);
  align-items: start;
  padding: clamp(54px, 8vw, 96px) clamp(18px, 6vw, 76px);
  background: #fff;
  border-top: 1px solid #c8e8f5;
}

.consulting-change-section h2 {
  margin: 0;
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1;
}

.consulting-change-section p:not(.eyebrow) {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}

.case-switch-wrap {
  grid-column: 1 / -1;
  display: grid;
  gap: 16px;
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid #c8e8f5;
  border-radius: 8px;
  background:
    radial-gradient(circle at 88% 18%, rgba(54,181,245,.18), transparent 30%),
    linear-gradient(145deg, #f7fbfd, #fff);
  box-shadow: 0 18px 48px rgba(7,19,29,.08);
}

.case-switch-intro h3 {
  margin: 0;
  font-size: clamp(26px, 4vw, 42px);
  line-height: 1.04;
}

.consulting-case-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.consulting-case-switch button {
  position: relative;
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 190px;
  padding: 22px;
  border: 2px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  background: #fff;
  box-shadow: 8px 8px 0 #00131f;
  font-weight: 950;
  cursor: pointer;
  text-align: left;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.consulting-case-switch button:hover,
.consulting-case-switch button.is-active {
  transform: translateY(-3px);
}

.consulting-case-switch button.is-active {
  background: var(--blue);
  box-shadow: 10px 10px 0 #00131f;
}

.consulting-case-switch button b {
  display: block;
  font-size: clamp(26px, 4vw, 42px);
  line-height: 1;
}

.consulting-case-switch button small {
  display: block;
  max-width: 520px;
  color: #405565;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 900;
}

.case-switch-status {
  justify-self: start;
  padding: 7px 9px;
  border: 1px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  background: #eaf8fe;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.consulting-case-switch button.is-active .case-switch-status {
  background: #00131f;
  color: #fff;
}

.consulting-case-panel {
  display: none;
}

.consulting-case-panel.is-active {
  display: grid;
}

.consulting-case {
  display: grid;
  gap: 26px;
  padding: clamp(54px, 8vw, 100px) clamp(18px, 6vw, 76px);
  color: #fff;
  background:
    radial-gradient(circle at 82% 12%, rgba(54,181,245,.22), transparent 32%),
    linear-gradient(135deg, #07131d, #02070b);
}

.consulting-case.consulting-case-panel:not(.is-active) {
  display: none;
}

.consulting-case-copy {
  max-width: 920px;
}

.consulting-case-hero {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(280px, .72fr);
  gap: clamp(24px, 5vw, 70px);
  align-items: center;
}

.pirates-preview-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(94,203,255,.34);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.05)),
    #07131d;
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

.case-toc {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.case-toc a {
  color: #00131f;
  background: #eaf8fe;
  border: 1px solid rgba(94,203,255,.6);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 950;
  text-decoration: none;
}

.case-toc a:hover {
  background: var(--blue);
}

.pirates-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pirates-card-head img {
  width: 138px;
  height: 54px;
  object-fit: contain;
  border-radius: 8px;
  background: #fff;
  padding: 7px 10px;
}

.pirates-card-head b,
.pirates-card-head span {
  display: block;
}

.pirates-card-head b {
  font-size: 22px;
}

.pirates-card-head span {
  color: #c2d9e3;
  font-weight: 800;
}

.pirates-logo {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 2px;
  padding: 9px 12px;
  border-radius: 8px;
  color: #fff;
  background: #0a0d10;
  font-size: 22px;
  font-weight: 950;
  letter-spacing: 0;
}

.pirates-logo span {
  color: #f4bb2f;
}

.pirates-preview-stack {
  display: grid;
  grid-template-columns: .72fr 1fr;
  gap: 10px;
}

.pirates-preview-stack img {
  width: 100%;
  height: 100%;
  min-height: 210px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 8px;
  background: #fff;
}

.pirates-preview-stack img:first-child {
  min-height: 210px;
}

.pirates-preview-stack img:last-child {
  object-position: left top;
}

.browser-preview {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
  background: #fff;
}

.browser-bar {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 11px;
  color: #516575;
  background: #eaf8fe;
  border-bottom: 1px solid #c8e8f5;
  font-size: 12px;
  font-weight: 900;
}

.browser-bar i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ff6b6b;
}

.browser-bar i:nth-child(2) { background: #ffcb4b; }
.browser-bar i:nth-child(3) { background: #54d87b; }

.browser-preview img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: top;
}

.portal-mini-preview {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(94,203,255,.22);
  border-radius: 8px;
  background: rgba(255,255,255,.07);
}

.portal-mini-preview img {
  width: 90px;
  aspect-ratio: 1.25 / 1;
  object-fit: cover;
  object-position: left top;
  border-radius: 8px;
}

.portal-mini-preview span {
  color: #eaf8fe;
  font-weight: 950;
  line-height: 1.35;
}

.industry-preview-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(94,203,255,.34);
  border-radius: 8px;
  background:
    radial-gradient(circle at 82% 18%, rgba(54,181,245,.18), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.05));
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

.industry-card-head b,
.industry-card-head span {
  display: block;
}

.industry-card-head b {
  font-size: 26px;
}

.industry-card-head span,
.industry-preview-card p {
  color: #c2d9e3;
  line-height: 1.55;
  font-weight: 800;
}

.industry-visual {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-height: 250px;
  padding: 16px;
  border: 1px solid rgba(94,203,255,.25);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(54,181,245,.16), rgba(255,255,255,.04)),
    #07131d;
}

.industry-visual span {
  display: grid;
  place-items: center;
  min-height: 96px;
  border: 1px solid rgba(94,203,255,.28);
  border-radius: 8px;
  color: #eaf8fe;
  background: rgba(255,255,255,.07);
  font-weight: 950;
}

.pirates-preview-card a {
  justify-self: start;
  color: #00131f;
  background: var(--blue);
  border: 2px solid #00131f;
  border-radius: 8px;
  padding: 11px 14px;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 6px 6px 0 #00131f;
}

.consulting-case h2 {
  margin: 0;
  font-size: clamp(34px, 5vw, 66px);
  line-height: 1;
}

.consulting-case-copy p:last-child {
  color: #c2d9e3;
  font-size: 18px;
  line-height: 1.65;
}

.case-topic-intro,
.automation-story {
  max-width: 930px;
}

.case-topic-intro h3,
.automation-story h3 {
  margin: 0 0 10px;
  font-size: clamp(27px, 4vw, 46px);
  line-height: 1.04;
}

.case-topic-intro p:not(.eyebrow),
.automation-story p:not(.eyebrow) {
  margin: 0;
  color: #c2d9e3;
  font-size: 18px;
  line-height: 1.65;
}

.consulting-case-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.consulting-case-grid.five-topics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.consulting-case-grid article,
.ticket-flow article,
.case-saving {
  border: 1px solid rgba(94,203,255,.28);
  border-radius: 8px;
  background: rgba(255,255,255,.06);
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
}

.consulting-case-grid article {
  display: grid;
  align-content: end;
  min-height: 220px;
  gap: 10px;
  padding: 22px;
  background:
    linear-gradient(180deg, rgba(54,181,245,.1), rgba(255,255,255,.045)),
    rgba(255,255,255,.06);
}

.consulting-case-grid b {
  color: var(--blue);
  font-size: 22px;
}

.consulting-case-grid span {
  color: #d6eaf2;
  line-height: 1.55;
  font-weight: 800;
}

.case-tool-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding: 16px;
  border: 1px solid rgba(94,203,255,.28);
  border-radius: 8px;
  background: rgba(255,255,255,.06);
}

.case-tool-strip b {
  margin-right: 6px;
  color: #eaf8fe;
  font-size: 18px;
}

.case-tool-strip span {
  padding: 9px 11px;
  border: 1px solid rgba(94,203,255,.42);
  border-radius: 8px;
  color: #00131f;
  background: #eaf8fe;
  font-weight: 950;
}

.case-tool-panel {
  display: grid;
  gap: 18px;
  padding: clamp(20px, 4vw, 34px);
  border: 1px solid rgba(94,203,255,.32);
  border-radius: 8px;
  background:
    radial-gradient(circle at 12% 18%, rgba(120,244,206,.14), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.045));
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
}

.case-tool-heading h3 {
  margin: 0;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.02;
}

.case-tool-layout {
  display: grid;
  grid-template-columns: minmax(230px, .55fr) minmax(0, 1.45fr);
  gap: 16px;
  align-items: stretch;
}

.case-tool-list {
  display: grid;
  gap: 10px;
}

.case-tool-choice {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 11px;
  border: 1px solid rgba(94,203,255,.34);
  border-radius: 8px;
  color: #eaf8fe;
  background: rgba(255,255,255,.06);
  cursor: pointer;
  text-align: left;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.case-tool-choice:hover,
.case-tool-choice.is-active {
  transform: translateY(-2px);
  border-color: var(--blue);
  background: rgba(54,181,245,.16);
}

.case-tool-choice .logo-mark {
  width: 54px;
  height: 54px;
  padding: 9px;
}

.case-tool-choice > span:last-child {
  font-weight: 950;
  line-height: 1.12;
}

.app-logo {
  color: #00131f;
  background: var(--blue);
  border: 2px solid #00131f;
  font-family: "JetBrains Mono", monospace;
  font-weight: 950;
}

.case-tool-preview {
  display: grid;
  grid-template-columns: minmax(190px, .7fr) minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  min-height: 360px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid rgba(94,203,255,.32);
  border-radius: 8px;
  background:
    radial-gradient(circle at 85% 18%, rgba(54,181,245,.16), transparent 30%),
    rgba(234,248,254,.96);
  color: #00131f;
}

.case-tool-preview h3 {
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.03;
}

.case-tool-preview p:not(.eyebrow) {
  margin: 0;
  color: #405565;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 800;
}

.case-tool-visual {
  display: grid;
  place-items: center;
  gap: 18px;
  min-height: 250px;
  padding: 22px;
  border: 1px solid #c8e8f5;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(54,181,245,.16), rgba(255,255,255,.8)),
    #fff;
}

.case-tool-visual img {
  width: 108px;
  height: 108px;
  object-fit: contain;
  padding: 16px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(7,19,29,.12);
}

.case-tool-visual.has-screenshot {
  align-content: center;
  padding: 14px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(234,248,254,.72)),
    #fff;
}

.case-tool-visual.has-screenshot img {
  width: 100%;
  height: clamp(150px, 20vw, 230px);
  object-fit: cover;
  object-position: top center;
  padding: 0;
  border: 1px solid rgba(94,203,255,.28);
}

.case-tool-visual span {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  color: #00131f;
  background: var(--blue);
  font-weight: 950;
}

.field-service-change {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .42fr);
  gap: 22px;
  align-items: center;
  padding: clamp(20px, 4vw, 34px);
  border: 1px solid rgba(94,203,255,.3);
  border-radius: 8px;
  background:
    radial-gradient(circle at 86% 22%, rgba(54,181,245,.2), transparent 30%),
    rgba(255,255,255,.07);
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
}

.field-service-change h3 {
  margin: 0 0 10px;
  font-size: clamp(26px, 4vw, 44px);
  line-height: 1.03;
}

.field-service-change p:not(.eyebrow) {
  margin: 0;
  color: #c2d9e3;
  font-size: 18px;
  line-height: 1.65;
}

.field-service-device {
  display: grid;
  gap: 10px;
  min-height: 270px;
  padding: 22px;
  border: 8px solid #00131f;
  border-radius: 18px;
  color: #00131f;
  background: linear-gradient(180deg, #eaf8fe, #fff);
  box-shadow: 12px 12px 0 rgba(54,181,245,.5);
}

.field-service-device span {
  color: var(--blue-dark);
  font-size: 14px;
  font-weight: 950;
  text-transform: uppercase;
}

.field-service-device b {
  font-size: 26px;
  line-height: 1;
}

.field-service-device i {
  display: block;
  height: 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue), rgba(0,19,31,.18));
}

.field-service-device i:nth-of-type(2) {
  width: 78%;
}

.field-service-device i:nth-of-type(3) {
  width: 54%;
}

.field-service-device strong {
  align-self: end;
  display: block;
  padding: 12px;
  border-radius: 8px;
  color: #00131f;
  background: var(--blue);
}

.automation-story {
  margin-top: 8px;
  padding: 26px;
  border-top: 1px solid rgba(94,203,255,.24);
  border: 1px solid rgba(94,203,255,.24);
  border-radius: 8px;
  background:
    radial-gradient(circle at 88% 18%, rgba(120,244,206,.14), transparent 32%),
    rgba(255,255,255,.055);
}

.invoice-story {
  margin-top: 18px;
  background:
    radial-gradient(circle at 12% 18%, rgba(54,181,245,.16), transparent 32%),
    rgba(255,255,255,.055);
}

.process-animation {
  position: relative;
  min-height: 190px;
  overflow: hidden;
  border: 1px solid rgba(94,203,255,.32);
  border-radius: 8px;
  background:
    radial-gradient(circle at 18% 25%, rgba(54,181,245,.16), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.035));
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
}

.process-lane {
  position: absolute;
  left: 8%;
  right: 8%;
  top: 50%;
  height: 3px;
  background:
    linear-gradient(90deg, transparent, rgba(54,181,245,.92), rgba(120,244,206,.88), transparent);
  transform: translateY(-50%);
}

.process-node,
.process-item {
  position: absolute;
  display: grid;
  place-items: center;
  text-align: center;
  border: 1px solid rgba(94,203,255,.44);
  border-radius: 8px;
  background: rgba(234,248,254,.96);
  color: #00131f;
  box-shadow: 8px 8px 0 rgba(0,19,31,.5);
}

.process-item {
  left: -180px;
  top: 50%;
  width: 138px;
  height: 84px;
  gap: 4px;
  transform: translateY(-50%);
  animation: processFly 7.2s ease-in-out infinite;
}

.process-item span {
  font-size: 30px;
  line-height: 1;
}

.process-item b {
  font-size: 14px;
}

.process-node {
  top: 50%;
  width: 112px;
  height: 92px;
  gap: 5px;
  padding: 10px;
  opacity: .62;
  transform: translateY(-50%) scale(.94);
  animation: nodePulse 7.2s ease-in-out infinite;
}

.process-node i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  color: #00131f;
  background: var(--blue);
  border: 2px solid #00131f;
  font-style: normal;
  font-weight: 950;
}

.process-node span {
  color: #233849;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.16;
}

.node-scan { left: 21%; animation-delay: .95s; }
.node-db { left: 40%; animation-delay: 2.05s; }
.node-doc { left: 59%; animation-delay: 3.15s; }
.node-send { left: 78%; animation-delay: 4.25s; }

.invoice-animation .process-lane {
  background:
    linear-gradient(90deg, transparent, rgba(120,244,206,.82), rgba(54,181,245,.92), transparent);
}

.invoice-mail {
  animation-delay: .4s;
}

.ticket-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.ticket-flow article {
  min-height: 132px;
  display: grid;
  align-content: space-between;
  padding: 16px;
}

.invoice-flow article {
  background:
    linear-gradient(145deg, rgba(255,255,255,.11), rgba(54,181,245,.07)),
    rgba(255,255,255,.06);
}

.ticket-flow b {
  color: var(--blue);
  font-family: "JetBrains Mono", monospace;
}

.ticket-flow span {
  color: #eaf8fe;
  font-weight: 900;
  line-height: 1.35;
}

.case-saving {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 22px;
  background: #eaf8fe;
  color: var(--ink);
}

.case-saving b {
  color: var(--blue-dark);
  font-size: clamp(32px, 5vw, 58px);
  white-space: nowrap;
}

.case-saving span {
  color: #314653;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 800;
}
.detail-stats { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-bottom: 1px solid var(--line); background: #eaf8fe; }
.detail-stats div { display: grid; gap: 7px; padding: clamp(22px, 4vw, 42px) clamp(18px, 6vw, 72px); border-right: 1px solid #c8e8f5; }
.detail-stats div:last-child { border: 0; }
.detail-stats b { font-size: clamp(28px, 4vw, 52px); }
.detail-stats span { color: var(--muted); font-weight: 800; }
.detail-content { max-width: 1120px; margin: 0 auto; padding: clamp(54px, 8vw, 100px) clamp(18px, 5vw, 60px); }
.detail-content > section { display: grid; grid-template-columns: minmax(180px,.48fr) minmax(0,1.52fr); gap: 36px; padding: 36px 0; border-bottom: 1px solid var(--line); }
.detail-content h2 { font-size: clamp(28px, 4vw, 46px); }
.detail-content h3 { margin: 0; color: var(--blue-dark); font-size: 14px; text-transform: uppercase; }
.detail-content p, .detail-content li { color: var(--muted); font-size: 18px; line-height: 1.7; }
.detail-content ul { margin: 0; padding-left: 22px; }
.legal-hero { padding-bottom: 54px; }
.legal-content { max-width: 900px; }
.legal-content > section { display: block; }
.legal-content h2 { margin: 0 0 16px; font-size: 28px; }
.legal-note { padding: 16px; border-left: 4px solid var(--blue); color: #314653; background: #eaf8fe; font-weight: 800; line-height: 1.55; }

.case-study-page .detail-hero {
  background:
    radial-gradient(circle at 80% 20%, rgba(54,181,245,.22), transparent 34%),
    linear-gradient(135deg, #02070b, #0a1d29);
}

.case-hero-product {
  background: linear-gradient(135deg, #eaf8fe, #07131d);
}

.case-value-band {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: #b9d8e6;
}

.case-value-band article {
  display: grid;
  gap: 8px;
  padding: clamp(26px, 5vw, 54px);
  background: #eaf8fe;
}

.case-value-band b {
  font-size: clamp(32px, 5vw, 58px);
}

.case-value-band span {
  color: var(--muted);
  font-weight: 900;
  line-height: 1.4;
}

.case-impact-section {
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
  gap: clamp(28px, 6vw, 82px);
  padding: clamp(58px, 8vw, 104px) clamp(18px, 6vw, 76px);
  background: #fff;
}

.case-impact-section h2 {
  margin-top: 0;
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1;
}

.case-impact-section p {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}

.impact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.impact-grid article {
  position: relative;
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 260px;
  padding: 22px;
  border: 1px solid #c8e3ee;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #f1f9fd);
  box-shadow: 0 14px 36px rgba(7,19,29,.07);
}

.impact-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 2px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  background: var(--blue);
  box-shadow: 5px 5px 0 #00131f;
  font-size: 24px;
  font-weight: 900;
}

.impact-grid h3 {
  margin: 0;
  font-size: 22px;
}

.impact-grid p {
  margin: 0;
  font-size: 16px;
}

.case-gallery {
  display: grid;
  grid-template-columns: 1.2fr .9fr .9fr;
  gap: 18px;
  padding: clamp(54px, 8vw, 100px) clamp(18px, 6vw, 76px);
  background: #07131d;
}

.case-screen {
  min-height: 320px;
  overflow: hidden;
  display: grid;
  align-content: center;
  gap: 12px;
  padding: 28px;
  border: 1px solid rgba(54,181,245,.32);
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  box-shadow: 0 20px 54px rgba(0,0,0,.26);
}

.case-screen.large {
  padding: 0;
  background: #eaf8fe;
}

.case-screen.large img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.case-screen b {
  font-size: 24px;
}

.case-screen span,
.case-screen strong {
  display: block;
  padding: 12px;
  border-radius: 7px;
  color: #102b3a;
  background: #fff;
  font-weight: 900;
}

.case-screen strong {
  background: var(--blue);
}

.risk-screen strong {
  display: grid;
  place-items: center;
  width: 126px;
  height: 126px;
  border-radius: 50%;
  font-size: 42px;
}

.report-screen i {
  display: block;
  height: 26px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue), #78f4ce);
}

.report-screen i:nth-child(3) { width: 72%; }
.report-screen i:nth-child(4) { width: 52%; }

.pipeline-screen,
.contact-screen,
.task-screen,
.booking-screen,
.partner-screen,
.subscription-screen {
  background:
    radial-gradient(circle at 80% 10%, rgba(54,181,245,.22), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
}

.case-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: clamp(38px, 6vw, 72px) clamp(18px, 6vw, 76px);
  background: #eaf8fe;
}

.case-cta h2 {
  margin: 0;
  font-size: clamp(30px, 4vw, 54px);
}

.cookie-banner {
  position: fixed;
  right: clamp(14px, 3vw, 32px);
  bottom: clamp(14px, 3vw, 32px);
  z-index: 80;
  display: grid;
  grid-template-columns: 150px minmax(240px, 430px);
  gap: 24px;
  align-items: center;
  width: min(720px, calc(100vw - 28px));
  padding: 18px;
  border: 2px solid #00131f;
  border-radius: 8px;
  color: #00131f;
  background:
    linear-gradient(135deg, rgba(234,248,254,.96), rgba(255,255,255,.98)),
    #fff;
  box-shadow: 12px 12px 0 #00131f, 0 24px 70px rgba(7,19,29,.22);
  animation: cookieSlideIn .34s ease-out both;
}

.cookie-banner.is-hiding {
  animation: cookieSlideOut .24s ease-in both;
}

.cookie-copy h2 {
  margin: 0 0 8px;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1;
}

.cookie-copy p:not(.eyebrow) {
  margin: 0;
  color: #405565;
  line-height: 1.5;
  font-weight: 800;
}

.cookie-actions {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.cookie-actions .button {
  width: auto;
  min-height: 46px;
  padding: 12px 14px;
  font-size: 15px;
}

.cookie-actions a {
  color: #00131f;
  font-weight: 950;
}

.cookie-monster {
  position: relative;
  width: 112px;
  height: 106px;
  align-self: start;
  border: 2px solid #00131f;
  border-radius: 44% 56% 48% 52% / 50% 47% 53% 50%;
  background:
    radial-gradient(circle at 28% 20%, #8be9ff 0 8%, transparent 9%),
    radial-gradient(circle at 64% 32%, #129be7 0 11%, transparent 12%),
    radial-gradient(circle at 42% 70%, rgba(255,255,255,.18) 0 7%, transparent 8%),
    linear-gradient(145deg, #36b5f5, #0176b7);
  box-shadow: 7px 7px 0 #00131f;
}

.cookie-fur i,
.cookie-monster::before,
.cookie-monster::after {
  content: "";
  position: absolute;
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 52% 48% 44% 56%;
  background: #36b5f5;
  border: 2px solid #00131f;
  z-index: -1;
}

.cookie-monster::before {
  left: 4px;
  top: 6px;
  transform: rotate(-28deg);
}

.cookie-monster::after {
  right: 8px;
  bottom: 17px;
  transform: rotate(18deg);
}

.cookie-fur i:nth-child(1) { left: 27px; top: -10px; transform: rotate(11deg); }
.cookie-fur i:nth-child(2) { right: 24px; top: -7px; transform: rotate(-15deg); background: #159be7; }
.cookie-fur i:nth-child(3) { left: -8px; bottom: 29px; transform: rotate(20deg); background: #159be7; }
.cookie-fur i:nth-child(4) { right: -7px; top: 40px; transform: rotate(-20deg); }

.cookie-monster-eyes {
  position: absolute;
  top: -24px;
  left: 16px;
  display: flex;
  gap: 10px;
}

.cookie-monster-eyes i {
  position: relative;
  display: block;
  width: 38px;
  height: 38px;
  border: 2px solid #00131f;
  border-radius: 50%;
  background: #fff;
  box-shadow: 3px 3px 0 rgba(0,19,31,.18);
}

.cookie-monster-eyes i::after {
  content: "";
  position: absolute;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #00131f;
}

.cookie-monster-eyes i:first-child::after {
  left: 17px;
  top: 12px;
}

.cookie-monster-eyes i:nth-child(2)::after {
  left: 9px;
  top: 17px;
}

.cookie-monster-mouth {
  position: absolute;
  left: 18px;
  bottom: 13px;
  display: flex;
  gap: 7px;
  align-items: center;
  justify-content: center;
  width: 75px;
  height: 42px;
  overflow: hidden;
  border: 2px solid #00131f;
  border-radius: 12px 12px 999px 999px;
  color: var(--blue);
  background: #02070b;
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  font-weight: 900;
}

.cookie-monster-mouth::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 13px;
  width: 10px;
  height: 13px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.cookie-monster-mouth::after {
  content: "";
  position: absolute;
  top: -2px;
  right: 17px;
  width: 10px;
  height: 13px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.cookie-arm {
  position: absolute;
  width: 28px;
  height: 18px;
  border: 2px solid #00131f;
  border-radius: 999px;
  background: #1aa4ed;
  z-index: -1;
}

.arm-left {
  left: -18px;
  bottom: 28px;
  transform: rotate(-34deg);
}

.arm-right {
  right: -18px;
  bottom: 34px;
  transform: rotate(25deg);
}

.cookie-monster-mouth span {
  animation: codeSnack 1.8s ease-in-out infinite;
}

.cookie-monster-mouth span:nth-child(2) {
  animation-delay: .38s;
}

.code-crumbs {
  position: absolute;
  right: -16px;
  top: 18px;
  display: grid;
  gap: 6px;
}

.code-crumbs b {
  display: block;
  padding: 4px 6px;
  border: 1px solid #00131f;
  border-radius: 6px;
  color: #00131f;
  background: var(--blue);
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  box-shadow: 2px 2px 0 #00131f;
  animation: crumbFloat 2.4s ease-in-out infinite;
}

.code-crumbs b:nth-child(2) { animation-delay: .28s; }
.code-crumbs b:nth-child(3) { animation-delay: .56s; }

@keyframes revealProjects {
  0%,
  28% {
    opacity: 0;
    filter: blur(18px);
    transform: translateY(22px) scale(0.98);
  }
  62%,
  100% {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0) scale(1);
  }
}

@keyframes codePulse {
  0%,
  38% {
    opacity: 0.98;
  }
  100% {
    opacity: 0.62;
  }
}

@keyframes previewScan {
  to { background-position: -220% 0, 0 0, 0 0; }
}

@keyframes previewSpin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes businessCodeFall {
  0% { transform: translateY(-80px); opacity: 0; }
  12% { opacity: .9; }
  100% { transform: translateY(88vh); opacity: .18; }
}

@keyframes businessPortalResolve {
  0%,
  26% {
    opacity: .25;
    filter: blur(18px) saturate(.6);
    transform: translateY(24px) scale(.96);
  }
  62%,
  100% {
    opacity: 1;
    filter: blur(0) saturate(1.05);
    transform: translateY(0) scale(1);
  }
}

@keyframes demoCursor {
  0% { transform: translate(0, 0) scale(.94); opacity: 0; }
  12% { opacity: 1; }
  28% { transform: translate(0, 0) scale(1); }
  42% { transform: translate(0, 43px) scale(1); }
  56% { transform: translate(0, 43px) scale(.9); }
  70% { transform: translate(0, 86px) scale(1); }
  84% { transform: translate(0, 86px) scale(.9); opacity: 1; }
  100% { transform: translate(72px, 116px) scale(.96); opacity: 0; }
}

@keyframes demoPreviewResolve {
  0%, 16% { filter: blur(5px) saturate(.82); opacity: .72; }
  34%, 70% { filter: blur(1.5px) saturate(1); opacity: .92; }
  100% { filter: blur(0) saturate(1.08); opacity: 1; }
}

@keyframes cookieSlideIn {
  from { opacity: 0; transform: translateY(22px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes cookieSlideOut {
  to { opacity: 0; transform: translateY(18px) scale(.98); }
}

@keyframes codeSnack {
  0%, 100% { transform: translateY(-2px); opacity: .85; }
  50% { transform: translateY(5px); opacity: 1; }
}

@keyframes crumbFloat {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-8px) rotate(3deg); }
}

@keyframes processFly {
  0% { left: -180px; opacity: 0; transform: translateY(-50%) rotate(-5deg) scale(.94); }
  10% { opacity: 1; }
  21% { left: 18%; transform: translateY(-50%) rotate(2deg) scale(1); }
  34% { left: 38%; transform: translateY(-50%) rotate(-1deg) scale(1); }
  48% { left: 57%; transform: translateY(-50%) rotate(2deg) scale(1); }
  64% { left: 76%; transform: translateY(-50%) rotate(-1deg) scale(1); }
  82% { left: calc(100% - 128px); opacity: 1; transform: translateY(-50%) rotate(3deg) scale(.98); }
  100% { left: calc(100% + 24px); opacity: 0; transform: translateY(-50%) rotate(8deg) scale(.94); }
}

@keyframes nodePulse {
  0%, 12%, 100% { opacity: .56; transform: translateY(-50%) scale(.94); }
  22%, 30% { opacity: 1; transform: translateY(-50%) scale(1.04); box-shadow: 8px 8px 0 rgba(54,181,245,.48); }
  44%, 52% { opacity: 1; transform: translateY(-50%) scale(1.04); box-shadow: 8px 8px 0 rgba(54,181,245,.48); }
  66%, 74% { opacity: 1; transform: translateY(-50%) scale(1.04); box-shadow: 8px 8px 0 rgba(54,181,245,.48); }
}

@keyframes processFlyMobile {
  0% { top: -90px; opacity: 0; transform: translateX(-50%) rotate(-5deg) scale(.94); }
  10% { opacity: 1; }
  22% { top: 20%; transform: translateX(-50%) rotate(2deg) scale(1); }
  40% { top: 39%; transform: translateX(-50%) rotate(-1deg) scale(1); }
  58% { top: 58%; transform: translateX(-50%) rotate(2deg) scale(1); }
  76% { top: 77%; opacity: 1; transform: translateX(-50%) rotate(-1deg) scale(1); }
  100% { top: calc(100% + 28px); opacity: 0; transform: translateX(-50%) rotate(8deg) scale(.94); }
}

@keyframes nodePulseMobile {
  0%, 12%, 100% { opacity: .56; transform: translateX(-50%) scale(.94); }
  22%, 30% { opacity: 1; transform: translateX(-50%) scale(1.04); box-shadow: 8px 8px 0 rgba(54,181,245,.48); }
  44%, 52% { opacity: 1; transform: translateX(-50%) scale(1.04); box-shadow: 8px 8px 0 rgba(54,181,245,.48); }
  66%, 74% { opacity: 1; transform: translateX(-50%) scale(1.04); box-shadow: 8px 8px 0 rgba(54,181,245,.48); }
}

@keyframes botWave {
  0%, 100% { transform: rotate(-10deg); }
  50% { transform: rotate(18deg); }
}

@keyframes conveyorMove {
  0% { transform: translateX(-18px); }
  100% { transform: translateX(64px); }
}

@keyframes spindleFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@keyframes leadCardMove {
  0% { left: -180px; opacity: 0; transform: translateY(-50%) rotate(-4deg); }
  12% { opacity: 1; }
  30% { left: 13%; transform: translateY(-50%) rotate(2deg); }
  48% { left: 25%; transform: translateY(-50%) rotate(-1deg); }
  66% { left: 42%; opacity: .72; transform: translateY(-50%) rotate(2deg) scale(.86); }
  82% { left: 58%; opacity: .2; transform: translateY(-50%) rotate(0) scale(.68); }
  100% { left: calc(100% + 24px); opacity: 0; transform: translateY(-50%) rotate(5deg) scale(.75); }
}

@keyframes leadGatePulse {
  0%, 24%, 100% { transform: translateY(-50%) scale(.96); opacity: .72; }
  34%, 48% { transform: translateY(-50%) scale(1.05); opacity: 1; box-shadow: 7px 7px 0 rgba(54,181,245,.55); }
}

@keyframes leadScorePop {
  0%, 46%, 100% { transform: translateY(-50%) scale(.88); opacity: .45; }
  56%, 76% { transform: translateY(-50%) scale(1.07); opacity: 1; box-shadow: 7px 7px 0 rgba(120,244,206,.5); }
}

@keyframes leadNextPop {
  0%, 62%, 100% { transform: translateY(-50%) scale(.9); opacity: .5; }
  74%, 92% { transform: translateY(-50%) scale(1.04); opacity: 1; box-shadow: 7px 7px 0 rgba(54,181,245,.5); }
}

@keyframes leadCardMoveMobile {
  0% { top: -90px; opacity: 0; transform: translateX(-50%) rotate(-4deg); }
  12% { opacity: 1; }
  32% { top: 23%; transform: translateX(-50%) rotate(2deg); }
  54% { top: 49%; transform: translateX(-50%) rotate(-1deg) scale(.96); }
  76% { top: 75%; opacity: .65; transform: translateX(-50%) rotate(2deg) scale(.86); }
  100% { top: calc(100% + 24px); opacity: 0; transform: translateX(-50%) rotate(5deg) scale(.75); }
}

@keyframes leadGatePulseMobile {
  0%, 24%, 100% { transform: translateX(-50%) scale(.96); opacity: .72; }
  34%, 48% { transform: translateX(-50%) scale(1.05); opacity: 1; box-shadow: 7px 7px 0 rgba(54,181,245,.55); }
}

@keyframes leadScorePopMobile {
  0%, 46%, 100% { transform: translateX(-50%) scale(.88); opacity: .45; }
  56%, 76% { transform: translateX(-50%) scale(1.07); opacity: 1; box-shadow: 7px 7px 0 rgba(120,244,206,.5); }
}

@keyframes leadNextPopMobile {
  0%, 62%, 100% { transform: translateX(-50%) scale(.9); opacity: .5; }
  74%, 92% { transform: translateX(-50%) scale(1.04); opacity: 1; box-shadow: 7px 7px 0 rgba(54,181,245,.5); }
}

@keyframes blockSort {
  0% { left: -130px; opacity: 0; transform: translateY(0) rotate(-3deg); }
  12% { opacity: 1; }
  35% { left: 35%; transform: translateY(-18px) rotate(2deg); }
  58% { left: 58%; transform: translateY(10px) rotate(-2deg); }
  82% { left: calc(100% - 180px); opacity: 1; transform: translateY(0) rotate(2deg); }
  100% { left: calc(100% + 24px); opacity: 0; transform: translateY(0) rotate(5deg); }
}

@keyframes blockSortToBucket {
  0% { left: -130px; top: 39%; opacity: 0; transform: rotate(-3deg) scale(.96); }
  12% { opacity: 1; }
  34% { left: var(--scan-left); top: 39%; transform: rotate(2deg) scale(1); }
  48% { left: var(--scan-left); top: 30%; transform: rotate(-1deg) scale(1.04); }
  62% { left: var(--bucket-left); top: 39%; opacity: 1; transform: rotate(2deg) scale(.98); }
  78% { left: var(--bucket-left); top: 70%; opacity: 1; transform: rotate(0) scale(.86); }
  100% { left: var(--bucket-left); top: 70%; opacity: 0; transform: rotate(0) scale(.72); }
}

@keyframes miniBotWork {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(12px) rotate(3deg); }
}

@keyframes savingBar {
  0%, 100% { transform: translateX(-8%); opacity: .82; }
  50% { transform: translateX(10%); opacity: 1; }
}

@keyframes blockSortMobile {
  0% { top: -80px; opacity: 0; transform: translateX(-50%) rotate(-3deg); }
  12% { opacity: 1; }
  35% { top: 30%; transform: translateX(-50%) rotate(2deg); }
  58% { top: 54%; transform: translateX(-50%) rotate(-2deg); }
  82% { top: 72%; opacity: 1; transform: translateX(-50%) rotate(2deg); }
  100% { top: calc(100% + 24px); opacity: 0; transform: translateX(-50%) rotate(5deg); }
}

@media (max-width: 1120px) {
  .generator-layout {
    grid-template-columns: 1fr;
  }

  .service-page .detail-hero {
    grid-template-columns: 1fr;
  }

  .service-page .detail-hero-copy {
    max-width: 860px;
  }

  .consulting-hero {
    grid-template-columns: 1fr;
  }

  .consulting-hero-copy {
    max-width: 860px;
  }

  .consulting-visual {
    height: min(460px, 58vw);
  }

  .portal-preview {
    min-height: 620px;
  }

  .consulting-case-grid.five-topics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .consulting-case-grid.five-topics article:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 920px) {
  .top-nav {
    display: none;
  }

  .nav-cta {
    display: none;
  }

  .hero {
    min-height: 760px;
  }

  .project-reveal {
    width: min(640px, 92vw);
    height: 470px;
    margin: 86px auto auto;
    grid-template-columns: 1fr 0.62fr;
    gap: 10px;
  }

  .hero-content {
    padding-right: 18px;
  }

  .generator-layout,
  .automation-meaning-section,
  .lead-automation-section,
  .automation-transition-banner,
  .capability-section,
  .business-hero,
  .calculator-hero,
  .service-band,
  .relief-section,
  .faq-section,
  .calculator-faq-section,
  .app-buying-section,
  .calculator-layout,
  .contact-section,
  .team-section,
  .consulting-hero,
  .consulting-change-section,
  .consulting-case-hero,
  .field-service-change,
  .consulting-services,
  .automation-example,
  .case-impact-section,
  .consulting-case-grid,
  .consulting-case-grid.five-topics,
  .ticket-flow {
    grid-template-columns: 1fr;
  }

  .process-animation {
    min-height: 420px;
  }

  .process-lane {
    left: 50%;
    right: auto;
    top: 8%;
    width: 3px;
    height: 84%;
    transform: translateX(-50%);
    background:
      linear-gradient(180deg, transparent, rgba(54,181,245,.92), rgba(120,244,206,.88), transparent);
  }

  .process-item {
    left: 50%;
    top: -90px;
    transform: translateX(-50%);
    animation: processFlyMobile 7.2s ease-in-out infinite;
  }

  .process-node {
    left: 50%;
    transform: translateX(-50%) scale(.94);
    animation-name: nodePulseMobile;
  }

  .node-scan { top: 23%; }
  .node-db { top: 42%; }
  .node-doc { top: 61%; }
  .node-send { top: 80%; }

  .software-tool-layout,
  .tool-preview-card,
  .case-tool-layout,
  .case-tool-preview {
    grid-template-columns: 1fr;
  }

  .capability-intro {
    position: static;
  }

  .stack-grid {
    grid-template-columns: 1fr;
  }

  .software-logo-grid,
  .consulting-case-switch,
  .automation-flow,
  .lead-machine,
  .case-value-band,
  .impact-grid,
  .case-gallery,
  .team-grid {
    grid-template-columns: 1fr;
  }

  .automation-flow article:not(:nth-child(3n))::after {
    display: none;
  }

  .automation-spindle {
    min-height: 460px;
  }

  .lead-qual-animation {
    min-height: 470px;
  }

  .lead-qual-animation::before {
    left: 50%;
    right: auto;
    top: 8%;
    width: 4px;
    height: 84%;
    transform: translateX(-50%);
    background: linear-gradient(180deg, transparent, var(--blue), #78f4ce, transparent);
  }

  .lead-card {
    left: 50%;
    top: -90px;
    transform: translateX(-50%);
    animation: leadCardMoveMobile 6.8s ease-in-out infinite;
  }

  .lead-ai-gate,
  .lead-score,
  .lead-next-step {
    left: 50%;
    transform: translateX(-50%);
  }

  .lead-ai-gate { top: 26%; animation-name: leadGatePulseMobile; }
  .lead-score { top: 52%; animation-name: leadScorePopMobile; }
  .lead-next-step { top: 78%; right: auto; animation-name: leadNextPopMobile; }

  .lead-machine article {
    min-height: 150px;
  }

  .transition-visual {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bot-sort-stage {
    min-height: 520px;
  }

  .sort-track {
    left: 50%;
    right: auto;
    top: 8%;
    width: 8px;
    height: 84%;
    transform: translateX(-50%);
  }

  .sort-block {
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
    animation: blockSortMobile 6.8s ease-in-out infinite;
  }

  .block-a,
  .block-b,
  .block-c {
    left: 50%;
  }

  .mini-bot {
    top: 32%;
  }

  .bot-one { left: 24%; }
  .bot-two { left: 62%; }

  .sort-target {
    bottom: 22px;
  }

  .target-one { left: 8%; }
  .target-two { left: 38%; }
  .target-three { right: 8%; }

  .case-gallery {
    padding-inline: 18px;
  }

  .case-carousel {
    grid-auto-columns: min(420px, calc(100vw - 48px));
  }

  .contact-actions {
    margin-top: 0;
  }

  .calendar-embed {
    grid-template-columns: 1fr;
  }

  .calendar-frame,
  #my-cal-inline-kennenlernen-der-techmatrosen {
    min-height: 640px;
  }

  .relief-intro { position: static; }
  .detail-hero { grid-template-columns: 1fr; }
  .detail-visual { min-height: 280px; }
  .business-portal-reveal { min-height: 460px; }
  .business-portal-shell { min-height: 416px; }
  .pirates-preview-stack { grid-template-columns: 1fr; }
  .designer-teaser,
  .case-saving {
    display: grid;
  }

  .faq-intro {
    position: static;
  }

  .proof-grid,
  .decision-grid,
  .buying-matrix,
  .calc-mini-grid,
  .option-grid,
  .option-grid.three,
  .check-grid {
    grid-template-columns: 1fr;
  }

  .proof-grid article,
  .buying-matrix article {
    min-height: auto;
  }

  .comparison-table {
    display: grid;
    gap: 12px;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .comparison-table > div {
    grid-template-columns: 1fr;
    overflow: hidden;
    border: 1px solid rgba(54, 181, 245, 0.28);
    border-radius: 8px;
    background: #fff;
  }

  .comparison-head {
    display: none !important;
  }

  .comparison-table span {
    padding: 14px 16px;
    border-bottom: 1px solid rgba(54, 181, 245, 0.14);
  }

  .comparison-table span:last-child {
    border-bottom: 0;
  }

  .calculator-result {
    position: static;
  }
}

@media (max-width: 640px) {
  img,
  video,
  canvas {
    max-width: 100%;
  }

  h1,
  h2,
  h3,
  p,
  a,
  button,
  span,
  small,
  b,
  strong {
    overflow-wrap: anywhere;
  }

  .site-header {
    min-height: 68px;
  }

  .faq-section {
    padding-inline: 16px;
  }

  .faq-list summary {
    grid-template-columns: 38px minmax(0, 1fr) 24px;
    gap: 10px;
    padding: 16px;
  }

  .faq-list summary::after {
    width: 24px;
    height: 24px;
  }

  .faq-list p {
    padding: 0 16px 18px;
  }

  .calculator-hero {
    min-height: auto;
    padding-top: 104px;
  }

  .result-bars div {
    grid-template-columns: 1fr;
  }

  .result-actions .button {
    width: 100%;
    justify-content: center;
  }

  .calculator-form fieldset,
  .range-field,
  .result-card {
    padding: 18px;
  }

  .brand {
    min-width: 0;
  }

  .brand img {
    width: 128px;
    height: 91px;
  }

  .hero {
    min-height: 810px;
  }

  .project-reveal {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    height: 360px;
  }

  .preview-secondary,
  .preview-tertiary {
    display: none;
  }

  .dashboard-grid {
    gap: 10px;
    padding: 12px;
  }

  .chart-bars {
    height: 126px;
  }

  .task-list {
    display: none;
  }

  .hero-content {
    padding-bottom: 32px;
  }

  .button {
    width: 100%;
  }

  .hero-process-list article {
    grid-template-columns: 1fr;
  }

  .cookie-banner {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    box-shadow: 7px 7px 0 #00131f, 0 20px 54px rgba(7,19,29,.18);
  }

  .cookie-monster {
    width: 78px;
    height: 78px;
  }

  .cookie-monster-eyes {
    top: -14px;
    left: 15px;
    gap: 7px;
  }

  .cookie-monster-eyes i {
    width: 24px;
    height: 24px;
  }

  .cookie-fur i,
  .cookie-monster::before,
  .cookie-monster::after,
  .cookie-arm {
    display: none;
  }

  .cookie-monster-mouth {
    left: 14px;
    bottom: 12px;
    width: 50px;
    height: 29px;
  }

  .code-crumbs {
    display: none;
  }

  .cookie-actions {
    grid-column: 1 / -1;
  }

  .field-row,
  .portal-body,
  .live-mockup,
  .module-grid,
  .capability-card,
  .business-portal-shell,
  .business-portal-metrics,
  .business-portal-board,
  .case-facts,
  .case-hero-product,
  .case-proof-grid,
  .case-study-grid,
  .case-result-grid,
  .service-grid,
  .approach-grid,
  .case-tool-strip,
  .case-proof-row,
  .automation-output,
  .transition-visual {
    grid-template-columns: 1fr;
  }

  .business-portal-shell aside {
    display: none;
  }

  .business-hero {
    min-height: auto;
  }

  .business-portal-reveal {
    min-height: auto;
  }

  .business-portal-shell {
    min-height: auto;
  }

  .case-saving b {
    white-space: normal;
  }

  .portal-sidebar { display: block; min-width: 0; width: 100%; overflow: hidden; padding: 12px; }
  .portal-body, .portal-main { min-width: 0; width: 100%; }
  .portal-preview.is-generating .portal-body::after {
    left: 50%;
    width: min(310px, calc(100% - 48px));
  }
  .portal-main.ai-layout,
  .portal-main.ai-layout.layout-split,
  .portal-main.ai-layout.layout-focus,
  .portal-main.ai-layout.layout-board,
  .portal-main.ai-layout.layout-report {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "head" "summary" "image" "metrics" "visual" "modules";
  }
  .portal-main.ai-layout.image-none { grid-template-areas: "head" "summary" "metrics" "visual" "modules"; }
  .preview-brand { margin-bottom: 10px; }
  .portal-sidebar nav { display: flex; width: 100%; max-width: 100%; min-width: 0; gap: 7px; overflow-x: auto; padding-bottom: 3px; scrollbar-width: thin; }
  .portal-sidebar nav button { flex: 0 0 auto; padding-inline: 12px; }
  .portal-sidebar nav button:hover { transform: none; }

  .preview-metrics { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .risk-visual { grid-template-columns: 100px 1fr; padding: 12px; }
  .risk-ring { width: 92px; height: 92px; border-width: 11px; }
  .line-visual,
  .donut-visual {
    grid-template-columns: 1fr;
  }
  .line-visual div {
    grid-row: 1;
  }
  .donut-ring {
    width: 118px;
    height: 118px;
    justify-self: center;
  }
  .horizontal-bars span {
    grid-template-columns: 1fr 2fr 34px;
  }
  .pipeline-board { grid-template-columns: 1fr; }
  .pipeline-board section:nth-child(3) { display: none; }
  .timesheet-visual, .time-entry-view, .analytics-view { grid-template-columns: 1fr; }
  .preview-table { overflow-x: auto; }
  .preview-table-row { min-width: 520px; }

  .case-visual {
    min-height: 220px;
  }

  .process-track article {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    padding: 15px;
  }

  .process-track article > b {
    width: 48px;
    height: 48px;
  }

  .process-track::before {
    left: 23px;
  }

  .start-window {
    grid-template-columns: 1fr;
  }

  .preview-metrics, .detail-stats { grid-template-columns: 1fr; }
  .detail-stats div { border-right: 0; border-bottom: 1px solid #c8e8f5; }
  .detail-content > section { grid-template-columns: 1fr; gap: 12px; }
  .detail-visual img { min-height: 280px; }
}

@media (max-width: 980px) {
  .website-offer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .website-timeline-panel {
    grid-template-columns: 1fr;
  }

  .showcase-hero-screen {
    grid-template-columns: 1fr;
  }

  .landing-conversion-path {
    grid-template-columns: 1fr 1fr;
  }

  .landing-conversion-path::before {
    display: none;
  }

  .conversion-flow {
    padding-left: 0;
  }

  .conversion-flow::before,
  .conversion-arrow {
    display: none;
  }

  .conversion-flow article {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .conversion-flow article.conversion-hero-step {
    grid-template-columns: 1fr;
  }

  .conversion-hero-step .hero-image-visual,
  .conversion-hero-step > div:last-child {
    grid-column: 1;
  }

  .tm-hero-window {
    grid-template-columns: 1fr;
  }

  .tm-hero-copy {
    padding-top: 28px;
  }
}

@media (max-width: 640px) {
  .website-portfolio-section {
    padding-inline: 16px;
  }

  .website-offer-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .website-offer-grid article {
    min-height: auto;
    padding: 18px;
  }

  .website-timeline-panel {
    padding: 18px;
    border-radius: 10px;
  }

  .website-build-timeline article {
    grid-template-columns: 1fr;
    padding: 16px 16px 16px 54px;
  }

  .website-build-timeline p {
    grid-column: 1;
  }

  .landing-showcase-section {
    padding-inline: 16px;
  }

  .landing-showcase-stage {
    border-radius: 10px;
    box-shadow: 7px 7px 0 #00131f, 0 24px 62px rgba(0,19,31,.16);
  }

  .showcase-hero-screen {
    min-height: auto;
    padding: 18px;
  }

  .showcase-code-wall {
    grid-template-columns: repeat(3, 1fr);
    opacity: .7;
  }

  .showcase-code-wall span:nth-child(n+4) {
    display: none;
  }

  .showcase-copy h3 {
    font-size: clamp(40px, 15vw, 62px);
  }

  .showcase-copy p {
    font-size: 16px;
  }

  .showcase-actions a {
    width: 100%;
  }

  .showcase-product {
    grid-template-columns: 62px minmax(0, 1fr);
    min-height: 300px;
  }

  .product-sidebar {
    padding: 14px 10px;
  }

  .product-sidebar i {
    height: 34px;
  }

  .product-main {
    gap: 14px;
    padding: 16px;
  }

  .product-metrics {
    grid-template-columns: 1fr;
  }

  .product-metrics i {
    height: 42px;
  }

  .product-chart {
    min-height: 120px;
    gap: 8px;
    padding: 12px;
  }

  .landing-conversion-path {
    grid-template-columns: 1fr;
  }

  .landing-conversion-path article {
    min-height: auto;
    padding: 18px;
  }

  .website-conversion-section {
    padding-inline: 16px;
  }

  .conversion-flow {
    gap: 16px;
    margin-top: 28px;
  }

  .conversion-flow article {
    gap: 14px;
    padding: 16px;
  }

  .conversion-flow article > span {
    width: 48px;
    height: 48px;
  }

  .conversion-visual {
    min-height: 128px;
  }

  .hero-image-visual {
    min-height: 420px;
    padding: 12px;
  }

  .tm-hero-window {
    gap: 14px;
    padding: 16px;
  }

  .friction-visual {
    grid-template-columns: 1fr;
  }

  .tm-hero-copy strong {
    font-size: clamp(31px, 12vw, 48px);
  }

  .tm-hero-copy small {
    font-size: 14px;
  }

  .tm-hero-portal {
    min-height: 170px;
  }

  .tm-message-ticker span {
    font-size: 13px;
  }

  .trust-slider div {
    min-width: 132px;
  }

  .conversion-flow h3 {
    font-size: clamp(24px, 9vw, 34px);
  }

  .conversion-flow p {
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .conversion-arrow,
  .conversion-flow article,
  .conversion-visual::after,
  .landing-showcase-section::before,
  .showcase-code-wall span,
  .showcase-copy,
  .showcase-product,
  .showcase-actions a:first-child,
  .product-chart i,
  .showcase-running-message span,
  .landing-conversion-path article,
  .website-offer-grid article::after,
  .tm-code-rain span,
  .tm-hero-portal,
  .tm-message-ticker span,
  .trust-slider,
  .followup-visual b {
    animation: none;
  }
}

@media print {
  .calculator-page .site-header,
  .calculator-page .calculator-hero,
  .calculator-page .calculator-form,
  .calculator-page .calculator-faq-section,
  .calculator-page footer,
  .calculator-page .result-actions {
    display: none !important;
  }

  .calculator-page {
    background: #fff;
  }

  .calculator-section {
    padding: 0;
  }

  .calculator-section .section-heading {
    display: block;
    margin-bottom: 24px;
  }

  .calculator-layout {
    display: block;
    margin: 0;
  }

  .calculator-result {
    position: static;
  }

  .result-card {
    color: #00131f;
    background: #fff;
    box-shadow: none;
    border: 1px solid #c8e8f5;
  }

  .result-price small,
  .result-bars em,
  .result-card dd {
    color: #314653;
  }

  .calculator-note {
    border-color: #c8e8f5;
  }
}

/* Websites & Portale Landingpage */
.wp-landing {
  --wp-navy: #020b12;
  --wp-navy-soft: #081a25;
  --wp-cyan: #36b5f5;
  --wp-mint: #72f0c2;
  --wp-ice: #edf8fc;
  --wp-content-width: 1320px;
  --wp-section-gutter: max(clamp(20px, 6vw, 82px), calc((100vw - var(--wp-content-width)) / 2));
  color: #05131c;
  background: #f8fcfe;
  font-family: "Inter", Arial, sans-serif;
}

.wp-landing .wp-header {
  background: rgba(248, 252, 254, .92);
}

.wp-cta-mobile { display: none; }
.wp-factor-config { scroll-margin-top: 92px; }

.wp-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr);
  gap: clamp(42px, 6vw, 94px);
  align-items: center;
  min-height: calc(100vh - 76px);
  padding: clamp(76px, 9vw, 132px) clamp(20px, 6vw, 82px);
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 82% 22%, rgba(223,146,76,.16), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(54,181,245,.22), transparent 28%),
    radial-gradient(circle at 45% 92%, rgba(114,240,194,.08), transparent 30%),
    var(--wp-navy);
}

.wp-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .14;
  background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
}

.wp-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -2%;
  pointer-events: none;
  opacity: .3;
  background:
    linear-gradient(90deg, rgba(2,11,18,.98) 0%, rgba(2,11,18,.72) 34%, rgba(2,11,18,.18) 72%, rgba(2,11,18,.42) 100%),
    linear-gradient(0deg, rgba(2,11,18,.82), transparent 54%),
    url("assets/website-hero-people.jpg") center right / cover no-repeat;
  filter: saturate(.8) contrast(1.04);
  animation: wpPeopleDrift 16s ease-in-out infinite alternate;
}

@keyframes wpPeopleDrift {
  from { transform: scale(1.025) translate3d(0, 0, 0); }
  to { transform: scale(1.055) translate3d(-8px, -3px, 0); }
}

.wp-hero-copy,
.wp-product-stage {
  position: relative;
  z-index: 1;
}

.wp-hero-copy {
  max-width: 760px;
}

.wp-landing .eyebrow {
  color: var(--wp-cyan);
  font-family: "JetBrains Mono", monospace;
  letter-spacing: .08em;
}

.wp-hero h1 {
  margin: 18px 0 0;
  font-size: clamp(48px, 6vw, 88px);
  line-height: .98;
  letter-spacing: -.055em;
}

.wp-hero h1 span {
  display: block;
  color: var(--wp-cyan);
}

.wp-lead {
  max-width: 700px;
  margin: 28px 0 0;
  color: #c8dce6;
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.55;
}

.wp-short-lead {
  max-width: none;
  margin-top: 24px;
  color: #fff;
  font-size: clamp(19px, 2vw, 25px);
  font-weight: 700;
  letter-spacing: -.025em;
}

.wp-value-chain {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 10px;
  margin-top: 22px;
  font: 700 11px "JetBrains Mono", monospace;
  text-transform: uppercase;
}

.wp-value-chain span,
.wp-value-chain strong {
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 5px;
  background: rgba(255,255,255,.05);
}

.wp-value-chain i { color: #66818e; font-style: normal; }
.wp-value-chain strong { color: #00131f; background: var(--wp-mint); border-color: var(--wp-mint); }

.wp-entry-offer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  max-width: 520px;
  margin-top: 26px;
  padding: 14px 16px;
  color: #fff;
  border: 1px solid rgba(54,181,245,.5);
  border-radius: 8px;
  background: linear-gradient(90deg, rgba(54,181,245,.15), rgba(114,240,194,.06));
  transition: transform .2s ease, border-color .2s ease;
}

.wp-entry-offer:hover,
.wp-entry-offer:focus-visible { transform: translateY(-2px); border-color: var(--wp-mint); }
.wp-entry-offer span { display: grid; gap: 3px; }
.wp-entry-offer small { color: #8faab6; font: 700 9px "JetBrains Mono", monospace; text-transform: uppercase; }
.wp-entry-offer strong { color: var(--wp-mint); font-size: 20px; }
.wp-entry-offer > b { color: var(--wp-cyan); font-size: 11px; }

.wp-button-ghost {
  color: #fff;
  border-color: rgba(255,255,255,.3);
  background: rgba(255,255,255,.04);
}

.wp-button-ghost:hover,
.wp-button-ghost:focus-visible {
  border-color: var(--wp-cyan);
  background: rgba(54,181,245,.1);
}

.wp-hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  margin: 32px 0 0;
  padding: 22px 0 0;
  border-top: 1px solid rgba(255,255,255,.14);
  color: #9eb5c1;
  list-style: none;
  font-size: 13px;
  font-weight: 700;
}

.wp-hero-proof span { color: var(--wp-mint); }
.wp-timeline-note { display: block; margin-top: 10px; color: #718d9a; font-size: 9px; line-height: 1.45; }

.wp-product-stage {
  min-height: 650px;
  perspective: 1400px;
}

.wp-compare-stage { min-height: 520px; }

.wp-glow {
  position: absolute;
  width: 420px;
  height: 420px;
  right: 5%;
  top: 16%;
  border-radius: 50%;
  background: rgba(54,181,245,.24);
  filter: blur(100px);
}

.wp-browser {
  position: absolute;
  overflow: hidden;
  border: 1px solid rgba(152,220,252,.42);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 38px 100px rgba(0,0,0,.48);
}

.wp-stage-tag {
  position: absolute;
  z-index: 5;
  right: 12px;
  top: 45px;
  padding: 6px 8px;
  color: #00131f;
  background: var(--wp-mint);
  border: 1px solid #00131f;
  border-radius: 4px;
  box-shadow: 2px 2px 0 #00131f;
  font: 800 7px "JetBrains Mono", monospace;
  text-transform: uppercase;
}

.wp-compare-label {
  position: absolute;
  z-index: 8;
  left: 14px;
  top: 44px;
  padding: 7px 10px;
  color: #fff;
  border-radius: 5px;
  font: 900 8px "JetBrains Mono", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.wp-compare-label.is-before { background: #9b3131; }
.wp-compare-label.is-after {
  top: 7px;
  right: 12px;
  left: auto;
  background: #148d62;
}

.wp-legacy-site {
  position: absolute;
  z-index: 6;
  top: 50%;
  left: 0;
  width: 86%;
  min-height: 390px;
  overflow: hidden;
  color: #232323;
  border: 1px solid #8e989c;
  border-radius: 12px;
  background: #d8d6cd;
  box-shadow: 0 38px 100px rgba(0,0,0,.48);
  transform: translateY(-50%) rotateY(7deg) rotateX(2deg);
  transform-origin: 50% 100%;
  animation: wpLegacyPushBack 10s cubic-bezier(.22, 1, .36, 1) infinite;
}

.wp-legacy-site > div:nth-child(3) {
  display: grid;
  justify-items: center;
  gap: 16px;
  min-height: 354px;
  padding: 52px 28px;
  text-align: center;
  background: repeating-linear-gradient(0deg, rgba(0,0,0,.025) 0 1px, transparent 1px 5px), #e8e5da;
}

.wp-legacy-site > div:nth-child(3) b {
  color: #17345e;
  font: 700 22px Georgia, serif;
}

.wp-legacy-site > div:nth-child(3) i {
  display: block;
  width: 82%;
  height: 7px;
  background: #b3afa4;
}

.wp-legacy-site > div:nth-child(3) i:nth-of-type(2) { width: 68%; }
.wp-legacy-site > div:nth-child(3) i:nth-of-type(3) { width: 74%; }
.wp-legacy-site > div:nth-child(3) small { margin-top: 18px; color: #777166; font: 11px "Times New Roman", serif; }

.wp-legacy-site > em {
  position: absolute;
  left: 50%;
  bottom: 20px;
  width: max-content;
  max-width: 86%;
  padding: 9px 12px;
  color: #fff;
  background: #9b3131;
  border-radius: 5px;
  transform: translateX(-50%);
  font: 800 8px "JetBrains Mono", monospace;
  font-style: normal;
  text-transform: uppercase;
}

.wp-browser-site {
  z-index: 7;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  width: 86%;
  min-height: 390px;
  transform: translateY(-50%) rotateY(7deg) rotateX(2deg);
  transform-origin: 50% 100%;
  animation: wpModernOverlay 10s cubic-bezier(.22, 1, .36, 1) infinite;
}

.wp-browser-portal {
  right: 0;
  bottom: 14px;
  width: 82%;
  min-height: 390px;
  transform: rotateY(-6deg) rotateX(2deg);
  animation: wpPortalEnter 9s ease-in-out infinite;
}

.wp-browser-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 12px;
  color: #6e828d;
  background: #eef5f8;
  border-bottom: 1px solid #d9e7ed;
  font-size: 10px;
  font-weight: 700;
}

.wp-browser-bar i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff6c67;
}

.wp-browser-bar i:nth-child(2) { background: #ffbd35; }
.wp-browser-bar i:nth-child(3) { background: #35c94a; }
.wp-browser-bar span { margin-left: 7px; }

.wp-site-preview {
  min-height: 336px;
  padding: 23px;
  color: #07151e;
  background: linear-gradient(135deg, #fff 0 58%, #dff5fe 58% 100%);
}

.wp-site-preview header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 9px;
}

.wp-site-preview header b { font-size: 12px; }
.wp-site-preview header span { color: #71828a; }

.wp-site-hero-copy {
  width: 67%;
  padding-top: 34px;
}

.wp-site-hero-copy > small {
  color: #1389bf;
  font-size: 8px;
  font-weight: 900;
}

.wp-site-hero-copy > strong {
  display: block;
  margin-top: 9px;
  font-size: clamp(22px, 2.6vw, 36px);
  line-height: 1;
  letter-spacing: -.045em;
}

.wp-typewriter-word {
  display: inline-block;
  min-width: 5.25em;
  color: #087eaf;
  white-space: nowrap;
}

.wp-typewriter-word::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: .82em;
  margin-left: 3px;
  vertical-align: -.04em;
  background: var(--wp-cyan);
  box-shadow: 0 0 8px rgba(54,181,245,.55);
  animation: wpTypewriterCursor .72s steps(1) infinite;
}

.wp-visually-hidden {
  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;
}

@keyframes wpTypewriterCursor {
  0%, 48% { opacity: 1; }
  49%, 100% { opacity: 0; }
}

.wp-site-preview p {
  margin: 12px 0 17px;
  color: #60737d;
  font-size: 10px;
  line-height: 1.5;
}

.wp-site-hero-copy > b {
  display: inline-block;
  padding: 9px 11px;
  color: #00131f;
  background: var(--wp-cyan);
  border-radius: 4px;
  font-size: 9px;
}

.wp-hero-rating-banner {
  position: relative;
  width: 100%;
  margin-top: 14px;
  overflow: hidden;
  color: #102e3c;
  background: rgba(255,255,255,.92);
  border: 1px solid #d4e9f1;
  border-radius: 6px;
  box-shadow: 0 8px 18px rgba(8,41,57,.08);
}

.wp-hero-rating-brands {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 7px 12px;
  border-bottom: 1px solid #dceaf0;
}

.wp-hero-rating-brands > span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 7px;
}

.wp-hero-rating-brands > span > b { font-size: 11px; }
.wp-hero-rating-brands .is-google > img { display: block; width: 12px; height: 12px; object-fit: contain; }
.wp-hero-rating-brands .is-trustpilot > b { color: #00b67a; }
.wp-hero-rating-brands strong { color: #183542; font-size: 8px; }
.wp-hero-rating-brands i { color: #e99f00; font-style: normal; font-weight: 900; }
.wp-hero-rating-brands > small {
  margin-left: auto;
  padding: 3px 5px;
  color: #6e8590;
  background: #eaf3f6;
  border-radius: 3px;
  font: 700 5px "JetBrains Mono", monospace;
  text-transform: uppercase;
}

.wp-hero-rating-quotes {
  overflow: hidden;
  padding: 6px 0;
  font: 800 6px "JetBrains Mono", monospace;
  white-space: nowrap;
}

.wp-hero-rating-quotes > div {
  display: flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  animation: wpHeroRatingRun 9s linear infinite;
}

.wp-hero-rating-quotes span { color: #47616d; }
.wp-hero-rating-quotes span::first-letter { color: #e99f00; }
.wp-hero-rating-quotes i { width: 3px; height: 3px; border-radius: 50%; background: #8facb9; }

.wp-hero-lead-cta {
  position: relative;
  animation: wpHeroCtaPulse 2.4s ease-in-out infinite;
}

.wp-hero-lead-cta::after {
  content: "";
  position: absolute;
  inset: -1px;
  border: 1px solid var(--wp-mint);
  border-radius: 4px;
  opacity: 0;
  animation: wpHeroCtaRing 2.4s ease-out infinite;
}

.wp-site-preview aside {
  position: absolute;
  right: 7%;
  bottom: 12%;
  display: grid;
  grid-template-columns: repeat(2, 70px);
  gap: 7px;
  transform: rotate(-5deg);
}

.wp-site-preview aside i {
  height: 88px;
  border-radius: 7px;
  background: linear-gradient(145deg, #092334, #1e7196);
  box-shadow: 0 12px 24px rgba(0,35,55,.18);
}

.wp-site-preview aside i:nth-child(2) { height: 122px; background: linear-gradient(145deg, #33b2ef, #136993); }
.wp-site-preview aside i:nth-child(3) { grid-column: 1 / -1; height: 42px; background: linear-gradient(90deg, #eaf9ff, #a7def5); }

.wp-hero-proof-tiles i {
  display: grid;
  align-content: end;
  gap: 3px;
  padding: 10px;
  font-style: normal;
  animation: wpHeroTileFloat 4.8s ease-in-out infinite;
}

.wp-hero-proof-tiles i:nth-child(2) { animation-delay: .7s; }
.wp-hero-proof-tiles i:nth-child(3) { animation-delay: 1.4s; }
.wp-hero-proof-tiles b { color: #fff; font-size: 19px; line-height: 1; }
.wp-hero-proof-tiles small { color: rgba(255,255,255,.72); font-size: 6px; font-weight: 800; text-transform: uppercase; }
.wp-hero-proof-tiles i:nth-child(3) b { color: #075174; }
.wp-hero-proof-tiles i:nth-child(3) small { color: #33738d; }

@keyframes wpHeroRatingRun {
  0% { transform: translateX(105%); }
  100% { transform: translateX(-105%); }
}

@keyframes wpHeroCtaPulse {
  0%, 100% { transform: translateY(0) scale(1); box-shadow: 0 0 0 rgba(54,181,245,0); }
  45%, 60% { transform: translateY(-2px) scale(1.035); box-shadow: 0 9px 22px rgba(54,181,245,.35); }
}

@keyframes wpHeroCtaRing {
  0%, 38% { opacity: 0; transform: scale(1); }
  52% { opacity: .85; }
  85%, 100% { opacity: 0; transform: scale(1.22, 1.5); }
}

@keyframes wpHeroTileFloat {
  0%, 100% { transform: translateY(0) rotate(0); filter: brightness(1); }
  45%, 60% { transform: translateY(-8px) rotate(-1deg); filter: brightness(1.16); box-shadow: 0 16px 26px rgba(5,50,70,.22); }
}

.wp-connection {
  position: absolute;
  z-index: 4;
  left: 18%;
  top: 49%;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  color: #00131f;
  background: var(--wp-mint);
  border: 2px solid #00131f;
  border-radius: 999px;
  box-shadow: 4px 4px 0 #00131f;
  font-family: "JetBrains Mono", monospace;
  font-size: 8px;
  font-weight: 900;
  animation: wpConnectionPulse 9s ease-in-out infinite;
}

.wp-connection i { font-size: 14px; font-style: normal; }

.wp-portal-preview {
  display: grid;
  grid-template-columns: 52px 1fr;
  min-height: 356px;
  color: #07151e;
  background: #f3f7f9;
}

.wp-portal-preview > aside {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 20px;
  padding: 14px 8px;
  background: #061721;
}

.wp-portal-preview > aside b {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: #00131f;
  background: var(--wp-cyan);
  border-radius: 6px;
  font-size: 10px;
}

.wp-portal-preview > aside i {
  width: 21px;
  height: 21px;
  border-radius: 5px;
  background: rgba(255,255,255,.12);
}

.wp-portal-preview > aside i:first-of-type { background: var(--wp-cyan); }
.wp-portal-main { padding: 18px; }

.wp-portal-main > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.wp-portal-main header small,
.wp-portal-main header strong { display: block; }
.wp-portal-main header small { color: #74858e; font-size: 8px; }
.wp-portal-main header strong { margin-top: 3px; font-size: 17px; }

.wp-portal-main button {
  border: 0;
  padding: 8px 9px;
  color: #00131f;
  background: var(--wp-cyan);
  border-radius: 5px;
  font: inherit;
  font-size: 8px;
  font-weight: 900;
}

.wp-portal-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 18px;
}

.wp-portal-metrics article {
  padding: 10px;
  border: 1px solid #dbe7ec;
  border-radius: 6px;
  background: #fff;
}

.wp-portal-metrics small,
.wp-portal-metrics b,
.wp-portal-metrics span { display: block; }
.wp-portal-metrics small { color: #71828b; font-size: 7px; font-weight: 700; }
.wp-portal-metrics b { margin: 6px 0 2px; font-size: 19px; }
.wp-portal-metrics span { color: #16855c; font-size: 7px; font-weight: 800; }

.wp-portal-list {
  display: grid;
  gap: 7px;
  margin-top: 11px;
}

.wp-portal-list > div {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  align-items: center;
  gap: 9px;
  padding: 9px;
  border: 1px solid #dce7ec;
  border-radius: 6px;
  background: #fff;
}

.wp-portal-list i {
  width: 22px;
  height: 22px;
  border-radius: 5px;
  background: #d5f2ff;
}

.wp-portal-list span b,
.wp-portal-list span small { display: block; }
.wp-portal-list span b { font-size: 8px; }
.wp-portal-list span small { margin-top: 2px; color: #7d8c94; font-size: 6px; }
.wp-portal-list em { padding: 4px 6px; border-radius: 99px; color: #176d51; background: #dff8ed; font-size: 6px; font-style: normal; font-weight: 900; }

.wp-evidence {
  padding: clamp(62px, 8vw, 110px) clamp(20px, 6vw, 82px);
  color: #fff;
  background: #0b2330;
  border-top: 1px solid #234452;
  border-bottom: 1px solid #234452;
}

.wp-evidence-heading {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(280px, .52fr);
  column-gap: clamp(42px, 8vw, 120px);
  align-items: end;
  max-width: 1320px;
}

.wp-evidence-heading .eyebrow { grid-column: 1 / -1; }
.wp-evidence-heading h2 { margin: 12px 0 0; font-size: clamp(38px, 5vw, 68px); line-height: 1.01; letter-spacing: -.045em; }
.wp-evidence-heading > p:last-child { margin: 0; color: #9fb5c0; font-size: 17px; line-height: 1.6; }

.wp-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 1320px;
  margin-top: 52px;
}

.wp-evidence-grid article {
  display: flex;
  flex-direction: column;
  min-height: 360px;
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid #31505f;
  border-radius: 10px;
  background: rgba(255,255,255,.03);
}

.wp-evidence-grid article.is-key-study {
  color: #00131f;
  background: var(--wp-cyan);
  border-color: var(--wp-cyan);
  transform: translateY(-12px);
  box-shadow: 0 22px 54px rgba(0,0,0,.18);
}

.wp-evidence-grid strong { color: var(--wp-mint); font-size: clamp(50px, 5.5vw, 78px); line-height: .95; letter-spacing: -.06em; }
.wp-evidence-grid strong small { font-size: .35em; letter-spacing: 0; }
.wp-evidence-grid .is-key-study strong { color: #00131f; }
.wp-evidence-grid h3 { margin: 16px 0 10px; font-size: 22px; }
.wp-evidence-grid p { margin: 0; color: #a8bdc6; line-height: 1.6; }
.wp-evidence-grid .is-key-study p { color: #123342; }
.wp-evidence-grid a { margin-top: auto; padding-top: 28px; color: var(--wp-cyan); font-size: 11px; font-weight: 800; }
.wp-evidence-grid .is-key-study a { color: #00131f; }
.wp-evidence-note { max-width: 1000px; margin: 28px 0 0; color: #7894a1; font-size: 11px; line-height: 1.6; }

@keyframes wpLegacyReveal {
  0%, 16% { opacity: 1; transform: rotateY(7deg) rotateX(2deg) translateY(0) scale(1); filter: grayscale(.35); }
  24%, 88% { opacity: 0; transform: rotateY(7deg) rotateX(2deg) translateY(-34px) scale(.96); filter: grayscale(1); pointer-events: none; }
  96%, 100% { opacity: 1; transform: rotateY(7deg) rotateX(2deg) translateY(0) scale(1); filter: grayscale(.35); }
}

@keyframes wpLegacyRevealCentered {
  0%, 18% { opacity: 1; transform: translateY(-50%) rotateY(7deg) rotateX(2deg) scale(1); filter: grayscale(.35); }
  26%, 88% { opacity: 0; transform: translateY(calc(-50% - 38px)) rotateY(7deg) rotateX(2deg) scale(.96); filter: grayscale(1); pointer-events: none; }
  96%, 100% { opacity: 1; transform: translateY(-50%) rotateY(7deg) rotateX(2deg) scale(1); filter: grayscale(.35); }
}

@keyframes wpModernSiteCentered {
  0%, 16% { opacity: .12; filter: saturate(.25) blur(3px); transform: translateY(calc(-50% + 24px)) rotateY(7deg) rotateX(2deg) scale(.97); }
  29%, 86% { opacity: 1; filter: saturate(1) blur(0); transform: translateY(-50%) rotateY(7deg) rotateX(2deg) scale(1); box-shadow: 0 46px 110px rgba(0,0,0,.56), 0 0 0 1px rgba(54,181,245,.32); }
  96%, 100% { opacity: .12; filter: saturate(.25) blur(3px); transform: translateY(calc(-50% + 24px)) rotateY(7deg) rotateX(2deg) scale(.97); }
}

@keyframes wpLegacyPushBack {
  0%, 25% {
    opacity: 1;
    transform: translateY(-50%) rotateY(7deg) rotateX(2deg) scale(1);
    filter: grayscale(.35) brightness(1);
  }
  34%, 80% {
    opacity: .38;
    transform: translateY(calc(-50% - 24px)) translateX(-18px) rotateY(7deg) rotateX(2deg) scale(.93);
    filter: grayscale(.9) brightness(.55);
  }
  90%, 100% {
    opacity: 1;
    transform: translateY(-50%) rotateY(7deg) rotateX(2deg) scale(1);
    filter: grayscale(.35) brightness(1);
  }
}

@keyframes wpModernOverlay {
  0%, 22% {
    opacity: 0;
    transform: translateY(18%) translateX(42px) rotateY(7deg) rotateX(2deg) scale(.9);
    filter: saturate(.4) blur(7px);
    box-shadow: 0 20px 50px rgba(0,0,0,.25);
  }
  34%, 80% {
    opacity: 1;
    transform: translateY(-50%) translateX(0) rotateY(7deg) rotateX(2deg) scale(1);
    filter: saturate(1) blur(0);
    box-shadow: 0 52px 120px rgba(0,0,0,.62), 0 0 0 1px rgba(54,181,245,.42);
  }
  89%, 100% {
    opacity: 0;
    transform: translateY(-15%) translateX(34px) rotateY(7deg) rotateX(2deg) scale(.94);
    filter: saturate(.5) blur(5px);
    box-shadow: 0 20px 50px rgba(0,0,0,.25);
  }
}

@keyframes wpBeforeFloat {
  0%, 100% { transform: rotateY(7deg) rotateX(2deg) translateY(0); filter: grayscale(.35); }
  50% { transform: rotateY(7deg) rotateX(2deg) translateY(-7px); filter: grayscale(.55); }
}

@keyframes wpAfterFloat {
  0%, 100% { transform: rotateY(-5deg) rotateX(2deg) translateY(0); box-shadow: 0 38px 100px rgba(0,0,0,.48); }
  50% { transform: rotateY(-5deg) rotateX(2deg) translateY(-10px); box-shadow: 0 48px 110px rgba(0,0,0,.56), 0 0 0 1px rgba(54,181,245,.35); }
}

@keyframes wpCompareArrow {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(10px); box-shadow: 4px 4px 0 #00131f, 0 0 0 8px rgba(114,240,194,.11); }
}

@keyframes wpModernSite {
  0%, 15% { opacity: .18; filter: saturate(.3); transform: rotateY(7deg) rotateX(2deg) scale(.97); }
  27%, 100% { opacity: 1; filter: saturate(1); transform: rotateY(7deg) rotateX(2deg) scale(1); }
}

@keyframes wpPortalEnter {
  0%, 36% { opacity: .24; transform: rotateY(-6deg) rotateX(2deg) translateY(28px); }
  50%, 100% { opacity: 1; transform: rotateY(-6deg) rotateX(2deg) translateY(0); }
}

@keyframes wpConnectionPulse {
  0%, 35% { opacity: .25; transform: translateX(-12px) scale(.92); }
  45%, 62% { opacity: 1; transform: translateX(0) scale(1.05); box-shadow: 4px 4px 0 #00131f, 0 0 0 9px rgba(114,240,194,.12); }
  76%, 100% { opacity: 1; transform: translateX(0) scale(1); box-shadow: 4px 4px 0 #00131f; }
}

.wp-decision,
.wp-usecases,
.wp-process {
  padding: clamp(72px, 9vw, 126px) clamp(20px, 6vw, 82px);
}

.wp-pricing {
  padding: clamp(72px, 9vw, 126px) clamp(20px, 6vw, 82px);
  background: #eaf6fa;
}

.wp-pricing-intro {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(280px, .58fr);
  column-gap: clamp(40px, 8vw, 120px);
  align-items: end;
  max-width: 1320px;
}

.wp-pricing-intro .eyebrow { grid-column: 1 / -1; }
.wp-pricing-intro h2 { margin: 12px 0 0; font-size: clamp(42px, 5.5vw, 74px); line-height: .98; letter-spacing: -.05em; }
.wp-pricing-intro > p:last-child { margin: 0; color: #617681; font-size: 17px; line-height: 1.6; }

.wp-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 1320px;
  margin-top: 52px;
}

.wp-price-card {
  display: flex;
  flex-direction: column;
  min-height: 610px;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid #c5dfe9;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 18px 52px rgba(7,39,54,.07);
}

.wp-price-entry { border: 2px solid #0c98d3; box-shadow: 0 22px 64px rgba(12,152,211,.14); }
.wp-price-premium { color: #fff; border-color: #245367; background: var(--wp-navy-soft); }

.wp-price-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.wp-price-head span { display: grid; place-items: center; width: 34px; height: 34px; color: #00131f; background: var(--wp-cyan); border-radius: 7px; font: 800 11px "JetBrains Mono", monospace; }
.wp-price-head small { color: #6c8490; font: 700 9px "JetBrains Mono", monospace; text-transform: uppercase; }
.wp-price-premium .wp-price-head small { color: #8db6c8; }
.wp-price-card h3 { margin: 34px 0 0; font-size: 30px; }

.wp-price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px 9px;
  margin-top: 10px;
}

.wp-price small { color: #607984; font-size: 13px; font-weight: 800; }
.wp-price strong { font-size: clamp(40px, 4vw, 56px); line-height: 1; letter-spacing: -.055em; }
.wp-price em { color: #82949c; font-size: 10px; font-style: normal; }
.wp-price-card > p { margin: 24px 0 0; color: #607680; line-height: 1.6; }
.wp-price-premium > p { color: #a7bdc7; }

.wp-price-card ul {
  display: grid;
  gap: 12px;
  margin: 28px 0 0;
  padding: 24px 0 0;
  border-top: 1px solid #d8e7ed;
  list-style: none;
}

.wp-price-premium ul { border-color: rgba(255,255,255,.14); }
.wp-price-card li { position: relative; padding-left: 25px; font-size: 14px; font-weight: 700; line-height: 1.45; }
.wp-price-card li::before { content: "✓"; position: absolute; left: 0; color: #159b6a; font-weight: 900; }
.wp-price-premium li::before { color: var(--wp-mint); }

.wp-price-condition { margin-top: 18px; color: #7c9099; font-size: 10px; line-height: 1.5; }
.wp-price-card > a { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding: 15px 16px; color: #00131f; background: var(--wp-cyan); border: 1px solid #00131f; border-radius: 7px; box-shadow: 3px 3px 0 #00131f; font-weight: 900; }
.wp-price-card > a span { font-size: 21px; }
.wp-pricing-note { max-width: 920px; margin: 24px 0 0; color: #6b828d; font-size: 11px; line-height: 1.6; }

.wp-section-intro {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(280px, .58fr);
  column-gap: clamp(40px, 8vw, 120px);
  align-items: end;
  max-width: 1320px;
}

.wp-section-intro .eyebrow { grid-column: 1 / -1; }
.wp-section-intro h2,
.wp-journey h2,
.wp-outcomes h2,
.wp-faq h2,
.wp-final-cta h2 {
  margin: 12px 0 0;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1.01;
  letter-spacing: -.045em;
}

.wp-section-intro > p:last-child {
  margin: 0;
  color: #617681;
  font-size: 17px;
  line-height: 1.6;
}

.wp-offer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  max-width: 1320px;
  margin-top: 58px;
}

.wp-offer-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 650px;
  padding: clamp(26px, 4vw, 48px);
  border: 1px solid #cfe2ea;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(5,31,45,.08);
}

.wp-offer-featured {
  color: #fff;
  background:
    radial-gradient(circle at 100% 0, rgba(54,181,245,.23), transparent 34%),
    var(--wp-navy-soft);
  border-color: #1d647f;
  box-shadow: 0 26px 80px rgba(2,11,18,.22);
}

.wp-offer-badge {
  position: absolute;
  right: 24px;
  top: 24px;
  padding: 7px 10px;
  color: #00131f;
  background: var(--wp-mint);
  border-radius: 99px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.wp-offer-label {
  display: flex;
  align-items: center;
  gap: 12px;
  font: 700 13px "JetBrains Mono", monospace;
  text-transform: uppercase;
}

.wp-offer-label span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: #00131f;
  background: var(--wp-cyan);
  border-radius: 7px;
}

.wp-offer-card h3 {
  max-width: 580px;
  margin: 32px 0 0;
  font-size: clamp(32px, 3.5vw, 50px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.wp-offer-card > p {
  margin: 20px 0 0;
  color: #60747e;
  font-size: 16px;
  line-height: 1.62;
}

.wp-offer-featured > p { color: #acc1cb; }

.wp-offer-card ul {
  display: grid;
  gap: 13px;
  margin: 30px 0;
  padding: 26px 0 0;
  border-top: 1px solid #dce9ee;
  list-style: none;
}

.wp-offer-featured ul { border-color: rgba(255,255,255,.15); }
.wp-offer-card li { position: relative; padding-left: 27px; font-weight: 700; }
.wp-offer-card li::before { content: "✓"; position: absolute; left: 0; color: #159b6a; font-weight: 900; }
.wp-offer-featured li::before { color: var(--wp-mint); }

.wp-best-for {
  display: grid;
  gap: 5px;
  margin-top: auto;
  padding: 18px;
  color: #173542;
  background: #edf7fb;
  border-radius: 8px;
}

.wp-offer-featured .wp-best-for { color: #dff6ff; background: rgba(255,255,255,.07); }
.wp-best-for small { color: #6c7f88; font: 700 9px "JetBrains Mono", monospace; text-transform: uppercase; }
.wp-offer-featured .wp-best-for small { color: #7fcff3; }
.wp-best-for b { font-size: 13px; line-height: 1.45; }

.wp-offer-card > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
  padding: 17px 18px;
  color: #00131f;
  background: var(--wp-cyan);
  border: 1px solid #00131f;
  border-radius: 7px;
  box-shadow: 4px 4px 0 #00131f;
  font-weight: 900;
}

.wp-offer-card > a span { font-size: 22px; }

.wp-human {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: clamp(44px, 7vw, 104px);
  align-items: center;
  padding: clamp(72px, 9vw, 126px) clamp(20px, 6vw, 82px);
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 88%, rgba(54,181,245,.17), transparent 28%),
    #eef8fb;
}

.wp-human-visual { position: relative; min-height: 560px; }
.wp-human-visual img { position: absolute; display: block; object-fit: cover; border-radius: 13px; box-shadow: 0 30px 74px rgba(5,37,52,.2); transition: transform .55s cubic-bezier(.22, 1, .36, 1); }
.wp-human-main { inset: 0 14% 12% 0; width: 86%; height: 88%; object-position: center; }
.wp-human-detail { right: 0; bottom: 0; width: 54%; height: 43%; border: 7px solid #eef8fb; object-position: center; }
.wp-human-visual:hover .wp-human-main { transform: translateY(-6px) scale(1.01); }
.wp-human-visual:hover .wp-human-detail { transform: translate(5px, 5px) rotate(1deg); }
.wp-human-visual > span { position: absolute; z-index: 2; left: 22px; bottom: 5%; display: grid; gap: 3px; padding: 13px 15px; color: #fff; border-radius: 7px; background: #07202d; box-shadow: 4px 4px 0 var(--wp-cyan); }
.wp-human-visual > span b { color: var(--wp-mint); font-size: 15px; }
.wp-human-visual > span small { color: #b8ced8; font-size: 8px; text-transform: uppercase; }
.wp-human-copy h2 { margin: 12px 0 0; font-size: clamp(40px, 5vw, 68px); line-height: 1; letter-spacing: -.05em; }
.wp-human-copy > p:not(.eyebrow) { margin: 24px 0 0; color: #5e7580; font-size: 17px; line-height: 1.65; }
.wp-human-copy ul { display: grid; gap: 0; margin: 28px 0 0; padding: 0; border-top: 1px solid #cadee6; list-style: none; }
.wp-human-copy li { display: grid; gap: 5px; padding: 16px 0 16px 28px; border-bottom: 1px solid #cadee6; background: radial-gradient(circle at 8px 25px, var(--wp-cyan) 0 4px, transparent 5px); }
.wp-human-copy li b { font-size: 14px; }
.wp-human-copy li span { color: #6a7f89; font-size: 12px; line-height: 1.5; }
.wp-human-copy > a { margin-top: 28px; }

.wp-journey {
  display: grid;
  grid-template-columns: minmax(300px, .68fr) minmax(0, 1.32fr);
  gap: clamp(44px, 8vw, 120px);
  padding: clamp(72px, 9vw, 126px) clamp(20px, 6vw, 82px);
  color: #fff;
  background: var(--wp-navy);
}

.wp-journey-heading { align-self: center; }
.wp-journey-heading > p:last-child { color: #9fb5c0; font-size: 17px; line-height: 1.65; }
.wp-journey-track { display: grid; }

.wp-journey-track article {
  position: relative;
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 22px;
  padding: 24px 0;
  border-bottom: 1px solid #24404e;
}

.wp-journey-track article::before {
  content: "";
  position: absolute;
  left: 27px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #2e5060;
}

.wp-journey-track article > span {
  z-index: 1;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  color: #00131f;
  background: #d6e8f0;
  border-radius: 50%;
  font: 800 12px "JetBrains Mono", monospace;
}

.wp-journey-track article.is-conversion > span { background: var(--wp-mint); box-shadow: 0 0 0 8px rgba(114,240,194,.1); }
.wp-journey-track small { color: var(--wp-cyan); font: 700 9px "JetBrains Mono", monospace; text-transform: uppercase; }
.wp-journey-track h3 { margin: 5px 0 6px; font-size: 24px; }
.wp-journey-track p { margin: 0; color: #9fb5c0; line-height: 1.55; }

.wp-usecases { background: #eaf6fa; }
.wp-usecase-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 1320px;
  margin-top: 54px;
}

.wp-usecase-grid article {
  position: relative;
  min-height: 250px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid #c8e1eb;
  border-radius: 10px;
  background: rgba(255,255,255,.74);
}

.wp-usecase-grid article > b { color: #75919e; font: 700 10px "JetBrains Mono", monospace; }
.wp-usecase-grid article > span { position: absolute; right: 22px; top: 18px; color: #b6ddeb; font-size: 54px; font-weight: 900; }
.wp-usecase-grid h3 { margin: 62px 0 10px; font-size: 25px; }
.wp-usecase-grid p { margin: 0; color: #617781; line-height: 1.6; }

.wp-outcomes {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(44px, 8vw, 120px);
  padding: clamp(72px, 9vw, 126px) clamp(20px, 6vw, 82px);
}

.wp-essentials {
  padding: clamp(76px, 10vw, 138px) clamp(20px, 6vw, 82px);
  color: #fff;
  background:
    radial-gradient(circle at 15% 12%, rgba(54,181,245,.13), transparent 24%),
    var(--wp-navy);
}

.wp-essentials-intro {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(280px, .48fr);
  column-gap: clamp(44px, 8vw, 120px);
  align-items: end;
  max-width: 1320px;
}

.wp-essentials-intro .eyebrow { grid-column: 1 / -1; }
.wp-essentials-intro h2 { margin: 12px 0 0; font-size: clamp(42px, 5.7vw, 78px); line-height: .98; letter-spacing: -.055em; }
.wp-essentials-intro > p:last-child { margin: 0; color: #9db4bf; font-size: 17px; line-height: 1.65; }

.wp-factor {
  display: grid;
  grid-template-columns: minmax(290px, .62fr) minmax(460px, 1.38fr);
  gap: clamp(42px, 7vw, 104px);
  align-items: center;
  max-width: 1320px;
  margin-top: clamp(90px, 12vw, 170px);
}

.wp-factor-contact { grid-template-columns: minmax(460px, 1.38fr) minmax(290px, .62fr); }
.wp-factor-contact .wp-factor-copy { order: 2; }
.wp-factor-contact .wp-factor-demo { order: 1; }
.wp-factor-copy { position: relative; }
.wp-factor-number { position: absolute; right: 0; top: -34px; color: rgba(255,255,255,.06); font-size: 104px; font-weight: 900; line-height: 1; }
.wp-factor-copy h3 { position: relative; margin: 12px 0 0; font-size: clamp(34px, 4vw, 56px); line-height: 1.02; letter-spacing: -.045em; }
.wp-factor-copy > p:not(.eyebrow) { margin: 22px 0 0; color: #9fb6c0; font-size: 17px; line-height: 1.65; }
.wp-factor-copy ul { display: grid; gap: 11px; margin: 27px 0 0; padding: 24px 0 0; border-top: 1px solid #294653; list-style: none; }
.wp-factor-copy li { position: relative; padding-left: 25px; color: #d5e6ed; font-weight: 700; }
.wp-factor-copy li::before { content: "✓"; position: absolute; left: 0; color: var(--wp-mint); }

.wp-factor-demo {
  position: relative;
  min-width: 0;
  padding: clamp(18px, 3vw, 34px);
  border: 1px solid #2f5668;
  border-radius: 14px;
  background: #eef7fa;
  box-shadow: 0 36px 90px rgba(0,0,0,.32);
}

.wp-demo-label {
  position: absolute;
  z-index: 5;
  right: 18px;
  top: 16px;
  padding: 6px 8px;
  color: #00131f;
  background: var(--wp-mint);
  border: 1px solid #00131f;
  border-radius: 4px;
  box-shadow: 2px 2px 0 #00131f;
  font: 800 8px "JetBrains Mono", monospace;
  text-transform: uppercase;
}

.wp-rating-demo { min-height: 500px; color: #0a1720; overflow: hidden; }
.wp-rating-summary { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; padding: 18px; margin-top: 24px; border: 1px solid #d4e5eb; border-radius: 9px; background: #fff; }
.wp-rating-summary > div { display: flex; align-items: center; gap: 10px; }
.wp-google-g { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #e0e7ea; border-radius: 50%; }
.wp-google-g img { display: block; width: 24px; height: 24px; object-fit: contain; }
.wp-rating-summary p { margin: 0; }
.wp-rating-summary p b,
.wp-rating-summary p small { display: block; }
.wp-rating-summary p small { margin-top: 3px; color: #71848d; font-size: 9px; }
.wp-rating-summary > strong { font-size: 27px; }
.wp-rating-summary > strong span { color: #f5ae16; font-size: 13px; letter-spacing: -2px; }
.wp-rating-summary > small { grid-column: 2; color: #6e838c; font-size: 9px; text-align: right; }

.wp-review-window { height: 232px; margin-top: 13px; overflow: hidden; }
.wp-review-track { display: grid; gap: 10px; animation: wpReviewRoll 10s ease-in-out infinite; }
.wp-review-track article { min-height: 106px; padding: 16px; border: 1px solid #d3e4ea; border-radius: 8px; background: #fff; box-shadow: 0 8px 20px rgba(7,35,49,.05); }
.wp-review-track article > div { display: flex; align-items: center; gap: 10px; }
.wp-review-track article > div > b { display: grid; place-items: center; width: 32px; height: 32px; color: #00131f; background: #cdefff; border-radius: 50%; font-size: 9px; }
.wp-review-track article span strong,
.wp-review-track article span small { display: block; }
.wp-review-track article span strong { font-size: 11px; }
.wp-review-track article span small { margin-top: 2px; color: #f2a900; font-size: 8px; }
.wp-review-track article p { margin: 11px 0 0; color: #4d626c; font-size: 11px; line-height: 1.5; }
.wp-trustpilot-line { display: flex; align-items: center; gap: 10px; padding: 14px; color: #07151d; background: #fff; border: 1px solid #d3e4ea; border-radius: 8px; }
.wp-trustpilot-line b { color: #00a87e; }
.wp-trustpilot-line span { font-size: 10px; font-weight: 800; }
.wp-trustpilot-line i { color: #00b67a; font-style: normal; letter-spacing: -2px; }
.wp-trustpilot-line small { margin-left: auto; color: #71848d; font-size: 8px; }

.wp-contact-demo { min-height: 540px; color: #07151d; overflow: hidden; background: linear-gradient(145deg, #d9f2fb, #f8fcfd); }
.wp-contact-phone { position: relative; z-index: 2; width: min(390px, 90%); margin: 28px auto 0; padding: 20px; border: 7px solid #071923; border-radius: 28px; background: #fff; box-shadow: 0 26px 52px rgba(4,26,38,.22); }
.wp-contact-phone header { padding: 4px 4px 16px; }
.wp-contact-phone header small,
.wp-contact-phone header b { display: block; }
.wp-contact-phone header small { color: #6a818b; font-size: 8px; }
.wp-contact-phone header b { margin-top: 8px; font-size: 20px; }
.wp-contact-options { display: grid; gap: 8px; }
.wp-contact-options > button { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; width: 100%; padding: 10px; border: 1px solid #d8e5ea; border-radius: 8px; background: #f8fbfc; color: #07151d; font: inherit; text-align: left; cursor: pointer; }
.wp-contact-options > button > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 8px; color: #fff; background: #263f4c; font-size: 11px; font-weight: 900; }
.wp-contact-options > button.is-whatsapp > span { background: #25d366; }
.wp-contact-options > button.is-calendar > span { color: #00131f; background: var(--wp-cyan); }
.wp-contact-options > button div b,
.wp-contact-options > button div small { display: block; }
.wp-contact-options > button div b { font-size: 11px; }
.wp-contact-options > button div small { margin-top: 3px; color: #748790; font-size: 8px; }
.wp-contact-options > button > i { color: #5f7781; font-style: normal; }
.wp-contact-options > button { animation: wpContactFocus 8s ease-in-out infinite; }
.wp-contact-options > button:nth-child(2) { animation-delay: 2.5s; }
.wp-contact-options > button:nth-child(3) { animation-delay: 5s; }
.wp-chat-preview { display: grid; grid-template-columns: 30px 1fr; gap: 9px; align-items: center; margin-top: 14px; padding: 10px; color: #fff; background: #0b2735; border-radius: 9px; }
.wp-chat-preview > i { width: 30px; height: 30px; border-radius: 50%; background: radial-gradient(circle at 38% 36%, #fff 0 2px, transparent 3px), radial-gradient(circle at 64% 36%, #fff 0 2px, transparent 3px), var(--wp-cyan); }
.wp-chat-preview p { margin: 0; }
.wp-chat-preview p b,
.wp-chat-preview p span { display: block; }
.wp-chat-preview p b { font-size: 9px; }
.wp-chat-preview p span { margin-top: 2px; color: #a9bfca; font-size: 7px; }
.wp-chat-preview button { grid-column: 1 / -1; border: 0; padding: 8px; color: #00131f; background: var(--wp-mint); border-radius: 5px; font: 800 9px "Inter", sans-serif; }
.wp-contact-pulse i { position: absolute; border: 1px solid rgba(54,181,245,.32); border-radius: 50%; animation: wpContactPulse 4s ease-out infinite; }
.wp-contact-pulse i:first-child { inset: 18% 12%; }
.wp-contact-pulse i:nth-child(2) { inset: 10% 5%; animation-delay: 1.2s; }
.wp-contact-pulse i:nth-child(3) { inset: 2% -2%; animation-delay: 2.4s; }

.wp-config-demo { min-height: 610px; overflow: hidden; color: #07151d; background: #fff; }
.wp-config-demo > .wp-demo-label { position: relative; top: auto; right: auto; display: inline-flex; width: max-content; }
.wp-config-start-link { margin-top: 28px; }
.wp-config-start-note { display: block; margin-top: 11px; color: #8ba5b0; font-size: 10px; font-weight: 700; line-height: 1.5; }
.wp-config-action-intro { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 15px; align-items: center; margin-top: 16px; padding: 17px 18px; color: #fff; border: 1px solid #177da6; border-radius: 10px; background: radial-gradient(circle at 100% 0, rgba(114,240,194,.17), transparent 35%), #082430; box-shadow: 0 16px 34px rgba(4,34,47,.15); }
.wp-config-action-intro > span { display: grid; place-items: center; width: 54px; height: 54px; color: #00131f; border-radius: 10px; background: var(--wp-mint); box-shadow: 0 0 0 6px rgba(114,240,194,.1); font-size: 27px; font-weight: 900; }
.wp-config-action-intro small,
.wp-config-action-intro b { display: block; }
.wp-config-action-intro small { color: var(--wp-mint); font: 800 8px "JetBrains Mono", monospace; letter-spacing: .04em; text-transform: uppercase; }
.wp-config-action-intro b { margin-top: 5px; font-size: 15px; line-height: 1.35; }
.wp-config-action-intro p { margin: 5px 0 0; color: #a8c0ca; font-size: 9px; line-height: 1.5; }
.wp-config-progress { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 14px 0 8px; }
.wp-config-progress > span { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 9px 10px; color: #7c9099; border: 1px solid #d9e7ec; border-radius: 7px; background: #f7fafb; font-size: 8px; }
.wp-config-progress > span i { display: grid; flex: 0 0 auto; place-items: center; width: 23px; height: 23px; color: #536b76; border-radius: 50%; background: #e3edf1; font-style: normal; font-weight: 900; }
.wp-config-progress > span b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wp-config-progress > span.is-active { color: #064e6d; border-color: #39b5ee; background: #e8f7fd; }
.wp-config-progress > span.is-active i { color: #00131f; background: var(--wp-cyan); box-shadow: 0 0 0 4px rgba(54,181,245,.12); }
.wp-config-progress > span.is-complete { color: #087552; border-color: #a9deca; background: #effbf6; }
.wp-config-progress > span.is-complete i { color: #00131f; background: var(--wp-mint); }
.wp-config-step[hidden] { display: none; }
.wp-config-step.is-active { animation: wpWizardStepIn .45s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes wpWizardStepIn { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: translateX(0); } }
.wp-config-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-top: 24px; padding-bottom: 18px; border-bottom: 1px solid #d8e7ed; }
.wp-config-head small { color: #138fc4; font: 800 8px "JetBrains Mono", monospace; }
.wp-config-head h4 { margin: 7px 0 0; font-size: clamp(21px, 2.5vw, 31px); }
.wp-config-head > span { flex: 0 0 auto; padding: 7px 9px; color: #5d747e; background: #edf6fa; border-radius: 6px; font-size: 9px; }
.wp-config-head > span b { color: #068abe; font-size: 17px; }
.wp-config-included { margin-top: 16px; padding: 16px; border: 1px solid #bfe4d5; border-radius: 9px; background: #effbf6; }
.wp-config-included > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.wp-config-included > div small { color: #087552; font: 900 8px "JetBrains Mono", monospace; text-transform: uppercase; }
.wp-config-included > div b { color: #47675b; font-size: 9px; }
.wp-config-included ul { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; margin: 13px 0 0; padding: 0; list-style: none; }
.wp-config-included li { position: relative; display: grid; align-content: end; gap: 4px; min-width: 0; min-height: 82px; padding: 40px 10px 11px; border: 1px solid #cae9dc; border-radius: 7px; background: rgba(255,255,255,.72); }
.wp-config-included li > span { position: absolute; left: 10px; top: 9px; display: grid; place-items: center; width: 27px; height: 27px; color: #087552; border-radius: 7px; background: #dff5eb; font-size: 13px; font-weight: 900; }
.wp-config-included li b { font-size: 12px; line-height: 1.2; }
.wp-config-included li small { color: #6b8178; font-size: 10px; line-height: 1.4; }
.wp-config-group-head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 3px 12px; margin-top: 22px; }
.wp-config-group-head.is-more { margin-top: 19px; }
.wp-config-group-head small { grid-column: 1 / -1; color: #138fc4; font: 800 10px "JetBrains Mono", monospace; text-transform: uppercase; }
.wp-config-group-head b { font-size: 15px; }
.wp-config-group-head span { color: #71868f; font-size: 10px; }
.wp-config-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.wp-website-config-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wp-backend-feature { grid-column: auto; }
.wp-config-options button { position: relative; display: grid; justify-items: start; min-width: 0; min-height: 126px; padding: 13px; color: #122a35; border: 1px solid #d5e4ea; border-radius: 8px; background: #f8fbfc; font: inherit; text-align: left; cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.wp-config-options button:hover { transform: translateY(-3px); }
.wp-config-options button.is-active { border-color: #0d9ad5; background: #e1f5fd; box-shadow: inset 0 0 0 1px #0d9ad5; }
.wp-config-options button.is-active::after { content: "✓"; position: absolute; right: 8px; top: 8px; display: grid; place-items: center; width: 18px; height: 18px; color: #00131f; background: var(--wp-mint); border-radius: 50%; font-size: 10px; font-weight: 900; }
.wp-config-options button > span { font-size: 24px; }
.wp-contact-choice-options button > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: #e6f4f9; }
.wp-contact-choice-options button > span img { display: block; width: 19px; height: 19px; }
.wp-config-options button b { align-self: end; font-size: 13px; }
.wp-config-options button small { color: #72868f; font-size: 11px; line-height: 1.4; }
.wp-backend-options {
  display: grid;
  gap: 14px;
  margin-top: 12px;
  padding: 18px;
  color: #dff4fb;
  border: 1px solid #2f5668;
  border-radius: 9px;
  background: #0b2633;
  animation: wpBackendReveal .35s ease both;
}
.wp-backend-options[hidden] { display: none; }
.wp-backend-options > div:first-child small,
.wp-backend-options > div:first-child b { display: block; }
.wp-backend-options > div:first-child small { color: var(--wp-mint); font: 700 8px "JetBrains Mono", monospace; text-transform: uppercase; }
.wp-backend-options > div:first-child b { margin-top: 5px; font-size: 12px; }
.wp-backend-checks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }
.wp-backend-checks label { position: relative; cursor: pointer; }
.wp-backend-checks input { position: absolute; opacity: 0; pointer-events: none; }
.wp-backend-checks span { display: block; padding: 10px 12px; color: #a9c0ca; border: 1px solid #365665; border-radius: 6px; background: rgba(255,255,255,.035); font-size: 9px; font-weight: 800; transition: .2s ease; }
.wp-backend-checks input:checked + span { color: #00131f; border-color: var(--wp-mint); background: var(--wp-mint); box-shadow: 0 7px 18px rgba(114,240,194,.15); }
.wp-backend-custom { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; }
.wp-backend-custom span { color: #91aab5; font-size: 9px; font-weight: 800; }
.wp-backend-custom input { min-width: 0; width: 100%; padding: 10px 11px; color: #fff; border: 1px solid #365665; border-radius: 6px; outline: 0; background: #071a24; font: 10px "Inter", sans-serif; }
.wp-backend-custom input:focus { border-color: var(--wp-cyan); box-shadow: 0 0 0 3px rgba(54,181,245,.12); }
.wp-backend-custom input::placeholder { color: #63808d; }
@keyframes wpBackendReveal { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
.wp-config-contact { margin-top: 20px; padding: 18px; border: 1px solid #d1e3ea; border-radius: 9px; background: #f5fafc; }
.wp-config-contact > div:first-child { display: grid; gap: 4px; }
.wp-config-contact > div:first-child small { color: #138fc4; font: 800 10px "JetBrains Mono", monospace; text-transform: uppercase; }
.wp-config-contact > div:first-child b { font-size: 17px; }
.wp-config-contact > div:first-child span { color: #71858e; font-size: 11px; line-height: 1.5; }
.wp-config-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.wp-config-contact-fields label { display: grid; gap: 6px; min-width: 0; }
.wp-config-contact-fields label > span { color: #526b76; font-size: 9px; font-weight: 800; }
.wp-config-contact-fields input { min-width: 0; width: 100%; min-height: 45px; padding: 10px 12px; color: #0a202a; border: 1px solid #c6dce5; border-radius: 7px; outline: 0; background: #fff; font: 11px "Inter", sans-serif; }
.wp-config-contact-fields input:focus { border-color: var(--wp-cyan); box-shadow: 0 0 0 3px rgba(54,181,245,.13); }
.wp-config-contact-fields input:invalid:not(:placeholder-shown) { border-color: #d66b6b; }
.wp-config-result { display: grid; grid-template-columns: 1fr auto; gap: 12px 24px; align-items: end; margin-top: 18px; padding: 20px; color: #fff; background: #071c27; border-radius: 10px; }
.wp-config-result small,
.wp-config-result b { display: block; }
.wp-config-result small { color: #87a7b6; font-size: 8px; text-transform: uppercase; }
.wp-config-result b { max-width: 430px; margin-top: 5px; font-size: 12px; line-height: 1.45; }
.wp-config-result strong { color: var(--wp-mint); font-size: 20px; line-height: 1.1; }
.wp-config-result button,
.wp-config-result a { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; width: 100%; border: 0; padding: 12px; color: #00131f; background: var(--wp-cyan); border-radius: 6px; font: 900 11px "Inter", sans-serif; }
.wp-config-result .wp-config-skip { margin-top: -4px; color: #dcecf3; border: 1px solid #3b5966; background: transparent; }
.wp-config-result .wp-config-skip:hover,
.wp-config-result .wp-config-skip:focus-visible { color: #fff; border-color: var(--wp-mint); background: rgba(114,240,194,.08); }
.wp-config-disclaimer { margin: 12px 2px 0; color: #7b8e96; font-size: 9px; line-height: 1.5; }
.wp-config-disclaimer a { color: #187da8; text-decoration: underline; text-underline-offset: 2px; }

@media (min-width: 821px) {
  #websiteConfigForm { scroll-margin-top: 96px; }
  .wp-config-options button { min-height: 146px; padding: 16px; }
  .wp-config-options button > span { display: grid; place-items: center; width: 48px; height: 48px; color: #0b789f; border-radius: 10px; background: #e6f4f9; font-size: 30px; line-height: 1; }
  .wp-contact-choice-options button > span { width: 52px; height: 52px; }
  .wp-contact-choice-options button > span img { width: 28px; height: 28px; }
  .wp-config-options button b { font-size: 14px; }
  .wp-config-options button small { font-size: 11px; line-height: 1.45; }
  .wp-config-included li { min-height: 96px; padding: 46px 12px 13px; }
  .wp-config-included li > span { width: 30px; height: 30px; font-size: 14px; }
  .wp-config-included li b { font-size: 13px; }
  .wp-config-included li small { font-size: 10px; }
}

.wp-config-calendar-step { padding-top: 18px; }
.wp-wizard-step-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 18px 0; border-bottom: 1px solid #d7e5eb; }
.wp-wizard-step-head small { color: #138fc4; font: 800 8px "JetBrains Mono", monospace; }
.wp-wizard-step-head h4 { margin: 7px 0 0; font-size: clamp(25px, 3.4vw, 39px); }
.wp-wizard-step-head p { margin: 7px 0 0; color: #6d838d; font-size: 11px; }
.wp-wizard-step-head button { flex: 0 0 auto; padding: 9px 11px; color: #49616c; border: 1px solid #c9dde5; border-radius: 6px; background: #f6fafb; font: 800 9px "Inter", sans-serif; cursor: pointer; }
.wp-wizard-selection { display: grid; gap: 5px; margin: 14px 0; padding: 13px 15px; color: #dff4fb; border-radius: 8px; background: #0b2633; }
.wp-wizard-selection small { color: var(--wp-mint); font: 700 8px "JetBrains Mono", monospace; text-transform: uppercase; }
.wp-wizard-selection b { font-size: 11px; line-height: 1.45; }
.wp-wizard-calendar-frame { min-height: 720px; overflow: hidden; border: 1px solid #d2e2e8; border-radius: 9px; background: #fff; box-shadow: 0 18px 48px rgba(4,35,48,.12); }
#wp-config-cal-inline { width: 100%; min-height: 720px; }

.wp-config-thanks { display: grid; align-content: center; justify-items: start; min-height: 690px; padding: clamp(28px, 5vw, 58px); background: radial-gradient(circle at 85% 12%, rgba(54,181,245,.16), transparent 30%), #f7fbfc; }
.wp-thanks-check { display: grid; place-items: center; width: 62px; height: 62px; color: #00131f; border-radius: 50%; background: var(--wp-mint); box-shadow: 0 0 0 10px rgba(114,240,194,.14); font-size: 30px; font-weight: 900; }
.wp-config-thanks .eyebrow { margin: 28px 0 0; }
.wp-config-thanks h4 { max-width: 690px; margin: 10px 0 0; font-size: clamp(35px, 5vw, 58px); line-height: 1; letter-spacing: -.045em; }
.wp-config-thanks > p:not(.eyebrow) { max-width: 680px; margin: 18px 0 0; color: #637983; font-size: 15px; line-height: 1.6; }
.wp-thanks-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; margin-top: 26px; }
.wp-thanks-meta > div { padding: 15px; border: 1px solid #cee1e8; border-radius: 8px; background: #fff; }
.wp-thanks-meta small,
.wp-thanks-meta b { display: block; }
.wp-thanks-meta small,
.wp-thanks-requirements > small { color: #1783af; font: 800 8px "JetBrains Mono", monospace; text-transform: uppercase; }
.wp-thanks-meta b { margin-top: 6px; font-size: 12px; line-height: 1.4; }
.wp-thanks-requirements { width: 100%; margin-top: 10px; padding: 17px; color: #fff; border-radius: 8px; background: #09212d; }
.wp-thanks-requirements ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 11px 0 0; padding: 0; list-style: none; }
.wp-thanks-requirements li { padding: 7px 9px; color: #dff2f8; border: 1px solid #31515f; border-radius: 99px; font-size: 9px; }
.wp-config-thanks > a { margin-top: 24px; }

@keyframes wpReviewRoll {
  0%, 24% { transform: translateY(0); }
  34%, 57% { transform: translateY(-116px); }
  67%, 90% { transform: translateY(-232px); }
  100% { transform: translateY(0); }
}

@keyframes wpContactFocus {
  0%, 22%, 100% { transform: translateX(0); border-color: #d8e5ea; box-shadow: none; }
  7%, 15% { transform: translateX(5px); border-color: var(--wp-cyan); box-shadow: 0 8px 18px rgba(17,142,192,.15); }
}

@keyframes wpContactPulse {
  0% { opacity: 0; transform: scale(.78); }
  30% { opacity: 1; }
  100% { opacity: 0; transform: scale(1.08); }
}

.wp-outcomes > div:first-child { align-self: start; position: sticky; top: 110px; }
.wp-outcome-list { border-top: 1px solid #cadfe7; }
.wp-outcome-list article { display: grid; grid-template-columns: 58px 1fr; gap: 18px; padding: 28px 0; border-bottom: 1px solid #cadfe7; }
.wp-outcome-list article > span { color: #168fc5; font: 700 12px "JetBrains Mono", monospace; }
.wp-outcome-list h3 { margin: 0 0 7px; font-size: 24px; }
.wp-outcome-list p { margin: 0; color: #607680; line-height: 1.6; }

.wp-process { color: #fff; background: #0b2330; }
.wp-process .wp-section-intro > p:last-child { color: #9fb5c0; }
.wp-process-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 52px;
}

.wp-process-line {
  position: absolute;
  z-index: 0;
  left: 10%;
  right: 10%;
  top: 60px;
  height: 2px;
  overflow: hidden;
  background: #31505f;
}

.wp-process-line i {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--wp-cyan), var(--wp-mint));
  transform-origin: left;
  animation: wpProcessLine 12s ease-in-out infinite;
}

.wp-process-grid article {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-height: 330px;
  padding: 26px;
  border: 1px solid #31505f;
  border-radius: 9px;
  background: rgba(255,255,255,.03);
  animation: wpProcessStep 12s ease-in-out infinite;
}

.wp-process-grid article:nth-of-type(2) { animation-delay: 3s; }
.wp-process-grid article:nth-of-type(3) { animation-delay: 6s; }
.wp-process-grid article:nth-of-type(4) { animation-delay: 9s; }

.wp-process-grid article > span { color: var(--wp-cyan); font: 700 12px "JetBrains Mono", monospace; }
.wp-process-grid h3 { margin: 24px 0 10px; font-size: 25px; }
.wp-process-grid p { margin: 0; color: #a4bac4; line-height: 1.58; }
.wp-process-grid small { margin-top: auto; padding-top: 22px; color: var(--wp-mint); font: 700 10px "JetBrains Mono", monospace; text-transform: uppercase; }

.wp-process-visual {
  position: relative;
  height: 92px;
  margin-top: 32px;
  overflow: hidden;
  border: 1px solid #335665;
  border-radius: 7px;
  background: #071923;
}

.wp-process-visual.is-calendar { display: grid; grid-template-columns: 46px repeat(3, 1fr); align-items: center; gap: 6px; padding: 12px; }
.wp-process-visual.is-calendar b { display: grid; place-items: center; height: 54px; color: #00131f; background: var(--wp-cyan); border-radius: 6px; font-size: 20px; }
.wp-process-visual.is-calendar i { height: 8px; border-radius: 99px; background: #284854; }
.wp-process-visual.is-calendar i:nth-of-type(2) { background: var(--wp-mint); }

.wp-process-visual.is-talk i { position: absolute; width: 64%; height: 28px; border-radius: 8px 8px 8px 2px; background: #214756; }
.wp-process-visual.is-talk i:first-child { left: 10px; top: 11px; }
.wp-process-visual.is-talk i:nth-child(2) { right: 10px; top: 47px; background: #16698c; border-radius: 8px 8px 2px 8px; }
.wp-process-visual.is-talk b { position: absolute; z-index: 1; right: 17px; bottom: 17px; color: #dff7ff; font-size: 9px; }

.wp-process-visual.is-draft { padding: 14px; }
.wp-process-visual.is-draft > i { display: block; width: 100%; height: 8px; margin-bottom: 12px; background: #274652; border-radius: 3px; }
.wp-process-visual.is-draft b { display: block; color: #fff; font-size: 11px; }
.wp-process-visual.is-draft span { display: inline-block; width: 27%; height: 28px; margin: 11px 4px 0 0; border-radius: 4px; background: #153442; }
.wp-process-visual.is-draft span:nth-of-type(2) { background: var(--wp-cyan); }
.wp-process-visual.is-draft::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(114,240,194,.28), transparent); transform: translateX(-100%); animation: wpDraftScan 3s ease-in-out infinite; }

.wp-process-visual.is-offer { display: grid; grid-template-columns: 40px 1fr; gap: 3px 10px; align-content: center; padding: 13px; }
.wp-process-visual.is-offer b { grid-row: 1 / 4; display: grid; place-items: center; width: 40px; height: 40px; color: #00131f; background: var(--wp-mint); border-radius: 50%; font-size: 20px; }
.wp-process-visual.is-offer i { color: var(--wp-cyan); font: 800 9px "JetBrains Mono", monospace; font-style: normal; }
.wp-process-visual.is-offer span { color: #9eb7c1; font-size: 8px; }

.wp-process-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  margin-top: 20px;
  padding: 24px;
  border: 1px solid #31505f;
  border-radius: 9px;
  background: rgba(255,255,255,.04);
}

.wp-process-cta > div { display: grid; gap: 5px; }
.wp-process-cta b { color: var(--wp-mint); font-size: 18px; }
.wp-process-cta span { color: #9fb6c0; }
.wp-process-cta > a { flex: 0 0 auto; }

@keyframes wpProcessLine {
  0% { transform: scaleX(0); }
  78%, 100% { transform: scaleX(1); }
}

@keyframes wpProcessStep {
  0%, 20%, 100% { border-color: #31505f; transform: translateY(0); background: rgba(255,255,255,.03); }
  6%, 14% { border-color: var(--wp-cyan); transform: translateY(-8px); background: rgba(54,181,245,.1); box-shadow: 0 18px 38px rgba(0,0,0,.2); }
}

@keyframes wpDraftScan {
  0%, 20% { transform: translateX(-100%); }
  70%, 100% { transform: translateX(100%); }
}

.wp-faq {
  display: grid;
  grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr);
  gap: clamp(42px, 8vw, 120px);
  padding: clamp(72px, 9vw, 126px) clamp(20px, 6vw, 82px);
}

.wp-faq-list { border-top: 1px solid #c9dde6; }
.wp-faq details { border-bottom: 1px solid #c9dde6; }
.wp-faq summary { position: relative; padding: 24px 46px 24px 0; cursor: pointer; list-style: none; font-size: 18px; font-weight: 800; }
.wp-faq summary::-webkit-details-marker { display: none; }
.wp-faq summary::after { content: "+"; position: absolute; right: 4px; top: 20px; color: #138dc2; font-size: 27px; font-weight: 500; }
.wp-faq details[open] summary::after { content: "−"; }
.wp-faq details p { margin: -7px 48px 24px 0; color: #5e747e; line-height: 1.65; }

.wp-final-cta {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin: 0 clamp(20px, 6vw, 82px) clamp(30px, 5vw, 72px);
  padding: clamp(34px, 6vw, 72px);
  color: #fff;
  background:
    radial-gradient(circle at 90% 0, rgba(54,181,245,.28), transparent 34%),
    var(--wp-navy);
  border-radius: 14px;
}

.wp-final-cta > div { max-width: 800px; }
.wp-final-cta > div > p:last-child { max-width: 680px; margin: 20px 0 0; color: #adc1ca; font-size: 17px; line-height: 1.6; }
.wp-final-cta > a { flex: 0 0 auto; }

/* Keep every landingpage section on the same centered content axis. */
.wp-hero,
.wp-evidence,
.wp-pricing,
.wp-decision,
.wp-human,
.wp-journey,
.wp-usecases,
.wp-essentials,
.wp-outcomes,
.wp-process,
.wp-faq {
  padding-inline: var(--wp-section-gutter);
}

.wp-evidence-heading,
.wp-evidence-grid,
.wp-pricing-intro,
.wp-pricing-grid,
.wp-section-intro,
.wp-offer-grid,
.wp-usecase-grid,
.wp-essentials-intro,
.wp-factor {
  width: 100%;
  margin-inline: auto;
}

.wp-evidence-note,
.wp-pricing-note {
  margin-inline: auto;
}

.wp-final-cta {
  width: calc(100% - (2 * var(--wp-section-gutter)));
  max-width: var(--wp-content-width);
  margin-inline: auto;
}

@media (max-width: 1100px) {
  .wp-hero { grid-template-columns: 1fr; }
  .wp-hero-copy { max-width: 880px; }
  .wp-product-stage { width: min(760px, 100%); margin: 0 auto; }
  .wp-process-grid { grid-template-columns: repeat(2, 1fr); }
  .wp-process-line { display: none; }
  .wp-usecase-grid { grid-template-columns: repeat(2, 1fr); }
  .wp-pricing-grid { grid-template-columns: 1fr; }
  .wp-price-card { min-height: auto; }
  .wp-factor,
  .wp-factor-contact { grid-template-columns: 1fr; }
  .wp-factor-contact .wp-factor-copy,
  .wp-factor-contact .wp-factor-demo { order: initial; }
}

@media (max-width: 920px) {
  .wp-landing .wp-header {
    gap: 10px;
    min-height: 68px;
    padding: 4px 14px;
  }

  .wp-landing .wp-header .brand {
    flex: 0 1 132px;
    min-width: 0;
  }

  .wp-landing .wp-header .brand img {
    width: 132px;
    height: 58px;
  }

  .wp-landing .wp-header .nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-left: auto;
    padding: 10px 14px;
    white-space: nowrap;
  }

  .wp-cta-desktop { display: none; }
  .wp-cta-mobile { display: inline; }
}

@media (max-width: 820px) {
  .wp-section-intro,
  .wp-journey,
  .wp-outcomes,
  .wp-faq { grid-template-columns: 1fr; }
  .wp-section-intro > p:last-child { margin-top: 18px; }
  .wp-offer-grid { grid-template-columns: 1fr; }
  .wp-human { grid-template-columns: 1fr; }
  .wp-human-visual { min-height: 500px; }
  .wp-outcomes > div:first-child { position: static; }
  .wp-evidence-heading { grid-template-columns: 1fr; }
  .wp-evidence-heading > p:last-child { margin-top: 18px; }
  .wp-evidence-grid { grid-template-columns: 1fr; }
  .wp-evidence-grid article.is-key-study { transform: none; }
  .wp-pricing-intro { grid-template-columns: 1fr; }
  .wp-pricing-intro > p:last-child { margin-top: 18px; }
  .wp-essentials-intro { grid-template-columns: 1fr; }
  .wp-essentials-intro > p:last-child { margin-top: 18px; }
  .wp-config-options { grid-template-columns: repeat(2, 1fr); }
  .wp-config-included ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wp-final-cta { align-items: stretch; flex-direction: column; }
  .wp-final-cta > a { align-self: flex-start; }
}

@media (max-width: 620px) {
  .wp-hero { min-height: auto; padding: 58px 16px 70px; }
  .wp-hero h1 { font-size: clamp(43px, 13vw, 60px); }
  .wp-lead { font-size: 17px; }
  .wp-hero .hero-actions a { width: 100%; }
  .wp-entry-offer { align-items: flex-start; flex-direction: column; }
  .wp-product-stage { min-height: 540px; margin-top: 20px; }
  .wp-browser-site { width: 100%; min-height: 390px; }
  .wp-browser-portal { width: 96%; min-height: 290px; }
  .wp-legacy-site { width: 100%; min-height: 390px; }
  .wp-legacy-site > div:nth-child(3) { min-height: 354px; padding: 42px 18px; }
  .wp-legacy-site > div:nth-child(3) b { font-size: 17px; }
  .wp-site-preview { min-height: 356px; padding: 14px; }
  .wp-site-preview header span { display: none; }
  .wp-site-hero-copy { width: 100%; padding-top: 27px; }
  .wp-site-hero-copy > strong { font-size: 22px; }
  .wp-site-preview aside { display: none; }
  .wp-stage-tag { display: none; }
  .wp-hero-rating-brands { justify-content: space-between; gap: 6px; padding-inline: 8px; }
  .wp-hero-rating-brands > small { display: none; }
  .wp-hero-rating-brands strong { font-size: 7px; }
  .wp-hero-rating-brands i { font-size: 6px; }
  .wp-portal-preview { grid-template-columns: 40px 1fr; min-height: 256px; }
  .wp-portal-main { padding: 11px; }
  .wp-portal-preview > aside { padding-inline: 5px; gap: 13px; }
  .wp-portal-preview > aside b { width: 27px; height: 27px; }
  .wp-portal-preview > aside i { width: 18px; height: 18px; }
  .wp-portal-metrics { gap: 5px; margin-top: 12px; }
  .wp-portal-metrics article { padding: 7px; }
  .wp-portal-list > div { padding: 6px; }
  .wp-decision,
  .wp-evidence,
  .wp-pricing,
  .wp-essentials,
  .wp-human,
  .wp-usecases,
  .wp-process,
  .wp-journey,
  .wp-outcomes,
  .wp-faq { padding-inline: 16px; }
  .wp-offer-card { min-height: auto; padding: 22px; }
  .wp-human-visual { min-height: 390px; }
  .wp-human-main { right: 8%; width: 92%; }
  .wp-human-detail { width: 58%; height: 42%; border-width: 5px; }
  .wp-human-copy > a { width: 100%; }
  .wp-offer-badge { position: static; align-self: flex-start; margin-bottom: 18px; }
  .wp-usecase-grid,
  .wp-process-grid { grid-template-columns: 1fr; }
  .wp-usecase-grid article { min-height: 210px; }
  .wp-process-grid article { min-height: 270px; }
  .wp-process-grid h3 { margin-top: 24px; }
  .wp-process-cta { align-items: stretch; flex-direction: column; }
  .wp-process-cta > a { width: 100%; }
  .wp-factor { margin-top: 86px; }
  .wp-factor-demo { padding: 16px; }
  .wp-rating-summary { grid-template-columns: 1fr; }
  .wp-rating-summary > small { grid-column: 1; text-align: left; }
  .wp-trustpilot-line { flex-wrap: wrap; }
  .wp-trustpilot-line small { width: 100%; margin-left: 0; }
  .wp-contact-phone { width: 100%; }
  .wp-config-options { grid-template-columns: 1fr; }
  .wp-config-included > div { align-items: flex-start; flex-direction: column; }
  .wp-config-included ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wp-config-group-head { grid-template-columns: 1fr; }
  .wp-backend-feature { grid-column: auto; }
  .wp-backend-checks { grid-template-columns: 1fr; }
  .wp-backend-custom { grid-template-columns: 1fr; }
  .wp-config-contact-fields { grid-template-columns: 1fr; }
  .wp-config-progress > span { justify-content: center; padding-inline: 6px; }
  .wp-config-progress > span b { display: none; }
  .wp-wizard-step-head { align-items: stretch; flex-direction: column; }
  .wp-wizard-step-head button { align-self: flex-start; min-height: 42px; }
  .wp-wizard-calendar-frame,
  #wp-config-cal-inline { min-height: 640px; }
  .wp-thanks-meta { grid-template-columns: 1fr; }
  .wp-config-options button { min-height: 118px; padding: 14px; }
  .wp-config-options button > span { font-size: 28px; }
  .wp-contact-choice-options button > span { width: 44px; height: 44px; }
  .wp-contact-choice-options button > span img { width: 24px; height: 24px; }
  .wp-config-options button b { font-size: 13px; }
  .wp-config-options button small { font-size: 11px; line-height: 1.4; }
  .wp-config-result { grid-template-columns: 1fr; }
  .wp-config-result button,
  .wp-config-result a { grid-column: 1; }
  .wp-final-cta { width: calc(100% - 32px); margin-inline: 16px; padding: 26px 20px; }
  .wp-final-cta > a { width: 100%; }
}

@media (max-width: 390px) {
  .wp-landing .wp-header { padding-inline: 10px; }
  .wp-landing .wp-header .brand { flex-basis: 112px; }
  .wp-landing .wp-header .brand img { width: 112px; }
  .wp-landing .wp-header .nav-cta { padding-inline: 11px; font-size: 13px; }
  .wp-hero h1 { font-size: 41px; }
  .wp-config-included ul { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .wp-landing * { scroll-behavior: auto; }
  .wp-config-step.is-active { animation: none; }
  .wp-legacy-site,
  .wp-browser-site,
  .wp-browser-portal,
  .wp-connection { animation: none; }
  .wp-process-line i,
  .wp-process-grid article,
  .wp-process-visual.is-draft::after,
  .wp-review-track,
  .wp-contact-options > button,
  .wp-contact-pulse i { animation: none; }
  .wp-hero::after { animation: none; }
  .wp-hero-rating-quotes > div,
  .wp-hero-lead-cta,
  .wp-hero-lead-cta::after,
  .wp-hero-proof-tiles i { animation: none; }
}

/* Scroll- und Hover-Interaktionen der Website-Landingpage */
.wp-scroll-progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 3px;
  overflow: hidden;
  pointer-events: none;
}

.wp-scroll-progress i {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--wp-cyan), var(--wp-mint));
  box-shadow: 0 0 16px rgba(54,181,245,.7);
  transform: scaleX(0);
  transform-origin: left;
  will-change: transform;
}

.wp-product-stage {
  transform: translate3d(var(--hero-shift-x, 0), var(--hero-shift-y, 0), 0);
  transition: transform .24s ease-out;
}

.wp-landing .button,
.wp-landing .nav-cta,
.wp-offer-card > a,
.wp-price-card > a {
  position: relative;
  overflow: hidden;
}

.wp-landing .button::after,
.wp-landing .nav-cta::after,
.wp-offer-card > a::after,
.wp-price-card > a::after {
  content: "";
  position: absolute;
  top: -60%;
  left: -45%;
  width: 30%;
  height: 220%;
  pointer-events: none;
  background: rgba(255,255,255,.38);
  transform: rotate(24deg) translateX(-180%);
  transition: transform .55s ease;
}

.wp-landing .button:hover::after,
.wp-landing .nav-cta:hover::after,
.wp-offer-card > a:hover::after,
.wp-price-card > a:hover::after {
  transform: rotate(24deg) translateX(620%);
}

.wp-evidence-grid article:not(.is-key-study),
.wp-price-card,
.wp-offer-card,
.wp-usecase-grid article {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.wp-evidence-grid article:not(.is-key-study):hover,
.wp-price-card:hover,
.wp-offer-card:hover,
.wp-usecase-grid article:hover {
  z-index: 2;
  border-color: var(--wp-cyan);
  transform: translateY(-8px);
  box-shadow: 0 28px 64px rgba(3,30,44,.16);
}

.wp-evidence-grid article.is-key-study {
  transition: transform .28s ease, box-shadow .28s ease;
}

.wp-evidence-grid article.is-key-study:hover {
  transform: translateY(-18px) rotate(-.5deg);
  box-shadow: 0 34px 70px rgba(0,0,0,.27);
}

.wp-factor-demo {
  isolation: isolate;
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.wp-factor-demo::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(320px circle at var(--spot-x, 50%) var(--spot-y, 50%), rgba(54,181,245,.2), transparent 62%);
  opacity: 0;
  transition: opacity .3s ease;
}

.wp-factor-demo:hover {
  border-color: rgba(114,240,194,.7);
  transform: translateY(-7px) rotateX(.6deg);
  box-shadow: 0 46px 110px rgba(0,0,0,.4), 0 0 0 1px rgba(114,240,194,.12);
}

.wp-factor-demo:hover::before { opacity: 1; }

.wp-reveal {
  opacity: 0;
  transform: translateY(34px) scale(.985);
  filter: blur(5px);
  transition:
    opacity .72s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms),
    transform .72s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms),
    filter .72s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms),
    border-color .28s ease,
    box-shadow .28s ease;
}

.wp-reveal.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

.wp-reveal.is-visible:hover { transform: translateY(-8px) scale(1); }

.wp-journey-track article.wp-reveal,
.wp-outcome-list article.wp-reveal,
.wp-faq details.wp-reveal {
  transform: translateX(30px);
}

.wp-journey-track article.wp-reveal.is-visible,
.wp-outcome-list article.wp-reveal.is-visible,
.wp-faq details.wp-reveal.is-visible {
  transform: translateX(0);
}

.wp-factor.wp-reveal { transform: translateY(50px); }
.wp-factor.wp-reveal.is-visible { transform: translateY(0); }
.wp-final-cta.wp-reveal { transform: translateY(38px) scale(.97); }
.wp-final-cta.wp-reveal.is-visible { transform: translateY(0) scale(1); }

@media (prefers-reduced-motion: reduce) {
  .wp-typewriter-word::after { animation: none; }

  .wp-reveal,
  .wp-reveal.is-visible {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
  }

  .wp-product-stage {
    transform: none;
    transition: none;
  }

  .wp-factor-demo,
  .wp-factor-demo:hover {
    transform: none;
    transition: none;
  }
}

/* Sequenzielle Kontaktvorschau */
.wp-contact-demo {
  min-height: 560px;
  padding: clamp(18px, 3vw, 30px);
  background:
    radial-gradient(circle at 82% 12%, rgba(54,181,245,.22), transparent 24%),
    linear-gradient(145deg, #d9f2fb, #f8fcfd);
}

.wp-contact-screen {
  position: relative;
  width: 100%;
  min-height: 480px;
  margin-top: 28px;
  overflow: hidden;
  color: #07151d;
  border: 7px solid #071923;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 28px 62px rgba(4,26,38,.24);
}

.wp-contact-screen > header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  min-height: 54px;
  padding: 0 18px;
  color: #fff;
  background: #081d28;
}

.wp-contact-screen > header b { font-size: 10px; letter-spacing: .04em; }
.wp-contact-screen > header span { color: #86a6b5; font-size: 8px; }
.wp-contact-screen > header small { display: flex; align-items: center; gap: 5px; color: #9fd7c3; font-size: 7px; }
.wp-contact-screen > header small i { width: 6px; height: 6px; border-radius: 50%; background: #36d484; box-shadow: 0 0 0 4px rgba(54,212,132,.12); }

.wp-contact-scenes {
  position: relative;
  min-height: 382px;
}

.wp-contact-scene {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  align-content: center;
  gap: 7px 22px;
  padding: clamp(28px, 5vw, 58px);
  opacity: 0;
  transform: translateX(42px) scale(.98);
  animation: wpContactScene 12s cubic-bezier(.22,1,.36,1) infinite both;
}

.wp-contact-scene:nth-child(2) { animation-delay: 4s; }
.wp-contact-scene:nth-child(3) { animation-delay: 8s; }

.wp-contact-scene-icon {
  grid-row: 1 / 4;
  display: grid;
  place-items: center;
  align-self: start;
  width: 74px;
  height: 74px;
  border-radius: 18px;
  background: #25d366;
  box-shadow: 0 18px 34px rgba(37,211,102,.25);
}

.wp-contact-scene.is-calendar .wp-contact-scene-icon { background: var(--wp-cyan); box-shadow: 0 18px 34px rgba(54,181,245,.25); }
.wp-contact-scene.is-phone .wp-contact-scene-icon { background: #102d3b; box-shadow: 0 18px 34px rgba(16,45,59,.24); }
.wp-contact-scene-icon img { width: 34px; height: 34px; filter: brightness(0) invert(1); }
.wp-contact-kicker { margin: 3px 0 0; color: #16885a; font: 800 9px "JetBrains Mono", monospace; text-transform: uppercase; }
.wp-contact-scene.is-calendar .wp-contact-kicker { color: #087fae; }
.wp-contact-scene.is-phone .wp-contact-kicker { color: #315d70; }
.wp-contact-scene h4 { margin: 0; font-size: clamp(24px, 3.3vw, 42px); line-height: 1.02; letter-spacing: -.045em; }

.wp-whatsapp-chat,
.wp-mini-calendar,
.wp-call-card,
.wp-contact-scene > button {
  grid-column: 1 / -1;
}

.wp-whatsapp-chat {
  display: grid;
  gap: 7px;
  width: min(430px, 86%);
  margin: 22px 0 0 auto;
  padding: 12px;
  background: #e7f0eb;
  border-radius: 10px;
}

.wp-whatsapp-chat span { width: 78%; padding: 9px 11px; border-radius: 8px 8px 8px 2px; background: #fff; font-size: 9px; line-height: 1.4; box-shadow: 0 5px 12px rgba(5,38,20,.06); }
.wp-whatsapp-chat span:last-child { justify-self: end; border-radius: 8px 8px 2px 8px; background: #d3f8df; }

.wp-mini-calendar {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin-top: 24px;
}

.wp-mini-calendar b { display: grid; justify-items: center; gap: 5px; padding: 10px 6px; color: #6c8089; border: 1px solid #d8e6ec; border-radius: 8px; background: #f6fafb; font-size: 8px; }
.wp-mini-calendar b small { color: #172c36; font-size: 18px; }
.wp-mini-calendar b.is-free { color: #056d98; border-color: #36b5f5; background: #ddf4fe; box-shadow: inset 0 0 0 1px #36b5f5; animation: wpFreeDate 2s ease-in-out infinite; }

.wp-call-card {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 24px;
  padding: 16px;
  border: 1px solid #d7e4e9;
  border-radius: 10px;
  background: #f5f9fa;
}

.wp-call-card > i { width: 52px; height: 52px; border-radius: 50%; background: radial-gradient(circle at 50% 35%, #9ac2d2 0 15%, transparent 16%), radial-gradient(circle at 50% 90%, #9ac2d2 0 32%, transparent 33%), #d9eaf0; }
.wp-call-card div small,
.wp-call-card div b,
.wp-call-card div span { display: block; }
.wp-call-card div small { color: #71868f; font-size: 8px; }
.wp-call-card div b { margin-top: 3px; font-size: 15px; }
.wp-call-card div span { margin-top: 4px; color: #18845c; font-size: 8px; font-weight: 800; }

.wp-contact-scene > button {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 220px;
  margin-top: 14px;
  padding: 12px 16px;
  color: #00131f;
  border: 1px solid #00131f;
  border-radius: 7px;
  background: var(--wp-mint);
  box-shadow: 3px 3px 0 #00131f;
  font: 900 10px "Inter", sans-serif;
}

.wp-contact-scene.is-calendar > button { background: var(--wp-cyan); }
.wp-contact-scene.is-phone > button { color: #fff; background: #102d3b; }
.wp-contact-scene > button img { width: 15px; height: 15px; }
.wp-contact-scene.is-phone > button img { filter: brightness(0) invert(1); }

.wp-contact-screen-progress {
  position: absolute;
  left: 50%;
  bottom: 12px;
  display: flex;
  gap: 6px;
  transform: translateX(-50%);
}

.wp-contact-screen-progress i { width: 24px; height: 3px; overflow: hidden; border-radius: 99px; background: #d2e2e8; }
.wp-contact-screen-progress i::after { content: ""; display: block; width: 100%; height: 100%; background: #0e9ed8; transform: scaleX(0); transform-origin: left; animation: wpContactProgress 12s linear infinite both; }
.wp-contact-screen-progress i:nth-child(2)::after { animation-delay: 4s; }
.wp-contact-screen-progress i:nth-child(3)::after { animation-delay: 8s; }

@keyframes wpContactScene {
  0% { opacity: 0; transform: translateX(42px) scale(.98); }
  5%, 28% { opacity: 1; transform: translateX(0) scale(1); }
  33%, 100% { opacity: 0; transform: translateX(-36px) scale(.985); }
}

@keyframes wpContactProgress {
  0% { transform: scaleX(0); }
  28% { transform: scaleX(1); }
  29%, 100% { transform: scaleX(0); }
}

@keyframes wpFreeDate {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); box-shadow: 0 8px 16px rgba(54,181,245,.18); }
}

@media (max-width: 640px) {
  .wp-contact-demo { min-height: 610px; }
  .wp-contact-screen { min-height: 530px; }
  .wp-contact-screen > header { grid-template-columns: 1fr auto; }
  .wp-contact-screen > header span { display: none; }
  .wp-contact-scenes { min-height: 430px; }
  .wp-contact-scene { grid-template-columns: 54px 1fr; gap: 6px 14px; padding: 30px 16px; }
  .wp-contact-scene-icon { width: 54px; height: 54px; border-radius: 13px; }
  .wp-contact-scene-icon img { width: 27px; height: 27px; }
  .wp-contact-scene h4 { font-size: 27px; }
  .wp-whatsapp-chat { width: 100%; }
  .wp-mini-calendar { gap: 4px; }
  .wp-mini-calendar b { padding-inline: 3px; }
  .wp-contact-scene > button { justify-self: stretch; width: 100%; min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .wp-contact-scene,
  .wp-contact-screen-progress i::after,
  .wp-mini-calendar b.is-free { animation: none; }
  .wp-contact-scene { display: none; opacity: 1; transform: none; }
  .wp-contact-scene:first-child { display: grid; }
}
