.ppf-contact {
  max-width:1500px;
  margin:auto;
  padding:48px clamp(24px,4vw,64px);
}

.ppf-contact__heading {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:48px;
  align-items:end;
  padding-bottom:48px;
  border-bottom:1px solid #2a3830;
}

.ppf-contact h1 {
  font-size:clamp(38px,5vw,68px);
  line-height:1.04;
  text-transform:uppercase;
  letter-spacing:-.025em;
  margin:0;
}

.ppf-contact h2 {
  font-size:clamp(25px,2.6vw,36px);
  line-height:1.15;
  margin:0 0 18px;
}

.ppf-contact p {
  color:#b6bfb5;
  line-height:1.65;
}

.ppf-contact .ppf-contact__kicker {
  font-size:12px;
  font-weight:bold;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#c7ff48;
  margin:0 0 16px;
}

.ppf-contact__layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);
  gap:64px;
  margin-top:44px;
}

.ppf-contact__sidebar section {
  padding:0 0 28px;
  margin-bottom:28px;
  border-bottom:1px solid #2a3830;
}

.ppf-contact__phone {
  font-size:clamp(23px,2.5vw,32px);
  font-weight:bold;
  color:#c7ff48;
  text-decoration:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:48px;
  gap:12px;
}

.ppf-contact .ppf-contact__small {
  font-size:12px;
}

.ppf-contact__access address {
  font-style:normal;
  line-height:1.7;
  color:#b6bfb5;
  margin-bottom:18px;
}

.ppf-contact__access a {
  display:block;
  color:#c7ff48;
  font-weight:bold;
  text-decoration:none;
  min-height:44px;
}

.ppf-contact__access small {
  display:block;
  color:#b6bfb5;
  font-size:11px;
  font-weight:normal;
  margin-top:7px;
}

.ppf-contact__email h2 {
  font-size:21px;
}

.ppf-contact__email a {
  overflow-wrap:anywhere;
  color:#c7ff48;
  line-height:1.7;
}

.ppf-contact__notice {
  border-left:3px solid #c7ff48;
  padding-left:16px;
  font-size:13px;
  margin-bottom:28px;
}

.ppf-contact__fields {
  display:grid;
  align-items:end;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin:22px 0;
}

.ppf-contact form label {
  display:flex;
  flex-direction:column;
  gap:9px;
  font-size:13px;
  font-weight:bold;
}

.ppf-contact label>span {
  font-weight:normal;
  color:#b6bfb5;
  font-size:11px;
}

.ppf-contact input,.ppf-contact select,.ppf-contact textarea {
  width:100%;
  min-width:0;
  background:#0d1b16;
  border:1px solid #526052;
  border-radius:8px;
  color:#f5f2e8;
  padding:13px;
  font:inherit;
  font-weight:normal;
  min-height:48px;
  color-scheme:dark;
}

.ppf-contact textarea {
  resize:vertical;
  line-height:1.6;
}

.ppf-contact input::placeholder,.ppf-contact textarea::placeholder {
  color:#a7b2a8;
}

.ppf-contact__submit {
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:24px;
}

.ppf-contact__submit button {
  background:#c7ff48;
  color:#06110d;
  border:0;
  border-radius:28px;
  padding:15px 22px;
  font:inherit;
  font-weight:bold;
  min-height:48px;
  cursor:pointer;
  flex-shrink:0;
}

.ppf-contact__submit button:disabled {
  opacity:.55;
  cursor:not-allowed;
}

.ppf-contact__submit p {
  font-size:11px;
  margin:0;
}

.ppf-contact :focus-visible {
  outline:2px solid #c7ff48;
  outline-offset:4px;
}

.ppf-contact__preview {
  background:#12271b;
  border:1px solid #52683b;
  border-radius:12px;
  padding:24px;
  margin-top:28px;
}

.ppf-contact__preview h3 {
  margin-top:0;
}

.ppf-contact__preview dl>div {
  padding:12px 0;
  border-bottom:1px solid #2a3830;
}

.ppf-contact__preview dt {
  font-size:12px;
  color:#b6bfb5;
}

.ppf-contact__preview dd {
  margin:6px 0 0;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.ppf-contact__preview p {
  font-size:13px;
}

.ppf-contact__next {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  border-top:1px solid #2a3830;
  margin-top:52px;
  padding-top:32px;
}

.ppf-contact__next h2 {
  font-size:26px;
}

.ppf-contact__next a {
  color:#c7ff48;
  font-weight:bold;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:20px;
}

.ppf-contact [hidden] {
  display:none;
}

@media(max-width:1000px) {
  .ppf-contact__layout {
    gap:32px;
  }

  .ppf-contact__submit {
    align-items:start;
    flex-direction:column;
    gap:12px;
  }

}

@media(max-width:760px) {
  .ppf-contact {
    padding-top:32px;
  }

  .ppf-contact__heading,.ppf-contact__layout {
    grid-template-columns:1fr;
    gap:24px;
  }

  .ppf-contact__heading {
    padding-bottom:24px;
  }

  .ppf-contact__fields {
    grid-template-columns:1fr;
    gap:18px;
  }

  .ppf-contact__next {
    flex-direction:column;
    align-items:start;
  }

  .ppf-contact__submit button {
    width:100%;
  }

  .ppf-contact__sidebar section {
    margin-bottom:24px;
    padding-bottom:24px;
  }

}

.ppf-contact__trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.ppf-contact__request .ppf-contact__consent{display:flex;flex-direction:row;align-items:start;gap:12px;margin:20px 0;line-height:1.6}
.ppf-contact__request .ppf-contact__consent input{width:20px;min-height:20px;margin:4px 0;flex-shrink:0;accent-color:#c7ff48}
