/* ================================================================
   ALIFY 2.9 — Form System V4
   Usability-first, high-conversion form interface.
   ================================================================ */

.alify-ui-v3 .iv4-form-paper{
  position:relative;
  overflow:visible;
  padding:0!important;
  background:var(--off)!important;
  color:var(--black)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:12px 12px 0 var(--teal)!important;
}
.alify-ui-v3 .iv4-form-paper::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--green) 0 24%,var(--teal) 24% 72%,var(--navy) 72% 100%);
}
.alify-ui-v3 .iv4-form-paper::after{display:none!important}
.alify-ui-v3 .iv4-form-paper__head{
  display:block!important;
  min-height:0!important;
  margin:0!important;
  padding:30px 34px 24px!important;
  border:0!important;
  border-bottom:1px solid rgba(0,0,0,.12)!important;
  background:var(--white)!important;
}
.alify-ui-v3 .iv4-form-paper__head>span{
  display:block!important;
  margin:0 0 9px!important;
  color:var(--teal)!important;
  font-family:var(--v3-label)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.09em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}
.alify-ui-v3 .iv4-form-paper__head>strong{
  display:block!important;
  color:var(--black)!important;
  font-family:var(--v3-display)!important;
  font-size:clamp(25px,2.4vw,36px)!important;
  font-weight:600!important;
  letter-spacing:-.035em!important;
  line-height:1.05!important;
}
.alify-ui-v3 .iv4-form-paper__head::after{display:none!important}

.alify-ui-v3 .alify-form{
  --form-line:rgba(0,0,0,.16);
  --form-line-strong:rgba(0,0,0,.30);
  --form-copy:rgba(0,0,0,.68);
  --form-muted:rgba(0,0,0,.48);
  width:100%;
  margin:0!important;
  padding:34px!important;
  border:0!important;
  border-top:0!important;
  background:var(--off)!important;
  color:var(--black)!important;
}
.alify-ui-v3 .alify-form[aria-busy="true"]{cursor:progress}
.alify-ui-v3 .alify-form.is-complete .form-section,
.alify-ui-v3 .alify-form.is-complete .form-step,
.alify-ui-v3 .alify-form.is-complete .form-progress,
.alify-ui-v3 .alify-form.is-complete .form-actions,
.alify-ui-v3 .alify-form.is-complete .form-consent{opacity:.46;pointer-events:none}

/* Sections */
.alify-ui-v3 .form-section{
  margin:0!important;
  padding:0 0 34px!important;
  border:0!important;
}
.alify-ui-v3 .form-section+.form-section{
  padding-top:34px!important;
  border-top:1px solid var(--form-line)!important;
}
.alify-ui-v3 .form-section__head{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
  margin:0 0 22px!important;
}
.alify-ui-v3 .form-section__index{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:46px!important;
  height:46px!important;
  margin:0!important;
  border:1px solid var(--teal)!important;
  background:var(--navy)!important;
  color:var(--white)!important;
  font-family:var(--v3-label)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
}
.alify-ui-v3 .form-section__head h3{
  margin:0 0 5px!important;
  color:var(--black)!important;
  font-family:var(--v3-display)!important;
  font-size:20px!important;
  font-weight:600!important;
  letter-spacing:-.02em!important;
  line-height:1.15!important;
}
.alify-ui-v3 .form-section__head p{
  max-width:560px!important;
  margin:0!important;
  color:var(--form-copy)!important;
  font-family:var(--v3-body)!important;
  font-size:13px!important;
  line-height:1.55!important;
}

/* Grid */
.alify-ui-v3 .alify-form .form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  margin:0!important;
  border:0!important;
}
.alify-ui-v3 .alify-form .form-grid--single{grid-template-columns:1fr!important}
.alify-ui-v3 .alify-form .form-grid--spaced{margin-top:24px!important}
.alify-ui-v3 .alify-form .form-grid__full{grid-column:1/-1!important}

/* Field */
.alify-ui-v3 .alify-form .form-field,
.alify-ui-v3 .alify-form .form-grid>label{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--black)!important;
  text-transform:none!important;
}
.alify-ui-v3 .alify-form .form-field::before,
.alify-ui-v3 .alify-form .form-field::after,
.alify-ui-v3 .alify-form .form-grid>label::before,
.alify-ui-v3 .alify-form .form-grid>label::after{display:none!important}

.alify-ui-v3 .field-label{
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:0!important;
  margin:0 0 8px!important;
  color:var(--black)!important;
  font-family:var(--v3-label)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
  line-height:1.25!important;
  text-transform:uppercase!important;
}
.alify-ui-v3 .field-label>small{
  flex:none;
  color:var(--sage)!important;
  font-family:var(--v3-label)!important;
  font-size:8px!important;
  font-weight:700!important;
  letter-spacing:.07em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}
.alify-ui-v3 .form-field:has([required]) .field-label>small{color:var(--teal)!important}
.alify-ui-v3 .field-hint{
  display:block!important;
  margin:-2px 0 8px!important;
  color:var(--form-muted)!important;
  font-family:var(--v3-body)!important;
  font-size:11px!important;
  line-height:1.45!important;
}

.alify-ui-v3 .field-control{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:54px!important;
  border:1px solid var(--form-line-strong)!important;
  background:var(--white)!important;
  box-shadow:inset 4px 0 0 transparent!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.alify-ui-v3 .form-field:focus-within .field-control{
  border-color:var(--teal)!important;
  background:var(--white)!important;
  box-shadow:inset 4px 0 0 var(--teal)!important;
}
.alify-ui-v3 .form-field.has-error .field-control{
  border-color:var(--black)!important;
  background:var(--sand)!important;
  box-shadow:inset 4px 0 0 var(--black)!important;
}
.alify-ui-v3 .field-control>input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.alify-ui-v3 .field-control>select,
.alify-ui-v3 .field-control>textarea{
  display:block!important;
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:14px 16px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--black)!important;
  font-family:var(--v3-body)!important;
  font-size:16px!important;
  font-weight:500!important;
  letter-spacing:0!important;
  line-height:1.45!important;
  text-transform:none!important;
}
.alify-ui-v3 .field-control>textarea{min-height:150px!important;resize:vertical!important}
.alify-ui-v3 .field-control>input::placeholder,
.alify-ui-v3 .field-control>textarea::placeholder{color:rgba(0,0,0,.38)!important;opacity:1!important;font-weight:400!important}
.alify-ui-v3 .field-control--select::after{
  content:"";
  position:absolute;
  right:15px;
  top:50%;
  width:8px;
  height:8px;
  border-right:1px solid var(--teal);
  border-bottom:1px solid var(--teal);
  transform:translateY(-65%) rotate(45deg);
  pointer-events:none;
}
.alify-ui-v3 .field-control--select select{appearance:none!important;padding-right:42px!important;cursor:pointer!important}
.alify-ui-v3 .alify-form input[type="date"],
.alify-ui-v3 .alify-form input[type="time"]{color-scheme:light}

/* File */
.alify-ui-v3 .form-field--file .field-control{padding:12px 14px!important}
.alify-ui-v3 .form-field--file input[type="file"]{
  width:100%!important;
  color:var(--form-copy)!important;
  font-family:var(--v3-body)!important;
  font-size:13px!important;
}
.alify-ui-v3 .form-field--file input[type="file"]::file-selector-button{
  min-height:40px;
  margin-right:14px;
  padding:0 16px;
  border:0;
  border-radius:0;
  background:var(--navy);
  color:var(--white);
  font-family:var(--v3-label);
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}

/* Inline errors */
.alify-ui-v3 .field-error{
  display:block;
  margin-top:7px;
  color:var(--black);
  font-family:var(--v3-body);
  font-size:12px;
  font-weight:600;
  line-height:1.35;
}
.alify-ui-v3 .choice-group.has-error{
  padding:14px!important;
  background:var(--sand)!important;
  border:1px solid var(--black)!important;
}

/* Quote progress */
.alify-ui-v3 .alify-form--steps .form-progress{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:0!important;
  margin:0 0 34px!important;
  border:0!important;
  background:var(--white)!important;
}
.alify-ui-v3 .alify-form--steps .form-progress span{
  position:relative;
  display:block!important;
  min-height:70px!important;
  padding:14px 14px 17px!important;
  border:0!important;
  border-right:1px solid var(--form-line)!important;
  color:var(--form-muted)!important;
  background:var(--white)!important;
}
.alify-ui-v3 .alify-form--steps .form-progress span:last-child{border-right:0!important}
.alify-ui-v3 .alify-form--steps .form-progress span::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:3px;
  background:rgba(0,0,0,.12);
}
.alify-ui-v3 .alify-form--steps .form-progress b{
  display:block;
  margin:0 0 7px;
  color:inherit;
  font-family:var(--v3-label);
  font-size:9px;
  letter-spacing:.08em;
}
.alify-ui-v3 .alify-form--steps .form-progress em{
  display:block;
  font-family:var(--v3-body);
  font-size:12px;
  font-style:normal;
  font-weight:600;
  line-height:1.2;
}
.alify-ui-v3 .alify-form--steps .form-progress .is-complete{color:var(--teal)!important}
.alify-ui-v3 .alify-form--steps .form-progress .is-complete::after{background:var(--teal)!important}
.alify-ui-v3 .alify-form--steps .form-progress .is-current{color:var(--black)!important;background:var(--sand)!important}
.alify-ui-v3 .alify-form--steps .form-progress .is-current::after{height:4px;background:var(--green)!important}

.alify-ui-v3 .alify-form--steps .form-step{
  display:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.alify-ui-v3 .alify-form--steps .form-step.is-active{display:block!important}
.alify-ui-v3 .alify-form--steps .form-step legend{
  width:100%!important;
  margin:0 0 9px!important;
  padding:0!important;
  color:var(--black)!important;
  font-family:var(--v3-display)!important;
  font-size:clamp(25px,2.3vw,34px)!important;
  font-weight:600!important;
  letter-spacing:-.035em!important;
  line-height:1.08!important;
}
.alify-ui-v3 .alify-form--steps .form-step__intro{
  max-width:690px!important;
  margin:0 0 26px!important;
  color:var(--form-copy)!important;
  font-family:var(--v3-body)!important;
  font-size:14px!important;
  line-height:1.65!important;
}

/* Choice controls */
.alify-ui-v3 .choice-group{margin:0 0 28px!important}
.alify-ui-v3 .choice-group__label{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin:0 0 10px;
}
.alify-ui-v3 .choice-group__label strong{
  color:var(--black);
  font-family:var(--v3-label);
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.alify-ui-v3 .choice-group__label small{
  color:var(--form-muted);
  font-family:var(--v3-body);
  font-size:11px;
}
.alify-ui-v3 .choice-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:1px!important;
  padding:1px!important;
  background:var(--form-line-strong)!important;
}
.alify-ui-v3 .choice-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.alify-ui-v3 .choice-option{
  position:relative!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 18px!important;
  gap:12px!important;
  align-items:center!important;
  min-height:62px!important;
  margin:0!important;
  padding:13px 15px!important;
  border:0!important;
  background:var(--white)!important;
  color:var(--black)!important;
  cursor:pointer!important;
  transition:background .14s ease,color .14s ease,box-shadow .14s ease!important;
}
.alify-ui-v3 .choice-option--compact{
  grid-template-columns:minmax(0,1fr) 18px!important;
  min-height:54px!important;
}
.alify-ui-v3 .choice-option:hover{background:var(--off)!important}
.alify-ui-v3 .choice-option:focus-within{box-shadow:inset 4px 0 0 var(--teal)!important}
.alify-ui-v3 .choice-option:has(input:checked){background:var(--navy)!important;color:var(--white)!important;box-shadow:inset 4px 0 0 var(--green)!important}
.alify-ui-v3 .choice-option input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.alify-ui-v3 .choice-option__index{
  color:var(--sage);
  font-family:var(--v3-label);
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em;
}
.alify-ui-v3 .choice-option:has(input:checked) .choice-option__index{color:var(--green)}
.alify-ui-v3 .choice-option__label{
  font-family:var(--v3-body)!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.3!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.alify-ui-v3 .choice-option__indicator{
  width:14px;
  height:14px;
  border:1px solid currentColor;
  background:transparent;
}
.alify-ui-v3 .choice-option:has(input:checked) .choice-option__indicator{border-color:var(--green);background:var(--green)}

/* Actions */
.alify-ui-v3 .form-step__actions,
.alify-ui-v3 .form-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px!important;
  align-items:center!important;
  margin-top:30px!important;
  padding-top:22px!important;
  border-top:1px solid var(--form-line)!important;
}
.alify-ui-v3 .form-step__actions:has([data-step-prev]){grid-template-columns:auto 1fr auto!important}
.alify-ui-v3 .form-step__count{
  color:var(--teal)!important;
  font-family:var(--v3-label)!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
.alify-ui-v3 .form-actions>div strong,
.alify-ui-v3 .form-actions>div span{display:block}
.alify-ui-v3 .form-actions>div strong{margin-bottom:4px;color:var(--black);font-family:var(--v3-body);font-size:13px;font-weight:700}
.alify-ui-v3 .form-actions>div span{color:var(--form-muted);font-family:var(--v3-body);font-size:11px;line-height:1.45}
.alify-ui-v3 .alify-form .button{
  min-height:50px!important;
  padding:0 18px!important;
  border-radius:0!important;
  font-family:var(--v3-label)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.05em!important;
}
.alify-ui-v3 .alify-form .button--primary{background:var(--green)!important;color:var(--black)!important;border-color:var(--green)!important}
.alify-ui-v3 .alify-form .button--text{background:transparent!important;color:var(--black)!important;border:1px solid var(--form-line-strong)!important}
.alify-ui-v3 .alify-form .button svg{color:inherit!important;stroke:currentColor!important}
.alify-ui-v3 .alify-form button[disabled]{opacity:.56!important;cursor:wait!important}

/* Consent */
.alify-ui-v3 .form-consent{
  margin:28px 0 0!important;
  padding:16px 18px!important;
  border:1px solid rgba(0,0,0,.16)!important;
  background:var(--sand)!important;
}
.alify-ui-v3 .form-consent__check{
  position:relative;
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  margin:0!important;
  color:rgba(0,0,0,.72)!important;
  font-family:var(--v3-body)!important;
  font-size:12px!important;
  line-height:1.55!important;
  text-transform:none!important;
  cursor:pointer!important;
}
.alify-ui-v3 .form-consent__check>input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
}
.alify-ui-v3 .form-consent__box{
  display:block;
  width:18px;
  height:18px;
  margin-top:1px;
  border:1px solid var(--black);
  background:var(--white);
}
.alify-ui-v3 .form-consent__check:has(input:checked) .form-consent__box{background:var(--green);box-shadow:inset 0 0 0 4px var(--white)}
.alify-ui-v3 .form-consent__check:focus-within .form-consent__box{outline:2px solid var(--teal);outline-offset:2px}
.alify-ui-v3 .form-consent a{color:var(--teal)!important;text-decoration:underline!important;text-underline-offset:3px!important}
.alify-ui-v3 .form-consent.has-error{border-color:var(--black)!important;box-shadow:inset 4px 0 0 var(--black)!important}

/* Status */
.alify-ui-v3 .form-status{
  display:none;
  margin:22px 0 0!important;
  padding:17px 18px!important;
  border:1px solid var(--black)!important;
  background:var(--white)!important;
  color:var(--black)!important;
  outline:0!important;
}
.alify-ui-v3 .form-status[data-state]{display:block}
.alify-ui-v3 .form-status strong,
.alify-ui-v3 .form-status span{display:block}
.alify-ui-v3 .form-status strong{margin:0 0 4px;font-family:var(--v3-label);font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.alify-ui-v3 .form-status span{font-family:var(--v3-body);font-size:13px;line-height:1.5}
.alify-ui-v3 .form-status[data-state="pending"]{background:var(--sand)!important}
.alify-ui-v3 .form-status[data-state="success"]{background:var(--green)!important;color:var(--black)!important}
.alify-ui-v3 .form-status[data-state="error"]{background:var(--sand)!important;box-shadow:inset 4px 0 0 var(--black)!important}

/* Newsletter */
.alify-ui-v3 .alify-form--newsletter{padding:0!important;background:transparent!important}
.alify-ui-v3 .newsletter-form-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:end!important;
}
.alify-ui-v3 .newsletter-form-row .form-field{min-width:0!important}
.alify-ui-v3 .alify-form--newsletter .form-consent{margin-top:12px!important;padding:12px 14px!important}
.alify-ui-v3 .alify-form--newsletter .form-consent__check{font-size:11px!important}

/* Popup compact forms */
.alify-ui-v3 .alify-form--compact{
  padding:20px!important;
  background:var(--off)!important;
}
.alify-ui-v3 .alify-form--compact .form-section__head{grid-template-columns:36px 1fr!important;margin-bottom:16px!important}
.alify-ui-v3 .alify-form--compact .form-section__index{width:36px!important;height:36px!important;font-size:9px!important}
.alify-ui-v3 .alify-form--compact .form-grid{grid-template-columns:1fr!important;gap:12px!important}
.alify-ui-v3 .alify-form--compact .form-grid__full{grid-column:auto!important}
.alify-ui-v3 .alify-form--compact .field-control{min-height:48px!important}
.alify-ui-v3 .alify-form--compact .field-control>input,
.alify-ui-v3 .alify-form--compact .field-control>select{min-height:46px!important;padding:11px 13px!important;font-size:14px!important}
.alify-ui-v3 .alify-form--compact .form-actions{grid-template-columns:1fr!important}

@media (max-width:900px){
  .alify-ui-v3 .iv4-form-paper{box-shadow:8px 8px 0 var(--teal)!important}
  .alify-ui-v3 .iv4-form-paper__head{padding:26px 26px 20px!important}
  .alify-ui-v3 .alify-form{padding:28px 26px!important}
  .alify-ui-v3 .choice-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:700px){
  .alify-ui-v3 .iv4-form-paper{box-shadow:none!important;border-color:rgba(255,255,255,.18)!important}
  .alify-ui-v3 .iv4-form-paper__head{padding:24px 20px 18px!important}
  .alify-ui-v3 .alify-form{padding:24px 20px!important}
  .alify-ui-v3 .form-section__head{grid-template-columns:38px minmax(0,1fr)!important;gap:12px!important;margin-bottom:18px!important}
  .alify-ui-v3 .form-section__index{width:38px!important;height:38px!important;font-size:9px!important}
  .alify-ui-v3 .form-section__head h3{font-size:18px!important}
  .alify-ui-v3 .alify-form .form-grid{grid-template-columns:1fr!important;gap:16px!important}
  .alify-ui-v3 .alify-form .form-grid__full{grid-column:auto!important}
  .alify-ui-v3 .field-control{min-height:52px!important}
  .alify-ui-v3 .field-control>input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  .alify-ui-v3 .field-control>select{min-height:50px!important;font-size:16px!important}
  .alify-ui-v3 .alify-form--steps .form-progress{grid-template-columns:repeat(4,minmax(58px,1fr))!important;overflow-x:auto!important}
  .alify-ui-v3 .alify-form--steps .form-progress span{min-height:60px!important;padding:11px 10px 14px!important}
  .alify-ui-v3 .alify-form--steps .form-progress em{font-size:10px!important}
  .alify-ui-v3 .choice-grid,
  .alify-ui-v3 .choice-grid--compact{grid-template-columns:1fr!important}
  .alify-ui-v3 .choice-option{min-height:58px!important}
  .alify-ui-v3 .form-step__actions,
  .alify-ui-v3 .form-actions,
  .alify-ui-v3 .form-step__actions:has([data-step-prev]){grid-template-columns:1fr!important;gap:10px!important}
  .alify-ui-v3 .form-step__actions .button,
  .alify-ui-v3 .form-actions .button{width:100%!important;justify-content:space-between!important}
  .alify-ui-v3 .form-step__count{order:-1}
  .alify-ui-v3 .newsletter-form-row{grid-template-columns:1fr!important}
  .alify-ui-v3 .newsletter-form-row .button{width:100%!important;justify-content:space-between!important}
}

@media (prefers-reduced-motion:reduce){
  .alify-ui-v3 .field-control,
  .alify-ui-v3 .choice-option{transition:none!important}
}
