/* Native form: a dark surface aligned with the rest of the Webnif theme. */
.webnif-contact-form {
  --wnf-ink: #eff7fc;
  --wnf-muted: #abc0ce;
  --wnf-line: rgba(164, 196, 216, .24);
  --wnf-accent: #78d8e5;
  width: 100%;
  color: var(--wnf-ink);
}
.webnif-contact-form-card {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 2.6vw, 34px);
  border: 1px solid rgba(133, 188, 214, .22);
  border-radius: 22px;
  background: linear-gradient(150deg, #112336 0%, #0b1928 58%, #0a1623 100%);
  box-shadow: 0 25px 70px rgba(0, 7, 16, .27), inset 0 1px 0 rgba(213, 239, 249, .07);
  color: #eff7fc;
}
.webnif-contact-form-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, #83d9df, #5f9dcb 60%, transparent);
  content: '';
}
.webnif-contact-form .wnf-heading {
  padding: 0 0 18px;
  margin: 0 0 20px;
  border-bottom: 1px solid rgba(170, 205, 224, .15);
}
.webnif-contact-form .wnf-kicker {
  margin: 0 0 11px;
  color: var(--wnf-accent);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .14em;
  line-height: 1.4;
}
.webnif-contact-form .wnf-heading h3 {
  margin: 0;
  color: #f3f9fd;
  font-size: clamp(25px, 2.25vw, 32px);
  font-weight: 620;
  letter-spacing: -.045em;
  line-height: 1.14;
}
.webnif-contact-form .wnf-heading > p:not(.wnf-kicker) {
  max-width: 52ch;
  margin: 9px 0 0;
  color: #b4c5d1;
  font-size: 14px;
  line-height: 1.55;
}
.webnif-contact-form .wnf-required-note { display: block; margin-top: 10px; color: #9eb4c3; font-size: 12px; }
.webnif-contact-form .wnf-required-note > span,
.webnif-contact-form .wnf-required { color: #8ee3e9; }
.webnif-contact-form .wnf-form { display: grid; gap: 17px; margin: 0; }
.webnif-contact-form .wnf-form-grid,
.webnif-contact-form .wnf-more-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.webnif-contact-form .wnf-field { min-width: 0; }
.webnif-contact-form .wnf-field--wide { grid-column: 1 / -1; }
.webnif-contact-form .wnf-label {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin: 0 0 8px;
  color: #e7f1f7;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.4;
}
.webnif-contact-form .wnf-label .wnf-optional { margin-left: auto; }
.webnif-contact-form .wnf-optional,
.webnif-contact-form .wnf-help,
.webnif-contact-form .wnf-privacy { color: var(--wnf-muted); font-size: 12px; font-weight: 400; }
.webnif-contact-form input[type=text],
.webnif-contact-form input[type=email],
.webnif-contact-form input[type=tel],
.webnif-contact-form input[type=url],
.webnif-contact-form select,
.webnif-contact-form textarea {
  display: block;
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 12px 15px;
  border: 1px solid var(--wnf-line);
  border-radius: 10px;
  background: #081725;
  color: #f4f9fd;
  font: inherit;
  font-size: 15px;
  line-height: 1.45;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .15);
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.webnif-contact-form textarea { min-height: 116px; resize: vertical; }
.webnif-contact-form input::placeholder,
.webnif-contact-form textarea::placeholder { color: #8299a9; opacity: 1; }
.webnif-contact-form input:hover,
.webnif-contact-form select:hover,
.webnif-contact-form textarea:hover { border-color: rgba(164, 196, 216, .42); }
.webnif-contact-form input:focus,
.webnif-contact-form select:focus,
.webnif-contact-form textarea:focus {
  outline: 0;
  border-color: #76d8e5;
  background: #0a1c2c;
  box-shadow: 0 0 0 3px rgba(118, 216, 229, .17);
}
.webnif-contact-form [aria-invalid=true] { border-color: #fa8d98 !important; }
.webnif-contact-form .wnf-help { margin: 7px 0 0; line-height: 1.5; }
.webnif-contact-form .wnf-error { margin: 7px 0 0; color: #ffb3ba; font-size: 13px; line-height: 1.45; }
.webnif-contact-form .wnf-more { border: 1px solid rgba(164, 196, 216, .2); border-radius: 11px; background: rgba(5, 18, 30, .52); }
.webnif-contact-form .wnf-more > summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 11px 15px;
  color: #d8eaf3;
  cursor: pointer;
  font-size: 13px;
  font-weight: 650;
  list-style: none;
}
.webnif-contact-form .wnf-more > summary::-webkit-details-marker { display: none; }
.webnif-contact-form .wnf-more > summary::after { content: '+'; color: var(--wnf-accent); font-size: 20px; font-weight: 400; }
.webnif-contact-form .wnf-more[open] > summary::after { content: '−'; }
.webnif-contact-form .wnf-more > summary span { margin-left: auto; color: #96aebd; font-size: 11px; font-weight: 450; }
.webnif-contact-form .wnf-more-grid { padding: 0 15px 16px; }
.webnif-contact-form .wnf-checkbox-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0; margin: 0; border: 0; }
.webnif-contact-form .wnf-checkbox-options label { display: flex; align-items: flex-start; gap: 8px; color: #c2d5df; font-size: 13px; line-height: 1.4; }
.webnif-contact-form .wnf-checkbox-options input { flex: 0 0 17px; width: 17px; height: 17px; margin: 1px 0 0; accent-color: #78d8e5; }
.webnif-contact-form .wnf-challenge { display: flex; align-items: center; min-height: 65px; }
.webnif-contact-form .wnf-privacy { margin: 0; line-height: 1.6; }
.webnif-contact-form .wnf-privacy a { color: #92e5ed; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.webnif-contact-form .wnf-privacy a:hover { color: #c5fbff; }
.webnif-contact-form .wnf-submit-row { display: flex; }
.webnif-contact-form .wnf-submit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  width: 100%;
  min-height: 54px;
  padding: 0 18px;
  border: 1px solid #8ad8e9;
  border-radius: 10px;
  background: linear-gradient(105deg, #84dce9 0%, #5fbddd 100%);
  color: #09202d;
  cursor: pointer;
  font: inherit;
  font-size: 15px;
  font-weight: 750;
  transition: filter .16s ease, transform .16s ease;
}
.webnif-contact-form .wnf-submit:hover { filter: brightness(1.09); }
.webnif-contact-form .wnf-submit:active { transform: translateY(1px); }
.webnif-contact-form .wnf-submit:focus-visible { outline: 3px solid #e0fbff; outline-offset: 3px; }
.webnif-contact-form .wnf-submit[disabled] { opacity: .62; cursor: wait; }
.webnif-contact-form .wnf-submit span { font-size: 21px; line-height: 1; }
.webnif-contact-form .wnf-feedback { margin: 0 0 18px; padding: 14px 16px; border: 1px solid; border-radius: 10px; font-size: 14px; line-height: 1.5; }
.webnif-contact-form .wnf-feedback--success { border-color: rgba(115, 216, 180, .48); background: #113329; color: #c6f4e4; }
.webnif-contact-form .wnf-feedback--error { border-color: rgba(250, 141, 152, .48); background: #372129; color: #ffd5d9; }
.webnif-contact-form .wnf-feedback ul { margin: 7px 0 0; padding-left: 20px; }
.webnif-contact-form .wnf-live-region.is-error { color: #ffb3ba; }
.webnif-contact-form .wnf-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.webnif-home-v2 .cta-section { scroll-margin-top: -16px; }
.webnif-home-v2 .cta-box.webnif-cta-box--form { display: grid; width: 100%; max-width: 1160px; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); align-items: start; gap: clamp(34px, 6vw, 72px); margin: 0 auto; padding: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: left; }
.webnif-home-v2 .cta-box.webnif-cta-box--form::before,
.webnif-home-v2 .cta-box.webnif-cta-box--form::after { display: none; content: none; }
.webnif-home-v2 .cta-box.webnif-cta-box--form .webnif-cta-copy { position: relative; z-index: 1; max-width: 490px; padding-top: 22px; }
.webnif-home-v2 .cta-box.webnif-cta-box--form .webnif-contact-eyebrow { margin: 0 0 17px; color: #77d5dc; font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.webnif-home-v2 .cta-box.webnif-cta-box--form .webnif-cta-copy h2 { max-width: 12ch; margin: 0; background: none; color: #f1f6fa; font-size: clamp(2.25rem, 4vw, 3.6rem); font-weight: 600; letter-spacing: -.05em; line-height: 1.06; text-align: left; -webkit-text-fill-color: #f1f6fa; text-wrap: balance; }
.webnif-home-v2 .cta-box.webnif-cta-box--form .webnif-cta-description { max-width: 45ch; margin: 16px 0 0; color: #b6c4d0; font-size: 15px; line-height: 1.7; }
.webnif-home-v2 .webnif-contact-cta-card { position: relative; z-index: 1; width: 100%; text-align: left; }
@media (max-width: 900px) {
  .webnif-home-v2 .cta-box.webnif-cta-box--form { max-width: 660px; grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .webnif-home-v2 .cta-box.webnif-cta-box--form .webnif-contact-cta-card { order: 2; }
  .webnif-home-v2 .cta-box.webnif-cta-box--form .webnif-cta-copy { order: 1; padding-top: 0; }
  .webnif-home-v2 .cta-box.webnif-cta-box--form .webnif-cta-copy h2 { max-width: 18ch; }
  .webnif-home-v2 .cta-box.webnif-cta-box--form .webnif-cta-description { margin-top: 10px; }
}
@media (max-width: 680px) {
  .webnif-home-v2 .cta-box.webnif-cta-box--form .webnif-contact-cta-card { order: 1; }
  .webnif-home-v2 .cta-box.webnif-cta-box--form .webnif-cta-copy { order: 2; }
  .webnif-contact-form-card { padding: 23px 20px; border-radius: 18px; }
  .webnif-contact-form .wnf-form-grid,
  .webnif-contact-form .wnf-more-grid { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .webnif-contact-form .wnf-field--wide { grid-column: auto; }
}
@media (max-width: 768px) {
  body.webnif-contact-in-view .mobile-bottom,
  body:has(.webnif-contact-form:focus-within) .mobile-bottom { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(120%); }
  .webnif-contact-page .webnif-contact-container { padding-bottom: 120px; }
  .webnif-home-v2 .cta-section { scroll-margin-top: -16px; padding-bottom: 130px; }
  .webnif-contact-form input,
  .webnif-contact-form select,
  .webnif-contact-form textarea { scroll-margin-top: 96px; }
}
@media (max-width: 360px) {
  .webnif-contact-form .wnf-checkbox-options { grid-template-columns: minmax(0, 1fr); }
  .webnif-contact-form .wnf-more > summary { align-items: flex-start; }
  .webnif-contact-form .wnf-more > summary span { white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  .webnif-contact-form * { scroll-behavior: auto !important; transition: none !important; }
}
