/* contact.html */
  html.kw-page--contact{ scroll-behavior: smooth; }

  html.kw-page--contact body{
    font-family: var(--sans);
    background: var(--warm-white);
    color: var(--ink);
    font-weight: 300;
    font-size: 16px;
    line-height: 1.7;
    min-height: 100vh;
    overflow-x: hidden;
  }

  /* NAV */  /* PAGE LAYOUT */
  html.kw-page--contact .page{
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    min-height: 100vh;
    padding-top: 68px;
  }

  /* LEFT PANEL */
  html.kw-page--contact .left-panel{
    padding: 64px 56px 48px;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    border-right: 1px solid var(--light-rule);
    position: sticky;
    top: 68px;
    height: calc(100vh - 68px);
    overflow: hidden;
  }
  html.kw-page--contact .left-top{
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  html.kw-page--contact .left-eyebrow{
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--brass);
    margin-bottom: 24px;
    display: block;
  }
  html.kw-page--contact .left-heading{
    font-family: var(--serif);
    font-size: clamp(36px, 3.5vw, 52px);
    font-weight: 300;
    line-height: 1.1;
    color: var(--ink);
    margin-bottom: 24px;
  }
  html.kw-page--contact .left-heading em{ font-style: italic; color: var(--mid); }
  html.kw-page--contact .left-body{
    font-size: 14px;
    font-weight: 300;
    line-height: 1.8;
    color: var(--mid);
    max-width: 340px;
    margin-bottom: 36px;
  }

  /* STEP PROGRESS */
  html.kw-page--contact .step-progress{
    display: flex;
    flex-direction: column;
    gap: 0;
    flex: 1;
    min-height: 0;
    justify-content: space-between;
  }
  html.kw-page--contact .step-row{
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 6px 0;
    position: relative;
    cursor: default;
  }
  html.kw-page--contact .step-indicator{
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: 20px;
  }
  html.kw-page--contact .step-dot{
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 1px solid var(--linen);
    background: transparent;
    transition: background 0.3s, border-color 0.3s;
    flex-shrink: 0;
    margin-top: 5px;
  }
  html.kw-page--contact .step-row.active .step-dot{
    background: var(--brass);
    border-color: var(--brass);
  }
  html.kw-page--contact .step-row.done .step-dot{
    background: var(--ink);
    border-color: var(--ink);
  }
  html.kw-page--contact .step-line{
    width: 1px;
    flex: 1;
    background: var(--light-rule);
    min-height: 12px;
    margin-top: 4px;
  }
  html.kw-page--contact .step-row:last-child .step-line{ display: none; }
  html.kw-page--contact .step-label{
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 300;
    color: rgba(107,101,96,0.4);
    letter-spacing: 0.04em;
    transition: color 0.3s;
    line-height: 1.4;
    padding-top: 2px;
  }
  html.kw-page--contact .step-row.active .step-label{ color: var(--ink); font-weight: 400; }
  html.kw-page--contact .step-row.done .step-label{ color: var(--mid); }

  /* LEFT FOOTER */
  html.kw-page--contact .left-footer{
    border-top: 1px solid var(--light-rule);
    padding-top: 18px;
    padding-bottom: 0;
    flex-shrink: 0;
    margin-top: 18px;
  }
  html.kw-page--contact .left-footer-text{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    padding: 18px 18px 16px;
    background: rgba(26,25,22,0.03);
    border: 1px solid rgba(26,25,22,0.08);
    font-size: 14px;
    font-weight: 300;
    color: var(--mid);
    line-height: 1.6;
  }
  html.kw-page--contact .left-footer-label{
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.04em;
    color: var(--mid);
  }
  html.kw-page--contact .left-footer-text a{
    display: inline-block;
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px solid rgba(26,25,22,0.2);
    transition: border-color 0.2s;
  }
  html.kw-page--contact .left-footer-text a:hover{ border-color: var(--ink); }

  /* RIGHT PANEL — FORM */
  html.kw-page--contact .right-panel{
    padding: 80px 72px 80px 64px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: calc(100vh - 68px);
  }

  @media (max-height: 920px) and (min-width: 1025px){
    html.kw-page--contact .left-panel{
      padding: 40px 40px 24px 36px;
    }
    html.kw-page--contact .left-heading{
      font-size: clamp(30px, 3vw, 40px);
      line-height: 1.08;
      margin-bottom: 18px;
    }
    html.kw-page--contact .left-body{
      font-size: 13px;
      line-height: 1.7;
      margin-bottom: 18px;
      max-width: 360px;
    }
    html.kw-page--contact .step-row{
      gap: 12px;
      padding: 4px 0;
    }
    html.kw-page--contact .step-line{
      min-height: 8px;
    }
    html.kw-page--contact .step-label{
      font-size: 11.5px;
    }
    html.kw-page--contact .left-footer{
      padding-top: 12px;
    }
    html.kw-page--contact .left-footer-text{
      gap: 8px;
      padding: 14px 14px 12px;
      font-size: 13px;
      line-height: 1.45;
    }
    html.kw-page--contact .left-footer-label{
      font-size: 12px;
    }
  }

  @media (max-height: 820px) and (min-width: 1025px){
    html.kw-page--contact .left-panel{
      padding: 32px 32px 18px 28px;
    }
    html.kw-page--contact .left-heading{
      font-size: clamp(28px, 2.5vw, 36px);
      line-height: 1.06;
      margin-bottom: 14px;
    }
    html.kw-page--contact .left-body{
      font-size: 12.5px;
      line-height: 1.6;
      margin-bottom: 14px;
      max-width: 340px;
    }
    html.kw-page--contact .step-row{
      gap: 11px;
      padding: 2px 0;
    }
    html.kw-page--contact .step-line{
      min-height: 6px;
      margin-top: 2px;
    }
    html.kw-page--contact .step-label{
      font-size: 11px;
    }
    html.kw-page--contact .left-footer{
      padding-top: 10px;
    }
    html.kw-page--contact .left-footer-text{
      gap: 7px;
      padding: 12px;
      font-size: 13px;
      line-height: 1.4;
    }
    html.kw-page--contact .left-footer-label{
      font-size: 11.5px;
    }
  }

  /* STEP CONTAINER */
  html.kw-page--contact .step-container{
    position: relative;
    min-height: 420px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  html.kw-page--contact .form-step{
    display: none;
    flex-direction: column;
    gap: 0;
    animation: stepIn 0.4s ease forwards;
  }
  html.kw-page--contact .form-step.active{
    display: flex;
  }

  @keyframes stepIn{
    from { opacity: 0; transform: translateX(16px); }
    to   { opacity: 1; transform: none; }
  }
  @keyframes stepOut{
    from { opacity: 1; transform: none; }
    to   { opacity: 0; transform: translateX(-16px); }
  }

  html.kw-page--contact .step-heading{
    font-family: var(--serif);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 300;
    line-height: 1.15;
    color: var(--ink);
    margin-bottom: 8px;
  }
  html.kw-page--contact .step-subheading{
    font-size: 14px;
    font-weight: 300;
    color: var(--mid);
    margin-bottom: 40px;
    line-height: 1.6;
  }

  /* FORM FIELDS */
  html.kw-page--contact .field-group{
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 48px;
  }
  html.kw-page--contact .field-row{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  html.kw-page--contact .field{
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  html.kw-page--contact .field label{
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mid);
  }
  html.kw-page--contact .field input, html.kw-page--contact .field textarea, html.kw-page--contact .field select{
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 300;
    color: var(--ink);
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(26,25,22,0.2);
    padding: 10px 0;
    outline: none;
    transition: border-color 0.2s;
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
  }
  html.kw-page--contact .field input::placeholder, html.kw-page--contact .field textarea::placeholder{ color: rgba(107,101,96,0.4); }
  html.kw-page--contact .field input:focus, html.kw-page--contact .field textarea:focus, html.kw-page--contact .field select:focus{ border-color: var(--ink); }
  html.kw-page--contact .field.is-invalid label{ color: #8a4b36; }
  html.kw-page--contact .field input.is-invalid,
  html.kw-page--contact .field textarea.is-invalid,
  html.kw-page--contact .field select.is-invalid{
    border-color: #8a4b36;
    box-shadow: inset 0 -1px 0 #8a4b36;
  }
  html.kw-page--contact .field textarea{ resize: none; min-height: 80px; }

  /* CHOICE CARDS */
  html.kw-page--contact .choice-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 48px;
  }
  html.kw-page--contact .choice-card{
    appearance: none;
    background: none;
    width: 100%;
    text-align: left;
    padding: 18px 20px;
    border: 1px solid rgba(26,25,22,0.15);
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    position: relative;
    user-select: none;
  }
  html.kw-page--contact .choice-card:hover{ border-color: rgba(26,25,22,0.35); }
  html.kw-page--contact .choice-card.selected{
    border-color: var(--ink);
    background: rgba(26,25,22,0.03);
  }
  html.kw-page--contact .choice-card.selected::after{
    content: '';
    position: absolute;
    top: 14px; right: 14px;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--brass);
  }
  html.kw-page--contact .choice-grid.is-invalid{
    padding: 12px;
    border: 1px solid rgba(138,75,54,0.35);
    background: rgba(138,75,54,0.04);
  }
  html.kw-page--contact .choice-title{
    font-family: var(--serif);
    font-size: 17px;
    font-weight: 400;
    color: var(--ink);
    margin-bottom: 2px;
  }
  html.kw-page--contact .choice-sub{
    font-size: 12px;
    font-weight: 300;
    color: var(--mid);
  }

  /* WOOD CHIPS */
  html.kw-page--contact .wood-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 48px;
    align-items: stretch;
  }
  html.kw-page--contact .wood-card{
    appearance: none;
    background: none;
    width: 100%;
    min-height: 258px;
    text-align: left;
    padding: 0;
    cursor: pointer;
    border: 1px solid rgba(26,25,22,0.12);
    overflow: hidden;
    transition: border-color 0.2s;
    user-select: none;
    display: flex;
    flex-direction: column;
  }
  html.kw-page--contact .wood-card:hover{ border-color: rgba(26,25,22,0.3); }
  html.kw-page--contact .wood-card.selected{ border-color: var(--ink); }
  html.kw-page--contact .wood-swatch{
    height: 80px;
    width: 100%;
    display: block;
  }
  html.kw-page--contact .wood-name{
    padding: 10px 12px 11px;
    font-family: var(--serif);
    font-size: 15px;
    font-weight: 400;
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  html.kw-page--contact .wood-check{
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--brass);
    opacity: 0;
    transition: opacity 0.2s;
  }
  html.kw-page--contact .wood-card.selected .wood-check{ opacity: 1; }
  html.kw-page--contact .wood-sub{
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 300;
    color: var(--mid);
    padding: 0 12px 10px;
    line-height: 1.4;
    flex: 1;
  }

  /* BUDGET SLIDER */
  html.kw-page--contact .budget-display{
    font-family: var(--serif);
    font-size: 48px;
    font-weight: 300;
    color: var(--ink);
    margin-bottom: 8px;
    letter-spacing: -0.01em;
  }
  html.kw-page--contact .budget-note{
    font-size: 13px;
    font-weight: 300;
    color: var(--mid);
    margin-bottom: 32px;
  }
  html.kw-page--contact .budget-slider{
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    height: 1px;
    background: rgba(26,25,22,0.15);
    outline: none;
    margin-bottom: 12px;
    cursor: pointer;
  }
  html.kw-page--contact .budget-slider::-webkit-slider-thumb{
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--ink);
    cursor: pointer;
    transition: transform 0.15s;
  }
  html.kw-page--contact .budget-slider::-webkit-slider-thumb:hover{ transform: scale(1.2); }
  html.kw-page--contact .budget-slider::-moz-range-thumb{
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--ink);
    cursor: pointer;
    border: none;
  }
  html.kw-page--contact .budget-range-labels{
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    font-weight: 300;
    color: var(--mid);
    letter-spacing: 0.06em;
    margin-bottom: 48px;
  }

  /* TIMELINE PILLS */
  html.kw-page--contact .timeline-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 48px;
  }
  html.kw-page--contact .timeline-pill{
    appearance: none;
    background: none;
    width: 100%;
    min-height: 58px;
    padding: 10px 16px;
    border: 1px solid rgba(26,25,22,0.15);
    font-family: var(--sans);
    font-size: 13px;
    font-weight: 300;
    color: var(--mid);
    cursor: pointer;
    transition: all 0.2s;
    user-select: none;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  html.kw-page--contact .timeline-pill:hover{ border-color: rgba(26,25,22,0.35); color: var(--ink); }
  html.kw-page--contact .timeline-pill.selected{
    border-color: var(--ink);
    color: var(--ink);
    background: rgba(26,25,22,0.04);
  }
  html.kw-page--contact .timeline-grid.is-invalid{
    padding: 12px;
    border: 1px solid rgba(138,75,54,0.35);
    background: rgba(138,75,54,0.04);
  }

  html.kw-page--contact .u-hidden-field{
    margin-top: -12px;
    margin-bottom: 48px;
  }

  /* REFERRAL */
  html.kw-page--contact .referral-grid{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    margin-bottom: 48px;
  }
  html.kw-page--contact .referral-pill{
    appearance: none;
    background: none;
    width: 100%;
    padding: 12px 16px;
    border: 1px solid rgba(26,25,22,0.12);
    font-size: 13px;
    font-weight: 300;
    color: var(--mid);
    cursor: pointer;
    text-align: center;
    transition: all 0.2s;
    user-select: none;
  }
  html.kw-page--contact .referral-pill:hover{ border-color: rgba(26,25,22,0.3); color: var(--ink); }
  html.kw-page--contact .referral-pill.selected{ border-color: var(--ink); color: var(--ink); background: rgba(26,25,22,0.03); }

  /* NAVIGATION BUTTONS */
  html.kw-page--contact .form-nav{
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  html.kw-page--contact .btn-next{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--warm-white);
    background: var(--ink);
    border: none;
    padding: 14px 32px;
    cursor: pointer;
    transition: background 0.2s;
  }
  html.kw-page--contact .btn-next:hover{ background: #2e2c27; }
  html.kw-page--contact .btn-next::after{ content: '→'; }
  html.kw-page--contact .btn-back{
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--mid);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  html.kw-page--contact .btn-back::before{ content: '←'; }
  html.kw-page--contact .btn-back:hover{ color: var(--ink); }
  html.kw-page--contact .btn-back.hidden{ visibility: hidden; }

  html.kw-page--contact .btn-submit{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--warm-white);
    background: var(--brass);
    border: none;
    padding: 14px 36px;
    cursor: pointer;
    transition: background 0.2s;
  }
  html.kw-page--contact .btn-submit:hover{ background: #a07d32; }
  html.kw-page--contact .btn-submit::after{ content: '→'; }
  html.kw-page--contact .btn-submit:disabled{
    opacity: 0.6;
    cursor: wait;
  }

  html.kw-page--contact .review-card{
    margin-bottom: 24px;
    padding: 24px;
    border: 1px solid rgba(26,25,22,0.12);
    background: rgba(255,255,255,0.75);
  }
  html.kw-page--contact .review-head{
    margin-bottom: 18px;
  }
  html.kw-page--contact .review-title{
    margin: 0 0 6px;
    font-family: var(--serif);
    font-size: 26px;
    font-weight: 300;
    line-height: 1.2;
    color: var(--ink);
  }
  html.kw-page--contact .review-sub{
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: var(--mid);
  }
  html.kw-page--contact .review-list{
    display: grid;
    gap: 14px;
  }
  html.kw-page--contact .review-item{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: start;
    padding-top: 14px;
    border-top: 1px solid var(--light-rule);
  }
  html.kw-page--contact .review-label{
    margin-bottom: 4px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mid);
  }
  html.kw-page--contact .review-value{
    font-size: 16px;
    line-height: 1.7;
    color: var(--ink);
  }
  html.kw-page--contact .review-edit{
    appearance: none;
    border: 1px solid rgba(26,25,22,0.18);
    background: transparent;
    padding: 10px 14px;
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink);
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
  }
  html.kw-page--contact .review-edit:hover{
    border-color: rgba(26,25,22,0.35);
    background: rgba(26,25,22,0.04);
  }

  html.kw-page--contact .captcha-block{
    margin-top: 24px;
    margin-bottom: 24px;
    padding: 18px 20px;
    border: 1px solid rgba(26,25,22,0.12);
    background: rgba(255,255,255,0.65);
  }
  html.kw-page--contact .captcha-label{
    margin: 0 0 14px;
    color: var(--mid);
    font-size: 16px;
    line-height: 1.6;
  }
  html.kw-page--contact .captcha-widget{
    min-height: 78px;
  }

  html.kw-page--contact .form-error{
    margin-top: 20px;
    padding: 14px 16px;
    border: 1px solid rgba(138,75,54,0.25);
    background: rgba(138,75,54,0.08);
    color: #5a2f21;
    font-size: 16px;
    line-height: 1.6;
  }

  /* CONFIRMATION */
  html.kw-page--contact .confirmation{
    display: none;
    flex-direction: column;
    align-items: flex-start;
    animation: stepIn 0.5s ease forwards;
  }
  html.kw-page--contact .confirmation.active{ display: flex; }
  html.kw-page--contact .confirm-icon{
    width: 48px;
    height: 48px;
    border: 1px solid var(--brass);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 32px;
  }
  html.kw-page--contact .confirm-heading{
    font-family: var(--serif);
    font-size: clamp(32px, 3.5vw, 48px);
    font-weight: 300;
    line-height: 1.1;
    color: var(--ink);
    margin-bottom: 16px;
  }
  html.kw-page--contact .confirm-heading em{ font-style: italic; color: var(--mid); }
  html.kw-page--contact .confirm-body{
    font-size: 15px;
    font-weight: 300;
    color: var(--mid);
    line-height: 1.75;
    max-width: 420px;
    margin-bottom: 40px;
  }
  html.kw-page--contact .confirm-detail{
    font-size: 13px;
    font-weight: 300;
    color: var(--mid);
    border-top: 1px solid var(--light-rule);
    padding-top: 24px;
    line-height: 1.7;
  }
  html.kw-page--contact .confirm-detail strong{
    color: var(--ink);
    font-weight: 400;
  }

  html.kw-page--contact .confirm-care{
    font-size: 13px;
    font-weight: 300;
    color: var(--mid);
    margin-top: 20px;
    line-height: 1.7;
  }
  html.kw-page--contact .confirm-care a{
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  html.kw-page--contact .confirm-care a:hover{ color: var(--brass); }

  /* STEP COUNTER */
  html.kw-page--contact .step-counter{
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 300;
    letter-spacing: 0.1em;
    color: var(--mid);
    margin-bottom: 40px;
  }
  html.kw-page--contact .step-counter span{ color: var(--ink); font-weight: 400; }

  /* SELECT ARROW */
  html.kw-page--contact .select-wrap{ position: relative; }
  html.kw-page--contact .select-wrap::after{
    content: '↓';
    position: absolute;
    right: 0;
    bottom: 10px;
    font-size: 12px;
    color: var(--mid);
    pointer-events: none;
  }
  html.kw-page--contact .select-wrap select{ padding-right: 20px; }
  html.kw-page--contact .select-wrap select option{ background: var(--warm-white); color: var(--ink); }

  /* TABLET */
  @media (max-width: 1024px){
    html.kw-page--contact .page{ grid-template-columns: 1fr; }
    html.kw-page--contact .left-panel{
      position: static;
      height: auto;
      padding: 56px 40px 48px;
      border-right: none;
      border-bottom: 1px solid var(--light-rule);
    }
    html.kw-page--contact .step-progress{ display: none; }
    html.kw-page--contact .right-panel{ padding: 56px 40px 80px; }
  }

  /* MOBILE */
  @media (max-width: 768px){
    html.kw-page--contact .hamburger{ display: block; }
    html.kw-page--contact .nav-links{
      display: none;
      position: fixed;
      top: 0; left: 0; right: 0; bottom: 0;
      background: var(--warm-white);
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 32px;
      z-index: 99;
    }
    html.kw-page--contact .nav-links.open{ display: flex; }
    html.kw-page--contact .nav-links a{ font-size: 16px; opacity: 0.8; }
    html.kw-page--contact .nav-cta{ display: none; }
    html.kw-page--contact nav{ padding: 0 24px; }

    html.kw-page--contact .left-panel{ padding: 40px 24px 32px; }
    html.kw-page--contact .left-body{ margin-bottom: 24px; }
    html.kw-page--contact .right-panel{ padding: 40px 24px 56px; }
    html.kw-page--contact .field-row{ grid-template-columns: 1fr; }
    html.kw-page--contact .choice-grid{ grid-template-columns: 1fr; }
    html.kw-page--contact .wood-grid{ grid-template-columns: repeat(2, 1fr); }
    html.kw-page--contact .timeline-grid{ grid-template-columns: 1fr; }
    html.kw-page--contact .referral-grid{ grid-template-columns: 1fr 1fr; }
    html.kw-page--contact .form-nav{ flex-direction: column; gap: 12px; }
    html.kw-page--contact .form-nav .btn-next, html.kw-page--contact .form-nav .btn-back{ width: 100%; text-align: center; }
    html.kw-page--contact .review-item{
      grid-template-columns: 1fr;
      gap: 12px;
    }
    html.kw-page--contact .review-edit{
      width: 100%;
    }
    html.kw-page--contact .captcha-block{
      padding: 16px;
      overflow-x: auto;
    }
  }
html.kw-page--contact .draft-note {
  margin-bottom: 24px;
  line-height: 1.6;
  font-size: 15px;
}
html.kw-page--contact .draft-note button,
html.kw-page--contact #budgetUnsure {
  font: inherit;
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--mid);
  padding: 10px 14px;
  cursor: pointer;
}
@media (max-width: 980px) {
  html.kw-page--contact body.contact-started .left-panel { display: none; }
}
