.ff-shell{--ff-ink:#1c282c;--ff-orange:#e18b49;--ff-cream:#f6f2eb;--ff-line:#d9dedb;font-family:Inter,Arial,sans-serif;color:var(--ff-ink);max-width:1180px;margin:0 auto}.ff-shell *{box-sizing:border-box}.ff-hero{background:var(--ff-ink);color:#fff;padding:clamp(32px,7vw,88px);border-radius:16px 16px 0 0}.ff-eyebrow{font-size:11px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:var(--ff-orange)}.ff-hero h1{font-size:clamp(42px,7vw,88px);line-height:1.05;letter-spacing:-.055em;margin:22px 0 18px;font-weight:800;color:#fff}.ff-hero h1 em{font-style:normal;color:var(--ff-orange)}.ff-hero p{max-width:570px;color:#dce0de;font-size:17px;line-height:1.6}.ff-link{display:inline-block;margin-top:22px;color:#fff!important;text-decoration:none!important;border-bottom:2px solid var(--ff-orange);padding-bottom:8px;font-weight:700}.ff-services{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ff-orange);padding:22px 32px;gap:18px}.ff-services>div{display:flex;gap:14px;align-items:center}.ff-services strong{font-size:13px;opacity:.65}.ff-services span{font-size:14px;font-weight:800}.ff-panel{background:var(--ff-cream);padding:clamp(24px,5vw,65px);border-radius:0 0 16px 16px}.ff-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:30px}.ff-heading h2{font-size:clamp(30px,4vw,46px);margin:10px 0;color:var(--ff-ink);letter-spacing:-.035em}.ff-heading p{max-width:590px;line-height:1.6;margin:0;color:#566165}.ff-step{font-size:12px;font-weight:700;color:#667377}.ff-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ff-panel label{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:13px;margin-bottom:20px}.ff-panel input:not([type=checkbox]),.ff-panel select,.ff-panel textarea{width:100%;background:#fff;border:1px solid #cbd3cf;border-radius:7px;padding:14px 13px;font:inherit;font-size:15px;color:var(--ff-ink);min-height:50px}.ff-panel :is(input,select,textarea):focus{outline:2px solid var(--ff-orange);outline-offset:1px}.ff-subhead{font-weight:800;font-size:18px;padding:20px 0;margin:12px 0 20px;border-top:1px solid var(--ff-line)}.ff-panel .ff-consent{display:flex;flex-direction:row;align-items:flex-start;font-weight:400;font-size:13px;line-height:1.5}.ff-consent input{margin-top:3px}.ff-footer{border-top:1px solid var(--ff-line);padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:24px}.ff-footer>div{display:flex;flex-direction:column;gap:5px}.ff-footer>div>span{font-size:12px;color:#697477}.ff-footer strong{font-size:34px}.ff-footer small{font-size:11px;max-width:250px;color:#667377}.ff-footer button{background:var(--ff-ink);color:#fff;border:0;border-radius:7px;padding:17px 25px;cursor:pointer;font-weight:800;font-size:15px}.ff-footer button span{color:var(--ff-orange);margin-left:16px}.ff-footer button:hover{background:#344448}.ff-footer button:disabled{opacity:.5;cursor:wait}.ff-feedback{font-weight:700;margin-top:16px;min-height:22px}.ff-legal{font-size:12px;color:#6c7678;line-height:1.6;margin:18px 0}@media(max-width:680px){.ff-grid{grid-template-columns:1fr;gap:0}.ff-services{grid-template-columns:1fr;gap:8px}.ff-footer{flex-direction:column;align-items:stretch}.ff-footer button{width:100%}.ff-step{display:none}}

/* Compact location inputs */
.ff-panel .ff-field-postcode{max-width:205px}.ff-panel .ff-field-w3w{max-width:350px}.ff-panel .ff-field-w3w small{font-weight:400;font-size:12px;line-height:1.5;color:#647074}.ff-optional{font-size:11px;font-weight:400;color:#647074}.ff-panel .ff-field-postcode input{max-width:205px}.ff-panel .ff-field-w3w input{max-width:350px}@media(max-width:680px){.ff-panel .ff-field-postcode,.ff-panel .ff-field-w3w{max-width:100%}}

.ff-payment{border:1px solid #d9d2c6;border-radius:12px;padding:16px;margin:18px 0}.ff-payment legend{font-weight:700;padding:0 8px}.ff-payment>label{display:block;margin:8px 0}.ff-payment input[type=radio]{width:auto;margin-right:8px}.ff-payment p{font-size:.9rem;opacity:.8}.ff-payment select{max-width:330px}

/* Prominent additional-cost information while retaining the original orange/charcoal design */
.ff-shell .ff-footer .ff-cost-notice{display:block;max-width:560px;margin-top:12px;font-size:16px;line-height:1.6;font-weight:650;color:#1c282c;opacity:1}
@media(max-width:680px){.ff-shell .ff-footer .ff-cost-notice{font-size:15px}}

/* Availability calendar */
.ff-date-field{min-width:0}
.ff-field-title{display:block;font-weight:700;margin-bottom:8px}
.ff-date-value{display:block;width:100%;margin-bottom:12px}
.ff-calendar{background:#fff;border:1px solid #d9dedb;border-radius:12px;padding:15px;max-width:440px}
.ff-cal-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}
.ff-cal-top strong{font-size:17px}
.ff-cal-top button{border:1px solid #d9dedb;background:white;border-radius:6px;min-width:34px;min-height:34px;font-size:23px;color:#1c282c;cursor:pointer}
.ff-cal-top button:disabled{opacity:.3;cursor:not-allowed}
.ff-cal-days,.ff-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.ff-cal-days span{font-size:11px;font-weight:700;color:#58636a;padding-bottom:8px}
.ff-cal-day{font:inherit;font-weight:700!important;border:1px solid transparent!important;border-radius:5px!important;aspect-ratio:1;min-width:0;padding:0!important;cursor:pointer;transition:box-shadow .12s}
.ff-cal-open{background:#fff!important;color:#1c282c!important;border-color:#e0e2e3!important}
.ff-cal-light{background:#e2e3e5!important;color:#1c282c!important}
.ff-cal-half{background:#aeb2b6!important;color:#101820!important}
.ff-cal-full{background:#454b51!important;color:#fff!important;cursor:not-allowed!important;opacity:1!important}
.ff-cal-selected{outline:3px solid #e18b49!important;outline-offset:-2px}
.ff-cal-day:focus-visible{outline:3px solid #e18b49!important}
.ff-cal-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px;font-size:11px;color:#424a4e}
.ff-cal-legend span{display:flex;align-items:center;gap:5px}
.ff-cal-legend i{width:12px;height:12px;border:1px solid #c6c9cb;border-radius:2px}
.ff-leg-open{background:#fff}.ff-leg-light{background:#e2e3e5}.ff-leg-half{background:#aeb2b6}.ff-leg-full{background:#454b51}
.ff-cal-help{font-size:12px!important;color:#536066!important;margin:12px 0 0!important;line-height:1.5}
@media(max-width:550px){.ff-calendar{padding:10px}.ff-cal-grid{gap:3px}.ff-cal-day{font-size:13px!important}}
