:root{--dc-navy:#061725;--dc-navy-2:#0a2233;--dc-cyan:#10c8ee;--dc-ink:#102b3c;--dc-muted:#607586;--dc-soft:#f3f7f9;--dc-line:#dce7ed;--dc-white:#fff;--dc-shadow:var(--cc-shadow-card,0 24px 65px rgba(5,27,43,.12))}
.dc-page{overflow:hidden;background:#fff;color:var(--dc-ink)}
.dc-container{width:min(var(--cc-container,1180px),calc(100% - var(--cc-page-gutter,40px)));margin-inline:auto}
.dc-section{padding:var(--cc-section-space,88px) 0}
.dc-kicker{display:block;margin-bottom:13px;color:#00a8cf;font-size:.74rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.dc-page h1,.dc-page h2,.dc-page h3{margin-top:0;line-height:1.02;letter-spacing:-.035em}
.dc-page h1{margin-bottom:20px;font-size:clamp(3.3rem,6vw,6.25rem);color:#fff;max-width:820px}.dc-page h1 span{color:var(--dc-cyan)}
.dc-page h2{margin-bottom:18px;font-size:clamp(2.15rem,4vw,4.15rem)}
.dc-page p{line-height:1.72}
.dc-btn{display:inline-flex;min-height:var(--cc-button-height,50px);align-items:center;justify-content:center;padding:0 22px;border-radius:var(--cc-button-radius,10px);font-size:.86rem;font-weight:900;text-decoration:none;transition:.2s ease}
.dc-btn--primary{background:var(--dc-cyan);color:#052031}.dc-btn--primary:hover{transform:translateY(-2px);background:#35d5f2}
.dc-btn--glass{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff}.dc-btn--glass:hover{background:rgba(255,255,255,.15)}
.dc-btn--dark{background:var(--dc-navy);color:#fff}
.dc-actions{display:flex;gap:12px;flex-wrap:wrap}
.dc-hero{position:relative;min-height:760px;display:flex;align-items:center;padding:72px 0 112px;background:var(--dc-navy);isolation:isolate}
.dc-hero__media,.dc-hero__shade{position:absolute;inset:0;width:100%;height:100%}.dc-hero__media{z-index:-3;object-fit:cover;object-position:center}.dc-hero__shade{z-index:-2;background:linear-gradient(90deg,rgba(3,16,27,.97) 0%,rgba(4,22,35,.91) 49%,rgba(4,22,35,.62) 100%)}
.dc-hero__layout{display:grid;grid-template-columns:minmax(0,1.15fr) 410px;gap:72px;align-items:center}
.dc-breadcrumbs{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:28px;color:#9fb3c0;font-size:.76rem}.dc-breadcrumbs a{color:#d9e5eb;text-decoration:none}
.dc-hero .dc-kicker{color:var(--dc-cyan)}
.dc-hero__lead{max-width:700px;margin:0 0 28px;color:#d2dee5;font-size:1.05rem}
.dc-hero__ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 22px;margin:27px 0 0;padding:0;list-style:none;color:#dce7ec;font-size:.82rem;font-weight:800}.dc-hero__ticks li:before{content:'✓';margin-right:8px;color:var(--dc-cyan)}
.dc-quote{padding:29px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 26px 75px rgba(0,0,0,.27);color:var(--dc-ink)}
.dc-quote__label{color:#008dab;font-size:.71rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.dc-quote h2{margin:8px 0 8px;font-size:2rem}.dc-quote>p{margin:0 0 20px;color:var(--dc-muted);font-size:.86rem}
.dc-quote form,.dc-final__form form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dc-quote label,.dc-final__form label{display:grid;gap:6px;color:#294455;font-size:.72rem;font-weight:850}.dc-quote label:nth-of-type(3),.dc-quote label:nth-of-type(4),.dc-quote button,.dc-quote small,.dc-final__form label:nth-of-type(3),.dc-final__form label:nth-of-type(4),.dc-final__form button,.dc-final__form small{grid-column:1/-1}.dc-quote input,.dc-quote select,.dc-final__form input,.dc-final__form select{width:100%;height:45px;padding:0 12px;border:1px solid #cad9e1;border-radius:9px;background:#fff;font:inherit}.dc-quote button,.dc-final__form button{width:100%;border:0;cursor:pointer}.dc-quote small,.dc-final__form small{color:#748694;font-size:.7rem}
.dc-proof{position:relative;z-index:4;margin-top:-44px}.dc-proof__grid{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--dc-line);border-radius:18px;background:#fff;box-shadow:var(--dc-shadow)}.dc-proof article{display:flex;gap:14px;align-items:center;min-height:112px;padding:22px 24px;border-right:1px solid var(--dc-line)}.dc-proof article:last-child{border-right:0}.dc-proof article>span{color:#05afd2;font-size:.7rem;font-weight:900}.dc-proof strong,.dc-proof p{display:block}.dc-proof strong{font-size:.9rem}.dc-proof p{margin:3px 0 0;color:var(--dc-muted);font-size:.75rem;line-height:1.4}
.dc-intro{padding:82px 0;background:#fff}.dc-intro__layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.82fr);gap:52px;align-items:center}.dc-intro__copy h2{max-width:700px;margin-bottom:17px}.dc-intro__copy>p{max-width:670px;color:var(--dc-muted);margin-bottom:12px}.dc-intro__points{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.dc-intro__points span{padding:8px 11px;border:1px solid var(--dc-line);border-radius:999px;background:#f7fafb;font-size:.73rem;font-weight:850}.dc-intro__image{height:360px;margin:0;overflow:hidden;border-radius:20px;box-shadow:var(--dc-shadow)}.dc-intro__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.dc-surfaces{background:var(--dc-soft)}.dc-heading{max-width:760px;margin-bottom:38px}.dc-heading>p{color:var(--dc-muted)}.dc-heading--split{max-width:none;display:grid;grid-template-columns:minmax(0,.98fr) minmax(360px,.82fr);gap:clamp(36px,6vw,76px);align-items:end}.dc-heading--split>div,.dc-heading--split>p{min-width:0}.dc-heading--split>p{width:100%;max-width:none;margin:0 0 7px;justify-self:stretch;text-align:left}
.dc-surface-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.dc-surface-card{position:relative;min-height:205px;display:flex;flex-direction:column;padding:25px;border:1px solid var(--dc-line);border-radius:16px;background:#fff;transition:.2s ease}.dc-surface-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(10,42,61,.09)}.dc-surface-card__number{color:#00a6ca;font-size:.7rem;font-weight:900}.dc-surface-card h3{margin:20px 0 9px;font-size:1.18rem}.dc-surface-card p{margin:0;color:var(--dc-muted);font-size:.83rem;line-height:1.58}.dc-surface-card__tag{margin-top:auto;padding-top:17px;color:#0989a5;font-size:.7rem;font-weight:900}.dc-surface-note{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin-top:17px;padding:17px 20px;border-radius:13px;background:var(--dc-navy);color:#fff}.dc-surface-note span{color:#c8d8e0;font-size:.82rem}.dc-surface-note a{color:var(--dc-cyan);font-size:.82rem;font-weight:900;text-decoration:none}
.dc-process{background:var(--dc-navy);color:#fff}.dc-heading--light p{color:#b9ccd7}.dc-process__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.12)}.dc-process__grid article{min-height:245px;padding:30px;background:var(--dc-navy-2)}.dc-process__grid article>span{color:var(--dc-cyan);font-size:.72rem;font-weight:900}.dc-process__grid h3{margin:42px 0 12px;font-size:1.15rem}.dc-process__grid p{margin:0;color:#b9ccd8;font-size:.83rem;line-height:1.6}
.dc-results{background:#fff}.dc-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dc-gallery figure{aspect-ratio:4/3;margin:0;overflow:hidden;border-radius:18px;background:#dce6ec}.dc-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.dc-gallery figure:hover img{transform:scale(1.025)}.dc-gallery figcaption{display:none}.dc-inline-cta{display:flex;justify-content:space-between;gap:28px;align-items:center;margin-top:18px;padding:21px 23px;border:1px solid var(--dc-line);border-radius:15px;background:#f7fafc}.dc-inline-cta strong,.dc-inline-cta span{display:block}.dc-inline-cta span{margin-top:4px;color:var(--dc-muted);font-size:.82rem}.dc-inline-cta__actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.dc-text-link{color:#0085a3;font-weight:900;text-decoration:none;white-space:nowrap}
.dc-problems{padding:78px 0;background:var(--dc-soft)}.dc-problems__layout{display:grid;grid-template-columns:minmax(380px,.88fr) minmax(0,1.12fr);gap:52px;align-items:center}.dc-problems__visual{height:350px;overflow:hidden;border-radius:20px;box-shadow:var(--dc-shadow)}.dc-problems__visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.dc-problems__copy h2{margin-bottom:16px}.dc-problems__copy>p{max-width:650px;margin-bottom:0;color:var(--dc-muted)}.dc-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 18px;margin:19px 0 18px;padding:0;list-style:none}.dc-check-grid li{font-size:.82rem;font-weight:850}.dc-check-grid li:before{content:'✓';margin-right:8px;color:#00a8cd}
.dc-sealing{background:var(--dc-navy);color:#fff}.dc-sealing__box{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.72fr);gap:70px;align-items:center}.dc-sealing__intro p{max-width:690px;color:#bfd0d9}.dc-sealing__panel{padding:31px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.07)}.dc-sealing__panel h3{margin:0 0 17px;font-size:1.22rem}.dc-sealing__panel ul{display:grid;gap:12px;margin:0 0 24px;padding:0;list-style:none}.dc-sealing__panel li{color:#c8d8e0;font-size:.84rem}.dc-sealing__panel li:before{content:'✓';margin-right:9px;color:var(--dc-cyan);font-weight:900}
.dc-faq{background:var(--dc-soft)}.dc-faq__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.dc-faq details{padding:0 19px;border:1px solid var(--dc-line);border-radius:13px;background:#fff}.dc-faq summary{display:flex;justify-content:space-between;gap:14px;align-items:center;min-height:66px;cursor:pointer;list-style:none;font-size:.86rem;font-weight:900}.dc-faq summary::-webkit-details-marker{display:none}.dc-faq summary span{color:#00a5ca;font-size:1.25rem}.dc-faq details[open] summary span{transform:rotate(45deg)}.dc-faq details p{margin:0 0 18px;color:var(--dc-muted);font-size:.84rem}
.dc-nearby{background:#fff}.dc-nearby__links{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.dc-nearby__links a,.dc-nearby__area{position:relative;display:block;padding:18px 39px 17px 18px;border:1px solid var(--dc-line);border-radius:13px;color:var(--dc-ink);text-decoration:none}.dc-nearby__links a:hover{border-color:#09b9e0;background:#f0fbfd}.dc-nearby__links span,.dc-nearby__links small{display:block}.dc-nearby__area{background:#f8fbfc}.dc-nearby__area small{font-style:normal}.dc-nearby__links span{font-weight:900}.dc-nearby__links small{margin-top:3px;color:var(--dc-muted)}.dc-nearby__links b{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#00a6cb}
.dc-final{padding:0;background:var(--dc-navy)}.dc-final__box{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.7fr);gap:72px;align-items:center;padding:92px 0;color:#fff;isolation:isolate}.dc-final__box>img,.dc-final__shade{position:absolute;inset:0;left:50%;width:100vw;height:100%;transform:translateX(-50%)}.dc-final__box>img{z-index:-3;object-fit:cover}.dc-final__shade{z-index:-2;background:linear-gradient(90deg,rgba(3,16,27,.98),rgba(4,22,35,.93) 54%,rgba(4,22,35,.72))}.dc-final__content{max-width:650px}.dc-final__content p{max-width:610px;color:#cad9e2}.dc-final__contact{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#c9d8e1;font-size:.84rem}.dc-final__contact a{color:var(--dc-cyan);font-weight:900;text-decoration:none}.dc-final__form{padding:27px;border-radius:20px;background:#fff;color:var(--dc-ink);box-shadow:0 22px 60px rgba(0,0,0,.25)}
@media(max-width:1050px){.dc-hero__layout{grid-template-columns:minmax(0,1fr) 380px;gap:42px}.dc-intro__layout,.dc-problems__layout{gap:44px}.dc-process__grid{grid-template-columns:repeat(2,1fr)}.dc-nearby__links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.dc-hero{min-height:auto}.dc-hero__shade{background:linear-gradient(180deg,rgba(3,16,27,.96),rgba(4,22,35,.91))}.dc-hero__layout,.dc-intro__layout,.dc-problems__layout,.dc-sealing__box,.dc-final__box{grid-template-columns:1fr}.dc-quote{max-width:680px}.dc-proof__grid{grid-template-columns:repeat(2,1fr)}.dc-proof article:nth-child(2){border-right:0}.dc-proof article:nth-child(-n+2){border-bottom:1px solid var(--dc-line)}.dc-heading--split{grid-template-columns:1fr;gap:12px}.dc-surface-grid{grid-template-columns:repeat(2,1fr)}.dc-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.dc-final__box{gap:38px}.dc-final__form{max-width:680px}}
@media(max-width:650px){.dc-container{width:min(100% - 28px,1180px)}.dc-section{padding:62px 0}.dc-hero{padding:38px 0 72px}.dc-page h1{font-size:clamp(2.65rem,12.5vw,4rem)}.dc-page h2{font-size:clamp(2rem,9vw,3rem)}.dc-actions{display:grid;grid-template-columns:1fr;width:100%}.dc-btn{width:100%}.dc-hero__ticks{grid-template-columns:1fr}.dc-quote{padding:21px}.dc-quote form,.dc-final__form form{grid-template-columns:1fr}.dc-quote label,.dc-quote label:nth-of-type(3),.dc-quote label:nth-of-type(4),.dc-quote button,.dc-quote small,.dc-final__form label,.dc-final__form label:nth-of-type(3),.dc-final__form label:nth-of-type(4),.dc-final__form button,.dc-final__form small{grid-column:1}.dc-proof{margin-top:-26px}.dc-proof__grid{grid-template-columns:1fr}.dc-proof article{border-right:0;border-bottom:1px solid var(--dc-line)}.dc-proof article:last-child{border-bottom:0}.dc-intro{padding-top:72px}.dc-surface-grid,.dc-process__grid,.dc-faq__grid,.dc-nearby__links{grid-template-columns:1fr}.dc-surface-card{min-height:178px}.dc-surface-note{grid-template-columns:1fr;gap:5px}.dc-gallery{grid-template-columns:1fr;gap:12px}.dc-gallery figure{aspect-ratio:4/3}.dc-inline-cta{align-items:flex-start;flex-direction:column}.dc-inline-cta__actions{width:100%;align-items:flex-start;flex-direction:column}.dc-check-grid{grid-template-columns:1fr}.dc-final__box{padding:66px 0}.dc-final__form{padding:21px}}

/* Compact service-story sections */
@media (max-width:1050px){.dc-intro__image{height:330px}.dc-problems__visual{height:330px}}
@media (max-width:850px){.dc-intro,.dc-problems{padding:66px 0}.dc-intro__image,.dc-problems__visual{height:auto;aspect-ratio:16/10}.dc-intro__image img,.dc-problems__visual img{height:100%}}
@media (max-width:650px){.dc-intro,.dc-problems{padding:56px 0}.dc-intro__layout,.dc-problems__layout{gap:30px}.dc-intro__image,.dc-problems__visual{aspect-ratio:4/3;border-radius:16px}.dc-intro__points{margin-top:15px}}

/* SEO and authority sections */
.dc-why{background:#fff}.dc-why__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.dc-why__grid article{min-height:225px;padding:26px;border:1px solid var(--dc-line);border-radius:16px;background:#f8fbfc}.dc-why__grid article>span{color:#00a6ca;font-size:.7rem;font-weight:900}.dc-why__grid h3{margin:28px 0 10px;font-size:1.14rem}.dc-why__grid p{margin:0;color:var(--dc-muted);font-size:.82rem;line-height:1.62}
.dc-project{background:#fff}.dc-project__layout{display:grid;grid-template-columns:minmax(380px,.92fr) minmax(0,1.08fr);gap:58px;align-items:center}.dc-project__image{height:410px;margin:0;overflow:hidden;border-radius:20px;box-shadow:var(--dc-shadow)}.dc-project__image img{width:100%;height:100%;display:block;object-fit:cover}.dc-project__copy>p{color:var(--dc-muted)}.dc-project__facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:24px 0;background:var(--dc-line);border:1px solid var(--dc-line);border-radius:14px;overflow:hidden}.dc-project__facts div{padding:17px;background:#fff}.dc-project__facts dt{color:#008ca9;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.dc-project__facts dd{margin:5px 0 0;font-size:.82rem;font-weight:800}
.dc-related{background:var(--dc-navy);color:#fff}.dc-related .dc-heading>p{color:#bfd0d9}.dc-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dc-related__grid a{position:relative;min-height:145px;padding:23px 44px 22px 22px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.06);color:#fff;text-decoration:none;transition:.2s ease}.dc-related__grid a:hover{transform:translateY(-2px);border-color:rgba(16,200,238,.7);background:rgba(255,255,255,.09)}.dc-related__grid strong,.dc-related__grid span{display:block}.dc-related__grid strong{font-size:.95rem}.dc-related__grid span{margin-top:8px;color:#b9ccd7;font-size:.78rem;line-height:1.55}.dc-related__grid b{position:absolute;right:19px;top:22px;color:var(--dc-cyan)}
.dc-mobile-cta{display:none}
@media(max-width:850px){.dc-why__grid,.dc-related__grid{grid-template-columns:repeat(2,1fr)}.dc-project__layout{grid-template-columns:1fr;gap:34px}.dc-project__image{height:auto;aspect-ratio:16/10}}
@media(max-width:650px){.dc-why__grid,.dc-related__grid,.dc-project__facts{grid-template-columns:1fr}.dc-why__grid article{min-height:auto}.dc-mobile-cta{position:fixed;z-index:9999;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(6,23,37,.96);box-shadow:0 16px 45px rgba(0,0,0,.28);backdrop-filter:blur(12px)}.dc-mobile-cta a{display:flex;min-height:46px;align-items:center;justify-content:center;border-radius:9px;color:#fff;font-size:.79rem;font-weight:900;text-decoration:none}.dc-mobile-cta a:last-child{background:var(--dc-cyan);color:#052031}.dc-page{padding-bottom:76px}}

/* CraftCore Service Template v1.0 — final interaction and accessibility polish */
.dc-gallery__open{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden;color:inherit;text-align:left}
.dc-gallery__open:focus-visible{outline:3px solid var(--dc-cyan);outline-offset:4px}
.dc-gallery__hint{position:absolute;right:14px;bottom:14px;padding:8px 11px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(3,16,27,.72);color:#fff;font-size:.7rem;font-weight:900;opacity:0;transform:translateY(5px);transition:opacity .22s ease,transform .22s ease;backdrop-filter:blur(8px)}
.dc-gallery__open:hover .dc-gallery__hint,.dc-gallery__open:focus-visible .dc-gallery__hint{opacity:1;transform:none}
.dc-lightbox[hidden]{display:none}.dc-lightbox{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:70px 82px;background:rgba(2,12,20,.94);backdrop-filter:blur(14px)}
.dc-lightbox figure{position:relative;display:grid;place-items:center;width:min(1180px,100%);height:min(80vh,820px);margin:0}
.dc-lightbox img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.dc-lightbox figcaption{position:absolute;left:50%;bottom:-42px;transform:translateX(-50%);width:min(760px,90vw);color:#d7e4ea;text-align:center;font-size:.82rem}
.dc-lightbox__close,.dc-lightbox__nav{position:absolute;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.09);color:#fff;cursor:pointer;backdrop-filter:blur(8px)}
.dc-lightbox__close{top:22px;right:22px;width:48px;height:48px;border-radius:50%;font-size:1.75rem}
.dc-lightbox__nav{top:50%;width:52px;height:66px;border-radius:14px;transform:translateY(-50%);font-size:2rem}.dc-lightbox__prev{left:22px}.dc-lightbox__next{right:22px}
.dc-lightbox__close:hover,.dc-lightbox__nav:hover,.dc-lightbox__close:focus-visible,.dc-lightbox__nav:focus-visible{background:var(--dc-cyan);color:#052031;outline:none}
.dc-lightbox__count{position:absolute;top:34px;left:50%;transform:translateX(-50%);color:#d7e4ea;font-size:.78rem;font-weight:850}
body.dc-lightbox-open{overflow:hidden}
.dc-btn:focus-visible,.dc-text-link:focus-visible,.dc-nearby__links a:focus-visible,.dc-related__grid a:focus-visible,.dc-mobile-cta a:focus-visible,.dc-faq summary:focus-visible{outline:3px solid var(--dc-cyan);outline-offset:4px}
.dc-faq summary span{transition:transform .2s ease}
@media(max-width:650px){.dc-gallery__hint{opacity:1}.dc-lightbox{padding:64px 14px 86px}.dc-lightbox figure{height:72vh}.dc-lightbox__nav{top:auto;bottom:16px;width:48px;height:48px;border-radius:50%;transform:none}.dc-lightbox__prev{left:calc(50% - 58px)}.dc-lightbox__next{right:calc(50% - 58px)}.dc-lightbox__close{top:12px;right:12px}.dc-lightbox__count{top:26px}}
@media(prefers-reduced-motion:reduce){.dc-page *,.dc-page *::before,.dc-page *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Conversion-focused final quotation form */
.dc-final__form{padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.34)}
.dc-final__form-head{padding:25px 28px 20px;border-bottom:1px solid #e3edf2;background:linear-gradient(145deg,#f9fdff,#eefaff)}
.dc-final__stars{margin-bottom:5px;color:#f5a623;font-size:.9rem;letter-spacing:.12em;line-height:1}
.dc-final__form-head p{margin:0 0 13px;color:#557184;font-size:.68rem;font-weight:850;letter-spacing:.02em}
.dc-final__form-head h3{margin:0 0 7px;color:var(--dc-ink);font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.1}
.dc-final__form-head>span{display:block;color:#607789;font-size:.78rem;line-height:1.55}
.dc-final__form form{padding:22px 28px 26px;gap:14px}
.dc-final__form label{gap:7px;font-size:.73rem}
.dc-final__form label span{letter-spacing:.01em}
.dc-final__form input,.dc-final__form select{height:49px;border-color:#bfd2dc;border-radius:11px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.dc-final__form input::placeholder{color:#98a9b4}
.dc-final__form input:focus,.dc-final__form select:focus{outline:0;border-color:var(--dc-cyan);box-shadow:0 0 0 4px rgba(0,196,232,.14);background:#fff}
.dc-final__form .dc-final__help{grid-column:1/-1}
.dc-final__form button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;margin-top:2px;font-size:.86rem;box-shadow:0 12px 25px rgba(0,196,232,.22)}
.dc-final__form button b{font-size:1.1rem;transition:transform .2s ease}
.dc-final__form button:hover b{transform:translateX(4px)}
.dc-final__reassurance{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px 18px;flex-wrap:wrap;padding-top:2px;color:#355668;font-size:.67rem;font-weight:800}
.dc-final__reassurance span{white-space:nowrap}
.dc-final__form small{display:block;text-align:center;color:#6f8390;font-size:.67rem}
@media(max-width:650px){.dc-final__form-head{padding:22px 21px 18px}.dc-final__form form{padding:20px 21px 23px}.dc-final__reassurance{justify-content:flex-start;gap:8px 14px}}

/* Recent project spacing refinement: reduce the oversized gap after the gallery. */
.dc-project.dc-section{
  padding-top:58px;
  padding-bottom:88px;
}
@media(max-width:650px){
  .dc-project.dc-section{
    padding-top:46px;
    padding-bottom:62px;
  }
}


/* Local Crewe authority section — premium contained layout */
.dc-local{padding:76px 0;background:linear-gradient(180deg,#f5f9fb 0%,#fff 100%)}
.dc-local__panel{position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:0;overflow:hidden;border:1px solid var(--dc-line);border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(7,35,53,.10)}
.dc-local__panel:before{content:'';position:absolute;inset:0 auto 0 0;width:5px;background:var(--dc-cyan)}
.dc-local__intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:52px 48px;background:linear-gradient(145deg,#071a29 0%,#0b2a3e 100%);color:#fff}
.dc-local__intro .dc-kicker{color:var(--dc-cyan)}
.dc-local__intro h2{max-width:560px;margin-bottom:17px;font-size:clamp(2.35rem,4vw,3.85rem)}
.dc-local__intro>p{max-width:500px;margin:0 0 26px;color:#c6d7df;font-size:.95rem;line-height:1.7}
.dc-local__content{padding:48px 50px}
.dc-local__lead{margin:0 0 22px;color:var(--dc-ink);font-size:1rem;font-weight:650;line-height:1.75}
.dc-local__areas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.dc-local__areas span{padding:8px 12px;border:1px solid #cfe0e8;border-radius:999px;background:#f5fafc;color:#244659;font-size:.72rem;font-weight:900}
.dc-local__features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}
.dc-local__features article{padding:20px;border:1px solid var(--dc-line);border-radius:14px;background:#f8fbfc}
.dc-local__features strong,.dc-local__features span{display:block}
.dc-local__features strong{margin-bottom:7px;color:var(--dc-ink);font-size:.88rem}
.dc-local__features span{color:var(--dc-muted);font-size:.77rem;line-height:1.55}
.dc-local__foot{margin:0;color:var(--dc-muted);font-size:.84rem;line-height:1.7}
.dc-local__foot .dc-text-link{white-space:normal}
@media(max-width:900px){.dc-local__panel{grid-template-columns:1fr}.dc-local__intro,.dc-local__content{padding:40px}.dc-local__intro h2{max-width:720px}.dc-local__intro>p{max-width:680px}}
@media(max-width:650px){.dc-local{padding:56px 0}.dc-local__panel{border-radius:18px}.dc-local__intro,.dc-local__content{padding:30px 24px}.dc-local__intro h2{font-size:clamp(2rem,10vw,2.8rem)}.dc-local__features{grid-template-columns:1fr}.dc-local__areas{gap:7px}.dc-local__areas span{padding:7px 10px}}


/* 5.6.8 — visually distinct common-problems section */
.dc-problems{position:relative;isolation:isolate;overflow:hidden;padding:92px 0;background:#071724;color:#fff}
.dc-problems__backdrop{position:absolute;inset:0;z-index:-2}
.dc-problems__backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,29,.98) 0%,rgba(4,18,29,.94) 58%,rgba(4,18,29,.84) 100%)}
.dc-problems__backdrop img{width:100%;height:100%;object-fit:cover;opacity:.22;filter:saturate(.7) contrast(1.05)}
.dc-problems__inner{position:relative}
.dc-problems__heading{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.75fr);gap:72px;align-items:end;margin-bottom:38px}
.dc-problems__heading h2{max-width:760px;margin:10px 0 0;color:#fff}
.dc-problems__heading>p{margin:0;color:#b9c7d2;font-size:1.02rem;line-height:1.72}
.dc-problems .dc-kicker{color:var(--dc-cyan)}
.dc-problems__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dc-problems__grid article{min-height:190px;padding:24px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.055);backdrop-filter:blur(8px);transition:transform .2s ease,border-color .2s ease,background .2s ease}
.dc-problems__grid article:hover{transform:translateY(-3px);border-color:rgba(0,204,255,.42);background:rgba(255,255,255,.075)}
.dc-problems__grid article>span{display:block;margin-bottom:24px;color:var(--dc-cyan);font-size:.69rem;font-weight:900;letter-spacing:.14em}
.dc-problems__grid strong{display:block;margin-bottom:9px;color:#fff;font-size:1rem}
.dc-problems__grid p{margin:0;color:#aebfcb;font-size:.86rem;line-height:1.58}
.dc-problems__footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:28px;padding-top:28px;border-top:1px solid rgba(255,255,255,.13)}
.dc-problems__footer p{max-width:720px;margin:0;color:#b9c7d2}
.dc-problems__footer .dc-btn{flex:0 0 auto}
@media(max-width:1050px){.dc-problems__heading{grid-template-columns:1fr;gap:16px}.dc-problems__heading>p{max-width:760px}.dc-problems__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.dc-problems{padding:64px 0}.dc-problems__grid{grid-template-columns:1fr}.dc-problems__grid article{min-height:0}.dc-problems__footer{align-items:flex-start;flex-direction:column}.dc-problems__footer .dc-btn{width:100%}}


/* 5.6.9 — Driveway master-template QA and design-system hardening */
.dc-page{
  --dc-section-space:var(--cc-section-space,88px);
  --dc-section-space-compact:64px;
  --dc-radius-sm:var(--cc-radius-sm,13px);
  --dc-radius-md:var(--cc-radius-md,18px);
  --dc-radius-lg:var(--cc-radius-lg,24px);
  --dc-focus-ring:var(--cc-focus-ring,0 0 0 4px rgba(16,200,238,.20));
}
.dc-section{padding-block:var(--dc-section-space)}
#driveway-quote,#patio-quote,.dc-faq details,.dc-related__grid a,.dc-nearby__links a{scroll-margin-top:150px}
.dc-page a,.dc-page button,.dc-page input,.dc-page select,.dc-page summary{-webkit-tap-highlight-color:transparent}
.dc-quote input:focus,.dc-quote select:focus{outline:0;border-color:var(--dc-cyan);box-shadow:var(--dc-focus-ring)}
.dc-breadcrumbs a:hover,.dc-text-link:hover{text-decoration:underline;text-underline-offset:4px}
.dc-related__grid{align-items:stretch}
.dc-related__grid a,.dc-related__coming-soon{min-height:168px}
.dc-related__coming-soon{position:relative;display:flex;flex-direction:column;padding:22px;border:1px solid var(--dc-line);border-radius:var(--dc-radius-sm);background:#f7fafc;color:var(--dc-ink)}
.dc-related__coming-soon strong,.dc-related__coming-soon span,.dc-related__coming-soon small{display:block}
.dc-related__coming-soon strong{font-size:.93rem}
.dc-related__coming-soon span{margin-top:8px;color:var(--dc-muted);font-size:.78rem;line-height:1.55}
.dc-related__coming-soon small{margin-top:auto;padding-top:18px;color:#087f99;font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.dc-gallery img[loading="lazy"],.dc-intro__image img[loading="lazy"]{content-visibility:auto}
@media(max-width:900px){.dc-page{--dc-section-space:74px}}
@media(max-width:650px){.dc-page{--dc-section-space:58px}.dc-related__grid a,.dc-related__coming-soon{min-height:0}}


/* v6.0 — Sprint 2 quote-card conversion polish */
.dc-quote__topline{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dc-quote__rating{flex:0 0 auto;color:#087f99;font-size:.66rem;font-weight:900;letter-spacing:.025em}
.dc-quote__proof{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;color:#647786;font-size:.66rem;font-weight:850}
@media(max-width:390px){.dc-quote__topline{align-items:flex-start;flex-direction:column;gap:5px}}

/* v7.2.0 — Soffit & Fascia Cleaning Crewe flagship */
.sf-hero .dc-hero__media{object-position:center 42%}
.sf-clean{background:#f4f8fa}
.sf-clean__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sf-clean__grid article{position:relative;min-height:220px;padding:28px;border:1px solid var(--dc-line);border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(7,31,49,.06)}
.sf-clean__grid article>span{display:block;margin-bottom:32px;color:#0798b8;font-size:.72rem;font-weight:950;letter-spacing:.14em}
.sf-clean__grid h3{margin:0 0 10px;color:var(--dc-ink);font-size:1.08rem}
.sf-clean__grid p{margin:0;color:var(--dc-muted);font-size:.86rem;line-height:1.65}
.sf-problems{position:relative;background:#071724;color:#fff}
.sf-problems__layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:72px;align-items:center}
.sf-problems h2{margin:10px 0 18px;color:#fff}
.sf-problems p{color:#b8c8d3;line-height:1.75}
.sf-problems .dc-btn{margin-top:18px}
.sf-problems__list{display:grid;gap:12px}
.sf-problems__list article{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:20px 22px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.055)}
.sf-problems__list b{color:var(--dc-cyan);font-size:.72rem;letter-spacing:.12em}
.sf-problems__list h3{margin:0 0 6px;color:#fff;font-size:1rem}
.sf-problems__list p{margin:0;font-size:.82rem;line-height:1.55}
.sf-benefits{background:linear-gradient(180deg,#fff 0%,#f4f8fa 100%)}
.sf-benefits__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sf-benefits__grid article{padding:30px;border:1px solid var(--dc-line);border-radius:18px;background:#fff}
.sf-benefits__grid strong{display:block;margin-bottom:10px;color:var(--dc-ink);font-size:1.02rem}
.sf-benefits__grid p{margin:0;color:var(--dc-muted);font-size:.86rem;line-height:1.65}
.sf-showcase{background:#fff}
.sf-showcase__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.sf-showcase figure{position:relative;min-height:440px;margin:0;overflow:hidden;border-radius:22px;background:#dfe8ed}
.sf-showcase img{width:100%;height:100%;object-fit:cover;display:block}
.sf-showcase figcaption{position:absolute;left:18px;bottom:18px;padding:9px 12px;border-radius:999px;background:rgba(4,20,31,.84);color:#fff;font-size:.72rem;font-weight:850;backdrop-filter:blur(8px)}
@media(max-width:900px){.sf-clean__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-problems__layout{grid-template-columns:1fr;gap:36px}.sf-showcase__grid{grid-template-columns:1fr}.sf-showcase figure{min-height:360px}}
@media(max-width:620px){.sf-clean__grid,.sf-benefits__grid{grid-template-columns:1fr}.sf-clean__grid article{min-height:0;padding:23px}.sf-showcase figure{min-height:270px}.sf-problems__list article{grid-template-columns:40px 1fr;padding:18px}}

/* v7.2.1 — Soffit & Fascia flagship visual correction */
.sf-hero{min-height:720px;padding-top:64px;padding-bottom:92px}
.sf-hero .dc-hero__media{object-position:center 28%;filter:saturate(.92) contrast(1.04)}
.sf-hero .dc-hero__shade{background:linear-gradient(90deg,rgba(3,16,27,.97) 0%,rgba(4,22,35,.91) 50%,rgba(4,22,35,.70) 100%)}
.sf-page .dc-quote{padding:24px 25px;border-radius:18px}
.sf-page .dc-quote h2{font-size:1.55rem;margin-bottom:6px}
.sf-page .dc-quote>p{margin-bottom:14px;font-size:.79rem}
.sf-page .dc-quote form{gap:9px}
.sf-page .dc-quote label span{margin-bottom:4px;font-size:.67rem}
.sf-page .dc-quote input,.sf-page .dc-quote select{min-height:43px;padding:0 12px;border-radius:8px}
.sf-page .dc-quote .dc-btn{min-height:45px}
.sf-page .dc-quote small{font-size:.6rem}
.sf-clean__grid article{min-height:236px;padding:24px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.sf-clean__grid article:hover{transform:translateY(-4px);border-color:#b9dce6;box-shadow:0 20px 46px rgba(7,31,49,.10)}
.sf-clean__grid article>small{display:block;margin:15px 0 20px;color:#0798b8;font-size:.67rem;font-weight:950;letter-spacing:.14em}
.sf-clean__icon{position:relative;width:48px;height:48px;border:1px solid #bfe5ee;border-radius:14px;background:#effbfe}
.sf-clean__icon:before,.sf-clean__icon:after,.sf-clean__icon span:before,.sf-clean__icon span:after{content:'';position:absolute;display:block}
.sf-clean__icon:before{left:10px;right:10px;top:13px;height:3px;border-radius:99px;background:#0aa8c9;box-shadow:0 8px 0 #0aa8c9,0 16px 0 #0aa8c9}
.sf-clean__icon--gutter:before{left:9px;right:9px;top:15px;height:12px;border:3px solid #0aa8c9;border-top:0;border-radius:0 0 12px 12px;background:transparent;box-shadow:none}
.sf-clean__icon--downpipe:before{left:20px;top:8px;width:8px;height:31px;border:3px solid #0aa8c9;border-radius:8px;background:transparent;box-shadow:none}
.sf-clean__icon--downpipe:after{left:25px;bottom:6px;width:11px;height:3px;border-radius:99px;background:#0aa8c9;transform:rotate(25deg)}
.sf-clean__icon--cladding:before{left:9px;right:9px;top:10px;height:4px;background:#0aa8c9;box-shadow:0 8px 0 #0aa8c9,0 16px 0 #0aa8c9,0 24px 0 #0aa8c9}
.sf-clean__icon--trim:before{left:10px;top:10px;width:25px;height:25px;border:3px solid #0aa8c9;border-radius:4px;background:transparent;box-shadow:none}
.sf-process__grid{position:relative}
.sf-process__grid:before{content:'';position:absolute;left:16.66%;right:16.66%;top:43px;height:1px;background:linear-gradient(90deg,transparent,#6fdcf1 15%,#6fdcf1 85%,transparent)}
.sf-process__grid article{position:relative;padding-top:29px}
.sf-process__icon{position:relative;z-index:2;display:grid;width:48px;height:48px;margin:0 auto 21px;place-items:center;border:1px solid rgba(16,200,238,.44);border-radius:50%;background:#0a2233;color:var(--dc-cyan);font-size:1.05rem;font-weight:950;box-shadow:0 0 0 8px #071724}
.sf-benefits__grid article{position:relative;padding-left:72px;transition:transform .2s ease,border-color .2s ease}
.sf-benefits__grid article:before{content:'✓';position:absolute;left:28px;top:30px;display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#e9faff;color:#078ba8;font-size:.8rem;font-weight:950}
.sf-benefits__grid article:hover{transform:translateY(-3px);border-color:#b9dce6}
.sf-showcase{background:linear-gradient(180deg,#fff 0%,#f5f9fb 100%)}
.sf-showcase__layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:20px;align-items:stretch}
.sf-showcase__feature{position:relative;min-height:520px;margin:0;overflow:hidden;border-radius:22px;background:#dfe8ed;box-shadow:0 24px 58px rgba(7,31,49,.12)}
.sf-showcase__feature img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.sf-showcase__feature figcaption{position:absolute;left:18px;bottom:18px;padding:9px 12px;border-radius:999px;background:rgba(4,20,31,.84);color:#fff;font-size:.72rem;font-weight:850;backdrop-filter:blur(8px)}
.sf-showcase__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sf-showcase__details article{display:flex;min-height:0;flex-direction:column;padding:25px;border:1px solid var(--dc-line);border-radius:18px;background:#fff}
.sf-showcase__details span{margin-bottom:auto;padding-bottom:28px;color:#08a5c6;font-size:.69rem;font-weight:950;letter-spacing:.14em}
.sf-showcase__details strong{display:block;margin-bottom:9px;color:var(--dc-ink);font-size:.98rem}
.sf-showcase__details p{margin:0;color:var(--dc-muted);font-size:.81rem;line-height:1.62}
.sf-gallery-note{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;padding:18px 21px;border:1px dashed #b8d8e2;border-radius:14px;background:#fff}
.sf-gallery-note strong{color:var(--dc-ink);font-size:.82rem}.sf-gallery-note span{color:var(--dc-muted);font-size:.75rem}
.sf-page .dc-final{background-position:center}
@media(max-width:900px){.sf-hero{min-height:auto}.sf-process__grid:before{display:none}.sf-showcase__layout{grid-template-columns:1fr}.sf-showcase__feature{min-height:420px}}
@media(max-width:650px){.sf-page .dc-quote{padding:21px 19px}.sf-clean__grid article{min-height:0}.sf-showcase__feature{min-height:300px}.sf-showcase__details{grid-template-columns:1fr}.sf-showcase__details article{padding:21px}.sf-showcase__details span{padding-bottom:18px}.sf-gallery-note{align-items:flex-start;flex-direction:column;gap:7px}}

/* v7.2.2 — Crewe optimisation and flagship completion */
.sf-page .dc-hero__lead{max-width:690px}
.sf-clean__grid article{min-height:330px}
.sf-clean__grid p{font-size:.9rem;line-height:1.72}
.sf-process__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.sf-process__grid article{min-width:0}
.sf-restore{background:#fff}
.sf-restore__layout{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:64px;align-items:center}
.sf-restore figure{min-height:480px;margin:0;overflow:hidden;border-radius:22px;box-shadow:0 24px 58px rgba(7,31,49,.11)}
.sf-restore figure img{width:100%;height:100%;object-fit:cover;display:block}
.sf-restore h2{margin:10px 0 18px}
.sf-restore p{color:var(--dc-muted);line-height:1.75}
.sf-restore .dc-btn{margin-top:14px}
.sf-why__grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.sf-local{background:#071724;color:#fff}
.sf-local__layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:center}
.sf-local h2{margin:10px 0 16px;color:#fff}
.sf-local p{margin:0;color:#b8c8d3;line-height:1.75}
.sf-local ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.sf-local li{position:relative;padding:15px 17px 15px 42px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.055);font-size:.84rem;font-weight:800}
.sf-local li:before{content:'✓';position:absolute;left:16px;color:var(--dc-cyan);font-weight:950}
.sf-showcase__feature img{object-position:center}
@media(max-width:980px){.sf-why__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){.sf-restore__layout,.sf-local__layout{grid-template-columns:1fr;gap:36px}.sf-restore figure{min-height:380px}.sf-clean__grid article{min-height:300px}}
@media(max-width:650px){.sf-process__grid,.sf-why__grid{grid-template-columns:1fr!important}.sf-clean__grid article{min-height:0}.sf-restore figure{min-height:290px}.sf-local ul{grid-template-columns:1fr}}

/* CraftCore v8 — Soffit & Fascia flagship */
.sf-page-v8 .sf-hero-v8 .dc-hero__media{object-position:center 48%}
.sf-page-v8 .sf-hero-v8 .dc-hero__shade{background:linear-gradient(90deg,rgba(3,20,32,.92) 0%,rgba(3,20,32,.76) 48%,rgba(3,20,32,.52) 100%)}
.sf-story{background:#fff}
.sf-story__grid,.sf-why-v8__grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);align-items:center;gap:64px}
.sf-story__copy h2,.sf-why-v8__grid h2{max-width:760px;margin:12px 0 20px;color:var(--dc-ink);font-size:clamp(2.1rem,4vw,4rem);line-height:.98;letter-spacing:-.045em}
.sf-story__copy p,.sf-why-v8__grid>div>p{color:var(--dc-muted);font-size:1rem;line-height:1.8}
.sf-story__image,.sf-why-v8__grid figure{position:relative;min-height:520px;margin:0;overflow:hidden;border-radius:24px;box-shadow:0 24px 70px rgba(7,31,49,.14)}
.sf-story__image img,.sf-why-v8__grid figure img{width:100%;height:100%;min-height:520px;object-fit:cover}
.sf-story__image figcaption{position:absolute;right:18px;bottom:18px;padding:10px 14px;border-radius:999px;background:rgba(3,20,32,.86);color:#fff;font-size:.78rem;font-weight:800}
.sf-check-list{display:grid;gap:12px;margin:28px 0 0;padding:0;list-style:none}
.sf-check-list li{position:relative;padding-left:30px;color:var(--dc-ink);font-weight:800}
.sf-check-list li:before{content:'✓';position:absolute;left:0;top:-2px;color:#05bfe5;font-size:1.15rem}
.sf-page-v8 .sf-clean__grid article{min-height:285px}
.sf-project{background:#f3f8fb}
.sf-project__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sf-project__grid figure{position:relative;min-width:0;margin:0;overflow:hidden;border-radius:22px;background:#071f31;box-shadow:0 18px 42px rgba(7,31,49,.12)}
.sf-project__grid figure>span{position:absolute;z-index:2;top:16px;left:16px;padding:8px 12px;border-radius:999px;background:#00c7ef;color:#052033;font-size:.72rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.sf-project__grid img{display:block;width:100%;height:390px;object-fit:cover;transition:transform .35s ease}
.sf-project__grid figure:hover img{transform:scale(1.035)}
.sf-project__grid figcaption{min-height:86px;padding:20px;color:#fff;font-size:.9rem;line-height:1.55}
.sf-project__summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;margin-top:24px;padding:28px 30px;border:1px solid #cfe1e8;border-radius:20px;background:#fff}
.sf-project__summary h3{margin:0 0 8px;color:var(--dc-ink);font-size:1.2rem}
.sf-project__summary p{max-width:950px;margin:0;color:var(--dc-muted);line-height:1.7}
.sf-page-v8 .sf-process__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.sf-page-v8 .sf-process__grid article{min-height:340px}
.sf-why-v8__grid{grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr)}
.sf-why-list{display:grid;gap:0;margin:30px 0 0;padding:0;list-style:none;border-top:1px solid var(--dc-line)}
.sf-why-list li{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:22px 0;border-bottom:1px solid var(--dc-line)}
.sf-why-list strong{color:var(--dc-ink);font-size:1rem}
.sf-why-list span{color:var(--dc-muted);line-height:1.6}
.sf-gallery{background:#fff}
.sf-gallery__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.sf-gallery__grid figure{position:relative;grid-column:span 4;min-height:330px;margin:0;overflow:hidden;border-radius:20px;background:#071f31}
.sf-gallery__grid figure:nth-child(1),.sf-gallery__grid figure:nth-child(4){grid-column:span 7}
.sf-gallery__grid figure:nth-child(2),.sf-gallery__grid figure:nth-child(5){grid-column:span 5}
.sf-gallery__grid img{width:100%;height:100%;min-height:330px;object-fit:cover;transition:transform .35s ease}
.sf-gallery__grid figure:hover img{transform:scale(1.035)}
.sf-gallery__grid figcaption{position:absolute;left:14px;right:14px;bottom:14px;padding:12px 14px;border-radius:12px;background:rgba(3,20,32,.82);color:#fff;font-size:.78rem;font-weight:800;backdrop-filter:blur(8px)}
@media(max-width:980px){
  .sf-story__grid,.sf-why-v8__grid{grid-template-columns:1fr;gap:38px}
  .sf-story__image,.sf-story__image img,.sf-why-v8__grid figure,.sf-why-v8__grid figure img{min-height:420px}
  .sf-project__grid{grid-template-columns:1fr 1fr}
  .sf-project__grid figure:last-child{grid-column:1/-1}
  .sf-project__summary{grid-template-columns:1fr}
  .sf-gallery__grid figure,.sf-gallery__grid figure:nth-child(n){grid-column:span 6}
}
@media(max-width:650px){
  .sf-page-v8 .sf-hero-v8 .dc-hero__media{object-position:58% center}
  .sf-story__image,.sf-story__image img,.sf-why-v8__grid figure,.sf-why-v8__grid figure img{min-height:300px}
  .sf-project__grid{grid-template-columns:1fr}
  .sf-project__grid figure:last-child{grid-column:auto}
  .sf-project__grid img{height:300px}
  .sf-project__summary{padding:22px}
  .sf-why-list li{grid-template-columns:1fr;gap:8px}
  .sf-gallery__grid{grid-template-columns:1fr}
  .sf-gallery__grid figure,.sf-gallery__grid figure:nth-child(n){grid-column:auto;min-height:280px}
  .sf-gallery__grid img{min-height:280px}
}

/* =========================================================
   CraftCore v8.0.1 — Soffit & Fascia flagship review fixes
   ========================================================= */
body.page-template-page-soffit-fascia-cleaning-crewe .site-header .container{
  width:min(1320px,calc(100% - 48px));
  max-width:none;
}
body.page-template-page-soffit-fascia-cleaning-crewe .site-header .nav{
  min-height:88px;
  gap:26px;
}
body.page-template-page-soffit-fascia-cleaning-crewe .site-header .logo img,
body.page-template-page-soffit-fascia-cleaning-crewe .site-header .custom-logo{
  width:235px;
  max-height:58px;
}
body.page-template-page-soffit-fascia-cleaning-crewe .site-header .menu ul{
  gap:20px;
  margin-right:8px;
}
body.page-template-page-soffit-fascia-cleaning-crewe .site-header .menu a{
  white-space:nowrap;
}
body.page-template-page-soffit-fascia-cleaning-crewe .site-header .cc-whatsapp-pill{
  padding-inline:15px;
}

.sf-page-v8 .dc-section{padding-top:82px;padding-bottom:82px}
.sf-page-v8 .sf-story__grid,
.sf-page-v8 .sf-restore__layout,
.sf-page-v8 .sf-why-v8__grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:48px;
}
.sf-page-v8 .sf-story__copy h2,
.sf-page-v8 .sf-why-v8__grid h2{
  font-size:clamp(2.25rem,3.7vw,3.65rem);
  line-height:1.03;
}
.sf-page-v8 .sf-story__image,
.sf-page-v8 .sf-story__image img,
.sf-page-v8 .sf-restore figure,
.sf-page-v8 .sf-restore figure img,
.sf-page-v8 .sf-why-v8__grid figure,
.sf-page-v8 .sf-why-v8__grid figure img{
  min-height:470px;
  height:470px;
}
.sf-page-v8 .sf-story__image img,
.sf-page-v8 .sf-restore figure img,
.sf-page-v8 .sf-why-v8__grid figure img{object-fit:cover}

.sf-page-v8 .sf-clean__grid article{min-height:275px}
.sf-page-v8 .sf-project__summary{margin-top:18px}
.sf-page-v8 .sf-problems__layout{gap:54px}

.sf-page-v8 .sf-process__grid:before{display:none}
.sf-page-v8 .sf-process__grid article{
  min-height:0;
  padding:30px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.055);
}
.sf-page-v8 .sf-process__grid article>span{display:none}
.sf-page-v8 .sf-process__icon{
  width:52px;
  height:52px;
  margin:0 0 22px;
  border-radius:14px;
  box-shadow:none;
  background:#0b2a3d;
  font-size:.95rem;
}

.sf-page-v8 .sf-restore figure{box-shadow:0 20px 52px rgba(7,31,49,.11)}
.sf-page-v8 .sf-why-list li{grid-template-columns:180px 1fr;gap:22px;padding:18px 0}

.sf-page-v8 .sf-gallery__grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.sf-page-v8 .sf-gallery__grid figure,
.sf-page-v8 .sf-gallery__grid figure:nth-child(n){
  grid-column:auto;
  min-height:0;
  aspect-ratio:4/3;
  border-radius:18px;
}
.sf-page-v8 .sf-gallery__grid img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
}
.sf-page-v8 .sf-gallery__grid figcaption{
  left:12px;
  right:12px;
  bottom:12px;
  padding:10px 12px;
  font-size:.73rem;
}

@media(max-width:1120px){
  body.page-template-page-soffit-fascia-cleaning-crewe .site-header .container{width:min(100% - 32px,1180px)}
  body.page-template-page-soffit-fascia-cleaning-crewe .site-header .logo img,
  body.page-template-page-soffit-fascia-cleaning-crewe .site-header .custom-logo{width:205px}
  body.page-template-page-soffit-fascia-cleaning-crewe .site-header .menu ul{gap:15px}
  body.page-template-page-soffit-fascia-cleaning-crewe .site-header .menu a{font-size:13px}
}
@media(max-width:980px){
  .sf-page-v8 .dc-section{padding-top:68px;padding-bottom:68px}
  .sf-page-v8 .sf-story__grid,.sf-page-v8 .sf-restore__layout,.sf-page-v8 .sf-why-v8__grid{grid-template-columns:1fr;gap:32px}
  .sf-page-v8 .sf-story__image,.sf-page-v8 .sf-story__image img,.sf-page-v8 .sf-restore figure,.sf-page-v8 .sf-restore figure img,.sf-page-v8 .sf-why-v8__grid figure,.sf-page-v8 .sf-why-v8__grid figure img{height:390px;min-height:390px}
  .sf-page-v8 .sf-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .sf-page-v8 .dc-section{padding-top:54px;padding-bottom:54px}
  .sf-page-v8 .sf-story__image,.sf-page-v8 .sf-story__image img,.sf-page-v8 .sf-restore figure,.sf-page-v8 .sf-restore figure img,.sf-page-v8 .sf-why-v8__grid figure,.sf-page-v8 .sf-why-v8__grid figure img{height:285px;min-height:285px}
  .sf-page-v8 .sf-gallery__grid{grid-template-columns:1fr}
  .sf-page-v8 .sf-gallery__grid figure,.sf-page-v8 .sf-gallery__grid figure:nth-child(n){aspect-ratio:4/3}
  .sf-page-v8 .sf-why-list li{grid-template-columns:1fr;gap:6px}
}

/* CraftCore v8.0.2 — verified soffit/fascia review corrections */
html,body{max-width:100%;overflow-x:hidden}
.sf-page-v8,.sf-page-v8 *{box-sizing:border-box}

/* Hero: prevent horizontal drift and keep the content fully inside the viewport */
.sf-page-v8 .sf-hero-v8 .dc-container{
  width:min(1280px,calc(100% - 48px));
  max-width:100%;
}
.sf-page-v8 .sf-hero-v8 .dc-hero__layout{
  grid-template-columns:minmax(0,1fr) minmax(390px,460px);
  gap:44px;
}
.sf-page-v8 .sf-hero-v8 .dc-hero__copy{min-width:0}
.sf-page-v8 .sf-hero-v8 h1{font-size:clamp(3rem,5.35vw,5.55rem);max-width:760px}

/* Quote reassurance: one clean row, not a loose vertical stack */
.sf-page-v8 .dc-quote__proof{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;
  gap:8px;
  width:100%;
  margin-top:3px;
  padding-top:4px;
  text-align:center;
}
.sf-page-v8 .dc-quote__proof span{white-space:nowrap;font-size:.62rem}

/* Project section: tighter heading and a clear, honest three-stage sequence */
.sf-page-v8 .sf-project{padding-top:64px;padding-bottom:72px}
.sf-page-v8 .sf-project .dc-heading{margin-bottom:28px}
.sf-page-v8 .sf-project__grid img{height:360px}
.sf-page-v8 .sf-project__grid figure>span{max-width:calc(100% - 32px)}
.sf-page-v8 .sf-project__summary{
  grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr) auto;
  gap:26px;
  padding:24px 26px;
}
.sf-page-v8 .sf-project__summary .dc-kicker{margin-bottom:7px}
.sf-page-v8 .sf-project__summary h3{margin:0;font-size:1.25rem;line-height:1.2}
.sf-page-v8 .sf-project__summary ul{display:grid;gap:7px;margin:0;padding:0;list-style:none;color:var(--dc-muted);font-size:.84rem}
.sf-page-v8 .sf-project__summary li{position:relative;padding-left:21px}
.sf-page-v8 .sf-project__summary li:before{content:'✓';position:absolute;left:0;color:#00a8cf;font-weight:900}

/* Split sections: eliminate blank image areas and improve balance */
.sf-page-v8 .sf-restore__layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:54px}
.sf-page-v8 .sf-restore figure,
.sf-page-v8 .sf-why-v8__grid figure{height:500px;min-height:500px;margin:0;overflow:hidden;border-radius:22px;background:#e8eef1}
.sf-page-v8 .sf-restore figure img,
.sf-page-v8 .sf-why-v8__grid figure img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.sf-page-v8 .sf-restore figure img{object-position:center 42%}
.sf-page-v8 .sf-why-v8__grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:54px;align-items:center}
.sf-page-v8 .sf-why-v8__grid figure img{object-position:center}
.sf-page-v8 .sf-why-list{margin-top:24px}
.sf-page-v8 .sf-why-list li{grid-template-columns:170px 1fr;padding:15px 0}

/* Gallery: compact heading, consistent cards and no oversized empty lead-in */
.sf-page-v8 .sf-gallery{padding-top:64px;padding-bottom:72px}
.sf-page-v8 .sf-gallery .dc-heading{margin-bottom:28px}
.sf-page-v8 .sf-gallery__grid{gap:16px}
.sf-page-v8 .sf-gallery__grid figure,
.sf-page-v8 .sf-gallery__grid figure:nth-child(n){aspect-ratio:4/3;min-height:0;border-radius:18px}
.sf-page-v8 .sf-gallery__grid img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}

@media(max-width:1100px){
  .sf-page-v8 .sf-hero-v8 .dc-hero__layout{grid-template-columns:minmax(0,1fr) 390px;gap:30px}
  .sf-page-v8 .sf-hero-v8 h1{font-size:clamp(2.8rem,5.4vw,4.7rem)}
  .sf-page-v8 .sf-project__summary{grid-template-columns:1fr 1fr}
  .sf-page-v8 .sf-project__summary .dc-btn{grid-column:1/-1;justify-self:start}
}
@media(max-width:900px){
  .sf-page-v8 .sf-hero-v8 .dc-hero__layout{grid-template-columns:1fr}
  .sf-page-v8 .sf-hero-v8 .dc-container{width:min(100% - 32px,760px)}
  .sf-page-v8 .sf-project__summary{grid-template-columns:1fr}
  .sf-page-v8 .sf-project__summary .dc-btn{grid-column:auto}
  .sf-page-v8 .sf-restore__layout,.sf-page-v8 .sf-why-v8__grid{grid-template-columns:1fr;gap:30px}
  .sf-page-v8 .sf-restore figure,.sf-page-v8 .sf-why-v8__grid figure{height:390px;min-height:390px}
}
@media(max-width:560px){
  .sf-page-v8 .sf-hero-v8 .dc-container{width:calc(100% - 24px)}
  .sf-page-v8 .dc-quote__proof{grid-template-columns:1fr;justify-items:start;text-align:left;gap:5px}
  .sf-page-v8 .dc-quote__proof span{white-space:normal}
  .sf-page-v8 .sf-project__grid img{height:290px}
  .sf-page-v8 .sf-project__summary{padding:21px}
  .sf-page-v8 .sf-restore figure,.sf-page-v8 .sf-why-v8__grid figure{height:285px;min-height:285px}
}

/* v8.0.3 — Soffit hero benefit alignment */
.sf-page-v8 .sf-hero-v8 .dc-hero__ticks{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-rows:minmax(28px,auto) !important;
  column-gap:44px !important;
  row-gap:8px !important;
  width:100% !important;
  max-width:760px !important;
  margin:22px 0 0 !important;
  padding:0 !important;
}
.sf-page-v8 .sf-hero-v8 .dc-hero__ticks li{
  display:grid !important;
  grid-template-columns:18px minmax(0,1fr) !important;
  align-items:center !important;
  gap:8px !important;
  min-height:28px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.25 !important;
  white-space:normal !important;
}
.sf-page-v8 .sf-hero-v8 .dc-hero__ticks li::before{
  display:block !important;
  width:18px !important;
  margin:0 !important;
  text-align:center !important;
  line-height:1 !important;
}
@media (max-width:700px){
  .sf-page-v8 .sf-hero-v8 .dc-hero__ticks{
    grid-template-columns:1fr !important;
    row-gap:7px !important;
    max-width:none !important;
  }
}

/* CraftCore 8.0.4 — soffit flagship review corrections */
.sf-page-v8 .dc-process__grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.sf-page-v8 .dc-process__grid article{min-height:0}
.sf-page-v8 .sf-story__image img{object-position:center center}
@media(max-width:900px){.sf-page-v8 .dc-process__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){.sf-page-v8 .dc-process__grid{grid-template-columns:1fr!important}}

/* CraftCore 8.0.6 — definitive soffit hero reassurance alignment */
.sf-page-v8 .sf-hero-v8 .dc-hero__ticks{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:0 !important;
  width:100% !important;
  max-width:none !important;
  margin:26px 0 0 !important;
  padding:18px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.18) !important;
  list-style:none !important;
}
.sf-page-v8 .sf-hero-v8 .dc-hero__ticks li{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:9px !important;
  min-width:0 !important;
  min-height:42px !important;
  margin:0 !important;
  padding:0 16px !important;
  border-right:1px solid rgba(255,255,255,.13) !important;
  color:#eef7fa !important;
  font-size:.76rem !important;
  font-weight:850 !important;
  line-height:1.35 !important;
  text-align:left !important;
}
.sf-page-v8 .sf-hero-v8 .dc-hero__ticks li:first-child{padding-left:0 !important}
.sf-page-v8 .sf-hero-v8 .dc-hero__ticks li:last-child{padding-right:0 !important;border-right:0 !important}
.sf-page-v8 .sf-hero-v8 .dc-hero__ticks li::before{
  content:'✓' !important;
  flex:0 0 16px !important;
  display:block !important;
  width:16px !important;
  margin:1px 0 0 !important;
  color:var(--dc-cyan) !important;
  font-size:1rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-align:center !important;
}
@media(max-width:1100px){
  .sf-page-v8 .sf-hero-v8 .dc-hero__ticks{grid-template-columns:repeat(2,minmax(0,1fr)) !important;row-gap:12px !important}
  .sf-page-v8 .sf-hero-v8 .dc-hero__ticks li:nth-child(2){border-right:0 !important}
  .sf-page-v8 .sf-hero-v8 .dc-hero__ticks li:nth-child(3){padding-left:0 !important}
}
@media(max-width:650px){
  .sf-page-v8 .sf-hero-v8 .dc-hero__ticks{grid-template-columns:1fr !important;gap:8px !important;padding-top:15px !important}
  .sf-page-v8 .sf-hero-v8 .dc-hero__ticks li{min-height:0 !important;padding:0 !important;border-right:0 !important}
}


/* CraftCore 8.0.7 — varied soffit/fascia section rhythm and customer-friendly wording */
.sf-page-v8 .sf-story--benefits{background:#f5f9fb}
.sf-page-v8 .sf-story__intro{max-width:980px;margin:0 auto;text-align:center}
.sf-page-v8 .sf-story__intro h2{font-size:clamp(2.35rem,4.2vw,4.25rem);line-height:1.02;margin-inline:auto;max-width:900px}
.sf-page-v8 .sf-story__intro p{max-width:840px;margin-inline:auto}
.sf-page-v8 .sf-story__benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:42px}
.sf-page-v8 .sf-story__benefits article{padding:26px;border:1px solid #d7e5eb;border-radius:18px;background:#fff;box-shadow:0 14px 35px rgba(7,31,49,.055)}
.sf-page-v8 .sf-story__benefits strong{display:block;margin-bottom:9px;color:#08283a;font-size:1.02rem}
.sf-page-v8 .sf-story__benefits span{display:block;color:#5f7788;font-size:.9rem;line-height:1.6}

.sf-page-v8 .sf-restore{background:#061b2a;color:#fff}
.sf-page-v8 .sf-restore__panel{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:stretch;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:26px;background:#0b2a3d}
.sf-page-v8 .sf-restore__copy{padding:clamp(34px,5vw,72px)}
.sf-page-v8 .sf-restore__copy h2{color:#fff;font-size:clamp(2.3rem,4vw,4rem);line-height:1.02}
.sf-page-v8 .sf-restore__copy p{color:#bed0da}
.sf-page-v8 .sf-restore__panel figure{min-height:520px;margin:0;border-radius:0;overflow:hidden}
.sf-page-v8 .sf-restore__panel figure img{width:100%;height:100%;object-fit:cover;display:block}

.sf-page-v8 .sf-why-cards{background:#fff}
.sf-page-v8 .sf-why-cards__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);column-gap:60px;align-items:end;margin-bottom:34px}
.sf-page-v8 .sf-why-cards__head .dc-kicker{grid-column:1/-1}
.sf-page-v8 .sf-why-cards__head h2{font-size:clamp(2.35rem,4vw,4rem);line-height:1.02;margin:0}
.sf-page-v8 .sf-why-cards__head p{margin:0;color:#5f7788}
.sf-page-v8 .sf-why-cards__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sf-page-v8 .sf-why-cards__grid article{min-height:245px;padding:28px;border:1px solid #d7e5eb;border-radius:18px;background:#f7fafb}
.sf-page-v8 .sf-why-cards__grid article>span{display:block;margin-bottom:34px;color:#00a9d2;font-weight:900;letter-spacing:.12em}
.sf-page-v8 .sf-why-cards__grid h3{margin:0 0 12px;color:#08283a;font-size:1.18rem}
.sf-page-v8 .sf-why-cards__grid p{margin:0;color:#5f7788;font-size:.9rem;line-height:1.6}

@media(max-width:980px){
 .sf-page-v8 .sf-story__benefits,.sf-page-v8 .sf-why-cards__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sf-page-v8 .sf-restore__panel{grid-template-columns:1fr}
 .sf-page-v8 .sf-restore__panel figure{min-height:390px}
 .sf-page-v8 .sf-why-cards__head{grid-template-columns:1fr;gap:16px}
}
@media(max-width:620px){
 .sf-page-v8 .sf-story__benefits,.sf-page-v8 .sf-why-cards__grid{grid-template-columns:1fr}
 .sf-page-v8 .sf-story__benefits{margin-top:28px}
 .sf-page-v8 .sf-restore__copy{padding:30px 22px}
 .sf-page-v8 .sf-restore__panel figure{min-height:280px}
 .sf-page-v8 .sf-why-cards__grid article{min-height:0}
}

/* CraftCore 8.1.0 — integrated glass trust cards for the soffit/fascia hero */
.sf-page-v8 .sf-hero-v8{
  min-height:0;
  padding:64px 0 54px;
  box-shadow:none;
}
.sf-page-v8 .sf-hero-v8::after{box-shadow:none}
.sf-page-v8 .sf-hero-v8 .dc-hero__layout{align-items:center}
.sf-page-v8 .sf-hero-trust{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:34px;
}
.sf-page-v8 .sf-hero-trust article{
  display:grid;
  grid-template-columns:50px minmax(0,1fr);
  align-items:center;
  gap:15px;
  min-height:108px;
  padding:20px 20px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.035));
  box-shadow:0 14px 34px rgba(0,0,0,.16);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.sf-page-v8 .sf-hero-trust article:hover{
  transform:translateY(-3px);
  border-color:rgba(16,200,238,.42);
  background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.05));
}
.sf-page-v8 .sf-hero-trust__icon{
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  color:var(--dc-cyan);
}
.sf-page-v8 .sf-hero-trust__icon svg{
  width:38px;
  height:38px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.sf-page-v8 .sf-hero-trust strong{
  display:block;
  margin:0 0 5px;
  color:#fff;
  font-size:.96rem;
  line-height:1.2;
  letter-spacing:-.015em;
}
.sf-page-v8 .sf-hero-trust p{
  margin:0;
  color:#b9c9d3;
  font-size:.75rem;
  line-height:1.45;
}
.sf-page-v8 .sf-story--benefits{padding-top:76px}

@media(max-width:1050px){
  .sf-page-v8 .sf-hero-trust{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .sf-page-v8 .sf-hero-v8{padding-bottom:48px}
  .sf-page-v8 .sf-hero-trust{margin-top:28px}
}
@media(max-width:560px){
  .sf-page-v8 .sf-hero-v8{padding:34px 0 34px}
  .sf-page-v8 .sf-hero-trust{grid-template-columns:1fr;gap:9px;margin-top:22px}
  .sf-page-v8 .sf-hero-trust article{grid-template-columns:42px minmax(0,1fr);min-height:82px;padding:15px 16px;border-radius:14px}
  .sf-page-v8 .sf-hero-trust__icon{width:40px;height:40px}
  .sf-page-v8 .sf-hero-trust__icon svg{width:31px;height:31px}
  .sf-page-v8 .sf-story--benefits{padding-top:58px}
}
@media(prefers-reduced-motion:reduce){
  .sf-page-v8 .sf-hero-trust article{transition:none}
  .sf-page-v8 .sf-hero-trust article:hover{transform:none}
}

/* CraftCore 8.1.1 — hero layout correction: trust cards belong to the hero grid */
.sf-page-v8 .sf-hero-v8{
  padding:72px 0 56px;
  overflow:hidden;
}
.sf-page-v8 .sf-hero-v8 .dc-container{
  width:min(1380px,calc(100% - 48px));
}
.sf-page-v8 .sf-hero-v8 .dc-hero__layout{
  display:grid;
  grid-template-columns:minmax(430px,1fr) minmax(370px,430px);
  column-gap:54px;
  row-gap:34px;
  align-items:center;
}
.sf-page-v8 .sf-hero-v8 .dc-hero__copy{
  width:100%;
  max-width:760px;
}
.sf-page-v8 .sf-hero-v8 h1{
  max-width:720px;
  font-size:clamp(3.2rem,4.8vw,5.35rem);
  line-height:.96;
  text-wrap:balance;
}
.sf-page-v8 .sf-hero-v8 .dc-quote{
  width:100%;
  max-width:430px;
  justify-self:end;
}
.sf-page-v8 .sf-hero-trust{
  grid-column:1 / -1;
  width:100%;
  margin:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.sf-page-v8 .sf-hero-trust article{
  grid-template-columns:44px minmax(0,1fr);
  min-width:0;
  min-height:104px;
  padding:19px 20px;
}
.sf-page-v8 .sf-hero-trust strong{
  font-size:1rem;
  white-space:normal;
}
.sf-page-v8 .sf-hero-trust p{
  font-size:.78rem;
  line-height:1.42;
}

@media(max-width:1180px){
  .sf-page-v8 .sf-hero-v8 .dc-hero__layout{
    grid-template-columns:minmax(0,1fr) 390px;
    column-gap:34px;
  }
  .sf-page-v8 .sf-hero-v8 h1{font-size:clamp(3rem,5vw,4.65rem)}
  .sf-page-v8 .sf-hero-trust{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:920px){
  .sf-page-v8 .sf-hero-v8{padding:48px 0 42px}
  .sf-page-v8 .sf-hero-v8 .dc-container{width:min(760px,calc(100% - 32px))}
  .sf-page-v8 .sf-hero-v8 .dc-hero__layout{grid-template-columns:1fr;row-gap:28px}
  .sf-page-v8 .sf-hero-v8 .dc-hero__copy{max-width:none}
  .sf-page-v8 .sf-hero-v8 .dc-quote{max-width:none;justify-self:stretch}
  .sf-page-v8 .sf-hero-v8 h1{max-width:680px;font-size:clamp(2.85rem,8vw,4.5rem)}
  .sf-page-v8 .sf-hero-trust{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media(max-width:560px){
  .sf-page-v8 .sf-hero-v8{padding:34px 0}
  .sf-page-v8 .sf-hero-v8 .dc-container{width:calc(100% - 24px)}
  .sf-page-v8 .sf-hero-v8 h1{font-size:clamp(2.65rem,13vw,3.75rem);line-height:.98}
  .sf-page-v8 .sf-hero-trust{grid-template-columns:1fr;gap:9px}
  .sf-page-v8 .sf-hero-trust article{min-height:80px;padding:14px 16px}
}


/* v10.3.5 — Driveway authority and re-sanding content pass */
.dc-resanding{background:linear-gradient(180deg,#f5f9fb 0%,#fff 100%)}
.dc-resanding__layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);gap:70px;align-items:center}
.dc-resanding__copy h2{max-width:760px;margin:10px 0 18px}
.dc-resanding__copy p{max-width:760px;color:var(--dc-muted);line-height:1.75}
.dc-resanding__copy .dc-text-link{display:inline-block;margin-top:8px}
.dc-resanding__steps{display:grid;gap:12px}
.dc-resanding__steps article{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:22px;border:1px solid var(--dc-line);border-radius:16px;background:#fff;box-shadow:0 14px 36px rgba(7,31,49,.055)}
.dc-resanding__steps article>span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#e8f9fd;color:#087f99;font-size:.7rem;font-weight:950}
.dc-resanding__steps h3{margin:1px 0 6px;color:var(--dc-ink);font-size:1rem}
.dc-resanding__steps p{margin:0;color:var(--dc-muted);font-size:.83rem;line-height:1.6}
@media(max-width:900px){.dc-resanding__layout{grid-template-columns:1fr;gap:36px}.dc-resanding__copy p{max-width:820px}}
@media(max-width:650px){.dc-resanding__layout{gap:28px}.dc-resanding__steps article{grid-template-columns:40px 1fr;padding:18px;gap:14px}.dc-resanding__steps article>span{width:36px;height:36px}}


/* v10.3.6 — Driveway quote reassurance aligned with the service-page theme. */
.driveway-page-v10 .dc-hero .dc-quote__proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-column:1/-1;
  gap:8px;
  width:100%;
  margin:4px 0 0;
  padding:12px 0 0;
  border-top:1px solid #e3ebef;
  color:#536b79;
}
.driveway-page-v10 .dc-hero .dc-quote__proof span{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:#536b79;
  font-size:.66rem;
  font-weight:850;
  line-height:1.25;
  text-align:center;
  white-space:nowrap;
}
.driveway-page-v10 .dc-hero .dc-quote__proof span::before{
  content:'✓';
  color:#00a8cf;
  font-size:.78rem;
  font-weight:900;
  line-height:1;
}
@media(max-width:650px){
  .driveway-page-v10 .dc-hero .dc-quote__proof{
    grid-template-columns:1fr;
    gap:7px;
    padding-top:13px;
  }
  .driveway-page-v10 .dc-hero .dc-quote__proof span{
    justify-content:flex-start;
    text-align:left;
    white-space:normal;
  }
}

/* v10.3.7 — Centre the privacy strap beneath the Driveway form reassurance row. */
.driveway-page-v10 .dc-hero .craftcore-enquiry-form > small{
  grid-column:1/-1;
  display:block;
  width:100%;
  margin:2px 0 0;
  text-align:center;
}
@media(max-width:650px){
  .driveway-page-v10 .dc-hero .dc-quote__proof span{
    justify-content:center;
    text-align:center;
  }
}

/* Shared final-form trust label introduced in 10.3.11. */
.dc-final__eyebrow{
  margin-bottom:6px;
  color:var(--dc-accent,#00ccff);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.2;
  text-transform:uppercase;
}
\n\n/* ================================================================
   v10.3.12 — LOCKED SHARED SERVICE FORM SYSTEM
   These rules intentionally override legacy service-specific form
   adjustments. Every service hero form now uses identical sizing,
   spacing, typography, controls, proof row and responsive behaviour.
   Only the field label/options and tracking data may vary by service.
   ================================================================ */
.dc-page .dc-hero .dc-quote,
.driveway-page-v10 .dc-hero .dc-quote,
.patio-page-v10 .dc-hero .dc-quote,
.gutter-page-v10 .dc-hero .dc-quote,
.render-page-v10 .dc-hero .dc-quote,
.sf-page-v8 .dc-hero .dc-quote{
  width:100%!important;
  max-width:420px!important;
  justify-self:end!important;
  padding:27px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.25)!important;
  color:var(--dc-ink)!important;
}
.dc-page .dc-hero .dc-quote__topline{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.dc-page .dc-hero .dc-quote__label{color:#008dab!important;font-size:.71rem!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.dc-page .dc-hero .dc-quote__rating{color:#087f99!important;font-size:.66rem!important;font-weight:900!important;letter-spacing:.025em!important;white-space:nowrap!important}
.dc-page .dc-hero .dc-quote h2{margin:8px 0!important;font-size:2rem!important;line-height:1.08!important}
.dc-page .dc-hero .dc-quote>p{margin:0 0 20px!important;color:var(--dc-muted)!important;font-size:.86rem!important;line-height:1.55!important}
.dc-page .dc-hero .dc-quote .craftcore-enquiry-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
.dc-page .dc-hero .dc-quote label{display:grid!important;gap:6px!important;margin:0!important;color:#294455!important;font-size:.72rem!important;font-weight:850!important}
.dc-page .dc-hero .dc-quote label>span{margin:0!important;font-size:.72rem!important;line-height:1.25!important;letter-spacing:0!important}
.dc-page .dc-hero .dc-quote label:nth-of-type(3),
.dc-page .dc-hero .dc-quote label:nth-of-type(4),
.dc-page .dc-hero .dc-quote .craftcore-enquiry-form>.dc-btn,
.dc-page .dc-hero .dc-quote .dc-quote__proof,
.dc-page .dc-hero .dc-quote .craftcore-enquiry-form>small{grid-column:1/-1!important}
.dc-page .dc-hero .dc-quote input,
.dc-page .dc-hero .dc-quote select{width:100%!important;height:45px!important;min-height:45px!important;padding:0 12px!important;border:1px solid #cad9e1!important;border-radius:9px!important;background:#fff!important;color:var(--dc-ink)!important;font:inherit!important;box-shadow:none!important}
.dc-page .dc-hero .dc-quote input:focus,
.dc-page .dc-hero .dc-quote select:focus{outline:0!important;border-color:var(--dc-cyan)!important;box-shadow:var(--dc-focus-ring)!important}
.dc-page .dc-hero .dc-quote .craftcore-enquiry-form>.dc-btn{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:48px!important;margin:0!important;border:0!important;border-radius:9px!important;font-size:.82rem!important;cursor:pointer!important}
.dc-page .dc-hero .dc-quote__proof{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:center!important;gap:7px!important;padding:0!important;border:0!important;color:#647786!important;text-align:center!important;font-size:.66rem!important;font-weight:850!important}
.dc-page .dc-hero .dc-quote__proof span{display:block!important;padding:0!important;font-size:.66rem!important;line-height:1.35!important;white-space:normal!important}
.dc-page .dc-hero .dc-quote__proof span::before{content:none!important;display:none!important}
.dc-page .dc-hero .dc-quote .craftcore-enquiry-form>small{display:block!important;margin:0!important;color:#748694!important;text-align:center!important;font-size:.7rem!important;line-height:1.45!important}
@media(max-width:900px){
  .dc-page .dc-hero .dc-quote,
  .driveway-page-v10 .dc-hero .dc-quote,
  .patio-page-v10 .dc-hero .dc-quote,
  .gutter-page-v10 .dc-hero .dc-quote,
  .render-page-v10 .dc-hero .dc-quote,
  .sf-page-v8 .dc-hero .dc-quote{max-width:none!important;justify-self:stretch!important}
}
@media(max-width:650px){
  .dc-page .dc-hero .dc-quote,
  .driveway-page-v10 .dc-hero .dc-quote,
  .patio-page-v10 .dc-hero .dc-quote,
  .gutter-page-v10 .dc-hero .dc-quote,
  .render-page-v10 .dc-hero .dc-quote,
  .sf-page-v8 .dc-hero .dc-quote{padding:21px!important}
  .dc-page .dc-hero .dc-quote .craftcore-enquiry-form{grid-template-columns:1fr!important}
  .dc-page .dc-hero .dc-quote label,
  .dc-page .dc-hero .dc-quote label:nth-of-type(3),
  .dc-page .dc-hero .dc-quote label:nth-of-type(4),
  .dc-page .dc-hero .dc-quote .craftcore-enquiry-form>.dc-btn,
  .dc-page .dc-hero .dc-quote .dc-quote__proof,
  .dc-page .dc-hero .dc-quote .craftcore-enquiry-form>small{grid-column:1!important}
}
@media(max-width:390px){
  .dc-page .dc-hero .dc-quote__topline{align-items:flex-start!important;flex-direction:column!important;gap:5px!important}
  .dc-page .dc-hero .dc-quote__proof{grid-template-columns:1fr!important;text-align:left!important}
}

/* ================================================================
   v10.3.13 — CENTRED FORM FOOTER / STRAPLINE
   Keep the reassurance row and privacy strap centred on every shared
   service form, including narrow mobile screens.
   ================================================================ */
.dc-page .dc-hero .dc-quote .dc-quote__proof,
.dc-page .dc-hero .dc-quote .craftcore-enquiry-form > small,
.dc-page .dc-final__form .dc-final__reassurance,
.dc-page .dc-final__form .craftcore-enquiry-form > small {
  width:100%!important;
  justify-content:center!important;
  justify-items:center!important;
  text-align:center!important;
}
.dc-page .dc-hero .dc-quote .dc-quote__proof span,
.dc-page .dc-final__form .dc-final__reassurance span {
  text-align:center!important;
}
@media(max-width:650px){
  .dc-page .dc-hero .dc-quote .dc-quote__proof,
  .dc-page .dc-final__form .dc-final__reassurance {
    justify-content:center!important;
    justify-items:center!important;
    text-align:center!important;
  }
}
@media(max-width:390px){
  .dc-page .dc-hero .dc-quote__proof {
    text-align:center!important;
  }
}

/* CraftCore 10.3.30 — refined reusable final contact actions */
.dc-final__contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px;max-width:640px}
.dc-final__contact-btn{display:flex;align-items:center;gap:13px;min-height:68px;padding:13px 16px;border:1px solid transparent;border-radius:14px;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.dc-final__contact-btn svg{flex:0 0 24px;width:24px;height:24px;fill:currentColor}
.dc-final__contact-btn span{display:grid;gap:2px;color:inherit;font-size:.82rem;font-weight:900;line-height:1.2}
.dc-final__contact-btn small{color:inherit;font-size:.62rem;font-weight:750;letter-spacing:.02em;opacity:.75}
.dc-final__contact-btn--whatsapp{background:#25d366;color:#062d18!important;box-shadow:0 12px 28px rgba(37,211,102,.18)}
.dc-final__contact-btn--phone{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff!important;box-shadow:0 12px 28px rgba(0,0,0,.16);backdrop-filter:blur(8px)}
.dc-final__contact-btn:hover{transform:translateY(-2px)}
.dc-final__contact-btn--whatsapp:hover{background:#38df77;box-shadow:0 16px 34px rgba(37,211,102,.25)}
.dc-final__contact-btn--phone:hover{border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.16);box-shadow:0 16px 34px rgba(0,0,0,.22)}
.dc-final__contact-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:650px){.dc-final__contact{grid-template-columns:1fr}.dc-final__contact-btn{min-height:64px}}


/* CraftCore 10.3.31 — driveway hierarchy and alignment refinements */
/* Make the hero trust message read as a deliberate badge, not loose text. */
.dc-page .dc-hero .dc-quote__rating{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:6px 9px!important;
  border:1px solid rgba(0,141,171,.18)!important;
  border-radius:999px!important;
  background:rgba(16,200,238,.10)!important;
  color:#076f87!important;
  line-height:1!important;
}
.dc-page .dc-hero .dc-quote__rating::before{
  content:'✓';
  display:grid;
  place-items:center;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#0aa9c9;
  color:#fff;
  font-size:.62rem;
  font-weight:950;
}

/* Align the driveway story image with the full copy block. */
.driveway-page-v10 .dc-intro__layout{align-items:stretch}
.driveway-page-v10 .dc-intro__image{
  align-self:stretch;
  height:auto;
  min-height:410px;
}
.driveway-page-v10 .dc-intro__image img{height:100%}

/* Three equal assessment points remove the previous 2 + 1 imbalance. */
.driveway-page-v10 .dc-intro__points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:22px;
}
.driveway-page-v10 .dc-intro__points span{
  display:flex;
  align-items:center;
  min-height:58px;
  padding:11px 13px;
  border-radius:12px;
  line-height:1.35;
}
.driveway-page-v10 .dc-intro__points span::before{
  content:'✓';
  display:grid;
  flex:0 0 20px;
  width:20px;
  height:20px;
  margin-right:9px;
  place-items:center;
  border-radius:50%;
  background:rgba(16,200,238,.13);
  color:#008dac;
  font-size:.7rem;
  font-weight:950;
}

/* Give the final form trust label and service strap a clear hierarchy. */
.dc-final__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  margin:0 0 12px;
  padding:7px 10px;
  border:1px solid rgba(0,151,184,.18);
  border-radius:999px;
  background:rgba(16,200,238,.11);
  color:#087f99;
  font-size:.67rem;
  letter-spacing:.09em;
}
.dc-final__eyebrow::before{
  content:'✓';
  display:grid;
  width:17px;
  height:17px;
  place-items:center;
  border-radius:50%;
  background:#079fbe;
  color:#fff;
  font-size:.62rem;
  font-weight:950;
}
.dc-final__form-head h3{margin-bottom:8px}
.dc-final__form-head .dc-final__service-strap{
  margin:0 0 9px;
  color:#173d52;
  font-size:.75rem;
  font-weight:850;
  letter-spacing:0;
  line-height:1.45;
}
.dc-final__form-head>span{max-width:34rem}

@media(max-width:850px){
  .driveway-page-v10 .dc-intro__image{min-height:0;aspect-ratio:16/10}
}
@media(max-width:650px){
  .driveway-page-v10 .dc-intro__points{grid-template-columns:1fr}
  .driveway-page-v10 .dc-intro__points span{min-height:0}
  .dc-page .dc-hero .dc-quote__topline{align-items:center!important;flex-direction:row!important}
}
@media(max-width:390px){
  .dc-page .dc-hero .dc-quote__topline{align-items:flex-start!important;flex-direction:column!important}
}


/* CraftCore 10.3.32 — final driveway form and content alignment refinements */
/* Keep the compact hero form status labels clean and on one line. */
.driveway-page-v10 .dc-hero .dc-quote__topline{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.driveway-page-v10 .dc-hero .dc-quote__label,
.driveway-page-v10 .dc-hero .dc-quote__rating{
  white-space:nowrap!important;
}
.driveway-page-v10 .dc-hero .dc-quote__label{
  font-size:.68rem!important;
  line-height:1!important;
}
.driveway-page-v10 .dc-hero .dc-quote__rating{
  flex:0 0 auto;
  font-size:.64rem!important;
}

/* Align the project image to the full text block rather than vertically centring it. */
.driveway-page-v10 .dc-project__layout{align-items:stretch}
.driveway-page-v10 .dc-project__image{
  align-self:stretch;
  height:auto;
  min-height:430px;
}
.driveway-page-v10 .dc-project__image img{height:100%}

/* Keep the sealing checkpoints concise and visually even on desktop. */
.driveway-page-v10 .dc-sealing__panel ul{gap:10px}
.driveway-page-v10 .dc-sealing__panel li{
  display:flex;
  align-items:center;
  min-height:34px;
  white-space:nowrap;
}
.driveway-page-v10 .dc-sealing__panel li::before{flex:0 0 auto}

@media(max-width:850px){
  .driveway-page-v10 .dc-project__image{min-height:0;aspect-ratio:16/10}
}
@media(max-width:650px){
  .driveway-page-v10 .dc-hero .dc-quote__topline{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:7px!important;
  }
  .driveway-page-v10 .dc-sealing__panel li{white-space:normal}
}

/* CraftCore 10.3.33 — final Driveway hero spacing polish */
/* Give the quotation card a clean lower edge and preserve breathing room before the proof strip. */
.driveway-page-v10 .dc-hero{
  padding-bottom:124px;
}
.driveway-page-v10 .dc-hero .dc-quote{
  padding-bottom:35px!important;
}
@media(max-width:650px){
  .driveway-page-v10 .dc-hero{
    padding-bottom:82px;
  }
  .driveway-page-v10 .dc-hero .dc-quote{
    padding-bottom:29px!important;
  }
}


/* CraftCore 10.3.34 — shared service conversion component rollout
   The approved Driveway hero-card spacing, labels and lower-edge breathing
   room now apply consistently to Patio, Render, Gutter, Soffit & Fascia and
   Solar while preserving each service's unique copy and fields. */
.driveway-page-v10 .dc-hero,
.patio-page-v10 .dc-hero,
.render-page-v10 .dc-hero,
.gutter-page-v10 .dc-hero,
.sf-page-v8 .dc-hero,
.solar-page-v1 .dc-hero{
  padding-bottom:124px;
}
.driveway-page-v10 .dc-hero .dc-quote,
.patio-page-v10 .dc-hero .dc-quote,
.render-page-v10 .dc-hero .dc-quote,
.gutter-page-v10 .dc-hero .dc-quote,
.sf-page-v8 .dc-hero .dc-quote,
.solar-page-v1 .dc-hero .dc-quote{
  padding-bottom:35px!important;
}
.dc-page .dc-hero .dc-quote__label,
.dc-page .dc-hero .dc-quote__rating{
  white-space:nowrap!important;
}
.dc-page .dc-hero .dc-quote__label{
  font-size:.68rem!important;
  line-height:1!important;
}
.dc-page .dc-hero .dc-quote__rating{
  flex:0 0 auto;
  font-size:.64rem!important;
}
@media(max-width:650px){
  .driveway-page-v10 .dc-hero,
  .patio-page-v10 .dc-hero,
  .render-page-v10 .dc-hero,
  .gutter-page-v10 .dc-hero,
  .sf-page-v8 .dc-hero,
  .solar-page-v1 .dc-hero{
    padding-bottom:82px;
  }
  .driveway-page-v10 .dc-hero .dc-quote,
  .patio-page-v10 .dc-hero .dc-quote,
  .render-page-v10 .dc-hero .dc-quote,
  .gutter-page-v10 .dc-hero .dc-quote,
  .sf-page-v8 .dc-hero .dc-quote,
  .solar-page-v1 .dc-hero .dc-quote{
    padding-bottom:29px!important;
  }
  .dc-page .dc-hero .dc-quote__topline{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:7px!important;
  }
}


/* CraftCore 10.3.35 — correct hero-to-proof external clearance
   The previous pass added padding inside the quote card, but the visible clash
   was caused by the proof strip being pulled too far over the hero. Reduce the
   overlap so the form has a deliberate dark breathing space beneath it. */
.dc-page .dc-proof{
  margin-top:-14px;
}
@media(max-width:650px){
  .dc-page .dc-proof{
    margin-top:-8px;
  }
}


/* CraftCore 10.3.36 — Driveway final visual QA
   Final hero polish before the Patio content batch: stronger hierarchy,
   accessible interaction states and a clearly identifiable WhatsApp action. */
.driveway-page-v10 .dc-hero__shade{
  background:linear-gradient(90deg,rgba(3,16,27,.985) 0%,rgba(4,22,35,.94) 48%,rgba(4,22,35,.68) 100%);
}
.driveway-page-v10 .dc-hero h1{
  line-height:.96;
  text-wrap:balance;
}
.driveway-page-v10 .dc-hero__lead{
  max-width:720px;
}
.driveway-page-v10 .dc-btn{
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.driveway-page-v10 .dc-btn:hover{
  transform:translateY(-2px);
}
.driveway-page-v10 .dc-btn--whatsapp{
  gap:9px;
}
.driveway-page-v10 .dc-btn--whatsapp .dc-btn__icon{
  flex:0 0 auto;
  display:block;
}
.driveway-page-v10 .dc-hero .dc-quote input,
.driveway-page-v10 .dc-hero .dc-quote select{
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.driveway-page-v10 .dc-hero .dc-quote input:hover,
.driveway-page-v10 .dc-hero .dc-quote select:hover{
  border-color:#9db8c7;
}
.driveway-page-v10 .dc-hero .dc-quote input:focus,
.driveway-page-v10 .dc-hero .dc-quote select:focus{
  border-color:#00acd2;
  box-shadow:0 0 0 4px rgba(16,200,238,.16);
  background:#fff;
}
.driveway-page-v10 .dc-surface-card,
.driveway-page-v10 .dc-why__grid article,
.driveway-page-v10 .dc-process__grid article{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.driveway-page-v10 .dc-surface-card:hover,
.driveway-page-v10 .dc-why__grid article:hover,
.driveway-page-v10 .dc-process__grid article:hover{
  transform:translateY(-3px);
  border-color:#bddce7;
  box-shadow:0 18px 42px rgba(7,35,53,.09);
}
@media(max-width:650px){
  .driveway-page-v10 .dc-hero h1{line-height:1}
  .driveway-page-v10 .dc-btn--whatsapp{gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .driveway-page-v10 .dc-btn,
  .driveway-page-v10 .dc-surface-card,
  .driveway-page-v10 .dc-why__grid article,
  .driveway-page-v10 .dc-process__grid article,
  .driveway-page-v10 .dc-hero .dc-quote input,
  .driveway-page-v10 .dc-hero .dc-quote select{transition:none}
  .driveway-page-v10 .dc-btn:hover,
  .driveway-page-v10 .dc-surface-card:hover,
  .driveway-page-v10 .dc-why__grid article:hover,
  .driveway-page-v10 .dc-process__grid article:hover{transform:none}
}

/* CraftCore 10.3.37 — Patio alignment refinements
   Align the two image-led sections and remove the desktop 2 + 1 point layout. */
.patio-page-v10 .dc-intro__layout{
  align-items:stretch;
}
.patio-page-v10 .dc-intro__image{
  align-self:stretch;
  height:auto;
  min-height:410px;
}
.patio-page-v10 .dc-intro__image img{
  height:100%;
}
.patio-page-v10 .dc-intro__points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:22px;
}
.patio-page-v10 .dc-intro__points span{
  display:flex;
  align-items:center;
  min-height:58px;
  padding:11px 13px;
  border-radius:12px;
  line-height:1.35;
}
.patio-page-v10 .dc-intro__points span::before{
  content:'✓';
  display:grid;
  flex:0 0 20px;
  width:20px;
  height:20px;
  margin-right:9px;
  place-items:center;
  border-radius:50%;
  background:rgba(16,200,238,.13);
  color:#008dac;
  font-size:.7rem;
  font-weight:950;
}
.patio-page-v10 .dc-project__layout{
  align-items:stretch;
}
.patio-page-v10 .dc-project__image{
  align-self:stretch;
  height:auto;
  min-height:430px;
}
.patio-page-v10 .dc-project__image img{
  height:100%;
}
@media(max-width:850px){
  .patio-page-v10 .dc-intro__image,
  .patio-page-v10 .dc-project__image{
    min-height:0;
    aspect-ratio:16/10;
  }
}
@media(max-width:650px){
  .patio-page-v10 .dc-intro__points{
    grid-template-columns:1fr;
  }
  .patio-page-v10 .dc-intro__points span{
    min-height:0;
  }
}

/* CraftCore 10.3.41 — shared split-heading geometry
   Give service-page headings the full container width and a deliberate two-column balance. */
.dc-page .dc-heading--split{
  width:100%;
  max-width:none;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:clamp(38px,5vw,72px);
  align-items:end;
}
.dc-page .dc-heading--split > div,
.dc-page .dc-heading--split > p{
  min-width:0;
  max-width:none;
}
.dc-page .dc-heading--split > div{
  width:100%;
}
.dc-page .dc-heading--split h2{
  max-width:780px;
  text-wrap:balance;
}
.dc-page .dc-heading--split > p{
  width:100%;
  margin:0 0 7px;
  justify-self:stretch;
  text-align:left;
  line-height:1.75;
}
@media(max-width:850px){
  .dc-page .dc-heading--split{
    grid-template-columns:1fr;
    gap:14px;
    align-items:start;
  }
  .dc-page .dc-heading--split h2,
  .dc-page .dc-heading--split > p{
    max-width:720px;
  }
  .dc-page .dc-heading--split > p{
    margin-bottom:0;
  }
}

/* CraftCore 10.3.42 — definitive shared service-heading proportions
   Long service headings get enough room to stay to two lines, while the
   supporting copy begins alongside the heading rather than floating at its base. */
.dc-page .dc-heading--split{
  grid-template-columns:minmax(0,1.62fr) minmax(330px,.88fr);
  column-gap:clamp(42px,5vw,68px);
  align-items:start;
}
.dc-page .dc-heading--split h2{
  max-width:820px;
  margin-bottom:0;
  font-size:clamp(2.35rem,3.35vw,3.55rem);
  line-height:1.04;
  text-wrap:balance;
}
.dc-page .dc-heading--split > p{
  max-width:500px;
  margin:32px 0 0;
  justify-self:end;
  align-self:start;
  font-size:clamp(.96rem,1.15vw,1.05rem);
  line-height:1.7;
}
@media(max-width:980px){
  .dc-page .dc-heading--split{
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);
    column-gap:34px;
  }
  .dc-page .dc-heading--split h2{
    font-size:clamp(2.25rem,4.6vw,3.15rem);
  }
}
@media(max-width:850px){
  .dc-page .dc-heading--split{
    grid-template-columns:1fr;
    gap:14px;
  }
  .dc-page .dc-heading--split h2{
    max-width:760px;
    margin-bottom:0;
  }
  .dc-page .dc-heading--split > p{
    max-width:720px;
    margin:0;
    justify-self:start;
    font-size:.98rem;
  }
}


/* CraftCore 10.3.43 — reusable wide-title service heading
   Use for longer service headings that need a calm two-line measure while
   retaining a generous, readable supporting-copy column. */
.dc-page .dc-heading--split.dc-heading--wide-title{
  grid-template-columns:minmax(0,1.9fr) minmax(300px,.78fr);
  column-gap:clamp(34px,4vw,58px);
}
.dc-page .dc-heading--split.dc-heading--wide-title h2{
  max-width:850px;
  font-size:clamp(2.2rem,3vw,3.15rem);
  line-height:1.06;
}
.dc-page .dc-heading--split.dc-heading--wide-title > p{
  max-width:440px;
  margin-top:28px;
  font-size:clamp(1rem,1.08vw,1.08rem);
}
@media(max-width:980px){
  .dc-page .dc-heading--split.dc-heading--wide-title{
    grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);
    column-gap:30px;
  }
  .dc-page .dc-heading--split.dc-heading--wide-title h2{
    font-size:clamp(2.15rem,4.25vw,2.9rem);
  }
}
@media(max-width:850px){
  .dc-page .dc-heading--split.dc-heading--wide-title{
    grid-template-columns:1fr;
    gap:14px;
  }
  .dc-page .dc-heading--split.dc-heading--wide-title > p{
    max-width:720px;
    margin-top:0;
  }
}


/* CraftCore 10.3.44 — soffit/fascia sign-off heading geometry
   Keeps gallery and FAQ titles to a calm two-line measure and places the
   supporting copy in a genuinely useful right-hand column. The modifier
   remains reusable by any service section with the same editorial pattern. */
.dc-page .dc-heading--split.dc-heading--soffit-signoff{
  grid-template-columns:minmax(0,1.72fr) minmax(360px,.9fr);
  column-gap:clamp(40px,5vw,72px);
  align-items:start;
}
.dc-page .dc-heading--split.dc-heading--soffit-signoff h2{
  max-width:780px;
  margin:0;
  font-size:clamp(2.25rem,3vw,3.15rem);
  line-height:1.06;
  text-wrap:pretty;
}
.dc-page .dc-heading--split.dc-heading--soffit-signoff > p{
  width:100%;
  max-width:500px;
  margin:30px 0 0;
  justify-self:end;
  align-self:start;
  font-size:clamp(1rem,1.1vw,1.08rem);
  line-height:1.7;
  text-align:left;
}
@media(max-width:980px){
  .dc-page .dc-heading--split.dc-heading--soffit-signoff{
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);
    column-gap:32px;
  }
  .dc-page .dc-heading--split.dc-heading--soffit-signoff h2{
    font-size:clamp(2.1rem,4.15vw,2.8rem);
  }
}
@media(max-width:850px){
  .dc-page .dc-heading--split.dc-heading--soffit-signoff{
    grid-template-columns:1fr;
    gap:14px;
  }
  .dc-page .dc-heading--split.dc-heading--soffit-signoff h2,
  .dc-page .dc-heading--split.dc-heading--soffit-signoff > p{
    max-width:720px;
  }
  .dc-page .dc-heading--split.dc-heading--soffit-signoff > p{
    margin-top:0;
    justify-self:start;
  }
}
