/*
Theme Name: Central London House
Description: Bespoke Central London Cleaners WordPress theme.
Version: 1.1.0
Text Domain: central-london
*/
:root{--paper:#f9f6ef;--ink:#282621;--wine:#552b3d;--light:#efe7e0;--rule:#d2cabf;--muted:#5c564e;--white:#fffdf8}
*{box-sizing:border-box}body{margin:0;background:var(--paper);font:17px/1.55 Arial,Helvetica,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:.2em}a:hover{color:var(--wine)}:focus-visible{outline:3px solid #9a6141;outline-offset:4px}.wrap{max-width:1440px;padding-inline:clamp(22px,5.2vw,84px);margin:auto}header{border-bottom:1px solid var(--rule)}.mast{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:88px}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--wine);font:600 22px/1.06 Georgia,serif;letter-spacing:-.8px}.brand svg{width:39px;height:46px;flex:none}.nav,.actions{display:flex;align-items:center;gap:clamp(18px,2.6vw,40px);flex-wrap:wrap}.nav a:not(.button),summary{font-size:16px;text-decoration:none}.nav a:hover,.footer a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;background:var(--wine);color:white;border:1px solid var(--wine);padding:12px 20px;border-radius:5px;font:600 16px/1.35 Arial,sans-serif;text-decoration:none;cursor:pointer}.button:hover{color:#fff;background:#38202b}.button span,.arrow{font:normal 1.25em/1 Arial}.textlink{font-weight:600;text-decoration:underline;text-underline-offset:5px}.hero{display:grid;grid-template-columns:.94fr 1.06fr;gap:clamp(28px,5vw,85px);align-items:center;padding-block:clamp(38px,5vw,78px)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;text-wrap:balance}h1{font-size:clamp(48px,6.8vw,104px);line-height:.99;letter-spacing:-.064em}h1 em{font-weight:400;color:var(--wine)}h2{font-size:clamp(35px,3.5vw,55px);letter-spacing:-.049em;line-height:1.1}h3{font-size:clamp(25px,2.3vw,36px);letter-spacing:-.04em;line-height:1.15}.hero p,.lead{font-size:clamp(18px,1.5vw,22px);max-width:48ch;color:var(--muted);margin:23px 0 27px}.eyeline{display:flex;align-items:center;gap:11px;color:var(--wine);font-size:16px;font-weight:600;margin-bottom:21px}.eyeline:before{content:"";width:30px;height:2px;background:var(--wine)}.heroimg{display:block;width:100%;height:clamp(320px,30vw,475px);object-fit:cover;border-radius:52% 52% 4px 4px / 20% 20% 4px 4px}.panel{padding-block:clamp(42px,5vw,74px);border-top:1px solid var(--rule)}.headingrow{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:30px}.servicegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.service{position:relative;display:block;text-decoration:none;border-top:2px solid var(--wine);padding:24px 3px 10px}.service>svg{width:55px;height:49px;color:var(--wine);margin-bottom:19px}.service h3{font-size:clamp(23px,2.1vw,34px)}.service p{margin-top:9px;color:var(--muted);max-width:30ch}.service .arrow{position:absolute;right:4px;top:26px;color:var(--wine)}.service:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.pair{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(30px,7vw,110px)}.band{background:var(--light)}.splitlist{list-style:none;padding:0;margin:0}.splitlist li{padding:16px 0;border-top:1px solid var(--rule)}.splitlist li:first-child{padding-top:0;border:0}.splitlist strong{display:block;font-size:20px;margin-bottom:4px}.splitlist p,.copy p{color:var(--muted)}.footer{background:#38232c;color:#fffaf2;padding-block:45px}.footerin{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer .brand,.footer a:hover{color:white}.footlinks{display:grid;gap:9px}.footlinks a{width:fit-content}.skip{position:fixed;left:12px;top:-150px;z-index:5;background:#fff;padding:12px}.skip:focus{top:8px}.mobilemenu{display:none}.crumb{display:flex;gap:9px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:16px;padding-top:24px}.subhero{padding-block:clamp(35px,4.5vw,69px)}.subhero h1{font-size:clamp(46px,5.4vw,80px);max-width:21ch}.subhero .lead{max-width:61ch}.innerphoto{display:grid;grid-template-columns:1fr .64fr;gap:48px;align-items:center}.innerphoto img{width:100%;height:280px;object-fit:cover;border-radius:4px 70px 4px 4px}.quicklinks,.directory{display:flex;gap:9px 20px;flex-wrap:wrap}.quicklinks a,.directory a{padding:7px 0}.directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:4px 20px}.copy{max-width:790px;margin:auto;padding-block:36px 62px;overflow-wrap:anywhere}.copy h2,.copy h3{margin:32px 0 14px}.copy p,.copy ul,.copy ol{margin:0 0 17px}.copy img{max-width:100%;height:auto}.copy table{max-width:100%;border-collapse:collapse}.copy td,.copy th{padding:8px;border:1px solid var(--rule)}.quoteform{max-width:650px;display:grid;gap:18px}.quoteform label{display:grid;gap:6px;font-weight:600}input,select,textarea{font:inherit;color:var(--ink);background:var(--white);border:1px solid #948a80;padding:11px 13px;border-radius:4px;width:100%}textarea{resize:vertical}.quoteform .button{justify-self:start}.contactbox{padding:24px;background:var(--light);align-self:start;border-radius:5px}.contactbox>*+*{margin-top:15px}.contactbox a{overflow-wrap:anywhere}.quotegrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(30px,7vw,110px)}.notice{border-left:3px solid var(--wine);padding-left:16px}.articlelist{display:grid;grid-template-columns:repeat(2,1fr);gap:0 30px}.articlelist a{display:block;padding:16px 0;border-top:1px solid var(--rule)}.dirgroup+.dirgroup{margin-top:38px}.dirgroup h3{margin-bottom:14px}[hidden]{display:none!important}
@media(max-width:900px){.servicegrid{grid-template-columns:repeat(2,1fr)}.hero{gap:24px}.nav{gap:17px}.mast{min-height:78px}.brand{font-size:20px}}
@media(max-width:720px){.mast{min-height:70px;gap:12px}.desktop{display:none}.mobilemenu{display:block}.mobilemenu summary{cursor:pointer;padding:10px;color:var(--wine);font-weight:600}.mobilemenu .nav{position:absolute;background:var(--paper);z-index:2;right:0;left:0;border-block:1px solid var(--rule);padding:17px 22px;box-shadow:0 10px 18px #29151d19}.mast>.button{margin-left:auto;padding:10px 13px}.hero{grid-template-columns:1fr;padding-block:32px;gap:28px}.heroimg{height:auto;aspect-ratio:1.9}.hero p,.lead{margin-block:15px 21px}.hero .eyeline{margin-bottom:13px}.hero h1{font-size:clamp(51px,11vw,76px)}.pair,.quotegrid,.innerphoto{grid-template-columns:1fr;gap:22px}.innerphoto img{max-height:230px}.servicegrid{gap:18px}.service{padding-top:14px}.service>svg{margin-bottom:10px}.articlelist{grid-template-columns:1fr}.footerin{display:grid}.subhero{padding-block:28px}.brand svg{width:30px}.actions{gap:16px}.contactbox{padding:18px}}
@media(min-width:721px){.mast>.button{display:none}}
@media(max-width:410px){.mast{gap:7px}.brand{font-size:17px}.mast .button{font-size:15px}.servicegrid{grid-template-columns:1fr}.service{padding-left:68px;min-height:70px}.service>svg{position:absolute;left:0;top:15px;width:44px}.service .arrow{display:none}}
#summary{white-space:pre-line;margin:14px 0;overflow-wrap:anywhere}#email-step{padding:20px;background:var(--light);border-radius:4px}#email-step h3{margin-bottom:8px}
.scope,.scope *{min-width:0}
.guide-hero{display:grid;grid-template-columns:1fr minmax(345px,.86fr);align-items:center;gap:clamp(32px,7vw,105px);padding-block:clamp(32px,4.6vw,68px)}
.guide-hero h1{font-size:clamp(46px,5.6vw,82px);max-width:15ch}
.guide-hero .lead{max-width:43ch}
.scope{background:#eee6de;border:1px solid #d9c9be;border-radius:26px 5px 5px 5px;padding:clamp(20px,2.5vw,36px);display:grid;gap:14px}
.scope h2{font-size:clamp(30px,2.45vw,39px)}
.scope-art{width:150px;height:63px;color:var(--wine)}
.scope>p{color:var(--muted)}
.counts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:4px 0}
.scope label{display:flex;flex-direction:column;justify-content:space-between;gap:5px;font-size:16px;font-weight:600}
.scope input,.scope select{padding:8px 10px}
.scope button{justify-self:start}
.scope-more summary,.guide-faq summary{cursor:pointer;font-weight:600;min-height:40px;padding-block:6px;color:var(--wine)}
.scope-more[open]{display:grid;gap:12px}.scope-more[open]>label,.scope-more[open]>fieldset{margin-block:10px}
.scope fieldset{border:0;padding:0;margin:0}.scope fieldset legend{font-weight:600;margin-bottom:5px}.scope fieldset label{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:9px;min-height:34px;font-weight:400}.scope input[type=checkbox]{width:19px;height:19px;accent-color:var(--wine)}
.reading-nav,.local-links{display:flex;flex-wrap:wrap;gap:10px 24px}.reading-nav{padding-block:22px;border-block:1px solid var(--rule)}.reading-nav a,.local-links a{color:var(--wine);font-weight:600}
.local-links,.next-guide{margin-top:18px}
.guide-intro{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,6vw,86px);align-items:start;margin-bottom:30px}
.guide-intro>p{font-size:19px;color:var(--muted);max-width:61ch}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.guide-entry{padding-top:17px;border-top:2px solid var(--wine)}
.guide-entry h3{font-size:clamp(25px,2vw,33px);margin-bottom:12px}
.guide-entry p,.guide-table dd{max-width:66ch}
.guide-example{border-left:4px solid var(--wine);background:var(--light);padding:18px 22px;margin:24px 0 0;max-width:85ch}
.guide-example strong{display:block;margin-bottom:4px}.guide-two{grid-template-columns:repeat(2,1fr)}
.guide-table{margin:0}.guide-table div{border-top:1px solid var(--rule);padding:17px 0;display:grid;gap:25px;grid-template-columns:minmax(190px, .7fr) 1.7fr}.guide-table dt{font-weight:bold;font-size:20px;color:var(--wine)}.guide-table dd{margin:0}
.guide-faq details{border-bottom:1px solid var(--rule);padding:10px 0}.guide-faq summary{font-size:18px;color:var(--ink)}.guide-faq p{padding-bottom:12px}
.area-focus p{margin-top:12px}.area-focus a{color:var(--wine)}
@media(max-width:760px){.guide-hero,.guide-intro,.guide-grid{grid-template-columns:1fr}.guide-hero{gap:22px}.guide-hero .lead{margin:14px 0}.scope{gap:10px}.scope-art{height:45px;width:114px}.guide-intro{gap:14px}.reading-nav{display:grid}.guide-table div{grid-template-columns:1fr;gap:5px}.counts{gap:8px}.guide-entry p{max-width:65ch}}

.service-plan .plan-icon{width:68px;height:57px;color:var(--wine)}
.plan-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,110px),1fr));gap:12px}
.plan-fields:has(input[type="datetime-local"]){grid-template-columns:1fr}
.service-plan .visit-switch{display:flex;gap:8px;flex-wrap:wrap}
.service-plan .visit-switch legend{margin-bottom:8px}
.service-plan .visit-switch label{display:inline-flex;align-items:center;padding:8px 14px;background:var(--white);border:1px solid var(--rule);border-radius:4px}
.service-plan .visit-switch label:has(:checked){border-color:var(--wine);color:var(--wine)}
.service-plan input[type=radio]{width:18px;height:18px;accent-color:var(--wine)}
.service-plan:has(input[value="Regular"]:checked) [data-visit="One-off"],.service-plan:has(input[value="One-off"]:checked) [data-visit="Regular"]{display:none}
.plan-result{font-weight:600;color:var(--wine)}.plan-result:empty{display:none}

/* Service cards share one image ratio and keep all copy outside the photo. */
.needs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,54px) clamp(24px,3vw,44px)}
.need-group{border-top:1px solid var(--wine);padding-top:16px;min-width:0}
.need-title{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.need-title svg{flex:none;width:31px;height:31px;color:var(--wine)}
.need-title h2,.need-title h3{font-size:clamp(25px,2.25vw,36px);line-height:1.15;letter-spacing:-.035em}
.need-group ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
.photo-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--rule);border-radius:6px;background:var(--white);text-decoration:none}
.photo-card:hover,.photo-card:focus-visible{border-color:var(--wine)}
.photo-card img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;display:block;background:var(--light)}
.card-copy{display:block;padding:14px 16px 16px}
.card-name{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.card-name h4{font-size:clamp(18px,1.4vw,22px);line-height:1.25}
.card-name span{color:var(--wine)}
.photo-card:hover h4,.photo-card:focus-visible h4{text-decoration:underline;text-underline-offset:4px}
.choice-detail{display:block;margin-top:8px;color:var(--muted);line-height:1.42}
.directory-intro{padding-block:clamp(28px,4vw,56px) 18px}
.directory-intro h1{font-size:clamp(44px,5vw,76px)}
.directory-intro .lead{margin-bottom:6px;max-width:70ch}
.directory-body{padding-block:12px clamp(44px,5vw,78px)}
@media(max-width:940px){.needs-grid{grid-template-columns:1fr}}
@media(max-width:560px){.need-group ul{grid-template-columns:1fr;gap:10px}.photo-card img{width:100%;height:auto;aspect-ratio:8/5}.card-copy{padding:12px}.choice-detail{margin-top:4px}.need-title{margin-bottom:12px}}
.rate-line{margin:0 0 18px;font-size:18px}.rate-line a{display:inline-block;margin-left:8px;color:var(--wine)}
.price-jumps{display:flex;flex-wrap:wrap;gap:12px 24px;border-block:1px solid var(--rule);padding:18px 0;color:var(--wine)}
.price-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 6vw;padding-block:42px 68px}
.price-section{border-top:2px solid var(--wine);padding-top:15px;scroll-margin-top:20px}
.price-section h2{font-size:clamp(28px,3vw,42px);margin-bottom:18px}
.price-section p{margin:12px 0;max-width:60ch;color:var(--muted)}
.price-section .tailored-rate{color:var(--wine);font-size:20px}
.price-section table{width:100%;border-collapse:collapse;text-align:left}
.price-section th,.price-section td{padding:8px 6px 8px 0;vertical-align:top;border-bottom:1px solid var(--rule)}
.price-section tbody th{font-weight:400}
.price-section td,.price-section thead th:last-child{text-align:right;white-space:nowrap}
@media(max-width:760px){.price-directory{grid-template-columns:1fr;gap:30px}.rate-line a{margin-left:0}.rate-line{display:grid;gap:4px}}

.inline-prices{scroll-margin-top:18px}.inline-prices h2+p{margin-top:14px;max-width:56ch}.inline-prices .price-section{min-width:0;border-top:0;padding-top:0}.inline-prices table td:last-child{white-space:normal}.inline-prices table th[scope=row]{width:57%}
.price-directory td:last-child{white-space:normal}

.benefits{background:var(--light);scroll-margin-top:20px}
.benefit-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px);padding:0;margin:24px 0 0;list-style:none}
.benefit-cards li{background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:clamp(19px,2.4vw,34px)}
.benefit-cards svg{display:block;color:var(--wine);margin-bottom:16px}
.benefit-cards h3{font-size:clamp(24px,2.1vw,32px);line-height:1.15;letter-spacing:-.025em;margin:0 0 10px}
.benefit-cards p{line-height:1.5;margin:0}
@media(max-width:760px){.benefit-cards{grid-template-columns:1fr}.benefit-cards li{display:grid;grid-template-columns:30px 1fr;gap:0 14px}.benefit-cards svg{width:28px;height:28px;margin:0}.benefit-cards p{grid-column:2}}

/* A clear first screen, a single planning action and a visible reading order. */
.topic-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.87fr);align-items:center;gap:clamp(28px,5.5vw,84px);padding-block:clamp(32px,4.5vw,66px)}
.topic-hero h1{font-size:clamp(46px,5.6vw,84px);line-height:1.02;max-width:17ch}
.topic-hero .lead{max-width:52ch;margin:18px 0;font-size:clamp(19px,1.65vw,23px)}
.topic-photo{width:100%;aspect-ratio:8/5;height:auto;object-fit:cover;border-radius:44px 5px 5px 5px}
.topic-hero .actions{margin-top:20px}.guarantee-note{margin:8px 0;color:var(--wine)}
.big-cta,main .button{min-height:56px;padding:15px 25px;font-size:18px;line-height:1.25}
.section-links{display:flex;flex-wrap:wrap;gap:4px 16px;border-block:1px solid var(--rule);padding-block:8px}
.section-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--wine)}
.quote-and-rates{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(30px,5vw,80px);padding-block:clamp(32px,5vw,70px)}
.quote-and-rates .inline-prices{padding:10px 0;border:0}
.quote-and-rates .inline-prices>.wrap{display:flex;flex-direction:column;gap:16px;padding:0;width:100%}
.quote-and-rates .inline-prices h2{font-size:clamp(30px,3vw,44px)}
.planner-slot,.section-links,[id^=guide-],#area-search,#areas,#service-options,#article-guide,#guide-library{scroll-margin-top:20px}
.scope button,.quoteform .button{min-height:54px}
.guide-panel+.guide-panel{border-top:1px solid var(--rule)}
.area-focus .local-links{border-top:1px solid var(--rule);padding-top:16px}
.local-access{background:var(--white)}
.closing-action{background:var(--wine);color:var(--paper)}
.closing-content{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:clamp(34px,4.5vw,68px)}
.closing-content h2{font-size:clamp(32px,3vw,48px)}
.closing-content p{margin-top:10px;max-width:59ch}.closing-content .button{background:var(--paper);border-color:var(--paper);color:var(--wine);flex:none}
.closing-content .button:hover{background:#fff}.closing-content .button:focus-visible{outline-color:white}
.editorial-copy{padding-block:0 45px}.editorial-section{padding-block:clamp(22px,3vw,42px);border-top:1px solid var(--rule)}.editorial-section h2,.legal-copy h2{font-size:clamp(28px,3vw,40px);margin:0 0 14px}.editorial-section p{margin:0;line-height:1.65}.legal-copy h2{border-top:1px solid var(--rule);padding-top:26px;margin-top:32px}.legal-copy h3{font-size:24px}
.library-group+.library-group{margin-top:30px}.library-group h3{margin-bottom:14px}
.area-finder{max-width:32rem;margin-block:22px}.area-finder label{display:block;margin-bottom:6px;font-weight:600}.area-finder p{margin-top:8px}
.coverage-list summary{display:inline-flex;padding:12px 18px;border:1px solid var(--rule);border-radius:4px;color:var(--wine);font-weight:600;cursor:pointer}.coverage-list summary::after{content:'＋';margin-left:14px}.coverage-list[open] summary::after{content:'−'}.coverage-list .directory{margin-top:18px}
.subhero:has(.big-cta) .lead,.directory-intro .lead{margin-bottom:20px}
@media(max-width:760px){.topic-hero,.quote-and-rates{grid-template-columns:1fr}.topic-hero{gap:22px}.topic-photo{aspect-ratio:2/1;max-height:260px}.topic-hero h1{font-size:clamp(43px,10vw,66px)}.topic-hero .lead{font-size:19px}.section-links{gap:0 16px}.closing-content{align-items:flex-start;flex-direction:column;gap:20px}.quote-and-rates .inline-prices{border-top:1px solid var(--rule);padding-top:24px}.actions .textlink{min-height:44px;display:inline-flex;align-items:center}}

.mast>.enquiry-toggle{display:inline-flex;margin-left:0}.mast .nav.desktop{margin-left:auto}
.enquiry-strip{border-top:1px solid var(--rule);background:var(--light);padding-block:16px}
.enquiry-intro{display:flex;align-items:baseline;gap:8px 18px;flex-wrap:wrap;margin-bottom:10px}
.enquiry-intro strong{color:var(--wine);font-size:20px}.enquiry-intro p{margin:0}
.enquiry-fields{display:grid;grid-template-columns:1.05fr .72fr 1fr 1.7fr;gap:14px}
.enquiry-fields label{display:grid;align-content:start;gap:4px;font-weight:600;font-size:16px}
.enquiry-fields input,.enquiry-fields textarea{font-weight:400;border-color:#9a9089;min-width:0;padding:8px 10px;line-height:1.35}
.enquiry-fields textarea{height:42px;min-height:42px}
.enquiry-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px}
.enquiry-bottom>div{min-width:0;flex:1}.enquiry-bottom .button{min-height:44px}
#enquiry-verifier{max-width:400px}#enquiry-status:not(:empty){margin:6px 0 0;color:var(--wine);font-weight:600}
.enquiry-bottom button:disabled{opacity:.6;cursor:wait}
@media(max-width:720px){.mast>.enquiry-toggle{margin-left:auto}.enquiry-fields{grid-template-columns:1fr 1fr}.enquiry-fields label:nth-child(3),.enquiry-fields label:last-child{grid-column:1/-1}.enquiry-fields textarea{height:72px}.enquiry-bottom{display:block}.enquiry-bottom button{margin-top:8px}.enquiry-intro{display:block}.enquiry-strip{padding-block:16px}}

/* Phone-first interaction layer: content stays complete at every width. */
html{scroll-padding-bottom:96px}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{min-height:48px;font-size:16px;max-width:100%}
input[type=date],input[type=datetime-local]{min-width:0}
button,a,summary{-webkit-tap-highlight-color:#552b3d22;touch-action:manipulation}
.enquiry-close{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:72px;min-height:44px;padding:8px 12px;background:transparent;border:1px solid var(--rule);border-radius:4px;color:var(--wine);font:600 16px/1.4 Arial,sans-serif;cursor:pointer;margin-left:auto}
.enquiry-close span{font-size:22px}
.mobile-actions{display:none}
.scope-more summary,.guide-faq summary{min-height:48px;padding-block:12px}
.scope fieldset label{min-height:48px}
.scope input[type=checkbox],.scope input[type=radio]{flex-shrink:0}
.footlinks a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere;max-width:100%}
.footlinks{gap:3px;min-width:0}
@media(max-width:979px){
  .mast{min-height:76px;gap:10px;position:relative}
  .mast .desktop{display:none}
  .mobilemenu{display:block;flex:none}
  .mobilemenu summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:8px;color:var(--wine);font-weight:600;cursor:pointer;list-style:none}
  .mobilemenu summary::-webkit-details-marker{display:none}
  .mobilemenu summary::after{content:'☰';font-size:18px}
  .mobilemenu[open] summary::after{content:'×';font-size:24px}
  .mobilemenu .nav{position:absolute;top:100%;left:0;right:0;z-index:10;background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px 22px;border:1px solid var(--rule);box-shadow:0 12px 18px #29151d19}
  .mobilemenu .nav a{display:flex;align-items:center;min-height:48px;padding:10px 14px;border:1px solid var(--rule);border-radius:4px;font-size:17px;font-weight:600}
  .mast>.enquiry-toggle{display:inline-flex;margin-left:auto;min-height:48px;padding:10px 14px;font-size:16px;white-space:nowrap}
  .enquiry-fields{grid-template-columns:1fr 1fr}
  .enquiry-fields label:nth-child(3),.enquiry-fields label:last-child{grid-column:auto}
  .enquiry-fields textarea{height:96px}
  .enquiry-intro{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:start}
  .enquiry-intro>p:first-child{grid-column:1;grid-row:1}
  #enquiry-mode{grid-column:1;grid-row:2}
  .enquiry-close{grid-column:2;grid-row:1/3}
}
@media(max-width:760px){
  .wrap{padding-inline:20px}
  body{padding-bottom:calc(80px + env(safe-area-inset-bottom));font-size:17px}
  .mast{min-height:72px;gap:8px}
  .brand{font-size:18px;letter-spacing:-.5px;gap:7px;flex-shrink:0}
  .brand svg{width:25px;height:38px}
  .mast>.enquiry-toggle{padding-inline:12px}
  .mobilemenu summary{font-size:16px;padding-inline:6px}
  .mobilemenu summary::after{display:none}
  .enquiry-fields{grid-template-columns:1fr;gap:14px}
  .enquiry-fields label:nth-child(3),.enquiry-fields label:last-child{grid-column:1}
  .enquiry-fields input,.enquiry-fields textarea{padding:12px;font-size:17px}
  .enquiry-fields textarea{height:112px}
  .enquiry-bottom{display:grid;gap:12px}
  .enquiry-bottom .button{width:100%;min-height:54px;margin-top:0;font-size:18px}
  .enquiry-intro strong{font-size:20px}
  .enquiry-intro #enquiry-mode{grid-column:1/-1;grid-row:2;margin-block:4px 8px}
  .enquiry-close{grid-row:1;min-width:68px;padding-inline:8px}
  .mobile-actions{position:fixed;bottom:0;inset-inline:0;z-index:20;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:12px;background:var(--paper);border-top:1px solid var(--rule);padding:10px max(16px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));box-shadow:0 -3px 15px #29151d0d}
  .mobile-actions a{min-height:52px;font-size:17px;text-align:center;font-weight:600}
  .mobile-call{display:flex;align-items:center;justify-content:center;color:var(--wine);border:1px solid var(--wine);border-radius:5px;text-decoration:none}
  body.enquiry-open .mobile-actions,body:has(input:focus,select:focus,textarea:focus) .mobile-actions{display:none}
  .hero h1,.topic-hero h1,.subhero h1,.directory-intro h1{font-size:clamp(40px,10.8vw,64px);line-height:1.06;letter-spacing:-.045em;overflow-wrap:normal}
  .hero,.topic-hero{padding-block:28px;gap:24px}
  .hero p,.topic-hero .lead{font-size:18px;line-height:1.55;margin-block:16px 20px}
  .hero .actions,.topic-hero .actions{display:grid;grid-template-columns:1fr;gap:8px}
  .hero .actions .textlink,.topic-hero .actions .textlink{justify-content:center;min-height:48px}
  .big-cta,main .button{width:100%;min-height:56px;padding:15px 18px;justify-self:stretch;text-align:center}
  .section-links{gap:8px;padding-block:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-links a{min-height:48px;border:1px solid var(--rule);border-radius:4px;padding:8px 12px;text-decoration:none;justify-content:center;text-align:center;font-size:16px}
  .quote-and-rates{gap:28px;padding-block:32px}
  .scope{padding:20px;gap:16px}
  .counts,.plan-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .scope label{gap:7px;font-size:17px}
  .scope input,.scope select{padding:12px 10px}
  .scope .visit-switch{display:grid;grid-template-columns:1fr 1fr}
  .scope .visit-switch label{padding:10px;gap:8px}
  .price-section td,.price-section th{padding-block:12px;overflow-wrap:anywhere}
  .price-section table{font-size:17px}
  .photo-card img{aspect-ratio:8/5}
  .card-copy{padding:16px}
  .card-name h4{font-size:20px}
  .panel{padding-block:36px}
  .closing-content{padding-block:32px;align-items:stretch}
  .directory a,.quicklinks a,.local-links a,.price-jumps a,.reading-nav a{display:inline-flex;align-items:center;min-height:48px;padding-block:10px}
  .rate-line a{min-height:44px;display:inline-flex;align-items:center}
  .footerin{grid-template-columns:minmax(0,1fr);gap:22px}
  .footer .brand{font-size:22px}
  .crumb{font-size:16px;gap:4px 8px;padding-top:16px}
  .crumb a{display:inline-flex;align-items:center;min-height:44px}
  .guide-faq summary{font-size:18px;line-height:1.45;padding-block:14px}
}
@media(max-width:360px){
  .wrap{padding-inline:16px}
  .mast{gap:6px}
  .mast .brand{font-size:16px;gap:6px}
  .mast .brand svg{width:22px}
  .mast>.enquiry-toggle{padding-inline:10px}
  .mobilemenu summary{padding-inline:4px}
  .scope{padding:16px}
  .counts,.plan-fields{grid-template-columns:1fr}
  .benefit-cards li{padding:18px;gap:0 10px}
  .benefit-cards p{grid-column:1/-1;margin-top:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:400px){.mast .brand{font-size:17px}.mast .brand svg{display:none}.mast>.enquiry-toggle{padding-inline:10px}.mast{gap:6px}}
@media(max-width:360px){.mast.wrap{padding-inline:12px}.mast .brand{font-size:16px;letter-spacing:-.8px}.mast>.enquiry-toggle{padding-inline:8px}.mobilemenu summary{min-width:44px}}

/* Primary service choices follow the business's six core services. */
.hero-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-block:20px}
.hero-services a{display:flex;align-items:center;min-height:52px;padding:10px 14px;border:1px solid var(--rule);border-radius:5px;color:var(--wine);font-size:17px;line-height:1.3;font-weight:600;text-decoration:none;background:var(--white)}
.hero-services a:hover,.hero-services a:focus-visible{border-color:var(--wine);background:var(--light)}
.priority-needs{grid-template-columns:1fr;gap:36px}
.priority-needs .need-group ul,.other-services ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:0}
.card-rate{display:block;border-top:1px solid var(--rule);padding-top:12px;margin-top:14px;color:var(--wine);font-weight:600;line-height:1.4}
.other-services{margin-top:40px;padding-top:28px;border-top:1px solid var(--rule)}
.other-services h3{margin-bottom:20px}
.service-directory-heading{margin-bottom:28px}
.companion-services{background:var(--light)}
.companion-services p{max-width:70ch;margin-block:18px}
.companion-links{display:flex;gap:12px;flex-wrap:wrap}
.companion-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;padding:12px 18px;background:var(--paper);border:1px solid var(--rule);border-radius:5px;color:var(--wine);font-weight:600;text-decoration:none}
.quote-extras summary{cursor:pointer;min-height:48px;padding-block:12px;font-weight:600;color:var(--wine)}
.quote-extras fieldset{border:0;padding:0;margin:12px 0}
.quote-extras legend{font-weight:600;margin-bottom:8px}
.quoteform .quote-extras label{display:flex;align-items:center;gap:12px;min-height:48px;font-weight:400}
.quote-extras input{width:20px;height:20px;accent-color:var(--wine);flex:none}
.priority-footer{max-width:260px}
@media(max-width:979px){.mobilemenu .nav{max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain}.mobilemenu .nav a{font-size:16px;line-height:1.35}}
@media(max-width:760px){
  .hero-services{gap:8px;margin-block:20px}
  .hero-services a{font-size:16px;min-height:56px;padding:10px}
  .priority-needs .need-group ul,.other-services ul{grid-template-columns:1fr;gap:18px}
  .companion-links{display:grid;grid-template-columns:1fr}
  .other-services{margin-top:32px;padding-top:24px}
  .priority-footer{max-width:none}
}

/* Compact contact forms: visible labels, native controls, no fixed-height clipping. */
.enquiry-strip>.wrap{position:relative}
.enquiry-strip{padding-block:12px}
.enquiry-strip .enquiry-close{position:absolute;right:clamp(22px,5.2vw,84px);top:-6px;z-index:1;min-width:44px;width:44px;min-height:44px;padding:6px}
.contact-form{min-width:0;scroll-margin-block:16px}
.contact-form .form-title{font-size:26px;margin:0 0 12px;padding-right:54px;line-height:1.2}
.contact-form .enquiry-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.contact-form .enquiry-fields label{grid-column:auto;min-width:0;gap:4px;font-size:16px;line-height:1.25}
.contact-form .enquiry-fields .enquiry-message{grid-column:1/-1}
.contact-form .enquiry-fields input{min-height:44px;height:44px;padding:8px;font-size:16px;line-height:1.35}
.contact-form .enquiry-fields textarea{height:64px;min-height:64px;padding:8px 10px;font-size:16px;line-height:1.4;resize:vertical}
.contact-form input[type=date]{display:block;min-inline-size:0;-webkit-appearance:none;appearance:none}
.contact-form input[type=date]::-webkit-date-and-time-value{text-align:left}
.form-mode{margin:0;font-size:16px;line-height:1.35;color:var(--muted)}
.enquiry-status:not(:empty){margin-top:6px;color:var(--wine);font-weight:600;font-size:16px;line-height:1.35}
.enquiry-status:empty{display:none}
.contact-form [data-enquiry-verifier]{max-width:400px;line-height:0}
.contact-form .enquiry-bottom{display:flex;align-items:center;gap:10px;margin-top:10px}
.contact-form .enquiry-bottom .button{min-height:48px;margin:0;font-size:17px;flex-shrink:0}
.quote-intro{padding-block:14px 18px}
.quote-intro h1{font-size:clamp(32px,4vw,52px);line-height:1.06;letter-spacing:-.04em}
.quote-intro p{margin-top:10px;max-width:55ch;font-size:17px;line-height:1.4;color:var(--muted)}
.quote-panel{padding-bottom:32px}
.quote-panel .quotegrid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:start}
.quote-panel .form-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.quote-panel .contactbox{padding:20px}
.quote-panel .contactbox h2{font-size:30px}
@media(max-width:760px){
  .enquiry-strip>.wrap,.quote-intro,.quote-panel>.wrap{padding-inline:16px}
  .enquiry-strip .enquiry-close{right:16px}
  .contact-form .form-title{font-size:24px}
  .contact-form .enquiry-bottom{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .contact-form .enquiry-bottom .button{width:100%;min-height:48px}
  .quote-panel .quotegrid{grid-template-columns:minmax(0,1fr);gap:22px}
  .quote-intro{padding-block:10px 14px}
  .quote-intro p{font-size:16px;margin-top:8px}
  body:has(.quote-panel) .mobile-actions{display:none}
  body:has(.quote-panel) .crumb{display:none}
}
@media(max-width:360px){.mast .brand{min-width:0;flex-shrink:1}.mast .brand span{min-width:0;white-space:normal}.mast>.enquiry-toggle,.mast .mobilemenu{flex-shrink:0}}
.about-story .pair>div{min-width:0;max-width:65ch}
.about-story .pair>div>*+*{margin-top:16px}
.about-story .quicklinks a{overflow-wrap:anywhere;min-width:0}
.checklist-intro{max-width:820px;margin-bottom:32px}
.checklist-intro h2{max-width:25ch;font-size:clamp(34px,3.5vw,50px);line-height:1.12}
.checklist-intro p{max-width:72ch;margin-top:16px;font-size:19px;line-height:1.5;color:var(--muted)}
.checklist-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:32px;align-items:start}
.checklist-rooms{min-width:0;background:var(--paper);border:1px solid var(--rule);border-radius:12px}
.checklist-rooms details+details{border-top:1px solid var(--rule)}
.checklist-rooms summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;padding:19px 22px;min-height:64px;font-size:18px;line-height:1.4;font-weight:600;color:var(--wine);border-radius:10px}
.checklist-rooms summary::-webkit-details-marker{display:none}
.checklist-rooms summary::marker{content:''}
.checklist-rooms summary::after{content:'+';flex:none;font-size:25px;line-height:1;font-weight:400}
.checklist-rooms details[open]>summary::after{content:'−'}
.checklist-rooms summary:hover{background:var(--light)}
.checklist-rooms ul{padding:0 24px 14px 44px;margin:0;font-size:17px;line-height:1.6}
.checklist-rooms li{padding-left:3px;margin:0 0 12px}
.checklist-rooms li::marker{color:var(--wine)}
.checklist-scope{min-width:0;border:1px solid var(--rule);border-radius:12px;padding:24px;background:var(--paper)}
.checklist-scope h3{font-size:28px;line-height:1.2;letter-spacing:-.03em}
.checklist-scope p{margin:14px 0 0;font-size:17px;line-height:1.6;color:var(--muted)}
.checklist-scope section+section{margin-top:24px;padding-top:24px;border-top:1px solid var(--rule)}
.checklist-scope ul{padding-left:20px;margin:16px 0;font-size:17px;line-height:1.6}
.checklist-scope li+li{margin-top:10px}
.checklist-scope .textlink{display:inline-block;padding-block:8px;font-size:16px}
@media(max-width:979px){.checklist-layout{grid-template-columns:1fr;gap:24px}.checklist-intro{margin-bottom:24px}}
@media(max-width:600px){.checklist-intro p{font-size:18px}.checklist-rooms summary{padding:16px;gap:12px}.checklist-rooms ul{padding:0 18px 8px 36px}.checklist-scope{padding:20px}.checklist-scope h3{font-size:26px}}

.planner-slot > .contact-form{padding:clamp(16px,3vw,32px);background:#eee6de;border:1px solid #d9c9be;border-radius:24px 5px 5px 5px}
.planner-slot > .contact-form .form-title{padding-right:0}

.topic-icon{flex:none;display:inline-block;vertical-align:middle;color:var(--wine)}
.hero-services a{gap:9px}
.card-name{align-items:center}
.card-name h4{flex:1;margin:0;font-family:inherit;font-weight:700}
.companion-links a{gap:10px}
.companion-links a>span:last-child{margin-right:auto}
.checklist-rooms .room-label{display:inline-flex;align-items:center;gap:12px;min-width:0}
@media(max-width:420px){.hero-services a{gap:6px;padding-inline:8px}.hero-services .topic-icon{width:21px;height:21px}}
@media(max-width:350px){.hero-services{grid-template-columns:1fr}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.carpet-counts{border:0;padding:0;margin:0 0 14px}
.carpet-counts legend{font-size:16px;margin-bottom:8px}
.carpet-counts .counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end}
.carpet-counts label{display:grid;gap:4px;font-size:16px;font-weight:600;min-width:0}
.carpet-counts input{width:100%;min-width:0;height:44px;padding:8px;font-size:16px}
.booking-dialog{position:fixed;width:min(520px,calc(100vw - 24px));max-width:none;max-height:calc(var(--booking-height,100dvh) - 24px);margin:auto;padding:24px;border:1px solid var(--rule);border-radius:16px;background:var(--paper);color:var(--ink);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 16px 64px #0004}
.booking-dialog::backdrop{background:rgb(25 20 23 / .6)}
.booking-close{position:absolute;top:10px;right:10px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink);font:30px/1 Arial,sans-serif;cursor:pointer}
.booking-close:hover{background:var(--light)}
.booking-dialog .contact-form .form-title{padding-right:40px}
.booking-dialog .enquiry-bottom{display:grid;grid-template-columns:1fr;gap:10px}
.booking-dialog .enquiry-bottom .button{width:100%}
html:has(.booking-dialog[open]){overflow:hidden}
@media(max-width:600px){.booking-dialog{top:calc(var(--booking-top,0px) + 12px);bottom:auto;margin:0 auto;padding:18px 16px}.booking-dialog .enquiry-fields{gap:8px 10px}}

/* The desktop homepage pairs its introduction with one compact quote card. */
.hero-enquiry:empty{display:none}
/* Header enquiries open as a compact card, with the same five fields at every size. */
header:has(>.enquiry-strip){position:relative}
header>.enquiry-strip{width:calc(100% - 32px);max-width:510px;margin:16px auto;padding:24px;border:1px solid #d9c9be;border-radius:14px;background:var(--light)}
header>.enquiry-strip>.wrap{padding:0}
header>.enquiry-strip .enquiry-close{right:-8px;top:-8px;border:0;background:transparent;color:var(--wine);border-radius:6px}
header>.enquiry-strip .enquiry-close:hover{background:#e2d5cd}
header>.enquiry-strip .form-title{font-size:30px;margin-bottom:20px}
header>.enquiry-strip .enquiry-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
header>.enquiry-strip .enquiry-fields input{height:48px;padding:10px}
header>.enquiry-strip .enquiry-fields .enquiry-message{grid-column:1/-1}
header>.enquiry-strip .enquiry-fields textarea{height:76px;min-height:76px;padding:10px}
header>.enquiry-strip .enquiry-bottom{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:16px}
header>.enquiry-strip .enquiry-bottom .button{width:100%;min-height:52px}
@media(min-width:980px){
  header>.enquiry-strip{position:absolute;z-index:20;top:calc(100% + 12px);right:max(24px,calc((100vw - 1290px)/2));margin:0;max-height:calc(100dvh - 116px);overflow:auto;box-shadow:0 12px 36px #38232c24}
}
@media(max-width:600px){
  header>.enquiry-strip{padding:18px 16px;margin-block:12px}
  header>.enquiry-strip .form-title{font-size:27px;margin-bottom:16px}
  header>.enquiry-strip .enquiry-fields{gap:10px 12px}
  header>.enquiry-strip .enquiry-fields input{height:44px;padding:8px}
  header>.enquiry-strip .enquiry-fields textarea{height:64px;min-height:64px}
  header>.enquiry-strip .enquiry-bottom{gap:10px;margin-top:12px}
}
@media(min-width:980px){
  .home-hero:has(.hero-enquiry>.enquiry-strip){grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);gap:clamp(32px,5vw,72px);align-items:start;padding-block:48px 56px}
  .home-hero:has(.hero-enquiry>.enquiry-strip)>.heroimg{display:none}
  .home-hero:has(.hero-enquiry>.enquiry-strip) h1{font-size:clamp(52px,5vw,72px);line-height:1.04;letter-spacing:-.05em}
  .home-hero:has(.hero-enquiry>.enquiry-strip)>div>p{font-size:19px;line-height:1.5;margin-block:20px}
  .hero-enquiry{min-width:0}
  .hero-enquiry .enquiry-strip{padding:28px;border:1px solid #d9c9be;border-radius:14px;background:#eee6de}
  .hero-enquiry .enquiry-strip>.wrap{padding:0}
  .hero-enquiry .enquiry-close{display:none}
  .hero-enquiry .contact-form .form-title{font-size:30px;padding:0;margin-bottom:20px}
  .hero-enquiry .contact-form .enquiry-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .hero-enquiry .contact-form .enquiry-fields .enquiry-message{grid-column:1/-1}
  .hero-enquiry .contact-form .enquiry-fields input{height:48px;padding:10px}
  .hero-enquiry .contact-form .enquiry-fields textarea{height:86px;min-height:86px;padding:10px}
  .hero-enquiry .contact-form .enquiry-bottom{display:grid;grid-template-columns:1fr;gap:14px;margin-top:16px}
  .hero-enquiry .contact-form .enquiry-bottom .button{width:100%;min-height:52px}
  .hero-enquiry .form-mode{font-size:16px;line-height:1.35;margin:0;max-width:none}
  .hero-enquiry .enquiry-status{font-size:16px;line-height:1.35;margin:6px 0 0;max-width:none}
}

/* The upholstery hub stays visible independently of local-page filtering. */
.coverage-note{margin-top:38px}.coverage-note h3{margin-bottom:14px}.coverage-note p{max-width:65ch;margin-bottom:16px}

.company-details{margin-top:32px;padding-top:22px;border-top:1px solid #ffffff40;font-size:17px}.company-details p+p,.company-record p+p{margin-top:8px}.company-record{padding-block:18px 30px}


/* Retained local pages: useful planning first, optional access detail. */
.local-service-brief{max-width:76ch;margin-block:24px}.local-service-brief h3{margin-bottom:12px}.local-access{max-width:76ch;border-block:1px solid var(--rule);margin-block:24px;padding-block:8px}.local-access>summary{min-height:48px;display:flex;align-items:center;cursor:pointer;font-weight:600}.local-access>summary::after{content:"+";margin-left:auto;font-size:24px}.local-access[open]>summary::after{content:"−"}.local-access>summary:focus-visible{outline:3px solid currentColor;outline-offset:4px}

/* Audit refinement: readable prices first, quieter navigation and compact mobile choices. */
.mobile-actions[hidden]{display:none!important}
.form-privacy{margin:12px 0 0;font-size:16px;line-height:1.4;color:var(--muted);max-width:50ch}
.contact-form .form-privacy a{color:var(--wine)}
.rate-qualification{display:block;margin-top:8px;font-size:17px;font-weight:400;color:var(--muted)}
.quote-and-rates{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(28px,4vw,60px)}
.quote-and-rates .inline-prices{padding:0}
.quote-and-rates .inline-prices>.wrap{gap:20px}
.price-conditions{font-size:17px;line-height:1.55;color:var(--muted);max-width:65ch}
.planner-slot>.contact-form{border-radius:14px}
.service-category-links{display:flex;gap:12px 24px;flex-wrap:wrap;margin:0 0 26px}
.service-category-links a{display:flex;align-items:center;min-height:44px;color:var(--wine);font-weight:600}
.need-group,.other-services{scroll-margin-top:20px}
.section-links{gap:12px 30px}
.section-links a{border:0;border-radius:0;padding:8px 0;min-height:48px;text-decoration:underline;text-underline-offset:5px}
.service-proof{display:flex;flex-wrap:wrap;gap:12px 28px;padding-block:22px;border-top:1px solid var(--rule);font-size:17px}
.service-proof a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:760px){
 .quote-and-rates{grid-template-columns:minmax(0,1fr);gap:26px;padding-block:28px 36px}
 .quote-and-rates .inline-prices{border:0;padding:0}
 .quote-and-rates .inline-prices h2{font-size:32px;line-height:1.12;max-width:24ch}
 .section-links{display:flex;justify-content:space-between;gap:12px;padding-block:4px}
 .section-links a{font-size:16px;text-align:left;justify-content:flex-start;padding:8px 0}
 .topic-hero .actions{grid-template-columns:1.45fr 1fr}
 .topic-photo{max-height:180px}
 .home-hero>.heroimg{display:none}
 .service-category-links{gap:8px 16px;margin-bottom:20px}
 .service-category-links a{font-size:16px}
 .priority-needs{gap:28px}
 .priority-needs .need-group ul,.other-services ul{gap:12px}
 .photo-card{display:grid;grid-template-columns:112px minmax(0,1fr);height:auto;align-items:stretch}
 .photo-card img{width:112px;height:100%;min-height:152px;max-height:none;aspect-ratio:auto;object-fit:cover}
 .photo-card .card-copy{padding:14px 12px;min-width:0}
 .card-name{gap:0}.card-name>.topic-icon{display:none}
 .card-name h4{font-size:18px;line-height:1.3}
 .choice-detail{font-size:16px;line-height:1.4;margin-top:7px;max-width:none}
 .card-rate{font-size:16px;line-height:1.4;margin-top:10px;padding-top:10px}
 .need-title h3,.other-services>h3{font-size:28px;line-height:1.15}
 .services-hero{padding-bottom:20px}
}
@media(max-width:359px){
 .photo-card{grid-template-columns:92px minmax(0,1fr)}
 .photo-card img{width:92px}
 .photo-card .card-copy{padding:12px 10px}
 .topic-hero .actions .button{padding-inline:10px;font-size:16px}
}

.provider-note{margin-top:28px;padding-top:20px;border-top:1px solid var(--rule);max-width:80ch;font-size:17px;color:var(--muted)}

.hero-enquiry .contact-form .form-privacy{font-size:16px;line-height:1.4;margin:12px 0 0;max-width:none}

.enquiry-trap{display:none!important}
