/* Spring Cleaning London — focused callback form. All selectors limited to the form module. */
.spring-hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.spring-form-feedback[hidden]{display:none!important}
.spring-quick-form{display:block!important;box-sizing:border-box;width:100%;min-width:0;margin:0;border-radius:24px;background:#fff;color:#1d524a;padding:clamp(20px,3vw,32px);box-shadow:0 20px 48px rgba(0,28,23,.14);font-family:var(--font-inter-tight,Arial,sans-serif)}
.spring-quick-form *{box-sizing:border-box}
.spring-quick-form .spring-quick-service{margin:0 0 23px;padding:0;min-width:0;border:0}
.spring-quick-form .spring-quick-service legend{display:block;width:100%;margin:0 0 12px;padding:0;color:#1d524a;font-size:16px;font-weight:700;line-height:1.35}
.spring-quick-form .spring-quick-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.spring-quick-form .spring-quick-choice{position:relative;display:block;min-width:0;cursor:pointer}
.spring-quick-form .spring-quick-choice input{position:absolute;width:1px;height:1px;opacity:0}
.spring-quick-form .spring-quick-choice>span{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:92px;padding:14px;border:1.5px solid #d5ded3;border-radius:13px;background:#f7f8f2;color:#193f35;transition:background-color .2s,border-color .2s}
.spring-quick-form .spring-quick-choice strong{font-size:15px;font-weight:700;line-height:1.3;color:inherit}
.spring-quick-form .spring-quick-choice small{font-size:12px;font-weight:400;line-height:1.4;color:#546b62}
.spring-quick-form .spring-quick-choice input:checked+span{border-color:#1d524a;background:#e8f0e2;box-shadow:inset 0 0 0 1px #1d524a}
.spring-quick-form .spring-quick-choice input:focus-visible+span{outline:3px solid #b2c46d;outline-offset:3px}
.spring-quick-form .spring-quick-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:0 0 15px}
.spring-quick-form .spring-quick-row label,.spring-quick-form .spring-quick-extras-content label{display:flex;flex-direction:column;gap:7px;min-width:0;color:#1d524a;font-size:14px;font-weight:650;line-height:1.4}
.spring-quick-form .spring-quick-extras-content label>span{display:inline;font-weight:400;color:#697c73}
.spring-quick-form input:not([type=radio]):not([name=website]),.spring-quick-form textarea{display:block;width:100%;min-width:0;min-height:51px;margin:0;padding:12px 14px;border:1px solid #d6dfd7;border-radius:11px;background:#f9faf6;color:#163c30;font:400 16px/1.5 var(--font-inter-tight,Arial,sans-serif);box-shadow:none}
.spring-quick-form input:not([type=radio]):not([name=website]):focus,.spring-quick-form textarea:focus{background:#fff;outline:2px solid #376b54;outline-offset:1px}
.spring-quick-form input::placeholder,.spring-quick-form textarea::placeholder{color:#77877f;opacity:1}
.spring-quick-form .spring-quick-extras{margin:0 0 18px;padding:0;border:0}
.spring-quick-form .spring-quick-extras summary{display:list-item;list-style:revert;margin:0 0 0 17px;padding:5px 0;color:#1d524a;font-size:13px;font-weight:650;line-height:1.5;cursor:pointer}
.spring-quick-form .spring-quick-extras summary span{font-weight:400;color:#6b7c74}
.spring-quick-form .spring-quick-extras-content{display:grid;gap:15px;padding:14px 0 4px}
.spring-quick-form textarea{min-height:86px;resize:vertical}
.spring-quick-form .spring-quick-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;margin:0;padding:13px 18px;border:1px solid #1d524a;border-radius:999px;background:#1d524a;color:#fff!important;font:700 15px/1.4 var(--font-inter-tight,Arial,sans-serif);cursor:pointer;transition:background-color .2s}
.spring-quick-form .spring-quick-submit:hover{background:#30695b}
.spring-quick-form .spring-quick-submit:disabled{opacity:.65;cursor:wait}
.spring-quick-form .spring-quick-reassure{margin:12px 0 0;text-align:center;color:#587267;font-size:12px;font-weight:400;line-height:1.45}
.spring-quick-form .spring-form-feedback{margin:16px 0 0;padding:12px 14px;border:1px solid transparent;border-radius:10px;font-size:14px;line-height:1.5}
.spring-quick-form .spring-form-feedback.is-success{border-color:#c0dfc9;background:#edf8ef;color:#184e36}
.spring-quick-form .spring-form-feedback.is-error{border-color:#e9b9ad;background:#fff2ed;color:#8d3226}
.spring-contact-form-intro h2 .spring-editorial-italic{color:#dce187!important}
.spring-contact-form-intro h2{overflow:visible;text-wrap:balance}
@media(max-width:640px){
 .spring-quick-form{padding:21px 18px;border-radius:22px}
 .spring-quick-form .spring-quick-choices{gap:9px}
 .spring-quick-form .spring-quick-choice>span{min-height:92px;padding:12px 10px}
 .spring-quick-form .spring-quick-choice strong{font-size:13px}
 .spring-quick-form .spring-quick-choice small{font-size:11px}
 .spring-quick-form .spring-quick-row{grid-template-columns:1fr;gap:14px}
 .spring-quick-form .spring-quick-submit{min-height:54px}
}

/* Avoid a double card and excess padding around the form on Services. */
.spring-services-quote-shell{width:100%;min-width:0;padding:0;margin:0}
.spring-services-quote-shell .spring-quick-form{border:1px solid #e1e8df}
