:root{
    --cream:#faf6e9;
    --cream-field:#f2ecd9;
    --ink:#2b2a25;
    --muted:#6b6a5f;
    --accent-dark:#1f2b1c;
    --accent-light:#d9c98a;
    --border:#e7dfc4;
    --radius:14px;
  }

  

  

  .consult-modal{
    background:var(--cream);
    border-radius:20px;
    width:100%;
    max-width: 100%;
    overflow-y:auto;
    padding:40px;
    position:relative;
    box-shadow:0 30px 60px rgba(0,0,0,.35);
    animation:pop .22s ease;
    top: 0;
  }
  @keyframes pop{
    from{opacity:0; transform:scale(.96) translateY(8px);}
    to{opacity:1; transform:scale(1) translateY(0);}
  }


  /* ---------- row / column layout system ---------- */
  .row{
    display:flex;
    flex-wrap:wrap;
    margin:0 -8px;
  }
  .col{
    padding:0 8px;
    flex:1 1 0;
    min-width:0;
  }
  .row > .col{ margin-bottom:16px; }

  /* fractional column widths (12-col grid) */
  .col-12{ flex:0 0 100%; max-width:100%; }
  .col-6{ flex:0 0 calc(50% - 0px); max-width:50%; }
  .col-4{ flex:0 0 calc(33.333% - 0px); max-width:33.333%; }

  @media (max-width:520px){
    .col-6, .col-4{ flex:0 0 100%; max-width:100%; }
  }

  /* ---------- typography / meta ---------- */
  .step-meta{
    font-family:'Helvetica Neue', Arial, sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:.06em;
    color:var(--muted);
    display:flex;
    justify-content:space-between;
    margin-bottom:10px;
  }
  .step-meta .pct{ color:var(--ink); }

  .progress-track{
    height:5px;
    background:var(--border);
    border-radius:999px;
    overflow:hidden;
    margin-bottom:28px;
  }
  .progress-fill{
    height:100%;
    background:linear-gradient(90deg, var(--accent-light), var(--accent-dark));
    border-radius:999px;
    transition:width .3s ease;
  }

  h2.step-title{
    font-size:28px;
    margin:0 0 8px 0;
    color:var(--ink);
    font-weight:400;
  }
  p.step-sub{
    font-family:'Helvetica Neue', Arial, sans-serif;
    font-size:14px;
    color:var(--muted);
    margin:0 0 26px 0;
  }

  /* ---------- form fields ---------- */
  label.field-label{
    display:block;
    font-family:'Helvetica Neue', Arial, sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:.03em;
    color:var(--ink);
    margin-bottom:8px;
  }
  input[type="text"], input[type="email"], input[type="tel"], textarea{
    width:100%;
    background:var(--cream-field);
    border:1px solid var(--border);
    border-radius:999px;
    padding:14px 18px;
    font-family:'Helvetica Neue', Arial, sans-serif;
    font-size:14px;
    color:var(--ink);
    outline:none;
    transition:border-color .15s ease;
  }
  input::placeholder, textarea::placeholder{ color:#9c9a86; }
  input:focus, textarea:focus{ border-color:var(--accent-dark); }

  textarea{
    border-radius:16px;
    min-height:140px;
    resize:vertical;
    font-family:'Helvetica Neue', Arial, sans-serif;
  }

  .helper-text{
    font-family:'Helvetica Neue', Arial, sans-serif;
    font-size:12px;
    color:var(--muted);
    margin:14px 0 0 0;
  }

  /* ---------- option pills (single / multi select) ---------- */
  .option-pill{
    display:flex;
    align-items:center;
    gap: 12px;
    background:var(--cream-field);
    border:1px solid var(--border);
    border-radius:999px;
    padding:16px 18px;
    cursor:pointer;
    font-family: 'Inter';
    font-size: 14px;
    font-weight: 500;
    color:var(--ink);
    height:100%;
    transition:border-color .15s ease, background .15s ease;
    user-select:none;
  }
  .option-pill:hover{ border-color:var(--accent-dark); }
  .option-pill.selected{
    border-color:var(--accent-dark);
    background:#eee6c8;
  }
  .option-pill input{
    appearance:none;
    -webkit-appearance:none;
    width:16px;
    height:16px;
    min-width:16px;
    border:1.5px solid #b9b391;
    border-radius:50%;
    margin:0;
    display:inline-block;
    position:relative;
    flex-shrink:0;
  }
  .option-pill input[type="checkbox"]{ border-radius:5px; }
  .option-pill input:checked{
    border-color:var(--accent-dark);
    background:var(--accent-dark);
  }
  .option-pill input:checked::after{
    content:"";
    position:absolute;
    inset:3px;
    background:#fff;
    border-radius:50%;
  }
  .option-pill input[type="checkbox"]:checked::after{
    border-radius:2px;
  }

  /* call-time pills (compact, centered text, no visible radio) */
  .pill-simple{
    text-align:center;
    justify-content:center;
    background:var(--cream-field);
    border:1px solid var(--border);
    border-radius:999px;
    padding:14px 10px;
    cursor:pointer;
    font-family:'Helvetica Neue', Arial, sans-serif;
    font-size:14px;
    color:var(--ink);
    transition:border-color .15s ease, background .15s ease;
    user-select:none;
  }
  .pill-simple.selected{
    border-color:var(--accent-dark);
    background:#eee6c8;
    font-weight:600;
  }

  /* ---------- nav buttons ---------- */
  .nav-row{
    margin-top:32px;
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  
  .btn-back{
    background:transparent;
    color:var(--ink);
  }
  .btn-back:disabled{
    opacity:.35;
    cursor:default;
    transform:none;
  }
  .btn-primary{
    background:var(--accent-dark);
    color:#fff;
    border:none;
    box-shadow:0 6px 16px rgba(31,43,28,.25);
  }

  /* ---------- step visibility ---------- */
  .step-panel{ display:none; }
  .step-panel.active{ display:block; animation:fade .25s ease; }
  @keyframes fade{
    from{opacity:0; transform:translateY(6px);}
    to{opacity:1; transform:translateY(0);}
  }

  /* ---------- validation ---------- */
  .error-msg{
    font-family:'Helvetica Neue', Arial, sans-serif;
    font-size:12.5px;
    color:#b3453d;
    margin:10px 0 0 0;
    display:none;
  }
  .error-msg.show{ display:block; }
  input.invalid, textarea.invalid{
    border-color:#b3453d;
  }
  .option-pill.invalid-group, .pill-simple.invalid-group{
    border-color:#b3453d;
  }

  /* ---------- success panel ---------- */
  .success-panel{
    text-align:center;
    padding:20px 0 4px 0;
  }
  .success-panel .check{
    width:56px;
    height:56px;
    border-radius:50%;
    background:var(--accent-dark);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 20px auto;
    font-size:26px;
  }

  .consult-modal {}

.consult-modal .calltime {}

.consult-modal .calltime label {
    width: 100%;
}


.nav-row button#continueBtn {
    background: #0a2419;
    border-radius: 100px;
    padding: 10px 30px;
}

.nav-row button#backBtn {
    border-radius: 100px;
    padding: 10px 30px;
    border: 1px solid #0000002e;
}

.nav-row button#continueBtn:hover {
    background: #c9a227;
    color: #000;
}



section.consultation-form {
    padding: 70px 0;
}


section.consultation-form .consultation-form-info {text-align: center;}

section.consultation-form .consultation-form-info img {
    width: 45%;
    margin-bottom: 20px;
}

section.consultation-form .consultation-form-info h2 {
    margin-bottom: 20px;
}

section.consultation-form .consultation-form-info p {
    width: 60%;
    margin: 0 auto 40px;
}

section.consultation-form .consultation-form-info ul {
    border-bottom: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 0 30px;
    list-style: none;
}

section.consultation-form .consultation-form-info ul li {
    color: #fff;
}

section.consultation-form .consultation-form-info span {
    font-size: 13px;
    line-height: 20px;
    display: block;
    color: antiquewhite;
}

section.consultation-form .consultation-form-info ul li i {
    color: #c9a227;
}