@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/inter-1.ttf) format("truetype");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/inter-2.ttf) format("truetype");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/inter-3.ttf) format("truetype");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/inter-4.ttf) format("truetype");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/inter-5.ttf) format("truetype");
}

*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: currentColor;
}

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
}

button,
input,
select,
textarea {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
  background-color: transparent;
  border-radius: 0;
}

button,
input[type="button"],
input[type="submit"] {
  appearance: button;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

p,
fieldset,
legend {
  margin: 0;
  padding: 0;
}

img,
svg,
video {
  display: block;
}

img,
video {
  max-width: 100%;
  height: auto;
}

summary {
  display: list-item;
}

[hidden] {
  display: none !important;
}

:root {
  --ink: #161619;
  --black: #0a0a0b;
  --red: #00b377;
  --red-hover: #00cc88;
  --line: #e5e5e8;
  --off: #f9fafb;
  --green: #8fb79d;
  --font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  margin: 0;
  background: var(--off);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
}

button,
input,
a {
  -webkit-tap-highlight-color: transparent;
}

button,
input {
  font: inherit;
}

button,
a {
  touch-action: manipulation;
}

button {
  cursor: pointer;
}

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

button {
  border: 0;
}

button:disabled {
  cursor: not-allowed;
}

input {
  min-width: 0;
}

::selection {
  color: #fff;
  background: #188759c4;
}

::-moz-selection {
  color: #fff;
  background: #188759c4;
}

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

h1,
h2,
h3 {
  font-weight: 600;
}

p {
  line-height: 1.7;
}

h2 {
  font-size: clamp(34px, 3.1vw, 46px);
  line-height: 1.13;
  letter-spacing: -1.9px;
}

h3 {
  letter-spacing: -0.6px;
}

.container {
  width: min(1280px, calc(100% - 112px));
  margin-inline: auto;
}

.section-pad {
  padding-block: 105px;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  letter-spacing: 1.8px;
  font-weight: 600;
  line-height: 1.5;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  padding: 18px 22px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  transition:
    background 0.2s,
    transform 0.2s,
    box-shadow 0.2s;
}

.button.primary {
  background: #00ad73;
  color: #fff;
}

.button.primary:hover {
  background: var(--red-hover);
  box-shadow: 0 5px 24px #30ff971f;
  transform: translateY(-1px);
}

.button.primary:active {
  transform: translateY(0);
}

.button.primary:disabled {
  background: #e5e5e8;
  color: #8e8e94;
  box-shadow: none;
  transform: none;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 600;
  background: none;
  padding: 0;
}

.text-link:hover {
  gap: 17px;
}

.icon-button {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  background: transparent;
  border-radius: 50%;
}

.icon-button:hover {
  background: #f0f0f2;
}

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

.site-header {
  position: fixed;
  z-index: 50;
  top: 0;
  inset-inline: 0;
  height: 89px;
  background: #0a0a0b92;
  backdrop-filter: blur(18px);
  border-bottom: 1px solid #ffffff0d;
  transition:
    background 0.3s,
    height 0.3s;
}

.site-header.scrolled {
  height: 75px;
  background: #0a0a0bef;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1280px, calc(100% - 112px));
  height: 100%;
  margin: auto;
}

.site-header nav {
  display: flex;
  gap: 35px;
  margin-left: 65px;
}

.site-header nav a {
  color: #bcbcc1;
  font-size: 14px;
  transition: color 0.2s;
}

.site-header nav a:hover {
  color: #fff;
}

.site-header.has-company-navigation #main-nav {
  align-items: center;
}

.company-nav {
  position: relative;
  flex: 0 0 auto;
}

.company-nav-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 0;
  margin: 0;
  background: transparent;
  color: #bcbcc1;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  white-space: nowrap;
}

.company-nav-toggle:hover,
.company-nav-toggle[aria-expanded="true"] {
  color: #fff;
}

.company-nav-chevron {
  flex: 0 0 auto;
  transition: transform 0.16s ease;
}

.company-nav-toggle[aria-expanded="true"] .company-nav-chevron {
  transform: rotate(180deg);
}

.company-nav-toggle:focus-visible {
  outline: 2px solid #45b996;
  outline-offset: 5px;
  border-radius: 2px;
}

.company-nav-panel {
  position: absolute;
  z-index: 60;
  top: 100%;
  right: 0;
  width: 200px;
  padding-top: 10px;
}

.company-nav-menu {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 7px;
  list-style: none;
  border: 1px solid #222427;
  border-radius: 11px;
  background: #0a0a0bfa;
  box-shadow: 0 12px 30px #0008;
}

.site-header .company-nav-menu a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 9px 10px;
  border: 0;
  border-radius: 6px;
  color: #c8c9ce;
  font-size: 15px;
  line-height: 1.4;
  white-space: nowrap;
  transition:
    color 0.16s ease,
    background 0.16s ease;
}

.company-nav-menu a > svg {
  flex: 0 0 auto;
  color: #9b9da5;
}

.site-header .company-nav-menu a:is(:hover, :focus-visible) {
  color: #42ad90;
  background: #1b1d21;
}

.company-nav-menu a:is(:hover, :focus-visible) > svg {
  color: currentColor;
}

.site-header .company-nav-menu a:focus-visible {
  outline: 2px solid #42ad90;
  outline-offset: -2px;
}

.brand-logo {
  display: block;
  width: 210px;
  height: auto;
}

.footer-top .brand-logo {
  width: 190px;
}

.direct-form-btn {
  display: flex;
  align-items: center;
  gap: 19px;
  color: #f3f3f4;
  border: 1px solid #30ff9b7c;
  padding: 11px 15px;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 500;
  transition:
    border-color 0.2s,
    background 0.2s;
}

.direct-form-btn:hover {
  border-color: var(--red);
  background: #30ffa90b;
}

.menu-toggle,
.mobile-login {
  display: none !important;
}

.hero {
  background: var(--black);
  color: #fff;
  padding-top: 89px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  align-items: center;
  min-height: 659px;
  padding-block: 69px 62px;
  gap: 0;
}

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

.funding-badge {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #1cb064d4;
  border-radius: 4px;
  padding: 6px 10px 6px 7px;
  font-size: 12px;
  color: #e3e3e6;
  font-weight: 500;
  background: #ffffff02;
  margin-bottom: 26px;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.funding-badge > span {
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border-radius: 3px;
  color: #fff;
  background: #30ff860b;
}

.funding-badge > svg {
  margin-left: 5px;
  color: #9c9ca4;
  transition: color 180ms ease;
}

.funding-badge:is(:hover, :focus-visible) {
  color: #fff;
  background-color: #123b2c;
  border-color: #389c68;
  box-shadow: 0 0 0 1px #69ffb133, 0 0 18px #00b3773d;
}

.funding-badge:is(:hover, :focus-visible) > svg {
  color: #aaffcc;
}

@media screen and (prefers-reduced-motion: no-preference) {
  .funding-badge::before,
  .funding-badge::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    transition: opacity 160ms ease;
  }

  .funding-badge::before {
    inset: -12px 0;
    background: linear-gradient(
      112deg,
      rgb(202 255 223 / 0%) 18%,
      rgb(202 255 223 / 1%) 26%,
      rgb(202 255 223 / 4%) 34%,
      rgb(202 255 223 / 13%) 42%,
      rgb(202 255 223 / 24%) 50%,
      rgb(202 255 223 / 13%) 58%,
      rgb(202 255 223 / 4%) 66%,
      rgb(202 255 223 / 1%) 74%,
      rgb(202 255 223 / 0%) 82%
    );
    filter: blur(6px);
    animation: funding-badge-shine 5s ease-in-out infinite;
  }

  .funding-badge::after {
    inset: 0 auto auto 0;
    width: 144px;
    height: 88px;
    background: radial-gradient(
      ellipse closest-side,
      rgb(202 255 223 / 27%) 0%,
      rgb(159 250 204 / 19%) 24%,
      rgb(80 236 162 / 10%) 52%,
      rgb(80 236 162 / 3%) 78%,
      rgb(80 236 162 / 0%) 100%
    );
    filter: blur(5px);
    opacity: 0;
    transform: translate(
      calc(var(--funding-badge-x, 0px) - 50%),
      calc(var(--funding-badge-y, 0px) - 50%)
    );
    transition: transform 220ms ease-out, opacity 260ms ease-in-out;
  }

  .funding-badge:is(.is-pointer-over, :focus-visible)::before {
    animation-play-state: paused;
    opacity: 0;
  }

  .funding-badge.is-pointer-over::after {
    opacity: 1;
  }

  @keyframes funding-badge-shine {
    0% {
      transform: translateX(-100%);
    }
    32%,
    100% {
      transform: translateX(100%);
    }
  }
}

.hero h1 {
  font-size: clamp(44px, 4.1vw, 62px);
  letter-spacing: -2.9px;
  font-weight: 600;
  line-height: 1.08;
  max-width: 740px;
}

.hero h1 > span {
  color: #9c9caa;
}

.hero-description {
  font-size: 14px;
  line-height: 1.8;
  color: #a8a8b1;
  margin-top: 23px;
}

.postal-form {
  display: flex;
  align-items: stretch;
  background: #fff;
  padding: 5px;
  border-radius: 8px;
  width: calc(100% - 2px);
  max-width: 590px;
  margin-top: 29px;
  border: 1px solid #ffffff44;
  box-shadow: 0 3px 16px #0002;
}

.postal-label {
  display: flex;
  align-items: center;
  gap: 11px;
  padding-inline: 12px;
  min-width: 0;
  flex: 1;
  color: #88888e;
}

.postal-label input {
  width: 100%;
  background: none;
  border: 0;
  padding: 13px 0;
  color: #17171b;
  font-size: 14px;
  outline: 0;
}

.postal-label input::placeholder {
  color: #7b7b83;
}

.postal-label:focus-within {
  outline: none;
  outline-offset: -2px;
  border-radius: 4px;
}

.postal-form .button {
  border-radius: 5px;
  padding: 16px 17px;
  font-size: 13px;
  gap: 16px;
}

.micro-trust {
  display: flex;
  gap: 20px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.micro-trust > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: #c1c1c8;
}

.micro-trust svg {
  color: var(--green);
}

.postal-error {
  color: #f3685b;
  font-size: 12px;
  margin-top: 9px;
}

.product-scene {
  height: 474px;
  position: relative;
  perspective: 1300px;
  margin-left: 12px;
  align-self: start;
  isolation: isolate;
  min-width: 0;
}

.pump-stage {
  position: absolute;
  inset: 65px -15px 28px 7px;
  perspective: 1300px;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}

.pump-stage.dragging {
  cursor: grabbing;
}

.pump-stage * {
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}

.pump-float {
  pointer-events: none;
  width: 420px;
  height: 300px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -150px;
  margin-left: -210px;
  transform-style: preserve-3d;
  animation: levitate 8s ease-in-out infinite;
}

.heat-pump {
  width: 420px;
  height: 300px;
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.35s ease;
}

.dragging .heat-pump {
  transition: none;
}

.pump-face {
  position: absolute;
  backface-visibility: hidden;
}

.pump-front {
  width: 420px;
  height: 300px;
  border: 1px solid #65666a;
  border-radius: 7px;
  background: linear-gradient(110deg, #414347, #28292d 44%, #38393d 100%);
  transform: translateZ(70px);
  box-shadow:
    inset 0 1px 2px #b5b5b580,
    inset 1px 0 2px #7777,
    inset 0 -2px 1px #111;
  overflow: hidden;
}

.pump-front-inset {
  position: absolute;
  inset: 6px;
  border: 1px solid #0004;
  border-radius: 4px;
  background-image: none;
}

.fan-shell {
  position: absolute;
  left: 24px;
  top: 25px;
  width: 242px;
  height: 242px;
  border-radius: 50%;
  background: #17181b;
  border: 3px solid #515256;
  box-shadow:
    0 1px 0 #7777,
    inset 0 0 10px #000,
    0 3px 7px #0008;
  overflow: hidden;
}

.fan-assembly {
  position: absolute;
  inset: 7px;
  width: calc(100% - 14px);
  height: calc(100% - 14px);
  display: block;
}

.fan-rotor {
  transform-origin: 112px 112px;
  animation: fan-spin 38s linear infinite;
  opacity: 0.9;
}

.pump-control {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 119px;
  border-left: 1px solid #17181b;
  background: linear-gradient(110deg, #343539, #2c2d31);
  box-shadow: inset 1px 0 0 #595a5d44;
  padding: 30px 20px;
}

.pump-lower-vent {
  position: absolute;
  left: 30px;
  bottom: 13px;
  width: 228px;
  height: 5px;
  background: repeating-linear-gradient(
    90deg,
    #111214 0,
    #111214 2px,
    transparent 3px,
    transparent 4px
  );
}

.screw {
  width: 3px;
  height: 3px;
  background: linear-gradient(45deg, #1b1c20, #8a8b8f);
  border-radius: 50%;
  position: absolute;
  border: 1px solid #0004;
}

.screw-one {
  top: 12px;
  left: 12px;
}

.screw-two {
  top: 12px;
  right: 11px;
}

.screw-three {
  bottom: 12px;
  left: 12px;
}

.screw-four {
  bottom: 12px;
  right: 11px;
}

.pump-right {
  width: 140px;
  height: 300px;
  transform: rotateY(90deg) translateZ(210px);
  background: linear-gradient(90deg, #28292c, #141518);
  border: 1px solid #44454a;
  border-radius: 4px;
  overflow: hidden;
}

.side-vents {
  position: absolute;
  inset: 45px 17px 25px;
  background: repeating-linear-gradient(0deg, #101114 0, #101114 3px, #43444a 4px, #242529 6px);
  border-radius: 2px;
  border: 1px solid #0007;
  opacity: 0.75;
}

.pump-right > span {
  position: absolute;
  top: 18px;
  left: 18px;
  font-size: 5px;
  color: #62646d;
  letter-spacing: 1.5px;
}

.pump-top {
  width: 420px;
  height: 140px;
  transform: rotateX(90deg) translateZ(150px);
  background: linear-gradient(90deg, #535459, #3b3c40 75%, #2c2d31);
  border: 1px solid #6b6c72;
  border-radius: 5px;
  box-shadow: inset 0 0 0 7px #0001;
}

.pump-back {
  transform: rotateY(180deg) translateZ(70px);
  background: #1f2023;
  border-radius: 6px;
}

.pump-foot {
  position: absolute;
  top: 299px;
  background: linear-gradient(90deg, #18191a, #3c3d40);
  border: 1px solid #44454a;
  transform: translateZ(35px);
  border-radius: 0 0 3px 3px;
}

.foot-one {
  left: 34px;
}

.foot-two {
  right: 25px;
}

@keyframes fan-spin {
  to {
    transform: rotate(360deg);
  }
}

.trust-bar {
  background: #101012;
  color: #78787f;
  border-top: 1px solid #ffffff04;
  padding: 30px 0 25px;
}

.trust-bar p {
  font-size: 10px;
  line-height: 1.8;
  letter-spacing: 1.7px;
  max-width: 160px;
}

.section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 35px;
  margin-bottom: 38px;
}

.section-header .eyebrow {
  margin-bottom: 17px;
  color: #73737b;
}

.section-header > p {
  font-size: 14px;
  line-height: 1.8;
  color: #777780;
  margin-bottom: 4px;
}

.process {
  background: var(--off);
}

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

.process-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 25px 26px 0;
  position: relative;
  overflow: hidden;
  transition:
    border-color 0.3s,
    transform 0.3s;
}

.process-card:hover {
  border-color: #bdbdc4;
  transform: translateY(-3px);
}

.process-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 27px;
}

.process-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #e8e8eb;
  border-radius: 7px;
  color: #45454e;
  background: #fafafb;
}

.process-number {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.5px;
  color: var(--red);
}

.process-card h3 {
  font-size: 19px;
  line-height: 1.3;
  font-weight: 550;
  margin-bottom: 13px;
}

.process-card > p {
  font-size: 14px;
  color: #777780;
  max-width: 290px;
  min-height: 61px;
  line-height: 1.75;
  margin-bottom: 26px;
}

.process-card-bottom {
  border-top: 1px solid #ededf0;
  margin-inline: -26px;
  padding: 15px 26px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #6f6f78;
  background: #fdfdfe;
}

.process-card-bottom > svg {
  color: #55555f;
}

.process-footnote {
  margin-top: 22px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #94949b;
}

.process-footnote > p {
  font-size: 11px;
}

.process-footnote > svg {
  flex-shrink: 0;
}

.process-footnote .text-link {
  margin-left: auto;
  font-size: 12px;
  color: #35353e;
  white-space: nowrap;
}

.funding {
  padding-top: 91px;
  background: #fff;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.funding-layout {
  display: grid;
  grid-template-columns: 0.87fr 1.13fr;
  gap: 100px;
  align-items: start;
}

.funding-intro .eyebrow {
  color: #73737b;
  margin-bottom: 20px;
}

.funding-intro h2 {
  font-size: 41px;
}

.funding-intro > p:not(.eyebrow) {
  font-size: 13px;
  color: #777780;
  max-width: 370px;
  line-height: 1.85;
  margin-top: 21px;
}

.funding-intro > .text-link {
  margin-top: 24px;
  font-size: 13px;
}

.funding-reminder {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  border-top: 1px solid var(--line);
  padding-top: 21px;
  margin-top: 36px;
  max-width: 375px;
  color: #7d7d85;
}

.funding-reminder > svg {
  flex-shrink: 0;
  margin-top: 2px;
}

.funding-reminder > span {
  font-size: 12px;
  line-height: 1.8;
}

.funding-reminder b {
  color: #45454e;
  display: block;
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 4px;
}

.suitability .section-header > p {
  max-width: 400px;
}

.suitability-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.suitability-card {
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 30px 33px 27px;
  background: linear-gradient(130deg, #fff, #fff 65%, #f6f7f8);
}

.suitability-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #5a5a64;
}

.suitability-card-head > span {
  font-size: 10px;
  letter-spacing: 1.3px;
  color: #93939b;
}

.suitability-card h3 {
  font-size: 30px;
  line-height: 1.22;
  letter-spacing: -1.1px;
  margin-top: 30px;
}

.suitability-card h3 > span {
  color: #86868f;
}

.suitability-card > p {
  font-size: 14px;
  color: #777780;
  margin-top: 17px;
  max-width: 435px;
  line-height: 1.85;
}

.check-detail {
  border-top: 1px solid #ebebee;
  margin-top: 25px;
  padding-top: 19px;
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  color: #66666e;
}

.check-detail > span {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #f0f3f0;
  display: grid;
  place-items: center;
  color: #68806b;
}

.suitability-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 21px;
  gap: 22px;
}

.suitability-bottom > a {
  display: flex;
  gap: 9px;
  font-size: 11px;
  color: #888891;
  align-items: center;
}

.suitability-bottom > .text-link {
  font-size: 13px;
}

.about {
  background: #f0f1f3;
  border-top: 1px solid #e4e5e8;
  border-bottom: 1px solid #e4e5e8;
  padding: 65px 0;
}

.about-layout {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 70px;
  align-items: center;
}

.about-wordmark {
  width: 280px;
  max-width: 100%;
  justify-self: start;
}

.about-wordmark img {
  display: block;
  width: 100%;
  height: auto;
  filter: grayscale(100%);
}

.about-content .eyebrow {
  color: #8b8b94;
  font-size: 10px;
  margin-bottom: 15px;
}

.about-content h2 {
  font-size: 28px;
  line-height: 1.22;
  letter-spacing: -0.9px;
}

.about-content > p:not(.eyebrow) {
  color: #81818a;
  font-size: 14px;
  line-height: 1.85;
  max-width: 475px;
  margin-top: 16px;
}

.about-content > .text-link {
  position: relative;
  margin-top: 18px;
  padding-block: 6px;
  gap: 8px;
  font-size: 13px;
  transition: color 0.2s ease;
}

.about-content > .text-link:is(:hover, :focus-visible) {
  color: #207e51;
}

.about-content .text-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 30px;
  bottom: 2px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
}

.about-content > .text-link:is(:hover, :focus-visible)::after {
  transform: scaleX(1);
}

.about-content .text-link > svg {
  transition: transform 0.22s ease;
}

.about-content .text-link:is(:hover, :focus-visible) > svg {
  transform: translateX(5px);
}

.about-values {
  display: flex;
  gap: 25px;
  margin-top: 23px;
  flex-wrap: wrap;
}

.about-values > span {
  font-size: 11px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #6e6e78;
}

.about-values svg {
  color: #7f7f88;
}

.faq-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 90px;
}

.faq-intro .eyebrow {
  color: #73737b;
  margin-bottom: 20px;
  letter-spacing: 1.4px;
}

.faq-intro h2 {
  font-size: 41px;
}

.faq-intro > p:not(.eyebrow) {
  color: #83838c;
  font-size: 14px;
  margin-top: 20px;
}

.faq-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 30px;
  color: #94949c;
}

.faq-note > span {
  font-size: 11px;
  line-height: 1.7;
}

.faq-list {
  border-top: 1px solid #dddde2;
}

.faq-item {
  border-bottom: 1px solid #dddde2;
}

.faq-item > h3 > button {
  width: 100%;
  text-align: left;
  padding: 24px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: none;
  gap: 20px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: -0.15px;
}

.faq-item > h3 > button > span:first-child {
  display: flex;
  gap: 18px;
  align-items: center;
}

.faq-item small {
  color: #a1a1aa;
  font-size: 11px;
  font-weight: 400;
}

.faq-toggle {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border: 1px solid #dfdfe4;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #7a7a85;
  transition: background 0.2s;
}

.faq-item.open .faq-toggle {
  background: #212126;
  border-color: #212126;
  color: #fff;
}

.faq-answer p {
  font-size: 13px;
  line-height: 1.9;
  color: #85858f;
  padding: 0 30px 24px 30px;
  max-width: 590px;
}

.final-cta {
  background: #0e0e10;
  color: #fff;
  border-bottom: 1px solid #ffffff0e;
  padding: 75px 0 80px;
  overflow: hidden;
  position: relative;
}

.final-cta:before {
  content: "";
  position: absolute;
  width: 550px;
  height: 550px;
  border: 1px solid #ffffff06;
  border-radius: 50%;
  top: -50px;
  right: 20%;
  pointer-events: none;
  box-shadow:
    0 0 0 60px #ffffff02,
    0 0 0 120px #ffffff01;
}

.final-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 70px;
  position: relative;
}

.final-cta .eyebrow {
  color: #8f8f98;
  letter-spacing: 1.5px;
  margin-bottom: 20px;
}

.final-cta h2 {
  font-size: 50px;
  line-height: 1.08;
  letter-spacing: -2.2px;
}

.final-cta h2 > span {
  color: #9797a2;
}

.final-cta p:not(.eyebrow) {
  font-size: 14px;
  color: #90909b;
  margin-top: 22px;
  line-height: 1.85;
}

.final-action .button {
  font-size: 14px;
  padding: 20px 24px;
  gap: 25px;
  animation: final-button-float 3.2s ease-in-out infinite;
}

@keyframes final-button-float {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-4px);
  }
}

.final-action > div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 23px;
  margin-top: 16px;
}

.final-action > div > span {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  color: #91919a;
}

.final-action > div svg {
  color: #9bb6a2;
}

.site-footer {
  background: #0a0a0b;
  color: #8b8b95;
  padding-top: 34px;
}

.footer-top {
  display: flex;
  align-items: center;
  padding-bottom: 28px;
  border-bottom: 1px solid #ffffff0c;
}

.footer-top > div {
  margin-left: auto;
  display: flex;
  gap: 25px;
  align-items: center;
}

.footer-top > div > a,
.footer-top > div > button {
  font-size: 12px;
  color: #9999a3;
  background: none;
  padding: 4px 0;
}

.footer-top > div > a:hover,
.footer-top > div > button:hover {
  color: #fff;
}

.footer-bottom {
  padding-block: 19px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #5d5d67;
}

.footer-bottom a {
  display: flex;
  gap: 7px;
  align-items: center;
  color: #85858f;
}

.modal-open {
  overflow: hidden;
}

dialog {
  border: 0;
  color: var(--ink);
  padding: 0;
  overscroll-behavior: contain;
}

dialog::backdrop {
  background: #060608bd;
  backdrop-filter: blur(7px);
}

@keyframes dialog-enter {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 1101px) and (max-width: 1300px) {
  .site-header.has-company-navigation #main-nav {
    gap: 22px;
    margin-left: 24px;
  }
}

@media (min-width: 721px) and (max-width: 1100px) {
  .site-header.has-company-navigation .direct-form-btn {
    margin-left: auto;
    margin-right: 15px;
  }

  .site-header.has-company-navigation .menu-toggle {
    display: grid !important;
    place-items: center;
    padding: 3px;
    color: #fff;
    background: transparent;
  }

  .site-header.has-company-navigation .menu-toggle svg {
    width: 21px;
    height: 21px;
  }

  .site-header.has-company-navigation #main-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 20px;
    background: #121215fa;
    backdrop-filter: blur(20px);
    border-bottom: 1px solid #ffffff1a;
    box-shadow: 0 10px 25px #0005;
  }

  .site-header.has-company-navigation #main-nav.mobile-open {
    display: flex;
  }

  .site-header.has-company-navigation #main-nav > a {
    padding: 14px 7px;
    border-bottom: 1px solid #ffffff0b;
    font-size: 13px;
  }

  .site-header.has-company-navigation #main-nav > .mobile-login {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
  }
}

@media (min-width: 721px) {
  .inquiry-dialog .form-actions [data-next],
  .inquiry-dialog .form-actions [data-submit] {
    flex: 0 0 300px;
    width: 300px;
    height: 50px;
    white-space: nowrap;
    justify-content: center;
  }
}

@media (min-width: 1550px) {
  .hero h1 {
    font-size: 62px;
  }
  .hero-grid {
    min-height: 710px;
  }
  .product-scene {
    margin-left: 35px;
  }
  .pump-stage {
    transform: scale(1.05);
  }
}

@media (max-width: 1100px) {
  .site-header.has-company-navigation #main-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-left: 0;
    max-height: calc(100dvh - 90px);
    overflow-y: auto;
  }

  .company-nav {
    width: 100%;
    border-bottom: 1px solid #ffffff0b;
  }

  .company-nav-toggle {
    justify-content: space-between;
    width: 100%;
    min-height: 47px;
    padding: 13px 7px;
    font-size: 13px;
  }

  .company-nav-panel {
    position: static;
    width: 100%;
    padding: 0 0 12px;
  }

  .company-nav-menu {
    border-color: #2b2d33;
    border-radius: 8px;
    box-shadow: none;
  }

  .site-header .company-nav-menu a {
    min-height: 44px;
    font-size: 14px;
  }
}

@media (max-width: 1200px) {
  .container,
  .header-inner {
    width: calc(100% - 80px);
  }
  .hero h1 {
    font-size: 48px;
    letter-spacing: -2.3px;
  }
  .hero-grid {
    grid-template-columns: 1.15fr 1fr;
    min-height: 620px;
    padding-block: 65px 56px;
  }
  .pump-stage {
    transform: scale(0.85);
    inset: 65px -30px 28px -20px;
  }
  .product-scene {
    margin-left: 4px;
    height: 420px;
  }
  .postal-form .button {
    font-size: 12px;
    padding-inline: 12px;
    gap: 10px;
  }
  .postal-label {
    gap: 7px;
    padding-inline: 8px;
  }
  .postal-label input {
    font-size: 13px;
  }
  .hero-description {
    font-size: 13px;
  }
  .micro-trust {
    gap: 11px;
  }
  .micro-trust > span {
    font-size: 10px;
  }
  .funding-layout {
    gap: 55px;
  }
  .funding-intro h2 {
    font-size: 36px;
  }
  .trust-bar > .container {
    grid-template-columns: 170px 1fr;
    gap: 20px;
  }
  .process-card {
    padding-inline: 22px;
  }
  .process-card h3 {
    font-size: 17px;
  }
  .process-card-bottom {
    margin-inline: -22px;
    padding-inline: 22px;
    font-size: 10px;
  }
  .process-footnote > p {
    font-size: 10px;
  }
  .section-header > p {
    font-size: 13px;
  }
  .faq-layout {
    gap: 65px;
  }
  .faq-intro h2 {
    font-size: 37px;
  }
  .faq-intro .eyebrow {
    font-size: 9px;
  }
  .final-layout {
    gap: 40px;
  }
  .final-action .button {
    font-size: 13px;
    gap: 15px;
  }
  .about-layout {
    gap: 50px;
  }
}

@media (max-width: 960px) {
  .container,
  .header-inner {
    width: calc(100% - 56px);
  }
  .site-header nav {
    gap: 22px;
    margin-left: 0;
  }
  .site-header nav a {
    font-size: 12px;
  }
  .direct-form-btn {
    font-size: 11px;
    gap: 10px;
    padding: 10px 12px;
  }
  .hero-grid {
    grid-template-columns: 1.15fr 1fr;
    min-height: 575px;
    padding-block: 52px;
  }
  .hero h1 {
    font-size: 39px;
    letter-spacing: -1.8px;
  }
  .hero-description {
    font-size: 14px;
  }
  .hero-description .desktop-break {
    display: none;
  }
  .funding-badge {
    font-size: 10px;
    gap: 6px;
    margin-bottom: 22px;
  }
  .hero-content {
    max-width: 450px;
  }
  .postal-form {
    flex-wrap: wrap;
    padding: 5px;
  }
  .postal-label {
    min-height: 46px;
  }
  .postal-form .button {
    width: 100%;
    padding: 13px;
  }
  .micro-trust {
    gap: 9px;
    justify-content: space-between;
  }
  .micro-trust > span {
    font-size: 9px;
    gap: 4px;
  }
  .pump-stage {
    transform: scale(0.72);
    inset: 40px -50px 28px -30px;
  }
  .product-scene {
    height: 385px;
    margin-left: 8px;
  }
  .section-pad {
    padding-block: 78px;
  }
  .section-header {
    gap: 25px;
  }
  .section-header h2 {
    font-size: 34px;
  }
  .section-header > p {
    font-size: 12px;
    max-width: 300px;
  }
  .section-header > p br {
    display: none;
  }
  .process-grid {
    gap: 12px;
  }
  .process-card {
    padding: 20px 18px 0;
  }
  .process-card-top {
    margin-bottom: 25px;
  }
  .process-card h3 {
    font-size: 16px;
  }
  .process-card > p {
    font-size: 13px;
    min-height: 78px;
  }
  .process-card-bottom {
    margin-inline: -18px;
    padding: 15px 18px;
    font-size: 9px;
    gap: 5px;
  }
  .process-footnote {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .process-footnote > p {
    max-width: 70%;
  }
  .process-footnote .text-link {
    font-size: 11px;
  }
  .funding-layout {
    grid-template-columns: 0.85fr 1.15fr;
    gap: 35px;
  }
  .funding-intro h2 {
    font-size: 30px;
    letter-spacing: -1.1px;
  }
  .funding-intro > p:not(.eyebrow) {
    font-size: 13px;
  }
  .funding-intro > .text-link {
    font-size: 11px;
    gap: 6px;
  }
  .funding-reminder {
    margin-top: 26px;
  }
  .funding-reminder > span {
    font-size: 11px;
  }
  .funding-reminder b {
    font-size: 12px;
  }
  .suitability-card {
    padding: 25px;
  }
  .suitability-card-head > span {
    font-size: 9px;
    letter-spacing: 0.8px;
  }
  .suitability-card h3 {
    font-size: 28px;
  }
  .suitability-card > p {
    font-size: 13px;
  }
  .check-detail {
    font-size: 10px;
    gap: 6px;
  }
  .about-layout {
    grid-template-columns: 0.9fr 1.1fr;
    gap: 45px;
  }
  .about-content h2 {
    font-size: 25px;
  }
  .about-content > p:not(.eyebrow) {
    font-size: 13px;
  }
  .about-values {
    gap: 15px;
  }
  .about-values > span {
    font-size: 10px;
  }
  .faq-layout {
    gap: 45px;
    grid-template-columns: 0.85fr 1.15fr;
  }
  .faq-intro h2 {
    font-size: 33px;
    letter-spacing: -1.4px;
  }
  .faq-intro > .eyebrow {
    font-size: 9px;
    letter-spacing: 1px;
  }
  .faq-item > h3 > button {
    font-size: 13px;
  }
  .faq-item > h3 > button > span:first-child {
    gap: 12px;
  }
  .faq-answer p {
    font-size: 12px;
    padding-left: 24px;
  }
  .final-cta h2 {
    font-size: 44px;
  }
  .final-cta .eyebrow {
    font-size: 9px;
    letter-spacing: 1px;
  }
  .final-cta p:not(.eyebrow) {
    font-size: 13px;
  }
  .final-action .button {
    font-size: 12px;
    padding: 18px;
  }
  .final-action > div {
    gap: 15px;
  }
  .final-action > div > span {
    font-size: 9px;
  }
  .trust-bar > .container {
    grid-template-columns: 140px 1fr;
  }
  .trust-bar p {
    font-size: 9px;
    letter-spacing: 1px;
  }
}

@media (max-width: 720px) {
  html {
    scroll-padding-top: 85px;
  }
  .container,
  .header-inner {
    width: calc(100% - 40px);
  }
  .site-header {
    height: 74px;
  }
  .site-header.scrolled {
    height: 68px;
  }
  .site-header .brand-logo {
    width: 150px;
  }
  .direct-form-btn {
    margin-left: auto;
    margin-right: 15px;
    padding: 9px 11px;
    font-size: 10px;
    gap: 9px;
  }
  .menu-toggle {
    display: grid !important;
    place-items: center;
    background: transparent;
    color: #fff;
    padding: 3px;
  }
  .menu-toggle svg {
    width: 21px;
    height: 21px;
  }
  .site-header nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #121215fa;
    backdrop-filter: blur(20px);
    border-bottom: 1px solid #ffffff1a;
    padding: 20px;
    box-shadow: 0 10px 25px #0005;
  }
  .site-header nav.mobile-open {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .site-header nav a {
    font-size: 13px;
    padding: 14px 7px;
    border-bottom: 1px solid #ffffff0b;
  }
  .mobile-login {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
  }
  .hero {
    padding-top: 74px;
  }
  .hero-grid {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 40px 0 20px;
    gap: 0;
  }
  .hero-content {
    max-width: none;
  }
  .funding-badge {
    font-size: 10px;
    margin-bottom: 23px;
    padding: 5px 8px 5px 5px;
    gap: 7px;
  }
  .funding-badge > span {
    width: 19px;
    height: 19px;
  }
  .hero h1 {
    font-size: clamp(35px, 6.95vw, 50px);
    line-height: 1.12;
    letter-spacing: -1.8px;
    max-width: none;
  }
  .hero-description {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.8;
    max-width: 350px;
  }
  .hero-description .desktop-break {
    display: block;
  }
  .postal-form {
    margin-top: 23px;
    max-width: none;
    flex-wrap: nowrap;
    padding: 4px;
    border-radius: 7px;
  }
  .postal-label {
    min-height: 45px;
    padding-inline: 7px;
    gap: 6px;
  }
  .postal-label > svg {
    width: 17px;
  }
  .postal-label input {
    font-size: 13px;
    padding-block: 12px;
  }
  .postal-form .button {
    width: auto;
    font-size: 11px;
    padding: 13px 11px;
    gap: 9px;
  }
  .postal-form .button > svg {
    width: 15px;
  }
  .micro-trust {
    margin-top: 13px;
    gap: 10px;
    justify-content: flex-start;
  }
  .micro-trust > span {
    font-size: 9px;
    gap: 4px;
  }
  .product-scene {
    height: 355px;
    margin: 20px 0 0;
    max-width: 480px;
    width: 100%;
    justify-self: center;
  }
  .pump-stage {
    transform: scale(0.8);
    inset: 36px -12px 31px -5px;
  }
  .trust-bar {
    padding: 26px 0 21px;
  }
  .trust-bar > .container {
    display: flex;
    flex-direction: column;
    gap: 21px;
    align-items: stretch;
  }
  .trust-bar p {
    font-size: 9px;
    letter-spacing: 1.1px;
    max-width: none;
    text-align: center;
  }
  .section-pad {
    padding-block: 60px;
  }
  .section-header {
    display: block;
    margin-bottom: 27px;
  }
  .section-header .eyebrow {
    font-size: 10px;
    letter-spacing: 1.3px;
    margin-bottom: 16px;
  }
  .section-header h2 {
    font-size: 34px;
    letter-spacing: -1.4px;
  }
  .section-header > p {
    margin-top: 16px;
    font-size: 13px;
    line-height: 1.8;
    max-width: 330px;
  }
  .section-header > p > br {
    display: block;
  }
  .process-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .process-card {
    padding: 24px 24px 0;
    border-radius: 8px;
  }
  .process-card-top {
    margin-bottom: 19px;
  }
  .process-icon {
    height: 39px;
    width: 39px;
  }
  .process-icon > svg {
    width: 23px;
  }
  .process-number {
    font-size: 16px;
  }
  .process-card h3 {
    font-size: 20px;
    margin-bottom: 11px;
  }
  .process-card > p {
    font-size: 14px;
    min-height: 0;
    max-width: 360px;
    margin-bottom: 22px;
  }
  .process-card-bottom {
    margin-inline: -24px;
    padding: 14px 24px;
    font-size: 11px;
    gap: 7px;
  }
  .process-footnote {
    margin-top: 19px;
    gap: 7px;
  }
  .process-footnote > p {
    max-width: calc(100% - 23px);
    font-size: 10px;
  }
  .process-footnote .text-link {
    margin: 10px 0 0 22px;
    font-size: 12px;
  }
  .funding-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .funding-intro .eyebrow {
    font-size: 10px;
    letter-spacing: 1.3px;
    margin-bottom: 16px;
  }
  .funding-intro h2 {
    font-size: 34px;
    letter-spacing: -1.4px;
  }
  .funding-intro > p:not(.eyebrow) {
    font-size: 14px;
    margin-top: 17px;
    max-width: 370px;
  }
  .funding-intro > .text-link {
    font-size: 12px;
    margin-top: 20px;
    gap: 9px;
  }
  .funding-reminder {
    display: none;
  }
  .suitability .section-header > p {
    max-width: 340px;
  }
  .suitability-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .suitability-card {
    padding: 25px;
  }
  .suitability-card-head > span {
    font-size: 9px;
    letter-spacing: 1px;
  }
  .suitability-card-head > svg {
    width: 31px;
  }
  .suitability-card h3 {
    font-size: 29px;
    margin-top: 26px;
  }
  .suitability-card > p {
    font-size: 14px;
    margin-top: 16px;
    max-width: 440px;
  }
  .check-detail {
    font-size: 11px;
    margin-top: 22px;
    padding-top: 17px;
  }
  .suitability-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
    margin-top: 21px;
  }
  .suitability-bottom > a {
    font-size: 10px;
    gap: 5px;
  }
  .suitability-bottom > a > svg {
    width: 12px;
  }
  .suitability-bottom .text-link {
    font-size: 13px;
  }
  .about {
    padding-block: 45px;
  }
  .about-layout {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .about-wordmark {
    width: 180px;
  }
  .about-content .eyebrow {
    font-size: 9px;
    margin-bottom: 13px;
  }
  .about-content h2 {
    font-size: 29px;
    letter-spacing: -1px;
  }
  .about-content > p:not(.eyebrow) {
    font-size: 14px;
    line-height: 1.9;
    max-width: 460px;
  }
  .about-values {
    margin-top: 24px;
    gap: 20px;
  }
  .about-values > span {
    font-size: 10px;
  }
  .faq-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .faq-intro .eyebrow {
    font-size: 9px;
    letter-spacing: 1.1px;
    margin-bottom: 16px;
  }
  .faq-intro h2 {
    font-size: 34px;
    letter-spacing: -1.4px;
  }
  .faq-intro > p:not(.eyebrow) {
    font-size: 13px;
    margin-top: 17px;
  }
  .faq-note {
    display: none;
  }
  .faq-item > h3 > button {
    font-size: 13px;
    padding-block: 22px;
    gap: 12px;
  }
  .faq-item > h3 > button > span:first-child {
    gap: 13px;
  }
  .faq-item small {
    font-size: 10px;
  }
  .faq-toggle {
    width: 22px;
    height: 22px;
  }
  .faq-answer p {
    font-size: 13px;
    line-height: 1.9;
    padding: 0 20px 22px 24px;
  }
  .final-cta {
    padding: 55px 0;
  }
  .final-layout {
    display: block;
  }
  .final-cta .eyebrow {
    font-size: 9px;
    letter-spacing: 1.1px;
    margin-bottom: 18px;
  }
  .final-cta h2 {
    font-size: 43px;
    letter-spacing: -1.9px;
  }
  .final-cta p:not(.eyebrow) {
    font-size: 13px;
    line-height: 1.8;
    margin-top: 20px;
  }
  .final-action {
    margin-top: 31px;
    max-width: 385px;
  }
  .final-action > .button {
    width: 100%;
    font-size: 12px;
    padding: 18px 16px;
    justify-content: space-between;
    gap: 10px;
  }
  .final-action > div {
    gap: 22px;
    margin-top: 15px;
  }
  .final-action > div > span {
    font-size: 9px;
  }
  .final-cta:before {
    right: -300px;
    top: -90px;
    opacity: 0.6;
  }
  .site-footer {
    padding-top: 28px;
  }
  .footer-top {
    flex-wrap: wrap;
    row-gap: 25px;
    padding-bottom: 25px;
  }
  .footer-top > span {
    margin-left: auto;
  }
  .footer-top > div {
    margin-left: 0;
    width: 100%;
    justify-content: flex-start;
    gap: 25px;
  }
  .footer-top > div > a,
  .footer-top > div > button {
    font-size: 12px;
  }
  .footer-bottom {
    font-size: 12px;
    padding-block: 17px;
  }
  .footer-bottom > a {
    font-size: 12px;
  }
}

@media (max-width: 380px) {
  .container,
  .header-inner {
    width: calc(100% - 32px);
  }
  .direct-form-btn {
    font-size: 9px;
    padding: 8px;
    gap: 4px;
    margin-right: 10px;
  }
  .hero h1 {
    font-size: 32px;
    letter-spacing: -1.5px;
  }
  .funding-badge {
    font-size: 9px;
  }
  .postal-form .button {
    font-size: 10px;
    gap: 5px;
    padding-inline: 9px;
  }
  .postal-label input {
    font-size: 12px;
  }
  .micro-trust > span {
    font-size: 9px;
  }
  .micro-trust {
    gap: 11px;
  }
  .pump-stage {
    transform: scale(0.68);
  }
  .product-scene {
    height: 325px;
  }
  .suitability-card {
    padding: 22px;
  }
  .suitability-card-head > span {
    font-size: 9px;
  }
  .check-detail {
    font-size: 10px;
  }
  .about-values {
    gap: 12px;
  }
  .about-values > span {
    font-size: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
  }

  .fan-rotor,
  .pump-float {
    animation: none;
  }

  .process-card:hover,
  .button.primary:hover {
    transform: none;
  }

  .final-action .button {
    animation: none !important;
  }

  .company-nav-chevron,
  .site-header .company-nav-menu a {
    transition: none;
  }
}

.footer-top > div {
  flex-wrap: wrap;
  row-gap: 12px;
}

.footer-bottom {
  gap: 16px;
  line-height: 1.6;
}

@media (max-width: 720px) {
  .final-action > div {
    flex-wrap: wrap;
    row-gap: 8px;
  }
  .footer-top > span {
    font-size: 12px;
  }
  .footer-top > div > a,
  .footer-top > div > button,
  .footer-bottom,
  .footer-bottom > a {
    font-size: 12px;
  }
  .footer-bottom {
    flex-wrap: wrap;
    row-gap: 10px;
  }
}

.trust-bar p {
  font-size: 12px;
}

.product-scene {
  isolation: auto;
  transform-style: preserve-3d;
}

.pump-stage {
  transform-style: preserve-3d;
  touch-action: none;
  border-radius: 12px;
}

.pump-stage:focus {
  outline: none;
}

.pump-stage:focus-visible:not(.pointer-focused) {
  outline: 2px solid #858891;
  outline-offset: 4px;
}

.pump-float,
.heat-pump {
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}

.heat-pump {
  transition: none;
}

.pump-face,
.foot-face {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform-origin: center;
}

.pump-front {
  left: 0;
  top: 0;
  transform: translate3d(0, 0, 70px);
}

.pump-right {
  left: 140px;
  top: 0;
  transform: translate3d(210px, 0, 0) rotateY(90deg);
}

.pump-left {
  width: 140px;
  height: 300px;
  left: 140px;
  top: 0;
  transform: translate3d(-210px, 0, 0) rotateY(-90deg);
  background: linear-gradient(105deg, #3c3d41, #26272b);
  border: 1px solid #4d4f54;
  border-radius: 3px;
  overflow: hidden;
}

.left-service-panel {
  position: absolute;
  inset: 21px 14px 120px;
  border: 1px solid #191a1d;
  border-radius: 3px;
  box-shadow: inset 1px 0 #6668;
  background: linear-gradient(100deg, #37383c, #303136);
}

.left-vents {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 65px;
  height: 43px;
  background: repeating-linear-gradient(0deg, #111215 0, #111215 2px, #51535a 3px, #313238 5px);
  border: 1px solid #27282c;
}

.pipe-port {
  position: absolute;
  width: 14px;
  height: 14px;
  bottom: 26px;
  border: 3px solid #55575e;
  border-radius: 50%;
  background: #0f1012;
  box-shadow: 1px 1px 2px #0009;
}

.port-one {
  left: 35px;
}

.port-two {
  right: 35px;
}

.pump-top {
  left: 0;
  top: 80px;
  transform: translate3d(0, -150px, 0) rotateX(90deg);
  border-radius: 3px;
}

.top-seam {
  position: absolute;
  inset: 8px;
  border: 1px solid #ffffff0d;
  border-radius: 2px;
}

.pump-bottom {
  width: 420px;
  height: 140px;
  left: 0;
  top: 80px;
  transform: translate3d(0, 150px, 0) rotateX(-90deg);
  background: linear-gradient(100deg, #292b2f, #18191c);
  border: 1px solid #44464c;
  border-radius: 2px;
  box-shadow: inset 0 0 0 7px #111214;
}

.bottom-rib {
  position: absolute;
  top: 13px;
  bottom: 13px;
  width: 12px;
  background: linear-gradient(90deg, #18191b, #4e5056, #222428);
  border: 1px solid #131416;
}

.rib-one {
  left: 42px;
}

.rib-two {
  left: 202px;
}

.rib-three {
  right: 42px;
}

.drain-outlet {
  position: absolute;
  left: 130px;
  top: 55px;
  width: 15px;
  height: 15px;
  background: #0d0e0f;
  border: 3px solid #56585f;
  border-radius: 50%;
}

.pump-back {
  width: 420px;
  height: 300px;
  left: 0;
  top: 0;
  transform: translate3d(0, 0, -70px) rotateY(180deg);
  background: linear-gradient(105deg, #2b2d31, #1e2023);
  border: 1px solid #4b4d53;
  border-radius: 3px;
}

.back-vents {
  position: absolute;
  left: 23px;
  top: 23px;
  width: 256px;
  height: 250px;
  background: repeating-linear-gradient(0deg, #101114 0, #101114 3px, #4c4f55 4px, #22242a 6px);
  border: 1px solid #08090b;
  border-radius: 3px;
}

.back-service-panel {
  position: absolute;
  right: 17px;
  top: 24px;
  bottom: 23px;
  width: 103px;
  border: 1px solid #141619;
  background: linear-gradient(90deg, #323439, #25272b);
  box-shadow: inset 1px 0 #575a6033;
  border-radius: 3px;
}

.pump-foot {
  width: 58px;
  height: 20px;
  top: 300px;
  transform: translate3d(0, 0, 0);
  transform-style: preserve-3d;
  background: none;
  border: 0;
  border-radius: 0;
}

.foot-face {
  display: block;
  position: absolute;
  background: linear-gradient(120deg, #44464b, #222428);
  border: 1px solid #44464c;
}

.foot-front,
.foot-back {
  width: 58px;
  height: 20px;
  left: 0;
  top: 0;
}

.foot-front {
  transform: translateZ(50px);
}

.foot-back {
  transform: translateZ(-50px) rotateY(180deg);
}

.foot-right,
.foot-left {
  width: 100px;
  height: 20px;
  left: -21px;
  top: 0;
}

.foot-right {
  transform: translateX(29px) rotateY(90deg);
}

.foot-left {
  transform: translateX(-29px) rotateY(-90deg);
}

.foot-top,
.foot-bottom {
  width: 58px;
  height: 100px;
  left: 0;
  top: -40px;
}

.foot-top {
  transform: translateY(-10px) rotateX(90deg);
}

.foot-bottom {
  transform: translateY(10px) rotateX(-90deg);
  background: #151619;
}

@keyframes levitate {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-7px);
  }
}

.site-header nav > a:not(.mobile-login) {
  position: relative;
  padding-block: 8px;
}

.site-header nav > a:not(.mobile-login)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1px;
  height: 2px;
  background: #32d164;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
}

.site-header nav > a:not(.mobile-login):is(:hover, :focus-visible)::after {
  transform: scaleX(1);
}

@media (max-width: 720px) {
  .site-header nav > a:not(.mobile-login) {
    padding: 14px 7px;
  }
  .site-header nav > a:not(.mobile-login)::after {
    left: 7px;
    right: 7px;
    bottom: 8px;
  }
}

.product-scene {
  perspective: none;
  transform-style: flat;
  isolation: isolate;
}

.product-scene::before,
.product-scene::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.product-scene::before {
  inset: -25px -30px -10px;
  background: radial-gradient(ellipse at 52% 48%, #a5a7b51c 0%, #777b8610 27%, transparent 66%);
}

.product-scene::after {
  left: 8%;
  right: 3%;
  bottom: 37px;
  height: 58px;
  background: radial-gradient(ellipse, #000a 0%, #0004 40%, transparent 72%);
  filter: blur(10px);
  border-radius: 50%;
}

.pump-stage {
  z-index: 1;
}

.process-footnote .text-link,
.suitability-bottom .text-link {
  position: relative;
  gap: 12px;
  padding-block: 6px;
  transition: color 0.2s ease;
}

.process-footnote .text-link::after,
.suitability-bottom .text-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 30px;
  bottom: 2px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
}

.process-footnote .text-link > svg,
.suitability-bottom .text-link > svg {
  transition: transform 0.22s ease;
}

.process-footnote .text-link:is(:hover, :focus-visible),
.suitability-bottom .text-link:is(:hover, :focus-visible) {
  gap: 12px;
  color: #207e51;
}

.process-footnote .text-link:is(:hover, :focus-visible)::after,
.suitability-bottom .text-link:is(:hover, :focus-visible)::after {
  transform: scaleX(1);
}

.process-footnote .text-link:is(:hover, :focus-visible) > svg,
.suitability-bottom .text-link:is(:hover, :focus-visible) > svg {
  transform: translateX(5px);
}

.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  visibility: hidden;
  transition:
    grid-template-rows 0.32s cubic-bezier(0.2, 0.65, 0.3, 1),
    opacity 0.22s ease,
    visibility 0s linear 0.32s;
}

.faq-answer-inner {
  min-height: 0;
  overflow: hidden;
}

.faq-item.open .faq-answer {
  grid-template-rows: 1fr;
  opacity: 1;
  visibility: visible;
  transition:
    grid-template-rows 0.32s cubic-bezier(0.2, 0.65, 0.3, 1),
    opacity 0.24s ease,
    visibility 0s;
}

.faq-toggle {
  position: relative;
  transition:
    background 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease,
    transform 0.22s ease;
}

.faq-toggle > svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transition:
    opacity 0.2s ease,
    transform 0.28s ease;
}

.faq-toggle .faq-plus {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg);
}

.faq-toggle .faq-minus {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(-90deg);
}

.faq-item.open .faq-plus {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item.open .faq-minus {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg);
}

.faq-item > h3 > button:is(:hover, :focus-visible) .faq-toggle {
  transform: scale(1.08);
  border-color: #777986;
}

@media (max-width: 720px) {
  .product-scene::after {
    bottom: 26px;
    height: 44px;
  }
}

.inquiry-dialog {
  --form-surface: #fbfcfd;
  --form-text: #27282d;
  --form-muted: #61636c;
  --form-border: #858b94;
  --choice-border: #cbd2d8;
  --form-selected: #eff7f4;
  --form-selection: #13a961e1;
  --form-accent: #19a963;
  width: min(800px, calc(100vw - 48px));
  position: fixed;
  inset: 0;
  height: fit-content;
  max-width: none;
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 48px 0 0;
  overflow: visible;
  background: transparent;
  color: var(--form-text);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color-scheme: light;
}

.inquiry-dialog::backdrop {
  background: #08090caa;
  backdrop-filter: blur(8px);
}

.inquiry-dialog *,
.inquiry-dialog *::before,
.inquiry-dialog *::after {
  box-sizing: border-box;
}

.inquiry-inner {
  display: flex;
  flex-direction: column;
  height: min(840px, calc(100dvh - 80px));
  max-height: calc(100dvh - 80px);
  min-height: 0;
  overflow: hidden;
  background: var(--form-surface);
  border: 1px solid #ffffff30;
  border-radius: 18px;
  box-shadow: 0 24px 90px #0005;
  animation: dialog-enter 0.18s ease;
}

.inquiry-close {
  position: fixed;
  top: max(8px, env(safe-area-inset-top));
  right: max(8px, env(safe-area-inset-right));
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #fff;
  box-shadow: none;
  cursor: pointer;
  transition: opacity 0.18s ease;
}

.inquiry-close > svg {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  stroke-width: 1.5;
}

.inquiry-close:hover:not(:disabled) {
  background: transparent;
  color: #fff;
  opacity: 0.7;
}

.inquiry-dialog > .inquiry-close:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.inquiry-close:disabled {
  opacity: 0.45;
  cursor: wait;
  box-shadow: none;
}

.inquiry-trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  gap: 16px;
  min-width: 0;
  margin: 20px 0 0;
  padding: 16px 0 0;
  list-style: none;
}

.inquiry-trust li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--form-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
}

.inquiry-trust svg {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin: 0;
  fill: none;
  stroke: #14585a;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.inquiry-progress {
  padding: 25px;
  background: linear-gradient(115deg, #fbfdff, #f5f9fc 64%, #f8fbfd);
  border-bottom: 1px solid #d8dce2;
  --step-accent: #14585a;
  --step-selected: #e5eff0;
  flex-shrink: 0;
  min-width: 0;
}

.inquiry-progress .progress-meta,
.inquiry-progress .inquiry-progressbar {
  display: none;
}

.inquiry-form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  margin: 0;
}

#inquiry-body:has(> .inquiry-trust) {
  display: flex;
  flex-direction: column;
}

#inquiry-body:has(> .inquiry-trust) > * {
  flex-shrink: 0;
}

#inquiry-body > .inquiry-trust {
  margin-top: auto;
  order: 1;
}

.form-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 26px 32px 30px;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #a1a5af var(--form-surface);
}

.inquiry-form h2,
.success-panel h2 {
  color: var(--form-text);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: -0.9px;
  line-height: 1.2;
  outline: 0;
}

.choice-field {
  border: 0;
  padding: 0;
  margin: 26px 0 0;
  min-width: 0;
}

.choice-field + .choice-field {
  margin-top: 29px;
}

.choice-field legend {
  color: var(--form-text);
  font-size: 16px;
  font-weight: 550;
  line-height: 1.5;
  margin-bottom: 12px;
  padding: 0;
}

.choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.choice {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  min-height: 74px;
  padding: 18px 38px 18px 16px;
  border: 1px solid var(--choice-border);
  border-radius: 10px;
  background: #fff;
  color: var(--form-text);
  cursor: pointer;
  box-shadow:
    0 2px 4px #26344208,
    0 5px 12px #26344205;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.2s ease;
}

@media (hover: hover) {
  .choice:hover {
    background: #fff;
    border-color: #8faaa0;
    box-shadow: 0 3px 10px #26344212;
    transform: translateY(-1px);
  }
}

.choice input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  margin: 0;
  cursor: pointer;
}

.choice input:focus-visible {
  outline: 0;
}

.choice > svg {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  color: #3e4b50;
}

.choice-label {
  min-width: 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: break-word;
  hyphens: auto;
}

.choice-label small {
  display: block;
  margin-top: 3px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--form-muted);
}

.ownership-field .choice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ownership-notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #e6c681;
  border-radius: 10px;
  background: #fff8e8;
  color: #674714;
  font-size: 14px;
  line-height: 1.6;
}

.ownership-notice > svg {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  margin-top: 2px;
  color: #966312;
}

.ownership-notice strong {
  display: block;
  font-weight: 650;
}

.ownership-notice p {
  margin: 4px 0 0;
}

@media (max-width: 600px) {
  .ownership-field .choice-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.choice.selected .choice-check {
  background: var(--form-selection);
  border-color: var(--form-selection);
  color: #fff;
}

.choice-field.compact .choice-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.choice-field.compact .choice {
  min-height: 58px;
  padding: 15px 38px 15px 14px;
}

.choice-field.compact .choice-check {
  top: calc(50% - 9px);
}

.inquiry-dialog .button {
  min-height: 48px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  border-radius: 8px;
  padding: 14px 23px;
  gap: 14px;
}

.inquiry-dialog .button.primary {
  background: var(--form-accent);
  color: #fff;
  border: 0;
}

.inquiry-dialog .button.primary:hover {
  background: #179659;
  transform: none;
  box-shadow: none;
}

.inquiry-dialog .button.primary:disabled {
  background: #dbdde2;
  color: #626570;
  transform: none;
  box-shadow: none;
}

.form-actions .submit-button {
  min-width: 0;
  white-space: normal;
  text-align: center;
}

.form-actions [data-next] {
  white-space: normal;
}

.form-actions [data-next] > svg {
  flex-shrink: 0;
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 18px;
  margin-top: 23px;
}

.contact-grid > label {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 500;
  color: var(--form-text);
}

.contact-grid > label em {
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  color: var(--form-muted);
}

.contact-grid input::placeholder {
  color: #696e79;
  opacity: 1;
}

.consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 25px;
  padding: 0;
  color: var(--form-muted);
  font-size: 13px;
  line-height: 1.65;
  cursor: pointer;
}

.consent input {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin: 3px 0 0;
  accent-color: #169558;
}

.consent strong {
  color: var(--form-text);
  font-weight: 550;
}

.consent button,
.consent a {
  font-size: inherit;
  line-height: inherit;
  padding: 0;
  background: transparent;
  color: var(--form-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.captcha-notice {
  margin: 16px 0 0;
  color: var(--form-muted);
  font-size: 12px;
  line-height: 1.65;
}

.captcha-notice a {
  color: var(--form-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.captcha-status {
  margin: 14px 0 0;
  color: var(--form-text);
  font-size: 13px;
  line-height: 1.6;
}

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

.honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.form-error {
  font-size: 14px;
  line-height: 1.6;
  color: #9b2b23;
  background: #f4e5de;
  border: 1px solid #b36b60;
  border-radius: 7px;
  padding: 13px 15px;
  margin-top: 18px;
}

.inquiry-dialog.is-success {
  width: min(760px, calc(100vw - 40px));
  height: fit-content;
  max-height: calc(100dvh - 80px);
  padding: 0;
}

.inquiry-dialog.is-success .inquiry-inner {
  height: auto;
  max-height: calc(100dvh - 80px);
  border: 1px solid #e6ece8;
  border-radius: 20px;
  background: #fcfdfd;
}

.success-panel {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 24px 28px 22px;
  background: #fcfdfd;
  color: var(--form-text);
  text-align: center;
  scrollbar-width: thin;
  scrollbar-color: #b8c6be transparent;
}

.success-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin: 16px auto 26px;
  border: 1px solid #21a56d;
  border-radius: 50%;
  background: radial-gradient(circle at 32% 25%, #9be9b8, #32b87e 52%, #07895b);
  color: #fff;
  box-shadow:
    0 0 0 7px #dff6e8,
    0 0 0 8px #a5dec0,
    0 0 0 15px #f0fbf4,
    0 0 0 16px #d8eee1,
    0 10px 24px #12a16525,
    inset 0 1px 7px #ffffff70,
    inset 0 -3px 7px #00643e25;
}

.success-mark::after {
  content: "";
  position: absolute;
  inset: -16px;
  border: 1px solid #65c99a;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
}

.success-mark svg {
  filter: drop-shadow(0 2px 2px #00784740);
}

.success-panel h2 {
  max-width: none;
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.6px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.success-message {
  margin: 12px 0 10px;
  color: #525e56;
  font-size: 13px;
  line-height: 1.55;
}

.success-reference-wrap {
  min-width: 0;
}

.success-reference {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  max-width: 100%;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid #e3e8e5;
  border-radius: 20px;
  background: #eff2f1;
  color: #5c6660;
  text-align: left;
  cursor: pointer;
}

.success-reference-label {
  flex-shrink: 0;
  font-size: 10.5px;
}

.success-reference-value {
  min-width: 0;
  overflow: hidden;
  font-size: 11px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.success-reference > svg {
  flex-shrink: 0;
}

.success-copy-status {
  display: block;
  margin-top: 5px;
  color: #147c53;
  font-size: 11px;
  line-height: 1.5;
}

.success-copy-status:empty {
  display: none;
}

.success-email {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 6px;
  margin-top: 14px;
  color: #68726c;
}

.success-email > svg {
  flex-shrink: 0;
  margin-top: 2px;
}

.success-email p {
  margin: 0;
  font-size: 11.5px;
  line-height: 1.55;
}

.success-email[data-confirmation-state="warning"] {
  padding: 10px 12px;
  border: 1px solid #e9dbbf;
  border-radius: 10px;
  background: #fffbf3;
  color: #735b32;
  text-align: left;
}

.success-next {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #dfe5e1;
  border-radius: 12px;
  background: #f1f3f3;
  box-shadow: 0 2px 7px #263b2d0c;
  text-align: left;
}

.success-next h3 {
  margin: 0 0 14px;
  color: #27372d;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.2px;
  line-height: 1.4;
}

.success-timeline {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.success-timeline > li {
  position: relative;
  display: grid;
  grid-template-columns: 26px 34px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
}

.success-timeline > li:not(:last-child)::before,
.success-timeline > li:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: -8px;
  width: 1px;
  background: #d4ddd7;
}

.success-timeline > li:not(:last-child)::before {
  top: 34px;
  left: 12px;
}

.success-timeline > li:not(:last-child)::after {
  top: 42px;
  left: 55px;
}

.success-timeline > .is-next::before,
.success-timeline > .is-next::after {
  background: #8dceb0;
}

.success-step-number,
.success-step-icon {
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e2e7e5;
  color: #7b8780;
}

.success-step-number {
  width: 26px;
  height: 26px;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1;
}

.success-step-icon {
  width: 34px;
  height: 34px;
}

.success-timeline > .is-next .success-step-number {
  background: #bceecf;
  color: #238a58;
}

.success-timeline > .is-next .success-step-icon {
  background: #d5f4e0;
  color: #168a58;
}

.success-timeline h4 {
  margin: 0 0 3px;
  color: #2b3b31;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}

.success-timeline p {
  margin: 0;
  color: #59665e;
  font-size: 12px;
  line-height: 1.5;
}

.success-privacy {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  width: fit-content;
  min-height: 24px;
  margin: 10px 0 -2px auto;
  color: #65726a;
  font-size: 10.5px;
  line-height: 1.4;
  text-decoration: none;
}

.success-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.success-return {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: 100%;
  font: inherit;
  line-height: 1.4;
  white-space: normal;
  cursor: pointer;
}

.success-return {
  min-height: 36px;
  margin: 18px 0 0;
  padding: 6px 12px;
  border: 0;
  background: transparent;
  color: #54635a;
  font-size: 13px;
}

.success-return > svg {
  flex-shrink: 0;
}

.success-panel :is(button, a):focus-visible {
  outline: 2px solid #147f57;
  outline-offset: 4px;
}

@keyframes success-mark-appear {
  0% {
    opacity: 0;
    transform: scale(0.7);
  }
  65% {
    opacity: 1;
    transform: scale(1.06);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes success-mark-ripple {
  0% {
    opacity: 0.6;
    transform: scale(0.9);
  }
  100% {
    opacity: 0;
    transform: scale(1.35);
  }
}

@keyframes success-check-draw {
  from {
    stroke-dashoffset: 1;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes success-content-reveal {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .inquiry-dialog[open].is-success .success-mark {
    animation: success-mark-appear 640ms cubic-bezier(0.2, 0.8, 0.3, 1) both;
  }

  .inquiry-dialog[open].is-success .success-mark::after {
    animation: success-mark-ripple 720ms ease-out 180ms both;
  }

  .inquiry-dialog[open].is-success .success-mark path {
    stroke-dasharray: 1;
    animation: success-check-draw 520ms cubic-bezier(0.65, 0, 0.35, 1) 220ms both;
  }

  .inquiry-dialog[open].is-success
    :is(
      .success-panel h2,
      .success-message,
      .success-reference-wrap,
      .success-email,
      .success-next,
      .success-timeline > li,
      .success-privacy,
      .success-actions
    ) {
    animation: success-content-reveal 420ms cubic-bezier(0.2, 0.7, 0.3, 1) var(--success-delay) both;
  }

  .success-panel h2 {
    --success-delay: 400ms;
  }

  .success-message {
    --success-delay: 480ms;
  }

  .success-reference-wrap {
    --success-delay: 560ms;
  }

  .success-email {
    --success-delay: 640ms;
  }

  .success-next {
    --success-delay: 740ms;
  }

  .success-timeline > li:nth-child(1) {
    --success-delay: 900ms;
  }

  .success-timeline > li:nth-child(2) {
    --success-delay: 1110ms;
  }

  .success-timeline > li:nth-child(3) {
    --success-delay: 1320ms;
  }

  .success-privacy {
    --success-delay: 1460ms;
  }

  .success-actions {
    --success-delay: 1540ms;
  }

  .inquiry-dialog[open].is-success
    .success-panel
    :is(.success-reference-wrap, .success-privacy, .success-actions):focus-within {
    animation: none;
  }
}

@media (hover: hover) {
  .success-reference:hover {
    background: #e5ece7;
  }

  .success-return:hover {
    color: #00865b;
  }

  .success-privacy:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}

.choice-field:has(input[name="building"]) .choice-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.choice-field:has(input[name="building"]) .choice {
  min-height: 104px;
  padding: 25px 12px 19px;
  gap: 10px;
}

.choice-field:has(input[name="building"]) .choice > svg {
  width: 44px;
  height: 44px;
  stroke-width: 1.5;
}

.choice-field:has(input[name="building"]) .choice-label {
  font-size: 14px;
  letter-spacing: -0.15px;
}

.choice-field:has(input[name="heating"]) .choice:last-child {
  grid-column: 1/-1;
}

.choice.selected {
  background: var(--form-selected);
  color: #29302c;
  border-color: var(--form-selection);
  box-shadow:
    inset 0 0 0 0.5px var(--form-selection),
    0 2px 8px #1b81620c;
}

.choice.selected > svg {
  color: #1b8162;
}

.choice-check {
  position: absolute;
  top: 11px;
  right: 11px;
  border: 1.5px solid #87949c;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
}

.form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  flex-shrink: 0;
  margin: 0;
  border-top: 1px solid #d0d3da;
  background: #f8f8f9;
  padding: 17px 32px;
  box-shadow: 0 -3px 16px #20233304;
}

.form-actions > .button {
  min-width: 176px;
  box-shadow: 0 3px 8px #8d22131a;
}

.form-back {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  margin-right: auto;
  padding: 8px 4px;
  color: var(--form-muted);
  font-size: 14px;
  font-weight: 500;
  padding-inline: 12px;
  border: 1px solid #c8ccd5;
  min-height: 46px;
  border-radius: 7px;
  background: #f3f3f6;
}

.form-back:hover {
  color: var(--form-text);
  background: #e8eaee;
  border-color: #9ea4ae;
}

.contact-grid input {
  display: block;
  width: 100%;
  min-height: 49px;
  margin-top: 7px;
  padding: 12px 13px;
  border: 1px solid var(--form-border);
  color: var(--form-text);
  font-size: 16px;
  line-height: 1.4;
  font-weight: 400;
  border-radius: 7px;
  background: #fafafa;
  box-shadow: inset 0 1px 2px #18192303;
}

.inquiry-steps {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.inquiry-steps > li {
  display: flex;
  flex: 1 1 auto;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  min-width: 0;
  text-align: left;
  color: var(--form-muted);
}

.inquiry-steps > li:last-child {
  flex: 0 0 auto;
}

.inquiry-steps > li:not(:last-child)::after {
  content: "";
  flex: 1 0 12px;
  height: 2px;
  margin: 0 14px 0 6px;
  border-radius: 2px;
  background: #cdd2da;
}

.inquiry-steps > li.is-complete::after {
  background: var(--step-accent);
}

.inquiry-step-marker {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border: 1px solid #c6ccd5;
  background: #fff;
  color: #7b8390;
  font-size: 12px;
  font-weight: 650;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

.inquiry-step-label {
  flex: 0 0 auto;
  color: #737b88;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
}

.inquiry-step-check {
  display: none;
}

.inquiry-steps > li.is-current {
  color: var(--form-text);
}

.inquiry-steps > li.is-current .inquiry-step-label {
  font-weight: 650;
  color: var(--form-text);
}

.inquiry-steps > li.is-current .inquiry-step-marker {
  color: #fff;
  border-color: var(--step-accent);
  background: var(--step-accent);
  box-shadow: 0 0 0 4px var(--step-selected);
}

.inquiry-steps > li.is-complete .inquiry-step-marker {
  border-color: var(--step-accent);
  background: var(--step-selected);
  color: var(--step-accent);
}

.inquiry-steps > li.is-complete .inquiry-step-number {
  display: none;
}

.inquiry-steps > li.is-complete .inquiry-step-check {
  display: block;
}

.inquiry-dialog .required-marker {
  color: #c12727;
  font-size: 15px;
  font-weight: 650;
  line-height: 1;
}

.contact-grid .required-marker {
  margin-left: 2px;
}

.form-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 16px;
}

.required-fields-note {
  margin-left: auto;
  color: var(--form-muted);
  font-size: 12px;
  line-height: 1.5;
  white-space: nowrap;
}

.inquiry-steps > li.is-complete .inquiry-step-label {
  color: var(--form-text);
}

@media (max-width: 720px) {
  .inquiry-dialog {
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    padding: calc(52px + env(safe-area-inset-top)) 0 0;
  }

  .inquiry-form h2 {
    font-size: 28px;
  }

  .choice-field {
    margin-top: 24px;
  }

  .choice-field + .choice-field {
    margin-top: 26px;
  }

  .choice-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .choice {
    min-height: 64px;
    padding: 14px 38px 14px 15px;
  }

  .form-actions .button {
    flex: 1;
    min-width: 0;
    font-size: 15px;
    padding-inline: 18px;
  }

  .form-actions .submit-button {
    font-size: 14px;
    padding-inline: 12px;
    gap: 8px;
  }

  .form-actions .submit-button > svg {
    flex-shrink: 0;
  }

  .contact-grid {
    gap: 19px 12px;
  }

  .contact-grid .contact-name,
  .contact-grid .contact-street,
  .contact-grid .contact-phone,
  .contact-grid .contact-email {
    grid-column: 1 / -1;
  }

  .success-panel {
    padding: 22px 16px 18px;
  }

  .success-panel h2 {
    font-size: 23px;
    letter-spacing: -0.5px;
  }

  .success-next {
    padding: 15px 12px;
  }

  .success-timeline > li {
    grid-template-columns: 24px 30px minmax(0, 1fr);
    gap: 9px;
  }

  .success-step-number {
    width: 24px;
    height: 24px;
    margin-top: 3px;
  }

  .success-step-icon {
    width: 30px;
    height: 30px;
  }

  .success-timeline > li:not(:last-child)::before {
    left: 11px;
    top: 32px;
  }

  .success-timeline > li:not(:last-child)::after {
    left: 47px;
    top: 38px;
  }

  .success-return {
    min-height: 44px;
  }

  .form-body {
    padding: 24px 22px 28px;
  }

  .choice-field:has(input[name="building"]) .choice-grid {
    grid-template-columns: 1fr;
  }

  .choice-field:has(input[name="building"]) .choice {
    min-height: 80px;
    padding: 16px 38px 16px 15px;
    gap: 14px;
  }

  .choice-field:has(input[name="building"]) .choice > svg {
    width: 40px;
    height: 40px;
  }

  .choice-field:has(input[name="building"]) .choice-label {
    font-size: 15px;
    letter-spacing: 0;
  }

  .choice-field.compact .choice-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .choice-field.compact .choice {
    padding: 14px 10px;
    justify-content: center;
    text-align: center;
    min-height: 52px;
  }

  .choice-field.compact .choice-check {
    display: none;
  }

  .choice-field.compact .choice-label {
    font-size: 13px;
  }

  .form-actions {
    gap: 16px;
    padding: 16px 22px max(16px, env(safe-area-inset-bottom));
  }

  .form-actions > .button {
    min-width: 0;
  }

  .form-actions .form-back {
    min-width: 86px;
    padding-inline: 10px;
  }

  .inquiry-inner {
    height: 100%;
    max-height: 100%;
    border: 0;
    border-radius: 16px 16px 0 0;
  }

  .inquiry-dialog.is-success {
    width: calc(100vw - 20px);
    height: fit-content;
    max-height: calc(100dvh - 64px);
    margin: 56px auto 8px;
    padding: 0;
  }

  .inquiry-dialog.is-success .inquiry-inner {
    height: auto;
    max-height: calc(100dvh - 64px);
    border: 1px solid #e6ece8;
    border-radius: 18px;
  }
}

@media (max-width: 600px) {
  .inquiry-progress {
    padding: 14px;
  }

  .inquiry-steps > li {
    gap: 6px;
  }

  .inquiry-step-marker {
    width: 26px;
    height: 26px;
    flex-basis: 26px;
    font-size: 11px;
  }

  .inquiry-step-label {
    font-size: 11px;
  }

  .inquiry-steps > li:not(:last-child)::after {
    flex-basis: 6px;
    margin: 0 6px 0 4px;
  }

  .inquiry-steps > li:not(.is-current) .inquiry-step-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
}

@media (max-width: 520px) {
  .inquiry-trust {
    gap: 10px;
  }

  .inquiry-trust li {
    flex-direction: column;
    gap: 6px;
    font-size: 11px;
    text-align: center;
  }
}

@media (max-width: 380px) {
  .form-actions {
    gap: 10px;
  }

  .form-actions .form-back {
    font-size: 13px;
  }

  .form-actions .submit-button {
    font-size: 13px;
  }

  .choice-field.compact .choice-label {
    font-size: 12px;
  }
}

@media (prefers-contrast: more) {
  .inquiry-dialog {
    --form-muted: #3e493d;
    --form-border: #54634e;
    --choice-border: #54634e;
  }

  .choice.selected {
    outline: 2px solid #303d32;
    outline-offset: 1px;
  }
}

@media (forced-colors: active) {
  .choice.selected {
    border: 2px solid Highlight;
  }

  .choice-check {
    border: 1px solid ButtonText;
  }

  .choice.selected .choice-check {
    background: Highlight;
    color: HighlightText;
  }

  .inquiry-steps > li.is-current .inquiry-step-marker,
  .inquiry-steps > li.is-complete .inquiry-step-marker {
    border-color: Highlight;
    background: Highlight;
    color: HighlightText;
    box-shadow: none;
    forced-color-adjust: none;
  }

  .inquiry-steps > li:not(:last-child)::after {
    background: GrayText;
    forced-color-adjust: none;
  }

  .inquiry-steps > li.is-complete::after {
    background: Highlight;
  }
}

@media (prefers-reduced-motion: reduce) {
  .choice,
  .inquiry-step-marker,
  .inquiry-close {
    transition: none;
  }
}

.funding-card {
  min-width: 0;
  padding: 26px 24px 24px;
  background: #fff;
  color: #161619;
  border: 1px solid #dfe1e6;
  border-radius: 12px;
}

.funding-reference-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #656973;
}

.funding-reference-head > span {
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: 1.5px;
}

.funding-reference-head > svg {
  flex-shrink: 0;
  color: #7d8089;
}

.funding-base {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  margin: 30px 0 28px;
}

.funding-base-amount {
  color: #121214;
  font-size: 90px;
  font-weight: 600;
  line-height: 0.95;
  letter-spacing: -5px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.funding-base-amount > .funding-unit {
  margin-left: 2px;
  color: #7b7e87;
  font-size: 40px;
  font-weight: 400;
  letter-spacing: -1.5px;
}

.funding-base h3 {
  color: #17171a;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: -0.2px;
}

.funding-base > div > p {
  margin-top: 5px;
  color: #686d78;
  font-size: 13px;
  line-height: 1.6;
}

.funding-rate-track {
  height: 6px;
  overflow: hidden;
  border-radius: 10px;
  background: #eceef1;
}

.funding-rate-track > span {
  display: block;
  width: 30%;
  height: 100%;
  border-radius: inherit;
  background: var(--red);
  transform-origin: left center;
}

.funding-bonuses {
  margin: 10px 0 0;
}

.funding-bonuses > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid #e1e3e8;
}

.funding-bonuses dt {
  color: #202024;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.funding-bonuses dt > span {
  display: block;
  margin-top: 5px;
  color: #686d78;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
}

.funding-bonuses dd {
  margin: 0;
  color: var(--red);
  font-size: 18px;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: -0.2px;
  white-space: nowrap;
}

.funding-cap-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 20px 0 0;
  padding: 14px;
  border-radius: 8px;
  background: #f2f3f5;
  color: #616571;
  font-size: 13px;
  line-height: 1.8;
}

.funding-cap-note > svg {
  flex-shrink: 0;
  margin-top: 4px;
  color: #747984;
}

.funding-conditions {
  margin-top: 5px;
}

.funding-conditions > .funding-conditions-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 52px;
  padding: 14px 0;
  color: #222226;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.6;
  list-style: none;
  cursor: pointer;
  width: 100%;
  background: transparent;
  text-align: left;
}

.funding-conditions-icon {
  display: grid;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.funding-conditions-icon > svg {
  grid-area: 1 / 1;
  align-self: center;
  justify-self: center;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.funding-conditions-icon .condition-minus {
  opacity: 0;
}

.funding-conditions.is-open .condition-plus {
  opacity: 0;
  transform: rotate(90deg);
}

.funding-conditions.is-open .condition-minus {
  opacity: 1;
}

.funding-conditions-body {
  padding: 4px 0 0;
  color: #5b606c;
  font-size: 13px;
  line-height: 1.9;
}

.funding-conditions-body p {
  line-height: inherit;
}

.funding-conditions-body p + p {
  margin-top: 12px;
}

.funding-card :is(a, button):focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 5px;
  border-radius: 3px;
}

@media (max-width: 720px) {
  .funding-card {
    padding: 22px 20px;
  }

  .funding-base {
    gap: 20px;
    margin-block: 28px;
  }

  .funding-base-amount {
    font-size: 82px;
  }

  .funding-base-amount > .funding-unit {
    font-size: 36px;
  }

  .funding-bonuses > div {
    gap: 16px;
  }
}

@media (max-width: 380px) {
  .funding-card {
    padding-inline: 18px;
  }

  .funding-base {
    gap: 13px;
  }

  .funding-base-amount {
    font-size: 70px;
    letter-spacing: -4px;
  }

  .funding-base-amount > .funding-unit {
    font-size: 31px;
  }

  .funding-base h3 {
    font-size: 14px;
  }

  .funding-base > div > p {
    font-size: 12px;
  }

  .funding-bonuses > div {
    gap: 12px;
  }

  .funding-bonuses dd {
    font-size: 17px;
  }

  .funding-cap-note {
    padding: 12px;
  }
}

@media (forced-colors: active) {
  .funding-rate-track {
    outline: 1px solid CanvasText;
    background: Canvas;
  }

  .funding-rate-track > span {
    background: Highlight;
    forced-color-adjust: none;
  }

  .funding-cap-note {
    border: 1px solid CanvasText;
  }
}

.funding-conditions-panel {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  visibility: hidden;
  transition:
    grid-template-rows 0.32s cubic-bezier(0.2, 0.65, 0.3, 1),
    opacity 0.22s ease,
    visibility 0s linear 0.32s;
}

.funding-conditions-inner {
  min-height: 0;
  overflow: hidden;
}

.funding-conditions.is-open .funding-conditions-panel {
  grid-template-rows: 1fr;
  opacity: 1;
  visibility: visible;
  transition:
    grid-template-rows 0.32s cubic-bezier(0.2, 0.65, 0.3, 1),
    opacity 0.24s ease,
    visibility 0s;
}

.funding-intro > .text-link {
  position: relative;
  gap: 12px;
  transition: color 0.2s ease;
}

.funding-intro > .text-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 28px;
  bottom: -5px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
}

.funding-intro > .text-link > svg {
  transition: transform 0.22s ease;
}

.funding-intro > .text-link:is(:hover, :focus-visible) {
  gap: 12px;
  color: #207e51;
}

.funding-intro > .text-link:is(:hover, :focus-visible)::after {
  transform: scaleX(1);
}

.funding-intro > .text-link:is(:hover, :focus-visible) > svg {
  transform: translate(3px, -3px);
}

@media (prefers-reduced-motion: reduce) {
  .funding-intro > .text-link:is(:hover, :focus-visible) > svg {
    transform: none;
  }
}

.scroll-reveal {
  transition:
    opacity 0.45s cubic-bezier(0.2, 0.65, 0.3, 1),
    transform 0.45s cubic-bezier(0.2, 0.65, 0.3, 1);
}

.scroll-reveal.is-reveal-pending {
  opacity: 0;
  transform: translateY(14px);
}

.scroll-reveal.is-reveal-pending:focus-within {
  opacity: 1;
  transform: none;
}

.funding-count {
  display: inline-grid;
  font-variant-numeric: tabular-nums;
}

.funding-count::after {
  content: attr(data-funding-count);
  visibility: hidden;
  grid-area: 1 / 1;
}

.funding-count-value {
  grid-area: 1 / 1;
  justify-self: end;
}

@media (prefers-reduced-motion: reduce), print {
  .scroll-reveal.is-reveal-pending {
    opacity: 1;
    transform: none;
  }

  .scroll-reveal {
    transition: none;
  }

  .funding-rate-track > span {
    transform: none !important;
  }
}

.trust-bar.trust-benefits {
  --trust-background: #090a09;
  --trust-icon: #aec5b9;
  padding: 35px 0 28px;
  background: #101012;
  color: #f2f2f4;
  border-top: 1px solid #ffffff08;
  border-bottom: 1px solid #ffffff08;
}

.trust-benefits > .container {
  display: block;
  width: min(1280px, calc(100% - 48px));
}

.trust-benefits-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(100px, 2.8vw, 100px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.trust-benefit {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
}

.trust-benefit-icon {
  display: block;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  padding: 0;
  color: var(--trust-icon);
  background: none;
  border: 0;
  border-radius: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.trust-benefit-icon-cutout {
  fill: var(--trust-background);
}

.trust-benefit-text {
  min-width: 0;
}

.trust-benefit-title {
  display: block;
  color: #f2f2f4;
  font-size: clamp(13px, 1.05vw, 15px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.2px;
}

.trust-benefit-description {
  display: block;
  margin-top: 4px;
  color: #a4a6a4;
  font-size: clamp(11px, 0.85vw, 12px);
  font-weight: 400;
  line-height: 1.4;
}

.trust-benefits .trust-benefits-notice {
  max-width: none;
  margin: 28px 0 0;
  color: #62626a;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
}

@media (max-width: 800px) {
  .trust-benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
}

@media (max-width: 480px) {
  .trust-bar.trust-benefits {
    padding: 24px 0 18px;
  }

  .trust-benefits > .container {
    width: calc(100% - 40px);
  }

  .trust-benefits-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }

  .trust-benefits .trust-benefits-notice {
    margin-top: 22px;
  }
}

.trust-bar.trust-benefits {
  --trust-background: #101012;
}

.trust-benefits .trust-benefit-icon {
  overflow: visible;
}

.trust-shield-body,
.trust-shield-impact,
.trust-calculator-keys > rect,
.trust-calculator-coin,
.trust-stopwatch-body,
.trust-stopwatch-speedlines > path,
.trust-check-ring {
  transform-box: fill-box;
  transform-origin: center;
}

.trust-shield-impact,
.trust-calculator-readout {
  opacity: 0;
}

.trust-calculator-readout,
.trust-check-mark {
  stroke-dasharray: 1;
  stroke-dashoffset: 0;
}

.trust-stopwatch-hand {
  transform-box: view-box;
  transform-origin: 34px 32px;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .trust-benefit:hover .trust-benefit-icon {
    color: #d1ecdf;
  }

  .trust-benefit--shield:hover .trust-shield-body {
    animation: trust-shield-block 1.7s ease-in-out infinite;
  }

  .trust-benefit--shield:hover .trust-shield-impact {
    animation: trust-shield-impact 1.7s ease-out infinite;
  }

  .trust-benefit--funding:hover .trust-calculator-keys > rect {
    animation: trust-calculator-keypress 1.8s ease-in-out infinite;
  }

  .trust-benefit--funding:hover .trust-calculator-keys > rect:nth-child(2) {
    animation-delay: 0.16s;
  }

  .trust-benefit--funding:hover .trust-calculator-keys > rect:nth-child(3) {
    animation-delay: 0.32s;
  }

  .trust-benefit--funding:hover .trust-calculator-keys > rect:nth-child(4) {
    animation-delay: 0.48s;
  }

  .trust-benefit--funding:hover .trust-calculator-keys > rect:nth-child(5) {
    animation-delay: 0.64s;
  }

  .trust-benefit--funding:hover .trust-calculator-keys > rect:nth-child(6) {
    animation-delay: 0.8s;
  }

  .trust-benefit--funding:hover .trust-calculator-readout {
    animation: trust-calculator-readout 1.8s ease-in-out infinite;
  }

  .trust-benefit--funding:hover .trust-calculator-coin {
    animation: trust-calculator-coin 1.8s ease-in-out infinite;
  }

  .trust-benefit--speed:hover .trust-stopwatch-body {
    animation: trust-stopwatch-dash 0.85s ease-in-out infinite;
  }

  .trust-benefit--speed:hover .trust-stopwatch-speedlines > path {
    animation: trust-stopwatch-speedline 0.65s linear infinite;
  }

  .trust-benefit--speed:hover .trust-stopwatch-speedlines > path:nth-child(2) {
    animation-delay: -0.32s;
  }

  .trust-benefit--speed:hover .trust-stopwatch-speedlines > path:nth-child(3) {
    animation-delay: -0.16s;
  }

  .trust-benefit--speed:hover .trust-stopwatch-speedlines > path:nth-child(4) {
    animation-delay: -0.48s;
  }

  .trust-benefit--speed:hover .trust-stopwatch-hand {
    animation: trust-stopwatch-tick 1.2s linear infinite;
  }

  .trust-benefit--check:hover .trust-check-mark {
    animation: trust-check-draw 1.9s ease-in-out infinite;
  }

  .trust-benefit--check:hover .trust-check-ring {
    animation: trust-check-ring 1.9s ease-in-out infinite;
  }
}

@keyframes trust-shield-block {
  0%,
  10%,
  48%,
  100% {
    transform: translateX(0) rotate(0deg) scale(1);
  }
  20% {
    transform: translateX(-2px) rotate(-5deg) scale(0.9, 1.02);
  }
  29% {
    transform: translateX(1px) rotate(2deg) scale(1.04, 0.98);
  }
  38% {
    transform: translateX(-0.5px) rotate(-1deg) scale(0.99, 1.01);
  }
}

@keyframes trust-shield-impact {
  0%,
  10%,
  36%,
  100% {
    opacity: 0;
    transform: translateX(-2px) scale(0.85);
  }
  18% {
    opacity: 0.95;
    transform: translateX(0) scale(1);
  }
  32% {
    opacity: 0;
    transform: translateX(3px) scale(1.15);
  }
}

@keyframes trust-calculator-keypress {
  0%,
  10%,
  36%,
  100% {
    fill: transparent;
    transform: translateY(0) scale(1);
  }
  20%,
  25% {
    fill: currentColor;
    transform: translateY(0.6px) scale(0.94);
  }
}

@keyframes trust-calculator-readout {
  0%,
  10%,
  100% {
    opacity: 0;
    stroke-dashoffset: 1;
  }
  30%,
  75% {
    opacity: 1;
    stroke-dashoffset: 0;
  }
  90% {
    opacity: 0;
    stroke-dashoffset: 0;
  }
}

@keyframes trust-calculator-coin {
  0%,
  20%,
  65%,
  100% {
    transform: translateY(0) scale(1);
  }
  38% {
    transform: translateY(-2px) scale(1.06);
  }
  50% {
    transform: translateY(0.5px) scale(0.99);
  }
}

@keyframes trust-stopwatch-dash {
  0%,
  100% {
    transform: translateX(0) rotate(0deg);
  }
  40% {
    transform: translateX(1.5px) rotate(3deg);
  }
  72% {
    transform: translateX(-0.5px) rotate(-1deg);
  }
}

@keyframes trust-stopwatch-speedline {
  0% {
    opacity: 0;
    transform: translateX(3px) scaleX(0.65);
  }
  20%,
  40% {
    opacity: 1;
    transform: translateX(0) scaleX(1.1);
  }
  100% {
    opacity: 0;
    transform: translateX(-8px) scaleX(0.7);
  }
}

@keyframes trust-stopwatch-tick {
  to {
    transform: rotate(360deg);
  }
}

@keyframes trust-check-draw {
  0%,
  8% {
    opacity: 0;
    stroke-dashoffset: 1;
  }
  14% {
    opacity: 1;
    stroke-dashoffset: 1;
  }
  42%,
  78% {
    opacity: 1;
    stroke-dashoffset: 0;
  }
  92% {
    opacity: 0;
    stroke-dashoffset: 0;
  }
  100% {
    opacity: 0;
    stroke-dashoffset: 1;
  }
}

@keyframes trust-check-ring {
  0%,
  20%,
  78%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  48% {
    opacity: 0.8;
    transform: scale(1.07);
  }
  62% {
    opacity: 1;
    transform: scale(0.99);
  }
}
