/* A quieter header and a stronger finish, using the existing palette. */
body>header .header-actions{padding-bottom:0}
.site-footer{background:#20332b;color:#f6f5ee;border-top:0;margin-top:64px}
.site-footer a,.site-footer h2,.site-footer summary,.site-footer p,.site-footer small,.site-footer span,.site-footer .brand-endorsement{color:#f6f5ee}
.site-footer .footer-identity>.brand img{filter:none}
.site-footer .footer-hours,.site-footer .footer-bottom,.site-footer details{border-color:#607568}
.site-footer .footer-contact>a>span,.site-footer .footer-social p,.site-footer .footer-hours small{color:#cbd8cd}
.site-footer a:hover{color:#d8eab0}.site-footer a:focus-visible,.site-footer summary:focus-visible{outline:2px solid #d8eab0;outline-offset:4px}

.brandgrid .brandcard .brandlogo{background:#fff;border:1px solid #e2e8df;border-radius:8px}
.brandgrid .brandcard .brandlogo.darkmark{background:#20332b}
.brandgrid .brandcard:hover .brandlogo{border-color:#82977b;box-shadow:0 4px 18px #20332b12}
.quote-route-options{display:flex;flex-wrap:wrap;gap:20px;margin:24px 0}.quote-route-options>div{display:flex;flex-direction:column;gap:8px}.quote-route-options small{font-size:12px;max-width:240px;line-height:1.5}.quote-route-secondary{background:transparent!important;color:#20332b!important;border:1px solid #20332b!important}
.inclusion-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#eaf0df;color:#20332b;border-radius:50%;margin-bottom:16px}.inclusion-icon svg{width:27px;height:27px}.inclusions-detail dt{display:block}
.service-overview .service-list h2{font-size:clamp(23px,3vw,34px)}
@media(max-width:700px){.site-footer{margin-top:40px}.quote-route-options{flex-direction:column;gap:18px}.quote-route-options .button{align-self:flex-start}.inclusion-icon{width:42px;height:42px}}
/* Quote planning: one compact date range; results have room to breathe. */
#panel3 .quote-layout{display:block;max-width:960px;margin-inline:auto}
#panel3 .quote-summary{position:static;width:100%;margin-top:36px;padding:28px;background:#edf1e8;box-sizing:border-box}
#panel3 .quoteform{width:100%;max-width:none}
#panel3 .range-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#panel3 .compact-range{border:0;padding:0;margin-bottom:22px}
#panel3 .compact-range h3{font-size:21px;margin:0 0 10px}
#panel3 .same-requirements,#panel3 .single-place,#panel3 .quote-consent{display:flex;align-items:flex-start;gap:12px;margin:18px 0;line-height:1.6}
#panel3 input[type=checkbox]{width:20px;min-width:20px;height:20px;min-height:20px;margin-top:3px;accent-color:#20332b}
.shift-range-summary{padding:18px 20px;border-left:3px solid #8a9d73;background:#f2f4ec;margin:16px 0;overflow-wrap:anywhere}.shift-range-summary p{margin:8px 0;line-height:1.6}
#panel3 #quoteRows[hidden]{display:none!important}
#panel3 .quote-plan-group{padding:20px 0;border-bottom:1px solid #cdd6c7;line-height:1.7}
#panel3 .quote-plan-group p{margin:8px 0;display:block;overflow-wrap:anywhere}
#panel3 .quote-plan-group small{display:block;font-size:13px}
#panel3 #quoteResult{scroll-margin-top:240px}
#panel3 .quote-breakdown{margin:26px 0;max-width:none;padding:20px;background:#fafbf7}
#panel3 .quote-breakdown p{display:flex;justify-content:space-between;gap:24px;padding:12px 0;line-height:1.5}
#panel3 #quoteReceipt{font-weight:600;padding:16px 0;border-bottom:1px solid #cdd6c7}
#panel3 #quoteTransfer,#panel3 #quoteBookTransfer{margin:8px 12px 8px 0}
@media(max-width:600px){#panel3 .range-fields{grid-template-columns:repeat(2,minmax(0,1fr))}#panel3 .quote-summary{padding:20px 16px}#panel3 .quote-breakdown{padding:14px}#panel3 .quote-breakdown p{flex-wrap:wrap;gap:8px}#panel3 #quoteTransfer,#panel3 #quoteBookTransfer{display:flex;width:100%}}

@media(max-width:600px){#panel3 .range-fields>label:last-child{grid-column:1/-1}}

/* Estimate: event first, complete result below the form. */
#panel3 .quote-layout{display:flex;flex-direction:column;gap:2.5rem;align-items:stretch}
#panel3 .quoteform{width:100%;min-width:0}
#panel3 .quote-summary{position:static;width:100%;max-width:none;box-sizing:border-box;padding:clamp(1.25rem,3vw,2.5rem);background:#eef2ee;border:1px solid #d4ded5;border-radius:18px}
#panel3 .estimate-event{margin-bottom:2rem}
.estimate-shortcut{padding:1rem 1.25rem;background:#f3f4ef;border-left:3px solid #57715d;border-radius:6px}
#quoteBrief{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2rem;margin:1.5rem 0 2rem}
#quoteBrief>div{display:block;border-bottom:1px solid #d4ded5;padding-bottom:1rem;min-width:0}
#quoteBrief dt{font-size:.85rem;font-weight:600;color:#526258}
#quoteBrief dd{margin:.35rem 0 0;font-size:1rem;white-space:pre-wrap;overflow-wrap:anywhere}
#quoteLines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
#quoteLines .quote-plan-group{padding:1.25rem;margin:0;background:#fff;border:1px solid #d4ded5;border-radius:12px;min-width:0}
#quoteLines h4{margin:0 0 .8rem;font-size:1.1rem}
#quoteLines p{margin:.45rem 0;overflow-wrap:anywhere}
#panel3 .quote-breakdown{margin-top:2rem;background:#fff;padding:1.25rem;border-radius:12px}
#panel3 .quote-breakdown p:last-child{font-size:1.2rem;border-top:2px solid #20332b;padding-top:1rem}
#quoteResult>a.button{margin:.5rem .5rem .5rem 0}
@media(max-width:650px){#quoteBrief,#quoteLines{grid-template-columns:1fr}#quoteResult>a.button{display:flex;margin:.75rem 0}}

/* Calm spacing and explicit validation in the estimate builder. */
#panel3 .date-range-panel{background:transparent;box-shadow:none}
#panel3 .draft-tools{padding:1rem 0 1.5rem;margin-bottom:1.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}
#panel3 .draft-tools[hidden]{display:none}
#panel3 .draft-tools p{margin:0;flex:1 1 240px}
#panel3 #clearDraft{padding:.8rem 1.2rem;min-height:44px}
#panel3 fieldset{margin-bottom:2rem}
#panel3 .role-description{display:block;font-size:.85rem;font-weight:400;line-height:1.55;color:#526258;margin:.6rem 0 .3rem}
#panel3 .estimate-submit-note{line-height:1.65;margin:1.25rem 0}
#panel3 [aria-invalid=true]{border:2px solid #b42318!important;outline-color:#b42318}
#panel3 .field-error{display:block;color:#b42318;font-weight:600;font-size:.85rem;margin:.5rem 0;line-height:1.5}
#panel3 .has-field-error{border-left:3px solid #b42318;padding-left:1rem}
#panel3 .range-error{border-left:3px solid #b42318;padding-left:1rem}
#panel3 .range-error .range-status{color:#b42318;font-weight:600}
#panel3 #quoteLines .quote-plan-group[hidden]{display:none}
#showMoreShifts{margin:1.25rem 0;min-height:44px;padding:.8rem 1.2rem}

.site-footer .footer-address{font-style:normal;color:#f6f5ee;font-size:.95rem;line-height:1.65;margin:0 0 1.5rem}.site-footer .footer-address strong{display:inline-block;margin-bottom:.35rem}

/* Enquiry choices and a guided estimate, with the existing forest-green palette. */
.task-page .routetabs button{padding:22px;transition:background-color .18s,color .18s,border-color .18s}
.routetabs .route-icon{display:block;margin:0 0 16px;color:inherit}
.task-page .routetabs button:hover,.task-page .routetabs button:focus-visible{background:#314f3e;color:#fff;border-color:#314f3e}
.task-page .routetabs button:hover small,.task-page .routetabs button:focus-visible small{color:#f5f8ed}
.task-page .routetabs button:focus-visible{outline:3px solid #7e975e;outline-offset:4px}
.task-page .routetabs button[aria-selected=true]{border-color:#20332b}
.task-page .routetabs .route-time{display:block;margin-top:14px;line-height:1.5}
#panel3 .quote-layout{padding:0;margin-top:2rem}
#panel3 .estimate-shortcut{padding:0;background:none;border:0;margin-top:1rem;font-size:.95rem}
#panel3 .estimate-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0 0 2.5rem;list-style:none;gap:12px}
#panel3 .estimate-steps button{display:flex;align-items:center;gap:10px;width:100%;height:100%;padding:14px 10px;text-align:left;border:0;border-bottom:2px solid #d4ded5;background:transparent;color:#526258;font:inherit;font-size:.9rem;line-height:1.4;cursor:pointer}
#panel3 .estimate-steps span{display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid #9aaa9c;border-radius:50%;font-weight:700}
#panel3 .estimate-steps [aria-current=step]{border-color:#20332b;color:#20332b;font-weight:700}
#panel3 .estimate-steps [aria-current=step] span{background:#20332b;color:#fff;border-color:#20332b}
#panel3 .estimate-step{scroll-margin-top:190px;outline:none}
#panel3 .estimate-step>fieldset{padding:24px 0;border:0;margin:0}
#panel3 .estimate-step>fieldset>legend{font-size:1.5rem;line-height:1.4;padding:0;margin:0}
#panel3 .step-intro{font-size:1rem;line-height:1.7;margin:0 0 1.5rem;color:#526258}
#panel3 .estimate-options{margin:8px 0 20px;border-block:1px solid #d4ded5}
#panel3 .estimate-options>summary{font-size:.95rem;line-height:1.6;padding:18px 0}
#panel3 .estimate-options>label:first-of-type{margin-top:20px}
#panel3 .estimate-options .staffchoice{border:0;padding:15px 0}
#panel3 .range-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
#panel3 .range-fields label{margin:0;min-width:0}
#panel3 .range-fields small{display:block;margin:.5rem 0 0;font-weight:400;line-height:1.5;font-size:.85rem}
#panel3 .range-fields>.role-field{grid-column:1/-1}
#panel3 .schedule-guidance{font-size:.9rem;line-height:1.6;padding:0 0 1.25rem;border-bottom:1px solid #d4ded5;margin-bottom:1.5rem}
#panel3 .schedule-at-a-glance{margin:24px 0 12px;padding:18px 0;border-block:1px solid #d4ded5;font-size:.95rem;line-height:1.7}
#panel3 .schedule-at-a-glance p{margin:.4rem 0 0;color:#526258}
#panel3 .schedule-customise,#panel3 .schedule-more{margin:8px 12px 12px 0;padding:12px 16px;min-height:44px}
#panel3 .range-status:empty{display:none}
#panel3 .range-status{font-size:.9rem;line-height:1.6}
#panel3 .estimate-navigation{display:flex;gap:20px;align-items:center;border-top:1px solid #d4ded5;padding:24px 0;margin-top:24px}
#panel3 .estimate-navigation p{font-size:.85rem;color:#526258;margin:0 auto 0 0}
#panel3 .estimate-navigation .button{margin:0}
#panel3 #estimateBack{padding:12px 16px;min-height:44px}
#panel3 .estimate-review{padding:24px;border:1px solid #d4ded5;border-radius:12px;margin-bottom:32px;background:white}
#panel3 .review-heading{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between}
#panel3 .review-heading h3{font-size:1.3rem;margin:0}
#panel3 .review-heading button{padding:10px 12px;min-height:44px}
#estimateReview dl{margin:24px 0;display:grid;gap:20px}
#estimateReview dt{font-size:.85rem;color:#526258;font-weight:600}
#estimateReview dd{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
#estimateReview .review-shifts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#estimateReview .review-shifts p{margin:0;padding:16px 0;border-top:1px solid #d4ded5;font-size:.9rem;line-height:1.6}
#estimateReview .review-shifts span{display:block;margin-top:5px;color:#526258}
#estimateReview .review-count{font-weight:600;margin:20px 0 0;font-size:.95rem}
#estimateReview>button{margin-top:15px;padding:12px}
#panel3 .quote-contact{border-top:1px solid #d4ded5;margin-top:18px;padding-top:24px}
#panel3 .estimate-submit{margin-top:10px}
#panel3 .has-field-error{border-left:3px solid #b42318!important;padding-left:16px!important}
#panel3 .quote-row{margin:18px 0;padding:20px;border:1px solid #d4ded5;border-radius:8px;background:#fff}
#panel3 .quote-row[hidden]{display:none}
.role-field{min-width:0;margin:0 0 20px}
.role-caption{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.role-picker{padding:0;border:1px solid #9fa997;border-radius:6px;background:white;color:#20332b}
.role-picker>summary{position:relative;padding:16px 42px 16px 16px;cursor:pointer;list-style:none;min-height:44px;font-size:1rem;font-weight:400;line-height:1.5}
.role-picker>summary::-webkit-details-marker{display:none}
.role-picker>summary:after{content:'⌄';position:absolute;right:18px;top:15px;font-size:20px}
.role-picker[open]>summary:after{content:'⌃'}
.role-picker[open]>summary{border-bottom:1px solid #d4ded5}
.role-picker .role-description{display:block;font-weight:400;color:#526258;font-size:.85rem;line-height:1.6;margin:5px 0 0}
.role-options{padding:8px;display:grid;gap:6px}
.role-option{position:relative;text-align:left;border:1px solid transparent;background:white;border-radius:4px;color:#20332b;font:inherit;padding:14px 40px 14px 12px;cursor:pointer;line-height:1.5}
.role-option b,.role-option small{display:block}
.role-option b{font-size:.95rem}
.role-option small{font-size:.85rem;font-weight:400;color:#526258;margin-top:5px;line-height:1.6}
.role-option[aria-pressed=true]{background:#eff4ed;border-color:#799276}
.role-option[aria-pressed=true]:after{content:'✓';position:absolute;right:14px;top:14px}
.role-option:hover,.role-option:focus-visible{background:#20332b;color:white}
.role-option:hover small,.role-option:focus-visible small{color:#f0f4ec}
.role-option:focus-visible,.role-picker>summary:focus-visible,.estimate-steps button:focus-visible{outline:3px solid #7e975e;outline-offset:2px}
@media(min-width:700px){#panel3 .estimate-shared-schedule .role-options{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.task-page .routetabs button{padding:16px 12px}.routetabs .route-icon{width:24px;height:24px;margin-bottom:12px}#panel3 .estimate-steps ol{gap:8px;margin-bottom:24px}#panel3 .estimate-steps button{flex-direction:column;align-items:flex-start;font-size:.8rem;padding:10px 4px;gap:8px}#panel3 .estimate-step>fieldset>legend{font-size:1.3rem}#panel3 .range-fields{gap:16px}#panel3 .range-fields>label:last-child{grid-column:auto}#panel3 .estimate-review{padding:18px}#estimateReview .review-shifts{grid-template-columns:1fr}#panel3 .estimate-navigation{flex-wrap:wrap;gap:12px}#panel3 #estimateNext{width:100%;justify-content:center}#panel3 .estimate-submit{width:100%;justify-content:center}#panel3 .quote-row{padding:15px}#panel3 .estimate-step{scroll-margin-top:145px}}
@media(prefers-reduced-motion:reduce){.task-page .routetabs button{transition:none}}
#panel3 .estimate-steps{display:block;width:100%}
#panel3 .range-fields>label{display:block}
#panel3 .range-fields>label>input,#panel3 .range-fields>label>select{display:block;margin-top:10px}
#panel3 .estimate-steps span{width:28px;min-width:28px}

/* A complete, easy-to-scan estimate with the service included in the price. */
#panel3 .quote-summary{background:#fff;border:1px solid #d4ded5;padding:clamp(20px,3vw,36px);scroll-margin-top:190px}
#panel3 .quote-summary>h2{font-size:clamp(28px,4vw,40px);margin:10px 0 8px}
#panel3 #quoteReceipt{font-size:.88rem;line-height:1.6;color:#526258;border:0;padding:0;margin:12px 0 28px}
.estimate-offer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:30px;align-items:start}
#panel3 .estimate-price{background:#20332b;color:#fff;border-radius:14px;padding:28px;min-width:0}
#panel3 .estimate-price h3{font-size:1.05rem;line-height:1.5;margin:0;color:#edf2e8;font-weight:500}
#panel3 .estimate-total{font-size:clamp(32px,4vw,46px);line-height:1.15;letter-spacing:-.035em;margin:14px 0 10px;font-weight:800;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#panel3 .estimate-tax-label{color:#d6e1d7;font-size:.9rem;line-height:1.6;margin:0 0 24px}
#panel3 .estimate-costs{margin:0;padding-top:8px;border-top:1px solid #5d7063}
#panel3 .estimate-costs>div{border:0;padding:8px 0;gap:18px;align-items:baseline}
#panel3 .estimate-costs dt,#panel3 .estimate-costs dd{font-size:.9rem;color:#f3f5ee;line-height:1.5}
#panel3 .estimate-costs dd{white-space:nowrap;text-align:right;font-weight:600}
#panel3 #priceNote{font-size:.83rem;color:#d6e1d7;line-height:1.65;margin:18px 0 0}
#panel3 .estimate-price.needs-review .estimate-total{font-size:2rem;line-height:1.25}
#panel3 #quoteBookTransfer{background:#dcf0ac;border:1px solid #dcf0ac;color:#20332b;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:18px 16px;margin:24px 0 0;width:100%;box-sizing:border-box;text-decoration:none;line-height:1.4}
#panel3 #quoteBookTransfer>span{font-size:1rem;font-weight:800}
#panel3 #quoteBookTransfer small{display:block;font-size:.8rem;line-height:1.6;font-weight:500}
#panel3 #quoteBookTransfer:hover{background:#edf8d5;border-color:#edf8d5}
#panel3 #quoteBookTransfer:focus-visible,#panel3 #quoteTransfer:focus-visible{outline:3px solid #dcf0ac;outline-offset:5px}
#panel3 #quoteBookingNote{font-size:.85rem;color:#d6e1d7;line-height:1.65;margin:16px 0}
#panel3 #quoteTransfer{display:inline-block;margin:0;padding:8px 0;color:white;font-size:.9rem;line-height:1.6;text-underline-offset:5px}
#panel3 .estimate-inclusions .eyebrow{font-size:.68rem;letter-spacing:.12em;margin:0 0 12px}
#panel3 .estimate-inclusions h3{font-size:1.5rem;line-height:1.3;margin:0 0 12px}
#panel3 #quoteIncludedIntro{font-size:.95rem;color:#526258;line-height:1.6;margin:0 0 24px}
#panel3 .estimate-inclusions ul{padding:0;margin:0 0 20px;list-style:none;display:grid;gap:20px}
#panel3 .estimate-inclusions li{display:flex;gap:12px;align-items:flex-start;line-height:1.5}
#panel3 .estimate-inclusions svg{flex:0 0 22px;color:#3f653a;margin-top:1px}
#panel3 .estimate-inclusions strong{font-size:.95rem;font-weight:700}
#panel3 .estimate-inclusions li p{font-size:.87rem;line-height:1.65;color:#526258;margin:5px 0 0}
#panel3 .estimate-inclusions>a{font-size:.9rem;line-height:1.6;text-underline-offset:4px}
#panel3 .estimate-inclusions>.fine{margin-top:16px;line-height:1.65}
#panel3 .estimate-conditions{font-size:.9rem;line-height:1.7;margin:24px 0}
#panel3 #quoteEligibility:empty{display:none}
#panel3 .estimate-plan{border-top:1px solid #d4ded5;padding-top:28px;margin-top:28px}
#panel3 .estimate-plan-heading{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:24px}
#panel3 .estimate-plan-heading .eyebrow{font-size:.7rem;margin:0 0 8px}
#panel3 .estimate-plan h3{font-size:1.6rem;margin:0;line-height:1.3}
#panel3 .estimate-plan h4{font-size:1.05rem;margin:24px 0 14px}
#panel3 .estimate-counts{display:flex;gap:32px;margin:0}
#panel3 .estimate-counts>div{display:flex;flex-direction:column-reverse;gap:4px;padding:0;border:0}
#panel3 .estimate-counts dt{font-size:.8rem;color:#526258}
#panel3 .estimate-counts dd{font-size:1.7rem}
#panel3 .estimate-confirmation-note{font-size:.85rem;line-height:1.7;border-top:1px solid #d4ded5;padding-top:20px;margin-top:24px;color:#526258}
#panel3 #quoteBrief>div{display:block}
#panel3 #quoteBrief dd{font-size:1rem;font-weight:500;line-height:1.6;margin-top:6px}
@media(max-width:740px){.estimate-offer{grid-template-columns:1fr;gap:32px}#panel3 .estimate-price{padding:24px}#panel3 .estimate-total{font-size:40px}#panel3 .quote-summary{padding:24px 18px}#panel3 #quoteTransfer{width:auto}#panel3 .quote-summary{scroll-margin-top:140px}}

/* Light form surfaces keep every step and hint readable. */
#quoteBuilder{background:#f1f5ed;color:#20332b;padding:28px;border:1px solid #ccd8c9;border-top:4px solid #44634b;border-radius:16px}
#quoteBuilder fieldset{background:transparent;border-radius:12px}
.minimum-shift-note{background:#e3efbf!important;color:#173e32!important;border-left:4px solid #446c28;padding:14px 18px!important;font-weight:700!important;border-radius:6px}
@media(max-width:600px){#quoteBuilder{padding:18px 15px}}
.brand-calendar{position:fixed;z-index:1000;width:312px;max-width:calc(100vw - 24px);padding:16px;box-sizing:border-box;background:#fff;border:1px solid #ccd8c9;border-radius:14px;box-shadow:0 12px 40px #20332b30;color:#20332b}.brand-calendar[hidden]{display:none}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.brand-calendar button{background:white;color:#20332b;border:0;border-radius:7px;padding:9px;font:inherit;cursor:pointer}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:10px}.calendar-grid span{text-align:center;font-size:12px;padding:6px 0}.brand-calendar button:hover,.brand-calendar button:focus-visible{background:#e3efbf;outline:2px solid #44634b;outline-offset:0}.brand-calendar button[aria-pressed=true]{background:#d8efa8;font-weight:700}.brand-calendar button:disabled{opacity:.35;cursor:default}#quoteBuilder input[type=date]::-webkit-calendar-picker-indicator{pointer-events:none}.recommend-badge{margin-right:8px}
/* The descriptive picker replaces its native select; form field rules must not reveal both. */
.role-field>select[hidden]{display:none!important}
.role-picker>summary[aria-invalid=true]{outline:2px solid #a82424;outline-offset:2px}
