/* Gravity Forms skin, moved from Additional CSS into the theme (Oct 2026). Opt in with the form CSS class "avx-form". */

/* =====================================================================
   AVX Gravity Forms skin (Apple-style, brand palette only)
   Applies to any Gravity Form with "avx-form" in Form Settings > CSS Class Name.
   Choice cards: add "avx-cards" (and optionally "avx-cards--numbered")
   to a Radio Buttons field's Custom CSS Class.
   Colors: navy #081D2C, slate #293D47, yellow #F9E065, blue #72B1D9,
   coral #EF6A5D, green #81C892, cream #FFF8DA, sky #DAEBF9,
   blush #FFF7F5, mint #E5F2E6. Grays are slate blended on white.
   ===================================================================== */
body .gform_wrapper.avx-form_wrapper.gform-theme {
  --avx-ink: #081D2C;          /* navy */
  --avx-ink-2: #293D47;        /* slate */
  --avx-muted: #5E6E75;        /* slate 75% (5.3:1) */
  --avx-line: #7F8B91;         /* slate 60% (3.5:1) */
  --avx-hair: #D8DCDE;         /* slate 18% */
  --avx-ring: rgba(114, 177, 217, .5); /* blue halo */
  --avx-error: #EF6A5D;        /* coral (borders/icons) */
  --avx-error-bg: #FFF7F5;     /* blush */
  --gf-color-primary: #081D2C !important;
  --gf-color-primary-rgb: 8, 29, 44 !important;
  --gf-color-primary-contrast: #FFFFFF !important;
  --gf-color-primary-darker: #081D2C !important;
  --gf-color-primary-lighter: #293D47 !important;
  color: var(--avx-ink);
  font-family: inherit;
}

/* Required markers: small coral asterisk + key in slate; optional fields say "(optional)" */
body .gform_wrapper.avx-form_wrapper.gform-theme .gfield_label .gfield_required,
body .gform_wrapper.avx-form_wrapper.gform-theme .gfield_required .gfield_required {
  display: inline;
  margin: 0;
  font-size: inherit;
  font-weight: 700;
  color: var(--avx-ink);
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_required_legend {
  margin: 0 0 16px;
  font-size: 0; /* hides the quote marks Gravity Forms prints around the asterisk */
  line-height: 1.4;
  color: var(--avx-muted);
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_required_legend .gfield_required {
  font-size: 14px;
  color: var(--avx-ink);
  font-weight: 700;
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_required_legend::after {
  content: " indicates required fields";
  font-size: 14px;
}

body .gform_wrapper.avx-form_wrapper.gform-theme .gform_fields { row-gap: 22px; }

/* Labels */
body .gform_wrapper.avx-form_wrapper.gform-theme .gfield_label,
body .gform_wrapper.avx-form_wrapper.gform-theme .gform-field-label:not(.gform-field-label--type-inline) {
  margin: 0 0 8px;
  padding: 0;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.01em;
  color: var(--avx-ink);
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gfield_description {
  font-size: 14px;
  line-height: 1.45;
  color: var(--avx-muted);
}

/* Section headings */
body .gform_wrapper.avx-form_wrapper.gform-theme .gsection {
  margin-top: 10px;
  padding: 0;
  border: 0;
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gsection_title {
  margin: 0;
  font-family: inherit;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--avx-ink);
}

/* Text inputs */
body .gform_wrapper.avx-form_wrapper.gform-theme input[type=text],
body .gform_wrapper.avx-form_wrapper.gform-theme input[type=email],
body .gform_wrapper.avx-form_wrapper.gform-theme input[type=tel],
body .gform_wrapper.avx-form_wrapper.gform-theme input[type=url],
body .gform_wrapper.avx-form_wrapper.gform-theme input[type=number],
body .gform_wrapper.avx-form_wrapper.gform-theme select,
body .gform_wrapper.avx-form_wrapper.gform-theme textarea {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  width: 100%;
  min-height: 56px;
  margin: 0;
  padding: 15px 16px;
  font-family: inherit;
  font-size: 17px; /* 16px+ keeps iOS from zooming on focus */
  font-weight: 400;
  line-height: 1.35;
  color: var(--avx-ink);
  background: #FFFFFF;
  border: 1px solid var(--avx-line);
  border-radius: 12px;
  box-shadow: none;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .gform_wrapper.avx-form_wrapper.gform-theme textarea {
  min-height: 150px;
  resize: vertical;
}
body .gform_wrapper.avx-form_wrapper.gform-theme input::placeholder,
body .gform_wrapper.avx-form_wrapper.gform-theme textarea::placeholder {
  color: var(--avx-muted);
  opacity: 1;
}
body .gform_wrapper.avx-form_wrapper.gform-theme input[type=text]:hover,
body .gform_wrapper.avx-form_wrapper.gform-theme input[type=email]:hover,
body .gform_wrapper.avx-form_wrapper.gform-theme input[type=tel]:hover,
body .gform_wrapper.avx-form_wrapper.gform-theme textarea:hover {
  border-color: var(--avx-ink-2);
}
body .gform_wrapper.avx-form_wrapper.gform-theme input[type=text]:focus,
body .gform_wrapper.avx-form_wrapper.gform-theme input[type=email]:focus,
body .gform_wrapper.avx-form_wrapper.gform-theme input[type=tel]:focus,
body .gform_wrapper.avx-form_wrapper.gform-theme input[type=url]:focus,
body .gform_wrapper.avx-form_wrapper.gform-theme input[type=number]:focus,
body .gform_wrapper.avx-form_wrapper.gform-theme select:focus,
body .gform_wrapper.avx-form_wrapper.gform-theme textarea:focus {
  border-color: var(--avx-ink);
  box-shadow: 0 0 0 1px var(--avx-ink), 0 0 0 5px var(--avx-ring);
  outline: none;
}

/* Errors: coral borders and icon, navy text */
body .gform_wrapper.avx-form_wrapper.gform-theme .gfield_error input,
body .gform_wrapper.avx-form_wrapper.gform-theme .gfield_error textarea,
body .gform_wrapper.avx-form_wrapper.gform-theme .gfield_error select {
  border-color: var(--avx-error);
  box-shadow: 0 0 0 1px var(--avx-error);
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gfield_validation_message,
body .gform_wrapper.avx-form_wrapper.gform-theme .validation_message {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 8px 0 0;
  padding: 0;
  background: none;
  border: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--avx-ink);
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gfield_validation_message::before,
body .gform_wrapper.avx-form_wrapper.gform-theme .validation_message::before {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--avx-error) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 4v5' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='11.75' r='1.1' fill='%23fff'/%3E%3C/svg%3E") no-repeat center / 16px;
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_validation_errors {
  margin: 0 0 24px;
  padding: 14px 16px;
  background: var(--avx-error-bg);
  border: 1px solid var(--avx-error);
  border-radius: 14px;
  box-shadow: none;
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_validation_errors > h2 {
  margin: 0;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--avx-ink);
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_validation_errors > h2 .gform-icon {
  color: var(--avx-error);
  border-color: var(--avx-error);
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_validation_errors ol,
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_validation_errors a {
  color: var(--avx-ink);
}

/* Submit button: navy, slate on hover */
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_footer,
body .gform_wrapper.avx-form_wrapper.gform-theme .gform-footer {
  margin: 28px 0 0;
  padding: 0;
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_footer input[type=submit],
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_footer button[type=submit],
body .gform_wrapper.avx-form_wrapper.gform-theme .gform-footer input[type=submit],
body .gform_wrapper.avx-form_wrapper.gform-theme .gform-footer button[type=submit] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  min-height: 56px;
  margin: 0;
  padding: 14px 24px;
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.01em;
  text-transform: none;
  color: #FFFFFF;
  background: var(--avx-ink);
  border: 0;
  border-radius: 999px; /* a pill with no shadow, like every other button on the site */
  box-shadow: none;
  cursor: pointer;
  transition: background-color .2s ease, transform .12s ease, box-shadow .2s ease;
  -webkit-tap-highlight-color: transparent;
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_footer input[type=submit]:hover,
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_footer button[type=submit]:hover,
body .gform_wrapper.avx-form_wrapper.gform-theme .gform-footer input[type=submit]:hover,
body .gform_wrapper.avx-form_wrapper.gform-theme .gform-footer button[type=submit]:hover {
  color: #FFFFFF;
  background: var(--avx-ink-2);
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_footer input[type=submit]:active,
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_footer button[type=submit]:active,
body .gform_wrapper.avx-form_wrapper.gform-theme .gform-footer input[type=submit]:active,
body .gform_wrapper.avx-form_wrapper.gform-theme .gform-footer button[type=submit]:active {
  transform: scale(.985);
}
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_footer input[type=submit]:focus-visible,
body .gform_wrapper.avx-form_wrapper.gform-theme .gform_footer button[type=submit]:focus-visible,
body .gform_wrapper.avx-form_wrapper.gform-theme .gform-footer input[type=submit]:focus-visible,
body .gform_wrapper.avx-form_wrapper.gform-theme .gform-footer button[type=submit]:focus-visible {
  outline: 3px solid var(--avx-ink);
  outline-offset: 3px;
}

/* Turnstile */
body .gform_wrapper.avx-form_wrapper.gform-theme .gfield--type-turnstile { margin-top: 2px; }

/* Choice cards (Radio field CSS class: avx-cards) */
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards .gfield_radio,
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards .gfield_checkbox {
  display: grid;
  gap: 12px;
  counter-reset: avx-card;
}
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards .gchoice {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
}
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards .gchoice input {
  position: absolute;
  top: 50%;
  left: 24px;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards .gchoice label {
  display: flex;
  align-items: center;
  gap: 14px;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 68px;
  margin: 0;
  padding: 14px 16px;
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.01em;
  color: var(--avx-ink);
  background: #FFFFFF;
  border: 1px solid var(--avx-hair);
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(8, 29, 44, .05);
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease, transform .12s ease;
  -webkit-tap-highlight-color: transparent;
}
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards .gchoice label:hover { border-color: var(--avx-line); }
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards .gchoice label:active { transform: scale(.985); }
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards .gchoice label::after {
  content: "";
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  margin-left: auto;
  box-sizing: border-box;
  border: 1.5px solid var(--avx-line);
  border-radius: 50%;
  background: #FFFFFF no-repeat center / 14px;
  transition: background-color .2s ease, border-color .2s ease;
}
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards .gchoice input:checked + label {
  background-color: var(--avx-tint, #DAEBF9);
  border-color: var(--avx-ink);
  box-shadow: 0 0 0 1px var(--avx-ink), 0 8px 22px rgba(8, 29, 44, .10);
}
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards .gchoice input:checked + label::after {
  background-color: var(--avx-ink);
  border-color: var(--avx-ink);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 7.4l2.9 2.9 6.1-6.6' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards .gchoice input:focus-visible + label {
  outline: 3px solid var(--avx-ink);
  outline-offset: 3px;
}
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards.gfield_error .gchoice label { border-color: var(--avx-error); }

/* Numbered cards: 1 coral, 2 blue, 3 green (repeats); selected fill = matching neutral */
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards--numbered .gchoice label::before {
  counter-increment: avx-card;
  content: counter(avx-card);
  flex: 0 0 40px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 21px;
  font-variant-numeric: lining-nums;
  font-weight: 700;
  line-height: 1;
  color: var(--avx-ink);
  background: var(--avx-badge, #EF6A5D);
}
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards--numbered .gchoice:nth-child(3n+1) { --avx-badge: #EF6A5D; --avx-tint: #FFF7F5; }
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards--numbered .gchoice:nth-child(3n+2) { --avx-badge: #72B1D9; --avx-tint: #DAEBF9; }
body .gform_wrapper.avx-form_wrapper.gform-theme .avx-cards--numbered .gchoice:nth-child(3n+3) { --avx-badge: #81C892; --avx-tint: #E5F2E6; }

/* Confirmation message */
.avx-success {
  padding: 28px 4px 8px;
  text-align: center;
  color: #081D2C;
}
.avx-success__icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: #81C892 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23081D2C' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 36px;
  animation: avx-pop .55s cubic-bezier(.2, .9, .3, 1.3) both;
}
.avx-success h3 {
  margin: 0 0 8px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.15;
  color: #081D2C;
}
.avx-success p {
  max-width: 30em;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.5;
  color: #293D47;
}
.avx-success a {
  color: #081D2C;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@keyframes avx-pop {
  from { transform: scale(.4); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .avx-success__icon { animation: none; }
  body .gform_wrapper.avx-form_wrapper.gform-theme * { transition: none !important; }
}
/* ===== end AVX Gravity Forms skin ===== */
