:root {
  --bg: #063943;
  --bg-deep: #042e36;
  --bg-glow: #0b5360;
  --cream: #f4f0e8;
  --teal: #0d8196;
  --teal-bright: #1595a9;
  --orange: #f47a00;
  --orange-soft: rgba(244, 122, 0, .28);
  --text: rgba(244, 240, 232, .92);
  --text-soft: rgba(244, 240, 232, .78);
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  min-height: 100%;
  background: var(--bg);
}

body {
  font-family: "Lexend", system-ui, sans-serif;
  color: var(--cream);
}

.page {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  padding: 18px 28px 32px;
  background:
    radial-gradient(circle at 50% 34%, rgba(16, 98, 111, .26), transparent 30%),
    linear-gradient(180deg, #063943 0%, #042f38 100%);
}

.page::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .42;
  background-image:
    radial-gradient(circle, rgba(244,122,0,.72) 1px, transparent 1.4px),
    radial-gradient(circle, rgba(244,122,0,.28) .8px, transparent 1.2px);
  background-size: 118px 118px, 172px 172px;
  background-position: 14px 42px, 66px 18px;
}

.ambient {
  position: absolute;
  top: 43%;
  width: 41vw;
  height: 300px;
  opacity: .38;
  pointer-events: none;
  background:
    repeating-radial-gradient(ellipse at center,
      transparent 0 28px,
      rgba(244,122,0,.18) 29px 30px,
      transparent 31px 44px);
  mask-image: linear-gradient(to bottom, transparent, #000 25%, #000 70%, transparent);
}

.ambient-left { left: -18vw; transform: rotate(-8deg); }
.ambient-right { right: -18vw; transform: rotate(8deg); }

.brand,
.coming-soon,
.headline,
.hero-grid {
  position: relative;
  z-index: 2;
}

.brand {
  display: flex;
  justify-content: center;
}

.brand img {
  display: block;
  width: min(390px, 70vw);
  max-height: 110px;
  object-fit: contain;
}

.coming-soon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  margin: 6px 0 12px;
}

.coming-soon span {
  color: var(--orange);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .38em;
  text-indent: .38em;
}

.coming-soon i {
  display: block;
  width: 74px;
  height: 2px;
  border-radius: 99px;
  background: var(--orange);
}

.headline {
  width: min(1180px, 100%);
  margin: 0 auto 20px;
  text-align: center;
}

.headline h1 {
  margin: 0;
  font-size: clamp(2.8rem, 5.6vw, 5.5rem);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 700;
}

.headline h1 span {
  color: var(--orange);
}

.hero-grid {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
  gap: 46px;
  align-items: center;
}

.copy-column {
  padding: 10px 0 18px;
}

.copy-column p {
  margin: 0 0 16px;
  max-width: 535px;
  color: var(--text-soft);
  font-size: clamp(.92rem, 1.25vw, 1.08rem);
  line-height: 1.5;
  font-weight: 300;
}

.copy-column .lead {
  color: var(--cream);
  font-size: clamp(1.12rem, 1.55vw, 1.38rem);
  line-height: 1.55;
  font-weight: 600;
  margin-bottom: 24px;
}

.copy-column .lead strong {
  color: var(--orange);
  font-weight: 700;
}

.copy-column strong.plain {
  color: var(--cream);
  font-weight: 500;
}

.cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  margin-top: 8px;
  padding: 14px 26px;
  border-radius: 12px;
  color: #fff;
  text-decoration: none;
  font-size: 1.08rem;
  font-weight: 700;
  background: linear-gradient(180deg, #ff8610 0%, #e76d00 100%);
  box-shadow: 0 12px 30px rgba(0,0,0,.24);
}

.cta:hover { filter: brightness(1.04); }

.industry-visual {
  position: relative;
  min-height: 520px;
}

.outer-orbit,
.inner-orbit {
  position: absolute;
  border-radius: 50%;
  border: 1.3px solid rgba(244,122,0,.58);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.outer-orbit {
  width: 465px;
  height: 465px;
}

.inner-orbit {
  width: 300px;
  height: 300px;
  border-style: dashed;
  opacity: .6;
}

.bob {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: -2px;
  transform: translateX(-50%);
  width: min(330px, 55%);
  filter: drop-shadow(0 16px 30px rgba(0,0,0,.28));
}

.industry {
  position: absolute;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 155px;
  text-align: center;
}

.industry-smb { left: 3px; top: 40px; }
.industry-mfg { right: 3px; top: 40px; }
.industry-power { left: 0; bottom: 32px; }
.industry-logistics { right: 0; bottom: 32px; }

.industry-icon {
  position: relative;
  width: 105px;
  height: 105px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, #0a4d5a, #073b46);
  border: 7px solid var(--teal-bright);
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.03),
    0 8px 20px rgba(0,0,0,.18);
}

.industry-icon::before,
.industry-icon::after {
  content: "";
  position: absolute;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--orange);
  border: 2px solid rgba(255,255,255,.06);
}

.industry-icon::before { right: -3px; top: 8px; }
.industry-icon::after { left: -3px; bottom: 7px; }

.industry-icon svg {
  width: 58px;
  height: 58px;
  fill: none;
  stroke: white;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.industry-label {
  color: #fff;
  font-size: .92rem;
  line-height: 1.2;
  font-weight: 500;
  text-shadow: 0 2px 9px rgba(0,0,0,.28);
}

@media (min-width: 900px) and (max-height: 900px) {
  .page { padding-top: 10px; }
  .brand img { width: min(330px, 64vw); max-height: 86px; }
  .coming-soon { margin: 2px 0 8px; }
  .headline { margin-bottom: 12px; }
  .headline h1 { font-size: clamp(2.5rem, 4.8vw, 4rem); }

  .hero-grid {
    grid-template-columns: minmax(0, .95fr) minmax(460px, 1.05fr);
    gap: 34px;
  }

  .copy-column p {
    font-size: .84rem;
    line-height: 1.38;
    margin-bottom: 10px;
  }

  .copy-column .lead {
    font-size: 1.06rem;
    line-height: 1.42;
    margin-bottom: 16px;
  }

  .industry-visual { min-height: 405px; }
  .outer-orbit { width: 365px; height: 365px; }
  .inner-orbit { width: 235px; height: 235px; }
  .bob { width: min(265px, 52%); }

  .industry { width: 132px; }
  .industry-icon { width: 82px; height: 82px; border-width: 6px; }
  .industry-icon svg { width: 44px; height: 44px; }
  .industry-icon::before,
  .industry-icon::after { width: 10px; height: 10px; }

  .industry-label { font-size: .76rem; }
  .industry-smb { left: 10px; top: 24px; }
  .industry-mfg { right: 10px; top: 24px; }
  .industry-power { left: 7px; bottom: 16px; }
  .industry-logistics { right: 7px; bottom: 16px; }

  .cta { padding: 11px 22px; font-size: .95rem; min-width: 190px; }
}

@media (max-width: 900px) {
  .page { padding: 18px 18px 42px; }
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .copy-column {
    text-align: center;
  }

  .copy-column p {
    margin-left: auto;
    margin-right: auto;
  }

  .industry-visual {
    width: min(610px, 100%);
    margin: 0 auto;
  }
}

@media (max-width: 620px) {
  .headline h1 {
    font-size: clamp(2.6rem, 12vw, 4rem);
  }

  .industry-visual {
    min-height: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 10px;
    padding-top: 10px;
  }

  .outer-orbit,
  .inner-orbit {
    display: none;
  }

  .bob {
    position: relative;
    grid-column: 1 / -1;
    left: auto;
    bottom: auto;
    transform: none;
    width: min(300px, 86%);
    margin: 0 auto;
    order: 2;
  }

  .industry {
    position: relative;
    inset: auto !important;
    width: auto;
  }

  .industry-smb,
  .industry-mfg { order: 1; }

  .industry-power,
  .industry-logistics { order: 3; }

  .industry-icon {
    width: 86px;
    height: 86px;
  }

  .industry-icon svg {
    width: 47px;
    height: 47px;
  }

  .industry-label {
    font-size: .78rem;
  }
}


/* v7: launch email signup */
.signup-form {
  display: flex;
  align-items: stretch;
  gap: 10px;
  width: min(100%, 500px);
  margin-top: 10px;
}

.signup-form input {
  flex: 1;
  min-width: 0;
  padding: 14px 15px;
  border-radius: 12px;
  border: 1px solid rgba(244, 240, 232, .24);
  background: rgba(255,255,255,.055);
  color: var(--cream);
  font: inherit;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.signup-form input::placeholder {
  color: rgba(244, 240, 232, .42);
}

.signup-form input:focus {
  border-color: rgba(244,122,0,.82);
  box-shadow: 0 0 0 3px rgba(244,122,0,.12);
}

.signup-form .cta {
  margin-top: 0;
  border: 0;
  cursor: pointer;
  min-width: 150px;
}

.signup-form .cta:disabled {
  opacity: .68;
  cursor: wait;
}

.signup-status {
  min-height: 1.4em;
  margin: 8px 0 0;
  color: var(--text-soft);
  font-size: .82rem;
  line-height: 1.4;
}

.signup-status.success {
  color: #b7e4c7;
}

.signup-status.error {
  color: #ffd2c2;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 620px) {
  .signup-form {
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
  }

  .signup-form .cta {
    width: 100%;
  }
}
