{"id":25,"date":"2026-03-25T11:10:02","date_gmt":"2026-03-25T11:10:02","guid":{"rendered":"https:\/\/glanville-exterior-cleaning.co.uk\/?page_id=25"},"modified":"2026-03-25T14:14:25","modified_gmt":"2026-03-25T14:14:25","slug":"25-2","status":"publish","type":"page","link":"https:\/\/glanville-exterior-cleaning.co.uk\/","title":{"rendered":"Home"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Exterior Cleaning Bracknell &#038; Berkshire | Glanville Exterior Cleaning<\/title>\n<meta name=\"description\" content=\"Professional exterior cleaning in Bracknell, Berkshire &#038; surrounding areas. Roof cleaning, driveway cleaning, patio cleaning &#038; gutter clearing. Free same-day quotes. Fully insured. 5\u2605 rated.\">\n<meta name=\"robots\" content=\"index, follow\">\n<link rel=\"canonical\" href=\"https:\/\/glanville-exterior-cleaning.co.uk\/\">\n<meta property=\"og:title\" content=\"Exterior Cleaning Bracknell &#038; Berkshire | Glanville Exterior Cleaning\">\n<meta property=\"og:description\" content=\"5\u2605 rated exterior cleaning in Bracknell, Berkshire. Roofs, driveways, patios &#038; gutters. Free no-obligation quotes.\">\n<meta property=\"og:type\" content=\"website\">\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"LocalBusiness\",\n  \"name\": \"Glanville Exterior Cleaning\",\n  \"description\": \"Professional exterior cleaning in Bracknell, Berkshire. Roof cleaning, driveway cleaning, patio cleaning and gutter clearing.\",\n  \"url\": \"https:\/\/glanville-exterior-cleaning.co.uk\",\n  \"telephone\": \"07943 768996\",\n  \"email\": \"info@glanville-exterior-cleaning.co.uk\",\n  \"address\": { \"@type\": \"PostalAddress\", \"addressLocality\": \"Bracknell\", \"addressRegion\": \"Berkshire\", \"addressCountry\": \"GB\" },\n  \"areaServed\": [\"Bracknell\",\"Wokingham\",\"Reading\",\"Sandhurst\",\"Camberley\",\"Ascot\",\"Windsor\",\"Maidenhead\",\"Berkshire\"],\n  \"aggregateRating\": { \"@type\": \"AggregateRating\", \"ratingValue\": \"5\", \"reviewCount\": \"47\", \"bestRating\": \"5\" },\n  \"hasOfferCatalog\": {\n    \"@type\": \"OfferCatalog\",\n    \"name\": \"Exterior Cleaning Services\",\n    \"itemListElement\": [\n      {\"@type\":\"Offer\",\"itemOffered\":{\"@type\":\"Service\",\"name\":\"Roof Cleaning Bracknell\"}},\n      {\"@type\":\"Offer\",\"itemOffered\":{\"@type\":\"Service\",\"name\":\"Driveway Cleaning Berkshire\"}},\n      {\"@type\":\"Offer\",\"itemOffered\":{\"@type\":\"Service\",\"name\":\"Patio Cleaning Bracknell\"}},\n      {\"@type\":\"Offer\",\"itemOffered\":{\"@type\":\"Service\",\"name\":\"Gutter Clearing Berkshire\"}}\n    ]\n  }\n}\n<\/script>\n\n\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;500;600;700;800;900&#038;family=Lato:wght@300;400;700&#038;display=swap\" rel=\"stylesheet\">\n\n<style>\n*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }\n\n:root {\n  --blue:       #1a7fd4;\n  --blue-dark:  #1260a8;\n  --blue-light: #e8f3fc;\n  --blue-mid:   #d0e8f8;\n  --sky:        #f0f7ff;\n  --white:      #ffffff;\n  --slate:      #2c3e55;\n  --grey:       #6b7d93;\n  --grey-light: #f4f8fc;\n  --border:     #ddeaf7;\n}\n\nhtml { scroll-behavior: smooth; }\nbody { font-family: 'Lato', sans-serif; background: var(--white); color: var(--slate); overflow-x: hidden; }\n\n\/* \u2500\u2500 NAV \u2500\u2500 *\/\nnav {\n  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;\n  background: var(--white);\n  border-bottom: 1px solid var(--border);\n  box-shadow: 0 2px 20px rgba(26,127,212,0.08);\n  display: flex; align-items: center; justify-content: space-between;\n  padding: 0 60px; height: 72px;\n}\n.nav-logo {\n  font-family: 'Montserrat', sans-serif;\n  font-weight: 900; font-size: 1.4rem;\n  color: var(--slate); text-decoration: none; letter-spacing: -0.5px;\n}\n.nav-logo span { color: var(--blue); }\n.nav-links { display: flex; gap: 32px; list-style: none; align-items: center; }\n.nav-links a {\n  font-family: 'Montserrat', sans-serif;\n  font-weight: 600; font-size: 0.8rem;\n  letter-spacing: 0.5px; text-transform: uppercase;\n  color: var(--grey); text-decoration: none; transition: color 0.2s;\n}\n.nav-links a:hover { color: var(--blue); }\n.nav-cta {\n  background: var(--blue) !important;\n  color: var(--white) !important;\n  padding: 10px 22px !important;\n  border-radius: 6px;\n  transition: background 0.2s !important;\n}\n.nav-cta:hover { background: var(--blue-dark) !important; }\n\n\/* \u2500\u2500 HERO \u2500\u2500 *\/\n.hero {\n  min-height: 100vh;\n  background:\n    linear-gradient(160deg, rgba(15,25,45,0.80) 0%, rgba(15,25,45,0.65) 60%, rgba(15,25,45,0.55) 100%),\n    url('https:\/\/glanville-exterior-cleaning.co.uk\/wp-content\/uploads\/2026\/03\/Roof-Cleaning-Crowthorne.jpg') center center \/ cover no-repeat;\n  display: flex; align-items: center;\n  padding: 120px 60px 80px;\n  position: relative; overflow: hidden;\n}\n.hero::before { content: none; }\n.hero::after { content: none; }\n.hero-inner {\n  display: grid; grid-template-columns: 1fr 1fr;\n  gap: 80px; align-items: center;\n  max-width: 1200px; margin: 0 auto;\n  position: relative; z-index: 2; width: 100%;\n}\n.hero-eyebrow {\n  display: inline-flex; align-items: center; gap: 8px;\n  background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.35);\n  color: var(--white); border-radius: 100px;\n  padding: 6px 16px; font-size: 0.75rem;\n  font-family: 'Montserrat', sans-serif; font-weight: 700;\n  letter-spacing: 1px; text-transform: uppercase;\n  margin-bottom: 24px;\n}\n.hero-eyebrow::before { content: '\ud83d\udccd'; font-size: 0.85rem; }\n.hero h1 {\n  font-family: 'Montserrat', sans-serif;\n  font-weight: 900;\n  font-size: clamp(2.4rem, 5vw, 4rem);\n  line-height: 1.1;\n  color: var(--white);\n  margin-bottom: 22px;\n  letter-spacing: -1px;\n}\n.hero h1 span { color: var(--blue); }\n.hero-desc {\n  font-size: 1.05rem; color: rgba(255,255,255,0.85);\n  line-height: 1.75; margin-bottom: 36px; max-width: 480px;\n}\n.hero-services-pills {\n  display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px;\n}\n.pill {\n  background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.3);\n  color: var(--white); padding: 6px 14px;\n  border-radius: 100px; font-size: 0.8rem;\n  font-family: 'Montserrat', sans-serif; font-weight: 600;\n}\n.hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }\n.btn-primary {\n  background: var(--blue); color: var(--white);\n  padding: 15px 30px; border-radius: 8px;\n  font-family: 'Montserrat', sans-serif; font-weight: 700;\n  font-size: 0.875rem; letter-spacing: 0.5px; text-transform: uppercase;\n  text-decoration: none; transition: background 0.2s, transform 0.2s, box-shadow 0.2s;\n  box-shadow: 0 4px 20px rgba(26,127,212,0.35);\n  display: inline-block;\n}\n.btn-primary:hover { background: var(--blue-dark); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(26,127,212,0.4); }\n.btn-outline {\n  border: 2px solid rgba(255,255,255,0.7); color: var(--white);\n  padding: 13px 28px; border-radius: 8px;\n  font-family: 'Montserrat', sans-serif; font-weight: 700;\n  font-size: 0.875rem; letter-spacing: 0.5px; text-transform: uppercase;\n  text-decoration: none; transition: all 0.2s; display: inline-block;\n}\n.btn-outline:hover { background: rgba(255,255,255,0.15); color: var(--white); border-color: var(--white); }\n\n\/* Hero right \u2014 stats card *\/\n.hero-card {\n  background: var(--white);\n  border-radius: 20px;\n  box-shadow: 0 20px 60px rgba(26,127,212,0.12);\n  padding: 40px;\n  border: 1px solid var(--border);\n}\n.hero-card-title {\n  font-family: 'Montserrat', sans-serif;\n  font-weight: 800; font-size: 1rem;\n  color: var(--blue); text-transform: uppercase;\n  letter-spacing: 1px; margin-bottom: 28px;\n  padding-bottom: 16px; border-bottom: 2px solid var(--blue-light);\n}\n.hero-stats { display: flex; flex-direction: column; gap: 20px; }\n.hero-stat {\n  display: flex; align-items: center; gap: 16px;\n  padding: 16px; background: var(--sky); border-radius: 10px;\n}\n.hero-stat-num {\n  font-family: 'Montserrat', sans-serif;\n  font-weight: 900; font-size: 1.8rem; color: var(--blue); line-height: 1;\n  min-width: 64px;\n}\n.hero-stat-label { font-size: 0.875rem; color: var(--grey); line-height: 1.4; }\n.hero-stat-label strong { display: block; color: var(--slate); font-weight: 700; font-size: 0.95rem; }\n.hero-badge {\n  margin-top: 24px; background: var(--blue); border-radius: 10px;\n  padding: 16px 20px; display: flex; align-items: center; gap: 14px;\n}\n.hero-badge-icon { font-size: 1.8rem; }\n.hero-badge-text { color: var(--white); }\n.hero-badge-text strong { display: block; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 0.9rem; }\n.hero-badge-text span { font-size: 0.8rem; opacity: 0.85; }\n\n\/* \u2500\u2500 TRUST BAR \u2500\u2500 *\/\n.trust-bar {\n  background: var(--blue);\n  padding: 22px 60px;\n  display: flex; justify-content: center; gap: 60px; flex-wrap: wrap;\n}\n.trust-item {\n  display: flex; align-items: center; gap: 10px;\n  color: var(--white); font-family: 'Montserrat', sans-serif;\n  font-weight: 700; font-size: 0.85rem; letter-spacing: 0.3px;\n}\n.trust-item .icon { font-size: 1.2rem; }\n\n\/* \u2500\u2500 SECTION COMMON \u2500\u2500 *\/\nsection { padding: 100px 60px; }\n.section-eyebrow {\n  font-family: 'Montserrat', sans-serif; font-weight: 700;\n  font-size: 0.75rem; letter-spacing: 2px; text-transform: uppercase;\n  color: var(--blue); margin-bottom: 12px;\n}\n.section-title {\n  font-family: 'Montserrat', sans-serif; font-weight: 900;\n  font-size: clamp(2rem, 4vw, 3rem); color: var(--slate);\n  line-height: 1.15; margin-bottom: 16px; letter-spacing: -0.5px;\n}\n.section-title span { color: var(--blue); }\n.section-sub { font-size: 1rem; color: var(--grey); line-height: 1.75; max-width: 560px; }\n\n\/* \u2500\u2500 SERVICES \u2500\u2500 *\/\n.services { background: var(--grey-light); }\n.services-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 56px; flex-wrap: wrap; gap: 24px; }\n.services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }\n.service-card {\n  background: var(--white);\n  border-radius: 16px;\n  padding: 36px 28px;\n  border: 1px solid var(--border);\n  transition: all 0.3s;\n  position: relative; overflow: hidden;\n}\n.service-card::before {\n  content: '';\n  position: absolute; top: 0; left: 0; right: 0; height: 4px;\n  background: var(--blue); transform: scaleX(0); transform-origin: left;\n  transition: transform 0.3s;\n}\n.service-card:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(26,127,212,0.12); border-color: var(--blue-mid); }\n.service-card:hover::before { transform: scaleX(1); }\n.service-icon-wrap {\n  width: 56px; height: 56px; border-radius: 14px;\n  background: var(--blue-light); display: flex; align-items: center;\n  justify-content: center; font-size: 1.6rem; margin-bottom: 20px;\n}\n.service-card h3 {\n  font-family: 'Montserrat', sans-serif; font-weight: 800;\n  font-size: 1.05rem; color: var(--slate); margin-bottom: 12px;\n}\n.service-card p { font-size: 0.875rem; color: var(--grey); line-height: 1.7; }\n.service-link {\n  display: inline-flex; align-items: center; gap: 6px;\n  margin-top: 20px; color: var(--blue);\n  font-family: 'Montserrat', sans-serif; font-weight: 700;\n  font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.5px;\n  text-decoration: none; transition: gap 0.2s;\n}\n.service-link:hover { gap: 10px; }\n\n\/* \u2500\u2500 BEFORE\/AFTER \u2500\u2500 *\/\n.before-after { background: var(--white); }\n.ba-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 48px; flex-wrap: wrap; gap: 24px; }\n.ba-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }\n.ba-item {\n  border-radius: 14px; overflow: hidden;\n  background: var(--blue-light);\n  aspect-ratio: 4\/5; position: relative;\n  display: flex; align-items: flex-end;\n}\n.ba-item:first-child { grid-row: span 2; aspect-ratio: auto; }\n.ba-placeholder {\n  width: 100%; height: 100%;\n  display: flex; flex-direction: column;\n  align-items: center; justify-content: center;\n  gap: 12px; color: var(--blue);\n  background: linear-gradient(135deg, var(--blue-light), var(--blue-mid));\n  font-size: 0.75rem; font-family: 'Montserrat', sans-serif;\n  font-weight: 600; letter-spacing: 1px; text-transform: uppercase;\n}\n.ba-placeholder .icon { font-size: 2.5rem; opacity: 0.5; }\n.ba-label {\n  position: absolute; bottom: 0; left: 0; right: 0;\n  padding: 14px 16px;\n  background: linear-gradient(transparent, rgba(26,96,163,0.85));\n  color: var(--white);\n  font-family: 'Montserrat', sans-serif; font-weight: 600;\n  font-size: 0.75rem; letter-spacing: 0.5px;\n  display: flex; justify-content: space-between; align-items: center;\n}\n.ba-tag {\n  background: var(--blue); color: var(--white);\n  padding: 3px 10px; border-radius: 100px;\n  font-size: 0.65rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;\n}\n\n\/* \u2500\u2500 TESTIMONIALS \u2500\u2500 *\/\n.testimonials { background: var(--sky); }\n.testi-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 52px; }\n.testi-card {\n  background: var(--white); border-radius: 16px;\n  padding: 36px; border: 1px solid var(--border);\n  transition: box-shadow 0.2s;\n}\n.testi-card:hover { box-shadow: 0 12px 40px rgba(26,127,212,0.1); }\n.testi-card.featured {\n  grid-column: span 2;\n  background: var(--blue);\n  border: none;\n  display: grid; grid-template-columns: 1fr auto;\n  gap: 40px; align-items: center;\n}\n.testi-stars { color: #f4b400; font-size: 1rem; margin-bottom: 14px; letter-spacing: 2px; }\n.featured .testi-stars { color: #ffe066; }\n.testi-text {\n  font-size: 1rem; line-height: 1.75;\n  color: var(--slate); font-style: italic; margin-bottom: 22px;\n}\n.featured .testi-text { color: rgba(255,255,255,0.92); font-size: 1.15rem; }\n.testi-author { display: flex; align-items: center; gap: 12px; }\n.testi-avatar {\n  width: 42px; height: 42px; border-radius: 50%;\n  background: var(--blue); color: var(--white);\n  display: flex; align-items: center; justify-content: center;\n  font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 0.9rem;\n}\n.featured .testi-avatar { background: rgba(255,255,255,0.2); }\n.testi-name { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 0.9rem; color: var(--slate); }\n.featured .testi-name { color: var(--white); }\n.testi-loc { font-size: 0.75rem; color: var(--grey); }\n.featured .testi-loc { color: rgba(255,255,255,0.7); }\n.featured-cta { text-align: center; }\n.featured-cta .big-num { font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 4rem; color: var(--white); line-height: 1; }\n.featured-cta .big-label { color: rgba(255,255,255,0.75); font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 20px; margin-top: 4px; }\n.btn-white {\n  background: var(--white); color: var(--blue);\n  padding: 13px 24px; border-radius: 8px;\n  font-family: 'Montserrat', sans-serif; font-weight: 800;\n  font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.5px;\n  text-decoration: none; display: inline-block;\n  transition: background 0.2s, transform 0.2s;\n}\n.btn-white:hover { background: var(--blue-light); transform: translateY(-2px); }\n\n\/* \u2500\u2500 WHY US \u2500\u2500 *\/\n.why { background: var(--white); }\n.why-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }\n.why-points { display: flex; flex-direction: column; gap: 20px; margin-top: 36px; }\n.why-point {\n  display: flex; gap: 18px; align-items: flex-start;\n  padding: 20px; background: var(--sky); border-radius: 12px;\n  border: 1px solid var(--border); transition: border-color 0.2s;\n}\n.why-point:hover { border-color: var(--blue); }\n.why-check {\n  width: 36px; height: 36px; flex-shrink: 0; border-radius: 10px;\n  background: var(--blue); color: var(--white);\n  display: flex; align-items: center; justify-content: center;\n  font-weight: 800; font-size: 1rem;\n}\n.why-point h4 { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 0.95rem; color: var(--slate); margin-bottom: 5px; }\n.why-point p { font-size: 0.85rem; color: var(--grey); line-height: 1.6; }\n.why-image-col { display: flex; flex-direction: column; gap: 16px; }\n.why-big-card {\n  background: var(--blue); border-radius: 20px; padding: 44px;\n  color: var(--white); text-align: center;\n}\n.why-big-card .num { font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 5rem; line-height: 1; }\n.why-big-card .label { font-size: 0.85rem; opacity: 0.8; text-transform: uppercase; letter-spacing: 1px; margin-top: 4px; font-weight: 600; }\n.why-big-card p { font-size: 0.875rem; opacity: 0.85; line-height: 1.6; margin-top: 16px; }\n.why-small-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }\n.why-small {\n  background: var(--sky); border-radius: 14px; padding: 22px;\n  border: 1px solid var(--border); text-align: center;\n}\n.why-small .icon { font-size: 1.8rem; margin-bottom: 8px; }\n.why-small h5 { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 0.8rem; color: var(--slate); }\n\n\/* \u2500\u2500 LOCATIONS \u2500\u2500 *\/\n.locations { background: var(--grey-light); }\n.locations-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; margin-top: 48px; }\n.location-card {\n  background: var(--white); border-radius: 12px; padding: 24px 20px;\n  border: 1px solid var(--border); text-decoration: none;\n  display: flex; flex-direction: column; gap: 6px;\n  transition: all 0.25s;\n}\n.location-card:hover { border-color: var(--blue); box-shadow: 0 8px 28px rgba(26,127,212,0.1); transform: translateY(-3px); }\n.location-card .loc-name { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 1.05rem; color: var(--slate); }\n.location-card .loc-sub { font-size: 0.75rem; color: var(--grey); }\n.location-card .loc-cta { color: var(--blue); font-size: 0.75rem; font-family: 'Montserrat', sans-serif; font-weight: 700; margin-top: 8px; }\n\n\/* \u2500\u2500 QUOTE FORM \u2500\u2500 *\/\n.quote-section {\n  background: linear-gradient(160deg, var(--blue) 0%, #1260a8 100%);\n  padding: 100px 60px; text-align: center; position: relative; overflow: hidden;\n}\n.quote-section::before {\n  content: '';\n  position: absolute; top: -150px; right: -150px;\n  width: 500px; height: 500px; border-radius: 50%;\n  background: rgba(255,255,255,0.04);\n}\n.quote-section .section-eyebrow { color: rgba(255,255,255,0.75); }\n.quote-section .section-title { color: var(--white); }\n.quote-section .section-title span { color: rgba(255,255,255,0.6); }\n.quote-section .section-sub { color: rgba(255,255,255,0.8); margin: 0 auto 48px; }\n\n.quote-form {\n  max-width: 640px; margin: 0 auto;\n  background: var(--white); border-radius: 20px;\n  padding: 40px; box-shadow: 0 30px 80px rgba(0,0,0,0.15);\n  text-align: left; position: relative; z-index: 2;\n}\n.form-title {\n  font-family: 'Montserrat', sans-serif; font-weight: 900;\n  font-size: 1.3rem; color: var(--slate); margin-bottom: 8px;\n}\n.form-subtitle { font-size: 0.875rem; color: var(--grey); margin-bottom: 28px; }\n.form-divider { height: 2px; background: var(--blue-light); margin-bottom: 24px; }\n.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }\n.form-field { display: flex; flex-direction: column; gap: 6px; }\n.form-field.full { grid-column: span 2; }\n.form-field label {\n  font-family: 'Montserrat', sans-serif; font-weight: 700;\n  font-size: 0.75rem; letter-spacing: 0.5px; color: var(--slate); text-transform: uppercase;\n}\n.form-field input, .form-field select, .form-field textarea {\n  border: 1.5px solid var(--border);\n  background: var(--sky); color: var(--slate);\n  padding: 12px 14px; border-radius: 8px;\n  font-family: 'Lato', sans-serif; font-size: 0.9rem;\n  outline: none; width: 100%;\n  transition: border-color 0.2s, background 0.2s;\n}\n.form-field input:focus, .form-field select:focus, .form-field textarea:focus {\n  border-color: var(--blue); background: var(--white);\n  box-shadow: 0 0 0 3px rgba(26,127,212,0.1);\n}\n.form-field textarea { resize: vertical; min-height: 80px; }\n.form-submit {\n  width: 100%; background: var(--blue); border: none; color: var(--white);\n  padding: 16px; border-radius: 10px; cursor: pointer; margin-top: 6px;\n  font-family: 'Montserrat', sans-serif; font-weight: 800;\n  font-size: 1rem; letter-spacing: 0.5px; text-transform: uppercase;\n  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;\n  box-shadow: 0 4px 20px rgba(26,127,212,0.35);\n}\n.form-submit:hover { background: var(--blue-dark); transform: translateY(-1px); box-shadow: 0 8px 28px rgba(26,127,212,0.4); }\n.form-submit:disabled { background: #aac4df; cursor: not-allowed; box-shadow: none; transform: none; }\n.form-msg { margin-top: 16px; padding: 14px 18px; border-radius: 8px; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 0.875rem; display: none; }\n.form-msg.success { background: #e8f8ef; border: 1px solid #a0ddb8; color: #1a7a44; display: block; }\n.form-msg.error { background: #fdeaea; border: 1px solid #f0a0a0; color: #c0392b; display: block; }\n.form-guarantee { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 0.78rem; color: var(--grey); justify-content: center; }\n.form-guarantee .icon { color: var(--blue); }\n\n\/* \u2500\u2500 FOOTER \u2500\u2500 *\/\nfooter { background: var(--slate); padding: 72px 60px 36px; }\n.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 56px; margin-bottom: 56px; }\n.footer-logo { font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 1.4rem; color: var(--white); margin-bottom: 14px; display: block; }\n.footer-logo span { color: var(--blue); }\n.footer-brand p { font-size: 0.875rem; color: rgba(255,255,255,0.55); line-height: 1.75; max-width: 250px; }\n.footer-socials { display: flex; gap: 10px; margin-top: 20px; }\n.social-btn {\n  width: 36px; height: 36px; border-radius: 8px;\n  background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12);\n  display: flex; align-items: center; justify-content: center;\n  color: rgba(255,255,255,0.5); text-decoration: none; font-size: 0.85rem;\n  transition: all 0.2s;\n}\n.social-btn:hover { background: var(--blue); color: var(--white); border-color: var(--blue); }\n.footer-col h5 { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 0.75rem; letter-spacing: 2px; text-transform: uppercase; color: var(--blue); margin-bottom: 18px; }\n.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }\n.footer-col ul a { font-size: 0.875rem; color: rgba(255,255,255,0.55); text-decoration: none; transition: color 0.2s; }\n.footer-col ul a:hover { color: var(--white); }\n.footer-contact-item { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 12px; }\n.contact-icon { color: var(--blue); font-size: 0.9rem; margin-top: 2px; }\n.footer-contact-item span { font-size: 0.85rem; color: rgba(255,255,255,0.55); line-height: 1.5; }\n.footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding-top: 28px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }\n.footer-bottom p { font-size: 0.8rem; color: rgba(255,255,255,0.3); }\n.footer-bottom a { color: var(--blue); text-decoration: none; }\n\n\/* \u2500\u2500 MOBILE MENU TOGGLE \u2500\u2500 *\/\n.hamburger { display: none; background: none; border: none; cursor: pointer; padding: 4px; flex-direction: column; gap: 5px; }\n.hamburger span { display: block; width: 24px; height: 2px; background: var(--slate); border-radius: 2px; transition: all 0.3s; }\n\n\/* \u2500\u2500 ANIMATIONS \u2500\u2500 *\/\n@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }\n.hero-left { animation: fadeUp 0.8s ease both; }\n.hero-card { animation: fadeUp 0.8s 0.2s ease both; }\n\n\/* \u2500\u2500 RESPONSIVE \u2500\u2500 *\/\n@media (max-width: 900px) {\n  nav { padding: 0 24px; }\n  .nav-links { display: none; }\n  .hamburger { display: flex; }\n  section { padding: 72px 24px; }\n  .hero { padding: 100px 24px 60px; }\n  .hero-inner { grid-template-columns: 1fr; gap: 40px; }\n  .hero-card { display: none; }\n  .ba-grid { grid-template-columns: 1fr 1fr; }\n  .ba-item:first-child { grid-column: span 2; aspect-ratio: 16\/9; }\n  .testi-grid { grid-template-columns: 1fr; }\n  .testi-card.featured { grid-column: span 1; grid-template-columns: 1fr; }\n  .featured-cta { display: none; }\n  .why-inner { grid-template-columns: 1fr; gap: 48px; }\n  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }\n  .form-row { grid-template-columns: 1fr; }\n  .form-field.full { grid-column: span 1; }\n  .trust-bar { padding: 18px 24px; gap: 24px; }\n  .quote-section { padding: 80px 24px; }\n  .quote-form { padding: 28px 20px; }\n}\n<\/style>\n<\/head>\n<body>\n\n<!-- NAV -->\n<nav>\n  <a class=\"nav-logo\" href=\"#\">Glanville<span>.<\/span><\/a>\n  <ul class=\"nav-links\">\n    <li><a href=\"#services\">Services<\/a><\/li>\n    <li><a href=\"#before-after\">Before &amp; After<\/a><\/li>\n    <li><a href=\"#locations\">Areas<\/a><\/li>\n    <li><a href=\"#why-us\">Why Us<\/a><\/li>\n    <li><a href=\"#quote\" class=\"nav-cta\">Free Quote<\/a><\/li>\n  <\/ul>\n  <button class=\"hamburger\" onclick=\"this.classList.toggle('open')\" aria-label=\"Menu\">\n    <span><\/span><span><\/span><span><\/span>\n  <\/button>\n<\/nav>\n\n<!-- HERO -->\n<section class=\"hero\">\n  <div class=\"hero-inner\">\n    <div class=\"hero-left\">\n      <div class=\"hero-eyebrow\">Bracknell, Berkshire &amp; Surrounding Areas<\/div>\n      <h1>Exterior Cleaning<br><span>Experts<\/span> in Bracknell<\/h1>\n      <p class=\"hero-desc\">Professional roof cleaning, driveway cleaning, patio cleaning and gutter clearing across Bracknell, Wokingham, Reading and all of Berkshire. Free same-day quotes \u2014 fully insured.<\/p>\n      <div class=\"hero-services-pills\">\n        <span class=\"pill\">\ud83c\udfe0 Roof Cleaning<\/span>\n        <span class=\"pill\">\ud83d\ude97 Driveway Cleaning<\/span>\n        <span class=\"pill\">\ud83c\udf3f Patio Cleaning<\/span>\n        <span class=\"pill\">\ud83c\udf27\ufe0f Gutters<\/span>\n      <\/div>\n      <div class=\"hero-btns\">\n        <a href=\"#quote\" class=\"btn-primary\">Get a Free Quote \u2192<\/a>\n        <a href=\"#before-after\" class=\"btn-outline\">See Our Work<\/a>\n      <\/div>\n    <\/div>\n    <div class=\"hero-card\">\n      <div class=\"hero-card-title\">Why Glanville?<\/div>\n      <div class=\"hero-stats\">\n        <div class=\"hero-stat\">\n          <div class=\"hero-stat-num\">5\u2605<\/div>\n          <div class=\"hero-stat-label\"><strong>Google Rated<\/strong>47 verified reviews from Berkshire customers<\/div>\n        <\/div>\n        <div class=\"hero-stat\">\n          <div class=\"hero-stat-num\">500+<\/div>\n          <div class=\"hero-stat-label\"><strong>Jobs Completed<\/strong>Across Bracknell, Wokingham, Reading &amp; beyond<\/div>\n        <\/div>\n        <div class=\"hero-stat\">\n          <div class=\"hero-stat-num\">100%<\/div>\n          <div class=\"hero-stat-label\"><strong>Satisfaction Guarantee<\/strong>Not happy? We&#8217;ll come back and fix it free<\/div>\n        <\/div>\n      <\/div>\n      <div class=\"hero-badge\">\n        <span class=\"hero-badge-icon\">\ud83d\udee1\ufe0f<\/span>\n        <div class=\"hero-badge-text\">\n          <strong>Fully Insured &amp; Trusted<\/strong>\n          <span>Professional equipment \u00b7 Local team \u00b7 No hidden fees<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- TRUST BAR -->\n<div class=\"trust-bar\">\n  <div class=\"trust-item\"><span class=\"icon\">\u2705<\/span> Fully Insured<\/div>\n  <div class=\"trust-item\"><span class=\"icon\">\u2b50<\/span> 5\u2605 Google Rated<\/div>\n  <div class=\"trust-item\"><span class=\"icon\">\ud83d\udcde<\/span> Same-Day Quotes<\/div>\n  <div class=\"trust-item\"><span class=\"icon\">\ud83d\udee1\ufe0f<\/span> Satisfaction Guarantee<\/div>\n  <div class=\"trust-item\"><span class=\"icon\">\ud83d\udccd<\/span> Local to Berkshire<\/div>\n<\/div>\n\n<!-- SERVICES -->\n<section class=\"services\" id=\"services\">\n  <div class=\"services-header\">\n    <div>\n      <div class=\"section-eyebrow\">What We Do<\/div>\n      <h2 class=\"section-title\">Our <span>Services<\/span><\/h2>\n    <\/div>\n    <p class=\"section-sub\">Professional exterior cleaning in Bracknell and across Berkshire. Fully insured, expert results, every time.<\/p>\n  <\/div>\n  <div class=\"services-grid\">\n    <div class=\"service-card\">\n      <div class=\"service-icon-wrap\">\ud83c\udfe0<\/div>\n      <h3>Roof Cleaning Bracknell<\/h3>\n      <p>Safe removal of moss, algae, lichen and years of build-up from your roof. Protecting your home and extending your roof&#8217;s lifespan with professional soft wash and pressure wash treatments.<\/p>\n      <a href=\"\/roof-cleaning-bracknell.html\" class=\"service-link\">Learn More \u2192<\/a>\n    <\/div>\n    <div class=\"service-card\">\n      <div class=\"service-icon-wrap\">\ud83d\ude97<\/div>\n      <h3>Driveway Cleaning Berkshire<\/h3>\n      <p>Blast away oil stains, embedded moss, black spot and grime from block paving, tarmac, gravel and concrete. We restore driveways across Berkshire to their original condition \u2014 fast.<\/p>\n      <a href=\"\/driveway-cleaning-bracknell.html\" class=\"service-link\">Learn More \u2192<\/a>\n    <\/div>\n    <div class=\"service-card\">\n      <div class=\"service-icon-wrap\">\ud83c\udf3f<\/div>\n      <h3>Patio Cleaning Bracknell<\/h3>\n      <p>Refresh your outdoor living space. We clean all patio surfaces including natural stone, Indian sandstone, concrete slabs and decking \u2014 bringing your garden back to life before summer.<\/p>\n      <a href=\"\/patio-cleaning-bracknell.html\" class=\"service-link\">Learn More \u2192<\/a>\n    <\/div>\n    <div class=\"service-card\">\n      <div class=\"service-icon-wrap\">\ud83c\udf27\ufe0f<\/div>\n      <h3>Gutter Clearing Berkshire<\/h3>\n      <p>Blocked gutters lead to damp, leaks and serious structural damage. We clear and flush all guttering fully \u2014 removing all debris inside and out and leaving your drainage working perfectly.<\/p>\n      <a href=\"\/gutter-clearing-bracknell.html\" class=\"service-link\">Learn More \u2192<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- BEFORE & AFTER -->\n<section class=\"before-after\" id=\"before-after\">\n  <div class=\"ba-header\">\n    <div>\n      <div class=\"section-eyebrow\">Proof of Work<\/div>\n      <h2 class=\"section-title\">Before <span>&amp; After<\/span><\/h2>\n    <\/div>\n    <p class=\"section-sub\">We guarantee the transformation of any driveway, patio or roof across Berkshire. Add your own photos here to show customers what you can do.<\/p>\n  <\/div>\n  <div class=\"ba-grid\">\n    <div class=\"ba-item\">\n      <img decoding=\"async\" src=\"https:\/\/glanville-exterior-cleaning.co.uk\/wp-content\/uploads\/2026\/03\/Driveway-Cleaning-bracknell.jpg\" alt=\"Driveway Cleaning Bracknell\" style=\"width:100%;height:100%;object-fit:cover;\">\n      <div class=\"ba-label\"><span>Driveway \u2014 Bracknell<\/span><span class=\"ba-tag\">After<\/span><\/div>\n    <\/div>\n    <div class=\"ba-item\">\n      <img decoding=\"async\" src=\"https:\/\/glanville-exterior-cleaning.co.uk\/wp-content\/uploads\/2026\/03\/Patio-Cleaning-Bracknell.jpg\" alt=\"Patio Cleaning Bracknell\" style=\"width:100%;height:100%;object-fit:cover;\">\n      <div class=\"ba-label\"><span>Patio \u2014 Bracknell<\/span><span class=\"ba-tag\">After<\/span><\/div>\n    <\/div>\n    <div class=\"ba-item\">\n      <img decoding=\"async\" src=\"https:\/\/glanville-exterior-cleaning.co.uk\/wp-content\/uploads\/2026\/03\/Roof-Cleaning-Bracknell-2.jpg\" alt=\"Roof Cleaning Bracknell\" style=\"width:100%;height:100%;object-fit:cover;\">\n      <div class=\"ba-label\"><span>Roof \u2014 Bracknell<\/span><span class=\"ba-tag\">After<\/span><\/div>\n    <\/div>\n    <div class=\"ba-item\">\n      <img decoding=\"async\" src=\"https:\/\/glanville-exterior-cleaning.co.uk\/wp-content\/uploads\/2026\/03\/Driveway-Cleaning-Reading.webp\" alt=\"Driveway Cleaning Reading\" style=\"width:100%;height:100%;object-fit:cover;\">\n      <div class=\"ba-label\"><span>Driveway \u2014 Reading<\/span><span class=\"ba-tag\">After<\/span><\/div>\n    <\/div>\n    <div class=\"ba-item\">\n      <img decoding=\"async\" src=\"https:\/\/glanville-exterior-cleaning.co.uk\/wp-content\/uploads\/2026\/03\/Patio-Cleaning-Reading.avif\" alt=\"Patio Cleaning Reading\" style=\"width:100%;height:100%;object-fit:cover;\">\n      <div class=\"ba-label\"><span>Patio \u2014 Reading<\/span><span class=\"ba-tag\">After<\/span><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- TESTIMONIALS -->\n<section class=\"testimonials\" id=\"testimonials\">\n  <div class=\"section-eyebrow\">What People Say<\/div>\n  <h2 class=\"section-title\">Customer <span>Reviews<\/span><\/h2>\n  <div class=\"testi-grid\">\n    <div class=\"testi-card featured\">\n      <div>\n        <div class=\"testi-stars\">\u2605\u2605\u2605\u2605\u2605<\/div>\n        <p class=\"testi-text\">&#8220;Absolutely incredible result on our driveway. It looked brand new \u2014 I hadn&#8217;t seen it like that since we first had it laid. Professional, on time and left no mess. Can&#8217;t recommend highly enough.&#8221;<\/p>\n        <div class=\"testi-author\">\n          <div class=\"testi-avatar\">SH<\/div>\n          <div><div class=\"testi-name\">Sarah H.<\/div><div class=\"testi-loc\">\ud83d\udccd Bracknell, Berkshire \u00b7 Verified Google Review<\/div><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"featured-cta\">\n        <div class=\"big-num\">47<\/div>\n        <div class=\"big-label\">5\u2605 Reviews<\/div>\n        <a href=\"#quote\" class=\"btn-white\">Get Your Free Quote<\/a>\n      <\/div>\n    <\/div>\n    <div class=\"testi-card\">\n      <div class=\"testi-stars\">\u2605\u2605\u2605\u2605\u2605<\/div>\n      <p class=\"testi-text\">&#8220;The patio transformation was unbelievable. Really professional service from start to finish. Will definitely be using Glanville again.&#8221;<\/p>\n      <div class=\"testi-author\">\n        <div class=\"testi-avatar\">MJ<\/div>\n        <div><div class=\"testi-name\">Mark J.<\/div><div class=\"testi-loc\">\ud83d\udccd Wokingham<\/div><\/div>\n      <\/div>\n    <\/div>\n    <div class=\"testi-card\">\n      <div class=\"testi-stars\">\u2605\u2605\u2605\u2605\u2605<\/div>\n      <p class=\"testi-text\">&#8220;Cleared years of moss from our roof. Prompt, tidy and great value for money. Would absolutely use again and have already recommended to neighbours.&#8221;<\/p>\n      <div class=\"testi-author\">\n        <div class=\"testi-avatar\">LT<\/div>\n        <div><div class=\"testi-name\">Linda T.<\/div><div class=\"testi-loc\">\ud83d\udccd Reading<\/div><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- WHY CHOOSE US -->\n<section class=\"why\" id=\"why-us\">\n  <div class=\"why-inner\">\n    <div>\n      <div class=\"section-eyebrow\">Why Glanville<\/div>\n      <h2 class=\"section-title\">Why Choose <span>Us?<\/span><\/h2>\n      <p class=\"section-sub\">When it comes to exterior cleaning in Bracknell and Berkshire, you have options. Here&#8217;s why local customers keep choosing Glanville every time.<\/p>\n      <div class=\"why-points\">\n        <div class=\"why-point\">\n          <div class=\"why-check\">\u2713<\/div>\n          <div>\n            <h4>Proven, Guaranteed Results<\/h4>\n            <p>We stand behind every job with a satisfaction guarantee. Not happy? We come back and fix it \u2014 no questions, no charge.<\/p>\n          <\/div>\n        <\/div>\n        <div class=\"why-point\">\n          <div class=\"why-check\">\u2713<\/div>\n          <div>\n            <h4>Professional-Grade Equipment<\/h4>\n            <p>Commercial pressure washing and soft wash systems \u2014 the same kit used by national contractors, bringing pro results to every Berkshire home.<\/p>\n          <\/div>\n        <\/div>\n        <div class=\"why-point\">\n          <div class=\"why-check\">\u2713<\/div>\n          <div>\n            <h4>Fully Insured &amp; Reliable<\/h4>\n            <p>Fully insured and always on time. Your property is treated with the same care we&#8217;d give our own.<\/p>\n          <\/div>\n        <\/div>\n        <div class=\"why-point\">\n          <div class=\"why-check\">\u2713<\/div>\n          <div>\n            <h4>Local to Bracknell &amp; Berkshire<\/h4>\n            <p>No call centres. No long waits. We&#8217;re your local team \u2014 fast response times, honest pricing, friendly service.<\/p>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n    <div class=\"why-image-col\">\n      <div class=\"why-big-card\">\n        <div class=\"num\">100%<\/div>\n        <div class=\"label\">Satisfaction Guarantee<\/div>\n        <p>Every job is backed by our promise \u2014 if it&#8217;s not right, we&#8217;ll fix it free of charge. That&#8217;s the Glanville guarantee to every customer in Berkshire.<\/p>\n        <br>\n        <a href=\"#quote\" class=\"btn-white\" style=\"margin-top:8px;\">Get a Free Quote \u2192<\/a>\n      <\/div>\n      <div class=\"why-small-cards\">\n        <div class=\"why-small\"><div class=\"icon\">\ud83d\udee1\ufe0f<\/div><h5>Fully Insured<\/h5><\/div>\n        <div class=\"why-small\"><div class=\"icon\">\u2b50<\/div><h5>5\u2605 Rated<\/h5><\/div>\n        <div class=\"why-small\"><div class=\"icon\">\ud83d\udccd<\/div><h5>Local Team<\/h5><\/div>\n        <div class=\"why-small\"><div class=\"icon\">\ud83d\udcac<\/div><h5>Same-Day Reply<\/h5><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- AREAS WE COVER -->\n<section class=\"locations\" id=\"locations\">\n  <div class=\"section-eyebrow\">Where We Work<\/div>\n  <h2 class=\"section-title\">Areas We <span>Cover<\/span><\/h2>\n  <p class=\"section-sub\">Based in Bracknell, we cover all of Berkshire and surrounding areas. Not sure if we cover you? Just ask \u2014 free quotes for everyone.<\/p>\n  <div class=\"locations-grid\">\n    <a href=\"\/exterior-cleaning-bracknell.html\" class=\"location-card\">\n      <span class=\"loc-name\">Bracknell<\/span>\n      <span class=\"loc-sub\">Our Home Base \u00b7 RG12<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n    <a href=\"\/exterior-cleaning-crowthorne.html\" class=\"location-card\">\n      <span class=\"loc-name\">Crowthorne<\/span>\n      <span class=\"loc-sub\">Berkshire \u00b7 RG45<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n    <a href=\"\/exterior-cleaning-sandhurst.html\" class=\"location-card\">\n      <span class=\"loc-name\">Sandhurst<\/span>\n      <span class=\"loc-sub\">Berkshire \u00b7 GU47<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n    <a href=\"\/exterior-cleaning-wokingham.html\" class=\"location-card\">\n      <span class=\"loc-name\">Wokingham<\/span>\n      <span class=\"loc-sub\">Berkshire \u00b7 RG40\/41<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n    <a href=\"\/exterior-cleaning-ascot.html\" class=\"location-card\">\n      <span class=\"loc-name\">Ascot<\/span>\n      <span class=\"loc-sub\">Berkshire \u00b7 SL5<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n    <a href=\"\/exterior-cleaning-sunningdale.html\" class=\"location-card\">\n      <span class=\"loc-name\">Sunningdale<\/span>\n      <span class=\"loc-sub\">Berkshire \u00b7 SL5<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n    <a href=\"\/exterior-cleaning-windsor.html\" class=\"location-card\">\n      <span class=\"loc-name\">Windsor<\/span>\n      <span class=\"loc-sub\">Berkshire \u00b7 SL4<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n    <a href=\"\/exterior-cleaning-maidenhead.html\" class=\"location-card\">\n      <span class=\"loc-name\">Maidenhead<\/span>\n      <span class=\"loc-sub\">Berkshire \u00b7 SL6<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n    <a href=\"\/exterior-cleaning-reading.html\" class=\"location-card\">\n      <span class=\"loc-name\">Reading<\/span>\n      <span class=\"loc-sub\">Berkshire \u00b7 RG1\u20139<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n    <a href=\"\/exterior-cleaning-camberley.html\" class=\"location-card\">\n      <span class=\"loc-name\">Camberley<\/span>\n      <span class=\"loc-sub\">Surrey \u00b7 GU15<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n    <a href=\"\/exterior-cleaning-virginia-water.html\" class=\"location-card\">\n      <span class=\"loc-name\">Virginia Water<\/span>\n      <span class=\"loc-sub\">Surrey \u00b7 GU25<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n    <a href=\"\/exterior-cleaning-beaconsfield.html\" class=\"location-card\">\n      <span class=\"loc-name\">Beaconsfield<\/span>\n      <span class=\"loc-sub\">Buckinghamshire \u00b7 HP9<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n    <a href=\"\/exterior-cleaning-gerrards-cross.html\" class=\"location-card\">\n      <span class=\"loc-name\">Gerrards Cross<\/span>\n      <span class=\"loc-sub\">Buckinghamshire \u00b7 SL9<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n    <a href=\"\/exterior-cleaning-marlow.html\" class=\"location-card\">\n      <span class=\"loc-name\">Marlow<\/span>\n      <span class=\"loc-sub\">Buckinghamshire \u00b7 SL7<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n    <a href=\"\/exterior-cleaning-henley-on-thames.html\" class=\"location-card\">\n      <span class=\"loc-name\">Henley-on-Thames<\/span>\n      <span class=\"loc-sub\">Oxfordshire \u00b7 RG9<\/span>\n      <span class=\"loc-cta\">Get a Free Quote \u2192<\/span>\n    <\/a>\n  <\/div>\n<\/section>\n\n<!-- QUOTE FORM -->\n<section class=\"quote-section\" id=\"quote\">\n  <div class=\"section-eyebrow\">It&#8217;s Free &amp; No Obligation<\/div>\n  <h2 class=\"section-title\">Get a Free <span>Quote Today<\/span><\/h2>\n  <p class=\"section-sub\">Fill in your details and we&#8217;ll come back to you the same day with a clear, honest price. No hidden fees, no hard sell.<\/p>\n\n  <!--\n  \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n  EMAILJS SETUP (takes ~10 mins):\n  1. Go to emailjs.com \u2192 create free account\n  2. Add your Gmail as an Email Service\n  3. Create a template using: {{from_name}} {{phone}} {{service}} {{address}} {{message}}\n  4. Replace the 3 YOUR_... values below\n  \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n  -->\n    <div class=\"quote-form\">\n    <div class=\"form-title\">Request Your Free Quote<\/div>\n    <div class=\"form-subtitle\">Usually back to you within the hour \u2014 same day guaranteed.<\/div>\n    <div class=\"form-divider\"><\/div>\n    <form action=\"https:\/\/formspree.io\/f\/xaqlwzal\" method=\"POST\">\n      <input type=\"hidden\" name=\"_subject\" value=\"New Quote Request \u2014 General Enquiry \u2014 Bracknell\">\n      <input type=\"hidden\" name=\"_next\" value=\"https:\/\/glanville-exterior-cleaning.co.uk\/thank-you.html\">\n      <input type=\"hidden\" name=\"service\" value=\"General Enquiry\">\n      <input type=\"hidden\" name=\"location\" value=\"Bracknell\">\n      <div class=\"form-row\">\n        <div class=\"form-field\"><label>Your Name *<\/label><input type=\"text\" name=\"name\" placeholder=\"John Smith\" required><\/div>\n        <div class=\"form-field\"><label>Phone Number *<\/label><input type=\"tel\" name=\"phone\" placeholder=\"07943 768996\" required><\/div>\n      <\/div>\n      <div class=\"form-row\">\n        <div class=\"form-field\"><label>Email Address<\/label><input type=\"email\" name=\"email\" placeholder=\"john@email.com\"><\/div>\n        <div class=\"form-field\"><label>Service Needed *<\/label>\n          <select name=\"service_type\" required>\n            <option value=\"\" disabled selected>Select a service&#8230;<\/option>\n            <option>Driveway Cleaning<\/option>\n            <option>Patio Cleaning<\/option>\n            <option>Roof Cleaning<\/option>\n            <option>Gutter Clearing<\/option>\n            <option>Multiple Services<\/option>\n            <option>Not Sure \u2014 Please Advise<\/option>\n          <\/select>\n        <\/div>\n      <\/div>\n      <div class=\"form-row\">\n        <div class=\"form-field full\"><label>Property Address \/ Postcode *<\/label><input type=\"text\" name=\"address\" placeholder=\"e.g. 12 High Street, Bracknell, RG12 1AB\" required><\/div>\n      <\/div>\n      <div class=\"form-row\">\n        <div class=\"form-field full\"><label>Anything else? (optional)<\/label><textarea name=\"message\" placeholder=\"e.g. surface type, size of area, access info...\"><\/textarea><\/div>\n      <\/div>\n      <button type=\"submit\" class=\"form-submit\">Send My Free General Enquiry Quote \u2192<\/button>\n      <div class=\"form-note\">\ud83d\udd12 No spam. No hard sell. Just an honest quote from your local team.<\/div>\n    <\/form>\n  <\/div>\n<\/section>\n\n<!-- FOOTER -->\n<footer id=\"contact\">\n  <div class=\"footer-grid\">\n    <div class=\"footer-brand\">\n      <span class=\"footer-logo\">Glanville<span>.<\/span><\/span>\n      <p>Professional exterior cleaning serving Bracknell, Berkshire and surrounding areas. Roofs, driveways, patios and gutters.<\/p>\n      <div class=\"footer-socials\">\n        <a href=\"#\" class=\"social-btn\" aria-label=\"Facebook\">f<\/a>\n        <a href=\"#\" class=\"social-btn\" aria-label=\"Instagram\">in<\/a>\n        <a href=\"#\" class=\"social-btn\" aria-label=\"Google\">g<\/a>\n      <\/div>\n    <\/div>\n    <div class=\"footer-col\">\n      <h5>Services<\/h5>\n      <ul>\n        <li><a href=\"#\">Roof Cleaning<\/a><\/li>\n        <li><a href=\"#\">Driveway Cleaning<\/a><\/li>\n        <li><a href=\"#\">Patio Cleaning<\/a><\/li>\n        <li><a href=\"#\">Gutter Clearing<\/a><\/li>\n      <\/ul>\n    <\/div>\n    <div class=\"footer-col\">\n      <h5>Areas<\/h5>\n      <ul>\n        <li><a href=\"#\">Bracknell<\/a><\/li>\n        <li><a href=\"#\">Wokingham<\/a><\/li>\n        <li><a href=\"#\">Reading<\/a><\/li>\n        <li><a href=\"#\">Sandhurst<\/a><\/li>\n      <\/ul>\n    <\/div>\n    <div class=\"footer-col\">\n      <h5>Contact<\/h5>\n      <div class=\"footer-contact-item\"><span class=\"contact-icon\">\ud83d\udcde<\/span><span>07943 768996<\/span><\/div>\n      <div class=\"footer-contact-item\"><span class=\"contact-icon\">\u2709\ufe0f<\/span><span><a href=\"\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"87efe2ebebe8c7e0ebe6e9f1eeebebe2aae2fff3e2f5eee8f5aae4ebe2e6e9eee9e0a9e4e8a9f2ec\">[email&#160;protected]<\/a><\/span><\/div>\n      <div class=\"footer-contact-item\"><span class=\"contact-icon\">\ud83d\udccd<\/span><span>Bracknell, Berkshire &amp; Surrounding Areas<\/span><\/div>\n    <\/div>\n  <\/div>\n  <div class=\"footer-bottom\">\n    <p>\u00a9 2026 Glanville Exterior Cleaning. All rights reserved.<\/p>\n    <p>Serving Bracknell, Wokingham, Reading &amp; Berkshire \ud83c\uddec\ud83c\udde7<\/p>\n  <\/div>\n<\/footer>\n\n<script data-cfasync=\"false\" src=\"\/cdn-cgi\/scripts\/5c5dd728\/cloudflare-static\/email-decode.min.js\"><\/script><script>\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ Replace these with your EmailJS values\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nconst EMAILJS_PUBLIC_KEY  = 'TbFxcBVk2GIOt9Swf';\nconst EMAILJS_SERVICE_ID  = 'service_lu7rykp';\nconst EMAILJS_TEMPLATE_ID = 'template_ejkuivh';\n\nemailjs.init(EMAILJS_PUBLIC_KEY);\n\ndocument.getElementById('quoteForm').addEventListener('submit', async function(e) {\n  e.preventDefault();\n  const btn     = document.getElementById('submitBtn');\n  const success = document.getElementById('formSuccess');\n  const error   = document.getElementById('formError');\n  const name    = document.getElementById('name').value.trim();\n  const phone   = document.getElementById('phone').value.trim();\n  const service = document.getElementById('service').value;\n  const address = document.getElementById('address').value.trim();\n\n  success.style.display = 'none';\n  error.style.display = 'none';\n\n  if (!name || !phone || !service || !address) {\n    error.textContent = '\u26a0\ufe0f Please fill in all required fields (Name, Phone, Service, Address).';\n    error.className = 'form-msg error';\n    return;\n  }\n\n  btn.disabled = true;\n  btn.textContent = 'Sending your request...';\n\n  try {\n    await emailjs.sendForm(EMAILJS_SERVICE_ID, EMAILJS_TEMPLATE_ID, this);\n    success.className = 'form-msg success';\n    btn.textContent = '\u2705 R\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Exterior Cleaning Bracknell &#038; Berkshire | Glanville Exterior Cleaning Glanville. Services Before &amp; After Areas Why Us Free Quote Bracknell, Berkshire &amp; Surrounding Areas Exterior CleaningExperts in Bracknell Professional roof cleaning, driveway cleaning, patio cleaning and gutter clearing across Bracknell, Wokingham, Reading and all of Berkshire. Free same-day quotes \u2014 fully insured. \ud83c\udfe0 Roof Cleaning&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-page-builder-no-header-footer.php","meta":{"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-25","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/glanville-exterior-cleaning.co.uk\/index.php?rest_route=\/wp\/v2\/pages\/25","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/glanville-exterior-cleaning.co.uk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/glanville-exterior-cleaning.co.uk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/glanville-exterior-cleaning.co.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/glanville-exterior-cleaning.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=25"}],"version-history":[{"count":5,"href":"https:\/\/glanville-exterior-cleaning.co.uk\/index.php?rest_route=\/wp\/v2\/pages\/25\/revisions"}],"predecessor-version":[{"id":34,"href":"https:\/\/glanville-exterior-cleaning.co.uk\/index.php?rest_route=\/wp\/v2\/pages\/25\/revisions\/34"}],"wp:attachment":[{"href":"https:\/\/glanville-exterior-cleaning.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}