html, body { margin: 0; }
[hidden] { display: none !important; }

.skip-link {
  position: fixed;
  z-index: 10;
  inset: 12px auto auto 12px;
  max-width: calc(100vw - 24px);
  padding: 10px 14px;
  border-radius: 4px;
  background: #193b36;
  color: #fffdf7 !important;
  transform: translateY(calc(-100% - 16px));
}

.skip-link:focus { transform: none; }

:is(#handyman-homepage-color, #handyman-request-confirmation)
  :is(a, button, summary, input, textarea):focus-visible {
  outline: 2px solid #fffdf7;
  outline-offset: 2px;
  box-shadow: 0 0 0 6px #193b36;
}

@media (forced-colors: active) {
  :is(#handyman-homepage-color, #handyman-request-confirmation)
    :is(a, button, summary, input, textarea):focus-visible { outline-color: Highlight; }
}

#handyman-homepage-color,
#handyman-request-confirmation {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

#handyman-homepage-color > main,
#handyman-request-confirmation > main { flex: 1; }

#handyman-homepage-color .wf-logo,
#handyman-request-confirmation .bk-logo {
  padding-inline: 7px;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  text-wrap: balance;
  text-decoration: none;
}

#handyman-homepage-color .wf-footer a,
#handyman-request-confirmation .bk-footer a {
  text-underline-offset: 3px;
}

#handyman-request-confirmation .bk-footer a { color: inherit; }
#handyman-request-confirmation .bk-footer .bk-label { color: var(--book-amber); }

#handyman-request-confirmation :is([data-submit-error], [data-field-error]) { color: #a23523; }

#handyman-request-confirmation .bk-button:disabled {
  cursor: wait;
  opacity: .72;
}

#handyman-homepage-color {
      --site-paper: #faf7ef;
      --site-ink: #23302c;
      --site-note: #505e57;
      --site-line: #d8d9ca;
      --site-soft: #eeeede;
      --site-mark: #dbded1;
      --site-card: #fffdf7;
      --site-hero: #193b36;
      --site-action: #eca84b;
      --site-action-hover: #f5bb70;
      --site-heading: Georgia, "Times New Roman", serif;
      color-scheme: light;
      font: 400 15px/1.55 system-ui, sans-serif;
      color: var(--site-ink);
      background: var(--site-paper);
      overflow-wrap: anywhere;
    }
    #handyman-homepage-color *, #handyman-homepage-color *::before {
      box-sizing: border-box;
    }
    #handyman-homepage-color h1, #handyman-homepage-color h2,
    #handyman-homepage-color h3, #handyman-homepage-color p,
    #handyman-homepage-color figure {
      margin: 0;
    }
    #handyman-homepage-color h1,
    #handyman-homepage-color h2,
    #handyman-homepage-color h3 { font-family: var(--site-heading); font-weight: 700; }
    #handyman-homepage-color h1 {
      max-width: 13ch;
      font-size: clamp(36px, 5.4cqi, 57px);
      line-height: .99;
      letter-spacing: -.04em;
      text-wrap: balance;
    }
    #handyman-homepage-color h2 { font-size: clamp(25px, 4vw, 36px); line-height: 1.14; letter-spacing: -.035em; }
    #handyman-homepage-color h3 { font-size: 22px; line-height: 1.17; letter-spacing: -.025em; }
    #handyman-homepage-color a { color: inherit; }
    #handyman-homepage-color .wf-wrap { width: min(100%, 1024px); margin-inline: auto; padding-inline: clamp(18px, 5%, 52px); }
    #handyman-homepage-color .wf-small { font-size: 13px; color: var(--site-note); }
    #handyman-homepage-color .wf-label { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; font-weight: 720; }
    #handyman-homepage-color .wf-header { background: var(--site-card); border-bottom: 1px solid var(--site-line); }
    #handyman-homepage-color .wf-header-grid {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 0 clamp(14px, 4%, 34px);
      align-items: center;
    }
    #handyman-homepage-color .wf-logo {
      display: inline-grid;
      place-items: center;
      width: 140px;
      min-height: 54px;
      border: 1px solid var(--site-line);
      border-radius: 5px;
      background: var(--site-paper);
      font-size: 12px;
      font-weight: 750;
      letter-spacing: .17em;
      text-decoration: none;
    }
    #handyman-homepage-color .wf-header-actions {
      display: flex;
      justify-content: flex-end;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px 19px;
      padding-block: 10px;
      border-bottom: 1px solid var(--site-line);
    }
    #handyman-homepage-color .wf-nav { display: flex; justify-content: flex-end; gap: 8px 24px; flex-wrap: wrap; padding-block: 10px; }
    #handyman-homepage-color .wf-nav a { display: inline-flex; align-items: center; min-height: 24px; text-decoration: none; font-size: 13px; font-weight: 630; }
    #handyman-homepage-color .wf-nav a:hover { text-decoration: underline; }
    #handyman-homepage-color .wf-mobile-menu { display: none; }
    #handyman-homepage-color .wf-action {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      min-height: 44px;
      padding: 8px 16px;
      border: 1px solid var(--site-action);
      border-radius: 5px;
      background: var(--site-action);
      color: var(--site-ink);
      font: 680 13px/1.25 system-ui, sans-serif;
      text-decoration: none;
      white-space: nowrap;
    }
    #handyman-homepage-color .wf-action:hover { background: var(--site-action-hover); }
    #handyman-homepage-color .wf-action.wf-outline {
      color: var(--site-hero);
      background: var(--site-card);
      border-color: #718078;
    }
    #handyman-homepage-color .wf-action.wf-outline:hover { background: var(--site-soft); }
    #handyman-homepage-color .wf-hero {
      display: grid;
      grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
      min-height: 343px;
      container-type: inline-size;
      background: var(--site-hero);
      color: var(--site-paper);
    }
    #handyman-homepage-color .wf-photo {
      position: relative;
      min-width: 0;
      background: var(--site-mark);
    }
    #handyman-homepage-color .wf-photo img {
      position: absolute;
      inset: 0;
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 42%;
    }
    #handyman-homepage-color .wf-hero-copy {
      display: grid;
      place-items: center;
      align-content: center;
      gap: 16px;
      min-width: 0;
      padding: clamp(30px, 5vw, 52px) clamp(16px, 6%, 45px);
      text-align: center;
    }
    #handyman-homepage-color .wf-hero-logo {
      border-block-end: 1px solid var(--site-action);
      padding: 0 8px 5px;
      color: var(--site-action);
    }
    #handyman-homepage-color .wf-hero-copy p { color: var(--site-soft); }
    #handyman-homepage-color .wf-hero .wf-action {
      width: min(100%, 260px);
      min-height: 45px;
    }
    #handyman-homepage-color .wf-section { padding-block: clamp(26px, 5vw, 46px); border-bottom: 1px solid var(--site-line); }
    #handyman-homepage-color #services { background: var(--site-soft); }
    #handyman-homepage-color .wf-heading { display: grid; gap: 7px; margin-bottom: 20px; }
    #handyman-homepage-color .wf-about {
      display: grid;
      grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
      gap: 12px 25px;
      align-items: center;
    }
    #handyman-homepage-color .wf-about .wf-heading { margin-bottom: 0; }
    #handyman-homepage-color .wf-bullets { margin: 0; padding-left: 19px; }
    #handyman-homepage-color .wf-bullets li::marker { color: var(--site-hero); }
    #handyman-homepage-color .wf-bullets li + li { margin-top: 3px; }
    #handyman-homepage-color .wf-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 2vw, 20px); }
    #handyman-homepage-color .wf-service {
      display: grid;
      grid-template-rows: auto auto 1fr auto;
      gap: 8px;
      align-items: start;
      justify-items: start;
      min-width: 0;
      background: var(--site-card);
      padding-block-end: 16px;
      border: 1px solid var(--site-line);
      border-radius: 8px;
    }
    #handyman-homepage-color .wf-service-photo {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 10;
      border-radius: 7px 7px 0 0;
      object-fit: cover;
      object-position: center;
      background: var(--site-mark);
    }
    #handyman-homepage-color .wf-service h3,
    #handyman-homepage-color .wf-service p,
    #handyman-homepage-color .wf-service .wf-action { margin-inline: clamp(10px, 2vw, 16px); }
    #handyman-homepage-color .wf-service h3 { margin-top: 5px; }
    #handyman-homepage-color .wf-service .wf-action { white-space: normal; text-align: center; }
    #handyman-homepage-color .wf-book {
      text-align: center;
      color: var(--site-paper);
      background: var(--site-hero);
      border: 0;
    }
    #handyman-homepage-color .wf-book p { color: var(--site-soft); }
    #handyman-homepage-color .wf-book-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
    #handyman-homepage-color .wf-book .wf-outline {
      background: transparent;
      border-color: var(--site-line);
      color: var(--site-paper);
    }
    #handyman-homepage-color .wf-book .wf-outline:hover { background: var(--site-ink); }
    #handyman-homepage-color #contact { background: var(--site-ink); color: var(--site-paper); }
    #handyman-homepage-color .wf-footer {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 11px 20px;
      padding-block: 22px;
    }
    #handyman-homepage-color .wf-footer-contact { display: grid; gap: 5px; font-size: 13px; }
    #handyman-homepage-color .wf-footer-details { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 17px; font-size: 13px; }
    #handyman-homepage-color .wf-footer-logo { color: var(--site-action); font-size: 12px; font-weight: 750; letter-spacing: .17em; }
    @media (max-width: 590px) {
      #handyman-homepage-color .wf-header-grid { display: block; padding-block: 10px; }
      #handyman-homepage-color .wf-header-grid > .wf-logo { display: none; }
      #handyman-homepage-color .wf-header-grid > .wf-header-right { display: none; }
      #handyman-homepage-color .wf-mobile-menu { display: block; }
      #handyman-homepage-color .wf-mobile-bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
      #handyman-homepage-color .wf-mobile-bar .wf-logo {
        width: 110px;
        min-height: 44px;
        padding-inline: 4px;
        font-size: 11px;
        letter-spacing: .05em;
      }
      #handyman-homepage-color .wf-mobile-bar .wf-action { padding-inline: 12px; }
      #handyman-homepage-color .wf-mobile-menu details { position: relative; }
      #handyman-homepage-color .wf-mobile-menu summary { min-height: 44px; padding: 12px 4px; font-size: 13px; font-weight: 630; cursor: pointer; }
      #handyman-homepage-color .wf-mobile-menu .wf-nav {
        position: absolute;
        z-index: 1;
        inset: calc(100% + 3px) 0 auto auto;
        width: min(218px, calc(100vw - 32px));
        display: grid;
        justify-content: stretch;
        gap: 2px;
        padding: 8px;
        background: var(--site-card);
        border: 1px solid var(--site-line);
        border-radius: 5px;
      }
      #handyman-homepage-color .wf-mobile-menu .wf-nav a { min-height: 44px; padding: 8px; }
      #handyman-homepage-color .wf-hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
      #handyman-homepage-color .wf-photo { height: clamp(190px, 58cqi, 270px); }
      #handyman-homepage-color .wf-about { grid-template-columns: minmax(0, 1fr); }
      #handyman-homepage-color .wf-services { grid-template-columns: minmax(0, 1fr); }
    }
#handyman-request-confirmation {
      --book-ivory: #faf7ef;
      --book-paper: #fffdf7;
      --book-ink: #23302c;
      --book-muted: #505e57;
      --book-green: #193b36;
      --book-soft: #eeeede;
      --book-rule: #d8d9ca;
      --book-amber: #eca84b;
      --book-amber-hover: #f5bb70;
      --book-serif: Georgia, "Times New Roman", serif;
      color-scheme: light;
      background: var(--book-ivory);
      color: var(--book-ink);
      font: 400 15px/1.55 system-ui, sans-serif;
      overflow-wrap: anywhere;
    }
    #handyman-request-confirmation *, #handyman-request-confirmation *::before { box-sizing: border-box; }
    #handyman-request-confirmation :is(h1, h2, h3, p, figure) { margin: 0; }
    #handyman-request-confirmation :is(h1, h2, h3) { font-family: var(--book-serif); letter-spacing: -.025em; }
    #handyman-request-confirmation h1 { font-size: clamp(39px, 6vw, 62px); line-height: 1.02; }
    #handyman-request-confirmation h2 { font-size: clamp(26px, 4vw, 37px); line-height: 1.15; }
    #handyman-request-confirmation h3 { font-size: 21px; line-height: 1.2; }
    #handyman-request-confirmation .bk-wrap { width: min(100%, 1024px); margin-inline: auto; padding-inline: clamp(17px, 5%, 52px); }
    #handyman-request-confirmation .bk-label { font-size: 11px; font-weight: 720; letter-spacing: .15em; text-transform: uppercase; }
    #handyman-request-confirmation .bk-small { font-size: 13px; color: var(--book-muted); }
    #handyman-request-confirmation .bk-header { background: var(--book-paper); border-bottom: 1px solid var(--book-rule); }
    #handyman-request-confirmation .bk-header-layout {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 8px clamp(14px, 4%, 34px);
      align-items: center;
    }
    #handyman-request-confirmation .bk-logo {
      display: grid;
      place-items: center;
      width: 140px;
      min-height: 52px;
      border: 1px solid var(--book-rule);
      border-radius: 3px;
      background: var(--book-ivory);
      color: var(--book-green);
    }
    #handyman-request-confirmation :is(.bk-header-actions, .bk-site-links) {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      align-items: center;
      gap: 9px 20px;
    }
    #handyman-request-confirmation .bk-header-actions { padding-block: 10px; border-bottom: 1px solid var(--book-rule); }
    #handyman-request-confirmation .bk-site-links { padding-block: 9px; font-size: 14px; font-weight: 580; color: var(--book-green); }
    #handyman-request-confirmation .bk-site-links a { display: inline-flex; align-items: center; min-height: 24px; color: inherit; text-underline-offset: 3px; }
    #handyman-request-confirmation .bk-mobile-menu { display: none; }
    #handyman-request-confirmation .bk-button {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      min-height: 44px;
      padding: 8px 14px;
      border: 1px solid var(--book-amber);
      border-radius: 4px;
      background: var(--book-amber);
      color: var(--book-ink);
      font: 650 14px/1.25 system-ui, sans-serif;
      text-align: center;
      text-decoration: none;
    }
    #handyman-request-confirmation :is(button, a).bk-button:hover { background: var(--book-amber-hover); }
    #handyman-request-confirmation .bk-button.bk-outline {
      border-color: #718078;
      background: var(--book-paper);
      color: var(--book-green);
    }
    #handyman-request-confirmation .bk-button.bk-outline:hover { background: var(--book-soft); }
    #handyman-request-confirmation .bk-hero {
      display: grid;
      grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
      min-height: 227px;
      color: var(--book-ivory);
      background: var(--book-green);
    }
    #handyman-request-confirmation .bk-hero figure { position: relative; min-height: 155px; }
    #handyman-request-confirmation .bk-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 53% 45%; }
    #handyman-request-confirmation .bk-hero-copy { display: grid; gap: 12px; align-content: center; padding: clamp(22px, 5%, 42px); }
    #handyman-request-confirmation .bk-hero-copy .bk-label { color: var(--book-amber); }
    #handyman-request-confirmation .bk-hero-copy p { max-width: 44ch; }
    #handyman-request-confirmation .bk-hero-copy a { display: inline-block; color: inherit; text-underline-offset: 3px; }
    #handyman-request-confirmation .bk-catalog-nav { display: flex; flex-wrap: wrap; gap: 8px 20px; padding-block: 15px; }
    #handyman-request-confirmation .bk-catalog-nav a { color: var(--book-green); font-weight: 650; text-underline-offset: 4px; }
    #handyman-request-confirmation .bk-catalog-nav a:hover { text-decoration-thickness: 2px; }
    #handyman-request-confirmation .bk-section { padding-block: clamp(24px, 4vw, 40px); border-top: 1px solid var(--book-rule); }
    #handyman-request-confirmation .bk-section.bk-tinted { background: var(--book-soft); }
    #handyman-request-confirmation .bk-intro { display: grid; gap: 6px; margin-bottom: 18px; }
    #handyman-request-confirmation .bk-packages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
    #handyman-request-confirmation .bk-package {
      display: grid;
      grid-template-rows: auto auto auto 1fr auto;
      gap: 7px;
      padding: 15px;
      border: 1px solid var(--book-rule);
      border-top: 3px solid var(--book-green);
      border-radius: 5px;
      background: var(--book-paper);
    }
    #handyman-request-confirmation .bk-duration { color: var(--book-green); }
    #handyman-request-confirmation .bk-rate { color: var(--book-green); font-weight: 750; font-variant-numeric: tabular-nums; }
    #handyman-request-confirmation .bk-package .bk-rate { font-size: 29px; line-height: 1.12; }
    #handyman-request-confirmation .bk-package button { justify-self: stretch; margin-top: 6px; }
    #handyman-request-confirmation .bk-services {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0 18px;
      border-bottom: 1px solid var(--book-rule);
    }
    #handyman-request-confirmation .bk-service {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 10px;
      padding: 12px 0;
      border-top: 1px solid var(--book-rule);
    }
    #handyman-request-confirmation .bk-service h3 { font: 650 15px/1.28 system-ui, sans-serif; letter-spacing: 0; }
    #handyman-request-confirmation .bk-service .bk-rate { margin-top: 3px; }
    #handyman-request-confirmation .bk-note { padding-block: 16px; }
    #handyman-request-confirmation .bk-footer { background: var(--book-ink); color: var(--book-ivory); }
    #handyman-request-confirmation .bk-footer .bk-wrap { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 9px 24px; padding-block: 18px; }
    #handyman-request-confirmation .bk-footer-links { display: flex; flex-wrap: wrap; gap: 8px 17px; font-size: 13px; }
    #handyman-request-confirmation .bk-footer .bk-label { color: var(--book-amber); }
    @media (max-width: 760px) {
      #handyman-request-confirmation .bk-packages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 590px) {
      #handyman-request-confirmation .bk-header-layout { padding-block: 10px; }
      #handyman-request-confirmation .bk-logo { width: 110px; min-height: 44px; padding-inline: 4px; letter-spacing: .05em; }
      #handyman-request-confirmation .bk-header-actions { gap: 8px; border-bottom: 0; padding-block: 0; }
      #handyman-request-confirmation .bk-header-actions .bk-button { padding-inline: 10px; }
      #handyman-request-confirmation .bk-site-links { display: none; }
      #handyman-request-confirmation .bk-mobile-menu { display: block; position: relative; }
      #handyman-request-confirmation .bk-mobile-menu summary { min-height: 44px; padding: 12px 4px; font-size: 13px; font-weight: 630; cursor: pointer; }
      #handyman-request-confirmation .bk-mobile-menu nav {
        position: absolute;
        z-index: 1;
        inset: calc(100% + 3px) 0 auto auto;
        width: min(218px, calc(100vw - 32px));
        display: grid;
        gap: 2px;
        padding: 8px;
        background: var(--book-paper);
        border: 1px solid var(--book-rule);
        border-radius: 5px;
      }
      #handyman-request-confirmation .bk-mobile-menu nav a { display: flex; align-items: center; min-height: 44px; padding: 8px; color: var(--book-green); text-underline-offset: 3px; }
      #handyman-request-confirmation .bk-hero { grid-template-columns: minmax(0, 1fr); }
      #handyman-request-confirmation .bk-hero figure { min-height: clamp(160px, 47vw, 220px); }
      #handyman-request-confirmation .bk-services { grid-template-columns: minmax(0, 1fr); }
    }
    @media (max-width: 420px) {
      #handyman-request-confirmation .bk-packages { gap: 8px; }
      #handyman-request-confirmation .bk-package { padding: 11px; }
      #handyman-request-confirmation .bk-package .bk-button { padding-inline: 6px; }
    }

  #handyman-request-confirmation [data-request-panel] {
    padding-block: clamp(26px, 5vw, 54px);
    border-top: 1px solid var(--book-rule);
  }
  #handyman-request-confirmation .bk-request-intro {
    display: grid;
    gap: 7px;
    margin-bottom: clamp(16px, 3vw, 26px);
  }
  #handyman-request-confirmation .bk-request-intro :is(h1, .bk-label) {
    color: var(--book-green);
  }
  #handyman-request-confirmation .bk-request-layout {
    display: grid;
    grid-template-columns: minmax(0, .84fr) minmax(0, 1.6fr);
    align-items: start;
    gap: clamp(14px, 3vw, 26px);
  }
  #handyman-request-confirmation :is(.bk-request-summary, .bk-request-form) {
    display: grid;
    gap: 14px;
    min-width: 0;
    padding: clamp(15px, 3.5vw, 25px);
    border: 1px solid var(--book-rule);
    border-radius: 6px;
    background: var(--book-paper);
  }
  #handyman-request-confirmation .bk-request-summary {
    border-top: 3px solid var(--book-green);
    background: var(--book-soft);
  }
  #handyman-request-confirmation .bk-request-summary :is(h2, .bk-label) {
    color: var(--book-green);
  }
  #handyman-request-confirmation .bk-request-layout h2 {
    font-size: clamp(23px, 3.1vw, 30px);
  }
  #handyman-request-confirmation .bk-request-selection {
    display: grid;
    gap: 4px;
  }
  #handyman-request-confirmation .bk-request-estimate {
    display: grid;
    gap: 3px;
    padding-top: 13px;
    border-top: 1px solid var(--book-rule);
  }
  #handyman-request-confirmation .bk-request-estimate .bk-rate {
    font-size: clamp(24px, 4vw, 32px);
    line-height: 1.1;
  }
  #handyman-request-confirmation .bk-request-nav { display: flex; flex-wrap: wrap; gap: 8px; }
  #handyman-request-confirmation .bk-request-field {
    display: grid;
    gap: 4px;
    min-width: 0;
  }
  #handyman-request-confirmation .bk-request-field label {
    color: var(--book-green);
    font-weight: 650;
  }
  #handyman-request-confirmation .bk-request-field :is(input, textarea) {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 8px 11px;
    border: 1px solid #718078;
    border-radius: 4px;
    background: var(--book-ivory);
    color: var(--book-ink);
    font: 400 16px/1.4 system-ui, sans-serif;
  }
  #handyman-request-confirmation .bk-request-field [aria-invalid="true"] { border-color: #a23523; }
  #handyman-request-confirmation .bk-request-field textarea {
    min-height: 110px;
    resize: vertical;
  }
  #handyman-request-confirmation .bk-request-contact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
  }
  #handyman-request-confirmation .bk-request-contact legend {
    padding: 0;
    font-weight: 700;
    color: var(--book-green);
  }
  #handyman-request-confirmation :is(#bk-request-contact-hint, [data-contact-error]) {
    grid-column: 1 / -1;
  }
  #handyman-request-confirmation [data-contact-error] { color: #a23523; }
  #handyman-request-confirmation .bk-request-actions {
    display: grid;
    justify-items: start;
    align-items: center;
    gap: 7px;
  }
  #handyman-request-confirmation .bk-request-actions button { min-height: 44px; }
  @media (max-width: 620px) {
    #handyman-request-confirmation .bk-request-layout {
      grid-template-columns: minmax(0, 1fr);
    }
  }
  @media (max-width: 420px) {
    #handyman-request-confirmation .bk-request-contact {
      grid-template-columns: minmax(0, 1fr);
    }
    #handyman-request-confirmation .bk-request-actions button { width: 100%; }
  }
    #handyman-request-confirmation [hidden] { display: none !important; }

  #handyman-request-confirmation [data-confirmation-panel] {
    padding-block: clamp(26px, 7vw, 64px);
    border-top: 1px solid var(--book-rule);
  }
  #handyman-request-confirmation .bk-confirmation-card {
    display: grid;
    justify-items: center;
    gap: clamp(15px, 3vw, 23px);
    width: min(100%, 590px);
    margin-inline: auto;
    padding: clamp(18px, 5vw, 42px);
    border: 1px solid var(--book-rule);
    border-block-start: 3px solid var(--book-green);
    border-radius: 6px;
    background: var(--book-paper);
    text-align: center;
  }
  #handyman-request-confirmation .bk-confirmation-check {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--book-green);
    color: var(--book-ivory);
    font: 600 26px/1 system-ui, sans-serif;
  }
  #handyman-request-confirmation .bk-confirmation-intro {
    display: grid;
    justify-items: center;
    gap: 8px;
  }
  #handyman-request-confirmation #bk-confirmation-title {
    color: var(--book-green);
    font-size: clamp(32px, 5.9vw, 52px);
    text-wrap: balance;
  }
  #handyman-request-confirmation #bk-confirmation-next {
    max-width: 36ch;
    color: var(--book-muted);
  }
  #handyman-request-confirmation .bk-confirmation-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 12px 20px;
    width: 100%;
    margin: 0;
    padding: 14px 16px;
    border-radius: 4px;
    background: var(--book-soft);
    text-align: start;
  }
  #handyman-request-confirmation .bk-confirmation-summary > div {
    min-width: 0;
  }
  #handyman-request-confirmation .bk-confirmation-summary dt {
    color: var(--book-green);
  }
  #handyman-request-confirmation .bk-confirmation-summary dd {
    margin: 4px 0 0;
    font-size: 17px;
    line-height: 1.3;
  }
  #handyman-request-confirmation .bk-confirmation-summary dd strong {
    color: var(--book-green);
    font-weight: 690;
  }
  #handyman-request-confirmation [data-confirmed-duration]:not([hidden]) {
    display: block;
    margin-top: 4px;
  }
  #handyman-request-confirmation [data-confirmation-back] {
    min-height: 44px;
  }
  @media (max-width: 450px) {
    #handyman-request-confirmation .bk-confirmation-summary {
      grid-template-columns: minmax(0, 1fr);
    }
    #handyman-request-confirmation [data-confirmation-back] {
      width: 100%;
    }
  }
