html.public-landing-open {
  height: auto;
  min-height: 100%;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: auto;
  scroll-behavior: smooth;
}

html.public-landing-open body.public-landing-open {
  height: auto;
  min-height: 100%;
  max-height: none;
  overflow: visible;
  overscroll-behavior-y: auto;
}

body.public-landing-open > .app,
body.public-landing-open > .module-ribbon { display: none; }

.public-landing {
  --landing-green: #00a791;
  --landing-green-dark: #078875;
  --landing-green-soft: #eaf8f4;
  --landing-ink: #14232d;
  --landing-muted: #667780;
  position: relative;
  z-index: 490;
  display: none;
  min-height: 100vh;
  overflow-x: clip;
  overflow-y: visible;
  color: var(--landing-ink);
  background: #fff;
}

.public-landing.open { display: block; }
.public-landing > main { display: block; height: auto; min-height: 0; max-height: none; overflow: visible; }
.public-landing section[id] { scroll-margin-top: 82px; }

.public-landing-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 20;
  height: 72px;
  padding: 0 max(28px, calc((100vw - 1240px) / 2));
  display: grid;
  grid-template-columns: 180px 1fr auto;
  align-items: center;
  gap: 28px;
  border-bottom: 1px solid rgba(20, 35, 45, .08);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 8px 26px rgba(22, 53, 62, .05);
  backdrop-filter: blur(14px);
}

.public-landing-brand,
.public-landing-brand img { display: block; width: 144px; height: 38px; }
.public-landing-brand img { object-fit: contain; object-position: left center; }
.public-landing-nav { justify-self: center; display: flex; align-items: center; gap: 28px; }
.public-landing-nav a,
.public-landing-footer a { color: #24343d; font-size: 13px; line-height: 20px; font-weight: 600; text-decoration: none; transition: color 150ms ease; }
.public-landing-nav a:hover,
.public-landing-footer a:hover { color: var(--landing-green-dark); }

.public-landing-button {
  min-height: 42px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid var(--landing-green);
  border-radius: 5px;
  color: #fff;
  background: linear-gradient(180deg, #11b49d, var(--landing-green));
  box-shadow: 0 8px 20px rgba(0, 167, 145, .15);
  font-size: 13px;
  line-height: 20px;
  font-weight: 700;
  text-decoration: none;
  transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}
.public-landing-button:hover { border-color: var(--landing-green-dark); background: var(--landing-green-dark); box-shadow: 0 10px 24px rgba(0, 139, 121, .2); }
.public-landing-button--small { min-height: 38px; padding-inline: 17px; }
.public-landing-button--secondary { color: #263840; border-color: #d6e0de; background: #fff; box-shadow: none; }
.public-landing-button--secondary:hover { color: var(--landing-green-dark); border-color: #a8cfc8; background: #f7fbfa; box-shadow: none; }
.public-landing-button--dark { color: #fff; border-color: rgba(255,255,255,.35); background: transparent; box-shadow: none; }
.public-landing-button--dark:hover { border-color: #fff; background: rgba(255,255,255,.08); box-shadow: none; }

.public-landing-hero {
  min-height: 610px;
  padding: 124px max(28px, calc((100vw - 1240px) / 2)) 72px;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr);
  align-items: center;
  gap: 56px;
  background: radial-gradient(circle at 76% 55%, rgba(0, 167, 145, .09), transparent 28%), linear-gradient(180deg, #fff 0%, #fbfdfc 100%);
}
.public-landing-hero-content { min-width: 0; }
.public-landing-eyebrow { margin: 0 0 20px; display: inline-flex; align-items: center; gap: 8px; color: #45615f; font-size: 11px; line-height: 18px; font-weight: 700; }
.public-landing-eyebrow span { width: 17px; height: 17px; border: 1px solid #b9ddd7; border-radius: 50%; background: var(--landing-green-soft); }
.public-landing-eyebrow span::after { content: ""; width: 5px; height: 5px; margin: 5px; display: block; border-radius: 50%; background: var(--landing-green); }
.public-landing-hero h1 { max-width: 620px; margin: 0; color: #10202b; font-size: clamp(38px, 4.2vw, 62px); line-height: 1.08; font-weight: 750; }
.public-landing-hero h1 em { display: block; color: var(--landing-green); font-style: normal; }
.public-landing-lead { max-width: 560px; margin: 24px 0 0; color: var(--landing-muted); font-size: 16px; line-height: 26px; }
.public-landing-actions { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 12px; }

.public-landing-device-stage { position: relative; min-width: 0; padding: 16px 30px 28px 0; }
.public-landing-device-stage::after { content: ""; position: absolute; right: 3%; bottom: 2px; left: 4%; height: 18px; border-radius: 50%; background: rgba(19, 45, 54, .12); filter: blur(13px); }
.public-landing-product-shot { position: relative; z-index: 1; overflow: hidden; border: 8px solid #11191e; border-bottom-width: 18px; border-radius: 8px 8px 5px 5px; color: #30424a; background: #fff; box-shadow: 0 24px 52px rgba(28, 53, 60, .17); }
.public-landing-product-shot::after { content: ""; position: absolute; right: 42%; bottom: -15px; left: 42%; height: 4px; border-radius: 4px; background: #3a4449; }
.public-landing-shot-topbar { height: 38px; padding: 0 12px; display: flex; align-items: center; gap: 7px; color: #263941; border-bottom: 1px solid #e4ebea; background: #fff; font-size: 8px; }
.public-landing-shot-topbar .public-landing-shot-mark { width: 7px; height: 15px; border-radius: 4px; background: var(--landing-green); transform: skew(-24deg); }
.public-landing-shot-topbar b { font-size: 10px; }.public-landing-shot-topbar i { width: 1px; height: 16px; margin: 0 4px; background: #d9e2e1; }.public-landing-shot-topbar small { font-size: 8px; font-weight: 700; }.public-landing-shot-topbar em { flex: 1; }
.public-landing-shot-shell { min-height: 310px; display: grid; grid-template-columns: 114px minmax(0, 1fr); }
.public-landing-shot-shell aside { padding: 15px 8px; display: flex; flex-direction: column; gap: 3px; color: #6b7b82; border-right: 1px solid #e3eae9; background: #f8fbfa; }
.public-landing-shot-shell aside strong { margin: 0 7px 8px; color: #8b9a9f; font-size: 7px; text-transform: uppercase; }
.public-landing-shot-shell aside span { padding: 7px 8px; border-radius: 3px; font-size: 8px; font-weight: 600; }
.public-landing-shot-shell aside span.active { color: #087d6d; background: #e5f4f0; box-shadow: inset 3px 0 var(--landing-green); }
.public-landing-shot-workspace { min-width: 0; padding: 14px; background: #f4f7f7; }
.public-landing-shot-workspace > header { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.public-landing-shot-workspace > header > div { min-width: 0; padding: 11px; border: 1px solid #dde7e5; border-radius: 4px; background: #fff; box-shadow: 0 3px 10px rgba(28,55,61,.035); }
.public-landing-shot-workspace > header small { display: block; margin-bottom: 6px; color: #849299; font-size: 7px; }.public-landing-shot-workspace > header b { color: #1e343c; font-size: 11px; }
.public-landing-shot-workspace > section { margin-top: 11px; overflow: hidden; border: 1px solid #dce6e4; border-radius: 4px; background: #fff; }
.public-landing-shot-title { height: 34px; padding: 0 10px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e2e9e8; }
.public-landing-shot-title b { font-size: 9px; }.public-landing-shot-title span { color: var(--landing-green-dark); font-size: 7px; font-weight: 700; }
.public-landing-shot-table > div { min-height: 32px; padding: 0 8px; display: grid; grid-template-columns: .9fr .8fr 1.45fr 1fr 1fr; align-items: center; gap: 7px; border-bottom: 1px solid #edf1f0; }
.public-landing-shot-table > div:last-child { border-bottom: 0; }.public-landing-shot-table span { overflow: hidden; color: #64767d; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.public-landing-shot-table .head { min-height: 27px; background: linear-gradient(180deg, #13ae98, #009382); }.public-landing-shot-table .head span { color: #fff; font-weight: 700; }
.public-landing-shot-table .status { width: 62px; padding: 3px 4px; border-radius: 3px; color: #087d6e; background: #e1f2ed; text-align: center; font-weight: 700; }.public-landing-shot-table .status.warning { color: #936114; background: #fff0d4; }

.public-landing-phone { position: absolute; z-index: 2; right: 0; bottom: 0; width: 130px; height: 262px; padding: 15px 10px; overflow: hidden; border: 6px solid #152027; border-radius: 20px; background: #f7faf9; box-shadow: 0 18px 36px rgba(22, 47, 55, .22); }
.public-landing-phone::before { content: ""; position: absolute; top: 5px; left: 43px; width: 34px; height: 4px; border-radius: 3px; background: #243036; }
.public-landing-phone-bar { margin-top: 3px; display: flex; align-items: center; gap: 4px; color: #20333a; font-size: 7px; }.public-landing-phone-bar span { width: 5px; height: 10px; border-radius: 3px; background: var(--landing-green); transform: skew(-20deg); }
.public-landing-phone-total { margin-top: 20px; padding: 10px 8px; border: 1px solid #dce7e5; border-radius: 4px; background: #fff; }.public-landing-phone-total small { display: block; color: #819096; font-size: 6px; }.public-landing-phone-total strong { display: block; margin-top: 4px; font-size: 10px; }
.public-landing-phone-lines { margin-top: 10px; display: grid; gap: 6px; }.public-landing-phone-lines i { height: 18px; border: 1px solid #e1e9e8; border-radius: 3px; background: #fff; }.public-landing-phone-lines i::after { content: ""; width: 54%; height: 3px; margin: 7px; display: block; border-radius: 2px; background: #dce6e4; }
.public-landing-phone-chart { margin: 10px auto 0; width: 54px; height: 54px; border-radius: 50%; background: conic-gradient(var(--landing-green) 0 38%, #d5e7e3 38% 70%, #e7eeed 70%); }.public-landing-phone-chart span { width: 32px; height: 32px; margin: 11px; display: inline-block; border-radius: 50%; background: #fff; }

.public-landing-trust { padding: 28px max(28px, calc((100vw - 1240px) / 2)); border-top: 1px solid #edf2f1; border-bottom: 1px solid #e7eeed; background: #fff; text-align: center; }
.public-landing-trust p { margin: 0 0 22px; color: #75858c; font-size: 11px; }.public-landing-trust div { display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #53646b; }.public-landing-trust b { font-size: 12px; line-height: 14px; }.public-landing-trust span { color: #7a888e; font-size: 11px; }

.public-landing-benefits,.public-landing-modules,.public-landing-industries,.public-landing-pricing,.public-landing-about,.public-landing-contact { padding: 74px max(28px, calc((100vw - 1240px) / 2)); }
.public-landing-benefits { background: linear-gradient(180deg, #f8fcfa, #fff); }
.public-landing-section-head { max-width: 700px; margin: 0 auto 38px; text-align: center; }
.public-landing-section-head > p,.public-landing-about > div > p:first-child,.public-landing-contact > div > p:first-child { margin: 0 0 8px; color: var(--landing-green-dark); font-size: 11px; line-height: 18px; font-weight: 750; text-transform: uppercase; }
.public-landing-section-head h2,.public-landing-about h2,.public-landing-contact h2 { margin: 0; color: var(--landing-ink); font-size: 30px; line-height: 38px; }
.public-landing-section-head > span { display: block; margin-top: 9px; color: var(--landing-muted); font-size: 14px; line-height: 22px; }
.public-landing-benefit-grid { overflow: hidden; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #e2ece9; border-radius: 8px; background: #fff; box-shadow: 0 18px 44px rgba(26, 61, 66, .06); }
.public-landing-benefit-grid article { min-height: 136px; padding: 27px; display: flex; gap: 18px; border-right: 1px solid #e7eeec; border-bottom: 1px solid #e7eeec; }.public-landing-benefit-grid article:nth-child(3n) { border-right: 0; }.public-landing-benefit-grid article:nth-child(n+4) { border-bottom: 0; }
.public-landing-benefit-grid article > span,.public-landing-module-grid article > span { flex: 0 0 auto; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #cde7e1; border-radius: 6px; color: var(--landing-green-dark); background: var(--landing-green-soft); font-size: 17px; font-weight: 700; }
.public-landing-benefit-grid h3,.public-landing-module-grid h3 { margin: 1px 0 7px; color: #1d3038; font-size: 15px; line-height: 21px; }.public-landing-benefit-grid p,.public-landing-module-grid p { margin: 0; color: #6c7c83; font-size: 12px; line-height: 19px; }

.public-landing-modules { background: #fff; }.public-landing-module-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.public-landing-module-grid article { min-width: 0; padding: 22px 17px; border: 1px solid #e1e9e7; border-radius: 7px; background: #fff; box-shadow: 0 8px 24px rgba(25, 60, 66, .04); }.public-landing-module-grid article > span { margin-bottom: 18px; }.public-landing-module-grid article:hover { border-color: #b9ddd6; box-shadow: 0 12px 26px rgba(25, 81, 78, .08); }
.public-landing-industries { background: #f7faf9; }.public-landing-industry-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }.public-landing-industry-grid article { min-height: 124px; padding: 25px; border: 1px solid #e0e9e7; border-radius: 7px; background: #fff; }.public-landing-industry-grid b { color: #19313a; font-size: 16px; }.public-landing-industry-grid p { margin: 12px 0 0; color: #6e7e84; font-size: 13px; line-height: 21px; }

.public-landing-pricing { background: #fff; }.public-landing-price-grid { max-width: 900px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: center; }.public-landing-price-grid article { padding: 28px; border: 1px solid #dde7e5; border-radius: 8px; background: #fff; box-shadow: 0 12px 32px rgba(28, 58, 63, .05); }.public-landing-price-grid article.featured { padding-block: 36px; border-color: #79c8bb; box-shadow: 0 18px 42px rgba(0, 135, 116, .12); }.public-landing-price-grid article > p { margin: 0; color: #4c6068; font-size: 13px; font-weight: 700; }.public-landing-price-grid h3 { margin: 15px 0 20px; color: #142a33; font-size: 30px; }.public-landing-price-grid h3 small { font-size: 11px; font-weight: 600; }.public-landing-price-grid ul { margin: 0 0 24px; padding: 0; display: grid; gap: 10px; list-style: none; }.public-landing-price-grid li { position: relative; padding-left: 18px; color: #63757c; font-size: 12px; }.public-landing-price-grid li::before { content: "✓"; position: absolute; left: 0; color: var(--landing-green); font-weight: 700; }.public-landing-price-grid a { min-height: 38px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--landing-green); border-radius: 5px; color: var(--landing-green-dark); font-size: 12px; font-weight: 700; text-decoration: none; }.public-landing-price-grid .featured a { color: #fff; background: var(--landing-green); }

.public-landing-about { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); align-items: center; gap: 72px; background: #f7faf9; }.public-landing-about > div > p:last-child { max-width: 620px; margin: 20px 0 0; color: var(--landing-muted); font-size: 14px; line-height: 23px; }.public-landing-about dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #dfe9e7; border-radius: 8px; background: #fff; }.public-landing-about dl div { padding: 25px; border-right: 1px solid #e3ebe9; border-bottom: 1px solid #e3ebe9; }.public-landing-about dl div:nth-child(2n) { border-right: 0; }.public-landing-about dl div:nth-child(n+3) { border-bottom: 0; }.public-landing-about dt { color: var(--landing-green-dark); font-size: 27px; font-weight: 750; }.public-landing-about dd { margin: 5px 0 0; color: #6c7c82; font-size: 12px; }

.public-landing-contact { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); gap: 72px; background: #fff; }.public-landing-contact ul { margin: 25px 0 0; padding: 0; display: grid; gap: 13px; color: #61737a; font-size: 13px; list-style: none; }.public-landing-contact li { padding-left: 19px; position: relative; }.public-landing-contact li::before { content: ""; position: absolute; left: 0; top: 6px; width: 7px; height: 7px; border-radius: 50%; background: var(--landing-green); }.public-landing-contact form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.public-landing-contact label { display: grid; gap: 6px; color: #455960; font-size: 11px; font-weight: 700; }.public-landing-contact label:last-of-type { grid-column: 1 / -1; }.public-landing-contact input,.public-landing-contact textarea { width: 100%; min-width: 0; border: 1px solid #d7e1df; border-radius: 5px; color: #1d3038; background: #fff; font: inherit; outline: none; }.public-landing-contact input { height: 42px; padding: 0 11px; }.public-landing-contact textarea { min-height: 96px; padding: 10px 11px; resize: vertical; }.public-landing-contact input:focus,.public-landing-contact textarea:focus { border-color: var(--landing-green); box-shadow: 0 0 0 3px rgba(0,167,145,.1); }.public-landing-contact button { grid-column: 2; justify-self: end; min-width: 116px; height: 40px; border: 1px solid var(--landing-green-dark); border-radius: 5px; color: #fff; background: var(--landing-green); font: inherit; font-weight: 700; cursor: pointer; }

.public-landing-cta { padding: 48px max(28px, calc((100vw - 1240px) / 2)); display: grid; grid-template-columns: 1.5fr 1fr; align-items: center; gap: 60px; color: #fff; background: radial-gradient(circle at 15% 20%, rgba(0,167,145,.2), transparent 30%), linear-gradient(110deg, #13283a, #0e1c2d); }.public-landing-cta h2 { margin: 0; font-size: 27px; line-height: 36px; }.public-landing-cta p { margin: 8px 0 22px; color: #c6d3dc; font-size: 14px; }.public-landing-cta > div > div { display: flex; gap: 10px; }.public-landing-cta ul { margin: 0; padding: 0; display: grid; gap: 12px; list-style: none; }.public-landing-cta li { position: relative; padding-left: 24px; color: #e1e9ee; font-size: 13px; }.public-landing-cta li::before { content: "✓"; position: absolute; left: 0; width: 16px; height: 16px; display: grid; place-items: center; border: 1px solid #87b9b0; border-radius: 50%; color: #52d0bd; font-size: 9px; }
.public-landing-footer { min-height: 68px; padding: 0 max(28px, calc((100vw - 1240px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 22px; color: #7c8b91; border-top: 1px solid #e6eceb; background: #fff; font-size: 11px; }.public-landing-footer nav { display: flex; gap: 22px; }

@media (max-width: 1020px) {
  .public-landing-header { grid-template-columns: 160px 1fr auto; }.public-landing-nav { gap: 15px; }.public-landing-nav a { font-size: 12px; }
  .public-landing-hero { grid-template-columns: 1fr; padding-top: 116px; }.public-landing-hero-content { max-width: 720px; }.public-landing-device-stage { width: min(760px, 100%); }
  .public-landing-module-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.public-landing-about,.public-landing-contact { grid-template-columns: 1fr; gap: 38px; }
}

@media (max-width: 760px) {
  .public-landing-header { height: 64px; padding-inline: 20px; grid-template-columns: 1fr auto; }.public-landing-nav { display: none; }.public-landing section[id] { scroll-margin-top: 72px; }
  .public-landing-hero { min-height: 0; padding: 98px 20px 54px; gap: 38px; }.public-landing-hero h1 { font-size: 39px; line-height: 45px; }.public-landing-lead { font-size: 15px; line-height: 24px; }
  .public-landing-device-stage { padding-right: 14px; }.public-landing-phone { right: -2px; width: 106px; height: 216px; }.public-landing-shot-shell { grid-template-columns: 88px minmax(0, 1fr); }.public-landing-shot-shell aside span:nth-last-child(-n+3) { display: none; }
  .public-landing-trust { padding-inline: 20px; }.public-landing-trust div { flex-wrap: wrap; justify-content: center; }.public-landing-trust b { min-width: 120px; }
  .public-landing-benefits,.public-landing-modules,.public-landing-industries,.public-landing-pricing,.public-landing-about,.public-landing-contact { padding: 56px 20px; }
  .public-landing-benefit-grid { grid-template-columns: 1fr; }.public-landing-benefit-grid article,.public-landing-benefit-grid article:nth-child(3n),.public-landing-benefit-grid article:nth-child(n+4) { border-right: 0; border-bottom: 1px solid #e7eeec; }.public-landing-benefit-grid article:last-child { border-bottom: 0; }
  .public-landing-industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.public-landing-price-grid { grid-template-columns: 1fr; }.public-landing-price-grid article.featured { padding-block: 28px; }
  .public-landing-cta { padding: 42px 20px; grid-template-columns: 1fr; gap: 28px; }.public-landing-footer { padding: 22px 20px; align-items: flex-start; flex-direction: column; }.public-landing-footer nav { flex-wrap: wrap; }
}

@media (max-width: 480px) {
  .public-landing-brand,.public-landing-brand img { width: 126px; height: 34px; }.public-landing-button--small { min-height: 36px; padding-inline: 13px; }
  .public-landing-actions { flex-direction: column; align-items: stretch; }.public-landing-actions .public-landing-button { width: 100%; }
  .public-landing-device-stage { padding: 0 0 18px; }.public-landing-phone { display: none; }.public-landing-product-shot { border-width: 5px; border-bottom-width: 12px; }.public-landing-shot-shell { min-height: 230px; grid-template-columns: 1fr; }.public-landing-shot-shell aside { display: none; }.public-landing-shot-workspace { padding: 8px; }.public-landing-shot-table > div { grid-template-columns: .9fr .8fr 1fr 1fr; }.public-landing-shot-table > div > span:nth-child(3) { display: none; }
  .public-landing-module-grid,.public-landing-industry-grid { grid-template-columns: 1fr; }.public-landing-about dl { grid-template-columns: 1fr; }.public-landing-about dl div,.public-landing-about dl div:nth-child(2n),.public-landing-about dl div:nth-child(n+3) { border-right: 0; border-bottom: 1px solid #e3ebe9; }.public-landing-about dl div:last-child { border-bottom: 0; }.public-landing-contact form { grid-template-columns: 1fr; }.public-landing-contact label:last-of-type,.public-landing-contact button { grid-column: 1; }.public-landing-contact button { width: 100%; }
  .public-landing-cta > div > div { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .public-landing-button,.public-landing-nav a,.public-landing-footer a { transition: none; }
}
