/* Bigbond's forest green, grey and original light-green accent. */
.gallery-card .gallery-image {position:absolute;inset:0;width:100%;height:100%;display:block;padding:0;border:0;background:#173d2b;cursor:zoom-in}
.gallery-image img {width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gallery-image:hover img {transform:scale(1.045)}
.gallery-card-caption {position:absolute;inset:auto 0 0;padding:55px 24px 25px;background:linear-gradient(transparent,#0c271ee8);color:#fff;pointer-events:none}
.gallery-card-caption a {pointer-events:auto}
.gallery-category-link {font-size:11px;color:#dfecdc;display:inline-block;margin-bottom:8px}
.gallery-card-caption h3 {font-size:23px;line-height:1.3;letter-spacing:-.025em;padding-right:27px;font-weight:600}
.gallery-card-caption h3 a:hover,.gallery-category-link:hover {color:#aaf5b0}
.gallery-card-link {position:absolute;right:22px;bottom:28px}
.gallery-card-link svg {width:19px;height:19px}
.gallery-category-tabs {display:flex;gap:8px;flex-wrap:wrap}
.gallery-category-tabs a {padding:10px 18px;border:1px solid #d9e4d6;border-radius:3px;font-size:13px;min-height:44px}
.gallery-category-tabs a.active {background:var(--green);color:#fff;border-color:var(--green)}
.gallery-category-tabs a:hover:not(.active) {background:#e6f4e7}
.gallery-intro {display:flex;justify-content:space-between;gap:20px;color:#4b5d53;margin:0 0 30px}
.gallery-intro>span {font-size:13px;white-space:nowrap;color:#6a7b6b}
.gallery-video-card {display:grid;grid-template-columns:1.15fr 1fr;margin-top:32px;border:1px solid #dce5d8;background:#f0f5ef;border-radius:5px;overflow:hidden}
.gallery-video-poster {position:relative;aspect-ratio:16/9;padding:0;border:0;background:#173d2b;cursor:pointer;overflow:hidden}
.gallery-video-poster>img {width:100%;height:100%;object-fit:cover;filter:brightness(.8);transition:transform .4s}
.gallery-video-poster:hover>img {transform:scale(1.04)}
.video-play-icon {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70px;height:70px;display:grid;place-items:center;background:#aaf5b0ed;border-radius:50%;color:#184123;box-shadow:0 0 0 12px #ffffff20}
.video-play-icon svg {width:28px;height:28px;margin-left:4px}
.gallery-video-card>div {padding:42px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.gallery-video-card h3 {font-size:33px;margin-bottom:27px}
.video-lightbox {width:min(1120px,94vw);max-width:94vw;padding:46px 18px 18px;border:1px solid #ffffff30;border-radius:6px;background:#10271d;color:#fff;overflow:visible}
.video-lightbox::backdrop {background:#061b13eb;backdrop-filter:blur(7px)}
.video-lightbox-close {position:absolute;right:12px;top:7px;display:grid;place-items:center;width:33px;height:33px;border:1px solid #ffffff40;border-radius:50%;background:transparent;color:#fff}
.video-lightbox-close svg {width:19px;height:19px}
.video-frame {aspect-ratio:16/9;width:100%;background:#000}
.video-frame iframe {width:100%;height:100%;border:0;display:block}
.video-lightbox>a {display:inline-flex;align-items:center;gap:12px;font-size:12px;color:#d6e6d5;margin-top:14px}
.video-lightbox>a svg {width:17px;height:17px}
[data-page="innovation"] .editorial-sidebar>img {object-position:72% center}
[data-page="innovation"] .prose>p:last-child>img {max-width:300px;margin-top:30px}
@media(max-width:900px){.gallery-category-tabs{margin-top:22px}.gallery-video-card>div{padding:26px}.gallery-video-card h3{font-size:27px}}
@media(max-width:650px){.gallery-card-caption{padding:50px 22px 24px}.gallery-card-caption h3{font-size:23px}.gallery-category-tabs a{font-size:12px;padding:10px 13px}.gallery-video-card{grid-template-columns:1fr}.gallery-video-card>div{padding:30px 24px}.gallery-video-card h3{font-size:29px}.gallery-intro{font-size:14px;align-items:center}.video-lightbox{padding:44px 10px 15px}.video-play-icon{width:60px;height:60px}}
:root {
  --light-green:#aaf5b0;
  --light-green-soft:#e6f4e7;
  --teal:#087b80;
  --copper:#b76543;
  --gold:#ac7a21;
  --slate:#54636a;
}
.topbar {background:linear-gradient(110deg,#143e29,#174d44)}
.main-nav {font-size:15px;font-weight:450;gap:24px}
.nav-group>div:first-child {gap:4px}
.submenu-toggle {display:inline-flex;align-items:center;justify-content:center;width:22px;height:28px;min-height:0;padding:0;margin:0;line-height:1;align-self:center}
.submenu-toggle svg {width:14px;height:14px;stroke-width:1.8;transition:transform .2s}
.nav-group.open .submenu-toggle svg {transform:rotate(180deg)}
.submenu>a {font-size:14px;padding:12px}
.button-green {background:linear-gradient(115deg,var(--green),#25654e)}
.button-green:hover {background:linear-gradient(115deg,#205e3e,#197578)}
.hero-features .hero-feature .feature-icon {background:#e0f0e0;color:var(--green);border:1px solid #c9e0cc;border-radius:4px;width:46px;height:46px;display:grid;place-items:center}
.hero-features .hero-feature .feature-icon svg {width:27px;height:27px;stroke-width:1.5}
.products-section {background:radial-gradient(ellipse at 100% 0%,#aaf5b024,transparent 42%),#fff}
.product-card {transition:border-color .25s,box-shadow .25s}
.product-card:hover {border-color:#a7bbb0;box-shadow:0 12px 34px #1e46300d}
.product-card:nth-child(2) .product-tag {background:#e6f4f2;color:#126b71}
.product-card:nth-child(3) .product-tag {background:var(--light-green-soft);color:#32643d}
.muted-heading {color:#748a8a}
.about-section {background:radial-gradient(ellipse at 100% 5%,#aaf5b026,transparent 50%),linear-gradient(120deg,#eff2f0,#e9eeee)}
.about-small {border-color:#edf0ef}
.testimonial-section {background:radial-gradient(ellipse at 0% 100%,#cfe4e357,transparent 50%),linear-gradient(120deg,#f5f2eb,#f5f4ee)}
.quote-mark,.testimonial-decoration {color:#6f9b77}
.client-avatar {background:#dcebe7;color:#25604f}
.quote-cta {background:radial-gradient(ellipse at 100% 0%,#8ab8a85c,transparent 50%),linear-gradient(112deg,#174a32,#12666b 70%,#17848a)}
.quote-cta::after {border-color:#d3c18e3d}
.quote-cta .eyebrow i {background:var(--light-green)}
.quote-cta p {color:#d6e7e2}

/* A photographic feature and four individually accented service cards. */
.services-section {padding:94px 0 62px;color:#203d30;background:radial-gradient(ellipse at 0% 90%,#b9dcd966,transparent 48%),radial-gradient(ellipse at 95% 0%,#aaf5b047,transparent 44%),linear-gradient(135deg,#f0f3f1,#e8edec)}
.services-section::before {display:none}
.services-section .section-heading {align-items:center;margin-bottom:40px;gap:35px}
.services-section h2 {color:#193c2a;font-size:clamp(34px,3.5vw,51px);font-weight:650;line-height:1.18}
.services-section h2>span {color:#17767a}
.services-section .eyebrow {color:var(--green)}
.services-showcase {display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}
.services-visual {position:relative;min-width:0;min-height:480px;overflow:hidden;border-radius:9px;background:#284b46;isolation:isolate}
.services-visual>img {width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:48% center;transition:transform .8s}
.services-visual::after {content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#102b2c52,transparent 40%,#0f2a26e8)}
.services-visual:hover>img {transform:scale(1.025)}
.services-image-index {position:absolute;top:25px;left:25px;z-index:1;color:#fff;font-size:9px;font-weight:450;letter-spacing:.16em;padding:8px 11px;background:#ffffff17;border:1px solid #ffffff50;border-radius:3px;backdrop-filter:blur(12px)}
.services-image-caption {position:absolute;bottom:24px;left:24px;right:24px;z-index:1;display:flex;align-items:center;gap:17px;padding:24px 21px;border:1px solid #ffffff4d;background:#f8fcf414;backdrop-filter:blur(18px);border-radius:6px;color:#fff}
.services-photo-icon {width:43px;height:43px;display:grid;place-items:center;background:var(--light-green);border-radius:4px;color:#254e32;flex-shrink:0}
.services-photo-icon svg {width:25px;height:25px}
.services-image-caption small {display:block;font-size:8px;letter-spacing:.12em;color:var(--light-green);margin-bottom:8px;line-height:1.5}
.services-image-caption h3 {font-size:25px;font-weight:550;line-height:1.25;letter-spacing:-.025em}
.services-image-caption>a {display:grid;place-items:center;width:34px;height:34px;margin-left:auto;flex-shrink:0;border:1px solid #ffffff6b;border-radius:50%;align-self:flex-end}
.services-image-caption>a svg {width:18px;height:18px}
.services-section .service-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;min-width:0}
.services-section .service-item {--service-accent:#2c6246;--service-tint:#e6efe5;display:flex;flex-direction:column;min-width:0;padding:25px 25px 50px;background:#ffffffdf;border:1px solid #ffffff;border-top:3px solid var(--service-accent);border-radius:7px;box-shadow:0 6px 22px #1a3f2b05;transition:transform .25s,box-shadow .25s}
.services-section .service-item:nth-child(2) {--service-accent:#087b80;--service-tint:#dcf0ef}
.services-section .service-item:nth-child(3) {--service-accent:#38744b;--service-tint:#e0efe3}
.services-section .service-item:nth-child(4) {--service-accent:#5b8548;--service-tint:#eaf4e4}
.services-section .service-item:hover {transform:translateY(-4px);background:#fff;box-shadow:0 14px 30px #1d453014}
.service-card-top {display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}
.services-section .service-number {position:static;font-family:Exo,sans-serif;font-size:16px;font-weight:500;letter-spacing:.02em;color:var(--service-accent);opacity:.65}
.services-section .service-icon {width:42px;height:42px;display:grid;place-items:center;background:var(--service-tint);color:var(--service-accent);border-radius:5px;margin:0}
.services-section .service-icon svg {width:25px;height:25px}
.services-section .service-item h3 {color:#263f33;font-size:22px;min-height:0;margin:0 0 12px;font-weight:650}
.services-section .service-item p {color:#68776f;font-size:12px;line-height:1.85;min-height:0;margin:0;padding-right:9px}
.services-section .service-arrow {position:absolute;bottom:16px;right:20px;width:27px;height:27px;display:grid;place-items:center;justify-content:center;border:1px solid var(--service-tint);background:var(--service-tint);color:var(--service-accent);border-radius:50%;padding:0;margin:0}
.services-section .service-arrow svg {width:14px;height:14px}
.services-support {display:flex;justify-content:center;align-items:center;gap:12px;padding-top:32px;font-size:12px;color:#62746b}
.services-support p {margin:0}
.services-support-icon {width:31px;height:31px;border-radius:50%;background:#dce9e1;display:grid;place-items:center;color:var(--green)}
.services-support-icon svg {width:15px;height:15px}
.services-support>a {display:inline-flex;align-items:center;gap:12px;color:#24604c;font-weight:500;margin-left:7px}
.services-support>a svg {width:17px;height:17px}

/* Open charcoal footer and vertical scroll control follow the selected template. */
.site-footer {position:relative;isolation:isolate;padding-top:75px;background:#20252d;color:#a7b0ba}
.footer-main {display:grid;grid-template-columns:1.2fr .75fr 1.05fr 1.05fr 1.15fr;gap:38px;background:none;backdrop-filter:none;border:0;border-radius:0;padding:0 0 55px;box-shadow:none}
.footer-about>a>img {mix-blend-mode:normal;filter:brightness(0) invert(1);width:175px;height:78px;object-fit:contain;object-position:left center;margin:-9px 0 22px}
.footer-about>p {font-size:14px;line-height:1.9;color:#a7b0ba}
.footer-main h3 {font-size:20px;color:#fff;margin:6px 0 28px;font-weight:650;letter-spacing:-.02em}
.footer-main>div:not(.footer-about)>a {font-size:14px;line-height:1.75;margin-bottom:13px;color:#d2d8de}
.footer-main a:hover {color:var(--light-green)}
.footer-email {color:var(--light-green);font-size:13px;overflow-wrap:anywhere;gap:10px}
.footer-contact p {font-size:14px;line-height:1.8;padding-left:0;color:#a7b0ba}
.footer-contact>a {padding-left:0;overflow-wrap:anywhere}
.footer-contact .footer-contact-label {margin:0 0 8px;color:#8f9ca9;font-size:13px}
.footer-contact .footer-contact-label:not(:first-of-type) {margin-top:22px}
.footer-contact .footer-address {margin-top:22px;font-size:13px}
.footer-main .footer-quote>p {font-size:14px;line-height:1.9;color:#a7b0ba}
.footer-main .footer-quote>a.footer-quote-button {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;color:#163b26;background:var(--light-green);border:1px solid var(--light-green);border-radius:3px;font-size:12px;line-height:1.6;font-weight:500;margin-top:22px}
.footer-quote-button svg {width:17px;height:17px}
.footer-main .footer-quote>a.footer-quote-button:hover {background:#c4f8c8;color:#163b26}
.footer-quote .footer-hours {display:flex;gap:10px;align-items:flex-start;margin-top:21px;font-size:12px!important}
.footer-hours svg {color:var(--light-green);width:16px;height:16px;margin-top:3px}
.footer-bottom {border-top:1px solid #ffffff12;min-height:76px;font-size:12px;color:#939faa}
.footer-bottom>span:nth-child(2) {margin-right:0}
.footer-bottom a {color:#d7e1d8;font-weight:450}
.floating-contact {background:#ffffffed;border-color:#c3d0c9;backdrop-filter:blur(18px);color:#245c45}
.back-to-top {position:fixed;right:26px;bottom:110px;z-index:90;display:flex;flex-direction:column;align-items:center;gap:8px;width:28px;height:195px;padding:0;border:0;border-radius:0;background:none;color:#222a29;box-shadow:none;backdrop-filter:none;transition:none}
.back-to-top-label {display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);padding:13px 7px;width:28px;min-height:105px;background:#fff;border:1px solid #e6eae5;border-radius:20px;font-size:11px;font-weight:500;letter-spacing:.035em;line-height:1.25;box-shadow:0 2px 25px #153b2110}
.back-to-top-line {display:block;width:2px;height:82px;flex-shrink:0;background:var(--light-green)}
.back-to-top:hover {background:none;color:#174b31;transform:none}
.back-to-top:hover .back-to-top-label {background:var(--light-green);border-color:var(--light-green)}

/* Slightly larger, darker reading text throughout the page body. */
body {font-size:16px}
.prose {font-size:16px;line-height:1.9;color:#46564d}
.section-heading-right p,.product-info p,.about-copy>p,.product-sidebar p,.enquiry-panel>p,.contact-grid aside>p,.branch-card p {font-size:15px;color:#4b5d53;line-height:1.9}
.services-section .service-item p {font-size:14px;color:#495c50;line-height:1.85}
.services-support {font-size:13px;color:#4d6355}
.faq-list details p {font-size:15px;color:#47594d}
.about-checks {font-size:13px}
.hero .eyebrow i {background:var(--light-green)}
.services-image-caption {background:#133b2c35}

@media(max-width:1100px) {
  .main-nav {font-size:14px;gap:17px}
  .services-showcase {grid-template-columns:.85fr 1.15fr;gap:20px}
  .services-section .service-grid {gap:16px}
  .services-section .service-item {padding:22px 20px 47px}
  .services-section .service-item h3 {font-size:20px}
  .services-image-caption {left:18px;right:18px;bottom:18px;gap:12px;padding:20px 16px;flex-wrap:wrap}
  .services-image-caption h3 {font-size:24px}
  .services-photo-icon {width:36px;height:36px}
  .services-image-caption>a {display:none}
  .footer-main {gap:26px;padding:0 0 45px}
}
@media(max-width:1000px) {
  .footer-main {grid-template-columns:1fr 1fr;gap:36px 55px}
  .footer-quote {grid-column:1/-1;max-width:430px}
}
@media(max-width:900px) {
  .main-nav {font-size:17px;gap:0}
  .submenu-toggle {width:44px;height:56px;min-height:44px}
  .submenu-toggle svg {width:17px;height:17px}
  .submenu>a {font-size:14px}
  .services-section {padding:75px 0 48px}
  .services-showcase {grid-template-columns:1fr}
  .services-visual {min-height:340px}
  .services-visual>img {object-position:center 56%}
  .services-image-caption {max-width:460px;padding:22px;flex-wrap:nowrap}
  .services-image-caption>a {display:grid}
  .services-image-caption h3 {font-size:27px}
  .services-section .service-item {padding:24px 24px 47px}
  .services-support {flex-wrap:wrap;font-size:11px;gap:10px}
}
@media(max-width:650px) {
  .services-section {padding:58px 0 40px}
  .services-section .section-heading {margin-bottom:27px}
  .services-section h2 {font-size:35px}
  .services-section .section-heading .button {font-size:12px;margin-top:24px}
  .services-visual {min-height:335px;border-radius:6px}
  .services-image-index {top:19px;left:19px;font-size:8px}
  .services-image-caption {left:15px;right:15px;bottom:15px;padding:19px 16px;gap:13px}
  .services-image-caption h3 {font-size:23px}
  .services-image-caption small {font-size:7px}
  .services-image-caption>a {display:none}
  .services-photo-icon {width:36px;height:36px}
  .services-section .service-grid {gap:13px}
  .services-section .service-item {padding:20px 16px 45px}
  .services-section .service-item h3 {font-size:20px;line-height:1.2}
  .services-section .service-item p {font-size:14px;line-height:1.8;padding-right:0}
  .services-section .service-icon {width:37px;height:37px}
  .services-section .service-icon svg {width:23px;height:23px}
  .services-section .service-number {font-size:13px}
  .service-card-top {margin-bottom:17px}
  .services-support {padding-top:27px;gap:8px;font-size:12px}
  .services-support>a {margin-left:0;flex-basis:100%;justify-content:center;font-size:11px}
  .services-support-icon {width:25px;height:25px}
  .quote-cta h2 {font-size:31px}
  .site-footer {padding-top:45px}
  .footer-main {padding:0 0 35px;gap:30px 25px;border-radius:0}
  .footer-main h3 {font-size:19px;margin-bottom:20px}
  .footer-about>p {font-size:14px}
  .footer-main>div:not(.footer-about)>a,.footer-contact p {font-size:14px}
  .footer-main>div:not(.footer-about)>a {margin-bottom:11px}
  .footer-bottom {font-size:10px;min-height:85px;gap:9px;padding:20px 0}
  .back-to-top {right:23px;bottom:85px;width:26px;height:155px}
  .back-to-top-label {width:26px;min-height:95px;font-size:10px;padding:12px 6px}
  .back-to-top-line {height:52px}
  .hero-features .hero-feature .feature-icon {width:40px;height:40px}
  .hero-features .hero-feature .feature-icon svg {width:25px;height:25px}
  .prose {font-size:16px}
}
@media(max-width:379px) {
  .services-section .service-grid {grid-template-columns:1fr}
  .services-section .service-item {padding:23px 23px 45px}
}

/* Profile collections and secure standalone enquiries. */
.roof-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0 36px}.roof-profile-card{border:1px solid #dce7de;border-radius:12px;overflow:hidden;background:#f4f8f4;min-width:0}.prose .roof-profile-card>a{display:block;padding:20px;background:linear-gradient(145deg,#e5eee5,#f8faf8)}.prose .roof-profile-card img{display:block;width:100%;height:260px;object-fit:contain;margin:0;border-radius:6px}.prose .roof-profile-card h4{margin:0;padding:20px;font-size:20px}.roof-profile-card h4 a{text-decoration:none}.roof-profile-card:hover{border-color:#529b60;box-shadow:0 8px 28px #174b3110}.verification-panel{border:1px solid #d8e6da;background:#f3f8f3;padding:20px;border-radius:10px;min-width:0}.verification-panel>strong{display:flex;align-items:center;gap:10px;color:#174b31}.verification-panel p{font-size:14px;line-height:1.7}.verification-panel small,.roof-plan-upload small{display:block;font-size:12px;line-height:1.7;color:#526457}.enquiry-form button:disabled{opacity:.6;cursor:not-allowed}.enquiry-form input[type=file]{padding:13px;background:#f8faf8;max-width:100%}.human-puzzle{border:1px solid #dce7de;border-radius:18px;width:min(480px,calc(100% - 28px));padding:32px;color:#173e2c;max-height:90dvh;overflow:auto;box-shadow:0 28px 100px #0003}.human-puzzle::backdrop{background:#071c15b8;backdrop-filter:blur(6px)}.human-puzzle h2{font-size:29px;margin:15px 0}.human-puzzle p{font-size:15px;line-height:1.7}.puzzle-close{position:absolute;right:16px;top:12px;background:transparent;border:0;font-size:28px;color:#174b31;cursor:pointer}.puzzle-targets{display:flex;gap:8px;margin:20px 0;padding:14px;border-radius:10px;background:#e9f4e9}.puzzle-targets>span{display:grid;justify-items:center;gap:6px;flex:1;font-size:12px}.human-puzzle svg{width:32px;height:32px;display:block}.puzzle-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.puzzle-choices button{display:grid;justify-items:center;gap:8px;padding:15px 8px;border:1px solid #dbe7de;border-radius:10px;background:white;color:#174b31;cursor:pointer;font:inherit;font-size:13px}.puzzle-choices button[aria-pressed=true]{border-color:#174b31;background:#d4f5d6;box-shadow:inset 0 0 0 1px #174b31}.puzzle-retry{border:0;background:transparent;text-decoration:underline;color:#174b31;padding:15px;cursor:pointer}.human-puzzle :focus-visible{outline:3px solid #59a46a;outline-offset:3px}
@media(max-width:600px){.roof-profile-grid{gap:12px}.prose .roof-profile-card>a{padding:10px}.prose .roof-profile-card img{height:190px}.prose .roof-profile-card h4{padding:14px;font-size:17px}.human-puzzle{padding:26px 20px}.verification-panel{padding:15px}}
@media(max-width:380px){.roof-profile-grid{grid-template-columns:1fr}}

.human-puzzle button:disabled{opacity:.5;cursor:not-allowed}.video-status{color:#e1ebe3;font-size:14px;line-height:1.7;padding:0 10px}
