.cqf-wrap{
  --cqf-cream:#F7F3EC;
  --cqf-panel:#EFEAE0;
  --cqf-ink:#1F2E27;
  --cqf-green:#173229;
  --cqf-green-dark:#0F241C;
  --cqf-pink:#F2A8B4;
  --cqf-pink-text:#5C2430;
  --cqf-muted:#8A8478;
  --cqf-border:#E3DDCF;

  box-sizing:border-box;
  font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color:var(--cqf-ink);
  max-width:1120px;
  margin:0 auto;
}
.cqf-wrap *, .cqf-wrap *::before, .cqf-wrap *::after{ box-sizing:border-box; }

.cqf-grid{
  display:grid;
  grid-template-columns:1.55fr 1fr;
  gap:24px;
}
@media (max-width:820px){
  .cqf-grid{ grid-template-columns:1fr; }
}

.cqf-card{
  background:var(--cqf-panel);
  border-radius:28px;
  padding:40px;
  border:1px solid var(--cqf-border);
}
@media (max-width:560px){
  .cqf-card{ padding:28px 20px; }
}

.cqf-field{ margin-bottom:24px; }
.cqf-field-last{ margin-bottom:0; }

.cqf-field label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  font-weight:500;
  margin-bottom:10px;
  color:var(--cqf-ink);
}
.cqf-field label .cqf-icon{ flex-shrink:0; color:var(--cqf-pink-text); width:16px; height:16px; }

.cqf-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
@media (max-width:560px){ .cqf-row{ grid-template-columns:1fr; } }

.cqf-wrap input[type=text],
.cqf-wrap input[type=email],
.cqf-wrap input[type=tel],
.cqf-wrap select{
  width:100%;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid var(--cqf-border);
  background:#fff;
  font-family:inherit;
  font-size:15px;
  color:var(--cqf-ink);
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
  appearance:none;
  -webkit-appearance:none;
}
.cqf-wrap input::placeholder{ color:#B7B1A2; }
.cqf-wrap input:focus,
.cqf-wrap select:focus{
  border-color:var(--cqf-pink);
  box-shadow:0 0 0 3px rgba(242,168,180,.25);
}

.cqf-wrap select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23173229' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  cursor:pointer;
  padding-right:38px;
}

.cqf-sqm-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:14px;
}
.cqf-sqm-badge{
  background:var(--cqf-cream);
  border:1px solid var(--cqf-border);
  border-radius:999px;
  padding:6px 14px;
  font-size:14px;
  font-weight:600;
  color:var(--cqf-ink);
}

/* ===== Range slider ===== */
.cqf-slider-wrap{ position:relative; padding:8px 0 4px; display:flex; align-items:center; }

.cqf-wrap input[type=range]{
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;
  width:100%;
  height:6px !important;
  min-height:0 !important;
  max-height:6px;
  border-radius:999px;
  background:#D9D2C1; /* fallback; JS sets the actual fill/gray gradient */
  outline:none;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  box-shadow:none !important;
  display:block;
  vertical-align:middle;
  box-sizing:border-box;
}
.cqf-wrap input[type=range]::-webkit-slider-runnable-track{
  -webkit-appearance:none;
  width:100%;
  height:6px;
  border-radius:999px;
  background:transparent;
  border:none;
  box-shadow:none;
}
.cqf-wrap input[type=range]::-moz-range-track{
  width:100%;
  height:6px;
  border-radius:999px;
  background:transparent;
  border:none;
  box-shadow:none;
}
.cqf-wrap input[type=range]::-moz-range-progress{
  height:6px; border-radius:999px; background:transparent;
}
.cqf-wrap input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:20px; height:20px; border-radius:50%;
  background:#083D2F;
  border:3px solid #fff;
  box-shadow:0 1px 3px rgba(0,0,0,.25);
  cursor:pointer;
  margin-top:-7px;
}
.cqf-wrap input[type=range]::-moz-range-thumb{
  width:20px; height:20px; border-radius:50%;
  background:#083D2F;
  border:3px solid #fff;
  box-shadow:0 1px 3px rgba(0,0,0,.25);
  cursor:pointer;
}

.cqf-scale{
  display:flex; justify-content:space-between;
  font-size:13px; color:var(--cqf-muted);
  margin-top:10px;
}

.cqf-price-card{
  background:var(--cqf-green);
  background-image:radial-gradient(120% 100% at 0% 0%, #1D3B30 0%, var(--cqf-green-dark) 70%);
  color:#fff;
  border-radius:28px;
  padding:44px 36px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  justify-content:flex-start;
}
.cqf-eyebrow{
  font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:#B9C9C0; margin-bottom:18px;
}
.cqf-price{
  font-family:'Georgia', 'Times New Roman', serif;
  font-weight:400;
  font-size:56px;
  line-height:1;
  margin:0 0 6px;
}
.cqf-price sup{
  font-size:20px; font-weight:400; margin-left:4px; vertical-align:12px;
}
.cqf-after{ font-size:15px; color:#DDE7E1; margin-bottom:22px; }
.cqf-fine{
  font-size:12.5px; line-height:1.5; color:#9BB0A5;
  max-width:280px; margin-bottom:30px;
}
.cqf-cta{
  width:100%;
  background:var(--cqf-pink);
  color:var(--cqf-pink-text);
  border:none;
  border-radius:999px;
  padding:16px 20px;
  font-size:15px;
  font-weight:600;
  font-family:inherit;
  cursor:pointer;
  transition:transform .12s ease, background .15s ease;
}
.cqf-cta:hover{ background:#EE97A5; }
.cqf-cta:active{ transform:scale(.98); }
.cqf-cta:focus-visible,
.cqf-wrap input:focus-visible,
.cqf-wrap select:focus-visible{
  outline:2px solid var(--cqf-green);
  outline-offset:2px;
}
.cqf-cta:disabled{
  opacity:.7;
  cursor:default;
}

.cqf-message{
  min-height:18px;
  margin-top:14px;
  font-size:13.5px;
  line-height:1.4;
}
.cqf-message-success{ color:#BFE3CE; }
.cqf-message-error{ color:#F3B4B4; }
