.front-product {
  background: #fff;
  color: #272727;
  font-family: "Inter Tight", sans-serif;
}
.front-product main p {
  margin: 0;
}
.front-product h1,
.front-product h2,
.front-product h3 {
  margin: 0;
  letter-spacing: 0;
}
.front-product h1,
.front-product h2 {
  font-size: 64px;
  font-weight: 500;
  line-height: 1;
}
.front-container {
  width: min(1260px, calc(100% - 64px));
  margin-inline: auto;
}
.front-hero {
  position: relative;
  margin: 8px;
  border-radius: 40px;
  height: min(984px, calc(100vw * 0.5168));
  min-height: 640px;
  overflow: hidden;
  background: #272727;
}
.front-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.front-hero-copy {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 48px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  color: white;
}
.front-hero-copy:before {
  content: "";
  position: absolute;
  inset: -68px -96px -70px;
  z-index: 0;
  background: rgba(0, 0, 0, 0.03);
  -webkit-backdrop-filter: blur(19.8px);
  backdrop-filter: blur(19.8px);
  /* Feather the backdrop itself: filtering a backdrop-filter surface leaves
     hard rectangular edges in WebKit. Two masks soften both axes. */
  -webkit-mask-image:
    linear-gradient(to bottom, transparent, #000 34%, #000),
    linear-gradient(to right, transparent, #000 9%, #000 91%, transparent);
  mask-image:
    linear-gradient(to bottom, transparent, #000 34%, #000),
    linear-gradient(to right, transparent, #000 9%, #000 91%, transparent);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
  pointer-events: none;
}
.front-hero-copy > * {
  position: relative;
}
.front-hero h1 {
  max-width: 550px;
}
.front-hero-copy p {
  width: 314px;
  text-align: right;
  font-size: 20px;
  line-height: 1.25;
}
.front-modes {
  display: grid;
  grid-template-columns: 1fr 672px;
  gap: 40px;
  margin-top: 200px;
  min-height: 639px;
}
.front-mode-copy {
  padding-top: 0;
}
.front-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 448px;
  margin-top: 32px;
}
.front-tabs button {
  font:
    400 16px/1.2 "Inter Tight",
    sans-serif;
  border: 0;
  border-radius: 34px;
  background: #f6f6f6;
  color: #666;
  padding: 8px 12px;
  cursor: pointer;
}
.front-tabs button[aria-selected="true"] {
  background: #333;
  color: #fff;
}
.front-tabs button:focus-visible {
  outline: 2px solid #1475dc;
  outline-offset: 3px;
}
.front-mode-description {
  font-size: 20px;
  line-height: 1.25;
  max-width: 463px;
  margin-top: 124px !important;
  margin-bottom: 24px !important;
}
.front-product .home-button {
  font-size: 16px;
  min-height: 62px;
  border-radius: 12px;
  padding: 20px 23px;
  background: #272727;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}
.front-scene {
  width: 100%;
  position: relative;
  aspect-ratio: var(--scene-ratio);
  min-width: 0;
}
.front-scene-canvas {
  position: absolute;
  left: 0;
  top: 0;
  transform-origin: 0 0;
}
.front-scene-canvas p {
  margin: 0;
}
.front-scene-canvas > div {
  width: 100%;
  height: 100%;
}
.front-scene-canvas a {
  color: inherit;
  text-decoration: none;
}
.front-role-panel[hidden] {
  display: none;
}
.front-tasks {
  margin-top: 200px;
}
.front-tasks > h2,
.front-sales > h2 {
  text-align: center;
}
.front-section-intro {
  font-size: 20px;
  line-height: 1.25;
  text-align: center;
  margin: 24px auto 40px !important;
}
.front-task-grid {
  display: grid;
  grid-template-columns: 836fr 412fr;
  gap: 12px;
}
.front-sales {
  margin-top: 200px;
}
.front-sales-device {
  max-width: 672px;
  margin: 43px auto 0;
}
.front-savings {
  display: grid;
  grid-template-columns: 566fr 623fr;
  gap: 71px;
  margin-top: 200px;
  align-items: end;
}
.front-savings-copy > p {
  max-width: 435px;
  font-size: 20px;
  line-height: 1.25;
  margin-top: 24px !important;
}
.front-estimate {
  margin-top: 112px;
}
.front-estimate strong {
  display: block;
  font-weight: 500;
  font-size: 200px;
  line-height: 1;
}
.front-estimate span {
  display: block;
  color: #999;
  font-size: 32px;
  font-weight: 600;
  line-height: 0.95;
  margin-top: 12px;
}
.front-demo {
  max-width: 1047px;
  margin-top: 200px;
  margin-bottom: 200px;
}
.front-dark {
  margin: 0 8px;
  padding: 80px 0 200px;
  background: #191919;
  border-radius: 40px 40px 0 0;
  color: white;
}
.front-dark h2 {
  text-align: center;
  max-width: 800px;
  margin: auto;
}
.front-dark .front-section-intro {
  margin: 16px auto 40px !important;
}
.front-connected-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.front-connected {
  position: relative;
  overflow: hidden;
  background: #272727;
  border-radius: 0 24px 24px 0;
}
.front-connected h3 {
  position: absolute;
  z-index: 2;
  top: 32px;
  right: 32px;
  font-size: 32px;
  line-height: 0.95;
  text-align: right;
  font-weight: 600;
}
.front-connected > p {
  position: absolute;
  z-index: 2;
  top: 116px;
  right: 32px;
  max-width: 435px;
  text-align: right;
  font-size: 20px;
  line-height: 1.25;
}
.front-call {
  margin-top: 12px;
}
.front-product .site-footer {
  margin-top: 0;
}
.front-scene [data-front-src] {
  visibility: hidden;
}
.front-scene button {
  cursor: pointer;
}
.front-scene-canvas button {
  border: 0;
}
.front-scene-canvas img {
  max-width: none;
}
.front-connected-canvas {
  position: relative;
}
.front-product .front-call .front-scene {
  overflow: hidden;
  border-radius: 24px;
}
@media (max-width: 1400px) {
  .front-product h1,
  .front-product h2 {
    font-size: clamp(38px, 4.3vw, 64px);
  }
  .front-modes {
    grid-template-columns: 1fr 1.15fr;
    gap: 24px;
  }
  .front-mode-description {
    margin-top: 64px !important;
  }
  .front-modes,
  .front-tasks,
  .front-sales,
  .front-savings {
    margin-top: 140px;
  }
  .front-demo {
    margin-block: 140px;
  }
  .front-estimate strong {
    font-size: 160px;
  }
  .front-estimate {
    margin-top: 72px;
  }
  .front-savings {
    gap: 36px;
  }
  .front-connected h3 {
    font-size: 28px;
  }
  .front-connected > p {
    font-size: 18px;
    max-width: 75%;
  }
}
@media (max-width: 767px) {
  .front-container {
    width: calc(100% - 32px);
  }
  .front-product h1,
  .front-product h2 {
    font-size: 36px;
  }
  .front-hero {
    margin: 6px;
    min-height: 620px;
    height: calc(100svh - 12px);
    max-height: 820px;
    border-radius: 24px;
  }
  .front-hero-video {
    object-position: 42% center;
  }
  .front-hero-copy {
    bottom: 32px;
    display: block;
    width: calc(100% - 40px);
  }
  .front-hero-copy h1 {
    font-size: 42px;
    max-width: 340px;
  }
  .front-hero-copy p {
    font-size: 18px;
    text-align: left;
    width: auto;
    max-width: 320px;
    margin-top: 24px !important;
  }
  .front-modes {
    display: flex;
    flex-direction: column;
    margin-top: 80px;
    gap: 32px;
  }
  .front-mode-copy h2 br {
    display: none;
  }
  .front-tabs {
    margin-top: 24px;
    max-width: none;
  }
  .front-tabs button {
    font-size: 14px;
  }
  .front-mode-description {
    font-size: 18px;
    margin-top: 28px !important;
  }
  .front-role-panels {
    width: 100%;
  }
  .front-tasks,
  .front-sales,
  .front-savings {
    margin-top: 80px;
  }
  .front-section-intro {
    font-size: 18px;
  }
  .front-task-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .front-task-grid > .front-scene:nth-child(2) {
    aspect-ratio: 412/300;
    overflow: hidden;
  }
  .front-task-grid > .front-scene:nth-child(2) .front-scene-canvas {
    height: 300px !important;
  }
  .front-task-grid [data-node-id="152960:133649"] {
    top: 160px !important;
  }
  .front-task-grid [data-node-id="152960:133650"] {
    top: 245px !important;
    left: 31px !important;
    width: 280px;
  }
  .front-task-grid [data-node-id="152960:133653"] {
    top: 170px !important;
  }
  .front-task-grid [data-node-id="152960:133647"] {
    top: 95px !important;
  }
  .front-sales-device {
    margin-top: 32px;
  }
  .front-savings {
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: stretch;
  }
  .front-savings-copy > p {
    font-size: 18px;
  }
  .front-estimate {
    margin-top: 32px;
  }
  .front-estimate strong {
    font-size: 112px;
  }
  .front-estimate span {
    font-size: 26px;
  }
  .front-demo {
    margin-block: 80px;
    width: calc(100% - 16px);
  }
  .front-dark {
    padding: 48px 0 64px;
    border-radius: 24px 24px 0 0;
    margin-inline: 6px;
  }
  .front-connected-grid {
    grid-template-columns: 1fr;
  }
  .front-connected-grid > .front-scene {
    border-radius: 24px;
    overflow: hidden;
  }
  .front-connected {
    border-radius: 24px;
  }
  .front-connected h3 {
    top: 20px;
    right: 20px;
    font-size: 25px;
  }
  .front-connected > p {
    font-size: 16px;
    right: 20px;
    top: 85px;
    max-width: 85%;
  }
  .front-call {
    margin-top: 24px;
  }
  .front-call .front-scene {
    aspect-ratio: 600/600;
  }
  .front-call .front-scene-canvas {
    transform: none !important;
    width: 100% !important;
    height: 100% !important;
  }
  .front-call [data-node-id="I152960:133493;152033:1051"] {
    left: 24px !important;
    top: 24px !important;
    font-size: 28px !important;
    width: calc(100% - 48px) !important;
  }
  .front-call [data-node-id="I152960:133493;152033:1050"] {
    left: 24px !important;
    top: 235px !important;
    font-size: 18px !important;
    width: calc(100% - 48px) !important;
  }
  .front-call [data-node-id="I152960:133493;152049:8375"] {
    left: 24px !important;
    top: auto !important;
    bottom: 24px !important;
  }
  .front-call [data-node-id="I152960:133493;152049:7932"] {
    left: 40% !important;
    top: 65px !important;
    opacity: 0.25;
  }
  .front-call [data-node-id="I152960:133493;152049:7934"],
  .front-call [data-node-id="I152960:133493;152033:1052"] {
    display: none;
  }
  .front-call .front-scene {
    min-height: 440px;
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-front-scene] [data-node-id] {
    animation: none !important;
  }
  .front-receipt [data-node-id="152960:133554"],
  .front-receipt [data-node-id="152960:133572"] {
    height: 107px !important;
  }
  .front-hero-video {
    pointer-events: none;
  }
}
.front-product .site-footer {
  background: #191919;
  margin: 0 8px 8px;
  border-radius: 0 0 40px 40px;
  color: #fff;
}
.front-product .site-footer a {
  color: #fff;
}
.front-product .site-footer__logo svg:first-child {
  filter: brightness(0) invert(1);
}
.front-product .site-footer__description {
  max-width: 100%;
  width: 100%;
}
@media (max-width: 767px) {
  .front-product .site-footer {
    margin: 0 6px 6px;
    border-radius: 0 0 24px 24px;
  }
}
.front-sales-device {
  position: relative;
}
.front-sale-icons {
  position: absolute;
  left: -92px;
  top: 75px;
  width: 60px;
  height: 336px;
}
@media (max-width: 767px) {
  .front-sale-icons {
    display: none;
  }
}
@media (max-width: 767px) {
  .front-task-grid [data-node-id="152960:133650"] {
    width: 340px !important;
    font-size: 30px !important;
    line-height: 1.05 !important;
  }
  .front-task-grid [data-node-id="152960:133649"] {
    font-size: 30px !important;
    line-height: 1.05 !important;
  }
  .front-task-grid [data-node-id="152960:133650"] p {
    overflow-wrap: normal !important;
  }
  .front-receipt {
    aspect-ratio: auto;
    min-height: 495px;
  }
  .front-receipt .front-scene-canvas {
    position: relative;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
  }
  .front-receipt [data-node-id="152960:133526"] {
    width: 100% !important;
    height: auto !important;
    padding: 20px 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 32px 0;
    border-block: 1px solid #ddd;
  }
  .front-receipt [data-node-id="152960:133527"],
  .front-receipt [data-node-id="152960:133528"] {
    position: static !important;
    transform: none !important;
    width: 50%;
    white-space: normal !important;
    font-size: 14px !important;
  }
  .front-receipt [data-node-id="152960:133529"],
  .front-receipt [data-node-id="152960:133534"],
  .front-receipt [data-node-id="152960:133535"],
  .front-receipt .receipt-row > div {
    display: none;
  }
  .front-receipt .receipt-groups {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    gap: 24px !important;
  }
  .front-receipt .receipt-group {
    width: 100% !important;
  }
  .front-receipt .receipt-group-title {
    font-size: 13px !important;
    gap: 8px;
    white-space: normal !important;
  }
  .front-receipt .receipt-group-title p:first-child {
    flex-shrink: 1 !important;
  }
  .front-receipt .receipt-small {
    font-size: 12px !important;
    white-space: normal !important;
    max-width: calc(100% - 52px);
  }
  .front-receipt .receipt-amount {
    left: auto !important;
    right: 0;
    transform: none !important;
    max-width: 52px;
    white-space: nowrap !important;
  }
  .front-receipt .receipt-row {
    height: 18px !important;
  }
}
@media (max-width: 767px) {
  .front-task-grid [data-node-id="152960:133649"] {
    width: 300px !important;
  }
  .front-task-grid [data-node-id="152960:133650"] {
    font-size: 16px !important;
    line-height: 1.2 !important;
    width: 300px !important;
  }
}
@media (max-width: 767px) {
  .front-task-grid [data-node-id="152960:133658"],
  .front-task-grid [data-node-id="152960:133661"] {
    font-size: 40px !important;
  }
  .front-task-grid [data-node-id="152960:133659"],
  .front-task-grid [data-node-id="152960:133662"] {
    font-size: 26px !important;
  }
}
/* Keep complete demonstrations readable on shorter desktop/laptop windows. */
@media (min-width: 1024px) and (max-height: 1000px) {
  .front-product h1,
  .front-product h2 {
    font-size: 48px;
  }
  .front-hero {
    height: calc(100svh - 16px);
    min-height: 560px;
  }
  .front-modes,
  .front-tasks,
  .front-sales,
  .front-savings {
    margin-top: 88px;
  }
  .front-modes {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) minmax(
        0,
        min(54%, calc((100svh - 160px) * 0.928))
      );
  }
  .front-mode-description {
    margin-top: 48px !important;
  }
  .front-task-grid {
    max-width: min(1260px, max(880px, calc((100svh - 260px) * 2.1)));
    margin-inline: auto;
  }
  .front-sales-device {
    max-width: min(672px, max(400px, calc((100svh - 260px) * 0.873)));
    margin-top: 24px;
  }
  .front-savings {
    align-items: center;
  }
  .front-estimate {
    margin-top: 40px;
  }
  .front-estimate strong {
    font-size: 144px;
  }
  .front-demo {
    max-width: min(1047px, max(640px, calc((100svh - 160px) * 1.277)));
    margin-block: 88px;
  }
  .front-dark {
    padding-top: 40px;
    padding-bottom: 88px;
  }
  .front-dark h2 {
    font-size: 42px;
  }
  .front-dark .front-section-intro {
    margin: 16px auto 24px !important;
  }
  .front-connected-grid {
    width: min(100%, max(880px, calc((100svh - 300px) * 1.758)));
    margin-inline: auto;
  }
  .front-connected h3 {
    font-size: 24px;
    top: 24px;
    right: 24px;
  }
  .front-connected > p {
    font-size: 16px;
    top: 92px;
    right: 24px;
    max-width: 85%;
  }
}

/* Keep the demo action readable and touch-sized inside the scaled illustration. */
@media (max-width: 767px) {
  .front-demo [data-node-id="152960:133705"] {
    transform: translate(-50%, -50%)
      scale(calc(1 / var(--front-scene-scale, 1))) !important;
    height: 48px !important;
    padding: 12px 16px !important;
  }
  .front-demo [data-node-id="I152960:133705;149790:15621"] {
    font-size: 14px !important;
  }
}
