/* CMS extensions retain the supplied visual design. */
.cms-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.enquire select{width:100%;padding:14px 16px;border:1px solid #d4dedd;border-radius:4px;background:white;color:#242b2c;font:inherit}.enquire .g-recaptcha{margin:18px 0}.enquire button:disabled{opacity:.6;cursor:wait}.cms-module-note{padding:14px 18px;border:1px dashed #507b75;border-radius:6px;background:#f5faf8}.cms-preview-banner,.cms-flash{padding:17px 5%;background:#d7f0e9;color:#213e38;position:relative;z-index:11}.cms-preview-banner{margin-top:100px}.cms-flash{margin-top:100px}.cms-flash.error{background:#fff0e8;color:#7d3518}.cms-edit-link{position:fixed;bottom:20px;left:20px;z-index:100;background:#283e38;color:white;padding:10px 15px;border-radius:24px;box-shadow:0 3px 16px #0003}.google-review-label{font-size:18px;font-weight:700;color:#4285f4}.blog-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.blog-filters a,.pagination a{border:1px solid #b8cbc7;padding:9px 16px;border-radius:24px;text-decoration:none}.blog-filters a[aria-current],.pagination a[aria-current]{background:#3e625a;color:white;border-color:#3e625a}.pagination{display:flex;justify-content:center;gap:10px;margin:36px 0}.post-body time{font-size:13px;color:#65756f}.cms-gallery a{display:block;overflow:hidden}.cms-gallery a:focus-visible{outline:4px solid #59ab9b;outline-offset:4px}.cms-gallery img{display:block;width:100%;height:100%;object-fit:cover}.cms-gallery figure{display:flex;flex-direction:column}.cms-gallery figure>a{flex:1}.cms-lightbox{position:fixed;border:0;max-width:96vw;max-height:96vh;width:1100px;background:#161d1e;color:white;padding:55px 55px 22px;border-radius:6px}.cms-lightbox::backdrop{background:#000d}.cms-lightbox figure{margin:0;text-align:center}.cms-lightbox img{width:auto;max-width:100%;max-height:75vh;display:block;margin:auto;object-fit:contain}.cms-lightbox figcaption{padding:12px;color:#fff;font-size:15px}.cms-lightbox button{position:absolute;background:#ffffff19;color:#fff;border:1px solid #ffffff65;cursor:pointer;padding:10px 15px;border-radius:5px;font:inherit}.lightbox-close{top:12px;right:12px}.lightbox-prev{left:8px;top:48%}.lightbox-next{right:8px;top:48%}.analytics-choice{position:fixed;bottom:20px;right:20px;max-width:430px;background:#fff;padding:25px;box-shadow:0 6px 36px #0003;z-index:200;border-radius:10px;border:1px solid #d1dcd9}.analytics-choice p{font-size:16px;color:#34413f;line-height:1.5;margin:0 0 14px}.analytics-choice .btn{font-size:13px;padding:11px 14px;margin:3px}.analytics-choice[hidden]{display:none}.analytics-settings{position:fixed;bottom:6px;right:8px;border:0;color:#48534f;background:#ffffffdf;border-radius:4px;font-size:11px;padding:4px 8px;z-index:90;cursor:pointer}.drawer .sub ul{padding:0;list-style:none}.drawer .sub ul li{border:0}.nav .has-children:focus-within>.dropdown{opacity:1;visibility:visible;transform:none}.nav .dropdown li.has-children>.dropdown{left:100%;top:0}.drawer .sub .sub{padding-left:15px}.nav .dropdown>li>button{color:inherit;font:inherit;border:0;background:none;text-align:left;padding:12px 16px;width:100%}.cms-gallery figure figcaption{position:static;color:#34413f;background:#edf3f0;padding:12px 14px;font-size:14px}.cms-gallery figure:hover img{transform:scale(1.025)}
@media(max-width:700px){.cms-lightbox{padding:55px 42px 10px}.cms-lightbox img{max-height:70vh}.analytics-choice{left:12px;right:12px;bottom:20px;max-width:none}.cms-edit-link{bottom:10px;left:10px;font-size:12px}.cms-flash,.cms-preview-banner{margin-top:85px}.gallery.cms-gallery{grid-template-columns:repeat(2,1fr)}.cms-gallery figure{grid-column:auto!important;grid-row:auto!important}.cms-gallery figure img{aspect-ratio:4/3}}@media(prefers-reduced-motion:reduce){.cms-gallery figure:hover img{transform:none}}

/* 1.0.2: compact mobile navigation and full-width enquiry layout. */
.drawer{padding:74px 24px 26px;width:min(380px,92vw);overscroll-behavior:contain;visibility:hidden;transition:transform .35s var(--ease-out),visibility 0s .35s}
.nav-open .drawer{visibility:visible;transition-delay:0s}
.drawer-heading{position:absolute;top:12px;left:24px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px}
.drawer-heading>span{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.drawer .drawer-close{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;padding:8px;border:0;border-radius:6px;background:transparent;color:#fff;cursor:pointer}
.drawer .drawer-close svg{display:block;width:32px;height:32px;pointer-events:none}
.drawer .drawer-close:hover{background:rgba(255,255,255,.1)}
.drawer .drawer-close:focus-visible,.drawer a:focus-visible,.drawer li>button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.drawer>ul>li>a,.drawer>ul>li>button{min-height:46px;padding:9px 0;font-size:17px;line-height:1.4}
.drawer li>button>span{font-size:22px;font-weight:400;line-height:1;transition:transform .2s}
.drawer li.open>button>span{transform:rotate(45deg)}
.drawer .sub{padding:0 0 8px 12px}
.drawer li:not(.open)>.sub{display:none}
.drawer li.open>.sub{display:block}
.drawer .sub a,.drawer .sub li>button{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:8px 0;width:100%;font-size:14px;line-height:1.4;text-align:left;color:rgba(255,255,255,.9)}
.drawer-contact{margin-top:20px;padding-top:18px;border-top:1px solid var(--line-light);font-size:13px;line-height:1.5}
.drawer-contact a{font-size:21px;line-height:1.4;margin:4px 0 6px;min-height:44px;display:flex;align-items:center}
.nav-open .site-header .burger{visibility:hidden}
.cms-enquiry,.cms-enquiry .field,.cms-enquiry .two,.cta-inner>*,.contact-layout>*,.footer-grid>*{min-width:0}
.cms-enquiry input,.cms-enquiry select,.cms-enquiry textarea{max-width:100%}
.footer .fcontact a{overflow-wrap:anywhere}
@media(max-width:860px){
  .cta .cta-inner,.contact-layout{grid-template-columns:minmax(0,1fr);gap:30px}
  .cta .cta-inner>.cms-enquiry,.contact-layout>.cms-enquiry{width:100%;max-width:none;grid-column:1/-1;justify-self:stretch}
  .cms-enquiry .two{grid-template-columns:minmax(0,1fr);gap:0}
  .footer .footer-grid.four{grid-template-columns:minmax(0,1fr);gap:30px;padding:36px 0}
  .footer .footer-links.two{columns:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:0;align-items:start}
  .footer .footer-links.two li{min-width:0;padding:0}
  .footer .footer-links.two a{display:flex;align-items:center;min-height:44px;padding:7px 0;line-height:1.4;overflow-wrap:anywhere}
  .footer-top{gap:18px;padding-bottom:30px}
}
@media(max-width:560px){
  .cms-enquiry{padding:24px 20px}
  .cms-enquiry h3{font-size:23px}
  .footer .footer-links.two{column-gap:16px}
  .footer .footer-links.two li{font-size:15px}
  .footer .fcontact li:first-child a{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.drawer,.drawer li>button>span{transition:none}}

/* 1.0.4: clean hours, divider-free mobile menu and discreet CAPTCHA branding. */
.contact-side dd .hours li{padding-left:0;list-style:none}
.contact-side dd .hours li::before{content:none;display:none}
.drawer>ul>li{border-bottom:0}
.drawer-contact{border-top:0}
.drawer-contact a{gap:10px}
.drawer-contact a svg{width:20px;height:20px;flex:0 0 20px;color:currentColor}
/* The visible reCAPTCHA disclosure remains beside every enquiry form. */
.grecaptcha-badge{visibility:hidden!important}
