:root {
  --ink: #06143a;
  --blue: #1260f5;
  --blue-bright: #0c68ff;
  --line: #dbe5f4;
  --soft-shadow: 0 8px 20px rgba(14, 55, 122, 0.11);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background: #eef3fa;
  font-family: "Segoe UI", Arial, Helvetica, sans-serif;
}

img, svg { display: block; }

.svg-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.landing {
  position: relative;
  width: min(100%, 942px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 20px 28px 19px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0 30px rgba(20, 54, 105, 0.08);
}

.corner-dots {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 126px;
  height: 106px;
}

.corner-rings {
  position: absolute;
  top: -1px;
  right: -1px;
  width: 190px;
  height: 210px;
}

.hero {
  position: relative;
  z-index: 1;
  text-align: center;
}

.main-logo {
  width: 280px;
  height: auto;
  margin: 0 auto 14px;
}

.hero h1 {
  margin: 0;
  color: var(--blue);
  font-size: 80px;
  font-weight: 760;
  line-height: 0.97;
  letter-spacing: 0;
}

.hero h1 span {
  color: var(--ink);
  font-weight: 740;
}

.title-rule {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  height: 16px;
  margin-top: 2px;
}

.title-rule i {
  width: 70px;
  height: 3px;
  background: var(--blue);
}

.title-rule b {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--blue);
}

.tagline {
  margin: 2px 0 0;
  color: var(--ink);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.13;
  letter-spacing: 0;
}

.hero-copy {
  margin: 7px 0 0;
  color: #18386c;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: 0;
}

.hero-copy strong { color: var(--blue); }

.workflow {
  position: relative;
  width: 766px;
  margin: 14px auto 12px;
  padding-left: 60px;
}

.timeline {
  position: absolute;
  z-index: 0;
  top: 27px;
  bottom: 46px;
  left: 21px;
  width: 4px;
  border-radius: 4px;
  background: var(--blue);
}

.workflow-row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 166px 1fr;
  align-items: center;
  height: 88px;
  margin-bottom: 8px;
  border: 1px solid #e0e8f4;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: var(--soft-shadow);
}

.workflow-row:last-child { margin-bottom: 0; }

.step-number {
  position: absolute;
  left: -60px;
  top: 50%;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #0873ff, #174edf);
  font-size: 27px;
  font-weight: 750;
  line-height: 1;
  box-shadow: 0 4px 12px rgba(10, 91, 239, 0.16);
}

.step-icon {
  width: 100%;
  height: 62px;
  display: grid;
  place-items: center;
  border-right: 2px solid #e2e9f3;
  color: var(--ink);
}

.step-icon svg {
  width: 67px;
  height: 67px;
  overflow: visible;
}

.workflow-row:nth-child(4) .step-icon svg,
.workflow-row:nth-child(5) .step-icon svg { width: 72px; height: 72px; }

.workflow-row h2 {
  margin: 0;
  padding-left: 31px;
  color: var(--ink);
  font-size: 25px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0;
}

.deliverables {
  display: grid;
  grid-template-columns: 38% 62%;
  width: 814px;
  min-height: 207px;
  margin: 0 auto 12px;
  padding: 18px 24px 17px 42px;
  border-radius: 20px;
  color: #fff;
  background: linear-gradient(110deg, #04183f 0%, #06265a 60%, #031d4a 100%);
  box-shadow: 0 9px 20px rgba(5, 31, 78, 0.19);
}

.deliverables-title {
  display: grid;
  align-content: center;
  justify-items: center;
  padding-right: 28px;
  border-right: 1px solid rgba(255, 255, 255, 0.72);
}

.deliverables-title > svg {
  width: 100px;
  height: 100px;
  margin-bottom: -3px;
}

.deliverables-title h2 {
  margin: 0;
  text-align: center;
  color: #fff;
  font-size: 29px;
  line-height: 1.08;
  letter-spacing: 0;
}

.deliverables-title strong { color: var(--blue-bright); }

.deliverables ul {
  display: grid;
  align-content: center;
  gap: 6px;
  margin: 0;
  padding: 0 0 0 61px;
  list-style: none;
}

.deliverables li {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 24px;
  font-weight: 650;
  line-height: 1.05;
}

.deliverables li svg { width: 28px; height: 28px; flex: 0 0 auto; }

.samples {
  display: grid;
  grid-template-columns: 123px 18px 190px 18px 143px 18px 148px 18px 186px;
  align-items: flex-start;
  gap: 0;
  width: 890px;
  height: 263px;
  margin: 0 auto 20px;
  padding: 8px 13px 10px;
  border: 1px solid #e0e8f4;
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--soft-shadow);
}

.samples article {
  width: 100%;
  min-width: 0;
  text-align: center;
}

.sample-flow-arrow {
  position: relative;
  z-index: 2;
  width: 18px;
  height: 198px;
  display: grid;
  place-items: center;
}

.sample-flow-arrow svg {
  width: 30px;
  height: 30px;
  overflow: visible;
  filter: drop-shadow(0 3px 6px rgba(4, 55, 156, 0.24));
}

.sample-flow-arrow circle {
  fill: #0d62f4;
  stroke: #ffffff;
  stroke-width: 2;
}

.sample-flow-arrow path {
  fill: none;
  stroke: #ffffff;
  stroke-width: 2.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.samples img {
  width: 100%;
  height: 198px;
  object-fit: cover;
  border-radius: 12px;
}

.samples h3 {
  margin: 10px 0 0;
  color: #075bf1;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.03;
  letter-spacing: 0;
  text-transform: uppercase;
}

.proof-bar {
  display: grid;
  grid-template-columns: 255px 215px 1fr;
  align-items: center;
  width: 890px;
  min-height: 96px;
  margin: 0 auto;
  padding: 13px 28px;
  border: 1px solid #e0e8f4;
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--soft-shadow);
}

.proof-item {
  display: grid;
  grid-template-columns: 62px 1fr;
  align-items: center;
  min-height: 64px;
  padding-right: 27px;
  border-right: 2px solid #dce4f0;
}

.proof-item.clients { margin-left: 26px; }
.proof-icon { width: 53px; height: 53px; }
.proof-item strong { font-size: 21px; line-height: 1.12; font-weight: 600; }

.countries {
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding-left: 20px;
}

.countries span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.1;
}

.countries svg { width: 40px; height: 28px; flex: 0 0 auto; }

.showcase {
  width: calc(100% + 56px);
  margin: 32px -28px -19px;
  padding: 50px 42px 44px;
  color: #fff;
  background:
    radial-gradient(circle at 86% 18%, rgba(22, 98, 245, 0.22), transparent 25%),
    linear-gradient(145deg, #031533 0%, #062455 58%, #04183d 100%);
}

.showcase-heading {
  max-width: 650px;
  margin: 0 auto 30px;
  text-align: center;
}

.showcase-heading > span {
  display: block;
  color: #70a8ff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.showcase-heading h2 {
  margin: 8px 0 0;
  color: #fff;
  font-size: 42px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
}

.showcase-heading h2 strong { color: #1b74ff; }

.showcase-heading p {
  margin: 13px 0 0;
  color: #c9d8f0;
  font-size: 16px;
  line-height: 1.45;
}

.showcase-carousel {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  gap: 14px;
  align-items: center;
  outline: none;
}

.showcase-carousel:focus-visible {
  outline: 2px solid #69a2ff;
  outline-offset: 8px;
}

.showcase-viewport {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(126, 168, 255, 0.2);
  border-radius: 16px;
  background: rgba(2, 14, 38, 0.76);
  box-shadow: 0 22px 50px rgba(0, 8, 28, 0.35);
}

.showcase-track {
  display: flex;
  transition: transform 420ms cubic-bezier(.22, .8, .25, 1);
  will-change: transform;
}

.case-slide {
  min-width: 100%;
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 34px;
  align-items: center;
  padding: 27px 30px;
}

.case-video {
  position: relative;
  width: 230px;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 15px;
  background: #000;
  box-shadow: 0 16px 35px rgba(0, 0, 0, 0.35);
}

.case-video video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: #000;
}

.case-video > span {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  padding: 5px 8px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 5px;
  color: #fff;
  background: rgba(0, 10, 30, 0.76);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.case-copy small {
  display: block;
  color: #6fa8ff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.case-copy h3 {
  margin: 10px 0 0;
  color: #fff;
  font-size: 27px;
  line-height: 1.08;
  letter-spacing: 0;
  text-transform: uppercase;
}

.case-copy > p {
  margin: 15px 0 0;
  color: #b8c9e3;
  font-size: 14px;
  line-height: 1.55;
}

.case-copy > strong {
  display: block;
  margin-top: 24px;
  padding: 14px 16px;
  border-left: 3px solid #176df8;
  color: #5e9cff;
  background: rgba(255, 255, 255, 0.035);
  font-size: 27px;
  line-height: 1;
}

.case-copy > strong em {
  display: block;
  margin-top: 6px;
  color: #d6e2f5;
  font-size: 11px;
  font-style: normal;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.case-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 18px;
}

.case-tags span {
  padding: 5px 8px;
  border: 1px solid rgba(135, 173, 245, 0.18);
  border-radius: 4px;
  color: #b6cae9;
  background: rgba(255, 255, 255, 0.04);
  font-size: 9px;
  font-weight: 700;
}

.carousel-control {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(111, 163, 255, 0.48);
  border-radius: 50%;
  color: #fff;
  background: #0d57d6;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(0, 40, 120, 0.36);
  transition: background 160ms ease, transform 160ms ease;
}

.carousel-control:hover { background: #1672ff; transform: scale(1.06); }
.carousel-control:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.carousel-control svg { width: 23px; height: 23px; }
.carousel-control path { fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }

.carousel-meta {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin-top: 20px;
}

.carousel-dots { display: flex; align-items: center; gap: 8px; }

.carousel-dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.27);
  cursor: pointer;
  transition: width 180ms ease, border-radius 180ms ease, background 180ms ease;
}

.carousel-dots button.active { width: 27px; border-radius: 8px; background: #2478ff; }
.carousel-dots button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.carousel-status { color: #96add0; font-size: 11px; font-weight: 800; letter-spacing: 1px; }

.showcase-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  margin-top: 30px;
  padding: 22px 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.showcase-cta p { margin: 0; color: #fff; font-size: 16px; font-weight: 650; }
.showcase-cta > div { display: flex; gap: 10px; }

.showcase-cta a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 17px;
  border-radius: 6px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition: transform 160ms ease, background 160ms ease;
}

.showcase-cta a:hover { transform: translateY(-2px); }
.cta-fiverr { border: 1px solid rgba(255,255,255,.2); background: #1764df; }
.cta-whatsapp { border: 1px solid #31c66a; background: #149447; }
.cta-fiverr:hover { background: #2378f5; }
.cta-whatsapp:hover { background: #1ca657; }

@media (max-width: 800px) {
  .landing { padding: 18px 16px 22px; }
  .corner-rings { width: 125px; height: 145px; }
  .corner-dots { width: 86px; height: 82px; }
  .main-logo { width: 210px; margin-bottom: 12px; }
  .hero h1 { font-size: 51px; }
  .tagline { font-size: 22px; }
  .hero-copy { font-size: 18px; }
  .hero-copy br { display: none; }

  .workflow {
    width: calc(100% - 16px);
    margin-top: 22px;
    padding-left: 38px;
  }
  .timeline { left: 17px; }
  .workflow-row { grid-template-columns: 102px 1fr; height: 82px; }
  .step-number { left: -38px; width: 36px; height: 36px; font-size: 22px; }
  .step-icon { height: 56px; }
  .step-icon svg { width: 56px; height: 56px; }
  .workflow-row h2 { padding: 0 14px 0 19px; font-size: 19px; }

  .deliverables {
    width: 100%;
    grid-template-columns: 1fr;
    padding: 22px;
  }
  .deliverables-title { padding: 0 0 20px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.6); }
  .deliverables-title > svg { width: 85px; height: 85px; }
  .deliverables ul { padding: 22px 0 0; }
  .deliverables li { font-size: 20px; }

  .samples {
    display: flex;
    width: 100%;
    height: auto;
    overflow-x: auto;
    justify-content: flex-start;
    gap: 8px;
    scroll-snap-type: x mandatory;
  }
  .samples article { flex: 0 0 auto; scroll-snap-align: start; }
  .samples article:nth-of-type(1) { width: 128px; }
  .samples article:nth-of-type(2) { width: 199px; }
  .samples article:nth-of-type(3) { width: 151px; }
  .samples article:nth-of-type(4) { width: 155px; }
  .samples article:nth-of-type(5) { width: 195px; }
  .sample-flow-arrow { flex: 0 0 28px; width: 28px; }

  .proof-bar {
    width: 100%;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding: 17px;
  }
  .proof-item { padding-right: 12px; grid-template-columns: 50px 1fr; }
  .proof-item.clients { margin-left: 0; border-right: 0; }
  .proof-icon { width: 43px; height: 43px; }
  .proof-item strong { font-size: 17px; }
  .countries { grid-column: 1 / -1; padding: 15px 0 0; border-top: 1px solid #dce4f0; }

  .showcase {
    width: calc(100% + 32px);
    margin: 28px -16px -22px;
    padding: 40px 16px 34px;
  }
  .showcase-heading h2 { font-size: 34px; }
  .showcase-carousel { position: relative; grid-template-columns: 1fr; }
  .showcase-viewport { margin: 0 23px; }
  .carousel-control { position: absolute; z-index: 5; top: 215px; width: 42px; height: 42px; }
  .carousel-prev { left: 1px; }
  .carousel-next { right: 1px; }
  .case-slide { grid-template-columns: 1fr; gap: 25px; padding: 24px 20px 27px; }
  .case-video { width: min(230px, 70vw); margin: 0 auto; }
  .case-copy { text-align: center; }
  .case-copy small { letter-spacing: 1.4px; }
  .case-copy h3 { font-size: 23px; }
  .case-copy > strong { text-align: left; }
  .case-tags { justify-content: center; }
  .showcase-cta { flex-direction: column; text-align: center; padding: 22px 0 0; }
  .showcase-cta > div { width: 100%; }
  .showcase-cta a { flex: 1; }
}

@media (max-width: 480px) {
  .main-logo { width: 170px; }
  .hero h1 { font-size: 39px; }
  .title-rule i { width: 48px; }
  .tagline { font-size: 18px; }
  .hero-copy { font-size: 16px; }
  .workflow-row { grid-template-columns: 76px 1fr; }
  .step-icon svg { width: 48px; height: 48px; }
  .workflow-row h2 { font-size: 16px; padding-left: 14px; }
  .countries { flex-wrap: wrap; gap: 16px; justify-content: flex-start; }
  .showcase-viewport { margin: 0 14px; }
  .carousel-control { top: 195px; width: 38px; height: 38px; }
  .case-slide { padding-left: 13px; padding-right: 13px; }
  .case-video { width: min(215px, 68vw); }
  .showcase-cta > div { flex-direction: column; }
  .showcase-cta a { width: 100%; }
}

@media (prefers-reduced-motion: no-preference) {
  .workflow-row, .samples article { transition: transform 180ms ease, box-shadow 180ms ease; }
  .workflow-row:hover { transform: translateX(4px); box-shadow: 0 12px 26px rgba(14, 55, 122, 0.16); }
  .samples article:hover { transform: translateY(-3px); }
}
