.cost-page{--cost-dark:#19372d;--cost-gold:#ae7c27;--cost-lime:#dce9bc}
.cost-page [hidden]{display:none!important}
.cost-wrap{max-width:1320px;margin:auto;padding:0 var(--gutter)}
.cost-breadcrumb{font-size:.875rem;display:flex;gap:12px;padding:25px 0 10px;color:var(--muted);flex-wrap:wrap}
.cost-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center;padding:24px 0 42px}
.cost-intro h1{font-size:clamp(2.5rem,5.6vw,5.5rem);line-height:1.04;letter-spacing:-.045em;margin:12px 0 20px;max-width:720px}
.cost-intro p:not(.eyebrow){font-size:1.1rem;max-width:440px;color:var(--muted)}
.cost-intro .button{margin-top:24px;display:inline-flex}
.cost-photo{position:relative;margin:0;overflow:hidden;aspect-ratio:1.5;background:#19372d}
.cost-photo img{height:100%;width:100%;object-fit:cover}
.cost-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:32px 18px 14px;background:linear-gradient(transparent,#000b);color:white;font-size:.875rem}
.cost-services{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-bottom:64px}
.cost-service{padding:24px;display:flex;flex-direction:column;gap:12px;border-right:1px solid var(--line);min-width:0}
.cost-service:last-child{border:0}.cost-service-number{font-size:.875rem;letter-spacing:.1em;color:var(--muted)}
.cost-service h2{font:1.25rem/1.25 var(--sans);letter-spacing:-.02em}
.cost-service p{font-size:.9375rem;color:var(--muted);line-height:1.5}
.cost-service a{font-size:.875rem;text-decoration:underline;margin-top:auto;padding-top:4px}
.cost-icon{width:32px;height:32px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cost-tool{scroll-margin-top:160px;padding:35px;background:#f1f4f1;border:1px solid var(--line);margin-bottom:64px}
.cost-tool-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}
.cost-tool-heading h2{font-size:clamp(1.8rem,3vw,2.75rem);line-height:1.15;margin-top:5px}
.cost-tag{display:inline-flex;border:1px solid #b6c4b9;border-radius:30px;padding:6px 13px;font-size:.875rem;white-space:nowrap}
.cost-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);gap:28px;align-items:start}
.cost-form-card{background:white;padding:30px;border:1px solid var(--line);min-width:0}
.cost-progress{display:flex;list-style:none;margin:0 0 30px;padding:0;gap:12px}
.cost-progress li{flex:1;border-top:3px solid #d9e1d9;padding-top:10px;font-size:.875rem;color:#637169}
.cost-progress li[aria-current="step"]{border-color:var(--ink);color:var(--ink);font-weight:bold}
.cost-progress li.done{border-color:#8ea474}
.cost-step h3,.cost-result h3{font:1.6rem/1.2 var(--serif);letter-spacing:-.025em;margin:0 0 10px}
.cost-step>p{color:var(--muted);margin-bottom:22px;font-size:.9375rem}
.cost-step label,.cost-step legend{display:block;font-weight:bold;font-size:.9375rem;margin-bottom:8px}
.cost-step input:not([type="radio"]):not([type="checkbox"]),.cost-step select{width:100%;min-height:50px;border:1px solid #aebcb1;background:white;padding:10px 12px;border-radius:0;color:var(--ink);font:1rem var(--sans)}
.cost-postcode-row{display:flex;gap:10px}.cost-postcode-row input{min-width:0;text-transform:uppercase}.cost-postcode-row button{white-space:nowrap}
.cost-btn{border:1px solid var(--ink);background:var(--ink);color:white;padding:11px 18px;min-height:48px;font:600 .9375rem/1.35 var(--sans);display:inline-flex;justify-content:center;align-items:center;gap:8px;text-align:center}
.cost-btn:hover{background:#2d5643;text-decoration:none}.cost-btn:disabled{opacity:.6;cursor:wait}.cost-btn.secondary{background:transparent;color:var(--ink)}
.cost-text-button{border:0;background:none;text-decoration:underline;font-size:.875rem;padding:12px 0;color:var(--muted)}
.cost-status{font-size:.9375rem;margin-top:14px!important;color:var(--ink)!important}
.cost-match{border-left:3px solid #557445;padding:13px 17px;background:#f1f4f1;margin:16px 0}
.cost-match strong,.cost-match span{display:block}.cost-match span{font-size:.875rem;color:var(--muted)}
.cost-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 24px}
.cost-choice{position:relative;margin:0!important;border:1px solid #c8d2c9;padding:16px 12px;display:flex!important;align-items:center;gap:10px;line-height:1.3;cursor:pointer}
.cost-choice:has(input:checked){border-color:var(--ink);background:#edf3e8;box-shadow:inset 0 0 0 1px var(--ink)}
.cost-choice input{accent-color:var(--ink);width:18px;height:18px;flex-shrink:0}
.cost-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}
.cost-step fieldset{padding:0;border:0;margin:0}.cost-step fieldset legend{margin:16px 0 0}
.cost-check{display:flex!important;gap:11px;align-items:flex-start;font-weight:normal!important;line-height:1.5;margin:20px 0!important}
.cost-check input{width:19px;height:19px;accent-color:var(--ink);margin-top:3px;flex-shrink:0}
.cost-step-actions{display:flex;gap:12px;justify-content:space-between;margin-top:26px}
.cost-side{padding:28px;background:var(--cost-dark);color:white;min-width:0}
.cost-side .eyebrow{color:#c6d5b8}.cost-side h3{font:1.85rem/1.2 var(--serif);margin:8px 0 30px}
.cost-side-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.cost-side-list li{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:19px 0;border-top:1px solid #ffffff30}
.cost-side-list b{font-size:1.7rem;line-height:1.2;color:var(--cost-lime);font-weight:normal}
.cost-side-list strong{display:block;font-size:1rem}.cost-side-list span{display:block;font-size:.875rem;color:#d0d9d1;line-height:1.5;margin-top:4px}
.cost-small{font-size:.875rem!important;line-height:1.6;color:var(--muted)}
.cost-side .cost-small{color:#d0d9d1;margin-top:24px}
.cost-options{display:grid;gap:10px;margin:20px 0}.cost-option{border:1px solid #bbc9bc;background:white;text-align:left;padding:18px;color:var(--ink);width:100%}
.cost-option[aria-pressed="true"]{background:#edf3e8;box-shadow:inset 0 0 0 1px var(--ink);border-color:var(--ink)}
.cost-option-top{display:flex;gap:15px;justify-content:space-between;font-weight:bold;align-items:baseline}.cost-option strong{font-size:1.35rem;white-space:nowrap}.cost-option small{display:block;font-size:.875rem;line-height:1.4;margin-top:7px;color:var(--muted)}
.cost-result{margin-top:26px;padding-top:26px;border-top:1px solid var(--line)}
.cost-result label{font-size:.875rem}.cost-total-label{font-size:.875rem;color:var(--muted);display:block}.cost-total{display:block;font:clamp(2rem,3.5vw,3rem)/1.2 var(--serif);letter-spacing:-.025em;margin:7px 0 10px}
.cost-bars{display:flex;height:13px;gap:3px;margin:20px 0;border-radius:2px;overflow:hidden}.cost-bars span:nth-child(1){background:#19372d}.cost-bars span:nth-child(2){background:#91a97b}.cost-bars span:nth-child(3){background:#c5963d}
.cost-lines{margin:20px 0}.cost-lines>div{display:flex;gap:15px;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);line-height:1.4;font-size:.9375rem}.cost-lines dd{margin:0;font-weight:bold;text-align:right;white-space:nowrap}.cost-lines dt small{display:block;font-size:.8125rem;color:var(--muted);margin-top:3px}
.cost-result details{font-size:.875rem;margin:18px 0}.cost-result summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:8px 0}.cost-result details p{margin-top:10px;color:var(--muted)}
.cost-result details ul{padding-left:20px}.cost-result details a{text-decoration:underline}
.cost-unpriced{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.cost-unpriced>div{background:#f1f4f1;padding:14px;font-size:.875rem;line-height:1.4}.cost-unpriced strong{display:block;margin-top:7px;font-size:1rem}
.cost-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.cost-result-actions .cost-btn:first-child{grid-column:1/-1}
.cost-review{padding:20px;background:#f1f4f1;border-left:3px solid #ae7c27;margin:20px 0}
.cost-services-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 56px;padding:28px 0;border-top:1px solid var(--line)}
.cost-services-cta h2{font-size:2rem;line-height:1.2}.cost-services-cta p{color:var(--muted);margin-top:8px}
.cost-entry{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:32px var(--gutter);padding:24px;border:1px solid var(--line);background:var(--soft)}
.cost-entry h2{font-size:1.65rem;line-height:1.2}.cost-entry p{font-size:.9375rem;margin-top:7px;color:var(--muted)}
@media(max-width:1000px){.cost-layout{grid-template-columns:minmax(0,1fr) minmax(240px,.65fr)}.cost-tool{padding:24px}.cost-form-card{padding:22px}.cost-services{grid-template-columns:repeat(2,1fr)}.cost-service:nth-child(2){border-right:0}.cost-service:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:760px){.cost-intro{grid-template-columns:1fr;gap:25px;padding-bottom:26px}.cost-intro h1{font-size:2.7rem;max-width:440px}.cost-photo{aspect-ratio:2}.cost-services{margin-bottom:35px}.cost-service{padding:19px}.cost-service h2{font-size:1.1rem}.cost-layout{grid-template-columns:1fr}.cost-side{display:none}.cost-tool{padding:18px;margin-left:calc(var(--gutter)*-1);margin-right:calc(var(--gutter)*-1);border-left:0;border-right:0;margin-bottom:36px}.cost-tool-heading{align-items:start;flex-direction:column;gap:12px}.cost-tag{font-size:.8125rem}.cost-form-card{padding:20px}.cost-services-cta,.cost-entry{align-items:start;flex-direction:column}.cost-breadcrumb{font-size:.8125rem}.cost-progress{gap:10px}.cost-progress li{font-size:.8125rem}.cost-fields{grid-template-columns:1fr}.cost-result-actions{grid-template-columns:1fr}.cost-result-actions .cost-btn:first-child{grid-column:auto}.cost-total{font-size:2.25rem}}
@media(max-width:370px){.cost-postcode-row{flex-direction:column}.cost-choice-grid,.cost-unpriced{grid-template-columns:1fr}.cost-option-top{flex-direction:column;gap:6px}.cost-services{grid-template-columns:1fr}.cost-service{border-right:0;border-bottom:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){.cost-page{scroll-behavior:auto}}

.cost-professional{background:#edf3e8;padding:18px;margin:20px 0}.cost-professional>span{display:block;font-size:.9375rem}.cost-professional>strong{display:block;font:1.7rem/1.3 var(--serif);margin:7px 0}.cost-professional p{margin:0}.cost-lines dt{min-width:0}.cost-option-top>span{min-width:0}

.cost-possible{margin:24px 0;padding:20px;background:#f7f6f0;border:1px solid #dfdfd3}.cost-possible h4{font-size:1.05rem;line-height:1.4;margin:0 0 12px}.cost-possible ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;padding-left:18px;margin:0 0 14px;font-size:.875rem;line-height:1.5}.cost-possible li::marker{color:#817547}.cost-possible p{margin:0}@media(max-width:760px){.cost-possible ul{grid-template-columns:1fr}}
