.service-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.service-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.service-card>img{width:100%;height:280px;object-fit:cover}.service-card>div{padding:30px;flex:1}.service-card h3{font-size:28px;margin:12px 0}.service-card p{font-size:15px}.service-card .button{margin-top:12px}.service-detail-link{display:block;margin-top:16px;font-size:13px}.service-introduction{padding-bottom:20px}.cb-intro .button{margin-top:24px}.cb-page-gallery{padding-top:20px}.cb-comparisons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.cb-comparison{display:grid;grid-template-rows:80px auto 1fr;gap:16px;margin:0;min-width:0;--reveal:50%}.cb-comparison>figcaption{margin:0}.cb-comparison-title{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;margin:0}.cb-comparison-title>span{order:-1}.cb-comparison-title h3{font-size:22px;margin:0}.cb-comparison-title>span{font-size:12px}.cb-compare-images{position:relative;border-radius:10px;overflow:hidden}.cb-compare-images>img{display:block;width:100%;height:auto}.cb-label-before,.cb-label-after{position:absolute;top:16px;padding:8px 14px;color:white;background:#153d31;font-size:12px;font-weight:700;border-radius:4px;pointer-events:none}.cb-label-before{left:16px}.cb-label-after{right:16px}.cb-comparison:not(.enhanced) .cb-label-after{top:calc(50% + 16px)}.enhanced .cb-compare-images{aspect-ratio:16/10;touch-action:pan-y;cursor:ew-resize}.enhanced .cb-compare-images>img{position:absolute;inset:0;height:100%;object-fit:cover;user-select:none;pointer-events:none}.enhanced .cb-after{clip-path:inset(0 0 0 var(--reveal))}.cb-divider{display:none}.enhanced .cb-divider{display:block;position:absolute;inset:0 auto 0 50%;width:44px;transform:translateX(-50%);cursor:ew-resize;outline:none}.cb-divider:before{content:"";position:absolute;inset:0 auto 0 50%;width:3px;transform:translateX(-50%);background:white}.cb-divider:focus-visible:after{outline:3px solid #153d31;outline-offset:3px;box-shadow:0 0 0 7px white}.cb-divider:after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;background:#153d31;color:white;border:2px solid white;border-radius:50%;font-size:22px}.cb-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.cb-steps .step-number{display:block;margin-bottom:20px}.cb-disclosure{margin:36px auto 0;max-width:850px;line-height:1.8}.cb-quote-price{font-size:34px}.service-request [hidden]{display:none!important}.service-request .service-choices{margin-bottom:12px}.service-request .package-option{height:100%;margin:0;align-items:flex-start}.service-request .package-option:has(input:checked){border-color:var(--forest);background:#edf2e9}.service-request .package-options{display:grid;gap:10px}.service-request .package-option small{line-height:1.7}.service-request .service-sections{align-items:start}.service-request .service-sections.single-service{grid-template-columns:1fr}.service-request .service-sections>fieldset{min-width:0;border:1px solid var(--line);border-radius:8px;padding:24px}.service-request .service-sections>fieldset>legend{padding:0 10px}.preference-group{margin:24px 0!important}.service-request .preference-group legend{font-size:14px}.preference-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.preference-options label{display:flex;gap:8px;align-items:flex-start;font-size:13px}.preference-options input{margin-top:4px;flex:none}.service-upload{margin:24px 0}.service-upload>[type=file]{max-width:100%;margin-top:12px;font-size:12px}.service-upload h3{font-size:20px}.service-photo small{overflow-wrap:anywhere;display:block;line-height:1.5}.service-photo .photo-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.service-photo .photo-actions button{position:static;width:auto;height:auto;min-width:32px;min-height:32px;padding:4px 6px;background:#153d31;color:#fff;border-radius:3px;font-size:12px}.service-photo .photo-actions button:disabled{opacity:.45}.summary-total{border-top:1px solid var(--line);padding-top:14px;font-weight:750}.service-request .consent{font-size:13px;line-height:1.7}.service-request .upload-previews{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}.service-request .form-status{overflow-wrap:anywhere}
@media(max-width:900px){.service-request .order-layout{grid-template-columns:1fr}.service-card>img{height:220px}.service-card>div{padding:24px}.service-card .button{font-size:12px}}
@media(max-width:600px){.service-choices,.cb-steps{grid-template-columns:1fr}.service-card>img{height:240px}.service-card h3{font-size:25px}.cb-comparison-title h3{font-size:18px}.cb-label-before,.cb-label-after{font-size:10px;padding:6px 8px;top:10px}.cb-label-before{left:10px}.cb-label-after{right:10px}.service-request .service-sections>fieldset{padding:16px}.preference-options{grid-template-columns:1fr}.service-request .package-option b{margin-left:30px}.service-request .package-option{height:auto}.service-request .consent{font-size:12px}}

.character-limit{margin:8px 0 0;font-size:12px}.preference-group .field{margin-top:20px}.gm-form textarea{resize:vertical;min-height:150px}
.gm-payment-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:start;max-width:1100px;margin:auto}.gm-payment-panel{padding:36px;border:1px solid #dfe9e4;border-radius:18px;background:#fff;box-shadow:0 8px 24px #123d3008}.gm-payment-panel h1{font-size:clamp(30px,4vw,46px);line-height:1.15;margin:12px 0 20px}.gm-payment-panel h2{font-size:26px;margin:0 0 22px}.gm-payment-panel p{line-height:1.7}.gm-payment-summary{margin:28px 0;padding:20px;background:#f0f7f3;border-radius:12px}.gm-payment-summary>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0}.gm-payment-summary dt{color:#56627b}.gm-payment-summary dd{margin:0;text-align:right;font-weight:700}.gm-payment-summary .gm-payment-total{border-top:1px solid #d5e3da;margin-top:10px;padding-top:18px;font-size:23px}.gm-payment-note{font-size:13px;color:#56627b;margin:18px 0 0}.gm-payment-next{background:#f3f8f5}.gm-payment-next ol{padding-left:22px}.gm-payment-next li{padding-left:8px;margin:0 0 20px}.gm-payment-next li p{margin:6px 0 0}.gm-payment-next>a{font-weight:700;text-decoration:underline}@media(max-width:800px){.gm-payment-layout{grid-template-columns:1fr}.gm-payment-panel{padding:24px}.gm-payment-summary{padding:16px}.gm-payment-summary>div{font-size:14px}}
.image-process .process-art{min-height:300px}.image-process .process-package strong{font-size:11px}.image-process .process-package small{font-size:10px}.image-process .process-package b{font-size:13px}
.image-process{--process-ink:#071830;--process-green:#00664c;margin:0 0 56px;padding:20px 0 12px;color:var(--process-ink)}
.image-process:has(.process-details) .process-heading{margin-bottom:28px}
.process-details>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border:1px solid #dbe6df;border-radius:16px;background:#f2f8f5;cursor:pointer;list-style:none;color:var(--process-ink)}
.process-details>summary::-webkit-details-marker{display:none}
.process-details>summary strong{display:block;font-size:21px;color:var(--process-green)}
.process-details>summary small{display:block;margin-top:4px;font-size:15px;line-height:1.5;color:#56627b}
.process-details>summary:hover{background:#e8f3ed}
.process-details>summary:focus-visible{outline:3px solid var(--process-green);outline-offset:4px}
.process-toggle{flex:none;width:12px;height:12px;border-right:2px solid var(--process-green);border-bottom:2px solid var(--process-green);transform:rotate(45deg);margin:0 4px 6px}
.process-details[open] .process-toggle{transform:rotate(225deg);margin-top:8px}
.process-details-content{padding-top:62px}
.process-heading{text-align:center;margin:0 auto 72px}.process-heading .process-title{font-size:clamp(38px,5.3vw,78px);font-weight:800;line-height:1.1;letter-spacing:-.055em;margin:0 0 18px;color:var(--process-ink)}.process-title span{color:var(--process-green)}.process-heading>p{font-size:clamp(17px,1.8vw,26px);line-height:1.5;color:#56627b;margin:0 auto;max-width:1000px}
.image-process-grid{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;padding:0;margin:0}.image-process-grid>li{position:relative;min-width:0;text-align:center;padding:48px 14px 28px;border:1px solid #dbe6df;border-radius:32px;background:linear-gradient(150deg,#fff 15%,#f2f8f5 100%);box-shadow:0 8px 20px #123d3010;display:flex;flex-direction:column;align-items:center}
.process-number{position:absolute;top:-34px;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:72px;height:72px;border:6px solid #fff;border-radius:50%;background:linear-gradient(145deg,#07846a,#004b38);box-shadow:0 2px 8px #004b3820;color:white;font-size:38px;font-weight:800;line-height:1;z-index:2}
.process-art{width:100%;height:254px;display:flex;align-items:center;justify-content:center;margin:6px 0 20px}.image-process-grid h3{font-size:clamp(20px,1.6vw,25px);line-height:1.25;letter-spacing:-.04em;font-weight:800;margin:0 0 12px;color:var(--process-ink)}.image-process-grid p{font-size:16px;line-height:1.6;margin:0;color:#56627b}.process-review-link{font-size:13px;font-weight:750;color:#00664c;text-decoration:underline;text-underline-offset:4px;margin-top:14px}.process-arrow{position:absolute;right:-29px;top:190px;z-index:3;background:#f8faf7;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;color:#007657;filter:drop-shadow(0 2px 2px #123d3020)}.process-arrow svg{width:35px;height:35px;stroke-width:4}
.process-photo-stack{position:relative;width:100%;height:225px}.process-photo-stack img{position:absolute;object-fit:cover;width:94%;height:178px;border:7px solid white;border-bottom-width:19px;border-radius:6px;box-shadow:0 5px 9px #092c3230;left:3%;top:27px}.process-photo-stack .stack-back{transform:rotate(-14deg) translateY(-16px)}.process-photo-stack .stack-middle{transform:rotate(9deg) translateY(-4px)}.process-photo-stack .stack-front{transform:rotate(-5deg) translateY(14px)}.process-photo-stack.is-final .stack-front{transform:rotate(-9deg) translateY(7px)}.stack-badge{position:absolute;bottom:-4px;right:-5px;width:64px;height:64px;background:linear-gradient(135deg,#07846a,#004b38);border:5px solid white;border-radius:50%;display:grid;place-items:center;color:white;box-shadow:0 3px 8px #123d3030}.stack-badge svg{width:35px;height:35px;stroke-width:2.5}
.process-package-list{width:100%;display:grid;gap:8px}.process-package{display:grid;grid-template-columns:15px 1fr auto;gap:6px;padding:10px 7px;border:1px solid #d8dde5;border-radius:10px;background:white;text-align:left}.process-package.is-selected{border:1.5px solid #007657;background:#f0f9f4}.package-dot{width:14px;height:14px;border:2px solid #9ba2ac;border-radius:50%;margin-top:2px}.is-selected .package-dot{border-color:#007657;box-shadow:inset 0 0 0 2px white;background:#007657}.process-package strong{display:block;font-size:11px;line-height:1.35;letter-spacing:-.03em}.process-package small{display:block;font-size:10px;line-height:1.5;margin-top:3px;color:#56627b}.process-package b{font-size:15px;line-height:1.3}
.process-laptop{width:112%;flex-shrink:0}.laptop-screen{position:relative;height:169px;border:7px solid #172025;border-bottom-width:12px;border-radius:10px 10px 3px 3px;box-shadow:0 2px 8px #123d3030;overflow:hidden;background:#172025}.laptop-screen img{width:100%;height:100%;object-fit:cover}.laptop-screen>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:rotate(-28deg);font-size:26px;font-weight:800;letter-spacing:-.04em;color:#ffffffe6;text-shadow:0 1px 4px #0005}.laptop-base{height:10px;background:linear-gradient(#dce1e2,#8b969a);border-radius:0 0 50% 50%;margin:0 -7px;box-shadow:0 5px 5px #123d3025}.process-laptop>small{display:block;font-size:9px;letter-spacing:.1em;color:#56627b;margin-top:15px}
.process-payment{border:1px solid #dfe9e4;border-radius:22px;padding:15px 12px;background:white;box-shadow:0 7px 16px #123d3010;width:100%;color:#005a42}.process-payment svg{width:100%;height:130px}.process-payment>span{display:block;background:#eaf5ef;padding:10px 5px;border-radius:7px;font-size:12px;font-weight:800;margin-top:8px}.process-reassurance{font-size:14px;text-align:center;line-height:1.7;color:#56627b;max-width:830px;margin:28px auto 0}.process-reassurance strong{color:#005a42}
@media(min-width:1600px){.process-art{height:280px}.process-package strong{font-size:13px}.process-package small{font-size:12px}}
@media(max-width:1100px){.image-process-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 24px}.process-arrow{display:none}.process-package strong{font-size:13px}.process-package small{font-size:12px}.process-heading{margin-bottom:66px}}
@media(max-width:700px){.image-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-art{height:235px}.process-heading .process-title{font-size:46px}.process-heading>p{font-size:18px}}
@media(max-width:480px){.image-process-grid{grid-template-columns:1fr;gap:58px;max-width:350px;margin:0 auto}.image-process-grid>li{padding:48px 24px 28px}.process-art{height:260px}.process-photo-stack{max-width:250px}.process-package strong{font-size:15px}.process-package small{font-size:12px}.process-package b{font-size:19px}.process-package{padding:12px 10px;gap:9px}.process-laptop{width:100%}.laptop-screen{height:200px}.process-payment{max-width:240px}.image-process-grid h3{font-size:26px}.image-process-grid p{font-size:17px}.process-heading .process-title{font-size:40px}.process-number{width:70px;height:70px;font-size:35px}}
.process-payment{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;max-width:250px}.checkout-photo{position:relative;height:190px;margin:0 2px 16px;transform:rotate(-5deg);border:7px solid white;border-bottom-width:19px;border-radius:6px;box-shadow:0 5px 9px #092c3230}.checkout-photo>img{width:100%;height:100%;object-fit:cover}.checkout-card{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:10px;background:#ffffffed;border:1px solid #dfe9e4;border-radius:9px;padding:10px 12px;box-shadow:0 3px 8px #123d3020;max-width:calc(100% - 24px)}.checkout-card svg{width:58px;height:38px;flex:none}.checkout-card>span{font-size:15px;font-weight:800}.checkout-photo .stack-badge{bottom:-25px;right:-12px;transform:rotate(5deg)}.checkout-photo .stack-badge svg{width:35px;height:35px}.process-payment>span{margin-top:22px}
.contact-guidance{margin-bottom:32px;padding:24px;border:1px solid var(--line);border-radius:8px;background:#f7f8f4}.contact-guidance h2{font-size:24px;margin:0 0 16px}.contact-guidance p{max-width:80ch;line-height:1.8}.contact-guidance .button{margin-top:8px}.contact-form #contact-message-help{margin:8px 0 12px}
.agency-enquiry{margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:8px;background:#f7f8f4}.agency-enquiry p{margin:0 0 12px;font-size:14px;line-height:1.7}.agency-enquiry a{font-weight:700;text-decoration:underline;text-underline-offset:3px}.cb-pricing{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.cb-pricing{grid-template-columns:1fr}.cb-comparisons{grid-template-columns:1fr;gap:32px}.cb-comparison{grid-template-rows:auto auto 1fr}.cb-comparison-title{min-height:0}}

.service-request .upload-previews{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.service-photo .photo-note{display:block;width:100%;box-sizing:border-box;margin-top:6px;min-height:54px;font-size:13px;line-height:1.4;padding:6px 8px}.outdoor-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.outdoor-levels label{line-height:1.5}@media(max-width:640px){.outdoor-levels{grid-template-columns:1fr}}

/* 1.6.6: one upload control, tap wording on phones, readable package cards */
.service-upload{position:relative}.service-upload>[type=file]{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}.drop-touch{display:none}@media (hover:none),(max-width:600px){.drop-desktop{display:none}.drop-touch{display:inline}}@media(max-width:600px){.service-request .package-option>span{flex:1 1 calc(100% - 40px)}.service-request .package-option>b{margin-left:28px}.service-request .package-option small{font-size:12px;line-height:1.6}.service-upload .caption{font-size:13px}}

.upload-message{margin:8px 0 0;padding:10px 12px;border-radius:6px;background:#fef3f2;color:#b42318;font-size:13px;line-height:1.5}
.upload-progress{margin:16px 0;padding:20px;border:2px solid var(--forest,#153d31);border-radius:10px;background:#edf2e9;color:#153d31}.upload-progress .up-title{display:block;font-size:20px;line-height:1.3}.upload-progress .up-bar{height:14px;margin:12px 0;border-radius:7px;background:#d3e0cf;overflow:hidden}.upload-progress .up-bar span{display:block;height:100%;width:3%;border-radius:7px;background:#153d31;transition:width .3s ease}.upload-progress .up-text{margin:0 0 6px;font-size:16px;font-weight:600}.upload-progress .up-note{margin:0;font-size:14px;color:#3f5248}@media (prefers-reduced-motion:reduce){.upload-progress .up-bar span{transition:none}}