:root {
  --ink: #17202a;
  --muted: #5a6472;
  --line: #d8dee8;
  --paper: #ffffff;
  --soft: #f4f7fa;
  --blue: #145b91;
  --blue-dark: #0e4168;
  --blue-soft: #e6f2fb;
  --teal: #13a6b2;
  --red: #d7343f;
  --green: #2a8f5f;
  --amber: #f2b84b;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--soft);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
}
a { color: inherit; text-decoration: none; }

.site-header {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  min-height: 72px;
  padding: 14px clamp(18px, 4vw, 56px);
  position: sticky;
  top: 0;
  z-index: 20;
}
.brand { align-items: center; display: flex; gap: 12px; }
.brand-logo {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: block;
  height: 52px;
  object-fit: contain;
  padding: 4px 6px;
  width: 106px;
}
.brand-mark {
  align-items: center;
  background: conic-gradient(from 30deg, var(--red), var(--teal), var(--green), var(--red));
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-weight: 800;
  height: 42px;
  justify-content: center;
  width: 42px;
}
.brand strong, .brand small { display: block; }
.brand small { color: var(--muted); font-size: 12px; margin-top: 2px; }
nav { display: flex; gap: 18px; color: var(--muted); font-size: 14px; }
nav a:hover { color: var(--blue); }

.hero {
  background:
    linear-gradient(135deg, rgba(20, 91, 145, 0.08), rgba(19, 166, 178, 0.04) 42%, rgba(255, 255, 255, 0) 68%);
  display: grid;
  gap: 36px;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
  min-height: min(760px, calc(100vh - 72px));
  padding: clamp(52px, 8vw, 96px) clamp(18px, 5vw, 76px);
}
.hero-copy { align-self: center; max-width: 780px; }
.eyebrow {
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  margin: 0 0 14px;
  text-transform: uppercase;
}
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(42px, 7vw, 76px); line-height: 0.96; margin-bottom: 24px; }
h2 { font-size: clamp(30px, 4vw, 48px); line-height: 1.05; margin-bottom: 0; }
h3 { font-size: 28px; margin-bottom: 6px; }
.lead { color: var(--muted); font-size: clamp(18px, 2vw, 22px); line-height: 1.55; max-width: 680px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}
.hero-proof span {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--blue-dark);
  font-size: 14px;
  font-weight: 800;
  padding: 10px 14px;
}
.primary-button, .secondary-button, .buy-button {
  align-items: center;
  border-radius: 8px;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
}
.primary-button, .buy-button { background: var(--blue); color: #fff; }
.primary-button:hover, .buy-button:hover { background: var(--blue-dark); }
.secondary-button { background: #fff; border: 1px solid var(--line); color: var(--blue-dark); }
.hero-panel {
  align-self: center;
  background: transparent;
  border: 0;
  border-radius: 8px;
  display: grid;
  gap: 16px;
}
.screen-stack {
  align-items: end;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 440px;
}
.screen-stack img {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 24px 60px rgba(23, 32, 42, 0.18);
  display: block;
  height: 440px;
  object-fit: cover;
  object-position: top;
  width: 100%;
}
.screen-stack img:first-child {
  transform: translateX(18px) rotate(-2deg);
  z-index: 2;
}
.screen-stack img:last-child {
  transform: translateX(-18px) translateY(34px) rotate(2deg);
  z-index: 1;
}
.hero-panel-summary {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(23, 32, 42, 0.12);
  padding: 22px;
}
.hero-panel-summary span, .hero-panel-summary small { color: var(--muted); display: block; }
.hero-panel-summary strong { display: block; font-size: 28px; margin: 8px 0; }

.product-band, .value-band, .time-band, .demo-band, .training-band, .license-band, .setup-band { padding: clamp(48px, 7vw, 82px) clamp(18px, 5vw, 76px); }
.product-band { background: #fff; }
.section-heading { max-width: 760px; margin-bottom: 28px; }
.value-band { background: #fff; border-top: 1px solid var(--line); }
.value-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.value-grid article {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 24px;
}
.value-grid span {
  color: var(--teal);
  display: block;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 16px;
}
.value-grid h3 { font-size: 22px; line-height: 1.15; }
.value-grid p { color: var(--muted); line-height: 1.55; margin-bottom: 0; }
.product-grid { display: grid; gap: 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.product { border: 1px solid var(--line); border-radius: 8px; padding: clamp(22px, 4vw, 34px); }
.product.rite { border-top: 5px solid var(--teal); }
.product.electric { border-top: 5px solid var(--red); }
.product-top { align-items: center; display: flex; gap: 16px; }
.product-top img { border-radius: 8px; height: 72px; width: 72px; }
.product-top p, .product-description, .price span, .setup-band p, .step p, footer { color: var(--muted); }
.product-description { font-size: 17px; line-height: 1.55; margin: 22px 0; }
.feature-list {
  color: var(--muted);
  line-height: 1.5;
  margin: 0 0 22px;
  padding-left: 20px;
}
.feature-list li { margin-bottom: 8px; }
.price { align-items: baseline; display: flex; gap: 8px; margin-bottom: 16px; }
.price strong { font-size: 30px; }
.buy-button { width: 100%; }
.buy-button.compact { margin-top: 12px; width: auto; }
.delivery-note {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
  margin: 12px 0 0;
}

.time-band {
  background: var(--blue-dark);
  color: #fff;
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(0, 0.78fr) minmax(320px, 1.22fr);
}
.time-band .eyebrow { color: #8fe8ef; }
.time-copy p { color: #d8e7f1; font-size: 18px; line-height: 1.65; }
.comparison {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.comparison div {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  padding: 24px;
}
.comparison div:last-child {
  background: #fff;
  color: var(--ink);
}
.comparison h3 { font-size: 24px; }
.comparison ul { line-height: 1.55; margin: 0; padding-left: 20px; }
.comparison li { margin-bottom: 10px; }
.comparison div:first-child li { color: #d8e7f1; }
.comparison div:last-child li { color: var(--muted); }

.demo-band { background: #fff; }
.demo-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.demo-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(160px, 0.42fr) minmax(0, 0.58fr);
  overflow: hidden;
  padding: 18px;
}
.demo-card > img {
  border: 1px solid var(--line);
  border-radius: 8px;
  height: 320px;
  object-fit: cover;
  object-position: top;
  width: 100%;
}
.demo-card h3 { font-size: 26px; }
.demo-card p { color: var(--muted); line-height: 1.55; }
.demo-icon {
  border-radius: 8px;
  height: 54px;
  margin-bottom: 16px;
  width: 54px;
}

.showcase-band {
  background: #f9fbfd;
  padding: clamp(48px, 7vw, 82px) clamp(18px, 5vw, 76px);
}
.showcase-grid { display: grid; gap: 22px; }
.showcase {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.55fr);
  overflow: hidden;
  padding: clamp(22px, 4vw, 34px);
}
.showcase:nth-child(even) {
  grid-template-columns: minmax(260px, 0.55fr) minmax(0, 1.1fr);
}
.showcase:nth-child(even) .showcase-copy { order: 2; }
.showcase-copy { align-items: flex-start; display: flex; gap: 18px; }
.showcase-copy > img { border-radius: 8px; height: 64px; width: 64px; }
.showcase-copy p, .showcase-copy li { color: var(--muted); line-height: 1.55; }
.showcase-copy ul { margin: 0; padding-left: 20px; }
.function-groups {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 20px 0 8px;
}
.function-groups div {
  background: #f7f9fc;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 18px;
}
.function-groups h4 {
  color: var(--blue-dark);
  font-size: 17px;
  margin: 0 0 10px;
}
.function-groups li {
  font-size: 14px;
  margin-bottom: 7px;
}
.screen {
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 18px 40px rgba(23, 32, 42, 0.14);
  display: block;
  max-height: 620px;
  object-fit: cover;
  object-position: top;
  width: 100%;
}

.training-band {
  background: #fff;
  border-top: 1px solid var(--line);
}
.training-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.training-grid article {
  background: #f7f9fc;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 24px;
}
.training-grid h3 {
  color: var(--blue-dark);
  font-size: 24px;
  line-height: 1.15;
}
.training-grid p, .training-grid li {
  color: var(--muted);
  line-height: 1.58;
}
.training-grid ul {
  margin: 18px 0 0;
  padding-left: 20px;
}
.training-grid li { margin-bottom: 8px; }
.training-cta {
  background: var(--blue-dark) !important;
  color: #fff;
}
.training-cta h3 { color: #fff; }
.training-cta p { color: #d8e7f1; }
.training-cta .buy-button { background: #fff; color: var(--blue-dark); }

.license-band { background: #eef3f7; }
.steps { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.step { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 22px; }
.step span {
  align-items: center;
  background: var(--green);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-weight: 800;
  height: 34px;
  justify-content: center;
  margin-bottom: 14px;
  width: 34px;
}
.setup-band {
  align-items: center;
  background: var(--ink);
  color: #fff;
  display: flex;
  gap: 24px;
  justify-content: space-between;
}
.setup-band .eyebrow { color: #7fd4da; }
.setup-band p { color: #d8dee8; line-height: 1.6; max-width: 720px; }
.setup-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
footer {
  align-items: center;
  background: #fff;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  justify-content: space-between;
  padding: 22px clamp(18px, 5vw, 76px);
}
footer a { color: var(--blue); font-weight: 800; }

.thanks-page { align-items: center; display: flex; min-height: 100vh; padding: clamp(22px, 5vw, 76px); }
.thanks-box {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 24px 60px rgba(23, 32, 42, 0.12);
  max-width: 720px;
  padding: clamp(28px, 5vw, 54px);
}
.thanks-box h1 { font-size: clamp(36px, 5vw, 58px); }
.thanks-box p { color: var(--muted); font-size: 18px; line-height: 1.6; }

.demo-page { background: #edf2f7; }
.demo-shell { padding: clamp(28px, 5vw, 72px) clamp(18px, 5vw, 76px); }
.demo-hero {
  align-items: end;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 28px;
}
.demo-hero h1 {
  font-size: clamp(36px, 5vw, 62px);
  max-width: 880px;
}
.demo-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.demo-proof span {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--blue-dark);
  font-size: 14px;
  font-weight: 800;
  padding: 10px 14px;
}
.demo-only-note {
  background: #fff8e8;
  border: 1px solid #f4d690;
  border-radius: 8px;
  color: #7a5517;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.45;
  margin: 18px 0 0;
  max-width: 760px;
  padding: 14px 16px;
}
.demo-sales-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 28px;
}
.demo-sales-grid article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 24px;
}
.sales-number {
  color: var(--teal);
  display: block;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 14px;
}
.demo-sales-grid h2 {
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.08;
  margin-bottom: 12px;
}
.demo-sales-grid p {
  color: var(--muted);
  line-height: 1.6;
  margin-bottom: 0;
}
.demo-photo-feature {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.65fr);
  margin-bottom: 28px;
  overflow: hidden;
  padding: clamp(22px, 4vw, 36px);
}
.demo-photo-feature p, .demo-photo-feature li {
  color: var(--muted);
  line-height: 1.6;
}
.demo-photo-feature ul {
  margin: 18px 0 0;
  padding-left: 20px;
}
.demo-photo-feature img {
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 18px 46px rgba(23, 32, 42, 0.15);
  display: block;
  max-height: 560px;
  object-fit: cover;
  object-position: top;
  width: 100%;
}
.app-demo-window {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(23, 32, 42, 0.16);
  overflow: hidden;
}
.app-demo-top {
  align-items: center;
  color: #fff;
  display: flex;
  gap: 14px;
  padding: 20px;
}
.rite-top { background: linear-gradient(135deg, var(--blue), var(--teal)); }
.electric-top { background: linear-gradient(135deg, var(--blue), #2b79b9); }
.app-demo-top img {
  border-radius: 8px;
  height: 56px;
  width: 56px;
}
.app-demo-top strong, .app-demo-top span { display: block; }
.app-demo-top strong { font-size: 24px; }
.app-demo-top span { color: rgba(255, 255, 255, 0.82); }
.app-demo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-left: auto;
}
.app-demo-actions span {
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 8px;
  color: #fff;
  font-weight: 800;
  padding: 10px 14px;
}
.app-demo-tabs {
  background: #f7f9fc;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 4px;
  overflow-x: auto;
  padding: 10px 14px 0;
}
.app-demo-tabs a, .app-demo-tabs button {
  background: transparent;
  border-bottom: 4px solid transparent;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  min-width: max-content;
  padding: 14px 16px;
}
.app-demo-tabs a:hover, .app-demo-tabs button:hover, .app-demo-tabs button.active {
  border-bottom-color: var(--blue);
  color: var(--blue);
}
.app-demo-body {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  min-height: 540px;
}
.demo-sidebar {
  background: #f7f9fc;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
}
.demo-sidebar strong { font-size: 20px; }
.demo-sidebar span {
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  line-height: 1.35;
  padding-bottom: 12px;
}
.demo-content {
  display: grid;
  gap: 18px;
  padding: 24px;
}
.demo-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 22px;
}
.demo-tab-panel { display: none; }
.demo-tab-panel.active { display: block; }
.demo-panel h2 { font-size: clamp(24px, 3vw, 34px); margin-bottom: 18px; }
.field-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.field-grid label {
  color: var(--muted);
  display: grid;
  font-weight: 800;
  gap: 8px;
}
.field-grid input {
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  font: inherit;
  min-height: 46px;
  padding: 0 12px;
}
.demo-page input[readonly] {
  background: #f7f9fc;
  cursor: default;
}
.check-row {
  align-items: center;
  border-top: 1px solid var(--line);
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 14px 0;
}
.check-row:first-of-type { border-top: 0; }
.check-row span { color: var(--muted); }
.check-row strong {
  background: var(--blue-soft);
  border-radius: 999px;
  color: var(--blue-dark);
  min-width: 86px;
  padding: 8px 12px;
  text-align: center;
}
.note-box {
  background: #fff8e8;
  border: 1px solid #f4d690;
  border-radius: 8px;
  color: #7a5517;
  font-weight: 800;
  padding: 16px;
}
.measure-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.measure-grid span {
  background: #f7f9fc;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  display: grid;
  gap: 8px;
  padding: 18px;
}
.measure-grid strong { color: var(--ink); font-size: 22px; }
.report-preview { background: #f7fbff; }
.report-preview p { color: var(--muted); line-height: 1.55; }
.demo-mini-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.demo-mini-list span {
  background: var(--blue-soft);
  border-radius: 999px;
  color: var(--blue-dark);
  font-size: 13px;
  font-weight: 800;
  padding: 8px 12px;
}
.demo-buy-panel {
  align-items: center;
  background: var(--ink);
  border-radius: 8px;
  color: #fff;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-top: 28px;
  padding: clamp(24px, 4vw, 38px);
}
.demo-buy-panel .eyebrow { color: #8fe8ef; }
.demo-buy-panel h2 { max-width: 760px; }
.demo-buy-panel p {
  color: #d8dee8;
  line-height: 1.6;
  margin-bottom: 0;
  max-width: 820px;
}

@media (max-width: 860px) {
  .site-header { align-items: flex-start; flex-direction: column; }
  nav { flex-wrap: wrap; }
  .hero, .product-grid, .value-grid, .time-band, .comparison, .demo-grid, .demo-card, .demo-sales-grid, .demo-photo-feature, .function-groups, .training-grid, .steps, .showcase, .showcase:nth-child(even), .app-demo-body, .field-grid, .measure-grid { grid-template-columns: 1fr; }
  .showcase:nth-child(even) .showcase-copy { order: 0; }
  .showcase-copy { flex-direction: column; }
  .hero { min-height: auto; }
  .screen-stack { min-height: 360px; }
  .screen-stack img { height: 360px; }
  .demo-hero { align-items: flex-start; flex-direction: column; }
  .demo-buy-panel { align-items: flex-start; flex-direction: column; }
  .app-demo-actions { margin-left: 0; }
  .demo-sidebar { border-bottom: 1px solid var(--line); border-right: 0; }
  .setup-band { align-items: flex-start; flex-direction: column; }
  .setup-actions { justify-content: flex-start; }
}

@media (max-width: 520px) {
  .screen-stack {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .screen-stack img {
    height: 310px;
    transform: none !important;
  }
  .screen-stack img:last-child { display: none; }
  .hero-actions a, .setup-actions a, .demo-hero a { width: 100%; }
  .app-demo-top { align-items: flex-start; flex-direction: column; }
  .demo-card > img { height: 260px; }
}
