:root {
  color-scheme: light;
}

body {
  font-family: "Manrope Variable", Manrope, "Segoe UI", sans-serif;
}

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

:focus-visible {
  outline: 3px solid rgba(8, 123, 120, 0.42);
  outline-offset: 3px;
}

.contact-form[data-submitted="true"] {
  border-color: #24aaa0;
  box-shadow: 0 18px 48px rgba(8, 123, 120, 0.14);
}

.contact-form button[aria-busy="true"] {
  cursor: wait;
  opacity: 0.72;
}

/* Contact pages: the form is the primary action, supporting paths stay compact. */
.contact-hero {
  position: relative;
  overflow: hidden;
}

.contact-hero::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -110px;
  top: -230px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(36, 170, 160, 0.14), rgba(36, 170, 160, 0) 70%);
  pointer-events: none;
}

.contact-section {
  padding-top: 58px;
}

.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  grid-template-areas:
    "form intro"
    "form guide";
  gap: 24px 34px;
  align-items: start;
}

.contact-panel {
  display: contents;
  position: static;
}

.contact-form {
  grid-area: form;
  position: relative;
  overflow: hidden;
  gap: 17px;
  padding: clamp(26px, 3vw, 40px);
  border-color: rgba(8, 123, 120, 0.2);
  box-shadow: 0 28px 70px rgba(10, 49, 69, 0.11);
}

.contact-form::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #087b78, #24aaa0, #7de2da);
}

.contact-form label {
  display: grid;
  gap: 7px;
  color: #294b62;
  font-weight: 700;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  min-height: 54px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.contact-form textarea {
  min-height: 154px;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: #24aaa0;
  box-shadow: 0 0 0 4px rgba(36, 170, 160, 0.12);
  outline: none;
}

.contact-form .btn {
  width: 100%;
  min-height: 54px;
}

.form-status {
  display: block;
  margin: 0;
  padding: 12px 14px;
  border-radius: 13px;
  font-size: 13px;
  font-weight: 750;
}

.form-status:empty {
  display: none;
}

.contact-form[data-form-state="success"] .form-status {
  color: #075e5b;
  background: #e5f7f5;
  border: 1px solid #b8e4df;
}

.contact-form[data-form-state="error"] .form-status {
  color: #873f32;
  background: #fff3ef;
  border: 1px solid #efcec5;
}

.contact-intro {
  grid-area: intro;
  min-width: 0;
}

.contact-intro .feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 30px;
}

.contact-intro .feature {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 68px;
  padding: 12px 13px;
  border: 1px solid #d9e8e9;
  border-radius: 16px;
  background: linear-gradient(145deg, #fff, #f5fbfb);
  box-shadow: 0 10px 26px rgba(10, 49, 69, 0.045);
}

.contact-intro .feature:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.contact-intro .feature i {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin: 0;
  border-radius: 10px;
  color: #087b78;
  background: #e5f7f5;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
}

.contact-intro .feature h3 {
  margin: 0;
  font-size: 14px;
  line-height: 1.3;
}

.contact-intro > h2 {
  margin-top: 28px;
  font-size: 30px;
}

.contact-panel > .card:not(.contact-form) {
  grid-area: guide;
  padding: 24px;
  background: linear-gradient(150deg, #f7fcfc, #fff);
}

.contact-panel > .card:not(.contact-form) .btn {
  width: 100%;
}

.enhanced-page {
  background: #fbfdfd;
  font-family: "Manrope Variable", Manrope, "Segoe UI", sans-serif !important;
}

.enhanced-page [style*="JetBrains Mono"] {
  font-family: "JetBrains Mono Variable", "JetBrains Mono", monospace !important;
}

.enhanced-page [data-burger] {
  align-items: center;
  justify-content: center;
}

@media (min-width: 1081px) {
  .enhanced-page [data-step-spacer] {
    height: 0 !important;
  }

  .home-hero {
    padding: 40px 0 50px !important;
  }

  .home-hero__fade {
    height: 82px !important;
  }

  .home-hero__layout {
    gap: 40px !important;
  }

  .home-hero__title {
    margin-top: 18px !important;
    font-size: clamp(38px, 4.15vw, 58px) !important;
  }

  .home-hero__intro {
    margin-top: 17px !important;
    font-size: 16.5px !important;
    line-height: 1.54 !important;
  }

  .home-hero__actions {
    margin-top: 22px !important;
  }

  .home-hero__actions > a {
    padding: 14px 22px !important;
  }

  .home-hero__route-note {
    margin-top: 20px !important;
  }

  .home-hero__legal-note {
    margin-top: 10px !important;
  }

  .home-hero__ecosystem-panel {
    padding: 18px !important;
    border-radius: 27px !important;
  }

  .home-hero__ecosystem-grid {
    min-height: 342px !important;
    gap: 10px !important;
  }

  .home-hero__ecosystem-card {
    padding: 12px !important;
    border-radius: 17px !important;
  }

  .home-hero__ecosystem-card > div:first-child {
    width: 32px !important;
    height: 32px !important;
    margin-bottom: 6px !important;
  }

  .home-hero__ecosystem-card > b {
    font-size: 12.5px !important;
  }

  .home-hero__ecosystem-card > small {
    margin-top: 3px !important;
    font-size: 10.4px !important;
    line-height: 1.35 !important;
  }

  .home-hero__ecosystem-center {
    width: min(100%, 252px) !important;
    gap: 3px !important;
    padding: 11px !important;
    border-radius: 18px !important;
  }

  .home-hero__ecosystem-center img {
    width: 32px !important;
    height: 32px !important;
  }

  .home-hero__ecosystem-route {
    margin-top: 10px !important;
    padding: 8px !important;
  }

  .home-proof-strip {
    padding: 4px 0 18px !important;
  }

  .home-proof-grid {
    gap: 12px !important;
  }

  .home-proof-card {
    gap: 10px !important;
    padding: 11px 13px !important;
    border-radius: 17px !important;
  }

  .home-proof-card > div:first-child {
    width: 38px !important;
    height: 38px !important;
    border-radius: 12px !important;
  }
}

.owners-result-spacer {
  display: none !important;
  height: 0 !important;
}

.owners-result-section {
  padding-bottom: 36px !important;
}

@media (max-width: 1080px) {
  .contact-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "form"
      "intro"
      "guide";
  }

  .contact-form {
    max-width: 760px;
  }
}

@media (max-width: 700px) {
  .contact-section {
    padding-top: 36px;
  }

  .contact-form {
    padding: 22px 18px;
  }

  .contact-intro .feature-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-intro .feature:last-child:nth-child(odd) {
    grid-column: auto;
  }

  .enhanced-page [data-hero-wash] {
    background: linear-gradient(
      180deg,
      #fff 0%,
      #fff 68%,
      rgba(255, 255, 255, 0.92) 78%,
      rgba(255, 255, 255, 0.28) 92%,
      rgba(255, 255, 255, 0) 100%
    ) !important;
  }

  .enhanced-page [data-topbar] > div:not([data-progress]) {
    width: min(100% - 28px, 1240px) !important;
    min-height: 74px !important;
  }

  .enhanced-page [data-topbar] > [data-progress] {
    height: 2px !important;
    min-height: 0 !important;
  }

  .enhanced-page [data-topbar] [data-home] small {
    display: none !important;
  }

  .enhanced-page [data-topbar] [data-home] img {
    width: 40px !important;
    height: 40px !important;
  }

  .enhanced-page [style*="minmax(340px"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .enhanced-page [style*="minmax(320px"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .enhanced-page [style*="justify-content:flex-end"] {
    justify-content: flex-start !important;
  }
}

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

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
