
.site-primary-footer-wrap,
.site-below-footer-wrap {
  background: #111812 !important;
}

.site-footer h3 {
  color: #ffffff !important;
}

.site-footer p,
.site-footer li,
.site-footer .ast-footer-copyright {
  color: #e9eeea !important;
}

.site-footer a {
  color: #ffffff !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

.site-footer a:hover,
.site-footer a:focus {
  color: #45c631 !important;
}

.site-primary


/* Accreditation van panel */
.elementor-element-8e50ea2 {
  overflow: visible !important;
}
.elementor-element-bfa3a7a {
  position: relative;
  z-index: 3;
  color: #ffffff !important;
}
.elementor-element-bfa3a7a,
.elementor-element-bfa3a7a * {
  color: #ffffff !important;
}
.elementor-element-3f1faa4 {
  position: relative;
  z-index: 1;
  padding: 18px 24px 48px !important;
}
.elementor-element-3f1faa4::before {
  content: "";
  position: absolute;

/* Official Instagram gradient treatment for header social icon */
.ast-header-social-1-wrap .ast-instagram {
  --color: #ffffff !important;
  --background-color: transparent !important;
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%) !important;
  border-radius: 8px;
  padding: 4px;
  box-sizing: border-box;
}
.ast-header-social-1-wrap .ast-instagram svg {
  fill: #ffffff !important;
}

  z-index: 0;
  top: -130px;
  bottom: -5px;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background:
    linear-gradient(90deg, rgba(12, 19, 13, 0.94), rgba(16, 30, 18, 0.84)),
    url("https://pristinegrl.co.uk/wp-content/webpc-passthru.php?src=https://pristinegrl.co.uk/wp-content/uploads/2026/08/pristine-copy-2.jpeg&amp;nocache=1");
  background-size: cover;
  background-position: center 56%;
  border-top: 2px solid rgba(69, 198, 49, 0.75);
  border-bottom: 2px solid rgba(69, 198, 49, 0.75);
  box-shadow: inset 0 0 80px rgba(0, 0, 0, 0.22);
}
.elementor-element-3f1faa4 img {
  position: relative;
  z-index: 2;
  display: block;
  max-width: 820px;
  margin: 0 auto;
  padding: 22px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.26);
}
@media (max-width: 767px) {
  .elementor-element-bfa3a7a {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .elementor-element-3f1faa4 {
    padding: 12px 8px 36px !important;
  }
  .elementor-element-3f1faa4::before {
    top: -120px;
    bottom: -4px;
    background-position: 62% center;
  }
  .elementor-element-3f1faa4 img {
    padding: 10px;
  }
}
-footer-wrap {
  border-top: 1px solid rgba(69, 198, 49, 0.35) !important;
}

.site-below-footer-wrap {
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}.site-primary-footer-wrap,
.site-below-footer-wrap {
  background: #111812 !important;
}

.site-footer h3 {
  color: #ffffff !important;
  font-size: clamp(26px, 2vw, 34px) !important;
  line-height: 1.15 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.site-footer p,
.site-footer li,
.site-footer .ast-footer-copyright {
  color: #e9eeea !important;
}

.site-footer a {
  color: #ffffff !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

.site-footer a:hover,
.site-footer a:focus {
  color: #45c631 !important;
}

.site-primary-footer-wrap {
  border-top: 1px solid rgba(69, 198, 49, 0.35) !important;
}

.site-below-footer-wrap {
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Keep Home project carousel images consistently sized */
.elementor-element-c14dd5a .swiper-slide-image {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  object-position: center center;
  display: block;
}

@media (max-width: 767px) {
  .elementor-element-c14dd5a .swiper-slide-image {
    height: 280px !important;
  }
}

/* Place testimonial names above their reviews */
.elementor-element-c1a79f6 .hfe-infocard {
  display: flex;
  flex-direction: column;
}

.elementor-element-c1a79f6 .hfe-infocard-text-wrap {
  order: -1;
  margin: 0 0 14px !important;
}

.elementor-element-c1a79f6 .hfe-infocard-text {
  font-weight: 600;
}


/* Colour testimonial stars to match the company theme */
.elementor-element-c1a79f6 .hfe-infocard-title::first-line {
  color: #42A92B;
}


/* Split homepage hero for domestic and commercial clients */
.elementor-element-df5081a {
  padding: 0 !important;
  min-height: 794px;
  overflow: hidden;
  background: #111812 !important;
}

.elementor-element-df5081a > .elementor-background-slideshow,
.elementor-element-df5081a > .e-con-inner > .elementor-shape,
.elementor-element-df5081a .elementor-element-a09d1ef {
  display: none !important;
}

.elementor-element-df5081a > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  min-height: 794px;
  padding: 0 !important;
  flex-direction: row !important;
  gap: 0 !important;
  align-items: stretch !important;
}

.elementor-element-df5081a > .e-con-inner > .elementor-widget-hfe-infocard {
  width: 50% !important;
  max-width: none !important;
  min-height: 794px;
  padding: 170px 70px 80px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  box-sizing: border-box;
}

.elementor-element-df5081a > .e-con-inner > .elementor-widget-hfe-infocard::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(7, 12, 8, 0.6);
  transition: background 0.25s ease;
}

.elementor-element-df5081a > .e-con-inner > .elementor-widget-hfe-infocard:hover::before {
  background: rgba(7, 12, 8, 0.5);
}

.elementor-element-df5081a > .e-con-inner > .elementor-widget-hfe-infocard > .elementor-widget-container {
  width: 100%;
  padding: 0 !important;
  position: relative;
  z-index: 1;
}

.elementor-element-df5081a .hfe-infocard {
  text-align: center;
}

.elementor-element-df5081a .hfe-infocard-title {
  color: #ffffff !important;
  font-size: clamp(46px, 4vw, 64px) !important;
  line-height: 1.08 !important;
  margin: 0 !important;
}

.elementor-element-df5081a .hfe-infocard-text {
  max-width: 540px;
  margin: 22px auto 0 !important;
  color: #ffffff !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
}

.elementor-element-df5081a .hfe-button-wrapper {
  margin-top: 30px !important;
}

.elementor-element-df5081a .elementor-button {
  background: #42A92B !important;
  color: #ffffff !important;
  border: 1px solid #42A92B !important;
  padding: 17px 26px !important;
  transition: background 0.2s ease, border-color 0.2s ease !important;
}

.elementor-element-df5081a .elementor-button:hover,
.elementor-element-df5081a .elementor-button:focus {
  background: #348c22 !important;
  border-color: #348c22 !important;
}

.elementor-element-fbee746 {
  background-image: url("https://pristinegrl.co.uk/wp-content/webpc-passthru.php?src=https://pristinegrl.co.uk/wp-content/uploads/2026/06/24c5f421-9e10-460e-bcb2-a4218a0ca80f-Copy.jpg&amp;nocache=1");
  border-right: 1px solid rgba(255, 255, 255, 0.35);
}

.elementor-element-dcb777e {
  background-image: url("https://pristinegrl.co.uk/wp-content/webpc-passthru.php?src=https://pristinegrl.co.uk/wp-content/uploads/2026/08/pristine-copy-2.jpeg&amp;nocache=1");
  background-position: center 42% !important;
}

@media (max-width: 1024px) {
  .elementor-element-df5081a > .e-con-inner > .elementor-widget-hfe-infocard {
    padding: 155px 36px 70px !important;
  }

  .elementor-element-df5081a .hfe-infocard-title {
    font-size: clamp(40px, 5vw, 54px) !important;
  }
}

@media (max-width: 767px) {
  .elementor-element-df5081a {
    min-height: auto;
  }

  .elementor-element-df5081a > .e-con-inner {
    min-height: auto;
    flex-direction: column !important;
  }

  .elementor-element-df5081a > .e-con-inner > .elementor-widget-hfe-infocard {
    width: 100% !important;
    min-height: 500px;
    padding: 125px 26px 55px !important;
  }

  .elementor-element-df5081a > .e-con-inner > .elementor-element-dcb777e {
    min-height: 460px;
    padding-top: 60px !important;
  }

  .elementor-element-fbee746 {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  }

  .elementor-element-df5081a .hfe-infocard-title {
    font-size: 34px !important;
  }

  .elementor-element-df5081a .hfe-infocard-text {
    font-size: 16px !important;
  }

  .elementor-element-df5081a .elementor-button {
    padding: 15px 22px !important;
  }
}


/* Centre the split hero content vertically on larger screens */
@media (min-width: 768px) {
  .elementor-element-df5081a > .e-con-inner > .elementor-widget-hfe-infocard {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }

  .elementor-element-df5081a > .e-con-inner > .elementor-widget-hfe-infocard > .elementor-widget-container {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .elementor-element-df5081a .hfe-infocard {
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element-df5081a > .e-con-inner > .elementor-widget-hfe-infocard {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }
}

/* Services dropdown */
.ast-desktop .main-header-menu .sub-menu {
  background: rgba(17, 24, 18, 0.55) !important;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  border-top: 3px solid #45c631 !important;
  border-right: 1px solid rgba(255, 255, 255, 0.10);
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  border-left: 1px solid rgba(255, 255, 255, 0.10);
  min-width: 240px;
  padding: 8px 0 !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28) !important;
}

.ast-desktop .main-header-menu .sub-menu .menu-link {
  color: #ffffff !important;
  background: transparent !important;
  padding: 13px 20px !important;
  line-height: 1.35 !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.ast-desktop .main-header-menu .sub-menu .menu-item:hover > .menu-link,
.ast-desktop .main-header-menu .sub-menu .menu-link:hover,
.ast-desktop .main-header-menu .sub-menu .menu-link:focus {
  color: #ffffff !important;
  background: rgba(59, 170, 45, 0.92) !important;
}


/* Accreditation panel — blended logo version */
html body .elementor-element-bfa3a7a,
html body .elementor-element-bfa3a7a * {
  color: #111812 !important;
}
html body .elementor-element-3f1faa4::before {
  background:
    linear-gradient(90deg, rgba(238, 244, 238, 0.95), rgba(219, 233, 221, 0.91)),
    url("https://pristinegrl.co.uk/wp-content/webpc-passthru.php?src=https://pristinegrl.co.uk/wp-content/uploads/2026/08/pristine-copy-2.jpeg&amp;nocache=1") !important;
  background-size: cover !important;
  background-position: center 56% !important;
  box-shadow: inset 0 0 80px rgba(29, 62, 32, 0.10) !important;
}
html body .elementor-element-3f1faa4 img {
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  mix-blend-mode: multiply !important;
  opacity: 0.98 !important;
  filter: contrast(1.03) !important;
}

/* Accreditation section — restore original plain layout */
html body .elementor-element-8e50ea2 {
  overflow: visible !important;
}
html body .elementor-element-bfa3a7a,
html body .elementor-element-bfa3a7a * {
  position: static !important;
  z-index: auto !important;
  color: #111812 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
html body .elementor-element-3f1faa4 {
  position: static !important;
  z-index: auto !important;
  padding: 0 !important;
}
html body .elementor-element-3f1faa4::before {
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body .elementor-element-3f1faa4 img {
  display: inline-block !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Accreditation section — green horizontal dividers */
html body .elementor-element-bfa3a7a,
html body .elementor-element-3f1faa4 {
  position: relative !important;
}
html body .elementor-element-bfa3a7a::before,
html body .elementor-element-3f1faa4::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  width: 100vw !important;
  height: 4px !important;
  transform: translateX(-50%) !important;
  background: #45c631 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}
html body .elementor-element-bfa3a7a::before {
  top: -60px !important;
}
html body .elementor-element-3f1faa4::after {
  bottom: -60px !important;
}
@media (max-width: 767px) {
  html body .elementor-element-bfa3a7a::before {
    top: -38px !important;
  }
  html body .elementor-element-3f1faa4::after {
    bottom: -38px !important;
  }
  html body .elementor-element-bfa3a7a::before,
  html body .elementor-element-3f1faa4::after {
    height: 3px !important;
  }
}

/* Official Instagram gradient treatment for header social icon */
.ast-header-social-1-wrap .ast-instagram {
  --color: #ffffff !important;
  --background-color: transparent !important;
  width: 30px !important;
  height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%) !important;
  border-radius: 8px;
  padding: 4px;
  box-sizing: border-box;
}
.ast-header-social-1-wrap .ast-instagram .ahfb-svg-iconset,
.ast-header-social-1-wrap .ast-instagram svg {
  width: 22px !important;
  height: 22px !important;
}
.ast-header-social-1-wrap .ast-instagram svg {
  fill: #ffffff !important;
}

/* Retired floating WhatsApp button: contact remains in the header */
.pristine-whatsapp-float {
  display: none !important;
}

/* Header social placement and Facebook contrast */
@media (min-width: 1200px) {
  .site-above-header-wrap.ast-container {
    max-width: 100% !important;
    padding-left: clamp(40px, calc((100vw - 1240px) / 2 - 200px), 140px) !important;
    padding-right: clamp(40px, calc((100vw - 1240px) / 2 - 200px), 140px) !important;
  }
}
.ast-header-social-1-wrap .ast-facebook,
.ast-header-social-1-wrap .ast-linkedin {
  width: 30px !important;
  height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box;
}
.ast-header-social-1-wrap .ast-facebook {
  border-radius: 7px !important;
}
.ast-header-social-1-wrap .ast-linkedin {
  border-radius: 3px !important;
}
.ast-header-social-1-wrap .ast-facebook .ahfb-svg-iconset,
.ast-header-social-1-wrap .ast-linkedin .ahfb-svg-iconset {
  width: 34.3px !important;
  height: 34.3px !important;
  flex: 0 0 34.3px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ast-header-social-1-wrap .ast-facebook svg,
.ast-header-social-1-wrap .ast-linkedin svg {
  width: 34.3px !important;
  height: 34.3px !important;
  min-width: 34.3px !important;
  max-width: none !important;
  flex: 0 0 34.3px !important;
}
.ast-header-social-1-wrap .ast-facebook svg {
  fill: #1877F2 !important;
}
.ast-header-social-1-wrap .ast-linkedin svg {
  fill: #0A66C2 !important;
}

.ast-header-social-1-wrap {
  flex-wrap: nowrap !important;
  width: max-content !important;
}

/* Refined subpage header: match homepage aesthetic */
body:not(.home) #masthead {
  background: #111812 !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14);
}
body:not(.home) .ast-above-header-bar,
body:not(.home) .ast-primary-header-bar {
  background: linear-gradient(135deg, #111812 0%, #18251b 55%, #111812 100%) !important;
}
body:not(.home) .ast-above-header-bar {
  border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
}
body:not(.home) .ast-primary-header-bar {
  border-bottom: 2px solid #42a92b !important;
}
body:not(.home) .site-title a,
body:not(.home) .main-header-menu > .menu-item > .menu-link,
body:not(.home) .ast-header-break-point .main-header-menu .menu-link {
  color: #ffffff !important;
}
body:not(.home) .main-header-menu > .menu-item > .menu-link:hover,
body:not(.home) .main-header-menu > .current-menu-item > .menu-link,
body:not(.home) .main-header-menu > .current-menu-ancestor > .menu-link {
  color: #73d45f !important;
}

/* Shared Pristine overview hero: Blog and Contact */
body.blog .ast-archive-entry-banner {
  background-image: linear-gradient(rgba(10, 17, 12, 0.72), rgba(10, 17, 12, 0.72)), url("https://pristinegrl.co.uk/wp-content/uploads/2026/08/about-hero-overview-cropped.webp") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

body.page-id-280 .elementor-element.elementor-element-813bfb5 {
  background-image: url("https://pristinegrl.co.uk/wp-content/uploads/2026/08/about-hero-overview-cropped.webp") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Homepage recent-projects carousel refinement */
body.home .elementor-element.elementor-element-c14dd5a {
  width: 100%;
}

body.home .elementor-element-c14dd5a .elementor-image-carousel-wrapper {
  position: relative;
  aspect-ratio: 16 / 9;
  height: auto !important;
  padding-bottom: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(26, 55, 31, 0.12);
  border-radius: 4px;
  background: #e9eeea;
  box-shadow: 0 14px 34px rgba(16, 32, 20, 0.16);
}

body.home .elementor-element-c14dd5a .swiper-wrapper,
body.home .elementor-element-c14dd5a .swiper-slide,
body.home .elementor-element-c14dd5a .swiper-slide-inner {
  height: 100% !important;
}

body.home .elementor-element-c14dd5a img.swiper-slide-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center;
}

body.home .elementor-element-c14dd5a .elementor-swiper-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;
  background: rgba(13, 24, 16, 0.84);
  color: #ffffff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
  transition: background-color 180ms ease, transform 180ms ease;
}

body.home .elementor-element-c14dd5a .elementor-swiper-button:hover {
  background: #35ad28;
  transform: translateY(-50%) scale(1.04);
}

body.home .elementor-element-c14dd5a .elementor-swiper-button-prev {
  left: 14px;
}

body.home .elementor-element-c14dd5a .elementor-swiper-button-next {
  right: 14px;
}

body.home .elementor-element-c14dd5a .swiper-pagination {
  position: absolute !important;
  bottom: 13px !important;
  z-index: 4;
  pointer-events: none;
}

body.home .elementor-element-c14dd5a .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0 5px !important;
  background: #ffffff;
  opacity: 0.72;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.45);
}

body.home .elementor-element-c14dd5a .swiper-pagination-bullet-active {
  background: #35ad28;
  opacity: 1;
}

@media (max-width: 767px) {
  body.home .elementor-element-c14dd5a .elementor-image-carousel-wrapper {
    aspect-ratio: 4 / 3;
  }

  body.home .elementor-element-c14dd5a .elementor-swiper-button {
    width: 36px;
    height: 36px;
  }

  body.home .elementor-element-c14dd5a .elementor-swiper-button-prev {
    left: 10px;
  }

  body.home .elementor-element-c14dd5a .elementor-swiper-button-next {
    right: 10px;
  }
}


/* Windows and Doors full-width layout safeguard */
body.page-id-574 .elementor-574 > .e-con.e-parent,
body.page-id-576 .elementor-576 > .e-con.e-parent {
  --content-width: 100%;
  --container-max-width: 100%;
}

body.page-id-574 .elementor-574 > .e-con.e-parent > .e-con-inner,
body.page-id-576 .elementor-576 > .e-con.e-parent > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
}


/* Mobile navigation and cookie control — staged 2026-08-28 */
@media (max-width: 921px) {
  .cmplz-btn.cmplz-manage-consent.manage-consent-1 {
    right: 14px !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    left: auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 999px !important;
    background: rgba(8, 22, 15, 0.9) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.4px !important;
    line-height: 42px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24) !important;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    z-index: 900 !important;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease !important;
  }

  body:has(#ast-mobile-site-navigation.toggled) .cmplz-btn.cmplz-manage-consent.manage-consent-1,
  body:has(.ast-main-header-bar-navigation.toggle-on) .cmplz-btn.cmplz-manage-consent.manage-consent-1 {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(10px) !important;
  }

  .ast-mobile-header-content {
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-height: calc(100vh - 184px) !important;
    max-height: calc(100dvh - 184px - env(safe-area-inset-bottom)) !important;
    margin-top: 8px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 16px !important;
    background: rgba(8, 22, 15, 0.94) !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.34) !important;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    z-index: 9997 !important;
  }

  #ast-hf-mobile-menu,
  #ast-hf-mobile-menu .sub-menu {
    background: transparent !important;
  }

  #ast-hf-mobile-menu {
    padding: 8px !important;
  }

  #ast-hf-mobile-menu > li {
    min-height: 52px !important;
    margin: 2px 0 !important;
    position: relative !important;
  }

  #ast-hf-mobile-menu .menu-link {
    border: 0 !important;
    color: #fff !important;
    box-sizing: border-box !important;
  }

  #ast-hf-mobile-menu > li > .menu-link {
    display: flex !important;
    align-items: center !important;
    min-height: 52px !important;
    padding: 0 16px !important;
    border-radius: 10px !important;
    background: transparent !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
  }

  #ast-hf-mobile-menu > li.menu-item-has-children > .menu-link {
    padding-right: 64px !important;
  }

  #ast-hf-mobile-menu > li.current-menu-item > .menu-link,
  #ast-hf-mobile-menu > li.current_page_item > .menu-link,
  #ast-hf-mobile-menu > li.current-menu-ancestor > .menu-link,
  #ast-hf-mobile-menu > li > .menu-link:hover,
  #ast-hf-mobile-menu > li > .menu-link:focus-visible {
    background: rgba(69, 198, 49, 0.17) !important;
    color: #fff !important;
  }

  #ast-hf-mobile-menu .sub-menu {
    margin: 0 8px 6px 16px !important;
    padding: 4px 0 4px 10px !important;
    border: 0 !important;
    border-left: 2px solid rgba(69, 198, 49, 0.58) !important;
  }

  #ast-hf-mobile-menu .sub-menu > li {
    min-height: 48px !important;
    margin: 2px 0 !important;
  }

  #ast-hf-mobile-menu .sub-menu > li > .menu-link {
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 0 14px !important;
    border-radius: 9px !important;
    background: rgba(255, 255, 255, 0.045) !important;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
  }

  #ast-hf-mobile-menu .sub-menu > li > .menu-link:hover,
  #ast-hf-mobile-menu .sub-menu > li > .menu-link:focus-visible,
  #ast-hf-mobile-menu .sub-menu > li.current-menu-item > .menu-link {
    background: rgba(69, 198, 49, 0.14) !important;
    color: #fff !important;
  }

  #ast-hf-mobile-menu .ast-menu-toggle {
    top: 0 !important;
    right: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 52px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.065) !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  #ast-hf-mobile-menu .menu-link:focus-visible,
  #ast-hf-mobile-menu .ast-menu-toggle:focus-visible,
  .ast-button-wrap .menu-toggle:focus-visible,
  .ast-header-social-wrap .ast-builder-social-element:focus-visible {
    outline: 2px solid #45c631 !important;
    outline-offset: -4px !important;
  }

  .ast-button-wrap .menu-toggle {
    border: 1px solid rgba(255, 255, 255, 0.42) !important;
    border-radius: 12px !important;
    background: rgba(8, 22, 15, 0.3) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16) !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  .ast-header-social-wrap .ast-builder-social-element {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin-inline: 1px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 11px !important;
  }
}

@media (max-width: 921px) and (prefers-reduced-motion: reduce) {
  .cmplz-btn.cmplz-manage-consent.manage-consent-1 {
    transition: none !important;
  }
}


/* Keep the cookie control clear of the open mobile navigation */
@media (max-width: 921px) {
  body:has(.main-header-bar-navigation.toggle-on) .cmplz-btn.cmplz-manage-consent.manage-consent-1 {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(10px) !important;
  }
}


/* Clean, accessible focus states for mobile navigation */
@media (max-width: 921px) {
  #ast-hf-mobile-menu .menu-link:focus,
  #ast-hf-mobile-menu .ast-menu-toggle:focus,
  .ast-button-wrap .menu-toggle:focus,
  .ast-header-social-wrap .ast-builder-social-element:focus {
    outline: 2px solid #45c631 !important;
    outline-style: solid !important;
    outline-offset: -4px !important;
    box-shadow: none !important;
  }
}


/* Full-width safeguards: Services, Solar PV, Further Services,
   Commercial Projects and Projects & Case Studies */
body.page-id-278 .elementor-278,
body.page-id-578 .elementor-578,
body.page-id-572 .elementor-572,
body.page-id-758 .elementor-758,
body.page-id-279 .elementor-279 {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.page-id-278 .elementor-278 > .e-con,
body.page-id-578 .elementor-578 > .e-con,
body.page-id-572 .elementor-572 > .e-con,
body.page-id-758 .elementor-758 > .e-con,
body.page-id-279 .elementor-279 > .e-con {
  --content-width: 100%;
  --container-max-width: 100%;
  width: 100% !important;
  max-width: none !important;
}

body.page-id-278 .elementor-278 > .e-con > .e-con-inner,
body.page-id-578 .elementor-578 > .e-con > .e-con-inner,
body.page-id-572 .elementor-572 > .e-con > .e-con-inner,
body.page-id-758 .elementor-758 > .e-con > .e-con-inner,
body.page-id-279 .elementor-279 > .e-con > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
}

/* Remove duplicate Astra featured image: Projects & Case Studies */
body.page-id-279 #main > .ast-single-post-featured-section.post-thumb {
  display: none !important;
}

/* Restore colour swatches on Windows and Doors pages */
body.page-id-574 #window-colours .sdp-swatch::before,
body.page-id-576 #door-colours .sdp-door-swatch::before {
  content: "";
  display: block;
  width: 100%;
  height: 92px;
  border: 1px solid rgba(17,24,18,.13);
  box-shadow: inset 0 0 18px rgba(255,255,255,.18);
}
body.page-id-574 #window-colours .sdp-swatch:nth-child(1)::before,
body.page-id-576 #door-colours .sdp-door-swatch:nth-child(1)::before { background: linear-gradient(135deg,#fff 0%,#ecece7 100%); }
body.page-id-574 #window-colours .sdp-swatch:nth-child(2)::before { background: linear-gradient(135deg,#24292b 0%,#474d4e 100%); }
body.page-id-574 #window-colours .sdp-swatch:nth-child(3)::before { background: linear-gradient(135deg,#777e7f 0%,#565d5e 100%); }
body.page-id-574 #window-colours .sdp-swatch:nth-child(4)::before { background: linear-gradient(135deg,#f4efdc 0%,#ded4b8 100%); }
body.page-id-574 #window-colours .sdp-swatch:nth-child(5)::before,
body.page-id-576 #door-colours .sdp-door-swatch:nth-child(5)::before { background: repeating-linear-gradient(98deg,rgba(255,255,255,.08) 0 4px,rgba(71,36,14,.08) 4px 8px),linear-gradient(135deg,#74451f 0%,#a87339 50%,#805028 100%); }
body.page-id-574 #window-colours .sdp-swatch:nth-child(6)::before,
body.page-id-576 #door-colours .sdp-door-swatch:nth-child(4)::before { background: linear-gradient(135deg,#a1b1a2 0%,#788d7b 100%); }
body.page-id-576 #door-colours .sdp-door-swatch:nth-child(2)::before { background: linear-gradient(135deg,#111 0%,#303230 100%); }
body.page-id-576 #door-colours .sdp-door-swatch:nth-child(3)::before { background: linear-gradient(135deg,#24292b 0%,#474d4e 100%); }
body.page-id-576 #door-colours .sdp-door-swatch:nth-child(6)::before { background: linear-gradient(135deg,#344e69 0%,#1e334b 100%); }
@media (max-width:600px) {
  body.page-id-574 #window-colours .sdp-swatch::before,
  body.page-id-576 #door-colours .sdp-door-swatch::before { height: 78px; }
}

/* Homepage service-card design restoration — page 275 only */
body.home.page-id-275 .elementor-275 {
  --pgr-card-ink: #111812;
  --pgr-card-muted: #58685b;
  --pgr-card-green: #45c631;
  --pgr-card-green-deep: #35ad28;
  --pgr-card-panel: #eef5ee;
  --pgr-card-line: rgba(53, 173, 40, 0.22);
  --pgr-card-shadow: 0 16px 38px rgba(17, 24, 18, 0.13);
  --pgr-card-shadow-hover: 0 24px 52px rgba(17, 24, 18, 0.19);
}

/* Key Services heading and surrounding panel */
body.home.page-id-275 .elementor-275 .elementor-element-327b2ac {
  margin-bottom: 0 !important;
  padding-bottom: 30px !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-327b2ac .e-heading-base {
  color: var(--pgr-card-ink) !important;
  letter-spacing: 0.08em !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-327b2ac .e-heading-base::after,
body.home.page-id-275 .elementor-275 .elementor-element-af2c292 .elementor-heading-title::after {
  content: "";
  display: block;
  width: 54px;
  height: 3px;
  margin: 17px auto 0;
  background: var(--pgr-card-green);
}

body.home.page-id-275 .elementor-275 .elementor-element-56cae95 {
  padding: 42px 40px 104px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(69, 198, 49, 0.12), transparent 34%),
    linear-gradient(180deg, #f7faf7 0%, #edf5ee 100%) !important;
  border-top: 1px solid var(--pgr-card-line);
  border-bottom: 1px solid var(--pgr-card-line);
  overflow: hidden !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-56cae95 > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: 1200px !important;
  align-items: stretch !important;
}

/* Key Services cards */
body.home.page-id-275 .elementor-275 .elementor-element-d20483e,
body.home.page-id-275 .elementor-275 .elementor-element-4a9a2ee,
body.home.page-id-275 .elementor-275 .elementor-element-4d805e5 {
  --width: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  position: relative !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(17, 24, 18, 0.1) !important;
  border-top: 3px solid var(--pgr-card-green) !important;
  border-radius: 7px !important;
  box-shadow: var(--pgr-card-shadow) !important;
  opacity: 0;
  animation: pgrServiceCardReveal 0.62s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
  transition: transform 0.28s ease, box-shadow 0.28s ease !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-4a9a2ee {
  flex-direction: column-reverse !important;
  animation-delay: 0.1s;
}

body.home.page-id-275 .elementor-275 .elementor-element-4d805e5 {
  animation-delay: 0.2s;
}

body.home.page-id-275 .elementor-275 .elementor-element-d20483e:hover,
body.home.page-id-275 .elementor-275 .elementor-element-4a9a2ee:hover,
body.home.page-id-275 .elementor-275 .elementor-element-4d805e5:hover {
  transform: translateY(-6px) scale(1.006);
  box-shadow: var(--pgr-card-shadow-hover) !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-1c9aa53,
body.home.page-id-275 .elementor-275 .elementor-element-f612416,
body.home.page-id-275 .elementor-275 .elementor-element-caaffe6,
body.home.page-id-275 .elementor-275 .elementor-element-4f37187,
body.home.page-id-275 .elementor-275 .elementor-element-2424a4b,
body.home.page-id-275 .elementor-275 .elementor-element-dbfd60a {
  --width: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-1c9aa53,
body.home.page-id-275 .elementor-275 .elementor-element-f612416,
body.home.page-id-275 .elementor-275 .elementor-element-caaffe6 {
  flex: 0 0 252px !important;
  height: 252px !important;
  min-height: 252px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-e206538,
body.home.page-id-275 .elementor-275 .elementor-element-8e61246,
body.home.page-id-275 .elementor-275 .elementor-element-4319e38,
body.home.page-id-275 .elementor-275 .elementor-element-e206538 > .elementor-widget-container,
body.home.page-id-275 .elementor-275 .elementor-element-8e61246 > .elementor-widget-container,
body.home.page-id-275 .elementor-275 .elementor-element-4319e38 > .elementor-widget-container,
body.home.page-id-275 .elementor-275 .elementor-element-e206538 a,
body.home.page-id-275 .elementor-275 .elementor-element-8e61246 a,
body.home.page-id-275 .elementor-275 .elementor-element-4319e38 a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-e206538 img,
body.home.page-id-275 .elementor-275 .elementor-element-8e61246 img,
body.home.page-id-275 .elementor-275 .elementor-element-4319e38 img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 0.5s ease !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-d20483e:hover img,
body.home.page-id-275 .elementor-275 .elementor-element-4a9a2ee:hover img,
body.home.page-id-275 .elementor-275 .elementor-element-4d805e5:hover img {
  transform: scale(1.045);
}

body.home.page-id-275 .elementor-275 .elementor-element-4f37187,
body.home.page-id-275 .elementor-275 .elementor-element-2424a4b,
body.home.page-id-275 .elementor-275 .elementor-element-dbfd60a {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  padding: 32px 30px 30px !important;
  background: var(--pgr-card-panel) !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-5af013b .hfe-infocard-title::before,
body.home.page-id-275 .elementor-275 .elementor-element-28c8edb .hfe-infocard-title::before,
body.home.page-id-275 .elementor-275 .elementor-element-93386d5 .hfe-infocard-title::before {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0 0 19px;
  border: 1px solid rgba(17, 24, 18, 0.08);
  border-radius: 50%;
  background: var(--pgr-card-green);
  color: var(--pgr-card-ink);
  box-shadow: 0 7px 18px rgba(53, 173, 40, 0.22);
  font: 700 12px/1 Outfit, Arial, sans-serif;
  letter-spacing: 0.1em;
}

body.home.page-id-275 .elementor-275 .elementor-element-5af013b .hfe-infocard-title::before { content: "01"; }
body.home.page-id-275 .elementor-275 .elementor-element-28c8edb .hfe-infocard-title::before { content: "02"; }
body.home.page-id-275 .elementor-275 .elementor-element-93386d5 .hfe-infocard-title::before { content: "03"; }

body.home.page-id-275 .elementor-275 .elementor-element-5af013b .hfe-infocard-title,
body.home.page-id-275 .elementor-275 .elementor-element-28c8edb .hfe-infocard-title,
body.home.page-id-275 .elementor-275 .elementor-element-93386d5 .hfe-infocard-title {
  margin: 0 0 14px !important;
  color: var(--pgr-card-ink) !important;
  font-size: clamp(27px, 2vw, 32px) !important;
  line-height: 1.12 !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-5af013b .hfe-infocard-text,
body.home.page-id-275 .elementor-275 .elementor-element-28c8edb .hfe-infocard-text,
body.home.page-id-275 .elementor-275 .elementor-element-93386d5 .hfe-infocard-text {
  margin: 0 0 24px !important;
  color: var(--pgr-card-muted) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-f767c0f,
body.home.page-id-275 .elementor-275 .elementor-element-2e4655a,
body.home.page-id-275 .elementor-275 .elementor-element-3f505a9 {
  margin-top: auto !important;
}

/* Further Services heading and full-width presentation strip */
body.home.page-id-275 .elementor-275 .elementor-element-af2c292 {
  margin: 0 !important;
  padding: 24px 24px 34px !important;
  background:
    radial-gradient(circle at 50% 100%, rgba(69, 198, 49, 0.11), transparent 38%),
    linear-gradient(180deg, #fbfcfb 0%, #f2f7f2 100%) !important;
  border-top: 1px solid rgba(53, 173, 40, 0.15);
}

body.home.page-id-275 .elementor-275 .elementor-element-af2c292 .elementor-heading-title {
  color: var(--pgr-card-ink) !important;
  letter-spacing: 0.07em !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-b81812f {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 22px max(32px, calc((100% - 1200px) / 2)) 110px !important;
  overflow: visible !important;
  background:
    linear-gradient(rgba(53, 173, 40, 0.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(53, 173, 40, 0.032) 1px, transparent 1px),
    radial-gradient(circle at 50% 0%, rgba(69, 198, 49, 0.11), transparent 38%),
    linear-gradient(180deg, #f2f7f2 0%, #f9fbf9 100%) !important;
  background-size: 36px 36px, 36px 36px, auto, auto !important;
  border-bottom: 1px solid rgba(53, 173, 40, 0.17);
}

body.home.page-id-275 .elementor-275 .elementor-element-b8065d1 {
  --pgr-card-image: url("https://pristinegrl.co.uk/wp-content/uploads/2026/08/pristine-gallery-ewi-insulation-boards-illustrative.webp");
}

body.home.page-id-275 .elementor-275 .elementor-element-c293d3a {
  --pgr-card-image: url("https://pristinegrl.co.uk/wp-content/uploads/2026/08/pristine-gallery-roofline-fascia-soffit-guttering-illustrative.webp");
}

body.home.page-id-275 .elementor-275 .elementor-element-d86404a {
  --pgr-card-image: url("https://pristinegrl.co.uk/wp-content/uploads/2026/08/pristine-insulation-retrofit-loft-illustrative.webp");
}

body.home.page-id-275 .elementor-275 .elementor-element-b8065d1,
body.home.page-id-275 .elementor-275 .elementor-element-c293d3a,
body.home.page-id-275 .elementor-275 .elementor-element-d86404a {
  --width: auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 520px !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  padding: 238px 0 0 !important;
  position: relative !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(17, 24, 18, 0.1) !important;
  border-top: 3px solid var(--pgr-card-green) !important;
  border-radius: 7px !important;
  box-shadow: var(--pgr-card-shadow) !important;
  opacity: 0;
  animation: pgrServiceCardReveal 0.62s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
  transition: transform 0.28s ease, box-shadow 0.28s ease !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-c293d3a { animation-delay: 0.1s; }
body.home.page-id-275 .elementor-275 .elementor-element-d86404a { animation-delay: 0.2s; }

body.home.page-id-275 .elementor-275 .elementor-element-b8065d1::before,
body.home.page-id-275 .elementor-275 .elementor-element-c293d3a::before,
body.home.page-id-275 .elementor-275 .elementor-element-d86404a::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  height: 238px !important;
  background: var(--pgr-card-image) center / cover no-repeat !important;
  opacity: 1 !important;
  z-index: 0 !important;
  transform: scale(1.001);
  transition: transform 0.5s ease !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-b8065d1::after,
body.home.page-id-275 .elementor-275 .elementor-element-c293d3a::after,
body.home.page-id-275 .elementor-275 .elementor-element-d86404a::after {
  display: grid;
  place-items: center;
  position: absolute;
  top: 18px;
  left: 18px;
  width: 44px;
  height: 44px;
  z-index: 2;
  border: 1px solid rgba(255, 255, 255, 0.46);
  border-radius: 50%;
  background: rgba(17, 24, 18, 0.88);
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.23);
  font: 700 12px/1 Outfit, Arial, sans-serif;
  letter-spacing: 0.1em;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

body.home.page-id-275 .elementor-275 .elementor-element-b8065d1::after { content: "04"; }
body.home.page-id-275 .elementor-275 .elementor-element-c293d3a::after { content: "05"; }
body.home.page-id-275 .elementor-275 .elementor-element-d86404a::after { content: "06"; }

body.home.page-id-275 .elementor-275 .elementor-element-b8065d1:hover,
body.home.page-id-275 .elementor-275 .elementor-element-c293d3a:hover,
body.home.page-id-275 .elementor-275 .elementor-element-d86404a:hover {
  transform: translateY(-6px) scale(1.006);
  box-shadow: var(--pgr-card-shadow-hover) !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-b8065d1:hover::before,
body.home.page-id-275 .elementor-275 .elementor-element-c293d3a:hover::before,
body.home.page-id-275 .elementor-275 .elementor-element-d86404a:hover::before {
  transform: scale(1.045);
}

body.home.page-id-275 .elementor-275 .elementor-element-968d065,
body.home.page-id-275 .elementor-275 .elementor-element-1943e28,
body.home.page-id-275 .elementor-275 .elementor-element-522504b {
  display: none !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2,
body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f,
body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb {
  position: relative !important;
  z-index: 1 !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  background: #ffffff !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 > .elementor-widget-container,
body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f > .elementor-widget-container,
body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb > .elementor-widget-container,
body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 .hfe-infocard,
body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f .hfe-infocard,
body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb .hfe-infocard {
  height: 100% !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 .hfe-infocard,
body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f .hfe-infocard,
body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb .hfe-infocard {
  display: flex !important;
  flex-direction: column !important;
  padding: 31px 30px 30px !important;
  background: #ffffff !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 .hfe-infocard-title,
body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f .hfe-infocard-title,
body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb .hfe-infocard-title {
  margin: 0 0 12px !important;
  color: var(--pgr-card-ink) !important;
  font-size: clamp(22px, 1.65vw, 27px) !important;
  line-height: 1.18 !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 .hfe-infocard-title::after,
body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f .hfe-infocard-title::after,
body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb .hfe-infocard-title::after {
  content: "";
  display: block;
  width: 38px;
  height: 2px;
  margin-top: 15px;
  background: var(--pgr-card-green);
}

body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 .hfe-infocard-text,
body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f .hfe-infocard-text,
body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb .hfe-infocard-text {
  margin: 0 0 24px !important;
  color: var(--pgr-card-muted) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 .hfe-button-wrapper,
body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f .hfe-button-wrapper,
body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb .hfe-button-wrapper {
  margin-top: auto !important;
}

/* Shared CTA treatment */
body.home.page-id-275 .elementor-275 .elementor-element-f767c0f .elementor-button,
body.home.page-id-275 .elementor-275 .elementor-element-2e4655a .elementor-button,
body.home.page-id-275 .elementor-275 .elementor-element-3f505a9 .elementor-button,
body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 .elementor-button,
body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f .elementor-button,
body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb .elementor-button {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 45px !important;
  padding: 13px 19px !important;
  border: 1px solid var(--pgr-card-ink) !important;
  border-radius: 2px !important;
  background: var(--pgr-card-ink) !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  box-shadow: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-f767c0f .elementor-button:hover,
body.home.page-id-275 .elementor-275 .elementor-element-2e4655a .elementor-button:hover,
body.home.page-id-275 .elementor-275 .elementor-element-3f505a9 .elementor-button:hover,
body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 .elementor-button:hover,
body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f .elementor-button:hover,
body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb .elementor-button:hover {
  border-color: var(--pgr-card-green) !important;
  background: var(--pgr-card-green) !important;
  color: var(--pgr-card-ink) !important;
  fill: var(--pgr-card-ink) !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-f767c0f .elementor-button:focus-visible,
body.home.page-id-275 .elementor-275 .elementor-element-2e4655a .elementor-button:focus-visible,
body.home.page-id-275 .elementor-275 .elementor-element-3f505a9 .elementor-button:focus-visible,
body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 .elementor-button:focus-visible,
body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f .elementor-button:focus-visible,
body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb .elementor-button:focus-visible {
  outline: 3px solid rgba(69, 198, 49, 0.46) !important;
  outline-offset: 3px !important;
}

/* Restore the approved descriptive CTA labels in the preview. */
body.home.page-id-275 .elementor-275 :is(
  .elementor-element-f767c0f,
  .elementor-element-2e4655a,
  .elementor-element-3f505a9,
  .elementor-element-9ef84d2,
  .elementor-element-a4a4e4f,
  .elementor-element-5b0d0bb
) .elementor-button-text {
  font-size: 0 !important;
  line-height: 0 !important;
}

body.home.page-id-275 .elementor-275 :is(
  .elementor-element-f767c0f,
  .elementor-element-2e4655a,
  .elementor-element-3f505a9,
  .elementor-element-9ef84d2,
  .elementor-element-a4a4e4f,
  .elementor-element-5b0d0bb
) .elementor-button-text::after {
  content: none !important;
  display: none !important;
}

body.home.page-id-275 .elementor-275 .elementor-element-f767c0f .elementor-button-text::before { content: "EXPLORE WINDOWS  \2192"; }
body.home.page-id-275 .elementor-275 .elementor-element-2e4655a .elementor-button-text::before { content: "EXPLORE SOLAR PV  \2192"; }
body.home.page-id-275 .elementor-275 .elementor-element-3f505a9 .elementor-button-text::before { content: "EXPLORE DOORS  \2192"; }
body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 .elementor-button-text::before { content: "EXPLORE EWI  \2192"; }
body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f .elementor-button-text::before { content: "EXPLORE ROOFLINE  \2192"; }
body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb .elementor-button-text::before { content: "EXPLORE RETROFIT  \2192"; }

body.home.page-id-275 .elementor-275 :is(
  .elementor-element-f767c0f,
  .elementor-element-2e4655a,
  .elementor-element-3f505a9,
  .elementor-element-9ef84d2,
  .elementor-element-a4a4e4f,
  .elementor-element-5b0d0bb
) .elementor-button-text::before {
  display: inline;
  font-size: 12px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.06em !important;
}

@keyframes pgrServiceCardReveal {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 768px) and (max-width: 1024px) {
  body.home.page-id-275 .elementor-275 .elementor-element-56cae95 > .e-con-inner,
  body.home.page-id-275 .elementor-275 .elementor-element-b81812f {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home.page-id-275 .elementor-275 .elementor-element-4d805e5,
  body.home.page-id-275 .elementor-275 .elementor-element-d86404a {
    grid-column: 1 / -1;
    width: calc((100% - 28px) / 2) !important;
    justify-self: center;
  }
}

@media (max-width: 767px) {
  body.home.page-id-275 .elementor-275 .elementor-element-327b2ac {
    padding: 0 20px 24px !important;
  }

  body.home.page-id-275 .elementor-275 .elementor-element-56cae95 {
    padding: 28px 20px 72px !important;
  }

  body.home.page-id-275 .elementor-275 .elementor-element-56cae95 > .e-con-inner,
  body.home.page-id-275 .elementor-275 .elementor-element-b81812f {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  body.home.page-id-275 .elementor-275 .elementor-element-4d805e5,
  body.home.page-id-275 .elementor-275 .elementor-element-d86404a {
    grid-column: auto;
    width: 100% !important;
  }

  body.home.page-id-275 .elementor-275 .elementor-element-1c9aa53,
  body.home.page-id-275 .elementor-275 .elementor-element-f612416,
  body.home.page-id-275 .elementor-275 .elementor-element-caaffe6 {
    flex-basis: 220px !important;
    height: 220px !important;
    min-height: 220px !important;
  }

  body.home.page-id-275 .elementor-275 .elementor-element-4f37187,
  body.home.page-id-275 .elementor-275 .elementor-element-2424a4b,
  body.home.page-id-275 .elementor-275 .elementor-element-dbfd60a {
    padding: 28px 22px 27px !important;
  }

  body.home.page-id-275 .elementor-275 .elementor-element-af2c292 {
    padding: 58px 20px 26px !important;
  }

  body.home.page-id-275 .elementor-275 .elementor-element-b81812f {
    width: 100% !important;
    padding: 16px 20px 72px !important;
  }

  body.home.page-id-275 .elementor-275 .elementor-element-b8065d1,
  body.home.page-id-275 .elementor-275 .elementor-element-c293d3a,
  body.home.page-id-275 .elementor-275 .elementor-element-d86404a {
    min-height: 0 !important;
    padding-top: 210px !important;
  }

  body.home.page-id-275 .elementor-275 .elementor-element-b8065d1::before,
  body.home.page-id-275 .elementor-275 .elementor-element-c293d3a::before,
  body.home.page-id-275 .elementor-275 .elementor-element-d86404a::before {
    height: 210px !important;
  }

  body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 .hfe-infocard,
  body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f .hfe-infocard,
  body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb .hfe-infocard {
    padding: 27px 22px 26px !important;
  }

  body.home.page-id-275 .elementor-275 .elementor-element-f767c0f .elementor-button,
  body.home.page-id-275 .elementor-275 .elementor-element-2e4655a .elementor-button,
  body.home.page-id-275 .elementor-275 .elementor-element-3f505a9 .elementor-button,
  body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 .elementor-button,
  body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f .elementor-button,
  body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb .elementor-button {
    width: 100% !important;
  }
}

@media (hover: none) {
  body.home.page-id-275 .elementor-275 .elementor-element-d20483e:hover,
  body.home.page-id-275 .elementor-275 .elementor-element-4a9a2ee:hover,
  body.home.page-id-275 .elementor-275 .elementor-element-4d805e5:hover,
  body.home.page-id-275 .elementor-275 .elementor-element-b8065d1:hover,
  body.home.page-id-275 .elementor-275 .elementor-element-c293d3a:hover,
  body.home.page-id-275 .elementor-275 .elementor-element-d86404a:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home.page-id-275 .elementor-275 .elementor-element-d20483e,
  body.home.page-id-275 .elementor-275 .elementor-element-4a9a2ee,
  body.home.page-id-275 .elementor-275 .elementor-element-4d805e5,
  body.home.page-id-275 .elementor-275 .elementor-element-b8065d1,
  body.home.page-id-275 .elementor-275 .elementor-element-c293d3a,
  body.home.page-id-275 .elementor-275 .elementor-element-d86404a {
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
  }

  body.home.page-id-275 .elementor-275 img,
  body.home.page-id-275 .elementor-275 .elementor-element-b8065d1::before,
  body.home.page-id-275 .elementor-275 .elementor-element-c293d3a::before,
  body.home.page-id-275 .elementor-275 .elementor-element-d86404a::before {
    transition: none !important;
  }
}

/* End homepage service-card design restoration */



/* Homepage service-card preview polish */
body.home.page-id-275 .elementor-275 .elementor-element-f767c0f .elementor-button-text::before { content: "EXPLORE WINDOWS"; }
body.home.page-id-275 .elementor-275 .elementor-element-2e4655a .elementor-button-text::before { content: "EXPLORE SOLAR PV"; }
body.home.page-id-275 .elementor-275 .elementor-element-3f505a9 .elementor-button-text::before { content: "EXPLORE DOORS"; }
body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 .elementor-button-text::before { content: "EXPLORE EWI"; }
body.home.page-id-275 .elementor-275 .elementor-element-a4a4e4f .elementor-button-text::before { content: "EXPLORE ROOFLINE"; }
body.home.page-id-275 .elementor-275 .elementor-element-5b0d0bb .elementor-button-text::before { content: "EXPLORE RETROFIT"; }
body.home.page-id-275 .elementor-275 .elementor-element-3cbf527 { display: none !important; }


/* Pristine: keep the complete Astra header visible */
body {
  --pgrl-admin-bar-offset: 0px;
}

body.admin-bar {
  --pgrl-admin-bar-offset: 32px;
}

/* Normal pages stay in flow, preventing the header covering page content. */
#masthead {
  position: sticky !important;
  top: var(--pgrl-admin-bar-offset) !important;
  z-index: 9998 !important;
  width: 100%;
  background: #111812 !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}

/* Transparent-header pages retain their existing hero-overlay layout. */
body.ast-theme-transparent-header #masthead {
  position: fixed !important;
  left: 0;
  right: 0;
  background: rgba(17, 24, 18, 0.94) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

/* Keep the complete desktop header useful without dominating the viewport. */
@media screen and (min-width: 923px) {
  #masthead .site-branding {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  #masthead .site-primary-header-wrap {
    min-height: 60px !important;
  }
}

@media screen and (max-width: 782px) {
  body.admin-bar {
    --pgrl-admin-bar-offset: 46px;
  }
}

/* WordPress otherwise lets its admin bar scroll away on small screens. */
@media screen and (max-width: 600px) {
  body.admin-bar #wpadminbar {
    position: fixed !important;
  }
}

/* Match Astra's actual mobile-header switch and protect long nested menus. */
@media screen and (max-width: 922px) {
  .ast-mobile-header-content {
    max-height: calc(100vh - 184px - var(--pgrl-admin-bar-offset)) !important;
    max-height: calc(100dvh - 184px - var(--pgrl-admin-bar-offset) - env(safe-area-inset-bottom)) !important;
  }

  body.ast-theme-transparent-header #masthead {
    background: #111812 !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

#masthead .main-header-menu .sub-menu {
  z-index: 9999 !important;
}

/* Prevent the persistent header hiding in-page anchor destinations. */
html {
  scroll-padding-top: 225px;
}

html:has(body.admin-bar) {
  scroll-padding-top: 257px;
}

@media screen and (max-width: 922px) {
  html {
    scroll-padding-top: 185px;
  }

  html:has(body.admin-bar) {
    scroll-padding-top: 217px;
  }
}

@media screen and (max-width: 782px) {
  html:has(body.admin-bar) {
    scroll-padding-top: 231px;
  }
}

@media print {
  #masthead,
  body.ast-theme-transparent-header #masthead {
    position: static !important;
    top: auto !important;
    box-shadow: none !important;
  }

  html {
    scroll-padding-top: 0;
  }
}
/* End persistent Pristine header */


/* Pristine homepage: full-height split hero and scroll cue */
@media screen and (min-width: 923px) {
  body.home .elementor-element-df5081a,
  body.home .elementor-element-df5081a > .e-con-inner,
  body.home .elementor-element-df5081a > .e-con-inner > .elementor-element-fbee746,
  body.home .elementor-element-df5081a > .e-con-inner > .elementor-element-dcb777e {
    min-height: 100vh !important;
    min-height: 100svh !important;
  }

  body.admin-bar.home .elementor-element-df5081a,
  body.admin-bar.home .elementor-element-df5081a > .e-con-inner,
  body.admin-bar.home .elementor-element-df5081a > .e-con-inner > .elementor-element-fbee746,
  body.admin-bar.home .elementor-element-df5081a > .e-con-inner > .elementor-element-dcb777e {
    min-height: calc(100vh - 32px) !important;
    min-height: calc(100svh - 32px) !important;
  }

  body.home .elementor-element-fbee746,
  body.home .elementor-element-dcb777e {
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }
}

body.home .elementor-element-df5081a {
  position: relative;
}

body.home .elementor-element-df5081a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 24px;
  width: 18px;
  height: 18px;
  border-right: 3px solid #45c631;
  border-bottom: 3px solid #45c631;
  transform: translate(-50%, -4px) rotate(45deg);
  z-index: 8;
  pointer-events: none;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.65));
  animation: pgrl-scroll-cue 1.8s ease-in-out infinite;
}

@keyframes pgrl-scroll-cue {
  0%, 100% {
    transform: translate(-50%, -4px) rotate(45deg);
    opacity: 0.68;
  }
  50% {
    transform: translate(-50%, 4px) rotate(45deg);
    opacity: 1;
  }
}

@media screen and (max-width: 922px) {
  body.home .elementor-element-df5081a::after {
    bottom: 15px;
    width: 15px;
    height: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .elementor-element-df5081a::after {
    animation: none;
  }
}
/* End Pristine homepage split hero */

/* Compact cookie-settings button */
.cmplz-manage-consent.manage-consent-1.cmplz-show {
  position: fixed !important;
  left: 18px !important;
  right: auto !important;
  bottom: 18px !important;
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  border: 1px solid rgba(17, 24, 18, .14) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  box-shadow: 0 8px 22px rgba(17, 24, 18, .22) !important;
  z-index: 99999 !important;
}
.cmplz-manage-consent.manage-consent-1.cmplz-show::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  margin: auto;
  border-radius: 50%;
  background:
    radial-gradient(circle at 21px 4px, #fff 0 4px, transparent 4.3px),
    radial-gradient(circle at 8px 8px, #6a4633 0 1.8px, transparent 2px),
    radial-gradient(circle at 15px 7px, #6a4633 0 1.8px, transparent 2px),
    radial-gradient(circle at 10px 16px, #6a4633 0 1.8px, transparent 2px),
    radial-gradient(circle at 17px 17px, #6a4633 0 1.8px, transparent 2px),
    linear-gradient(135deg, #f4cd87, #d89f55);
  box-shadow: inset 0 -2px 0 rgba(110, 67, 31, .16);
}
.cmplz-manage-consent.manage-consent-1.cmplz-show:hover,
.cmplz-manage-consent.manage-consent-1.cmplz-show:focus-visible {
  background: #f7fbf6 !important;
  border-color: #45c631 !important;
  box-shadow: 0 8px 24px rgba(57, 184, 43, .28) !important;
  outline: none !important;
}
@media (max-width: 600px) {
  .cmplz-manage-consent.manage-consent-1.cmplz-show {
    left: 12px !important;
    bottom: 12px !important;
  }
}


/* Homepage service-card consistency */
body.home.page-id-275 .elementor-275 .elementor-element-b8065d1,
body.home.page-id-275 .elementor-275 .elementor-element-c293d3a,
body.home.page-id-275 .elementor-275 .elementor-element-d86404a {
  --pgr-service-panel: #eef5ee;
}
body.home.page-id-275 .elementor-275 .elementor-element-b8065d1::after,
body.home.page-id-275 .elementor-275 .elementor-element-c293d3a::after,
body.home.page-id-275 .elementor-275 .elementor-element-d86404a::after {
  display: none !important;
}
body.home.page-id-275 .elementor-275 .elementor-element-b8065d1 .hfe-infocard,
body.home.page-id-275 .elementor-275 .elementor-element-c293d3a .hfe-infocard,
body.home.page-id-275 .elementor-275 .elementor-element-d86404a .hfe-infocard {
  background: var(--pgr-service-panel) !important;
  padding: 32px 30px 30px !important;
  box-sizing: border-box;
}
body.home.page-id-275 .elementor-275 .elementor-element-b8065d1 .hfe-infocard-title::before,
body.home.page-id-275 .elementor-275 .elementor-element-c293d3a .hfe-infocard-title::before,
body.home.page-id-275 .elementor-275 .elementor-element-d86404a .hfe-infocard-title::before {
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 0 19px !important;
  border-radius: 50% !important;
  background: #45c631 !important;
  color: #111812 !important;
  box-shadow: 0 8px 18px rgba(17, 24, 18, 0.16) !important;
  font: 700 12px/1 Outfit, Arial, sans-serif !important;
  letter-spacing: .1em !important;
}
body.home.page-id-275 .elementor-275 .elementor-element-b8065d1 .hfe-infocard-title::before { content: "04" !important; }
body.home.page-id-275 .elementor-275 .elementor-element-c293d3a .hfe-infocard-title::before { content: "05" !important; }
body.home.page-id-275 .elementor-275 .elementor-element-d86404a .hfe-infocard-title::before { content: "06" !important; }
body.home.page-id-275 .elementor-275 .elementor-element-b8065d1 .hfe-infocard-text-wrap,
body.home.page-id-275 .elementor-275 .elementor-element-c293d3a .hfe-infocard-text-wrap,
body.home.page-id-275 .elementor-275 .elementor-element-d86404a .hfe-infocard-text-wrap {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}
body.home.page-id-275 .elementor-275 .elementor-element-b8065d1 .hfe-button-wrapper,
body.home.page-id-275 .elementor-275 .elementor-element-c293d3a .hfe-button-wrapper,
body.home.page-id-275 .elementor-275 .elementor-element-d86404a .hfe-button-wrapper {
  margin-top: auto;
}
@media (min-width: 768px) {
  body.home.page-id-275 .elementor-275 .elementor-element-b8065d1,
  body.home.page-id-275 .elementor-275 .elementor-element-c293d3a,
  body.home.page-id-275 .elementor-275 .elementor-element-d86404a {
    min-height: 624px !important;
    padding-top: 252px !important;
  }
  body.home.page-id-275 .elementor-275 .elementor-element-b8065d1 .hfe-infocard,
  body.home.page-id-275 .elementor-275 .elementor-element-c293d3a .hfe-infocard,
  body.home.page-id-275 .elementor-275 .elementor-element-d86404a .hfe-infocard {
    min-height: 368px !important;
    height: 368px !important;
  }
}


/* White service card panels */
body.home.page-id-275 .elementor-275 .elementor-element-4f37187,
body.home.page-id-275 .elementor-275 .elementor-element-2424a4b,
body.home.page-id-275 .elementor-275 .elementor-element-dbfd60a,
body.home.page-id-275 .elementor-275 .elementor-element-b8065d1 .hfe-infocard,
body.home.page-id-275 .elementor-275 .elementor-element-c293d3a .hfe-infocard,
body.home.page-id-275 .elementor-275 .elementor-element-d86404a .hfe-infocard {
  background: #ffffff !important;
}


/* Key Services heading background */
body.home.page-id-275 .elementor-275 .elementor-element-8e50ea2 {
  background:
    radial-gradient(circle at 50% 100%, rgba(69, 198, 49, 0.10), rgba(0, 0, 0, 0) 42%),
    linear-gradient(to bottom, #ffffff 0%, #ffffff calc(100% - 360px), #f7faf7 calc(100% - 300px), #edf5ee 100%) !important;
}


/* Key Services card spacing */
@media (min-width: 768px) {
  body.home.page-id-275 .elementor-275 .elementor-element-56cae95 {
    margin-top: -140px !important;
  }
}


/* Further Services heading spacing */
@media (min-width: 768px) {
  body.home.page-id-275 .elementor-275 .elementor-element-ed3866c {
    transform: translateY(60px);
  }
}


/* Bring Further Services closer without overlapping Key Services cards */
@media (min-width: 768px) {
  body.home.page-id-275 .elementor-275 .elementor-element-af2c292 {
    margin-top: -95px !important;
  }
}


/* Tighten the transition into Further Services without overlap */
@media (min-width: 768px) {
  body.home.page-id-275 .elementor-275 .elementor-element-ed3866c {
    transform: translateY(20px);
  }
  body.home.page-id-275 .elementor-275 .elementor-element-b81812f {
    margin-top: -40px !important;
  }
}


/* Keep project-details panels fully visible on every case study */
@media (min-width: 701px) {
  .pc-hero .pc-facts {
    bottom: 28px !important;
  }
}


/* Keep the Projects page intro label clear of the sticky header */
@media (min-width: 701px) {
  body.page-id-279 .ph-hero .ph-eyebrow,
  body.page-id-279 .ph-hero .ph-kicker,
  body.page-id-279 .ph-hero [class*="eyebrow"],
  body.page-id-279 .ph-hero [class*="kicker"] {
    position: relative;
    z-index: 3;
    margin-top: 28px !important;
  }
}

/* Pristine: Bi-Fold page scrollbar-width correction, 11 September 2026 */
body.page-id-1170 .pristine-product {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.page-id-1170 .elementor-1170,
body.page-id-1170 .elementor-element-340354e3,
body.page-id-1170 .elementor-element-340354e3 > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
}


/* Composite Doors hero photograph */
body.page-id-1817 .cdp-hero {
  background-image: url("https://pristinegrl.co.uk/wp-content/webpc-passthru.php?src=https://pristinegrl.co.uk/wp-content/uploads/2026/09/WhatsApp-Image-2026-07-16-at-09.36.46-4-2.jpeg&amp;nocache=1") !important;
  background-position: center center !important;
  background-size: cover !important;
}


/* BEGIN Pristine homepage performance patch - 2026-10-01 */
html body.home.page-id-275 .elementor-275 .elementor-element-fbee746 {
  background-image: url("/wp-content/uploads-webpc/uploads/2026/06/24c5f421-9e10-460e-bcb2-a4218a0ca80f-Copy.jpg.webp") !important;
}

html body.home.page-id-275 .elementor-275 .elementor-element-dcb777e {
  background-image: url("/wp-content/uploads-webpc/uploads/2026/08/pristine-copy-2.jpeg.webp") !important;
}

html body.home.page-id-275 .elementor-275 .elementor-element-b81812f:not(.e-lazyloaded) > .elementor-element-b8065d1::before,
html body.home.page-id-275 .elementor-275 .elementor-element-b81812f:not(.e-lazyloaded) > .elementor-element-c293d3a::before,
html body.home.page-id-275 .elementor-275 .elementor-element-b81812f:not(.e-lazyloaded) > .elementor-element-d86404a::before {
  background-image: none !important;
}

@media (max-width: 767px) {
  html body.home.page-id-275 .elementor-275 .elementor-element-fbee746 {
    background-image: -webkit-image-set(url("/wp-content/uploads-webpc/uploads/2026/06/24c5f421-9e10-460e-bcb2-a4218a0ca80f-Copy-768x484.jpg.webp") 1x, url("/wp-content/uploads-webpc/uploads/2026/06/24c5f421-9e10-460e-bcb2-a4218a0ca80f-Copy-1024x646.jpg.webp") 2x) !important;
    background-image: image-set(url("/wp-content/uploads-webpc/uploads/2026/06/24c5f421-9e10-460e-bcb2-a4218a0ca80f-Copy-768x484.jpg.webp") 1x, url("/wp-content/uploads-webpc/uploads/2026/06/24c5f421-9e10-460e-bcb2-a4218a0ca80f-Copy-1024x646.jpg.webp") 2x) !important;
  }

  html body.home.page-id-275 .elementor-275 .elementor-element-dcb777e {
    background-image: -webkit-image-set(url("/wp-content/uploads-webpc/uploads/2026/08/pristine-copy-2-768x576.jpeg.webp") 1x, url("/wp-content/uploads-webpc/uploads/2026/08/pristine-copy-2-1024x769.jpeg.webp") 2x) !important;
    background-image: image-set(url("/wp-content/uploads-webpc/uploads/2026/08/pristine-copy-2-768x576.jpeg.webp") 1x, url("/wp-content/uploads-webpc/uploads/2026/08/pristine-copy-2-1024x769.jpeg.webp") 2x) !important;
  }
}
/* END Pristine homepage performance patch - 2026-10-01 */

/* BEGIN Pristine desktop hero image sizing - 2026-10-05 */
@media (min-width: 1025px) and (max-width: 2048px) and (min-height: 600px) and (max-height: 640px) {
  html body.home.page-id-275 .elementor-275 .elementor-element-fbee746 {
    background-image: image-set(url("/wp-content/uploads-webpc/uploads/2026/06/24c5f421-9e10-460e-bcb2-a4218a0ca80f-Copy-1024x646.jpg.webp") 1x, url("/wp-content/uploads-webpc/uploads/2026/06/24c5f421-9e10-460e-bcb2-a4218a0ca80f-Copy.jpg.webp") 2x) !important;
  }
  html body.home.page-id-275 .elementor-275 .elementor-element-dcb777e {
    background-image: image-set(url("/wp-content/uploads-webpc/uploads/2026/08/pristine-copy-2-1024x769.jpeg.webp") 1x, url("/wp-content/uploads-webpc/uploads/2026/08/pristine-copy-2.jpeg.webp") 2x) !important;
  }
}
/* END Pristine desktop hero image sizing - 2026-10-05 */

/* Match the visible homepage label to its descriptive service link. */
body.home.page-id-275 .elementor-275 .elementor-element-9ef84d2 .elementor-button-text::before { content: "EXPLORE EXTERNAL WALL INSULATION  \2192"; }

/* BEGIN Pristine responsive review fixes - 2026-10-09 */
/* The existing Elementor canvas already spans the available page width. */
html body .pgl-about {
  width: 100%;
  margin-left: 0;
}
/* Keep pale notes readable within the dark location proof section. */
html body .local-seo .loc-proof .loc-note {
  color: #172019;
}
html body .local-seo .loc-proof .loc-note strong {
  color: #172019;
}
html body .local-seo .loc-proof .loc-note p {
  color: #4f5a53;
}

/* White specification cards and pale solar assurance cards need dark copy. */
html body .cdp-spec article p {
  color: #465149;
}
html body .spv-proof-grid .spv-proof {
  color: #465149;
}

/* Allow grid content to shrink within the available space. */
html body .pgl-about__section-head > *,
html body .local-seo .loc-intro > *,
html body .local-seo .loc-proof > *,
html body .pgl-expertise-summary > * {
  min-width: 0;
}

@media (max-width: 980px) {
  html body .local-seo .loc-intro,
  html body .local-seo .loc-proof,
  html body .pgl-expertise-summary.pgl-intro-grid,
  html body .pgl-about__process .pgl-about__section-head {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 680px) {
  html body .pgl-about #pgl-process-heading {
    font-size: clamp(25px, 7.5vw, 36px);
    line-height: 1.12;
  }
  html body .pgl-expertise-summary .pgl-section-title {
    font-size: clamp(30px, 8.5vw, 38px);
    line-height: 1.12;
  }
  html body .local-seo .loc-note {
    padding: 25px;
  }
}

/* Use two comfortable article columns on tablets. */
@media (min-width: 601px) and (max-width: 1024px) {
  html body .ag-page .ag-query .wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  html body .ag-page .ag-query .wp-block-post-title {
    font-size: 24px;
    overflow-wrap: normal;
    word-break: normal;
  }
}
@media (max-width: 600px) {
  html body .ag-page .ag-query .wp-block-post-template {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* The legend sits outside the scaled animation so labels stay readable. */
html body .xw-stage-wrap > .xw-component-key {
  position: absolute;
  left: 0;
  bottom: 0;
  transform: none;
  width: 100%;
  margin: 0;
  gap: 8px;
  opacity: 1;
}
html body .xw-stage-wrap > .xw-component-key span {
  padding: 6px 9px;
  color: #465149;
  background: #fff;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .02em;
}
/* Aluminium's decorative key uses a separated, unscaled caption. */
html body.page-id-1087 .xw-scene > .xw-component-key {
  display: none;
}
html body.page-id-1087 .xw-stage-wrap::after {
  content: "Anthracite frame • Opening sash • Reinforcement • Weather seals • Double glazing • Hardware";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 6px 9px;
  border: 1px solid #d3dcd5;
  background: #fff;
  color: #465149;
  font-size: 12px;
  line-height: 1.8;
  text-align: center;
  box-sizing: border-box;
}
@media (max-width: 640px) {
  html body .xw-stage-wrap > .xw-component-key,
  html body.page-id-1087 .xw-stage-wrap::after {
    bottom: -35px;
  }
  html body .xw-stage-wrap:has(> .xw-component-key),
  html body.page-id-1087 .xw-stage-wrap {
    margin-bottom: 35px;
  }
}
/* END Pristine responsive review fixes - 2026-10-09 */


/* BEGIN Pristine wider sign-off - 2026-10-09 */
/* Final responsive width and article-navigation polish. */
html body .pristine-product {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Show complete neighbouring article titles at every screen size. */
html body.single .post-navigation p {
  white-space: normal;
  overflow-wrap: anywhere;
  text-overflow: clip;
}

/* END Pristine wider sign-off - 2026-10-09 */

/* Final composite specification heading contrast - 2026-10-09 */
html body .cdp-spec > article h3 {
  color: #172019 !important;
}


/* Full-width door page sections - 2026-10-09 */
html body:is(.page-id-1167, .page-id-2171, .page-id-1170, .page-id-1172, .page-id-1174) .entry-content > .elementor > .e-con > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* Full-width timber window page sections - 2026-10-09 */
html body.page-id-1159 .entry-content > .elementor > .e-con > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* BEGIN Pristine advice article design — 12 October 2026 */
body.single-post:has(.ag-article-hero) .ag-article-hero{padding:64px 24px 52px!important;background:#f1f5f1!important;border-bottom:1px solid #d8e1d9;text-align:center}
body.single-post:has(.ag-article-hero) .ag-article-hero h1{max-width:920px;color:#121913!important;font-size:clamp(34px,4vw,54px)!important;line-height:1.12!important;text-transform:none!important;letter-spacing:-.025em}
body.single-post:has(.ag-article-hero) .ag-article-hero .ag-eyebrow{color:#207619!important;font-size:11px;letter-spacing:.15em}
body.single-post:has(.ag-article-hero) .ag-article-hero a{color:#207619!important;font-size:14px;text-underline-offset:4px}
body.single-post:has(.ag-article-hero) .ag-page .ag-reading{max-width:860px;padding:38px 30px 20px;font-size:17px;line-height:1.85}
body.single-post:has(.ag-article-hero) .ag-reading h2{font-size:clamp(27px,3vw,34px);margin:48px 0 18px;text-transform:none!important;letter-spacing:-.015em;scroll-margin-top:150px}
body.single-post:has(.ag-article-hero) .ag-reading h3{font-family:Arial,sans-serif;font-size:20px;font-weight:600;margin:30px 0 10px;line-height:1.4;text-transform:none!important}
body.single-post:has(.ag-article-hero) .ag-reading p{margin-bottom:22px}
body.single-post:has(.ag-article-hero) .ag-reading .ag-meta{color:#667269;font-size:12px;line-height:1.65;border-top:0;padding:0 0 18px;margin-bottom:28px}
body.single-post:has(.ag-article-hero) .ag-reading .ag-answer{padding:25px 28px;border-radius:0 10px 10px 0}
body.single-post:has(.ag-article-hero) .ag-reading .ag-answer h2{font-size:25px;margin-top:0}
body.single-post:has(.ag-article-hero) .ag-reading .ag-answer p:last-child{margin-bottom:0}
body.single-post:has(.ag-article-hero) .ag-reading .ag-toc{border:1px solid #d8e1d9;background:#fff;padding:24px 28px;margin:32px 0 42px}
body.single-post:has(.ag-article-hero) .ag-reading .ag-toc strong{display:block;margin-bottom:12px;color:#121913}
body.single-post:has(.ag-article-hero) .ag-reading .ag-toc ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin:0;padding:0;list-style:none}
body.single-post:has(.ag-article-hero) .ag-reading .ag-toc li{margin:0;font-size:14px;line-height:1.6}
body.single-post:has(.ag-article-hero) .ag-reading a{text-underline-offset:3px}
body.single-post:has(.ag-article-hero) .ag-reading tbody th{background:#f1f5f1;color:#121913}
body.single-post:has(.ag-article-hero) .ag-reading thead th{background:#0d1710;color:#fff}
body.single-post:has(.ag-article-hero) .ag-reading .ag-table-scroll{border-radius:10px;margin:24px 0}
body.single-post:has(.ag-article-hero) .ag-reading table{margin:0;min-width:600px;line-height:1.65}
body.single-post:has(.ag-article-hero) .ag-reading .ag-editorial-image{margin:36px 0 42px}
body.single-post:has(.ag-article-hero) .ag-editorial-image img{width:100%;height:auto;max-height:430px;object-fit:cover;border-radius:12px;aspect-ratio:16/9}
body.single-post:has(.ag-article-hero) .ag-editorial-image figcaption{margin-top:10px;font-size:12px;line-height:1.6;color:#667269}
body.single-post:has(.ag-article-hero) .ag-cta{padding:44px 0 48px!important}
body.single-post:has(.ag-article-hero) .ag-cta .ag-wrap{width:min(1040px,calc(100% - 48px))}
body.single-post:has(.ag-article-hero) .ag-cta-panel{padding:40px 44px;gap:38px;border-radius:12px;box-shadow:none}
body.single-post:has(.ag-article-hero) .ag-cta h2{font-size:clamp(28px,3vw,38px);text-transform:none!important;line-height:1.15}
body.single-post:has(.ag-article-hero) .ag-cta-copy p:last-child{color:#d5ddd6;font-size:14px;margin-top:16px}
body.single-post:has(.ag-article-hero) .post-navigation{display:none!important}
body.single-post:has(.ag-article-hero) .ast-single-related-posts-container{box-sizing:border-box;width:min(1040px,calc(100% - 48px))!important;max-width:1040px!important;margin:0 auto 64px!important;padding:28px 0 0!important;background:transparent!important;border-top:1px solid #d8e1d9}
body.single-post:has(.ag-article-hero) .ast-related-posts-title-section{padding:0!important;margin:0 0 20px!important}
body.single-post:has(.ag-article-hero) .ast-related-posts-title{font:400 28px/1.2 Georgia,serif;text-transform:none;color:#121913;margin:0!important}
body.single-post:has(.ag-article-hero) .ast-related-posts-wrapper{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px!important}
body.single-post:has(.ag-article-hero) .ast-related-post{width:100%!important;min-width:0;margin:0!important;padding:0!important;background:#fff!important;border:1px solid #d8e1d9;border-radius:10px;overflow:hidden;box-shadow:none}
body.single-post:has(.ag-article-hero) .ast-related-posts-inner-section{padding:0!important;height:100%}
body.single-post:has(.ag-article-hero) .ast-related-post-content{display:grid;grid-template-columns:150px minmax(0,1fr);height:100%;align-items:center}
body.single-post:has(.ag-article-hero) .ast-related-post-featured-section{margin:0!important;height:100%}
body.single-post:has(.ag-article-hero) .post-thumb-img-content,body.single-post:has(.ag-article-hero) .post-thumb-img-content a{height:100%;display:block}
body.single-post:has(.ag-article-hero) .ast-related-post img{display:block;width:150px!important;height:140px!important;object-fit:cover;margin:0!important}
body.single-post:has(.ag-article-hero) .ast-related-post .entry-header{display:block!important;padding:20px!important;margin:0!important}
body.single-post:has(.ag-article-hero) .ast-related-post-title{font:400 21px/1.3 Georgia,serif;text-transform:none!important;margin:0!important}
body.single-post:has(.ag-article-hero) .ast-related-post-title a{color:#121913}
body.single-post:has(.ag-article-hero) .ast-related-post .entry-meta,body.single-post:has(.ag-article-hero) .ast-related-post .entry-content{display:none!important}
body.single-post:has(.ag-article-hero) .ast-related-post:hover{border-color:#278d20}
body.single-post:has(.ag-article-hero) .ast-related-post a:focus-visible{outline:3px solid #278d20;outline-offset:-3px}
@media(max-width:760px){body.single-post:has(.ag-article-hero) .ag-article-hero{padding:45px 22px 36px!important}body.single-post:has(.ag-article-hero) .ag-page .ag-reading{padding:30px 22px 8px;font-size:16px}body.single-post:has(.ag-article-hero) .ag-reading .ag-toc ul{grid-template-columns:1fr}body.single-post:has(.ag-article-hero) .ag-reading .ag-answer{padding:22px}body.single-post:has(.ag-article-hero) .ag-cta-panel{padding:30px 24px;gap:24px}body.single-post:has(.ag-article-hero) .ast-related-posts-wrapper{grid-template-columns:1fr}body.single-post:has(.ag-article-hero) .ag-cta .ag-wrap,body.single-post:has(.ag-article-hero) .ast-single-related-posts-container{width:calc(100% - 40px)!important}body.single-post:has(.ag-article-hero) .ast-related-post-content{grid-template-columns:110px minmax(0,1fr)}body.single-post:has(.ag-article-hero) .ast-related-post img{width:110px!important;height:125px!important}body.single-post:has(.ag-article-hero) .ast-related-post-title{font-size:20px}body.single-post:has(.ag-article-hero) .ag-editorial-image img{aspect-ratio:4/3}}
/* END Pristine advice article design */

/* Advice cards on narrow phones */
@media(max-width:420px){body.single-post:has(.ag-article-hero) .ast-related-post-content{grid-template-columns:84px minmax(0,1fr)}body.single-post:has(.ag-article-hero) .ast-related-post img{width:84px!important;height:100%!important;min-height:120px}body.single-post:has(.ag-article-hero) .ast-related-post .entry-header{padding:16px!important}body.single-post:has(.ag-article-hero) .ast-related-post-title{font-size:18px;line-height:1.4}}

/* Advice image visual refinement — 12 October 2026 */
body.single-post:has(.ag-article-hero) .ag-reading figure.ag-editorial-image{width:100%;max-width:680px;margin:36px auto 42px;padding:0!important;box-shadow:none!important;background:transparent!important;border:0}
body.single-post:has(.ag-article-hero) .ag-reading .ag-editorial-image img{display:block;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:8px;box-shadow:none!important}
body.single-post:has(.ag-article-hero) .ag-reading .ag-editorial-image figcaption{margin:0;padding:12px 0 0;font-size:13px;line-height:1.6;color:#59655d;background:transparent;box-shadow:none}

/* Homepage introduction: softer heading typography */
body.home #post-275 .elementor-element-c1fe62b h1.hfe-infocard-title {
  font-size: 50px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
@media (max-width: 1024px) {
  body.home #post-275 .elementor-element-c1fe62b h1.hfe-infocard-title { font-size: 42px !important; }
}
@media (max-width: 767px) {
  body.home #post-275 .elementor-element-c1fe62b h1.hfe-infocard-title { font-size: 32px !important; }
}

/* Homepage: softer section and audience headings */
body.home #post-275 h2:not([id="pgrl-accreditations-heading"]) {
  font-size: 38px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.home #post-275 .elementor-element-fbee746 h2,
body.home #post-275 .elementor-element-dcb777e h2 { font-size: 46px !important; }
body.home #post-275 .elementor-element-9b6f542 h2 { text-transform: lowercase !important; }
body.home #post-275 .elementor-element-9b6f542 h2::first-letter { text-transform: uppercase; }
@media (max-width: 1024px) {
  body.home #post-275 h2:not([id="pgrl-accreditations-heading"]) { font-size: 34px !important; }
  body.home #post-275 .elementor-element-fbee746 h2,
  body.home #post-275 .elementor-element-dcb777e h2 { font-size: 38px !important; }
}
@media (max-width: 767px) {
  body.home #post-275 h2:not([id="pgrl-accreditations-heading"]) { font-size: 30px !important; }
  body.home #post-275 .elementor-element-fbee746 h2,
  body.home #post-275 .elementor-element-dcb777e h2 { font-size: 34px !important; }
}


/* BEGIN Pristine visual audit fixes - 2026-10-20 */
/* Keep service cards inside their grid tracks at every breakpoint. */
body.home #pgr-service-cards .pgr-service-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
body.home #pgr-service-cards .pgr-service-card__body {
  min-width: 0;
  max-width: 100%;
}
body.home #pgr-service-cards h3 {
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

/* Readable inline links on the existing green enquiry panels. */
body.page-id-1085 .sdp-cta p a,
body.page-id-1087 .sdp-cta p a {
  color: #08120a !important;
  font-weight: 600;
  text-decoration: underline !important;
  text-underline-offset: .16em;
  text-decoration-thickness: 1px;
}
body.page-id-1085 .sdp-cta p a:hover,
body.page-id-1087 .sdp-cta p a:hover {
  text-decoration-thickness: 2px;
}
body.page-id-1085 .sdp-cta p a:focus-visible,
body.page-id-1087 .sdp-cta p a:focus-visible {
  outline: 2px solid #08120a;
  outline-offset: 4px;
}

/* Size construction headings for their text column, including wide screens. */
body.page-id-1085 #xw-title,
body.page-id-1087 #xw-title {
  font-size: clamp(34px, 3.8vw, 52px) !important;
  overflow-wrap: normal;
  word-break: normal;
}
body.page-id-1085 #xw-title .xw-whole-word,
body.page-id-1087 #xw-title .xw-whole-word {
  white-space: nowrap;
}

/* Unscaled, separated labels beneath the construction illustrations. */
html body .xw-stage-wrap > .xw-component-key {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 7px 8px;
}
html body .xw-stage-wrap > .xw-component-key span {
  display: inline-block;
  white-space: nowrap;
  border: 1px solid #d3dcd5;
}
body.page-id-576 .dw-scene > .dw-component-key {
  display: none;
}
body.page-id-576 .dw-stage-wrap::after {
  content: "Reinforced frame \2022 Composite skins \2022 Insulated core \2022 Double glazing \2022 Weather seals \2022 Multipoint lock";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 6px 9px;
  border: 1px solid #d3dcd5;
  background: #fff;
  color: #465149;
  font-size: 12px;
  line-height: 1.8;
  text-align: center;
}
@media (max-width: 640px) {
  body.page-id-576 .dw-stage-wrap::after { bottom: -35px; }
  body.page-id-576 .dw-stage-wrap { margin-bottom: 35px; }
}

/* Give the featured project enough room before the phone breakpoint. */
@media (max-width: 1000px) {
  body.page-id-279 .ph-grid .ph-card--award {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.page-id-279 .ph-card--award .ph-card-media {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
  body.page-id-279 .ph-card--award .ph-card-body { min-height: 0; }
  body.page-id-279 .ph-card--award .ph-card-facts {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}

/* Use one continuous photograph on the two public category archives. */
body.category-blog .ast-archive-entry-banner,
body.category-case-studies .ast-archive-entry-banner {
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
}

/* Dark green links retain the policy pages' existing grey background. */
body.page-id-3 .entry-content a,
body.page-id-990 .entry-content a {
  color: #1c5118 !important;
  text-decoration: underline !important;
  text-underline-offset: .15em;
}
body.page-id-3 .entry-content a:hover,
body.page-id-990 .entry-content a:hover {
  color: #08120a !important;
}
body.page-id-3 .entry-content a:focus-visible,
body.page-id-990 .entry-content a:focus-visible {
  outline: 2px solid #1c5118;
  outline-offset: 3px;
}

/* Match the tablet header height, with the existing admin offset if present. */
@media (min-width: 621px) and (max-width: 922px) {
  body.page-id-280 .elementor-element-813bfb5 > .e-con-inner {
    padding-top: 190px !important;
  }
  body.page-id-1817 .cdp-jump {
    top: calc(164px + var(--pgrl-admin-bar-offset, 0px)) !important;
  }
}

/* Make the existing horizontal advice tables easier to discover on phones. */
@media (max-width: 640px) {
  .ag-reading .ag-table-scroll::before {
    content: "Swipe left to view all table columns \2192";
    display: block;
    position: sticky;
    left: 0;
    box-sizing: border-box;
    width: calc(100vw - 60px);
    max-width: 100%;
    padding: 9px 12px;
    background: #eef5ee;
    color: #344b37;
    font-size: 12px;
    line-height: 1.5;
    text-align: left;
  }
}
/* END Pristine visual audit fixes - 2026-10-20 */


/* Final published visual verification refinements - 2026-10-20 */
@media (min-width: 621px) and (max-width: 922px) {
  body.page-id-280 .elementor-element-813bfb5 > .e-con-inner {
    padding-top: 240px !important;
  }
}
@media (min-width: 621px) and (max-width: 1000px) {
  body.page-id-279 .ph-register-status {
    max-width: 100%;
    white-space: normal;
    line-height: 1.5 !important;
    box-sizing: border-box;
  }
  body.page-id-279 .ph-register-status::before { flex: 0 0 7px; }
}
body.category-blog .ast-read-more-container a,
body.category-case-studies .ast-read-more-container a,
body.category-blog .entry-meta a,
body.category-case-studies .entry-meta a {
  color: #1c5118 !important;
}
body.category-blog .ast-read-more-container a,
body.category-case-studies .ast-read-more-container a {
  text-decoration: underline;
  text-underline-offset: .15em;
}

/* Remove the blank strip created by a leading style-only Elementor paragraph. */
body.page #content .elementor-widget-text-editor > p:first-child:has(> style):not(:has(> :not(style, script))),
body.page #content .elementor-widget-text-editor > .elementor-widget-container > p:first-child:has(> style):not(:has(> :not(style, script))) {
  margin-block: 0 !important;
}


