.site-page{--site-width:1180px;--site-gap:28px}.site-inner{width:min(var(--site-width),calc(100% - 40px));margin:0 auto}.site-prose-narrow{max-width:850px}.site-eyebrow{display:block;font-size:.78rem;line-height:1.2;font-weight:700;letter-spacing:.09em;text-transform:uppercase;opacity:.68;margin-bottom:10px}.site-section-head{max-width:760px;margin-bottom:28px}.site-section-head h2{margin:0 0 10px}.site-section{padding:68px 0}.site-soft{background:rgba(127,127,127,.055)}
.site-hero{padding:70px 0 58px}.site-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);gap:48px;align-items:center}.site-hero-copy h1{margin:0 0 12px}.site-postcode{display:inline-flex;align-items:center;gap:6px;margin:0 0 18px;font-weight:600;opacity:.72}.site-hero-image{margin:0;overflow:hidden;border-radius:10px;aspect-ratio:4/3}.site-hero-image img{display:block;width:100%;height:100%;object-fit:cover}.site-evidence{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.site-evidence span{padding:8px 11px;border:1px solid rgba(127,127,127,.23);border-radius:999px;font-size:.92em}.site-actions-public{margin-top:22px}.site-button{display:inline-block;padding:13px 22px;border:1px solid currentColor;border-radius:5px;text-decoration:none;font-weight:650}.site-button:hover{text-decoration:none}
.site-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.site-service-card{border:1px solid rgba(127,127,127,.2);border-radius:8px;overflow:hidden;background:var(--content_bg_color,#fff)}.site-service-image-link{display:block;aspect-ratio:4/3;overflow:hidden}.site-service-image-link img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.site-service-card:hover img{transform:scale(1.025)}.site-service-card-body{padding:20px}.site-service-card h3{margin:0 0 9px}.site-service-card h3 a,.site-arrow-link{text-decoration:none}.site-service-card p{margin:0 0 14px;opacity:.82}.site-arrow-link{font-weight:650}
.site-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);gap:48px;align-items:center}.site-body-image{margin:0}.site-body-image img{display:block;width:100%;height:auto;border-radius:8px}.site-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.site-process-grid article{border-top:3px solid currentColor;padding:20px 4px 0}.site-step-no{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font-weight:700;margin-bottom:12px}.site-process-grid h3{margin:0 0 8px}.site-process-grid p{margin:0;opacity:.8}
.site-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.site-project-card{border:1px solid rgba(127,127,127,.2);border-radius:8px;overflow:hidden}.site-project-image{aspect-ratio:4/3;overflow:hidden}.site-project-image img{width:100%;height:100%;object-fit:cover;display:block}.site-project-body{padding:18px 20px}.site-project-body small{display:block;opacity:.66;margin-bottom:5px}.site-project-body h3{margin:0 0 8px}.site-project-body h3 a{text-decoration:none}.site-project-body p{margin:0}.site-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.site-gallery img{width:100%;height:260px;object-fit:cover;border-radius:6px;display:block}
.site-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.site-review-card{margin:0;border:1px solid rgba(127,127,127,.2);border-radius:8px;padding:26px}.site-stars{letter-spacing:.08em;margin-bottom:12px}.site-review-card p{font-size:1.05em;margin:0 0 18px}.site-review-card footer strong,.site-review-card footer small{display:block}.site-review-card footer small{opacity:.66;margin-top:3px}
.site-faq-list details{border-top:1px solid rgba(127,127,127,.25);padding:16px 0}.site-faq-list details:last-child{border-bottom:1px solid rgba(127,127,127,.25)}.site-faq-list summary{cursor:pointer;font-weight:650;font-size:1.05em}.site-faq-answer{padding-top:10px}.site-nearby-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.site-nearby-card{border:1px solid rgba(127,127,127,.2);border-radius:7px;padding:17px 18px}.site-nearby-card a{display:block;font-weight:650;text-decoration:none}.site-nearby-card small{display:block;margin-top:4px;opacity:.64}.site-final-cta{padding:66px 0;text-align:center;border-top:1px solid rgba(127,127,127,.15)}.site-final-cta .site-inner{max-width:800px}.site-final-cta h2{margin-top:0}
@media(max-width:980px){.site-hero-grid,.site-split{grid-template-columns:1fr}.site-service-grid,.site-project-grid,.site-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-process-grid,.site-nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.site-inner{width:min(var(--site-width),calc(100% - 28px))}.site-hero,.site-section,.site-final-cta{padding-top:42px;padding-bottom:42px}.site-service-grid,.site-project-grid,.site-review-grid,.site-process-grid,.site-nearby-grid,.site-gallery{grid-template-columns:1fr}.site-hero-grid,.site-split{gap:28px}.site-gallery img{height:auto}}
.site-person-card{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:32px;align-items:center;padding:28px;border:1px solid rgba(0,0,0,.1);border-radius:18px}.site-person-photo img{width:100%;height:auto;border-radius:14px;display:block}.site-person-role{display:block;margin:0 0 12px}.site-final-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:48px;align-items:start}.site-contact-form{background:#fff;color:#222;padding:30px;border:1px solid rgba(127,127,127,.18);border-radius:12px}.site-mobile-actions{display:none}@media(max-width:767px){.site-person-card,.site-final-grid{grid-template-columns:1fr}.site-mobile-actions{display:block;padding:0 0 34px}.site-mobile-actions a{display:flex;align-items:center;justify-content:center;gap:12px;width:min(100% - 28px,720px);margin:0 auto;min-height:58px;padding:12px 18px;border-radius:8px;background:#20b45a;color:#fff!important;text-decoration:none!important;font-size:15px;line-height:1.15}.site-mobile-actions a strong{display:block;font-size:15px}.site-mobile-actions a small{display:block;margin-top:3px;font-size:11px;font-weight:500;opacity:.92}.site-wa-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#20b45a;font-size:20px;font-weight:800;flex:0 0 34px}}

/* v0.10 answerability + semantic pricing */
.site-quick-answers{padding-top:42px;padding-bottom:42px;border-top:1px solid rgba(127,127,127,.15);border-bottom:1px solid rgba(127,127,127,.15)}
.site-answer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.site-answer-grid article{border:1px solid rgba(127,127,127,.2);border-radius:8px;padding:22px;background:var(--content_bg_color,#fff)}.site-answer-grid h3{margin:0 0 9px;font-size:1.05em}.site-answer-grid p{margin:0;opacity:.86}
.site-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:24px;border:1px solid rgba(127,127,127,.2);border-radius:8px}.site-price-table{width:100%;min-width:720px;border-collapse:collapse;margin:0}.site-price-table th,.site-price-table td{text-align:left;vertical-align:top;padding:15px 18px;border-bottom:1px solid rgba(127,127,127,.18)}.site-price-table thead th{font-weight:700;background:rgba(127,127,127,.07)}.site-price-table tbody tr:last-child th,.site-price-table tbody tr:last-child td{border-bottom:0}.site-price-table tbody th{font-weight:650}.site-price-table th:nth-child(1),.site-price-table td:nth-child(1){width:22%}.site-price-table th:nth-child(2),.site-price-table td:nth-child(2){width:18%}.site-price-table th:nth-child(3),.site-price-table td:nth-child(3){width:28%}.site-price-table th:nth-child(4),.site-price-table td:nth-child(4){width:32%}.site-price-table td:nth-child(2){white-space:nowrap;font-weight:650}.site-price-table-no-benefits th:nth-child(1),.site-price-table-no-benefits td:nth-child(1){width:30%}.site-price-table-no-benefits th:nth-child(2),.site-price-table-no-benefits td:nth-child(2){width:30%}.site-price-table-no-benefits th:nth-child(3),.site-price-table-no-benefits td:nth-child(3){width:40%}
@media(max-width:767px){.site-answer-grid{grid-template-columns:1fr}.site-table-scroll{cursor:grab}.site-price-table{min-width:680px}}

/* v0.10.4 priority phrase imagery */
.site-priority-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.site-priority-image-grid figure{margin:0;overflow:hidden;border-radius:14px}.site-priority-image-grid img{display:block;width:100%;height:260px;object-fit:cover}@media(max-width:767px){.site-priority-image-grid{grid-template-columns:1fr}.site-priority-image-grid img{height:auto;aspect-ratio:16/10}}
.site-core-local-list{display:grid;gap:0}.site-core-local-service{padding:34px 0;border-top:1px solid rgba(127,127,127,.2);scroll-margin-top:110px}.site-core-local-service:first-child{border-top:0;padding-top:8px}.site-core-local-service h2{margin:0 0 14px}.site-core-local-service .site-prose{max-width:900px}.site-core-local-service .site-prose p:last-child{margin-bottom:0}.site-core-main-link{margin-top:22px}

/* v0.10.8 Avada typography inheritance + readability + gallery lightbox */
.site-page{
  font-family:var(--body_typography-font-family,inherit);
  font-size:var(--body_typography-font-size,inherit);
  line-height:var(--body_typography-line-height,inherit);
}
.site-page h1{font-family:var(--h1_typography-font-family,var(--body_typography-font-family,inherit));font-weight:var(--h1_typography-font-weight,inherit);line-height:var(--h1_typography-line-height,inherit)}
.site-page h2{font-family:var(--h2_typography-font-family,var(--body_typography-font-family,inherit));font-weight:var(--h2_typography-font-weight,inherit);line-height:var(--h2_typography-line-height,inherit)}
.site-page h3{font-family:var(--h3_typography-font-family,var(--body_typography-font-family,inherit));font-weight:var(--h3_typography-font-weight,inherit);line-height:var(--h3_typography-line-height,inherit)}
.site-page button,.site-page input,.site-page select,.site-page textarea,.site-button{font-family:var(--button_typography-font-family,var(--body_typography-font-family,inherit))}
.site-prose p,.site-prose-narrow p,.site-hero-copy p,.site-core-local-service p,.site-final-cta p{margin-top:0;margin-bottom:1.15em}
.site-prose p:last-child,.site-prose-narrow p:last-child,.site-hero-copy p:last-child,.site-core-local-service p:last-child,.site-final-cta p:last-child{margin-bottom:0}
.site-final-cta{text-align:left}
.site-final-grid{width:100%;margin-left:auto;margin-right:auto}
.site-final-grid>div:first-child{text-align:left;min-width:0}
.site-contact-form{min-width:0}
.site-gallery a{display:block;overflow:hidden;border-radius:6px;cursor:zoom-in}
.site-gallery a img{transition:transform .2s ease}
@media (hover:hover) and (pointer:fine){.site-gallery a:hover img{transform:scale(1.02)}}
.site-lightbox-overlay{position:fixed;inset:0;z-index:1000000;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:28px}
.site-lightbox-overlay[hidden]{display:none}
.site-lightbox-overlay img{display:block;max-width:min(1400px,94vw);max-height:90vh;width:auto;height:auto;object-fit:contain}
.site-lightbox-close{position:absolute;top:16px;right:18px;width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:#111;font-size:32px;line-height:1;cursor:pointer}
html.site-lightbox-open{overflow:hidden}
@media(max-width:767px){.site-lightbox-overlay{padding:14px}.site-lightbox-overlay img{max-width:96vw;max-height:84vh}}


/* v0.11.0 CTA, CF7 and mobile WhatsApp layout */
.site-actions-public{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.site-actions-public .site-button{margin:0!important}
.site-final-cta{background:rgba(127,127,127,.045)}
.site-final-cta .site-inner{max-width:980px}
.site-contact-form h3{margin:0 0 20px}
.site-contact-form .wpcf7-form p{margin:0 0 16px}
.site-contact-form .wpcf7-form p:last-of-type{margin-bottom:0}
.site-contact-form .wpcf7-form label{display:block;width:100%;font-weight:600}
.site-contact-form .wpcf7-form-control-wrap{display:block;margin-top:7px}
.site-contact-form input[type=text],.site-contact-form input[type=email],.site-contact-form input[type=tel],.site-contact-form input[type=url],.site-contact-form input[type=number],.site-contact-form select,.site-contact-form textarea{display:block;width:100%;max-width:100%;box-sizing:border-box;min-height:46px;padding:10px 12px;border:1px solid rgba(127,127,127,.35);border-radius:5px;background:var(--content_bg_color,#fff);color:inherit}
.site-contact-form textarea{min-height:120px;resize:vertical}
.site-contact-form input[type=submit],.site-contact-form button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 22px;margin:4px 0 0;border-radius:5px;cursor:pointer}
.site-contact-form .wpcf7-spinner{margin:10px 0 0 12px;vertical-align:middle}
.site-contact-form .wpcf7-response-output{margin:18px 0 0!important}
@media(max-width:767px){.site-actions-public{gap:10px}.site-actions-public .site-button{width:100%;text-align:center;box-sizing:border-box}.site-final-grid{gap:28px}.site-contact-form{padding:22px}.site-contact-form input[type=submit],.site-contact-form button[type=submit]{width:100%;margin-right:0}.site-contact-form .wpcf7-spinner{display:block;margin:10px auto 0}}

/* v0.11.8 */
.site-contact-form input[type=email]{margin-top:12px}
.site-review-grid.is-single{grid-template-columns:1fr}
.site-review-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:stretch;min-width:0}
.site-review-card{height:100%;box-sizing:border-box}
.site-review-platform{width:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:9px;padding:18px 14px;border:1px solid rgba(127,127,127,.2);border-radius:8px;background:rgba(127,127,127,.04);box-sizing:border-box}
.site-review-platform-logo img{display:block;max-width:110px;max-height:58px;width:auto;height:auto;object-fit:contain}
.site-review-platform a{font-weight:650;text-decoration:none}
.site-review-grid:not(.is-single) .site-review-item{grid-template-columns:1fr}
.site-review-grid:not(.is-single) .site-review-platform{width:100%;flex-direction:row;justify-content:flex-start;text-align:left}
.site-prominent-faq{padding-top:34px;padding-bottom:34px;background:rgba(127,127,127,.045);border-top:1px solid rgba(127,127,127,.12);border-bottom:1px solid rgba(127,127,127,.12)}
.site-prominent-faq h2{margin-bottom:12px}
.site-prominent-faq-answer p:last-child{margin-bottom:0}
.site-footer-banner{width:100%;overflow:hidden;line-height:0}
.site-footer-banner img{display:block;width:100%;height:auto}
@media(max-width:640px){.site-review-item{grid-template-columns:1fr}.site-review-platform{width:100%;flex-direction:row;justify-content:flex-start;text-align:left}}


/* v0.11.11 footer banner integrated into final CTA */
.site-final-cta{position:relative;overflow:hidden}
.site-final-cta--banner{background-position:center;background-size:cover;background-repeat:no-repeat;isolation:isolate;border-top:0}
.site-final-cta--banner::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,var(--site-footer-overlay,.40));z-index:0}
.site-final-cta--banner .site-inner{position:relative;z-index:1}
.site-final-copy{position:relative}
.site-final-cta--banner .site-final-copy,
.site-final-cta--banner .site-final-copy h2,
.site-final-cta--banner .site-final-copy p,
.site-final-cta--banner .site-final-copy .site-eyebrow{color:#fff}
.site-final-cta--banner .site-button{box-shadow:0 10px 24px rgba(0,0,0,.18)}
.site-final-cta--banner .site-contact-form{background:rgba(255,255,255,.95);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.55);box-shadow:0 18px 44px rgba(0,0,0,.20)}
.site-final-cta--banner .site-contact-form h3{margin-top:0}
.site-final-cta--banner .site-contact-form input,
.site-final-cta--banner .site-contact-form textarea,
.site-final-cta--banner .site-contact-form select{background:#fff}
.site-final-cta--banner .site-actions-public{margin-top:22px}
@media(max-width:767px){.site-final-cta--banner{background-position:center center}.site-final-cta--banner .site-contact-form{background:rgba(255,255,255,.96)}}

/* v0.12.0 */
.site-review-item{display:block!important}.site-review-platform{width:100%!important;margin-top:10px;min-height:58px;display:flex!important;flex-direction:row!important;align-items:center!important;text-align:left!important;padding:10px 14px!important}.site-review-platform-logo img{max-height:36px!important;max-width:110px!important}.site-review-platform a{margin-left:auto}.site-gallery-scroll{display:flex!important;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:10px}.site-gallery-scroll>a{flex:0 0 min(360px,78vw);scroll-snap-align:start}.site-gallery-scroll img{width:100%;height:240px;object-fit:cover;display:block}.site-contact-form .wpcf7-form>p+p,.site-contact-form p+p{margin-top:16px!important}.site-contact-form input[type=email]{margin-top:14px!important}@media(max-width:767px){.site-final-cta--banner::before{background:rgba(0,0,0,.62)!important}.site-final-cta--banner{padding-top:34px!important;padding-bottom:34px!important}.site-final-grid{gap:24px!important}.site-contact-form{padding:20px!important}.site-mobile-actions{padding:18px 0 22px!important;background:var(--content_bg_color,#fff)}.site-mobile-actions a{width:min(100% - 36px,720px)!important}.site-gallery-scroll>a{flex-basis:84vw}.site-gallery-scroll img{height:220px}}

/* v0.12.1 — easier reading rhythm */
.site-prose p,.site-prose-narrow p,.site-prominent-faq-answer p,.site-answer-grid p{margin-top:0;margin-bottom:1.15em}
.site-prose p:last-child,.site-prose-narrow p:last-child,.site-prominent-faq-answer p:last-child,.site-answer-grid p:last-child{margin-bottom:0}


/* v0.12.16 contact form spacing */
.site-contact-form input[type="email"],
.site-contact-form .wpcf7-form-control-wrap[data-name*="email"],
.site-contact-form .wpcf7-form-control-wrap[data-name*="your-email"]{
    margin-top:15px;
}


/* v0.12.17 nearby coverage map */
.site-nearby-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,360px);
    gap:32px;
    align-items:center;
}
.site-nearby-map{
    max-width:360px;
    margin:0 auto;
    width:100%;
}
.site-nearby-map svg{display:block;width:100%;height:auto;overflow:visible}
.site-map-boundary{fill:none;stroke:currentColor;stroke-width:2;opacity:.24}
.site-map-ring{fill:none;stroke:currentColor;stroke-width:1;opacity:.12;stroke-dasharray:4 5}
.site-map-axis{stroke:currentColor;stroke-width:1;opacity:.08}
.site-map-centre{fill:currentColor}
.site-map-point{fill:currentColor}
.site-map-centre-label,.site-map-label{
    fill:currentColor;
    font-family:inherit;
    font-size:11px;
    font-weight:600;
}
.site-map-centre-label{font-size:12px;font-weight:800}
@media (max-width:800px){
    .site-nearby-layout{grid-template-columns:1fr}
    .site-nearby-map{max-width:330px}
}


/* v0.12.20 extra unlinked local-area chips */
.site-local-area-extra{
    margin-top:22px;
}
.site-local-area-extra h3{
    margin:0 0 10px;
    font:inherit;
    font-weight:700;
}
.site-local-area-chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.site-local-area-chip{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:7px 13px;
    border:1px solid currentColor;
    border-radius:999px;
    opacity:.72;
    font-size:.92em;
    line-height:1.2;
    cursor:default;
}


/* v0.12.21 stronger separation for unlinked local-area pills */
.site-page .site-local-area-chips{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    align-items:center;
}
.site-page .site-local-area-chip{
    display:inline-flex !important;
    align-items:center;
    width:auto !important;
    min-height:38px;
    margin:0 !important;
    padding:8px 14px !important;
    border:1px solid rgba(0,0,0,.18);
    border-radius:999px !important;
    background:rgba(255,255,255,.78);
    opacity:1;
    line-height:1.25;
    white-space:nowrap;
}
@media (max-width:600px){
    .site-page .site-local-area-chips{gap:8px !important}
    .site-page .site-local-area-chip{white-space:normal}
}


/* v0.12.23 hard fallback for local-area pill spacing */
.site-page .site-local-area-chips{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    align-items:center !important;
}
.site-page .site-local-area-chip{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    min-height:38px !important;
    margin:0 !important;
    padding:8px 14px !important;
    border:1px solid rgba(0,0,0,.18) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.78) !important;
    opacity:1 !important;
    line-height:1.25 !important;
}
.site-page .site-local-area-chip + .site-local-area-chip{
    margin-left:0 !important;
}


/* Quick service pills below the H1 */
.site-serp-pills{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:14px 0 18px;
}
.site-serp-pill{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:8px 14px;
    border:1px solid rgba(0,0,0,.18);
    border-radius:999px;
    font-size:.95rem;
    line-height:1.2;
    font-weight:600;
    text-decoration:none !important;
    background:#fff;
}
.site-serp-pill-status::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    margin-right:8px;
    background:currentColor;
    opacity:.7;
}
.site-serp-pill-link:hover,
.site-serp-pill-link:focus{
    text-decoration:none !important;
}
@media (max-width:640px){
    .site-serp-pills{gap:8px}
    .site-serp-pill{min-height:36px;padding:7px 12px;font-size:.9rem}
}


/* v0.12.44 — tidier nearby coverage section */
.site-nearby-section .site-section-head{
    margin-bottom:28px;
}
.site-nearby-layout{
    grid-template-columns:minmax(0,1fr) minmax(300px,380px);
    gap:48px;
    align-items:start;
}
.site-nearby-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    max-width:620px;
}
.site-nearby-card{
    padding:15px 16px;
    min-height:76px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.site-local-area-extra{
    margin-top:20px;
}
.site-local-area-extra h3{
    margin:0 0 12px;
    font-size:1.2em;
    line-height:1.25;
}
.site-nearby-map{
    display:flex;
    flex-direction:column;
    align-items:center;
    max-width:380px;
}
.site-map-radius-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    margin-top:12px;
    padding:6px 13px;
    border:1px solid rgba(0,0,0,.18);
    border-radius:999px;
    background:rgba(255,255,255,.86);
    font-size:.88em;
    font-weight:650;
    line-height:1.2;
    white-space:nowrap;
}
@media(max-width:800px){
    .site-nearby-layout{gap:28px}
    .site-nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
    .site-nearby-map{margin-top:8px}
}
@media(max-width:520px){
    .site-nearby-grid{grid-template-columns:1fr}
    .site-nearby-card{min-height:auto}
}


/* v0.12.45 — tighter mobile footer / quotation block */
@media (max-width:767px){
    .site-final-cta{
        padding:0 !important;
        text-align:left;
        overflow:hidden;
    }
    .site-final-cta--banner{
        background-position:center;
        background-size:cover;
    }
    .site-final-cta .site-inner{
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
    }
    .site-final-grid{
        display:block !important;
    }
    .site-final-copy{
        min-height:0;
        padding:34px 22px 24px;
        background:rgba(0,0,0,.40);
    }
    .site-final-cta--banner .site-final-copy{
        min-height:0;
    }
    .site-final-copy .site-eyebrow{
        margin-bottom:10px;
    }
    .site-final-copy h2{
        margin:0 0 16px;
        font-size:clamp(30px,8.7vw,42px);
        line-height:1.08;
    }
    .site-final-copy p{
        margin:0 0 18px;
        font-size:1rem;
        line-height:1.55;
    }
    .site-final-copy p:last-of-type{
        margin-bottom:18px;
    }
    .site-actions-public{
        margin-top:18px;
    }
    .site-actions-public .site-button{
        display:flex;
        align-items:center;
        justify-content:center;
        width:100%;
        min-height:54px;
        padding:12px 16px;
        border-radius:8px;
    }
    .site-contact-form{
        margin:0 !important;
        padding:28px 22px 30px !important;
        border:0 !important;
        border-radius:0 !important;
        background:#fff !important;
    }
    .site-contact-form h3{
        margin:0 0 22px;
        font-size:clamp(28px,8vw,38px);
        line-height:1.1;
    }
    .site-contact-form input,
    .site-contact-form textarea,
    .site-contact-form select{
        max-width:100%;
    }
    .site-contact-form p{
        margin-bottom:14px;
    }
    .site-mobile-actions{
        padding-top:14px !important;
    }
}
@media (max-width:420px){
    .site-final-copy{padding-left:18px;padding-right:18px}
    .site-contact-form{padding-left:18px!important;padding-right:18px!important}
}

.site-freshness-note{margin-top:-7px;margin-bottom:18px;font-size:.86em;opacity:.66}
.site-comparison-table th,.site-comparison-table td{vertical-align:top}
@media(max-width:640px){.site-freshness-note{font-size:.82em}}


/* v0.12.48 — nearby map alignment and clean mobile stacking */
.site-nearby-section .site-inner{
    overflow:hidden;
}
.site-nearby-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(300px,390px) !important;
    grid-template-areas:
        "heading map"
        "content map";
    column-gap:52px !important;
    row-gap:24px !important;
    align-items:start !important;
}
.site-nearby-heading{
    grid-area:heading;
    align-self:start;
}
.site-nearby-heading h2{
    margin:8px 0 0;
}
.site-nearby-content{
    grid-area:content;
    min-width:0;
}
.site-nearby-map{
    grid-area:map;
    align-self:start;
    width:100%;
    max-width:390px;
    margin:0 auto !important;
}
.site-nearby-map svg{
    display:block;
    width:100%;
    height:auto;
    overflow:hidden !important;
}
.site-map-radius-pill{
    display:none !important;
}
.site-nearby-grid{
    margin-top:0;
}
.site-local-area-extra{
    margin-top:24px;
}

@media(max-width:800px){
    .site-nearby-layout{
        grid-template-columns:1fr !important;
        grid-template-areas:
            "heading"
            "map"
            "content";
        row-gap:24px !important;
    }
    .site-nearby-heading{
        margin-bottom:0;
    }
    .site-nearby-heading h2{
        margin-top:8px;
    }
    .site-nearby-map{
        width:min(100%,320px);
        max-width:320px;
        margin:0 auto !important;
    }
    .site-map-label{
        font-size:9px;
    }
    .site-map-centre-label{
        font-size:11px;
    }
    .site-nearby-content{
        width:100%;
    }
    .site-nearby-grid{
        grid-template-columns:1fr !important;
        gap:10px !important;
    }
    .site-nearby-card{
        min-height:auto !important;
        padding:14px 16px !important;
    }
    .site-local-area-extra{
        margin-top:22px !important;
    }
    .site-local-area-extra h3{
        margin-bottom:12px !important;
        font-size:1.25em !important;
        line-height:1.2 !important;
    }
    .site-page .site-local-area-chips{
        display:flex !important;
        flex-wrap:wrap !important;
        gap:8px !important;
    }
    .site-page .site-local-area-chip{
        max-width:100%;
        white-space:normal !important;
        min-height:36px !important;
        padding:7px 12px !important;
        font-size:.9em;
    }
}
@media(max-width:420px){
    .site-nearby-map{
        width:min(100%,286px);
        max-width:286px;
    }
    .site-map-label{
        font-size:8px;
    }
}


/* v0.12.56 — nearby SVG label legibility */
.site-nearby-map .site-map-label{
    paint-order:stroke;
    stroke:rgba(255,255,255,.96);
    stroke-width:3px;
    stroke-linejoin:round;
}
@media(max-width:800px){
    .site-nearby-map .site-map-label{stroke-width:2.5px}
}


/* v0.12.72 — optional closing keyphrase marquee */
.site-keyphrase-marquee{
    width:100%;
    overflow:hidden;
    border-top:1px solid rgba(0,0,0,.12);
    border-bottom:1px solid rgba(0,0,0,.12);
    background:var(--awb-color1,#111);
    color:var(--awb-color8,#fff);
}
.site-marquee-track{
    display:inline-flex;
    align-items:center;
    gap:1.25rem;
    min-width:max-content;
    padding:14px 0;
    white-space:nowrap;
    font-size:clamp(14px,1.4vw,18px);
    font-weight:600;
    letter-spacing:.01em;
    animation:site-keyphrase-marquee 28s linear infinite;
    will-change:transform;
}
.site-marquee-track::after{
    content:attr(data-copy);
    display:inline-block;
    padding-left:1.25rem;
}
.site-marquee-item{display:inline-block}
.site-marquee-dot{opacity:.55}
.site-keyphrase-marquee:hover .site-marquee-track{animation-play-state:paused}
@keyframes site-keyphrase-marquee{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){
    .site-marquee-track{animation:none;white-space:normal;flex-wrap:wrap;padding:12px 16px}
    .site-marquee-track::after{display:none}
}


/* v0.12.77 — optional detailed smaller-place closing area */
.site-local-area-detail-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:16px;
}
.site-local-area-detail-card{
    padding:18px;
    border:1px solid rgba(0,0,0,.12);
    border-radius:12px;
    background:rgba(255,255,255,.82);
}
.site-local-area-detail-card h3{margin:0 0 8px;font-size:1.08em}
.site-local-area-detail-card>p{margin:0}
.site-local-area-evidence{
    margin-top:12px;
    padding-top:10px;
    border-top:1px solid rgba(0,0,0,.1);
}
.site-local-area-evidence strong{display:block;margin-bottom:4px;font-size:.86em}
.site-local-area-evidence p{margin:0;font-size:.92em}
.site-local-area-job strong:before{content:"✓ ";font-weight:700}
@media(max-width:720px){.site-local-area-detail-grid{grid-template-columns:1fr}}

.site-trustindex-section .site-trustindex-widget{width:100%;min-height:1px}

/* Responsive in-page call breaks: generated at roughly 1/3 and 2/3 of the page. */
.site-page .site-mobile-quote-break{display:none!important}
@media(max-width:1024px){
  .site-page .site-mobile-quote-break{display:flex!important;width:100%!important;justify-content:center!important;align-items:center!important;box-sizing:border-box!important;padding:28px 18px!important;margin:0!important;clear:both!important}
  .site-page .site-mobile-quote-break>a.site-mobile-quote-button{display:flex!important;width:min(100%,520px)!important;min-height:58px!important;box-sizing:border-box!important;align-items:center!important;justify-content:center!important;gap:10px!important;text-align:center!important;padding:16px 30px!important;margin:0!important;font-size:18px!important;line-height:1.15!important;font-weight:750!important;letter-spacing:.01em!important;text-decoration:none!important;opacity:1!important;visibility:visible!important;border:2px solid var(--link_color,var(--awb-color4,#f4a623))!important;border-radius:999px!important;background:var(--link_color,var(--awb-color4,#f4a623))!important;color:var(--button_accent_color,var(--body_typography-color,#111))!important;box-shadow:0 10px 24px rgba(0,0,0,.20)!important;animation:jjlsbCallPulse 2.6s ease-in-out infinite!important}
  .site-page .site-mobile-quote-break>a.site-mobile-quote-button>i{font-size:1.05em!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
  .site-page .site-mobile-quote-break>a.site-mobile-quote-button:hover,.site-page .site-mobile-quote-break>a.site-mobile-quote-button:focus{filter:brightness(.94)!important;text-decoration:none!important;transform:translateY(-1px)!important}
}
@keyframes jjlsbCallPulse{0%,100%{box-shadow:0 10px 24px rgba(0,0,0,.20)}50%{box-shadow:0 13px 32px rgba(0,0,0,.30)}}
@media(prefers-reduced-motion:reduce){.site-page .site-mobile-quote-break>a.site-mobile-quote-button{animation:none!important}}

/* v0.13.14 — hybrid custom content blocks */
.site-custom-content .site-custom-block-copy>h2{margin-top:0}
.site-custom-content .site-custom-block-media{margin:0;min-width:0}
.site-custom-content .site-custom-block-image{display:block;width:100%;height:auto;border-radius:8px}
.site-custom-content .site-custom-block-split.is-image-left .site-custom-block-media{grid-column:1}.site-custom-content .site-custom-block-split.is-image-left .site-custom-block-copy{grid-column:2}
@media(max-width:980px){.site-custom-content .site-custom-block-split.is-image-left .site-custom-block-media,.site-custom-content .site-custom-block-split.is-image-left .site-custom-block-copy{grid-column:auto}.site-custom-content .site-custom-block-split.is-image-left .site-custom-block-media{order:2}.site-custom-content .site-custom-block-split.is-image-left .site-custom-block-copy{order:1}}

.site-project-ideas-carousel{position:relative}.site-project-ideas-controls[hidden]{display:none!important}.site-project-ideas-controls{display:flex;justify-content:flex-end;gap:8px;margin:0 0 12px}.site-project-ideas-arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--body_typography-color,var(--awb-color8,#222));border-radius:999px;background:#fff;color:var(--body_typography-color,var(--awb-color8,#222));font:inherit;font-size:28px;line-height:1;cursor:pointer}.site-project-ideas-arrow:disabled{opacity:.35;cursor:default}.site-project-ideas-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,calc((100% - 36px)/3));gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scroll-behavior:smooth;padding:2px 2px 12px;scrollbar-width:none}.site-project-ideas-track::-webkit-scrollbar{display:none}.site-project-idea-card{scroll-snap-align:start;min-width:0;padding:24px;border:1px solid rgba(127,127,127,.22);border-radius:12px;background:#fff}.site-project-idea-card h3{margin:0 0 10px;font-size:clamp(20px,2vw,26px);line-height:1.15}.site-project-idea-card p{margin:0;line-height:1.65}@media(max-width:1024px){.site-project-ideas-track{grid-auto-columns:minmax(280px,calc((100% - 18px)/2))}}@media(max-width:600px){.site-project-ideas-controls{margin-bottom:8px}.site-project-ideas-track{grid-auto-columns:88%;gap:12px}.site-project-idea-card{padding:20px}.site-project-idea-card h3{font-size:22px}}


/* v0.13.18 — readable nearby map labels outside the plot */
.site-page .site-nearby-map{
    width:100%;
    max-width:520px;
}
.site-page .site-nearby-map svg{
    width:100%;
    overflow:visible !important;
}
.site-page .site-map-leader{
    fill:none;
    stroke:currentColor;
    stroke-width:1.25;
    opacity:.34;
    vector-effect:non-scaling-stroke;
}
.site-page .site-map-number{
    fill:var(--awb-color1,#fff);
    stroke:currentColor;
    stroke-width:1.5;
}
.site-page .site-map-number-text{
    fill:currentColor;
    font-family:inherit;
    font-size:8px;
    font-weight:800;
    paint-order:stroke;
    stroke:var(--awb-color1,#fff);
    stroke-width:1.5px;
}
.site-page .site-nearby-map .site-map-label{
    font-size:11px;
    font-weight:700;
    paint-order:stroke;
    stroke:var(--awb-color1,#fff);
    stroke-width:3px;
    stroke-linejoin:round;
}
.site-page .site-map-label-distance{
    font-size:9px;
    font-weight:500;
    opacity:.72;
}
@media(max-width:800px){
    .site-page .site-nearby-map{
        width:100% !important;
        max-width:440px !important;
    }
    .site-page .site-nearby-map .site-map-label{font-size:10px;stroke-width:2.5px}
    .site-page .site-map-label-distance{font-size:8.5px}
}
@media(max-width:420px){
    .site-page .site-nearby-map{
        width:100% !important;
        max-width:390px !important;
    }
    .site-page .site-nearby-map .site-map-label{font-size:9.5px}
}

/* v0.13.21 — clean numbered nearby map with interactive legend */
.site-page .site-nearby-map{width:100%;max-width:460px;margin-inline:auto}
.site-page .site-nearby-map svg{display:block;width:min(100%,360px);height:auto;margin:0 auto;overflow:visible}
.site-page .site-map-marker{cursor:pointer;outline:none}
.site-page .site-map-number{fill:var(--awb-color1,#fff);stroke:currentColor;stroke-width:1.7;transition:transform .16s ease,fill .16s ease,stroke-width .16s ease;transform-box:fill-box;transform-origin:center}
.site-page .site-map-number-text{fill:currentColor;font-family:inherit;font-size:9px;font-weight:800;pointer-events:none}
.site-page .site-map-marker.is-active .site-map-number,.site-page .site-map-marker:hover .site-map-number,.site-page .site-map-marker:focus .site-map-number{fill:currentColor;stroke-width:2.2;transform:scale(1.16)}
.site-page .site-map-marker.is-active .site-map-number-text,.site-page .site-map-marker:hover .site-map-number-text,.site-page .site-map-marker:focus .site-map-number-text{fill:var(--awb-color1,#fff)}
.site-page .site-map-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:14px}
.site-page .site-map-legend-item{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid rgba(127,127,127,.26);border-radius:10px;background:#fff;color:var(--body_typography-color,var(--awb-color8,#222));text-decoration:none!important;text-align:left;font:inherit;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.site-page .site-map-legend-item:hover,.site-page .site-map-legend-item:focus,.site-page .site-map-legend-item.is-active{border-color:currentColor;box-shadow:0 5px 16px rgba(0,0,0,.08);transform:translateY(-1px);outline:none}
.site-page .site-map-legend-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;border:1.5px solid currentColor;border-radius:999px;font-weight:800;font-size:12px}
.site-page .site-map-legend-copy{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.site-page .site-map-legend-copy strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-page .site-map-legend-copy span{margin-top:3px;font-size:12px;opacity:.7}
@media(max-width:520px){.site-page .site-map-legend{grid-template-columns:1fr}.site-page .site-nearby-map svg{width:min(100%,320px)}}
@media(prefers-reduced-motion:reduce){.site-page .site-map-number,.site-page .site-map-legend-item{transition:none}}

.site-core-uses{margin-top:24px}
.site-core-uses h3{margin:0 0 12px}
.site-core-uses ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;margin:0;padding-left:20px}
.site-core-uses li{margin:0;padding:2px 0;break-inside:avoid}
@media(max-width:767px){.site-core-uses ul{grid-template-columns:1fr;gap:7px}}

/* v0.13.35 adaptive pricing */
.site-price-table-cost-factors-only th:nth-child(1),.site-price-table-cost-factors-only td:nth-child(1){width:26%}
.site-price-table-cost-factors-only th:nth-child(2),.site-price-table-cost-factors-only td:nth-child(2){width:42%;white-space:normal;font-weight:400}
.site-price-table-cost-factors-only th:nth-child(3),.site-price-table-cost-factors-only td:nth-child(3){width:32%}
.site-cost-factors{max-width:920px;margin:28px auto 0;padding:22px 24px;border:1px solid rgba(127,127,127,.18);border-radius:10px;background:rgba(127,127,127,.045)}
.site-cost-factors h3{margin:0 0 12px}.site-cost-factors ul{columns:2;column-gap:36px;margin:0;padding-left:20px}.site-cost-factors li{break-inside:avoid;margin:0 0 9px}
@media(max-width:767px){.site-cost-factors ul{columns:1}.site-price-table-cost-factors-only{min-width:620px}}

/* v0.13.39 visual variation */
.site-surface-chooser{background:var(--site-soft,#f7f7f7)}
.site-surface-chooser-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.site-surface-choice{background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.site-surface-choice-image{display:block;aspect-ratio:4/3;overflow:hidden}
.site-surface-choice-image img{width:100%;height:100%;object-fit:cover;display:block}
.site-surface-choice-copy{padding:16px 18px 18px}
.site-surface-choice-copy h3{margin:0 0 8px;font-size:1.08em}
.site-surface-choice-copy p{margin:0;line-height:1.5}
.site-cost-factors{margin-top:24px;padding:22px;border:1px solid rgba(0,0,0,.10);border-radius:14px;background:rgba(255,255,255,.72)}
.site-cost-factors ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:14px 0 0;padding:0;list-style:none}
.site-cost-factors li{position:relative;padding-left:18px}
.site-cost-factors li:before{content:'•';position:absolute;left:0;top:0;font-weight:700}
@media(max-width:900px){.site-surface-chooser-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.site-surface-chooser-grid,.site-cost-factors ul{grid-template-columns:1fr}.site-surface-chooser-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.site-surface-choice{min-width:78vw;scroll-snap-align:start}}


/* v0.13.41 — mobile galleries stack vertically; no hidden horizontal swipe on phones. */
@media(max-width:767px){
  .site-page .site-gallery-scroll{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;overflow:visible!important;scroll-snap-type:none!important;padding-bottom:0!important}
  .site-page .site-gallery-scroll>a{flex:none!important;width:100%!important;min-width:0!important;scroll-snap-align:none!important}
  .site-page .site-gallery-scroll img{width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover!important}
}

/* v0.13.42 — face the Avada/Font Awesome telephone glyph the conventional way */
.site-mobile-quote-button .jjlsb-phone-facing-right{display:inline-block;transform:scaleX(-1)}

/* v0.13.44 public jump-to navigation */
.site-jump-menu{border-bottom:1px solid rgba(0,0,0,.08);background:#fff}
.site-jump-menu .site-inner{display:flex;align-items:center;gap:14px;padding-top:12px;padding-bottom:12px}
.site-jump-label{font-weight:700;white-space:nowrap}
.site-jump-links{display:flex;flex-wrap:wrap;gap:8px}
.site-jump-links a{display:inline-flex;align-items:center;min-height:36px;padding:7px 13px;border:1px solid rgba(0,0,0,.15);border-radius:999px;background:#fff;text-decoration:none;line-height:1.2}
.site-jump-links a:hover,.site-jump-links a:focus{text-decoration:none}
#site-services,#site-projects,#site-prices,#site-faqs,#site-nearby{scroll-margin-top:110px}
@media(max-width:767px){.site-jump-menu .site-inner{display:block}.site-jump-label{display:block;margin-bottom:8px}.site-jump-links{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}.site-jump-links a{flex:0 0 auto}}

/* v0.13.46 quick callback */
.site-callback-section{padding-top:48px;padding-bottom:48px}
.site-callback-card{max-width:760px;margin:0 auto;border:1px solid rgba(127,127,127,.22);border-radius:14px;padding:30px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.site-callback-card h2{margin:6px 0 8px}.site-callback-intro{margin:0 0 20px;opacity:.75}
.site-callback-progress{display:flex;gap:8px;margin:0 0 22px}.site-callback-progress span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(127,127,127,.35);font-size:13px;font-weight:700;opacity:.55}.site-callback-progress span.is-active{opacity:1;border-color:currentColor}
.site-callback-step{display:none}.site-callback-step.is-active{display:block}.site-callback-step label{display:block}.site-callback-step label strong{display:block;margin-bottom:7px}.site-callback-step input,.site-callback-step select,.site-callback-step textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid rgba(127,127,127,.35);border-radius:7px;background:#fff;color:inherit;font:inherit;margin-bottom:16px}.site-callback-actions{display:flex;gap:10px;flex-wrap:wrap}.site-callback-status{margin-top:14px;font-weight:600}.site-callback-status.is-success{font-size:1.05em}.site-callback-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:640px){.site-callback-card{padding:22px 18px}.site-callback-actions .site-button{flex:1;text-align:center}}

/* v0.13.47 — nearby town cards stay two-per-row, including phones */
@media(max-width:800px){
    .site-page .site-nearby-grid{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }
    .site-page .site-nearby-card{
        min-width:0 !important;
        min-height:74px !important;
        padding:12px 10px !important;
    }
    .site-page .site-nearby-card a{
        overflow-wrap:anywhere;
        line-height:1.15;
    }
}
@media(max-width:380px){
    .site-page .site-nearby-grid{gap:8px !important}
    .site-page .site-nearby-card{padding:11px 8px !important}
}

/* v0.13.63 — compact callback bar */
.site-callback-section{
  padding:22px 0;
  background:var(--link_color,var(--awb-color4,#f4a623));
  color:var(--jjlsb-callback-text,var(--button_accent_color,var(--body_typography-color,#111)));
}
.site-callback-section .site-inner{max-width:var(--site-width,1180px)}
.site-callback-card{
  max-width:none;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:grid;
  grid-template-columns:minmax(190px,280px) minmax(0,1fr);
  gap:28px;
  align-items:center;
}
.site-callback-title h2{margin:0;font-size:clamp(22px,2vw,30px);line-height:1.1;color:var(--jjlsb-callback-text,inherit)}
.site-callback-form{min-width:0;margin:0}
.site-callback-step.is-active{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.site-callback-step label{margin:0;min-width:0}

.site-callback-field{display:grid!important;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:end}
.site-callback-icon{width:38px;height:46px;display:flex;align-items:center;justify-content:center;color:var(--jjlsb-callback-text,inherit);opacity:.92}
.site-callback-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-callback-control{display:block;min-width:0}
.site-callback-step textarea{min-height:46px;max-height:110px;resize:vertical;line-height:1.35;padding-top:12px;padding-bottom:10px}
.site-callback-step label strong{margin:0 0 5px;font-size:13px;line-height:1.2;color:var(--jjlsb-callback-text,inherit)}
.site-callback-step input,.site-callback-step select,.site-callback-step textarea{
  box-sizing:border-box;
  min-height:46px;
  margin:0;
  border:0;
  background:#fff;
  color:#111;
  box-shadow:0 1px 2px rgba(0,0,0,.12);
}
.site-callback-section .site-button{
  min-height:46px;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  color:#111;
  cursor:pointer;
  white-space:nowrap;
}
.site-callback-section .site-button-outline{background:transparent;color:inherit;border-color:currentColor}
.site-callback-actions{display:flex;gap:8px;flex-wrap:nowrap}
.site-callback-status{grid-column:1/-1;margin:7px 0 0;font-size:13px;font-weight:650}
.site-callback-status.is-error{color:#7a0b0b}
.site-callback-status.is-success{font-size:14px}
@media(max-width:760px){
  .site-callback-section{padding:20px 0}
  .site-callback-card{grid-template-columns:1fr;gap:14px}
  .site-callback-step.is-active{grid-template-columns:1fr}
  .site-callback-actions{width:100%}
  .site-callback-actions .site-button,.site-callback-step>.site-button{width:100%}
}

/* v0.13.76: accessible project-gallery captions. */
.site-gallery .site-gallery-item{margin:0;min-width:0}
.site-gallery .site-gallery-item>a{display:block;overflow:hidden;border-radius:6px;cursor:zoom-in}
.site-gallery .site-gallery-item figcaption{font-size:.9em;line-height:1.4;margin-top:7px;opacity:.78}
.site-gallery-scroll>.site-gallery-item{flex:0 0 min(360px,78vw);scroll-snap-align:start}
@media(max-width:767px){.site-gallery-scroll>.site-gallery-item{flex-basis:84vw}}
@media(max-width:640px){.site-gallery-scroll>.site-gallery-item{flex:none;width:100%;min-width:0;scroll-snap-align:none}}

/* v0.13.80 callback step navigation */
.site-callback-actions{display:flex;align-items:center;gap:8px;justify-content:flex-start}
.site-callback-back{min-width:42px!important;width:42px;padding-left:10px!important;padding-right:10px!important;font-size:20px!important;line-height:1!important}
