/* Targeted additions using the original Oak & Yew tokens and spacing. */
.header-social{display:flex;align-items:center;gap:8px;border-right:1px solid var(--line);padding-right:14px}
.header-social a{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:var(--forest);font-size:16px;font-weight:800;border:1px solid var(--line)}
.header-social a:hover{background:var(--stone)}
.gallery-social{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:40px;padding:28px 0;border-top:1px solid var(--line)}
.gallery-social h3{font-size:24px}.gallery-social p{font-size:13px;max-width:580px;margin-top:8px}
.gallery-social .text-link{flex:none}
.project-video video{display:block;width:100%;height:350px;object-fit:contain;background:var(--forest);border-radius:var(--radius)}
.project-video figcaption{gap:15px}
.partner-section{background:#fff}
.partner-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(30px,6vw,90px);align-items:start}
.partner-copy>img{width:min(100%,370px);height:auto;margin:0 0 32px}
.partner-copy>h3{font-size:27px;margin-bottom:19px}.partner-copy>p{font-size:14px;line-height:1.85;max-width:760px}
.partner-copy>p+p{margin-top:14px}
.partner-copy blockquote{margin:32px 0 22px;border-left:3px solid var(--brown);background:var(--stone);padding:26px 29px;font:25px/1.45 var(--serif);color:var(--forest)}
.partner-copy cite{display:block;margin-top:17px;font:600 11px/1.5 var(--body);color:var(--muted);font-style:normal}
.partner-aside{background:var(--stone);padding:38px;border:1px solid var(--line);min-width:0}
.partner-symbol{font:76px/1 var(--serif);color:var(--brown);display:block;margin-bottom:22px}
.partner-aside .eyebrow{margin-bottom:14px}.partner-aside h3{font:32px/1.25 var(--serif);color:var(--forest)}
.partner-aside p:not(.eyebrow){font-size:13px;margin:18px 0 10px}
.explainer-section{background:var(--stone)}
.explainer-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,6vw,90px);align-items:center}
.explainer-grid>div{min-width:0}.explainer-grid p:not(.eyebrow){font-size:14px;margin-top:18px;max-width:420px}.explainer-grid .text-link{margin-top:17px}
.explainer-grid video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:var(--forest);border-radius:var(--radius);box-shadow:0 14px 36px #0d30231c}
.explainer-grid .video-caption{font-size:11px!important;margin-top:9px!important}
.reputation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:48px}
.reputation-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:clamp(24px,3vw,38px);box-shadow:0 6px 24px rgba(32,39,34,.05);transition:transform .2s,box-shadow .2s,border-color .2s}
.reputation-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(32,39,34,.09);border-color:#b2c1b2}
.reputation-card>img{display:block;width:200px;height:auto;aspect-ratio:700/132;object-fit:contain;object-position:left center;margin-bottom:23px}
.reputation-score{display:block;font:58px/1.03 var(--serif);color:var(--forest);letter-spacing:-.05em;margin-bottom:11px}
.reputation-score span{font:27px var(--body);letter-spacing:-.04em;margin-left:3px}
.reputation-score.reputation-word{font-size:39px;letter-spacing:-.04em}
.reputation-card strong{font-size:16px;color:var(--ink);font-weight:650}
.reputation-card small{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:5px}
.reputation-card .text-link{margin-top:auto;padding-top:20px;gap:15px;font-size:12px}
.google-mark{font:700 50px/1 Arial,sans-serif;letter-spacing:-.08em;background:conic-gradient(#4285f4 0 25%,#34a853 25% 49%,#fbbc05 49% 65%,#ea4335 65% 80%,#4285f4 80%);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:12px}
.review-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:22px}.review-intro h3{font-size:23px}.review-intro p{font-size:12px;max-width:390px}
.review-source-checkatrade{color:#0458ae}.review-rating{font-weight:700;color:var(--forest);font-size:13px}
.customer-review blockquote small{display:block;font:500 10px var(--body);color:var(--muted);margin-top:7px}
.customer-review figcaption span{display:flex;flex-direction:column;min-width:0}.customer-review figcaption small{font-size:10px;color:var(--muted);margin-top:2px}
.customer-review figcaption a{white-space:normal;text-align:right;flex:none}
.reputation-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);margin-top:35px;padding-top:27px}
.reputation-cta .eyebrow{margin-bottom:8px}.reputation-cta h3{font:27px var(--serif)}.reputation-cta p:not(.eyebrow){font-size:12px;margin-top:4px}
.google-reviews-live{margin-top:46px;padding-top:32px;border-top:1px solid var(--line)}
.google-review-card blockquote{font-size:14px;line-height:1.7;white-space:pre-line}
.google-review-author{display:flex!important;flex-direction:row!important;align-items:center;gap:10px}
.google-review-author img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none}
.google-review-author>span{display:flex;flex-direction:column;min-width:0}
.customer-review figcaption .google-author-link{font-size:13px;text-align:left;color:var(--forest);font-weight:700}
.google-review-attribution{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:18px;font-size:12px}
.google-review-attribution a:first-child{font:400 13px/1.4 Arial,sans-serif;color:#1f1f1f;white-space:nowrap}
.google-review-attribution a:not(:first-child){color:var(--muted);text-decoration:underline}
.footer-contact .social-links{display:flex;flex-wrap:wrap;gap:9px 15px;margin-top:20px}
.footer-contact .social-links a{display:inline-flex;font-size:11px;color:var(--forest);text-decoration:underline;text-underline-offset:3px}
.legal-terms-grid{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr);gap:clamp(35px,7vw,100px);align-items:start}
.legal-terms-grid aside{position:sticky;top:130px;max-height:calc(100vh - 145px);overflow:auto}
.legal-terms-grid aside strong{font-size:15px;color:var(--forest)}.legal-terms-grid aside p{font-size:11px;line-height:1.65;margin-top:8px}
.legal-terms-grid aside .text-link{font-size:11px;margin-top:8px}.legal-terms-grid aside h2{font:20px var(--serif);margin:28px 0 9px}
.legal-terms-grid aside nav{display:grid;gap:3px}.legal-terms-grid aside nav a{font-size:10px;line-height:1.45;padding:4px 0;color:var(--muted)}.legal-terms-grid aside nav a:hover{text-decoration:underline;color:var(--forest)}
.legal-document{max-width:790px}.legal-document .legal-intro{font:19px/1.6 var(--serif);color:var(--forest);margin-bottom:35px}
.legal-document section{scroll-margin-top:145px;padding:23px 0;border-top:1px solid var(--line)}.legal-document h2{font-size:26px;margin-bottom:10px}.legal-document section p{font-size:14px;line-height:1.85;color:var(--ink)}
.legal-document .legal-original{font-size:12px;margin-top:25px}.legal-original a{text-decoration:underline;color:var(--forest)}
@media(max-width:1340px){.header-social{display:none}}
@media(max-width:900px){.partner-grid,.explainer-grid{grid-template-columns:1fr}.partner-aside{padding:30px}.legal-terms-grid{grid-template-columns:1fr}.legal-terms-grid aside{position:static;max-height:none}.legal-terms-grid aside nav{grid-template-columns:repeat(2,minmax(0,1fr))}.reputation-score.reputation-word{font-size:34px}}
@media(max-width:640px){.gallery-social,.review-intro,.reputation-cta{display:block}.gallery-social .text-link{margin-top:16px}.partner-copy blockquote{font-size:22px;padding:22px}.reputation-grid{grid-template-columns:1fr;gap:15px;margin-bottom:35px}.reputation-card{min-height:240px}.reputation-card>img{width:175px;margin-bottom:17px}.reputation-score{font-size:49px}.reputation-score.reputation-word{font-size:34px}.review-intro p{margin-top:8px}.reputation-cta .button{margin-top:16px;width:100%}.legal-terms-grid aside nav{grid-template-columns:1fr 1fr}.legal-document h2{font-size:22px}.legal-document section p{font-size:13px}.footer-contact .social-links{gap:12px 18px}}
@media(max-width:375px){.legal-terms-grid aside nav{grid-template-columns:1fr}.customer-review figcaption{align-items:flex-start}.customer-review figcaption a{font-size:11px}}
@media(max-width:640px){.full-gallery .project-video{grid-column:1/-1}.project-video video{height:min(120vw,460px)}}
@media(max-width:600px){
  .site-footer{padding-top:46px}
  .footer-main{gap:32px 25px;padding-bottom:36px}
  .footer-main>div{min-width:0}
  .footer-brand{display:block}
  .footer-brand>a{width:175px}
  .footer-brand p{font-size:23px;line-height:1.3;margin-top:16px}
  .footer-brand>span{font-size:12px;line-height:1.5;margin-top:12px}
  .footer-main>div>a{display:block;max-width:100%;overflow-wrap:anywhere}
  .footer-main h2{margin-bottom:14px}
  .footer-contact{align-items:flex-start;gap:13px;padding-top:26px}
  .footer-contact>a{flex-basis:100%}
  .footer-contact .call-link{font-size:24px}
  .footer-contact .social-links{gap:12px 19px;margin-top:12px}
  .footer-contact .social-links a{font-size:13px}
  .footer-bottom{gap:14px 20px}
  .footer-bottom>div{flex-wrap:wrap;gap:8px 18px}
}
@media(max-width:360px){
  .footer-main{grid-template-columns:1fr;gap:28px}
  .footer-brand,.footer-contact{grid-column:auto}
  .footer-main>div:nth-child(3){border-top:1px solid var(--line);padding-top:25px}
}
@media(prefers-reduced-motion:reduce){.reputation-card{transition:none}.reputation-card:hover{transform:none}}
@media print{.site-header,.site-footer,.mobile-actions,.legal-terms-grid aside,.inner-hero .button{display:none!important}.legal-terms{padding:0}.legal-terms-grid{display:block}.legal-document{max-width:none}.legal-document section{break-inside:avoid}.legal-document h2{color:#000}}

/* Colours sampled from the supplied Oak & Yew logo. */
:root{--forest:#005844;--green:#005844;--forest-hover:#005844;--brown:#5d310f;--brown-tint:rgba(93,49,15,.08)}
.social-icon{width:21px;height:21px;flex:none;display:block}
.social-link{display:inline-flex!important;align-items:center;gap:8px}
.header-social a{width:32px;height:32px;border:0}
.footer-contact .social-links a{padding:4px 0;border:0;text-decoration:none}
.review-playback{display:none}
.customer-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}
.customer-review{border:1px solid var(--line);border-radius:12px;box-shadow:none}
.customer-review:hover{box-shadow:none}
.review-card-top{margin-bottom:22px}
.customer-review blockquote{font-size:20px;line-height:1.55}
.customer-review blockquote small{font-size:11px}
@media(max-width:640px){
 .customer-reviews{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0}
 .customer-review{flex:0 0 100%;max-width:100%;min-height:280px;padding:26px 24px;scroll-snap-align:start}
 .customer-review figcaption{align-items:flex-start;gap:16px;flex-wrap:wrap}
 .customer-review blockquote{font-size:20px;line-height:1.55}
 .google-review-card blockquote{font-size:16px}
 .review-playback{display:flex;justify-content:flex-end;margin-top:12px}
 .review-pause{border:0;background:transparent;color:var(--forest);font-size:12px;padding:10px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px}
 .review-carousel-controls,.review-position{display:none!important}
 .footer-contact .social-links{gap:12px 18px}
}

/* Supplied photographs stay fully visible; selected films follow them. */
.full-gallery{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start}
.full-gallery>.project-photo{grid-column:span 2;min-width:0}
.full-gallery>.featured-photo{grid-column:span 3}
.full-gallery>.featured-photo img{height:460px;object-fit:contain;background:var(--cream)}
.full-gallery>.project-video video{height:420px}
@media(max-width:800px){.full-gallery>.project-photo{grid-column:span 3}.full-gallery>.featured-photo img{height:360px}}
@media(max-width:640px){
 .full-gallery>.featured-photo,.full-gallery>.project-video{grid-column:1/-1}
 .full-gallery>.featured-photo img{height:auto;max-height:none;object-fit:contain}
 .full-gallery>.project-video video{height:min(130vw,500px)}
}

/* Client-approved brand palette and focused content additions */
:root{--forest:#005844;--green:#005844;--forest-hover:#005844;--brown:#5d310f;--brown-tint:rgba(93,49,15,.08)}
.protection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:38px 0 30px}
.protection-grid article{padding:26px;background:var(--stone);border-top:2px solid var(--brown)}
.protection-grid h3{font-size:20px;margin-bottom:12px}
.protection-grid p,.protection-councils li{font-size:13px;line-height:1.75}
.protection-councils ul{margin:10px 0 0;padding-left:18px;color:var(--muted)}
.emergency-showcase{background:var(--warm-white)}
.emergency-copy{max-width:820px;margin:28px 0 36px}
.emergency-copy p{font-size:14px;max-width:72ch}
.emergency-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.emergency-project-grid .project-photo>a{display:block;position:relative;overflow:hidden;background:var(--stone)}
.emergency-project-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.emergency-project-grid figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-size:12px;color:var(--muted)}
.emergency-project-grid .gallery-zoom{position:absolute;right:12px;bottom:12px;width:42px;height:42px;display:grid;place-items:center;background:var(--warm-white);color:var(--forest);font-size:23px}
.emergency-cta{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.emergency-cta h3{font-size:20px;margin-right:auto}
.gallery-social-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.social-button{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:10px 15px;border:1px solid var(--forest);border-radius:var(--radius);color:var(--forest);font-size:12px;font-weight:600}
.social-button:hover{background:var(--forest);color:#fff}
.social-button svg{width:18px;height:18px;flex:0 0 auto}
.gallery-view-link{margin-top:8px}
.chloris-logo-link{display:block;max-width:400px;margin-bottom:24px}
.chloris-logo-link img{width:100%;height:auto}
.sociablekit-reviews{display:block!important;visibility:visible!important;margin-top:40px}
.sociablekit-reviews [data-embed-id]{min-height:250px}
@media(max-width:760px){
 .protection-grid{grid-template-columns:1fr;gap:14px;margin:26px 0}
 .protection-grid article{padding:21px}
 .emergency-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .emergency-project-grid figcaption{display:block;font-size:11px}
 .emergency-cta{align-items:flex-start;gap:14px}
 .emergency-cta h3{width:100%}
 .gallery-social-actions{display:grid;grid-template-columns:1fr}
 .social-button{justify-content:center}
 .sociablekit-reviews [data-embed-id]{min-height:320px}
}

/* Equal, easy-to-tap hero actions across screen sizes. */
.hero-actions .hero-call,.hero-actions .hero-whatsapp{width:220px;min-height:54px;justify-content:center;gap:8px;text-align:center;white-space:normal;line-height:1.2}
@media(max-width:760px){.hero-actions{width:100%;gap:12px}.hero-actions .hero-call,.hero-actions .hero-whatsapp{flex:1;width:0;min-width:0;padding-inline:8px;font-size:clamp(11px,3.25vw,13px)}}

/* Persistent mobile contact actions. */
.mobile-actions .mobile-call.button,.mobile-actions .mobile-whatsapp.button{background:var(--forest);border-color:var(--forest);color:#fff;justify-content:center;gap:0;width:100%;min-height:48px;padding:11px 12px;font-size:12px}
.mobile-actions .mobile-call.button:hover,.mobile-actions .mobile-whatsapp.button:hover{background:var(--forest-hover);border-color:var(--forest-hover)}
@media(max-width:760px){body:has(.mobile-menu[open]) .mobile-actions{display:none}}

/* Keep the quote prompt aligned with the rest of the page. */
.reputation-cta{width:min(960px,calc(100% - 112px));margin:35px auto 0}
.reputation-cta>div{max-width:600px}
.reputation-cta .button{flex:none}
.hero-emergency-contact{display:none}
@media(max-width:760px){
 .hero-actions{display:none}
 .hero-emergency-contact{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px;margin-top:26px;color:#fff;font-size:15px;line-height:1.5}
 .hero-emergency-contact a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
 .reputation-cta{width:calc(100% - 36px)}
}
@media(max-width:640px){.reputation-cta .button{width:100%}}

/* Shorter section transitions on the homepage. */
@media(min-width:761px){.home-reviews,.emergency-showcase,.protection-section,.partner-section{padding-block:76px}}
