
  #book-quote{
    --bq-green:#203a2b; --bq-green-2:#2e5340; --bq-ink:#18231c;
    --bq-paper:#f2f5f0; --bq-line:#c9d5cb; --bq-amber:#f0b429; --bq-amber-2:#d99a0b;
    --bq-bad:#a3261b;
    background:var(--bq-green); color:#fff; padding:72px 20px;
    font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  }
  #book-quote *{box-sizing:border-box}
  #book-quote .bq-wrap{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:start}
  #book-quote h2{font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.04;letter-spacing:-.02em;margin:0 0 18px;font-weight:800}
  #book-quote .bq-lead{font-size:1.1rem;line-height:1.55;margin:0 0 24px;color:#dbe6dd;max-width:34ch}
  #book-quote .bq-facts{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:12px}
  #book-quote .bq-facts li{padding-left:16px;border-left:3px solid var(--bq-amber);line-height:1.4;color:#e8efe9}
  #book-quote .bq-facts strong{color:#fff}
  #book-quote .bq-alt{margin:0;color:#c3d3c6}
  #book-quote .bq-alt a{color:#fff;text-decoration:underline;text-underline-offset:3px}

  #book-quote .bq-card{background:var(--bq-paper);color:var(--bq-ink);border-radius:14px;padding:28px;box-shadow:0 18px 40px rgba(0,0,0,.28)}
  #book-quote .bq-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  #book-quote .bq-field{margin:0 0 16px;padding:0;border:0;min-width:0}
  #book-quote label,#book-quote legend{display:block;font-size:.9rem;font-weight:650;margin:0 0 6px;padding:0}
  #book-quote .bq-opt{font-weight:400;color:#5b6b60}
  #book-quote input[type=text],#book-quote input[type=tel],#book-quote input[type=date],
  #book-quote select,#book-quote textarea{
    width:100%;font:inherit;font-size:1rem;color:var(--bq-ink);background:#fff;
    border:1.5px solid var(--bq-line);border-radius:8px;padding:11px 12px;min-height:46px;
  }
  #book-quote textarea{resize:vertical}
  #book-quote input:focus-visible,#book-quote select:focus-visible,#book-quote textarea:focus-visible,
  #book-quote .bq-chip input:focus-visible + span,#book-quote .bq-submit:focus-visible{
    outline:3px solid var(--bq-green-2);outline-offset:2px;border-color:var(--bq-green-2)
  }
  #book-quote .bq-invalid{border-color:var(--bq-bad)!important}

  #book-quote .bq-chips{display:flex;flex-wrap:wrap;gap:8px}
  #book-quote .bq-chip{margin:0;font-weight:500;position:relative}
  #book-quote .bq-chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
  #book-quote .bq-chip span{display:inline-block;padding:10px 14px;border:1.5px solid var(--bq-line);border-radius:999px;background:#fff;font-size:.95rem;transition:background .15s,border-color .15s,color .15s}
  #book-quote .bq-chip input:checked + span{background:var(--bq-green);border-color:var(--bq-green);color:#fff}

  #book-quote .bq-hint{margin:-8px 0 16px;font-size:.85rem;color:#4b5c50}
  #book-quote .bq-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  #book-quote .bq-error{margin:0 0 14px;padding:10px 12px;border-radius:8px;background:#fbe9e7;color:var(--bq-bad);font-size:.92rem;font-weight:600}
  #book-quote .bq-submit{
    width:100%;min-height:52px;border:0;border-radius:10px;cursor:pointer;
    background:var(--bq-amber);color:#1c1704;font:inherit;font-size:1.05rem;font-weight:800;
    transition:background .15s,transform .1s;
  }
  #book-quote .bq-submit:hover{background:var(--bq-amber-2)}
  #book-quote .bq-submit:active{transform:translateY(1px)}
  #book-quote .bq-submit[disabled]{opacity:.65;cursor:wait}
  #book-quote .bq-fine{margin:12px 0 0;font-size:.82rem;color:#566a5b;text-align:center}

  #book-quote .bq-done{text-align:center;padding:28px 8px}
  #book-quote .bq-done:focus{outline:none}
  #book-quote .bq-done h3{margin:0 0 8px;font-size:1.6rem;color:var(--bq-green)}
  #book-quote .bq-done p{margin:0;line-height:1.5}

  @media (max-width:820px){
    #book-quote{padding:52px 16px}
    #book-quote .bq-wrap{grid-template-columns:1fr;gap:32px}
    #book-quote .bq-lead{max-width:none}
    #book-quote .bq-card{padding:20px}
  }
  @media (max-width:480px){#book-quote .bq-row{grid-template-columns:1fr;gap:0}}
  @media (prefers-reduced-motion:reduce){#book-quote *{transition:none!important}}

#book-quote h2{color:#fff}#book-quote{scroll-margin-top:100px}#book-quote [hidden]{display:none!important}#book-quote .bq-done{text-align:left;padding:0}#book-quote .bq-done label{margin-top:20px}#book-quote .bq-photo-help{font-size:12px;color:#566a5b;margin:8px 0 0}#book-quote input[type=file]{max-width:100%;font-size:12px}#book-quote .bq-send-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}#book-quote .bq-submit{background:#203a2b;color:white}#book-quote .bq-submit:hover{background:#2e5340}#book-quote .bq-facts li{border-color:#a8bba0}#book-quote .bq-card{border-radius:5px;box-shadow:none}#book-quote input,#book-quote select,#book-quote textarea{border-radius:4px!important}.header{position:sticky;top:0;background:white;z-index:20;max-width:none}.header .nav-book{display:inline-flex!important;background:var(--ink);color:#fff;padding:9px 13px;border-radius:4px;font-size:12px;white-space:nowrap}html{scroll-padding-top:110px}.estimate-book{width:100%;margin-top:16px}.booking-estimate-note{padding:12px;background:#e4ebdf;font-size:12px;margin-bottom:18px;border-radius:4px}#book-quote .bq-intro>h2{font-size:clamp(29px,3.1vw,40px);line-height:1.25;font-weight:600}#book-quote{font-family:inherit}#book-quote .bq-lead{font-size:15px}#book-quote .bq-facts{font-size:14px}
@media(max-width:700px){.header{gap:10px}.header nav{gap:8px}.header .header-phone{display:none}.header .primary-logo{width:110px}.header .nav-book{font-size:11px;padding:9px 10px}#book-quote{padding:38px 23px}.bq-send-actions .button{width:100%}}

/* Booking is the primary action; phone options stay together and secondary. */
.booking-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:26px}
.book-primary{min-height:58px;padding:16px 28px;font-size:17px;gap:26px}
.contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;line-height:1.4}
.contact-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.contact-number{font-size:12px;color:var(--muted)}
.estimate-panel .contact-links{justify-content:center;margin-top:5px}
.estimate-book{font-size:16px;min-height:56px}
.header .nav-book{font-size:14px;padding:12px 18px}
#book-quote{padding:80px 30px;margin-top:44px;border-top:7px solid #a8bba0}
#book-quote .bq-intro>h2{font-size:clamp(38px,4.8vw,60px);line-height:1.08;letter-spacing:-.04em;font-weight:700;max-width:9ch}
#book-quote .bq-lead{font-size:17px;max-width:35ch;margin-top:24px}
#book-quote .contact-number{color:#c3d3c6}
#book-quote .bq-card{padding:32px}
@media(max-width:700px){.book-primary{width:100%;max-width:370px}.booking-actions{align-items:stretch}.booking-actions .contact-links{justify-content:flex-start}#book-quote{padding:48px 23px;margin-top:30px}#book-quote .bq-card{padding:20px}#book-quote .bq-intro>h2{max-width:12ch}.header .nav-book{font-size:12px;padding:11px 12px}.header .primary-logo{width:100px}}
