.hero-shot img {
  display: block;
  width: 100%;
  height: auto;
}

.screenshot-slide {
  display: grid;
  place-items: center;
  padding: 12px;
  background: #eaf1f6;
}

.screenshot-slide img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  object-fit: contain;
  box-shadow: 0 8px 24px #1737531a;
}

@media (max-width: 720px) {
  .screenshot-slide {
    padding: 6px;
  }

  .screenshot-slide img {
    border-radius: 5px;
  }
}

/* Product showcase: high-contrast presentation */
body {
  background: #e7eef5;
}

/* Hero and product metrics now read as one continuous premium surface. */
.hero h1 span {
  color: #f8fbff;
}

.hero h1 em {
  color: #49aaf5;
  text-shadow: 0 0 32px rgba(51, 153, 236, .22);
}

.hero-product .screen-frame {
  border-color: #58b2f45c;
  background: #051728;
  box-shadow: 0 40px 90px #01070dbf, 0 0 0 1px #6dc1ff20 inset;
}

.trust-strip {
  position: relative;
  border-top: 1px solid #ffffff0d;
  border-bottom: 1px solid #1f4059;
  background: linear-gradient(90deg, #061728, #09243d 50%, #071b2f);
  color: #fff;
}

.trust-strip div,
.trust-strip div:first-child {
  position: relative;
  padding: 28px 28px 29px 55px;
  border-color: #ffffff12;
}

.trust-strip i {
  position: absolute;
  left: 25px;
  top: 31px;
  color: #4e9edc;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 1px;
}

.trust-strip strong {
  color: #f7fbff;
  font-size: 14px;
  letter-spacing: .2px;
}

.trust-strip span {
  color: #91aabd;
  font-size: 11px;
}

.features {
  color: #f7fbff;
}

.features::before {
  content: "";
  position: absolute;
  z-index: -2;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 82% 23%, rgba(31, 122, 201, .2), transparent 29%),
    linear-gradient(145deg, #061728, #0a2944 62%, #071b2e);
}

.features::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image: linear-gradient(#ffffff08 1px, transparent 1px), linear-gradient(90deg, #ffffff08 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(to bottom, #000, transparent 82%);
}

.features {
  position: relative;
  isolation: isolate;
  padding-top: 145px;
}

.features .section-heading p {
  color: #a9bfd0;
}

.features .eyebrow {
  color: #73b8ef;
}

.feature-tabs button {
  color: #dbe8f2;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.feature-tabs button:hover {
  background: #ffffff0a;
  transform: translateX(3px);
}

.feature-tabs button.active {
  border-left-color: #59b4fa;
  background: linear-gradient(90deg, #2180d83d, #ffffff06);
}

.feature-tabs span,
.feature-tabs small {
  color: #86a3b9;
}

.feature-tabs button.active span,
.feature-tabs button.active small {
  color: #95cfff;
}

.product-window {
  border-color: #31536d;
  background: #091e31;
  box-shadow: 0 32px 75px #020a12b8, 0 0 0 1px #ffffff08 inset;
}

.window-top {
  border-bottom-color: #23425c;
  background: #061522;
  color: #8aa5ba;
}

.slides {
  height: auto;
  aspect-ratio: 1400 / 839;
  background: #0b2135;
}

.screenshot-slide {
  padding: 0;
  background: #0b2135;
}

.screenshot-slide img {
  border-radius: 0;
  box-shadow: none;
}

.showcase-caption {
  min-height: 150px;
  border-top-color: #24465f;
  background: linear-gradient(135deg, #071827, #0a263d);
}

.showcase-caption h3 {
  color: #fff;
}

.showcase-caption p {
  color: #b8cad8;
  font-size: 12px;
  line-height: 1.65;
}

.showcase-caption small {
  color: #63b8f8;
}

.slider-buttons button {
  border-color: #35566f;
  background: #102e46;
  color: #d9eafa;
}

.slider-buttons button:hover {
  border-color: #62b8f8;
  background: #16446b;
  color: #fff;
}

.workflow {
  position: relative;
}

.steps article {
  border-color: #d0dee9;
  background: linear-gradient(145deg, #f9fcff, #eaf2f8);
  box-shadow: 0 14px 35px #1737530c;
}

.steps article > span {
  color: #dce8f1;
}

.security-card {
  border-color: #22445f;
  background: linear-gradient(135deg, #071a2c, #0c3150);
  box-shadow: 0 24px 60px #09233b24;
  color: #fff;
}

.security-card > div:first-child p,
.security-list small {
  color: #acc1d1;
}

.security-list span {
  border-bottom-color: #ffffff16;
}

.security-list i {
  color: #65b8f7;
}

/* Local / cloud explanation */
.data-story {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 60px;
  align-items: center;
  margin-bottom: 100px;
  padding: 62px;
  overflow: hidden;
  border-radius: 24px;
  background:
    radial-gradient(circle at 16% 5%, #267ece42, transparent 34%),
    linear-gradient(135deg, #061728, #0a2944);
  box-shadow: 0 24px 65px #09213a2b;
  color: #fff;
}

.data-story h2,
.downloads h2,
.faq h2 {
  margin: 16px 0;
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.08;
  letter-spacing: -2px;
}

.data-story-copy p {
  color: #adc2d2;
  font-size: 15px;
  line-height: 1.75;
}

.data-grid {
  display: grid;
  gap: 12px;
}

.data-grid article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 4px 14px;
  padding: 20px;
  border: 1px solid #ffffff16;
  border-radius: 14px;
  background: #ffffff08;
}

.data-grid span {
  grid-row: 1 / 3;
  color: #63b8f8;
  font-size: 11px;
  font-weight: 900;
}

.data-grid b {
  font-size: 15px;
}

.data-grid p {
  margin: 3px 0 0;
  color: #a9bfd0;
  font-size: 12px;
  line-height: 1.55;
}

/* Download area */
.downloads {
  display: grid;
  grid-template-columns: 1fr 410px;
  gap: 65px;
  align-items: center;
  margin-bottom: 105px;
  padding: 64px;
  border-radius: 24px;
  background: linear-gradient(135deg, #126cc4, #0a4b86 67%, #07345e);
  box-shadow: 0 25px 60px #0b57933b;
  color: #fff;
}

.download-copy > p {
  max-width: 650px;
  color: #cbe2f5;
  font-size: 16px;
  line-height: 1.7;
}

.download-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 25px;
}

.download-meta span {
  padding: 8px 12px;
  border: 1px solid #ffffff25;
  border-radius: 999px;
  background: #ffffff0d;
  color: #e3f1fc;
  font-size: 11px;
  font-weight: 700;
}

.download-card {
  padding: 30px;
  border: 1px solid #ffffff29;
  border-radius: 18px;
  background: #061a2bd6;
  box-shadow: 0 22px 50px #03101f66;
}

.windows-mark {
  display: grid;
  grid-template-columns: 16px 16px;
  gap: 3px;
  width: max-content;
  margin-bottom: 22px;
}

.windows-mark i {
  width: 16px;
  height: 16px;
  background: #57b8ff;
}

.download-card small,
.download-card strong,
.download-card .download-note {
  display: block;
}

.download-card small {
  color: #71bdf5;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.4px;
}

.download-card strong {
  margin-top: 7px;
  font-size: 21px;
}

.download-card p {
  color: #9fb7c9;
  font-size: 13px;
  line-height: 1.6;
}

.download-card button {
  width: 100%;
  min-height: 48px;
  margin: 8px 0 13px;
  border: 1px solid #4d7694;
  border-radius: 9px;
  background: #183a54;
  color: #9fb6c7;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .4px;
  cursor: not-allowed;
}

.download-note {
  color: #819db1;
  font-size: 9px;
  line-height: 1.5;
}

/* FAQ */
.faq {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 70px;
  align-items: start;
  padding-bottom: 105px;
}

.faq-heading {
  position: sticky;
  top: 110px;
}

.faq-heading p {
  color: #60758a;
  font-size: 14px;
  line-height: 1.7;
}

.faq-list {
  overflow: hidden;
  border: 1px solid #cbd9e4;
  border-radius: 18px;
  background: #f8fbfd;
  box-shadow: 0 18px 45px #17375312;
}

.faq-list details {
  border-bottom: 1px solid #d7e2eb;
}

.faq-list details:last-child {
  border-bottom: 0;
}

.faq-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px;
  color: #102238;
  font-size: 14px;
  font-weight: 750;
  cursor: pointer;
  list-style: none;
}

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

.faq-list summary span {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e5f2fd;
  color: #176fd6;
  font-size: 18px;
  font-weight: 400;
  transition: transform .2s ease;
}

.faq-list details[open] summary {
  color: #0d5da8;
}

.faq-list details[open] summary span {
  transform: rotate(45deg);
}

.faq-list details p {
  margin: -4px 65px 0 24px;
  padding-bottom: 23px;
  color: #5b7084;
  font-size: 13px;
  line-height: 1.75;
}

@media (max-width: 1000px) {
  .data-story,
  .downloads,
  .faq {
    grid-template-columns: 1fr;
  }

  .downloads {
    gap: 35px;
  }

  .download-card {
    max-width: 560px;
  }

  .faq {
    gap: 25px;
  }

  .faq-heading {
    position: static;
  }
}

@media (max-width: 720px) {
  .features {
    padding-top: 90px;
  }

  .features::after {
    inset-inline: -14px;
  }

  .showcase-caption {
    min-height: 136px;
  }

  .data-story,
  .downloads {
    gap: 28px;
    margin-bottom: 70px;
    padding: 35px 24px;
    border-radius: 18px;
  }

  .data-story h2,
  .downloads h2,
  .faq h2 {
    font-size: 34px;
    letter-spacing: -1.4px;
  }

  .faq {
    padding-bottom: 70px;
  }

  .faq-list summary {
    padding: 19px 17px;
    font-size: 13px;
  }

  .faq-list details p {
    margin: -2px 24px 0 17px;
    font-size: 12px;
  }
}
