
.irve-quote {
  --navy:#102449;
  --navy-dark:#08162f;
  --teal:#43b8be;
  --teal-dark:#2999a2;
  --text:#18233a;
  --muted:#667085;
  --line:#dce6ed;
  margin:36px 0;
  color:var(--text);
  font-family:Arial,Helvetica,sans-serif;
}
.irve-quote * { box-sizing:border-box; }

.irve-quote__card {
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  max-width:1120px;
  margin:0 auto;
  overflow:hidden;
  border:1px solid #e2eaf0;
  border-radius:24px;
  background:#fff;
  box-shadow:0 20px 65px rgba(16,36,73,.14);
}

.irve-quote__intro {
  padding:38px;
  color:#fff;
  background:
    radial-gradient(circle at 80% 12%,rgba(67,184,190,.35),transparent 32%),
    linear-gradient(145deg,var(--navy),var(--navy-dark));
}
.irve-quote__eyebrow {
  display:inline-flex;
  margin-bottom:16px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#d9f6f7;
  font-size:13px;
  font-weight:800;
}
.irve-quote__intro h2 {
  margin:0 0 16px;
  color:#fff;
  font-size:clamp(30px,4vw,46px);
  line-height:1.05;
}
.irve-quote__intro>p {
  margin:0 0 30px;
  color:#dce7ef;
  font-size:17px;
  line-height:1.6;
}
.irve-quote__benefits {
  display:grid;
  gap:18px;
}
.irve-quote__benefits div {
  display:flex;
  gap:12px;
}
.irve-quote__benefits div>span {
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:50%;
  color:#fff;
  background:var(--teal);
  font-weight:900;
}
.irve-quote__benefits p {
  margin:0;
  color:#dce7ef;
  line-height:1.45;
}
.irve-quote__benefits strong { color:#fff; }
.irve-quote__phone {
  display:inline-flex;
  margin-top:30px;
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:11px;
  color:#fff!important;
  font-weight:800;
}

.irve-quote__form-wrap { padding:32px; }
.irve-quote__progress {
  height:8px;
  overflow:hidden;
  margin-bottom:28px;
  border-radius:999px;
  background:#e8eef3;
}
.irve-quote__progress-fill {
  width:50%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--teal),var(--teal-dark));
  transition:width .3s ease;
}

.irve-quote__step { display:none; }
.irve-quote__step.is-active { display:block; }
.irve-quote__step-heading span {
  color:var(--teal-dark);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.irve-quote__step-heading h3 {
  margin:7px 0 24px;
  color:var(--navy);
  font-size:30px;
}

.irve-quote__field {
  display:grid;
  gap:8px;
  margin-bottom:18px;
  color:var(--navy);
  font-weight:700;
}
.irve-quote__field>span,
.irve-quote__field>label { font-weight:800; }

.irve-quote input[type="text"],
.irve-quote input[type="tel"],
.irve-quote input[type="email"],
.irve-quote select,
.irve-quote textarea {
  width:100%;
  min-height:52px;
  border:1px solid var(--line);
  border-radius:13px;
  padding:12px 13px;
  color:var(--text);
  background:#fff;
  font:inherit;
}
.irve-quote textarea { min-height:120px;resize:vertical; }
.irve-quote input:focus,
.irve-quote select:focus,
.irve-quote textarea:focus {
  outline:3px solid rgba(67,184,190,.16);
  border-color:var(--teal);
}

.irve-quote__grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.irve-quote__choices {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.irve-quote__choices button {
  min-height:82px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:15px;
  color:var(--navy);
  background:#fff;
  cursor:pointer;
  font-size:15px;
  font-weight:800;
  transition:.2s ease;
}
.irve-quote__choices button:hover,
.irve-quote__choices button.is-selected {
  border-color:var(--teal);
  color:var(--teal-dark);
  background:#edfafa;
  box-shadow:0 8px 22px rgba(67,184,190,.13);
  transform:translateY(-1px);
}

.irve-quote__checks {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.irve-quote__checks label,
.irve-quote__consent {
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:13px;
  color:var(--text);
  background:#fff;
  font-weight:600;
}
.irve-quote__checks input,
.irve-quote__consent input {
  flex:0 0 20px;
  width:20px;
  height:20px;
  accent-color:var(--teal-dark);
}
.irve-quote__consent {
  margin-top:8px;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.irve-quote__consent a { color:var(--teal-dark);font-weight:800; }

.irve-quote__actions {
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:24px;
}
.irve-quote__actions button {
  min-height:50px;
  padding:13px 18px;
  border:0;
  border-radius:12px;
  cursor:pointer;
  font-size:15px;
  font-weight:900;
}
.irve-quote__back {
  color:var(--navy);
  background:#eaf0f5;
}
.irve-quote__next,
.irve-quote__submit {
  margin-left:auto;
  color:#fff;
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
}
.irve-quote__actions button:disabled {
  opacity:.5;
  cursor:not-allowed;
}

.irve-quote__error,
.irve-quote__success {
  margin-top:18px;
  padding:14px;
  border-radius:12px;
  line-height:1.5;
  font-weight:700;
}
.irve-quote__error {
  color:#a62f2f;
  background:#fff1f1;
  border:1px solid #efcaca;
}
.irve-quote__success {
  color:#1f7a3f;
  background:#edf8f1;
  border:1px solid #cce9d5;
}

.irve-quote__honeypot {
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
}

@media(max-width:860px) {
  .irve-quote__card { grid-template-columns:1fr; }
  .irve-quote__intro { padding:30px; }
}
@media(max-width:600px) {
  .irve-quote__form-wrap,.irve-quote__intro { padding:22px; }
  .irve-quote__grid,
  .irve-quote__choices,
  .irve-quote__checks { grid-template-columns:1fr; }
  .irve-quote__actions { flex-wrap:wrap; }
  .irve-quote__actions button { width:100%; }
}

.irve-quote__address-title {
  grid-column:1/-1;
  margin:4px 0 -2px;
  padding-top:4px;
  color:var(--teal-dark);
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.irve-quote__field--full { grid-column:1/-1; }
