:root {
  --ink: #07110f;
  --ink-2: #0d1b18;
  --paper: #f2f1eb;
  --white: #fbfcf8;
  --lime: #b8f34b;
  --blue: #86d8ff;
  --coral: #ff8977;
  --muted: #69716c;
  --line: rgba(7,17,15,.14);
  --dark-line: rgba(255,255,255,.12);
  --shadow: 0 24px 80px rgba(4, 14, 11, .13);
  --font-display: 'Manrope', 'Segoe UI', sans-serif;
  --font-body: 'DM Sans', 'Segoe UI', sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
}

body.no-scroll {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  color: inherit;
}

svg {
  display: block;
}

.wrap {
  width: min(1200px, calc(100% - 80px));
  margin-inline: auto;
}

.section-dark {
  background: var(--ink);
  color: var(--white);
}

.section-light {
  background: var(--paper);
}

.eyebrow {
  margin: 0 0 20px;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .18em;
  color: #59635e;
}

.eyebrow.lime {
  color: var(--lime);
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2,
h3 {
  font-family: var(--font-display);
}

h2 {
  font-size: clamp(43px, 5.6vw, 74px);
  line-height: .98;
  letter-spacing: -.055em;
  margin-bottom: 0;
}

h2 em {
  color: #7b837e;
  font-style: normal;
  font-weight: 400;
}

.announcement {
  height: 35px;
  background: var(--lime);
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  padding: 0 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.announcement a {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-left: 28px;
  border-left: 1px solid rgba(7,17,15,.25);
}

.site-header {
  height: 82px;
  background: var(--ink);
  color: var(--white);
  display: flex;
  align-items: center;
  padding: 0 max(40px, calc((100vw - 1200px)/2));
  border-bottom: 1px solid var(--dark-line);
  position: relative;
  z-index: 20;
}

.logo {
  display: inline-flex;
  gap: 11px;
  align-items: center;
  color: var(--white);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 17px;
  letter-spacing: .14em;
  white-space: nowrap;
}

.logo-dark {
  color: var(--ink);
}

.logo-mark {
  position: relative;
  width: 27px;
  height: 27px;
  display: grid;
  gap: 3px;
  transform: skewX(-18deg);
}

.logo-mark i {
  display: block;
  height: 5px;
  background: var(--lime);
}

.logo-mark i:nth-child(1) {
  width: 100%;
}

.logo-mark i:nth-child(2) {
  width: 75%;
  margin-left: 25%;
}

.logo-mark i:nth-child(3) {
  width: 50%;
  margin-left: 50%;
}

.desktop-nav {
  display: flex;
  gap: 32px;
  margin-left: auto;
}

.desktop-nav a {
  color: #c7cdca;
  font-size: 13px;
  transition: .2s;
}

.desktop-nav a:hover {
  color: var(--lime);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: 34px;
}

.button {
  border: 0;
  min-height: 45px;
  padding: 0 19px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  cursor: pointer;
  transition: transform .2s, background .2s, color .2s;
}

.button:hover {
  transform: translateY(-2px);
}

.button-light {
  background: var(--white);
  color: var(--ink);
}

.button-lime {
  background: var(--lime);
  color: var(--ink);
  min-height: 54px;
  padding-inline: 23px;
}

.button-dark {
  background: var(--ink);
  color: var(--white);
}

.button-outline {
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
}

.bag-button,
.menu-button {
  position: relative;
  background: transparent;
  border: 0;
  color: var(--white);
  cursor: pointer;
  padding: 9px;
}

.cart-count {
  position: absolute;
  top: 0;
  right: 0;
  width: 17px;
  height: 17px;
  background: var(--lime);
  color: var(--ink);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 9px;
  font-weight: 800;
}

.menu-button {
  display: none;
}

.mobile-nav {
  display: none;
}

.hero {
  overflow: hidden;
}

.hero-grid {
  min-height: 620px;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: 65px;
  padding-block: 75px;
}

.hero-copy {
  position: relative;
  z-index: 2;
}

.hero h1 {
  font-size: clamp(64px, 7.2vw, 102px);
  line-height: .9;
  letter-spacing: -.065em;
  max-width: 680px;
  margin-bottom: 30px;
}

.hero-lede {
  max-width: 570px;
  color: #b7c0bc;
  font-size: 19px;
  line-height: 1.62;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-top: 38px;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 700;
}

.text-link .icon {
  transition: transform .2s;
}

.text-link:hover .icon {
  transform: translateX(4px);
}

.system-visual {
  height: 510px;
  position: relative;
  background-color: #0a1714;
  background-image: linear-gradient(rgba(184,243,75,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(184,243,75,.06) 1px, transparent 1px);
  background-size: 34px 34px;
  border: 1px solid var(--dark-line);
  overflow: hidden;
}

.system-visual:before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 48%, rgba(184,243,75,.12), transparent 38%);
}

.visual-label {
  position: absolute;
  left: 22px;
  top: 19px;
  color: #91a099;
  font-size: 9px;
  letter-spacing: .13em;
  display: flex;
  align-items: center;
  gap: 8px;
}

.status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lime);
  box-shadow: 0 0 0 5px rgba(184,243,75,.09);
}

.orbit {
  position: absolute;
  border: 1px solid rgba(184,243,75,.17);
  border-radius: 50%;
  left: 50%;
  top: 48%;
  transform: translate(-50%,-50%);
}

.orbit-a {
  width: 255px;
  height: 255px;
}

.orbit-b {
  width: 390px;
  height: 390px;
  border-style: dashed;
  animation: spin 45s linear infinite;
}

@keyframes spin {
  to {
    transform: translate(-50%,-50%) rotate(360deg);
  }

}

.system-core {
  position: absolute;
  left: 50%;
  top: 48%;
  transform: translate(-50%,-50%);
  width: 112px;
  height: 112px;
  background: var(--lime);
  color: var(--ink);
  border-radius: 50%;
  display: grid;
  align-content: center;
  justify-items: center;
  box-shadow: 0 0 50px rgba(184,243,75,.24);
}

.system-core strong {
  font: 800 28px var(--font-display);
  letter-spacing: -.06em;
}

.system-core small {
  font-size: 8px;
  letter-spacing: .2em;
  font-weight: 700;
}

.core-pulse {
  position: absolute;
  inset: -12px;
  border: 1px solid rgba(184,243,75,.25);
  border-radius: 50%;
  animation: pulse 2.4s ease-out infinite;
}

@keyframes pulse {
  0% {
    transform: scale(.85);
    opacity:0;
  }

  30% {
    opacity:1;
  }

  100% {
    transform: scale(1.2);
    opacity:0;
  }

}

.system-node {
  position: absolute;
  width: 102px;
  padding: 11px 12px;
  background: #12231f;
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: 0 12px 30px rgba(0,0,0,.23);
}

.system-node .icon {
  color: var(--lime);
  margin-bottom: 12px;
}

.system-node span {
  display: block;
  color: #e0e6e3;
  font-size: 11px;
}

.system-node b {
  display: block;
  margin-top: 4px;
  color: #8e9b95;
  font-size: 8px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.node-cloud {
  top: 75px;
  left: 55px;
}

.node-security {
  top: 64px;
  right: 45px;
}

.node-data {
  bottom: 64px;
  left: 44px;
}

.node-digital {
  bottom: 72px;
  right: 56px;
}

.telemetry {
  position: absolute;
  width: 120px;
  bottom: 14px;
  padding: 8px 10px;
  background: rgba(7,17,15,.72);
  border: 1px solid var(--dark-line);
}

.telemetry-a {
  left: 15px;
}

.telemetry-b {
  right: 15px;
}

.telemetry span {
  font-size: 7px;
  color: #75847d;
  display:block;
}

.telemetry strong {
  display:block;
  font: 700 13px var(--font-display);
  margin: 3px 0 5px;
}

.telemetry i {
  display:block;
  width: var(--w);
  height:2px;
  background: var(--lime);
}

.hero-foot {
  height: 120px;
  border-top: 1px solid var(--dark-line);
  display: grid;
  grid-template-columns: repeat(3, 1fr) 1.4fr;
  align-items: center;
}

.hero-foot > div {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 15px;
  border-right: 1px solid var(--dark-line);
}

.hero-foot > div:not(:first-child) {
  padding-left: 35px;
}

.hero-foot strong {
  font: 700 29px var(--font-display);
}

.hero-foot span {
  color:#8f9b96;
  font-size: 10px;
  line-height:1.4;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.hero-foot > p {
  text-align:right;
  color:#89948f;
  font-size:13px;
  line-height:1.6;
  margin:0;
}

.hero-foot > p b {
  color:var(--white);
}

.partner-strip {
  min-height: 92px;
  background: #e6e5df;
  display: flex;
  align-items:center;
  justify-content:center;
  gap: clamp(28px, 4vw, 65px);
  padding: 20px 40px;
  color:#6f7873;
  overflow:hidden;
}

.partner-strip span {
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.partner-strip div {
  font:700 13px var(--font-display);
  letter-spacing:.07em;
  color:#8a918d;
}

.capabilities {
  padding: 130px 0;
}

.section-heading {
  display:grid;
  grid-template-columns: 1.4fr .6fr;
  gap:80px;
  align-items:end;
  margin-bottom:64px;
}

.section-heading > p {
  color:#68716c;
  line-height:1.7;
  max-width:430px;
  margin:0 0 7px;
}

.service-grid {
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}

.service-card {
  min-height:390px;
  background:var(--white);
  padding:34px;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  transition: background .25s,color .25s;
}

.service-card.featured {
  background:#e7ebde;
}

.service-card:after {
  content:'';
  position:absolute;
  width:220px;
  height:220px;
  border:1px solid rgba(7,17,15,.08);
  border-radius:50%;
  right:-110px;
  top:-110px;
  transition:.35s;
}

.service-card:hover {
  background:var(--ink);
  color:var(--white);
}

.service-card:hover:after {
  width:300px;
  height:300px;
  border-color:rgba(184,243,75,.15);
}

.service-card:hover .service-description,
.service-card:hover > div > p {
  color:#9da8a3;
}

.service-card:hover .service-icon {
  background:var(--lime);
  color:var(--ink);
}

.service-top {
  display:flex;
  justify-content:space-between;
  align-items:start;
  position:relative;
  z-index:1;
}

.service-icon {
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  background:var(--ink);
  color:var(--lime);
  transition:.25s;
}

.service-number {
  color:#9da49f;
  font:600 11px var(--font-display);
}

.service-card > div > p {
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#737b76;
  margin-bottom:11px;
}

.service-card h3 {
  font-size:33px;
  letter-spacing:-.045em;
  margin-bottom:13px;
}

.service-card .service-description {
  font-size:14px;
  line-height:1.65;
  text-transform:none;
  letter-spacing:0;
  max-width:460px;
  margin:0;
  color:#68706c;
}

.circle-link {
  position:absolute;
  right:29px;
  bottom:29px;
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border:1px solid currentColor;
  border-radius:50%;
  opacity:.65;
}

.software {
  padding:130px 0;
  background:#0c1916;
  color:var(--white);
}

.software-head {
  display:grid;
  grid-template-columns:1.3fr .7fr;
  align-items:end;
  gap:80px;
  margin-bottom:60px;
}

.software-head > p {
  color:#9ba7a1;
  line-height:1.7;
  margin:0 0 5px;
  max-width:460px;
}

.software h2 em {
  color:#77847e;
}

.catalog-toolbar {
  border-bottom:1px solid var(--dark-line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:19px;
  margin-bottom:28px;
}

.filter-row {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}

.filter-button {
  border:1px solid var(--dark-line);
  background:transparent;
  color:#8d9993;
  padding:9px 14px;
  font-size:10px;
  cursor:pointer;
}

.filter-button:hover,
.filter-button.active {
  color:var(--ink);
  background:var(--lime);
  border-color:var(--lime);
}

.quote-list {
  border:0;
  background:transparent;
  color:var(--white);
  display:flex;
  gap:9px;
  align-items:center;
  cursor:pointer;
  font-size:12px;
  font-weight:700;
}

.quote-list span {
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--lime);
  color:var(--ink);
  font-size:9px;
}

.product-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px;
}

.product-card {
  min-height:310px;
  background:#13231f;
  border:1px solid rgba(255,255,255,.08);
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:.25s;
}

.product-card:hover {
  background:#172a25;
  border-color:rgba(184,243,75,.3);
  transform:translateY(-3px);
}

.product-top {
  display:flex;
  justify-content:space-between;
  align-items:start;
}

.product-logo {
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  background:var(--accent);
  color:#09120f;
  font:800 20px var(--font-display);
}

.popular {
  font-size:8px;
  letter-spacing:.14em;
  border:1px solid rgba(184,243,75,.35);
  color:var(--lime);
  padding:6px 8px;
}

.product-vendor {
  color:#7f8c86!important;
  text-transform:uppercase;
  font-size:9px!important;
  letter-spacing:.12em;
  margin-bottom:5px!important;
}

.product-card h3 {
  font-size:25px;
  margin-bottom:8px;
  letter-spacing:-.035em;
}

.product-card p {
  font-size:13px;
  color:#919d97;
  line-height:1.5;
  margin:0;
}

.product-bottom {
  display:flex;
  align-items:end;
  justify-content:space-between;
  border-top:1px solid var(--dark-line);
  padding-top:17px;
}

.product-bottom span {
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#74817b;
}

.product-bottom button {
  width:37px;
  height:37px;
  display:grid;
  place-items:center;
  border:1px solid var(--dark-line);
  color:var(--white);
  background:transparent;
  cursor:pointer;
  transition:.2s;
}

.product-bottom button:hover {
  background:var(--lime);
  color:var(--ink);
  border-color:var(--lime);
}

.catalog-note {
  min-height:85px;
  border:1px solid var(--dark-line);
  margin-top:13px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:15px;
  padding:20px 24px;
}

.catalog-note > span {
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  background:rgba(184,243,75,.12);
  color:var(--lime);
  border-radius:50%;
}

.catalog-note p {
  margin:0;
  color:#8d9993;
  font-size:12px;
}

.catalog-note p strong {
  color:#e1e7e4;
}

.catalog-note a {
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--lime);
  font-size:11px;
  font-weight:700;
}

.process {
  padding:130px 0;
}

.process-grid {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:120px;
}

.process-intro {
  position:sticky;
  top:60px;
  align-self:start;
}

.process-intro > p:not(.eyebrow) {
  color:#68716c;
  line-height:1.7;
  max-width:400px;
  margin:30px 0;
}

.dark-link {
  color:var(--ink);
}

.process-steps {
  border-top:1px solid var(--line);
}

.process-step {
  min-height:155px;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:60px 1fr auto;
  align-items:center;
  gap:25px;
}

.process-step > span {
  color:#8b948f;
  font:600 11px var(--font-display);
}

.process-step h3 {
  font-size:25px;
  margin-bottom:8px;
}

.process-step p {
  color:#68716c;
  font-size:13px;
  line-height:1.6;
  margin:0;
  max-width:520px;
}

.process-step > .icon {
  color:#9ca49f;
}

.work {
  background:var(--ink);
  color:var(--white);
  padding:130px 0;
}

.work-heading > p {
  color:#8e9a94;
}

.case-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px;
}

.case-card {
  background:#12221e;
  border:1px solid var(--dark-line);
}

.case-visual {
  height:250px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}

.case-visual:before,
.case-visual:after {
  content:'';
  position:absolute;
  border:1px solid rgba(7,17,15,.18);
  border-radius:50%;
}

.case-visual:before {
  width:220px;
  height:220px;
}

.case-visual:after {
  width:150px;
  height:150px;
}

.case-blue .case-visual {
  background:var(--blue);
}

.case-lime .case-visual {
  background:var(--lime);
}

.case-coral .case-visual {
  background:var(--coral);
}

.case-visual span {
  color:var(--ink);
  font:800 57px var(--font-display);
  letter-spacing:-.06em;
  position:relative;
  z-index:2;
}

.case-visual small {
  color:var(--ink);
  text-transform:uppercase;
  font-size:8px;
  letter-spacing:.13em;
  position:relative;
  z-index:2;
}

.case-visual i {
  position:absolute;
  width:8px;
  height:8px;
  background:var(--ink);
  border-radius:50%;
  top:22px;
  right:22px;
}

.case-copy {
  padding:25px;
}

.case-copy>p {
  font-size:9px;
  letter-spacing:.13em;
  color:#7d8983;
  margin-bottom:16px;
}

.case-copy h3 {
  font-size:22px;
  line-height:1.25;
  letter-spacing:-.03em;
  min-height:84px;
  margin:0;
}

.case-copy>div {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:18px;
  border-top:1px solid var(--dark-line);
}

.case-copy>div span {
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#78847e;
}

.case-copy a {
  width:35px;
  height:35px;
  border:1px solid var(--dark-line);
  display:grid;
  place-items:center;
  border-radius:50%;
}

.testimonial {
  padding:120px 0;
}

.quote-wrap {
  max-width:970px;
  text-align:center;
}

.quote-mark {
  color:var(--lime);
  font:800 85px/1 Georgia,serif;
  height:55px;
}

.quote-wrap blockquote {
  font:500 clamp(30px,4vw,50px)/1.25 var(--font-display);
  letter-spacing:-.045em;
  margin:25px auto 42px;
}

.quote-person {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:13px;
  text-align:left;
}

.quote-person>span {
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--ink);
  color:var(--lime);
  display:grid;
  place-items:center;
  font-size:11px;
  font-weight:700;
}

.quote-person p {
  margin:0;
  color:#77807b;
  font-size:11px;
  line-height:1.6;
}

.quote-person strong {
  color:var(--ink);
}

.contact {
  padding:125px 0;
}

.contact-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:115px;
}

.contact-copy h2 {
  font-size:clamp(52px,6vw,80px);
}

.contact-copy>p:not(.eyebrow) {
  color:#9aa59f;
  line-height:1.7;
  max-width:440px;
  margin:32px 0;
}

.contact-detail {
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--lime);
  font-size:13px;
}

.contact-form {
  background:#12211e;
  padding:37px;
  border:1px solid var(--dark-line);
}

.contact-form label,
.contact-form legend {
  display:grid;
  gap:9px;
  color:#9ba59f;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:700;
}

.contact-form input,
.contact-form textarea {
  width:100%;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.22);
  color:var(--white);
  padding:8px 0 12px;
  outline:none;
  resize:vertical;
  text-transform:none;
  letter-spacing:0;
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color:var(--lime);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color:#57625d;
}

.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px;
}

.contact-form>label,
.contact-form>fieldset {
  margin-top:28px;
}

.contact-form fieldset {
  padding:0;
  border:0;
}

.choice-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
  margin-top:4px;
}

.choice-grid label {
  display:block;
}

.choice-grid input {
  position:absolute;
  opacity:0;
}

.choice-grid span {
  display:block;
  padding:11px;
  border:1px solid var(--dark-line);
  color:#8e9993;
  cursor:pointer;
  text-align:center;
}

.choice-grid input:checked+span {
  border-color:var(--lime);
  color:var(--ink);
  background:var(--lime);
}

.submit-button {
  margin-top:30px;
  width:100%;
}

.form-success {
  min-height:430px;
  text-align:center;
  display:grid;
  place-items:center;
  align-content:center;
}

.form-success>.icon {
  color:var(--lime);
  margin-bottom:20px;
}

.form-success h3 {
  font-size:30px;
  margin-bottom:10px;
}

.form-success p {
  color:#8f9b95;
  max-width:340px;
  line-height:1.6;
}

.form-success .text-link {
  background:transparent;
  border:0;
  color:var(--lime);
  cursor:pointer;
}

footer {
  background:#e5e4de;
}

.footer-top {
  padding:70px 0 55px;
  display:grid;
  grid-template-columns:2fr 1fr 1.4fr 1fr;
  gap:50px;
}

.footer-top>div:first-child p {
  color:#707873;
  font-size:13px;
  margin-top:15px;
}

.footer-top h4 {
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin:0 0 20px;
}

.footer-top div:not(:first-child) {
  display:flex;
  flex-direction:column;
  gap:11px;
  font-size:12px;
  color:#68716c;
}

.footer-bottom {
  border-top:1px solid var(--line);
  min-height:75px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#818984;
  font-size:10px;
}

.footer-bottom div {
  display:flex;
  gap:25px;
}

.drawer-backdrop {
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  opacity:0;
  visibility:hidden;
  transition:.25s;
  z-index:80;
}

.drawer-backdrop.open {
  opacity:1;
  visibility:visible;
}

.quote-drawer {
  position:fixed;
  top:0;
  right:0;
  width:min(460px,100%);
  height:100vh;
  background:var(--paper);
  z-index:90;
  transform:translateX(100%);
  transition:.35s cubic-bezier(.76,0,.24,1);
  padding:34px;
  display:flex;
  flex-direction:column;
}

.quote-drawer.open {
  transform:none;
}

.drawer-head {
  display:flex;
  align-items:start;
  justify-content:space-between;
  padding-bottom:25px;
  border-bottom:1px solid var(--line);
}

.drawer-head .eyebrow {
  margin-bottom:8px;
}

.drawer-head h2 {
  font-size:31px;
  letter-spacing:-.04em;
}

.drawer-head button {
  background:transparent;
  border:0;
  cursor:pointer;
  padding:6px;
}

.drawer-items {
  flex:1;
  padding-top:20px;
  overflow:auto;
}

.drawer-item {
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}

.drawer-item .product-logo {
  width:40px;
  height:40px;
}

.drawer-item strong,
.drawer-item small {
  display:block;
}

.drawer-item strong {
  font:700 14px var(--font-display);
}

.drawer-item small {
  color:#747d78;
  font-size:10px;
  margin-top:5px;
}

.drawer-item button {
  border:0;
  background:transparent;
  color:#8a928e;
  cursor:pointer;
}

.drawer-empty {
  text-align:center;
  padding:100px 25px;
  color:#747d78;
}

.drawer-empty>.icon {
  margin:0 auto 20px;
}

.drawer-empty h3 {
  color:var(--ink);
  font-size:22px;
}

.drawer-empty p {
  font-size:13px;
  line-height:1.6;
}

.drawer-cta {
  width:100%;
  min-height:55px;
}

.toast {
  position:fixed;
  left:50%;
  bottom:25px;
  z-index:150;
  transform:translate(-50%,20px);
  background:var(--lime);
  color:var(--ink);
  padding:12px 18px;
  font-size:12px;
  font-weight:700;
  opacity:0;
  visibility:hidden;
  transition:.25s;
  box-shadow:var(--shadow);
}

.toast.show {
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}

.honeypot {
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

.form-error {
  color:#ff9d8e;
  font-size:11px;
  line-height:1.5;
  margin:15px 0 0;
}

.button:disabled {
  cursor:wait;
  opacity:.62;
  transform:none;
}

.app-loading {
  min-height:100vh;
  background:var(--ink);
  color:var(--white);
  display:grid;
  place-items:center;
  align-content:center;
  gap:18px;
}

.app-loading .logo-mark {
  width:38px;
  height:38px;
}

.app-loading p {
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#89958f;
}

.reveal {
  opacity:0;
  transform:translateY(25px);
  transition:opacity .7s ease var(--delay,0ms),transform .7s ease var(--delay,0ms);
}

.reveal.visible {
  opacity:1;
  transform:none;
}

.reveal-delay {
  --delay:120ms;
}

/* CMS */ .login-shell {
  min-height:100vh;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  background:var(--white);
}

.login-brand {
  background:var(--ink);
  color:var(--white);
  padding:48px clamp(35px,6vw,90px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
}

.login-brand:before {
  content:'';
  position:absolute;
  width:560px;
  height:560px;
  border:1px solid rgba(184,243,75,.11);
  border-radius:50%;
  right:-280px;
  top:15%;
  box-shadow:0 0 0 75px rgba(184,243,75,.025),0 0 0 150px rgba(184,243,75,.018);
}

.login-brand>div {
  position:relative;
  z-index:1;
}

.login-brand h1 {
  font:700 clamp(48px,5vw,76px)/.98 var(--font-display);
  letter-spacing:-.06em;
  margin:0 0 30px;
}

.login-brand h1 em {
  color:var(--lime);
  font-style:normal;
}

.login-brand>div>p:last-child {
  color:#8f9c96;
  font-size:15px;
  line-height:1.7;
  max-width:500px;
}

.login-brand>small {
  font-size:9px;
  color:#65716b;
  letter-spacing:.08em;
}

.login-panel {
  display:grid;
  place-items:center;
  padding:40px;
}

.login-card {
  width:min(410px,100%);
}

.login-icon {
  width:54px;
  height:54px;
  background:#e9f6cd;
  display:grid;
  place-items:center;
  margin-bottom:33px;
}

.login-card>.eyebrow {
  margin-bottom:12px;
}

.login-card h2 {
  font-size:42px;
  letter-spacing:-.05em;
  margin-bottom:12px;
}

.login-card>p:not(.eyebrow):not(.login-error) {
  color:#75807a;
  font-size:13px;
  line-height:1.65;
  margin-bottom:30px;
}

.login-card label {
  display:grid;
  gap:8px;
  margin-top:18px;
  color:#5f6964;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:700;
}

.login-card input {
  border:1px solid var(--line);
  background:#fafbf8;
  padding:13px 14px;
  outline:none;
}

.login-card input:focus {
  border-color:#7ea52f;
}

.login-card>.button {
  width:100%;
  min-height:52px;
  margin-top:12px;
}

.login-error {
  min-height:17px;
  color:#b64f40;
  font-size:10px;
  margin:10px 0 0;
}

.login-back {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:25px;
  color:#727c77;
  font-size:10px;
}

.login-back .icon {
  transform:rotate(180deg);
}

.cms-shell {
  min-height:100vh;
  background:#f4f5f2;
  color:var(--ink);
  display:grid;
  grid-template-columns:235px 1fr;
}

.cms-sidebar {
  background:var(--ink);
  color:var(--white);
  height:100vh;
  position:sticky;
  top:0;
  padding:28px 16px;
  display:flex;
  flex-direction:column;
  z-index:30;
}

.cms-brand {
  padding:0 10px 36px;
}

.cms-brand .logo {
  font-size:15px;
}

.cms-sidebar nav {
  display:grid;
  gap:5px;
}

.cms-sidebar nav button,
.cms-sidebar-bottom button,
.cms-sidebar-bottom a {
  width:100%;
  border:0;
  background:transparent;
  color:#85928c;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 13px;
  text-align:left;
  font-size:12px;
  cursor:pointer;
}

.cms-sidebar nav button:hover,
.cms-sidebar nav button.active {
  background:#15251f;
  color:var(--white);
}

.cms-sidebar nav button.active .icon {
  color:var(--lime);
}

.cms-sidebar nav button b {
  margin-left:auto;
  width:19px;
  height:19px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--lime);
  color:var(--ink);
  font-size:9px;
}

.cms-sidebar-bottom {
  margin-top:auto;
  border-top:1px solid var(--dark-line);
  padding-top:13px;
}

.cms-sidebar-bottom a:hover,
.cms-sidebar-bottom button:hover {
  color:var(--white);
}

.cms-main {
  min-width:0;
}

.cms-header {
  height:99px;
  background:var(--white);
  border-bottom:1px solid var(--line);
  padding:0 42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.cms-header h1 {
  font-size:25px;
  margin:5px 0 0;
  letter-spacing:-.03em;
}

.cms-breadcrumb {
  font-size:8px;
  color:#8a938e;
  letter-spacing:.15em;
}

.cms-user {
  display:flex;
  align-items:center;
  gap:11px;
}

.cms-user>span {
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--ink);
  color:var(--lime);
  font-size:10px;
  font-weight:700;
}

.cms-user strong,
.cms-user small {
  display:block;
}

.cms-user strong {
  font-size:11px;
}

.cms-user small {
  font-size:9px;
  color:#858e89;
  margin-top:3px;
}

.cms-menu {
  display:none;
  border:0;
  background:transparent;
}

.cms-content {
  padding:38px 42px;
  max-width:1450px;
}

.cms-welcome {
  background:var(--ink);
  color:var(--white);
  min-height:225px;
  padding:38px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
  margin-bottom:18px;
}

.cms-welcome:after {
  content:'';
  position:absolute;
  width:330px;
  height:330px;
  border:1px solid rgba(184,243,75,.16);
  border-radius:50%;
  right:-50px;
  top:-160px;
  box-shadow:0 0 0 55px rgba(184,243,75,.025),0 0 0 110px rgba(184,243,75,.02);
}

.cms-welcome>div {
  position:relative;
  z-index:1;
}

.cms-welcome h2 {
  font-size:40px;
  letter-spacing:-.045em;
  margin-bottom:10px;
}

.cms-welcome h2 em {
  color:var(--lime);
}

.cms-welcome>div>p:last-child {
  margin:0;
  color:#909d96;
  font-size:12px;
}

.cms-welcome .button {
  position:relative;
  z-index:2;
  background:var(--lime);
  color:var(--ink);
}

.stat-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:18px;
}

.stat-grid article {
  background:var(--white);
  border:1px solid var(--line);
  padding:20px;
  min-height:170px;
  position:relative;
}

.stat-icon {
  width:37px;
  height:37px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
}

.lime-bg {
  background:#e4f5bf;
}

.blue-bg {
  background:#d7effa;
}

.coral-bg {
  background:#f9ddd6;
}

.violet-bg {
  background:#e9e0f8;
}

.stat-grid article>p {
  font-size:10px;
  color:#79827d;
  margin-bottom:3px;
}

.stat-grid strong {
  font:800 31px var(--font-display);
  letter-spacing:-.04em;
}

.stat-grid small {
  display:block;
  color:#98a09c;
  font-size:9px;
  margin-top:8px;
}

.cms-dashboard-grid {
  display:grid;
  grid-template-columns:1.4fr .6fr;
  gap:14px;
}

.cms-card {
  background:var(--white);
  border:1px solid var(--line);
}

.cms-card-head {
  height:84px;
  border-bottom:1px solid var(--line);
  padding:0 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.cms-card-head .eyebrow {
  margin-bottom:5px;
}

.cms-card-head h3 {
  font-size:17px;
  margin:0;
}

.cms-card-head>button {
  border:0;
  background:transparent;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}

.cms-empty {
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#929b96;
}

.cms-empty p {
  font-size:11px;
  margin:12px 0;
}

.quick-card>.cms-card-head {
  margin-bottom:0;
}

.quick-card>button {
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  width:100%;
  min-height:76px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:14px 20px;
  text-align:left;
  cursor:pointer;
}

.quick-card>button>span {
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  background:#edf0ea;
}

.quick-card>button strong,
.quick-card>button small {
  display:block;
}

.quick-card>button strong {
  font:700 12px var(--font-display);
}

.quick-card>button small {
  color:#929a96;
  font-size:9px;
  margin-top:4px;
}

.lead-row {
  width:100%;
  min-height:65px;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  align-items:center;
  gap:12px;
  padding:10px 20px;
  text-align:left;
  cursor:pointer;
}

.lead-row:hover {
  background:#f8f8f5;
}

.lead-avatar {
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e8f1dd;
  color:#455333;
  font-size:9px;
  font-weight:700;
}

.lead-row strong,
.lead-row small {
  display:block;
}

.lead-row strong {
  font-size:11px;
}

.lead-row small {
  font-size:9px;
  color:#8c9590;
  margin-top:4px;
}

.lead-row>span:nth-child(3) {
  font-size:9px;
  color:#8c9590;
}

.lead-status {
  font-style:normal;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding:5px 7px;
  background:#eef0ed;
  color:#707974;
}

.lead-status.new {
  background:#e4f5bf;
  color:#466017;
}

.lead-status.contacted {
  background:#d7effa;
  color:#285d74;
}

.cms-page-head {
  min-height:62px;
  display:flex;
  align-items:start;
  justify-content:space-between;
  margin-bottom:22px;
}

.cms-page-head p {
  color:#707a75;
  font-size:12px;
  margin:0;
}

.cms-editor-grid {
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:15px;
  align-items:start;
}

.cms-form-card {
  padding:26px;
}

.cms-card-title {
  display:flex;
  gap:13px;
  align-items:center;
  border-bottom:1px solid var(--line);
  padding-bottom:20px;
  margin-bottom:22px;
}

.cms-card-title>span {
  width:38px;
  height:38px;
  background:#edf1e7;
  display:grid;
  place-items:center;
}

.cms-card-title h3 {
  font-size:16px;
  margin:0;
}

.cms-card-title p {
  color:#909995;
  font-size:9px;
  margin:4px 0 0;
}

.cms-form-card label,
.cms-modal form label {
  display:grid;
  gap:7px;
  color:#616a66;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:700;
  margin-top:18px;
}

.cms-form-card input,
.cms-form-card textarea,
.cms-modal input,
.cms-modal textarea,
.lead-detail select {
  border:1px solid var(--line);
  background:#fafbf8;
  padding:11px 12px;
  outline:none;
  resize:vertical;
  color:var(--ink);
  text-transform:none;
  letter-spacing:0;
}

.cms-form-card input:focus,
.cms-form-card textarea:focus,
.cms-modal input:focus,
.cms-modal textarea:focus {
  border-color:#7ca928;
}

.cms-tip {
  display:flex;
  gap:14px;
  margin-top:15px;
  padding:20px;
  background:#eaf3d8;
  border:1px solid #d9e5c1;
}

.cms-tip strong {
  font-size:11px;
}

.cms-tip p {
  font-size:10px;
  line-height:1.6;
  color:#69745f;
  margin:5px 0 0;
}

.collection-card {
  overflow:hidden;
}

.collection-tools {
  height:72px;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
}

.collection-tools>span {
  font-size:9px;
  color:#8d9691;
}

.cms-search {
  min-width:300px;
  height:37px;
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 11px;
  color:#8c9590;
}

.cms-search input {
  border:0;
  outline:0;
  background:transparent;
  width:100%;
  font-size:10px;
}

.collection-head,
.collection-row {
  display:grid;
  grid-template-columns:1.1fr 1.4fr .55fr .6fr;
  align-items:center;
  gap:20px;
  padding:0 20px;
}

.collection-head {
  height:40px;
  background:#f4f5f2;
  color:#8d9691;
  font-size:8px;
  letter-spacing:.11em;
}

.collection-row {
  min-height:70px;
  border-top:1px solid var(--line);
}

.collection-row:first-of-type {
  border-top:0;
}

.collection-name {
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.collection-name>span {
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  background:#edf0ea;
  flex:none;
}

.collection-name strong {
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.collection-row>p {
  font-size:9px;
  color:#7f8983;
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.status-toggle {
  border:0;
  background:transparent;
  display:flex;
  align-items:center;
  gap:7px;
  color:#8a938e;
  font-size:9px;
  cursor:pointer;
}

.status-toggle i {
  width:25px;
  height:14px;
  border-radius:10px;
  background:#c8ceca;
  position:relative;
}

.status-toggle i:after {
  content:'';
  position:absolute;
  left:2px;
  top:2px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:white;
  transition:.2s;
}

.status-toggle.live {
  color:#55751a;
}

.status-toggle.live i {
  background:#92bf39;
}

.status-toggle.live i:after {
  left:13px;
}

.row-actions {
  display:flex;
  justify-content:end;
  gap:4px;
}

.row-actions button {
  border:0;
  background:transparent;
  font-size:9px;
  cursor:pointer;
  padding:8px;
}

.row-actions button:first-child {
  color:#4a7024;
}

.row-actions .delete-button {
  color:#9a6258;
}

.leads-card {
  min-height:450px;
}

.lead-filters {
  display:flex;
  gap:5px;
}

.lead-filters button {
  border:1px solid var(--line);
  background:transparent;
  padding:7px 11px;
  font-size:9px;
}

.lead-filters button.active {
  background:var(--ink);
  color:white;
}

.leads-card .lead-row {
  min-height:73px;
}

.cms-empty.large {
  min-height:370px;
}

.cms-empty.large h3 {
  color:var(--ink);
  font-size:17px;
  margin:15px 0 5px;
}

.cms-empty.large p {
  margin:0 0 20px;
}

.cms-modal-layer {
  position:fixed;
  inset:0;
  z-index:100;
  visibility:hidden;
  opacity:0;
  transition:.2s;
}

.cms-modal-layer.open {
  visibility:visible;
  opacity:1;
}

.cms-modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(2,8,6,.58);
}

.cms-modal {
  position:absolute;
  right:0;
  top:0;
  height:100%;
  width:min(500px,100%);
  background:var(--white);
  padding:30px;
  overflow-y:auto;
  box-shadow:-20px 0 60px rgba(0,0,0,.14);
}

.cms-modal .drawer-head h2 {
  font-size:24px;
}

.cms-modal form {
  padding-top:10px;
}

.cms-modal form .button {
  width:100%;
  margin-top:24px;
  min-height:50px;
}

.cms-modal input[type=color] {
  height:44px;
  padding:4px;
  width:100%;
}

.cms-modal .check-label {
  display:flex;
  flex-direction:row;
  align-items:center;
  text-transform:none;
  letter-spacing:0;
  font-size:11px;
}

.cms-modal .check-label input {
  width:auto;
}

.lead-detail {
  padding-top:25px;
}

.lead-detail-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-bottom:28px;
}

.lead-detail-grid p {
  margin:0;
}

.lead-detail-grid span,
.detail-label {
  display:block;
  color:#87908b;
  font-size:8px;
  letter-spacing:.1em;
  margin-bottom:7px;
}

.lead-detail-grid strong,
.lead-detail-grid a {
  font-size:11px;
}

.lead-detail select {
  padding:4px;
}

.detail-tags {
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.detail-tags span {
  background:#e8f3d3;
  padding:7px 9px;
  font-size:9px;
}

.lead-message {
  margin:25px 0;
  padding:20px;
  background:#f1f2ee;
}

.lead-message p {
  font-size:12px;
  line-height:1.7;
  white-space:pre-wrap;
  margin:0;
}

.cms-toast {
  position:fixed;
}

@media (max-width: 980px) {
  .wrap {
    width:min(100% - 40px, 760px);
  }

  .desktop-nav,
  .desktop-cta {
    display:none;
  }

  .site-header {
    padding-inline:20px;
  }

  .header-actions {
    margin-left:auto;
  }

  .menu-button {
    display:block;
  }

  .mobile-nav {
    position:absolute;
    z-index:19;
    top:117px;
    left:0;
    right:0;
    background:var(--ink);
    color:white;
    padding:10px 20px 25px;
    transform:translateY(-120%);
    transition:.3s;
    display:grid;
    visibility:hidden;
  }

  .mobile-nav.open {
    transform:none;
    visibility:visible;
  }

  .mobile-nav a {
    padding:15px;
    border-bottom:1px solid var(--dark-line);
  }

  .hero-grid {
    grid-template-columns:1fr;
    gap:50px;
  }

  .hero-copy {
    padding-top:20px;
  }

  .system-visual {
    width:100%;
    max-width:600px;
    margin:auto;
  }

  .hero-foot {
    grid-template-columns:repeat(3,1fr);
    height:100px;
  }

  .hero-foot>p {
    display:none;
  }

  .partner-strip {
    justify-content:flex-start;
  }

  .section-heading,
  .software-head {
    grid-template-columns:1fr;
    gap:28px;
  }

  .product-grid,
  .case-grid {
    grid-template-columns:repeat(2,1fr);
  }

  .process-grid {
    grid-template-columns:1fr;
    gap:65px;
  }

  .process-intro {
    position:static;
  }

  .contact-grid {
    grid-template-columns:1fr;
    gap:60px;
  }

  .footer-top {
    grid-template-columns:2fr 1fr 1fr;
  }

  .footer-top>div:last-child {
    display:none;
  }

  .login-shell {
    grid-template-columns:1fr;
  }

  .login-brand {
    min-height:350px;
  }

  .login-brand>div>p:last-child {
    display:none;
  }

  .login-panel {
    padding-block:70px;
  }

  .cms-shell {
    grid-template-columns:1fr;
  }

  .cms-sidebar {
    position:fixed;
    left:0;
    top:0;
    width:235px;
    transform:translateX(-100%);
    transition:.25s;
  }

  .cms-sidebar.open {
    transform:none;
  }

  .cms-menu {
    display:block;
  }

  .cms-header {
    padding:0 25px;
    justify-content:flex-start;
    gap:20px;
  }

  .cms-user {
    margin-left:auto;
  }

  .cms-content {
    padding:28px 25px;
  }

  .stat-grid {
    grid-template-columns:repeat(2,1fr);
  }

  .cms-dashboard-grid,
  .cms-editor-grid {
    grid-template-columns:1fr;
  }

  .cms-welcome {
    align-items:center;
  }

  .collection-head,
  .collection-row {
    grid-template-columns:1fr 1fr .55fr;
  }

  .collection-head span:last-child,
  .collection-row .row-actions {
    display:none;
  }

}

@media (max-width: 640px) {
  .wrap {
    width:calc(100% - 32px);
  }

  .announcement {
    justify-content:flex-start;
    height:31px;
  }

  .announcement a {
    display:none;
  }

  .site-header {
    height:70px;
  }

  .logo {
    font-size:14px;
  }

  .hero-grid {
    padding-block:60px;
    min-height:0;
  }

  .hero h1 {
    font-size:62px;
  }

  .hero-lede {
    font-size:16px;
  }

  .hero-actions {
    align-items:flex-start;
    flex-direction:column;
    gap:22px;
  }

  .system-visual {
    height:420px;
  }

  .orbit-b {
    width:320px;
    height:320px;
  }

  .orbit-a {
    width:210px;
    height:210px;
  }

  .system-core {
    width:90px;
    height:90px;
  }

  .system-node {
    width:89px;
    padding:9px;
  }

  .node-cloud {
    left:16px;
  }

  .node-security {
    right:14px;
  }

  .node-data {
    left:14px;
  }

  .node-digital {
    right:16px;
  }

  .telemetry {
    display:none;
  }

  .hero-foot {
    height:auto;
    grid-template-columns:1fr;
    padding:15px 0;
  }

  .hero-foot>div {
    border-right:0;
    border-bottom:1px solid var(--dark-line);
    padding:16px!important;
  }

  .partner-strip {
    min-height:75px;
  }

  .partner-strip span {
    display:none;
  }

  .capabilities,
  .software,
  .process,
  .work,
  .testimonial,
  .contact {
    padding:85px 0;
  }

  .section-heading {
    margin-bottom:40px;
  }

  .service-grid {
    grid-template-columns:1fr;
  }

  .service-card {
    min-height:330px;
    padding:26px;
  }

  .product-grid,
  .case-grid {
    grid-template-columns:1fr;
  }

  .catalog-toolbar {
    align-items:flex-start;
    gap:20px;
    flex-direction:column;
  }

  .catalog-note {
    grid-template-columns:auto 1fr;
  }

  .catalog-note a {
    grid-column:2;
  }

  .process-step {
    grid-template-columns:35px 1fr;
  }

  .process-step>.icon {
    display:none;
  }

  .case-copy h3 {
    min-height:0;
    margin-bottom:30px;
  }

  .form-row,
  .choice-grid {
    grid-template-columns:1fr;
  }

  .contact-form {
    padding:25px;
  }

  .footer-top {
    grid-template-columns:1fr 1fr;
    gap:35px;
  }

  .footer-top>div:first-child {
    grid-column:1/-1;
  }

  .footer-bottom {
    align-items:flex-start;
    flex-direction:column;
    justify-content:center;
    gap:12px;
  }

  .footer-bottom div {
    gap:15px;
  }

  .login-brand {
    min-height:280px;
    padding:30px 24px;
  }

  .login-brand h1 {
    font-size:43px;
  }

  .login-panel {
    padding:50px 24px;
  }

  .login-card h2 {
    font-size:35px;
  }

  .cms-header {
    height:82px;
    padding:0 16px;
  }

  .cms-user div {
    display:none;
  }

  .cms-content {
    padding:22px 14px;
  }

  .cms-welcome {
    min-height:275px;
    padding:27px;
    align-items:flex-start;
    flex-direction:column;
    justify-content:center;
    gap:25px;
  }

  .cms-welcome h2 {
    font-size:32px;
  }

  .stat-grid {
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .stat-grid article {
    min-height:145px;
    padding:15px;
  }

  .cms-page-head {
    gap:15px;
    align-items:flex-start;
    flex-direction:column;
  }

  .collection-tools {
    height:auto;
    padding:14px;
    gap:12px;
    align-items:flex-start;
    flex-direction:column;
  }

  .cms-search {
    min-width:0;
    width:100%;
  }

  .collection-head,
  .collection-row {
    grid-template-columns:1fr .6fr;
    padding:0 12px;
  }

  .collection-head span:nth-child(2),
  .collection-row>p,
  .collection-head span:nth-child(4) {
    display:none;
  }

  .collection-row .row-actions {
    display:flex;
  }

  .collection-row .status-toggle {
    display:none;
  }

  .lead-row {
    grid-template-columns:auto 1fr auto;
  }

  .lead-row>span:nth-child(3) {
    display:none;
  }

  .lead-detail-grid {
    grid-template-columns:1fr;
  }

  .quote-drawer {
    padding:25px;
  }

}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior:auto;
  }

  .reveal {
    opacity:1;
    transform:none;
    transition:none;
  }

  .orbit-b,
  .core-pulse {
    animation:none;
  }

}
