@font-face{font-family:"Estedad";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/Estedad-400.ttf") format("truetype")}
@font-face{font-family:"Estedad";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/Estedad-700.ttf") format("truetype")}
@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/Vazirmatn-400.ttf") format("truetype")}
@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/Vazirmatn-700.ttf") format("truetype")}500;600;700;800;900&family=Vazirmatn:wght@300;400;500;600;700;800;900&display=swap');

html,
body,
body * {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
summary,
.brand strong,
.eyebrow,
.project-art,
.popular,
.tag {
  font-family: "Estedad", Vazirmatn, Tahoma, Arial, sans-serif !important;
}

body {
  font-size: 17px !important;
}

body p,
body li,
body a,
body small,
body label,
body input,
body textarea,
body select,
body option,
body .stat span,
body .point small,
body .price small,
body .article-body small,
body .footer-bottom {
  font-size: 1.06em !important;
}

.brand-logo-image {
  display: block;
  width: 170px;
  height: 54px;
  object-fit: cover;
  object-position: center 34%;
  border-radius: 5px;
}

.products-menu {
  position: relative;
}

.products-menu > summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  color: var(--nvcol-1b5981d6b9,#e7f0ff);
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  list-style: none;
}

.products-menu > summary::-webkit-details-marker {
  display: none;
}

.products-menu > summary::after {
  content: "⌄";
  color: var(--nvcol-9dc63a3acf,#bcd2f5);
  font-size: 12px;
  transition: transform .2s ease;
}

.products-menu[open] > summary::after {
  transform: rotate(180deg);
}

.products-menu > summary:hover,
.products-menu > summary.active,
.products-menu[open] > summary {
  color: var(--cyan);
}

.products-submenu {
  position: absolute;
  z-index: 60;
  top: calc(100% + 6px);
  right: 0;
  display: none;
  min-width: 170px;
  padding: 8px;
  border: 1px solid var(--nvcol-e6116f0404,#ffffff22);
  border-radius: 12px;
  background: var(--nvcol-f0f406a2d1,#071b40);
  box-shadow: 0 18px 38px var(--nvcol-6942b6fe92,#00000066);
}

.products-menu[open] .products-submenu,
.products-menu:hover .products-submenu {
  display: grid;
  gap: 2px;
}

.products-submenu a {
  display: block;
  padding: 9px 11px;
  border-radius: 8px;
  color: var(--nvcol-1b5981d6b9,#e7f0ff) !important;
  font-size: 13px !important;
  white-space: nowrap;
}

.products-submenu a:hover,
.products-submenu a.active {
  color: var(--cyan) !important;
  background: var(--nvcol-7d54572ec9,#ffffff0d);
}

@media (max-width: 650px) {
  .brand-logo-image {
    width: 150px;
    height: 48px;
  }

  .products-menu {
    position: static;
  }

  .products-menu:not([open]):hover .products-submenu {
    display: none;
  }

  .products-menu > summary {
    display: flex;
    justify-content: space-between;
    padding: 10px;
    border-bottom: 1px solid var(--nvcol-0ae2710c26,#ffffff12);
    font-size: 14px;
  }

  .products-submenu {
    position: static;
    min-width: 0;
    padding: 4px 8px 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .products-submenu a {
    padding: 8px 16px;
  }

  .hero-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 0;
    padding-bottom: 28px;
  }

  .hero-copy {
    width: 100%;
    padding-top: 42px;
    text-align: center;
  }

  .hero-copy > p {
    max-width: 100%;
    font-size: 16px !important;
    line-height: 1.9;
  }

  .hero-actions {
    width: 100%;
    align-items: stretch;
    margin-top: 24px;
  }

  .hero-actions .btn {
    width: 100%;
  }

  .hero-points {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-top: 30px;
  }

  .point {
    padding: 0 8px;
  }

  .point strong {
    font-size: 12px;
  }

  .point small {
    font-size: 11px !important;
  }

  .hero-art {
    width: 100%;
    min-height: 315px;
    margin: 25px auto 0 !important;
    transform: none !important;
  }

  .dashboard-shot {
    top: 28px;
    right: auto;
    left: 50%;
    width: calc(100% - 30px);
    max-width: 380px;
    padding: 7px;
    transform: translateX(-50%) rotate(2deg);
  }

  .dashboard-shot img {
    height: 205px;
  }

  .api-card {
    top: 4px;
    right: 0;
    transform: scale(.82);
    transform-origin: top right;
  }

  .floating-card {
    bottom: 5px;
    left: 0;
    transform: scale(.86);
    transform-origin: bottom left;
  }
}

/* Built homepage hero slider: text and controls are HTML; reference visuals are separate assets. */
.novain-hero {
  position: relative;
  overflow: hidden;
  color: var(--nvcol-f2074b6cef,#ffffff);
  background: radial-gradient(circle at 82% 45%, var(--nvcol-9cb8c0ec0e,#0b5dcc) 0, var(--nvcol-9dfd04af5e,#08285f) 38%, var(--nvcol-522037c330,#04152f) 82%);
}

.novain-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .28;
  background: radial-gradient(circle at 22% 30%, var(--nvcol-656d61e9cb,#1c75ff55) 0, transparent 29%), linear-gradient(120deg, transparent 48%, var(--nvcol-323f95eadd,#1a9fff22) 49%, transparent 50%);
}

.novain-hero-track {
  position: relative;
  z-index: 1;
  min-height: 560px;
}

.novain-hero-slide {
  position: absolute;
  inset: 0;
  visibility: hidden;
  opacity: 0;
  transform: translateX(18px);
  transition: opacity .45s ease, transform .45s ease, visibility .45s ease;
}

.novain-hero-slide.is-active {
  visibility: visible;
  opacity: 1;
  transform: none;
}

.novain-hero-inner {
  min-height: 560px;
  display: grid;
  grid-template-columns: minmax(390px, .86fr) minmax(0, 1.14fr);
  align-items: center;
  gap: 10px;
  direction: ltr;
}

.novain-hero-copy {
  direction: rtl;
  position: relative;
  z-index: 2;
  text-align: right;
  padding: 38px 0 40px;
}

.novain-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--nvcol-e010a1b62e,#25d7ff);
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 2px;
}

.novain-hero-eyebrow::before {
  content: "";
  width: 30px;
  height: 2px;
  background: var(--nvcol-e010a1b62e,#25d7ff);
  box-shadow: 0 0 14px var(--nvcol-e010a1b62e,#25d7ff);
}

.novain-hero-copy h1 {
  max-width: 570px;
  margin: 14px 0 15px;
  color: var(--nvcol-f2074b6cef,#ffffff);
  font-family: "Estedad", Vazirmatn, Tahoma, Arial, sans-serif !important;
  font-size: clamp(34px, 4vw, 58px);
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: -1px;
}

.novain-hero-copy h1 strong {
  color: var(--nvcol-8844e62497,#c8f5ff);
  font: inherit;
}

.novain-hero-copy p {
  max-width: 560px;
  margin: 0;
  color: var(--nvcol-a0d62951e2,#e0edff);
  font-size: 17px !important;
  line-height: 2;
}

.novain-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
}

.novain-hero-actions .btn {
  min-height: 48px;
  padding-inline: 24px;
  border-radius: 12px;
  font-size: 14px;
}

.novain-hero-features {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  margin-top: 33px;
}

.novain-hero-features > div {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--nvcol-c59b8c13b4,#eaf5ff);
  font-size: 13px;
  white-space: nowrap;
}

.novain-feature-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: var(--nvcol-edc24eddb6,#22d4ff);
  border: 2px solid var(--nvcol-ec5ddd9612,#22bfff);
  border-radius: 9px;
  font-size: 17px;
  line-height: 1;
  box-shadow: 0 0 13px var(--nvcol-b98b102455,#18c7ff4a);
}

.novain-hero-visual {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 430px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  direction: ltr;
}

.novain-hero-visual::before {
  content: "";
  position: absolute;
  inset: 12% 0 8% 4%;
  border-radius: 50%;
  background: var(--nvcol-f124e55bfd,#0c83ff55);
  filter: blur(55px);
}

.novain-hero-visual img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 760px;
  max-height: 450px;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 28px 35px var(--nvcol-7fd79c0087,#00000088));
}

.novain-hero-arrow {
  position: absolute;
  z-index: 4;
  top: 50%;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-top: -22px;
  border: 1px solid var(--nvcol-3b6bd05f60,#c7eaff66);
  border-radius: 50%;
  color: var(--nvcol-f2074b6cef,#ffffff);
  background: var(--nvcol-ee6886cd66,#06245388);
  font-family: Arial, sans-serif;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  transition: .2s ease;
}

.novain-hero-arrow:hover {
  background: var(--nvcol-2b580610b9,#087dff);
  border-color: var(--nvcol-874fc8eb66,#62ddff);
  transform: scale(1.06);
}

.novain-hero-prev { left: 24px; }
.novain-hero-next { right: 24px; }

.novain-hero-controls {
  position: absolute;
  z-index: 5;
  right: 7.5%;
  bottom: 17px;
  left: 7.5%;
  display: flex;
  align-items: center;
  justify-content: center;
  direction: ltr;
}

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

.novain-hero-dots button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 1px solid var(--nvcol-98bb9261bd,#d9f6ffbb);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}

.novain-hero-dots button.is-active {
  background: var(--nvcol-e010a1b62e,#25d7ff);
  box-shadow: 0 0 12px var(--nvcol-e010a1b62e,#25d7ff);
}

.novain-hero-count {
  position: absolute;
  right: 0;
  color: var(--nvcol-f2074b6cef,#ffffff);
  font-family: Arial, sans-serif;
  font-size: 16px;
  direction: ltr;
}

.novain-hero-count b { font-weight: 400; }

@media (max-width: 900px) {
  .novain-hero-track,
  .novain-hero-inner { min-height: 700px; }

  .novain-hero-inner {
    grid-template-columns: 1fr;
    gap: 0;
    align-content: center;
  }

  .novain-hero-copy {
    padding: 52px 35px 0;
    text-align: center;
  }

  .novain-hero-copy h1,
  .novain-hero-copy p { margin-inline: auto; }

  .novain-hero-actions,
  .novain-hero-features { justify-content: center; }

  .novain-hero-visual {
    min-height: 285px;
    justify-content: center;
  }

  .novain-hero-visual img { max-height: 300px; }
}

@media (max-width: 650px) {
  .novain-hero-track,
  .novain-hero-inner { min-height: 735px; }

  .novain-hero-inner { width: min(100% - 28px, 600px); }

  .novain-hero-copy { padding: 38px 0 0; }

  .novain-hero-eyebrow { font-size: 11px; letter-spacing: 1.4px; }

  .novain-hero-copy h1 {
    margin-top: 12px;
    font-size: clamp(29px, 8.4vw, 40px);
    line-height: 1.42;
  }

  .novain-hero-copy p {
    font-size: 15px !important;
    line-height: 1.95;
  }

  .novain-hero-actions {
    flex-direction: column;
    gap: 10px;
    margin-top: 20px;
  }

  .novain-hero-actions .btn { width: 100%; }

  .novain-hero-features {
    gap: 10px 16px;
    margin-top: 23px;
  }

  .novain-hero-features > div { font-size: 11px; }

  .novain-feature-icon {
    width: 26px;
    height: 26px;
    font-size: 14px;
  }

  .novain-hero-visual {
    min-height: 245px;
    margin-top: 2px;
  }

  .novain-hero-visual img {
    width: 112%;
    max-height: 255px;
    object-fit: contain;
  }

  .novain-hero-arrow {
    top: 49%;
    width: 36px;
    height: 36px;
    margin-top: -18px;
    font-size: 28px;
  }

  .novain-hero-prev { left: 10px; }
  .novain-hero-next { right: 10px; }

  .novain-hero-controls {
    right: 20px;
    bottom: 13px;
    left: 20px;
  }

  .novain-hero-count { right: 0; font-size: 13px; }
}

/* Premium light features showcase. All selectors are intentionally scoped to this section. */
.novain-features-section {
  position: relative;
  overflow: hidden;
  padding: 86px 0 78px;
  color: var(--nvcol-4d0492bcd8,#081938);
  background: radial-gradient(circle at 8% 18%, var(--nvcol-c827d34b22,#cfeaff88) 0, transparent 19%), radial-gradient(circle at 92% 28%, var(--nvcol-3eefc18ac6,#dceeff) 0, transparent 20%), linear-gradient(180deg, var(--nvcol-c0801f5214,#fbfdff) 0%, var(--nvcol-2d49ad97a9,#f0f8ff) 58%, var(--nvcol-f2074b6cef,#ffffff) 100%);
}

.novain-features-section::before,
.novain-features-section::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: var(--nvcol-516bdd2f16,#b5deff55);
  filter: blur(1px);
  pointer-events: none;
}

.novain-features-section::before { top: 145px; left: 2.5%; }
.novain-features-section::after { top: 180px; right: 3%; opacity: .55; }

.novain-features-section > .container { position: relative; z-index: 1; }

.novain-features-heading {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}

.novain-features-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border: 1px solid var(--nvcol-5dfe15e7c6,#8bd7ff99);
  border-radius: 30px;
  color: var(--nvcol-2b580610b9,#087dff);
  background: var(--nvcol-1f65e241eb,#f4fbffb8);
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700;
}

.novain-features-eyebrow b {
  color: var(--nvcol-fbbfc9cf1c,#15bdf2);
  font-size: 21px;
  line-height: 1;
}

.novain-features-heading h2 {
  margin: 17px 0 10px;
  color: var(--nvcol-a9d15c6e9c,#071735);
  font-family: "Estedad", Vazirmatn, Tahoma, Arial, sans-serif !important;
  font-size: clamp(30px, 4vw, 53px);
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: -.8px;
}

.novain-features-heading h2 strong {
  color: var(--nvcol-2b580610b9,#087dff);
  font: inherit;
}

.novain-features-heading > p {
  max-width: 720px;
  margin: 0 auto;
  color: var(--nvcol-0b681381c5,#617291);
  font-size: 16px !important;
  line-height: 2;
}

.novain-features-showcase {
  position: relative;
  min-height: 540px;
  max-width: 1180px;
  margin: 42px auto 28px;
}

.novain-features-stage {
  position: absolute;
  top: 38px;
  right: 50%;
  z-index: 2;
  width: min(66%, 770px);
  height: 445px;
  transform: translateX(50%);
}

.novain-features-stage::before {
  content: "";
  position: absolute;
  inset: 13% -5% 3%;
  border-radius: 50%;
  background: var(--nvcol-820014ce2b,#82c9ff77);
  filter: blur(40px);
}

.novain-features-dashboard {
  position: absolute;
  top: 24px;
  right: 0;
  width: 100%;
  height: 390px;
  overflow: hidden;
  border: 7px solid var(--nvcol-0814f430fb,#071632);
  border-radius: 20px 20px 30px 30px;
  background: var(--nvcol-e3bd7c5072,#f5f9ff);
  box-shadow: 0 28px 42px var(--nvcol-d7e75a6c83,#194b8328), 0 0 0 1px var(--nvcol-f2074b6cef,#ffffff);
}

.novain-features-dashboard::after {
  content: "";
  position: absolute;
  right: 8%;
  bottom: -13px;
  left: 8%;
  height: 13px;
  border-radius: 0 0 50% 50%;
  background: var(--nvcol-beb9766f37,#173357);
  box-shadow: 0 8px 8px var(--nvcol-37af0c6cac,#143a6428);
}

.novain-features-dashboard-top {
  display: flex;
  align-items: center;
  height: 42px;
  gap: 14px;
  padding: 0 14px;
  border-bottom: 1px solid var(--nvcol-d7c5128ee8,#dbe8f5);
  color: var(--nvcol-5a4c198bd6,#31496b);
  background: var(--nvcol-f2074b6cef,#ffffff);
  direction: ltr;
  font-size: 10px;
}

.novain-features-window-dots { display: inline-flex; gap: 4px; }
.novain-features-window-dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--nvcol-73f7bac4c9,#ff806f); }
.novain-features-window-dots i:nth-child(2) { background: var(--nvcol-a61031a8a9,#ffc857); }
.novain-features-window-dots i:nth-child(3) { background: var(--nvcol-00f8bf4228,#2ed47a); }
.novain-features-dashboard-brand { color: var(--nvcol-2b580610b9,#087dff); font-size: 13px; font-weight: 900; }
.novain-features-dashboard-brand b { color: var(--nvcol-c8b9fbbae4,#0b2047); }
.novain-features-dashboard-search { margin-inline-start: auto; padding: 6px 14px; border: 1px solid var(--nvcol-14299a1c0b,#e2ebf5); border-radius: 20px; color: var(--nvcol-727e5e0f4c,#9aa9bd); }
.novain-features-dashboard-search b { margin-inline-start: 20px; color: var(--nvcol-2b580610b9,#087dff); font-size: 16px; }
.novain-features-avatar { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: var(--nvcol-f2074b6cef,#ffffff); background: var(--nvcol-2b580610b9,#087dff); font-weight: 900; }

.novain-features-dashboard-body { display: grid; grid-template-columns: 128px 1fr; height: calc(100% - 42px); direction: ltr; }

.novain-features-dashboard-side {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px 10px;
  border-right: 1px solid var(--nvcol-0d0766ab3a,#e0eaf4);
  color: var(--nvcol-c2b1e6f445,#687c99);
  background: var(--nvcol-f2074b6cef,#ffffff);
  direction: rtl;
  font-size: 10px;
}

.novain-features-dashboard-side strong { margin: 0 0 8px; color: var(--nvcol-3e04435794,#132c55); font-size: 12px; }
.novain-features-dashboard-side span { padding: 8px 9px; border-radius: 8px; white-space: nowrap; }
.novain-features-dashboard-side span.is-active { color: var(--nvcol-2b580610b9,#087dff); background: var(--nvcol-21bb7eed1d,#e8f3ff); font-weight: 800; }

.novain-features-dashboard-main { padding: 19px 20px; direction: rtl; background: var(--nvcol-0ee823eb5e,#f7fbff); }
.novain-features-dashboard-title { display: flex; align-items: end; justify-content: space-between; margin-bottom: 12px; color: var(--nvcol-af0ace81bd,#142d55); }
.novain-features-dashboard-title b { font-size: 16px; }
.novain-features-dashboard-title small { color: var(--nvcol-d7ef01cb34,#9aaac0); font-size: 9px; }
.novain-features-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }
.novain-features-kpis > span { position: relative; display: grid; gap: 4px; min-height: 63px; padding: 9px; overflow: hidden; border: 1px solid var(--nvcol-0926bbe8bd,#e1ebf5); border-radius: 10px; background: var(--nvcol-f2074b6cef,#ffffff); }
.novain-features-kpis i { position: absolute; top: 8px; left: 8px; width: 18px; height: 18px; border-radius: 6px; background: var(--nvcol-4f39220759,#d9eeff); }
.novain-features-kpis i.kpi-green { background: var(--nvcol-91ef93d3a6,#d9f6e9); }
.novain-features-kpis i.kpi-purple { background: var(--nvcol-d4d18b4f05,#ebe0ff); }
.novain-features-kpis i.kpi-orange { background: var(--nvcol-15e6a8e3b5,#ffead8); }
.novain-features-kpis small { color: var(--nvcol-ada6007ab5,#8193ad); font-size: 8px; }
.novain-features-kpis b { color: var(--nvcol-a3879fe46d,#132d56); font-size: 16px; }

.novain-features-chart { height: 196px; margin-top: 14px; padding: 14px; border: 1px solid var(--nvcol-0926bbe8bd,#e1ebf5); border-radius: 12px; background: var(--nvcol-f2074b6cef,#ffffff); }
.novain-features-chart > div { display: flex; justify-content: space-between; color: var(--nvcol-5c5cc037b7,#18345f); font-size: 12px; }
.novain-features-chart > div small { color: var(--nvcol-d7ef01cb34,#9aaac0); font-size: 9px; }
.novain-features-chart svg { display: block; width: 100%; height: 150px; margin-top: 3px; overflow: visible; }
.novain-features-chart .chart-fill { fill: var(--nvcol-86c7847e98,#168eff18); }
.novain-features-chart .chart-line { fill: none; stroke-width: 3; stroke-linecap: round; }
.novain-features-chart .chart-blue { stroke: var(--nvcol-2b580610b9,#087dff); }
.novain-features-chart .chart-green { stroke: var(--nvcol-ef266f63f4,#16c981); stroke-width: 2.5; }

.novain-features-mobile {
  position: absolute;
  right: -28px;
  bottom: 2px;
  z-index: 4;
  width: 138px;
  height: 272px;
  overflow: hidden;
  border: 6px solid var(--nvcol-049474894d,#081936);
  border-radius: 22px;
  background: var(--nvcol-d9171aee18,#f6fbff);
  box-shadow: 0 22px 34px var(--nvcol-84eb82509d,#123d6b55);
  direction: rtl;
}

.novain-features-mobile-top { display: flex; justify-content: space-between; align-items: center; height: 28px; padding: 0 8px; color: var(--nvcol-2b580610b9,#087dff); background: var(--nvcol-f2074b6cef,#ffffff); font-size: 8px; }
.novain-features-mobile-top b { font-size: 9px; }
.novain-features-mobile-top i { color: var(--nvcol-277c2bb35c,#132b51); font-style: normal; }
.novain-features-mobile-product { height: 205px; padding: 22px 9px 8px; color: var(--nvcol-ad48326222,#0b1f41); background: linear-gradient(145deg, var(--nvcol-38254d94b0,#e9f5ff), var(--nvcol-f2074b6cef,#ffffff)); }
.novain-features-mobile-product small { display: block; color: var(--nvcol-2b580610b9,#087dff); font-size: 7px; }
.novain-features-mobile-product b { display: block; margin-top: 8px; font-size: 13px; line-height: 1.45; }
.novain-features-mobile-product > span { display: inline-block; margin-top: 8px; padding: 3px 8px; border-radius: 5px; color: var(--nvcol-f2074b6cef,#ffffff); background: var(--nvcol-2b580610b9,#087dff); font-size: 7px; }
.novain-features-product-shape { width: 75px; height: 75px; margin: 10px auto 0; border-radius: 48% 52% 46% 54%; background: radial-gradient(circle at 35% 28%, var(--nvcol-f2074b6cef,#ffffff) 0 8%, transparent 9%), linear-gradient(135deg, var(--nvcol-b4481fd175,#c8d7e7), var(--nvcol-f2074b6cef,#ffffff) 48%, var(--nvcol-b0545b1a3b,#8ca3bf)); box-shadow: 0 10px 15px var(--nvcol-22420996a1,#153a5b25); transform: rotate(-12deg); }
.novain-features-mobile-nav { display: flex; justify-content: space-around; align-items: center; height: 33px; color: var(--nvcol-2b580610b9,#087dff); background: var(--nvcol-f2074b6cef,#ffffff); font-size: 12px; }
.novain-features-mobile-nav span { display: grid; justify-items: center; gap: 0; }
.novain-features-mobile-nav small { color: var(--nvcol-a8c1002054,#637797); font-size: 6px; }

.novain-features-sale { position: absolute; right: -24px; bottom: 34px; z-index: 5; display: flex; align-items: center; gap: 10px; min-width: 176px; padding: 12px 15px; border: 1px solid var(--nvcol-5b98551020,#e2edf7); border-radius: 16px; background: var(--nvcol-f2074b6cef,#ffffff); box-shadow: 0 13px 28px var(--nvcol-c57b73a810,#1b518433); direction: rtl; }
.novain-features-sale-icon { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 13px; color: var(--nvcol-d5e6a2da96,#10c87c); background: var(--nvcol-fbcf40a4dc,#ddfaed); font-size: 31px; font-weight: 900; }
.novain-features-sale span:last-child { display: grid; gap: 3px; }
.novain-features-sale small { color: var(--nvcol-c77d60d865,#263b5c); font-size: 10px !important; }
.novain-features-sale b { color: var(--nvcol-1292802fdf,#0ac375); font-size: 20px; }

.novain-features-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 13px; width: 270px; min-height: 105px; padding: 17px 18px; border: 1px solid var(--nvcol-27af033b9d,#dbe8f4); border-radius: 17px; background: var(--nvcol-6aa0777eb5,#ffffffee); box-shadow: 0 13px 30px var(--nvcol-2744ffe62a,#1c5b9320); direction: ltr; transition: transform .2s ease, box-shadow .2s ease; }
.novain-features-card:hover { transform: translateY(-4px); box-shadow: 0 18px 33px var(--nvcol-5a43423255,#1c5b9333); }
.novain-features-card > span:last-child { display: grid; gap: 5px; direction: rtl; text-align: right; }
.novain-features-card b { color: var(--nvcol-559c84884e,#0a1d3c); font-family: "Estedad", Vazirmatn, Tahoma, Arial, sans-serif !important; font-size: 15px; }
.novain-features-card small { color: var(--nvcol-3bde1ccada,#647794); font-size: 11px !important; line-height: 1.75; }
.novain-features-card-icon { display: grid; flex: 0 0 54px; place-items: center; width: 54px; height: 54px; border-radius: 16px; }
.novain-features-card-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.novain-features-icon-purple { color: var(--nvcol-86d09e0509,#8655df); background: var(--nvcol-0a16a71acc,#f0e9ff); }
.novain-features-icon-green { color: var(--nvcol-8c3ee5dd77,#13b978); background: var(--nvcol-62e54fbb6c,#dcfaee); }
.novain-features-icon-orange { color: var(--nvcol-f19dbd9205,#f18a11); background: var(--nvcol-c067b9b8aa,#fff0df); }
.novain-features-icon-cyan { color: var(--nvcol-c098596aad,#09a9ef); background: var(--nvcol-83dc485935,#e0f7ff); }
.novain-features-icon-blue { color: var(--nvcol-a94b297d38,#1476df); background: var(--nvcol-27ce03e957,#e5efff); }
.novain-features-icon-sky { color: var(--nvcol-a5f0b98188,#1889e4); background: var(--nvcol-522db1f3d6,#e3f4ff); }
.novain-features-card--right-1 { top: 10px; right: 0; }
.novain-features-card--right-2 { top: 159px; right: 0; }
.novain-features-card--right-3 { top: 308px; right: 0; }
.novain-features-card--left-1 { top: 10px; left: 0; }
.novain-features-card--left-2 { top: 159px; left: 0; }
.novain-features-card--left-3 { top: 308px; left: 0; }

.novain-features-slider-block { position: relative; margin-top: 36px; padding: 19px 0 17px; border: 1px solid var(--nvcol-7e60028a58,#e0edf8); border-radius: 22px; background: var(--nvcol-9dff37edbc,#ffffffb8); box-shadow: 0 14px 34px var(--nvcol-de34975ca9,#1a5e9910); }
.novain-features-slider-header { display: flex; align-items: center; justify-content: space-between; padding: 0 19px 13px; color: var(--nvcol-51d166aa24,#17335d); font-family: "Estedad", Vazirmatn, Tahoma, Arial, sans-serif !important; font-size: 18px; font-weight: 800; }
.novain-features-slider-header > div { display: flex; gap: 7px; }
.novain-features-slider-arrow { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid var(--nvcol-778ad2b016,#b8d8f6); border-radius: 50%; color: var(--nvcol-2b580610b9,#087dff); background: var(--nvcol-f2074b6cef,#ffffff); font: 26px/1 Arial, sans-serif; cursor: pointer; }
.novain-features-slider-arrow:hover { color: var(--nvcol-f2074b6cef,#ffffff); background: var(--nvcol-2b580610b9,#087dff); }
.novain-features-slider-viewport { overflow: hidden; padding: 0 19px; cursor: grab; touch-action: pan-y; user-select: none; }
.novain-features-slider-viewport.is-dragging { cursor: grabbing; }
.novain-features-slider-track { display: flex; gap: 12px; direction: ltr; }
.novain-features-slider-card { display: grid; flex: 0 0 calc((100% - 60px) / 6); min-height: 133px; align-content: center; justify-items: center; gap: 7px; padding: 13px 10px; border: 1px solid var(--nvcol-5e1231a090,#e0ebf5); border-radius: 14px; color: var(--nvcol-36b28457fe,#142a4f); background: var(--nvcol-f2074b6cef,#ffffff); direction: rtl; text-align: center; }
.novain-features-slider-card > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: var(--nvcol-2b580610b9,#087dff); background: var(--nvcol-d8b8dd66b8,#e6f2ff); font-size: 24px; line-height: 1; }
.novain-features-slider-card b { font-family: "Estedad", Vazirmatn, Tahoma, Arial, sans-serif !important; font-size: 13px; }
.novain-features-slider-card small { color: var(--nvcol-2dcf6ddb7c,#71829c); font-size: 10px !important; line-height: 1.6; }
.novain-features-slider-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 17px; }
.novain-features-slider-pagination button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: var(--nvcol-dc85c98f16,#bedcf8); cursor: pointer; }
.novain-features-slider-pagination button.is-active { width: 22px; border-radius: 8px; background: var(--nvcol-2b580610b9,#087dff); }

.novain-features-actions { display: flex; justify-content: center; gap: 16px; margin-top: 34px; }
.novain-features-actions a { display: inline-flex; align-items: center; justify-content: center; min-width: 190px; min-height: 52px; padding: 0 22px; border-radius: 12px; font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important; font-size: 14px !important; font-weight: 800; transition: .2s ease; }
.novain-features-primary { color: var(--nvcol-f2074b6cef,#ffffff); background: linear-gradient(110deg, var(--nvcol-2b580610b9,#087dff), var(--nvcol-0ac6e8bc9d,#19c7ff)); box-shadow: 0 12px 24px var(--nvcol-19e5fa9acb,#087dff33); }
.novain-features-secondary { border: 1px solid var(--nvcol-2b580610b9,#087dff); color: var(--nvcol-2b580610b9,#087dff); background: var(--nvcol-f2074b6cef,#ffffff); }
.novain-features-actions a:hover { transform: translateY(-3px); }
.novain-features-benefits { display: flex; justify-content: center; gap: 50px; margin-top: 25px; color: var(--nvcol-4ac0524b2f,#40587a); font-size: 13px; }
.novain-features-benefits span { display: inline-flex; align-items: center; gap: 8px; }
.novain-features-benefits b { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid var(--nvcol-72bcdec0b0,#4aa7f0); border-radius: 50%; color: var(--nvcol-2b580610b9,#087dff); font-size: 16px; }

@media (max-width: 1120px) {
  .novain-features-card { width: 235px; }
  .novain-features-stage { width: 62%; }
  .novain-features-slider-card { flex-basis: calc((100% - 48px) / 5); }
}

@media (max-width: 900px) {
  .novain-features-section { padding: 67px 0 60px; }
  .novain-features-showcase { min-height: 850px; }
  .novain-features-stage { top: 0; right: 50%; width: min(90%, 670px); height: 425px; }
  .novain-features-card { width: calc(50% - 10px); min-height: 92px; }
  .novain-features-card--right-1 { top: 455px; right: 0; }
  .novain-features-card--right-2 { top: 455px; left: 0; right: auto; }
  .novain-features-card--right-3 { top: 565px; right: 0; }
  .novain-features-card--left-1 { top: 565px; left: 0; }
  .novain-features-card--left-2 { top: 675px; right: 0; left: auto; }
  .novain-features-card--left-3 { top: 675px; left: 0; }
  .novain-features-slider-card { flex-basis: calc((100% - 24px) / 3); }
}

@media (max-width: 650px) {
  .novain-features-section { padding: 53px 0 48px; }
  .novain-features-heading h2 { font-size: 29px; line-height: 1.5; }
  .novain-features-heading > p { font-size: 14px !important; line-height: 1.9; }
  .novain-features-showcase { min-height: 1050px; margin-top: 30px; }
  .novain-features-stage { top: 0; width: 100%; height: 385px; }
  .novain-features-dashboard { top: 34px; height: 275px; border-width: 5px; border-radius: 15px 15px 22px 22px; }
  .novain-features-dashboard-top { height: 29px; gap: 7px; padding: 0 8px; font-size: 7px; }
  .novain-features-dashboard-brand { font-size: 9px; }
  .novain-features-dashboard-search { padding: 4px 7px; }
  .novain-features-dashboard-search b { margin-inline-start: 7px; }
  .novain-features-avatar { width: 18px; height: 18px; }
  .novain-features-dashboard-body { grid-template-columns: 78px 1fr; height: calc(100% - 29px); }
  .novain-features-dashboard-side { gap: 1px; padding: 9px 5px; font-size: 7px; }
  .novain-features-dashboard-side strong { font-size: 8px; }
  .novain-features-dashboard-side span { padding: 5px 4px; }
  .novain-features-dashboard-main { padding: 9px 8px; }
  .novain-features-dashboard-title { margin-bottom: 7px; }
  .novain-features-dashboard-title b { font-size: 10px; }
  .novain-features-dashboard-title small { font-size: 6px; }
  .novain-features-kpis { gap: 4px; }
  .novain-features-kpis > span { min-height: 42px; padding: 5px; border-radius: 5px; }
  .novain-features-kpis i { top: 4px; left: 4px; width: 9px; height: 9px; border-radius: 3px; }
  .novain-features-kpis small { font-size: 5px; }
  .novain-features-kpis b { font-size: 9px; }
  .novain-features-chart { height: 147px; margin-top: 7px; padding: 7px; border-radius: 7px; }
  .novain-features-chart > div { font-size: 7px; }
  .novain-features-chart > div small { font-size: 6px; }
  .novain-features-chart svg { height: 107px; }
  .novain-features-mobile { right: 13%; bottom: -3px; width: 98px; height: 205px; border-width: 4px; border-radius: 16px; }
  .novain-features-mobile-top { height: 22px; padding: 0 5px; font-size: 6px; }
  .novain-features-mobile-top b { font-size: 6px; }
  .novain-features-mobile-product { height: 154px; padding: 13px 6px 5px; }
  .novain-features-mobile-product small { font-size: 5px; }
  .novain-features-mobile-product b { margin-top: 5px; font-size: 9px; }
  .novain-features-mobile-product > span { margin-top: 5px; padding: 2px 5px; font-size: 5px; }
  .novain-features-product-shape { width: 55px; height: 55px; margin-top: 6px; }
  .novain-features-mobile-nav { height: 24px; font-size: 8px; }
  .novain-features-mobile-nav small { font-size: 4px; }
  .novain-features-sale { right: 1%; bottom: 19px; min-width: 125px; padding: 8px; gap: 6px; border-radius: 11px; }
  .novain-features-sale-icon { width: 34px; height: 34px; border-radius: 9px; font-size: 22px; }
  .novain-features-sale small { font-size: 7px !important; }
  .novain-features-sale b { font-size: 14px; }
  .novain-features-card { position: absolute; width: calc(50% - 6px); min-height: 101px; padding: 10px; gap: 7px; border-radius: 13px; }
  .novain-features-card--right-1 { top: 420px; right: 0; }
  .novain-features-card--right-2 { top: 420px; left: 0; }
  .novain-features-card--right-3 { top: 531px; right: 0; }
  .novain-features-card--left-1 { top: 531px; left: 0; }
  .novain-features-card--left-2 { top: 642px; right: 0; left: auto; }
  .novain-features-card--left-3 { top: 642px; left: 0; }
  .novain-features-card-icon { flex-basis: 37px; width: 37px; height: 37px; border-radius: 10px; }
  .novain-features-card-icon svg { width: 20px; height: 20px; }
  .novain-features-card b { font-size: 11px; }
  .novain-features-card small { font-size: 8px !important; line-height: 1.6; }
  .novain-features-slider-block { margin-top: 22px; padding-top: 14px; border-radius: 17px; }
  .novain-features-slider-header { padding: 0 13px 11px; font-size: 14px; }
  .novain-features-slider-viewport { padding: 0 13px; }
  .novain-features-slider-card { flex-basis: 72%; min-height: 126px; }
  .novain-features-slider-card b { font-size: 12px; }
  .novain-features-slider-card small { font-size: 9px !important; }
  .novain-features-actions { flex-direction: column; gap: 10px; margin-top: 25px; }
  .novain-features-actions a { width: 100%; }
  .novain-features-benefits { flex-wrap: wrap; gap: 13px 21px; margin-top: 21px; font-size: 11px; }
}

/* Showcase fidelity pass: scoped to the central features section only. */
.novain-features-section {
  padding: 82px 0 72px;
  isolation: isolate;
}

.novain-features-showcase {
  min-height: 566px;
  margin-top: 40px;
}

.novain-features-stage {
  top: 28px;
  right: 50%;
  width: min(60%, 720px);
  height: 475px;
  transform: translateX(50%);
}

.novain-features-stage::before {
  inset: 8% -10% 1%;
  border-radius: 50%;
  background: radial-gradient(ellipse, var(--nvcol-db4d4b52c8,#8dceff92) 0%, var(--nvcol-94076da65a,#bde5ff55) 42%, transparent 73%);
  filter: blur(31px);
}

.novain-features-laptop {
  position: absolute;
  inset: 0;
  perspective: 1500px;
}

.novain-features-dashboard {
  top: 10px;
  right: 50%;
  z-index: 2;
  width: 95%;
  height: 391px;
  overflow: hidden;
  border: 8px solid var(--nvcol-aab9980e14,#061631);
  border-radius: 24px 24px 18px 18px;
  transform: translateX(50%) perspective(1500px) rotateX(1.25deg);
  transform-origin: 50% 100%;
  box-shadow: 0 31px 34px var(--nvcol-7384cb6c7c,#194b8330), 0 7px 0 var(--nvcol-af60bd7382,#0b2346), 0 0 0 1px var(--nvcol-f2074b6cef,#ffffff);
}

.novain-features-dashboard::after { display: none; }

.novain-features-laptop-hinge {
  position: absolute;
  top: 397px;
  right: 50%;
  z-index: 3;
  width: 74%;
  height: 10px;
  border-radius: 0 0 9px 9px;
  background: linear-gradient(180deg, var(--nvcol-357e95d320,#0b2b51), var(--nvcol-62b12c0fc4,#07162e) 72%);
  box-shadow: 0 6px 6px var(--nvcol-847c671b7b,#133f6c35);
  transform: translateX(50%);
}

.novain-features-laptop-base {
  position: absolute;
  right: 50%;
  bottom: 18px;
  z-index: 3;
  width: 100%;
  height: 61px;
  overflow: hidden;
  border: 1px solid var(--nvcol-261ee3f871,#183b67);
  border-radius: 7px 7px 30px 30px;
  background: linear-gradient(180deg, var(--nvcol-cdb69c0702,#1a3b62) 0%, var(--nvcol-ff3a19ec4b,#0b1d3a) 45%, var(--nvcol-e8a0e1c379,#07152c) 100%);
  box-shadow: 0 22px 27px var(--nvcol-5a58261001,#174a7b45), inset 0 2px 0 var(--nvcol-2011105aff,#6a9bc655);
  transform: translateX(50%) perspective(900px) rotateX(48deg);
  transform-origin: 50% 0;
}

.novain-features-keyboard {
  position: absolute;
  top: 8px;
  left: 9%;
  width: 82%;
  height: 27px;
  border: 1px solid var(--nvcol-6efd35851b,#3f6792);
  border-radius: 7px;
  opacity: .78;
  background: repeating-linear-gradient(90deg, var(--nvcol-ec1ef52086,#274f7b) 0 12px, var(--nvcol-0a03113382,#14375f) 12px 15px), repeating-linear-gradient(0deg, transparent 0 7px, var(--nvcol-b1c6b4aa7f,#567da4) 7px 8px);
  box-shadow: inset 0 0 0 3px var(--nvcol-047d573bdb,#0c2647);
}

.novain-features-trackpad {
  position: absolute;
  bottom: 7px;
  left: 42%;
  width: 16%;
  height: 11px;
  border: 1px solid var(--nvcol-538343fc38,#466b91);
  border-radius: 4px;
  background: var(--nvcol-c7f63c77d9,#18395f);
  opacity: .82;
}

.novain-features-mobile {
  left: -23px;
  right: auto;
  bottom: 4px;
  z-index: 5;
  width: 148px;
  height: 292px;
  border: 7px solid var(--nvcol-79235dc575,#061732);
  border-radius: 28px;
  box-shadow: 0 27px 35px var(--nvcol-52a294e8c4,#123d6b58), -7px 7px 0 var(--nvcol-1a473913a8,#0d2c50);
  transform: rotate(-4deg) perspective(850px) rotateY(-2deg);
}

.novain-features-mobile::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 6;
  width: 56px;
  height: 13px;
  border-radius: 0 0 10px 10px;
  background: var(--nvcol-79235dc575,#061732);
  transform: translateX(-50%);
}

.novain-features-mobile::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  background: linear-gradient(112deg, var(--nvcol-6fec928a15,#ffffff26) 0%, transparent 24%, transparent 78%, var(--nvcol-6db808b183,#ffffff14) 100%);
}

.novain-features-sale {
  right: -13px;
  bottom: 52px;
  z-index: 7;
  min-width: 190px;
  padding: 13px 16px;
  border-radius: 17px;
  box-shadow: 0 18px 32px var(--nvcol-367e9a67b9,#1b51843d);
}

.novain-features-card {
  z-index: 4;
  width: 272px;
  min-height: 111px;
  padding: 18px 19px;
  border-radius: 18px;
  background: var(--nvcol-ce7583783b,#ffffffed);
  box-shadow: 0 15px 32px var(--nvcol-d12308b01e,#1c5b9326);
}

.novain-features-card--right-1 { top: 18px; right: 0; }
.novain-features-card--right-2 { top: 174px; right: 0; }
.novain-features-card--right-3 { top: 330px; right: 0; }
.novain-features-card--left-1 { top: 18px; left: 0; }
.novain-features-card--left-2 { top: 174px; left: 0; }
.novain-features-card--left-3 { top: 330px; left: 0; }

.novain-features-slider-block {
  margin-top: 13px;
  padding: 17px 0 18px;
  border: 1px solid var(--nvcol-a6c86024c6,#e2eef8);
  border-radius: 23px;
  background: var(--nvcol-7dc173d1f9,#ffffffa8);
  box-shadow: 0 14px 35px var(--nvcol-921d6d7c34,#1a5e9912);
}

.novain-features-slider-header { display: none; }

.novain-features-slider-arrow {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 44px;
  height: 44px;
  border: 0;
  box-shadow: 0 7px 18px var(--nvcol-8bb6b43fb2,#1d568626);
  font-size: 31px;
  transform: translateY(-50%);
}

.novain-features-slider-prev { left: -17px; }
.novain-features-slider-next { right: -17px; }

.novain-features-slider-viewport { padding: 0 31px; }

.novain-features-slider-track { gap: 12px; }

.novain-features-slider-card {
  flex-basis: calc((100% - 72px) / 7);
  min-height: 144px;
  gap: 8px;
  padding: 15px 11px;
  border: 1px solid var(--nvcol-5e1231a090,#e0ebf5);
  border-radius: 16px;
  box-shadow: 0 5px 15px var(--nvcol-f1ae8a310d,#2b65940b);
}

.novain-features-slider-card > span {
  width: 48px;
  height: 48px;
  color: var(--nvcol-2b580610b9,#087dff);
  background: var(--nvcol-d8b8dd66b8,#e6f2ff);
  font-size: 27px;
}

.novain-features-slider-card b { font-size: 14px; }
.novain-features-slider-card small { font-size: 10.5px !important; }

.novain-features-slider-pagination { margin-top: 18px; }

@media (max-width: 1200px) {
  .novain-features-card { width: 258px; }
  .novain-features-stage { width: min(59%, 700px); }
  .novain-features-slider-card { flex-basis: calc((100% - 60px) / 6); }
}

@media (max-width: 900px) {
  .novain-features-showcase {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    min-height: 0;
    margin-top: 30px;
  }

  .novain-features-stage {
    position: relative;
    top: auto;
    right: auto;
    grid-column: 1 / -1;
    order: -1;
    width: 100%;
    height: 408px;
    transform: none;
  }

  .novain-features-laptop { width: 100%; }
  .novain-features-dashboard { top: 10px; width: 91%; height: 321px; }
  .novain-features-laptop-hinge { top: 327px; width: 72%; }
  .novain-features-laptop-base { bottom: 15px; height: 51px; }
  .novain-features-mobile { left: 2%; bottom: 7px; width: 119px; height: 237px; border-width: 6px; border-radius: 24px; }
  .novain-features-mobile::before { width: 46px; height: 11px; }
  .novain-features-sale { right: 0; bottom: 29px; min-width: 156px; padding: 10px 12px; }
  .novain-features-sale-icon { width: 43px; height: 43px; font-size: 27px; }

  .novain-features-card {
    position: relative;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100%;
    min-height: 112px;
    padding: 14px;
    border-radius: 16px;
  }

  .novain-features-card-icon { flex-basis: 49px; width: 49px; height: 49px; }
  .novain-features-card b { font-size: 14px; }
  .novain-features-card small { font-size: 10px !important; }

  .novain-features-slider-block { margin-top: 24px; }
  .novain-features-slider-viewport { padding: 0 43px; }
  .novain-features-slider-arrow { width: 38px; height: 38px; font-size: 27px; }
  .novain-features-slider-prev { left: 7px; }
  .novain-features-slider-next { right: 7px; }
  .novain-features-slider-card { flex-basis: 72%; min-height: 138px; }
}

@media (max-width: 650px) {
  .novain-features-section { padding: 53px 0 48px; }
  .novain-features-heading h2 { font-size: 29px; }
  .novain-features-showcase { gap: 11px; margin-top: 28px; }
  .novain-features-stage { height: 350px; }
  .novain-features-dashboard { top: 16px; width: 92%; height: 253px; border-width: 6px; border-radius: 18px 18px 14px 14px; }
  .novain-features-laptop-hinge { top: 258px; width: 73%; height: 7px; }
  .novain-features-laptop-base { bottom: 17px; height: 39px; border-radius: 5px 5px 22px 22px; }
  .novain-features-keyboard { top: 5px; height: 17px; }
  .novain-features-trackpad { bottom: 5px; height: 7px; }
  .novain-features-mobile { left: 1%; bottom: 5px; width: 96px; height: 193px; border-width: 5px; border-radius: 19px; }
  .novain-features-mobile::before { width: 36px; height: 9px; }
  .novain-features-sale { right: 0; bottom: 18px; min-width: 119px; padding: 7px; gap: 5px; border-radius: 11px; }
  .novain-features-sale-icon { width: 32px; height: 32px; border-radius: 8px; font-size: 20px; }
  .novain-features-sale small { font-size: 7px !important; }
  .novain-features-sale b { font-size: 14px; }
  .novain-features-card { min-height: 104px; padding: 10px; gap: 8px; }
  .novain-features-card-icon { flex-basis: 38px; width: 38px; height: 38px; border-radius: 10px; }
  .novain-features-card-icon svg { width: 21px; height: 21px; }
  .novain-features-card b { font-size: 11px; }
  .novain-features-card small { font-size: 8px !important; line-height: 1.65; }
  .novain-features-slider-block { margin-top: 20px; padding-top: 13px; border-radius: 17px; }
  .novain-features-slider-viewport { padding: 0 40px; }
  .novain-features-slider-card { flex-basis: 72%; min-height: 130px; }
  .novain-features-slider-card > span { width: 43px; height: 43px; font-size: 24px; }
  .novain-features-slider-card b { font-size: 12px; }
  .novain-features-slider-card small { font-size: 9px !important; }
}

/* Responsive-only correction pass. Desktop sizing stays intact; these rules only tune placement and mobile behavior. */
@media (min-width: 901px) {
  .novain-features-card--left-1,
  .novain-features-card--left-2,
  .novain-features-card--left-3 {
    left: clamp(22px, calc(50% - 575px), 140px);
  }

  .novain-features-card--right-1,
  .novain-features-card--right-2,
  .novain-features-card--right-3 {
    right: clamp(22px, calc(50% - 615px), 100px);
  }
}

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

  .novain-features-showcase {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    min-height: 0;
    margin-top: 14px;
  }

  .novain-features-stage {
    position: relative;
    top: auto;
    right: auto;
    grid-column: 1 / -1;
    order: -1;
    width: 100%;
    max-width: 100%;
    height: 60vw;
    min-height: 198px;
    max-height: 258px;
    overflow: visible;
    transform: none;
  }

  .novain-features-laptop {
    inset: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    background-position: center top;
    background-size: 100% auto;
    background-repeat: no-repeat;
  }

  .novain-features-card {
    position: relative;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100%;
    min-height: 104px;
    padding: 9px 10px;
    gap: 8px;
  }

  .novain-features-card b {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
  }

  .novain-features-card small {
    color: var(--nvcol-58faf4ef0b,#51647e);
    font-size: 14px !important;
    font-weight: 600;
    line-height: 1.45;
  }

  .novain-features-slider-block { overflow: hidden; }

  .novain-features-slider-viewport {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    max-width: 100%;
    padding: 0 34px;
    cursor: grab;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .novain-features-slider-viewport::-webkit-scrollbar { display: none; }

  .novain-features-slider-track {
    min-width: 100%;
    gap: 10px;
    touch-action: pan-x;
  }

  .novain-features-slider-card {
    flex: 0 0 76%;
    flex-shrink: 0;
    min-height: 130px;
    scroll-snap-align: start;
  }

  .novain-features-slider-card b {
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
  }

  .novain-features-slider-card small {
    color: var(--nvcol-53e6a780af,#566a84);
    font-size: 12px !important;
    font-weight: 600;
    line-height: 1.5;
  }
}

@media (max-width: 650px) {
  .novain-features-heading h2 {
    margin-top: 6px;
    font-size: clamp(28px, 7.7vw, 32px);
    line-height: 1.35;
  }

  .novain-features-heading > p {
    font-size: 13px !important;
    font-weight: 500;
    line-height: 1.65;
  }

  .novain-features-card {
    min-height: 104px;
    border-radius: 13px;
  }

  .novain-features-slider-viewport { padding-inline: 32px; }
  .novain-features-slider-card { flex-basis: 76%; }
}

/* Mobile Hero order: image first, then badge, headline, description and actions. */
@media (max-width: 650px) {
  .novain-hero-track,
  .novain-hero-inner { min-height: 735px; }

  .novain-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .novain-hero-visual {
    order: -1;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 16px 0 0;
    justify-content: center;
  }

  .novain-hero-visual img {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center;
  }

  .novain-hero-copy {
    order: 0;
    padding: 20px 0 0;
  }
}

/* Pixel-close composition pass. Every rule below is scoped to the reference showcase. */
.novain-features-section {
  padding: 18px 0 30px;
  overflow: hidden;
  background: radial-gradient(circle at 7% 22%, var(--nvcol-c827d34b22,#cfeaff88) 0, transparent 17%), radial-gradient(circle at 93% 25%, var(--nvcol-3eefc18ac6,#dceeff) 0, transparent 18%), linear-gradient(180deg, var(--nvcol-c0801f5214,#fbfdff) 0%, var(--nvcol-2d49ad97a9,#f0f8ff) 58%, var(--nvcol-f2074b6cef,#ffffff) 100%);
}

.novain-features-section > .container {
  width: min(1430px, calc(100% - 36px));
}

.novain-features-heading { max-width: 920px; }

.novain-features-heading h2 {
  margin-top: 16px;
  font-size: clamp(32px, 3.65vw, 55px);
  letter-spacing: -.9px;
}

.novain-features-heading > p {
  max-width: 820px;
  font-size: 16px !important;
  white-space: nowrap;
}

.novain-features-showcase {
  max-width: 1430px;
  min-height: 455px;
  margin: 24px auto 0;
}

.novain-features-stage {
  top: 10px;
  right: calc(50% - 34px);
  width: min(720px, 50.4%);
  height: 458px;
  transform: translateX(50%);
}

.novain-features-stage::before {
  inset: 7% -13% 0;
  background: radial-gradient(ellipse, var(--nvcol-18fe0bfe94,#8dceff9c) 0%, var(--nvcol-6388a7a1c7,#bde5ff66) 44%, transparent 74%);
  filter: blur(32px);
}

.novain-features-dashboard {
  top: 10px;
  right: 50%;
  width: 88%;
  height: 400px;
  border-width: 9px;
  border-radius: 25px 25px 18px 18px;
  transform: translateX(50%) perspective(1500px) rotateX(1deg);
  box-shadow: 0 31px 40px var(--nvcol-e8645929d6,#194b8334), 0 7px 0 var(--nvcol-af60bd7382,#0b2346), 0 0 0 1px var(--nvcol-f2074b6cef,#ffffff);
}

.novain-features-dashboard-top {
  height: 44px;
  gap: 15px;
  padding: 0 16px;
  font-size: 10px;
}

.novain-features-dashboard-brand { font-size: 14px; }
.novain-features-dashboard-search { min-width: 185px; padding: 7px 15px; }
.novain-features-avatar { width: 25px; height: 25px; }

.novain-features-dashboard-body {
  grid-template-columns: 1fr 136px;
  grid-template-areas: "main side";
  direction: ltr;
  height: calc(100% - 44px);
}

.novain-features-dashboard-side {
  grid-area: side;
  gap: 4px;
  padding: 17px 10px;
  border-right: 0;
  border-left: 1px solid var(--nvcol-0d0766ab3a,#e0eaf4);
  direction: rtl;
  font-size: 10px;
}

.novain-features-dashboard-side strong { margin-bottom: 8px; font-size: 12px; }
.novain-features-dashboard-side span { display: flex; align-items: center; gap: 7px; padding: 8px 8px; }
.novain-features-dashboard-side span i { width: 15px; color: var(--nvcol-98a4467bfa,#8295b0); font-style: normal; text-align: center; }
.novain-features-dashboard-side span.is-active i { color: var(--nvcol-2b580610b9,#087dff); }

.novain-features-dashboard-main {
  grid-area: main;
  padding: 20px 20px;
  direction: rtl;
}

.novain-features-dashboard-title { margin-bottom: 13px; }
.novain-features-dashboard-title b { font-size: 17px; }
.novain-features-dashboard-title small { font-size: 9px; }

.novain-features-kpis { gap: 9px; }
.novain-features-kpis > span { min-height: 67px; padding: 10px; }
.novain-features-kpis i { top: 9px; left: 9px; width: 20px; height: 20px; }
.novain-features-kpis small { font-size: 8px; }
.novain-features-kpis b { font-size: 17px; }
.novain-features-kpis em { color: var(--nvcol-434fd22f99,#0ab978); font-size: 8px; font-style: normal; font-weight: 800; }

.novain-features-chart { height: 197px; margin-top: 14px; padding: 14px; }
.novain-features-chart > div small strong { color: var(--nvcol-434fd22f99,#0ab978); font-size: 8px; }

.novain-features-laptop-hinge { top: 406px; width: 74%; }
.novain-features-laptop-base { bottom: 7px; width: 100%; height: 60px; }

.novain-features-mobile {
  left: -34px;
  right: auto;
  bottom: 13px;
  width: 196px;
  height: 372px;
  border-width: 8px;
  border-radius: 31px;
  box-shadow: 0 27px 35px var(--nvcol-52a294e8c4,#123d6b58), -8px 8px 0 var(--nvcol-1a473913a8,#0d2c50);
  transform: rotate(-4deg) perspective(850px) rotateY(-2deg);
}

.novain-features-mobile::before { width: 66px; height: 15px; border-radius: 0 0 12px 12px; }

.novain-features-mobile-top {
  height: 35px;
  padding: 0 10px;
  font-size: 10px;
}

.novain-features-mobile-top b { font-size: 11px; }

.novain-features-mobile-storebar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 27px;
  padding: 0 10px;
  color: var(--nvcol-cf28f1aac9,#18345d);
  background: var(--nvcol-f2074b6cef,#ffffff);
  font-size: 8px;
}

.novain-features-mobile-storebar b { color: var(--nvcol-2b580610b9,#087dff); font-size: 10px; }

.novain-features-mobile-categories {
  display: flex;
  align-items: center;
  justify-content: space-around;
  height: 27px;
  color: var(--nvcol-a747060e79,#657895);
  background: var(--nvcol-2c1d554440,#f8fbff);
  font-size: 7px;
}

.novain-features-mobile-categories span { padding: 2px 7px; border-radius: 12px; }
.novain-features-mobile-categories .is-active { color: var(--nvcol-f2074b6cef,#ffffff); background: var(--nvcol-2b580610b9,#087dff); }

.novain-features-mobile-product {
  position: relative;
  height: 145px;
  overflow: hidden;
  padding: 16px 10px 8px;
  background: linear-gradient(145deg, var(--nvcol-557a5cc088,#dcedff) 0%, var(--nvcol-179c9a9dca,#f9fcff) 72%);
}

.novain-features-mobile-product::after {
  content: "";
  position: absolute;
  right: -2px;
  bottom: 4px;
  width: 112px;
  height: 112px;
  border-radius: 48% 52% 46% 54%;
  background: url("../novain-showcase-phone-banner.webp") right center / cover no-repeat;
  box-shadow: 0 10px 18px var(--nvcol-22420996a1,#153a5b25);
}

.novain-features-mobile-product small { position: relative; z-index: 1; font-size: 7px; }
.novain-features-mobile-product b { position: relative; z-index: 1; margin-top: 7px; font-size: 13px; line-height: 1.45; }
.novain-features-mobile-product > span { position: relative; z-index: 1; margin-top: 8px; padding: 3px 8px; font-size: 7px; }
.novain-features-product-shape { display: none; }

.novain-features-mobile-products {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px;
  height: 76px;
  padding: 5px 6px;
  background: var(--nvcol-0ee823eb5e,#f7fbff);
}

.novain-features-mobile-products article {
  display: grid;
  grid-template-columns: 35px 1fr;
  grid-template-rows: 1fr 1fr;
  column-gap: 5px;
  align-items: center;
  overflow: hidden;
  padding: 3px;
  border: 1px solid var(--nvcol-0926bbe8bd,#e1ebf5);
  border-radius: 7px;
  background: var(--nvcol-f2074b6cef,#ffffff);
  direction: rtl;
}

.novain-features-mobile-product-image {
  grid-row: 1 / 3;
  width: 35px;
  height: 55px;
  border-radius: 5px;
  background-color: var(--nvcol-c35bb4928d,#edf5ff);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.mobile-product-headphones { background-image: url("../novain-showcase-phone-headphones.webp"); }
.mobile-product-watch { background-image: url("../novain-showcase-phone-watch.webp"); }
.novain-features-mobile-products article b { overflow: hidden; color: var(--nvcol-cf28f1aac9,#18345d); font-size: 7px; white-space: nowrap; text-overflow: ellipsis; }
.novain-features-mobile-products article small { color: var(--nvcol-2b580610b9,#087dff); font-size: 6px; white-space: nowrap; }

.novain-features-mobile-nav {
  height: 37px;
  color: var(--nvcol-2b580610b9,#087dff);
  font-size: 14px;
}

.novain-features-mobile-nav small { font-size: 6px; }

.novain-features-sale {
  right: 24px;
  bottom: 55px;
  min-width: 202px;
  padding: 13px 16px;
}

.novain-features-sale-icon { width: 70px; height: 70px; border-radius: 17px; font-size: 39px; }

.novain-features-card {
  width: 315px;
  min-height: 132px;
  padding: 20px 22px;
  border-radius: 18px;
}

.novain-features-card--right-1 { top: 0; right: 0; }
.novain-features-card--right-2 { top: 154px; right: 0; }
.novain-features-card--right-3 { top: 308px; right: 0; }
.novain-features-card--left-1 { top: 0; left: 0; }
.novain-features-card--left-2 { top: 154px; left: 0; }
.novain-features-card--left-3 { top: 308px; left: 0; }
.novain-features-card-icon { flex-basis: 63px; width: 63px; height: 63px; border-radius: 17px; }
.novain-features-card-icon svg { width: 33px; height: 33px; }
.novain-features-card b { font-size: 17px; }
.novain-features-card small { font-size: 12px !important; line-height: 1.75; }

.novain-features-slider-block {
  margin-top: 9px;
  padding: 11px 0 14px;
  border-radius: 22px;
  background: var(--nvcol-619c854359,#ffffff9f);
}

.novain-features-slider-viewport { padding: 0 30px; }
.novain-features-slider-card { flex-basis: calc((100% - 72px) / 7); min-height: 153px; }
.novain-features-slider-card > span { width: 49px; height: 49px; }
.novain-features-slider-card > span svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.novain-features-slider-card b { font-size: 14px; }
.novain-features-slider-card small { font-size: 11px !important; }

.novain-features-bottom-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  margin-top: 18px;
  direction: ltr;
}

.novain-features-note {
  position: relative;
  justify-self: start;
  width: 250px;
  color: var(--nvcol-2b580610b9,#087dff);
  direction: rtl;
  font-family: cursive;
  line-height: 1.4;
  text-align: right;
  transform: rotate(-5deg);
}

.novain-features-note span,
.novain-features-note b {
  display: block;
  font-size: 17px;
  font-weight: 700;
}

.novain-features-note b { font-size: 16px; }
.novain-features-note i { position: absolute; top: -8px; right: -24px; font-size: 42px; font-style: normal; transform: rotate(28deg); }

.novain-features-actions {
  margin-top: 0;
  direction: ltr;
  white-space: nowrap;
}

.novain-features-benefits {
  justify-content: flex-end;
  gap: 31px;
  margin-top: 0;
  direction: rtl;
  white-space: nowrap;
}

@media (max-width: 1200px) {
  .novain-features-section > .container { width: min(1180px, calc(100% - 36px)); }
  .novain-features-stage { right: 50%; width: min(650px, 55%); }
  .novain-features-card { width: 270px; }
  .novain-features-slider-card { flex-basis: calc((100% - 60px) / 6); }
}

@media (max-width: 900px) {
  .novain-features-section > .container { width: min(100% - 28px, 620px); }
  .novain-features-heading > p { white-space: normal; }
  .novain-features-showcase { min-height: 0; margin-top: 26px; }
  .novain-features-stage { top: auto; right: auto; width: 100%; height: 356px; }
  .novain-features-dashboard { top: 12px; width: 88%; height: 240px; border-width: 6px; }
  .novain-features-dashboard-top { height: 29px; gap: 7px; padding: 0 8px; font-size: 7px; }
  .novain-features-dashboard-brand { font-size: 9px; }
  .novain-features-dashboard-search { min-width: 0; padding: 4px 7px; }
  .novain-features-dashboard-search b { margin-inline-start: 7px; }
  .novain-features-avatar { width: 18px; height: 18px; }
  .novain-features-dashboard-body { grid-template-columns: 1fr 81px; height: calc(100% - 29px); }
  .novain-features-dashboard-side { gap: 1px; padding: 8px 4px; font-size: 6px; }
  .novain-features-dashboard-side strong { margin-bottom: 3px; font-size: 7px; }
  .novain-features-dashboard-side span { gap: 3px; padding: 4px 3px; }
  .novain-features-dashboard-side span i { width: 9px; }
  .novain-features-dashboard-main { padding: 9px 8px; }
  .novain-features-dashboard-title { margin-bottom: 7px; }
  .novain-features-dashboard-title b { font-size: 10px; }
  .novain-features-dashboard-title small { font-size: 6px; }
  .novain-features-kpis { gap: 4px; }
  .novain-features-kpis > span { min-height: 41px; padding: 5px; border-radius: 5px; }
  .novain-features-kpis i { top: 4px; left: 4px; width: 9px; height: 9px; border-radius: 3px; }
  .novain-features-kpis small { font-size: 5px; }
  .novain-features-kpis b { font-size: 9px; }
  .novain-features-kpis em { font-size: 5px; }
  .novain-features-chart { height: 130px; margin-top: 7px; padding: 7px; border-radius: 7px; }
  .novain-features-chart > div { font-size: 7px; }
  .novain-features-chart > div small { font-size: 5px; }
  .novain-features-chart > div small strong { font-size: 5px; }
  .novain-features-chart svg { height: 94px; }
  .novain-features-laptop-hinge { top: 247px; width: 72%; height: 7px; }
  .novain-features-laptop-base { bottom: 15px; height: 43px; }
  .novain-features-keyboard { top: 6px; height: 20px; }
  .novain-features-trackpad { bottom: 5px; height: 8px; }
  .novain-features-mobile { left: 3%; bottom: 4px; width: 121px; height: 245px; border-width: 6px; border-radius: 24px; }
  .novain-features-mobile::before { width: 45px; height: 10px; }
  .novain-features-mobile-top { height: 24px; padding: 0 6px; font-size: 6px; }
  .novain-features-mobile-top b { font-size: 7px; }
  .novain-features-mobile-storebar { height: 19px; padding: 0 6px; font-size: 5px; }
  .novain-features-mobile-storebar b { font-size: 6px; }
  .novain-features-mobile-categories { height: 20px; font-size: 5px; }
  .novain-features-mobile-categories span { padding: 1px 4px; }
  .novain-features-mobile-product { height: 96px; padding: 10px 6px 5px; }
  .novain-features-mobile-product::after { width: 76px; height: 76px; }
  .novain-features-mobile-product small { font-size: 5px; }
  .novain-features-mobile-product b { margin-top: 4px; font-size: 9px; }
  .novain-features-mobile-product > span { margin-top: 5px; padding: 2px 5px; font-size: 5px; }
  .novain-features-mobile-products { height: 60px; gap: 3px; padding: 3px; }
  .novain-features-mobile-products article { grid-template-columns: 25px 1fr; column-gap: 3px; padding: 2px; }
  .novain-features-mobile-product-image { width: 25px; height: 44px; }
  .novain-features-mobile-products article b { font-size: 5px; }
  .novain-features-mobile-products article small { font-size: 4px; }
  .novain-features-mobile-nav { height: 27px; font-size: 9px; }
  .novain-features-mobile-nav small { font-size: 4px; }
  .novain-features-sale { right: 1%; bottom: 23px; min-width: 145px; padding: 8px; gap: 5px; border-radius: 11px; }
  .novain-features-sale-icon { width: 38px; height: 38px; border-radius: 9px; font-size: 23px; }
  .novain-features-sale small { font-size: 7px !important; }
  .novain-features-sale b { font-size: 14px; }
  .novain-features-card { width: 100%; min-height: 108px; padding: 12px; }
  .novain-features-card-icon { flex-basis: 45px; width: 45px; height: 45px; border-radius: 12px; }
  .novain-features-card-icon svg { width: 25px; height: 25px; }
  .novain-features-card b { font-size: 13px; }
  .novain-features-card small { font-size: 9px !important; }
  .novain-features-slider-block { margin-top: 22px; }
  .novain-features-slider-viewport { padding: 0 40px; }
  .novain-features-slider-arrow { width: 36px; height: 36px; font-size: 26px; }
  .novain-features-slider-prev { left: 6px; }
  .novain-features-slider-next { right: 6px; }
  .novain-features-slider-card { flex-basis: 72%; min-height: 135px; }
  .novain-features-bottom-row { display: flex; flex-direction: column; gap: 16px; margin-top: 22px; }
  .novain-features-note { display: none; }
  .novain-features-actions { width: 100%; flex-direction: column; gap: 10px; }
  .novain-features-actions a { width: 100%; }
  .novain-features-benefits { flex-wrap: wrap; justify-content: center; gap: 13px 21px; white-space: normal; }
}

@media (max-width: 650px) {
  .novain-features-heading h2 { font-size: 29px; }
  .novain-features-heading > p { font-size: 14px !important; }
  .novain-features-showcase { gap: 10px; }
  .novain-features-stage { height: 314px; }
  .novain-features-dashboard { top: 14px; width: 89%; height: 207px; border-width: 5px; border-radius: 16px 16px 12px 12px; }
  .novain-features-dashboard-body { grid-template-columns: 1fr 70px; }
  .novain-features-dashboard-side { padding: 6px 3px; font-size: 5px; }
  .novain-features-dashboard-side strong { font-size: 6px; }
  .novain-features-dashboard-side span { padding: 3px 2px; }
  .novain-features-dashboard-main { padding: 7px 6px; }
  .novain-features-dashboard-title b { font-size: 8px; }
  .novain-features-dashboard-title small { font-size: 5px; }
  .novain-features-kpis > span { min-height: 34px; }
  .novain-features-kpis b { font-size: 8px; }
  .novain-features-chart { height: 112px; }
  .novain-features-chart svg { height: 78px; }
  .novain-features-laptop-hinge { top: 214px; }
  .novain-features-laptop-base { bottom: 14px; height: 36px; }
  .novain-features-keyboard { top: 5px; height: 16px; }
  .novain-features-trackpad { bottom: 4px; height: 6px; }
  .novain-features-mobile { left: 1%; bottom: 4px; width: 98px; height: 202px; border-width: 5px; border-radius: 19px; }
  .novain-features-mobile::before { width: 37px; height: 8px; }
  .novain-features-mobile-top { height: 20px; }
  .novain-features-mobile-storebar { height: 16px; }
  .novain-features-mobile-categories { height: 17px; }
  .novain-features-mobile-product { height: 80px; padding: 8px 5px 4px; }
  .novain-features-mobile-product::after { width: 62px; height: 62px; }
  .novain-features-mobile-product b { font-size: 8px; }
  .novain-features-mobile-products { height: 49px; }
  .novain-features-mobile-product-image { width: 21px; height: 37px; }
  .novain-features-mobile-products article { grid-template-columns: 21px 1fr; }
  .novain-features-mobile-nav { height: 22px; font-size: 8px; }
  .novain-features-sale { min-width: 120px; bottom: 17px; padding: 6px; }
  .novain-features-sale-icon { width: 30px; height: 30px; font-size: 19px; }
  .novain-features-card { min-height: 101px; padding: 9px; gap: 6px; }
  .novain-features-card-icon { flex-basis: 36px; width: 36px; height: 36px; }
  .novain-features-card-icon svg { width: 20px; height: 20px; }
  .novain-features-card b { font-size: 10px; }
  .novain-features-card small { font-size: 7px !important; }
  .novain-features-slider-card { flex-basis: 72%; min-height: 128px; }
  .novain-features-slider-card > span svg { width: 25px; height: 25px; }
}

/* Final fit pass: keep the existing Showcase markup, but match the reference viewport density. */
.novain-features-section {
  padding: 10px 0 14px;
}

.novain-features-section > .container {
  width: min(1430px, calc(100% - 36px));
}

.novain-features-heading {
  max-width: 820px;
}

.novain-features-eyebrow {
  gap: 6px;
  padding: 6px 15px;
  font-size: 12px !important;
}

.novain-features-eyebrow b { font-size: 18px; }

.novain-features-heading h2 {
  margin: 8px 0 5px;
  font-size: clamp(38px, 3vw, 50px);
  line-height: 1.28;
}

.novain-features-heading > p {
  max-width: 720px;
  font-size: 14px !important;
  line-height: 1.6;
  white-space: nowrap;
}

.novain-features-showcase {
  min-height: 390px;
  margin: 14px auto 0;
}

.novain-features-stage {
  top: 4px;
  right: calc(50% - 26px);
  width: min(660px, 46.2%);
  height: 390px;
}

.novain-features-dashboard {
  top: 7px;
  width: 88%;
  height: 328px;
  border-width: 7px;
  border-radius: 20px 20px 14px 14px;
}

.novain-features-dashboard-top {
  height: 32px;
  gap: 9px;
  padding: 0 10px;
  font-size: 8px;
}

.novain-features-dashboard-brand { font-size: 10px; }
.novain-features-dashboard-search { min-width: 140px; padding: 5px 10px; }
.novain-features-dashboard-search b { margin-inline-start: 11px; font-size: 13px; }
.novain-features-avatar { width: 20px; height: 20px; }

.novain-features-dashboard-body {
  grid-template-columns: 105px 1fr;
  height: calc(100% - 32px);
}

.novain-features-dashboard-side {
  gap: 2px;
  padding: 10px 6px;
  font-size: 7px;
}

.novain-features-dashboard-side strong {
  margin-bottom: 4px;
  font-size: 8px;
}

.novain-features-dashboard-side span {
  gap: 4px;
  padding: 5px 4px;
}

.novain-features-dashboard-side span i { width: 10px; }

.novain-features-dashboard-main { padding: 13px 12px; }
.novain-features-dashboard-title { margin-bottom: 8px; }
.novain-features-dashboard-title b { font-size: 12px; }
.novain-features-dashboard-title small { font-size: 7px; }
.novain-features-kpis { gap: 6px; }

.novain-features-kpis > span {
  min-height: 50px;
  padding: 7px;
}

.novain-features-kpis i { top: 6px; left: 6px; width: 13px; height: 13px; }
.novain-features-kpis small { font-size: 6px; }
.novain-features-kpis b { font-size: 12px; }
.novain-features-kpis em { font-size: 6px; }

.novain-features-chart {
  height: 150px;
  margin-top: 9px;
  padding: 10px;
}

.novain-features-chart > div { font-size: 9px; }
.novain-features-chart > div small { font-size: 7px; }
.novain-features-chart svg { height: 108px; }

.novain-features-laptop-hinge {
  top: 334px;
  width: 72%;
  height: 8px;
}

.novain-features-laptop-base {
  bottom: 6px;
  height: 47px;
}

.novain-features-keyboard { top: 6px; height: 20px; }
.novain-features-trackpad { bottom: 5px; height: 8px; }

.novain-features-mobile {
  left: -17px;
  right: auto;
  bottom: 9px;
  width: 145px;
  height: 275px;
  border-width: 6px;
  border-radius: 24px;
}

.novain-features-mobile::before { width: 48px; height: 11px; }
.novain-features-mobile-top { height: 25px; padding: 0 7px; font-size: 7px; }
.novain-features-mobile-top b { font-size: 8px; }
.novain-features-mobile-storebar { height: 20px; padding: 0 7px; font-size: 6px; }
.novain-features-mobile-storebar b { font-size: 7px; }
.novain-features-mobile-categories { height: 20px; font-size: 6px; }
.novain-features-mobile-categories span { padding: 1px 4px; }

.novain-features-mobile-product {
  height: 103px;
  padding: 10px 7px 4px;
}

.novain-features-mobile-product small { font-size: 6px; }
.novain-features-mobile-product b { margin-top: 4px; font-size: 10px; }
.novain-features-mobile-product > span { margin-top: 5px; padding: 2px 5px; font-size: 6px; }
.novain-features-product-shape { width: 54px; height: 54px; margin-top: 5px; }

.novain-features-mobile-products {
  height: 56px;
  gap: 4px;
  padding: 4px;
}

.novain-features-mobile-products article {
  grid-template-columns: 29px 1fr;
  column-gap: 4px;
  padding: 2px;
}

.novain-features-mobile-product-image { width: 29px; height: 46px; }
.novain-features-mobile-products article b { font-size: 6px; }
.novain-features-mobile-products article small { font-size: 5px; }
.novain-features-mobile-nav { height: 27px; font-size: 10px; }
.novain-features-mobile-nav small { font-size: 5px; }

.novain-features-sale {
  right: 10px;
  bottom: 32px;
  min-width: 145px;
  padding: 8px 10px;
  gap: 7px;
}

.novain-features-sale-icon { width: 42px; height: 42px; font-size: 25px; }
.novain-features-sale small { font-size: 8px !important; }
.novain-features-sale b { font-size: 17px; }

.novain-features-card {
  width: 265px;
  min-height: 100px;
  padding: 14px 15px;
  border-radius: 16px;
}

.novain-features-card--right-1,
.novain-features-card--left-1 { top: 0; }
.novain-features-card--right-2,
.novain-features-card--left-2 { top: 116px; }
.novain-features-card--right-3,
.novain-features-card--left-3 { top: 232px; }
.novain-features-card-icon { flex-basis: 47px; width: 47px; height: 47px; border-radius: 14px; }
.novain-features-card-icon svg { width: 27px; height: 27px; }
.novain-features-card b { font-size: 13px; }
.novain-features-card small { font-size: 10px !important; line-height: 1.6; }

.novain-features-slider-block {
  margin-top: 5px;
  padding: 8px 0 10px;
  border-radius: 18px;
  overflow: hidden;
}

.novain-features-slider-viewport { padding: 0 26px; }
.novain-features-slider-card { flex-basis: calc((100% - 72px) / 7); min-height: 137px; padding: 12px 9px; gap: 6px; }
.novain-features-slider-card > span { width: 45px; height: 45px; }
.novain-features-slider-card > span svg { width: 27px; height: 27px; }
.novain-features-slider-card b { font-size: 13px; }
.novain-features-slider-card small { font-size: 10px !important; }
.novain-features-slider-pagination { gap: 7px; margin-top: 8px; }

.novain-features-bottom-row {
  gap: 18px;
  margin-top: 10px;
}

.novain-features-note { width: 210px; }
.novain-features-note span { font-size: 14px; }
.novain-features-note b { font-size: 13px; }
.novain-features-note i { top: -7px; right: -20px; font-size: 34px; }
.novain-features-actions { gap: 12px; }
.novain-features-actions a { min-width: 174px; min-height: 44px; padding: 0 16px; font-size: 13px !important; }
.novain-features-benefits { gap: 22px; font-size: 11px; }
.novain-features-benefits b { width: 24px; height: 24px; font-size: 14px; }

@media (max-width: 1200px) and (min-width: 901px) {
  .novain-features-section > .container { width: min(1160px, calc(100% - 36px)); }
  .novain-features-stage { right: 50%; width: min(610px, 50%); }
  .novain-features-card { width: 250px; }
  .novain-features-slider-card { flex-basis: calc((100% - 60px) / 6); }
}

@media (max-width: 900px) {
  .novain-features-section { padding: 30px 0 28px; }
  .novain-features-section > .container { width: min(100% - 28px, 620px); }
  .novain-features-heading h2 { margin-top: 9px; font-size: clamp(30px, 6vw, 42px); line-height: 1.35; }
  .novain-features-heading > p { font-size: 13px !important; line-height: 1.7; white-space: normal; }
  .novain-features-showcase { gap: 10px; margin-top: 17px; }
  .novain-features-stage { height: 270px; }
  .novain-features-dashboard { top: 8px; width: 90%; height: 205px; border-width: 5px; border-radius: 17px 17px 12px 12px; }
  .novain-features-dashboard-top { height: 27px; gap: 6px; padding: 0 7px; font-size: 6px; }
  .novain-features-dashboard-brand { font-size: 8px; }
  .novain-features-dashboard-search { min-width: 0; padding: 4px 6px; }
  .novain-features-dashboard-search b { margin-inline-start: 5px; font-size: 10px; }
  .novain-features-avatar { width: 16px; height: 16px; }
  .novain-features-dashboard-body { grid-template-columns: 74px 1fr; height: calc(100% - 27px); }
  .novain-features-dashboard-side { gap: 1px; padding: 7px 4px; font-size: 5px; }
  .novain-features-dashboard-side strong { margin-bottom: 3px; font-size: 6px; }
  .novain-features-dashboard-side span { padding: 3px 2px; }
  .novain-features-dashboard-side span i { width: 8px; }
  .novain-features-dashboard-main { padding: 8px 7px; }
  .novain-features-dashboard-title { margin-bottom: 5px; }
  .novain-features-dashboard-title b { font-size: 9px; }
  .novain-features-dashboard-title small { font-size: 5px; }
  .novain-features-kpis { gap: 3px; }
  .novain-features-kpis > span { min-height: 34px; padding: 4px; border-radius: 5px; }
  .novain-features-kpis i { top: 3px; left: 3px; width: 8px; height: 8px; border-radius: 3px; }
  .novain-features-kpis small { font-size: 4px; }
  .novain-features-kpis b { font-size: 8px; }
  .novain-features-kpis em { font-size: 4px; }
  .novain-features-chart { height: 92px; margin-top: 5px; padding: 6px; border-radius: 6px; }
  .novain-features-chart > div { font-size: 6px; }
  .novain-features-chart > div small { font-size: 4px; }
  .novain-features-chart svg { height: 68px; }
  .novain-features-laptop-hinge { top: 211px; width: 72%; height: 6px; }
  .novain-features-laptop-base { bottom: 4px; height: 35px; }
  .novain-features-keyboard { top: 4px; height: 15px; }
  .novain-features-trackpad { bottom: 4px; height: 6px; }
  .novain-features-mobile { left: 2%; bottom: 5px; width: 105px; height: 214px; border-width: 5px; border-radius: 20px; }
  .novain-features-mobile::before { width: 40px; height: 9px; }
  .novain-features-mobile-top { height: 22px; padding: 0 5px; font-size: 6px; }
  .novain-features-mobile-top b { font-size: 7px; }
  .novain-features-mobile-storebar { height: 17px; padding: 0 5px; font-size: 5px; }
  .novain-features-mobile-storebar b { font-size: 6px; }
  .novain-features-mobile-categories { height: 18px; font-size: 5px; }
  .novain-features-mobile-product { height: 76px; padding: 7px 5px 3px; }
  .novain-features-mobile-product small { font-size: 4px; }
  .novain-features-mobile-product b { margin-top: 3px; font-size: 8px; }
  .novain-features-mobile-product > span { margin-top: 3px; padding: 2px 4px; font-size: 4px; }
  .novain-features-product-shape { width: 43px; height: 43px; margin-top: 3px; }
  .novain-features-mobile-products { height: 40px; gap: 3px; padding: 3px; }
  .novain-features-mobile-products article { grid-template-columns: 22px 1fr; column-gap: 3px; }
  .novain-features-mobile-product-image { width: 22px; height: 33px; }
  .novain-features-mobile-products article b { font-size: 4px; }
  .novain-features-mobile-products article small { font-size: 3px; }
  .novain-features-mobile-nav { height: 22px; font-size: 8px; }
  .novain-features-mobile-nav small { font-size: 4px; }
  .novain-features-sale { right: 1%; bottom: 21px; min-width: 128px; padding: 6px 7px; gap: 5px; border-radius: 10px; }
  .novain-features-sale-icon { width: 33px; height: 33px; font-size: 20px; }
  .novain-features-sale small { font-size: 6px !important; }
  .novain-features-sale b { font-size: 13px; }
  .novain-features-card { width: 100%; min-height: 86px; padding: 10px; border-radius: 13px; }
  .novain-features-card-icon { flex-basis: 40px; width: 40px; height: 40px; border-radius: 11px; }
  .novain-features-card-icon svg { width: 22px; height: 22px; }
  .novain-features-card b { font-size: 11px; }
  .novain-features-card small { font-size: 8px !important; line-height: 1.5; }
  .novain-features-slider-block { margin-top: 4px; padding: 7px 0 9px; }
  .novain-features-slider-viewport { padding: 0 34px; }
  .novain-features-slider-arrow { width: 34px; height: 34px; font-size: 25px; }
  .novain-features-slider-prev { left: 5px; }
  .novain-features-slider-next { right: 5px; }
  .novain-features-slider-card { flex-basis: 76%; min-height: 130px; }
  .novain-features-bottom-row { gap: 13px; margin-top: 13px; }
  .novain-features-note { display: none; }
  .novain-features-actions { width: 100%; flex-direction: column; gap: 8px; }
  .novain-features-actions a { width: 100%; min-height: 44px; }
  .novain-features-benefits { flex-wrap: wrap; justify-content: center; gap: 10px 17px; margin-top: 4px; white-space: normal; }
}

@media (max-width: 650px) {
  .novain-features-section { padding: 24px 0 24px; }
  .novain-features-heading h2 { font-size: 28px; line-height: 1.4; }
  .novain-features-heading > p { font-size: 12px !important; }
  .novain-features-stage { height: 258px; }
  .novain-features-dashboard { top: 7px; width: 91%; height: 172px; border-width: 4px; }
  .novain-features-dashboard-top { height: 23px; }
  .novain-features-dashboard-body { grid-template-columns: 64px 1fr; height: calc(100% - 23px); }
  .novain-features-dashboard-side { padding: 5px 3px; font-size: 4px; }
  .novain-features-dashboard-side strong { font-size: 5px; }
  .novain-features-dashboard-side span { padding: 2px 1px; }
  .novain-features-dashboard-main { padding: 6px 5px; }
  .novain-features-dashboard-title b { font-size: 7px; }
  .novain-features-dashboard-title small { font-size: 4px; }
  .novain-features-kpis > span { min-height: 28px; padding: 3px; }
  .novain-features-kpis b { font-size: 7px; }
  .novain-features-chart { height: 77px; margin-top: 4px; padding: 5px; }
  .novain-features-chart svg { height: 55px; }
  .novain-features-laptop-hinge { top: 178px; }
  .novain-features-laptop-base { bottom: 3px; height: 30px; }
  .novain-features-keyboard { height: 12px; }
  .novain-features-trackpad { height: 5px; }
  .novain-features-mobile { left: 1%; bottom: 4px; width: 88px; height: 180px; border-width: 4px; border-radius: 17px; }
  .novain-features-mobile::before { width: 34px; height: 7px; }
  .novain-features-mobile-top { height: 19px; }
  .novain-features-mobile-storebar { height: 14px; }
  .novain-features-mobile-categories { height: 15px; }
  .novain-features-mobile-product { height: 64px; }
  .novain-features-mobile-product b { font-size: 7px; }
  .novain-features-product-shape { width: 35px; height: 35px; }
  .novain-features-mobile-products { height: 34px; }
  .novain-features-mobile-product-image { width: 18px; height: 28px; }
  .novain-features-mobile-nav { height: 19px; font-size: 7px; }
  .novain-features-card { min-height: 82px; padding: 8px; }
  .novain-features-card-icon { flex-basis: 34px; width: 34px; height: 34px; }
  .novain-features-card-icon svg { width: 19px; height: 19px; }
  .novain-features-card b { font-size: 10px; }
  .novain-features-card small { font-size: 7px !important; }
  .novain-features-slider-card { flex-basis: 78%; min-height: 126px; }
}

/* Reference fidelity pass: typography, sampled light-blue background, and the extracted device group. */
.novain-features-section {
  padding: 8px 0 12px;
  background:
    radial-gradient(circle at 13% 22%, rgba(183, 224, 255, .34) 0, rgba(211, 238, 255, .18) 10%, transparent 23%),
    radial-gradient(circle at 87% 24%, rgba(205, 231, 255, .28) 0, transparent 21%),
    radial-gradient(ellipse at 50% 60%, rgba(213, 237, 255, .36) 0, transparent 38%),
    linear-gradient(180deg, var(--nvcol-ba1cda988a,#f1f7fd) 0%, var(--nvcol-d9171aee18,#f6fbff) 26%, var(--nvcol-a428e58389,#edf6fd) 64%, var(--nvcol-1060b5f556,#f8fbfd) 100%);
}

.novain-features-section::before,
.novain-features-section::after {
  width: 168px;
  height: 168px;
  background: rgba(185, 224, 255, .23);
  filter: blur(3px);
}

.novain-features-section::before { top: 112px; left: 2.5%; }
.novain-features-section::after { top: 150px; right: 3%; opacity: .48; }

.novain-features-heading h2 {
  margin: 6px 0 3px;
  color: var(--nvcol-a9d15c6e9c,#071735);
  font-family: "Estedad", Vazirmatn, Tahoma, Arial, sans-serif !important;
  font-size: clamp(38px, 3vw, 50px);
  font-weight: 900 !important;
  line-height: 1.24;
  letter-spacing: -.65px;
}

.novain-features-heading h2 strong {
  color: var(--nvcol-2b580610b9,#087dff);
  font-family: inherit;
  font-weight: inherit;
}

.novain-features-eyebrow {
  padding: 5px 14px;
  color: var(--nvcol-2b580610b9,#087dff);
  font-size: 12px !important;
  font-weight: 800;
}

.novain-features-heading > p {
  color: var(--nvcol-2f2fefc937,#536783);
  font-size: 15px !important;
  font-weight: 500;
  line-height: 1.45;
}

.novain-features-showcase { margin-top: 11px; }

/* The screenshot-derived group replaces only the CSS-built laptop/phone visuals. */
.novain-features-laptop {
  background: url("../novain-showcase-device-reference.webp") center top / auto 100% no-repeat;
  filter: drop-shadow(0 16px 19px rgba(21, 75, 126, .18));
}

.novain-features-dashboard,
.novain-features-laptop-hinge,
.novain-features-laptop-base,
.novain-features-mobile {
  display: none !important;
}

.novain-features-sale {
  right: 0;
  bottom: 28px;
  width: 198px;
  min-width: 198px;
  min-height: 86px;
  padding: 10px 13px;
  border-radius: 16px;
}

.novain-features-sale-icon { width: 52px; height: 52px; font-size: 30px; }
.novain-features-sale small { color: var(--nvcol-cf28f1aac9,#18345d); font-size: 10px !important; font-weight: 700; }
.novain-features-sale b { font-size: 20px; font-weight: 900; }

.novain-features-card {
  min-height: 100px;
  padding: 13px 14px;
}

.novain-features-card b {
  color: var(--nvcol-c42afdd13f,#091b3a);
  font-family: "Estedad", Vazirmatn, Tahoma, Arial, sans-serif !important;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
}

.novain-features-card small {
  color: var(--nvcol-58faf4ef0b,#51647e);
  font-size: 11px !important;
  font-weight: 600;
  line-height: 1.55;
}

.novain-features-slider-block {
  margin-top: 3px;
  padding: 7px 0 8px;
}

.novain-features-slider-card {
  min-height: 136px;
  padding: 10px 9px;
  gap: 5px;
}

.novain-features-slider-card b {
  color: var(--nvcol-ad4ac62e9e,#0a1c3b);
  font-family: "Estedad", Vazirmatn, Tahoma, Arial, sans-serif !important;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
}

.novain-features-slider-card small {
  color: var(--nvcol-53e6a780af,#566a84);
  font-size: 10.5px !important;
  font-weight: 600;
  line-height: 1.5;
}

.novain-features-slider-pagination { margin-top: 6px; }

.novain-features-bottom-row {
  margin-top: 7px;
  gap: 15px;
}

.novain-features-actions a {
  font-family: "Estedad", Vazirmatn, Tahoma, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800;
}

.novain-features-benefits {
  margin-top: 6px;
  color: var(--nvcol-4ac0524b2f,#40587a);
  font-size: 12px;
  font-weight: 700;
}

.novain-features-benefits span { font-weight: 700; }

@media (max-width: 900px) {
  .novain-features-laptop {
    background-size: auto 100%;
  }

  .novain-features-sale {
    right: 1%;
    bottom: 18px;
    width: 128px;
    min-width: 128px;
    min-height: 58px;
    padding: 6px 7px;
  }

  .novain-features-sale-icon { width: 33px; height: 33px; font-size: 20px; }
  .novain-features-sale b { font-size: 13px; }
  .novain-features-card b { font-size: 11px; }
  .novain-features-card small { font-size: 8px !important; font-weight: 600; }
  .novain-features-slider-card b { font-size: 12px; }
  .novain-features-slider-card small { font-size: 9px !important; }
}

/* Final Hero asset fit: preserve the supplied artwork and reserve its exact ratio. */
@media (min-width: 901px) {
  .novain-hero-track,
  .novain-hero-inner { min-height: 620px; }

  .novain-hero-inner {
    width: min(1280px, calc(100% - 48px));
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    gap: 18px;
  }

  .novain-hero-visual {
    width: 100%;
    min-height: 0;
    height: auto;
    aspect-ratio: 1415 / 1111;
    align-self: center;
    justify-content: center;
  }

  .novain-hero-visual::before {
    inset: 12% 2% 8% 2%;
    opacity: .45;
  }

  .novain-hero-visual img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
    object-position: center;
    border-radius: 20px;
    filter: drop-shadow(0 18px 28px var(--nvcol-c179b89364,#00000055));
  }

  .novain-hero-slide {
    transition: opacity .72s ease, transform .72s ease, visibility .72s ease;
  }
}

/* Mobile-only features mockup fit and readable card typography. */
@media (max-width: 900px) {
  .novain-features-stage {
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: 800 / 480;
    overflow: visible;
  }

  .novain-features-laptop {
    width: 100%;
    max-width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: 800 / 480;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
  }

  .novain-features-card > span:last-child {
    min-width: 0;
  }

  .novain-features-card b {
    color: var(--nvcol-c42afdd13f,#091b3a);
    font-size: 17px !important;
    font-weight: 800;
    line-height: 1.35;
  }

  .novain-features-card small {
    color: var(--nvcol-0d0e3e7478,#3f526d);
    font-size: 14px !important;
    font-weight: 600;
    line-height: 1.7;
  }
}

@media (max-width: 650px) {
  .novain-features-card {
    min-height: 148px;
    padding: 12px 10px;
    gap: 8px;
  }
}

/* Template gallery previews: scoped to templates.html cards only. */
.template-gallery .template-card {
  overflow: hidden;
}

.template-gallery .template-card .project-art {
  position: relative;
  display: block;
  height: 280px;
  padding: 0;
  overflow: hidden;
  background: var(--nvcol-812cfa42f1,#071a39);
}

.template-gallery .template-preview {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.template-gallery .template-preview img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 100%;
  object-fit: contain;
  object-position: top center;
}

.template-gallery .template-preview span {
  position: absolute;
  right: 14px;
  bottom: 14px;
  padding: 6px 10px;
  border: 1px solid var(--nvcol-83a8ec07d0,#ffffff55);
  border-radius: 9px;
  color: var(--nvcol-f2074b6cef,#ffffff);
  background: var(--nvcol-7804e26fc9,#061a3dcc);
  font-size: 11px;
  font-weight: 800;
  box-shadow: 0 8px 20px var(--nvcol-c179b89364,#00000055);
}

.template-gallery .template-card .project-body h3 {
  color: var(--ink);
}

@media (max-width: 650px) {
  .template-gallery .template-card .project-art {
    height: 235px;
  }

  .template-gallery .template-preview span {
    right: 10px;
    bottom: 10px;
    font-size: 10px;
  }
}

/* Exact desktop Hero proportions: 60% visual / 40% copy. Mobile remains unchanged. */
@media (min-width: 901px) {
  .novain-hero-inner {
    direction: ltr !important;
    grid-template-columns: 60% 40% !important;
    grid-template-areas: "hero-visual hero-copy" !important;
    gap: 0 !important;
  }

  .novain-hero-visual {
    grid-area: hero-visual !important;
    width: 100%;
    min-width: 0;
    height: auto;
    aspect-ratio: 1415 / 1111;
  }

  .novain-hero-visual img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain;
  }

  .novain-hero-copy {
    grid-area: hero-copy !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 26px 22px !important;
  }

  .novain-hero-copy h1 {
    max-width: 100%;
    margin: 10px 0 12px;
    font-size: clamp(30px, 3vw, 46px) !important;
    line-height: 1.28;
  }

  .novain-hero-copy p,
  .novain-hero-actions,
  .novain-hero-features {
    max-width: 100%;
  }
}

/* Mobile Hero: the artwork is full-width and determines its own height before the copy. */
@media (max-width: 650px) {
  .novain-hero-track {
    min-height: calc((100vw - 28px) * .78516 + 480px);
  }

  .novain-hero-slide:not(.is-active) {
    position: absolute;
    inset: 0;
  }

  .novain-hero-slide.is-active {
    position: relative;
    inset: auto;
  }

  .novain-hero-inner {
    width: min(100% - 28px, 600px);
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .novain-hero-visual {
    order: -1;
    width: 100%;
    min-height: 0;
    height: auto;
    aspect-ratio: 1415 / 1111;
    margin: 0;
    padding: 14px 0 0;
    justify-content: center;
  }

  .novain-hero-visual::before {
    inset: 12% 0 5%;
    opacity: .32;
  }

  .novain-hero-visual img {
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: none;
    object-fit: contain;
    object-position: center;
    border-radius: 18px;
    filter: drop-shadow(0 12px 20px var(--nvcol-c179b89364,#00000055));
  }

  .novain-hero-copy {
    order: 0;
    padding: 16px 0 28px;
  }

  .novain-hero-slide {
    transition: opacity .72s ease, transform .72s ease, visibility .72s ease;
  }
}
